Structure From Motion for ROS(noetic). Uses pcl and standard ros packages. Uses Libtorch and OpenCV for semantic segmentation.
Dependeces (ROS, PCL, pcl_conversions, pcl_msgs, Libtorch, OpenCV)
Visit Offical Libtorch installation guide.
- Clone the GitHub repository into 'catkin_ws/src'
git clone https://github.com/jagennath-hari/ros_sfm.git
- 'catkin build -j -DCMAKE_BUILD_TYPE=Release' and source the workspace.
Download bag file and paste inside 'bag' folder in sfm. To run a demo.
roslaunch sfm structure_from_motion_example.launch
roslaunch sfm semantic_sfm.launch rgb_topic:=/rgb_topic depth_topic:=/depth_topic camera_topic:=/camera_topic odom_topic:=/odom_topic model_path:=/path leaf_size:=/double
- rgb_topic(sensor_msgs/Image)
- depth_topic(sensor_msgs/Image)
- camera_topic(sensor_msgs/CameraInfo)
- odom_topic(nav_msgs/Odometry)
- model_path (string)
- leaf_size (double)
Rviz can be used to view the topics '/sfm/cloud' and '/sfm/trajectory'.
- /sfm/cloud(sensor_msgs/PointCloud2) (To view semantic point cloud switch from RGB8 to Intensity and select channel label)
- /sfm/trajectory(nav_msgs/Path)
- /sfm/MapGraph (sfm/MapGraph)