Notes
(2024-06-02)
Abstract
-
Task: Display point set surface.
-
Solution:
-
Define a smooth manifold surface based on local maps and MLS.
- local map from differential geometry:
- “local”: neighbors
-
Upsampling and downsampling to fit the points spacing with the screen space resolution.
-
The approximation error is bounded.
-
-
Advantage: Applicable for any point set
Introduction
-
Task: Use point set as the shape representation
-
Why matter?
-
Point sets data are getting popular.
-
Representing a highly detailed surface with primitives requires substantial small unit that’s smaller than a single pixel.
-
-
Problem:
-
Although point set is an economical representation, point sets contain noisy and redundant points.
-
Point cloud is discrete without explicit surface.
-
-
Solution:
-
Adjust the density of points to reconstruct a smooth surface.
-
Use polynomials to approximate surface with MLS
- Polynomials: What are basis functions are used to fit the surface function?
- What does the surface function look like?
-
Projection: weighted sum / linear combination of x,y coordinate
$$ \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix} [1 \quad x \quad x^2] [^x_y] $$
-
MLS: The partial derivative of error w.r.t. coefficient matrix š equals 0.
- Polynomials: What are basis functions are used to fit the surface function?
-
-
Explain idea:
-
Generating new points is a sampling process on the hidden surface.
- Can generation model be applied? as this is a sampling process.
- The error has a limited bound.
-
Rendering a point set is achieved by up-sampling and down-sampling the point set.
- The sampling error is bounded. How to prove?
-
Reduce the input point set $P=\{š©įµ¢\}$ to “representation points” $R=\{š«įµ¢\}$ defining an MLS surface $S_R$, which approximates the original surface $S_P$.
-
Sounds like Variational Inference: Let an assumed posterior distribution of z $q(z|x)$ with learnable params (μ,Ļ) to approximate the true intractable posterior distribution of z $P(z|x)$, through minimizing the KL-divergence.
On the other hand, if analyzing ELBO, the goal of maximizing the log-likelihood of x is transformed into maximizing the variational lower bound: ELBO.
-
Figuratively, use a proxy object to approximate the true object.
-
-
Related Work
(2024-06-07)
-
Consolidation
-
A practical point cloud includes multiple scans to capture the complete geometry for a nontrivial object.
-
Weighted sum based on implicit function
-
Weighted sum based on points directly
- Trianglulation
-
Physically-based
- MLS + Projection + Iterations
-
-
Point Sample Rendering
-
time-critical rendering
-
Global illumination effects -> ray tracing technique
-
Resampling the surface in object space is better than interpolating in the screen space.
-
Hybrid triangle-point approaches
Method
Define the Surface
-
Basic assumption: The input point set represent a surface implicitly.
-
Main idea:
-
The Projection Procedure: 2 steps
-
Step ā : Approximate a Reference domain (plane) for a point š«:
$H =\{š± | āØš§,š±ā©-D = 0, š±ā ā³\}, š§ā ā³,āš§ā=1$
The plane H is determined by MLS, i.e., minimizing a weighted sum of squared errors (distances) from each neighboring point š©įµ¢ of the point š« to the approximate plane H.
The weight is a function Īø of the distance between the projection šŖ of š« on the plane to each of its neighboring point š©įµ¢.
$$ āįµ¢āāᓺ \underset{error}{(āØš§,š©įµ¢ā©-D)²} ā \underset{weights}{Īø(āš©įµ¢-šŖā)} $$
-
N is the number of neighbors of š«.
-
A plane in 3D is defined with its normal vector š§ and a point š± within the plane, that deviates from the origin by a distance D along the direction of normal: $āØš§,š±ā©=D$
Further, represent the projection šŖ with a parameter t:
$$šŖ = š« + tš§$$
The loss function: encouraging neighboring points š©įµ¢ close to the H, becomes:
$$āįµ¢āāᓺ āØš§,š©įµ¢ - š« - tš§ā©^2 ā Īø(\| š©įµ¢ - š« - tš§ \|)$$
- As the projection šŖ is on the surface, the distance from š©įµ¢ to the surface is written as the inner product of š§ and š©įµ¢.
Denote the target plane H with the set of projections:
$$Q(t) = šŖ = š« + tš§$$
-
The
treminds me the sampling in NeRF: $šØ + tš$. After rescaling the range of [near,far] to [-1,1], thetranges from [0,1] to sample points starting from the near plane.tis not the depth z, but steps that are compatible for LLFF scene (infinite boundary) and Blender scene (bounded). -
Similarly, Point-MVSNet used steps to refine the depth of the point along a ray.
The plane H will serve as a “ground” for measuring the height of each š©įµ¢, using the coordinates (x,y) on the plane H for indexing.
-
-
Step ā ”: approximate surface with Local map:
The projeciton š of š« onto the original surface $S_P$ is a sum of the projection of š« on the plane H and the “residual” approximed with a bivariate polynomial: g(x,y),
$$ \begin{aligned} \cal{P}(š«) &= šŖ + g(0,0)š§ \\ &= š« + (t+g(0,0))š§ \end{aligned} $$
- Similarly, PointFlow in Point-MVSNet also predicts the depth residual to tweak a point.
The g(x,y) is optimized through minimizing the weighted sum of neigboring pionts š©įµ¢ height error:
$$āįµ¢āāᓺ (g(xįµ¢,yįµ¢) - fįµ¢)² ā Īø(\| š©įµ¢ - šŖ \|)$$
-
fįµ¢ is the height of the point š©įµ¢ w.r.t. the plane H:
$$fįµ¢= š§ā (š©įµ¢ - šŖ)$$
-
The projection šŖ of š« is the origin of the plane-H coordinate system.
The projection of š« on the original surface can be represented as: $šŖ+g(0,0)ā š§$
-
-
Properties of the Projection Procedure
(2024-06-09)
-
The equation holds, when the plane H is the original surface $S_P$:
$$\cal{P}(\cal{P}(š«)) = \cal{P}(š«)$$
-
-
Computing the Projection
-
Data Structures and Tradeoffs
-
Results