Landmark matching method and device, computer device and storage medium
By acquiring the matching and projection of the scanned point cloud and the calibration object point cloud, and combining the calibration object image matching, the error problem of traditional binocular camera calibration algorithms when the equipment is unstable is solved, thus improving the calibration accuracy and the accuracy of the scanning results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN SHUMA ELECTRONICS TECH
- Filing Date
- 2023-03-14
- Publication Date
- 2026-04-24
AI Technical Summary
Traditional binocular camera calibration algorithms struggle to eliminate errors caused by poor device stability in complex environments and under unstable operation, resulting in inaccurate calibration parameters and necessitating recalibration.
By acquiring the matching point cloud of the scanned object and the point cloud of the calibration object, the point cloud is projected onto the camera image coordinate system and matched with the marker points on the calibration object image to determine the target matching point pair, optimize equipment instability factors, and improve calibration accuracy.
It enables the acquisition of more accurate target marker pairs under complex and unstable conditions, optimizes equipment instability factors, and improves the accuracy of scanning results.
Smart Images

Figure CN116485902B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a marker matching method, apparatus, computer device, and storage medium. Background Technology
[0002] For anyone who uses electronic devices, factory calibration is a crucial step. This includes the device's parameter values, displayed variables, and operational logic. For handheld 3D binocular scanning devices, the calibration parameters of the binocular system at the factory are particularly important.
[0003] Over the past few decades, camera calibration algorithms have been continuously updated and developed. Zhang Zhengyou improved upon traditional calibration methods such as image burning and recording, enabling simplified calibration of digital cameras through calculations simply by taking pictures with marked points. This method has been used and improved by many enthusiasts and researchers in related fields.
[0004] Based on feedback and research from many practitioners regarding Zhang Zhengyou's calibration method, it's clear that while it's simple to use and applicable to many everyday situations, such as camera image correction and 3D reconstruction where high precision isn't required, its accuracy cannot be further improved without modifying each step of the algorithm.
[0005] To achieve more complex and higher-precision binocular camera calibration, the traditional approach combines the iterative values and iterative residuals of each calibration equation step to propose a higher-precision calibration algorithm. In terms of residual optimization, it can be used to improve the iterative accuracy of the overall equation to achieve more accurate calibration.
[0006] However, complex environments and improper operation can cause slight structural movements in binocular scanning equipment. In other words, poor equipment stability often leads to slight shifts in the relative positions of the binocular camera and the scanning light source, resulting in inaccurate calibration parameters. Traditional algorithms cannot completely eliminate the errors caused by poor equipment stability, necessitating the re-matching of marker points. Summary of the Invention
[0007] Therefore, it is necessary to provide a marker matching method, apparatus, computer equipment, and storage medium to address the above-mentioned technical problems, which can obtain more accurate target marker pairs and optimize the instability factors of the equipment.
[0008] A marker matching method, the method comprising:
[0009] Acquire a scanned point cloud of a calibration object taken from the current scanning viewpoint; the calibration object contains marker points.
[0010] The calibration point cloud is matched with the scan point cloud to obtain a first matching point pair; the first matching point pair includes calibration matching points and matching scan matching points.
[0011] The scanned matching points are projected onto the camera's image coordinate system to obtain image mapping points;
[0012] Acquire an image of the calibration object obtained by the camera taking a picture of the calibration object;
[0013] The image mapping points are matched with the marker points on the calibration object image to obtain a second matching point pair; the second matching point pair includes the scanned matching point and the matching marker point on the calibration object image.
[0014] For the camera, based on the first matching point pair and the second matching point pair, a target matching point pair is determined that matches the marker point on the calibration object image with the marker point on the calibration object.
[0015] A marker matching device, the device comprising:
[0016] The scanning point cloud acquisition module is used to acquire the scanning point cloud obtained by photographing a calibration object from the current scanning viewpoint; the calibration object contains marker points;
[0017] The first matching module is used to match the calibration point cloud with the scan point cloud to obtain a first matching point pair; the first matching point pair includes calibration matching points and matching scan matching points.
[0018] The projection module is used to project the scanned matching points onto the camera's image coordinate system to obtain image mapping points;
[0019] The calibration object image acquisition module is used to acquire the calibration object image obtained by the camera taking pictures of the calibration object;
[0020] The second matching module is used to match the image mapping points with the marker points on the calibration object image to obtain a second matching point pair; the second matching point pair includes a scanned matching point and a matching marker point on the calibration object image.
[0021] The target matching module is used, for the camera, to determine, based on the first matching point pair and the second matching point pair, a target matching point pair that matches the marker point on the calibration object image with the marker point on the calibration object.
[0022] A computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of an embodiment of a marker matching method.
[0023] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of an embodiment of a marker matching method.
[0024] The aforementioned marker matching method, apparatus, computer equipment, and storage medium obtain a first successfully matched point pair by matching the calibration point cloud with the scanned point cloud. Then, based on the scanned matching points in the first matched point pair, the points are projected onto the corresponding camera, and the image mapping points are matched with the marker points on the calibration image to determine a second matched point pair. Based on the first and second matched point pairs, a target matched point pair is determined that matches the marker points on the calibration image with the marker points on the calibration object. By performing matching separately between the calibration object and the scanned point cloud, and between the scanned point cloud and the calibration image, as many point pairs as possible can be obtained. Furthermore, through multiple matchings, more accurate target marker point pairs can be obtained, optimizing the unstable factors of each device and subsequently obtaining better scanning results. Attached Figure Description
[0025] Figure 1 This is a diagram illustrating the application environment of the marker matching method in one embodiment;
[0026] Figure 2 This is a flowchart illustrating a marker matching method in one embodiment;
[0027] Figure 3 This is a schematic diagram of the features of the marker points in one embodiment;
[0028] Figure 4 This is a schematic diagram illustrating the features between three point pairs in one embodiment;
[0029] Figure 5 This is a schematic diagram of projecting scan matching points onto the camera's image coordinate system in one embodiment;
[0030] Figure 6 This is a structural block diagram of a marker matching device in one embodiment;
[0031] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0032] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0033] 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 a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0034] It should be noted that all directional indicators (such as up, down, left, right, front, back, etc.) in the embodiments of this application are only used to explain the relative positional relationship and movement of the components in a specific posture (as shown in the attached figure). If the specific posture changes, the directional indicator will also change accordingly. The connections in the embodiments of this application can be direct connections or indirect connections.
[0035] Furthermore, the use of terms such as "first" and "second" in this application is for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of the various embodiments can be combined with each other, but only on the basis of being achievable by those skilled in the art. If the combination of technical solutions is contradictory or impossible to implement, such a combination of technical solutions should be considered non-existent and not within the scope of protection claimed in this application.
[0036] The terms "first," "second," etc., used in this application may be used herein to describe various data, but such data are not limited by these terms. These terms are only used to distinguish one set of data from another. For example, without departing from the scope of this application, a first matching point pair may be referred to as a second matching point pair, and similarly, a second matching point pair may be referred to as a first matching point pair. Both the first and second matching point pairs are matching point pairs, but they are not the same matching point pair.
[0037] It is understood that the term "connection" in the following embodiments should be understood as "electrical connection," "communication connection," etc., if the connected circuits, modules, units, etc., have electrical signal or data transmission with each other.
[0038] The marker matching method provided in this application can be applied to, for example... Figure 1 In the application environment. Figure 1This is an application environment diagram of the marker matching method in one embodiment. The terminal device 110 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices. The number of cameras 120 can be two. The following embodiment uses a binocular camera as an example. The captured images are described here. A calibration object 130 is used for calibration, and its surface has preset marker points. The calibration object can be any object, such as a calibration board, a cube, a 3D head, etc. The preset marker points can be repositioned as needed. The scanned point cloud refers to the three-dimensional point cloud obtained by the binocular camera capturing images of the calibration object. The calibration object point cloud is a three-dimensional point cloud formed by scanning the calibration object with a precision instrument. The number of calibration object images is two, meaning that each camera in the binocular camera captures images of the calibration object.
[0039] In one embodiment, such as Figure 2 The diagram shown is a flowchart of a marker matching method in one embodiment, wherein:
[0040] Step 202: Obtain the scan point cloud obtained by taking a picture of the calibration object from the current scanning viewpoint; the calibration object contains marker points.
[0041] The current scanning viewpoint refers to the viewpoint used when the multiple cameras to be calibrated are scanning. The scanned point cloud represents the three-dimensional coordinates of the marker points in the current camera coordinate system. The scanned point cloud also contains the positional and vector information of the marker points in the current scanning viewpoint.
[0042] Specifically, the binocular camera captures images of the calibration object from the current scanning viewpoint and synthesizes them to obtain a scanned point cloud. The terminal device then acquires the scanned point cloud obtained from the real-time capture of the calibration object from the current scanning viewpoint.
[0043] Step 204: Match the calibration point cloud with the scan point cloud to obtain the first matching point pair; the first matching point pair includes the calibration matching point and the matching scan matching point.
[0044] The calibration point cloud refers to the 3D coordinates of the marker points calculated based on binocular vision parameters after capturing images of the calibration object using precisely calibrated left and right cameras. Similarly, the calibration point cloud contains the positional and vector information of each marker point on the calibration object. The vector information can be the normal vector of the marker point, or it can include the angle between the vectors of the marker points.
[0045] A calibration object matching point is a marker point on the calibration object that matches a marker point in the scanned point cloud. A scan matching point is a marker point in the scanned point cloud that matches a marker point on the calibration object. Therefore, the first matching point pair includes the calibration object matching point and the scan matching point that matches the calibration object matching point.
[0046] Specifically, the computer equipment uses a feature matching algorithm for marker points to match the calibrated point cloud with the scanned point cloud. When a match is successful, the first matching point pair is obtained. Feature matching algorithms that can be referenced include ICP (Iterative Closest Point) algorithm, Fast-ICP algorithm, energy minimization feature matching, and topology-based point cloud matching.
[0047] Step 206: Project the scanned matching points onto the camera's image coordinate system to obtain the image mapping points.
[0048] In this context, projection refers to projecting the point cloud onto the image coordinate system. The points projected onto the image coordinate system from the scanned matching points are called image mapping points. The image coordinate system refers to the coordinate system used when the camera captures the image. The image coordinate system is also the coordinate system corresponding to the calibration object image.
[0049] Specifically, laser triangulation is generally used to calculate the coordinates of 3D points. Specifically, the ray connecting the pixels of the left camera and the ray connecting the corresponding pixels of the right camera intersect in 3D space. The intersection point is the 3D coordinate point corresponding to the two matching pixels. Then, using bundle adjustment, all scanned matching points in the first matching point pair can be projected onto the camera's image coordinate system to obtain image mapping points. For example, projecting the scanned matching points onto the left camera's image coordinate system yields the target matching point pair corresponding to the left camera. Similarly, projecting the scanned matching points onto the right camera's image coordinate system yields the target matching point pair corresponding to the right camera.
[0050] Step 208: Obtain the image of the calibration object taken by the camera.
[0051] Specifically, for a binocular camera, the image of the calibration object is acquired by each camera taking a picture of the calibration object.
[0052] Step 210: Match the image mapping points with the marker points on the calibration object image to obtain a second matching point pair; the second matching point pair includes the scanned matching point and the matching marker point on the calibration object image.
[0053] The second matching point pair includes the scanned matching point and the marker point on the matching calibration object image.
[0054] Specifically, the terminal device matches the image mapping points with the marker points on the calibration object image, and filters out unmatched point pairs to obtain a second matching point pair.
[0055] Step 212: For the camera, based on the first matching point pair and the second matching point pair, determine the target matching point pair that matches the marker point on the calibration object image with the marker point on the calibration object.
[0056] The target matching point pair includes a matching marker point on the calibration object image and a marker point on the calibration object. In other words, the target matching point pair contains a scan matching point and a target matching point pair that matches that scan matching point.
[0057] Specifically, the first matching point pair includes a matching scan matching point and a matching calibration object matching point. The second matching point pair includes a scan matching point and a matching marker point on the calibration object image. Therefore, the terminal device can determine the matching calibration object matching point from the first matching point pair based on the scan matching point in the second matching point pair, thus obtaining a target matching point pair where the marker point on the calibration object image matches the marker point on the calibration object. Alternatively, the terminal device can determine the matching marker point on the calibration object image from the second matching point pair based on the scan matching point in the first matching point pair, thus obtaining a target matching point pair where the marker point on the calibration object image matches the marker point on the calibration object.
[0058] In this embodiment, by matching the calibration point cloud with the scan point cloud, a first matching point pair is obtained. Then, based on the scan matching points in the first matching point pair, the scan matching points are projected onto the corresponding camera, and the image mapping points are matched with the marker points on the calibration image to determine the second matching point pair. Based on the first and second matching point pairs, a target matching point pair is determined that matches the marker points on the calibration image with the marker points on the calibration object. By matching the calibration object and the scan point cloud, and the scan point cloud and the calibration image separately, as many point pairs as possible can be obtained. Furthermore, through multiple matching, more accurate target marker point pairs can be obtained, optimizing the unstable factors of the device each time and obtaining better scanning results in the future.
[0059] In one embodiment, matching the calibration point cloud with the scanned point cloud to obtain a first matching point pair includes: performing feature matching on the calibration point cloud and the scanned point cloud to obtain a point pair with successful feature matching; determining a first transformation relationship from the current scanning viewpoint to the calibration coordinate system based on the point pair with successful feature matching; mapping the marker point under the current scanning viewpoint to the calibration coordinate system based on the first transformation relationship to obtain the calibration mapping point; and matching the calibration mapping point with the marker point on the calibration object to obtain the first matching point pair.
[0060] Feature matching can acquire features such as distance, normal vector, and the angle between the normal vectors of adjacent points. The first transformation relationship is the transformation from the current scanning viewpoint to the calibration object coordinate system. The first transformation relationship can include rotation matrix, translation matrix, and transformation vector.
[0061] Specifically, the terminal device acquires the features of marker points in the marker point cloud and the features of marker points in the scanned point cloud, and performs feature matching. When a match is successful, a point pair with successfully matched features is obtained. At this point, there are many point pairs with successfully matched features, including many noisy points. Several non-collinear point pairs can then be selected from the point pairs with successfully matched features, and the first transformation relationship from the current scanning viewpoint to the calibration object coordinate system can be calculated. Based on the first transformation relationship, the terminal device can map all marker points under the current scanning viewpoint to the calibration object coordinate system, that is, transform the coordinates of all marker points under the current scanning viewpoint to the coordinates under the calibration object coordinate system, obtaining the calibration object mapped points. The terminal device matches the calibration object mapped points with the marker points on the calibration object; when a match is successful, the first successfully matched point pair is obtained.
[0062] In this embodiment, feature matching is performed on the calibration point cloud and the scanned point cloud to obtain point pairs with successfully matched features. This means that a screening process is performed during the matching process to remove some noisy points with mismatched features. Based on the point pairs with successfully matched features, a first transformation relationship is determined, and mapping is performed again to map the marker points in the current viewpoint to the calibration coordinate system. The mapped points of the calibration object are matched with the marker points on the calibration object to obtain the first successfully matched point pairs. This allows previously unmatched marker points to be matched with their corresponding marker points, retaining as many valid points as possible. Furthermore, because the matching is performed through the first transformation relationship, more accurate matching point pairs are obtained, which greatly improves the accuracy of subsequent scanning.
[0063] In one embodiment, matching the calibrated object mapping points with the marker points on the calibrated object to obtain a first matching point pair includes:
[0064] Match the mapping points of the calibration object with the marker points on the calibration object to obtain valid point pairs; valid point pairs include the marker points under the current scanning view and the matching marker points on the calibration object.
[0065] The second transformation relationship from the current scanning viewpoint to the calibration object coordinate system is determined based on the effective point pairs;
[0066] Based on the second transformation relationship, the marker point under the current scanning view is mapped to the coordinate system of the calibration object. When the mapped marker point matches the marker point on the calibration object, the first matching point pair is obtained.
[0067] The valid point pairs include a marker point at the current scanning viewpoint and a marker point on a calibration object that matches the marker point at the current scanning viewpoint. The values calculated by the second transformation relationship may differ from those calculated by the first transformation relationship. The first transformation relationship is calculated based on points with successfully matched features; the second transformation relationship is calculated based on valid point pairs. The second transformation relationship provides more accurate values compared to the first transformation relationship.
[0068] Specifically, the terminal device matches the mapped points of the calibration object with the marker points on the calibration object. When a match is successful, a valid point pair is obtained. The terminal device uses the Singular Value Decomposition (SVD) algorithm to match the mapped points of the calibration object with the marker points on the calibration object, obtaining valid point pairs. Based on the position and orientation information of the valid point pairs, the terminal device calculates a second transformation relationship from the current scanning viewpoint to the calibration object coordinate system. Based on the second transformation relationship, the terminal device maps the marker points from the current viewpoint to the calibration object coordinate system. The position of the mapped marker points in the calibration object coordinate system is more accurate than that mapped based on the first transformation relationship. Furthermore, matching the mapped marker points with the marker points on the calibration object yields a larger number of first-match point pairs.
[0069] In this embodiment, by setting appropriate matching conditions and processes, the accuracy of matching point pairs can be improved while maintaining the number of point pairs.
[0070] In one embodiment, based on a second transformation relationship, the marker points under the current scanning view are mapped to the coordinate system of the calibration object. When the mapped marker points match the marker points on the calibration object, a first matching point pair is obtained, including:
[0071] Based on the second transformation relationship, the marker points under the current scanning view are mapped to the calibration object coordinate system, and the mapped marker points on the same plane are retained;
[0072] When a mapped marker point on the same plane matches a marker point on the calibration object, the first matching point pair is obtained.
[0073] Specifically, after matching the marker points on the calibration object with the marker points under the current scanning viewpoint, and noting that the marker points are almost all located on the calibration object plane, the marker points under the current scanning viewpoint after rotation and translation should also be very close to this calibration object plane. Based on the second transformation relationship, the terminal device maps the marker points under the current scanning viewpoint to the calibration object coordinate system, discarding the mapped marker points not on the calibration object plane and retaining the mapped marker points on the same plane. The mapped marker points on the same plane are then matched with the marker points on the calibration object. When a mapped marker point on the same plane matches a marker point on the calibration object, the terminal device obtains the first matching point pair.
[0074] In this embodiment, by filtering the mapped marker points and eliminating noise points that are not on the same plane, the obtained marker point pairs are more accurate, and the subsequent camera calibration is also more accurate.
[0075] In one embodiment, feature matching is performed between the calibration point cloud and the scanned point cloud to obtain point pairs with successfully matched features, including:
[0076] Obtain the normal vector of the point cloud of the calibration object and the first distance between each point in the point cloud of the calibration board and its adjacent points;
[0077] Determine the normal vector of each point in the scanned point cloud and the second distance between each point and its neighboring points;
[0078] The normal vector of the calibration point cloud is matched with the normal vector of each point in the scanned point cloud, and the first distance is matched with the second distance. When both the normal vector and the distance are successfully matched, a point pair with successfully matched features is obtained.
[0079] Specifically, the first distance is the distance between each point in the index point cloud and its adjacent points. The second distance refers to the distance between each point in the scanned point cloud and its adjacent points. The features of the calibration point cloud may include the normal vector of the calibration point cloud and the distance between each point in the calibration point cloud and its adjacent points; it may also include the angle between the normal vectors of each point in the calibration point cloud and its adjacent points.
[0080] The normal vectors of the calibration point cloud are matched with the normal vectors in the scanned point cloud. This matching may include matching the values of the normal vectors, or matching the angles between the normal vectors of the matched point and its neighboring points. Generally, the normal vectors of all points in the calibration point cloud are identical. Optionally, the normal vectors of the points in the calibration point cloud may be different, in which case the normal vector of the calibration point cloud is the normal vector of each point. The normal vectors of the calibration point cloud and the distances between each point in the calibration point cloud and its neighboring points are pre-set and stored in the terminal device.
[0081] In this embodiment, the normal vector of the calibration point cloud is matched with the normal vector of each point in the scanned point cloud, and the first distance and the second distance are matched. When both are successfully matched, a point pair with successfully matched features is obtained, which can quickly filter out point pairs that meet the preliminary features.
[0082] In one embodiment, determining a first transformation relationship from the current scanning viewpoint to the calibration object coordinate system based on successfully matched point pairs includes:
[0083] Select three feature-matching point pairs from the feature-matching point pairs;
[0084] From three feature-matched point pairs, identify three marker points located in the same point cloud. When the three marker points located in the same point cloud are not collinear, determine whether the three feature-matched point pairs satisfy the congruent triangle condition.
[0085] When three feature-matched point pairs satisfy the condition of congruent triangles, the first transformation relationship from the current scanning viewpoint to the calibration object coordinate system is determined based on the three feature-matched point pairs.
[0086] Specifically, from the feature-matched point pairs, the terminal device randomly selects three feature-matched point pairs. Each feature-matched point pair includes a point in the scanned point cloud and a matching marker point on the calibration object. Therefore, the three marker points in the same point cloud can be either points in the scanned point cloud or points in the calibration object's point cloud. When the three marker points in the same point cloud are not collinear, it indicates that they can form a triangle. The terminal device determines whether the triangle formed by the three points in the scanned point cloud and the triangle formed by the three points in the calibration object's point cloud are congruent. When two triangles are congruent, meaning the three feature-matched point pairs satisfy the congruent triangle condition, the first transformation relationship from the current scanning viewpoint to the calibration object's coordinate system is determined based on the three feature-matched point pairs.
[0087] In this embodiment, the point pairs with successfully matched features may also include many noisy points, i.e., non-marking points, so further screening is required; the features of three collinear points are relatively few, so non-collinear points need to be selected for the determination of congruent triangles. When the three feature-matched point pairs satisfy the condition of congruent triangles, it indicates that the accuracy of the three feature-matched point pairs is high, so the accuracy of the calculated first transformation relationship is also high.
[0088] In one embodiment, the marker matching method is applied to binocular vision calibration;
[0089] For the camera, based on the first matching point pair and the second matching point pair, target matching point pairs are determined that match the marker points on the calibration object image with the marker points on the calibration object, including:
[0090] For each camera in the dual-camera setup, based on the first and second matching point pairs, target matching point pairs are determined that match the marker points on the calibration object image with the marker points on the calibration object.
[0091] In binocular vision calibration, it is necessary to first find the mapping relationship between the marker points on the images captured by each camera and the marker points on the calibration object. Traditionally, binocular vision calibration can be performed using a checkerboard pattern on the calibration object. However, checkerboard calibration does not meet the needs of customization. Therefore, setting marker points on the surface of the calibration object can improve the flexibility of calibration.
[0092] Specifically, for each of the two cameras, the terminal device projects the scanned matching points onto the image coordinate system of each camera to obtain image mapping points. These image mapping points are then matched with marker points on the calibration object image to obtain a second matching point pair. For that camera, the terminal device can determine matching calibration object points from the first matching point pair based on the scanned matching points in the second matching point pair, thus obtaining a target matching point pair where the marker points on the calibration object image and the marker points on the calibration object match.
[0093] In this embodiment, for each camera in the dual cameras, by combining the first matching point pair and the second matching point pair for filtering and matching, target matching point pairs that match the marker points on the calibration object image and the marker points on the calibration object are obtained, so that subsequent binocular visual calibration can be performed through the target matching point pairs to improve the accuracy of calibration.
[0094] In one embodiment, taking the calibration object as the calibration board and 15 marker points as an example, feature matching is performed between the calibration object point cloud and the scanned point cloud, resulting in 18 successfully matched point pairs. From these 18 pairs, 3 non-collinear pairs are selected, and a first transformation relationship is calculated for mapping and matching, yielding 10 valid point pairs. Based on these 10 valid point pairs, a second transformation relationship is calculated, and the entire scanned point cloud is mapped to the calibration board coordinate system. Some points, after mapping, are not on the same calibration board plane and are discarded. Mapped points on the same calibration board plane are matched with marker points on the calibration board, ultimately obtaining 14-15 first-matching point pairs. In this embodiment, the accuracy of marker point matching is ensured while obtaining as many matching point pairs as possible. In one embodiment, a marker point matching method includes:
[0095] Step (a1) involves acquiring the scan point cloud obtained by photographing the calibration object from the current scanning viewpoint. The calibration object contains marker points.
[0096] Step (a2) obtains the normal vector of the calibration point cloud and the first distance between each point in the calibration point cloud and its adjacent points.
[0097] Step (a3) determines the normal vector of each point in the scanned point cloud and the second distance between each point and its neighboring points.
[0098] Step (a4) involves matching the normal vector of the calibration point cloud with the normal vector of each point in the scanned point cloud, and matching the first distance with the second distance. When both the normal vector and the distance are successfully matched, a point pair with successfully matched features is obtained.
[0099] Step (a5): Select three feature-matching point pairs from the feature-matching point pairs.
[0100] Step (a6): Determine three marker points located in the same point cloud from the three feature-matched point pairs. When the three marker points located in the same point cloud are not collinear, determine whether the three feature-matched point pairs satisfy the congruent triangle condition.
[0101] Step (a7): When the three feature-matching point pairs satisfy the congruent triangle condition, determine the first transformation relationship from the current scanning viewpoint to the calibration object coordinate system based on the three feature-matching point pairs.
[0102] Step (a8): Based on the first transformation relationship, the marker point under the current scanning view is mapped to the calibration object coordinate system to obtain the calibration object mapping point.
[0103] Step (a9) matches the mapping point of the calibration object with the marker point on the calibration object to obtain a valid point pair; the valid point pair includes the marker point under the current scanning view and the matching marker point on the calibration object.
[0104] Step (a10) determines the second transformation relationship from the current scanning viewpoint to the calibration object coordinate system based on the valid point pairs.
[0105] Step (a11): Based on the second transformation relationship, the marker points under the current scanning view are mapped to the calibration object coordinate system, and the mapped marker points on the same plane are retained.
[0106] Step (a12): When the mapped marker points on the same plane match the marker points on the calibration object, a first matching point pair is obtained. The first matching point pair includes the calibration object matching point and the matching scan matching point.
[0107] Step (a13) involves projecting the scanned matching points onto the camera's image coordinate system to obtain the image mapping points.
[0108] Step (a14): Obtain the image of the calibration object taken by the camera.
[0109] Step (a15) involves matching the image mapping points with the marker points on the calibration object image to obtain a second matching point pair. The second matching point pair includes the scanned matching point and the matching marker point on the calibration object image.
[0110] Step (a16): For each camera in the dual cameras, based on the first matching point pair and the second matching point pair, determine the target matching point pair that matches the marker point on the calibration object image with the marker point on the calibration object.
[0111] Specifically, 3D point cloud matching is an essential step in scanning. The rigid body transformation matrix of the scanner needs to be calculated between every two frames (in multi-frame cases, the position of the first frame is generally chosen as the reference value, and the remaining frames are rotated and translated with the first frame as the target). There are many methods for 3D point cloud matching, with the most well-known and widely used being the ICP and Fast-ICP algorithms. These focus on feature matching between two unknown point clouds, such as distance features, normal vector features, local divergence features, matching rate, and matching error. In addition, these algorithms perform well in local precise matching, but the SVD and quaternion algorithms are more efficient in coarse matching. Often, many scanning devices adopt a combination of both methods. That is, coarse matching is first performed using SVD and quaternions, and then iterative matching is performed locally using ICP to improve matching accuracy. This method has been used in many papers. However, the embodiments in this application aim to match the data after post-calibration processing, not during the scanning stage, so the ICP algorithm is not required. Therefore, this paper uses the SVD method to match the marker points of unknown relationships.
[0112] Before marker matching, data preparation is required; in other words, useful features need to be calculated for matching. Figure 3 This is a schematic diagram of the marker features in one embodiment. The marker appearance used in this paper is as follows. Figure 3 Each marker is a circular surface, with a white circle inside and a black ring around it. It's clear that each marker's white circular area has a center and a radius, and a fixed normal vector for the entire marker's circular surface. Figure 3 n1 and n2 in the example.
[0113] In addition to the features of each marker point itself, the feature matching in this embodiment also focuses on the relative features between points. For example... Figure 3 The distance between points is a necessary attribute, and the angle between the normal vectors of two marker points also affects the correspondence of matching points. According to the SVD algorithm, calculating the eigenvalues and eigenvectors of the covariance matrix requires at least three non-collinear points. Therefore, every combination of three point clouds not only needs to be non-collinear, but also needs to form matching congruent triangles with the corresponding three point combinations. For example... Figure 4 The diagram shown is a feature diagram of three point pairs in one embodiment.
[0114] i) Calculate the coordinates and normal vector of each frame's marker point, then calculate the distance and angle between each marker point and its adjacent points and the normal vectors, and save all the calculated features.
[0115] ii) Perform feature filtering and matching on the scanned point cloud and the marker point cloud of the calibration object, and select point pairs that meet the conditions and have successfully matched features.
[0116] iii) Based on all the point pairs that have been successfully matched for features, select three points from the combination. First, determine whether they are collinear. If they are collinear, select three points again. If they are not collinear, determine whether the corresponding three point groups satisfy the condition of congruent triangles. If they are satisfied, calculate the rotation and translation matrix and vector through SVD.
[0117] iV) transforms all scan points to the calibration object space by calculating the rotation and translation matrices and vectors, and then filters all valid point pairs.
[0118] V) After filtering all valid points, use the SVD algorithm to recalculate the rotation and translation matrix using all valid points, then change the scan points again to filter out as many matching point pairs as possible, thus completing the process.
[0119] Before and during the matching process of 3D point clouds, there are some point screening processes. Some points are discarded during epipolar correction, some points cannot satisfy the collinearity equation well, and some points will not be on the calibration plane after matching.
[0120] For stereo systems after epipolar correction, laser triangulation is generally used to calculate the coordinates of 3D points. Specifically, the ray formed by connecting the pixels of the left camera's optical center and the ray formed by connecting the corresponding pixels of the right camera intersects in 3D space. The intersection point is the 3D coordinate point corresponding to the two matching pixels. Figure 5 The diagram illustrates how the scanned matching points are projected onto the camera's image coordinate system in one embodiment. Therefore, after rotating and translating the matched point cloud, the pixels on the left camera (l) and the right camera (r) are obtained in reverse. These two points must satisfy the strong constraint of epipolar correction. This criterion can largely filter out points with large deviations or those exhibiting the same feature due to the shooting angle (i.e., two points projected to almost the same pixel on the left camera, but with large deviations in the right camera's pixel projection). After matching the scanned points with the calibration points, it is noted that the marker points are almost all located on the calibration plane. Therefore, the matched points after rotation and translation should also be very close to this calibration plane. This criterion can eliminate some points with large deviations and incorrectly extracted noise.
[0121] In simple terms, there are two conditions: First, the current viewpoint's scanned point cloud is rotated and translated to the calibration object's coordinate system, and all matching points should be very close to the calibration object's plane. Second, feature matching is used to obtain all possible matching points, and then the rotation and translation relationships are derived. The points of the calibration object are then transformed to the current scan viewpoint through this relationship. The matching points are then projected back to the pixels of the left and right cameras using laser triangulation, and these projections need to be very close to the pixel coordinates of the corresponding matching points in the current viewpoint's scanned point cloud.
[0122] The scanned point clouds m1, m2, and m3 are calculated from the matching pixel pairs (l1, r1), (l2, r2), and (l3, r3) of the left and right cameras, and they are matched with the three marker points M1, M2, and M3 on the calibration object. Clearly, in the image, (l4, r4) will yield P (in the following formula), which has a high probability of matching M4 on the calibration object. However, since this point will deviate significantly from the plane after rotation and translation, it will be discarded. For all matching points m... i We can calculate the plane S:(A,B,C,D) where Ax+By+Cz+D=0. That is, the meaning of =0 in the following formula is that they are on the same plane.
[0123] Based on the above explanation, all matching points should be close to this plane, and after rotating back to the calibration coordinate system, they should be close to the calibration plane. For this plane, the epipolar correction process will yield the left camera intrinsic parameter matrix PL in two corrected coordinate systems. Through geometric relationships, the following equation can be obtained:
[0124]
[0125]
[0126] Where l1 refers to marker point 1 on the calibration object image captured by the left camera, and w1 is the transformation relationship during projection.
[0127] The above process can generate sufficient correspondences between epipolar corrected pixels and calibration markers captured from the current viewpoint.
[0128] Pair L}=(P l1 M j1 )∪(P l2 M j2 )∪...∪(P li M ji )∪....,i=1,2...n1,j i ∈{1,2,3,...,num}
[0129] and {Pair R}=(P r1 Mk1 )∪(P r2 M k2 )∪...∪(P ri M ki )∪...,i=1,2...n2,k i ∈{1,2,3,...,num}
[0130] These two correspondences are crucial in subsequent processing. The inverse mapping of epipolar correction will be used to find the correspondence between the pixels of the original image captured by the camera at the current viewpoint and the marker points of the calibration object, thereby forming calibration data for secondary calibration.
[0131] In this embodiment, by matching the calibration point cloud with the scan point cloud, a first matching point pair is obtained. Then, based on the scan matching points in the first matching point pair, the scan matching points are projected onto the corresponding camera, and the image mapping points are matched with the marker points on the calibration image to determine the second matching point pair. Based on the first and second matching point pairs, a target matching point pair is determined that matches the marker points on the calibration image with the marker points on the calibration object. By matching the calibration object and the scan point cloud, and the scan point cloud and the calibration image separately, as many point pairs as possible can be obtained. Furthermore, through multiple matching, more accurate target marker point pairs can be obtained, optimizing the unstable factors of the device each time and obtaining better scanning results in the future.
[0132] It should be understood that, although the above Figure 2 In the flowchart, the steps are shown sequentially according to the arrows, and the steps (a1) to (a16) are shown sequentially according to their numbers. However, these steps are not necessarily executed in the order indicated by the arrows or numbers. Unless explicitly stated herein, there is no strict order requirement for the execution of these steps; they can be executed in other orders. Figure 2 At least some of the steps in the process may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but may be executed at different times. The execution order of these steps or stages is not necessarily sequential, but may be executed in turn or alternately with other steps or at least some of the steps or stages in other steps.
[0133] In one embodiment, such as Figure 6 The diagram shown is a structural block diagram of a marker matching device in one embodiment. Figure 6A marker point matching device is provided. This device can be a software module, a hardware module, or a combination of both integrated into a computer device. Specifically, the device includes: a scanned point cloud acquisition module 602, a first matching module 604, a projection module 606, a calibration object image acquisition module 608, a second matching module 610, and a target matching module 612, wherein:
[0134] The scanning point cloud acquisition module 602 is used to acquire the scanning point cloud obtained by taking pictures of the calibration object from the current scanning viewpoint; the calibration object contains marker points.
[0135] The first matching module 604 is used to match the calibration point cloud with the scan point cloud to obtain a first matching point pair; the first matching point pair includes calibration matching points and matching scan matching points.
[0136] The projection module 606 is used to project the scanned matching points onto the camera's image coordinate system to obtain image mapping points;
[0137] The calibration object image acquisition module 608 is used to acquire the calibration object image obtained by the camera taking pictures of the calibration object;
[0138] The second matching module 610 is used to match the image mapping points with the marker points on the calibration object image to obtain a second matching point pair; the second matching point pair includes the scanned matching point and the matching marker point on the calibration object image.
[0139] The target matching module 612 is used, for the camera, to determine a target matching point pair that matches the marker point on the calibration object image with the marker point on the calibration object based on the first matching point pair and the second matching point pair.
[0140] In this embodiment, by matching the calibration point cloud with the scan point cloud, a first matching point pair is obtained. Then, based on the scan matching points in the first matching point pair, the scan matching points are projected onto the corresponding camera, and the image mapping points are matched with the marker points on the calibration image to determine the second matching point pair. Based on the first and second matching point pairs, a target matching point pair is determined that matches the marker points on the calibration image with the marker points on the calibration object. By matching the calibration object and the scan point cloud, and the scan point cloud and the calibration image separately, as many point pairs as possible can be obtained. Furthermore, through multiple matching, more accurate target marker point pairs can be obtained, optimizing the unstable factors of the device each time and obtaining better scanning results in the future.
[0141] In one embodiment, the first matching module 604 is used for:
[0142] Feature matching is performed between the calibration point cloud and the scan point cloud to obtain point pairs with successful feature matching; based on the point pairs with successful feature matching, the first transformation relationship from the current scanning viewpoint to the calibration coordinate system is determined; based on the first transformation relationship, the marker points under the current scanning viewpoint are mapped to the calibration coordinate system to obtain the calibration mapping points; the calibration mapping points are matched with the marker points on the calibration object to obtain the first matching point pairs.
[0143] In this embodiment, feature matching is performed on the calibration point cloud and the scanned point cloud to obtain point pairs with successfully matched features. This means that a screening process is performed during the matching process to remove some noisy points with mismatched features. Based on the point pairs with successfully matched features, a first transformation relationship is determined, and mapping is performed again to map the marker points in the current viewpoint to the calibration coordinate system. The mapped points of the calibration object are matched with the marker points on the calibration object to obtain the first successfully matched point pairs. This allows for matching again after screening, retaining as many valid points as possible and improving the accuracy of subsequent scanning.
[0144] In one embodiment, the first matching module 604 is used for:
[0145] Match the mapping points of the calibration object with the marker points on the calibration object to obtain valid point pairs; valid point pairs include the marker points under the current scanning view and the matching marker points on the calibration object.
[0146] The second transformation relationship from the current scanning viewpoint to the calibration object coordinate system is determined based on the effective point pairs;
[0147] Based on the second transformation relationship, the marker point under the current scanning view is mapped to the coordinate system of the calibration object. When the mapped marker point matches the marker point on the calibration object, the first matching point pair is obtained.
[0148] In this embodiment, by setting appropriate matching conditions and processes, the accuracy of matching point pairs can be improved while maintaining the number of point pairs.
[0149] In one embodiment, the first matching module 604 is used for:
[0150] Based on the second transformation relationship, the marker points under the current scanning view are mapped to the calibration object coordinate system, and the mapped marker points on the same plane are retained;
[0151] When a mapped marker point on the same plane matches a marker point on the calibration object, the first matching point pair is obtained.
[0152] In this embodiment, by filtering the mapped marker points and eliminating noise points that are not on the same plane, the obtained marker point pairs are more accurate, and the subsequent camera calibration is also more accurate.
[0153] In one embodiment, the first matching module 604 is used for:
[0154] Obtain the normal vector of the point cloud of the calibration object and the first distance between each point in the point cloud of the calibration board and its adjacent points;
[0155] Determine the normal vector of each point in the scanned point cloud and the second distance between each point and its neighboring points;
[0156] The normal vector of the calibration point cloud is matched with the normal vector of each point in the scanned point cloud, and the first distance is matched with the second distance. When both the normal vector and the distance are successfully matched, a point pair with successfully matched features is obtained.
[0157] In this embodiment, the normal vector of the calibration point cloud is matched with the normal vector of each point in the scanned point cloud, and the first distance and the second distance are matched. When both are successfully matched, a point pair with successfully matched features is obtained, which can quickly filter out point pairs that meet the preliminary features.
[0158] In one embodiment, the first matching module 604 is configured to: select three feature-matching point pairs from the feature-matched point pairs;
[0159] From three feature-matched point pairs, identify three marker points located in the same point cloud. When the three marker points located in the same point cloud are not collinear, determine whether the three feature-matched point pairs satisfy the congruent triangle condition.
[0160] When three feature-matched point pairs satisfy the condition of congruent triangles, the first transformation relationship from the current scanning viewpoint to the calibration object coordinate system is determined based on the three feature-matched point pairs.
[0161] In this embodiment, the point pairs with successfully matched features may also include many noisy points, i.e., non-marking points, so further screening is required; the features of three collinear points are relatively few, so non-collinear points need to be selected for the determination of congruent triangles. When the three feature-matched point pairs satisfy the condition of congruent triangles, it indicates that the accuracy of the three feature-matched point pairs is high, so the accuracy of the calculated first transformation relationship is also high.
[0162] In one embodiment, the marker matching method is applied to binocular vision calibration;
[0163] Target matching module 612 is used for:
[0164] For each camera in the dual-camera setup, based on the first and second matching point pairs, target matching point pairs are determined that match the marker points on the calibration object image with the marker points on the calibration object.
[0165] In this embodiment, for each camera in the dual cameras, by combining the first matching point pair and the second matching point pair for filtering and matching, target matching point pairs that match the marker points on the calibration object image and the marker points on the calibration object are obtained, so that subsequent binocular visual calibration can be performed through the target matching point pairs to improve the accuracy of calibration.
[0166] For specific limitations regarding the marker matching device, please refer to the limitations of the marker matching method above, which will not be repeated here. Each module in the aforementioned marker matching device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0167] In one embodiment, a computer device is provided, which may be a terminal device, and its internal structure diagram may be as follows: Figure 7 As shown, the computer device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, carrier networks, NFC (Near Field Communication), or other technologies. When executed by the processor, the computer program implements a marker matching method. The display screen can be an LCD screen or an e-ink display screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.
[0168] Those skilled in the art will understand that Figure 7 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer equipment on which the present application is applied. Specific computer equipment may include, for example, [the following]. Figure 7 The diagram shows more or fewer components, or combinations of certain components, or different component arrangements.
[0169] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described method embodiments.
[0170] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method embodiments.
[0171] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to perform the steps in the above method embodiments.
[0172] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes described in the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0173] The above description is only a preferred embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural changes made based on the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A marker point matching method, characterized in that, The method includes: Acquire a scanned point cloud obtained by photographing a calibration object from the current scanning viewpoint; the calibration object contains marker points; the current scanning viewpoint refers to the viewpoint when the multiple cameras to be calibrated are scanning; the scanned point cloud is the three-dimensional coordinates of the marker points in the current camera coordinate system; the scanned point cloud has the position information and vector information of the marker points from the current scanning viewpoint. The calibration point cloud is matched with the scanned point cloud to obtain a first matching point pair; the first matching point pair includes a calibration matching point and a matching scanned matching point; the calibration matching point refers to a marker point on the calibration object that matches a marker point in the scanned point cloud; the scanned matching point refers to a marker point in the scanned point cloud that matches a marker point on the calibration object; the calibration point cloud refers to the three-dimensional coordinates of the marker points calculated based on binocular vision parameters after the calibration object is photographed by left and right cameras; the calibration point cloud has position information and vector information of each marker point on the calibration object. The scanned matching points are projected onto the camera's image coordinate system to obtain image mapping points; Acquire an image of the calibration object obtained by the camera taking a picture of the calibration object; The image mapping points are matched with the marker points on the calibration object image to obtain a second matching point pair; the second matching point pair includes the scan matching point and the matching marker point on the calibration object image. For the camera, based on the first matching point pair and the second matching point pair, a target matching point pair is determined that matches the marker point on the calibration object image with the marker point on the calibration object.
2. The method according to claim 1, characterized in that, The step of matching the calibrated point cloud with the scanned point cloud to obtain a first matching point pair includes: Perform feature matching between the calibration point cloud and the scanned point cloud to obtain point pairs with successfully matched features; Based on the point pairs that are successfully matched by the features, a first transformation relationship is determined from the current scanning viewpoint to the calibration object coordinate system; Based on the first transformation relationship, the marker point under the current scanning view is mapped to the coordinate system of the calibration object to obtain the calibration object mapping point; The mapping points of the calibrator are matched with the marker points on the calibrator to obtain the first matching point pair.
3. The method according to claim 2, characterized in that, The step of matching the mapping point of the calibrated object with the marker point on the calibrated object to obtain the first matching point pair includes: The mapping point of the calibration object is matched with the marker point on the calibration object to obtain a valid point pair; the valid point pair includes the marker point under the current scanning view and the matching marker point on the calibration object; Based on the effective point pairs, a second transformation relationship is determined from the current scanning viewpoint to the calibration object coordinate system; Based on the second transformation relationship, the marker point under the current scanning view is mapped to the coordinate system of the calibration object. When the mapped marker point matches the marker point on the calibration object, a first matching point pair is obtained.
4. The method according to claim 3, characterized in that, Based on the second transformation relationship, the marker point under the current scanning view is mapped to the coordinate system of the calibration object. When the mapped marker point matches a marker point on the calibration object, a first matching point pair is obtained, including: Based on the second transformation relationship, the marker points under the current scanning view are mapped to the coordinate system of the calibration object, and the mapped marker points on the same plane are retained; When the mapped marker points on the same plane match the marker points on the calibration object, a first matching point pair is obtained.
5. The method according to claim 2, characterized in that, The step of performing feature matching between the calibration point cloud and the scanned point cloud to obtain point pairs with successfully matched features includes: Obtain the normal vector of the calibration point cloud and the first distance between each point in the calibration point cloud and its adjacent points; Determine the normal vector of each point in the scanned point cloud and the second distance between each point and its neighboring points; The normal vector of the calibration point cloud is matched with the normal vector of each point in the scanned point cloud, and the first distance is matched with the second distance. When both the normal vector and the distance are successfully matched, a point pair with successfully matched features is obtained.
6. The method according to claim 2, characterized in that, The determination of the first transformation relationship from the current scanning viewpoint to the calibration object coordinate system based on the successfully matched point pairs includes: Select three feature-matching point pairs from the feature-matched point pairs; From the three feature-matched point pairs, determine three marker points located in the same point cloud. When the three marker points located in the same point cloud are not collinear, determine whether the three feature-matched point pairs satisfy the congruent triangle condition. When three feature-matching point pairs satisfy the congruent triangle condition, a first transformation relationship is determined based on the three feature-matching point pairs to transform from the current scanning viewpoint to the calibration object coordinate system.
7. The method according to any one of claims 1 to 6, characterized in that, The marker matching method is applied to binocular vision calibration. For the camera, determining the target matching point pair that matches the marker point on the calibration object image with the marker point on the calibration object based on the first matching point pair and the second matching point pair includes: For each of the two cameras, based on the first matching point pair and the second matching point pair, a target matching point pair is determined that matches the marker point on the calibration object image with the marker point on the calibration object.
8. A marker matching device, characterized in that, The apparatus is used to implement the method according to any one of claims 1 to 7, the apparatus comprising: The scanning point cloud acquisition module is used to acquire the scanning point cloud obtained by photographing a calibration object from the current scanning viewpoint; the calibration object contains marker points; the current scanning viewpoint refers to the viewpoint when the multiple cameras to be calibrated are scanning; the scanning point cloud is the three-dimensional coordinates of the marker points in the current camera coordinate system; the scanning point cloud has the position information and vector information of the marker points in the current scanning viewpoint. The first matching module is used to match the calibration object point cloud with the scanned point cloud to obtain a first matching point pair. The first matching point pair includes a calibration object matching point and a matching scanned matching point. The calibration object matching point refers to a marker point on the calibration object that matches a marker point in the scanned point cloud. The scanned matching point refers to a marker point in the scanned point cloud that matches a marker point on the calibration object. The calibration object point cloud refers to the three-dimensional coordinates of the marker points calculated based on binocular vision parameters after the calibration object is photographed by left and right cameras. The calibration object point cloud has position information and vector information of each marker point on the calibration object. The projection module is used to project the scanned matching points onto the camera's image coordinate system to obtain image mapping points; The calibration object image acquisition module is used to acquire the calibration object image obtained by the camera taking pictures of the calibration object; The second matching module is used to match the image mapping points with the marker points on the calibration object image to obtain a second matching point pair; the second matching point pair includes the scan matching point and the matching marker point on the calibration object image. The target matching module is used, for the camera, to determine, based on the first matching point pair and the second matching point pair, a target matching point pair that matches the marker point on the calibration object image with the marker point on the calibration object.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Plant three-dimensional reconstruction method and system based on depth map repair
CN110223383A
Automatic modeling method and device, computer equipment and storage medium
CN114140581A