Three-dimensional scanner
Through the synchronous collection and data stitching technology of the first scan module and the second scan module, the problem of adhesion point in the existing three -dimensional scanning technology is solved, and the high -precision unspeakable point scanning and rebuilding data is achieved. The scanning process is time -consuming and labor -intensive.
Patent Information
- Application Number
- CN202421050715.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-15
- Filing Date
- 2024-05-14
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2034-05-14
AI Technical Summary
The existing three-dimensional scanning technology requires sticking marking points on the surface of objects, which makes the scanning process time-consuming and labor-intensive, and the calibration and transfer of marking points are cumbersome.
Collect multiple frames of scanning and reconstruction data to scan the target through the first scan module and the second scan module, and use the splicing result of the first scan module to provide positioning information for the second scan module, to achieve high high that requires no mark point. Accuracy scanning and reconstruction data generation.
With the need to paste the label point, obtain high -precision scanning and reconstruction data, reducing the human consumption and cost of the scanning process.
Smart Images

Figure CN222423748U_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of three-dimensional scanning, and in particular, to a three-dimensional scanner. Background Art
[0002] In the current related technology, when scanning an object, in order to obtain high-precision scanning reconstruction data, it is necessary to stick marking points on the object before scanning, which makes the scanning process time-consuming and laborious. In addition, this method of assisting scanning with marking points also has the problems of marking point calibration and station transfer splicing, which is cumbersome to operate and has high requirements for scanner users.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Utility Model Content
[0004] The embodiment of the present application provides a three-dimensional scanner to at least solve the technical problem that the scanning process is time-consuming and labor-intensive due to the method of sticking marking points on the surface of the scanned object adopted in the related art.
[0005] According to one aspect of an embodiment of the present application, a method for generating scanning and reconstruction data is provided, including: collecting multiple frames of first scanning and reconstruction data of a scene where an object to be scanned is located through a first scanning module, and synchronously collecting multiple frames of second scanning and reconstruction data of the object to be scanned through a second scanning module; splicing the multiple frames of first scanning and reconstruction data to obtain a first splicing result of the object to be scanned; splicing the multiple frames of second scanning and reconstruction data based on external parameters between the first scanning module and the second scanning module, and the first splicing result to obtain a second splicing result of the object to be scanned, wherein the first splicing result is used to provide positioning information for the splicing process of splicing the multiple frames of second scanning and reconstruction data.
[0006] Optionally, stitching multiple frames of second scan reconstruction data according to the first stitching result to obtain a second stitching result of the object to be scanned includes: determining a first stitching matrix according to the first stitching result, wherein the first stitching result includes target features, and the target features are common features between multiple frames of first scan reconstruction data; stitching multiple frames of second scan reconstruction data according to the first stitching matrix to obtain a second stitching result.
[0007] Optionally, stitching multiple frames of second scan reconstruction data according to the first stitching matrix to obtain a second stitching result includes: determining external parameters between the first scanning module and the second scanning module, wherein the external parameters are used to determine the conversion relationship between the data collected by the first scanning module and the second scanning module; obtaining a second stitching matrix based on the external parameters and the first stitching matrix; and stitching the second scan reconstruction data according to the second stitching matrix to obtain a second stitching result.
[0008] Optionally, the scanning and reconstruction data generation method also includes: before collecting multiple frames of first scanning and reconstruction data of the scene where the object to be scanned is located through the first scanning module, and synchronously collecting multiple frames of second scanning and reconstruction data of the object to be scanned through the second scanning module, calibrating the first scanning module and the second scanning module, determining the external parameters between the first scanning module and the second scanning module, so that the first scanning module and the second scanning module have a unified coordinate system.
[0009] Optionally, the scanning and reconstruction data generation method also includes: stitching multiple frames of second scanning and reconstruction data according to the first stitching result, and after obtaining the second stitching result, performing iterative nearest point optimization processing on the second stitching result to obtain a third stitching result, wherein the data accuracy of the third stitching result is greater than the data accuracy of the second stitching result.
[0010] Optionally, stitching multiple frames of first scan reconstruction data to obtain a first stitching result of the object to be scanned includes: using a third stitching matrix to stitch multiple frames of first scan reconstruction data to obtain a first stitching result, wherein the third stitching matrix is an initial stitching matrix in the first scanning module, and the initial stitching matrix is a stitching matrix determined based on an initial posture provided by an inertial measurement unit in the first scanning module.
[0011] Optionally, the first scanning module includes a lidar scanning module or a time-of-flight scanning module, the second scanning module includes a structured light scanning module, and the first scanning reconstruction data and the second scanning reconstruction data are three-dimensional point cloud data generated based on synchronous acquisition by the first scanning module and the second scanning module.
[0012] Optionally, the scanning distance of the first scanning module is not less than the scanning distance of the second scanning module, wherein the scanning distance of the first scanning module ranges from 2 to 5 meters, and the scanning distance of the second scanning module ranges from 0.5 to 2 meters.
[0013] Optionally, the scanning ranges of the first scanning module and the second scanning module do not overlap, and the first scanning module scans a peripheral area of the object to be scanned.
[0014] Optionally, when the scanning ranges of the first scanning module and the second scanning module overlap, the scanning and reconstruction data generating method also includes: splicing the first scanning and reconstruction data and the second scanning and reconstruction data acquired synchronously based on common features to obtain third scanning and reconstruction data; and splicing multiple frames of the third scanning and reconstruction data to obtain a splicing result of the object to be scanned.
[0015] According to another aspect of an embodiment of the present application, a three-dimensional scanner is also provided, including a first scanning module, a second scanning module, and a control module, wherein the first scanning module includes a laser radar scanning module, and the second scanning module includes a structured light scanning module; the control module is used to control the three-dimensional scanner to operate in a scanning mode, wherein the scanning mode of the three-dimensional scanner includes: a combined scanning mode; in the combined scanning mode, the control module controls the first scanning module and the second scanning module to operate synchronously, and the first scanning module is used to assist the second scanning module in positioning.
[0016] Optionally, the scanning mode includes multiple scanning modes, and the control module controls the scanning mode switching and controls the three-dimensional scanner to work according to the selected scanning mode.
[0017] Optionally, the scanning mode includes a lidar scanning mode, in which the control module controls the lidar scanning module to work and the structured light scanning module does not work; the scanning mode includes a structured light scanning mode, in which the control module controls the structured light scanning module to work and the lidar scanning module does not work.
[0018] Optionally, the three-dimensional scanner also includes a processing module, which is used to obtain multiple frames of first scanning reconstruction data of the object to be scanned through the first scanning module, and to obtain multiple frames of second scanning reconstruction data of the object to be scanned through the second scanning module. In the combined scanning mode, the module is used to splice the multiple frames of first scanning reconstruction data to obtain a first splicing result of the object to be scanned, and to splice the multiple frames of second scanning reconstruction data based on the first splicing result to obtain a second splicing result of the object to be scanned.
[0019] Optionally, the scanning distance of the first scanning module is not less than the scanning distance of the second scanning module, wherein the scanning distance of the first scanning module ranges from 2 to 5 meters, and the scanning distance of the second scanning module ranges from 0.5 to 2 meters.
[0020] Optionally, when the scanning ranges of the first scanning module and the second scanning module overlap, the scanning bands of the first scanning module and the second scanning module are different.
[0021] Optionally, the scanning ranges of the first scanning module and the second scanning module do not overlap, and the scanning directions of the first scanning module and the second scanning module are different.
[0022] Optionally, the scanning direction of the first scanning module is perpendicular to the scanning direction of the second scanning module.
[0023] Optionally, the first scanning module includes a time-of-flight scanning module.
[0024] Optionally, the three-dimensional scanner further includes a display module, and the display module is used to display the scanning and reconstruction data acquired by the first scanning module and the second scanning module.
[0025] According to another aspect of an embodiment of the present application, a scanning and reconstruction data generating device is also provided, including: an acquisition module, used to acquire multiple frames of first scanning and reconstruction data of a scene where an object to be scanned is located through a first scanning module, and synchronously acquire multiple frames of second scanning and reconstruction data of the object to be scanned through a second scanning module; a first processing module, used to splice the multiple frames of first scanning and reconstruction data to obtain a first splicing result of the object to be scanned; and a second processing module, used to splice the multiple frames of second scanning and reconstruction data based on external parameters between the first scanning module and the second scanning module, and the first splicing result, to obtain a second splicing result of the object to be scanned, wherein the first splicing result is used to provide positioning information for the splicing process of splicing multiple frames of second scanning and reconstruction data.
[0026] According to another aspect of an embodiment of the present application, a non-volatile storage medium is provided, in which a program is stored, wherein when the program is executed, a device where the non-volatile storage medium is located is controlled to execute the scanning and reconstruction data generating method.
[0027] According to another aspect of an embodiment of the present application, there is further provided an electronic device, comprising: a memory and a processor, wherein the processor is configured to run a program stored in the memory, wherein the scanning and reconstruction data generating method is executed when the program is run.
[0028] In an embodiment of the present application, a first scanning module is used to collect multiple frames of first scanning and reconstruction data of a scene where an object to be scanned is located, and a second scanning module is used to synchronously collect multiple frames of second scanning and reconstruction data of the object to be scanned, wherein the scanning range when the first scanning module collects each frame of the first scanning and reconstruction data is larger than the scanning range when the second scanning module collects each frame of the second scanning and reconstruction data; the multiple frames of the first scanning and reconstruction data are spliced to obtain a first splicing result of the object to be scanned; the multiple frames of the second scanning and reconstruction data are spliced according to the external parameters between the first scanning module and the second scanning module, and the first splicing result to obtain a second splicing result of the object to be scanned, wherein the first splicing result is used to provide positioning information for the splicing process of splicing multiple frames of the second scanning and reconstruction data, and by using the splicing result of the first scanning module to provide positioning for the splicing process of the second scanning module, the purpose of using the splicing result of the first scanning module to assist the splicing process of the second scanning module is achieved, thereby achieving the technical effect of obtaining high-precision scanning and reconstruction data without pasting marking points, thereby solving the technical problem of time-consuming and labor-intensive scanning process caused by the method of pasting marking points on the surface of the scanned object in the related art. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0030] Figure 1 is a schematic structural diagram of a three-dimensional scanner provided according to an embodiment of the present application;
[0031] Figure 2 It is a schematic diagram of a workflow of a three-dimensional scanner provided according to an embodiment of the present application;
[0032] Figure 3 It is a flowchart of a method for generating scanning and reconstruction data according to an embodiment of the present application;
[0033] Figure 4 is a structural schematic diagram of a scanning and reconstruction data generating device provided according to an embodiment of the present application;
[0034] Figure 5 It is a structural schematic diagram of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION
[0035] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0036] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0037] In the related art, when scanning an object to be scanned, it is usually necessary to manually paste multiple marking points on the surface of the object to be scanned, which makes the entire scanning process too long and time-consuming and labor-intensive. In addition, multiple marking points also increase the scanning cost of the scanning process, and there are problems with the calibration of marking points and the transfer and splicing of stations, which makes the scanning process more cumbersome. In order to solve this problem, a relevant solution is provided in the embodiment of the present application, which is described in detail below.
[0038] According to an embodiment of the present application, a method embodiment of a method for generating scanning reconstruction data is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0039] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 The scanner shown is performed. Figure 1 It is a schematic diagram of the structure of a scanner with two scanning modules. Figure 1 It can be seen that the scanner includes a first scanning module 10, a second scanning module 12 and a control module 14. The first scanning module includes a laser radar scanning module, and the second scanning module includes a structured light scanning module; the control module 14 is used to control the three-dimensional scanner to work in a scanning mode, wherein the scanning mode of the three-dimensional scanner includes: a combined scanning mode; in the combined scanning mode, the control module controls the first scanning module 10 and the second scanning module 12 to work synchronously, and the first scanning module 10 is used to assist the second scanning module 12 in positioning.
[0040] In some embodiments of the present application, the scanning mode includes multiple scanning modes, and the control module controls the scanning mode switching and controls the three-dimensional scanner to work according to the selected scanning mode.
[0041] As an optional implementation mode, the scanning mode includes a lidar scanning mode, in which the control module controls the lidar scanning module to work and the structured light scanning module does not work; the scanning mode includes a structured light scanning mode, in which the control module controls the structured light scanning module to work and the lidar scanning module does not work.
[0042] In some embodiments of the present application, the three-dimensional scanner also includes a processing module, which is used to obtain multiple frames of first scanning reconstruction data of the object to be scanned through a first scanning module, and to obtain multiple frames of second scanning reconstruction data of the object to be scanned through a second scanning module. In a combined scanning mode, the module is used to splice the multiple frames of first scanning reconstruction data to obtain a first splicing result of the object to be scanned, and to splice the multiple frames of second scanning reconstruction data based on the first splicing result to obtain a second splicing result of the object to be scanned.
[0043] In some embodiments of the present application, the scanning distance of the first scanning module 10 is not less than the scanning distance of the second scanning module 12, wherein the scanning distance of the first scanning module 10 ranges from 2 to 5 meters, and the scanning distance of the second scanning module 12 ranges from 0.5 to 2 meters.
[0044] When the scanning ranges of the first scanning module 10 and the second scanning module 12 overlap, the scanning bands of the first scanning module 10 and the second scanning module 12 are different.
[0045] In some embodiments of the present application, the scanning ranges of the first scanning module 10 and the second scanning module 12 do not overlap, and the first scanning module 10 and the second scanning module 12 have different orientations, which can be opposite, vertical, or other angles that make the scanning ranges of the first scanning module 10 and the second scanning module 12 non-overlap. For example, the first scanning module 10 scans the upper area of the three-dimensional scanner, and the second scanning module 12 scans the front area of the three-dimensional scanner, or the first scanning module 10 scans the front area, and the second scanning module 12 scans the upper area.
[0046] Specifically, the front area of the three-dimensional scanner can be set by oneself. For example, the direction of the three-dimensional scanner facing the object to be scanned can be set as the front of the three-dimensional scanner.
[0047] In some embodiments of the present application, the scanning ranges of the first scanning module 10 and the second scanning module 12 do not overlap, and the first scanning module 10 scans the front area of the three-dimensional scanner and the second scanning module 12 scans the rear area of the three-dimensional scanner, or the first scanning module 10 scans the rear area and the second scanning module 12 scans the front area.
[0048] In some embodiments of the present application, the first scanning module 10 includes a time-of-flight scanning module.
[0049] In some embodiments of the present application, the three-dimensional scanner further includes a display module, and the display module is used to display the scanning and reconstruction data acquired by the first scanning module 10 and the second scanning module 12 .
[0050] As an optional implementation mode, in the combined scanning mode, when scanning the object to be scanned, the first scanning module 10 and the second scanning module 12 will scan synchronously, the first scanning module 10 scans the scene where the object to be scanned is located, and the second scanning module scans the object to be scanned, and then the scanning and reconstruction data of the first scanning module 10 will be spliced first, and a splicing matrix with higher accuracy will be constructed according to the splicing result, and then the scanning and reconstruction data of the second scanning module will be spliced according to the newly obtained splicing matrix. It should be noted that the first scanning module and the second scanning module are relatively fixed during the scanning process, but the two have different acquisition fields of view to reduce the interference between the first scanning module and the second scanning module. For example, the first scanning module faces the surrounding scene of the object to be scanned, and the second scanning module faces the object to be scanned. At this time, the use bands of the first scanning module and the second scanning module are not restricted, and the same band or different bands can be used. Of course, the first scanning module and the second scanning module may also have the same collection field of view, or have an overlapping collection field of view. In this case, the use bands of the first scanning module and the second scanning module may adopt non-interfering bands. For example, the use band of the first scanning module is invisible infrared light, and the use band of the second scanning module is visible light, so as to reduce interference between the first scanning module and the second scanning module.
[0051] In some embodiments of the present application, the complete workflow of the above-mentioned scanner is as follows: Figure 2 As shown, the following steps are included:
[0052] Step S202, performing system calibration on the first scanning module and the second scanning module, so as to unify the scanning and reconstruction data of the first scanning module and the second scanning module into a unified coordinate system;
[0053] Step S204, the first scanning module and the second scanning module scan synchronously;
[0054] Step S206, performing initial splicing on the scanned and reconstructed data of the first scanning module according to the initial conversion matrix provided by the inertial measurement unit IMU in the first scanning module;
[0055] Step S208, performing ICP optimization on the initial splicing result, and obtaining an accurate conversion matrix according to the optimized initial splicing result;
[0056] Step S210, calling the precise transformation matrix to stitch the scanned and reconstructed data of the second scanning module, that is, in the process of stitching the scanned and reconstructed data of the second scanning module, positioning is performed according to the stitching result of the first scanning module.
[0057] Under the above operating environment, the present application embodiment provides a method for generating scanning reconstruction data, such as Figure 3 As shown, the method comprises the following steps:
[0058] Step S302, collecting multiple frames of first scanning and reconstruction data of the scene where the object to be scanned is located by the first scanning module, and synchronously collecting multiple frames of second scanning and reconstruction data of the object to be scanned by the second scanning module;
[0059] In some embodiments of the present application, the first scanning module includes a laser radar scanning module or a time-of-flight (TOF) scanning module, and the second scanning module includes a structured light scanning module. The first scanning module also has a built-in inertial measurement unit IMU, and the initial posture information provided by the IMU can be used to determine the initial stitching matrix to roughly stitch the scanning and reconstruction data of the first scanning module. It should be noted that the first scanning and reconstruction data and the second scanning and reconstruction data are scanning and reconstruction data (i.e., 3D images) generated by three-dimensional reconstruction based on the 2D images synchronously collected by the first scanning module and the second scanning module, i.e., three-dimensional point cloud data. The data collected by the first scanning module includes the first scanning and reconstruction data and the 2D image, and the data collected by the second scanning module includes the second scanning and reconstruction data and the 2D image. The multiple frames of the first scanning and reconstruction data collected by the first scanning module include the three-dimensional point cloud data of the object to be scanned and the scene where the object to be scanned is located, and the multiple frames of the second scanning and reconstruction data collected by the second scanning module include the three-dimensional point cloud data of the object to be scanned.
[0060] In the technical solution provided in step S302, before collecting multiple frames of first scanning reconstruction data of the scene where the object to be scanned is located through the first scanning module and collecting multiple frames of second scanning reconstruction data of the object to be scanned through the second scanning module, the first scanning module and the second scanning module can be calibrated. After the calibration, the external parameters between the first scanning module and the second scanning module can be determined, so that the first scanning module and the second scanning module have a unified coordinate system.
[0061] Specifically, the first scanning module and the second scanning module are calibrated, and the external parameters between the first scanning module and the second scanning module are obtained through calibration to determine the conversion relationship between the scanning and reconstruction data collected by the first scanning module and the second scanning module, that is, to unify the scanning and reconstruction data of the first scanning module and the second scanning module into a unified coordinate system, so as to facilitate the subsequent use of the scanning and reconstruction data of the first scanning module to construct a stitching matrix of the second scanning module.
[0062] As an optional implementation, the scanning distance of the first scanning module is greater than the scanning distance of the second scanning module. For example, the scanning distance of the first scanning module may be in the range of 2-5 meters, and the scanning distance of the second scanning module may be in the range of 0.5-2 meters.
[0063] Step S304, splicing multiple frames of first scan reconstruction data to obtain a first splicing result of the object to be scanned;
[0064] In the technical solution provided in step S304, stitching multiple frames of first scan reconstruction data to obtain a first stitching result includes: stitching multiple frames of first scan reconstruction data using a third stitching matrix to obtain a first stitching result, wherein the third stitching matrix is an initial stitching matrix of the multiple frames of first scan reconstruction data collected and generated by the first scanning module, and the initial stitching matrix is a stitching matrix determined based on the inertial measurement unit IMU in the first scanning module, that is, the inertial measurement unit IMU of the first scanning module continuously collects multiple postures of the first scanning module during the scanning movement, and determines the corresponding stitching matrix between the multiple frames of first scan reconstruction data based on the multiple postures as the initial stitching matrix between the multiple frames of first scan reconstruction data. For example, the first scanning module is moved to a first posture, the inertial measurement unit IMU of the first scanning module collects and generates the first posture and the first scanning reconstruction data A is collected and generated by the first scanning module, the first scanning module is moved to a second posture, the inertial measurement unit IMU of the first scanning module collects and generates the second posture and the first scanning reconstruction data B is collected and generated by the first scanning module, based on the first posture and the second posture collected and generated by the inertial measurement unit IMU, the posture change matrix of the first scanning module during the mobile scanning process can be determined, and the posture change matrix is used as the initial splicing matrix between the first scanning reconstruction data A and the first scanning reconstruction data B.
[0065] As an optional implementation, the first scanning and reconstruction data is three-dimensional point cloud data obtained by three-dimensional reconstruction based on the 2D image collected by the first scanning module, that is, scanning and reconstruction data. After obtaining multiple frames of three-dimensional point cloud data, coarse splicing can be performed according to multiple initial splicing matrices generated by the acquisition data of the IMU built into the first scanning module to obtain a first splicing result, and after the coarse splicing, the first splicing result is refined and optimized by ICP (iterative closest point optimization processing) to improve the data accuracy of the coarse splicing result (that is, the first splicing result), thereby obtaining multiple first splicing matrices between multiple frames of first scanning and reconstruction data, that is, the final splicing matrix obtained after coarse splicing and refinement optimization between multiple frames of first scanning and reconstruction data.
[0066] It should be noted that the first scan reconstruction data of a frame of the LiDAR scanning module is a set or partial set of points generated by scanning the complete FOV field of view. When stitching two adjacent frames of first scan reconstruction data, the pose information provided by the IMU is used to determine the initial stitching matrix and perform stitching.
[0067] Specifically, when scanning, the LiDAR scanning module will emit multiple laser points to form a laser line, and render it in a preset exposure cycle so that the laser line scans a certain area to obtain a surface. In other words, the data collected by the LiDAR scanning module in one exposure cycle can be regarded as the data corresponding to multiple laser lines spliced together. And when the LiDAR splices the data collected in the same exposure cycle, it can rely on the mechanical optical devices of the LiDAR scanning module itself to splice the data. For the scanned and reconstructed data corresponding to different exposure cycles, the posture information provided by the IMU can be used to determine the initial stitching matrix and perform stitching, and perform subsequent optimization, such as iterative nearest point optimization.
[0068] Step S306, stitching multiple frames of second scan reconstruction data based on the external parameters between the first scanning module and the second scanning module and the first stitching result to obtain a second stitching result of the object to be scanned, wherein the first stitching result is used to provide positioning information for the stitching process of stitching multiple frames of second scan reconstruction data.
[0069] In the technical solution provided in step S306, the second scan reconstruction data is spliced according to the external parameters between the first scan module and the second scan module and the first splicing result to obtain the second splicing result, including: determining the first splicing matrix according to the first splicing result, wherein the first splicing result includes target features, which are common features between multiple frames of first scan reconstruction data; splicing the second scan reconstruction data according to the first splicing matrix to obtain the second splicing result. It should be noted that the target features are generally target geometric features.
[0070] Specifically, since the first stitching result contains rich geometric features, it is helpful for stitching optimization. Therefore, the first stitching result can be further optimized by using the geometric features of the first stitching result to determine the final stitching matrix between multiple frames of first scan reconstruction data, that is, the first stitching matrix, and used to stitch the second scan reconstruction data, that is, to provide positioning in the process of stitching the second scan reconstruction data.
[0071] As an optional implementation, the second scan reconstruction data is stitched according to the external parameters between the first scan module and the second scan module, and the first stitching matrix to obtain a second stitching result, including: determining the external parameters between the first scan module and the second scan module, wherein the external parameters are used to determine the conversion relationship between the data collected by the first scan module and the second scan module; obtaining the second stitching matrix according to the external parameters and the first stitching matrix; and stitching the second scan reconstruction data according to the second stitching matrix to obtain a second stitching result.
[0072] Specifically, the above external parameters characterize the relative position relationship between the first scanning module and the second scanning module. The above conversion relationship refers to the conversion relationship between the data collected by the first scanning module and the data collected by the second scanning module. By determining the conversion relationship between the data collected by the two scanning modules, the conversion relationship between the splicing matrix of the multi-frame data collected by the first scanning module and the splicing matrix of the multi-frame data collected by the second scanning module can be determined. In this way, through the calibration data (i.e., external parameters) of each of the two scanning modules, the first splicing matrix corresponding to the first scanning module can be converted into the second splicing matrix corresponding to the second scanning module.
[0073] When determining the second stitching matrix, the pose matrix of the first scanning module relative to the reference coordinate system can be determined based on the external parameters and the first stitching matrix. It should be noted that the first scanning module and the second scanning module correspond to the same reference coordinate system. Then, the pose transformation relationship of the second scanning module relative to the reference coordinate system can be determined based on the external parameters. Then, based on the pose matrix of the first scanning module and the pose transformation relationship of the second scanning module relative to the reference coordinate system, the conversion relationship of the stitching matrix between the first scanning module and the second scanning module is determined, and then the second stitching matrix is obtained based on the conversion relationship of the stitching matrix between the first scanning module and the second scanning module and the first stitching matrix.
[0074] As an optional implementation, the data collected by the second scanning module includes a structured light image modulated by the object to be scanned. Specifically, the second scanning module projects a preset structured light image onto the object to be scanned, and then collects the structured light image modulated and deformed by the object to be scanned. Three-dimensional point cloud data can then be obtained based on the deformation of the structured light image. After obtaining the three-dimensional point cloud data, the second stitching matrix is called to stitch the three-dimensional point cloud data to obtain a second stitching result. It should be noted that the structured light image can be a point structured light image, a line structured light image, or a surface structured light image, for example, a grating image.
[0075] In some embodiments of the present application, the second scan reconstructed data is stitched based on the first stitching result to obtain the second stitching result, and then the second stitching result can be iteratively processed with the closest point optimization (ICP) to obtain a third stitching result, wherein the data accuracy of the third stitching result is greater than the data accuracy of the second stitching result.
[0076] As an optional implementation, when the first scanning module and the second scanning module adopt TOF (Time offlight, time of flight) technology, stitching can be achieved without the need for IMU. Specifically, during the scanning process of the target object, after the first scanning module collects data, it can directly perform 3D matching and stitching with the previous frame data or the overall frame data of the scanned object to obtain a rough stitching matrix M0, and perform real-time ICP optimization based on the geometric features of the target object contained in the collected data to obtain a more accurate scene stitching matrix M1. Then M1 and the calibration data are calculated to convert it into the stitching matrix M2 of the second scanning module.
[0077] When the second scanning module stitches the acquired scan data, it will first perform real-time rough stitching according to the stitching matrix M2, and perform ICP refinement processing on the stitching result according to the acquired data to obtain a stitching result with higher accuracy. After all data scanning and acquisition are completed, the stitching result of the second scanning module at this time will be globally optimized and fused, so that a complete and high-detailed scanning result of the target object can be obtained without attaching points on the surface of the target object, and the detail integrity and high accuracy of the scanning result are guaranteed.
[0078] In addition, when using TOF scanning, the scanning depth of field is closer than that of radar, and the data quality is also higher. Therefore, when the requirements for overall data details are low, but the details and accuracy of some areas are high, the scanning data in the second scanning module can be directly used to replace the data of the corresponding area in the first scanning module, thereby realizing the details of local data.
[0079] It should be noted that when the TOF scanning module and the radar scanning module acquire a frame of scanning and reconstruction data, they continuously collect scanning and reconstruction data of the object to be scanned multiple times within a preset time period, and then splice all the data within the time period into a frame of scanning and reconstruction data. The splicing referred to in the embodiment of the present application refers to the splicing of scanning and reconstruction data between different frames, and does not involve the splicing of data within the frame. In summary, in the scanning and reconstruction data generation method provided in the embodiment of the present application, the scanning and reconstruction data of a large scene (such as the scene where the object to be scanned is located) and a small scene (such as the object to be scanned) are synchronously collected by the first scanning module and the second scanning module, and the scanning and reconstruction data collected by the first scanning module are roughly spliced according to the initial splicing matrix determined based on the measurement data of the built-in IMU of the first scanning module, and then the rough splicing result is optimized in real time by ICP according to the geometric features of the object to be scanned in the rough splicing result, that is, a splicing matrix M1 with higher accuracy than the initial splicing matrix is obtained according to the optimized rough splicing result, and M1 represents the final splicing matrix of the scanning and reconstruction data collected by the first scanning module. After obtaining M1, the calibration data (i.e., external parameters) of the first scanning module and the second scanning module are used to calculate M1 to obtain the stitching matrix M2 corresponding to the scanned reconstruction data collected by the second scanning module. The stitching matrix M2 is used to stitch the scanned reconstruction data collected by the second scanning module, and then the stitching result is subjected to ICP refinement processing to obtain high-precision three-dimensional scanned reconstruction data of the small scene. After that, the three-dimensional reconstruction data of all small scenes are globally optimized and fused to obtain high-precision three-dimensional scanned reconstruction data of the small scene.
[0080] In some embodiments of the present application, in addition to determining the stitching matrix for stitching the second scanning reconstruction data collected by the second scanning module through the first scanning reconstruction data collected by the first scanning module, different methods can be used to achieve stitching of the second scanning reconstruction data by using the first scanning reconstruction data to guide the first scanning reconstruction data according to whether the scanning ranges of the first scanning module and the second scanning module overlap.
[0081] Specifically, when the scanning ranges of the first scanning module and the second scanning module do not overlap, and the first scanning module scans the peripheral area of the object to be scanned, and the second scanning module scans the belt scanning object, it is possible to determine the first position change relationship of the first scanning module when acquiring the first scanning reconstruction data of different frames during the process of splicing the first scanning data; determine the second position change relationship of the second scanning module when acquiring the second scanning reconstruction data of different frames based on the relative position relationship between the first scanning module and the second scanning module; and splice multiple frames of second scanning reconstruction data based on the second position change relationship to obtain a second splicing result of the object to be scanned.
[0082] It should be noted that the above position change relationship can be reflected by a splicing matrix. For example, the first position and change relationship can be reflected by a first splicing matrix, and the second position change relationship can be reflected by a second splicing matrix.
[0083] When the scanning ranges between the first scanning module and the second scanning module overlap, the first scanning reconstruction data and the second scanning reconstruction data acquired synchronously can be spliced based on common features to obtain third scanning reconstruction data; multiple frames of third scanning reconstruction data can be spliced to obtain the splicing result of the object to be scanned.
[0084] In addition, it should be noted that the scan reconstruction data finally obtained may include the first scan reconstruction data obtained by scanning the first scanning module and the second scan reconstruction data obtained by scanning the second scanning module, or may only include the second scan reconstruction data obtained by scanning the second scanning module. In the case of non-overlapping, the scan reconstruction data may be obtained by splicing the second scan reconstruction data obtained by scanning the second scanning module. In the case of overlapping, the scan reconstruction data may be obtained by splicing the first scan reconstruction data obtained by scanning the first scanning module and the second scan reconstruction data obtained by scanning the second scanning module. Furthermore, in the case of overlapping, the common feature area in the first scan reconstruction data and the second scan reconstruction data is replaced by the second scan reconstruction data.
[0085] As an optional implementation, when the scanning ranges of the first scanning module and the second scanning module overlap, the first scanning module and the second scanning module may have different scanning bands to avoid mutual interference between the first scanning module and the second scanning module.
[0086] It can be seen that by adopting the scanning and reconstruction data generation method provided in the embodiment of the present application, high-precision scanning and reconstruction data can still be obtained without the need to stick marking points, thereby reducing the manpower consumption and scanning cost of the scanning process.
[0087] And by using a first scanning module to collect multiple frames of first scanning and reconstruction data of the scene where the object to be scanned is located, and by using a second scanning module to collect multiple frames of second scanning and reconstruction data of the object to be scanned; the multiple frames of first scanning and reconstruction data are spliced to obtain a first splicing result of the object to be scanned; based on the external parameters between the first scanning module and the second scanning module, and the first splicing result, the multiple frames of second scanning and reconstruction data are spliced to obtain a second splicing result of the object to be scanned, wherein the first splicing result is used to provide positioning information for the splicing of multiple frames of second scanning and reconstruction data, and by using the splicing result of the first scanning module to provide positioning for the splicing of the second scanning module, the purpose of using the first scanning module to assist the splicing of the second scanning module is achieved, thereby realizing the technical effect of obtaining high-precision scanning and reconstruction data without pasting marking points, thereby solving the technical problem of time-consuming and labor-intensive scanning process caused by the method of pasting marking points on the surface of the scanned object adopted in the related technology.
[0088] The present application embodiment provides a scanning reconstruction data generation device, Figure 4 is a schematic diagram of the structure of the device. Figure 4 As shown, the device includes: an acquisition module 40, which is used to acquire multiple frames of first scanning and reconstruction data of the scene where the object to be scanned is located through a first scanning module, and synchronously acquire multiple frames of second scanning and reconstruction data of the object to be scanned through a second scanning module; a first processing module 42, which is used to splice the multiple frames of first scanning and reconstruction data to obtain a first splicing result of the object to be scanned; a second processing module 44, which is used to splice the multiple frames of second scanning and reconstruction data according to the external parameters between the first scanning module and the second scanning module, and the first splicing result, to obtain a second splicing result of the object to be scanned, wherein the first splicing result is used to provide positioning information for the splicing of the multiple frames of second scanning and reconstruction data.
[0089] In some embodiments of the present application, the first scanning module includes a lidar scanning module or a time-of-flight scanning module, the second scanning module includes a structured light scanning module, and the first scanning reconstruction data and the second scanning reconstruction data are three-dimensional point cloud data generated based on the synchronous acquisition of the first scanning module and the second scanning module.
[0090] In some embodiments of the present application, before collecting multiple frames of first scanning reconstruction data of the object to be scanned by the first scanning module, and collecting multiple frames of second scanning reconstruction data of the object to be scanned by the second scanning module, the scanning reconstruction data generating device is also used to: calibrate the first scanning module and the second scanning module, determine the external parameters between the first scanning module and the second scanning module, so that the first scanning module and the second scanning module have a unified coordinate system.
[0091] In some embodiments of the present application, the first processing module 42 stitches multiple frames of first scan reconstruction data to obtain a first stitching result of the object to be scanned, including: using a third stitching matrix to stitch multiple frames of first scan reconstruction data to obtain a first stitching result, wherein the third stitching matrix is an initial stitching matrix in the first scanning module, and the initial stitching matrix is a stitching matrix determined based on an initial posture provided by an inertial measurement unit in the first scanning module.
[0092] In some embodiments of the present application, the second processing module 44 stitches multiple frames of second scan reconstruction data based on the external parameters between the first scanning module and the second scanning module, and the first stitching result to obtain a second stitching result of the object to be scanned, including: determining a first stitching matrix based on the first stitching result, wherein the first stitching result includes target features, which are common features between multiple frames of first scan reconstruction data; stitching multiple frames of second scan reconstruction data based on the external parameters between the first scanning module and the second scanning module, and the first stitching matrix to obtain a second stitching result.
[0093] In some embodiments of the present application, the second processing module 44 stitches multiple frames of second scan reconstruction data based on the external parameters between the first scan module and the second scan module, and the first stitching matrix to obtain a second stitching result, including: determining the external parameters between the first scan module and the second scan module, wherein the external parameters are used to determine the conversion relationship between the data collected by the first scan module and the second scan module; obtaining a second stitching matrix based on the external parameters and the first stitching matrix; and stitching the second scan reconstruction data based on the second stitching matrix to obtain a second stitching result.
[0094] In some embodiments of the present application, the second processing module 44 stitches multiple frames of second scan reconstruction data based on the first stitching result to obtain the second stitching result, and is further used to perform iterative nearest point optimization processing on the second stitching result to obtain a third stitching result, wherein the data accuracy of the third stitching result is greater than the data accuracy of the second stitching result.
[0095] In some embodiments of the present application, the scanning distance of the first scanning module is not less than the scanning distance of the second scanning module, wherein the scanning distance of the first scanning module ranges from 2 to 5 meters, and the scanning distance of the second scanning module ranges from 0.5 to 2 meters.
[0096] In some embodiments of the present application, the scanning ranges of the first scanning module and the second scanning module do not overlap, and the first scanning module scans the surrounding area of the object to be scanned; the scanning and reconstruction data generating device is also used to: in the process of splicing the first scanning data, determine the first position change relationship of the first scanning module when acquiring the first scanning and reconstruction data of different frames; based on the relative position relationship between the first scanning module and the second scanning module, determine the second position change relationship of the second scanning module when acquiring the second scanning and reconstruction data of different frames; splice multiple frames of second scanning and reconstruction data based on the second position change relationship to obtain a second splicing result of the object to be scanned.
[0097] In some embodiments of the present application, when the scanning ranges of the first scanning module and the second scanning module overlap, the scanning and reconstruction data generating device is also used to: splice the synchronously acquired first scanning and reconstruction data and the second scanning and reconstruction data based on common features to obtain third scanning and reconstruction data; and splice multiple frames of the third scanning and reconstruction data to obtain a splicing result of the object to be scanned.
[0098] It should be noted that the various modules in the above-mentioned scanning and reconstruction data generating device can be program modules (for example, a set of program instructions that implement a certain specific function) or hardware modules. For the latter, it can be expressed in the following forms, but is not limited to this: the expression form of each of the above-mentioned modules is a processor, or the functions of each of the above-mentioned modules are implemented by a processor.
[0099] Figure 5 The hardware structure block diagram of an electronic device for implementing the scanning reconstruction data generation method is shown, and the electronic device may be a computer terminal or a mobile device. Figure 5 As shown, the computer terminal 50 (or mobile device 50) may include one or more (502a, 502b, ..., 502n are used to illustrate) processors 502 (the processor 502 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 504 for storing data, and a transmission module 506 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 5 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 5 More or fewer components as shown, or with Figure 5 Different configurations are shown.
[0100] It should be noted that the one or more processors 502 and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuits may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components in the computer terminal 50 (or mobile device). As described in the embodiments of the present application, the data processing circuit acts as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0101] The memory 504 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the scanning reconstruction data generation method in the embodiment of the present application. The processor 502 executes various functional applications and data processing by running the software programs and modules stored in the memory 504, that is, the above-mentioned scanning reconstruction data generation method is realized. The memory 504 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 504 may further include a memory remotely arranged relative to the processor 502, and these remote memories may be connected to the computer terminal 50 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0102] The transmission device 506 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the computer terminal 50. In one example, the transmission device 506 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 506 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0103] The display may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the computer terminal 50 (or mobile device).
[0104] According to an embodiment of the present application, a non-volatile storage medium is also provided. A program is stored in the non-volatile storage medium, wherein the following scanning and reconstruction data generation method is executed when the program is running: multiple frames of first scanning and reconstruction data of the object to be scanned are collected by the first scanning module, and multiple frames of second scanning and reconstruction data of the object to be scanned are collected by the second scanning module; multiple frames of first scanning and reconstruction data are spliced to obtain a first splicing result of the object to be scanned; multiple frames of second scanning and reconstruction data are spliced according to external parameters between the first scanning module and the second scanning module, and the first splicing result to obtain a second splicing result of the object to be scanned, wherein the first splicing result is used to provide positioning information for the splicing process of splicing multiple frames of second scanning and reconstruction data.
[0105] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0106] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0107] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0108] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0109] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology or all or part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc. Various media that can store program codes.
[0110] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A three-dimensional scanner, characterized in that: It includes a first scanning module, a second scanning module, and a control module, wherein: The first scanning module includes a laser radar scanning module, and the second scanning module includes a structured light scanning module; The control module is used to control the three-dimensional scanner to work in a scanning mode, wherein the scanning mode of the three-dimensional scanner includes: a combined scanning mode; In the combined scanning mode, the control module controls the first scanning module and the second scanning module to work synchronously, and the first scanning module is used to assist the second scanning module in positioning.
2. The three-dimensional scanner according to claim 1, characterized in that: The scanning mode includes multiple scanning modes, and the control module controls the scanning mode switching and controls the three-dimensional scanner to work according to the selected scanning mode.
3. The three-dimensional scanner according to claim 1, characterized in that: The scanning mode includes a lidar scanning mode, in which the control module controls the lidar scanning module to work and the structured light scanning module not to work; the scanning mode includes a structured light scanning mode, in which the control module controls the structured light scanning module to work and the lidar scanning module not to work.
4. The three-dimensional scanner according to claim 1, characterized in that: The three-dimensional scanner also includes a processing module, which is used to obtain multiple frames of first scanning and reconstruction data of the object to be scanned through a first scanning module, and to obtain multiple frames of second scanning and reconstruction data of the object to be scanned through a second scanning module. In a combined scanning mode, the processing module is used to splice multiple frames of the first scanning and reconstruction data to obtain a first splicing result of the object to be scanned, and to splice multiple frames of the second scanning and reconstruction data based on the first splicing result to obtain a second splicing result of the object to be scanned.
5. The three-dimensional scanner according to claim 1, characterized in that: The scanning distance of the first scanning module is not less than the scanning distance of the second scanning module, wherein the scanning distance of the first scanning module ranges from 2 to 5 meters, and the scanning distance of the second scanning module ranges from 0.5 to 2 meters.
6. The three-dimensional scanner according to claim 1, characterized in that: When the scanning ranges of the first scanning module and the second scanning module overlap, the scanning bands of the first scanning module and the second scanning module are different.
7. The three-dimensional scanner according to claim 1, characterized in that: The scanning ranges of the first scanning module and the second scanning module do not overlap, and the scanning directions of the first scanning module and the second scanning module are different.
8. The three-dimensional scanner according to claim 7, characterized in that: The scanning directions of the first scanning module and the second scanning module are perpendicular.
9. The three-dimensional scanner according to claim 1, characterized in that: The first scanning module includes a time-of-flight scanning module.
10. The three-dimensional scanner according to claim 1, characterized in that: The three-dimensional scanner also includes a display module, and the display module is used to display the scanning and reconstruction data acquired by the first scanning module and the second scanning module.