Projet Kagan

Préparation de la prochaine séance

Deux objectifs ont été fixés après les discussions de la séance du 04/11/2020 :

  1. Entraîner un algorithme de détection d’objets dans les photos Kagan
  2. Entraîner un classifieur avec les photos Kagan

Des corpus de 100 images à annoter en classes et en objets ont été réalisés pour les invités qui souhaitent participer. Les liens de téléchargements sont disponibles en bas de page.

Pour l’objectif 1, les objets doivent être délimités dans les photographies qui en contiennent grâce à des rectangles ou des polygones, puis associés à l’un des quatre types suivants :

  • banderole ou pancarte
  • affiche
  • journal
  • policier ou militaire

Pour l’objectif 2, c’est l’ensemble de la photo qui peut être associé à 0, 1 ou plusieurs des classes suivantes :

  • manifestation / rassemblement (extérieur)
  • réunion / assemblée (intérieur)
  • opération des forces de l’ordre
  • portrait individuel
  • portrait de groupe
  • spectacle / cinéma
  • petits métiers
  • architecture / transformation de Paris
  • précaires
  • graffiti
  • enseignes

Le corpus fourni est composé d’un dossier contenant :

  • 100 photos issues du corpus
  • L’outil d’annotation VIA sous forme d’un fichier via.html qui s’éxécute dans un navigateur
  • Le projet sous forme d’un fichier Corpus_Nom.json à importer dans l’outil VIA

Les différentes étapes de l’annotation :

1. Ouvrir le fichier via.html.
Le programme se lance dans le navigateur et il est alors vide.

2. Importer le projet
Cliquer sur Project -> Load dans le menu du haut, et importer le fichier Corpus_Nom.json depuis le dossier initial.

3. Naviguer entre les photos
Le projet contenant 100 photos doit s’ouvrir. Les 5 premières photos sont déjà annotées pour l’exemple. Le menu Project sur la gauche permet de naviguer entre les photos :

4. Délimiter un objet dans une photo
Utiliser seulement les formes Rectangle et Polygone.
Il est possible de zoomer sur la photo en cliquant sur le bouton Zoom du menu du haut (ou Ctrl+molette avec le curseur sur la photo) :

4.1 Délimiter un rectangle
Cliquer sur le bouton rectangle, puis, sur la photo, rester cliqué et dessiner la diagonale du rectangle avant de relâcher. Cliquer à nouveau sur le rectangle dessiné pour le valider :

Il est possible de déplacer le rectangle ou de modifier ses points en cliquant dessus.

4.2 Délimiter un polygone
Cliquer sur le bouton polygone, puis, sur la photo, cliquer successivement sur les différents points du polygone. Appuyer sur la touche Entrée du clavier pour valider :

Il est également possible de déplacer le polygone ou de repositionner
ses points en cliquant dessus.
4.3 Supprimer un objet dans une photographie
Cliquer sur l’objet dessiné pour le sélectionner, puis sur la croix en haut à droite :

Après avoir délimité un objet, un chiffre lui est attribué. Il faut alors lui associer un type en entrant oui dans la case appropriée de l’éditeur d’annotations (voir étape suivante).

5. Créer des annotations


5.1 Ouvrir l’éditeur d’annotations
L’éditeur d’annotation permet de voir les étiquettes associées à la photo et/ou à ses objets. Appuyer sur Barre Espace du clavier pour ouvrir l’éditeur, ou cliquer dans le menu de gauche sur Attributes -> Toggle Annotations Editor :

Region Annotations représentent les objets annotés sur une photo, qui peuvent être de 4 types. Il faut délimiter un objet avant de l’associer à un type.
File Annotations représentent les classes associées à une photo, qui peuvent être de 11 types.


5.2 Associer une étiquette

Pour associer une étiquette à une photo ou à un objet déjà délimité sur une photo, il suffit d’écrire oui dans la case correspondante, et laisser vide autrement :
Annotation d’un objet de type policier :

Annotation de l’ensemble de la photo dans les classes manifestation et opération des forces de l’ordre :

6. Sauvegarder / Exporter
Sauvegarder le travail en cours en exportant le projet (Project -> Save), et en lui attribuant un nom (le fichier a une extension .json).
Ce fichier projet peut ensuite être réimporté (Project -> Load ) afin de continuer à travailler dessus.

Une fois toutes les annotations réalisées, c’est ce fichier projet qui servira à l’entraînement de l’algorithme.

Ce fichier pourra être déposé courant Décembre dans un dossier Google Drive prévu à cet effet, et accessible ici (choisir le sous-dossier correspondant à votre nom).

7. Quelques principes
Une photographie :

  • n’a pas forcément d’objets à délimiter parmi les 4 types
  • peut avoir de nombreux objets et de plusieurs types
  • peut avoir plusieurs classes
  • doit être annotée même si elle est floue / mal cadrée / surexposée …
  • peut n’avoir ni objet ni classe

Un objet :

  • doit être délimité par un rectangle ou un polygone seulement
  • doit être délimité au plus proche de ses contours
  • doit être délimité même si un objet identique est délimité sur la même photographie
  • doit être délimité dans son ensemble même s’il est recouvert en partie (sauf affiches et banderoles illisibles)
  • doit être délimité même s’il est coupé par le cadre (sauf affiches et banderoles illisibles)
  • peut être superposé à un autre
  • ne peut avoir qu’un seul des quatre types
  • les banderoles et affiches ne doivent être délimitées que si elles sont lisibles (au moins en partie)

Téléchargement des corpus :



Ce travail est en partie réalisé grâce à l’outil d’annotation VIA.
http://www.robots.ox.ac.uk/~vgg/software/via/

Abhishek Dutta and Andrew Zisserman. 2019. The VIA Annotation Software for Images, Audio and Video. In Proceedings of the 27th ACM International Conference on Multimedia (MM ’19), October 21–25, 2019, Nice, France. ACM, New York, NY, USA, 4 pages. https://doi.org/10.1145/3343031.3350535.