dl-objectdetector

Note

This is an early release, so it is based on an already downloaded model from TensorFlow, which is working over a SSD detector trained on the COCO (Common Objects in COntext), on 17th November, 2017. In a future release, you will be able to select the desired model, and download it in execution time.

Requirements

More dependencies might be installed automatically with the packages mentioned above.

Basement

This component works over a library of TensorFlow pre-trained models, importing one of them and embedding it on the component developed here. Hence, to be able to run it, we have to install previously the protobufs provided with the models, following the installation guide.

Behavioral

For the moment, this node handles a real-time stream of video (incoming by an ICE/ROS proxy, automatically processed by the comm library), and shows a window displaying it, and also the output from the detection network. It provides a button for toggling on/off the real-time detection (TODO: implement another button to process a single frame on demand)

How to Use

Open Terminal and type cameraserver cameraserver.cfg In another terminal type python objectdetector.py objectdetector.yml Although, you might have to edit the Model node in yml configuration file to suit your needs. For training custom models one would need a tar.gz file same as the model name containing checkpoint information and a frozen inference graph generated by Tensorflow. Extract the file in the Net folder. Path to labels is also necessary to label bounding boxes, contained in a .pbtxt file.

Some sample models are available to use right away here