Skip to main content
. 2021 Jan 19;21(2):664. doi: 10.3390/s21020664
Algorithm 2: Registration optimization based on neighboring meshes
Input: different frames point clouds of plant after denoising and smoothing
Output: one frame of complete plant point cloud
Setting: global transformation matrix Mglo
(1) Registration: At the beginning, the first two frames are selected for processing. Fast global registration [41], which is more efficient than FPFH, is applied for rough registration, and ICP is applied for fine alignment, producing the temporary matrix Mtemp.
Mglo=MgloMtemp
(2) Meshing: Greedy projection triangulation is used to form triangular patches for these two frames.
(3) Searching neighboring patches: Calculating the patches’ geometric center and getting two center point clouds pc1 and pc2. For each point in pc1, searching the neighboring points of selected point in pc2 based on the k-d tree. The center point corresponds to the patch, so the neighboring patches of the patch abc of pc1 are a set T={mnqi | i=1,2,3}
(4) Calculating the relationship between the patches: For each patch in set T, calculating the relationship between this patch and patch abc. After projection, the new patch will take the place of the old one.
(5) Iteration and repetition: If αtri is less than the minimum angle threshold αmin, or dpro is less than the minimum distance threshold dmin, the optimization of these pairs of patches is completed. Repeating Steps 3–5 for all patches in the first frame.
(6) Down-sampling: After optimization, these two frames are combined into one frame, which is set as the new first frame. Due to repeated points, down-sampling is applied to reduce the point-cloud density.
(7) Applying to all frames: Taking the next frame from memory as the new second frame and then repeating the above operations until all frames are used.