diff --git a/README.md b/README.md index 7ea188e..948c6d5 100644 --- a/README.md +++ b/README.md @@ -16,13 +16,24 @@ Check [dodo detector](https://github.com/douglasrizzo/dodo_detector)'s README fi ## Configuration +Edit `config/main_config.yaml` to select which type of detector you want as well as to point the package to the artifacts each detector expects. + + - `global_frame`: the frame or tf that all object tfs will be published in relation to, eg `map`. Leave blank to publish wrt. camera_link + - `tf_prefix`: a prefix for the object tfs which will be published by the package + - `detector_type`: either 'sift', 'rootsift' or 'ssd' + - `inference_graph`: path to TensorFlow Object Detection API frozen inference graph, the `.pb` file + - `label_map`: path to TensorFlow Object Detection API label map, the `.pbtxt` + - `ssd_confidence`: confidence level to report objects as detected by the neural network, between 0 and 1 + - `sift_min_pts`: minimum number of points to consider an object as present in the scene + - `sift_database_path`: path to the database used by the keypoint object detector + +## Functionality + The package works in two steps. First, it detects objects by using a video feed and then it uses a point cloud to publish TFs for each detected object. Object detection is done via the [dodo detector](https://github.com/douglasrizzo/dodo_detector) package. In case the single-shot detector is to be used, point the `inference_graph` and `label_map` parameters to your corresponding files. These files are created when training an object detection neural network using [TensorFlow Object Detection API](https://github.com/tensorflow/models/tree/master/research/object_detection). Also, the `ssd_confidence` parameter can be changed to adjust the detection threshold of the network. -In case the keypoint-based detector is to be used (either SIFT or RootSIFT), you need to create a database directory. The procedure to do so is described [here](http://dodo-detector.douglasrizzo.com.br/#keypoint-based-detector). - -Edit `config/main_config.yaml` to select which type of detector you want as well as to point the package to the artifacts each detector expects. +In case the keypoint-based detector is to be used (either SIFT or RootSIFT), you need to create a database directory. The procedure to do so is described [here](http://douglasrizzo.github.io/dodo_detector#keypoint-based-detector). ## Usage diff --git a/config/main_config.yaml b/config/main_config.yaml index 4632142..838adda 100644 --- a/config/main_config.yaml +++ b/config/main_config.yaml @@ -1,21 +1,8 @@ -# ['sift', 'rootsift', 'ssd'] +# global_frame: map +tf_prefix: dodo_detector_ros detector_type: ssd -# path to TensorFlow Object Detection API frozen inference graph inference_graph: ~/.dodo_detector_ros/mscoco_frozen_inference_graph.pb -# path to TensorFlow Object Detection API label map label_map: ~/.dodo_detector_ros/mscoco_label_map.pbtxt - -# confidence level to report objects as detected ssd_confidence: 0.5 - -# minimum number of points to consider an object as present in the scene sift_min_pts: 10 - -# path to the database used by the keypoint object detector -sift_database_path: ~/.dodo_detector_ros/sift_database - -# the frame or tf that all object tfs will be published in relation to, leave blank to publish wrt. camera_link -# global_frame: map - -# a prefix for the object tfs which will be published by the package -tf_prefix: dodo_detector_ros \ No newline at end of file +sift_database_path: ~/.dodo_detector_ros/sift_database \ No newline at end of file diff --git a/package.xml b/package.xml index 2d808db..e3c7d5a 100644 --- a/package.xml +++ b/package.xml @@ -1,7 +1,7 @@ dodo_detector_ros - 0.2.0 + 0.2.1 A package for object detection and localization using computer vision and IR sensors. @@ -17,7 +17,7 @@ - +