CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S....

39
CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu A. Picariello Università di Napoli [email protected] M.L. Sapino Università di Torino [email protected]

Transcript of CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S....

Page 1: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

CPR Model for Summarazing Video

Gattamorta Mirko Meneghello Andrea

Vergari Gino

M. Fayzullin, V.S. SubrahmanianUniversity of Maryland{fms,vs} @cs.umd.edu

A. PicarielloUniversità di Napoli

[email protected]

M.L. SapinoUniversità di Torino

[email protected]

Page 2: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Premessa (1)

Creare un sommario di un video Un sommario video è una rappresentazione

compatta di una sequenza video ed è utile per diverse applicazioni video. Per esempio, fornisce una rapida panoramica del contenuto del video, permettendo un accesso veloce ai vari shots.

Ci sono due forme di sommario video: 1. una sequenza di anteprime, concatenazione di un

numero limitato di segmenti video 2. un insieme di key-frames, una raccolta di frames

scelti adeguatamente.

Page 3: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Premessa (2)

Cosa abbiamo già a disposizione: Video databases che supportano API video Tecniche di sommario basate sul key-frame Selezione a manuale dei frames interessanti

Lo stato dell’arte Data la veloce crescita della tecnologia audio-

video, l’aumento della quantità di contenuto multimediale disponibile in rete è enorme. Gli utenti affrontano una nuova sfida:Come esaminare velocemente grandi quantità di contenuto multimediale

Page 4: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Premessa (3)

Costruire un indice:1. Che usi delle regole per specificare quali

sono gli oggetti, eventi o frames “interessanti” (F.I.) per quel contesto.

2. Possieda una funzione obbiettivo che dati i F.I. combini assieme questi tre parametri: Continuity Priority Repetition

Page 5: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Sommario

1. Introduzione2. Modello formale3. Algoritmi

1. Benchmark2. Conclusioni

Page 6: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

CAPITOLO 1

Introduzione

Page 7: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Introduzione

Reperire le parti più interessanti di un video Es: partita di calcio

Goal, falli gravi, azioni spettacolari… Non considerare azioni ripetitive, passaggi,

sostituzioni…

Page 8: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Scenari di applicazione (1)

A cosa serve un CPR model per sintetizzare un video?

Per automatizzare il processo di sintesi Permette alle aziende di “contabilizzare” e vendere clip

di video. Gli utenti possono selezionare le parti che ritengono più

interessanti e acquistare in seguito l’intero video Molte società fanno uso di seminari audio e video interni

disponibili on line.

Device requirement Cellulari, PDA sia per rete GSM che UMTS che supportino

la ricezione di video o brevi clip. Decoder digitali Personal Computer connessi a internet

Page 9: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Scenari di applicazione (2)

CPR Model

SommarioGoalAzioni

Video store

Accounting

Page 10: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Video: cosa analizzare (1)

Video: Es: 15 fps, 1 hour = 60 x 60 x15 = 54.000 frames Impossibile confrontarli tutti per decidere i F.I. Utilizziamo il keyframe: Significa letteralmente fotogramma chiave e

indica il fotogramma di riferimento nella codifica di una clip. In sostanza un key frame non contiene alcuna informazione sui frames adiacenti.Molti compressori usano il keyframe per risparmiare spazio nella compressione, che in questo modo deve tenere conto solo delle differenze tra due keyframes.

Key frame

Page 11: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Video: cosa analizzare (2)

Basta il keyframe ? Il keyframe ci dice solo i frame da

considerare, quelli che contengono più informazione. Ma noi abbiamo anche bisogno di regole per determinare quelli interessanti (F.I.)

Bisogna che selezioniamo solo alcune scene, le più significative per il contesto che si sta analizzando (Es: i goal per una partita di calcio)

Es. Se abbiamo in media un keyframe ogni 300 frame con l’esempio precedente 54000/300=180 che implica che il numero di scene da confrontare è comunque elevato.

Vedremo nel capitolo 2 come queste regole si possano esprimere usando un linguaggio logico.

Page 12: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

La funzione obbiettivo

La funzione obbiettivo, che discuteremo nel capitolo 2, servirà:

1. una volta che abbiamo raccolto tutte le scene che rispettano le nostre regole,

2. per decidere quali inserire effettivamente nel sommario

Page 13: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Continuity (del sommario): Il sommario deve essere continuo e non presentare “salti”.

Es rigore: oltre al goal deve esserci frame dell’istante prima del tiro e quello immediatamente successivo.

Proprietà e criteri di selezione (1)

Ogni frames qui sta ad indicare un istante del video

Rincorsa Tiro Parata Goal Festeggiamenti

Page 14: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Proprietà e criteri di selezione (2)

Priority (dei frames): per ogni applicazione di sommario

certi oggetti o eventi sono più importanti di altri Es. di contesto: video di calcio

Es. di evento: il goal è più importante di un semplice passaggio a centro campo Es. di oggetto: Il portiere se ha di fronte l’attaccante che si appresta a tirare è più

importante del portiere che rimette da fondo campo.

Evento più importante

Page 15: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Repetitions (del sommario): anche se un evento è prioritario ma ricorre molte volte nel video, questo diventa meno prioritario nel sommario finale

Es: i calci di rigore, l’evento è ripetuto molte volte quindi ne utilizzo alcuni per rappresentare il sommario e gli altri perdono di priorità

Proprietà e criteri di selezione (3)

Scelgo ad esempio il primo come più prioritario

4 rigori calciati da altrettanti giocatori

Page 16: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Riassumendo

1. Selezioniamo da un video, in modo totalmente automatico tutti i keyframes.

2. Eseguiamo un’analisi con regole per determinare i frames interessanti per il contesto.

3. Tramite una funzione obbiettivo decidiamo quali inserire nel sommario finale.

Page 17: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

CAPITOLO 2

Modello Formale

Page 18: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Modellazione del sommario

...1 2 len

v =

Goal 21’ del 1°TRigore 8’ del 2°T

Assist 44’ del 2°T

...

1 … K

3

kScon } v

len ..., 1, { S

( ) true=finsum Sf ⇔∈

Sommario S al più di k frame o di blocchi di frame continui:

S deve contenere solo frame “interessanti”:

Ma quando un frame è interessante?

Quando contiene oggetti o azioni che ci interessano!

k-summary

Page 19: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Selezione dei frame (1)

I frame sono analizzati e individuati per contenuti da API del DB multimedialechiamate video-call:

findframe(v,X) individua i frame che contengo l’azione o l’oggetto X findobj(v,f) individua gli oggetti contenuti nel frame f findact(v,f) individua le azioni contenute nel frame f

V=

findframe(v,BALL)

findobj(v,f’)

findact(v,f’’)

... ...

Page 20: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Selezione dei frame (2)

I predicati a loro volta possono essere uniti in and logico formando vincoli più stringenti sulle variabili libere:

Si associa alla variabile una o più azioni (e oggetti) presenti in entrambi i frame

Per istanziare frame, oggetti ed azioni “interessanti” usiamo predicati che

associano ad una variabile X l’output della video-call invocata

X =

'v,f findact X

v,f findactX

( )"Rivaldo"v, findframeX∈

X = “celebrazione”

Page 21: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Video Condition (Vc)

"" eesplulsionv, findframeXXinsum

Il motore che mette in esecuzione i predicati sono le regole di sommario (V )

frame X da restituire

funzione video-call che cerca una o più espulsioni nel video v

corpo della regola

insum(X) : predicato unario (detto anche testa della regola) che restituisce true o false se si è o non si è associato ad X uno o più frame

Vc

Page 22: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

k-summary

Frame contenente un passaggioin cui è coinvolto il giocatore Tottisolo se quest’ultimo è presente inun frame già consideratointeressante [ insum(X) ]

Xinsum

Xvfindobj

Zvfindobj

ZvfindactZinsum

YvfindactYinsum

Xvfindobj

XvfindactXinsum

,Totti""

,"Totti"

,"a passaggio"

,"necelebrazio"

,"capitano"

,"goal"

Frame contenente un’azione

digoal in cui partecipa il

capitanoFrame con celebrazione del goal

I frame restituiti sono inseriti nell’insieme dei frame reputati interessanti: Der (V ).

X {f1,f2,f3,f4,f7}

Y {f1,f5,f6,f9}

Z {f1,f2}

VDerS La scelta dei migliori frame costituirà il k-summary

Es:S = {f1,f6,f9}

Page 23: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Continuità

Rendere più attrattivo il sommario Aumentare l’informazione comunicata

Si restituiscono tutti i F.I. Y nell’intervallo [X-i,X+i] dove X èil frame centrale dell’azione

XinsumiYXnearYinsum ,,

VS

Introduciamo tra le regole di sommario anche la seguente

Page 24: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Priorità & non-Ripetizione

Si attribuiscono ai frames canditati per il k-summary delle priorità singole e di gruppo (frame set)

pri( f1 ) = 0.6 pri( {f1,f2} ) = score[0,1]

Usando la funzione pri possiamo imporre score bassi per frame set contenenti

frames simili.Similarità valutata attraverso funzioni di distanza (color histograms)applicate ai frames o al loro contenuto: oggetti ed azioni.

Fare vedere nel sommario più azioni di presunto fallo in area è poco interessante

f2f1

Migliorare la qualità del sommario

Page 25: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

CAPITOLO 3

Algoritmi

Page 26: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

3. Quindi calcolo tutti i possibili sommari di lunghezza k partendo dall’insieme Der(V)

4. Tramite la funzione eval() calcoliamo il migliore

1. Dato il dominio delle regole V otteniamo N frames interessanti che vanno a formare l’insieme Der(V)

2. Il sommario ottimo deve avere al massimo k frames con k ≤ N

CPR ottimo - sommario ottimale (1)

VDerS NDer V

!kN!k!N

possibili sommari

Page 27: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

CPR ottimo - sommario ottimale (2)

5. Risultato migliore in termini di Continuità, Priorità, non-Ripetizione

6. Pesi α, β, γ sono decisi dall’utente in base alle sue esigenze

calcoliamo eval(S) = α·C(S) + β·P(S) – γ·R(S) V' DerS scegliendo il k-summary S tale che eval(S) > eval(S’ )

Riconducibile alla computazione di un knapsack problem

Page 28: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

• SEA (Summary Extension Algorithm)

• CPR genetic programming

• CPR dynamic

Come ottenere sommari video

Permettono di dare un peso alle tre specifiche del modello CPR (continuità, priorità, ripetitività ) (continuità, priorità, ripetitività )

Page 29: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Per ogni regola Vc peso Wi normalizzato tra [0, 1]

0.3

0.7Corpo della regola

Sommario Video

Frame Coverage Pair (FCP) è (f,p)

V

Definiamo il dominio delle regole V

Indica il grado di soddisfazione in forma normalizzata [0,1] della video condizione (Vc)

FCPFCPFCP

Frame i

Pi

Calcoliamo Pi nel caso della regola …

2/3(0.67)

Insum(X)

Insum(Y)

Page 30: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

0.3

0.7

0.7

0.3 0.3

Sommario video - esempio

0.3

1.0

1 Avendo calcolato per ogni FCP il valore del grado di soddisfacibilità per la regola i

2 Viene scelto FCP che massimizza le condizioni fra tutti gli FCP della regola i e viene moltiplicato per il peso della regola

0.7

3 Tra tutti i FCP max delle rispettive regole vengono presi quello che ha il valore massimo

0.3

Si osservi che il procedimento deve avvenire iterativamente per tutte le regole in V e per tutti i frames che soddisfano V anche parzialmente

In questo caso avremo il ValidSummaryExtensionRegola 1

Regola 2

Page 31: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Sia Vcurrent variabile che descrive la migliore soluzione fino al corrente istante

V è un sommario video con specifico contenutok è la lunghezza del sommario desiderato

• Basato sulla programmazione dinamica metodo iterativo

1. Verifica ad ogni passo di iterazione se rimpiazzare un frame contenuto in Vcurrent con un nuovo frame considerandolo un buon sommario

• Un sommario è considerato solo se ha esattamente k frame

• La funzione di valutazione dei frames Eval() è monotona

Procedure CPRdyn(V,k)

CPR Dynamic - (Alcuni cenni)

Page 32: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

• Usa un approccio basato sulla programmazione genetica nel calcolare un Sommario video

1. Operatore EVAL() valuta la bontà del membro della popolazione(insieme dei frame)

2. Operatore MUTATION() : elimina i membri dalla popolazione del punto 1

1. Crea un sommario con numero casuali di frame e

imposta il valore secondo la funzione Eval()Eval()

2. Applico operatore Mutation()Mutation() ad un numero casuale di membri della popolazione del sommario.

3. Condizione di stop quando la variazione della funzione eval() della popolazione ≤ valore di soglia α stabilito

4. Itero il procedimento per N volteN volte

Procedure CPRGen(V,k,N, α)

CPR Genetic - (Alcuni cenni)

assenza 0

sommario nel i frame del presenza 1 binaria var f frame i

3.

Page 33: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

SEA

CPR Genetic

CPR Dynamic

GlossarioN numero iterazioni

K lunghezza sommario

Lenv lunghezza video

a numero max di letterali (atomi) appartenenti al dominio delle regole V

Analisi Complessità

Spazio Tempo

O (num frame)

O ((Len v)² / K²) * N²)

O ( exp(k) )

Len v *card(V)*card(K)ª

O ((Len v)² / K)

O (a)

In ultimo CPR ottimo ha complessità Exp in Lenv

Page 34: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Benchmark (1)

Per valutare la bontà di ogni algoritmo si sono utilizzati: 50 video di calcio

@ 30fps 640x480, Durata 90 ÷ 120 minuti (circa 16200 frames)

Hardware: 1 Pentium 3 @ 800 MHz 128 MB di SDRAM

Risultato: 40 blocchi per ogni video Si sono creati sommari di 2,4,6 minuti

Valutazione: 200 studenti (tutti tifosi)

Page 35: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Benchmark (2)

Summary Quality Comparison

01020304050607080

2 4 6

Summary duration (minutes)

User

pre

fere

nce

(%)

Sea

CPRgen

CPRdyn

Quale algoritmo dà i risultati migliori ?

Page 36: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Benchmark (3)

Quanto impiegano gli algoritmi a creare il sommario ?

Algorithm's Performance

205021002150220022502300235024002450

4 11 16 24 28 37 42 49 58 64 67 75

Number of frames

Tim

e(m

sec) SEA

CPRgen

CPRdyn

Page 37: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Conclusioni

Come si può vedere dai grafici il SEA è l’algoritmo che offre i migliori risultati sia in termini di qualità del sommario prodotto sia in termini di tempo impiegato.

Il CPR è il primo modello per creare sommari di video basato sulla semantica.

Page 38: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

Bibliografia

[1] The CPR Model For Summarizing Video: M. Fayzullin, V.S.Subrahmanian,A. Picariello, M.L. Sapino

[2] Searching Multimedia Databases Searching: P.Ciaccia [3] Image Databases: P.Ciaccia [4] Multimedia Databases Indexing: P.Ciaccia [5] Progettazione, implementazione e sperimentazione di un

ambiente per la video summarization:D'Onofrio Salvatore [6] Action description (and eventual recognition):

http://www.cfar.umd.edu/ [7] The First ACM International Workshop on Multimedia

Databases (MMDB 2003) at ACM CIKM 2003: Shu-Ching Chen, Mei-Ling Shyu

Page 39: CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland {fms,vs} @cs.umd.edu.

THE END