Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

128
CRS4 - Information Society - Digital Media Applications Progetto Cluster Top-Down ACTIVE Indicizzazione di contenuti audiovisuali mediante riconoscimento dei volti e degli speaker 13 Maggio 2015 - ore 15.00 Aula Magna Ingegneria Via Marengo, 09124 Cagliari 1

Transcript of Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Progetto Cluster Top-Down ACTIVE

Indicizzazione di contenuti audiovisuali mediante riconoscimento dei volti e degli speaker

13 Maggio 2015 - ore 15.00

Aula Magna IngegneriaVia Marengo, 09124 Cagliari

1

CRS4 - Information Society - Digital Media Applications

La catalogazione dei contenuti

Maurizio Agelli

2

CRS4 - Information Society - Digital Media Applications

introduzione

- 880 miliardi di foto nel 2014 (fonte Yahoo)

- 300 ore di video vanno su YouTube ogni minuto (fonte YouTube)

→ valore economico e culturale dei contenuti digitali

3

Boulevard du Temple, Louis Daguerre, 1838

digital asset:→ "any form of content and/or media including the right to use it" (van Niekerk, A.J. 2006)

→ file + metadata

CRS4 - Information Society - Digital Media Applications

metadati

(1) Information about data.(2) "Structured encoded data that describe characteristics of information-bearing entities

to aid in the identification, discovery, assessment, and management of the described entities" (source American Library Association)

4

IPTC-IIM

EXIFDublin Core

Mpeg-7PLUS

EBU-Core

TV AnytimeCreative Commons

→ standard aperto, creato da Adobe, divenuto standard ISO nel 2012

→ DATA MODEL (XML/RDF) + SERIALIZATION MODEL + storage in file

→ CORE PROPERTIES (namespaces)

→ estendibile (XMP Extensions)

→ garantisce l'interoperabilità dei metadati tra diverse applicazioni

XMP

Mpeg-21....

CRS4 - Information Society - Digital Media Applications

la gestione degli asset digitali

ARCHIVIO

CATALOGO

STRUMENTI

METODI

Conservazione degli asset digitali

Classificazione, search, gestione dei metadati

Ingestion, backup, editing, annotation, feature extraction, transcoding, export, ...

File naming, formati, organizzazione del catalogo, workflow, best practices, backup policies, ...

5

DAM→ Digital Asset Management→ Digital Asset Manager

CRS4 - Information Society - Digital Media Applications

Scenario 1: produzione video

6

Capture Ingestion Working Export

Archive

Storage Area Network (SAN)

Workstation dedicate (ingestion, color correction, editing, visual effects, transcoding, grafica, mixaggio e mastering audio) + Server (rendering)

CRS4 - Information Society - Digital Media Applications

Scenario 2: digitalizzazione di archivi audiovisivi

7

Capture Ingestion Working Export

Archive

Network Attached Storage (NAS)

Digital Restoration

Film scanners, image scanners,A/D converters,players, ...

LTO streamer

DVDPhysicalRestoration

Digital Library

CRS4 - Information Society - Digital Media Applications

Scenario 3: produzione fotografica

8

Capture Ingestion Working Export

Archive / Catalog

Digital cameras

Adobe InDesign

Online photo agency

Produzione editoriale

Singola workstation con Photoshop (+ Bridge) oppureSingola workstation con Lightroom (+ Photoshop)

CRS4 - Information Society - Digital Media Applications

Alcune attività sulla catalogazione dei contenutisvolte al CRS4

9

CRS4 - Information Society - Digital Media Applications

NotreDAM

10

→ web-based→ open source (GPLv3)→ gestisce immagini, video, testi e audio, in vari formati→ il catalogo può modellare oggetti del mondo reale e metterli in relazione con gli asset digitali

utilizzato da US Public Broadcasting Service (Ken Burns America Project,www.pbs.org/kenburns/)

CRS4 - Information Society - Digital Media Applications

ACTIVE

● finanziato dal Programma Azioni Cluster Top-Down di Sardegna Ricerche (fondi PO-FESR 2007-2013)

● obiettivo: realizzare una piattaforma di catalogazione intelligente mirata a valorizzare gli archivi audiovisuali di imprese che operano nell’industria dei contenuti digitali→ algoritmi e tecniche di riconoscimento dei volti e degli speaker→ piattaforma di catalogazione con funzionalità di base (ACTIVE Core)→ espandibile mediante plug-in e web tool esterni→ il software sarà rilasciato su licenza MIT

● maggiori informazioni su: http://active.crs4.it

11

CRS4 - Information Society - Digital Media Applications

Riferimenti e approfondimentiAdobe XMP specifications: www.adobe.com/devnet/xmp.html

IPTC Information Interchange Model (IIM): https://iptc.org/standards/iim/

JEITA CP-3451, EXIF version 2.2, www.kodak.com/global/plugins/acrobat/en/service/digCam/exifStandard2.pdf

Metadata Working Group Specifications: www.metadataworkinggroup.com/specs/

Picture Licensing Universal System (PLUS): www.useplus.com/

ISO/IEC 15938-3 - Mpeg-7 Visual

ISO/IEC 15938-4 - Mpeg-7 Audio

ISO/IEC 15938-5 - Mpeg-7 Multimedia Description Scheme

UPDIG Photographers Guidelines v4.0: www.updig.org/pdfs/updig_photographers_guidelines_v40.pdf

Patricia Russotti and Richard Anderson, Digital Photography best practices and workflow handbook, Focal Press

Peter Krogh, The DAM Book 2nd edition, O'Reilly

Maurizio Agelli, Maria Laura Clemente, Mauro Del Rio, Daniela Ghironi, Orlando Murru and Fabrizio Solinas, CRS4 - NotreDAM, a multi-user, web based Digital Asset Management platform - TPDL 2011 Conference on Theory and Practice of Digital Libraries, Berlin

ACTIVE project documentation: http://active.crs4.it/docs

NotreDAM web site: www.notredam.org

12

CRS4 - Information Society - Digital Media Applications

Algoritmi e tecniche di face detection / tracking / recognition

Maurizio Pintus

13

CRS4 - Information Society - Digital Media Applications

I componenti base del sistema di indicizzazione visuale

14

Video in ingresso

Video indicizzato

Face model

Face detection

Face alignment

Face tracking

Face recognition

CRS4 - Information Society - Digital Media Applications

Face detection

15

CRS4 - Information Society - Digital Media Applications

Face detection: l’algoritmo di Viola-Jones (1)

16

● È stato introdotto da Paul Viola e Michael Jones nel 2001

● Si basa su modelli che vengono creati a partire da un training set di immagini:○ Facce

○ Non facce

CRS4 - Information Society - Digital Media Applications

Face detection: l’algoritmo di Viola-Jones (2)

17

● Viene usata una cascata di classificatori, ciascuno basato su poche feature

● Ciascun classificatore viene calibrato, usando un validation set, in modo da rilevare tutte le facce, con un 50 % di falsi positivi

● Per la creazione del modello, i classificatori utilizzano gli esempi che hanno superato gli stage precedenti

CRS4 - Information Society - Digital Media Applications

Face detection: l’algoritmo di Viola-Jones (3)

18

● Una finestra scorrevole scansiona l'immagine da analizzare alla ricerca di regioni somiglianti ai modelli○ Si eseguono diverse scansioni, partendo da una dimensione minima

ed ingrandendo ogni volta la finestra

● Una regione analizzata viene scartata appena un classificatore nella catena da esito negativo

● Viene rilevata una faccia solo se tutti i classificatori danno esito positivo

CRS4 - Information Society - Digital Media Applications

Face detection: l’algoritmo di Viola-Jones (4)

19

● Le feature utilizzate sono costituite da differenze tra somme di pixel in due o più regioni rettangolari (Haar features)

Two-rectangle feature Two-rectangle feature Three-rectangle feature Four-rectangle feature

CRS4 - Information Society - Digital Media Applications

Face detection: l’algoritmo di Viola-Jones (5)

20

● Per la selezione delle feature ed il training dei classificatori viene usata una variante del metodo AdaBoost

● Le prime feature selezionate riflettono due semplici proprietà delle facce:

CRS4 - Information Society - Digital Media Applications

Face detection: l’algoritmo di Viola-Jones (6)

21

● Per ogni faccia ci saranno di solito tanti rilevamenti, alla fine i bounding box sovrapposti vengono uniti

CRS4 - Information Society - Digital Media Applications

Face detection: risultati

22

● Test effettuati su 300 fotogrammi estratti da trasmissioni televisive, con facce in diverse angolazioni

● Sono stati ottenuti una precision del 95,62 % ed un recall del 62,97 %

precision = n° facce correttamente rilevate

n° totale facce rilevate recall =

n° facce correttamente rilevate

n° totale facce presenti

CRS4 - Information Society - Digital Media Applications

Face tracking

23

CRS4 - Information Society - Digital Media Applications

Face tracking: l’algoritmo CAMSHIFT (1)

● CAMSHIFT sta per Continuously Adaptive Mean Shift● È stato introdotto da Gary R. Bradski nel 1998,

modificando l’algoritmo mean shift introdotto da Keinosuke Fukunaga nel 1990

● Viene utilizzato lo spazio di colore Hue Saturation Value (HSV), ignorando i pixel con valori molto bassi di S e V e quelli con valori molto alti di V

24

CRS4 - Information Society - Digital Media Applications

Face tracking: l’algoritmo CAMSHIFT (2)

I passi dell’algoritmo Mean Shift:1. Scegliere dimensione e posizione iniziali della finestra2. Calcolare il centroide (mean location) della distribuzione

di probabilità nella finestra3. Centrare la finestra nel centroide4. Ripetere i passi 2 e 3 fino alla convergenza (o fino a che

lo spostamento del centroide è minore di una soglia)

25

CRS4 - Information Society - Digital Media Applications

● Per una distribuzione di probabilità discreta 2D abbiamo:

Face tracking: l’algoritmo CAMSHIFT (3)

26

● Le coordinate del centroide sono quindi:

CRS4 - Information Society - Digital Media Applications

Face tracking: l’algoritmo CAMSHIFT (4)

I passi dell’algoritmo CAMSHIFT:1. Scegliere dimensione e posizione iniziali della finestra2. Calcolare la nuova posizione della finestra usando

Mean Shift3. Impostare la dimensione della finestra a 4. Ripetere i passi 2 e 3 fino alla convergenza (lo

spostamento del centroide è minore di una soglia)

27

CRS4 - Information Society - Digital Media Applications

Face tracking: l’algoritmo CAMSHIFT (5)

● Nel face tracking la distribuzione di probabilità è la retroproiezione nel nuovo fotogramma dell’istogramma del canale H nel bounding box di una face detection

28

CRS4 - Information Society - Digital Media Applications

Face alignment

29

● Serve ad allineare le feature facciali

● Viene eseguito a partire dalla posizione degli occhi

● È importante per l’accuratezza della face recognition

CRS4 - Information Society - Digital Media Applications

Face alignment: parametri

30

x offset x offset

y offset

CRS4 - Information Society - Digital Media Applications

Face recognition

31

Giacomo Mameli

CRS4 - Information Society - Digital Media Applications

Face recognition: LBP (1)

32

● L’operatore Local Binary Pattern (LBP) è stato introdotto da Timo Ojala nel 1996

● Il primo utilizzo degli LBP per la face recognition risale a Timo Ahonen, nel 2004

● I metodi basati su LBP sono:○ Robusti alle occlusioni ed alle variazioni di luminosità

○ Efficienti dal punto di vista computazionale

CRS4 - Information Society - Digital Media Applications

Face recognition: LBP (2)

33

● Ogni pixel dell’immagine viene etichettato con un numero calcolato da un’operazione di soglia su pixel vicini

CRS4 - Information Society - Digital Media Applications

Face recognition: LBP (3)

● Un operatore LBP è rappresentato dalla notazione LBPP,R , con P numero di punti di campionamento su un cerchio di raggio R.

34

LBP8,2

CRS4 - Information Society - Digital Media Applications

Face recognition: LBP (4)

35

● L’immagine viene suddivisa in una griglia c x r ● Si calcola l’istogramma dei pattern LBP per ogni cella

della griglia e se ne effettua la concatenazione

CRS4 - Information Society - Digital Media Applications

Face recognition: LBP (5)

36

● A ciascuna cella può essere associato un peso diverso (LBP pesato)

● Il confronto tra istogrammi calcolati sulla faccia da riconoscere S ed istogrammi calcolati su un face model M viene effettuato attraverso la distanza χ²:

CRS4 - Information Society - Digital Media Applications

Face recognition: risultati (1)

37

● Test della sola face recognition, effettuati sul dataset AT&T, costituito da 40 persone con 10 immagini ciascuna

● Usato LBP8,1 con griglia 4 x 4

recognition rate = n° facce riconosciute

n° totale facce

CRS4 - Information Society - Digital Media Applications

Face recognition: risultati (2)

38

CRS4 - Information Society - Digital Media Applications

Face recognition: risultati (3)

39

● Test di face detection, alignment e recognition, effettuati su fotogrammi estratti da trasmissioni televisive

● Sono state usate nel training set 12 immagini e nel test set 1 immagine per persona

● Usato LBP8,1

CRS4 - Information Society - Digital Media Applications

Face recognition: risultati (4)

40

CRS4 - Information Society - Digital Media Applications

Il sistema di indicizzazione visuale completo

41

Face detection, tracking

ed alignment

Video annotato

People clustering

Databasepersone

Shot detection

Updatedel

database

Videoin

ingresso

Riduzione complessità

People recognition

Annotazione bulk

CRS4 - Information Society - Digital Media Applications

Riduzione complessità

42

● Permette una diminuzione delle risorse (tempo di elaborazione, memoria, spazio su disco) necessarie per l’analisi

● Non dovrebbe inficiare le prestazioni degli algoritmi

5 fotogrammi al secondo

CRS4 - Information Society - Digital Media Applications

Shot detection

● Utilizziamo la differenza tra istogrammi HSV in fotogrammi consecutivi

● Si utilizza una finestra scorrevole

● Si ha un cambio di shot se il campione centrale è maggiore di una soglia

43

CRS4 - Information Society - Digital Media Applications

People clustering (1)

44

Persona 1

Persona 2

Persona 3

CRS4 - Information Society - Digital Media Applications

People clustering (2)

45

CRS4 - Information Society - Digital Media Applications

People clustering (3)

● Il face tracking permette di ottenere N face track● Si ha una scansione sequenziale di questi face track● Due face track vengono uniti se:

● Oppure se:

46

CRS4 - Information Society - Digital Media Applications

People recognition: caption recognition (1)

47

RisultatiCaption

extraction

Dizionario tag

Fotogramma OCR Tag matching

CRS4 - Information Society - Digital Media Applications

People recognition: caption recognition (2)

48

Giacomo Mameli

CRS4 - Information Society - Digital Media Applications

People recognition: risultati

49

● Test effettuati su 798 fotogrammi con caption estratti da trasmissioni televisive, con 27 persone diverse

● Con la face recognition:○ Face model di 80 persone

○ Recognition rate medio del 51, 44 %

● Con la caption recognition:○ Dizionario di 86 tag

○ Recognition rate medio del 93,25 %

CRS4 - Information Society - Digital Media Applications

Bulk annotation (1)

50

TagPeople

recognition

Databasepersone

Riconosciuto?

Cluster di

face track

Selezione keyframe

Annotazione keyframe da parte

dell’utente

No

CRS4 - Information Society - Digital Media Applications

Sconosciuto

SconosciutoSconosciuto

Bulk annotation (2)

51

Giacomo Mameli

Mario Leoni

Giacomo Mameli Paolo Fadda Michele Giannotta

Sconosciuto Sconosciuto Sconosciuto

CRS4 - Information Society - Digital Media Applications

People clustering: risultati (1)

● Test effettuati su puntate intere di trasmissioni televisive● È stato utilizzato il sistema completo, senza la fase di

people recognition● I segmenti video dell’annotazione semi-automatica sono

stati confrontati con i segmenti video reali

52

CRS4 - Information Society - Digital Media Applications

People clustering: risultati (2)

● Trasmissione: “Facciamo i conti”

● Durata video: 54 minuti● Persone considerate: 6● Face track ottenuti: 186● Face track non associati

a facce: 3

53

CRS4 - Information Society - Digital Media Applications

People clustering: risultati (3)

● Trasmissione: “Monitor”● Durata video: 119 minuti● Persone considerate: 10● Face track ottenuti: 517● Face track non associati

a facce: 0

54

CRS4 - Information Society - Digital Media Applications

People clustering: risultati (4)

55

CRS4 - Information Society - Digital Media Applications

Riferimenti (1)● Szeliski R. (2010) Computer Vision: Algorithms and Applications. New York: Springer.

● Viola, P. & Jones. M. (2001) Rapid Object Detection using a Boosted Cascade of Simple Features. Conference on Computer Vision and Pattern Recognition. p.I-511- I-518.

● Lienhart R. et al. (2003) Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection. DAGM Pattern Recognition Symp. p. 297-304.

● Freund Y, & Schapire, R. E. (1997) A Decision-Theoretic Generalization of On-Line Learning and an application to Boosting. Journal of computer and system sciences. 55 (SS971504). p. 119-139.

● Fukunaga, K. (1990). Introduction to Statistical Pattern Recognition. Boston: Academic Press.

● Bradski, G. R. (1998). Real Time Face and Object Tracking as a Component of a Perceptual User Interface. IEEE Workshop on Applications of Computer Vision. p. 214 - 219.

56

CRS4 - Information Society - Digital Media Applications

Riferimenti (2)● Ojala, T. et al. (1996). A comparative study of texture measures with classification based on

featured distributions. Pattern Recognition. 29 (1). p. 51-59.

● Ahonen, T. et al. (2004). Face Recognition with Local Binary Patterns. European Conference on Computer Vision. p.469–481.

● Ruiz-del-Solar et al. (2009) Recognition of Faces in Unconstrained Environments: A Comparative Study. EURASIP Journal on Advances in Signal Processing. 2009 (184617).

● Korshunov, P. and Ooi, W. T. (2011) Video quality for face detection, recognition and tracking. ACM Transactions on Multimedia Computing, Communications, and Applications. 7 (3). p. 14:1-14:21.

● The Database of Faces (2002) [Online] Available from: http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html.

57

CRS4 - Information Society - Digital Media Applications

Felice Colucci

58

Automatic Speaker Recognition

CRS4 - Information Society - Digital Media Applications

Automatic Speaker Recognition

•Chi?

•Cosa?

•Come?

•Quando?

59

CRS4 - Information Society - Digital Media Applications

Automatic Speaker Recognition - Enrollment

60

Creazione dei modelli

Estrazionefeature

Composizione modello

Database modelli

CRS4 - Information Society - Digital Media Applications

Automatic Speaker Recognition - Training

61

Creazione dei modelli

Estrazionefeature

Composizione modello

Database modelli

Creazione dei modelli

Estrazionefeature

Composizione modello

Confronto o Scoring

Decisione

CRS4 - Information Society - Digital Media Applications

Speaker Identification - Speaker Verification

● Differenti domande:○ di chi è questa voce?○ questa voce è di Matteo?

● Differenti ambiti utilizzo

62

CRS4 - Information Society - Digital Media Applications

Estrazione delle feature

● Non esiste una feature sufficientemente significativa da caratterizzare da sola un parlante

● Caratteristiche:○ Uniche,○ invarianti,○ facilmente misurabile

63

CRS4 - Information Society - Digital Media Applications

MelFrequencyCepstrumCoefficient

● Windowing● Trasformata di Fourier● Applicazione della scala MEL● Logaritmo per ciascuna frequenza● Trasformata discreta del coseno

64

Vettore di feature

CRS4 - Information Society - Digital Media Applications

MelFrequencyCepstrumCoefficient

M(f)=1125ln(1+f/700)

65

CRS4 - Information Society - Digital Media Applications

DiscreteCosineTransform

Simile ad una DFT ma utilizza soltanto numeri reali

66

CRS4 - Information Society - Digital Media Applications

Formanti

● Frequenze naturali di risonanza del tratto vocalico● Ogni vocale è caratterizzata da frequenze di risonanza:

denominate prima formante (o F1), seconda formante (o F2), terza formante (o F3), ecc.

● Le formanti sono determinate dalla configurazione del tratto vocalico.○ Frequenze formantiche variano con la

configurazione della lingua, delle labbra e del velo

67

CRS4 - Information Society - Digital Media Applications

Formanti

concentrazione di energia in una banda frequenziale

timbro vocalico

F1-> bocca

F2-> lingua

68

CRS4 - Information Society - Digital Media Applications

Modelli e classificatori

● Scopo: assegnare un etichetta, un valore semantico, ad un dato segnale audio -> Identificazione

● definiscono delle regole decisionali nello spazio delle feature, che consente di riconoscere un dato segnale audio come appartenente ad uno specifico parlatore○ Forma compatta per rappresentare le informazioni ricavate nella fase

di feature extraction

● Capace di rappresentare nuovi dati

69

CRS4 - Information Society - Digital Media Applications

Modelli

● Template● NN - Nearest Neighbord● VQ - Vector Quantization● Reti Neurali● HMM - Hidden Markov Model● GMM – Gaussian Mixture Model● SVM – Support Vector Machine

70

CRS4 - Information Society - Digital Media Applications

GaussianMixtureModel

● modelli probabilistici formati dalla combinazione lineare di funzioni di distribuzione di tipo gaussiano:○ componenti della mistura

71

CRS4 - Information Society - Digital Media Applications

GaussianMixtureModel

La probabilità di osservare il campione x dato il modello :

x è un vettore di feature di dimensione D, ωi sono i pesi della mixture, M è il numero dei modelli e g(x|μi, Σi) la funzione che le caratterizza.

72

CRS4 - Information Society - Digital Media Applications

GaussianMixtureModel

Ciascun componente della mistura ha una forma del tipo

i matrice di covarianza

i media

73

CRS4 - Information Society - Digital Media Applications

Likelihood Ratio- funzione di verosimiglianza

● Supponiamo di avere un frammento audio Y:○ p1-> Il frammento audio è relativo ad un parlatore S○ p2-> Il frammento audio non è relativo ad un parlatore S

LR(Y)= p(Y|p1)/p(Y|p2)=ɸ

Dato un valore di cut off ɛ. Si ha che se: ɸ>ɛ accetto ipotesi p1ɸ<ɛ rifiuto ipotesi p1

74

CRS4 - Information Society - Digital Media Applications

Test● Video di circa 40 minuti.● Modello ricavato dall’audio del video● Test 24 tracce di un minuto dello stesso video.● Il database dei modelli era composto da circa 60 elementi

Con soglia 0.5 Senza sogliaNumbero TEST 24 24OK 19 22ERRATA 0 2UNKNOWN 5 -

75

Valore vero

Predizione vero positivo falso positivo

falso negativo vero negativo

CRS4 - Information Society - Digital Media Applications

Receiver Operating Charateristic

76

Valore di cut off

Valore vero

Predizione vero positivo=TP falso positivo=FP

falso negativo=FN vero negativo=TN

CRS4 - Information Society - Digital Media Applications

● Definizione: suddividere una traccia audio in parti omogenee○ silenzio○ musica○ differenti parlatori

Risultatomusica silenzio speaker 1 speaker 1silenzio speaker 2 musica speaker 1 silenzio

Diarization

77

musica silenzio

speaker 1

speaker 2

CRS4 - Information Society - Digital Media Applications

Diarization: applicazioni

● Cross show● Speaker Tracking

78

CRS4 - Information Society - Digital Media Applications

Diarization

● Processi○ Voice Activity Detection○ Speaker Change Detection○ Speaker Clustering

● Errori○ individuare un cambio di speaker laddove non sia presente○ non individuare un cambio di speaker

79

CRS4 - Information Society - Digital Media Applications

Risultati sperimentali

● Considerazioni● Audiolibri radio rai

○ 40 file della durata di circa 20 minuti ciascuno○ un solo parlatore○ db dei modelli composto da circa 50 modelli○ RISULTATO = 40 IDENTIFICAZIONI SU 40 TEST

80

CRS4 - Information Society - Digital Media Applications

Risultati sperimentali

70 file (50 durata 1 minuto, 10 durata < 30 sec, 10 durata > 2 minuti)Audio di qualità differenti (conferenze scaricate da youtube, ufficio, podcast radiofonici, trasmissioni TV)

81

Valore vero o atteso

TEST o predizione vero falso

positivo 60 0

negativo 10 0

sensibilità = 85 %specificità = 0 %

CRS4 - Information Society - Digital Media Applications

Risultati sperimentali

● Problemi nel processo di diarization in "Che tempo che fa"

● Efficace nei tratti continui > 5 sec● Sovrapposizioni vengono considerate un terzo parlatore

82

CRS4 - Information Society - Digital Media Applications

ReferenceKinnunen, Tomi; Li, Haizhou (1 January 2010). "An overview of text-independent speaker recognition: From features to supervectors" Speech Communication 52 (1): 12 40. doi:10.1016/j.specom.2009.08.009

Mohand Saïd Allili (2010) A short tutorial on Gaussian Mixture Models

Anguera (2010) Speaker diarization: A review of recent research

B. P. Bogert, M. J. R. Healy, and J. W. Tukey (2009) The quefrency analysis of time series for echoes: cepstrum, pseudo-autocovariance, cross-cepstrum, and saphe cracking". Proceedings of the Symposium on Time Series Analysis (M. Rosenblatt, Ed)

Campbell (2006) Computer Speech and Language

J.P. Campbell (1997) Speaker recognition: A tutorial. In Proceedings of the IEEE, volume 85, pages 1437–1462

Carol Y. Espy-Wilson (2005) A New Set of Features for Text-Independent Speaker Identification

83

CRS4 - Information Society - Digital Media Applications

ReferenceTom Fawcett (2006) An introduction to ROC analysis

Frank Dellaert (2002) The Expectation Maximization Algorithm

Douglas A. Reynolds (2002) An Overview of Automatic Speaker Recognition Technology

Furui (1990) Speaker-Dependent-Feature Extraction, Recognition and Processing Techniques

S. Furui. (1996) An overview of speaker recognition technology In Automatic Speech and

Speaker Recognition: Advanced Topics. Academic Publishers

Alexandre Majetniak (2011) Speaker recognition using universal background model

84

CRS4 - Information Society - Digital Media Applications

Reference

Reynolds (1992) A Gaussian Mixture Modeling Approach to Text-Independent Speaker Identification. PhD thesis, Georgia Institute of Technology

Reynolds, Rose (1995) Robust Text-Indipendent Speaker Identification Using Gaussian Mixture Speaker Models

A. Reynolds (1999) Gaussian Mixture Models

Ross, Prabhakar (2004) An introduction to biometric recognition

Garima Vyas, Barkha Kumari (2002) “Speaker Recognition System Based On MFCC and DCT”

85

CRS4 - Information Society - Digital Media Applications

Nicola Corona

86

Architettura

CRS4 - Information Society - Digital Media Applications

Obiettivi del progetto ACTIVE

Realizzare una piattaforma di archiviazione di item digitali:● multi-utente / collaborativa● interfaccia web● modulare ➝ personalizzabile / estendibile● flessibile (contesto di utilizzo)● scalabile (multiprocessing)● licenza open source permissiva (MIT)

87

Funzionalità principali messe a disposizione:● ingestion / storage● transcoding - adaptation● metadata extraction● search and export

CRS4 - Information Society - Digital Media Applications

Architettura piattaforma ACTIVE

88

➔ Architettura a tre livelli➔ Pattern architetturale MVC (Model View Controller):

◆ GUI / web interface◆ business logic◆ data model / storage

➔ Maggiore indipendenza tra le componenti logiche!

CRS4 - Information Society - Digital Media Applications

Aspetti tecnologici - problematicheNecessario risolvere diversi problemi:● numero elevato di item● item di tipi differenti (PNG, MP4, MP3) ● item di grandi dimensioni

89

● storage delle risorse● scalabilità degli algoritmi

Item digitali

CRS4 - Information Society - Digital Media Applications

Generazione dei metadati

90

L’attività di catalogazione manuale degli item digitali risulta:● poco gratificante (ripetitiva e non creativa)● dispendiosa (item visualizzati e interpretati)● soggettiva (diverse interpretazioni)

DynamicTags

Automatizzare il processo di generazione dei metadati:● algoritmi di face extraction e speaker extraction

Per ogni item considerato si vuole estrarre e memorizzare:● una lista di metadati ad esso associati● informazioni temporali sulle persone che occorrono nell’item

○ inizio e durata dell’occorrenza (DynamicTag)● tag contenenti il bounding box dell’occorrenza rilevata

CRS4 - Information Society - Digital Media Applications

Generazione metadati - esempio

91

Data una collezione di item con le seguenti caratteristiche:● 7.000 video (6 video al giorno per 3 anni)● durata media di 3 ore● 10 persone distinte in ciascun video● ogni persona compare 30 volte un video

si ottiene un totale di 2,1 milioni di dynamic tags

estratti manualmente da un utente (10 sec per ogni tag) richiederebbero:21mln di secondi pari a circa 2 anni di lavoro!

CRS4 - Information Society - Digital Media Applications

Indicizzazione dei metadati

Indispensabile nelle grandi collezioni di item:● ricerca veloce degli item di interesse● organizzare gli item digitali● aumentare il contenuto informativo● esportare i metadati in formati standard

92

Diverse tipologie di dati (tag):● dati (titolo, autore, ...)● metadati (XMP, EXIF, ...)● keyword e dynamic tag

CRS4 - Information Society - Digital Media Applications

Indicizzazione - matrice binaria

Matrice binaria delle occorrenze:● notazione posizionale

○ righe item, colonne keyword● un bit per ogni occorrenza

○ 1 presente, 0 assente

Problemi:● matrice sparsa (prevalenza di zeri)● difficile gestione/ricerca delle occorrenze (bitwise)● dimensioni considerevoli se si indicizza del testo (300k lessemi)● facile aggiungere item, difficile aggiungere keyword

93

Pula Mare Sardegna

Item 1 0 0 1

Item 2 1 1 0

Item 3 0 1 1

CRS4 - Information Society - Digital Media Applications

Indicizzazione - DBMS

Utilizzare database relazionale per le coppie (keyword_id, item_id)➔ implementazioni efficienti di indici di tipo hash o B-tree➔ ampiamente utilizzati e supportati➔ ideali per gestire dati strutturati e tipizzati

Problemi:● necessario creare un indice per ogni campo● l’aggiornamento dell’indice è oneroso● ricerche composte non immediate● scalabilità limitata● licenze commerciali limitanti

94

CRS4 - Information Society - Digital Media Applications

Indicizzazione - liste invertite

Per ogni keyword_id una lista ordinata di item_idOperatori di manipolazione delle liste di item_id (AND, OR, NOT, ...)Costruzione incrementale dell’indiceAmpiamente utilizzate per indicizzare documenti testuali

95

keyword

23 25 96

item ID list

23 24

24 25 45

pula

mare

sardegna

CRS4 - Information Society - Digital Media Applications

Ricerca degli item lato utente

Nella ricerca full-text:● matching esatto tra query e keyword● sensibile a errori lessicali (typo)● prefix tree non supportato● nessuna gerarchia delle keyword● nessuna semantica delle keyword

96

1 3 9

80

data

4

crs

a

emFunzionalità ormai indispensabili:➔ ricerca inesatta (k-grammi)➔ ricerca parziale (alberi trie)

CRS4 - Information Society - Digital Media Applications

Interoperabilità - API RESTReST : Representational State Transfer➔ Stile architetturale per identificare risorse tramite URL➔ Non è legato al protocollo HTTP (standard de facto)

97

➔ Largo impiego delle API REST◆ Meno verboso, più semplice e intuitivo◆ Facilmente estensibile e uniforme ◆ JSON/XML per la serializzazione dei dati

CRS4 - Information Society - Digital Media Applications

Strumenti per l’estensione della piattaforma ACTIVE

98

Alessandro Sassu

CRS4 - Information Society - Digital Media Applications

Gli strumenti

● ACTIVE Plug-ins

● ACTIVE Tools

99

Active Tools

ACTIVE Core

API

ACTIVE Plug-in

CRS4 - Information Society - Digital Media Applications

ACTIVE Plug-in

● È un componente software utilizzato per personalizzare il comportamento di ACTIVE Core

● È costituito da:○ File di configurazione○ Plug-ins scripts

100

CRS4 - Information Society - Digital Media Applications

File di configurazione

● Riporta la descrizione delle caratteristiche del plugin e degli scripts ad esso associati

● Risiede nell’ACTIVE Core

101

CRS4 - Information Society - Digital Media Applications

Plug-in script

102

● Codice Python che implementa le funzionalità aggiuntive

● Può essere eseguito invocando l’Evento associato in maniera:○ Diretta: si specifica il nome dell’evento che si vuole scatenare○ Indiretta: si intercetta l’evento scatenato dall’interazione con l’API

REST (Action)

CRS4 - Information Society - Digital Media Applications

Esempio (1)

103

CRS4 - Information Society - Digital Media Applications

Esempio (2)

104

CRS4 - Information Society - Digital Media Applications

Esempio (3)

105

ACTIVE CORE

API

JOB PROCESSOR

APIVideo ItemCreated

Video Item POST

ExtractingVideo Duration...

POST PUT

UserInterface

CRS4 - Information Society - Digital Media Applications

ACTIVE Tools

Un ACTIVE Tool è un’applicazione web esterna che può interagire con l’ACTIVE Core

106

CRS4 - Information Society - Digital Media Applications

Scenario

107

CARICAMENTO DEI CONTENUTI

INDICIZZAZIONE DEI CONTENUTI RICERCA VISUALIZZAZIONE

DEI RISULTATI

CRS4 - Information Society - Digital Media Applications

ACTIVE Tools: Navigator e Summarizer

108

● Navigator○ Mostra le persone che compaiono in un determinato video

● Video Summarizer○ Mostra le sezioni dei video in cui compare una determinata persona

○ Aiuta ad esaminare i risultati della ricerca di un determinato volto/speaker in diversi video

CRS4 - Information Society - Digital Media Applications

Navigator

109

CRS4 - Information Society - Digital Media Applications

Summarizer

110

CRS4 - Information Society - Digital Media Applications

Tecnologie

111

● Back - end ● Front - end

<video>

BROWSER MP4 WebM Ogg

Internet Explorer YES NO NO

Chrome YES YES YES

Firefox YES YES YES

Safari YES NO NO

Opera YES YES YES

CRS4 - Information Society - Digital Media Applications

HTTP Status: 206 Partial Content

Per visualizzare un video di grandi dimensioni è necessario che, alla richiesta del file da parte del client, il server sia in grado di inviare una risposta di tipo 206 Partial Content

112

REQUEST

RESPONSE

REQUEST

Range: bytes = 0-999

RESPONSE

Accept - Ranges: bytes

Content - Length: 1000

Content - Range:0-999 / 3980206 Partial Content

GET

CLIENT SERVER

CRS4 - Information Society - Digital Media Applications

Job Processor

Federico Santamaria

113

CRS4 - Information Society - Digital Media Applications

Job Processor - Caratteristiche

● Definizione modulare dei job;● Esecuzione asincrona dei job;● Esecuzione parallela e distribuita su cluster;● Esecuzione basata su meccanismi di autorizzazione

dell’utente (token).

114

CRS4 - Information Society - Digital Media Applications

Job Processor - Architettura

115

RABBIT MQ

CELERY

SKELETON

JOB (plug-in scripts)

JOB MANAGER

CLUSTERMANAGER

CRS4 - Information Society - Digital Media Applications

Cluster Manager - Tecnologie (Celery)

● Gestione di code di task in modo asincrono basata sullo scambio di messaggi;

● Esecuzione concorrente dei task su uno o più processi dedicati (worker);

● Necessita di un message broker (RabbitMQ).

116

CRS4 - Information Society - Digital Media Applications

Cluster Manager - Tecnologie (RabbitMQ)

● Routing, buffering e persistenza dei messaggi;● Consente il clustering di più server RabbitMQ;

○ Single Logical Broker○ Resource mirroring

● Basato sul paradigma producer-consumer.

117

CRS4 - Information Society - Digital Media Applications

Celery + RabbitMQ

118

CRS4 - Information Society - Digital Media Applications

Job Manager

Il Job Manager gestisce code di job (una per ciascuno stato possibile).● Traccia lo stato dei job;● Parallelizza l’esecuzione dei job;● Esegue i job in modo asincrono; ● Mantiene i risultati dei job;● Espone una API REST.

119

Aborted

Running

Completed

Queued

CRS4 - Information Society - Digital Media Applications

Jobs 1

● Consentono l’incapsulamento del codice;● Consentono l’esecuzione asincrona (non bloccante),

parallela e distribuita del codice;● Estendono la classe astratta Job.

120

CRS4 - Information Society - Digital Media Applications

Jobs 2

● PlainJob;○ Eseguibili in locale in modo non distribuito.

● SkeletonJob.○ Eseguibili in parallelo e su cluster in modo distribuito;○ Basati sul framework Algorithmic Skeletons.

121

CRS4 - Information Society - Digital Media Applications

Algorithmic Skeletons

Def. : Gli Algorithmic Skeleton (aka Parallelism patterns) costituiscono un modello di programmazione parallela di alto livello per computazioni concorrenti e distribuite.

Caratteristiche:● favoriscono uno stile di programmazione strutturata● celano la complessità delle applicazioni parallele e distribuite● principio di composizionalità basato su Skeleton Pattern

122

CRS4 - Information Society - Digital Media Applications

Skeleton Patterns - Sequential● Incapsulano il codice utente;● Garantiscono il principio di composizionalità;● Distribuiscono l’esecuzione (in un cluster Celery);● Restituiscono un valore (eventualmente nullo).

Gli skeleton Pattern Sequential costituiscono sempre i nodi foglia di uno skeleton tree!

def foo(val):val++...return val

foo

123

CRS4 - Information Society - Digital Media Applications

Skeleton Patterns - Pipeline● Computazione per stadi (sequenze di skeleton -

stage);● Input fornito al primo stadio;● Output collezionato all’ultimo stadio;● L’output di uno stadio costituisce l’input dello stadio

successivo.

foo barSemantic: [Pipeline<foo, bar>, val] → bar(foo(val))

pipeLa valutazione degli stadi costituisce un processo bloccante (sincronizzazione).

124

CRS4 - Information Society - Digital Media Applications

Skeleton Patterns - Farm

● accetta uno skeleton come argomento (subskel);● accetta in input una lista di N item;● subskel applicato ad ogni input item;● restituisce una lista di N output item;● parallelizza la stessa computazione su più item.

foo

farm

Semantic: [Farm<foo>, list] → foo(val) for val in list

Parallelismo limitato dalle risorse disponibili

125

CRS4 - Information Society - Digital Media Applications

Skeleton Patterns - Esempio

Calcolo fact() e incr() su 10.000 interi:

stage1 = Seq(fact)

stage2 = Seq(incr)

pipe = Pipe(stage1, stage2)

farm = Farm(pipe)

res = Executor().eval(farm, range(10000))

def incr(val):return val + 1

def fact(val):if(val < 2):

return 1t = val--t *= fact(val)return t

126

CRS4 - Information Society - Digital Media Applications

Algorithmic Skeletons - Test● face detection algorithm● input video file: videolina-10sec.mov with 25fps● Celery cluster of 3 nodes (36 physical cores, 48 virtual cores)

Sequential execution time: 121 secParallel/distributed execution time vs available cores:

127

Cores 1 2 4 8 8 16 32 36 48

Nodes 1 1 1 1 2 2 3 3 3

Time 180 130 70 62 56 52 45 39 32

CRS4 - Information Society - Digital Media Applications

Grazie per l’attenzione

128

Questa presentazione è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate - 4.0 Internazionale