![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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/1.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/2.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/3.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/4.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/5.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/6.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/7.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/8.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/9.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/10.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/11.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/12.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/13.jpg)
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,](https://reader030.vdocuments.pub/reader030/viewer/2022041018/5ecc905cb373d0683b2297e5/html5/thumbnails/14.jpg)
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.