svo does not find enough features
I use ROS to run the monocular visual odometry system Fast Semi-direct monocular visual odometry by the Robotics and Perception Group of the university of zurich. The system seems to run fine, but cannot detect enough features or recognizes the image noise as features, thus the tracking fails. SVO uses the FAST corner detector to find the features.
My camera is calibrated as pinhole camera using the camera_calibration package. I translated the result to the .yaml representation required by svo:
cam_model: Pinhole
cam_width: 644
cam_height: 484
cam_fx: 588.481298
cam_fy: 587.819899
cam_cx: 328.046456
cam_cy: 226.471844
cam_d0: -0.363501
cam_d1: 0.165011
cam_d2: 0.000571
cam_d3: -0.000577
When I start the svo_ros node it starts up fine. If the camera looks down on a checker board it mostly finds enough features and calculates disparity between the camera frames. Most of the time after the disparity between the initial keyframe and the current camera frame gets to big the second keyframe is initiated
Init: Selected second frame, triangulated initial map.
When this happens the node starts to reloacalize the camera, but does not find enough features. Even if it says that the relocalization was successful. Sometimes it relocalization is successful severel times, but not for long.
[ INFO] [1455793514.214189779]: Init: KLT 9.41041px average disparity.
[ INFO] [1455793514.223854484]: Init: KLT tracked 100 features
[ INFO] [1455793514.223905934]: Init: KLT 10.1109px average disparity.
[ INFO] [1455793514.224348786]: Init: Homography RANSAC 98 inliers.
[ INFO] [1455793514.224422911]: Init: Selected second frame, triangulated initial map.
[ WARN] [1455793514.462734378]: Tracking less than 50 features!
[ WARN] [1455793514.471598788]: Relocalizing frame
[ INFO] [1455793514.473348234]: Relocalization successful.
[ INFO] [1455793514.511837899]: Relocalization successful.
[ INFO] [1455793514.530851955]: Relocalization successful.
[ INFO] [1455793514.569877904]: Relocalization successful.
[ INFO] [1455793514.589040237]: Relocalization successful.
[ WARN] [1455793514.608333086]: Not enough matched features.
I tried to change the settings in the launch-file. I decreased the min_fts and init_min_disparity. This improved the results, but it doesn't either.
<param name="max_fts" value="300" type="int" />
<param name="min_fts" value="20" type="int" />
<param name="init_min_disparity" value="10.0" type="double" />
I also tried to pass the camera image to a node which blurs the image a little or to perform a histogram equalization, but there is no or only a little improvement.
Does someone know what the initial disparity is and why it has to be exceeded before the pose estimation begins (maybe for the depthestimation?) and why there are not enough features found after it?
Thanks in advance.
when i use logitech C310 usb camera,it also always print "No reference keyframe" ," Relocalizing frame".Did you have fixed this problem?
Hi, sadly I was not able to solve the problem. In the next days I'll try to use the camera from the original project. Maybe I can figure out some differences and understand why our usb webcams doesn't work. I am going to tell you my results.
Thanks very much :)