A 3D visual point cloud data splicing method, system and storage medium
By using calibration blocks and 3D cameras to obtain calibration data and matching data, and using feature matching algorithms to determine the coordinate relationship between adjacent faces of calibration blocks, the splicing error problem caused by inaccurate robot motion data is solved, and a higher splicing accuracy of 3D visual point cloud data is achieved.
Patent Information
- Application Number
- CN202110982114.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-25
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2041-08-25
AI Technical Summary
In the prior art, when splicing 3D visual point cloud data, due to the inaccurate motion data provided by the robot, the error of the stitching image is large and the accuracy is not high.
By using calibration blocks and 3D cameras with the same structure, the calibration data and matching data are obtained, and the coordinate relationship between adjacent faces of the calibration block is determined using the feature matching algorithm, and then the point cloud data is spliced through the three-dimensional image stitching algorithm to eliminate the error introduced by the robot.
The accuracy of stitching of 3D visual point cloud data is improved, the error of stitching images is reduced, and the accuracy of stitching results is enhanced.
Smart Images

Figure CN113781301B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of image processing technology, and in particular to a 3D visual point cloud data splicing method, system and storage medium. Background Art
[0002] In industrial production, it is usually necessary to take photos of workpieces for inspection. For some larger workpieces, due to the limited shooting range of the camera, a single shot cannot cover the entire workpiece, and multiple shots are often required. In common 3D vision applications, for products whose area is larger than the scanning space of the 3D camera, the prior art discloses a method and system for splicing 3D vision point cloud data (publication number: CN111223048A), which scans different current positions by moving the product and then splices them to obtain a complete three-dimensional image.
[0003] However, when performing three-dimensional stitching of point cloud images (point cloud data) in the above-mentioned prior art, it is necessary to provide the robot with feedback data on the movement of the workpiece in the RX, RY, and RZ directions. Due to mechanical errors, the data provided by the robot may not be accurate, resulting in large errors in the stitching results between two images of two adjacent surfaces on the workpiece when stitching images. Summary of the invention
[0004] The purpose of the present invention is to solve at least one of the technical problems existing in the prior art and to provide a 3D visual point cloud data stitching method, system and storage medium, which can improve the accuracy of three-dimensional stitching of workpiece point cloud data.
[0005] In a first aspect, the present invention provides a 3D visual point cloud data stitching method, which is applied to a 3D visual point cloud data stitching system, wherein the system comprises a robot, a 3D camera, and a calibration block having two adjacent surfaces with the same structure, wherein the 3D camera is used for taking pictures, and the robot is used for driving the calibration block and the object to be photographed to move synchronously; after aligning the two adjacent surfaces of the calibration block with the two adjacent surfaces of the object to be photographed, the robot drives the calibration block and the object to be photographed to move synchronously, and the method comprises:
[0006] Dividing the object to be photographed into a plurality of photographing areas, each of the photographing areas corresponds to a surface of the object to be photographed;
[0007] Dividing the calibration block into a plurality of calibration areas, each of the calibration areas corresponds to a surface of the calibration block;
[0008] Acquire point cloud data corresponding to two adjacent photographing areas of the object to be photographed;
[0009] Acquire matching data corresponding to two adjacent calibration areas of the calibration block, wherein the matching data is obtained by performing feature matching on the two adjacent calibration areas through a feature matching algorithm;
[0010] Based on the matching data and the calibration data, the point cloud data corresponding to two adjacent photographing areas are spliced by a preset three-dimensional image splicing algorithm to obtain a three-dimensional image corresponding to two adjacent surfaces of the object to be photographed.
[0011] As a further improvement, before dividing the object to be photographed into a plurality of photographing areas, the method further includes:
[0012] Based on the calibration block, obtaining calibration points using a 3D camera;
[0013] A coordinate conversion relationship is determined according to the camera coordinates of the calibration point and the robot coordinates of the robot at the same calibration point, so as to calibrate the 3D camera and the robot to obtain calibration data.
[0014] As a further improvement, the surface of the calibration block is provided with a plurality of grooves, and the specific process of performing feature matching on two adjacent calibration areas by using a feature matching algorithm includes:
[0015] Acquire feature points corresponding to the grooves on the surface of the calibration block, and use the feature points corresponding to the grooves as feature points corresponding to the calibration area;
[0016] The feature points corresponding to two adjacent calibration areas are matched using a feature matching algorithm.
[0017] In a second aspect, the present invention provides a 3D visual point cloud data stitching method, based on the method described in any one of the first aspects above, the point cloud data corresponding to all two adjacent photographing areas of the object to be photographed are stitched to obtain a three-dimensional image of the entire object to be photographed.
[0018] In a third aspect, the present invention provides a 3D visual point cloud data stitching system, the system comprising a robot, a 3D camera, a control device, and a calibration block having two adjacent surfaces with the same structure, the 3D camera is used to take pictures and is communicatively connected to the control device, and the robot is used to drive the calibration block and the object to be photographed to move synchronously;
[0019] After aligning two adjacent faces of the calibration block with two adjacent faces of the object to be photographed, the robot drives the calibration block and the object to be photographed to move synchronously, and the control device is used to execute the following program:
[0020] Dividing the object to be photographed into a plurality of photographing areas, each of the photographing areas corresponds to a surface of the object to be photographed;
[0021] Dividing the calibration block into a plurality of calibration areas, each of the calibration areas corresponds to a surface of the calibration block;
[0022] Acquire point cloud data corresponding to two adjacent photographing areas of the object to be photographed;
[0023] Acquire matching data corresponding to two adjacent calibration areas of the calibration block, wherein the matching data is obtained by performing feature matching on the two adjacent calibration areas through a feature matching algorithm;
[0024] Based on the matching data and the calibration data, the point cloud data corresponding to two adjacent photographing areas are spliced by a preset three-dimensional image splicing algorithm to obtain a three-dimensional image corresponding to two adjacent surfaces of the object to be photographed.
[0025] As a further improvement, before dividing the object to be photographed into a plurality of photographing areas, the control device is further used to execute the following procedure:
[0026] Based on the calibration block, obtaining calibration points using a 3D camera;
[0027] A coordinate conversion relationship is determined according to the camera coordinates of the calibration point and the robot coordinates of the robot at the same calibration point to calibrate the 3D camera and the robot.
[0028] As a further improvement, the surface of the calibration block is provided with a plurality of grooves, and the specific process of performing feature matching on two adjacent calibration areas by using a feature matching algorithm includes:
[0029] Acquire feature points corresponding to the grooves on the surface of the calibration block, and use the feature points corresponding to the grooves as feature points corresponding to the calibration area;
[0030] The feature points corresponding to two adjacent calibration areas are matched using a feature matching algorithm.
[0031] In a fourth aspect, the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, wherein the computer-executable instructions are used to enable a computer to execute the above-mentioned 3D visual point cloud data stitching method.
[0032] Compared with the prior art, the 3D visual point cloud data stitching method, system and storage medium provided by the present invention have at least the following beneficial effects: since the structures of the two adjacent faces of the calibration block are the same and the coordinate relationship (i.e., conversion relationship) between the two adjacent faces of the calibration block can be accurately determined through the calibration data. Therefore, the calibration area matching data corresponding to the two adjacent faces of the calibration block is determined by the feature matching algorithm, and the point cloud data corresponding to the two adjacent photographing areas are stitched by the preset three-dimensional image stitching algorithm with the matching data and the calibration data, without the need for the robot to provide the coordinate relationship between the two faces of the workpiece to be stitched, thereby eliminating the error introduced by the robot and improving the accuracy of the stitched three-dimensional image.
[0033] Additional aspects and advantages of the invention will become apparent from the following description, or may be learned by practice of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The present invention is further described below in conjunction with the accompanying drawings and embodiments;
[0035] Figure 1 It is a structural schematic diagram of a 3D visual point cloud data stitching system in one embodiment of the present invention.
[0036] Figure 2 It is a schematic diagram of the structure of a calibration block in one embodiment of the present invention.
[0037] Figure 3 The figure is a flow chart of a 3D visual point cloud data stitching method in one embodiment of the present invention.
[0038] Figure 4 FIG. 4 is a structural block diagram of a computer device in one embodiment.
[0039] Reference numerals:
[0040] 10. Calibration block; 11. Groove; 20. Workpiece; 30. 3D camera; 40. Control device; 50. Main body; 51. First clamping mechanism; 52. Second clamping mechanism; 60. Guide rail. DETAILED DESCRIPTION
[0041] This section will describe in detail the specific embodiments of the present invention. The preferred embodiments of the present invention are shown in the accompanying drawings. The purpose of the accompanying drawings is to supplement the description of the text part of the specification with graphics, so that people can intuitively and vividly understand each technical feature and the overall technical solution of the present invention, but it cannot be understood as a limitation on the scope of protection of the present invention.
[0042] In order to facilitate the understanding of the present invention, it is necessary to further explain the prior art and its defects before describing the specific implementation methods of the present invention. In the prior art, when performing three-dimensional stitching of point cloud images (point cloud data), the robot is required to provide data on the movement of the workpiece 20 in the directions of X, Y, Z, RX (i.e., rotation around the OX axis), RY (i.e., rotation around the OY axis), and RZ (i.e., rotation around the OZ axis). Due to mechanical errors, the data provided by the robot may not be accurate, resulting in large errors in the stitching results between the two images of two adjacent surfaces on the workpiece 20 when stitching images. For example, for Figure 1 In terms of splicing the three-dimensional image of the workpiece 20 using the existing method, it is necessary to use a robot to drive the workpiece 20 to rotate around the OZ axis multiple times in the XOY plane. Assuming that the robot rotates 90° around the OZ axis each time (i.e., 90° is the set value) through parameter setting, the point cloud data of the four faces of the workpiece 20 are obtained by the 3D camera 30 respectively. When the point cloud data of the four faces are spliced into a three-dimensional image, it is assumed that the angle of the robot driving the workpiece 20 to rotate each time is 90°. However, due to the error of the robot, it cannot be guaranteed that the angle of the robot's rotation is 90°. Therefore, splicing the point cloud data of the four faces of the workpiece 20 with the set value instead of the actual value will cause the spliced three-dimensional image to have errors and low precision.
[0043] Based on the above reasons, the present invention provides a 3D visual point cloud data stitching method, system and storage medium, which are used to determine the actual error generated when the robot rotates the workpiece 20 and eliminate the error when stitching the three-dimensional image, so as to improve the precision of the three-dimensional image stitching. The specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0044] Figure 1 FIG. 1 is a schematic diagram of the structure of a 3D visual point cloud data stitching system in an embodiment. Figure 1 In one embodiment, the present invention provides a 3D visual point cloud data stitching system, which includes a robot, a 3D camera 30, a control device 40, and a calibration block 10 with the same structure on two adjacent surfaces. Figure 2As shown, the four faces adjacent to the C face on the calibration block 10 have the same structure, that is, the adjacent A face and B face have the same structure. The calibration block 10 is fixed to the robot body 50 by a first clamping mechanism 51, and the object to be photographed is a workpiece 20, which is a hexahedron and is fixed to the robot body 50 by a second clamping mechanism 52. It can be understood that the first clamping mechanism 51 and the second clamping mechanism 52 can drive the calibration block 10 and the workpiece 20 to move independently of the body 50 to adjust the position of the calibration block 10 and the workpiece 20. For example, the first clamping mechanism 51 and the second clamping mechanism 52 can be a robot arm with multiple degrees of freedom. A guide rail 60 is provided on the site, and a slider is provided at the lower end of the robot body 50. The body 50 is slidably connected to the guide rail 60 through the slider to drive the calibration block 10 and the workpiece 20 to move synchronously. The 3D camera 30 is used to take pictures of the calibration block 10 and the workpiece 20 and is connected to the control device 40 for communication. The robot and the two robotic arms may also be controlled by the control device 40 .
[0045] When it is necessary to take a picture of the U surface and the V surface of the workpiece 20, it is necessary to first align the two adjacent surfaces (surface A and surface B) of the calibration block 10 with the two adjacent surfaces (surface U and surface V) of the object to be photographed, so that the Y value of surface A and surface U in the O-XYZ coordinate system is the same, and the X value of surface B and surface V in the O-XYZ coordinate system is the same. After the two adjacent surfaces of the calibration block 10 are aligned with the two adjacent surfaces of the object to be photographed, the robot drives the calibration block 10 and the object to be photographed to move synchronously, and the control device 40 is used to execute the following program, such as Figure 3 As shown, the method flow corresponding to the program includes the following steps:
[0046] Step S100: calibration step, specifically including:
[0047] Step S1001: Based on the calibration block 10, the calibration points are acquired using the 3D camera 30;
[0048] Step S1002: Determine a coordinate conversion relationship (ie, calibration data) according to the camera coordinates of the calibration point and the robot coordinates of the robot at the same calibration point, so as to calibrate the 3D camera 30 and the robot.
[0049] It should be noted that the specific algorithm for calibrating the 3D camera 30 and the robot using the calibration block 10 belongs to the prior art and will not be described here. The specific algorithm can refer to a calibration block 10, a robot calibration method, a calibration device and a storage medium disclosed in a Chinese patent (publication number is CN 112692833 A).
[0050] Step S102: The control device 40 divides the object to be photographed into a plurality of photographing areas, each of which corresponds to a surface of the object to be photographed. Figure 1 As shown, in this embodiment, the object to be photographed is a workpiece 20, which is a hexahedron. The six faces of the workpiece 20 correspond to a photographing area respectively, wherein the U face and the V face are two adjacent photographing areas, and the U face and the V face form an angle of 90°.
[0051] Step S104: The control device 40 divides the calibration block 10 into a plurality of calibration areas, each of which corresponds to a surface of the calibration block 10. Figure 1 As shown, in this embodiment, the calibration block 10 has four side surfaces with the same structure adjacent to the C surface, wherein the A surface and the B surface are two adjacent calibration areas, and the A surface and the B surface form an angle of 90°.
[0052] Step S106: The control device 40 obtains the point cloud data corresponding to the two adjacent photographing areas of the object to be photographed. In this step, the 3D camera 30 is used to first obtain the point cloud data of the U surface on the workpiece 20 and the point cloud data of the A surface on the calibration block 10, and then the robot is controlled to synchronously rotate the workpiece 20 and the calibration block 10 by 90° according to the set value, and then the 3D camera 30 is used to first obtain the point cloud data of the V surface on the workpiece 20 and the point cloud data of the B surface on the calibration block 10.
[0053] Step S108: The control device 40 obtains matching data corresponding to two adjacent calibration areas of the calibration block 10, wherein the matching data is obtained by feature matching the two adjacent calibration areas through a feature matching algorithm, and the matching data is a conversion relationship between the same feature on two adjacent different surfaces of the calibration block 10.
[0054] Specifically, the surface of the calibration block 10 is provided with a plurality of grooves 11, and the shape of the cross section of the groove 11 can be as follows: Figure 2 The grooves 11 are shown as circular, but may also be square or other polygonal. The number of grooves 11 may be as follows: Figure 2 The four shown are arranged in 2*2, but other numbers are also possible. After acquiring the image of the calibration block 10, the features in the image of the calibration block 10 can be extracted by a corresponding feature detection algorithm. Generally, the features correspond to the contours of the objects in the image. Figure 2As shown, in one example, taking surface A and surface B as examples, the same feature on two adjacent different surfaces of the calibration block 10 refers to the contour of the circular groove 11 at the lower left corner of surface A and the contour of the circular groove 11 at the lower left corner of surface B. In this embodiment, surface A and surface B of the calibration block 10 have the same structure. Therefore, when there is no mechanical error in the robot, the robot drives the calibration block 10 to rotate 90°, and the images of surface A and surface B of the calibration block 10 acquired by the 3D camera 30 are the same, that is, the positions of the same feature on two adjacent different surfaces (surface A and surface B) of the calibration block 10 should overlap after rotating 90°; that is, when there is no mechanical error in the robot, the result of converting the conversion relationship between the same features on two adjacent different surfaces of the calibration block 10 according to the feature matching algorithm should be that the positions of the same feature on two adjacent different surfaces (surface A and surface B) of the calibration block 10 overlap after rotating 90°. When the robot has mechanical errors, although the robot should drive the calibration block 10 to rotate 90° according to the set value, the actual rotation angle is not 90°. At this time, the result of converting the conversion relationship between the same feature on two adjacent different surfaces of the calibration block 10 according to the feature matching algorithm should be that the position of the same feature on two adjacent different surfaces (surface A and surface B) of the calibration block 10 overlaps after rotating the actual value. The actual value can be determined based on the matching data. For example, when the position of the same feature on two adjacent different surfaces (surface A and surface B) of the calibration block 10 overlaps after rotating 88°, the actual value is 88°.
[0055] In step S108, the specific process of performing feature matching on two adjacent calibration areas by using a feature matching algorithm includes:
[0056] Acquire feature points corresponding to the grooves 11 on the surface of the calibration block 10, and use the feature points corresponding to the grooves 11 as feature points corresponding to the calibration area;
[0057] The feature points corresponding to two adjacent calibration areas are matched using a feature matching algorithm.
[0058] Specifically, the feature matching algorithm can adopt the ICP (Iterative Closest Point) algorithm. When using the feature matching algorithm, the two point cloud images need to have common features. The first point cloud image (the point cloud image of surface A) is used as a fixed point cloud template. By moving the second point cloud image (the point cloud image of surface B), it is moved to the position of the first image, so as to achieve the purpose of the same feature overlap on the two images. From the second image to the position of the first image, there will be movement in the directions of X, Y, Z, RX, RY, and RZ of the spatial coordinate system. The data records of these 6 changes are generated as a matrix file (matching data). It should be noted that the improvement of this embodiment is that a plurality of grooves 11 are set on the surface of the calibration block 10 to increase the feature points in the image of the calibration block 10, provide more feature point data for the feature matching algorithm, and improve the accuracy of feature matching.
[0059] Step S110: Based on the matching data and the calibration data, the control device 40 stitches the point cloud data corresponding to two adjacent photographing areas through a preset three-dimensional image stitching algorithm to obtain a three-dimensional image corresponding to two adjacent surfaces of the object to be photographed.
[0060] Specifically, the calibration data is used to convert the point cloud images (i.e., point cloud data) of the calibration block 10 and the workpiece 20 acquired by the 3D camera 30 into a space under the robot coordinates, so that the calculation of the three-dimensional image stitching algorithm is completed in the space under the robot coordinates. The conversion relationship between two adjacent faces of the workpiece 20 can be determined based on the matching data. When the point cloud images corresponding to the two adjacent faces of the workpiece 20 are stitched using the three-dimensional image stitching algorithm, the set value (e.g., 90°) is no longer used as the conversion relationship (i.e., coordinate relationship) for stitching the two faces, but the actual value (88°) is used as the conversion relationship for stitching the two faces.
[0061] In this step, the actual matching data introduced when the robot drives the calibration block 10 to rotate is determined by the feature matching algorithm in step S108. Since the calibration block 10 and the workpiece 20 move synchronously, the matching data of the calibration block 10 can be regarded as the actual matching data introduced to the workpiece 20 when the robot rotates. Therefore, according to the matching data and the calibration data, the point cloud data corresponding to the two adjacent photographing areas are spliced by the preset three-dimensional image stitching algorithm to obtain the three-dimensional image corresponding to the two adjacent faces of the object to be photographed, that is, the three-dimensional image after the U face and the V face on the workpiece 20 are spliced. It can be understood that the three-dimensional image stitching algorithm belongs to the prior art and will not be described in detail here.
[0062] In summary, since the structures of two adjacent faces of the calibration block 10 are the same and the coordinate relationship (i.e., conversion relationship) between the two adjacent faces of the calibration block 10 can be accurately determined through the calibration data, the calibration area matching data corresponding to the two adjacent faces of the calibration block 10 is determined through the feature matching algorithm, and the point cloud data corresponding to the two adjacent photographing areas are spliced with the matching data and the calibration data through the preset three-dimensional image splicing algorithm, without the need for the robot to provide the coordinate relationship between the two faces of the workpiece 20 to be spliced, thereby eliminating the error introduced by the robot and improving the accuracy of the spliced three-dimensional image.
[0063] On the other hand, in one embodiment, a 3D visual point cloud data stitching method is provided, which is applied to a 3D visual point cloud data stitching system, wherein the system comprises a robot, a 3D camera 30, and a calibration block 10 having two adjacent surfaces with the same structure, wherein the 3D camera 30 is used for taking pictures, and the robot is used for driving the calibration block 10 and the object to be photographed to move synchronously; after aligning the two adjacent surfaces of the calibration block 10 with the two adjacent surfaces of the object to be photographed respectively, the robot drives the calibration block 10 and the object to be photographed to move synchronously, and the method comprises:
[0064] The control device 40 divides the object to be photographed into a plurality of photographing areas, each of the photographing areas corresponds to a surface of the object to be photographed;
[0065] The control device 40 divides the calibration block 10 into a plurality of calibration areas, each of which corresponds to a surface of the calibration block 10;
[0066] The control device 40 obtains point cloud data corresponding to two adjacent photographing areas of the object to be photographed;
[0067] The control device 40 obtains matching data corresponding to two adjacent calibration areas of the calibration block 10, wherein the matching data is the matching data obtained by performing feature matching on the two adjacent calibration areas through a feature matching algorithm, and the matching data is the matching data obtained by performing feature matching on the two adjacent calibration areas through a feature matching algorithm;
[0068] Based on the matching data and the calibration data, the control device 40 stitches the point cloud data corresponding to two adjacent photographing areas through a preset three-dimensional image stitching algorithm to obtain a three-dimensional image corresponding to two adjacent surfaces of the object to be photographed.
[0069] As a further improvement, before dividing the object to be photographed into a plurality of photographing areas, the method further includes:
[0070] The control device 40 acquires calibration points using the 3D camera 30 based on the calibration block 10;
[0071] The control device 40 determines a coordinate conversion relationship according to the camera coordinates of the calibration point and the robot coordinates of the robot at the same calibration point, so as to calibrate the 3D camera 30 and the robot to obtain calibration data.
[0072] As a further improvement, the surface of the calibration block 10 is provided with a plurality of grooves 11. The specific process of performing feature matching between two adjacent calibration areas by using a feature matching algorithm includes:
[0073] Acquire feature points corresponding to the grooves 11 on the surface of the calibration block 10, and use the feature points corresponding to the grooves 11 as feature points corresponding to the calibration area;
[0074] The feature points corresponding to two adjacent calibration areas are matched using a feature matching algorithm.
[0075] On the other hand, in one embodiment, a 3D visual point cloud data stitching method is also provided. Based on the above-mentioned stitching method for two adjacent photographing areas of the workpiece 20, the point cloud data corresponding to all two adjacent photographing areas of the object to be photographed are stitched to obtain a three-dimensional image of the entire object to be photographed.
[0076] It can be understood that the above method embodiments correspond one-to-one to the method flow corresponding to the program executed by the control device 40 in the system embodiment of the present invention, and will not be repeated here.
[0077] Figure 4 The internal structure diagram of a computer device in one embodiment is shown. The computer device may specifically be Figure 1 The control device 40 in FIG. Figure 4 As shown, the computer device includes a processor, a memory, a network interface, an input device and a display screen connected via a system bus. Among them, the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program. When the computer program is executed by the processor, the processor can implement the 3D visual point cloud data splicing method. The internal memory may also store a computer program. When the computer program is executed by the processor, the processor can execute the 3D visual point cloud data splicing method. Those skilled in the art can understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present invention, and does not constitute a limitation on the computer device to which the solution of the present invention is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0078] In one embodiment, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer-executable instructions, wherein the computer-executable instructions are used to cause a computer to execute the steps of the above-mentioned 3D visual point cloud data stitching method. The steps of the 3D visual point cloud data stitching method here may be the steps of the 3D visual point cloud data stitching method in each of the above-mentioned embodiments.
[0079] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRA), memory bus (Rambus) direct RAM (RDRA), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0080] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
Claims
1. A 3D visual point cloud data splicing method, applied to a 3D visual point cloud data splicing system, characterized in that: The system comprises a robot, a 3D camera and a calibration block with two adjacent surfaces having the same structure, the 3D camera is used for taking pictures, and the robot is used for driving the calibration block and the object to be photographed to move synchronously; after aligning the two adjacent surfaces of the calibration block with the two adjacent surfaces of the object to be photographed respectively, the robot drives the calibration block and the object to be photographed to move synchronously, and the method comprises: Dividing the object to be photographed into a plurality of photographing areas, each of the photographing areas corresponds to a surface of the object to be photographed; Dividing the calibration block into a plurality of calibration areas, each of the calibration areas corresponds to a surface of the calibration block; Acquire point cloud data corresponding to two adjacent photographing areas of the object to be photographed; Acquire matching data corresponding to two adjacent calibration areas of the calibration block, wherein the matching data is obtained by performing feature matching on the two adjacent calibration areas through a feature matching algorithm; Based on the matching data and the calibration data, the point cloud data corresponding to two adjacent photographing areas are stitched together by a preset three-dimensional image stitching algorithm to obtain a three-dimensional image corresponding to two adjacent surfaces of the object to be photographed; Before dividing the object to be photographed into a plurality of photographing areas, the method further includes: Based on the calibration block, obtaining calibration points using a 3D camera; A coordinate conversion relationship is determined according to the camera coordinates of the calibration point and the robot coordinates of the robot at the same calibration point, so as to calibrate the 3D camera and the robot to obtain calibration data.
2. A 3D visual point cloud data splicing method according to claim 1, characterized in that: The surface of the calibration block is provided with a plurality of grooves, and the specific process of performing feature matching on two adjacent calibration areas by using a feature matching algorithm includes: Acquire feature points corresponding to the grooves on the surface of the calibration block, and use the feature points corresponding to the grooves as feature points corresponding to the calibration area; The feature points corresponding to two adjacent calibration areas are matched using a feature matching algorithm.
3. A 3D visual point cloud data splicing method, characterized in that: Based on the method described in claim 1 or 2, the point cloud data corresponding to all two adjacent photographing areas of the object to be photographed are spliced to obtain a three-dimensional image of the entire object to be photographed.
4. A 3D visual point cloud data splicing system, characterized in that: The system is used to apply the 3D visual point cloud data stitching method according to claim 1 or 2, wherein the system comprises a robot, a 3D camera, a control device, and a calibration block with two adjacent surfaces having the same structure, the 3D camera is used to take pictures and is connected to the control device for communication, and the robot is used to drive the calibration block and the object to be photographed to move synchronously; After aligning two adjacent faces of the calibration block with two adjacent faces of the object to be photographed, the robot drives the calibration block and the object to be photographed to move synchronously, and the control device is used to execute the following program: Dividing the object to be photographed into a plurality of photographing areas, each of the photographing areas corresponds to a surface of the object to be photographed; Dividing the calibration block into a plurality of calibration areas, each of the calibration areas corresponds to a surface of the calibration block; Acquire point cloud data corresponding to two adjacent photographing areas of the object to be photographed; Acquire matching data corresponding to two adjacent calibration areas of the calibration block, wherein the matching data is obtained by performing feature matching on the two adjacent calibration areas through a feature matching algorithm; Based on the matching data and the calibration data, the point cloud data corresponding to two adjacent photographing areas are stitched together by a preset three-dimensional image stitching algorithm to obtain a three-dimensional image corresponding to two adjacent surfaces of the object to be photographed; Before dividing the object to be photographed into a plurality of photographing areas, the control device is further used to execute the following procedure: Based on the calibration block, obtaining calibration points using a 3D camera; A coordinate conversion relationship is determined according to the camera coordinates of the calibration point and the robot coordinates of the robot at the same calibration point to calibrate the 3D camera and the robot.
5. A 3D visual point cloud data stitching system according to claim 4, characterized in that: The surface of the calibration block is provided with a plurality of grooves, and the specific process of performing feature matching on two adjacent calibration areas by using a feature matching algorithm includes: Acquire feature points corresponding to the grooves on the surface of the calibration block, and use the feature points corresponding to the grooves as feature points corresponding to the calibration area; The feature points corresponding to two adjacent calibration areas are matched using a feature matching algorithm.
6. A computer-readable storage medium storing computer-executable instructions, characterized in that: The computer executable instructions are used to enable a computer to execute a 3D visual point cloud data splicing method as described in any one of claims 1 to 2 or claim 3.
Citation Information
Patent Citations
Calibration block, robot calibration method and calibration device, and storage medium
CN112692833A
Double-mobile measuring robot system and method for ultra-large workpiece
CN108801142A
3D visual point cloud data splicing method and system
CN111223048A