F.O.V.R.A. Face Object Voice Recognition Access

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "F.O.V.R.A. Face Object Voice Recognition Access"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Tesi di Laurea Specialistica F.O.V.R.A. Face Object Voice Recognition Access Software per l accesso a sistemi informatici con riconoscimento multimodale Relatore prof. Marco Maggini Correlatore: dott. Francesco Ulivi dott. Cesare Bertoni dott. Carlo Bardi Candidato Nicola Tondi Maggio 2014

2

3 Dedicata alla mia famiglia

4

5 Indice 1 Introduzione Metodi di verifica ed identificazione Riconoscere un utente Riconoscimento biometrico Riconoscimento tramite comportamenti Uno sguardo al futuro Problemi di privacy? Sicurezza multimodale Obiettivo del lavoro Riconoscimento vocale Estrazione features audio Campionamento e pre-enfasi Overlap e windowing FFT e filtri Coefficienti mfcc e lifter Addestramento di un modello Hidden Markov Model Algoritmo di Baum-Welch Riconoscimento della classe Riconoscimento visuale Estrazione dei contorni di un volto Algoritmo di Viola-Jones Pre-processing features viso Riconoscimento tramite eigenfaces Fisherfaces Riconoscimento di oggetti qualsiasi Speeded up robust feature Riconoscimento numeri carta di credito Informazioni di una tessera da una videocamera v

6 4 Software FOVRA e Test Cosa è FOVRA Come funziona? Registrazione nuovo utente Verifica Esperimento Risultati test Conclusioni Bibliografia 67 vi

7 Capitolo 1 Introduzione L espansione a livello privato di apparecchi portatili come smartphone e tablet connessi costantemente alla rete, ha reso il sistema informatico sempre più sotto attacco, con violazioni continue ad account o servizi privati personali (bancari, clouds, siti web, forum, social network,...). Fino ad oggi per connettersi ad un sistema informatico, il metodo sicuramente più utilizzato è stato quello della password. Purtroppo la voglia di voler accedere per qualsiasi motivo ovunque e velocemente al nostro account, la pigrizia di taluni nel rafforzare password in modo costante o l utilizzo di parole chiave semplici e correlate in modo ovvio alla nostra vita, ha fatto diventare questo metodo superato o quantomeno migliorabile. È possibile infatti affiancare alla password metodi di rinforzo, per creare processi di verifica dell utente o sostituire di netto password per avere un diretto procedimento di identificazione. Diverse compagnie del settore IT sono dell avviso che entro il 2016 più del 30% delle organizzazioni utilizzerà metodi biometrici di qualche tipo. Guardando al futuro ci si interroga di quali possono essere i nuovi metodi che si affacciano in ambito di sicurezza, ponendo come obiettivo ultimo la possibilità in un futuro remoto di identificare in modo istantaneo un soggetto tramite DNA. 1

8 1 Introduzione 1.1 Metodi di verifica ed identificazione Tra i metodi maggiormente in voga, soprattutto in questo periodo sono senza dubbio quelli biometrici. Si narra che l uso di tale metodica risalga alla fine dell ottocento, quando Alphonse Bertillon [1] catalogò varie caratteristiche fisiche dei detenuti del carcere parigino, creando uno dei primi database di criminali in ambito scientifico forense. Il metodo però risultò troppo impreciso e di difficile applicazione, e venne perciò sostituito con una delle misurazioni biometriche più usate ai giorni nostri, l impronta digitale [2]. Oggi questo sistema offre un altissima attendibilità, giacché compagnie del calibro di Apple e Samsung hanno inserito tale tecnologia nei loro ultimissimi smartphone. Prima di parlare di altri metodi usati e soprattutto di quelli implementati nel corso di questa tesi, voglio distinguere gli usi di questi mezzi: verifica : quando il sistema preleva l identità di un utente e la confronta con il suo corrispettivo template contenuto in memoria. identificazione : il sistema in questo caso cattura tutti i dati relativi all utente richiesti e le confronta con l intero database di soggetti. Viene da se che la fase di verifica di un sistema dopo per esempio un login garantisce maggiore robustezza al sistema, andando ad ampliare enormemente la sicurezza contro gli accessi non autorizzati, viceversa il sistema risulterà lento nei casi in cui abbiamo bisogno di accessi frequenti. In questo caso si può adottare un livello che esclude il login classico optando per un accesso identificativo, ma il rischio di accessi non autorizzati è sempre dietro l angolo. 1.2 Riconoscere un utente Quando si vuole accedere ad un area privata o protetta in qualche modo, è importante che solo chi effettivamente ha diritto a quel servizio o che ne abbia la proprietà, possa effettivamente usufruirne, non solo quando si prova ad entrare all interno di un sistema informatico, ma anche solo per aprire una porta con accesso ristretto o aree con livello superiore di attenzione, tipo banche e caveau. Cercheremo in particolare di fare chiarezza sui metodi maggiormente utilizzati per fare recognition 2

9 1.2 Riconoscere un utente Figura 1.1: Scheda per catalogare misure fisiche di Alphonse Bertillon Riconoscimento biometrico Prende spunto da parametri specifici di cui, appunto, ogni persona è caratterizzata. Il sistema non fa altro che estrarre delle features ossia caratteristiche osservabili in qualche modo da un individuo, per poi andarle a ripescare all interno di una base di dati nel momento in cui si chiede l autenticazione. Se i parametri vengono riconosciuti il programma da accesso, altrimenti rifiuta. Naturalmente questi valori devono rispecchiare diversi criteri: universalità, ogni soggetto deve possedere tale peculiarità; unicità, due individui non possono avere lo stesso valore di una certa caratteristica; misurabilità, cioè deve essere come dice la parola stessa misurabile quantitativamente; fissa, non deve cambiare con il tempo. Durante i test di un riconoscimento vengono vagliati due dati in particolare, il FAR (False Acceptance Rate) e il FRR (False Rejection Rate). Il primo rappresenta le persone accettate per errore che non avrebbero le credenziali per l accesso, il secondo invece, gli utenti che non vengono riconosciuti ma che hanno l autorizzazione per entrare. L unione di questi valori stabilisce l EER (Equal Error Rate) vedi Figura 1.2, valore che ci 3

10 1 Introduzione permette di regolare la sensibilità del nostro riconoscitore, utile quando è richiesta maggiore o minore rigidità. Figura 1.2: EER, parametro per equilibrare la fase dei falsi rigetti e falsi accessi Tra i modi di identificazione più usati abbiamo: Riconoscimento del viso Riconoscimento della voce Riconoscimento dell iride Riconoscimento dell impronta digitale Riconoscimento della geometria della mano Esiste comunque un ulteriore suddivisione che deve essere affrontata all interno di questi metodi largamente conosciuti e di indubbia efficacia, ossia l uso dei dispositivi che vengono usati per rilevare i dati di input. Dispositivi (risoluzione camera, attenuazione dei rumori del microfono,...) più o meno adeguati possono fare la differenza tra una percentuale di accuratezza ottima ed una mediocre. 4

11 1.2 Riconoscere un utente Riconoscimento tramite comportamenti Oltre a dei parametri biometrici classici possiamo avvalerci di comportamenti ovvero modi di fare che hanno contraddistinto la nostra vita o abilità che abbiamo imparato. Sono esempi: La nostra firma Movimenti del corpo Velocità con cui scriviamo Timbro della voce Dobbiamo comunque prestare attenzione perché, mentre le caratteristiche biologiche standard cambiano di poco o nulla durante la nostra esistenza, a meno di eventi eccezionali, i comportamenti possono essere influenzati da stati psicologici o di salute, che ci portano per esempio a non poter più scrivere con la stessa velocità o pronunciare una parola allo stesso modo Uno sguardo al futuro Cosa ci si aspetta in futuro? indubbiamente come abbiamo già detto, tutti questi metodi diventeranno sempre più usati, raggiungendo anche un miglior grado di attendibilità. Si stanno comunque sviluppando nuovi strumenti per riconoscere una persona o per far accedere a sistemi in modo più sicuro. In figura 1.3 vengono riassunti alcuni di questi, c è Nymi [3] (figura 1.3a), un dispositivo che riconosce il nostro battito cardiaco (si dice che vari da persona a persona, basta vedere il lavoro svolto sulle aritmie [4]), in figura 1.3d mostra come da una semplice camminata, possiamo ricavare informazioni personali come la frequenza dei passi, il baricentro o altro, per accedere a dispositivi mobili e non, in figura 1.3b la conformazione dell orecchio come feature visto in sistema basato su neural networks [5], forse il più avveniristico e affascinante metodo (firura 1.3e), ossia l identificazione tramite DNA, nel momento in cui potremo avere accesso, usando solo un dito o addirittura tramite l aura che 5

12 1 Introduzione emaniamo (aura a mio avviso intesa come evaporazione di acqua del nostro corpo che trasporta anche parte del DNA) e rilevarne in tempo reale l appartenenza, potremmo q quel punto dire di aver trovato il miglior sistema in assoluto, per ultimo il Typing speed (non cosi attendibile figura 1.3c, si può usare su rilevazioni passive dell utente). Tra le molte socetà recentemente acquisite da Google vi è la slicklogin [6], la quale ha sviluppato un sistema in cui basta posizionare gli altoparlanti vicino ad un microfono e tramite una sequenza sonora creata adhoc non udibile all orecchio umano è possibile loggarsi in completa sicurezza. (a) Nymi (b) Conformazione orecchio (c) Velocità di battitura (d) Frequenza della camminata (e) Riconoscimento del DNA Figura 1.3: Altri metodi ad accesso biometrico Problemi di privacy? Non tutto è rose e fiori come si usa dire, esistono comunque problemi relativi alla memorizzazione di parametri all interno di database, c è sempre il rischio di non sapere di preciso chi e come utilizzerà i dati. Dal Giappone [7] giungono le prime proteste 6

13 1.3 Sicurezza multimodale relative ad una catena di supermercati che ha dotato i propri negozi di riconoscimento facciale, in grado di verificare se un utente in passato si era reso responsabile di taccheggio; inoltre all interno della stazione di Osaka è partita la sperimentazione per la creazione di un database in larga scala di volti, la cui applicazione è chiara visto che conosciamo tutti l attenzione dei giapponesi per i luoghi affollati soprattutto dopo gli eventi del 1995 [8]. Sicurezza e privacy potrebbero essere un problema da affrontare nei prossimi anni, ma conviene a mio avviso posizionare le due cose sopra ad una bilancia e verificare quale delle due abbia una maggiore importanza (problema relativo ai governi a meno di una direttiva mondiale al riguardo). La privacy comunque esula dai scopi di questa tesi che si occupa solamente della creazione di un software in grado di acquisire parametri utili per accedere in modo alternativo a sistemi informatici. 1.3 Sicurezza multimodale Come discusso può essere di enorme efficacia affiancare in serie metodi che permettono un efficacia di sicurezza maggiore da parte di un sistema che si occupa di accessi per sistemi contenenti dati sensibili. Possiamo osservare come da uno studio [9] (figura 1.4), è stato rilevato come la somma di più metodi offra una garanzia che cresce molto più che linearmente, riducendo praticamente a zero il numero degli impostori. Data la garanzia di che offrono i modelli multimodali a confronto con quelli unimodali, risulta solo questione di tempo prima che vengano introdotti con una certa frequenza nel modali di tutti i giorni, lo stesso riconoscimento facciale potrebbe a quel punto dividersi in sotto problemi come, il riconoscimento della morfologia dell orecchio, la scansione dell iride e timbro vocale. 1.4 Obiettivo del lavoro Dopo questa breve introduzione, entriamo nel dettaglio del lavoro che è stato intrapreso all interno di questa tesi. Come mostra la Figura 1.4 il progetto prevede lo sviluppo di un software per accedere ad una qualsiasi area protetta, che va da una 7

14 1 Introduzione Figura 1.4: tratto da [9] indica l aumento con uso di sistemi multimodali semplice porta ad un sistema informatico critico. L idea quella di dare la possibilità all utente di poter scegliere tra più sistemi di sicurezza, utilizzando un sistema di sicurezza multimodale [9]. Il software è capace di rilevare l utente tramite: Riconoscimento facciale Riconoscimento sonoro tramite parola d ordine Rilevazione di un oggetto particolare usato come chiave di accesso Accesso tramite numero della propria carta bancomat Come sappiano i sistemi biometrici garantiscono un enorme grado di sicurezza anche contro la contraffazione e il furto di credenziali, nei casi in cui si deve essere estremamente certi che i dati personali o l accesso ad aree private non vengano violate in nessun modo ed i tradizionali metodi di accesso non bastano. Essi rendono possibile aumentare ancora di più la percentuale che ci garantisce l ingresso esclusivo, affiancando serialmente n metodi biometrici o altri modi alternativi. Grazie alla collaborazione con il gruppo MPS (Monte dei Paschi di Siena), ho realizzato un applicazione che ho chiamato FOVRA [10] (Face Object Voice Recognition 8

15 1.4 Obiettivo del lavoro Figura 1.5: Schema generale del progetto FOVRA Access), con cui, dopo una prima fase di registrazione in cui lutente lascia che lapplicazione rilevi determinati parametri, è possibile accedere facendosi riconoscere o verificando la propria identità o direttamente facendosi identificare dal sistema. 9

16

17 Capitolo 2 Riconoscimento vocale Cominciamo con spiegare le varie parti che compongono il software FOVRA partendo dal modulo che si occupa del riconoscimento vocale. Si parte catturando una traccia audio di una lunghezza variabile tramite microfono; il segnale viene elaborato con passaggi che verranno illustrati di seguito, in modo che alla fine venga rappresentato con coefficienti MFCCs [11]; a questo punto le sequenze di vettori ottenuti sono date in ingresso ad un modello di Markov nascosto [12] opportunamente configurato ed addestrato, che in un secondo momento sarà in grado di riconoscere la parola che è stata pronunciata. Quindi precisamente questa sezione riguarda il riconoscimento del parlatore tramite una frase o parola chiave. 2.1 Estrazione features audio Come rappresentazione della nostra traccia audio ho deciso di usare la rappresentazione in coefficienti MFCC (Mel-frequency cepstral coefficients). La procedura di elaborazione per giungere a tali valori è lunga e conta vari passaggi, inoltre non esiste un metodo preciso ma può variare da caso a caso (esistono procedure che riescono a ridurre la computazione totale a scapito di precisione oppure è possibile aggiungere altre elementi che rafforzano l informazione). È utile registrare in aree non troppo soggette a rumore di fondo e la qualità del dispositivo che si occupa della cattura 11

18 2 Riconoscimento vocale risulta di grande rilevanza se non vogliamo poi trovarci enormi discrepanze all interno dei nostri dati. È logico come il segnale audio trasporti tantissima informazione al suo interno (come le caratteristiche fisiologiche che determinano ogni individuo utili sopratutto in speaker recognition [13]) ma di solito solo una piccola porzione di questa viene usata per l analisi. Cercheremo di eliminare l informazione superflua e di concentrarci essenzialmente su quella che ci interessa. L intero processo di estrazione è ricapitolato in figura 2.1. Per chiarire meglio il concetto sarà effettuato un esempio utilizzando due parole: pomodoro e peperone. Figura 2.1: Procedura estrazione MFCCs Campionamento e pre-enfasi Una volta registrata la parola all interno di una sessione, assumiamo una frequenza di campionamento pari a 8Khz con canale mono, questo vuol dire che ogni secondo avremo 8000 campioni. Dato x(t) il nostro segnale ho x[n] = x(nt c), ottenendo un nel caso di una registrazione lunga 3 secondi esattamente campioni, ben rappresentati in figura 2.2. Guardando i nostri segnali notiamo che gran parte di essi, sono formati da rumore di fondo o addirittura nessun suono. Quello che faremo sarà tagliare la parte che non ci serve cioè lasciare solo la frase o la parola pronunciata. Senza usare sistemi di VAD (Voice activity detection [14]) complicati, ho usato un metodo molto semplice ma efficace per il mio scopo. Si prende il segnale x[n] e si 12

19 2.1 Estrazione features audio (a) Pomodoro (b) Peperone Figura 2.2: segnale audio campionato di due diverse parole applica il valore assoluto in modo da avere tutti campioni positivi x[n] ; si divide il segnale in frame da 200 campioni, nel nostro esempio avremo 120 frames; a questo punto sommiamo ogni singolo campione per ogni frame e definiamo che se risulta inferiore ad un valore soglia il frame viene escluso, producendo solo i frames che serviranno per l analisi. 200 i=1 x[i] < valore soglia (2.1) Una volta estratta la nostro vettore parola passiamo alla fase di pre-enfasi che (a) valore assoluto (b) risultato cutting Figura 2.3: Risultato dell eliminazione del silenzio e rumore non è altro che il passaggio dentro un filtro passa alto, consideriamo s(n) l uscita del nostro filtro avremo s(n) = x(n) ax(n 1) (2.2) 13

20 2 Riconoscimento vocale dove x(n) naturalmente è il nostro vettore parola mentre a rappresenta un valore compreso tra 0.9 e 1.0 (ho usato un valore di 0.97). Questa fase ci permette di compensare la parte di alta frequenza che è stata soppressa durante il meccanismo di produzione del suono delle corde vocali umane e può amplificare l importanza di determinate alte frequenze, oltre ad attenuare le distorsioni Overlap e windowing Il vettore in questa fase dovrà essere diviso in frame composti da 200 campioni, perchè in questo modo avremo una lunghezza di 25ms (tra i ms è un valore per non perdere nè dare troppa importanza all informazione racchiusa in un frame). Poi si effettua un overlap del 40%, visto che il passo successivo sarà quello di passare i campioni in una finestra di Hamming, la quale elimina informazione all inizio ed alla fine di ogni frame, che in seguito proprio grazie all overlapping potrà essere ripristinata. Veniamo adesso alla finestratura, che è eseguita per evitare discontinuità irregolari nel segmento del parlato e avere distorsioni nello spettro. Come detto l effetto è quello di attenuare gradualmente l ampiezza delle due estremità evitando bruschi cambiamenti. Inoltre prepara i dati per la convoluzione con la trasformata di Fourier tra la funzione finestra e lo spettro vocale. La funzione finestra più usata in speech recognition è quella di Hamming (figura 2.3 [15]), perchè il suo spettro cade abbastanza rapidamente, consentendo un miglior isolamento anche se le sue armoniche superiori rimangono piuttosto piatte e coprono gran parte dello spettro. La funzione è definita come segue con 1 < n < N N = 200 ( ) 2πn H(n) = cos N 1 (2.3) Ci troviamo adesso con una matrice 200 righe e colonne (frames) di numero variabile dipendente dalla lunghezza della frase o parola pronunciata (nell esempio proposto Peperone 200x72, ma se non avessimo applicato l eliminazione del silenzio sarebbe stata una matrice 200x298). 14

21 2.1 Estrazione features audio Figura 2.4: Funzione finestra di Hamming FFT e filtri Il passo successivo è quello di applicare la trasformata di Fourier discreta ai nostri dati frammentati, più precisamente applichiamo la versione dell algoritmo FFT (Fast Fourier transform [16]). Prima di vedere meglio il perchè conviene usare questa versione, parliamo del motivo di passare in frequenza. L analisi spettrale ci mostra che ad ogni differente timbro vocale corrisponde una distribuzione differente di energia in frequenza, come abbiamo detto nel paragrafo precedente, per simulare l uso di un segnale periodico (che non verificato vista la discontinuità tra frame e frame) si usa la funzione di Hamming che garantisce armoniche molto più smussate e risposte in frequenza più chiare (quello che ci interessa comunque è lo sviluppo in frequenza). L utilizzo di FFT riduce il numero di operazioni aritmetiche da O(N 2 ) a O(N log 2 (N)), ci sono poi anche delle versioni più recenti che abbassano ancora di più la complessità. In pratica viene usato il metodo del divide et impera, presi N punti di FFT e divisi in 2 x N 2 sotto insiemi. X k = N 1 n=0 15 x n e i 2π N nk (2.4)

22 2 Riconoscimento vocale Possiamo riscrivere X k come: X k = = N 2 1 N 2 1 x 2n e i 2π N 2nk + x 2n+1 e i 2π N (2n+1)k n=0 } {{ } P ARI N 2 1 n=0 } {{ } DISP ARI x 2n e i 2π N2 nk + e i 2π N k x 2n+1 e i 2π N2 nk = n=0 N 2 1 n=0 (2.5) = P k + e i 2π N k D k 0 k N 2 L ultimo passaggio oltre che alla periodicità della trasformata, è reso possibile anche al fatto di poter ulteriormente dividere il problema in trasformata discreta del seno e trasformata discreta del coseno, dato che abbiamo a che fare sempre con dati reali (immaginari sempre uguali a 0) possiamo tranquillamente prendere solo metà dei dati visto che il coseno è pari (figura 2.5a), vengono usati il modulo del risultato, e la fase non è stata prese in considerazione. Adesso vengono moltiplicati i moduli (a) Trasformata di Fourier 2 8 (b) Filtri triangolari Mel (c) spettro della parola Peperone (d) spettro della parola Pomodoro Figura 2.5: Parità trasformata coseno, filtro e spettro di due parole della risposta in frequenza per 22 filtri triangolari passa banda (figura 2.5b), opportunamente spaziati tenendo conto della frequenza di Mel [17], che ci permette di creare una maggiore corrispondenza tra l informazione contenuta nel segnale e come 16

23 2.1 Estrazione features audio l orecchio umano percepisce determinati suoni. Per questo prendiamo in considerazione solo segnali vocale tra Hz. La trasformazione si rende possibile tramite la funzione : ( Mel f = 1127 log e 1 + f ) 700 (2.6) che trasforma la scala di applicazione dei nostri filtri da normale a scala logaritmica Mel. L uso è dovuto al fatto che applicando i filtri riesco a ridurre la dimensione delle features, inoltre l uso garantisce che il sistema che fa uso di riconoscimento vocale si comporterà all incirca nello stesso modo quando in ingresso avremo stessi toni ma non timbri differenti. I filtri sono costruiti in questo modo con M numero di filtri utilizzati: 0 se k < f(m 1) k f(m 1) se f(m 1) k f(m) f(m) f(m 1) H m (k) = f(m+1) k se f(m) k f(m + 1) f(m+1) f(m) 0 se k > f(m + 1) (2.7) Eravamo rimasti prima della FFT ad una matrice grande 200x72 nel caso della parola peperone usata come esempio, dopo il passaggio in frequenza scendiamo a 128x72 (256 che grazie alla parità del coseno diventano 128), per poi con l uso dei filtri triangolari una matrice 22x72, vediamo infatti in figura 2.5(c e b) degli esempi. Inoltriamoci adesso nei passaggi finali che produrranno i nostri dati che finalmente potremmo usare come features Coefficienti mfcc e lifter Dalla matrice ricavata dopo la procedura del filterbank, siamo in grado di ridurre ulteriormente applicando una DCT (discrete cosine transform). Scegliamo innanzitutto di creare 13 MFCCs (matrice 13x72), dalla formula dove N è il numero dei filtri usati in precedenza ed i il coefficiente Mfcc [18]: 17

24 2 Riconoscimento vocale c i = 2 N N j=1 ( ) πi m j cos (j 0.5) N (2.8) Nella figura 2.6 si può vedere una rappresentazione della matrice mfcc creata dalla parola peperone. La rappresentazione cepstral dello spettro del parlato ci da una buona rappresentazione della locale proprietà dello spettro del segnale per i frame analizzati. La DCT ci permette di invertire il processo di conversione tornando nel dominio del tempo, con il risultato di avere 13 valori reali che rappresentano una compressione dell informazione di un frame partito dalla dimensione di 200 campioni. Figura 2.6: 13 coefficienti Mel relativi alla parola Peperone L ultimo passaggio che è stato eseguito riguarda l uso di coefficienti Mel all interno del modello di apprendimento usato. In questo caso si sono utilizzati gli HMM (hidden Markov model). Infatti uno dei vantaggi maggiori dell uso dei mfcc è che risultano generalmente decorrelati permettendo l uso di matrici di covarianza diagonali da utilizzare nei modelli di Markov nascosti. Risulta conveniente riscalare i valori, per non avere problemi di varianza quando si passa da coefficienti piccoli a grandi. Si usa per questo una funzione chiamata lifter, definita in questo modo: c n = ( 1 + L ) πn sin c n (2.9) 2 L L nel nostro caso è uguale a 22 e rappresenta un parametro di configurazione. Oltre che questi 13 coefficienti per ogni frame, è possibile aumentare l informazione 18

25 2.2 Addestramento di un modello introducendo ulteriori parametri, uno di questi è il Log-energy [19], l energia contenuta all interno di un frame, che oltre ad essere molto indicativa è semplice da trovare. Ulteriori parametri da aggiungere possono essere i delta cepstrum che possono mostrare velocità ed accelerazione, cioè possono dare informazioni riguardo la dinamicità, della traiettoria dei coefficienti mfcc nel tempo d t = N n=1 n(c t+n c t n ) 2 (2.10) N n=1 n2 La componente delta di accelerazione può essere calcolata direttamente da questa; di solito vengono aggiunti 12, circa, componenti delta ed il valore usato di N è spesso Addestramento di un modello Preparata la nostra matrice di feature, passiamo adesso all addestramento utilizzando uno dei migliori modelli per quanto riguarda il riconoscimento del parlato, soprattutto in presenza di sequenze variabili in ingresso. Parliamo di Hidden Markov Model, e in questa sezione cercheremo prima di spiegare il funzionamento di tale modello, per poi addentrarci più specificatamente sulla configurazione usata in questo caso specifico Hidden Markov Model I modelli nascosti di Markov [20] sono fondamentalmente catene di Markov del primo ordine, con stati temporali discreti o continui ed alcune informazioni nascoste, cioè gli stati della serie temporale non sono delle informazioni che possono essere osservate ma sono comunque legati con dipendenze alla sequenza di osservazioni. In figura 2.7 abbiamo un semplice esempio, dove S = {S 1,..., S N } sono gli stati del sistema, A = [a ij ] le probabilità di transizione con a i j = P (q t+1 = S j q t = S i ) dove q t è lo stato al tempo t. B = {b i (x)} è detta probabilità di emissione con b i (x) = p(x S i ) e si assume indipendente dal tempo t; questa è la parte osservabile del modello. Le probabilità di emissione possono anche essere delle PDF (probability 19

26 2 Riconoscimento vocale density function) come vedremo per il nostro caso. Quindi definito uno spazio delle features X, un modello nascosto di Markov è formato dalla combinazione dei parametri (con π i = P (q 1 = S i ) probabilità iniziale) λ = (π, A, B) (2.11) Figura 2.7: Semplice esempio HMM Pronunciata la nostra parola abbiamo ottenuto una sequenza di vettori anche dette osservazioni, per cui si dice che o t è l osservazione al tempo t : O = o 1, o 2, o 3,..., o T (2.12) Dato che stiamo cercando di riconoscere singole parole o frasi, ovvero ci troviamo in un contesto isolato, possiamo ridurre il nostro problema a qualcosa del genere: arg max i {P (w i O)} (2.13) Dove w i rappresenta la classe di appartenenza delle parola. Nel problema preso in considerazione possiamo dire che la classe è essenzialmente ogni individuo presente all interno del sistema informatico (se nel sistema sono presenti 50 individui, ognuno sceglierà una parola per accedere), il sistema quindi garantisce che anche se viene pronunciata da due utenti la stessa parola, questa non venga riconosciuta a meno che non venga detta dall utente che l ha immessa. C è da prestare attenzione perchè mentre il numero delle classi è fisso, la lunghezza delle sequenze di osservazioni può 20

27 2.2 Addestramento di un modello variare, ma la supervisione esiste a livello di intera sequenza. Il nostro quindi è un problema di addestramento del modello, ossia dobbiamo determinare i parametri λ in modo da massimizzare P (O λ) una volta osservato O. Questo sarà possibile utilizzando l algoritmo forward-backward, che tra l altro fa uso di EM (expectation maximization [21]) un particolare tipo di algoritmo che stima i parametri secondo il criterio generale del maximum likelihood Algoritmo di Baum-Welch L algoritmo di Baum-Welch rappresenta essenzialmente un algoritmo per la stima della massima verosimiglianza per modelli nascosti di Markov. Dobbiamo stimare i parametri del nostro modello λ = (π, A, B) definiamo due termini: α t (i) = F orward { }} { P (O 1,..., O t, q t = S i λ) (2.14) β t (j) = Backward { }} { P (O t+1,..., O T q t = S j, λ) (2.15) Questi ultimi possono essere calcolati direttamente dal trellis (Algoritmo di Viterbi [22], figura 2.8), che raffigura un i differenti percorsi di un HMM nello spazio di stato. Questo permette di ridurre di molto la complessità dei calcoli. Forward fase 1: inizializzazione α 1 (i) = π i b i (O i ) (2.16) fase 2: ricorsione fase 3: fine { N } α t+1 (i) = α t (j)a ji b i (Ot + 1) (2.17) j=1 N P (O λ) = α T (i) (2.18) i=1 21

28 2 Riconoscimento vocale Figura 2.8: Trellis HMM Backward fase 1: inizializzazione β T (j) = 1 1 j N (2.19) fase 2: ricorsione β t (j) = N a ji b i (O t+1 )β t+1 (i) per t = T 1, T 2,...,1 e 1 j N (2.20) i=1 Dai termini di α e β è possibile calcolare, utilizzando il passaggio backward sul trellis la quantità P (q t = S i O, λ) rinominata γ t (i), la probabilità di essere nello stato i al tempo t data la sequenza di osservazioni O con i parametri λ quindi γ t (i) = α t (i)β t (i) N j=1 α t(j)β t (j) (2.21) Infine per ultimo calcoliamo il valore ξ t (i, j) = P (q t = S i, q t+1 = S j O, λ) ossia la probabilità di essere nello stato i e nello stato j rispettivamente al tempo t ed al tempo t + 1, dopo avere osservato O con i parametri, λ riscritta ho ξ t (i, j) = α t(i)a ij b j (O t+1 )β t+1 (j) P (O λ) (2.22) fase 3: aggiornamento di λ 22

29 2.3 Riconoscimento della classe Probabilità iniziali π i = γ 1 (i) (2.23) Probabilità di transizione a ij = T 1 t=1 ξ t(i, j) t=1 T 1 γ t(i) (2.24) Probabilità di emissione b i = T t=1 O t=x γ t(i) T t=1 γ t(i) (2.25) Questi passaggi sono ripetuti iterativamente fino al raggiungimento dell obiettivo di convergenza. Aggiungo che comunque la convergenza dell algoritmo di Baum-Welch è abbastanza dipendente dalle condizioni iniziali ed esistono numerosi massimi in cui l algoritmo può intrappolarsi. 2.3 Riconoscimento della classe Quando finalmente il nostro modello è addestrato possiamo passare alla fase di riconoscimento. Nel caso specifico viene data in ingresso al modello una matrice test del formato 13 x lunghezzatestword, che viene poi verificata e associata tramite la risposta della verosimiglianza ad una delle classi dello spazio. Ci rimane da specificare come viene effettuata questa fase, si utilizza il criterio di Viterbi per risalire al cammino migliore q 1,..., q T a massima probabilità: max Q definiamo: P (Q O, λ) max {P (Q O, λ)p (O λ)} max P (Q, O λ) (2.26) δ t (i) = Viene inizializzato delta in questo modo: Q max P (q 1,..., q t = S i, O 1,..., O t λ) (2.27) q 1,...,q t 1 δ 1 (i) = π i b i (O 1 ) φ 1 (i) = 0 1 i N (2.28) 23 Q

30 2 Riconoscimento vocale ricorsivamente sul trellis (figura 2.8) con 2 t T δ t (i) = max {δ t 1 (j)a ji } b i (O t ) (2.29) j si termina con: φ t (i) = arg max δ t 1 (j)a ji (2.30) j P = max Q P (Q, O λ) = max δ T (i) (2.31) 1 i N q T = arg max 1 i N δ T (i) (2.32) è possibile ricostruire il cammino ottimo ripercorrendo all indietro l algoritmo (backtracking) qui sotto mostrato. q t = φ t+1 (q t+1) con t = T 1, T 2,...,1 (2.33) Nello schema di figura 2.9 si riassume il percorso svolto dal segnale audio, che in un primo momento viene trasformato in matrice di features ed inserito nel database, in un secondo step si rinterroga tutta la base dati contenente tutte le matrici precedentemente create, appartenenti sia all utente corrente che agli altri utenti che fanno uso della piattaforma; le matrici vengono unite tutte insieme, formando una mega matrice cubica associata ad un vettore che rappresenta le etichettate con le classe di appartenenza (classe associata ad un utente) di ognuna. Si inizia un addestramento supervisionato con in input i dati sopra descritti, il modello utilizza una distribuzione normale multivariata di dimensione 13 come PDF definita nel seguente modo p(x µ, Σ) = 1 e 1 (2π) 13 2 Σ 1 2 (x µ)t Σ 1 (x µ) con 2 { x, µ R 13 Σ : R 13 R 13 (2.34) La fase di verifica viene fatta associando il percorso migliore nel trellis e trovando la classe con maggiore verosimiglianza. Risulta chiaro come nel caso con etichettatura non tutti i cammini tra gli stati sono possibili per la generazione di una data sequenza dell insieme di addestramento, ma solo quelli compatibili con le classi dell etichetta a cui è associata la sequenza, la massimizzazione non è sempre semplice e come 24

31 2.3 Riconoscimento della classe Figura 2.9: Schema riassuntivo del riconoscimento del parlato abbiamo detto possono verificarsi numerosi problemi. Per questo risulta importante prestare la massima attenzione a come vengono prelevati i campioni vocali e regolare in modo appropriato i parametri del modello di addestramento. 25

32

33 Capitolo 3 Riconoscimento visuale Cominciamo dicendo che questa parte dedicata al riconoscimento visivo è un pò più densa di argomenti, proprio perchè verranno trattate numerose tecniche implementate all interno del software FOVRA, in particolare vedremo come riconoscere i contorni del viso per estrarre immagini di volti e di come sia importante la parte dedicata alla segmentazione, il riconoscimento facciale, riconoscere oggetti qualsiasi da poter sfruttare come chiave per l accesso ed infine estrarre codici numerici da bancomat o carte di credito per accedere a sistemi informatici. Verranno discusse quali siano le difficoltà nell affrontare i vari problemi, ragionando su errori e modi per cercare di risolverli. 3.1 Estrazione dei contorni di un volto Esistono numerose tecniche che nel tempo sono state sviluppate per il riconoscimento del volto umano. I primi ad effettuare questo tipo di identificazione sono stati Woody Bledsoe, Helen Chan Wolf, e Charles Bisson nei primi anni 60. Il loro lavoro consisteva nell estrazione di distanze e misure su di un viso per poi inserire questi dati all interno di un computer. Oggi esistono sistemi molto accurati in grado di distinguere anche gemelli monozigoti, utilizzando scansioni ad alta definizione che modellano il viso in 3D. Determinati metodi si accontentano di estrarre contorni, feature particolari, controllare che un viso abbia due occhi, un naso, una bocca, la 27

34 3 Riconoscimento visuale posizione di quest ultimi, la loro forma, sopracciglia. Altri, come abbiamo detto, fanno uso di macchinari più moderni ma meno accessibili all utente normale. Possiamo dunque distinguere principalmente due filoni principali: tecniche che si avvalgono di approcci geometrici e tecniche statistiche che vanno a valutare la varianza tra un immagine di riferimento ed un template. Prima di poter effettuare (a) Rilevazione viso (b) Estrazione contorno con ellissoide, semplice (c) Estrazione contorno preciso, difficile (d) Ricostruzione 3D del volto Figura 3.1: Metodi di rilevazione e segmentazione il riconoscimento di un individuo è indispensabile riuscire ad estrarre elementi utili per la successiva identificazione. Per far questo è necessario individuare il volto all interno di un immagine e ritagliarlo. In figura 3.1a abbiamo un esempio di uso dell algoritmo di Viola-Jones [23] per l identificazione di volti. 28

35 3.1 Estrazione dei contorni di un volto Algoritmo di Viola-Jones Uno degli algoritmi di rilevazione dei volti più utilizzato risale al In verità non si occupa solo di volti ma di molti oggetti o elementi. Una delle sue caratteristiche risiede anche nella velocità, ed è quindi molto utile in applicazioni real-time. Si inizia utilizzando la wavelet Haar [24] estraendo delle features (3 esattamente [25]) con l uso di aree rettangolari (figura 3.2a), la prima feature viene calcolata tramite la differenza tra la somma dei pixel tra due regioni rettangolari uguali, la seconda si calcola tra 3 rettangoli, facendo la somma tra due rettangoli esterni sottratti dalla somma di quello interno, l ultima feature presa tra quattro rettangoli, tramite differenza tra la coppia diagonale e l altra. L interpretazione intermedia delle features può essere fatta con l uso dell immagine integrale, che possiamo spiegare dicendo che, data un immagine, la posizione (x, y) contiene la somma dei pixel come da figura 3.2b, Integrale(x, y) = originale(x, y ) (3.1) x x,y y L immagine integrale può essere calcolata usando le due formule con s(x, y) somma cumulativa di righe s(x, y) = s(x, y 1) + originale(x, y) (3.2) integrale(x, y) = originale(x 1, y) + s(x, y) (3.3) Per calcolare la zona di regione in figura 3.2c, abbiamo bisogno di quattro accessi in memoria e solo tre addizioni, per cui la somma della luminescenza è data da A B C + D. L uso dell immagine integrale aumenta le prestazioni, nel caso specifico dovendo sommare due rettangoli vicini servono solo sei punti. Per quanto riguarda l addestramento e la scelta delle corrette features (con 24x24 pixels si hanno circa features, un po troppe) viene usata una variante di AdaBoost [26]. Inoltre l aumento delle prestazioni è reso possibile dall uso della cosidetta cascata di classificatori, ovvero classificatori distribuiti in cascata in ordine di complessità (figura 3.3a), in modo da addestrare il successivo con campioni selezionati dalla precedente passata, che se non accettati vengono scartati e mai più ripresentati. Come esempio possiamo 29

36 3 Riconoscimento visuale (a) rettangoli per estrazione features (b) immagine integrale (c) somma di una regione Figura 3.2: metodi in algoritmo Viola-Jones vedere in figura 3.3b l algoritmo dopo alcuni passaggi, bastano pochissimi esempi per cominciare l addestramento ed avere una rilevazione superiore al 90%; (a) rilevazioni features approssimata (b) schema classificatori in cascata Figura 3.3: Classificatori in cascata e risultato 30

37 3.1 Estrazione dei contorni di un volto Pre-processing features viso Una volta riusciti nella rilevazione del viso con l algoritmo di Viola-Jones purtroppo non siamo ancora pronti per definire pronti i nostri dati, ci manca la fase di pre-processing [27], che riguarda dei metodi di elaborazione delle immagini che garantiscono una migliore efficienza poi nel riconoscimento. conversione colore: chiaramente durante l elaborazione anche per effettuare calcoli più semplici, non abbiamo bisogno di immagini a colori ma è sufficiente in scala di grigi, questo perché mentre con scala di grigi ho un immagine che corrisponde ad una matrice dove ogni pixel corrisponde al valore della luminanza, in un sistema per esempio a colori RGB (Red, Green, Blue) avrei una matrice di vettori con ogni vettore formato dal valore del Rosso, Verde e Blu con un aumento della computazione. Si effettua per questo una conversione RGB Grey. aspect ratio immagine: si deve prestare attenzione inoltre a non collezionare dati con videocamere con aspect ratio differente. Questo comporterebbe l incoerenza tra i dati acquisiti. Per questo è buona norma ridimensionarli in modo da averli tutti, anche nel caso si utilizzassero diversi dispositivi di acquisizione, di lunghezza e altezza nello stesso rapporto. equalizzazione: la luce è un fattore importantissimo nelle immagini catturate, dato che basse esposizioni di luce rendono il sistema non affidabile. Si deve perciò effettuare un equalizzazione per garantire una migliore luminosità ed un migliore contrasto. Quello che si fa è rendere l istogramma cumulativo lineare. trasformazione geometrica: può capitare che l immagine prelevata presenti delle parti che non sono perfettamente allineate, infatti risulta importante nel momento del confronto poter comparare stesse porzioni di viso tra immagini. Quindi si inizia tagliando via quello che non ci interessa, sfondo, capelli del soggetto e orecchie. A questo punto prendendo in considerazione la posizione degli occhi ed il loro allineamento, trattiamo l immagine come una matrice e con rotazioni e traslazioni posizioniamo tutto nella stessa collocazione. 31

38 3 Riconoscimento visuale diversa esposizione: in diverse condizioni di luce risulta utile per garantire simmetria, la possibilità di equalizzare diverse parti del viso allo stesso modo. Non si riesce completamente ad eliminare gli effetti di luce sul viso ma risulta molto utile ai fine della creazione del nostro dataset. Prendiamo il viso e dividiamolo in tre strisce verticali uguali, nei quali applichiamo nelle strisce esterne una equalizzazione standard, mentre in quella centrale la si applica gradualmente. filtraggio: questo passaggio deve essere effettuato a seconda delle caratteristiche che si vogliono accentuare o eliminare e possono variare da caso a caso. Di solito si applica un filtro bilaterale [28], che garantisce una discreta riduzione di rumore tra pixel preservando i lati. Definita I filtrata (x) = 1 I(x i )G σr ( I(x i ) I(x) )G σs ( x i x ) (3.4) W p x i Ω con G σ di solito una funzione gaussiana e termine di normalizzazione che preserva l energia dell immagine W p = x i Ω G σr ( I(x i ) I(x) )G σs ( x i x ) (3.5) segmentazione volto: in figura 3.1b si vede l ultima parte della fase di pre-processing (utilizzata in questo caso). Viene sovrapposto un ellissi per eliminare la maggior parte degli elementi esterni (collo, oggetti vicino al volto, ecc) non appartenenti al volto in sé. Più accurato risulta inoltre il metodo come quello in figura 3.1c che implementa una reale estrazione dei contorni del viso di una persona, la segmentazione è naturale e da al riconoscitore la possibilità di estrarre anche componenti morfologiche. 3.2 Riconoscimento tramite eigenfaces Pronto il nostro dataset di input, descriviamo il metodo implementato in FOVRA cioè eigenfaces. Dato un dataset di immagini di training M della dimensione scelta 100x100 pixels, quello che faremo sarà trovare le principali componenti distribuite 32

39 3.2 Riconoscimento tramite eigenfaces in un viso. Ogni immagine viene trattata come un vettore in uno spazio ad alta dimensionalità, gli autovettori che visibilmente appaiono come immagini fantasma, possiamo pensarli come un set di features che insieme caratterizzano le variazioni tra immagini e che chiameremo eigenface. La matrice immagine può essere considerata anche come un vettore di dimensione 10000, non da poco, quindi prendendo spunto da principal component analysis [30], si cerca di ridurre lo spazio trovando i vettori che meglio raccogliono l intero spazio dell immagine. Questi vettori andranno a formare un sottospazio che si chiama face space. Prendiamo le immagini acquisite dagli utenti trasformate in vettori N 2 (NxN dimensione immagine in pixels), con M numero totale immagini, per cui il trainig set è Γ 1, Γ 2,..., Γ M. Calcoliamo la media (average face)di tutte le immagini in questo modo Ψ = 1 M M Γ n (3.6) dunque ogni faccia dell insieme differisce dall average face di un vettore Φ i = Γ i Ψ (3.7) Entra in gioco adesso PCA (principal component analysis, l obiettivo è quello di ridurre il numero delle variabili) che cerca di trovare un insieme M di vettori ortonormali u n che meglio descrivono la distribuzione dei dati. Il k-esimo vettore, u k massimo è scelto come λ k = 1 M (u T k Φ n ) 2 M n=1 { (3.8) 1, se l = k u T l u k = δ lk = 0, altrimenti si può definire la matrice di covarianza di cui u k e λ k sono rispettivamente autovettori e autovalori C = 1 M n=1 M Φ n Φ T n = AA T (3.9) n=1 con A = [Φ 1, Φ 2,..., Φ M ] che è l insieme dei vettori che differiscono dalla media. La dimensione risulta comunque troppo grande per essere trattata, infatti AA T risulta 33

40 3 Riconoscimento visuale una matrice N 2 xn 2, se invece calcoliamo AA T ho una matrice MxM. Visto che entrambe hanno gli stessi autovalori ed autovettori relativi a u i = Av i, ecco risolto il problema. M u i = v lk Φ k l = 1,..., M (3.10) k=1 La trasformazione in eigenface con relativa proiezione all interno del face space si effettua con gli M autovettori più significativi ω k = u T k (Γ Ψ) k = 1,..., M (3.11) L insieme delle trasformazioni viene racchiuso all interno di uno spazio vettoriale Ω T = [ω 1, ω 2,..., ω M ] (3.12) che descrive il contributo di ogni eigenface per una data immagine di ingresso. Quindi sarà possibile inserire questo dato all ingresso di una macchina in grado di riconoscere le varie classi. Uno dei metodi più semplici risulta l uso dell minimizzazione della distanza Euclidea con Ω k appartenente alla classe k errore 2 k = (Ω Ω k ) 2 (3.13) Scegliendo una soglia adeguata potremmo concludere che una data immagine apparterrà ad una data classe se in primo luogo supera la soglia (altrimenti la faccia risulta sconosciuta) e il valore della distanza risulta minima per quella classe. Ricapitoliamo con un piccolo esempio, formato dai sei individui mostrati in figura 3.4. Creiamo il nostro training set, le immagini vengo ridimensionate con i passaggi illustrati nel paragrafo precedente per creare input 100x100. Viene mostrato in figura 3.5 lo spazio delle immagini con M=6, anche se, avendo solo un immagine per ogni classe, questo non ci garantisce apprezzabili risultati ma e solo fatto solo per mostrare il funzionamento semplice del metodo eigenface. Adesso creiamo l average face che rappresenta la media di tutte sei le nostre immagini(figura 3.6). Utilizzo per questo esempio sei eigenface che vengono mostrate in figura 3.7. Quando 34

41 3.2 Riconoscimento tramite eigenfaces (a) Angelina (b) Brad (c) Io (d) Matteo (e) Bimbo (f) Ma Figura 3.4: Esempi per face recognizer Figura 3.5: Immagini pre-processate abbiamo creato il nostro image space ed addestrato il modello, scegliendo per pesi ad esempio eigenface %(eigenface1) 47%(eigenface2),..., 2.6%(eigenface6) (3.14) in pratica Γ e la nostra immagine sconosciuta, si Φ = Γ Ψ, minimizziamo effetua PK l errore (anche detto distanza dal face space) Φ i=1 wi ui. Se la faccia raggiunge la soglia e riconosciuta. Selezioniamo come immagine da riconoscere un altro esempio del campione numero 1 ( angelina ). Viene prima, come si vede dalla figura 35

42 3 Riconoscimento visuale Figura 3.6: average face Figura 3.7: eigenfaces 3.8a, ricostruita l immagine dall average image, i risultati mostrano che anche se di poco il volto viene riconosciuto ed assegnato alla classe numero 1 che appartiene a Angelina. Per terminare diciamo che possiamo sostituire al posto della distanza Euclidea, la distanze di Mahalanobis che si comporta meglio soprattutto quando esiste una variazione lungo tutti gli assi Ω Ω k = K i=1 1 λ i (w i w k i ) 2 (3.15) Fisherfaces Interessa introdurre anche un altro metodo di riconoscimento che garantisce risultati migliori sopratutto in presenza di variazioni di luce considerevoli, il cosi detto 36

43 3.2 Riconoscimento tramite eigenfaces (a) Ricostruzione immagine test (b) Risultati Figura 3.8: Ricostruzione e risultato Fisherfaces [31][32]. Proprio quando si va a fare classificazione il metodo eigenfaces non offre grandi risultati dal punto di vista della separazione delle classi. Il motivo risiede nel fatto che la divisione dipende anche da elementi interni alla classe. Infatti con diverse illuminazioni o pose facciali varie utilizzando PCA queste caratteristiche vengono conservate e creano a volte disuguaglianze all interno delle classi stesse e non vengono separate decentemente. Si introduce per questo LDA(linear discriminant analysis), una tecnica di riduzione della dimensionalità lineare e anche supervisionata che si occupa principalmente di massimizzare la separabilità tra le classi. Si definiscono le matrici S w e S b, la prima riguarda la distribuzione dei vettori per ogni classe dal centro, la seconda indica come i centri sono sparpagliati rispetto al centro generale dell intera distribuzione. S w = S m i C i (3.16) i=1 S b = S ( ) ( ) T m i xi x 0 xi x 0 (3.17) i=1 37

44 3 Riconoscimento visuale C i = 1 m i ( ) ( ) T x xi x xi x P i x i = 1 m i x 0 = 1 m x P i x S m i x i i=1 (3.18) Dove con classe P i = {x i R n i = 1,..., m i } ho un insieme di m i pattern n-dimensionali ed m i cardinalità della classe P i. Esistono numerosi criteri di ottimizzazione che sono stati sviluppati in questi anni (Kernel LDA, Subclass Discriminant Analysis, Two-dimensional LDA), tra i più usati c è quello di usare la quantità J 1 = tr ( S 1 w S b ) = n λ i (3.19) con tr traccia della matrice, per la massimizzazione di J 1 lo spazio ridotto ideale si ottiene tramite il calcolo degli autovettori relativi ai primi k autovalori della matrice S 1 w S b. Ricapitolando, quando ben combinate le eigenfaces e gli autovalori permettono di generare ogni immagine compresa all interno di un training set ma il metodo può anche essere usato per differenziare alcune delle facce particolari dell insieme da addestrare; se un individuo in alcune immagini ha gli occhiali ed in altre no, ci dovrebbe essere all interno delle eigenfaces almeno un elemento che compare con gli occhiali, così nell immagine di training la combinazione tra gli egeinfaces con gli occhiali avrà un alta percentuale mentre quella senza una bassa percentuale. Considerando 3 persone con 10 facce ogni individuo, ci sono 30 eigenfaces e autovalori che possono così differenziare 30 volti nel training set, queste dovrebbero a loro volta essere ordinate in ordine di importanza, visto che naturalmente le prime avranno la maggior parte delle differenze mentre le ultime a causa dell elevato rumore non offrono nessun contributo utile. Nel metodo Fisherfaces invece di dover calcolare immagini speciali (eigenface e autovalori) per ogni immagine del training set, si calcola solo uno speciale autovettore e autovalore per ogni classe (immagini di una 38 i=1

45 3.3 Riconoscimento di oggetti qualsiasi persona). Nello stesso caso precedente con 3 persone avremo solo tre fisherfaces e autovalori. Entrambi i metodi usano una average face per ricostruire l immagine all interno del set. In figura 3.9 nel caso di un esempio comprendente 3 individui con 4 immagini ognuno, eigenfaces ha bisogno di dodici autovalori mentre fisherface in questo caso solo due. Figura 3.9: EigenFaces (sinistra) e Fisherface (destra) tratto da [27] 3.3 Riconoscimento di oggetti qualsiasi Un altra delle caratteristiche implementate in FOVRA, è la possibilità di farsi identificare mediante il riconoscimento di un oggetto qualsiasi preventivamente fatto addestrare al sistema. L oggetto può essere una cosa qualsiasi, da un tesserino ad un portachiavi o ad una felpa con disegno stampato, di piccole o grandi dimensioni ma che comunque deve essere fatto prima registrare al software. L utilizzo di questo metodo può rendere l accesso semplice e rapido per un utente. Il sistema di riconoscimento è reso possibile grazie all algoritmo SURF (Speeded Up Robust Feature [33]) ispirato al precedente SIFT (Scale-invariant feature transform [34]) del 1999, anche se in verità esiste una versione migliorata uscita nel 2009 ASIFT (Affine-SIFT [35]) che garantisce eccezionali risultati anche in condizioni in cui l oggetto da identificare risulta soggetto a transizioni tilt (riferito ad angoli di inclinazione elevati). Questi algoritmi si occupano di selezionare all interno di un 39

46 3 Riconoscimento visuale immagine determinate caratteristiche o features, per poi andarle a rilevare all interno di un altra immagine (figura 3.10). Cerchiamo di capire un pò meglio come funziona SURF. (a) esempio con ASIFT[35] (b) esempio con SURF Figura 3.10: Metodi di estrazione e riconoscimento features Speeded up robust feature Sviluppato nel 2006 da Herbert Bay [36] rappresenta l algoritmo implementato in FOVRA. Il metodo in primo luogo deve selezionare dei punti di interesse che all interno di un immagine possono essere, angoli, regioni di spazio con rilevanza particolare, giunzioni a T, ecc, una volta trovati questi punti che devono avere la proprietà di poterli caratterizzare sotto differenti punti di vista e condizioni, definiamo il vettore di features come i punti intorno al punto di interesse. Questo vettore che descrive la feature deve essere caratteristico ma come dice il nome dell algoritmo deve garantire robustezza al rumore, alla posizione, a cambiamenti geometrici e fotometrici. Il descrittore (descriptor) deve combaciare all interno di immagini se presente, prendendo come riferimento la distanza tra vettori (Mahalanobis o Euclidea). Un altro valore importante è la dimensione di questi descrittori, naturalmente un vettore 40

47 3.3 Riconoscimento di oggetti qualsiasi grande riesce a descrivere meglio la feature ma crea dall altra una lentezza nell acquisizione. Si passa quindi attraverso tre fasi principali: 1. Rilevazione delle zone di interesse 2. Estrazione di vettori feature che descrivono la zona di interesse 3. Confronto tra immagini per trovare matching La rilevazione dei punti di interesse all interno di un immagine fa uso di una approssimazione della matrice Hessiana, che si può calcolare anche in questo caso, come nel caso già visto in precedenza con l algoritmo di Viola-Jones, dalle immagini integrali, riducendo drasticamente la computazione (che comunque dipende anche dalla dimensione dei filtri). Ricordiamo che calcolare la somma dell intensità all interno di una regione rettangolare di un immagine delimitata da quattro punti richiede solo tre addizioni. Si cerca di rilevare zone significative (blob structure [36]) in posizioni dove il discriminante della matrice è massimo, perciò dato un punto p = (x, y) in un immagine I, la matrice Hessiana H(p,σ) in p alla scala σ (anche la scala in questa implementazione è legata al determinante) si definisce [ ] Lxx (p, σ) L xy (p, σ) H(p, σ) = L xy (p, σ) L yy (p, σ) (3.20) dove L xx (p, σ) è la convoluzione alle derivate parziali seconde di una gaussiana 2 x 2 g(σ) con l immagine I nel punto p. Le gaussiane offrono grande versatilità nel caso di scalature nello spazio ma devono essere adattate: si applica una discretizzazione, un taglio e per ultimo si approssimano arrivando al risultato di figura 3.11 (σ = 1.2) con matrici 9x9 denominate D xx, D yy e D xy. Calcolo il determinante dell hessiana approssimata det(h ) = D xx D yy (wd xy ) 2 (3.21) inserendo anche un peso w che garantisce la conservazione di energia dovuta all approssimazione w = L xy(σ) F D y y(dimfiltro) F L yy (σ) F D x y(dimfiltro) F (3.22) 41

48 3 Riconoscimento visuale Figura 3.11: derivate parziali seconde delle gaussiane approssimate n con. F norma matriciale di Frobenius pari a i,j=1 a ij 2. In questo caso specifico si ha anche σ = 1.2 e dimfiltro = 9. Il determinante approssimato dell hessiana rappresenta la zona di interesse dell immagine nella locazione p, tutte le risposte sono salvate in una mappa che le conserva con differenti scalature, questo perché capita che le immagini devono essere confrontate tra di loro con scale di appartenenza diversa. Lo spazio delle scale può essere pensata come un immagine all interno di una piramide in cui il suo scorrimento dal basso verso l alto ne determina un rimpicciolimento. Per ovviare al problema della velocità sostituiamo l immagine all interno della piramide con il filtro 9x9 che viene convertito in risoluzioni maggiori a seconda delle esigenze senza avere impatto sulla computazione. Lo spazio delle scale è inoltre suddivisa in ottave ed ogni ottava a sua volta è divisa in livelli, a cui in seguito si applica una interpolazione. I filtri devono sempre garantire un centro per cui l ingrandimento del filtro deve essere sempre in numero dispari. Si parte con 9x9, poi 15x15, 21x21, aumentando la scala si deve aumentare anche il filtro di partenza quindi la prossima ottava avrà 15x15, 27x27, 39x39, ci si ferma quando l immagine originale risulta più piccola dei filtri. Il numero dei punti di interesse scende rapidissimamente durante l aumento della dimensione dei filtri. Per descrivere la distribuzione di intensità vicino ai punti di interesse viene usata la risposta di un Haar wavelet del primo ordine nella direzione x e y di dimensione 64 sempre con uso dell immagine integrale. Questo ci serve per poter dare un verso alla distribuzione dei nostri punti di interesse, creando un sistema per far ottenere al modello la proprietà di invarianza alle rotazioni. Una volta ottenuta la risposta della wavelet e pesata con una gaussiana centrata nei punti di interesse, le risposte rappresentano i punti nello spazio e l orientazione dominante è data dalla somma di tutte le 42

49 3.3 Riconoscimento di oggetti qualsiasi ascisse e la somma di tutte le ordinate calcolate con una finestra scorrevole: i valori massimi definiscono il vettore che dà l orientazione al punto di interesse. Quello che Figura 3.12: Orientamento delle zone di interesse si fa è costruire una regione quadrata (figura 3.12) centrata nel punto di interesse ed orientata lungo la direzione trovata sopra,si ridivide la regione in quadrati 4x4 ad ogni quadrato si calcola la risposta della wavelet Haar nei 5x5 punti campionati, vengono estratte le somme delle risposte dell orientazione di x e y definite per semplicità dx e dy ed i rispettivi valori assoluti dx e dy. Possiamo dire che un vettore che descrive una zona di interesse ha dimensione 4x4=16 per un vettore formato da 4 componenti cioè 64 (SIFT conta un vettore di dimensione 128). Durante la fase del confronto quello che viene fatto è considerare il segno del Laplaciano f(x) = n i=1 2 f (x) (3.23) x 2 i che è definito inoltre come la traccia della matrice Hessiana, il quale distingue zone di interesse con intensità alta e zone con intensità bassa, in pratica solo zone con segno Laplaciano uguale (stessa feature con stesso contrasto ) vengono prese in considerazione per il confronto. 43

50 3 Riconoscimento visuale 3.4 Riconoscimento numeri carta di credito Durante l implementazione del sistema per il riconoscimento di oggetti dentro FO- VRA, visto che il progetto era nato in ambito bancario per un accesso sicuro, è stato proposto di pensare che tra gli oggetti utilizzati tra gli utenti potesse esservi il bancomat o carta di credito. L approccio di estrarre features con SURF sembrava poco percorribile. Lo schema 3.13 riassume l idea generale. L utente in pratica registra i propri dati all interno di un database, dati che sono Figura 3.13: Schema generala accesso con carta comprensivi del proprio codice bancomat o di carta di credito. Nel momento in cui si cerca di accedere si mostra la tessera alla videocamera (smartphone, pc, postazione apposita) e tramite elaborazione ne viene estratto il codice impresso, tale codice è confrontato con quello contenuto all interno del database e se coincide con l utente registrato l accesso è garantito. Risulta ovvio che questo metodo non deve essere pensato come unico modo di accesso, ma deve essere a mio avviso affiancato a qualunque altro sistema di sicurezza, username e password, riconoscimento facciale, riconoscimento vocale o riconoscimento di un oggetto. Le cause per cui da solo non 44

51 3.4 Riconoscimento numeri carta di credito risulti troppo attendibile spaziano dalla facilità nel reperire informazioni personali ad addirittura errori riconducibili all estrazione software Informazioni di una tessera da una videocamera Partiamo dicendo che l estrazione di informazioni scritte su di una tessera bancomat o carta di credito risulta un compito abbastanza arduo. Una delle motivazioni principale risiede nella non omogeneità delle varie tessere magnetiche, ognuna delle quali possiede caratteristiche di colori o disegni molto diverse tra loro. Risulta quindi necessario estrarre componenti con passi precisi ma che variano da caso a caso, in modo da rendere il compito del rilevatore OCR (optical character recognition [37]) che andremo ad usare, il più semplice possibile. Partiamo con rilevare la carta come mostrato in figura 3.14a. Questo può essere fatto tramite metodi di segmentazione dell immagine, ossia possiamo cercare di identificare all interno di un istantanea elementi di forma rettangolare regolari di una certa dimensione in relazione all acquisizione fatta e che tramite l applicazione di filtri ritagliarne i bordi. Un altro modo che a mio avviso a molti vantaggi riguarda l uso dell algoritmo SURF. Questa metodica necessita oltre che la registrazione del codice numerico all interno del database, anche un immagine della stessa tessera. Comunque a meno che la tessera non presenti elementi di personalizzazione (penso a carte Postepay in cui è possibile la personalizzazione tramite fotografia), ogni società possiede al suo interno massimo 8-10 diverse carte, per cui nel momento in cui conosco il tipo di tessera conosco quali sono i colori, gli sfondi, i rilievi, il colore della numerazione incisa e quindi riesco anche ad applicare i filtraggi necessari a ricavarmi le varie informazioni. Fatte le necessarie trasformazioni geometriche per centrare l immagine, possiamo adesso individuare la striscia di numeri assegnata alla carta. Abbiamo la possibilità di scegliere se procedere utilizzando le informazioni acquisite, in questo modo risalendo al tipo di carta conosciamo dove i numeri sono posizionati in modo da tagliarli (figura 3.14b), altrimenti possiamo procedere, dopo l applicazione di filtri che eliminano immagini e sfondi (questi filtri variano da carta a carta), verificando e studiando la distribuzione della luminanza con istogrammi verticali ed orizzontali 45

52 3 Riconoscimento visuale per individuare serie numeriche. Utilizziamo comunque il primo metodo, quindi, una volta individuata la serie numerica (figura 3.14c) si fa un ulteriore passaggio chiamato metodo Otsu [38]. Questo criterio parte dal presupposto che ci troviamo in una situazione nella quale la nostra immagine contiene essenzialmente due classi, lo sfondo ed il testo (o numeri), quindi viene calcolato il threshold [39] ottimo che separa meglio le due classi, minimizzando la varianza all interno di ogni classe. (a) Rilevamento carta di credito (b) Individuazione numerazione (c) Striscia numerica (d) dopo metodo Otsu Figura 3.14: Procedura di individuazione dei numeri tessera Si definisce sogliatura un metodo semplice per segmentare immagini, dove da una scala di grigi si passa ad un immagine binaria. { 0 se Ioriginale (x) < soglia I bit (x) = (3.24) 1 se I originale (x) soglia Per il metodo Otsu si calcola l istogramma e la probabilità della luminanza dell immagine, partendo da valori 0 per media e probabilità e da 1 per il threshold t (viene poi aumentato fino all ottimo). La varianza totale delle due classi dove ω i definisce la probabilità di due classi di essere separate da un valore threshold t e varianza σi 2 è σω(t) 2 = ω 1 (t)σ1(t) 2 + ω 2 (t)σ2(t) 2 (3.25) inoltre si dimostra che minimizzare la varianza all interno di una singola classe equivale a massimizzare la varianza tra due classi, ovvero σb 2 (t) = σ 2 σω(t) 2 = ω 1 (t)ω 2 (t)[µ 1 (t) µ 2 (t)] 2 (3.26) 46

53 3.4 Riconoscimento numeri carta di credito Dopo il filtro di Otsu si arriva all immagine binaria di figura 3.14d, continuando, quello che viene fatto da questo punto è dividere ogni cifra usando un algoritmo che individua i contorni [40], ogni cifra è ritagliata e fatta identificare ad un OCR. Chiaramente non ci riguarda come creare questo OCR ma basti pensare che il meccanismo è di addestrare una ANN (artificial neaural network [41]) visto che stiamo parlando di sole cifre numeriche, dieci classi ( ). Non entriamo nel metodo di come si segmenta un carattere ma essenzialmente è abbastanza semplice anche se necessita di tempo come sempre per creare il training set con cui addestrare il modello. (a) Fenestratura su ogni cifra (b) lettura con OCR Figura 3.15: Segmentazione e risultato Come si può notare il sistema ha identificato il numero, quello che rimane da fare è verificare tele cifra con quello presente nel database. Siamo partiti con una carta non troppo complicata, costruendo da soli la propria rete neurale si riesce ad avere un grado di accuratezza molto elevato, la maggiore difficoltà rimane l isolamento delle cifre da sfondi molto complessi. 47

54

55 Capitolo 4 Software FOVRA e Test Tratteremo lo sviluppo del software FOVRA, non in ogni minimo particolare, ma affermando che la piattaforma in questione può rappresentare una solida base su cui implementare nuovi metodi di identificazione e riconoscimento. Il sistema è in grado di inglobare tecniche moderne e soprattutto rappresenta un tentativo di fondere insieme più modi di accesso, da quelli biometrici con uso di riconoscimento facciale e vocale, a riconoscitori di oggetti personali. Nell ultima parte verranno mostrati i risultati prendendo come campione 10 individui che effettuano 5 accessi ciascuno. La domanda finale a cui cercherò di dare una risposta sarà: su sistemi contenenti dati privati sensibili, possiamo fidarci solo delle tecniche di identificazione diretta o è necessario usufruirne solo per la verifica? 4.1 Cosa è FOVRA Nato dalla collaborazione con il Gruppo Monte dei Paschi di Siena durante un periodo di stage, FOVRA (figura 4.1), è una acronimo per face object voice recognition access, come si intuisce l applicazione si interessa di garantire tramite dei metodi specifici l accesso a sistemi informatici. L idea è nata pensando ai metodi attuali per accedere via web da PC, smartphone o tablet, a piattaforme per la gestione dei propri conti, ossia, o usando username e password, o con l ausilio di chiavi generatrici di codici. Dato che tali metodi devono essere costantemente aggiornati e la pigrizia 49

56 4 Software FOVRA e Test a volte ci porta a non effettuare spesso questa procedura, abbiamo provato a creare un software con riconoscimento biometrico che possa rappresentare una base per sviluppi futuri. Sia chiaro, non è che questo lavoro si voglia porre come esemplare unico, esistono infatti centinaia di software dello stesso tipo, l idea sembrava interessante e credo che la società sia pronta per affrontare queste nuove metodologie. Ho voluto accettare la sfida, ammetto anche con una certa curiosità ed interesse. Figura 4.1: Caricamento schermata FOVRA Il programma si divide in due parti: Registrazione dell utente Accesso al sistema con verifica o identificazione Le metodologie messe a disposizione dal sistema sono varie e ne abbiamo discusso nei capitoli precedenti: 1. username e password 2. riconoscimento facciale 3. parola segreta pronunciata dall utente 4. un oggetto casuale scelto dall utente come chiave 5. rilevatore di cifre del proprio bancomat o carta di credito 50

57 4.2 Come funziona? Come detto il software rappresenta un inizio di un percorso, anche a causa dell enorme varietà di metodiche, che ho fatto fatica a riassumere in una tesi di laurea. Mi scuso infatti se non ho approfondito meglio determinati argomenti ma penso che esulasse dagli scopi principali, cioè la progettazione di un sistema biometrico multimodale. Risulta comunque aperta la sfida di scrivere la conversione per un sistemi mobile, oltre che all affinamento delle attuali tecnologie implementate. 4.2 Come funziona? L applicazione è stata sviluppata sotto Windows 64bits con l uso di Visual Studio 2012 utilizzando il linguaggio Visual C#. Per quanto riguarda le librerie usate nel progetto, dato l uso di C# ho optato per un wrapper di OpenCV (Open Computer Vision [42]) chiamato Emgu CV [43], con aggiunta qua e là di ottimizzazioni con CUDA (Compute Unified Device Architecture [44]) capace di aumentare anche di 10 volte l eleborazione (usata per esempio in SURF per acquisire frame di test in tempo reale). Per la parte audio solo per piccole esigenze ho usato NAudio [45], mentre per lo studio con modelli nascosti di Markov ho scelto Accord.NET [46]. Ricapitolando: Emgu CV versione beta: procedure relative alla parte visuale. NAudio versione 1.7: campionatura e registrazione audio. Accord.NET versione 2.12 : per uso di modelli di Markov. Visto lo sviluppo sotto Windows sono state usate inoltre la libreria di classi del Framework.NET (versione 4.5), WPF (Windows Presentation Foundation) per la parte riguardante l interfaccia grafica. Queste classi risultano molto utili e flessibili visto che sfruttano l accelerazione hardware delle moderne schede grafiche, il linguaggio di programmazione risulta per di più scollegato da quello riguardante la costruzione dell applicazione, che usa infatti XAML (extensible Application Markup Language [47]) basato su XML. I dati sono stati registrati all interno di un database locale (SQL Server Compact 4.0) per semplicità anche se ammetto che tornassi indietro 51

58 4 Software FOVRA e Test opterei per un semplice file XML (modificabile in modo semplice senza vari problemi che ho rilevato spostando invece il file SDF del databse Microsoft). Nulla vieta di poter esportare in un database relazionale come MySQL [48]. In aggiunta viene usata per le prove una camera con risoluzione 640x480 pixels. Avviata l applicazione ci si trova di fronte ad una scelta iniziale (figura 4.2): nel caso l utente non risulti registrato, si procede con l inserimento all interno della base di dati delle informazioni richieste. In ogni modo anche se un utente appare già inserito, è possibile aggiornare i dati con nuove immagini nel caso di scansioni facciali, sostituire l oggetto scelto per accedere o aggiungere esempi di parlato. Contrariamente se si dispone già di un account si può procedere con la fase di identificazione. Figura 4.2: selezione iniziale FOVRA Registrazione nuovo utente La fase di registrazione comincia con l inserimento da parte di un utente della password (figura 4.3a) per l accesso al sistema. Dopo alcuni controlli di coerenza tra cui anche il fatto di verificare se si è presenti o no all interno del database. Nel primo caso i dati vengono aggiornati, nel secondo caso viene avviata la registrazione normale. Il secondo passo ci porta alla fase di acquisizione delle immagini del volto (figura 4.3b). Come scelta di progetto si acquisiscono all inizio 10 foto del viso per ogni individuo (esiste la possibilità di aggiornare il database inserendo 5 immagini 52

59 4.2 Come funziona? (a) Fase 1 scelta password (b) Fase 2 acquisizione facce (c) Fase 3 acquisizione audio (d) option: registra oggetto Figura 4.3: Registrazione nuovo utente in più a volta). Per ovviare al problema di fornire immagini troppo simili viene calcolata tra un acquisizione ed un altra la differenza di luminanza tra pixels con la distanza euclidea, dove x e y singoli pixel delle immagini X e Y rispettivamente errore = x y = n (x i y i ) 2 (4.1) 53 i=1

60 4 Software FOVRA e Test similarità = errore X larghezza X lunghezza (4.2) Se l immagine risulta sopra la soglia scelta di similarità un box verde circonda l immagine acquisita, altrimenti sarà rosso (è solo un controllo per verificare che le 10 immagini acquisite non risultino troppo statiche evitando così di non acquisire volti che non generalizzino troppo, in parole povere vogliamo che il sistema si comporti bene anche con espressioni diverse del viso). La fase successiva si occupa di memorizzare 5 esempi audio di una frase o una parola da usare come chiave di accesso (figura 4.3c) della lunghezza temporale di 3 secondi. Tra le possibilità offerte dal sistema tra le opzioni avanzate, vi sono: una diversa segmentazione del viso più accurata; la registrazione di un oggetto da poter usare come chiave di accesso (figura 4.3d); quest ultima funziona una volta inquadrato l oggetto da salvare, si clicca sul box video per creare un istantanea (fermo immagine), con il mouse (o dito nel caso di smartphone o tablet) si evidenziano i contorni dello stesso, l immagine viene ritagliata e salvata tra le informazioni dell utente Verifica Quando si accede alla fase di verifica l utente può scegliere se utilizzare il riconoscitore facciale, vocale, tramite oggetto o lettura di una carta personale. In verifica il software si presenta come quello in figura 4.3. Sulla destra esiste una barra di livello che determina il grado di accuratezza del sistema, in questo caso è posta a 100, cioè viene chiesto di verificare 100 frames catturati in modo adeguato, quindi, ogni frame viene controllato all interno dell intero database, restituendo una previsione che viene mostrata in tempo reale. Nella figura 4.4 i 100 frames sono stati tutti indubbiamente trovati corrispondenti a Nicola, restituendo una percentuale del 100%. Quando viene prelevato il frame e trasformato dal sistema in immagine test prima di effettuare la previsione tra gli individui all interno del database, si verifica anche che superi un certa soglia, sotto la quale l applicazione risponde con la parola sconosciuto. Premendo il tasto Verifica Voce si avvia la procedura di analisi della parola d ordine, nel caso venga associata all utente visualizzato, è possibile procedere con l accesso al sistema informatico. Il riconoscimento di oggetti si attiva 54

61 4.2 Come funziona? (a) verifica del viso (b) risultato verifica voce Figura 4.4: verifica FOVRA inserendo il proprio codice cliente e mostrando l oggetto relativo utilizzato in fase di registrazione, se risulta corrispondente con quello immesso dal cliente è possibile accedere con sicurezza. È in via di sperimentazione oltre che l OCR di bancomat già a buon punto, la possibilità di inserire codici numerici tramite gli occhi, per ridurre la possibilità che un malintenzionato possa utilizzare una semplice fotografia di un utente registrato per entrare all interno del sistema oltre ad aumentare ancora di più la sicurezza. Definita la dimensione del codice a priori è possibile creare password come da tabella 4.1. Non risulta possibile definire codici con cifre consecutive, tipo: Occhi Codice entrambi aperti 0 sinistro aperto e destro chiuso 1 destro aperto e sinistro chiuso 2 entrambi chiusi 3 Tabella 4.1: Tabella codici con gli occhi 0023, 3310, 01221, invece sono corrette 0123, 1320, 3212, ecc. 55

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Autenticazione Vocale

Autenticazione Vocale Autenticazione Vocale (A. Gorziglia) INTRODUZIONE: perché usare i sistemi biometrici per l autenticazione. Il motivo principale è quello di impedire all utente di perdere (o dimenticare) la chiave di autenticazione

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Un po di statistica. Christian Ferrari. Laboratorio di Matematica Un po di statistica Christian Ferrari Laboratorio di Matematica 1 Introduzione La statistica è una parte della matematica applicata che si occupa della raccolta, dell analisi e dell interpretazione di

Dettagli

G iochi con le carte 1

G iochi con le carte 1 Giochi con le carte 1 PREPARAZIONE E DESCRIZIONE DELLE CARTE L insegnante prepara su fogli A3 e distribuisce agli allievi le fotocopie dei tre diversi tipi di carte. Invita poi ciascun allievo a piegare

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Ricerca di outlier. Ricerca di Anomalie/Outlier

Ricerca di outlier. Ricerca di Anomalie/Outlier Ricerca di outlier Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Ricerca di Anomalie/Outlier Cosa sono gli outlier? L insieme di dati che sono considerevolmente differenti dalla

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Probabilità discreta

Probabilità discreta Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Regressione non lineare con un modello neurale feedforward

Regressione non lineare con un modello neurale feedforward Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri (sandri.marco@gmail.com) Regressione non lineare con un modello neurale

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 12-Il t-test per campioni appaiati vers. 1.2 (7 novembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Computazione per l interazione naturale: Modelli dinamici

Computazione per l interazione naturale: Modelli dinamici Computazione per l interazione naturale: Modelli dinamici Corso di Interazione Naturale Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it boccignone.di.unimi.it/in_2015.html

Dettagli

Obiettivo Principale: Spiegare come la stessa cosa possa essere realizzata in molti modi diversi e come, a volte, ci siano modi migliori di altri.

Obiettivo Principale: Spiegare come la stessa cosa possa essere realizzata in molti modi diversi e come, a volte, ci siano modi migliori di altri. 6 LEZIONE: Algoritmi Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10-25 Minuti (a seconda che tu abbia dei Tangram disponibili o debba tagliarli a mano) Obiettivo Principale: Spiegare come

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Il sistema monetario

Il sistema monetario Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti

Dettagli

Abbiamo costruito il grafico delle sst in funzione del tempo (dal 1880 al 1995).

Abbiamo costruito il grafico delle sst in funzione del tempo (dal 1880 al 1995). ANALISI DI UNA SERIE TEMPORALE Analisi statistica elementare Abbiamo costruito il grafico delle sst in funzione del tempo (dal 1880 al 1995). Si puo' osservare una media di circa 26 C e una deviazione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Indice. Introduzione...6. Capitolo 1: Realtà virtuale e computer vision..10. Capitolo 2: Riconoscimento facciale..34

Indice. Introduzione...6. Capitolo 1: Realtà virtuale e computer vision..10. Capitolo 2: Riconoscimento facciale..34 Indice Introduzione...6 Capitolo 1: Realtà virtuale e computer vision..10 Introduzione.....10 1.1 Realtà virtuale immersiva 11 1.2 Dispositivi per l interazione 12 1.3 Gradi di immersione...14 1.4 Realtà

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

STATISTICA IX lezione

STATISTICA IX lezione Anno Accademico 013-014 STATISTICA IX lezione 1 Il problema della verifica di un ipotesi statistica In termini generali, si studia la distribuzione T(X) di un opportuna grandezza X legata ai parametri

Dettagli

Test statistici di verifica di ipotesi

Test statistici di verifica di ipotesi Test e verifica di ipotesi Test e verifica di ipotesi Il test delle ipotesi consente di verificare se, e quanto, una determinata ipotesi (di carattere biologico, medico, economico,...) è supportata dall

Dettagli

Plate Locator Riconoscimento Automatico di Targhe

Plate Locator Riconoscimento Automatico di Targhe Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa

Dettagli

IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico)

IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico) IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico) [nota: Nel testo sono riportate tra virgolette alcune domande che insegnanti e studenti

Dettagli

LE MEDIE MOBILI CENTRATE

LE MEDIE MOBILI CENTRATE www.previsioniborsa.net 2 lezione METODO CICLICO LE MEDIE MOBILI CENTRATE Siamo rimasti a come risolvere il precedente problema del ritardo sulle medie mobili Quindi cosa dobbiamo fare? Dobbiamo semplicemente

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Barriere assorbenti nelle catene di Markov e una loro applicazione al web

Barriere assorbenti nelle catene di Markov e una loro applicazione al web Università Roma Tre Facoltà di Scienze M.F.N Corso di Laurea in Matematica a.a. 2001/2002 Barriere assorbenti nelle catene di Markov e una loro applicazione al web Giulio Simeone 1 Sommario Descrizione

Dettagli

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0 LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Esercitazione 1 del corso di Statistica 2 Prof. Domenico Vistocco

Esercitazione 1 del corso di Statistica 2 Prof. Domenico Vistocco Esercitazione 1 del corso di Statistica 2 Prof. Domenico Vistocco Alfonso Iodice D Enza April 26, 2007 1...prima di cominciare Contare, operazione solitamente semplice, può diventare complicata se lo scopo

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Capitolo 25: Lo scambio nel mercato delle assicurazioni

Capitolo 25: Lo scambio nel mercato delle assicurazioni Capitolo 25: Lo scambio nel mercato delle assicurazioni 25.1: Introduzione In questo capitolo la teoria economica discussa nei capitoli 23 e 24 viene applicata all analisi dello scambio del rischio nel

Dettagli

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero

Dettagli

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Dettagli

Il riduttore di focale utilizzato è il riduttore-correttore Celestron f/ 6.3.

Il riduttore di focale utilizzato è il riduttore-correttore Celestron f/ 6.3. LE FOCALI DEL C8 Di Giovanni Falcicchia Settembre 2010 Premessa (a cura del Telescope Doctor). Il Celestron C8 è uno Schmidt-Cassegrain, ovvero un telescopio composto da uno specchio primario concavo sferico

Dettagli

Indice. 1 Il monitoraggio del progetto formativo --------------------------------------------------------------- 3. 2 di 6

Indice. 1 Il monitoraggio del progetto formativo --------------------------------------------------------------- 3. 2 di 6 LEZIONE MONITORARE UN PROGETTO FORMATIVO. UNA TABELLA PROF. NICOLA PAPARELLA Indice 1 Il monitoraggio del progetto formativo --------------------------------------------------------------- 3 2 di 6 1 Il

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1 Informatica Pietro Storniolo storniolo@csai.unipa.it http://www.pa.icar.cnr.it/storniolo/info200708 Numeri razionali Cifre più significative: : sono le cifre associate ai pesi maggiori per i numeri maggiori

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA SCUOLA PRIMARIA DI CORTE FRANCA MATEMATICA CLASSE QUINTA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA L ALUNNO SVILUPPA UN ATTEGGIAMENTO POSITIVO RISPETTO ALLA MATEMATICA,

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 29-Analisi della potenza statistica vers. 1.0 (12 dicembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

I documenti di www.mistermanager.it. Gli ingredienti per l allenamento per la corsa LE RIPETUTE

I documenti di www.mistermanager.it. Gli ingredienti per l allenamento per la corsa LE RIPETUTE I documenti di www.mistermanager.it Gli ingredienti per l allenamento per la corsa LE RIPETUTE Le Ripetute sono una delle forme di allenamento che caratterizzano i corridori più evoluti, in quanto partono

Dettagli

Il Campionameto dei segnali e la loro rappresentazione. 1 e prende il nome frequenza di

Il Campionameto dei segnali e la loro rappresentazione. 1 e prende il nome frequenza di Il Campionameto dei segnali e la loro rappresentazione Il campionamento consente, partendo da un segnale a tempo continuo ovvero che fluisce con continuità nel tempo, di ottenere un segnale a tempo discreto,

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Prova di autovalutazione Prof. Roberta Siciliano

Prova di autovalutazione Prof. Roberta Siciliano Prova di autovalutazione Prof. Roberta Siciliano Esercizio 1 Nella seguente tabella è riportata la distribuzione di frequenza dei prezzi per camera di alcuni agriturismi, situati nella regione Basilicata.

Dettagli

Testo alla base del Pitgame redatto dal prof. Yvan Lengwiler, Università di Basilea

Testo alla base del Pitgame redatto dal prof. Yvan Lengwiler, Università di Basilea Testo alla base del Pitgame redatto dal prof. Yvan Lengwiler, Università di Basilea Funzionamento di un mercato ben organizzato Nel Pitgame i giocatori che hanno poche informazioni private interagiscono

Dettagli

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione Capitolo 2 MATRICI Fra tutte le applicazioni su uno spazio vettoriale interessa esaminare quelle che mantengono la struttura di spazio vettoriale e che, per questo, vengono dette lineari La loro importanza

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Compressione del Segnale (Audio)

Compressione del Segnale (Audio) Compressione del Segnale (Audio) Carlo Caini e Alessandro Vanelli Coralli Argomenti della Presentazione Introduzione Perché comprimere Come comprimere Esempi di Algoritmi di compressione Codifiche predittive

Dettagli

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω GIROSCOPIO Scopo dell esperienza: Verificare la relazione: ω p = bmg/iω dove ω p è la velocità angolare di precessione, ω è la velocità angolare di rotazione, I il momento principale d inerzia assiale,

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

Pro e contro delle RNA

Pro e contro delle RNA Pro e contro delle RNA Pro: - flessibilità: le RNA sono approssimatori universali; - aggiornabilità sequenziale: la stima dei pesi della rete può essere aggiornata man mano che arriva nuova informazione;

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

Gestione delle formazione

Gestione delle formazione IL SOFTWARE PER LA SICUREZZA E L AMBIENTE STRUMENTO Individuazione delle esigenze e programmazione della formazione Gestione delle formazione Il metodo di Risolvo per gestire un piano formativo dinamico

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 5-Indici di variabilità (vers. 1.0c, 20 ottobre 2015) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE Psicometria (8 CFU) Corso di Laurea triennale Un punteggio all interno di una distribuzione è in realtà privo di significato se preso da solo. Sapere che un soggetto ha ottenuto un punteggio x=52 in una

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

Dettagli

Google AdWords. Corrispondenze Parole Chiave

Google AdWords. Corrispondenze Parole Chiave Google AdWords Corrispondenze Parole Chiave Una mini guida sulle varie tipologie di corrispondenze per le parole chiave di Google AdWords, la scelta su quali usare può far cambiare di molto il punteggio

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0 Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente

Dettagli

LA DISTRIBUZIONE DI PROBABILITÀ DEI RITORNI AZIONARI FUTURI SARÀ LA MEDESIMA DEL PASSATO?

LA DISTRIBUZIONE DI PROBABILITÀ DEI RITORNI AZIONARI FUTURI SARÀ LA MEDESIMA DEL PASSATO? LA DISTRIBUZIONE DI PROBABILITÀ DEI RITORNI AZIONARI FUTURI SARÀ LA MEDESIMA DEL PASSATO? Versione preliminare: 25 Settembre 2008 Nicola Zanella E-Mail: n.zanella@yahoo.it ABSTRACT In questa ricerca ho

Dettagli

Introduzione al Campionamento e

Introduzione al Campionamento e Introduzione al Campionamento e all analisi analisi in frequenza Presentazione basata sul Cap.V di Introduction of Engineering Experimentation, A.J.Wheeler, A.R.Ganj, Prentice Hall Campionamento L'utilizzo

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

INTRODUZIONE I CICLI DI BORSA

INTRODUZIONE I CICLI DI BORSA www.previsioniborsa.net 1 lezione METODO CICLICO INTRODUZIONE Questo metodo e praticamente un riassunto in breve di anni di esperienza e di studi sull Analisi Tecnica di borsa con specializzazione in particolare

Dettagli

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI VERO FALSO CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI 1. V F Un ipotesi statistica è un assunzione sulle caratteristiche di una o più variabili in una o più popolazioni 2. V F L ipotesi nulla unita

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una

Dettagli

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione)

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione) Esercitazione #5 di Statistica Test ed Intervalli di Confidenza (per una popolazione) Dicembre 00 1 Esercizi 1.1 Test su media (con varianza nota) Esercizio n. 1 Il calore (in calorie per grammo) emesso

Dettagli

Metodi statistici per le ricerche di mercato

Metodi statistici per le ricerche di mercato Metodi statistici per le ricerche di mercato Prof.ssa Isabella Mingo A.A. 2014-2015 Facoltà di Scienze Politiche, Sociologia, Comunicazione Corso di laurea Magistrale in «Organizzazione e marketing per

Dettagli