
Qu’est-ce que la détection d’objets ?
En vision par ordinateur ou computer vision, la détection d’objets est désignée par une méthode permettant de détecter la présence d’une instance ou d’une classe d’objets dans une image numérique[1] https://fr.wikipedia.org/wiki/D%C3%A9tection_d’objet.
Selon la terminologie usuelle on peut distinguer la détection, de la localisation et de la reconnaissance d’objets :
- détection (ou classification) : présence d’une instance de l’objet dans l’image
- reconnaissance : identification d’une instance particulière (« déchets », « le visage d’une personne »…)
- localisation (ou parfois détection) : situation précise de l’instance (détectée ou reconnue) dans l’image (cadre englobant ou segmentation de la zone).
Il est important de noter que pour des entités visuelles localisées (objet, visage, personne…), la détection et la localisation se confondent souvent.
La détection d’une classe d’objets est généralement considérée comme un problème plus difficile que la reconnaissance d’une instance particulière, puisqu’il faut identifier les caractéristiques communes à la classe en faisant abstraction de la variété des différentes instances au sein de ladite classe.
Approche générale
La détection d’un objet dans une image se décompose souvent en trois étapes qui sont:
- Déterminer les localisations potentielles de l’objet, soit au moyen d’une fenêtre glissante sur l’image, soit directement en détectant les points d’intérêt en son sein.
- Extraire des caractéristiques dans l’image permettant d’identifier la classe d’objet visée.
- Classer automatiquement chaque sous fenêtre comme contenant l’objet recherché ou pas ou bien apparier les caractéristiques extraites avec celles d’un modèle de référence.
Les méthodes utilisées pour faire la détection d’objets sont subdivisées en deux grandes familles (les méthodes de seuillages d’images(1) ou les méthodes utilisant l’intelligence artificielle (2) le machine learning ou le deep learning), chacune a ses avantages et inconvénients que nous allons décrire plus bas.
1- Technique ou méthode de seuillage d’images: ne nécessitent généralement pas de données historiques(données pour faire un entrainement) pour la formation et ne sont pas supervisées par nature. La méthode de seuillage choisie est appliquée directement sur l’image ce qui permet d’avoir une segmentation binaire( segmentation en deux classes) avec une des deux classes représentant l’objet à identifier ou à détecter.
- Avantages: ces tâches ne nécessitent pas d’ images annotées , où les humains étiquettent les données manuellement (pour une formation supervisée).
- Inconvénients : ces techniques sont limitées à plusieurs facteurs, tels que les scénarios complexes (sans arrière-plan unicolore), l’occlusion (objets partiellement masqués), l’éclairage et les ombres, et l’effet de fouillis. Ces techniques ne peuvent pas être appliquées sur des images avec plusieurs variations d’éclairage ou d’arrière-plan.
2-Les méthodes d’intelligence artificielle ( machine learning ou le deep learning): reposent généralement sur une formation supervisée . Les performances sont limitées par la puissance de calcul des GPU en fonction de la machine utilisée et des données(images).
- Avantages : La détection d’objets d’apprentissage en profondeur ou par les techniques de l’intelligence artificielle est beaucoup plus robuste à l’occlusion, aux scènes complexes et à l’éclairage difficile.
- Inconvénients : une énorme quantité de données (dans notre cas images) d’entraînement est nécessaire pour avoir une bonne performance. Pour ce qui de vitesse de du modèle entraîné, il faut une machine avec un bon processeur (GPU) et une mémoire Ram avec une capacité assez élevée et le processus d’ annotation d’images est laborieux et coûteux. Toutefois, il faut noter qu’il existe déjà des ensemble de données( datasets existants) permettant de faciliter la tâche si l’objet ou les objets à détecter est déjà présent dans une des classes des datasets existants.
Related Posts