Bilateral Mesh Denoisingsheffa/dgp/student_ppts/BilateralMeshDenoising.pdf2d Gaussian Filter...
Transcript of Bilateral Mesh Denoisingsheffa/dgp/student_ppts/BilateralMeshDenoising.pdf2d Gaussian Filter...
1
Bilateral Mesh Bilateral Mesh DenoisingDenoising
S. Fleishman, I. S. Fleishman, I. DroriDrori, D. Cohen, D. Cohen--OrOrTel Aviv UniversityTel Aviv University
Presented by Derek BradleyPresented by Derek Bradley
2Derek Bradley 2006
OutlineOutline
MotivationMotivationPrevious WorkPrevious WorkBilateral Mesh Bilateral Mesh DenoisingDenoising
Image Processing BackgroundImage Processing BackgroundBilateral Image FilteringBilateral Image FilteringTransforming from Images to MeshesTransforming from Images to MeshesMesh Mesh DenoisingDenoising
ResultsResultsDiscussionDiscussion
(Unless otherwise noted, all images are from Fleishman et al.)(Unless otherwise noted, all images are from Fleishman et al.)
3Derek Bradley 2006
MotivationMotivation
3D scanning creates noisy meshes3D scanning creates noisy meshesSmoothing can reduce high frequency noiseSmoothing can reduce high frequency noiseChallenge: how do you know Challenge: how do you know what is noise and what are what is noise and what are features?features?
4Derek Bradley 2006
Previous WorkPrevious Work
LaplacianLaplacian SmoothingSmoothing
iii vvv ∆⋅+= λ
( )∑ −=∆),(),(
1ji
iji vvji
v
5Derek Bradley 2006
Previous WorkPrevious Work
Weighted Weighted LaplacianLaplacian
( )∑∑−=∆
),(),(
1ji
ijij
jiij
i vvww
v
iii vvv ∆⋅+= λ
6Derek Bradley 2006
Previous WorkPrevious Work
LaplacianLaplacian + Expansion+ Expansion
2)( iii vvvv ∆−∆−+= µλλµ
( )∑ ∆−∆=∆),(
2
),(1
jiiji vv
jiv
2
7Derek Bradley 2006
Previous WorkPrevious Work
Implicit Fairing (IF) Implicit Fairing (IF) [[DesbrunDesbrun 1999]1999]
Implicit integration of the diffusion equationImplicit integration of the diffusion equation
Anisotropic FeatureAnisotropic Feature--Preserving Preserving DenoisingDenoising (AFP) (AFP) [[DesbrunDesbrun 2000]2000]
Features detected using local curvatureFeatures detected using local curvatureDenoiseDenoise using weighted mean curvature smoothingusing weighted mean curvature smoothing
Penalize vertices with large ratio between principle curvaturesPenalize vertices with large ratio between principle curvatures
nn XdtLIX )(1 λ+=+ nn XXdtLI =+ +1)( λExplicit Implicit
8Derek Bradley 2006
Bilateral Mesh Bilateral Mesh DenoisingDenoising
Application of an image smoothing techniqueApplication of an image smoothing techniqueVertices are moved along their normal directionVertices are moved along their normal direction
Scalar value Scalar value dd to be computed for each vertexto be computed for each vertexFeature preservingFeature preservingCan be iterative or singleCan be iterative or single--passpass
But first … some image processing basicsBut first … some image processing basics
iii ndvv ⋅+=
9Derek Bradley 2006
Image Processing BackgroundImage Processing Background
An image is an array of integers (0An image is an array of integers (0--255)255)
[Tomasi and Manduchi]
10Derek Bradley 2006
Image Processing BackgroundImage Processing Background
v v is the current pixelis the current pixelN(v) is the set of neighbouring pixels of vN(v) is the set of neighbouring pixels of vI(v) is the intensity of vI(v) is the intensity of v
11Derek Bradley 2006
Bilateral Image FilteringBilateral Image Filtering
Goal: Smooth the image intensities, but preserve Goal: Smooth the image intensities, but preserve strong edges (features)strong edges (features)New intensity = weighted average of New intensity = weighted average of neighboursneighboursTwo weights:Two weights:
GeometricGeometric: Closer pixels weighted higher : Closer pixels weighted higher (closeness smoothing filter)(closeness smoothing filter)PhotometricPhotometric: Strong changes in intensity penalized : Strong changes in intensity penalized (similarity weight function)(similarity weight function)
12Derek Bradley 2006
Bilateral Image FilteringBilateral Image Filtering
1d Gaussian Function1d Gaussian Function
[wikipedia.org]
Closeness Smoothing Filter
3
13Derek Bradley 2006
Bilateral Image FilteringBilateral Image Filtering
2d Gaussian Filter2d Gaussian FilterCloseness Smoothing Filter
22
2)( c
x
c exW σ−
=
14Derek Bradley 2006
Bilateral Image FilteringBilateral Image Filtering
Another Gaussian functionAnother Gaussian function
x x = absolute difference in intensity values= absolute difference in intensity valuesResult: pixels with large changes in intensity are Result: pixels with large changes in intensity are weighted lowerweighted lower
Similarity Weight Function
22
2)( s
x
s exW σ−
=
15Derek Bradley 2006
Bilateral Image FilteringBilateral Image Filtering
Combining the weights and normalizing:Combining the weights and normalizing:
In practice, In practice, N(v)N(v) is defined by the set of points: is defined by the set of points:
( ) ( )( ) ( )∑
∑
∈
∈
−⋅−
⋅−⋅−=
)(
)(
)()(
)()()()(ˆ
vNpsc
vNpsc
pIvIWvpW
pIpIvIWvpWvI
{ } cii qvq σ2 where, <−
16Derek Bradley 2006
Bilateral Image FilteringBilateral Image Filtering
Results:Results:
[Tomasi and Manduchi]
17Derek Bradley 2006
Transforming from Images to Transforming from Images to MeshesMeshes
Vertices instead of pixelsVertices instead of pixelsNeighbourhoodNeighbourhood N(v)N(v), defined the same, defined the sameCloseness smoothing filter:Closeness smoothing filter:
3D Euclidean distance instead of 2D 3D Euclidean distance instead of 2D
Similarity weight function:Similarity weight function:Heights of neighbouring vertices = pixel intensitiesHeights of neighbouring vertices = pixel intensities
18Derek Bradley 2006
Transforming from Images to Transforming from Images to MeshesMeshes
Dot product between normal and (Dot product between normal and (vv--qqii) used ) used instead of computing the height at instead of computing the height at qqii
4
19Derek Bradley 2006
Mesh Mesh DenoisingDenoisingDenoisePointDenoisePoint(Vertex(Vertex v, Normal n)v, Normal n)
{{qqii} = } = neighbourhood(vneighbourhood(v))K = |{K = |{qqii}|}|sum = 0, sum = 0, normalizernormalizer = 0= 0forfor i := 1 i := 1 toto KK
t = ||v t = ||v -- qqii||||h = <n, v h = <n, v -- qqii>>WWcc = exp(= exp(--tt22/(2σ/(2σcc
22))))WWss = exp(= exp(--hh22/(2σ/(2σss
22))))sum += (sum += (WWcc * W* Wss) * h) * hnormalizernormalizer += += WWcc * W* Wss
endendreturnreturn Vertex v = v + n * (sum/Vertex v = v + n * (sum/normalizernormalizer))
20Derek Bradley 2006
ResultsResults
Input ImplicitFairing
BilateralDenoising
MeanCurvature
21Derek Bradley 2006
ResultsResults
Input Anisotropic Denoisingof Height Fields (AFP)
BilateralDenoising
22Derek Bradley 2006
DiscussionDiscussion
Issues when using an imageIssues when using an image--based technique on based technique on a mesh:a mesh:
Only applies to manifold meshesOnly applies to manifold meshesIrregularity of meshesIrregularity of meshesShrinkageShrinkageVertex driftVertex drift
Handling boundariesHandling boundariesMirror Mirror neighboursneighbours at boundary vertices at boundary vertices Virtual vertices at infinity (used in this algorithm)Virtual vertices at infinity (used in this algorithm)
23Derek Bradley 2006
DiscussionDiscussion
Setting the parameters (Setting the parameters (σσcc, , σσss, # iterations), # iterations)UserUser--assisted methodassisted methodσσcc and and σσss ::
User selects smooth point and radius on the meshUser selects smooth point and radius on the meshLarge Large σσcc = few iterations, small = few iterations, small σσcc = more iterations= more iterationsSmall Small σσcc makes sense makes sense
large values can cross features large values can cross features smaller smaller neighbourhoodneighbourhood leads to faster iterationsleads to faster iterations
< 6 iterations for all results in the paper< 6 iterations for all results in the paper
24Derek Bradley 2006
DiscussionDiscussion
Independently, Jones et al. present the same Independently, Jones et al. present the same algorithm with minor differences:algorithm with minor differences:
Surface predictorSurface predictorSingle passSingle pass
Input Jones et al. BilateralDenoising
5
25Derek Bradley 2006
DiscussionDiscussion
DisadvantagesDisadvantagesAssumes wellAssumes well--behaved meshesbehaved meshesCan result in selfCan result in self--intersectionintersection
26Derek Bradley 2006
ConclusionConclusion
Simple, effective and fast algorithm for Simple, effective and fast algorithm for denoisingdenoising meshesmeshesEasy to implementEasy to implementTakes advantage of the success of an image Takes advantage of the success of an image processing techniqueprocessing technique
Would I implement this algorithm?Would I implement this algorithm?
27Derek Bradley 2006
ReferencesReferences
S. Fleishman, I. S. Fleishman, I. DroriDrori, D. Cohen, D. Cohen--Or. Bilateral mesh Or. Bilateral mesh denoisingdenoising. . SIGGRAPH 2003.SIGGRAPH 2003.C. C. TomasiTomasi, R. , R. ManduchiManduchi. Bilateral filtering for gray and color . Bilateral filtering for gray and color images. ICCV 1998.images. ICCV 1998.T. Jones, F. Durand, M. T. Jones, F. Durand, M. DesbrunDesbrun. Non. Non--iterative featureiterative feature--preserving mesh smoothing. SIGGRAPH 2003.preserving mesh smoothing. SIGGRAPH 2003.M. M. DesbrunDesbrun, M. Meyer, P. , M. Meyer, P. SchroderSchroder, A.H. Barr. Implicit fairing , A.H. Barr. Implicit fairing of irregular meshes using diffusion and curvature flow. of irregular meshes using diffusion and curvature flow. SIGGRAPH 1999.SIGGRAPH 1999.M. M. DesbrunDesbrun, M. Meyer, P. , M. Meyer, P. SchroderSchroder, A.H. Barr. Anisotropic , A.H. Barr. Anisotropic featurefeature--preserving preserving denoisingdenoising of height fields and of height fields and bivariatebivariate data. data. Graphics Interface 2000.Graphics Interface 2000.www.wikipedia.orgwww.wikipedia.org