pierre gurdjos mise en œuvre d’un procédé automatique d’identification du code à bulles
TRANSCRIPT
Équipe VORTEX-IRIT :
Viorica PATRAUCEAN
Pierre GURDJOS
Jean-Pierre JESSEL
Mise en œuvre d’un procédé automatique d’identification
du code à bulles.
Personnels (janvier 2011)
Organisation de la recherche
Thèmes de recherche
Axe
s st
raté
giqu
es
Informatique pour la santé
Masses de données et calcul
Systèmes sociotech. ambiants
Systèmes embarqués critiques
Ana
lyse
et
synt
hèse
de
l’inf
orm
atio
n
Inde
xatio
n et
rec
herc
he d
’info
rmat
ion
Inte
ract
ion
Aut
onom
ie D
ialo
gue
Coo
péra
tion
Rai
sonn
emen
t et
Déc
isio
n
Mod
élis
atio
n A
lgo
rith
mes
et
Cal
cul H
aute
Per
form
ance
Arc
hite
ctur
e S
ystè
mes
et
Rés
eaux
Sûr
eté
de d
ével
oppe
men
t du
Log
icie
l
Les sites de l’IRIT
4
UT2 Mirail UT1 CapitoleINPT N7
UT3 Paul Sabatier
Contrats de recherche
• Depuis le 1er janvier 2007 :– 33 ANR (dont 21 en cours début 2011)– 34 labellisations Pôle de compétitivité (23)– 17 projets européens (11)– 3 projets RTRA STAE (2)– 45 contrats directs industriels (20)
• Laboratoire AIRSYS– Airbus, IRIT, LAAS, ONERA
• Entreprises issues des chercheurs de l’IRIT
5
VORTEXVisual Object: from Reality To EXpression
– Une thématique : les objets visuels
• Réels, virtuels, mixtes• 2D et 3D
– Concepts, modèles et outils• Création, capture, acquisition• Gestion, modification • Enrichissement,
augmentation, • Visualisation, affichage • Interaction, partage,
distribution• Temps réel, mobilité, distribué
– Domaines :• Modélisation• Synthèse d‘images• Réalité virtuelle• Vision par ordinateur • Multimédia• Réalité augmentée
– Applications• Scientifiques• Industrielle,• Culturelles
Equipe VORTEX :
Viorica PATRAUCEAN
Pierre GURDJOS
Jean-Pierre JESSEL
Mise en œuvre d’un procédé automatique d’identification
du code à bulles.
« Comment s’affranchir du data-matrix pour l’identification du code à bulles ? »
• Actuellement
• À venir
• Problèmes à résoudre :(P1) Détecter les bulles dans une image numérique
(P2) Créer une « signature » (clé d’identification) pour le code à bulles
(P2) Interroger une base de données de grande dimension à partir de la signature
8
INFO
INFO
Introduction (1/2)
Introduction (2/2)
Trois directions de recherche :
9
10
Détection : sélection candidats + validation
Trois difficultés:
1. Minimiser le nombre de « faux négatifs »
2. Minimiser le nombre de « faux positifs »
3. Se dispenser du réglage de paramètres
Démarche :
• Sélection la moins contraignante possible (faux positifs et faux négatifs )• Validation très stricte (faux positifs ≤ 1)
Amélioration du procédé de détection des bulles (1/5)
1. Sélection de pixels candidats
a) Notion de pixels alignés: utilisation du gradient pour les regrouper
b) Estimation de primitives linéaires / circulaires par des méthodes algébriques spécifiques
Direction du gradient sur le contour et cercle estimé à partir d'un arc
11
Amélioration du procédé de détection des bulles (2/5)
2. Contrôle du nombre de « faux positifs » lors de la validation
+
3. Absence de réglage de paramètres
Validation par une méthode statistique dite « a contrario » : o garantie que le nombre de « faux positifs » est inférieur à une
constante donnée ;o aucun réglage de paramètres.
Amélioration du procédé de détection des bulles (3/5)
Principe de la validation a contrario :• Formalisation mathématique du principe perceptuel « il n’y a pas de
perception dans le bruit »
• Bulle validée que si sa probabilité d’être due au hasard est « suffisamment » petite …. c.-à-d. inférieure à un seuil que l’on peut calculer sans réglage préalable !
13
Image de bruit blanc : aucune primitive (droite, cercle) ne devrait être détectée.
Amélioration du procédé de détection des bulles (4/5)
Travail réalisé : algorithmes qui détectent à la fois des cercles (bulles) et des droites (repère en Z)
Résultats de la méthode de détection ; aucun réglage de paramètres n'est nécessaire.
14
Amélioration du procédé de détection des bulles (5/5)
15
Obtention d’une signature discriminante du code à bulles (1/5)
« Idée : s’affranchir du data-matrix pour l’identification du code à bulles »
• Problèmes à résoudre :(P1) Détecter les bulles dans une image numérique
(P2) Créer une « signature » (clé d’identification) pour le code à bulles
(P3) Interroger une base de données de grande dimension à partir de la signature
15
INFO
Créer une signature du code à bulles
Difficultés :– Format matriciel de l’image inadapté (2D – clé 1D requise)– Distorsion perspective à prendre en compte
16
Obtention d’une signature discriminante du code à bulles (2/5)
17
Notion de signature 1D perspectivement invariante :
Représentation du code à bulles par des couches convexes 1D
Chaque couche est représentée par un vecteur ,...,,, 23231212 rdrd
Obtention d’une signature discriminante du code à bulles (4/5)
Propriété : calculable même si distorsion perspective (avec angle de vue inconnu) !
18
Illustration de l’invariance perspective de la signature
Image 1 Image 2
Signatures identiques
Obtention d’une signature discriminante du code à bulles (5/5)
19
Optimisation du processus de recherche dans la base de données (1/2)
Problèmes à résoudre :(P1) Détecter les bulles dans une image numérique(P2) Créer une « signature » (clé d’identification) pour le code à bulles(P3) Interroger une base de données de grande dimension à partir de la signature
Difficultés :
i) Base de données de très grande dimension
ii) Signatures similaires (pas identiques)
Idée : ne pas rechercher la signature exacte mais la plus « proche »
Recherche menée à l'aide de techniques de hachage
Famille de fonctions de hachage qui préservent la localité (LSH) :
Deux signatures similaires même valeur de hachage
INFO
20
Résultats :
i) 100% résultats corrects.
ii) Temps de requête satisfaisant : < 1s.
Optimisation du processus de recherche dans la base de données (2/2)
21
Ce qui a été réalisé (à l’état de prototype)
• Détecteur de bulles « sans fausse bulle » et « sans réglage »• Constructeur de signature discriminante du code à bulles 1D invariante
en perspective• Accès à la base de données au sens du « plus proche voisin »
Ce qui reste à faire
• Validation à grande échelle sur données industrielles• Optimisation des algorithmes• Implémentation sur des mobiles (Iphone, Android …)
Conclusion