-
Notifications
You must be signed in to change notification settings - Fork 1
Predator
###Introduction
For the detection of the 3D LandoltC, instead of using an offline training method, predator was preferred mainly because of the fact that it's considered to be a generic object detector. The algorithm was developed originally by Zdenek Kalal, in MATLAB. However the C++ version of the algorithm, was chosen instead found here. A ROS version of predator already existed, however it wasn't meant for ROS Hydro and in addition it didn't work as expected. To tackle this, a ROS Interface was developed from scratch based on the C++ version of the algorithm mentioned above. Details about the logic of the algorithm will not be included here, since one can find more about it in Zdenek Kalal's PhD thesis here
###Function
First you need to launch the node using the command roslaunch pandora_vision_predator predator_node_standalone.launch
and then you need to change the state of the robot with rosrun state_manager state_changer 2
. You have the following options:
- Press
q
: Exits the window - Press
e
: Saves the model - Press
r
: Draw the rectangle with mouse and press enter - Press
i
: Imports the model - Press
a
: Alternating option [Not needed] - Press
l
: Toggles learning - Press
c
: Clears the model [Not needed]
- Press
l
to enable learning mode. - Press
r
to specify the object to learn. The environment must remain still! After drawing the bounding box press enter (after releasing the mouse). Now it learns. - Press
e
to save the model. The model is saved at$PANDORA/src/pandora_vision/pandora_vision_predator/
- When predator is relaunched it loads the
model
file and starts the hunt automatically. - When the bounding box turns blue, it means that Predator is more confident about the object being detected and tracked. The opposite happens when the bounding box turns yellow.
-
predator_params.yaml/camera_name
: Specifies the camera name. Predator listens to the topic that is specified by the param/$camera_name/topic_name
. -
predator_params.yaml/learning_enabled
: When true the learning is enabled by default (skips the first step of the Training procedure) -
predator_params.yaml/operation_state
: Iftrue
sends frame, probability & bounding box to thepredator_topics.yaml/published_topic_names/predator_landoltc_output
topic. Iffalse
is posts apandora_common_msgs::GeneralAlertMsg
. If you want predator to work as a standalone detector, this parameter needs to be set as false.