Closed YZH-bot closed 1 month ago
Hi,
Thanks for your interest and the good questions!
The intensity images can be constructed in multiple ways. The most classical way is to simply use a spherical reprojection model, however, this often results in several black spots in the image, as nicely illustrated in the RI-LIO paper. The ouster lidars provide a calibration file, which is used to build a direct correspondence between the point index in the point cloud and the pixel in the image. In doing so, the projection can be skipped and the image can be built directly from point indices, which reduces computational load and gives dense images. We are using this approach to build the images in our work.
The pixel_shift_by_row is actually not what we are calibrating, but it is provided in the calibration file from the ouster sensor and it is used to destagger the images. Details about this are nicely described here. What we are actually calibrating is the parameter image/u_shift
.
I observed this error when using the newer college dataset files and realized that the projection (without the correction) was wrong. You can test this by checking if the pixel index that you get from projecting the 3D point corresponds with its pixel in the image.
Unfortunately, despite the calibration file given by the ouster lidars, I still observed that the images for some sensors (e.g in the newer college dataset) are shifted by several columns. These images do not match the projection model (and therefore introduces wrong error and jacobian terms). Therefore, we calibrate this column shift to fit the projection model.
Let me know if you have further questions :)
Thank you for your detailed answers!:)
Thanks for the open-source code. I have a few questions that I was hoping you could help me with.
/data format/pixel_shift_by_row
?Thanks very much!