A pseudo-depth map based RGB-D SLAM method, system, and storage medium
By generating pseudo-depth maps using the Monodepth2 network framework, the problem of long conversion and deployment time in monocular depth estimation in SLAM systems is solved, achieving efficient pose estimation and map building, and improving the computational efficiency and accuracy of SLAM systems.
Patent Information
- Application Number
- CN202211545738.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-02
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2042-12-02
AI Technical Summary
Existing monocular depth estimation methods take a long time to convert and deploy within the SLAM framework, and cannot quickly and effectively utilize depth information, resulting in low efficiency of the SLAM system.
The Monodepth2 network framework based on deep learning is used to predict the depth of monocular camera images, generate pseudo-depth maps, and combine them with color images to form a pseudo-RGB-D dataset, which is then directly applied to the ORB-SLAM3 system for pose estimation and map construction.
It reduces data conversion and deployment time, improves the computational efficiency and accuracy of the SLAM system, and lowers computing costs.
Smart Images

Figure CN115984493B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of grid map construction, and particularly relates to an RGB-D SLAM method based on a pseudo-depth map. BACKGROUND
[0002] Autonomous navigation simultaneous localization and mapping (SLAM) is a positioning and mapping research technology, which plays an important role in the navigation and positioning of mobile robots. Visual SLAM is composed of four parts: visual odometry (VO), optimization, loop closure and mapping. In VO, the main task is to complete the estimation of the camera pose, and monocular VO has scale ambiguity due to the lack of depth information in the input. This problem is usually solved by combining an inertial measurement unit (IMU), but with the gradual maturity of the deep learning framework, unsupervised monocular depth estimation methods gradually replace traditional monocular depth estimation methods.
[0003] In recent years, many SLAM frameworks combined with monocular depth estimation have appeared, such as UnDeepVO and D3VO. However, their standard practice is to directly integrate the monocular depth framework with VO, which may lead to the inability to quickly and effectively utilize the depth information generated by the new monocular depth estimation framework in the SLAM framework. In deep learning, the general practice is to train the depth estimation in python, use libtorch to deploy the model, convert it into C++ format and rewrite the SLAM algorithm. Although the tracking script and other tools are provided by Torch for conversion, not all operations and methods are supported by TorchScript. Therefore, in combination with the monocular depth estimation framework in the SLAM framework, the monocular depth estimation will be tested multiple times, wasting conversion time and deployment time. SUMMARY
[0004] In order to overcome the above-mentioned defects, the purpose of the present application is to provide an RGB-D SLAM method based on a pseudo-depth map, which uses deep learning technology to perform depth prediction on the output color picture of a monocular camera, and converts the data into a pseudo-depth map, which can be directly applied to the camera ORB-SLAM3 system for pose estimation and drawing of point cloud maps and dense maps.
[0005] In order to achieve the above object, the technical scheme adopted by the present application is: an RGB-D SLAM method based on a pseudo-depth map, comprising the following steps: obtaining an original image set, a monocular camera collects multiple color original images to obtain an original image set. Obtain a pseudo-depth map set, estimate the depth of each color original image in the original image set, each color original image forms a 16-bit pseudo-depth map, and all 16-bit pseudo-depth maps form a pseudo-depth map set. Combine the original image set and the pseudo-depth map set to form a pseudo-RGB-D set, input the pseudo-RGB-D set into a pre-set three-dimensional model imaging system, and construct a global map.
[0006] The present application has the beneficial effect that: the color original image collected by the monocular camera is directly converted into a 16-bit pseudo-depth map in picture format, the 16-bit pseudo-depth map in picture format and the color original image form a pseudo-RGB-D which is input into a three-dimensional model imaging system, and the three-dimensional model imaging system directly generates a global map using the data in picture format. The conversion time and deployment time are reduced.
[0007] Further, the obtaining of the pseudo-depth map set specifically comprises: selecting a depth estimation network, using the depth estimation network to supervise the training of each color original image in the original image set to obtain a first depth value of the position of each pixel point of the color original image, and saving the first depth value as a first depth matrix. The first depth matrix is converted into a second depth matrix by a conversion algorithm, and the second depth matrix is produced into a 16-bit pseudo-depth map, and all 16-bit pseudo-depth maps form a pseudo-depth map set.
[0008] Further, the conversion algorithm comprises:
[0009] Each first depth value is normalized between 0 and 1 to obtain a normalized pixel value D ij ;
[0010]
[0011] Where d ij is the first depth value, d max is 65.5, and 65.5 meters is also the maximum depth number that can be expressed by 16 bits; the normalized pixel value D ij is mapped to the interval of 0-65535 and saved as a second depth matrix D ij 16bit , D ij 16bit = |D ij × (2 16 -1) |.
[0012] 65.5 meters is also the maximum depth number that can be expressed in 16 bits, but because the subsequent use of the ORB-SLAM3 system does not use data beyond 40 meters for pose estimation of the camera, using 65.5 to represent depths greater than 65.5 meters will not affect subsequent calculations.
[0013] Further, the depth estimation network is based on the Monodepth2 network framework. The Monodepth2 network framework is a good-performing self-supervised monocular depth model. The Monodepth2 network framework performs monocular depth estimation operations, and uses a combination of depth estimation and pose estimation networks to predict a first depth value for each pixel point in each color original image. Each first depth value corresponds to a pixel point position. The training part of the Monodepth2 network framework does not require a pre-labeled data set. Instead, it directly trains an architecture based on a self-supervised loss function to predict the depth results of the color original image on a sequence of color original images in a series of movements. Camera parameter information is learned directly during the learning process, and the parameter does not need to be input again when the depth value is output.
[0014] Further, after forming a set of pseudo depth maps, the color original image and the corresponding 16-bit pseudo depth map need to be associated to form an association text. The association text is input into the preset three-dimensional model imaging system synchronously with the original image set and the pseudo depth map set.
[0015] Further, the preset three-dimensional model imaging system is an ORB-SLAM3 system. The pseudo RGB-D can be directly run in the ORB-SLAM3 system. The ORB-SLAM3 system is a real-time SLAM algorithm based on feature points. The algorithm includes a tracking thread, a local mapping thread, and a loop detection thread. The ORB-SLAM3 system includes monocular, binocular, RGB-D, and all camera plus IMU modes. Although only the color camera (monocular) in the RGB-D camera is used in the present embodiment, the ORB-SLAM3 system is still selected, which can well compare the results between cameras.
[0016] Further, the association text writes the paths and time stamps of the color original image and the 16-bit pseudo depth map. The preset three-dimensional model can match the color original image and the 16-bit pseudo depth map according to the association text.
[0017] Further, the preset three-dimensional model imaging system is provided with a depth filtering threshold. The depth filtering threshold is used to filter the second depth value in the 16-bit pseudo depth map. When the preset three-dimensional model imaging system detects that the second depth value in the 16-bit pseudo depth map is greater than the depth filtering threshold, the preset three-dimensional model imaging system does not select. The depth filtering threshold is a value less than dmax Variables.
[0018] This invention also discloses an RGB-D SLAM system based on pseudo-depth maps, including an acquisition module for acquiring an original image set, comprising a monocular camera that collects multiple original color images to obtain the original image set; a conversion module for performing depth estimation on each original color image in the original image set, forming a 16-bit pseudo-depth map for each original color image, and forming a pseudo-depth map set from all 16-bit pseudo-depth maps; and a construction module for receiving the original image set and the pseudo-depth map set, combining them to form a pseudo-RGB-D set, and constructing a global map.
[0019] The present invention also discloses a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described RGB-D SLAM method based on pseudo-depth maps. Attached Figure Description
[0020] Figure 1 This is a flowchart of the RGB-D SLAM method based on pseudo-depth maps in an embodiment of the present invention;
[0021] Figure 2 This is a flowchart of obtaining a pseudo-depth atlas in an embodiment of the present invention;
[0022] Figure 3a This is an 8-bit depth map generated by a depth estimation network from a color original image in an embodiment of the present invention.
[0023] Figure 3b for Figure 3a A 16-bit pseudo-depth map depth map generated from the original color image;
[0024] Figure 4a This is a color original image of KITTI in an embodiment of the present invention;
[0025] Figure 4b for Figure 4a The original color image in the image is converted into a 16-bit pseudo-depth map.
[0026] Figure 5 This is a trajectory map obtained by the ORB-SLAM3 system in this application based on a 16-bit pseudo-depth map;
[0027] Figure 6 This is another trajectory obtained by the ORB-SLAM3 system in this application based on a 16-bit pseudo-depth map. Detailed Implementation
[0028] The advantages and features of the present application will be more easily understood by those skilled in the art through the following detailed description of the preferred embodiments of the present application, with reference to the accompanying drawings, so as to make the scope of protection of the present application more clearly defined.
[0029] Referring to the accompanying drawings Figure 1 The pseudo-depth map-based RGB-D SLAM method of the present application comprises the following steps:
[0030] Step one, obtain the original image set, a monocular camera collects a plurality of color original images to obtain the original image set.
[0031] The monocular camera can be a color camera in an RGB-D camera.
[0032] Step two, estimate the depth of each color original image in the original image set, each color original image forms a 16-bit pseudo-depth map, and all 16-bit pseudo-depth maps form a pseudo-depth map set.
[0033] Referring to the accompanying drawings Figure 2 As shown in the drawings, step two specifically comprises:
[0034] Step 21, select a depth estimation network, use the depth estimation network to supervise the training of each color original image in the original image set, obtain the first depth value of the position of each pixel point of the color original image, and save the first depth value as a first depth matrix. The first depth matrix can form an 8-bit depth map.
[0035] The depth estimation network is based on the Monodepth2 network framework, which is a good self-supervised monocular depth model. The Monodepth2 network framework performs monocular depth estimation operation, uses a combination of depth estimation and pose estimation network to predict the first depth value of each pixel point in each color original image, and each first depth value corresponds to a pixel point position. The first depth value predicted by the Monodepth2 network framework is saved as a first depth matrix according to the size of the color original image.
[0036] The training part of the Monodepth2 network framework does not need to label the data set in advance, but directly predicts the depth result of the color original image by training an architecture based on a self-supervised loss function on a series of moving color original image sequences. And directly learn the camera parameter information in the learning process, and do not need to input parameters again in the subsequent depth value output.
[0037] Step 22, convert the first depth matrix to a second depth matrix through a conversion algorithm, and produce the second depth matrix into a 16-bit pseudo-depth map, and all 16-bit pseudo-depth maps form a pseudo-depth map set.
[0038] The more bits of an image, the more colors available, the more accurate the color representation of the image, and the 16-bit pseudo-depth map can represent the depth result from 0-65535 integer values. The Monodepth2 network framework can only generate the first depth matrix based on the 8-bit depth map. In order to improve the accuracy of the depth map, the 8-bit depth map is converted to a 16-bit pseudo-depth map through a conversion algorithm. At the same time, the monocular camera is a 16-bit color depth camera, so generating a 16-bit pseudo-depth map matches the monocular camera, does not occupy too much storage space, and improves the accuracy of the obtained pseudo-depth map, which more accurately reflects the depth of each pixel.
[0039] The specific steps include:
[0040] First, each first depth value is normalized between 0 and 1 to obtain a normalized pixel value D ij ;
[0041]
[0042] where d ij is the first depth value, d max is 65.5, which is also the maximum depth value that can be expressed by 16 bits, and i and j are positive integers representing each pixel point.
[0043] The normalized pixel value D ij , the first depth value predicted to be greater than 65.5m is also represented by the maximum value d max , but because the subsequent use of the ORB-SLAM3 system does not use data more than 40 meters away for camera pose estimation, representing depths greater than 65.5m as 65.5 will not affect subsequent calculations.
[0044] Then map the normalized pixel value D ij to the interval of 0-65535 and save it as a unit16 second depth matrix D ij 16bit .
[0045] D ij 16bit = |D ij × (2 16 -1)|
[0046] Finally, the second depth matrix is generated by mapping the 16-bit pseudo-depth map to the pixel position using the image self-defined color bar.
[0047] Referring to the accompanying Figure 3aAs shown in the figure, the first depth matrix of the first image of sequence07 in KITTI is predicted by the Monodepth2 network framework to generate an 8-bit depth map. The first depth matrix is converted into a second depth matrix by a conversion algorithm to generate a 16-bit pseudo-depth map. The 16-bit pseudo-depth map is shown in FIG. 2B. Figure 3b As shown in the figure, the first depth matrix of the first image of sequence07 in KITTI is predicted by the Monodepth2 network framework to generate an 8-bit depth map. The first depth matrix is converted into a second depth matrix by a conversion algorithm to generate a 16-bit pseudo-depth map. The 16-bit pseudo-depth map is shown in FIG. 2B. Figure 3a As shown in the figure, the first depth matrix of the first image of sequence07 in KITTI is predicted by the Monodepth2 network framework to generate an 8-bit depth map. The first depth matrix is converted into a second depth matrix by a conversion algorithm to generate a 16-bit pseudo-depth map. The 16-bit pseudo-depth map is shown in FIG. 2B. Figure 3b As shown in the figure, the first depth matrix of the first image of sequence07 in KITTI is predicted by the Monodepth2 network framework to generate an 8-bit depth map. The first depth matrix is converted into a second depth matrix by a conversion algorithm to generate a 16-bit pseudo-depth map. The 16-bit pseudo-depth map is shown in FIG. 2B.
[0048] Step three, combine the original image set and the pseudo-depth map set to form a pseudo-RGB-D set, and input the pseudo-RGB-D set into a preset three-dimensional model imaging system to construct a global map.
[0049] The preset three-dimensional model imaging system selects the ORB-SLAM3 system, the pseudo-depth map and the corresponding color original image are combined into a pseudo-RGB-D, and the pseudo-RGB-D can be directly run in the ORB-SLAM3 system. The ORB-SLAM3 system is a real-time SLAM algorithm based on feature points, which includes a tracking thread, a local mapping thread and a loop detection thread. The ORB-SLAM3 system includes monocular, binocular and RGB-D and all camera plus IMU modes. Although only the color camera (monocular) in the RGB-D camera is used in this embodiment, the ORB-SLAM3 is still selected, which can well compare the results between cameras.
[0050] In this embodiment, the color camera in the RGB-D camera, i.e. a monocular camera, is directly used to collect color original images, and the first depth value is predicted by the Monodepth2 network framework to form a first depth matrix. The first depth matrix is converted into a second depth matrix by a conversion algorithm, and the second depth matrix is produced into a 16-bit pseudo-depth map to save the depth information of the image. The pseudo-RGB-D combined with the generated pseudo-depth map and the color original image can be directly run in the ORB-SLAM3 system without the porting of the python to C++ pre-trained model. The operation time and difficulty of the ORB-SLAM3 system are reduced.
[0051] After forming a pseudo-depth map set in step two, step 23 of associating the color original image with the corresponding 16-bit pseudo-depth map to form an association text is further included. In step three, the association text, the original image set and the pseudo-depth map set are synchronously input into the preset three-dimensional model imaging system.
[0052] The association text writes the path and timestamp of the color original image and the 16-bit pseudo depth map, and the ORB-SLAM3 system can match the color original image and the 16-bit pseudo depth map according to the association text to form a one-to-one correspondence.
[0053] A depth filtering threshold is arranged in the ORB-SLAM3 system, and the depth filtering threshold is used to filter the second depth value in the 16-bit pseudo depth map. When the second depth value selected by the ORB-SLAM3 system in the 16-bit pseudo depth map is greater than the depth filtering threshold, the ORB-SLAM3 system does not select it, that is, the ORB-SLAM3 system only selects the second depth value in the 16-bit pseudo depth map which is less than or equal to the depth filtering threshold. The 16-bit pseudo depth map can map a depth value of 65.5 m, but the ORB-SLAM3 system does not use data with too large depth when estimating the pose. In order to save calculation, a depth filtering threshold is arranged in the ORB-SLAM3 system to filter out the second depth value which is too large, thereby reducing the calculation while ensuring the accuracy of constructing the global map.
[0054] The depth filtering threshold is a variable which can be set by itself, and the depth filtering threshold is less than d max In the embodiment, 40 is selected.
[0055] In the embodiment, since only the color camera in the RGB-D camera is used, for the pseudo RGB-D generated in the embodiment, the color camera and the depth camera are a camera here, and the depth camera is pseudo-produced, not the actual depth camera in the RGB-D camera. There is a setting value Stereo.b in the camera parameters of the RGB-D camera, which represents the distance between the color camera and the depth camera of the RGB-D camera. In the embodiment, since only one camera is used, the setting value Stereo.b is set to a very small value or 0, and in the ORB-SLAM3 system, the setting value Stereo.b is defined as the baseline.
[0056] However, in the prior art, it is necessary to collect images shot by the depth camera and the color camera in the RGB-D camera, so when the depth camera and the color camera are used at the same time, there will be a position transformation of pixel values between the real three-dimensional coordinate data and the projection image, and therefore a correction module is needed to correct the position of each pixel value. It is necessary to calculate the rotation matrix (R) and the translation matrix (T) between the depth camera and the color camera. The position of each pixel of the color image shot by the color camera also needs to be corrected according to the rotation matrix (R) and the translation matrix (T). However, in the present application, only the color camera in the RGB-D camera is used, which avoids image correction and reduces the operation.
[0057] In one embodiment, the Monodepth2 network framework is pre-trained using KITTI 00-08 as the training set, and here the camera data image02 of sequence 07 and sequence 10 of KITTI are tested as the data of monocular camera.
[0058] Referring to FIG. 1, a color raw image captured by a color camera in an RGB-D camera is shown, a first depth matrix is obtained by performing depth prediction on the image and the image through the Monodepth2 network framework, the first depth matrix is normalized and a second depth matrix of 16 bits is formed, and a 16-bit pseudo-depth map is drawn. Referring to FIG. 2, the 16-bit pseudo-depth map is shown. Figure 4a Figure 4b
[0059] The ORB-SLAM3 system reads data from the RGB-D camera, reads image02 and the corresponding 16-bit pseudo-depth map, and reads the associated text at the same time. According to the convention in the art, the relative position error (RPE) and the absolute trajectory error (ATE) are used as the precision measurement, wherein the root mean square error (RMSE) is usually evaluated on all time indicators of RPE and ATE to calculate the translation component in the evaluation, so that the influence of outliers is smaller, and when the RMSE is smaller, it proves that the drift is smaller. Based on the camera information in KITTI, the positioning and construction of the camera in the ORB-SLAM3 system in the monocular, stereo and pseudo RGB-D of the present application are tested. The test results of the relative position error (RPE) are compared in Table 1, wherein the pseudo RGB-D in the present application can achieve the same precision as the stereo and perform better. It is proved that the results of the pseudo RGB-D in the ORB-SLAM3 system do not show large drift.
[0060] Table 1: Test structure comparison of relative position error (RPE)
[0061]
[0062] The test results of the absolute trajectory error (ATE) are compared in Table 2, wherein the RMSE results between stereo and pseudo RGB-D in sequence 07 and sequence 10 are less than 3 meters, which is better than the result of monocular purpose. It is proved that the pseudo RGB-D result on the ORB-SLAM3 also has no large translation error.
[0063] Table 2: Test structure comparison of absolute trajectory error (ATE)
[0064]
[0065]
[0066] Referring to FIG. 1, a color raw image captured by a color camera in an RGB-D camera is shown, a first depth matrix is obtained by performing depth prediction on the image and the image through the Monodepth2 network framework, the first depth matrix is normalized and a second depth matrix of 16 bits is formed, and a 16-bit pseudo-depth map is drawn. Referring to FIG. 2, the 16-bit pseudo-depth map is shown. Figure 5 The figure shows the comparison of the trajectory results of the ORB-SLAM3 system based on the 16-bit pseudo-depth map and the sequence 07 data obtained by the stereo camera in the application. Among them, the dashed line 07_tum_index is the GT of the original camera trajectory from KITTI sequence 07, ORBSLAM3_stereo_turn is the estimated trajectory of the stereo camera, and ORBSLAM3_rgbd16 is the estimated trajectory of the 16-bit pseudo-depth map based on the 16-bit pseudo-depth map. They are all very suitable for GT, but in some corners, the performance of the pseudo RGB-D is closer to the true value.
[0067] Referring to the accompanying drawings Figure 6 The figure shows the comparison of the trajectory results of the ORB-SLAM3 system based on the 16-bit pseudo-depth map and the sequence 10 data obtained by the stereo camera in the application. Among them, the dashed line 07_tum_index is the GT of the original camera trajectory from KITTI sequence 07, ORBSLAM3_stereo_turn is the estimated trajectory of the stereo camera, and ORBSLAM3_rgbd16 is the estimated trajectory of the 16-bit pseudo-depth map based on the 16-bit pseudo-depth map. Again, it can be seen that the part of the path turning is the place where the two results are most likely to deviate from the GT, and the pseudo RGB-D can better fit the true value.
[0068] After the application directly generates a 16-bit pseudo-depth map using the results of monocular depth estimation (Monodepth2 network framework), the 16-bit pseudo-depth map can be directly used with the color original image to form a pseudo RGB-D dataset using the ORB-SLAM3 system. While ensuring accuracy, it reduces the operation, and can reduce the cost of testing new monocular depth estimation frameworks for SLAM.
[0069] The application also discloses an RGB-D SLAM system based on a pseudo-depth map, comprising an acquisition module, a conversion module and a construction module, the acquisition module is used for acquiring an original image set, the acquisition module comprises a monocular camera, the monocular camera collects a plurality of color original images to obtain the original image set. The conversion module estimates the depth of each color original image in the original image set, each color original image forms a 16-bit pseudo-depth map, and all 16-bit pseudo-depth maps form a pseudo-depth map set. The construction module is used for receiving the original image set and the pseudo-depth map set to form a pseudo RGB-D set, and constructing a global map.
[0070] The conversion module comprises an estimation unit, a conversion unit and a generation unit. The estimation unit performs supervised training on each color original image in the original image set to obtain a first depth value of a position of each pixel point of the color original image, and saves the first depth value as a first depth matrix. The estimation unit selects a Monodepth2 network framework. The conversion unit receives the first depth matrix and converts the first depth matrix into a 16-bit second depth matrix. The generation unit generates a 16-bit pseudo depth map for each second depth matrix, and forms a pseudo depth map set by using all the 16-bit pseudo depth maps.
[0071] The conversion module further comprises an association module configured to associate the color original image with the corresponding 16-bit pseudo depth map to form an association text.
[0072] The application further discloses a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to realize the steps of the RGB-D SLAM method based on the pseudo depth map.
[0073] The storage medium stores program instructions capable of realizing all the methods, wherein the program instructions can be stored in the storage medium in the form of a software product, and comprise a plurality of instructions for enabling a computer device (which can be a personal computer, a server, or a network device) or a processor to execute all or part of the steps of the method described in each embodiment of the application. The storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media capable of storing program codes, or a terminal device such as a computer, a server, a mobile phone or a tablet computer.
[0074] The processor can also be referred to as a CPU (Central Processing Unit). The processor can be an integrated circuit chip having a signal processing capability. The processor can also be:
[0075] A DSP (Digital Signal Processor) is a processor composed of a large-scale or super-large-scale integrated circuit chip for completing a signal processing task. The DSP is gradually developed to adapt to the needs of high-speed real-time signal processing tasks. With the development of integrated circuit technology and digital signal processing algorithms, the implementation method of the digital signal processor is constantly changing, and the processing function is constantly improved and expanded.
[0076] ASIC (Application Specific Integrated Circuit), which is a special integrated circuit, refers to an integrated circuit designed and manufactured according to the requirements of a specific user and the needs of a specific electronic system.
[0077] FPGA (Field Programmable Gate Array) is a product further developed on the basis of PAL (Programmable Array Logic) and GAL (generic array logic) programmable devices. It is a semi-custom circuit in the field of application-specific integrated circuits (ASIC) and solves the shortcomings of custom circuits and overcomes the shortcomings of the limited number of gate circuits of the original programmable devices.
[0078] The general processor can be a microprocessor or any conventional processor, etc. Other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components, etc.
[0079] The above embodiments are only for illustrating the technical concept and characteristics of the present application, and the purpose is to enable those skilled in the art to understand the content of the present application and implement it, and cannot limit the protection scope of the present application. Any equivalent changes or modifications made according to the spirit and essence of the present application should be covered within the protection scope of the present application.
Claims
1. An RGB-D SLAM method based on pseudo-depth maps, characterized in that... The steps include the following: To obtain the original image set, a monocular camera collects multiple color original images. A pseudo-depth map set is obtained, and depth estimation is performed on each color original image in the original image set. Each color original image forms a 16-bit pseudo-depth map, and all 16-bit pseudo-depth maps form a pseudo-depth map set. The original image set and the pseudo depth map set are combined to form a pseudo RGB-D set, and the pseudo RGB-D set is input into a preset three-dimensional model imaging system to construct a global map; The acquisition of the pseudo-depth atlas specifically includes: A depth estimation network is selected, which is based on the Monodepth2 network framework. The depth estimation network is used to perform supervised training on each color original image in the original image set to obtain the first depth value of the location of each pixel in the color original image. The first depth value is saved as a first depth matrix. The first depth matrix is converted into the second depth matrix using a transformation algorithm, and the second depth matrix is then used to produce a 16-bit pseudo-depth map. All 16-bit pseudo-depth maps form a pseudo-depth map set.
2. The RGB-D SLAM method based on pseudo-depth maps according to claim 1, characterized in that: The conversion algorithm includes: Each first depth value is normalized between 0 and 1 to obtain the normalized pixel value D. ij ; Where d ij d is the first depth value. max The value is 65.5 meters, which is also the maximum depth that 16 bits can represent. i and j are positive integers, representing each pixel. Normalized pixel value D ij Map it to the range of 0-65535 and save it as the second depth matrix D. ij 16bit D ij 16bit =|D ij ×(2 16 -1)|.
3. The RGB-D SLAM method based on pseudo-depth maps according to claim 1, characterized in that: After forming the pseudo-depth map set, the original color image needs to be associated with the corresponding 16-bit pseudo-depth map to form an associated text. The associated text, along with the original image set and the pseudo-depth map set, is synchronously input into the preset 3D model imaging system.
4. The RGB-D SLAM method based on pseudo-depth maps according to claim 1, characterized in that: The preset 3D model imaging system is the ORB-SLAM3 system.
5. The RGB-D SLAM method based on pseudo-depth maps according to claim 3, characterized in that: The associated text contains the path and timestamp of the original color image and the 16-bit pseudo-depth map. The preset 3D model matches the original color image and the 16-bit pseudo-depth map according to the associated text.
6. The RGB-D SLAM method based on pseudo-depth maps according to claim 2, characterized in that: The preset 3D model imaging system is equipped with a depth filtering threshold. This threshold is used to filter the second depth value in the 16-bit pseudo-depth map. When the preset 3D model imaging system detects that the second depth value in the 16-bit pseudo-depth map is greater than the depth filtering threshold, the preset 3D model imaging system does not use it. The depth filtering threshold is a value less than d. max Variables.
7. An RGB-D SLAM system based on pseudo-depth maps, characterized in that: include The acquisition module is used to acquire the original image set. The acquisition module includes a monocular camera, which collects multiple color original images to obtain the original image set. The conversion module performs depth estimation on each color original image in the original image set, forming a 16-bit pseudo-depth map for each color original image. All 16-bit pseudo-depth maps form a pseudo-depth map set, specifically including: A depth estimation network is selected, which is based on the Monodepth2 network framework. The depth estimation network is used to supervise the training of each color original image in the original image set to obtain the first depth value of the position of each pixel in the color original image. The first depth value is saved as a first depth matrix. The first depth matrix is converted into a second depth matrix through a transformation algorithm, and the second depth matrix is used to produce a 16-bit pseudo-depth map. All 16-bit pseudo-depth maps form a pseudo-depth map set. The construction module is used to receive the original image set and the pseudo depth map set, combine them to form a pseudo RGB-D set, and construct a global map.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the RGB-DSLAM method based on a pseudo-depth map as described in any one of claims 1-6.
Citation Information
Patent Citations
Aerial survey method and system based on real-time dense three-dimensional point cloud of unmanned aerial vehicle and DSM
CN112434709A
Monocular depth estimation system training method and network based on normalized regression function
CN112598721A