Elaborazione delle Immagini Digitali Progetto d`esame Algoritmo di
Transcript
Elaborazione delle Immagini Digitali Progetto d`esame Algoritmo di
Elaborazione delle Immagini Digitali Progetto d’esame Algoritmo di segmentazione delle immagini Split & Merge in C e OpenCv Stud. Gianfx (matr. 108/XXX) Corso di Laurea in Informatica c/o Università Parthenope di Napoli 22 luglio 2009 1 Indice 1 Introduzione 3 2 Segmentazione nelle immagini digitali 3 3 Segmentazione in regioni - Region splitting e merging 3 4 Strategia utilizzata 4.1 Sintesi dell’algoritmo . . . . . . . . 4.2 Principali problemi realizzativi . . 4.2.1 Scelta delle strutture dati . 4.2.2 Quadranti di misura dispari 4.2.3 Scelta dei valori di soglia . 4.2.4 Immagini multicanale . . . 4 4 5 5 6 7 7 5 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6 Conclusioni 13 2 1 Introduzione In questo elaborato viene trattata un importante argomento dell’elaborazione delle immagini digitali: La segmentazione. In particolare viene illustrato un metodo denominato Region Splitting & Merging. L’algoritmo che effattua la predetta elaborazione è stato scritto nel linguaggio C e utilizza le librerie di Computer Vision denominate OpenCV. La scelta di tale ambiente di sviluppo sottolinea ancor più l’efficienza computazionale del metodo di segmentazione trattato. Infatti le librerie OpenCV sono state sviluppate l’efficiente utilizzo in applicazioni real time grazie ad una buona resa computazionale. Oltre a strumenti diretti specificatamente all’elaborazione delle immagini OpenCV implementa potenti librerie matematiche e in particolare a supporto del calcolo matriciale. 2 Segmentazione nelle immagini digitali La segmentazione consiste nel suddividere un’immagine digitale in un insieme di regioni che presentano caratteristiche di omogeneitá rispetto ad una determinata proprietà. L’accuratezza della segmentazione comporta la riuscita o il fallimento delle procedure computerizzate di analisi di una scena. In generale le tecniche di segmentazione più comuni sono classificabili in due categorie, quelle basate sulla individuazione di brusche variazioni e cambiamenti locali di intensità (proprietà di discontinuità e similarità dei valori di intensità) e quelle basate sul partizionamento dell’immagine in regioni simili. 3 Segmentazione in regioni - Region splitting e merging La segmentazione discussa e implementata in questo progetto è denominata Region splitting e merging. L’idea è quella di suddividere l’immagine in un insieme di regioni arbitrarie ma disgiunte e successivamente fonderle e/o separarle in regioni che possano soddisfare le seguenti condizioni generali di semgentazione: S a) ni=1 Ri = R b) Ri è un insieme connesso, i = 1, 2..., n. T c) Ri Rj = Ø per tutti i valori iej, i 6= j d) Q(Ri ) = V ERO per i = 1, 2, ..., n. S e) Q(Ri Rj ) = F ALSO per ogni coppia di regioni adiacenti. Sia R la regione intera dell’immagine e si scelga un predicato Q. si può segmentare R suuddividendola in regioni sempre più piccole in modo che per ogni regione Ri , Q(Ri ) = V ERO. Si comincia con l’intera regione: se 3 Q(R) = FALSO, si divide l’immagine in quadranti. Se Q è FALSO per tutti i quadranti generati si suddividono questi ultimi in ulteriori sottoquadranti e cosı̀ via. In particolare la tecnica utilizzata in questo progetto viene rappresentata in forma di quadtrees. cioè alberi quaternari dove la radice rappresenta l’immagine originale e le foglie rappresentano i sottoquadranti non più suddivisibili (Q(Rf oglia ) = V ERO). Si nota che alla fine di questo processo la partizione finale conterrà regioni adiacenti con proprietà simili. Tali regioni simili vengono successivamente fuse se ulteriori condizioni sono soddisfatte (diversamente dalla condizione di partizionamento, in questo caso intervengono anche criteri spaziali). In questo progetto la condizione di splitting è data dalla deviazione standard della regione Ri , ovvero qualora la deviazione standard risultasse sopra una certa soglia (indice di non uniformità della regione)la regione viene ulteriormente suddivisa. La regione che soddisfa il criterio assume una intensità uniforme cercando nell’intorno una regione già suddivisa che abbia una intensità compatibile per la fusione. 4 Strategia utilizzata 4.1 Sintesi dell’algoritmo L’algoritmo utilizzato si basa sulla tecnica split & merge e in particolare effettua un partizionamento iterativo in quattro quadranti (quadtrees) dell’immagine finchè alcuni criteri non vengno soddisfatti. Ad ogni quadrante generato viene associato il valore della media e della deviazione standard nonchè coordinate assolute x e y di un vertice del quadrante e altre feature utili. Di seguito vengono illustrate le più rilevanti: media del quadrante R: m(R) = 1 X I(x, y) n (x,y)∈R dove la funzione I(x,y) rappresenta il valore di intensità del pixel di colonna x e riga y dell’immagine. deviazione standard del quadrante R: v u u std(R) = t X 1 (I(x, y) − m(R))2 n − 1 (x,y)∈R La deviazione standard fornisce il grado di variabilità del valore dei pixels del quadrante. In altre parole un quadrante con una bassa deviazione standard indica una certa uniformità dell’intensità dei pixels. Premesso quanto sopra di seguito vengono illustrate schematicamente le fasi del procedimento utilizzato. 4 Inizialmente lo stack è composto dall’immagine originale (intera) While( stack 6= Ø ) { estrai quadrante Ri dallo stack; if( std(Ri ) > Ts ) { suddividi (Ri ) e inserisci i 4 sottoquadranti ricavati nello stack } else : { fondi Ri con i quadranti vicini con media compatibile e dev std sotto la soglia; } } Nel caso non vi siano quadranti vicini al quadrante Ri con deviazione standard sotto la soglia Ts ai pixels del quadrante Ri viene assegnato il loro valore medio. In caso positivo invece si confronta la media del quadrante vicino e se compatibile entrambe i quadranti assumono lo stesso colore (medio). Ulteriori soglie vengono introdotte per limitare la suddivisione in quadranti ad una misura minima e la tolleranza tra le medie dei quadranti fondibili. 4.2 4.2.1 Principali problemi realizzativi Scelta delle strutture dati La struttura confacente alla problematica è senz’altro un albero quaternario dove ogni nodo è rappresentato da un quadrante. Ogni quadrante è padre di quattro sottoquadranti. Le foglie dell’albero rappresentano i quadranti non più suddivisibili. 5 In questo progetto, utilizzando anche gli strumenti messi a disposizione dall’ambiente OpenCV, viene utilizzata una sequenza dati di OpenCv (CvSeq* ) con cui è possibile implementare varie strutture dati anche molto complesse. In questo caso sono state utilizzate le funzioni di gestione delle sequenze di OpenCv al fine di simulare uno stack di blocchi di immagine (quadranti)(cvSeqPush(), cvSeqPop(), cvSeqGetElem(). Per implementare il blocco dell’immagine (quadrante) è stata realizzata una struttura in C con i seguenti membri: - int x origine x del blocco - int y origine y del blocco - int width larghezza del blocco - int height altezza del blocco - CvScalar dev std deviazione standard del blocco - CvScalar media origine x del blocco - int depth profondità dell’albero(posizione) 4.2.2 Quadranti di misura dispari Una prima difficoltà è stata riscontrata nella suddivisione dei quadranti con misure (larghezza/altezza) dispari. Si è scelto di assegnare al sottoquadrante superiore sinistro e inferiore sinistro la misura uguale a ((int)(larghezza/2))+ 1, mentra al quadrante superiore sinistro e superiore destro la misura uguale a (altezza/2)+ 1). Gli altri sottoquadranti assumono la misura intera della metà del quadrante genitore. Ragionamento analogo è stato usato per assegnare le coordinate origine (assolute) di ogni quadrante. In questo caso l’assegnazione deve rispettare più criteri. Di seguito viene mostrato uno stralcio di codice C con cui è stata trattata la problematica: //QUADRANTE IN ALTO A SX if(j == 0 && i == 0) { BloccoCorrente-¿x = coordQuadPadreX; BloccoCorrente-¿y = coordQuadPadreY; //prende le stesse coordinate del blocco padre } ////////QUADRANTE ALTO DX else if(j == 1 && i == 0) { BloccoCorrente-¿y = coordQuadPadreY; if(isOdd(widthQquadPadreX)) BloccoCorrente-¿x = coordQuadPadreX + quadW[0]; }else BloccoCorrente-¿x = coordQuadPadreX + quadW[1]; } 6 ...continuando in modo simile per gli altri quadranti dove quadW[0] e quadH[0] rappresentano rispettivamente (WidthQuadPadre / 2) + 1 e (HeightQuadPadre/2)+1 mentre quadW[1] e quadH[1] rappresentano (WidthQuadPadre/2) e HeightQuadPadre/2 (in valori interi). 4.2.3 Scelta dei valori di soglia Particolare importanza assumono le scelte riguardanti i valori di soglia. Tali valori, sono stati scelti mediante varie esecuzioni dell’algoritmo. La prima soglia riguarda il valore della massima deviazione standard che i blocchi devono assumere per evitare di essere ulteriormente suddivisi. La soglia del valore di media invece stabilisce la tolleranza tra la media dei blocchi vicini candidati per la fusione. Un altra soglia stabilisce la distanza minima tra le foglie dell’albero, per consentire la fusione di blocchi simili. Una ulteriore soglia viene introdotta per evitare elevate frammentazione dei blocchi. Tale soglia stabilisce la misura minima della larghezza/altezza che un sottoblocco può assumere. Un blocco che raggiunge la misura minima non viene ulteriormente suddiviso. 4.2.4 Immagini multicanale L’estensione del presente algoritmo alle immagini a colori ha comportato la modifica di alcune funzioni. In particolare è stata utilizzata la funzione cvSetImageROI(IplImage *img, CvRect(x,y,width,height)) per selezionare un rettangolo di determinate dimensioni indifferentemente dal numero di canali dell’immagine processata. Diversamente per i valori di soglia è stato scelto di usare valori scalari mediante la struttura OpenCV CvScalar(valoreR, valoreG, valoreB) per effettuare i confronti con valori di riferimento della deviazione standard, e della media per ogni canale dell’immagine. Il risultato raggiunto consente di processare immagini a toni di grigio e immagini a colori indifferentemente. 7 5 Risultati In questa sezione vengono presentati vari test di esecuzione con differenti valori di soglia. Per ogni test viene mostrato oltre all’immagine elaborata il numero di sotto quadranti generati. Figura 1: Immagine originale di 567 x 537 pixels su cui verranno effettuati i test 8 Figura 2: risultato con soglia dev std minore di 15 e impostando una frammentazione minima pari a 2 pixels. inoltrela massima distanza (in nodi) per la fusione dei blocchi è fissata a 2 Le immagini sopra descrivono la segmentazione applicata all’immagine originale (a sinistra) e la frammentazione in quadranti (a destra). Si noti come il cielo e il mare siano stati segmentati correttamente, mentre la montagna (Vesuvio) in sfondo è stata quasi interamente assorbita. Si noti che la barchetta di colore bianco è rimasta ben in evidenza. Sono state generate 9200 regioni. 9 Figura 3: risultato con soglia dev std minore di 15 e impostando una frammentazione minima pari a 8 pixels. Inoltre la massima distanza (in nodi) per la fusione dei blocchi è fissata a 2 mentre la tolleranza tra i valori di media dei blocchi adiacenti è fissata a 60. Il test di cui sopra mostra la segmentazione ottenuta aumentando il valore della minima misura dei quadranti segmentati. In questo caso è stata fissata a 8 pixels. Sono state generate 2616 regioni. 10 Figura 4: risultato con soglia dev std minore di 15 e impostando una frammentazione minima pari a 2 pixels e aumentando la distanza massima di fusione dei blocchi adiacenti a 8.La tolleranza tra i valori di media dei blocchi adiacenti è rimasta a 60. Il test di cui sopra mostra come aumentando la distanza massima di fusione dei blocchi compatibili e diminuendo la frammentazione minima si ottiene una buona segmentazione delle superfici del mare e del cielo pur restando ben definiti i bordi degli oggetti grandi e piccoli (si noti la presenza visibile della barchetta). Sono state generate 9200 regioni. 11 Figura 5: risultato con soglia dev std minore di 15 e impostando una frammentazione minima pari a 8 pixels con la distanza massima di fusione dei blocchi adiacenti a 8.La tolleranza tra i valori di media dei blocchi adiacenti è rimasta a 60. Si noti in questa ultima segmentazione come aumentando la frammentazione minima a 8 pixels si raggiunge un buon risultato di segmentazione delle zone ampie. (Mare, cielo e soggetto).Sono state generate 2616 regioni. 12 Figura 6: Segmentazione con parametri ottimali di Lena. Per finire si mostra la segmentazione di una immagine classica dell’elaborazione delle immagini. 6 Conclusioni I risultati sopra evidenziati mostrano una discreta segmentazione pur restando restando relativamente semplice la struttura dell’algoritmo. Tuttavia miglioramenti potrebbero essere necessari al fine di diminuire la complessità computazionale. Infatti la scelta della struttura dati a stack ha comportato una difficoltà nella mappatura delle distanze effettive dei blocchi nell’immagine originale. Per ottenere dei buoni risultati è stato necessario utilizzare due stack, quello dei blocchi da processare e quello dei blocchi già processati al fine di non perdere le informazioni di posizionamento di tutti i blocchi non solo quelli relativi ad un solo ramo dell’albero quaternario. Questa scelta pur restituendo dei buoni risultati comporta un elevato carico computazionale, in quanto ad ogni possibile fusione segue una analisi dei blocchi già processati che non tiene conto della reale collocazione nell’immagine originale. Una possibile soluzione potrebbe essere quella di adottare una diversa struttura dati a grafo per rappresentare la topologia dei blocchi partizionati. Gianfx . 13 CODICE SORGENTE C *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI (IJMRMXMZEC+MERJ\ GTT 4EKMRE HM %PKSVMXQS HM WIKQIRXE^MSRI HIPPI MQQEKMRM QIHMERXI XIGRMGE 7TPMX 1IVKI WZMPYTTEXS HEPPS WXYHIRXI HM -RJSVQEXMGE G S 92MZIVWMX£ 4EVXLIRSTI HM 2ETSPM +MERJ\ QEXV <<< HE TVIWIRXEVI GSQI TVSKIXXS TIV WSWXIRIVI P IWEQI HM )PEFSVE^MSRI HIPPI -QQEKMRM 4IV PE GSVVIXXE GSQTMPE^MSRI « RIGIWWEVMS TVITEVEVI P EQFMIRXI HM WZMPYTTS EPPE GSQTMPE^MSRI GSR PMFVIVMI HM 'SQTYXIV :MWMSR 3TIR': (IJMRM^MSRI HIPPI WSKPMI HIJMRI 7+0C():C78( HIZME^MSRI WXERHEVH QMRMQE HIJMRI 7+0C1)(-%C 1)6+) HMJJIVIR^E QE\ HIPP MRXIRWMX£ QIHME HIM FPSGGLM JSRHMFMPM HIJMRI (-78C3*C*97-32 HMWXER^E QE\ HM FPSGGLM JSRHMFMPM HIJMRI 1-2C*6%+1)28%> QMRMQE QMWYVE HIP PEXS HIP FPSGGS EVVIWXS WTPMXXMRK MRGPYHI MRGPYHI GZ L LMKLKYM L MRGPYHI MRGPYHI GX]TI L" WXHMS L" HMGLMEVE^MSRM KPSFEPM -TP-QEKI MQEKI! MQQEKMRICSVMKMREPI! -TP-QEKI MQQEKMRICPEF! -TP-QEKI MQQEKMRICUYEHVIXXEXE! MRX FPSGGLMCJYWM! MRX UYEHVERXMCKIRIVEXM! MRX FPSGGLMCJYWMCWMRKSPEVQIRXI! X]TIHIJ WXVYGX GSQTSRIRXI _ MRX R 'Z7GEPEV QIHME 'Z7GEPEV HIZCWXH MRX \ SVMKMRI FPSGGS \ MRX ] SVMKMRI FPSGGS ] MRX [MHXL PEVKLI^^E FPSGGS MRX LIMKLX EPXI^^E FPSGGS MRX HITXL TVSJSRHMX£ EPFIVS GSQTSRIRXI RI\X GSQTSRIRXI TEHVI a GSQTSRIRXI *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI (IJMRMXMZEC+MERJ\ GTT MRX MW3HH MRX RYQIVS _ MJ RYQIVS ! VIXYVR IPWI VIXYVR a ZSMH GSVVIKKMCGSSVHMREXI MRX PEXS _ MRX (MQW (MQW? A ! PEXS (MQW? A ! PEXS MJ MW3HH PEXS _ (MQW? A ! (MQW? A a a JMRI JYRGXMSR GSSVIKKM ZSMH 7IX4M\IP&PSGGS -TP-QEKI MQK GSQTSRIRXI GSQT _ GZ7IX-QEKI63- MQK GZ6IGX GSQT "\ GSQT "] GSQT "[MHXL GSQT "LIMKLX a ZSMH 6IWIX4M\IP&PSGGS -TP-QEKI GZ6IWIX-QEKI63- MQK a MQK _ ZSMH WIX%ZK(IZ7XH&PSGGS -TP-QEKI MQK GSQTSRIRXI GSQT _ GSQT "HIZCWXH ! GZ7GEPEV GSQT "QIHME ! GZ7GEPEV 'Z7GEPEV WSKPME ! GZ7GEPEV 7+0C():C78( 7+0C():C78( 7+0C():C78( 7+0C():C78( 7IX4M\IP&PSGGS MQK GSQT MRX M GZ%ZK7HZ MQK GSQT "QIHME GSQT "HIZCWXH 6IWIX4M\IP&PSGGS MQK a MRX ZIVMJMGE(IZ7XH GSQTSRIRXI _ GSQT 2900 4EKMRE HM *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI (IJMRMXMZEC+MERJ\ GTT 4EKMRE 'Z7GEPEV WSKPME ! GZ7GEPEV 7+0C():C78( 7+0C():C78( 7+0C():C78( 7+0C():C78( TVMRXJ ZIVMJMGS HIZ7XH! J@R MRX GSYRX! M JSV M ! M M _ MJ GSQT "HIZCWXH ZEP?MA GSYRX a WXH ! WSKPME ZEP?MA MJ GSYRX !! VIXYVR IPWI VIXYVR a MRX 8IWX1IVKI'SRHMXMSR GSQTSRIRXI GYVV&PSGO GSQTSRIRXI ZMGMRS _MRX HMJJ(MWX ! MRX WSKPME ! 7+0C1)(-%C 1)6+) WSKPME TIV ZEPYXEVI PE HMJJIVIR^E HM GSPSVI WYJJMGMIRXI TIV IJJIXXYEVI PE JYWMSRI HMJJ(MWX ! MRX MRX M GLIGO! EFW GYVV&PSGO "HITXL JSV M! M M _ MJ JEFW GYVV&PSGO "QIHME ZEP?MA GLIGO a MJ GLIGO !! VIXYVR IPWI VIXYVR HMJJ(MWX ZMGMRS "HITXL ZMGMRS "QIHME ZEP?MA WSKPME (-78C3*C*97-32 MJ EFW HSYFPI MRXSVRS "HITXL XQT'SQT "HITXL "QIHME ZEP? A XQT'SQT "QIHME ZEP? A HSYFPI HSYFPI a ZSMH 7IX1IHME'SPSVI GSQTSRIRXI ZMGMRS GSQTSRIRXI 7IX4M\IP&PSGGS MQQEKMRICPEF ZMGMRS GZ7IX MQQEKMRICPEF ZMGMRS "QIHME 2900 6IWIX4M\IP&PSGGS MQQEKMRICPEF 7IX4M\IP&PSGGS MQQEKMRICPEF ZMGMRS GZ7IX MQQEKMRICPEF ZMGMRS "QIHME 2900 6IWIX4M\IP&PSGGS MQQEKMRICPEF ZMGMRS _ EFW HSYFPI MRXSVRS HM *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI (IJMRMXMZEC+MERJ\ GTT 4EKMRE HM a ZSMH TEVM^MSRE&PSGGS 'Z7IU WIU GSQTSRIRXI XQT'SQT _ 4%68->-32%1)283 MRX M N MRHMGI! MRX UYEH;? A MRX UYEH,? A GSVVIKKMCGSSVHMREXI XQT'SQT "[MHXL UYEH; GSVVIKKMCGSSVHMREXI XQT'SQT "LIMKLX UYEH, EPXI^^E FPSGGS WSXXS LIMKLX MRX MRX MRX MRX MRX MRX MRX MRX RIP GEWS HM PEVKLI^^E EPXI^^E HMWTEVM PEVKLI^^E " FPSGGS E WMRMWXVE [MHXL WXIT< ! WXIT= ! EHH ! GSSVHCUYEHCTEHVI< ! XQT'SQT "\ GSSVHCUYEHCTEHVI= ! XQT'SQT "] [MHXLCUYEHCTEHVI< ! XQT'SQT "[MHXL LIMKLXCUYEHCTEHVI= ! XQT'SQT "LIMKLX HITXLCUYEHCTEHVI ! XQT'SQT "HITXL 'Z7GEPEV W W ZEP? A ! JSV M! M M _ WXIT= ! M UYEH,?MA JSV N! N N _ GEPGSPS GSSVHMREXI \ I ] HM VMJIVMQIRXS HIP WSXXSFPSGGS 59%(6%28) -2 %083 % 7< MJ N !! M !! PI GSRHM^MSRM WSRS WMGYVEQIRXI VMHYGMFMPM _ PI HMGLMEVS XYXXI TIV PSKMGE I GIVZ JVMXXS XQT'SQT "\ ! GSSVHCUYEHCTEHVI< XQT'SQT "] ! GSSVHCUYEHCTEHVI= a 59%(6%28) %083 (< *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI (IJMRMXMZEC+MERJ\ GTT 4EKMRE IPWI MJ N !! M !! _ XQT'SQT "] ! GSSVHCUYEHCTEHVI= MJ MW3HH [MHXLCUYEHCTEHVI< _ XQT'SQT "\ ! GSSVHCUYEHCTEHVI< ? A UYEH; UYIPPE TM¼ PYRKLE TVMRXJ @R HM @R " H HMWT " H XQT'SQT "[MHXL UYEH;? A aIPWI_ XQT'SQT "\ ! GSSVHCUYEHCTEHVI< UYEH; ? A TVMRXJ @R @R " H TEVM " H XQT'SQT "[MHXL UYEH;? A a a 59%(6%28) &%773 7< IPWI MJ N !! M !! _ TVMRXJ " XQT'SQT "\ ! GSSVHCUYEHCTEHVI< MJ MW3HH LIMKLXCUYEHCTEHVI= _ XQT'SQT "] ! GSSVHCUYEHCTEHVI= UYEH, a IPWI XQT'SQT "] ! GSSVHCUYEHCTEHVI= UYEH, ? A ? A UYIPPE TM¼ GSVXE a 59%(6%28) &%773 (< IPWI MJ N !! M !! _ TVMRXJ " MJ MW3HH [MHXLCUYEHCTEHVI< WI PEVKLI^^E FPSGGS TEHVI « HMWTEVM ? A ? A XQT'SQT "\ ! GSSVHCUYEHCTEHVI< UYEH; IPWI XQT'SQT "\ ! GSSVHCUYEHCTEHVI< UYEH; EWWIKRS QIX£ WSPS PE MRX QIX£ MJ MW3HH LIMKLXCUYEHCTEHVI= WI PE EPXI^^E HIP FPSGGS TEHVI « HMWTEVM ? A ? A XQT'SQT "] ! GSSVHCUYEHCTEHVI= UYEH, IPWI XQT'SQT "] ! GSSVHCUYEHCTEHVI= UYEH, MHIQ UYIPPE TM¼ GSVXE a EWWIKRS P EPXI^^E I PE PEVKLI^^E EP WSXXSFPSGGS GSVVIRXI *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI (IJMRMXMZEC+MERJ\ GTT 4EKMRE HM XQT'SQT "LIMKLX ! UYEH,?MA XQT'SQT "[MHXL ! UYEH;?NA EWWIKRS QIQSVM^^S PE TVSJSRHMX£ HIPP EPFIVS XQT'SQT "HITXL ! HITXLCUYEHCTEHVI HMWIKRS YR UYEHVEXS WYPP MQQEKMRI QSHMJMGEFMPI 232 973 0 36-+-2%0) -2 59%283 0) 0-2)) ()0 59%(6%83 -2*09)2>%23 0% ():C78( GZ6IGXERKPI MQQEKMRICUYEHVIXXEXE GZ4SMRX XQT'SQT "\ XQT'SQT "] GZ4SMRX XQT'SQT "\ XQT'SQT "[MHXL XQT'SQT "] XQT'SQT "LIMKLX W TVMRXJ LIMKLX! H@R WIPI^MSRS MP UYEHVEXS H\ H [MHXL! H XQT'SQT "\ XQT'SQT "] UYEH; UYEH, GZ%HH7 MQQEKMRICSVMKMREPI W MQQEKMRICSVMKMREPI 2900 GZ6IWIX-QEKI63- MQQEKMRICSVMKMREPI MP FPSGGS EWWYQI PI MRJSVQE^MSRM WXH QIHME I HIZ HIPPE TSV^MSRI HM MQK GLI VETTVIWIRXE WIX%ZK(IZ7XH&PSGGS MQQEKMRICSVMKMREPI XQT'SQT QIXXS MP WSXXSFPSGGS MR XIWXE EPPS WXEGO GZ7IU4YWL WIU XQT'SQT H\ H @R TVMRXJ LS MRWIVMXS RIPPS WXEGO XQT'SQT "\ XQT'SQT "] XQT'SQT "[MHXL XQT'SQT "LIMKLX MRHMGI UYEHVERXMCKIRIVEXM WXEXMWXMGLI a a a JMRI JSV MRXIRVS WXIT< ! JMRI JSV IWXIVRS YR TS HM H\ H " MQK *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI MRX QEMR MRX EVKG GLEV GLEV (IJMRMXMZEC+MERJ\ GTT 4EKMRE HM -2->-3 1%-2 EVKZ _ JMPIREQI ! EVKG !! # EVKZ? A GLEV MJ KMERJ\ NTK MQQEKMRICSVMKMREPI ! GZ0SEH-QEKI JMPIREQI VIXYVR MQQEKMRICSVMKMREPI ! GZ'PSRI-QEKI MQEKI GPSRS P MQQEKMRI WY ETTPMGEVI PE WIKQIRXE^MSRI MQQEKMRICPEF ! GZ'PSRI-QEKI MQQEKMRICSVMKMREPI MQQEKMRICUYEHVIXXEXE ! GZ'PSRI-QEKI MQQEKMRICSVMKMREPI !! 'Z1IQ7XSVEKI KCWXSVEKI ! 2900 KCWXSVEKI ! GZ'VIEXI1IQ7XSVEKI 'Z7IU WIU ! 'Z7IU IPIQ7TPMXXIH ! 'Z1IQ7XSVEKI KCWXSVEKICWTPMX ! 2900 KCWXSVEKICWTPMX ! GZ'VIEXI1IQ7XSVEKI WIU ! GZ'VIEXI7IU WM^ISJ 'Z7IU WM^ISJ GSQTSRIRXI KCWXSVEKI IPIQ7TPMXXIH ! GZ'VIEXI7IU WM^ISJ 'Z7IU WM^ISJ GSQTSRIRXI KCWXSVEKICWTPMX GSQTSRIRXI XQT'SQT UYEH UYEH LIMKLX ! MQQEKMRICSVMKMREPI "LIMKLX UYEH [MHXL ! MQQEKMRICSVMKMREPI "[MHXL UYEH \ ! UYEH ] ! UYEH HITXL ! XQT'SQT ! UYEH GZ7IU4YWL WIU XQT'SQT -2->-3 '-'03 46-2'-4%0) [LMPI WIU "XSXEP " JMRGL« PS WXEGO RSR « ZYSXS _ IWXVEKKS YR GSQTSRIRXI HEPPS WXEGO GZ7IU4ST WIU XQT'SQT :IVMJMGS WI « RIGIWWEVMS WYHHMZMHIVI YPXIVMSVQIRXI PE HIZME^MSRI WXERHEVH HIP FPSGGS IWXVEXXS GM MRHMGE P YRMJSVQMX£ HIP GSPSVI MJ ZIVMJMGE(IZ7XH XQT'SQT `` XQT'SQT "LIMKLX ! 1-2C*6%+1)28%> `` XQT'SQT "[MHXL 1-2C*6%+1)28%> MP s I s TEVEQIXVS MRHMGERS PE QMRMQE JVEQQIRXE^MSRI ! *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI _MRX MRHI\ ! TVMRXJ "\ XQT'SQT "] XQT'SQT 59- (IJMRMXMZEC+MERJ\ GTT 4EKMRE HM IWIKYS MP QIVKI GSRH HIZ WXH WSHHMWJEXXE IJJIXXYS MP QIVKI H\ H MQK H\ H @R XQT'SQT "[MHXL XQT'SQT "LIMKLX -27)6-6) 0) 34)6%>-32- (- 1)6+) ()- &03'',- :-'-2- ) '314%8-&-0- TVMRXJ H MXIVE^MSRI WXO H H\ H WSHHMWJE PE WSKPME J J J @R MRHMGI WIU "XSXEP XQT'SQT "[MHXL XQT'SQT "LIMKLX XQT'SQT "HIZCWXH ZEP? A XQT'SQT "HIZCWXH ZEP? A XQT'SQT "HIZCWXH ZEP? A TVMRXJ EREPM^^S M ZMGMRM @R MRX MRHI\! M N HITXL ! GSQTSRIRXI ZMGMRS MJ WIU "XSXEP HITXL HITXL ! WIU "XSXEP MRX PSGEP4VSJSRHMXE! JSRHS MP FPSGGS IWXVEXXS GLI LE KM£ PE HIZME^MSRI WXH WSHHMWJEGIRXI 7IX4M\IP&PSGGS MQQEKMRICPEF XQT'SQT GZ7IX MQQEKMRICPEF XQT'SQT "QIHME 2900 6IWIX4M\IP&PSGGS MQQEKMRICPEF MRWIVMWGS MP FPSGGS IWXVEXXS RIPPS WXEGO HIM FPSGGLM WIKQIRXEXM GZ7IU4YWL IPIQ7TPMXXIH XQT'SQT JSV MRX M! _ M IPIQ7TPMXXIH "XSXEP M GSQTSRIRXI ZMGMRS ! GSQTSRIRXI GZ+IX7IU)PIQ IPIQ7TPMXXIH M MJ 8IWX1IVKI'SRHMXMSR XQT'SQT ZMGMRS _ 7IX1IHME'SPSVI XQT'SQT ZMGMRS GZ7IU6IQSZI IPIQ7TPMXXIH M FPSGGLMCJYWM a a W]WXIQ a IPWI _ TEYWI GVMXIVMS HM WIKQIRXE^MSRI RSR WSHHMWJEXXS IWIKYS TEVXM^MSREQIRXS *MPI LSQI KMERJ\ YRM IPEFSVE^MSRIžX1IVKI TEVM^MSRE&PSGGS WIU XQT'SQT RIPPS WXEGO a JMRI TEVXM^MSREQIRXS TVMRXJ a (IJMRMXMZEC+MERJ\ GTT 4EKMRE HM MP FPSGGS IWXVEXXS ZMIRI TEVXM^MSREXS I MRWIVMXS %HIWWS PS WXEGO GSRXE JMRI GMGPS TVMRGMTEPI WXEGO "XSXEP! H@R RYSZM GSQTSRIRXM WIU "XSXEP W]WXIQ TEYWI GMGPS TVMRGMTEPI TVMRXJ 78%8-78-',) @R FPSGGLM WMQMPM JYWM UYEHVERXMCKIRIVEXM H@R @RUYEHVERXM XSXEPM KIRIVEXM GZ2EQIH;MRHS[ MQQEKMRICSVMKMREPI GZ7LS[-QEKI MQQEKMRICSVMKMREPI MQQEKMRICSVMKMREPI GZ2EQIH;MRHS[ MQQEKMRI WIKQIRXEXE GZ7LS[-QEKI MQQEKMRI WIKQIRXEXE MQQEKMRICPEF GZ2EQIH;MRHS[ MQQEKMRI UYEHVIXXEXE GZ7LS[-QEKI MQQEKMRI UYEHVIXXEXE MQQEKMRICUYEHVIXXEXE GZ;EMX/I] GZ6IPIEWI-QEKI MQEKI a +MERJ\ KMERJ\$KMERJ\ MX" H FPSGGLMCJYWM