ece4580:module_pcd:localnormals
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ece4580:module_pcd:localnormals [2017/02/04 13:53] – [PCA] pvela | ece4580:module_pcd:localnormals [2024/08/20 21:38] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Local surface | + | ====== Local Surface |
- | For some applications, | + | For some applications, |
+ | First, though, it is important to note that we are talking about local neighborhoods to the points in question. | ||
+ | ===== Getting a Local Neighborhood ===== | ||
+ | |||
+ | There are actually many ways to get a local neighborhood. | ||
+ | |||
+ | Some ideas are: | ||
+ | * Using the connectivity matrix. | ||
+ | * Using Matlab' | ||
+ | * Using evenly chosen points from the point cloud list, then creating their neighborhoods. | ||
+ | More details on the underlying algorithms go [[ECE4580: | ||
===== PCA ===== | ===== PCA ===== | ||
Line 11: | Line 21: | ||
The eigenvalue $\lambda_i$ reflects the variance associated to the data along the direction given by its associated eigenvector $\vec e_i$. Recall that the matrix $V$ consists of the eigenvectors | The eigenvalue $\lambda_i$ reflects the variance associated to the data along the direction given by its associated eigenvector $\vec e_i$. Recall that the matrix $V$ consists of the eigenvectors | ||
$$ V = \left[ \begin{matrix} | & | & | \\ \vec e_i & \vec e_2 & \vec e_3 \\ | & | & | \end{matrix} \right].$$ | $$ V = \left[ \begin{matrix} | & | & | \\ \vec e_i & \vec e_2 & \vec e_3 \\ | & | & | \end{matrix} \right].$$ | ||
- | If the set $P$ is truly planar, then the normal vector to the points in $P$ should be aligned with the eignevector | + | If the set $P$ is truly planar, then the normal vector to the points in $P$ should be aligned with the eigenvector |
Finding the smallest of the non-negative, | Finding the smallest of the non-negative, | ||
+ | |||
+ | //Matlab Notes:// Implementation will involve proper use of the '' | ||
===== SVD ===== | ===== SVD ===== | ||
Line 26: | Line 38: | ||
Naturally, if we are given a small set $P$ and would like to compute its normal, then the first step would be to center the data. After that computation of the SVD followed by extraction of the smallest singular vector gives the necessary estimate. By definition of the SVD, this vector is already unit length, so we've got the answer. | Naturally, if we are given a small set $P$ and would like to compute its normal, then the first step would be to center the data. After that computation of the SVD followed by extraction of the smallest singular vector gives the necessary estimate. By definition of the SVD, this vector is already unit length, so we've got the answer. | ||
+ | |||
+ | //Matlab Notes:// In slightly older Matlab versions, implementation will involve proper use of '' | ||
===== Visualizing in Matlab ===== | ===== Visualizing in Matlab ===== | ||
Line 36: | Line 50: | ||
===== Matlab Version ===== | ===== Matlab Version ===== | ||
- | Matlab has its own internal routine for performing the same operation. It is called '' | + | Matlab has its own internal routine for performing the same operation. It is called '' |
--------------------- | --------------------- |
ece4580/module_pcd/localnormals.1486234387.txt.gz · Last modified: 2024/08/20 21:38 (external edit)