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

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Equazioni e calcoli chimici
Algoritmi e Strutture Dati
IlTrovatore S.p.a. IlTrovatore RemoteSearch IlTrovatore mette a disposizione di portali Internet, piccole e medie imprese, tutto il suo know-how nel settore.
Estendere i linguaggi: i tipi di dato astratti
Linguaggi di programmazione
CONOSCIAMO IL WINDOWS '95.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
4 – Progettazione – Introduzione e Modello E-R
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Analisi delle Decisioni Funzioni di utilita’ e lotterie
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Lezione 2 Chiara Mocenni Corso di laurea L1.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
RISPARMIO, ACCUMULAZIONE DI CAPITALE E PRODUZIONE
La Programmazione Lineare
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Apprendimento Non Supervisionato
Computational Learning Theory and PAC learning
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
PROGETTI DI SISTEMI INFORMATIVI DIREZIONALI
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Algoritmi e Strutture Dati (Mod. B)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Physically-based Animations of 3D Biped Characters with Genetic Algorithms Università di Roma La Sapienza Relatore: Prof. Marco Schaerf Correlatore: Ing.
Studente Claudia Puzzo
Heap allocation e garbage collector di Oberon Algoritmo Quick Fit e garbage collector mark and sweep.
Analisi dei gruppi – Cluster Analisys
Semantica per formule di un linguaggio proposizionale p.9 della dispensa.
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Progettazione di una base di dati
Obiettivi Conoscere strumento Analisi di un progetto
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
Algoritmi Genetici Alessandro Bollini
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Elementi di Informatica
1 Workshop Conclusione Azione Formativa Torino 11 Maggio 2011 Organizzazione dellazione formativa - Il percorso formativo - il calendario - Aspetti organizzativi.
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
QUESTO TUTOR COSTITUISCE UNA BREVE GUIDA PER RENDERE PIU' FACILI, VELOCI ED EFFICACI LE VOSTRE RICERCHE BIBLIOGRAFICHE E LA CONSULTAZIONE DEL CATALOGO.
Elementi di Informatica di base
Strutture dati per insiemi disgiunti
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
COMUNICAZIONE ONLINE, RETI E VIRTUALITA MATTEO CRISTANI.
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
Informatica e Algoritmi
Introduzione a Javascript
La ricorsione.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Gestione del processore (Scheduler)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
Esecuzione di un Programma [P] Una computazione corrisponde al tentativo di dimostrare, tramite la regola di risoluzione, che una formula (goal) segue.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Algoritmi.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
Allineamento di sequenze
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Complessità Computazionale
Progetto AMBIT: Ottimizzazione e Valutazione Sperimentale del Motore di Ricerca Semantico Basato sul Contesto Università degli studi di Modena e Reggio.
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
Esponenziali e Logaritmi
Transcript della presentazione:

CPR Model for Summarazing Video Gattamorta Mirko Meneghello Andrea Vergari Gino M. Fayzullin, V.S. Subrahmanian University of Maryland A. Picariello Università di Napoli M.L. Sapino Università di Torino

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.

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 dellarte Data la veloce crescita della tecnologia audio-video, laumento della quantità di contenuto multimediale disponibile in rete è enorme. Gli utenti affrontano una nuova sfida: Come esaminare velocemente grandi quantità di contenuto multimediale

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

Sommario 1.Introduzione 2.Modello formale 3.Algoritmi 1. Benchmark 2. Conclusioni

CAPITOLO 1 Introduzione

Reperire le parti più interessanti di un video Es: partita di calcio Goal, falli gravi, azioni spettacolari… Non considerare azioni ripetitive, passaggi, sostituzioni…

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

Scenari di applicazione (2) CPR Model Sommario Goal Azioni Video store Accounting

Video: cosa analizzare (1) Video : Es: 15 fps, 1 hour = 60 x 60 x15 = 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

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

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

Continuity (del sommario): Il sommario deve essere continuo e non presentare salti. Es rigore: oltre al goal deve esserci frame dellistante 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

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 lattaccante che si appresta a tirare è più importante del portiere che rimette da fondo campo. Evento più importante

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, levento è 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

Riassumendo 1. Selezioniamo da un video, in modo totalmente automatico tutti i keyframes. 2. Eseguiamo unanalisi con regole per determinare i frames interessanti per il contesto. 3. Tramite una funzione obbiettivo decidiamo quali inserire nel sommario finale.

CAPITOLO 2 Modello Formale

Modellazione del sommario len v = Goal 21 del 1°T Rigore 8 del 2°T Assist 44 del 2°T... 1 … K … 3 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

Selezione dei frame (1) I frame sono analizzati e individuati per contenuti da API del DB multimediale chiamate video-call: findframe(v,X) individua i frame che contengo lazione o loggetto 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)...

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 loutput della video-call invocata X = X = celebrazione

Video Condition (Vc) 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

k-summary Frame contenente un passaggio in cui è coinvolto il giocatore Totti solo se questultimo è presente in un frame già considerato interessante [ insum(X) ] Frame contenente unazione di goal in cui partecipa il capitano Frame con celebrazione del goal I frame restituiti sono inseriti nellinsieme dei frame reputati interessanti: Der (V ). X{f 1,f 2,f 3,f 4,f 7 } Y{f 1,f 5,f 6,f 9 } Z{f 1,f 2 } La scelta dei migliori frame costituirà il k-summary Es:S = {f 1,f 6,f 9 }

Continuità Rendere più attrattivo il sommario Aumentare linformazione comunicata Si restituiscono tutti i F.I. Y nellintervallo [X-i,X+i] dove X è il frame centrale dellazione VS Introduciamo tra le regole di sommario anche la seguente

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

CAPITOLO 3 Algoritmi

3.Quindi calcolo tutti i possibili sommari di lunghezza k partendo dallinsieme 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 linsieme Der(V) 2.Il sommario ottimo deve avere al massimo k frames con k N CPR ottimo - sommario ottimale (1) possibili sommari …

CPR ottimo - sommario ottimale (2) 5.Risultato migliore in termini di Continuità, Priorità, non-Ripetizione 6.Pesi α, β, γ sono decisi dallutente in base alle sue esigenze calcoliamo eval(S) = α·C(S) + β·P(S) – γ·R(S) scegliendo il k-summary S tale che eval(S) > eval(S ) Riconducibile alla computazione di un knapsack problem …

SEA (Summary Extension Algorithm) CPR genetic programming CPR dynamic Come ottenere sommari video (continuità, priorità, ripetitività ) Permettono di dare un peso alle tre specifiche del modello CPR (continuità, priorità, ripetitività )

Per ogni regola Vc peso Wi normalizzato tra [0, 1] Corpo 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) FCP Frame iPi Calcoliamo Pi nel caso della regola … 2/3 (0.67) Insum(X) Insum(Y)

Sommario video - esempio 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 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 ValidSummaryExtension Regola 1 Regola 2

Sia V current variabile che descrive la migliore soluzione fino al corrente istante V è un sommario video con specifico contenuto k è la lunghezza del sommario desiderato Basato sulla programmazione dinamica metodo iterativo 1.Verifica ad ogni passo di iterazione se rimpiazzare un frame contenuto in V current 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)

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 Eval() 1.Crea un sommario con numero casuali di frame e imposta il valore secondo la funzione Eval() Mutation() 2.Applico operatore 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 N volte 4.Itero il procedimento per N volte Procedure CPRGen(V,k,N, α) CPR Genetic - (Alcuni cenni) 3.

SEA CPR Genetic CPR Dynamic Glossario N numero iterazioni K lunghezza sommario Len v 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 Len v

Benchmark (1) Per valutare la bontà di ogni algoritmo si sono utilizzati: 50 video di 30fps 640x480, Durata 90 ÷ 120 minuti (circa frames) Hardware: 1 Pentium 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)

Benchmark (2) Quale algoritmo dà i risultati migliori ?

Benchmark (3) Quanto impiegano gli algoritmi a creare il sommario ?

Conclusioni Come si può vedere dai grafici il SEA è lalgoritmo 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.

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): [7] The First ACM International Workshop on Multimedia Databases (MMDB 2003) at ACM CIKM 2003: Shu-Ching Chen, Mei-Ling Shyu

THE END