tum-vision / dvo_slam

Dense Visual Odometry and SLAM
631 stars 306 forks source link

How to create depth files to run on DVO #39

Closed ramanpreet9 closed 8 years ago

ramanpreet9 commented 8 years ago

DVO runs fine on the TUM benchmark. However, as soon as i switch to some other dataset, the SLAM fails to provide any pose. I managed to get it down to depth images.

I create my "own" dataset. My depth files, my rgb files in their respective folders and a assoc.txt file to match them. it fails and results in no pose computed in the output txt file or any error in error file.

However, as soon as i switch the depth files to any depth files picked from the TUM benchmark and change my assoc file to (wrongly) match the rgb files (mine) to depth files (from TUM) i get a pose per frame (except for last frame).

I am at a loss why this is happening. I save my depth files as .png 16 uint . It is monochrome. if i analyze the image info its exactly the same.. my files also have depth values between 0 and max value for uint16 and roughly similar to TUM values.. i can do any math (add/subtract) in MATLAB if i load my depth file and TUM's.

I really cant figure out why DVO fails to read it properly. Is there anything i could try to figure this out? If someone made their dataset to work with DVO, can you share your code to save depth images?

i am currently using MATLAB in windows 7 and use :imwrite(Z_uint16,d_name,'fmt','png','BitDepth',16,'map','gray');

i initially tried the simple versions as well like imwrite(Z_uint16,d_name,'fmt','png',) etc.. but they all dont work with DVO.

ramanpreet9 commented 8 years ago

update: use / not \ when creating the rgb and depth text files. stupid me.