Top Banner
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
128

Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

Jul 21, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

La catalogazione dei contenuti

Maurizio Agelli

2

Page 3: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 4: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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....

Page 5: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 6: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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)

Page 7: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 8: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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)

Page 9: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Alcune attività sulla catalogazione dei contenutisvolte al CRS4

9

Page 10: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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/)

Page 11: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 12: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 13: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Algoritmi e tecniche di face detection / tracking / recognition

Maurizio Pintus

13

Page 14: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 15: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Face detection

15

Page 16: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 17: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 18: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 19: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 20: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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:

Page 21: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 22: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 23: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Face tracking

23

Page 24: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 25: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 26: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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:

Page 27: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 28: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 29: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 30: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Face alignment: parametri

30

x offset x offset

y offset

Page 31: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Face recognition

31

Giacomo Mameli

Page 32: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 33: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 34: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 35: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 36: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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 χ²:

Page 37: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 38: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Face recognition: risultati (2)

38

Page 39: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 40: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Face recognition: risultati (4)

40

Page 41: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 42: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 43: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 44: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

People clustering (1)

44

Persona 1

Persona 2

Persona 3

Page 45: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

People clustering (2)

45

Page 46: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 47: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

People recognition: caption recognition (1)

47

RisultatiCaption

extraction

Dizionario tag

Fotogramma OCR Tag matching

Page 48: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

People recognition: caption recognition (2)

48

Giacomo Mameli

Page 49: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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 %

Page 50: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 51: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 52: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 53: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 54: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 55: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

People clustering: risultati (4)

55

Page 56: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 57: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 58: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Felice Colucci

58

Automatic Speaker Recognition

Page 59: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Automatic Speaker Recognition

•Chi?

•Cosa?

•Come?

•Quando?

59

Page 60: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Automatic Speaker Recognition - Enrollment

60

Creazione dei modelli

Estrazionefeature

Composizione modello

Database modelli

Page 61: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 62: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Speaker Identification - Speaker Verification

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

● Differenti ambiti utilizzo

62

Page 63: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 64: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 65: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

MelFrequencyCepstrumCoefficient

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

65

Page 66: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

DiscreteCosineTransform

Simile ad una DFT ma utilizza soltanto numeri reali

66

Page 67: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 68: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Formanti

concentrazione di energia in una banda frequenziale

timbro vocalico

F1-> bocca

F2-> lingua

68

Page 69: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 70: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 71: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

GaussianMixtureModel

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

71

Page 72: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 73: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

GaussianMixtureModel

Ciascun componente della mistura ha una forma del tipo

i matrice di covarianza

i media

73

Page 74: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 75: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 76: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 77: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 78: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Diarization: applicazioni

● Cross show● Speaker Tracking

78

Page 79: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 80: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 81: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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 %

Page 82: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 83: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 84: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 85: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 86: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Nicola Corona

86

Architettura

Page 87: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 88: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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!

Page 89: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 90: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 91: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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!

Page 92: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 93: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 94: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 95: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 96: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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)

Page 97: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 98: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Strumenti per l’estensione della piattaforma ACTIVE

98

Alessandro Sassu

Page 99: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Gli strumenti

● ACTIVE Plug-ins

● ACTIVE Tools

99

Active Tools

ACTIVE Core

API

ACTIVE Plug-in

Page 100: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 101: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 102: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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)

Page 103: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Esempio (1)

103

Page 104: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Esempio (2)

104

Page 105: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Esempio (3)

105

ACTIVE CORE

API

JOB PROCESSOR

APIVideo ItemCreated

Video Item POST

ExtractingVideo Duration...

POST PUT

UserInterface

Page 106: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

ACTIVE Tools

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

106

Page 107: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Scenario

107

CARICAMENTO DEI CONTENUTI

INDICIZZAZIONE DEI CONTENUTI RICERCA VISUALIZZAZIONE

DEI RISULTATI

Page 108: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 109: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Navigator

109

Page 110: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Summarizer

110

Page 111: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 112: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 113: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Job Processor

Federico Santamaria

113

Page 114: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 115: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Job Processor - Architettura

115

RABBIT MQ

CELERY

SKELETON

JOB (plug-in scripts)

JOB MANAGER

CLUSTERMANAGER

Page 116: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 117: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 118: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

CRS4 - Information Society - Digital Media Applications

Celery + RabbitMQ

118

Page 119: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 120: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 121: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 122: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 123: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 124: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 125: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 126: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 127: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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

Page 128: Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015

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