Génération et détection optiques d’ondes guidées sur une ...
Détection d'objets sur des images
Transcript of Détection d'objets sur des images
Détection d'objets sur des images
Conférence ISN
20 mai 2015
Matthijs Douze
Ingénieur, équipe INRIA LEAR
Détection d'objets dans des images 2 / 23
La détection d'objets: définition
Objectifs de la présentation : ► Pourquoi les ordinateurs ne voient-ils pas l'évidence ?► Survol des techniques de détection d'objets
+/- dans l'ordre chronologique► Le niveau de performance actuel
Détection d'objets dans des images 3 / 23
Pourquoi n'avons-nous pas des robots humanoïdes?
L'intelligence artificielle est à ses balbutiments► Compréhension de texte► Transcription du language parlé
Vision ► Lecture de texte► Perception de la 3D► Analyse du mouvement► Reconnaissance d'objets
Détection d'objets dans des images 4 / 23
Pourquoi les ordinateurs ne voient-ils pas l'évidence ?
“Ctrl-F” - chat► Pourquoi ça ne marche pas sur mes photos ?
Ce que “voit” l'ordi: des nombres
Calculs locaux (sur max. 10 nombres)
187 189 154 112 87 63 58 52 44 45 55 64 74 93 108 146 186 212 210 214 136 84 40 31 36 37 31 37 35 38 34 29 24 22 34 49 86 144 147 216 18 22 27 34 44 48 53 54 64 70 78 79 63 48 26 25 36 66 111 203 32 34 34 48 56 62 64 67 95 101 116 117 123 133 103 58 24 33 69 143 38 40 44 60 64 66 63 77 109 97 64 49 74 127 146 143 53 22 35 72 35 40 54 65 66 67 61 72 104 64 17 26 46 90 105 107 66 25 20 35 50 54 59 65 73 68 65 70 81 40 15 20 41 66 65 54 48 37 24 22 60 65 76 81 80 82 76 72 45 16 8 21 48 60 59 58 47 46 30 18 54 68 77 85 91 89 81 71 46 17 12 29 58 68 69 66 61 57 34 19 51 66 83 88 84 78 72 70 48 20 18 48 71 79 86 75 67 63 40 29 44 71 82 83 80 84 80 61 50 25 27 60 76 81 92 87 79 59 38 22 24 55 88 76 73 81 75 67 63 37 41 64 82 76 86 88 89 56 34 18 21 34 87 109 94 96 101 78 68 56 57 64 77 91 80 82 74 48 29 17 47 24 58 121 124 115 119 92 81 69 71 84 80 90 83 64 54 31 18 14 100 30 31 84 133 124 120 114 104 85 103 131 96 75 76 70 50 28 15 12 118 87 30 32 93 145 144 132 120 112 119 140 104 78 58 45 30 20 14 14 108 104 76 36 35 68 109 129 127 125 122 117 92 61 44 27 20 13 12 17 136 113 98 96 60 28 32 43 61 73 70 66 55 37 21 16 16 22 34 46 150 153 119 103 100 78 48 36 31 26 25 26 24 24 28 34 43 55 62 73 183 187 179 154 141 134 116 100 88 79 78 82 92 96 87 87 92 106 94 86
Détection d'objets dans des images 5 / 23
Fonction élémentaire: deux images se ressemblent-elles ?
Mesure de similarité entre images
On simplifie encore: reconnaître des images transformées
0.6
0.4
Détection d'objets dans des images 6 / 23
Principe: on reconnaît la même image transformée
Le plus strict: comparaison pixel à pixel► On supprime la couleur (peu informative)► On superpose les images
similarité = produit scalaire entre vecteurs de pixels (taille largeur x hauteur)► On normalise les vecteurs avant
Exemple avec des niveaux croissants de bruit
[⋮] [⋮]
Détection d'objets dans des images 7 / 23
Détection sur une grande image
Petit motif, grande image
On glisse la fenêtre sur l'image► Calcul de similarité à chaque position► on retient la plus forte: position -> rectangle de détecté► Équivalent à une convolution
Détection d'objets dans des images 8 / 23
Similarité de contours Le produit scalaire est trop sensible aux zones uniformes
On ne garde que les contours
En les séparant par orientation
8 orientations8 convolutions
Détection d'objets dans des images 9 / 23
Agrégation spatiale
Superposition pixel-à-pixel trop sensible aux petites translations
Information statistique sur un voisinage ► Agrégation sur des cellules (somme, max, ...)
Par rapport à la valeur du pixel► - précise spatialement► + riche (8 orientations au lieu d'1 valeur)
Histogramme d'orientation de gradients (HOG)
Carré de 10x10
8 orientations par pixel
8 orientations pour le carré(vu comme des vecteurs)
[⋮]
Détection d'objets dans des images 10 / 23
Pour localiser un motif
On peut utiliser le HOG avec une fenêtre glissante
Détection d'objets dans des images 11 / 23
Technique: représentation → classification Comparaison avec un motif de référence
► Marche pour des motifs univoques (chat tigré...) ► Ne permet pas de prendre en compte une variété d'aspects
Nécessite une méthode de classification
apprentissageVecteurs
DescripteursHOG
Exemples positifsExemples positifs Exemples négatifs
[⋮⋮] [⋮⋮][⋮⋮] [⋮⋮] [⋮⋮][⋮⋮]
test P(voiture) = 72 %
Modèle pour “voiture”
[⋮⋮]
Détection d'objets dans des images 12 / 23
Classification
Slides courtesy Alex Smola
PositifsPositifs
Négatifs
Visualisons ce qu'il se passe dans l'espace des HOG
Classifieur basique: ► Le point le plus proche dans l'espace HOG est-il positif ou négatif ?► = classifieur de plus proche voisin
?
Espace dehaute dimension
Détection d'objets dans des images 13 / 23
Classification par machine à vecteur de support
Positifs
Négatifs
Détection d'objets dans des images 14 / 23
Classification par machine à vecteur de support
Positifs
Négatifs
Détection d'objets dans des images 15 / 23
Classification par machine à vecteur de support
Positifs
Négatifs
Détection d'objets dans des images 16 / 23
Classification par machine à vecteur de support
Marge maximale
Positifs
Négatifs
P
Score de classification = se calcule comme un produit scalaire
Détection d'objets dans des images 17 / 23
Résultats de la chaîne HOG + vecteurs de support
Thèse Navneet Dalal
Détection d'objets dans des images 18 / 23
La tendance actuelle: réseaux de neurones convolutionnels
HOG + machine à vecteur de support =► Convolution avec 8 filtres orientés► Agrégation spatiale► Convolution (= produit scalaire pour calculer le score du classifieur)
Généralisation de cette chaîne
Plusieurs couches composées de► convolution ► Agrégation ► Opération non-linéaire
Cours Yann LeCun
Détection d'objets dans des images 19 / 23
Réseaux de neurones convolutionnels
Apprentissage des filtres de convolution► Optimisation de bout-en-bout► Objectif = cette image doit renvoyer “chat”
Nécessite énormément de données d'apprentissage (1M d'images)
+ puissance de calcul
voiture
chien
chat
kangourou [0.10.80.90.1⋮
]
5th april 2011Quaero Karlsruhe
Ensemble d'apprentissage = images annotées
saturnschool-busscorpion-101screwdriversegwayself-propelled-lawn-mowersextantsheet-musicskateboardskunkskyscrapersmokestacksnailsnakesneakersnowmobilesoccer-ballsockssoda-canspaghettispeed-boatspiderspoonstained-glassstarfish-101steering-wheelstirrupssunflower-101supermansushiswanswiss-army-knifeswordsyringet-shirttambourineteapotteddy-bearteepeetelephone-boxtennis-balltennis-courttennis-rackettennis-shoestheodolitetoadtoastertomato........
Détection d'objets dans des images 21 / 23
Exemples de résultats
Détection d'objets dans des images 22 / 23
Exemples de résultats (bien choisis...)
Delving Deep into Rectif iers: Surpassing Human-Level Performance on ImageNet Classif ication, He et al. (MSRA), Arxiv
Détection d'objets dans des images 23 / 23
Conclusion
La détection d'objets dans les images se rapproche des performanceshumaines► Lentement...
Les opérateurs de base ► traitement de signal► Apprentissage machine
Matière pour TP de traitment d'image► Convolution, fenêtre glissante► Extraction de maxima locaux
Détection d'objets dans des images 24 / 23
Représentation
http://www.cat.uab.cat/Research/object-detection/
Détection d'objets dans des images 25 / 23
Fonction élémentaire: deux images se ressemblent-elles ?
Mesure de similarité entre images
Recherche par similarité dans une base d'images
0.6
0.4
requêtebase
Détection d'objets dans des images 26 / 23
Qu'est-ce qu'on veut reconnaître ?
?
?
Détection d'objets dans des images 27 / 23
Principe: on reconnaît la même image transformée
Cas non-ambigü
Procédure: ► Pour commencer: comparaison très stricte / rigide► On ajoute des degrés d'invariance