This is an upgrade of Second.KittiViewer
- Works on raw KITTI data (without
second
preprocessing) - Allows to compare results of different methods (results must be saved in KITTI format)
- Allows to display segmentation of points
pip install numba dill matplotlib fire shapely scikit-image PyOpenGL protobuf
It's easier to use conda to get QT:
conda install qt pyqt pyqtgraph
- If you have
“Failed to load platform plugin ”xcb“ ” while launching qt5 app on linux without qt installed
error, it is probably because libxcb-xinerama0 file is not found. You can try runsudo apt install --reinstall libxcb-xinerama0
to fix it.
python viewer.py
All parameters are stored in params.json
.
-
kitti_detection_root
parameter contains a path for detection KITTI dataset. You must haveimage_2
,label_2
,velodyne
,calib
folders inside"selected_split": "training"
folder."kitti_detection_root": "/data/sets/kitti_second"
-
folders
parameter contains names for each modality (if you named them differently from KITTI)."folders": { "detection": { "calib": "calib", "image": "image_2", "label": "label_2", "velodyne": "velodyne" }, }
-
compare_results_detection
object describes how to display results from different methods. All results must be stored inside theroot
folder andmethods[i]["name"]
subfolder in KITTI annotations format (.txt files as inlabel_2
).color
field describes RGB color of 3d and 2d boxes."compare_results_detection": { "root": "/data/sets/kitti_results_detection", "methods": [ { "name": "method1", "color": [1.0, 0.0, 1.0] }, { "name": "method2", "color": [1.0, 1.0, 0.0] }, { "name": "method3", "color": [0.0, 0.0, 1.0] } ] }
-
kitti_tracking_root
parameter contains a path for detection KITTI dataset. You must haveimage_2
,label_2
,velodyne
,calib
folders inside"selected_split": "training"
folder.image_2
andvelodyne
must have folders for each scene."kitti_tracking_root": "/data/sets/kitti_tracking"
-
folders
parameter contains names for each modality (if you named them differently from KITTI)."folders": { "tracking": { "calib": "calib", "image": "image_2", "label": "label_2", "velodyne": "velodyne" }, }
-
compare_results_tracking
object describes how to display tracking results from different methods. All results must be stored inside theroot
folder andmethods[i]["name"]
subfolder in selectedformat
.color
field describes RGB color of 3d and 2d boxes."compare_results_detection": { "root": "/data/sets/kitti_results_detection", "format": "ab3dmot", "methods": [ { "name": "method1", "color": [1.0, 0.0, 1.0] }, { "name": "method2", "color": [1.0, 1.0, 0.0] }, { "name": "method3", "color": [0.0, 0.0, 1.0] } ] }
-
Supported tracking annotations formats:
ab3dmot
: comma separated values in order:
Frame | Type | 2D BBOX (x1, y1, x2, y2) | Score | 3D BBOX (h, w, l, x, y, z, rot_y) | Alpha |
---|---|---|---|---|---|
0 | 2 (car) | 726.4, 173.69, 917.5, 315.1 | 13.85 | 1.56, 1.58, 3.48, 2.57, 1.57, 9.72, -1.56 | -1.82 |
Types: {1:'Pedestrian', 2:'Car', 3:'Cyclist'}
-
kitti_segmentation_root
parameter contains a path for detection KITTI dataset. You must have.bin
files"selected_split": "training"
folder. Each file is created usingdill
library and must containsegmented_points
(NxC
, C - amount of classes (currently C=1 only),original_points
(Nx3
- with points coordinates),ground_trurh_points
(NxC
- with ground truth segmentation)"kitti_segmentation_root": "/data/sets/kitti_segmentation"