Comprendre les données visuelles à grande échelle

La page est créée Christophe Langlois
 
CONTINUER À LIRE
Comprendre les données visuelles à grande échelle
Comprendre les données
visuelles à grande échelle

  Karteek Alahari & Diane Larlus
  December 20th 2018
© 2017 NAVER LABS. All rights reserved.
Comprendre les données visuelles à grande échelle
Organisation du cours

l   Séance du jeudi 20 décembre – 8h15 à 11h15
     l   Deuxième cours
     l   Présentation article 1 + quizz
Comprendre les données visuelles à grande échelle
é       à
    è
        é   à       é
                é
Comprendre les données visuelles à grande échelle
Représentation d’images avec application à la
  recherche visuelle

  l   Représentation d’images: introduction
  l   Recherche visuelle d’images: introduction
  l   Représentations locales des images
  l   Représentations globales des images
  l   Représentations d’images par apprentissage profond
  l   Construction d’un système complet

(étalés sur les cours 2 et 3 + les deux prochains articles sont pertinents)
Comprendre les données visuelles à grande échelle
Représentation des images – introduction

                             Comprendre les données visuelles à grande échelle
                             Cours 2: représentations locales, 30 décembre 2018
Comprendre les données visuelles à grande échelle
Espaces de représentation : Plan

l   Du monde réel à la description numérique
l   Représenter : pour quelle application ?
l   Difficultés
l   Indices visuels
l   Représentations globales vs représentations locales
l   Représentations « profondes »
Comprendre les données visuelles à grande échelle
Du monde réel à la représentation numérique

  l   À notre échelle, les signaux que nous désirons acquérir sont continus

  l   Leur représentation sur des supports numériques nécessite une opération de
      discrétisation destructrice
      → par opposition aux supports analogiques (bruit)

  l   On distingue deux types d’opérations de discrétisation
      ► L’échantillonnage

      ► La quantification
Comprendre les données visuelles à grande échelle
L’échantillonnage
l   C’est l’opération qui consiste à choisir un support discret pour le signal
    ► support temporel (son, vidéo, …)

    ► support spatial (image, vidéo)

    ► support 3D (scanner, …)

l   Il est généralement régulier, mais pas nécessairement
Comprendre les données visuelles à grande échelle
L’échantillonnage
l   Le niveau de discrétisation requis est fonction de la plage de fréquence que l’on veut
    pouvoir restituer
l   Effet de moiré – fréquence vidéo
l   halftoning
    pour éviter le moiré :
Comprendre les données visuelles à grande échelle
Quantification
l   C’est l’opération de discrétisation des amplitudes du signal
l   Dans un sens plus général, la quantification peut être vectorielle
                f: Rd → F, avec F={1,2,..k} ensemble fini d’entiers
l   La quantification définit un diagramme de Voronoï:
    → une décomposition d’un espace métrique déterminée par les distances à un
    ensemble discret de points
Exemple de discrétisations du signal
IMAGE (couleur)
l   Echantillonnage: 3 grilles de valeur, 1 grille par composante de couleur
    ► Bayer pattern:
       ►   Les capteurs photographiques sont sensibles à l’intensité non à la couleur
       ►   Une solution: des filtres devant chaque photodiode
       ►   La perception humaine est plus sensible au vert

l   Quantification: RGB : 8 bits de quantification pour chaque couleur
⇒ 24 bits par pixels (pixel = élément du support du signal)
La couleur
l   Espace de représentation RGB (Red, Green, Blue)
    ►   représentation additive des couleurs sur la base de la lumière émise
    ►   le plus souvent, chaque canal est représenté sur 8 bits
        ⇒ 16,7 millions de couleurs possibles

l   YUV (Y: luminosité, U et V: chrominance)

l   HSV (Hue, Saturation, Value)
    ►   Bonne représentation perceptuelle des couleurs,
        utilisée dans les logiciels

l   CMYK (cyan, magenta, yellow, key)
    ►   Espace de couleur soustractive (application des encres)

l   CIELAB
    l    espace de couleurs “perceptuel”
Espaces de représentation : Plan

l   Du monde réel à la description numérique
l   Représenter : pour quelle application ?
l   Difficultés
l   Indices visuels
l   Représentation globale vs représentation locale
l   Représentations « profondes »
Représenter pour décrire

 l   Application à la recherche visuelle d’images par le contenu
     ►   focus du cours sur les images (de nombreux principes sont transférables à
         d’autres modalités)
     ►   description des images pour les retrouver par leur contenu
 l   Problème très différent de celui de la compression
     ►   on ne cherche pas à reconstruire (la plupart des informations n’ont pas
         d’utilité directe pour la recherche, alors qu’en reconstruction elles
         contribuent au confort visuel)
     ►   on cherche à extraire ce qui sera pertinent pour l’application visée
 l   Applications très variées (cf premier cours), ici la recherche du
     même objet dans une image
Espaces de représentation : Plan

l   Du monde réel à la description numérique
l   Représenter : pour quelle application ?
l   Difficultés
l   Indices visuels
l   Représentation globale vs représentation locale
l   Représentations « profondes »
Appearance variation – instance level
                                                                                               scale

                    reference image                                            viewpoint

                            occlusion                                           illumination

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Appearance variation – category level

     Camera pose              Illumination   Deformation             Occlusion

              Background clutter              Intraclass variation
Indices visuels
l   Ici, focus sur l’image, mais s’applique directement à la vidéo

l   Indices visuels (visual features)
    caractéristiques de l’image, au sens de notre perception
    d’humain, que l’on cherche à utiliser pour la tâche considérée

l   Principaux indices visuels
    ►   couleur
    ►   forme
    ►   texture
    ►   régions
    ►   mouvement (pour la vidéo)
Indice visuel : couleur
l   Utile pour la catégorisation (= trouver la classe d’objet) ou le tracking (suivre des
    objets)
l   Indice visuel ayant reçu beaucoup d’attention de part sa simplicité
    ► de nombreux descripteurs (globaux ou locaux)

l   Exemple: Robocup 2006...
Indice visuel : couleur

l   Problèmes
    ► choix de la représentation de la couleur

    ► distance entre couleurs

    ► invariance de la couleur

    ► Indice visuel insuffisant si utilisé seul, car peu discriminant (pomme vs Ferrari)

l   Remarque : le plus souvent, une image en niveaux de gris ou même en noir et
    blanc suffit à un humain pour effectuer la tâche demandée !
Couleur - illustration
Exemple de descripteur couleur: histogramme de la couleur des pixels
Illustration de son invariance au changement de point de vue
Indice visuel : forme
l   Nombreux algorithmes d’extraction de formes
l   Bestiaire (non exhaustif) :
    ►   extraction des contours
    ►   chaîne de points de contours ou approximation polygonale
    ►   mise en correspondance de graphes
l   Indice visuel différent des régions (1D vs. 2D)
l   Difficultés
    ► l’étape d’extraction des contours est souvent instable

    ► séparer la forme du fond est difficile (problème de segmentation)

    V. Ferrari, L. Février, F. Jurie, C. Schmid, Groups of Adjacent Contour Segments for Object Detection, PAMI 2008
Indice visuel : texture
l   Définition: variations répétitives de l’intensité
l   Les textures résultent de propriétés physiques des surfaces 3D (herbe, nuages), ou de propriétés
    photométriques de surface (zèbre, tissu à fleurs)
l   Une grande partie du contenu des images et vidéos peut être caractérisée par leur texture
l   L’humain reconnaît facilement les textures, mais elles sont difficiles à définir (et donc à
    représenter): transition micro/macro, textures irrégulières…
l   Deux types de méthodes
    ► statistiques : distributions spatiales des intensités de l’image

    ► géométriques : segmentation de motifs qui se répètent
Régions texturées
l   Illustrations: lorsqu’on enlève les textures d’une image
Indice visuel : régions
l   Prend en compte la répartition spatiale de zones « homogènes »
    + attributs intrinsèques aux régions (taille, couleur, etc)
l   Peut capturer les relations spatiales entre ces régions (ciel en haut / mer en bas)
l   Problème: l’extraction des régions est sensible au bruit et aux occultations (problèmes
    similaires à l’extraction des contours)
Comparaison des indices visuels
 l   Pour une utilisation “brute” des différents indices visuels
      l    De nombreuses approches plus sophistiquées existes, notamment basées sur
           l’apprentissage
 l   Notion de descripteur associé à un indice visuel
     Indice visuel                    Avantages                           Limitations

                                 Extraction très facile,           Pas d’information spatiale,
       Couleur                                                   peu de lien avec la sémantique
                            propriétés globales de l’image
                                contient presque toute           sémantique difficile à extraire
          Forme                                                          de la forme
                               l'information sémantique

          Texture         caractéristique facile à reconnaître
                                                                       difficile à définir :
                                                                   Chicken and egg problem
          Région            Intègre les relations spatiales
Limites de ces indices visuels
• Richard Gregory’s Dalmatian image
Espaces de représentation : Plan

l   Du monde réel à la description numérique
l   Représenter : pour quelle application ?
l   Difficultés
l   Indices visuels
l   Représentation globale vs représentation locale
l   Représentation « profonde »
Description globale

Une description globale est une représentation de l’image dans
son ensemble, sous la forme d’un vecteur de taille fixe

Mesure de (dis-)similarité définie sur l’espace de ces descripteurs

Exemple : histogramme de couleurs
Nombreux autres exemples dans la suite du cours
Description locale

Une description locale est une représentation de l’image par un
ensemble de descripteurs (vecteurs)
  •   Vecteurs calculés localement pour différentes parties de l’entité
      ex: plusieurs sous-parties d’une image

La mesure de similarité nécessite le calcul d’une similarité entre
deux ensembles de descripteurs, par exemple par la mise en
correspondance (appariement) de ces descripteurs

Étude détaillée de ce type de description dans la suite
Représentation globale ou locale ?
l   Avantages des représentations globales
    ► Souvent, extraction des descripteurs pour un coût de calcul plus faible

    ► Comparaisons plus simples : comparaisons des entités avec un vecteur unique, donc pas
      de mise en correspondance géométrique
l   Inconvénients des représentations globales
    ► Représentation parfois trop grossière, qui perd les détails

l   Avantages des représentations locales
    ► Résistance intrinsèque à la plupart des transformations

    ► Plus robustes et plus riches: statistiques dépendantes de plusieurs descripteurs

l   Inconvénients des représentations locales
    ► en description locale, chaque information individuelle n’est pas très discriminante

    ► souvent la description est aussi volumineuse que l’image d’origine

Remarque: les descripteurs locaux peuvent être agrégés pour obtenir une représentation globale
Espaces de représentation : Plan

l   Du monde réel à la description numérique
l   Représenter : pour quelle application ?
l   Difficultés
l   Indices visuels
l   Représentation globale vs représentation locale
l   Représentation « profonde »
Représentations “profondes”
• Un réseau de neurones (par exemple un CNN ou Convolutional Neural Network) est appliqué à une
  image
• On utilise l’une des sorties (souvent l’avant dernière) produites par le réseau comme représentation
  de cette image
• Intuitivement, si le réseau est utilisé pour une tâche de reconnaissance pertinente (par exemple la
  classification), une représentation ainsi extraite contient des informations sémantiques utiles
• Le calcul d’une mesure de similarité entre deux représentations de ce type peut être utilisé par un
  système de recherche d’images

                   Input image

                                                CNN
Recherche visuelle d’images – introduction

                              Comprendre les données visuelles à grande échelle
                             Cours 2: représentations locales, 20 décembre 2018
Visual Search - Principle

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Visual Search - Principle

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Visual Search - Applications

    Many applications
    • Reverse Image search
        •      Web search engine
        •      Personal photo collection

Diane Larlus    PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Visual Search - Applications

    Many applications
    • Geolocalization

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Visual Search - Applications

    Many applications
    • Query for more information
        •      Landmarks
        •      Paintings
        •      Movies
        •      Book covers
        •      Game covers
        •      Packaged food

Diane Larlus    PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Visual Search - Applications

    Many applications
    • Shopping interfaces

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Visual Search - Applications

    Many applications
    • Ambient Intelligence

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Inherent ambiguity
    What can the user mean with such a single query?

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Inherent ambiguity
    What can the user mean with such a single query?

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Inherent ambiguity
    What can the user mean with such a single query?

    Application dependent!

    • Inject prior information
    • Leverage training

Diane Larlus   PRAIRIE Artificial Intelligence Summer School   July 2nd 2018
Inherent ambiguity
What can the user mean with such a single query?

                              Information a priori:
                              • Design à la main de descripteurs
Application dependent!           pertinents ou de méthodes
                                 pertinentes pour la vérification en
• Inject prior information       fonction de l’application visée
                              Apprentissage:
• Leverage training           • On laisse le système apprendre tout
                                 ou partie du design, en particulier
                                 quelles sont les caractéristiques
                                 pertinentes pour la tâche
Vous pouvez aussi lire