Détection d'objets avec tensorflow2

Dans cette section tu vas apprendre à utiliser l'API Tensorflow Object Detection (a.k.a TOD) qui propose :

Avantages : Contrairement à la Classification présentée dans la section Classification tf2, la Détection d’objets donne directement les boîtes englobantes des objets. On évite ainsi l’étape de pré-traitement de l’image nécessaire à la Classification pour extraire les objets et en faire de nouvelles images à classifier. Ce pré-traitement basé sur un traitement conventionnel des pixels de l’image (seuillage, extraction de contour, segmentation…) est relativement fragile (sensible à la luminosité, à la présence ou non d’un fond noir…).

Un avantage attendu de l’approche Object Detection est donc de fournir directement les boîtes englobantes des objets à détecter, sans passer par l’étape de pré-traitement des images.

Inconvénients - Les principaux inconvénients de l’approche Object Detection sont :

Prérequis

L’entraînement des réseaux de neurones avec le module tensorflow se fait dans un Environnement Virtuel Python (EVP) qui permet de travailler avec une version de Python dédiée, séparée de celle existant pour le travail sous ROS.
💻 L’activité Python3 : Environnement virtuel doit être réalisée pour apprendre comment créer un EVP nommé tf2 avec une version de Python égale à 3.8 possédant les modules nécessaire au travail avec les réseaux de neurones de tensorflow.

Parcours d’apprentissage :

Le parcours proposé dans cette activité comporte un prérequis et 7 activités à enchaîner successivement :

Activités Description Lien Durée approximative
prérequis Créer/initialser un Environnement Virtuel Python pour travailler avec l'API TOD Python3 : Environnement virtuel 40 min. (dépend du débit Internet)
1 Installer l’API TensorFlow Oject Detection (TOD) Installer l’API TOD 60 min.
selon le débit internet et de les ressources CPU & RAM
2 Configurer l’arborescence de travail multi-projets Configurer l’arboresecnce de travail 15 min.
3 Télécharger un réseau pré-entraîné à la détection d’objets dans des images Télécharger un réseau pré-entraîné 20 min.
selon le débit internet
4 Obtenir les images avec la caméra du robot Obtenir les images avec le robot 30 min.
5 Annoter les images et créer le fichiers des données d’entraînement Annoter les images pour l’entraînement supervisé 60 min.
6 Continuer l’entraînement du réseau avec les nouvelles données Ré-entraîner le réseau plusieurs heures
selon les ressources CPU & RAM de ton ordinateur
7 Évaluer les inférences du réseau ré-entrainé avec des images de test Évaluer les inférences du réseau ré-entrainé 30 minutes
selon les ressources CPU & RAM de ton ordinateur

Une fois ces étapes terminées, “il ne reste plus qu’à” intégrer l’exploitation du réseau ré-trainé dans l’environnement ROS…

Documentation

Documentation générale sur numpy :

Documentation sur l'API TOD pour tensorflow2 :