The invention discloses a method for automatically recognizing various types of geometric elements in a three-dimensional
point cloud, and the method comprises the steps: carrying out the preprocessing of an inputted three-dimensional
point cloud, i.e.,
voxel filtering, building a neighbor
structure based on a Kd tree, and estimating a normal vector of points; carrying out the determining of a
neighbor relation of the
point cloud, and carrying out the sampling of the point cloud; calculating a
covariance matrix of sample point neighbor, analyzing the size relation among three characteristic values, and generating a corresponding initial
geometric element model according to a coplanar rule; respectively building a corresponding
energy equation according to the initial
geometric element models, and carrying out the planar, spherical and cylindrical
surface energy calculation according to an energy optimization frame; carrying out the loop iteration of the above steps, minimizing the energy of various types of geometric elements, solving
geometric element parameters under optimal significance through employing an optimization
algorithm, thereby achieving the refining of the parameters of geometric element models; and finally outputting the parameters and inner points of a plurality of types of geometric elements. According to the technical scheme of the invention, the method is wide in application range, is accurate in parameter
estimation, is strong in anti-interference capability, and greatly improves the recognition and analysis capability of the three-dimensional point cloud.