usage:¶
rosrun multiview_object_recognizer multiview_object_recognizer_node -m /path/to/your/models/ [--optional_parameter p]
params (see extended help output with -h):¶
- models_dir [in] - Directory containing the object models (REQUIRED)
- do_sift [in] - if true, does SIFT feature matching
- do_shot [in] - if true, does SHOT feature matching
- chop_z [in] - cut of distance in meters with respect to the camera coordinate system
- compute_mst [in] - if true, does point cloud registration by SIFT background matching (given scene_to_scene == true), by using given pose (if use_robot_pose == true) and by common object hypotheses (if hyp_to_hyp == true) from all the possible connection a Mimimum Spanning Tree is computed. If false, it only uses the given pose for each point cloud. The given pose can be extracted from the .pcd’s header fields sensor_origin and sensor_orientation or from the extracted camera pose e.g. from the camera_tracker package
- scene_to_scene [in] - if true, estimates relative camera transform between two viewpoints using SIFT background matching
- use_go3d [in] - if true, verifies against a reconstructed scene from multiple viewpoints. Otherwise only against the current viewpoint.
- cg_size_thresh [in] - minimum number of feature corrrespondences neccessary to generate an object hypothesis (low number increases recall and compuation time, high number increases precision)
- hv_color_sigma_l [in] - maximum allowed standard deviation of the luminance color (L channel in LAB color space) for points for generated object hypotheses and scene (low number increases precision, high number increases recall)
- hv_color_sigma_ab [in] - maximum allowed standard deviation of the luminance color (AB channels in LAB color space) for points for generated object hypotheses and scene (low number increases precision, high number increases recall)
- max_vertices_in_graph [in] - maximum number of view points taken into account by the multi-view recognizer
- transfer_feature_matches [in] - defines the method used for transferring information from other viewpoints (1 = keypoint correspondences (Faeulhammer ea., ICRA2015 paper); 0 = full hypotheses only (Faeulhammer ea., MVA2015 paper))
- distance_keypoints_get_discarded [in] - defines the squared distance [m²] for keypoints to be considered the same. This avoids redundant keypoints when transformed from other view points (only used for extension_mode=0)
further description of parameters in the example object_recognizer_multiview in V4R/samples
Test:¶
rosrun multiview_object_recognizer test_multiview_object_recognizer_node [_optional_parameter:=p]
Test params (NOTE THAT THESE ARE ROS PARAMETERS):¶
- input_method[in] (default: 0) - 0=camera input; 1 = input from disk
- topic[in] (default: /camera/depth_registered/points) - camera topic being used when input_method=0
- directory[in] - directory being used to read test .pcd files when input_method=1
Object models and test scenes can be obtained from https://repo.acin.tuwien.ac.at/tmp/permanent/dataset_index.php To model your own objects have a look at http://www.acin.tuwien.ac.at/forschung/v4r/software-tools/rtm/
References:¶
- [Thomas Fäulhammer, Aitor Aldoma, Michael Zillich, Markus Vincze, Temporal Integration of Feature Correspondences For Enhanced Recognition in Cluttered And Dynamic Environments, IEEE Int. Conf. on Robotics and Automation (ICRA), 2015]
- [Thomas Fäulhammer, Michael Zillich, Markus Vincze, Multi-View Hypotheses Transfer for Enhanced Object Recognition in Clutter, IAPR Conference on Machine Vision Applications (MVA), 2015]
Original page: https://github.com/strands-project/v4r_ros_wrappers/blob/master/multiview_object_recognizer/ReadMe.md