I am trying to create a 3D point cloud using two 2D stereo images. The cameras and stereo is calibrated and the RMS error is 0.8 px. The baseline is 70 mm and maximum depth to be measured is 300 mm. For stereo matching, SGBM is used. The disparity map is also not that great. What I have observed is that the 3D reconstruction appears different if the lighting conditions are changed. For instance, if the images are captured in the morning at 9 or at 2 in the afternoon, although the SGBM parameters are constant, the point cloud appear very different. Please enlighten me if the lighting conditions are to be controlled to avoid interference of ambient light? Is there a way to get the same point cloud although lighting conditions change?
The Dataset (https://drive.google.com/drive/folders/1M6_SQ58kEClVsYYNkYuIYUwHr3kQtO9r?usp=sharing) is organized as below: E-Con Camera <> Left and Right Hand Images SmartPhone Camera <> Left and Right Plant Images While Smartphone images create a decent pointcloud, E-Con images pointcloud change throughout the day as ambient light changes (keeping SGBM parameters constant).
I tried out with multiple DC lights to illuminate the RoI perfectly. But this didn't work that well. Also, it takes a good amount of energy (as much as 40W of light source). I tried to take stereo pair images at every hour in the day, the results were quite different, mostly distorted. The algorithm for 3D reconstruction works well with standard dataset. I am using this github repo for the same: https://github.com/FlagArihant2000/stereo