3.1 Surface Parameters Estimation

3.1Surface Parameters Estimation

For illustration, normalized parameter
values are mapped to both color and z-axis of a 2D cross-section.

Description: Description: Description: Description: D:\COURSES\thesis\matlab\figures\extra\shape2.tif

Shape2

Description: Description: Description: Description: D:\COURSES\thesis\matlab\figures\Mitra03_params\rho1.tif

rho density: quite accurate. Density tends to
bulge up near corners, but sharply returns at the corner points (apple shaped).
The sharp drop is due to same reason as the two ends, especially for sharp
corners, where corner point pi has lines on one side, but empty on the other
side of the sphere region. Density scale fairly accurate, as the bottom line
(Left) is 2x denser than other regions. Density is more stable, but its
resolution is highly influenced by neighbor size k. Large k would smooth out
density changes, the ends of the dense bottom line slowly falloff, when it is
actually an immediate density change.

Description: Description: Description: Description: D:\COURSES\thesis\matlab\figures\Mitra03_params\kappa1.tif

kappa curvature: Corner points consistently
respond with curvature. Due to pi comparison with mean centroid
(instead of the slower MLS plane), kappa includes artifacts from nonuniform density. The regions joining the dense bottom
line to others have high kappa, due to the centroid weighing heavier toward the
dense line, away from pi.

Description: Description: Description: Description: D:\COURSES\thesis\matlab\figures\Mitra03_params\r2.tif

r radius: Corners have consistently lower
radius. But the range is not very obvious and high noise when r rises along
sparser curve segments.

Description: Description: Description: Description: D:\COURSES\thesis\matlab\figures\Mitra03_params\k2.tif

k neighbors: only decreases at two ends
and sharpest corner. Not effective. At max k restricted to 36, it is too small
to represent properly the calculated r values due to decoupled relationship to
r.

The process is
an iterative loop. Given an initial k, parameters estimation follows this
order: initial k => density => curvature => r => k.

From samples per unit area, where on
average the neighborhood sphere intersects the surface as a circle:

rho = sampling density = k/(pi*s2)

Curvature is efficiently estimated by the
amount the mean shifts from p, as its neighbors pj’s are curved away from p.
The MLS_plane is defined to lie at the centroid, thus plane solve is not needed
yet. u roughly defines a spread or variance to relate the size of
the mean shift. Smaller spread with large mean shift is a sharp corner.

u = mean_dist(p,pj)

d = dist(p, MLS_plane)

kappa = 2*d/u2

Most methods including Li10 and Mitra03, k
is chosen by user. Curvature can be improved. And r equation is problematic
besides its small range, as it requires assumed noise estimations (user given)
to be non-zero. For noise-free models the r stays at 0. When no noise, r=0, so
must manually choose minimal r=r0. When no curvature, fiting “sphere” tends to a line/plane, thus r is large.

r = (1/kappa * (c1 * sigman/sqrt(epsilon*rho) + c2*sigman2))1/3

Around three iterations is recommended
[Mitra03], however too many heuristics decouple the relationship between k and
r, thus k became too large for our underlying KNN nearest neighbor structure.
Many problems with the [Mitra03] equations motivate us to explore other
options.

An
improved r equation is implemented. Most such predictors are never robust to
all models, but this following is based on the general ranges of the
parameters, such as kappa is a finite low number because the curvature equation
and only detect a limited tightness, while kappa can possibly approach 0, as
r=1/kappa=1/0 is a plane, the [Mitra03] equation would easily yield infinity.
[Mitra03] has a high percentage of points clamped to the minimal or maximal k.
Noise sigma and both C1, C2 heuristics are removed, leaving only epsilon a user
parameter (epsilon=10).

r = max(kappa)*(1+sin(kappa./max(kappa) *pi/2+pi)) .* 1./sqrt(epsilon.*rho)

r is clamped to include at least 4
neighbors. And test shows only 1.62% points are clamped to minimum r, with no
points exceeding maximal k.

3.2Noise Estimation

Statistics
correlation measure variables linearity versus spread. Most commonly the
Pearson’s product-moment coefficient (corr) is used (based on covariance matrix
and standard deviation):

corr = cov(x)/std(x)2

From several papers including [GuenGross07,
Pauly04], a reliable confidence value standard is the normalized residual value
of the SVD (from the 3 eigenvalues for 3 dimensions).

p_confidence = lambda_smallest / sum(|lambdas|)

p_confidence value correlates strongly with corner features. It is similar to curvature, but
has no artifacts such as the endpoints or density sensitivity. It was not
designed to measure curvature, but consistently indicates high curvature
regions. High p_confidence means high curvature and
“low” confidence in planar fit, while low p_confidence means “high” confidence of a flat surface.

Description: Description: Description: D:\COURSES\thesis\matlab\figures\Mitra03_params\noise1.tif

Figure. Given uniform noise, noise
estimator is accurate and mostly invariant to other parameters such as
curvature or density.

Table 1. Noise

real noise sigma

estimate

absolute error

0.001

0.0011

0.0001

0.004

0.0042

0.0002

0.004

0.0046

0.0006

Posted on 07/21/2011, in Point Cloud and tagged , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment