A fast detection method for lines, planes and hyperplanes in multidimensional space

By adopting the integrated fast Hough transform (IFHT) method in multidimensional space, using a single k-byte tree to uniformly search information and using the total least squares fitting algorithm, the problem of increasing computational volume and complexity in high-dimensional space is solved, and efficient linear, plane and hyperplane detection is achieved.

CN114387442BActive Publication Date: 2025-03-18NANJING AGRICULTURAL UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210033412.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-12
Publication Date
2025-03-18
Estimated Expiration
2042-01-12

AI Technical Summary

Technical Problem

In multidimensional space, the calculation amount and complexity of the existing Hough transformation algorithm increase sharply due to the increase in data dimensions, resulting in difficulty in practical application in high-dimensional space.

Method used

An integrated fast Hough transform (IFHT) method is proposed, which uniformly searches all dimensions by using a single k-byte tree in the parameter space, reduces the computational volume and storage requirements, and adopts a total least squares fitting algorithm to improve tolerance to noise.

Benefits of technology

It realizes efficient detection of straight lines, planes and hyperplanes in multidimensional space, reduces the computational volume and storage requirements, and improves tolerance for noise, solving the problem of degradation in existing algorithms in high-dimensional space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114387442B_ABST
    Figure CN114387442B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for rapid detection of lines, planes and hyperplanes in a multidimensional space. The method establishes a new mathematical model of lines, planes and hyperplanes, and develops an integrated fast Hough transform based on this, using a single k-byte tree to store all information. This new method has two important advantages: first, the model corresponds to the total least squares fitting algorithm, which has better tolerance to data noise and solves the problem of low accuracy of fast Hough transform for target detection on the dividing line of parameter space; second, in the integrated fast Hough transform, targets that are very close in the data space are clustered together in the parameter space, and the parameter space calculation process can be displayed using intuitive graphics, so as to quickly determine the number of targets, guide system parameter settings and distinguish repeatedly identified targets. The present invention can be applied to image analysis, computer vision, autonomous driving, artificial intelligence and data classification, etc.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of image processing technology, and mainly relates to an integrated fast Hough transform, specifically a fast detection method for straight lines, planes and hyperplanes in a multidimensional space, which can be used for data mining, classification and pattern recognition of various data, including image data, financial data, array data, etc.; it can also be applied to image analysis, computer vision, autonomous driving, artificial intelligence and data classification, etc. Background Art

[0002] Line detection is the basis of object recognition and plays a vital role in image processing and recognition. In 1962, Hough first developed and patented an efficient line detection algorithm in images, which is called the Hough transform. To date, more than 2,500 academic articles have proposed various improved algorithms for the Hough transform. The 2D Hough transform has also been extended to plane and hyperplane detection in multidimensional space, and has been applied in many fields, including computer vision, machine learning, artificial intelligence, autonomous driving, and data classification.

[0003] The goal of Hough transform and most of its variants is to detect straight lines in two-dimensional data. With appropriate improvements, it can also be used to detect specific curves and graphics. The use of Hough transform for straight line detection mainly includes two steps: setting a parameter space of limited length and designing a mapping function to convert the input data into a straight line in the parameter space; dividing the parameter space into multiple small counting units and using the input data to vote for each counting unit. The calculation unit whose votes exceed the specified threshold corresponds to the target detected by Hough transform. The algorithm flow is as follows Figure 1 shown.

[0004] In recent years, with the widespread application of laser radar, especially LiDAR in autonomous driving and spatial measurement, the application of Hough transform in 3D data point cloud has become more and more extensive. When expanded to 3D or even higher-dimensional data space, the simplest detection target corresponding to Hough transform is plane and hyperplane. However, due to the "curse of data dimension", the computational complexity and complexity of the corresponding algorithm in multi-dimensional space often increase exponentially. At present, only a few Hough transform algorithms can be actually applied to multi-dimensional space data. Among them, the fast Hough transform (Li, et al., 1986) proposed by Li et al. of IBM in 1986 is recognized as a leader in terms of outstanding performance in computational and storage complexity. The algorithm has also been implemented by some general computer image processing libraries such as GANDALF and has been widely used. Interestingly, we found that some literature often uses the fast Hough transform to refer to an algorithm similar to the Radon transform proposed by Brady et al. (Brady, 1998). To avoid misunderstanding, we hereby declare that the fast Hough transform (FHT) mentioned in this article refers specifically to the algorithm developed by Li et al. in 1986, unless otherwise specified. The fast Hough transform proposed by Li et al. has excellent performance in terms of computational and storage complexity in both two-dimensional and multi-dimensional space, mainly due to its coarse-to-fine progressive processing strategy. In n-dimensional space, the fast Hough transform transforms data points into hyperplanes in the parameter space (lines in two-dimensional space and planes in three-dimensional space) and searches for their intersection.

[0005] In an n-dimensional data space {F1, F2, ..., F n}, each data point is represented by F(j)=[F1(j),F2(j),…,F n (j)]. The calculation process of the fast Hough transform will be as follows:

[0006] 1. Set a k-dimensional parameter space {X1,X2,…,X k}, find the corresponding mapping function to map the data point F(j) into a straight line or hyperplane in the parameter space. The mathematical expression of the straight line or hyperplane in the parameter space is

[0007]

[0008] Among them, a i (j) is a function of F(j) that satisfies

[0009] 2. Set a voting threshold T to determine the minimum data support required to identify the target and the expected detection accuracy q.

[0010] 3. Use an iterative algorithm to partition the parameter space into hypercubes from low to high resolution, and use n k-byte trees to represent and store them. Further partitioning and analysis only needs to be performed on hypercubes that have received sufficient votes.

[0011] In the fast Hough transform, the parameter space needs to be divided into n subspaces, which is determined by the mathematical model used. For example, in two-dimensional space, a straight line is usually described by y=mx+c, m→∞. It is not practical to search the space [m,c] directly because the value of m can be infinite. The fast Hough transform therefore uses two equations to describe this space y=mx+c, |m|≤1 and y=mx+c, |m|≤1. These two equations essentially convert the entire search space into two sub-parameter spaces (m,c) and (m',c'), where |m|≤1, |m′|<1 for search. The same strategy is also widely used in other Hough transform variants, such as the adaptive Hough transform (Illingworth and Kittler, 1987).

[0012] Taking the two-dimensional fast Hough transform as an example, the data point (x, y) can be located on the line y = mx + c, |m| ≤ 1 or x = m'y + c', |m'| < 1. The parameter space consists of two subspaces (m, c) and (m', c'). The equation for mapping the data point (x, y) to a line a0 + a1m + a2c = 0 (|m| ≤ 1) in the first subspace (m, c) is The equation for the line a0+a1m′+a2c′=0 (|m′|<1) in the second subspace (m',c') that maps the data point (x,y) to a line is

[0013] The Fast Hough Transform uses an iterative algorithm to divide the parameter space into nested hypercubes from low to high resolution, and uses n k-byte trees to express and store them. Each hypercube corresponds to a hyperplane of a specific precision in the data space, which we call an accumulator. For a accumulator m∈[m1,m2],c∈[c1,c2] in a parameter space, if we want to detect whether a data point (x,y) satisfies the conditions y=mx+c, m∈[m1,m2],c∈[c1,c2], we test a0+a1m+a2c=0 in Whether it is satisfied under the conditions of \(m\in[m_1,m_2]\) and \(c\in[c_1,c_2]\). The latter can be reconstructed into a problem of whether a rectangle \(m\in[m_1,m_2]\), \(c\in[c_1,c_2]\) and a straight line \(a_0 + a_1m + a_2c = 0\) intersect, where \(a_0\), \(a_1\), and \(a_2\) are all known. If we use data regularization transformation to make \([m_1,m_2]\) and \([c_1,c_2]\) have the same length, the above test can be further relaxed to test whether the straight line intersects the circumcircle of the square, thus greatly reducing the amount of computation (as Figure 2 shown). Taking the two-dimensional space as an example, we only need to detect whether \(|a_0 + a_1m * + a_2c * |<r is satisfied, where \(m * and \(c * are the coordinates of the center of the square, and \(r\) is the radius of the circumcircle of the square.

[0014] In the fast Hough transform during the search process, the parameter space is divided into \(n\) subspaces, and each subspace is responsible for storing its information by an independent \(k\)-byte tree. Each subspace can be divided into \(k\) hypercubes, corresponding to the \(k\) nodes of the \(k\)-byte tree. Each hypercube can be iteratively decomposed into \(k\) smaller hypercubes, forming deeper-level nodes of the \(k\)-byte tree. The hypercube will only perform deeper decomposition when the corresponding hyperplane obtains sufficient votes from data points, and the subdivision stops until the size of the cube reaches the specified precision. This hierarchical model greatly saves the amount of computation and storage space.

[0015] Searching multiple independent subspaces separately brings a lot of extra burdens. Although theoretically, no straight line can satisfy \(y = mx + c\), \(|m|\leq1\) and \(x = m'y + c'\), \(|m'|\lt1\) at the same time, in practice, straight lines with slopes close to 1 will be detected in both subspaces, especially when the data is affected by noise. In actual algorithm implementation, there will be a small amount of overlap at the boundaries of multiple independent subspaces to avoid holes in the search space. As the data dimension increases, the waste of computation and storage space becomes more and more serious.

[0016] Worse still, the fast Hough transform uses completely different mapping functions for multiple subspaces. It becomes extremely challenging to test whether the targets (straight lines in two-dimensional space, planes in three-dimensional space, hyperplanes in high-dimensional space) detected in multiple different subspaces come from the same object. In fact, in the original fast Hough transform literature, this difficult problem was also mentioned and regarded as the focus of future scientific research work. But for so many years, this difficult problem has never been solved. Summary of the Invention

[0017] The object of the present invention is to provide a method for quickly detecting a line, a plane and a hyperplane in a multidimensional space, so as to overcome the deficiencies of the current prior art.

[0018] The technical solution adopted by the present invention is as follows:

[0019] In a first aspect, the present invention provides a method for fast detection of lines, planes and hyperplanes in multidimensional space, in a data point cloud mode, in an n-dimensional space {F1, F2, ..., F n}, the data point cloud consists of N data points, each of which is represented by: F(j) = [F1(j), F2(j), …, F n (j)], j = 1 ... N; the method uses a straight line, plane or hyperplane in the data space To characterize, where: d is a parameter specified by the user, {β1,β2,…,β n+1} is a parameter, n corresponds to the dimension of the data, and m is n-1 or n,τ i is a data regularization factor, which is chosen by the user.

[0020] Furthermore, in the method, only certain specific subsets are detected, including: detecting the n+1 =0, or any β i ≥0 target, or β i A target within a specific range of values.

[0021] Furthermore, the method pre-sets system parameters by the following steps:

[0022] The first step is to set the intercept range d of the line, plane or hyperplane if the m=n model is used, where d is less than or equal to the maximum distance d between each data point in the input point cloud data and the origin of the coordinate system. max ,If the model with m = n + 1 is used, d = 1 can be set by default;

[0023] The second step is to set a voting threshold T to determine the minimum number of data points required to identify the target, and set the expected detection accuracy q, where the value of q is an integer;

[0024] The third step is to create a k-byte tree, set the center position parameters of the k-byte tree root node and the half-length of each dimension;

[0025] The fourth step is to convert each data point into parameter space;

[0026] The fifth step is to calculate the distance from the root node to any data point j.

[0027]

[0028] Test formula Whether it is satisfied, if so, the accumulated votes of the root node will be increased;

[0029] Step 6: If the root node votes are less than T, there is no target that meets the conditions in the system and the system exits. If the votes are greater than or equal to the threshold value T, a 2-threshold of the root node that meets the condition b1=1 is generated. k-1 Child nodes, each newly generated node is equipped with a vector b = [b1, ..., b k ];

[0030] Step 7: Use all N data points to vote for the new node;

[0031] Step 8: Check the number of votes of the new node. If it is less than the threshold value T, stop processing the child node. If the node has reached the qth layer, output the parameter information of the node, which corresponds to the target detected in the system, and stop analyzing the node.

[0032] Step 9: If the number of votes of a new node is greater than or equal to the threshold value T, generate the next layer 2 of the node k child nodes, and equip each newly generated node with a vector b=[b1,…,b k ]; Test whether each newly generated node satisfies the formula If not satisfied, the child node is abandoned;

[0033] In the tenth step, iteratively repeat steps seven to nine until no new nodes are generated in the system and all nodes have been processed.

[0034] Furthermore, in the first step, if a straight line, plane or hyperplane target passing through the coordinate origin is detected, d is set to 0.

[0035] Furthermore, in the third step, if all targets in the input data need to be detected, the center position of the root node is C0 = (0, ..., 0), and its half-length in each dimension is S0 = (1, ..., 1); if only targets in certain specific areas of the input data are detected, the center position of the root node is adjusted accordingly.

[0036] Furthermore, in the fourth step, if all targets in the input data need to be detected, the following equation is used:

[0037]

[0038]

[0039] If only targets in certain specific areas of the input data are detected, the following formula is used for derivation:

[0040] W(j) is given by Sure.

[0041] Furthermore, in the seventh step, the voting rule is to calculate the distance from any data point j to the child node:

[0042]

[0043] And test whether the formula is satisfied If the conditions are met, the accumulated votes of the node are increased; in this way, the votes of each new node can be counted.

[0044] Furthermore, after the tenth step, all nodes output in the eighth step are counted. If there are multiple output nodes, possible duplicate targets are merged. If no node is output, the system does not detect any target.

[0045] In a second aspect, the present invention provides a computer device, comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor implements the rapid detection method as described above when executing the computer-readable instructions.

[0046] In a third aspect, the present invention provides one or more readable storage media storing computer-readable instructions, which, when executed by one or more processors, enable the one or more processors to perform the rapid detection method as described above.

[0047] The beneficial effects of the present invention are as follows: the present invention establishes a new mathematical model of a straight line, a plane and a hyperplane, and develops an integrated fast Hough transform based on this. The integrated fast Hough transform allows us to use a single k-byte tree to be responsible for the information of all search spaces, and greatly reduces the amount of calculation and storage requirements in the system by removing redundancy. This new method also has two important advantages. First, the fitting mode of the fast Hough transform corresponds to the least squares method, while the integrated fast Hough transform corresponds to the total least squares fitting algorithm. The former assumes that the noise of the data exists only in one dimension, while the latter model assumes that the data noise is spread over all dimensions, so it has better tolerance for data noise, and solves the problem of low detection accuracy of the fast Hough transform for targets located on the dividing line of the parameter space in practical applications. Secondly, in the integrated fast Hough transform, targets that are very close to each other in the data space are clustered together in the parameter space, which allows us to use intuitive graphics to display the data analysis process in the parameter space, so as to quickly judge the number of targets, and visually guide us to set system parameters and distinguish targets that are repeatedly identified. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1This is the standard flow chart of Hough transform for line or plane detection.

[0049] Figure 2 It is a schematic diagram for testing the intersection of a straight line and a square. You can directly test whether a straight line and a square intersect, or you can test whether the circumscribed circle of the straight line and the square intersect. The latter will save a lot of time in calculation.

[0050] Figure 3 It is a schematic diagram of the parameter space of the multi-scale hierarchical and refined integrated Hough transform; the counting units have the same length in each dimension, and IFHT only needs to analyze the counting units that intersect with the unit circle in the n-1 dimension.

[0051] Figure 4 The k-byte tree is used to represent the entire parameter space diagram; we use a vector b consisting of 0 and 1 to represent different nodes, and each node except the root node generates 2 k child nodes, the root node contains 2 k-1 child nodes.

[0052] Figure 5 is a visual display of the segmentation and analysis of the IFHT parameter space; (a) is the 2D input data, which contains two straight lines; (b) is the voting distribution of all counting units in the IFHT level q=5. The counting units with votes exceeding the threshold value are clustered into two independent groups, corresponding to the two straight lines.

[0053] Figure 6 is a schematic diagram of a 3D data set and the corresponding IFHT parameter space; (a) is the 3D data set and the plane therein, and (b) is the analysis result of IFHT for all counting units when q=5. The counting units exceeding the threshold value are clustered into an independent group, corresponding to the plane in the data set.

[0054] FIG7 is a schematic diagram of different objective functions used in FHT and IFHT line detection; (a) is the least squares fitting corresponding to FHT, minimizing the total square value of the deviation along the y-axis, and (b) is the total least squares fitting corresponding to IFHT, minimizing the sum of all squared Euclidean distances.

[0055] Figure 8 is a schematic diagram comparing the straight line detection performance of FHT and IFHT, where two levels of noise are added to the second dimension of the data respectively; where (a) is general straight line detection, and (b) is the boundary value of the counting unit on the parameter plane corresponding to IFHT and FHT, the FHT performance drops sharply, while the IFHT performance remains basically unchanged.

[0056] Fig. 9 It is a schematic diagram comparing the algorithm performance of IFHT and FHT when the noise is evenly distributed in each dimension of the data; the standard deviations of the simulated noise are 0.02 and 0.067 respectively.

[0057] Fig.10 is a schematic diagram of a computer system that can be used to host the present invention. DETAILED DESCRIPTION

[0058] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments.

[0059] 1. Integrated fast Hough transform mathematical model

[0060] The integrated fast Hough transform (IFHT) uses a more intuitive mathematical model to characterize straight lines and planes and hyperplanes in multidimensional space. Assume that the input data is an n-dimensional space {F1, F2, …, F n} data point F(j)=[F1(j),F2(j),…,F n (j)], the integrated fast Hough transform uses the following mathematical model to characterize the hyperplane:

[0061] in

[0062] In the above formula, τ i is a data regularization factor, and the specific selection will be discussed later. For simplicity, we can simplify the above formula and temporarily ignore the condition of β1≥0. Assume that we know {β1,β2,…,β n+1}, and assume that their range of values ​​is half-length {L1,L2,…,L n+1}, the above formula can be transformed into:

[0063]

[0064] definition The above formula is transformed into Where W(j) is a weight variable to ensure

[0065] To summarize the above derivation, the data space {F1, F2, …, F n}Detecting targets Transform to parameter space {X1,X2,…,X k}

[0066]

[0067] Where: F(j) = [F1(j), F2(j), …, F n (j)] to the parameter space {X1,X2,…,X k The mapping function of} is The value of W(j) is given by In the parameter space {X1,X2,…,X k}, each dimension X i The range is [-1,1], and the entire parameter space can therefore be subdivided into multiple small hypercubes (voting units) for voting. The condition β1 ≥ 0 can also be simply achieved by ignoring the voting units that do not meet the requirements.

[0068] Taking two-dimensional space as an example, any straight line passing through a point (x, y) can be represented as β′1x+β′2y+β′3=0,β′1 2 +β′2 2 =1, β′1≥0, |β′3|≤d, where d is a specified parameter that is less than or equal to the maximum distance d of all data points from the origin max Assuming β′3=d·β3,β′1=β1,β′2=β2 and ignoring the restriction of β′1≥0, we can transform the above formula into β1x+β2y+d·β3=0,β1 2 +β2 2 =1,|β i |≤1,i=1,2,3. (β1,β2,β3) constitute our parameter space, transforming the data point (x,y) to the parameter space a1β1+a2β2+a3β3=0, β1 2 +β2 2 =1,|β3|≤1 is the mapping function Because |β i |≤1for i=1,2,3, so the length of the parameter space (β1,β2,β3) in each dimension is 2, and it can be subdivided into cubes of equal length as counting units.

[0069] 2. Multi-scale hierarchical calculation model

[0070] Each data point in the data space corresponds to a line or plane in the IFHT parameter space. In reality, measurement errors and noise in the data correspond to offsets of the corresponding objects in the parameter space. In the IFHT parameter space, by detecting a small interval instead of just detecting a specific value, noise tolerance can be achieved and detection accuracy can be improved. The length of the small interval detected corresponds to the accuracy of our final detection target. For a data point cloud in a data space, when detecting targets such as lines, planes, and hyperplanes supported by more than T data points, IFHT will first divide the parameter space into many small counting units, allowing each data point to vote for the counting unit. Since the length of each dimension of the parameter space of IFHT is equal, the small counting units divided are equal in each dimension. The counting units in the parameter space are composed of squares, cubes, and hypercubes (depending on the data dimension).

[0071] The IFHT parameter space is linear. If a large cube is supported by T data points, and if the cube is subdivided again to obtain multiple small cubes and they are voted on, the number of votes of any small cube cannot exceed the number of votes of the original cube, and the data points that support any small cube must be a subset of the data points that support the large cube. Therefore, the segmentation of the IFHT parameter space can be implemented in a multi-scale hierarchical refinement manner. The IFHT parameter space is first quantized into several relatively large counting units, and the counting units that obtain enough votes are then refined again until the required accuracy is achieved. This method gives IFHT a huge computational advantage over other methods that use polar coordinates to implement Hough transform.

[0072] Since the counting units in the IFHT parameter space are of equal length in each dimension, we can use Figure 2 The formula for determining whether a data point votes for a counting unit can be written as

[0073]

[0074] [C1,C2…,C k ] is the center position of the counting unit, and r is the radius of the circumscribed circle of the counting unit.

[0075] 3. Using k-byte trees for storage and calculation

[0076] The IFHT parameter space can be viewed as a hollow hypercylinder (e.g. Figure 3 We use multi-scale nested hypercubes to traverse the entire parameter space, corresponding to a k-byte tree data structure to store information and calculate. The root node of the k-byte tree is the vector C0, and the half-length of its edge is S0. Each node in the tree can generate 2 k child nodes. We can use the vector b = [b1,…,b k ], where b i is a binary variable with a value of -1 or 1 to index any child node. l The node has an index value of [b1,…,b k The center value of the child node of ] can be calculated by the following formula:

[0077]

[0078] Where S l+1 is the half-length of all l+1-layer nodes, and S l+1 =S l / 2.

[0079] IFHT draws on the multi-scale hierarchical refinement and iterative calculation method in the FHT algorithm. The center position of a layer l is [C l1 ,C l2 …,C lk ], its distance D to any hyperplane defined by formula 3 in the parameter space l equal If this distance is regularized by half side length, the following formula is established:

[0080]

[0081] We can use an iterative method to calculate the regularized distance of any counting unit. Assuming the parameter space {X1,X2,…,X k The center point of the initial value of} is C0 = [C 01 ,C 02 ,…,C 0k ], we have:

[0082]

[0083] The formula for whether any data point in Formula 4 votes for a counting unit can be simplified to:

[0084]

[0085] In formula 2, we use The constraints are used to ensure the uniqueness of the line or plane. If we have no additional information about the target to be detected, {β1,…,β n ) is the initial range of |β i |≤1, the above restrictions Can be simplified to:

[0086]

[0087] In parameter space, this is equivalent to testing whether a hypercube intersects the (n-1)-dimensional unit circle / sphere. Using the same simplification as in Equation 4, for a hypercube at level l with a center at [C1,C2,…,C k ] counting unit, if the radius of the circumscribed circle of the cube is r, the test formula can be simplified to

[0088]

[0089] 4. Integrated Fast Hough Transform Algorithm Process

[0090] n-dimensional space {F1,F2,…,F n}, given a series of data point clouds F(j) = [F1(j), F2(j), …, F n(j)]. IFHT uses a straight line, plane or hyperplane in the data space as To characterize, β1≥0, d is a user-specified parameter that is less than or equal to the maximum distance d from the origin of all data points max If there is no additional requirement for the target parameters, the initial range of the parameter space can be set to |β i |≤1,i=1,…,n. The integrated fast Hough transform IFHT requires the following system parameters to be set in advance:

[0091] Set a k-dimensional parameter space {X1,X2,…,X k}, find the corresponding mapping function to map the data point F(j) into a straight line or hyperplane in the parameter space. The mathematical expression of the straight line or hyperplane in the parameter space is where a i (j) is a function of F(j), When j=1,…,n, Where W(j) is a regularization scalar used to satisfy

[0092] A voting threshold T is set to determine the minimum data support required to identify the target and the expected detection accuracy q.

[0093] The IFHT calculation process is as follows:

[0094] Set the k-byte tree root node. The root node is located at (0,…,0), and its half-length in each dimension is (1,…,1). Calculate the distance from the root node to all data points and the number of votes. If the number of votes is greater than the threshold value T, generate 2 root nodes that meet the condition b1=1. k-1 Child nodes.

[0095] Determine whether each child node satisfies Formula 9. If not, abandon the child node. For the child nodes that meet the requirements, use Formula 6 to calculate the regularized distance of each data point, and complete the voting of the child nodes by testing whether Formula 7 is satisfied. If the number of votes is less than the threshold value T, abandon the child node. Otherwise, refine the child node again to generate 2 k child nodes.

[0096] Iterate the child nodes generated in the above steps. Finally, record all nodes that have reached the specified precision q and received votes greater than the threshold value T. If no node can reach the specified precision q and receive votes greater than the threshold value T, the node with the highest precision can be reported (if there are multiple nodes, record the node with the highest votes).

[0097] 5. Other possible variants of the integrated fast Hough transform

[0098] The above integrated Hough transform, straight line, plane and hyperplane are represented by the following mathematical model

[0099] in In some cases, we can make some modifications to the above formula. One possible change is to replace β n+1 Also put it into the regularization equation, so that we can avoid the step of calculating the maximum distance of all data points from the origin at the beginning. The corresponding equation will be transformed into

[0100] in

[0101] In addition, the specific implementation of IFHT is adjusted. In the IFHT mathematical model, there are n+1 variables (β1,…,β n+1 ). But when {β2,…,β n+1} is determined, β1 can be uniquely determined, so it is essentially a dummy variable. Therefore, in the specific implementation, we can also directly calculate β1 without introducing it into the parameter space.

[0102] 6. Integrated Fast Hough Transform Results

[0103] In almost all variants of the Hough transform, the quantization accuracy q of the parameter space is an important parameter. If the value is too low, the number of detected targets will be too large and the accuracy will be insufficient; when the q value is too high, the algorithm will be too sensitive to noise, resulting in the omission of individual targets. In the actual application of FHT, we often see that when the accuracy is q, multiple counting units report the detection of the same target at the same time, and they correspond to the same target, but at the accuracy level of q+1, no target can be detected. Therefore, the automatic identification of the same target in the Hough or fast Hough transform depends on a lot of post-processing.

[0104] In IFHT, the integration of parameter space makes it possible to intuitively display the segmentation and calculation progress in parameter space, so that we can determine the system parameters very intuitively and make intuitive judgments on possible repeated targets in the results. In Figures 5 and 6, we show the data analysis results of the parameter space of a 2D dataset and a 3D dataset in IFHT operation respectively. We can see that when the value of quantization accuracy q is relatively low, multiple counting units will find the same target. However, counting units that detect the same target are always clustered together in parameter space, so users can very intuitively determine how many targets to be detected are contained in their data, and at the same time determine the system parameters and merge the repeatedly detected targets in a targeted manner.

[0105] The IFHT algorithm has some very interesting properties. In the Fast Hough Transform FHT model, the noise is not assumed to be uniformly distributed in all dimensions. Taking 2D data as an example, y = mx + c, |m| ≤ 1 and x = m′y + c′, |m′| < 1 are used together to describe all lines. When we use the first formula to fit the input data point cloud, the least squares method will minimize the total squared value of the deviation along the y axis, such as Figure 7a As shown. However, IFHT fits all dimensions simultaneously, essentially converting the least squares fit into a total least squares fit. In 2D space, we look for a solution that satisfies β1x+β2y+β3=0 and β1 2 +β2 2 = 1 is obtained by minimizing the sum of all squared Euclidean distances. The fitting process is as follows Figure 7b shown.

[0106] We compare the performance of IFHT and FHT on synthetic data using the method of Model Carlo. In the first experiment, we generate N data points on the two-dimensional space line y = 0.8x + 0.24 + g, where x satisfies the uniform distribution of (-2, 2), g is Gaussian white noise, and its standard deviation is 0.02 and 0.067, corresponding to the signal-to-noise ratio of 0.03% and 0.1%, respectively. N data points of x, y ~ N (0, 1) are added to the dataset as background noise. We generate the same parameters 100 times and test them with IFHT and FHT with (T = N / 2 and q = 5) respectively. Figure 7a It is shown that IFHT achieves higher detection rates than FHT in both settings.

[0107] When the initial values ​​of the parameters are set, the size and boundaries of the counting unit will be determined. Algorithm analysis shows that when a line corresponds to the boundary value of the counting unit, the accuracy of FHT detection will be greatly reduced (Illingworth and Kittler, 1987). Due to different models, few lines will encounter the same problem in both FHT and IFHT. The line y = 0.5 is one of the few that meets this condition at parameters (q = 5 and d = 2). Figure 7b The performance of FHT and IFHT is shown when the noise standard deviation is 0.02 and 0.067. It can be seen that in this case, the performance of FHT drops sharply, but the performance of IFHT is almost unaffected.

[0108] In the above simulation, noise is only added to the second dimension of the data. In real data, this situation rarely occurs. We repeated the first experiment, but added noise in both dimensions. The model we used is y=0.8t+0.24+g2, x=t+g1, t~U(-2,2). Here g1 and g2 are Gaussian noises with the same standard deviation. IFHT and FHT parameters (q=5 and d=2) are used for target detection. The results are shown in Figure 8. Obviously, IFHT has better performance than FHT at different noise levels.

[0109] The above invention can be implemented using software, or by dedicated hardware, or by a combination of software and hardware, and the hardware can even be a general-purpose computer system. The present invention can be integrated into a module, and the module and its functions can be implemented by software or hardware. In software implementation, this module can be a process, a computer program, or a part of them for implementing a specific function or related functions. In hardware implementation, this module can be a functional hardware unit for working in conjunction with other components. For example, the module can be a digital electronic component, or a part of a digital circuit such as a special application digital integrated circuit (ASIC).

[0110] Fig.10 A schematic diagram of a computer system 400 that can be used to implement the above invention is shown. The computer 402 is equipped with the software for implementing the above invention and the memory required for the software to execute. The software is executed on the operating system of the computer system, is responsible for implementing and executing the technology described in the present invention, and the computer system 400 obtains the program results.

[0111] Computer software is a series of logical instructions that a processor (such as a computer CPU) can interpret. Computer software can be composed of any language or expression, containing a series of instructions that allow the processor to perform specific functions, which may also need to be translated into other languages, codes or symbols.

[0112] Computer software is usually written in a specific computer language, and the language compiler converts the source program into machine language code that can be executed by an operating system or machine. The writing of computer software may involve other program components, class libraries, etc., which are used to provide support for the invention to complete the specified functions.

[0113] The computer system 400 includes: a computer 402, input devices such as a keyboard 404, a mouse 406 or an external memory 408 (such as a CD, DVD, USB flash drive, etc.), an output device 410, a network connection device (a wide area network connection device 412, a local area network connection device), or other data devices (such as video devices, image acquisition devices, laser radars, data acquisition devices, data preprocessing devices, etc.). The computer 402 includes: a processor 422, a ROM 424, a RAM 426, a network interface 428 for connecting to an external network connection device, and an input and output interface 430 for connecting to input devices, output devices and other data devices, data storage devices. The various parts of the computer 402 are connected through a system bus 436 to maintain smooth information and data exchange between the various parts. The computer system 400 described here is schematic, and other configurations can also accomplish the functions of this patent.

[0114] The above shows and describes the basic principles, main features and advantages of the present invention. Those skilled in the art should understand that the above embodiments do not limit the protection scope of the present invention in any form, and all technical solutions obtained by equivalent replacement and the like fall within the protection scope of the present invention. The parts not involved in the present invention are the same as the prior art or can be implemented by the prior art.

Claims

1. A method for fast detection of lines, planes and hyperplanes in image and visual space, characterized in that: In the data point cloud model, in the n-dimensional space {F1,F2,…,F n }, the data point cloud consists of N data points, each of which is represented by: F(j) = [F1(j), F2(j), …, F n (j)], j = 1 ... N; the method uses a straight line, plane or hyperplane in the data space To characterize, where: β1≥0, d is a parameter specified by the user, {β1,β2,…,β n+1 } is a parameter, n corresponds to the dimension of the data, and m is n-1 or n,τ i is a data regularization factor, which is chosen by the user; The method also pre-sets system parameters by the following steps: The first step is to set the intercept range d of the line, plane or hyperplane if the m=n model is used, where d is less than or equal to the maximum distance d between each data point in the input point cloud data and the origin of the coordinate system. max ,If the model with m=n+1 is used, the default setting is d=1; The second step is to set a voting threshold T to determine the minimum number of data points required to identify the target, and set the expected detection accuracy q, where the value of q is an integer; The third step is to create a k-byte tree, set the center position parameters of the k-byte tree root node and the half-length of each dimension; The fourth step is to convert each data point into parameter space; The fifth step is to calculate the distance from the root node to any data point F(j). Test formula Whether it is satisfied, if so, the accumulated votes of the root node will be increased; Step 6: If the number of votes for the root node is less than the threshold T, there is no target that meets the conditions in the system and the system exits. If the number of votes is greater than or equal to the threshold T, a 2-threshold of the root node that meets the condition b1=1 is generated. k-1 Child nodes, each newly generated child node is equipped with a vector b = [b1, ..., b k ]; Step 7: Use all N data points to vote for the newly generated child nodes; Step 8: Check the number of votes of the child node. If it is less than the threshold T, stop processing the child node. If the level of the child node has reached the qth layer, output the parameter information of the child node, which corresponds to the target detected in the system, and stop analyzing the child node. Step 9: If the number of votes of a child node is greater than or equal to the threshold T, generate the next layer of 2 k child nodes, and equip each newly generated child node with a vector b=[b1,…,b k ]; Test each newly generated child node to see if it satisfies the formula If not satisfied, abandon the child node; In the tenth step, iteratively repeat steps seven to nine until no new child nodes are generated in the system and all child nodes have been processed.

2. A method for rapid detection of lines, planes and hyperplanes in images and visual space according to claim 1, characterized in that: In the method, only certain specific subsets are detected, including: detecting the n+1 =0, or any β i ≥0 target, or β i A target within a specific range of values.

3. The method for rapid detection of lines, planes and hyperplanes in image and visual space according to claim 1, characterized in that: In the first step, if a straight line, plane or hyperplane target passing through the coordinate origin is detected, d is set to 0.

4. The method for rapid detection of lines, planes and hyperplanes in image and visual space according to claim 1, characterized in that: In the third step, if all targets in the input data need to be detected, the center position of the root node is C0 = (0, ..., 0), and its half-length in each dimension is S0 = (1, ..., 1); if only targets in certain specific areas of the input data are detected, the center position of the root node is adjusted accordingly.

5. The method for rapid detection of lines, planes and hyperplanes in images and visual space according to claim 1, characterized in that: In the fourth step, if you need to detect all the objects in the input data, use the following equation: If only targets in certain specific areas of the input data are detected, the following formula is used for derivation: W(j) is given by Sure.

6. A method for rapid detection of lines, planes and hyperplanes in images and visual spaces according to claim 1, characterized in that: In the seventh step, the voting rule is to calculate the distance from any data point F(j) to the child node: And test whether the formula is satisfied If the condition is met, the accumulated votes of the child node are increased; in this way, the votes of each child node are counted.

7. The method for rapid detection of lines, planes and hyperplanes in images and visual space according to claim 1, characterized in that: After the tenth step, all child nodes output in the eighth step are counted. If there are multiple output child nodes, possible duplicate targets are merged. If no child node is output, the system does not detect any target.

8. A computer device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, characterized in that: When the processor executes the computer-readable instructions, the rapid detection method according to any one of claims 1 to 7 is implemented.

9. A readable storage medium storing computer-readable instructions, wherein when the computer-readable instructions are executed by one or more processors, the one or more processors execute the rapid detection method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Line detection and image processing method and related devices thereof

    CN104331876A

  • Image linear-target fast-detection algorithm based on window translation

    CN108830836A