Chapitre-1-index-image-et-vidéo1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 41

Indexation

Extraction et Recherche d’Informations dans les Données Multimédias

Indexation
Keywords

A. ELHASSOUNY (GL ENSIAS) Indexation


Indexation des données multimédias

1 Introduction
Contexte
Bases de Données MultiMédia (MMDB)
Domaines d’application
Indexation
Outil OpenCV

Indexation
Introduction Contexte

Contexte
Objectif

Les techniques présentées ci-après, dite d’indexation, se proposent


d’attacher à une image ou à une video un ensemble de descripteurs de
leur contenu, dans le but de mesurer la ressemblance avec les
descripteurs correspondant à la requête.

Indexation
Introduction Contexte

Contexte
Objectif

Les techniques présentées ci-après, dite d’indexation, se proposent


d’attacher à une image ou à une video un ensemble de descripteurs de
leur contenu, dans le but de mesurer la ressemblance avec les
descripteurs correspondant à la requête.

Indexation
Introduction Contexte

Contexte
Chanllenge ...

Indexation
Introduction Contexte

Indexer ?

Indexer = extraire une information synthétique des images


(documents multimédia) afin de faciliter l’accès à leur contenu
information = élément susceptible d’être codé pour être conservé,
traité, communiqué
index = clé d’accès à l’information contenue dans l’image
Pourquoi indexer ?
indexer pour retrouver, trier : conservation d’un patrimoine (culturel,
scientifique,. . . )
indexer pour connaı̂tre : valorisation en facilitant l’accès et l’exploration
indexer pour naviguer : exploitation commerciale (photos numériques,
TV numérique, . . . )
Le sujet de ce cours est la recherche automatique de documents visuels
(images, séquences video, documents texte), dans des bases de données
multimédias de grande taille, à partir de requêtes relatives au contenu de
ces documents.
Indexation
Introduction Contexte

Indexer ?

Indexer = extraire une information synthétique des images


(documents multimédia) afin de faciliter l’accès à leur contenu
information = élément susceptible d’être codé pour être conservé,
traité, communiqué
index = clé d’accès à l’information contenue dans l’image
Pourquoi indexer ?
indexer pour retrouver, trier : conservation d’un patrimoine (culturel,
scientifique,. . . )
indexer pour connaı̂tre : valorisation en facilitant l’accès et l’exploration
indexer pour naviguer : exploitation commerciale (photos numériques,
TV numérique, . . . )
Le sujet de ce cours est la recherche automatique de documents visuels
(images, séquences video, documents texte), dans des bases de données
multimédias de grande taille, à partir de requêtes relatives au contenu de
ces documents.
Indexation
Introduction Contexte

Indexer ?

Indexer = extraire une information synthétique des images


(documents multimédia) afin de faciliter l’accès à leur contenu
information = élément susceptible d’être codé pour être conservé,
traité, communiqué
index = clé d’accès à l’information contenue dans l’image
Pourquoi indexer ?
indexer pour retrouver, trier : conservation d’un patrimoine (culturel,
scientifique,. . . )
indexer pour connaı̂tre : valorisation en facilitant l’accès et l’exploration
indexer pour naviguer : exploitation commerciale (photos numériques,
TV numérique, . . . )
Le sujet de ce cours est la recherche automatique de documents visuels
(images, séquences video, documents texte), dans des bases de données
multimédias de grande taille, à partir de requêtes relatives au contenu de
ces documents.
Indexation
Introduction Bases de Données MultiMédia (MMDB)

Définition
Quelles sont les bases de données multimédia (MMDB)?

Base de données (Databases) + Multimédia = BDMM

Une base de données multimédia est un type de base de données


consacré au stockage, à l’organisation et à l’interrogation de données
multimédia
Ces données peuvent être de différents types, en particulier :
Texte, Son, Image et Vidéo
Qui peuvent être combinés (exemple : film)

Indexation
Introduction Bases de Données MultiMédia (MMDB)

BDMM
Pourquoi les bases de données mutlimédia ?

Quelques chiffres
Croissance très importante, en raison de l’accumulation des contenus
numériques (image, vidéo, ...) auto-produits par le grand public, par
exemple :
Facebook : plus de 100 millions d’images/jour
Youtube : plus 24h de vidéo/minute
Films : http://www.imdb.org recense plus de 400 000 films
Internet : nécessite Plus 5-10 To de capacité de stockage
Sept 2011 : 1 milliards de recherches/jour
Fonds de document télévisuel de la SNRT (société nationale de
radiodiffusion et de télévision)
Pour une seule chaı̂ne TV : plus 8000h de vidéo /an
Pour plus 20 ans d’émission (plusieurs chaı̂nes) : 1 million d’heures
(vidéos, images, ...)

Indexation
Introduction Bases de Données MultiMédia (MMDB)

BDMM
Pourquoi les bases de données mutlimédia ?

Quelques chiffres
Croissance très importante, en raison de l’accumulation des contenus
numériques (image, vidéo, ...) auto-produits par le grand public, par
exemple :
Facebook : plus de 100 millions d’images/jour
Youtube : plus 24h de vidéo/minute
Films : http://www.imdb.org recense plus de 400 000 films
Internet : nécessite Plus 5-10 To de capacité de stockage
Sept 2011 : 1 milliards de recherches/jour
Fonds de document télévisuel de la SNRT (société nationale de
radiodiffusion et de télévision)
Pour une seule chaı̂ne TV : plus 8000h de vidéo /an
Pour plus 20 ans d’émission (plusieurs chaı̂nes) : 1 million d’heures
(vidéos, images, ...)

Indexation
Introduction Bases de Données MultiMédia (MMDB)

Difficultés
Très grands volumes de données multimédia à exploiter : Océan
d’images, vidéos et son
Problèmes de gestion de bases de données
”Fossé sémantique” : comment accéder à/coder une information
visuelle ?, à la différence de données textuelles, le contenu sémantique
n’est jamais explicite
Les requêtes sont difficiles à exprimer, donc en général ambiguës,
incomplètes

Indexation
Introduction Bases de Données MultiMédia (MMDB)

Historique

1980 : Annotation textuelle des images

1990 : Indexation par la couleur, la forme et la texture

1993 : Requête en utilisant la similarité des images

1997 : Requête par images exemplaires et retour de la pertinence


(relevance feedback)

2000 : Apprentissage sémantique et adaptation à l’utilisateur

Enjeux actuels : Deep learning in computer vision, Convolutional


Neural Networks for Visual Recognition

Indexation
Introduction Bases de Données MultiMédia (MMDB)

Quelques Système de Recherche Multimédia

Quelques Système de Recherche Multimédia


Systèmes industriels
QBIC (IBM, depuis 1995) : http://wwwqbic.almaden.ibm.com
ImageFinder (Attrasoft) : http://www.attrasoft.com
Virage (Virage Technologies, 1996) : http://www.virage.com
Systèmes académiques
IMEDIA (INRIA) : http://www-rocq.inria.fr/imedia/
SAPIR (projet Européen) : http://milos.isti.cnr.it:8080/milos/album/
Tiltomo : http://www.tiltomo.com
Quelques SGBD standard pour BDMM
Jasmine est une base de données orientée objet, livré avec quatre
classes multimédias: (photo, image, vidéo et audio)
ORACLE (ORACLE Multimedia, le package ORDSYS, les classes
ORDVideo, ORDAudio et ORDImage)
IBM DB2 Extenders

Indexation
Introduction Bases de Données MultiMédia (MMDB)

Quelques Système de Recherche Multimédia

Quelques Système de Recherche Multimédia


Systèmes industriels
QBIC (IBM, depuis 1995) : http://wwwqbic.almaden.ibm.com
ImageFinder (Attrasoft) : http://www.attrasoft.com
Virage (Virage Technologies, 1996) : http://www.virage.com
Systèmes académiques
IMEDIA (INRIA) : http://www-rocq.inria.fr/imedia/
SAPIR (projet Européen) : http://milos.isti.cnr.it:8080/milos/album/
Tiltomo : http://www.tiltomo.com
Quelques SGBD standard pour BDMM
Jasmine est une base de données orientée objet, livré avec quatre
classes multimédias: (photo, image, vidéo et audio)
ORACLE (ORACLE Multimedia, le package ORDSYS, les classes
ORDVideo, ORDAudio et ORDImage)
IBM DB2 Extenders

Indexation
Introduction Bases de Données MultiMédia (MMDB)

Quelques Système de Recherche Multimédia

Quelques Système de Recherche Multimédia


Systèmes industriels
QBIC (IBM, depuis 1995) : http://wwwqbic.almaden.ibm.com
ImageFinder (Attrasoft) : http://www.attrasoft.com
Virage (Virage Technologies, 1996) : http://www.virage.com
Systèmes académiques
IMEDIA (INRIA) : http://www-rocq.inria.fr/imedia/
SAPIR (projet Européen) : http://milos.isti.cnr.it:8080/milos/album/
Tiltomo : http://www.tiltomo.com
Quelques SGBD standard pour BDMM
Jasmine est une base de données orientée objet, livré avec quatre
classes multimédias: (photo, image, vidéo et audio)
ORACLE (ORACLE Multimedia, le package ORDSYS, les classes
ORDVideo, ORDAudio et ORDImage)
IBM DB2 Extenders

Indexation
Introduction Bases de Données MultiMédia (MMDB)

Deep Learning Frameworks

Indexation
Introduction Domaines d’application

Domaines d’application

Audiovisuel
Exemples : détection de
copies (droits), retrouver un
plan spécifique d’un
programme, annotation
automatique de vidéos
Sécurité
Exemples : biométrie
(empreintes),
vidéosurveillance
Internet
Exemples : commerce
électronique
..., Bases d’images médicales

Indexation
Introduction Domaines d’application

Domaines d’application
Exemple d’application : Sécurité

Les caméras sont partout : à


London, ”il y a au moins 500
000 caméras dans la ville, et une
étude a montré que dans un
seul jour, une personne pourrait
atteindre d’être filmé 300 fois ”

Indexation
Introduction Domaines d’application

Domaines d’application
Exemple d’application : Sécurité

Requêtes possibles
Exemple de requête par mots-clés: policier
veut examiner des photos de Personne X
Requête: ”récupérer toutes les images de la
base d’images dans lesquelles Personne X
apparaı̂t”
Requête d’image par exemple: l’agent de
police a une photo et veut trouver l’identité
de la personne sur la photo

Indexation
Introduction Indexation

Comment indexer/interroger des documents multimédia ?


Indexation manuelle (par texte : annotation) ou automatique (par contenu) ?

Requête de BD Multimédia : requête peut prendre des formes très


différentes, elle peut être
Conceptuelle (ex : mot), indexation par texte (annotation)
Instancielle (ex : une autre image, vidéo), exp : récupérer tous les
images similaires à une image requête
...

Indexation
Introduction Indexation

Indexation manuelle ou automatique ?


Type de requête ==> Type d’indexation

Recherche par contenu


Qu’est-ce que ces images ont exactement en commun?

Ou recherche par texte


Récupérer toutes les images montrant : ”tournesol”
Indexation
Introduction Indexation

Indexation manuelle
Annotation
l’approche dite classique consiste à indiquer des mots-clés attachés au
document (ou indexés) décrivant, dans un vocabulaire restreint, les
caractéristiques principales et bien identifiables des documents stockés.
Par quoi indexer : mots-clés, métadonnées, ...

Inconvénients
Même image peut avoir plusieurs annotations différentes
Ambiguı̈té de l’annotation
Dépendance du contexte
Le coût d’annotation manuel est très important (10 fois la duré de
document)
Approche la plus ancienne et la plus répandue
Indexation
Introduction Indexation

Indexation manuelle
Annotation
l’approche dite classique consiste à indiquer des mots-clés attachés au
document (ou indexés) décrivant, dans un vocabulaire restreint, les
caractéristiques principales et bien identifiables des documents stockés.
Par quoi indexer : mots-clés, métadonnées, ...

Inconvénients
Même image peut avoir plusieurs annotations différentes
Ambiguı̈té de l’annotation
Dépendance du contexte
Le coût d’annotation manuel est très important (10 fois la duré de
document)
Approche la plus ancienne et la plus répandue
Indexation
Introduction Indexation

Indexation manuelle
Dépendance du contexte

Indexation
Introduction Indexation

Indexation automatique

Indexation par contenu


L’algorithme d’indexation attache des données de bas niveau
sémantique, relatifs aux contenus géométrique, spectral, de l’image, à
un niveau local ou global.

Recherche par contenu (CBIR : Content-Based Information Retrieval)


Les requêtes se font en général par l’exemple, ou par modèle.
Extraire automatiquement d’une image (ou document multimédia) des
descripteurs significatifs et compacts, qui seront utilisés pour la recherche
ou la structuration

Indexation
Introduction Indexation

Indexation automatique

Indexation par contenu


L’algorithme d’indexation attache des données de bas niveau
sémantique, relatifs aux contenus géométrique, spectral, de l’image, à
un niveau local ou global.

Recherche par contenu (CBIR : Content-Based Information Retrieval)


Les requêtes se font en général par l’exemple, ou par modèle.
Extraire automatiquement d’une image (ou document multimédia) des
descripteurs significatifs et compacts, qui seront utilisés pour la recherche
ou la structuration

Indexation
Introduction Indexation

Indexation automatique
BDMM : Architecture générale

Off-line : production d’indexes issus de l’analyse du contenu des


images (extraction de caractéristiques pertinentes, organisation...)

On-line : gestion des requêtes des utilisateurs


Indexation
Introduction Indexation

Définitions
Indice, Descripteur, Signature

Indices visuels : caractéristiques de l’image, au sens de perception


humaine, que l’on cherche à utiliser pour la tâche considérée
Principaux indices visuels : couleur, forme, texture, régions,
mouvement (essentiellement pour la vidéo) (Ici, focus sur l’image, mais
s’applique à la vidéo)
Descripteur d’image : méthode d’extraction du contenu visuel de
l’image
Exemple : histogramme couleur
Signature d’image (caractéristiques) : vecteur numérique représentant
le contenu visuel de l’image
Exemple : 1 vecteur de dimension 216 pour l’histogramme couleur
Espace de description (de représentation) des images
1 image = 1 ou plusieurs points dans un espace multimensionnel
Espace de recherche dans la base d’images
Structuration de l’espace de description pour une recherche efficace
(index)
Indexation
Introduction Indexation

Mesure de similarité
Distance

En mathématiques, on appelle distance sur un ensemble E une


application d définie sur le produit E 2 = E × E et à valeurs dans
l’ensemble R + des réels positifs

d : E × E → R+

· · · vérifiant les propriétés suivantes :

Nom Proprièté
Symétrie ∀(a, b) ∈ E 2 , d(a, b) = d(b, a)
Séparation ∀(a, b) ∈ E 2 , d(a, b) = 0 ⇔ a = b
Inégalité triangulaire ∀(a, b, c) ∈ E 3 , d(a, c) ≤ d(a, b) + d(b, c)

Un ensemble muni d’une distance est un espace métrique


Indexation
Introduction Indexation

Mesure de similarité
Distance

Dans R n , on peut définir de plusieurs manières la distance entre deux


points
Soient deux points de E , (x1, x2, · · · , xn) et (y 1, y 2, · · · , yn), on
exprime les différentes distances ainsi

Nom Paramètre Fonction


Pn
distance de Manhattan 1-distance pPi=1 |xi − yi |
n 2
distance euclidienne 2-distance i=1 (xi − yi )
n
p
|x − yi |p
p
P
distance de Minkowski p-distance p
p
Pn i
i=1
p
distance de Tchebychev ∞-distance limp→∞ i=1 |xi − yi |
= sup1≤i≤n |xi − yi |

Indexation
Introduction Outil OpenCV

OpenCV
Introduction

Bibliothèque de traitement d’images et de vision par ordinateur en


langage C/C++, python, java
Projet initié par Intel (en 1999, actuellement 3.)
Multi-plateformes : disponible pour Linux, Windows et Mac OS
Elle est Open Source
Fortement orientée temps réel
Optimisée pour les processeurs multi-coeurs

Que contient-elle ?
Des fonctionnalités (structures et routines,≥2500 algos) de base et
avancées
pour bâtir rapidement des applications autour de la vision par
ordinateur.
Téléchargeable sur http://sourceforge.net/projects/opencvlibrary/
Indexation
Introduction Outil OpenCV

OpenCV
Introduction

OpenCV regroupe plusieurs modules :


Core : contient les fonctionnalités de base, notamment l’accès aux
pixels, le changement de luminosité, de contraste, le changement
d’espace couleur, la possibilité de dessiner sur les images, etc.
Imgproc :
permet d’appliquer différents filtres (moyen, gaussien, médian)
permet d’appliquer différentes opérations morphologiques (dilatation,
érosion, ouverture, fermeture, gradient morphologique etc)
contient différents algorithmes de seuillage et de détection de contours
(Sobel, opérateur de Laplace, Canny Edge Detector), mais aussi des
détecteur de droites ou d’ellipse (Hough Line/Cercle Transform).
Highgui : permet l’ajout de composants graphiques de base, mais
aussi avancés.
Calib3D : permet la calibration des caméras et la reconstruction 3D.
Indexation
Introduction Outil OpenCV

OpenCV
Introduction

Feature2D : contient des descripteurs 2D souvent utilisés basés sur


les couleurs, la forme, la texture, les points d’intérêt · · · et des
algorithmes de mises en correspondance.
Video : contient les fonctionnalités de base de traitement de vidéos
(algorithmes de détection de mouvement, de suivi, d’extraction de
plan principal etc. . . ).
Objdetect : contient des algorithmes de détection d’objet,
notamment la détection de visages · · ·
ML : contient les algorithmes d’apprentissage et de classification.
GPU : contient les algorithmes permettant l’utilisation de la carte
graphique afin d’accélérer le temps d’exécution grâce au parallélisme
des GPU.

Indexation
Introduction Outil OpenCV

OpenCV
Classes de bases

La classe Point
Structure de données générique pour représenter des points dans
espace de dimension 2.

Pour les types courants : points à coordonnées entières, flottantes,


simple ou double précision, on dispose des alias suivants:

Indexation
Introduction Outil OpenCV

OpenCV
Classes de bases

Dimension Size
Représente la taille d’un objet rectangulaire a 2 dimensions. Comme
pour les points il s’agit d’une structure générique.

Et on dispose des alias suivant :

Indexation
Introduction Outil OpenCV

OpenCV
Classes de bases

Vecteur Vec
Représente un vecteur générique de faible dimension (≤ 10).

Indexation
Introduction Outil OpenCV

OpenCV
Classes de bases

Vecteur Vec
Et on dispose des alias suivant :

Indexation
Introduction Outil OpenCV

OpenCV
Classes de bases

La classe MAT
La classe Mat (pour matrice) permet de stocker l’image sous forme
matricielle.
Chaque objet Mat possède deux parties :
L’entête
Les données
Allocation par constructeur : La classe Mat propose un nombre
important de constructeur, viola ceux qui vous seront le plus utile :

Indexation
Introduction Outil OpenCV

OpenCV
Classes de bases

La classe MAT
Types : représenté par CV < Datatype > C < Channels >, tels que
CV 8UC1, CV 32UC3

Indexation

Vous aimerez peut-être aussi