Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An...

14
150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment, Ltd. Département de génie logiciel et des technologies de l’information Shazam • Le cas d’utilisation

Transcript of Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An...

Page 1: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

1  

Recherche par contenu audio

Basé sur An Industrial-Strength Audio Search Algorithm,

Avery Li-Chun Wang, Shazam Entertainment, Ltd.

Département de génie logiciel et des technologies de l’information

Shazam

•  Le cas d’utilisation

Page 2: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

2  

Département de génie logiciel et des technologies de l’information

Shazam

•  Moteur de recherche audio !  Résiste aux bruits et à la distorsion !  Requiert peu de calculs !  Identifie de courts extraits audios capturés

avec un appareil mobile !  Une requête prend quelques millisecondes

pour une base de données de plus 2 millions de chansons.

Département de génie logiciel et des technologies de l’information

Principe de base

•  Fonction de hachage !  Calcule, à partir d’une donnée entrante,

une empreinte servant à l’identifier rapidement

Ref: http://en.wikipedia.org/wiki/Hash_function

Page 3: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

3  

Département de génie logiciel et des technologies de l’information

Hachage (recherche par contenu)

•  La fonction de hachage produit le vecteur permettant de déterminer la similitude entre l’extrait et les données de la base de données

•  L’empreinte de données est stockée dans la base de données.

Département de génie logiciel et des technologies de l’information

Fonction de hachage (Images)

•  Hachage par histogramme

560

420

560 x 420 x 3 = 705 600 valeurs (Pixels)

256 valeurs (Occurrences)

Données entrantes Empreinte

Page 4: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

4  

Département de génie logiciel et des technologies de l’information

Question

•  Quelles valeurs sont sacrifiées par une fonction de hachage par histogramme?

Département de génie logiciel et des technologies de l’information

Fonction de hachage

•  Réduit la quantité d’information. Il est crucial de définir vos exigences face à votre fonction de hachage. !  Par exemple: dans le cas de l’histogramme,

l’information spatiale est perdue. • Dépendant des applications, ceci n’est pas

toujours souhaitable.

Page 5: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

5  

Département de génie logiciel et des technologies de l’information

Question

•  Quelles sont les exigences de Shazam envers leur fonction de hachage?

Département de génie logiciel et des technologies de l’information

Exigences de la fonction de hachage de Shazam

•  Proximité temporelle •  invariante à la translation •  Robuste (à la compression et aux

bruits) •  Possède une entropie suffisante

Page 6: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

6  

Département de génie logiciel et des technologies de l’information

Proximité temporelle

•  La fonction de hachage doit utiliser seulement des caractéristiques qui sont proches dans le temps à l’échantillon. !  Par exemple:

• Elle ne peut pas attendre le refrain…

Département de génie logiciel et des technologies de l’information

Invariante à la translation

•  Indépendant de l’emplacement dans le fichier. !  Par exemple: Un échantillon ne débutera

pas nécessairement au début de la chanson.

Page 7: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

7  

Département de génie logiciel et des technologies de l’information

Robuste

•  La fonction de hachage doit produire un résultat corrélé entre la chanson originale, et une version bruitée et/ou compressée de cette même chanson.

Département de génie logiciel et des technologies de l’information

Entropie

•  L’entropie est « la quantité d’information » que possède une empreinte. !  Plus l’empreinte possède d’information, plus elle

sera unique !  Inversement, moins d’information implique que

différentes données peuvent avoir la même empreinte (collisions)

Page 8: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

8  

Département de génie logiciel et des technologies de l’information

Fonction de hachage Shazam

•  Shazam utilise les pointes du spectrogramme !  La logique étant qu’indépendamment de la valeur,

les pointes seront conservées même en présence de bruits ou lors de la compression

Ref: http://philduweb.free.fr/contributions/parole/signal.htm

Département de génie logiciel et des technologies de l’information

Constellation

•  Représentation 2D, des pointes de l’extrait sonore

•  Les constellations sont uniques pour chaque segment audio

Page 9: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

9  

Département de génie logiciel et des technologies de l’information

Question

•  Quel est l’équivalent d’une constellation de pointes pour une image?

Département de génie logiciel et des technologies de l’information

Constellation de pointes (image)

Détection de contours

Page 10: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

10  

Département de génie logiciel et des technologies de l’information

Question

•  Quelles sont les données sacrifiées pour une fonction de hachage qui conserve uniquement un masque des contours?

Département de génie logiciel et des technologies de l’information

similitude des constellations

•  Si en glissant deux constellations, plusieurs points de celles-ci se superposent. Ceci nous donne une mesure de la similitude.

Page 11: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

11  

Département de génie logiciel et des technologies de l’information

Questions

•  Quel est l’impact du bruit ou de la compression sur la similitude entre l’échantillon et un segment d’une chanson

Département de génie logiciel et des technologies de l’information

Impact du bruit ou de la compression

•  La similitude se base sur le nombre de pointes qui s’alignent. !  L’ajout de pointes causées par le bruit

n’aura pas d’impact important sur la similitude

!  Si certaines pointes sont retirées par le bruit la similitude sera moindre

Page 12: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

12  

Département de génie logiciel et des technologies de l’information

Hachage combinatoire

•  Le Hache est constitué d’une paire de points [Point d’ancrage, point cible]

•  Ceci évite d’avoir à glisser les constellations

Département de génie logiciel et des technologies de l’information

Hachage Shazam

•  Pour chaque paire de points, on conserve

*Pas d’ID dans le cas du hachage de la requête

Fréquence 1 (f1) Fréquence 2 (f2) Δt

Temps depuis le début du segment ID*

32 bits

32 bits

Page 13: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

13  

Département de génie logiciel et des technologies de l’information

Indexage de la base de données

•  Pour chacune des 2 millions de chansons, on stocke les codes de hachage.

•  Pour faciliter l’indexage, ces codes sont triés par ordre de valeur (f1, f2, Δt)

Fréquence 1 (f1) Fréquence 2 (f2) Δt

Temps depuis le début du segment ID*

32 bits

32 bits

Département de génie logiciel et des technologies de l’information

similitude entre segments

•  Lorsqu’il y a correspondance entre deux segments, une diagonale se forme (corrélation temporelle).

Temps depuis le départ de la chanson

Temps depuis le départ de l’échantillon

Pas de correspondance

Correspondance

Page 14: Recherche par contenu audio - cours.etsmtl.ca · 150325 1 Recherche par contenu audio Basé sur An Industrial-Strength Audio Search Algorithm, Avery Li-Chun Wang, Shazam Entertainment,

15-­‐03-­‐25  

14  

Département de génie logiciel et des technologies de l’information

Recherche par contenu audio (Résumé)

•  Fonction de hachage !  Calcule l’empreinte

• basée sur des paires de pointes

!  Exigences • Proximité temporelle, invariante à la

translation, Robuste, possède suffisamment d’entropie.

•  similitude est déterminée par la corrélation temporelle.