Corner point detection method and apparatus therefor
By combining edge detection and curvature estimation with non-minimum suppression and threshold filtering, the problem of low efficiency and poor accuracy in corner detection in existing technologies is solved, achieving efficient and accurate corner detection that is suitable for computer vision systems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUZHOU VOCATIONAL UNIVERSITY (SUZHOU OPEN UNIVERSITY)
- Filing Date
- 2024-03-11
- Publication Date
- 2026-04-24
AI Technical Summary
Existing corner detection methods suffer from low efficiency and poor accuracy, making it difficult to effectively extract image features in computer vision systems.
The method employs edge detection, curve tracking, curve smoothing, curvature estimation, non-minimum suppression, and curvature threshold filtering. It extracts the edge map using the Canny detector, fills the curve gaps, identifies T-shaped intersections, obtains curvature values, and performs non-minimum suppression and threshold filtering to identify corner points.
It improves the accuracy and efficiency of corner detection, enabling robust detection of corners in images under different scenarios and achieving real-time processing.
Smart Images

Figure CN118072042B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of image processing technology, and in particular to a corner detection method and apparatus. Background Technology
[0002] Corner detection is a method used in computer vision systems to extract image features, also known as feature point detection. A corner typically refers to the intersection of two edges, or more precisely, a point within a local neighborhood that has two distinct regions and boundaries in different directions. These points usually exhibit significant changes in the image gradient in two or more directions and possess sufficient repeatability and significance.
[0003] Corner detection plays a crucial role in computer vision because it helps extract key features from images for use in various tasks such as motion detection, image matching, video tracking, 3D modeling, and object recognition. Corner detection effectively reduces the amount of data required, increases computational speed, and facilitates reliable image matching, enabling real-time processing.
[0004] Therefore, how to perform corner detection has become an urgent problem to be solved. Summary of the Invention
[0005] The purpose of this invention is to provide a corner detection method and apparatus.
[0006] To achieve one of the aforementioned objectives, an embodiment of the present invention provides a corner detection method, comprising the following steps: receiving an image to be processed I, generating a corner set S = Φ, performing edge detection processing on the image to be processed I and obtaining an edge mapping map, and extracting M curves c1, c2, ..., c from the edge mapping map. M M is a natural number; the initial value of j is 1. The first process continues until j > M. The first process includes filling the curve c. j The gap on the curve c j Determine several T-shaped intersection points and add them to the corner point set S for curve c. j After smoothing, the smoothed curve c j Represented as a point set Get point set The curvature values of all points are used to identify several corner points, which are then added to the corner point set S, and the value of j is incremented by 1; where N j is a natural number; the corner points in the corner point set S are the corner points detected from the image I to be processed.
[0007] As a further improvement of one embodiment of the present invention, the step of "detecting edges and processing the image to be processed I and obtaining an edge mapping map" specifically includes: using a Canny detector to detect edges and process the image to be processed I and obtain an edge mapping map.
[0008] As a further improvement to one embodiment of the present invention, the "acquiring point set" The curvature value of all points specifically includes: the initial value of i is 1, and the second process continues until i > N. j The second process includes: obtaining point p i Support areas Point p i curvature value Among them, L b and L f All numbers are natural numbers, the symbol |·| represents the Euclidean distance between two points, and L is the radius of the support region. If L > 0, the point... The x-coordinate is point The ordinate is point The x-coordinate is point The ordinate is
[0009] As a further improvement of one embodiment of the present invention, the "identification of several corner points based on the curvature values of all points" specifically includes: processing the curvature values of all points based on the non-minimum suppression method and threshold filtering, and identifying several corner points.
[0010] As a further improvement to one embodiment of the present invention, L = 5.
[0011] This invention also provides a corner detection device, comprising the following modules: an image receiving module, used to receive an image to be processed I, generate a corner set S = Φ, perform edge detection processing on the image to be processed I and obtain an edge mapping map, and extract M curves c1, c2, ..., c from the edge mapping map. M M is a natural number; the detection module, with an initial value of 1 for j, continuously performs the first process until j > M. The first process includes: filling the curve c. i The gap on the curve c j Determine several T-shaped intersection points and add them to the corner point set S for curve c. j After smoothing, the smoothed curve c j Represented as a point set Get point set The curvature values of all points are used to identify several corner points, which are then added to the corner point set S, and the value of j is incremented by 1; where N j is a natural number; the corner points in the corner point set S are the corner points detected from the image I to be processed.
[0012] As a further improvement of one embodiment of the present invention, the image receiving module is further configured to: use a Canny detector to perform edge detection processing on the image to be processed I and obtain an edge mapping map.
[0013] As a further improvement of one embodiment of the present invention, the detection module is further configured to: initially set i to 1, and continue performing the second processing until i > N. j The second process includes: obtaining point p i Support areas Point p i curvature value Among them, L b and L f All numbers are natural numbers, the symbol |·| represents the Euclidean distance between two points, and L is the radius of the support region. If L > 0, the point... The x-coordinate is point The ordinate is point The x-coordinate is point The ordinate is
[0014] As a further improvement of one embodiment of the present invention, the detection module is also used to: process the curvature values of all points based on the non-minimum suppression method and threshold filtering, and identify several corner points.
[0015] As a further improvement to one embodiment of the present invention, L = 5.
[0016] Compared to existing technologies, the technical advantages of this invention are as follows: This invention provides a corner detection method and apparatus. The corner detection method includes the following steps: receiving an image to be processed, generating a corner set, performing edge detection processing on the image to be processed and obtaining an edge mapping map, extracting M curves from the edge mapping map; performing the following processing on each curve to fill gaps on the curve, determining several T-shaped intersections on the curve, adding the several T-shaped intersections to the corner set S, smoothing the curve, obtaining the curvature values of all points on the curve, identifying several corners based on the curvature values of all points, and adding the several corners to the corner set; the corners in the corner set are the corners detected from the image to be processed. Thus, a corner detection method is implemented. Attached Figure Description
[0017] Figure 1 , Figure 2A , Figure 2B , Figure 3A and Figure 3B This is a schematic diagram of the corner detection method in an embodiment of the present invention;
[0018] Figure 4 These are comparative diagrams of several experiments in the embodiments of the present invention;
[0019] Figure 5 and Figure 6 This is a comparison chart of the results of several experiments in the embodiments of the present invention;
[0020] Figure 7 This is a schematic flowchart of the corner detection method in an embodiment of the present invention. Detailed Implementation
[0021] The following description and accompanying drawings fully illustrate specific embodiments described herein to enable those skilled in the art to practice them. Some embodiments may include or substitute parts and features of other embodiments. The scope of the embodiments herein encompasses the entire scope of the claims and all available equivalents thereof. Throughout this document, the terms “first,” “second,” etc., are used only to distinguish one element from another without requiring or implying any actual relationship or order between the elements. Indeed, a first element can also be referred to as a second element, and vice versa. Furthermore, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a structure, apparatus, or device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a structure, apparatus, or device. Without further limitation, an element defined by the phrase “comprising one…” does not exclude the presence of other identical elements in the structure, apparatus, or device that includes said element. The various embodiments described herein are presented in a progressive manner, with each embodiment focusing on its differences from other embodiments; similar or identical parts between embodiments can be referred to interchangeably.
[0022] The terms "longitudinal," "lateral," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer" used in this document to indicate orientation or positional relationships are based on the orientation or positional relationships shown in the accompanying drawings and are used only for the convenience of describing this document and simplifying the description. They do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as limiting the invention. In the description herein, unless otherwise specified and limited, the terms "installed," "connected," and "linked" should be interpreted broadly. For example, they can refer to mechanical or electrical connections, or internal connections between two elements, or direct connections or indirect connections through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms according to the specific circumstances.
[0023] Embodiment 1 of the present invention provides a corner detection method, such as Figure 7 As shown, it includes the following steps:
[0024] Step 701: Receive the image to be processed I, generate a corner point set S = Φ, perform edge detection processing on the image to be processed I and obtain an edge mapping map, and extract M curves c1, c2, ..., c from the edge mapping map. M M is a natural number; the main purpose of edge detection is to identify points in a digital image where brightness changes significantly. These points typically form the outline of an object; therefore, edge detection can be understood as the process of finding the outline of an object in an image. An edge is defined as the boundary of a region in an image where grayscale changes drastically. This grayscale change can be reflected by the gradient of the image's grayscale distribution. Therefore, edge detection typically uses local image differentiation techniques to obtain edge detection operators, constructing an edge detection operator within a small neighborhood of a pixel in the original image to detect edges.
[0025] Step 702: The initial value of j is 1. Continue the first process until j > M. The first process includes: filling curve c. j The gap on the curve c j Determine several T-shaped intersection points and add them to the corner point set S for curve c. j After smoothing, the smoothed curve c j Represented as a point set Get point set The curvature values of all points are used to identify several corner points, which are then added to a corner point set S, with the value of j incremented by 1. The corner points in the corner point set S are those detected from the image I to be processed. Where N... j For natural numbers; here, smoothing can reduce noise.
[0026] The corner detection method in this embodiment of the invention mainly includes the following operations: edge extraction, curve tracking, curve smoothing, curvature estimation, non-minimum suppression, and curvature thresholding. First, edges are extracted from the image to be processed, I. Then, in the curve tracking operation, each edge curve is tracked from the edge map and represented by a set of connection points p. Therefore, for identified gaps with intervals smaller than a preset value, connections are made to eliminate the gaps.
[0027] In this embodiment, the step of "detecting edges and processing the image I to be processed and obtaining an edge mapping map" specifically includes: using a Canny detector to detect edges and process the image I to be processed and obtaining an edge mapping map.
[0028] Here, the Canny detector can achieve the following three goals: (1) low error rate, that is, all edges should be found and there are no false edges; (2) accurate edge localization, that is, the detected edges should be close to the real edges; (3) single edge point response, that is, for edge detection, only the result of single point thickness is returned.
[0029] The Canny detector includes the following steps: Step 1: Smooth the image using a Gaussian filter; Step 2: Calculate the gradient magnitude and edge direction; Step 3: Non-maximum suppression; Step 4: Detect and link edges using double thresholding and connectivity analysis.
[0030] In this embodiment, the "acquiring point set" The curvature values of all points specifically include:
[0031] The initial value of i is 1, and the second process continues until i > N. j The second process includes: obtaining point p i Support areas Point p i curvature value Among them, L b and L f All numbers are natural numbers, the symbol |·| represents the Euclidean distance between two points, and L is the radius of the support region. If L > 0, the point... The x-coordinate is point The ordinate is point The x-coordinate is point The ordinate is
[0032] In this embodiment, the "identification of several corner points based on the curvature values of all points" specifically includes: processing the curvature values of all points based on the non-minimum suppression method and threshold filtering, and identifying several corner points.
[0033] In this embodiment, L = 5.
[0034] The curve extracted from the image I to be processed can be represented as a set of points C = {p} i (x i y i Let |1=1,2,...,M}, and connect adjacent points, where M is a natural number and M≥2. There are M points on this curve, and the discrete curvature of each point needs to be measured. Therefore, a fixed radius L of the ROS (Region Of Support) is first selected. In the corner detection method of this embodiment, the radius L of the ROS is determined at the sub-pixel position, not at the original pixel position. Specifically, point p... i The ROS definition is: Among them, L b and L f All are natural numbers. and These are referred to as the backward endpoint and the forward endpoint of ROS, respectively, and satisfy the following conditions: The symbol |·| represents the measured Euclidean distance between two indicator points.
[0035] Then, based on the formula Determine the point The sub-pixel position, where μ∈[0,1) is an undetermined parameter. By limiting Calculate the value of μ and obtain The coordinates.
[0036] Finally, we obtain the subpixelated chords, i.e. like Figure 1 As shown. The length of the subpixelated chord is at point p. i The discrete curvature values measured at [location]. Curvature measurement is [measured as follows].
[0037] To put it simply, if point p i ,point and points They are all on the same straight line, sub-pixelated chords The length is close to 2L, otherwise the length is 0; it is understandable that the length of the subpixelated chord will vary with point p. i The angle at that point increases with increasing angle. For demonstration purposes, Figure 2A and Figure 2B The measured curvature of the test curve is shown. It can be understood that the discrete curvature "A" measured at the acuteest angle has the lowest curvature. Figure 2A In the diagram, point B is the starting point, and the direction of curve tracking is indicated by arrows; Figure 2B Display the curvature values obtained from actual measurements.
[0038] The corner detection performance relative to different values of L is plotted based on the F score, using different L values. Figure 3A As shown, the set of L that yields the highest F score is used as the default setting for the ROS radius. The F score reaches its maximum value when L = 5.
[0039] After completing the curvature estimation, corner points on the curve need to be identified as follows. First, non-minimum suppression is applied to h(i). Therefore, only points with local minimum curvature values are considered corner candidates. Then, a curvature threshold is used to determine "meaningful" corner points. Conversely, a high curvature threshold T may lead to more false positives (i.e., non-corner points are identified as corners). Through some experiments, the default value of the threshold T was determined to be 9.84, as shown below. Figure 3B As shown.
[0040] In the inventors' experiments, three image datasets, totaling 58 images, were used to evaluate the corner detection method in this embodiment. These images were either binary or grayscale images, and were composed of various image and vision tasks. The inventors meticulously and manually labeled the actual corners of each image. To verify the robustness of the proposed corner detection method under different conditions (e.g., transformation, noise, JPEG compression, etc.), each of the 58 original images was processed by applying three types of transformations (e.g., rotation, scaling, and merging) and two types of degradation under different parameter settings. As a result, 58 original images and 24,534 transformed (or degraded) images were generated and used for performance evaluation.
[0041] The inventors used four commonly used metrics for quantitative evaluation, including precision, recall, the arithmetic mean of precision and recall (APR), and the F-score, to compare the attitude angle detector with seven state-of-the-art existing angle detectors, including: GCM
[15] , MSCP
[12] , CPDA
[14] , CTAR
[17] , SuperPoint[6], NewCurvature
[18] , and DMC
[20] . Indeed, there is a trade-off between prediction and recall for each of the compared corner detection methods. The parameters of the compared detectors were optimized to provide their best F-scores, respectively.
[0042] First, a performance evaluation was performed using 58 images selected without applying any image transformation or degradation. The results were recorded in [the relevant database]. Figure 5 As can be seen, the corner detection method in this embodiment achieves optimal performance on almost all test images using all four evaluation metrics.
[0043] Then, images with different transformations (or degradations) were tested, and the test results were recorded. Figure 6 In this model, the performance of each corner detector is measured based on its F-score. It can be seen that the corner detection method in this embodiment consistently produces the highest F-score in most types of imposed image transformations (or degradations), demonstrating its robustness across different scenarios. Finally, the sub-evaluation results obtained using binary and grayscale images are shown below. Figure 4 As shown. In comparison, the corner detection method of this embodiment provides superior performance compared to existing corner detectors.
[0044] Embodiment 2 of the present invention provides a corner detection device, comprising the following modules:
[0045] The image receiving module is used to receive the image to be processed I, generate a corner point set S = Φ, perform edge detection processing on the image to be processed I and obtain an edge mapping map, and extract M curves c1, c2, ..., c3 from the edge mapping map. M M is a natural number;
[0046] The detection module, with an initial value of 1 for j, continuously performs the first process until j > M. The first process includes: filling the curve c. j The gap on the curve c j Determine several T-shaped intersection points and add them to the corner point set S for curve c. j After smoothing, the smoothed curve c j Represented as a point set Get point set The curvature values of all points are used to identify several corner points, which are then added to the corner point set S, and the value of j is incremented by 1; where N j is a natural number; the corner points in the corner point set S are the corner points detected from the image I to be processed.
[0047] In this embodiment, the image receiving module is further configured to: use a Canny detector to perform edge detection processing on the image to be processed I and obtain an edge mapping map.
[0048] In this embodiment, the detection module is further configured to: initialize i to 1 and continue the second processing until i > N. j The second process includes: obtaining point p i Support areas curvature value of point pi Among them, L b and L f All numbers are natural numbers, the symbol |·| represents the Euclidean distance between two points, and L is the radius of the support region. If L > 0, the point... The x-coordinate is point The ordinate is point The x-coordinate is point The ordinate is
[0049] In this embodiment, the detection module is also used to: process the curvature values of all points based on the non-minimum suppression method and threshold filtering, and identify several corner points.
[0050] In this embodiment, L = 5.
[0051] It should be noted that although the steps are described in a specific order above, it does not mean that the steps must be executed in the above specific order. In fact, some of these steps can be executed concurrently, or even in a different order, as long as the required function can be achieved.
[0052] This invention can be a system, method, and / or computer program product. A computer program product may include a readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of the invention.
[0053] A readable storage medium can be a tangible device that holds and stores instructions for use by an instruction execution device. Readable storage media can include, for example, but not limited to, electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof.
[0054] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A corner detection method, characterized in that, Includes the following steps: Receive the image to be processed (I) and generate a set of corner points. Edge detection processing is performed on the image I to be processed to obtain an edge map, and M curves are extracted from the edge map. , ... M is a natural number; The initial value of j is 1. The first process continues until j > M. The first process includes: filling the curve. The gap on the curve, and in the curve Determine several T-shaped intersection points and add them to the corner point set S for the curve. Smoothing process is performed, resulting in a smoothed curve. Represented as a point set Get point set The curvature values of all points are calculated, and several corner points are identified based on these curvature values. These corner points are then added to the corner point set S, and the value of j is incremented by 1. The value is a natural number; the corner points in the corner point set S are the corner points detected from the image I to be processed; the phrase "acquiring the point set" is used. The curvature value of all points specifically includes: the initial value of i is 1, and the second process continues until i >
1. The second process includes: obtaining points. Support areas ,point curvature value ,in, and All are natural numbers, with the sign... The distance between two points is represented by the Euclidean distance, where L is the radius of the support region. If L > 0, the distance between the two points is equal to the distance between the two points. The x-coordinate is ,point The ordinate is ,point The x-coordinate is ,point The ordinate is .
2. The corner detection method according to claim 1, characterized in that, The phrase "performing edge detection and processing on the image to be processed I and obtaining an edge mapping map" specifically includes: The Canny detector is used to detect edges in the image I to be processed and to obtain an edge mapping map.
3. The corner detection method according to claim 1, characterized in that, The phrase "identifying several corner points based on the curvature values of all points" specifically includes: The curvature values of all points are processed using a non-minimum suppression method and threshold filtering, and several corner points are identified.
4. The corner detection method according to claim 3, characterized in that, L=5。 5. A corner detection device, characterized in that, Includes the following modules: The image receiving module is used to receive the image to be processed (I) and generate a set of corner points. Edge detection processing is performed on the image I to be processed to obtain an edge map, and M curves are extracted from the edge map. , ... M is a natural number; The detection module, with an initial value of 1 for j, continuously performs the first process until j > M. The first process includes: filling the curve. The gap on the curve, and in the curve Determine several T-shaped intersection points and add them to the corner point set S for the curve. Smoothing process is performed, resulting in a smoothed curve. Represented as a point set Get point set The curvature values of all points are calculated, and several corner points are identified based on these curvature values. These corner points are then added to the corner point set S, and the value of j is incremented by 1. The value is a natural number; the corner points in the corner point set S are the corner points detected from the image I to be processed; the phrase "acquiring the point set" is used. The curvature value of all points specifically includes: the initial value of i is 1, and the second process continues until i >
1. The second process includes: obtaining points. Support areas ,point curvature value ,in, and All are natural numbers, with the sign... The distance between two points is represented by the Euclidean distance, where L is the radius of the support region. If L > 0, the distance between the two points is equal to the distance between the two points. The x-coordinate is ,point The ordinate is ,point The x-coordinate is ,point The ordinate is .
6. The corner detection device according to claim 5, characterized in that, The image receiving module is also used for: The Canny detector is used to detect edges in the image I to be processed and to obtain an edge mapping map.
7. The corner detection device according to claim 5, characterized in that, The detection module is also used for: The curvature values of all points are processed using a non-minimum suppression method and threshold filtering, and several corner points are identified.
8. The corner detection device according to claim 7, characterized in that, L=5。
Citation Information
Patent Citations
Corner point detection method based on diagonal lines of parallelogram
CN113192095A