web-dev-qa-db-fra.com

Comment reconnaître plusieurs objets dans la même image

Je suis novice dans TensorFlow.

En fait, je teste quelques exemples de classification "Réseau de neurones convolutifs" sur le site Web TensorFlow et explique comment CLASSER les images d'entrée dans des classes prédéfinies, mais le problème est le suivant: je ne vois pas comment DÉTECTER plusieurs objets dans la même image. Par exemple, j'ai eu une image d'entrée avec chat et chien et je veux que mon graphique affiche dans la sortie qu'ils sont tous les deux "Un chat et un chien" dans l'image.

6
user3425890

Excellente question. Détecter plusieurs objets dans la même image se résume essentiellement à un "problème de segmentation". YOLO (vous ne regardez qu'une fois) et le SSD (détecteur à une seule puce) sont deux algorithmes populaires. J'ai inclus des liens vers eux en bas.

Je regarderais quelques vidéos sur le fonctionnement de YOLO et verrais si vous en comprenez l’idée. Lisez ensuite le papier sur SSD et voyez si vous comprenez pourquoi cet algorithme est encore plus rapide et précis.

Les deux algorithmes sont à passe unique: ils ne regardent l'image qu'une seule fois et prédisent des cadres de sélection pour les catégories qu'ils repèrent. Il existe des algorithmes plus précis, mais ils sont plus lents (ils sélectionnent d’abord les points qu’ils veulent regarder, puis n’exécutent un classificateur que sur cet endroit. Le résultat est qu’ils exécutent ce classificateur plusieurs fois par image, ce qui est lent).

Comme vous l'avez dit, vous êtes un débutant dans Tensorflow, vous pouvez essayer ce code créé par d'autres personnes: https://github.com/thtrieu/darkflow . Le très long fichier Lisez-moi vous montre comment utiliser votre propre jeu de données.

Bonne chance et faites-nous savoir si vous avez d'autres questions ou si ces algorithmes ne correspondent pas à votre cas d'utilisation.

16
rmeertens

Une approche naïve de ce que vous essayez de faire serait de classer les parties de l'image indépendamment.

Mais il existe certaines meilleures techniques pour la détection d'objet. En fait, il existe l’API TensorFlow Object Detection , qui vous permet d’accéder aux méthodes de détection d’objets les plus courantes telles que Faster R-CNN ou SSD.

2
rettenda