introlab / rtabmap_ros

RTAB-Map's ROS package.
http://wiki.ros.org/rtabmap_ros
BSD 3-Clause "New" or "Revised" License
916 stars 549 forks source link

Please help me. OpenCV xfeatures2d: true, but the results seem to be the same even if different feature algorithms are used. #1171

Open kuacboss opened 3 weeks ago

kuacboss commented 3 weeks ago

rtabmap --version RTAB-Map: 0.21.5 PCL: 1.10.0 With VTK: 7.1.1 OpenCV: 4.2.0 With OpenCV xfeatures2d: true With OpenCV nonfree: true With ORB OcTree: true With SuperPoint Torch: false With Python3: false With FastCV: false With OpenGV: false With Madgwick: true With PDAL: false With TORO: true With g2o: true With GTSAM: true With Vertigo: true With CVSBA: false With Ceres: false With OpenNI2: true With Freenect: false With Freenect2: false With K4W2: false With K4A: false With DC1394: true With FlyCapture2: false With ZED: false With ZED Open Capture: false With RealSense: false With RealSense SLAM: false With RealSense2: true With MYNT EYE S: false With DepthAI: false With libpointmatcher: true With CCCoreLib: false With Open3D: false With OctoMap: true With GridMap: true With cpu-tsdf: false With open chisel: false With Alice Vision: false With LOAM: false With FLOAM: false With FOVIS: false With Viso2: false With DVO: false With ORB_SLAM: false With OKVIS: false With MSCKF_VIO: false With VINS-Fusion: false With OpenVINS: false

This is the result of my rtapmap --version

As shown in the photo above, even if various feature algorithms are used, the feature point extraction results are almost similar or the same.

SURF (SURF)

ORB (ORB)

Here is the code I ran: roslaunch rtabmap_demos demo_robot_mapping.launch args:="--Vis/FeatureType ex_ORB, SIFT, SUFT etc." rosbag play --clock demo_mapping.bag

I installed it like the code below.

https://github.com/introlab/rtabmap_ros

Experts, please help.. Thank you in advance.

matlabbe commented 2 weeks ago

You have to change Kp/DetectorStrategy to same value than Vis/FeatureType. Also, if you are using opencv binaries as dependency, you may not have access to all types of features, in that case you should see warnings/errors in the terminal about that.