An index of measuring the variation on a surface called the smooth shrink index (SSI) which presents robustness to noise and non-uniform sampling is developed in this work. Afterwards, a new algorithm used for extracting the feature lines was proposed. Firstly, the points with an absolute value of SSI greater than a given threshold are selected as potential feature points. Then, the SSI is applied as the growth condition to conduct region segmentation of the potential feature points. Finally, a bilateral filter algorithm is employed to obtain the final feature points by thinning the potential feature points iteratively. While thinning the potential feature points, the tendency of the feature lines is acquired using principle component analysis (PCA) to restrict the drift direction of the potential feature points, so as to prevent the shrink in the endpoints of the feature lines and breaking of the feature lines induced by non-uniform sampling. 
Extracting feature lines from point clouds based on smooth shrink and iterative thinning