Skip to content

AutoLidarPerception/SARosPerceptionKitti

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

155 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SARosPerceptionKitti

A ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite

Setup

  1. Install ROS Kinetic on Ubuntu 16.04
  2. Setup ROS Workspace:
mkdir -p ~/catkin_ws/src  
cd ~/catkin_ws/src  
git pull https://github.com/appinho/SARosPerceptionKitti.git  
cd ..  
catkin_make  
source devel/setup.bash  
  1. Install Kitti2Bag
pip install kitti2bag

Usage

  1. Convert scenario 0060 (from the demo above) into a ROSbag file:
  • Download and unzip the synced+rectified data file and its calibration file from the KITTI Raw Dataset
  • Merge both files into one ROSbag file
cd ~/kitti_data/
kitti2bag -t 2011_09_26 -r 0060 raw_synced
  1. Synchronize the sensor data:
  • The script matches the timestamps of the Velodyne point cloud data with the Camara data to perform Sensor Fusion in a synchronized way within the ROS framework
cd ~/catkim_ws/src/ROS_Perception_Kitti_Dataset/pre_processing/
python sync_rosbag.py raw_synced.bag
  1. Store preprocessed semantic segmentated images:
  • The Camera data is preprocessed within a Deep Neural Network to create semantic segmentated images. With this step a "real-time" performance on any device (CPU usage) can be guaranteed
mkdir ~/kitti_data/0060/segmented_semantic_images/
cd ~/kitti_data/0060/segmented_semantic_images/
  1. Final folder structure
    ~                                        # Home directory
    ├── catkin_ws                            # Catkin workspace
    │   ├── src                              # Clone repo in here
    │       └── ROS_Perception_Kitti_Dataset # Repo
    ├── kitti_data                           # Data folder
    │   ├── 0001                             # Scenario 0001
    │   ├── ...                              # Any other scenario
    │   ├── 0060                             # Demo scenario 0060
    │   │   ├── segmented_semantic_images    # Folder for semantic images (Copy download in here)
    │   │   │   ├── 0000000000.png           # Semantic image from first time frame
    │   │   │   ├── 0000000001.png           # Semantic image from second time frame
    │   │   │   └── ...  
    │   │   └── synchronized_data.bag        # Synchronized ROSbag file
    │   ├── ...
  1. Run the ROS Package:
  • Launch one of the following ROS nodes together with the scenario identifier and wait until RViz is fully loaded:
roslaunch sensor_processing sensor.launch scenario:=0060
roslaunch detection detection.launch scenario:=0060
roslaunch tracking tracking.launch scenario:=0060
roslaunch evaluation evaluation.launch scenario:=0060
  • Play back the synchronized ROSbag file (here at 25% speed):
cd ~/kitti_data/0060/
rosbag play -r 0.25 synchronized_data.bag

Troubleshooting

  • SEMANTIC IMAGES WARNING: Go to sensor.cpp line 542 in sensor_processing_lib and hardcode your personal home directory! (see full discussion here)

  • Make sure to close RVIz and restart the ROS launch command if you want to execute the scenario again. Otherwise it seems like the data isn't moving anymore (see here)

  • Make sure the scenario is encoded as 4 digit number, like above 0060

  • Make sure the images are encoded as 10 digit numbers starting from 0000000000.png

  • Make sure the resulting semantic segmentated images have the color encoding of the Cityscape Dataset

Discussion

Evaluation results for 7 Scenarios 0011,0013,0014,0018,0056,0059,0060

Class MOTP MODP
Car 0.715273 0.785403
Pedestrian 0.581809 0.988038

Areas for Improvements

  • Improving the Object Detection so that the object's shape, especially for cars, is incorporated and that false classification within the semantic segmentation can be tolerated
  • Applying the VoxelNet

Contact

Send me an email simonappel62@gmail.com if you have any questions, wishes or ideas to find an even better solution! Happy to collaborate :)

About

ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 68.2%
  • CMake 30.1%
  • Python 1.7%