Tensorflow
Driver graphique pour utiliser la version cpu
OpenCV
CV_Bridge
ROS
Télecharger le dossier
Mettre le dossier dans le source de catkin workspace
Faire un catkin_make
Faire source devel/setup.bash
pour ros noetic plutôt, problème de version de python et de cv_bridge sur melodic par exemple
mettre votre model dans le dossier data/models
mettre votre lavel dans le dossier data/labels
Pour faire fonctionner le package, on lance par exemple :
roslaunch object_detector object_detector.launch node_name:="object_detector_node" model_name:="model_faster_rcnn_resnet_custom_2" label_name:="labelmap.pbtxt" topic_src:="/image_src" topic_dest:="/image_dest"
format d'entrée image raw
format de sortie image raw
Le package se divise de la façon suivante:
data -> données de modèle et de réseau
launch -> les fichiers .launch
scripts -> les nodes python
src -> contient la lib de object_detection de tensorflow
La node va donc initialiser le modèle et les données relatives à tensorflow.
Il va s'abonner au flux d'images, puis on récupère l'image après l'avoir coverti au format de OpenCV.
Tensorflow va alors analyser l'image est marqué d'un carré les objets trouvés.
Enfin, on republie l'image sur un autre topic.