bilateral mesh denoising shachar fleishman iddo drori daniel cohen-or tel aviv university
TRANSCRIPT
Bilateral Mesh DenoisingBilateral Mesh Denoising
Shachar FleishmanIddo Drori
Daniel Cohen-Or
Tel Aviv University
DenoisingDenoising
• Input (scanned) model– Additive noise
+ =
DenoisingDenoising
• Input (scanned) model– Additive noise
• Noise free model– Preserve features
+ = filter
Image denoisingImage denoising
• Wavelet denoising [Donoho ’95]• Anisotropic diffusion [Perona & Malik ’90]• Bilateral filter [Smith & Brady ’97],
[Tomasi & Manduchi ’98]
• [Black et al. ’98]– Anisotropic diffusion– Robust statistics
• [Elad ’01], [Durand & Dorsey ’02] relate– Anisotropic diffusion – Robust statistics – Bilateral filter
Original and noisy ( 2=900) images
Images courtesy of Michael Elad
TV filtering: 50 iterations 10 iterations
( MSE=146.3339( )=131.5013MSE)
Images courtesy of Michael Elad
Wavelet Denoising (soft) Using DB5 Using DB3
(MSE=144.7436( )=150.7006MSE)
Images courtesy of Michael Elad
Filtering via the Bilateral2 iterations with 1111 Sub-gradient based 55
(MSE=89.2516( )=93.4024MSE)
Images courtesy of Michael Elad
Mesh denoising, smoothing and fairing Mesh denoising, smoothing and fairing
• Adapt image denoising algorithms to meshes– Wiener filter [Peng et al. ’01]– Isotropic diffusion [Desbrun et al. ’99] – Anisotropic diffusion of height fields
[Desbrun et al. ’00]– Anisotropic diffusion on meshes
[Clarenz et al. ’00, Xu & Bajaj ’03]– Bilateral filter [Choudhury & Tumblin ’03]
[Jones et al. ’03]
Bilateral mesh denoisingBilateral mesh denoising
• Fast
• Simple
• Intuitive parameter selection
Bilateral filteringBilateral filtering
• Gaussian filter
2
22' ( )u p
p N u
I u e I p
* =
• Bilateral filter
2
2 2
2
2 2
2 2
2 2
( )
'
c s
c s
I u I pu p
p N u
I u I pu p
p N u
e e I p
I u
e e
Denoise Feature preserving
Normalization
Bilateral filteringBilateral filtering
* =
Bilateral filtering of meshesBilateral filtering of meshes
Bilateral filtering of meshesBilateral filtering of meshes
Bilateral filtering of meshesBilateral filtering of meshes
• Height above surface is equivalent to the gray level values in images
Bilateral filtering of meshesBilateral filtering of meshes
• Height above surface is equivalent to the gray level values in images
• Apply the bilateral filter to heights
Bilateral filtering of meshesBilateral filtering of meshes
• Height above surface is equivalent to the gray level values in images
• Apply the bilateral filter to heights
• Move the vertex to its new height
Bilateral filtering of meshesBilateral filtering of meshes
• Height above surface is equivalent to the gray level values in images
• Apply the bilateral filter to heights
• Move the vertex to its new height
• In practice:– Sharp features
Bilateral filtering of meshesBilateral filtering of meshes
• Height above surface is equivalent to the gray level values in images
• Apply the bilateral filter to heights
• Move the vertex to its new height
• In practice:– Sharp features– The noise-free
surface is unknown
P
n
L
SolutionSolution
• A plane that passes through the point is the estimator to the smooth surface
• Plane L=(p,n)
SolutionSolution
• A plane that passes through the point is the estimator to the smooth surface
• Plane L=(p,n)
P
n
L
Similaritycloseness
Computing the planeComputing the plane
• The approximating plane should be:– A good approximation to the surface– Preserve features
• Average of the normal to faces in the 1-ring neighborhood
DenoisePoint(Vertex v, Normal n){qi} = neighborhood(v)K=|{qi}|sum=0normalizer=0for i := 1 to K
t = ||v-qi||h = <n,v-qi>Wc=exp(-t2/(2σc
2))Ws=exp(-h2/(2σs
2))Sum +=(wc*ws)hNormalizer += wc*ws
EndReturn v+n*(sum/normalizer)
v
DenoisePoint(Vertex v, Normal n){qi} = neighborhood(v)K=|{qi}|sum=0normalizer=0for i := 1 to K
t = ||v-qi||h = <n,v-qi>Wc=exp(-t2/(2σc
2))Ws=exp(-h2/(2σs
2))Sum +=(wc*ws)hNormalizer += wc*ws
EndReturn v+n*(sum/normalizer)
iterate over neighborhood
v
DenoisePoint(Vertex v, Normal n){qi} = neighborhood(v)K=|{qi}|sum=0normalizer=0for i := 1 to K
t = ||v-qi||h = <n,v-qi>Wc=exp(-t2/(2σc
2))Ws=exp(-h2/(2σs
2))Sum +=(wc*ws)hNormalizer += wc*ws
EndReturn v+n*(sum/normalizer)
closeness v
q
DenoisePoint(Vertex v, Normal n){qi} = neighborhood(v)K=|{qi}|sum=0normalizer=0for i := 1 to K
t = ||v-qi||h = <n,v-qi>Wc=exp(-t2/(2σc
2))Ws=exp(-h2/(2σs
2))Sum +=(wc*ws)hNormalizer += wc*ws
EndReturn v+n*(sum/normalizer)
height – similarityv
q
DenoisePoint(Vertex v, Normal n){qi} = neighborhood(v)K=|{qi}|sum=0normalizer=0for i := 1 to K
t = ||v-qi||h = <n,v-qi>Wc=exp(-t2/(2σc
2))Ws=exp(-h2/(2σs
2))Sum +=(wc*ws)hNormalizer += wc*ws
EndReturn v+n*(sum/normalizer)
weights
v
DenoisePoint(Vertex v, Normal n){qi} = neighborhood(v)K=|{qi}|sum=0normalizer=0for i := 1 to K
t = ||v-qi||h = <n,v-qi>Wc=exp(-t2/(2σc
2))Ws=exp(-h2/(2σs
2))Sum +=(wc*ws)hNormalizer += wc*ws
EndReturn v+n*(sum/normalizer)
Move the vertex in the normal direction
v
ParametersParameters
• The two parameters to the weight function: σc, σs
– Interactively select a point p and the neighborhood radius ρ
– σc =1/2 ρ
– σs = stdv(Nbhd(p, ρ))
• Number of Iterations
RobustnessRobustness
• Sharp features are treated as outliers
RobustnessRobustness
• Sharp features are treated as outliers
• The bilateral filter does not recover smoothed signal
ResultsResults
Source Anisotropic denoising of height fields - Desburn ’00
Bilateral mesh denoising
ResultsResults
SourceAnisotropic Geometric
Diffusion in Surface Processing - Clarenz ‘00
Bilateral mesh denoising
ResultsResults
Source
Two iterations
Five iterations
Future WorkFuture Work
• Adapt the algorithm to point sets
• Robust estimator of normals
AcknowledgementsAcknowledgements
• Models and images courtesy of Jean-Yves Bouguet, Mathieu Desbrun, Alexander Belyaev, Christian Rossl from Max Planck Insitut fur Informatik, Udo Diewald and Michael Elad
• Israel Science Foundation funded by the Israel Academy of Sciences and Humanities
• Israeli Ministry of Science• A grant from the German Israel Foundation
(GIF).
Non-iterative, Feature Preserving Mesh smoothing
Bilateral mesh denoising
Input
Source Non-iterative, Feature Preserving Mesh smoothing
Bilateral mesh denoising
Non-iterative, Feature Preserving Mesh smoothing
Bilateral mesh denoising
Comparison - predictorsComparison - predictors
Non-iterative, Feature Preserving Mesh smoothing
Bilateral mesh denoising
New resultsNew results
Bilateral mesh denoising
Extended Bilateral mesh denoising