Détection de regards de visite sur des images à THRS par une méthode d'apprentissage
COMMANDRE Benjamin, EN-NEJJARY Driss, PIBRE Lionel, CHAUMONT Marc, SUBSOL Gérard, DERUELLE Laurent, DERRAS Mustapha,
DELENNE Carole, CHAHINIAN Nanée
Univ. Montpellier - HydroSciences Montpellier Equipe INRIA Lemon
Lemon
Projet Cart’Eaux: chercheur d’avenir 2015 2
Récolte et fusion de données hétérogènes pour la cartographie et la modélisation des écoulements dans un réseau d’assainissement urbain.
Nanée Chahinian 1,2 ; Marc Chaumont 3,4 Carole Delenne 1,5 ; Mustapha Derras 6
Laurent Deruelle 6 ; Gérard Subsol 3,7 +
Jean-Stephane Bailly (LISAH);
Sandra Bringay (LIRMM);
Maguelonne Teisseire et Mathieu Roche (TETIS) +
Benjamin Commandré
1
5 2
6 3
4 7
PROJET COFINANCE PAR LE FONDS EUROPEEN DE DEVELOPPEMENT REGIONAL
Projet Cart’Eaux
Objectifs:
‣ Détection des plaques d’égout sur les images aériennes
‣ Fusion avec d’autres données géographiques (plan, réseau routier…)
‣ Fouille de données pour créer une table attributaire
‣ Cartographies probables du réseau
‣ Simulations hydrauliques (avec analyse de sensibilité aux paramètres)
3
Données
2 images à 5cm de résolution spatiale
‣ Gigean
‣ Prades-Le-Lez
4
N
Plaque Grille N
Détection des plaques d’égout
Difficultés:
‣ 80cm seulement => 16 pixels maximum à une résolution de 5cm.
5
40 pixels
Détection des plaques d’égout
Difficultés:
‣ 80cm seulement => 16 pixels maximum à une résolution de 5cm.
5
40 pixels
‣ Généralement très peu de contraste
Détection des plaques d’égout
Difficultés:
‣ 80cm seulement => 16 pixels maximum à une résolution de 5cm.
5
40 pixels
‣ Généralement très peu de contraste
‣ De nombreux autres objets circulaires sur l’image.
Ombre de
lampadaire Cheminée ??? Table de
jardin Bouée ?? Parabole?
Filtre circulaire 6
Calcul sur fenêtre glissante puis seuillage:
‣ Méthode simple et directe (pas d’apprentissage).
‣ Très long (40h pour une image 20000x20000 soit 1km2)
‣ Résultats mitigés: Gigean, jusqu’à 42 plaques sur 100 détectées mais autant faux positifs !
r
2r r
1R
1R
2S
13S
11S
15S
25S
16S
26S
17S
27S
18S
28S
21S
22S
23S
24S
14S
12Indices basés sur les distributions radiométriques (nécessite une image en niveaux de gris):
‣ S similitude entre les régions R1 et R2
‣ S8: maximum des similitudes entre R1 et les sous-régions de R2 (évite la détection de linéaires)
‣ U1 et U2: uniformité au sein de chaque région = min de la similitude entre une sous région et les autres.
Résultat = (1-max(S,S8))*U1*U2
[Bartoli et al. 2015, JURSE Lausanne]
Deep Learning (apprentissage)
Nécessite une base d’apprentissage
‣ Prades-Le-Lez: image RVB, 5cm de résolution spatiale
‣ 605 plaques disponibles pour l’entrainement => augmentation de la base de données (bibliothèque KERAS)
• Rotation
• Translation
• Miroir
‣ Mode de remplissage: réflexion
‣ => 20450 images « plaques » + 509506 images « autres »
7
Deep Learning (apprentissage)
Nécessite une base d’apprentissage
‣ Prades-Le-Lez: image RVB, 5cm de résolution spatiale
‣ 605 plaques disponibles pour l’entrainement => augmentation de la base de données (bibliothèque KERAS)
• Rotation
• Translation
• Miroir
‣ Mode de remplissage: réflexion
‣ => 20450 images « plaques » + 509506 images « autres »
7
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
5 couches avec différents paramètres
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Initialisation aléatoire des valeurs des noyaux
de convolution
5 couches avec différents paramètres
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Initialisation aléatoire des valeurs des noyaux
de convolution
Sortie de la couche 1
5 couches avec différents paramètres
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Initialisation aléatoire des valeurs des noyaux
de convolution
Sortie de la couche 1
5 couches avec différents paramètres
Fusion des résultats de chaque couche
Comparaison avec la vérité
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Initialisation aléatoire des valeurs des noyaux
de convolution
Sortie de la couche 1
5 couches avec différents paramètres
Fusion des résultats de chaque couche Comparaison avec la vérité
Modification
des valeurs des noyaux
de convolution
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Initialisation aléatoire des valeurs des noyaux
de convolution
Sortie de la couche 1
5 couches avec différents paramètres
Fusion des résultats de chaque couche Comparaison avec la vérité
Modification
des valeurs des noyaux de convolution
Apprentissage
Convolutional Neural Network
AlexNet + adaptation des paramètres aux petits objets
8
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Initialisation aléatoire des valeurs des noyaux
de convolution
Sortie de la couche 1
5 couches avec différents paramètres
Fusion des résultats de chaque couche Comparaison avec la vérité
Modification
des valeurs des noyaux de convolution
Proba d’appartenance à la classe plaque Classification (seuillage)
Apprentissage
Deep Learning: validation
Méthode:
‣ Fenêtre glissante (pas de 4 pixels) sur toute l’image
‣ CNN => probabilité d’appartenance à la classe « plaque »
‣ Seuil sur la probabilité => classification
9
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
Deep Learning: validation
Méthode:
‣ Fenêtre glissante (pas de 4 pixels) sur toute l’image
‣ CNN => probabilité d’appartenance à la classe « plaque »
‣ Seuil sur la probabilité => classification
9
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
a 0 = area(B \ B t )
area(B [ B t ) B
Détection
B t
Vérité
Comparaison avec la vérité:
Deep Learning: validation
Méthode:
‣ Fenêtre glissante (pas de 4 pixels) sur toute l’image
‣ CNN => probabilité d’appartenance à la classe « plaque »
‣ Seuil sur la probabilité => classification
9
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other
a 0 = area(B \ B t )
area(B [ B t ) B
Détection
B t
Vérité
Comparaison avec la vérité:
Precision = TP
TP + FP Recall = TP TP + FN
Définition précision / rappel:
‣ TP = True Positive = plaque correctement détectée: a 0 >50%
‣ FP = False Positive = imagette incorrectement classée comme « plaque »
‣ FN = False Negative = plaque non détectée
Deep Learning: validation
Méthode:
‣ Fenêtre glissante (pas de 4 pixels) sur toute l’image
‣ CNN => probabilité d’appartenance à la classe « plaque »
‣ Seuil sur la probabilité => classification
9
Input Thumbnail
40x40
Convolution 1 96 (7x7), s=2, p=0
Convolution 2 256 (5x5), s=1, p=0
Convolution 3 256 (5x5), s=1, p=0
Convolution 4 256 (5x5), s=1, p=0
Convolution 5 256 (3x3), s=1, p=0
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Max Pooling (3x3), s=1, p=0 ReLU Norm
Feature extraction
Classifi cation
Fully connected
Softmax
Manhole Other