Hough voting intuitive understanding

        The most typical example of the Hough voting method is the Hough line detection in a two-dimensional image. An infinite number of straight lines can be obtained through a fixed point in a two-dimensional plane. If a straight line is made with the vertex parameters, that is, these straight lines are transformed into the parameter space, then this fixed point corresponds to a straight line in the parameter space. If there are two straight lines intersecting at the same point in the parameter space, then the corresponding two fixed points are on the same straight line. According to the coordinates of the intersection point, the equation of the straight line can be obtained. The more lines there are at the intersection, the more points in the original space are on the same line.

        In the parameter space, the coordinates actually correspond to the slope and intercept of the straight line one by one. Therefore, each position point in the parameter space corresponds to a straight line in the original coordinate space.

        A fixed point is equivalent to voting on a straight line in the parameter space, with one vote for each position. The more votes a position gets, the more fixed points voted for this position, and these fixed points are on the same straight line. The straight line detection result can be finally confirmed by the vote threshold, that is, a straight line needs to have a sufficient number of straight lines.

        Hough voting is mainly used in Hough line detection and Hough circle detection.

        In addition to the application in traditional algorithms, VoteNet applied this concept to 3D point cloud target detection and achieved good detection results. Its detection principle is as follows:

        The VoteNet model structure is shown in the figure below. The model makes extensive use of the PointNet structure. In the backbone network, VoteNet uses PointNet sampling grouping and feature upsampling to obtain the seed point (seed) and its features for voting. The seed point is analogous to the fixed point when solving a straight line above, that is, the point with voting rights. The voting result of the seed point is Votes, which contains the center point and features of the voting target. VoteNet then uses the PointNet sampling grouping module to aggregate the voting points, and use the aggregated points to predict the existence, category and location of the target respectively. The role of aggregation can be compared to the straight line intersection above, that is, the points in the aggregation space voted for the same target.

        For a detailed introduction to the VoteNet algorithm model, please refer to: https://blog.csdn.net/suiyingy/article/details/126018078 .

 [Python 3D deep learning] Python 3D point cloud from basics to deep learning The updated part can be viewed in the 3D point cloud column. Contains data and python source code. https://blog.csdn.net/suiyingy/article/details/124017716

Guess you like

Origin blog.csdn.net/suiyingy/article/details/125982059