A corner point detection method and device, electronic equipment and storage medium

By setting an identifier carrying position information on the calibration plate and identifying the calibration plate area, the problem of inaccurate corner detection caused by occlusions is solved, and the accuracy of corner detection is improved even in the presence of occlusions.

CN117115266BActive Publication Date: 2026-08-04HANGZHOU HIKROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU HIKROBOT TECH CO LTD
Filing Date
2023-08-17
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

When there are obstructions on the calibration board, the image of the calibration board captured by the camera to be calibrated may be divided into multiple disconnected regions by the obstructions, making it impossible to accurately determine the row and column numbers of the corner points on the calibration board, thus affecting the accuracy of the corner point detection results.

Method used

By setting multiple identifiers in the calibration board, each identifier carries the spatial location information of the calibration board corner point with a specified positional relationship to its position, the identifiers in the calibration board area are identified to determine the spatial location information of the calibration board corner point, and calibration board areas with matching corner point distribution characteristics are merged.

Benefits of technology

It effectively reduces the impact of obstructions on corner detection results, improves the accuracy of corner detection results, and ensures that the spatial position of the calibration board corner can still be accurately determined even in multiple unconnected areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117115266B_ABST
    Figure CN117115266B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a corner point detection method and device, electronic equipment and storage medium. The method comprises: acquiring a calibration board image to be detected; determining each calibration board region in the calibration board image; for each calibration board region, identifying an identifier in the calibration board region, and determining spatial position information of each calibration board corner point included in the calibration board region according to the identification result of the identifier; and merging calibration board regions with matching corner point distribution characteristics according to the spatial position information of each calibration board corner point in each calibration board region, to obtain each target calibration board region and the spatial position information of each calibration board corner point in each target calibration board region. The method provided by the embodiments of the present application can improve the accuracy of the corner point detection result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of image processing technology, and in particular to a corner detection method, apparatus, electronic device, and storage medium. Background Technology

[0002] When using a calibration board for camera calibration, it is usually necessary to determine each calibration board corner in the image acquired by the camera to be calibrated, as well as the row and column number of each calibration board corner in its respective calibration board, through corner detection. That is, to determine which row and column the calibration board corner is in its respective calibration board, and then to determine the spatial position information of the calibration board corner based on the row and column number of each calibration board corner in its respective calibration board.

[0003] However, when there are obstructions on the calibration board, the calibration board in the image captured by the camera to be calibrated may be segmented into multiple disconnected regions by the obstructions, such as... Figure 1 As shown. Furthermore, during corner detection, it is impossible to accurately determine the row and column number of each detected calibration board corner in the calibration board, thus affecting the accuracy of the corner detection results. Summary of the Invention

[0004] The purpose of this application is to provide a corner detection method, apparatus, electronic device, and storage medium to improve the accuracy of corner detection results. The specific technical solution is as follows:

[0005] In a first aspect, embodiments of this application provide a corner detection method, the method comprising:

[0006] Acquire an image of the calibration board to be detected; wherein, the calibration board image is obtained by image acquisition of a calibration board including a pattern array with fixed spacing, and the calibration board is provided with multiple identifiers, each identifier carrying spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier;

[0007] Each calibration board region in the calibration board image is determined; wherein each calibration board region includes: multiple calibration board corner points determined in the calibration board image;

[0008] For each calibration plate area, the identifiers in the calibration plate area are identified, and based on the identification results of the identifiers, the spatial position information of each calibration plate corner point included in the calibration plate area is determined;

[0009] Based on the spatial location information of each calibration board corner point in each calibration board region, calibration board regions with matching corner point distribution characteristics are merged to obtain the spatial location information of each target calibration board region and each calibration board corner point in each target calibration board region.

[0010] Optionally, in one specific implementation, the corner point distribution feature includes at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance.

[0011] The step of merging calibration board regions with matching corner point distribution characteristics based on the spatial location information of each calibration board corner point in each calibration board region includes:

[0012] Based on the spatial location information of each calibration plate corner point in each calibration plate region, calibration plate regions with the same corner point distribution characteristics are merged.

[0013] Optionally, in one specific implementation, determining each calibration board region in the calibration board image includes:

[0014] Detect each initial corner point in the calibration board image;

[0015] Traverse each initial corner point, and when traversing each initial corner point, take that initial corner point as the starting point, and determine the candidate corner point associated with that initial corner point according to the corner point distribution rules in the calibration board, until there are no undetermined candidate corner points among the initial corner points, and obtain the candidate region;

[0016] For each candidate region, determine whether a designated calibration plate region exists; wherein, the designated calibration plate region is: a determined calibration plate region that has more than a specified number of overlapping candidate corner points with the candidate region;

[0017] If it does not exist, then the candidate region is determined as the calibration plate region;

[0018] If they exist, then the first score of the specified calibration plate area and the second score of the candidate area are determined based on the corner features of the specified calibration plate area and the candidate area, respectively; wherein, the corner features include: the number of corners and / or the uniformity of corners;

[0019] If the first score is less than the second score, then the specified calibration plate region is deleted, and the candidate region is determined as the calibration plate region;

[0020] Otherwise, delete the candidate region.

[0021] Optionally, in one specific implementation, before determining each calibration board region in the calibration board image, the method further includes:

[0022] The calibration board image is subjected to a specified enhancement process; wherein the specified enhancement process includes at least one of median filtering, Gaussian filtering, and histogram equalization.

[0023] Determining each calibration board region in the calibration board image includes:

[0024] Determine each calibration board region in the specified enhanced calibration board image.

[0025] Optionally, in one specific implementation, the calibration board is a checkerboard calibration board, and the white and / or black checkerboard squares in the checkerboard calibration board are provided with identifiers;

[0026] For each calibration board region, identifying the identifiers within that region and determining the spatial location information of each calibration board corner point within that region based on the identification results includes:

[0027] For each calibration board area, identify each identifier in the calibration board area to obtain the spatial position information of each first calibration board corner point; wherein, the first calibration board corner point is: the calibration board corner point in the calibration board area that has a specified positional relationship with the position of the identifier;

[0028] For each calibration plate area, the spatial position information of each second calibration plate corner point is obtained based on the positional relationship between the second calibration plate corner point (excluding the first calibration plate corner point) and the first calibration plate corner point in that calibration plate area, as well as the spatial position information of each first calibration plate corner point.

[0029] Secondly, embodiments of this application provide a corner detection device, the device comprising:

[0030] The image acquisition module is used to acquire an image of the calibration board to be detected; wherein, the calibration board image is obtained by image acquisition of a calibration board including a pattern array with a fixed spacing, and the calibration board is provided with multiple identifiers, each identifier carrying spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier;

[0031] The region determination module is used to determine each calibration board region in the calibration board image; wherein, each calibration board region includes: multiple calibration board corner points determined in the calibration board image;

[0032] The information determination module is used to identify the identifiers in each calibration plate area and determine the spatial location information of each calibration plate corner point included in the calibration plate area based on the identification result of the identifiers.

[0033] The region merging module is used to merge calibration board regions with matching corner distribution characteristics based on the spatial location information of each calibration board corner point in each calibration board region, so as to obtain each target calibration board region and the spatial location information of each calibration board corner point in each target calibration board region.

[0034] Optionally, in one specific implementation, the corner point distribution feature includes at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance.

[0035] The region merging module is specifically used for:

[0036] Based on the spatial location information of each calibration plate corner point in each calibration plate region, calibration plate regions with the same corner point distribution characteristics are merged.

[0037] Optionally, in one specific implementation, the region determination module is specifically used for:

[0038] Detect each initial corner point in the calibration board image;

[0039] Traverse each initial corner point, and when traversing each initial corner point, take that initial corner point as the starting point, and determine the candidate corner point associated with that initial corner point according to the corner point distribution rules in the calibration board, until there are no undetermined candidate corner points among the initial corner points, and obtain the candidate region;

[0040] For each candidate region, determine whether a designated calibration plate region exists; wherein, the designated calibration plate region is: a determined calibration plate region that has more than a specified number of overlapping candidate corner points with the candidate region;

[0041] If it does not exist, then the candidate region is determined as the calibration plate region;

[0042] If they exist, then the first score of the specified calibration plate area and the second score of the candidate area are determined based on the corner features of the specified calibration plate area and the candidate area, respectively; wherein, the corner features include: the number of corners and / or the uniformity of corners;

[0043] If the first score is less than the second score, then the specified calibration plate region is deleted, and the candidate region is determined as the calibration plate region;

[0044] Otherwise, delete the candidate region.

[0045] Optionally, in one specific implementation, the apparatus further includes:

[0046] An image processing module is used to perform specified enhancement processing on the calibration board image; wherein the specified enhancement processing includes at least one of median filtering, Gaussian filtering, and histogram equalization.

[0047] The region determination module is specifically used for:

[0048] Determine each calibration board region in the specified enhanced calibration board image.

[0049] Optionally, in one specific implementation, the calibration board is a checkerboard calibration board, and the white and / or black checkerboard squares in the checkerboard calibration board are provided with identifiers;

[0050] The information determination module is specifically used for:

[0051] For each calibration board area, identify each identifier in the calibration board area to obtain the spatial position information of each first calibration board corner point; wherein, the first calibration board corner point is: the calibration board corner point in the calibration board area that has a specified positional relationship with the position of the identifier;

[0052] For each calibration plate area, the spatial position information of each second calibration plate corner point is obtained based on the positional relationship between the second calibration plate corner point (excluding the first calibration plate corner point) and the first calibration plate corner point in that calibration plate area, as well as the spatial position information of each first calibration plate corner point.

[0053] Thirdly, embodiments of this application provide an electronic device, including:

[0054] Memory, used to store computer programs;

[0055] The processor, when executing a program stored in memory, implements any of the corner detection methods described above.

[0056] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the corner detection methods described above.

[0057] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute any of the corner detection methods described above.

[0058] Beneficial effects of the embodiments in this application:

[0059] As can be seen from the above, by applying the solution provided in the embodiments of this application, since the calibration board can be equipped with multiple identifiers, and each identifier can carry the spatial position information of the calibration board corner points that have a specified positional relationship with the location of the identifier, regardless of whether the calibration board in the calibration board image is divided into multiple disconnected calibration board regions by occlusions, the spatial position information of the calibration board corner points that have a specified positional relationship with the identifiers can be determined by identifying the identifiers in the calibration board regions, thereby determining the spatial position information of each calibration board corner point included in each calibration board region; by merging calibration board regions with matching corner point distribution characteristics, multiple disconnected calibration board regions belonging to the same calibration board can be merged into a single target calibration board region. Therefore, by applying the solution provided in the embodiments of this application, the influence of occlusions on corner point detection results can be reduced, and the accuracy of corner point detection results can be improved. Attached Figure Description

[0060] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0061] Figure 1 A schematic diagram of a calibration plate image provided in an embodiment of this application;

[0062] Figure 2(a) is a schematic flowchart of a corner detection method provided in an embodiment of this application;

[0063] Figure 2(b) is a schematic diagram of another calibration plate image provided in an embodiment of this application;

[0064] Figure 3 This is another flowchart illustrating a corner detection method provided in an embodiment of this application;

[0065] Figure 4 This is another flowchart illustrating a corner detection method provided in an embodiment of this application;

[0066] Figure 5 A schematic diagram of the initial corner detection result of a calibration board image provided in an embodiment of this application;

[0067] Figures 6(a)-6(g) A schematic diagram illustrating a process for determining candidate corner points associated with an initial corner point using a growth method, as provided in an embodiment of this application;

[0068] Figure 7 This is a schematic diagram of the structure of a corner detection device provided in an embodiment of this application;

[0069] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0070] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.

[0071] When there are obstructions on the calibration board, the calibration board in the image captured by the camera to be calibrated may be segmented into multiple disconnected regions by the obstructions. Consequently, during corner detection, it is impossible to accurately determine the row and column number of each detected calibration board corner within its respective calibration board, thus affecting the accuracy of the corner detection results.

[0072] To address the aforementioned issues, this application provides a corner detection method.

[0073] This method is applicable to various calibration board corner detection scenarios, such as scenarios where corner detection is performed on calibration board images obscured by occlusions, scenarios where corner detection is performed on calibration board images with reflections or noise, scenarios where corner detection is performed on calibration images containing multiple calibration boards, and so on. The application scenarios of this application embodiment are not specifically limited.

[0074] Furthermore, the executing entity of this method can be any electronic device capable of acquiring and processing data such as images. This electronic device can be an image acquisition device with data processing capabilities, or any device that has a communication connection with the image acquisition device and can process data, such as a mobile phone, laptop, or desktop computer. Moreover, this electronic device can be a standalone device or a cluster of multiple electronic devices. This application does not specifically limit this aspect; the following term will be "electronic device."

[0075] The image acquisition device mentioned above can be any type of device with image acquisition function, such as a camera, camcorder, depth camera, monocular camera, or multi-view camera. This application does not specifically limit its capabilities. Furthermore, when the image acquisition device has data processing capabilities, it can also serve as the execution subject of this method.

[0076] This application provides a corner detection method, which may include the following steps:

[0077] Acquire an image of the calibration board to be detected; wherein, the calibration board image is obtained by image acquisition of a calibration board including a pattern array with fixed spacing, and the calibration board is provided with multiple identifiers, each identifier carrying spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier;

[0078] Each calibration board region in the calibration board image is determined; wherein each calibration board region includes: multiple calibration board corner points determined in the calibration board image;

[0079] For each calibration plate area, the identifiers in the calibration plate area are identified, and based on the identification results of the identifiers, the spatial position information of each calibration plate corner point included in the calibration plate area is determined;

[0080] Based on the spatial location information of each calibration board corner point in each calibration board region, calibration board regions with matching corner point distribution characteristics are merged to obtain the spatial location information of each target calibration board region and each calibration board corner point in each target calibration board region.

[0081] As can be seen from the above, by applying the solution provided in the embodiments of this application, since the calibration board can be equipped with multiple identifiers, and each identifier can carry the spatial position information of the calibration board corner points that have a specified positional relationship with the location of the identifier, regardless of whether the calibration board in the calibration board image is divided into multiple disconnected calibration board regions by occlusions, the spatial position information of the calibration board corner points that have a specified positional relationship with the identifiers can be determined by identifying the identifiers in the calibration board regions, thereby determining the spatial position information of each calibration board corner point included in each calibration board region; by merging calibration board regions with matching corner point distribution characteristics, multiple disconnected calibration board regions belonging to the same calibration board can be merged into a single target calibration board region. Therefore, by applying the solution provided in the embodiments of this application, the influence of occlusions on corner point detection results can be reduced, and the accuracy of corner point detection results can be improved.

[0082] The corner detection method provided in this application will now be described in detail with reference to the accompanying drawings.

[0083] Figure 2(a) is a flowchart of a corner detection method provided in an embodiment of this application. As shown in Figure 2(a), the method may include the following steps S201-S204.

[0084] S201: Acquire the image of the calibration board to be tested.

[0085] The calibration board image is obtained by image acquisition of a calibration board containing a pattern array with fixed spacing. The calibration board has multiple identifiers; each identifier carries the spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier.

[0086] The calibration board can be set with multiple identifiers and a pattern array with fixed spacing. Each identifier can carry the spatial position information of the calibration board corner point that has a specified positional relationship with the position of the identifier. By acquiring images of the calibration board, an image of the calibration board can be obtained. When performing corner point detection, the image of the calibration board to be detected can be acquired first.

[0087] The calibration board can be a checkerboard calibration board, a dot calibration board, etc., and the identifier can be any pattern or symbol that can store the spatial position information of corner points, such as a QR code. This application does not specifically limit the specific form of the calibration board and the identifier. The identifier can be set in a designated pattern within the pattern array of the calibration board, or it can be set in a designated area on the calibration board; this application also does not specifically limit this aspect.

[0088] For example, such as Figure 1 As shown, the calibration board can be a checkerboard calibration board. The pattern in the pattern array can include black checkerboard and white checkerboard. The corner point of the calibration board can be the common vertex of two black checkerboard and two white checkerboard. The identifier can be a QR code set in each white checkerboard of the calibration board, and each QR code can carry the spatial position information of the lower right corner of the calibration board located at the position of the QR code.

[0089] For example, as shown in Figure 2(b), the calibration board can be a checkerboard calibration board. The pattern in the pattern array can include black checkerboard and white checkerboard. The corner point of the calibration board can be the common vertex of two black checkerboard and two white checkerboard. The identifier can be a QR code that is equidistantly distributed in the calibration board. Each QR code can carry the spatial position information of the upper right corner of the calibration board located at the position of the QR code.

[0090] The aforementioned spatial location information may include the row and column index of the calibration board corner point in the calibration board, the ID of the calibration board corner point in the calibration board, etc. This application embodiment does not specifically limit this.

[0091] S202: Determine each calibration plate region in the calibration plate image.

[0092] Each calibration plate region includes multiple calibration plate corner points determined in the calibration plate image.

[0093] In the calibration board image, the connected region containing the calibration board can be considered as the calibration board region. For example, Figure 1 Region 1 and Region 2 are... Figure 1 The image shows two calibration plate regions. After acquiring the calibration plate image to be detected, each calibration plate region in the calibration plate image can be determined.

[0094] Alternatively, in one specific implementation, such as Figure 3 As shown in the embodiment of this application, a corner detection method may further include the following step S301.

[0095] S301: Perform specified enhancement processing on the calibration board image.

[0096] The specified enhancement processing includes at least one of median filtering, Gaussian filtering, and histogram equalization.

[0097] Before determining the individual calibration board regions in the calibration board image, the calibration board image can be subjected to specific enhancement processing to reduce noise and improve image quality.

[0098] Accordingly, in this specific implementation, step S202: determining each calibration board region in the calibration board image may include the following step S302.

[0099] S302: Determine each calibration board region in the specified enhanced calibration board image.

[0100] After performing specified enhancement processing on the calibration board image, each calibration board region in the enhanced calibration board image can be determined.

[0101] Since performing specified enhancement processing on the calibration board image can reduce noise in the calibration board image and improve the image quality of the calibration board image, determining each calibration board region based on the calibration board image after specified enhancement processing can improve the accuracy of the determined calibration board region.

[0102] Alternatively, in one specific implementation, such as Figure 4 As shown, step S202 above: determining each calibration board region in the calibration board image, may include the following steps S401-S407:

[0103] S401: Detect each initial corner point in the calibration board image.

[0104] When determining each calibration plate region in the calibration plate image, the corner points in the calibration plate image can be detected first using existing corner detection algorithms to obtain each initial corner point in the calibration plate image.

[0105] The aforementioned corner detection algorithm can be any algorithm capable of detecting corners in calibration board images, such as the Harris corner detection algorithm or a corner detection algorithm based on a filter kernel and a sliding window. This application does not specifically limit the specific algorithms used in this embodiment.

[0106] Optionally, when the calibration board is a checkerboard calibration board, the corner detection algorithm can be a checkerboard corner detection algorithm that utilizes the alternating black and white squares of the checkerboard.

[0107] S402: Traverse each initial corner point, and when traversing each initial corner point, take that initial corner point as the starting point, and determine the candidate corner point associated with that initial corner point according to the corner point distribution rules in the calibration board, until there are no undetermined candidate corner points among the initial corner points, and obtain the candidate region.

[0108] When detecting initial corner points in the calibration board image, there may be instances where points other than calibration board corner points are mistakenly detected as calibration board corner points, resulting in some falsely detected non-true corner points among the initial corner points. For example, ... Figure 5 As shown, the points in the areas indicated by numbers 1-5 are the falsely detected non-true corner points. Since the calibration board corner points conform to certain corner point distribution rules compared to the false corner points, in order to remove the false corner points from each initial corner point and determine each calibration board corner point in the calibration board image, after determining each initial corner point in the calibration board image, we can traverse each initial corner point. When traversing each initial corner point, starting from that initial corner point, according to the corner point distribution rules in the calibration board, we determine the candidate corner points associated with that initial corner point, until there are no undetermined candidate corner points among the initial corner points. This process yields the candidate region corresponding to that initial corner point.

[0109] Optionally, in one specific implementation, when traversing each initial corner point, starting from that initial corner point, according to the corner point distribution rules in the calibration board, the growth method is used to determine the candidate corner points associated with each initial corner point until there are no undetermined candidate corner points among the initial corner points, thus obtaining the candidate region.

[0110] Among them, the growth method is a commonly used method for screening calibration board corner points, which can filter out calibration board corner points from the initial corner points. Taking checkerboard corner points as an example, when traversing each initial corner point, the process of using the growth method to determine the candidate corner points associated with that initial corner point can be described as follows: Figures 6(a)-6(g)As shown in Figure 6(a), the common vertex of two black squares and two white squares can be used as a corner point in the checkerboard. For example, in Figure 6(a), the common vertex of black square a, white square b, white square c, and black square d, which is point 13, can be used as a corner point in the checkerboard. As shown in Figure 6(a), when traversing to point 13, starting from point 13, according to the corner point distribution rules in the checkerboard, using the growth method, candidate corner points associated with the initial corner point in the four directions of up, down, left, and right are determined, resulting in candidate corner points 6, 7, 8, 12, 14, 18, 19, and 20; based on the candidate corner points shown in Figure 6(a), continuing to grow downwards, candidate corner points 9, 15, and 21 are obtained as shown in Figure 6(b); based on the candidate corner points shown in Figure 6(b), continuing to grow to the left, candidate corner points 9, 15, and 21 are obtained as shown in Figure 6(c). Points 1-4; Based on the candidate corner points shown in Figure 6(c), continuing upward growth yields candidate corner points 0, 5, 11, and 17 as shown in Figure 6(d); Based on the candidate corner points shown in Figure 6(d), continuing to grow to the right yields candidate corner points 23-27 as shown in Figure 6(e); Based on the candidate corner points shown in Figure 6(e), continuing downward growth yields candidate corner points 10, 16, 22, and 28 as shown in Figure 6(f); Based on the candidate corner points shown in Figure 6(f), continuing to grow to the right yields candidate corner points 29-33 as shown in Figure 6(g). As can be seen in Figure 6(g), the corner points of the chessboard cannot continue to "grow" in the four directions of up, down, left, and right. In other words, there are no undetermined candidate corner points associated with point 13 among the initial corner points. Therefore, the corner point growth process based on point 13 can end, thus obtaining the candidate region corresponding to point 13 as shown in Figure 6(g), which includes point 13 and each candidate corner point (points 0-12 and 14-33) associated with point 13.

[0111] S403: For each candidate region, determine whether a specified calibration plate region exists.

[0112] The designated calibration plate area is defined as: the determined calibration plate area that has more than a specified number of overlapping candidate corner points with the candidate area.

[0113] For each candidate region, a known calibration plate region that has more than a specified number of overlapping candidate corner points can be used as the designated calibration plate region corresponding to that candidate region. After obtaining each candidate region, it can be determined whether a designated calibration plate region exists for that candidate region.

[0114] If it does not exist, then step S404 can be executed; if it exists, then step S405 can be executed.

[0115] The specified quantity can be set by those skilled in the art according to the actual application situation, and the embodiments of this application do not impose specific limitations.

[0116] Optionally, in one specific implementation, the specified quantity can be 0. Then, for each candidate region, the determined calibration plate region that has a candidate corner point that overlaps with the candidate region can be used as the specified calibration plate region corresponding to the candidate region.

[0117] Optionally, in one specific implementation, for each candidate region, the designated calibration board region is defined as: a determined calibration board region that has more than a specified number of overlapping candidate corner points with the candidate region. Therefore, if no determined calibration board region exists, then no designated calibration board region exists. Furthermore, for each candidate region, when determining whether a designated calibration board region exists, it can first be determined whether a determined calibration board region exists. If not, step S404 can be directly executed to determine the candidate region as a calibration board region; if it exists, the determination of whether a designated calibration board region exists can continue.

[0118] S404: The candidate region is selected as the calibration plate region.

[0119] For each candidate region, if no specified calibration plate region exists, then the candidate region can be designated as the calibration plate region.

[0120] S405: Determine the first score of the specified calibration plate area and the second score of the candidate area based on the corner features of the specified calibration plate area and the candidate area, respectively.

[0121] The corner features include: the number of corners and / or the uniformity of corners.

[0122] For each candidate region, if a specified calibration plate region exists, the first score of the specified calibration plate region can be determined based on the corner features of the specified calibration plate region, and the second score of the candidate region can be determined based on the corner features of the candidate region.

[0123] For example, the score of a region can be determined based on the number of corner points in the region; the more corner points a region has, the higher its score.

[0124] For example, the score of a region can be determined based on the uniformity of its corner points; the more uniform the corner points, the higher the score of the region.

[0125] S406: If the first score is less than the second score, delete the specified calibration plate region and determine the candidate region as the calibration plate region.

[0126] If the first score is less than the second score, it means that the candidate region is better than the specified calibration plate region. Therefore, the specified calibration plate region can be deleted, and the candidate region can be determined as the calibration plate region.

[0127] S407: If the first score is not less than the second score, then delete the candidate region.

[0128] If the first score is not less than the second score, it means that the candidate region is not better than the specified calibration plate region. Therefore, the specified calibration plate region can be retained and the candidate region can be deleted.

[0129] Based on this, by applying this specific embodiment, each calibration board region in the calibration board image can be determined, and the number of calibration board corner points that overlap between any two calibration board regions is no greater than a specified number.

[0130] S203: For each calibration plate area, identify the identifier in the calibration plate area, and determine the spatial location information of each calibration plate corner point included in the calibration plate area based on the identification result of the identifier.

[0131] Since the calibration board can be set with a pattern array with a fixed spacing, and multiple identifiers can be set in the calibration board, each identifier can carry the spatial position information of the calibration board corner point that has a specified positional relationship with the position of the identifier. Therefore, after determining each calibration board region in the calibration board image, for each calibration board region, the identifier in the calibration board region can be identified, and the spatial position information of each calibration board corner point included in the calibration board region can be determined based on the identification result of the identifier.

[0132] Optionally, in one specific implementation, the calibration board can be a checkerboard calibration board, and identifiers can be set in the white and / or black checkerboard squares of the checkerboard calibration board. Furthermore, step S203 above: for each calibration board area, identifying the identifiers in that calibration board area, and determining the spatial position information of each calibration board corner point included in that calibration board area based on the identification result, may include the following steps 11-12.

[0133] Step 11: For each calibration plate area, identify each identifier in the calibration plate area to obtain the spatial position information of each corner point of the first calibration plate.

[0134] The first calibration board corner point is defined as: the calibration board corner point in the calibration board region that has a specified positional relationship with the location of the identifier.

[0135] When identifiers are set in the white and / or black checkerboard grids of the checkerboard calibration board, since each identifier carries the spatial position information of the corner point of the calibration board that has a specified positional relationship with the identifier, the spatial position information of each corner point of the first calibration board can be obtained by identifying each identifier in each calibration board area.

[0136] For example, a checkerboard with identifiers set in the white checkerboard squares can be as follows: Figure 1 As shown.

[0137] Step 12: For each calibration plate area, based on the positional relationship between the second calibration plate corner point (excluding the first calibration plate corner point) and the first calibration plate corner point in the calibration plate area, and the spatial position information of each first calibration plate corner point, obtain the spatial position information of each second calibration plate corner point.

[0138] For each calibration plate area, after obtaining the spatial position information of each first calibration plate corner point, the spatial position information of each second calibration plate corner point can be obtained based on the positional relationship between the second calibration plate corner points (excluding the first calibration plate corner points) and the first calibration plate corner points in the calibration plate area, as well as the spatial position information of each first calibration plate corner point.

[0139] For example, as shown in Figure 6(a), each white checkerboard grid of the calibration board is provided with an identifier, and each identifier carries the spatial position information of the first calibration board corner point located at the upper left of the identifier, that is, the upper left of the white checkerboard grid. Furthermore, by identifying the identifier in white checkerboard grid b, the first calibration board corner point located at the upper left of white checkerboard grid b, namely point 12, can be obtained. This point is located in the 2nd row and 3rd column of the calibration board. Since point 13 is adjacent to point 12 and located directly below point 12, it can be determined that point 13 is located in the 3rd row and 3rd column of the calibration board.

[0140] S204: Based on the spatial location information of each calibration board corner point in each calibration board region, merge calibration board regions with matching corner point distribution characteristics to obtain the spatial location information of each target calibration board region and each calibration board corner point in each target calibration board region.

[0141] In the same calibration board image, the corner point distribution characteristics of calibration board regions belonging to the same calibration board are matched. Therefore, after determining the spatial location information of each calibration board corner point included in each calibration board region, the corner point distribution characteristics of that calibration board region can be determined based on the spatial location information of each calibration board corner point included in each calibration board region. By merging calibration board regions with matching corner point distribution characteristics, the spatial location information of each target calibration board region and each calibration board corner point in each target calibration board region can be obtained.

[0142] Typically, in the same calibration plate image, for multiple calibration plate regions belonging to the same calibration plate, the first slope of the straight line fitted by the corner points of each row of calibration plate is the same, the second slope of the straight line fitted by the corner points of each column of calibration plate is the same, the first distance between two adjacent corner points in each row of calibration plate is the same, and the second distance between two adjacent corner points in each column of calibration plate and the ratio of the first distance to the second distance are the same.

[0143] Therefore, in one possible implementation, the aforementioned corner point distribution characteristics may include at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance; furthermore, in step S204 above, merging calibration plate regions with matching corner point distribution characteristics based on the spatial position information of each calibration plate corner point in each calibration plate region may include the following step 21.

[0144] Step 21: Based on the spatial location information of each calibration plate corner point in each calibration plate area, merge calibration plate areas with the same corner point distribution characteristics.

[0145] In other words, when the aforementioned corner point distribution characteristics include at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance, when merging calibration plate regions with matching corner point distribution characteristics based on the spatial position information of each corner point of each calibration plate region, calibration plate regions with the same corner point distribution characteristics can be merged based on the spatial position information of each corner point of each calibration plate region.

[0146] Based on this, since the calibration board can be equipped with multiple identifiers, each identifier can carry the spatial location information of calibration board corner points with a specified positional relationship to the location of the identifier. Therefore, regardless of whether the calibration board in the calibration board image is segmented into multiple disconnected calibration board regions by occlusions, the spatial location information of calibration board corner points with a specified positional relationship to the identifiers can be determined by identifying the identifiers in the calibration board regions. This allows for the determination of the spatial location information of each calibration board corner point included in each calibration board region. By merging calibration board regions with matching corner point distribution characteristics, multiple disconnected calibration board regions belonging to the same calibration board can be merged into a single target calibration board region. Therefore, applying the solution provided in this application embodiment can reduce the impact of occlusions on corner point detection results and improve the accuracy of corner point detection results.

[0147] Corresponding to the corner detection method provided in the above embodiments of this application, this application also provides a corner detection device.

[0148] Figure 7 This is a schematic diagram of the structure of a corner detection device provided in an embodiment of this application, as shown below. Figure 7 As shown, the corner detection device may include the following modules:

[0149] Image acquisition module 701 is used to acquire an image of a calibration board to be detected; wherein, the calibration board image is obtained by image acquisition of a calibration board including a pattern array with fixed spacing, and the calibration board is provided with multiple identifiers, each identifier carrying spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier.

[0150] The region determination module 702 is used to determine each calibration board region in the calibration board image; wherein, each calibration board region includes: a plurality of calibration board corner points determined in the calibration board image;

[0151] The information determination module 703 is used to identify the identifier in each calibration plate area and determine the spatial position information of each calibration plate corner point included in the calibration plate area based on the identification result of the identifier.

[0152] The region merging module 704 is used to merge calibration plate regions with matching corner distribution characteristics based on the spatial location information of each calibration plate corner point in each calibration plate region, so as to obtain each target calibration plate region and the spatial location information of each calibration plate corner point in each target calibration plate region.

[0153] Based on this, since the calibration board can be equipped with multiple identifiers, each identifier can carry the spatial location information of calibration board corner points with a specified positional relationship to the location of the identifier. Therefore, regardless of whether the calibration board in the calibration board image is segmented into multiple disconnected calibration board regions by occlusions, the spatial location information of calibration board corner points with a specified positional relationship to the identifiers can be determined by identifying the identifiers in the calibration board regions. This allows for the determination of the spatial location information of each calibration board corner point included in each calibration board region. By merging calibration board regions with matching corner point distribution characteristics, multiple disconnected calibration board regions belonging to the same calibration board can be merged into a single target calibration board region. Therefore, applying the solution provided in this application embodiment can reduce the impact of occlusions on corner point detection results and improve the accuracy of corner point detection results.

[0154] Optionally, in one specific implementation, the corner point distribution feature includes at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance.

[0155] The region merging module is specifically used for:

[0156] Based on the spatial location information of each calibration plate corner point in each calibration plate region, calibration plate regions with the same corner point distribution characteristics are merged.

[0157] Optionally, in one specific implementation, the region determination module is specifically used for:

[0158] Detect each initial corner point in the calibration board image;

[0159] Traverse each initial corner point, and when traversing each initial corner point, take that initial corner point as the starting point, and determine the candidate corner point associated with that initial corner point according to the corner point distribution rules in the calibration board, until there are no undetermined candidate corner points among the initial corner points, and obtain the candidate region;

[0160] For each candidate region, determine whether a designated calibration plate region exists; wherein, the designated calibration plate region is: a determined calibration plate region that has more than a specified number of overlapping candidate corner points with the candidate region;

[0161] If it does not exist, then the candidate region is determined as the calibration plate region;

[0162] If they exist, then the first score of the specified calibration plate area and the second score of the candidate area are determined based on the corner features of the specified calibration plate area and the candidate area, respectively; wherein, the corner features include: the number of corners and / or the uniformity of corners;

[0163] If the first score is less than the second score, then the specified calibration plate region is deleted, and the candidate region is determined as the calibration plate region;

[0164] Otherwise, delete the candidate region.

[0165] Optionally, in one specific implementation, the apparatus further includes:

[0166] An image processing module is used to perform specified enhancement processing on the calibration board image; wherein the specified enhancement processing includes at least one of median filtering, Gaussian filtering, and histogram equalization.

[0167] The region determination module is specifically used for:

[0168] Determine each calibration board region in the specified enhanced calibration board image.

[0169] Optionally, in one specific implementation, the calibration board is a checkerboard calibration board, and the white and / or black checkerboard squares in the checkerboard calibration board are provided with identifiers;

[0170] The information determination module is specifically used for:

[0171] For each calibration board area, identify each identifier in the calibration board area to obtain the spatial position information of each first calibration board corner point; wherein, the first calibration board corner point is: the calibration board corner point in the calibration board area that has a specified positional relationship with the position of the identifier;

[0172] For each calibration plate area, the spatial position information of each second calibration plate corner point is obtained based on the positional relationship between the second calibration plate corner point (excluding the first calibration plate corner point) and the first calibration plate corner point in that calibration plate area, as well as the spatial position information of each first calibration plate corner point.

[0173] This application also provides an electronic device, such as... Figure 8 As shown, it includes:

[0174] Memory 801 is used to store computer programs;

[0175] The processor 802, when executing the program stored in the memory 801, implements the steps of any corner detection method provided in the embodiments of this application.

[0176] Furthermore, the aforementioned electronic device may also include a communication bus and / or a communication interface, with the processor 802, the communication interface, and the memory 801 communicating with each other via the communication bus.

[0177] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0178] The communication interface is used for communication between the aforementioned electronic devices and other devices.

[0179] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0180] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0181] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the corner detection methods described above.

[0182] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the corner detection methods described above.

[0183] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), etc.

[0184] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0185] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device embodiments, electronic device embodiments, computer-readable storage medium embodiments, and computer program product embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0186] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. A corner point detection method characterized by, The method includes: Acquire an image of the calibration board to be detected; wherein, the calibration board image is obtained by image acquisition of a calibration board including a pattern array with fixed spacing, and the calibration board is provided with multiple identifiers, each identifier carrying spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier; Each calibration board region in the calibration board image is determined; wherein each calibration board region includes: multiple calibration board corner points determined in the calibration board image; For each calibration plate area, the identifiers in the calibration plate area are identified, and based on the identification results of the identifiers, the spatial position information of each calibration plate corner point included in the calibration plate area is determined; Based on the spatial location information of each calibration board corner point in each calibration board region, calibration board regions with matching corner point distribution characteristics are merged to obtain the spatial location information of each target calibration board region and each calibration board corner point in each target calibration board region.

2. The method according to claim 1, characterized in that, The corner point distribution characteristics include at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance. The step of merging calibration board regions with matching corner point distribution characteristics based on the spatial location information of each calibration board corner point in each calibration board region includes: Based on the spatial location information of each calibration plate corner point in each calibration plate region, calibration plate regions with the same corner point distribution characteristics are merged.

3. The method according to claim 1, characterized in that, Determining each calibration board region in the calibration board image includes: Detect each initial corner point in the calibration board image; Traverse each initial corner point, and when traversing each initial corner point, take that initial corner point as the starting point, and determine the candidate corner point associated with that initial corner point according to the corner point distribution rules in the calibration board, until there are no undetermined candidate corner points among the initial corner points, and obtain the candidate region; For each candidate region, determine whether a designated calibration plate region exists; wherein, the designated calibration plate region is: a determined calibration plate region that has more than a specified number of overlapping candidate corner points with the candidate region; If it does not exist, then the candidate region is determined as the calibration plate region; If they exist, then the first score of the specified calibration plate area and the second score of the candidate area are determined based on the corner features of the specified calibration plate area and the candidate area, respectively; wherein, the corner features include: the number of corners and / or the uniformity of corners; If the first score is less than the second score, then the specified calibration plate region is deleted, and the candidate region is determined as the calibration plate region; Otherwise, delete the candidate region.

4. The method according to claim 1, characterized in that, Before determining each calibration plate region in the calibration plate image, the method further includes: The calibration board image is subjected to a specified enhancement process; wherein the specified enhancement process includes at least one of median filtering, Gaussian filtering, and histogram equalization. Determining each calibration board region in the calibration board image includes: Determine each calibration board region in the specified enhanced calibration board image.

5. The method according to any one of claims 1-4, characterized in that, The calibration board is a checkerboard calibration board, and the white and / or black checkerboard squares in the checkerboard calibration board are provided with identifiers; For each calibration board region, identifying the identifiers within that region and determining the spatial location information of each calibration board corner point within that region based on the identification results includes: For each calibration board area, identify each identifier in the calibration board area to obtain the spatial position information of each first calibration board corner point; wherein, the first calibration board corner point is: the calibration board corner point in the calibration board area that has a specified positional relationship with the position of the identifier; For each calibration plate area, the spatial position information of each second calibration plate corner point is obtained based on the positional relationship between the second calibration plate corner point (excluding the first calibration plate corner point) and the first calibration plate corner point in that calibration plate area, as well as the spatial position information of each first calibration plate corner point.

6. A corner detection device, characterized in that, The device includes: The image acquisition module is used to acquire an image of the calibration board to be detected; wherein, the calibration board image is obtained by image acquisition of a calibration board including a pattern array with a fixed spacing, and the calibration board is provided with multiple identifiers, each identifier carrying spatial position information of a corner point of the calibration board that has a specified positional relationship with the position of the identifier; The region determination module is used to determine each calibration board region in the calibration board image; wherein, each calibration board region includes: multiple calibration board corner points determined in the calibration board image; The information determination module is used to identify the identifiers in each calibration plate area and determine the spatial location information of each calibration plate corner point included in the calibration plate area based on the identification result of the identifiers. The region merging module is used to merge calibration board regions with matching corner distribution characteristics based on the spatial location information of each calibration board corner point in each calibration board region, so as to obtain each target calibration board region and the spatial location information of each calibration board corner point in each target calibration board region.

7. The apparatus according to claim 6, characterized in that, The corner point distribution characteristics include at least one of the following: the first slope of the straight line fitted by the corner points of each row of calibration plates, the second slope of the straight line fitted by the corner points of each column of calibration plates, the first distance between two adjacent corner points of calibration plates in each row of calibration plates, the second distance between two adjacent corner points of calibration plates in each column of calibration plates, and the ratio of the first distance to the second distance. The region merging module is specifically used for: Based on the spatial location information of each calibration plate corner point in each calibration plate region, calibration plate regions with the same corner point distribution characteristics are merged.

8. The apparatus according to claim 6, characterized in that, The region determination module is specifically used for: Detect each initial corner point in the calibration board image; Traverse each initial corner point, and when traversing each initial corner point, take that initial corner point as the starting point, and determine the candidate corner point associated with that initial corner point according to the corner point distribution rules in the calibration board, until there are no undetermined candidate corner points among the initial corner points, and obtain the candidate region; For each candidate region, determine whether a designated calibration plate region exists; wherein, the designated calibration plate region is: a determined calibration plate region that has more than a specified number of overlapping candidate corner points with the candidate region; If it does not exist, then the candidate region is determined as the calibration plate region; If they exist, then the first score of the specified calibration plate area and the second score of the candidate area are determined based on the corner features of the specified calibration plate area and the candidate area, respectively; wherein, the corner features include: the number of corners and / or the uniformity of corners; If the first score is less than the second score, then the specified calibration plate region is deleted, and the candidate region is determined as the calibration plate region; Otherwise, delete the candidate region.

9. The apparatus according to claim 6, characterized in that, The device further includes: An image processing module is used to perform specified enhancement processing on the calibration board image; wherein the specified enhancement processing includes at least one of median filtering, Gaussian filtering, and histogram equalization. The region determination module is specifically used for: Determine each calibration board region in the specified enhanced calibration board image.

10. The apparatus according to any one of claims 6-9, characterized in that, The calibration board is a checkerboard calibration board, and the white and / or black checkerboard squares in the checkerboard calibration board are provided with identifiers; The information determination module is specifically used for: For each calibration board area, identify each identifier in the calibration board area to obtain the spatial position information of each first calibration board corner point; wherein, the first calibration board corner point is: the calibration board corner point in the calibration board area that has a specified positional relationship with the position of the identifier; For each calibration plate area, the spatial position information of each second calibration plate corner point is obtained based on the positional relationship between the second calibration plate corner point (excluding the first calibration plate corner point) and the first calibration plate corner point in that calibration plate area, as well as the spatial position information of each first calibration plate corner point.

11. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-5.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-5.