## Auto Registration by Tree Locations

### Summary

This function register two point cloud data sets based on the location of the trees (Li J , Zhao P , Hu Q , et al., 2020) (Guan H , Su Y , Hu T , et al., 2019). The location information of the trees is stored in a CSV file, and the file should at least contain two attributes, the TreeLocationX and TreeLocationY. Please refer to Individual Tree Segmentation Result File Format for the detailed format information. The data to be registered must be two flat surface with trees, which means the registration will only translate the data and rotate the data around the Z-axis. The calculation of the transform matrix consists of two steps, namely the calculation of the horizontal rotation matrix and the calculation of the vertical translation. For horizontal transform, this function first creates feature descriptors for each individual tree position; then votes based on the similarity of the feature descriptors. The individual tree position with the higher score will be used as the matching point, and finally calculate the two-dimensional rotation matrix according to the matching points. For registration in the vertical direction, this function first obtains the point cloud in the neighborhood of each individual tree, and then uses the maximum or minimum value in the point cloud for registration in the Z direction. This process uses the 3σ principle to make the confidence level of the difference in Z direction highest. The success rate of registration depends on the matching degree between the point cloud to be registered and the corresponding position of the registration point cloud. The higher the matching degree, the higher the algorithm success rate. The matching degree of individual tree depends on the degree of data overlap. the accuracy of position, and so on.

### Usage

Click *ALS Forest > Registration > Auto Registration by Tree Locations*

### Settings

**Reference Point Cloud**: The reference point cloud data. After the registration, the point cloud to be registered will be transform to the coordiante system of the reference point cloud.**Point Cloud to be Registered**: The point cloud data to be registered. After the registration, the transform matrix will be applied to this point cloud data and generate a new file.**Number of Neighborhood Points (default value is 8)**: The size of the neighborhood used to generate the feature descriptors. The increase of the size of the neighborhood will increase the time complexity of the algorithm, while it will increase the robustness of the feature descriptors at the same time. The decrease of this value will improve the algorithm efficiency, while it will increase the number so that the matching point outliers as well. This value should be set to 8 ~ 12.**Minimum Votes (default value is 6)**: The individual tree positions below this number of votes will be considered as outliers and will not participate in the match. The smaller this value, the more matching points will be obtained, but the error of matching point pairs will also be greater. The larger this value is, the fewer matching points are obtained. If the value is too large, there will not be enough matching points for transform matrix calculation. When the number of neighborhood points increases, this value can be increased accordingly. This value should be set to 6 ~ 9.**Homography Matrix Backprojection Error (default value is 3.0)**: Backprojection error of homography matrix. Candidate points selection is performed by using homography matrix combined with Ransac algorithm. The smaller the backprojection error, the fewer the matching points of the selected single wood and the higher the matching degree. The larger this value is, the looser the filter conditions for matching points are, and the greater the error of matching point pairs. While this value is too small, it may lead to not enough matching points participating in the calculation. This value should be set to 2~4 most suitable.**Searching Radius （meter) (default value is 2.0)**: When performing Z-direction registration, the search radius used for neighborhood search. When registering in the Z direction, users need to find the real point cloud of each individual tree in a certain neighborhood on the XY plane, and then use the coordinates of the real point cloud for registration. If the value is too large or too small, the point cloud will not be able to describe the real terrain relief. This value should be set to 1.0~3.0, if it is too large, it will reduce the efficiency of the algorithm.**Z Translation ("Minimum" by default)**: There are two registration methods in the Z direction, namely "maximum value" and "minimum value". This value describes that after performing a radius search on the position of the individual tree, the "maximum/smallest value" of the point cloud in the neighborhood is taken as the true matching point, which is used to calculate the final translation in the Z direction. When using the "maximum value", it is necessary to ensure that there is no missing or distorted treetop point cloud near the individual tree, otherwise it will be impossible to extract accurate matching points from the point cloud. When using the "minimum value", it is necessary to ensure that there are enough ground points near the individual wood, otherwise the Z direction matching will fail.

```
@inproceedings{
author={Li J , Zhao P , Hu Q , et al.},
title={ Robust point cloud registration based on topological graph and Cauchy weighted lq-norm},
booktitle={Isprs Journal of Photogrammetry & Remote Sensing, 160:244-259},
year={2020},
}
```

```
@inproceedings{
author={Guan H , Su Y , Hu T , et al.},
title={ A Novel Framework to Automatically Fuse Multiplatform LiDAR Data in Forest Environments Based on Tree Locations},
booktitle={IEEE Transactions on Geoence and Remote Sensing},
year={2019},
}
```