Attention: This project is under construction, so it may NOT work well. Contact us freely if you have questions.
This code contains a basic implementation for Quaqric SLAM. Given RGB and 2D object detection, the algorithm detects quadrics from several frames then formulate an object SLAM to optimize both camera pose and quadric poses. Besides, we try to use a nonparameter function to solve the data association problem during the process.
Authors: [tiev-tongji]
Related Paper:
-
CubeSLAM: Monocular 3D Object SLAM, IEEE Transactions on Robotics 2019, S. Yang, S. Scherer PDF
-
QuadricSLAM: Dual Quadrics From Object Detections as Landmarks in Object-Oriented SLAM, IEEE Robotics and Automation Letters ( Volume: 4 , Issue: 1 , Jan. 2019 ), Lachlan Nicholson, Michael Milford, Niko Sünderhauf
-
Probabilistic Data Association for Semantic SLAM, PDF
-
Multimodal Semantic SLAM with Probabilistic Data Association, PDF
-
SLAM with Objects using a Nonparametric Pose Graph. PDF
This code contains several ros packages. We test it in ROS indigo/kinetic/Melodic, Ubuntu 14.04/16.04/18.04, Opencv 2/3. Create or use existing a ros workspace.
mkdir -p ~/quadricslam_ws/src
cd ~/cubeslam_ws/src
catkin_init_workspace
git@github.com:tiev-tongji/quadric_slam.git
cd quadric_slam
sh install_dependenices.sh
cd ~/quadricslam_ws
catkin_make -j4
source devel/setup.bash
roslaunch object_slam object_slam_example.launch
You will see results in Rviz. Default rviz file is for ros indigo. A kinetic version is also provided.
2019/10/14
-
Finished nonparameter data association
-
Update README
2019/07/12
-
Finished quadric detector
-
Update README
2019/07/09
-
Finished basic structure
-
Update README
2019/07/07
- Initial Commit
- Generate and update quadrics (Quadric_landmark.quadric_detection().
- Score quadrics.
- Data Association.
- Visualization the quadrics and camera pose(publish_all_poses()).
- Detect online with yolo.
- Find the algorithm to determine the ID of vertex and edge.
- Test with KITTI benchmark.
- Decide some hyper-parameter.