Skip to content

Guide d'utilisation

JulienCheny edited this page Apr 4, 2019 · 10 revisions

Introduction

Une fois le guide d'installation terminé, un conteneur docker est en fonctionnement avec yolo, les scripts du projet et les ressources nécessaires (images, annotations).

Vous pouvez maintenant exécuter les commandes d'utilisation suivante.

Générer les paramètres d'apprentissage des réseaux de neurones

Fichier configuration

Ce fichier contient toutes les configurations nécessaires à la commande suivante (chemins, formats de fichiers, constantes).

Fichier whitelist

Ce fichier contient des noms d'objets. c'est un filtre permettant de sélectionner une population d'objets parmi les 80 proposés par COCO.

Exécuter

docker-compose exec pycoco python3 app/GenNetworksParams.py -c app/configs.conf

Cette commande va générer un dossier pour chaque réseau de neurones à apprendre.

Apprendre un réseau

Il faut exécuter cette commande pour chaque réseau de neurones à apprendre, et laisser le système tourner pendant plusieurs heures, jours ou semaines.

Les paramètres pour chaque réseau se trouvent dans le dossier /srv/datas/[nom_objet].

Exécuter

Ici par exemple nous apprenons le réseau de l'objet "person".

docker-compose exec pycoco sh
cd darknet
./darknet detector train /srv/datas/person/person.data cfg/yolov3-tiny.cfg

Détecter des objets (mode standard)

Il est possible de détecter des objets dans un image en utilisant Yolo de Darknet. Nous pouvons utiliser une configuration par défaut et des poids pré-entraînés.

Voici la commande utilisant le script Shell de Darknet pour détecter des objets dans une image :

docker-compose exec pycoco sh
cd darknet
./darknet detect [config_réseau] [poids_réseau] [chemin_image]

Voici un exemple permettant de tester le fonctionnement du détecteur d'objets :

docker-compose exec pycoco sh
cd darknet
./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg

Le résultat est affiché dans la sortie standard, et une image "predictions.jpg" est générée avec les boites des objets détectés.

Voici la commande python permettant de lancer le détecteur d'objets :

docker-compose exec pycoco python3 app/detect.py -l [librairie_darknet] -c [config_réseau] -w [poids_réseau] -d [données_réseau] -i [chemin_image]

Par exemple :

docker-compose exec pycoco python3 app/detect.py -l "/srv/darknet/libdarknet.so" -c "/srv/darknet/cfg/yolov3-tiny.cfg" -w "/srv/darknet/yolov3-tiny.weights" -d "/srv/darknet/cfg/coco.data" -i "/srv/app/test/image_test.png"

Détecter des objets avec les graphes de relations spatiales

Voici la commande permettant de détecter les objets d'une image en effectuant successivement plusieurs détections avec des réseaux de neurones différents :

docker-compose exec pycoco python3 app/Detection.py  -c app/configs.conf - i [chemin_image]

Le résultat est affiché dans la sortie standard, et un fichier "result.txt" est généré, il contient le résultat de la détection.