SSD ROS node(nodelet) accelerated with TensorRT
Tested on Jetson Nano with TensorRT 5.0.6
- Read TensorRT developer guide and try to run sampleUffSSD in TensorRT samples. We will prepare our network in a similar way with some modifications.
- Download pretrained ssd_mobilenet_v1_coco. You could try other SSD models from TensorFlow Object Detection API, but may be slower than Mobilenet V1.
- Generate UFF file following README.txt in sampleUffSSD using config.py in this repository.
- Replace sampleUffSSD.cpp in TensorRT samples with the modified file in this repository.
- Recompile TensorRT samples and run sampleUffSSD. Now you should get a generated engine file sample_ssd.plan in bin folder.
- Clone this package and its dependencies to your ROS workspace and make them. Copy sample_ssd.plan to ssd_ros/data and modify the path in ssd_ros/cfg/ssd_mobilenet_v1_coco.yaml.
- Launch ssd_infer.launch to run as a standalone node. You could also run ssd_ros as nodelet.
- Launch ssd_viewer.launch to view result.