RESLAM icon indicating copy to clipboard operation
RESLAM copied to clipboard

question about testing after compiling

Open WilliamWangPeng opened this issue 3 years ago • 6 comments

Hi dear experts Honor to write a letter to you. My question is what is the meaning of "python associate.py DATASET_XXX / rgb.txt DATASET_XXX / depth.txt > associate.txt" ? I downloaded the associate.py, but can not find rgb.txt and depth.txt in the directory RESLAM.

thank you Best regards william

WilliamWangPeng avatar Mar 15 '21 15:03 WilliamWangPeng

the compiling errors are:
wangpeng@dacent:~/tools/3d/63/RESLAM$ ./build/RESLAM ./config_files/reslam_settings.yaml ./config_files/dataset_tum1.yaml INF|System.cpp[readSettings,144]: EnableLocalMapping: 1 INF|System.cpp[readSettings,158]: SystemMultiThreading: 0 INF|System.cpp[readSettings,165]: Read: [1, 1, 1.25, 1.5] into 1 1 1.25 1.5 INF|System.cpp[readSensorSettings,90]: InputDatasetFile1: associate.txt INF|System.cpp[readSensorSettings,92]: InputDatasetFile2: associate.txt INF|System.cpp[readSensorSettings,106]: InputSkipFirstNFrames: 0 INF|System.cpp[readSensorSettings,112]: InputDepthMin: 0.1 InputDepthMax: 5.2 INF|LocalMapper.cpp[LocalMapper,55]: setThreadReduce: 0x56384cb0a3a0 INF|Tracker.cpp[Tracker,42]: mCameraMatrix: 517.306 516.469 INF|fernrelocaliser.cpp[FernRelocaliser,297]: imgSize / (1 << levels): [40 x 30] height: 480 width: 640 INF|FernConservatory.cpp[FernConservatory,47]: Generating FernConservatory with: 500 4 [40 x 30] [0, 255] 4 width: 40x h:30 INF|fernrelocaliser.cpp[FernRelocaliser,300]: Creating RelocDatabase! INF|Tracker.cpp[Tracker,42]: mCameraMatrix: 517.306 516.469 INF|Input.cpp[readGTTrajectory,50]: Reading: /data/CSI/CSI_SVN/KirasCSISmartCam3D/CSISmartScan3D_Daten/Daten_Testszenen/TUM/freiburg1/rgbd_dataset_freiburg1_desk2/groundtruth.txt ERR|Input.cpp[readGTTrajectory,53]: Could not open file list: /data/CSI/CSI_SVN/KirasCSISmartCam3D/CSISmartScan3D_Daten/Daten_Testszenen/TUM/freiburg1/rgbd_dataset_freiburg1_desk2/groundtruth.txt INF|Input.cpp[InputDatasetReader,104]: Reading: /data/CSI/CSI_SVN/KirasCSISmartCam3D/CSISmartScan3D_Daten/Daten_Testszenen/TUM/freiburg1/rgbd_dataset_freiburg1_desk2/associate.txt ERR|Input.cpp[InputDatasetReader,107]: Could not open file list: /data/CSI/CSI_SVN/KirasCSISmartCam3D/CSISmartScan3D_Daten/Daten_Testszenen/TUM/freiburg1/rgbd_dataset_freiburg1_desk2/associate.txt xx: associate.txt START PANGOLIN!

PLXY41R9Q%M{15O3~D(8{V4

WilliamWangPeng avatar Mar 15 '21 16:03 WilliamWangPeng

Hi @WilliamWangPeng , thanks for trying RESLAM. What you see are not compiling errors but missing files on your side. The rgb.txt and depth.txt come with the TUM RGBD dataset. Download the dataset you want to test and then look for rgb.txt or depth.txt in the folder. Both contain a list of time stamps because the RGB images and depth maps are not captured at exactly the same time. You have to associate them by running associate.py. The command python associate.py DATASET_XXX / rgb.txt DATASET_XXX / depth.txt > associate.txt stores the association in the associate.txt file. Once you created the associations.txt, you should be able to run RESLAM.

fabianschenk avatar Mar 16 '21 08:03 fabianschenk

Hi @WilliamWangPeng , thanks for trying RESLAM. What you see are not compiling errors but missing files on your side. The rgb.txt and depth.txt come with the TUM RGBD dataset. Download the dataset you want to test and then look for rgb.txt or depth.txt in the folder. Both contain a list of time stamps because the RGB images and depth maps are not captured at exactly the same time. You have to associate them by running associate.py. The command python associate.py DATASET_XXX / rgb.txt DATASET_XXX / depth.txt > associate.txt stores the association in the associate.txt file. Once you created the associations.txt, you should be able to run RESLAM.

Hi fabianschenk when I run the command:
$ build/RESLAM config_files/reslam_settings.yaml config_files/dataset_tum1.yaml

it shows this
1

2

I do have associate.txt file
3

WilliamWangPeng avatar Mar 16 '21 13:03 WilliamWangPeng

Hi @WilliamWangPeng , You can't just put the associate anywhere on your system, you have to define the path. The default paths are still from my old file system, so the files are not found. The error messages (the text in red) is pretty clear on that:

Could not open file list: `/data/CSI....`

Make sure to modify the paths according to your system in ./config/dataset_tum1.yaml. You might also need a groundtruth.txt but that should come with the dataset.

Since you seem to be very new to all this:

  • Make sure to specify absolute paths in the dataset_tum1.yaml since ~ does not work here.
  • Let's say you downloaded the TUM RGBD desk1 dataset and stored it in ~/data/. You now have to change the following in dataset_tum1.yaml (your path might differ): InputDatasetFolder: "/home/wangpeng/data/desk1/"
  • Also make sure to change the OutputPoseFileFolder in the reslam_settings.yaml to the desired folder.

Good luck

fabianschenk avatar Mar 16 '21 16:03 fabianschenk

Hi @WilliamWangPeng , You can't just put the associate anywhere on your system, you have to define the path. The default paths are still from my old file system, so the files are not found. The error messages (the text in red) is pretty clear on that:

Could not open file list: `/data/CSI....`

Make sure to modify the paths according to your system in ./config/dataset_tum1.yaml. You might also need a groundtruth.txt but that should come with the dataset.

Since you seem to be very new to all this:

  • Make sure to specify absolute paths in the dataset_tum1.yaml since ~ does not work here.
  • Let's say you downloaded the TUM RGBD desk1 dataset and stored it in ~/data/. You now have to change the following in dataset_tum1.yaml (your path might differ): InputDatasetFolder: "/home/wangpeng/data/desk1/"
  • Also make sure to change the OutputPoseFileFolder in the reslam_settings.yaml to the desired folder.

Good luck

hi dear fabianschenk One thousand thanks to you, I have compiled now and the result is here:

ok1

ok2

Is it OK now? what's the meaning of   
Stopping Sensor
INF|System.cpp[startSystem,246]: Stopping SLAM system!
INF|main.cpp[main,77]: Waiting for threads to join
JOINED Pangolin thread!
INF|main.cpp[main,79]: One thread joined!  

WilliamWangPeng avatar Mar 17 '21 04:03 WilliamWangPeng

Hi @WilliamWangPeng , Yes, that looks right. The important thing is the RESLAM Report. image

This tells you that the sequence had 1375 individual frames, out of which 10 were chosen as keyframes. 9 of the keyframes were added to the reloc database (called FernDB).

The thing that is not good is that you had 8 Tracking losses. RESLAM is an RGBD SLAM system so it needs depth and images (to extract the edges). The black color in the depth map means that there is no depth, so around 70 % of input is not usable. image

This is not an ideal sequence and there are many others in the TUM RGBD, where the depth is not good. Rooms, where the walls are more than 3-5 meters away from the camera are also problematic because the depth measurement is either very, very noise or not there at all. So you can either record your own sequence or download for instance one of the desk2 sequences.

The final output about Stopping Sensor, etc. is for debugging. This is research code so it outputs way more than necessary ;)

fabianschenk avatar Mar 17 '21 11:03 fabianschenk