|
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
|
| (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 .
|
| (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 and . For each point in , searching the neighboring points of selected point in based on the k-d tree. The center point corresponds to the patch, so the neighboring patches of the patch of are a set
|
| (4) Calculating the relationship between the patches: For each patch in set T, calculating the relationship between this patch and patch . After projection, the new patch will take the place of the old one. |
| (5) Iteration and repetition: If is less than the minimum angle threshold , or is less than the minimum distance threshold , 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. |