Qu'est-ce que la «segmentation sémantique» par rapport à la «segmentation» et «l'étiquetage de scène»?

97

La segmentation sémantique est-elle juste un pléonasme ou y a-t-il une différence entre «segmentation sémantique» et «segmentation»? Y a-t-il une différence entre «étiquetage de scène» ou «analyse de scène»?

Quelle est la différence entre la segmentation au niveau du pixel et la segmentation par pixel?

(Question secondaire: lorsque vous avez ce type d'annotation au niveau des pixels, obtenez-vous la détection d'objet gratuitement ou y a-t-il encore quelque chose à faire?)

Veuillez donner une source pour vos définitions.

Sources qui utilisent la "segmentation sémantique"

Sources qui utilisent "l'étiquetage de scène"

Source qui utilise "au niveau du pixel"

  • Pinheiro, Pedro O. et Ronan Collobert: "De l'étiquetage au niveau de l'image au niveau du pixel avec les réseaux convolutifs." Actes de la conférence IEEE sur la vision par ordinateur et la reconnaissance de formes, 2015 (voir http://arxiv.org/abs/1411.6228 )

Source qui utilise "pixelwise"

  • Li, Hongsheng, Rui Zhao et Xiaogang Wang: "Propagation avant et arrière très efficace des réseaux de neurones convolutifs pour la classification par pixel." préimpression arXiv arXiv: 1412.4526 , 2014.

Google Ngrams

La "segmentation sémantique" semble être plus utilisée récemment que "l'étiquetage de scène"

entrez la description de l'image ici

Martin Thoma
la source
Autres termes qui semblent très similaires: classification / étiquetage (par) pixel
Martin Thoma
12
Il est vraiment intéressant que @MartinThoma propose une segmentation sémantique préimprimée arXiv, publiée près de 6 mois après avoir posé la question [lien] ( arxiv.org/pdf/1602.06541.pdf ). Bon travail!
Mohamed Hasan

Réponses:

92

La "segmentation" est une partition d'une image en plusieurs parties "cohérentes", mais sans aucune tentative de comprendre ce que ces parties représentent. L'une des œuvres les plus connues (mais certainement pas la première) est Shi et Malik "Normalized Cuts and Image Segmentation" PAMI 2000 . Ces travaux tentent de définir la «cohérence» en termes d'indices de bas niveau tels que la couleur, la texture et la douceur de la frontière. Vous pouvez retracer ces travaux jusqu'à la théorie de la Gestalt .

D'autre part, la "segmentation sémantique" tente de partitionner l'image en parties sémantiquement significatives et de classer chaque partie dans l'une des classes prédéterminées. Vous pouvez également atteindre le même objectif en classant chaque pixel (plutôt que l'image / segment entier). Dans ce cas, vous effectuez une classification par pixel, ce qui conduit au même résultat final mais dans un chemin légèrement différent ...

Donc, je suppose que vous pouvez dire que la "segmentation sémantique", "l'étiquetage de la scène" et la "classification par pixel" tentent essentiellement d'atteindre le même objectif: comprendre sémantiquement le rôle de chaque pixel dans l'image. Vous pouvez emprunter de nombreux chemins pour atteindre cet objectif, et ces chemins conduisent à de légères nuances dans la terminologie.

Shai
la source
2
Quel chemin mène à une segmentation sémantique et qui mène à un étiquetage de scène ou à une classification par pixel?
Martin Thoma
3
@moose de manière générale, si vous utilisez des outils et des algorithmes issus du champ de recherche "segmentation" (par exemple, CRF, termes induisant la fluidité, etc.) alors vous faites de la "segmentation sémantique". D'un autre côté, si vous utilisez des outils et des algorithmes utilisés dans la classification d'images en les appliquant localement, vous êtes plus susceptible de décrire votre travail comme un "étiquetage par pixel". Cependant, je ne pense pas qu'il y ait vraiment de différence pratique, seulement sémantique: ce sont tout à fait des synonymes du même but final.
Shai
63

J'ai lu beaucoup d'articles sur la détection d'objets, la reconnaissance d'objets, la segmentation d'objets, la segmentation d'image et la segmentation d'image sémantique et voici mes conclusions qui pourraient être fausses:

Reconnaissance d'objets: dans une image donnée, vous devez détecter tous les objets (une classe restreinte d'objets dépend de votre ensemble de données), les localiser avec un cadre englobant et étiqueter ce cadre englobant avec une étiquette. Dans l'image ci-dessous, vous verrez une sortie simple d'une reconnaissance d'objet de pointe.

reconnaissance d'objets

Détection d'objets: c'est comme la reconnaissance d'objets, mais dans cette tâche, vous n'avez que deux classes de classification d'objets, ce qui signifie des boîtes de délimitation d'objet et des boîtes de délimitation sans objet. Par exemple Détection de voiture: vous devez détecter toutes les voitures dans une image donnée avec leurs cadres de délimitation.

Détection d'objets

Segmentation d'objets: comme la reconnaissance d'objets, vous reconnaîtrez tous les objets d'une image, mais votre sortie doit montrer cet objet classant les pixels de l'image.

segmentation d'objets

Segmentation d'image: dans la segmentation d'image, vous segmenterez des régions de l'image. votre sortie n'indiquera pas les segments et la région d'une image qui, cohérents les uns avec les autres, devraient être dans le même segment. L'extraction de super pixels d'une image est un exemple de cette tâche ou de la segmentation de premier plan-arrière-plan.

segmentation d'image

Segmentation sémantique: Dans la segmentation sémantique, vous devez étiqueter chaque pixel avec une classe d'objets (voiture, personne, chien, ...) et de non-objets (eau, ciel, route, ...). En d'autres termes, dans la segmentation sémantique, vous étiqueterez chaque région de l'image.

segmentation sémantique

Je pense que l'étiquetage au niveau des pixels et au niveau des pixels est fondamentalement la même chose que la segmentation d'image ou la segmentation sémantique. J'ai également répondu à votre question dans ce lien de la même manière.

e_soroush
la source
8
J'ajouterais également la segmentation d'instance, c'est-à-dire la déliénation entre les instances du même objet
Alex
1
Je dirais que "Image Recognition" est un synonyme de "Image Classification" plutôt que "Image Detection". Il s'agit de reconnaître un ou plusieurs objets dans une image et de savoir si elle est présente. Si nous voulons également savoir où il se trouve, nous aurions besoin de détecter les objets à l'aide de boîtes englobantes. De plus, je ne vois pas de raison pour laquelle un détecteur d'objet ne devrait pouvoir détecter qu'une seule classe.
pietz
Je suis en partie d'accord avec vous. Je n'ai pas mentionné ce qu'est la reconnaissance d'image, donc la reconnaissance d'image et la classification pourraient signifier la même chose. Cependant, la détection d'objets est principalement utilisée pour les problèmes de deux classes et la reconnaissance d'objets pour les multi-classes. Quoi qu'il en soit, je n'ai pas de garde pour ma réponse, c'était juste mon idée après avoir lu un article il y a environ trois ans! À votre santé!
e_soroush
Pourriez-vous élaborer sur certains endroits d'où vous trouvez vos lectures?
qarthandso le
36

Les réponses précédentes sont vraiment excellentes, je voudrais souligner quelques ajouts supplémentaires:

Segmentation d'objets

l'une des raisons pour lesquelles cela est tombé en disgrâce dans la communauté de la recherche est qu'il est problématiquement vague. La segmentation d'objets signifiait simplement trouver un seul ou petit nombre d'objets dans une image et dessiner une frontière autour d'eux, et pour la plupart des cas, vous pouvez toujours supposer que cela signifie cela. Cependant, il a également commencé à être utilisé pour signifier la segmentation des blobs qui pourraient être des objets, la segmentation des objets de l'arrière-plan (plus communément appelé soustraction d'arrière-plan ou segmentation d'arrière-plan ou détection de premier plan), et même dans certains cas, utilisé de manière interchangeable avec la reconnaissance d'objets à l'aide de boîtes de délimitation (cela s'est rapidement arrêté avec l'avènement des approches de réseaux neuronaux profonds pour la reconnaissance d'objets, mais auparavant la reconnaissance d'objets pourrait également signifie simplement étiqueter une image entière avec l'objet en elle).

Qu'est-ce qui rend la «segmentation» «sémantique»?

Simpy, chaque segment, ou dans le cas des méthodes profondes, chaque pixel reçoit une étiquette de classe basée sur une catégorie. La segmentation en général n'est que la division de l'image par une règle. La segmentation par décalage moyen , par exemple, à partir d'un niveau très élevé divise les données en fonction des changements d'énergie de l'image. Coupe graphiquela segmentation basée n'est pas non plus apprise mais directement dérivée des propriétés de chaque image distincte du reste. Les méthodes plus récentes (basées sur les réseaux neuronaux) utilisent des pixels étiquetés pour apprendre à identifier les caractéristiques locales associées à des classes spécifiques, puis classent chaque pixel en fonction de la classe qui a la plus grande confiance pour ce pixel. De cette manière, "pixel-étiquetage" est en fait un nom plus honnête pour la tâche, et le composant "segmentation" est émergent.

Segmentation d'instance

Sans doute la signification la plus difficile, la plus pertinente et la plus originale de la segmentation d'objets, la "segmentation d'instance" signifie la segmentation des objets individuels dans une scène, qu'ils soient du même type ou non. Cependant, une des raisons pour lesquelles cela est si difficile est que du point de vue de la vision (et à certains égards philosophique), ce qui fait une instance "objet" n'est pas entièrement clair. Les parties du corps sont-elles des objets? De tels "objets partiels" devraient-ils être segmentés par un algorithme de segmentation d'instances? Doivent-ils être segmentés uniquement s'ils sont vus séparément du tout? Qu'en est-il des objets composés si deux choses clairement jointes mais séparables doivent être un ou deux objets (une pierre collée au sommet d'un bâton est-elle une hache, un marteau ou simplement un bâton et une pierre à moins qu'elle ne soit correctement faite?). Aussi, ce n'est pas t clair comment distinguer les instances. Un testament est-il une instance distincte des autres murs auxquels il est attaché? Dans quel ordre les instances doivent-elles être comptées? Comme ils apparaissent? Proximité du point de vue? Malgré ces difficultés, la segmentation des objets est toujours un gros problème car en tant qu'humains, nous interagissons tout le temps avec les objets indépendamment de leur «étiquette de classe» (en utilisant des objets aléatoires autour de vous comme poids de papier, assis sur des choses qui ne sont pas des chaises), et donc certains ensembles de données tentent de résoudre ce problème, mais la principale raison pour laquelle il n'y a pas encore beaucoup d'attention accordée au problème est qu'il n'est pas assez bien défini. entrez la description de l'image ici

Analyse de scène / étiquetage de scène

L'analyse de scène est l'approche strictement segmentée de l'étiquetage de scène, qui présente également certains problèmes d'imprécision. Historiquement, l'étiquetage des scènes signifiait diviser toute la «scène» (image) en segments et leur donner à tous une étiquette de classe. Cependant, cela signifiait également attribuer des étiquettes de classe aux zones de l'image sans les segmenter explicitement. En ce qui concerne la segmentation, la «segmentation sémantique» n'implique pas de diviser la scène entière. Pour la segmentation sémantique, l'algorithme est destiné à segmenter uniquement les objets qu'il connaît, et sera pénalisé par sa fonction de perte pour étiqueter les pixels qui n'ont pas d'étiquette. Par exemple, l'ensemble de données MS-COCO est un ensemble de données pour la segmentation sémantique où seuls certains objets sont segmentés. Exemples d'images MS-COCO

physincubus
la source