- Multi-Object Detection and Tracking for Autonomous Driving / Robot Perception
- LiDAR 3D object detection using PCL
- Camera 2D object detection using YOLOv3 model
- Tracking and sensor Fusion - ongoing
- Docker and GitHub actions are used for CI/CD
- GTest is used for executing tests.
- ROS is used for visualization
tracking.mp4
- Eigen3
- OpenCV
- PCL 1.8
- ROS Noetic
- GTest
- Boost (with components: filesystem, thread, system, program_options)
- Download KITTI tracking dataset, convert.bin pointcloud files to .pcd file
catkin_make
source devel/setup.bash
rosrun motl main_node DATA_PATH
rosrun motl test_main_node
docker build -t mot .
docker run --network="host" -v DATA_PATH:/dataset -it mot
rosrun motl main_node /dataset
run roscore inside container first and replace dataset valume path in the dockerfile.
Uses classical Poincloud Processing algorithms in PCL to detect 3D obstacles.
- Filtering - Downsampling, Outlier removal, ROI cropping
- Segmentation of ground plane
- Clustering of obstacles
- Bounding box detection around obstacles
- Visualization of detected obstacles and ground plane
Uses YOLOv3 object detection model to detect 2D obstacles.
- Image Preprocessing
- YOLO Object Detection
- Non-max suppression
- Visualization of detected obstacles
- Extended Kalman Filter for Tracking and Fusion
- Hungarian Algorithm for data association
- Track Management: SORT algorithm