Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Inz˙ynierii Biomedycznej KATEDRA AUTOMATYKI I INZ˙YNIERII BIOMEDYCZNEJ R OZPRAWA DOKTORSKA TOMASZ KRYJAK IMPLEMENTACJA ZAAWANSOWANYCH ALGORYTMÓW PRZETWARZANIA, ANALIZY I SZYFROWANIA OBRAZÓW W UKŁADACH REPROGRAMOWALNYCH PROMOTOR: drhab.inz˙.MarekGorgon´,prof.nadzw.AGH Kraków 2012 Ukochanym Rodzicom AGH University of Science and Technology in Krakow Faculty of Electrical Engineering, Automatics, Computer Science and Biomedical Engineering DEPARTMENT OF AUTOMATICS AND BIOMEDICAL ENGINEERING P .D. T H HESIS TOMASZ KRYJAK IMPLEMENTATION OF ADVANCED IMAGE PROCESSING, ANALYSIS AND ENCRYPTION ALGORITHMS IN REPROGRAMMABLE DEVICES SUPERVISOR: MarekGorgon´ Ph.D.,D.Sc. Krakow 2012 PODZIE˛KOWANIA Pragne˛ wtymmiejscupodzie˛kowac´ Wszystkim,bezktórychtapracabyniepowstała: – Promotorowi dr hab. inz˙. Markowi Gorgoniowi z pomoc w tworzeniu rozprawy oraz opieke˛ nad moimrozwojemnaukowym, – Panu dr inz˙. Zbigniewowi Mikrutowi za dobre słowo i motywowanie do wysiłku prowadzenia badan´,atakz˙ekonsultacjewsprawachalgorytmówwizyjnych, – Panu mgr inz˙. Mateuszowi Komorkiewiczowi za pomoc w sprze˛towej weryfikacji zaimplemen- towanych algorytmów oraz owocna˛współprace˛, której rezultatem były wartos´ciowe publikacje naukowe, – całemu zespołowi Laboratorium Biocybernetyki, Katedry Automatyki i Inz˙ynierii Biomedycznej pod kierownictwem prof. dr hab. inz˙. Ryszarda Tadeusiewicza za stworzenie miłej atmosfery do realizacjibadan´ naukowychipracydydaktycznej, – RodzicomiDziadkomzazapewnieniemiwarunkówimotywowaniedorozwojunaukowegoioso- bistego, – WujkowiStanisławowiiCiociKrystyniezawsparciewtrakciestudiówipracynauczelni, – mojejNarzeczonejMagdziezabyciezemna˛,szczególniewtrakcieintensywnejpracynadtekstem orazzaczaspos´wie˛conynakorekte˛ rozprawy. Spis tres´ci 1. Wste˛p............................................................................................................................................... 5 1.1. Motywacja............................................................................................................................. 5 1.2. Cele,tezapracyimetodologiabadan´.................................................................................... 9 1.3. Zawartos´c´ rozprawy............................................................................................................... 11 2. BudowaorazmetodyprojektowanialogikidlaukładówFPGA............................................... 13 2.1. BudowaukładówFPGA........................................................................................................ 15 2.2. ProjektowanielogikiukładówFPGA.................................................................................... 18 2.3. EtapyprojektowanialogikiFPGAzapomoca˛pakietuISEfirmyXilinx.............................. 20 3. Implementacja algorytmów kryptograficznych w układach FPGA na przykładzie algo- rytmuCLEFIA............................................................................................................................... 23 3.1. ImplementacjaalgorytmówkryptograficznychwukładachFPGA...................................... 25 3.2. AlgorytmkryptograficznyCLEFIA...................................................................................... 26 3.3. Sprze˛towaimplementacjaalgorytmuCLEFIAwukładzieFPGA........................................ 28 3.3.1. ImplementacjaS-BoxS0........................................................................................... 30 3.3.2. ImplementacjaS-BoxS1........................................................................................... 30 3.3.3. Implementacjamacierzyrozpraszaja˛cychM0iM1................................................. 30 3.3.4. ImplementacjaF-funkcjiF0iF1.............................................................................. 30 3.3.5. Implementacjapojedynczejrundyszyfrowania......................................................... 31 3.3.6. Implementacjageneratorapodkluczy........................................................................ 32 3.3.7. Implementacja18rundszyfrowania.......................................................................... 32 3.3.8. Wnioskizimplementacjisprze˛towejalgorytmuCLEFIA......................................... 34 3.4. Akceleratorkryptograficzny ................................................................................................. 35 3.4.1. ImplementacjanakarcieADM-XP............................................................................ 35 3.4.2. ImplementacjanakarcieRC100............................................................................... 37 3.4.3. Wnioskizbudowyakceleratorakryptograficznego................................................... 38 3.5. Podsumowanie ...................................................................................................................... 40 4. Implementacja zaawansowanych metod przetwarzania obrazów w układach FPGA na przykładziealgorytmuPGF.......................................................................................................... 41 1 SPISTRES´CI 2 4.1. ImplementacjaoperacjiprzetwarzaniaobrazuwukładachFPGA ....................................... 42 4.2. AlgorytmPGF....................................................................................................................... 46 4.3. Sprze˛towaimplementacjaalgorytmuPGFwukładzieFPGA.............................................. 48 4.3.1. Generacjakontekstu................................................................................................... 48 4.3.2. Obliczanieodległos´ci................................................................................................. 49 4.3.3. Sortowanieodległos´ci................................................................................................ 50 4.3.4. Usuwaniezakłócen´ impulsowych.............................................................................. 51 4.3.5. Równoległeobliczaniewartos´cia ia ..................................................................... 51 1 2 4.3.6. Równoległeobliczaniewartos´cis is ..................................................................... 52 1 2 4.3.7. ObliczaniewspółczynnikaJ(i)................................................................................. 52 4.3.8. WyznaczaniepeergroupifiltracjaGaussa................................................................ 52 4.3.9. Dodatkowemoduły.................................................................................................... 53 4.3.10. Uz˙yciezasobówlogicznych....................................................................................... 53 4.4. Ocenajakos´cisprze˛towejimplementacjialgorytmuPGF..................................................... 54 4.5. TestowaniemodułunaplatformieRC100............................................................................ 57 4.6. TestowaniemodułunaplatformieVirtex6............................................................................ 57 4.7. Podsumowanie....................................................................................................................... 58 5. Implementacjaoperacjibinaryzacjilokalnejjakoprzykładwykorzystaniaje˛zykawyso- kiegopoziomuwprogramowaniulogikiukładuFPGA............................................................. 60 5.1. Binaryzacjalokalna............................................................................................................... 61 5.2. Je˛zykMitrion-C..................................................................................................................... 64 5.3. Sprze˛towaimplementacjabinaryzacjilokalnejwje˛zykuMitrion-C.................................... 65 5.3.1. ImplementacjatoruwizyjnegoioperacjiLUT.......................................................... 65 5.3.2. Pierwszawersjaoperacjibinaryzacjilokalnej(BL1)................................................ 66 5.3.3. Zmodyfikowanawersjaoperacjibinaryzacjilokalnej(BL2)..................................... 67 5.3.4. Implementacjabinaryzacjilokalnejmetoda˛Sauvola................................................. 68 5.3.5. Stałoprzecinkowaimplementacjabinaryzacjilokalnejmetoda˛Sauvola................... 70 5.4. Podsumowanie....................................................................................................................... 72 6. Implementacja operacji analizy obrazu na przykładzie zaawansowanej generacji tła isegmentacjiobiektów................................................................................................................... 73 6.1. ImplementacjaalgorytmówanalizyobrazówwukładachFPGA......................................... 74 6.2. Detekcjaobiektównasekwencjiwideozwykorzystaniemgeneracjitła.............................. 76 6.3. Przegla˛dmetodgeneracjitła.................................................................................................. 77 6.3.1. Algorytmynierekurencyjne....................................................................................... 78 6.3.2. Algorytmyrekurencyjne............................................................................................ 79 6.4. Przegla˛dmetodgeneracjitłazrealizowanychwukładachFPGA ........................................ 79 T.Kryjak Implementacjazaawansowanychalgorytmówprzetwarzania,analizyiszyfrowaniaobrazów wukładachreprogramowalnych SPISTRES´CI 3 6.5. Zaproponowaneizrealizowanemetodygeneracjitłaisegmentacjiobiektów...................... 81 6.5.1. Wielowariantowageneracjatłazsegmentacja˛napodstawiejasnos´ci,koloruitek- stury............................................................................................................................ 82 6.5.1.1 Zaproponowanametodageneracjitła . . . . . . . . . . . . . . . . . . 84 6.5.1.2 Sprze˛towaimplementacjazaproponowanejmetodygeneracjitła . . . . 86 6.5.1.3 Zaproponowanaizrealizowanametodasegmentacjiobiektów . . . . . 88 6.5.1.4 Sprze˛towaimplementacjametodysegmentacjiobiektów . . . . . . . . 88 6.5.1.5 IntegracjageneracjitłaisegmentacjinaplatformieFPGASP605 . . . 90 6.5.1.6 Rezultatyiwnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.5.2. Zmodyfikowanawersjawielowariantowejgeneracjitłazsegmentacja˛napodsta- wiejasnos´ci,koloruitekstury.................................................................................... 95 6.5.2.1 Modyfikacjemoduługeneracjitła . . . . . . . . . . . . . . . . . . . . 96 6.5.2.2 Szczegółowaanalizaprecyzjiobliczen´ . . . . . . . . . . . . . . . . . 98 6.5.2.3 Zmodyfikowanametodasegmentacjiobiektów . . . . . . . . . . . . . 101 6.5.2.4 Testyzmodyfikowanejgeneracjitłaisegmentacjiobiektów . . . . . . 107 6.5.2.5 ImplementacjaitestowanienaplatformieML605 . . . . . . . . . . . 109 6.5.2.6 Porównanie wykonanych implementacji wielowariantowych metod generacjitłaisegmentacjiobiektów . . . . . . . . . . . . . . . . . . . 112 6.5.3. Zrealizowanejednowariantowemetodygeneracjitłaisegmentacjiobiektów..........113 6.6. Podsumowanie ......................................................................................................................117 7. Implementacja sprze˛towa algorytmów wykorzystywanych w zaawansowanych syste- machmonitoringuwizyjnego........................................................................................................119 7.1. Detekcjanaruszeniastrefyzabronionej.................................................................................120 7.1.1. Zaproponowanyalgorytmijegoimplementacjasprze˛towa......................................121 7.1.2. Rezultatyiwnioski....................................................................................................122 7.2. DetekcjagłowyiramionzwykorzystaniemcechLBPklasyfikatoraSVMimaskiobiektów122 7.2.1. DeskryptorLBP.........................................................................................................123 7.2.2. DetekcjaobiektówzwykorzystaniemLBP ..............................................................125 7.2.3. Proponowanyalgorytm .............................................................................................127 7.2.3.1 Wykorzystanebazydanych . . . . . . . . . . . . . . . . . . . . . . . 127 7.2.3.2 Wybórdeskryptora . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7.2.4. Implementacjasprze˛towaproponowanegoalgorytmu...............................................128 7.2.5. Rezultatyiwnioski....................................................................................................131 7.3. Detekcjasabotaz˙ukamery.....................................................................................................132 7.3.1. Przegla˛distnieja˛cychmetodautomatycznegowykrywaniasabotaz˙u........................132 7.3.1.1 Utrataostros´ci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 T.Kryjak Implementacjazaawansowanychalgorytmówprzetwarzania,analizyiszyfrowaniaobrazów wukładachreprogramowalnych SPISTRES´CI 4 7.3.1.2 Przykryciekamery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.3.1.3 Zmianakadru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.3.1.4 Innepodejs´cia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 7.3.2. Zaproponowanametodadetekcjisabotaz˙ukamery...................................................134 7.3.2.1 Porównywaniehistogramów. . . . . . . . . . . . . . . . . . . . . . . 135 7.3.2.2 Porównywaniekrawe˛dzi . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.3.2.3 Analizas´redniejjasnos´ci . . . . . . . . . . . . . . . . . . . . . . . . 138 7.3.2.4 Redukcjaliczbyfałszywychalarmów . . . . . . . . . . . . . . . . . . 139 7.3.3. Implementacjasprze˛towadetekcjisabotaz˙usystemuwizyjnego..............................140 7.3.4. Rezultatyiwnioski.....................................................................................................142 7.4. Podsumowanie.......................................................................................................................142 8. Podsumowanie................................................................................................................................145 Bibliografia...........................................................................................................................................149 Spisskrótów..........................................................................................................................................166 T.Kryjak Implementacjazaawansowanychalgorytmówprzetwarzania,analizyiszyfrowaniaobrazów wukładachreprogramowalnych 1. Wste˛p 1.1. Motywacja Spos´ród wszystkich zmysłów człowieka wzrok jest tym, który dostarcza najpełniejszej informacji o otaczaja˛cym s´wiecie, a przetwarzanie obrazów angaz˙uje wie˛ksza˛cze˛s´c´ naszego mózgu. Badania nad procesemwidzeniauludzi,atakz˙einnychssakównaczelnych,trwaja˛odlat.Ichcelemjestpoznanieme- chanizmów,którepowoduja˛,z˙eimpulsynerwowe,wygenerowanenasiatkówceokaprzezfotoreceptory wraz˙liwe na s´wiatło, zamieniane sa˛w abstrakcyjna˛reprezentacje˛ widzianej sceny w korze wzrokowej. Pomimo sporych wysiłków neurobiologów, a takz˙e specjalistów z innych dziedzin np. psychologów, systemwizyjnyczłowiekanadalpozostajetajemnica˛,któraodkrywanajestbardzopowoli. Jakdoskonale“działa”uludziprzetwarzanie,analizairozpoznawanieobrazówprzekonujesie˛kaz˙dy, kto próbuje zaimplementowac´ jakis´ bardziej złoz˙ony algorytm wizyjny np. wyodre˛bnianie cze˛s´ci ciała oraz przedmiotów, które trzyma okres´lona osoba. Juz˙ kilkuletnie dziecko wskaz˙e lokalizacje˛ ra˛k, nóg, głowy,atakz˙epowie,z˙enp.“tenPanniesieteczke˛,atamtaPanitorebke˛”itownajróz˙niejszychwarun- kach os´wietleniowych i pogodowych, w obecnos´ci innych osób na scenie, przy wyste˛puja˛cym cze˛s´cio- wym przesłanianiu, a takz˙e w przypadku jednorodnego koloru ubioru. Próba realizacji takiej detekcji wsztucznymsystemiewizyjnym,napotykanarozlicznetrudnos´ciiwymagauz˙yciabardzowymys´lnych izłoz˙onychobliczenioworozwia˛zan´ algorytmicznych. Kolejna, unikatowa zdolnos´c´ człowieka to łatwos´c´ semantycznego opisania obserwowanej sceny tj. nazywania poszczególnych przedmiotów oraz “rozumienia” ich zachowania. Przykładowo kaz˙dy z nas, jest w stanie opisac´ przedstawiona˛ na dowolnym zdje˛ciu sytuacje˛: nazwac´ konkretne obiekty (ludzi, samochody, zwierze˛ta), okres´lic´ moz˙liwe ich zachowania oraz zachodza˛ce pomie˛dzy nimi relacje. Po- prawna realizacja tego zadania w systemie sztucznym do dzisiaj wydaje sie˛ byc´ nieosia˛galna. Istnieja˛ wprawdzie rozwia˛zania, które cze˛s´ciowo sa˛w stanie “zrozumiec´” prezentowana˛scene˛, ale pełne od- wzorowaniepercepcjiczłowiekajestbardzoodległeiwymagawieludalszychpracbadawczych.Przed- stawione wyz˙ej rozwaz˙ania moz˙na oczywis´cie przenies´c´ z obrazów statycznych na sekwencje wideo. Równiez˙ w tym przypadku łatwos´c´, z jaka˛człowiek interpretuje widziana˛sytuacje˛ jest zdumiewaja˛ca. Podstawa˛takdoskonałegodziałanianaszegosystemuwizyjnegojest“wiedza”rozumianajakoogółtre- s´ci utrwalonych w umys´le ludzkim w wyniku kumulowania dos´wiadczenia oraz uczenia sie˛. To ona pozwalapoprawnienazywac´ orazprzewidywac´ zachowaniesie˛ obiektów.Tymniemniejmechanizmten jesttakskomplikowany,z˙etrudnogoprzydzisiejszymstaniewiedzyoraztechnikiwpełnizamodelowac´. Przetwarzanie, analiza i rozpoznawanie obrazów, pomimo opisanych powyz˙ej trudnos´ci, sa˛bardzo 5 1.1.Motywacja 6 pre˛z˙nie rozwijaja˛ca˛sie˛ dziedzina˛nauki stosowana˛coraz cze˛s´ciej w aplikacjach przemysłowych. Wy- nika to z szerokich moz˙liwos´ci jakich dostarcza analiza obrazowa. Ws´ród zastosowan´ komercyjnych moz˙na wskazac´: procesory graficzne w aparatach fotograficznych i kamerach, których zadaniem jest poprawa obrazu uzyskanego bezpos´rednio z matrycy, metody kompresji i dekompresji strumienia wi- deo, systemy nadzoru pracuja˛ce na liniach produkcyjnych (np. analiza poprawnos´ci wykonania detali elementów),systemyrozpoznawaniatablicrejestracyjnych(corazcze˛s´ciejdoste˛pnenaparkingachoraz jako element fotoradarów), zaawansowane systemy monitoringu wizyjnego oraz cały szereg aplikacji programowych od pakietów do obróbki zdje˛c´ (typu Gimp, Photoshop), po systemy wspomagaja˛ce ana- lize˛ obrazów medycznych. Wymienione przykłady to tylko niewielki fragment, gdzie techniki wizyjne znajduja˛praktycznezastosowanie. W badaniach naukowych omawiany temat obecny jest od lat i cieszy sie˛ niesłabna˛cym zaintereso- waniem. Dowodem niech be˛dzie liczba konferencji pod patronatem IEEE zwia˛zana z tematyka˛prze- twarzanie obrazów (ang. image processing) oraz rozpoznawaniem wzorców (ang. pattern recognition) wynosza˛ca 63 (w latach 2010-2012), a takz˙e szereg czasopism bezpos´rednio zwia˛zanych z ta˛tematyka˛ (przykładowo czasopisma z listy filadelfijskiej np. IEEE Transactions on Image Processing, Journal of Real-TimeImageProcessing,IEEETransactionsonPatternAnalysisandMachineIntelligence).Tema- tykabadan´ jestbardzoobszernairozcia˛gasie˛ odprojektowanianowychmetodakwizycjiiprzetwarza- nia,poprzezulepszaniemetodanalizyireprezentacjiinformacji,az˙ doelementówrozumieniaobrazów. Kompleksoweomówieniedziedzinywykraczapozatematyke˛ niniejszejrozprawy,jednakz˙ewdalszych rozdziałachzawartopodstawoweinformacjeoalgorytmachszyfrowania,przetwarzaniawste˛pnegooraz analizyobrazów,któremaja˛zwia˛zekztematyka˛pracy. Zobserwacjiautorawynika,z˙eimalgorytmjestdoskonalszy,bardziejniezawodnyorazosia˛galep- szewyniki(np.rozpoznawania),tymwymagaonwie˛kszychmocyobliczeniowych.Stwierdzenietopo- kazuje, z˙e omawiana tematyka ma dwa punkty cie˛z˙kos´ci. Pierwszym sa˛algorytmy oraz praca nad ich doskonaleniem.Drugimkwestiaimplementacjitychz˙ealgorytmów,gdyz˙ opróczskutecznos´ciogromne znaczenie ma takz˙e praktyczna uz˙ytecznos´c´ rozwia˛zania, która w wielu przypadkach sprowadza sie˛ do osia˛gnie˛cia“akceptowalnego”dlaaplikacjiczasuobliczen´.Przykładowo,wrzeczywistymsystemiemo- nitoringuwizyjnegoniesprawdzisie˛ nawetnajbardziejniezawodnadetekcjaosób,oileniebe˛dziemoz˙- liwajejrealizacjawbardzokrótkimczasie(tj.albopłynniedlakolejnychramek,albodlacoN-tejramki, przyczymwartos´c´ N niepowinnabyc´ zbytduz˙a). Gdyrozwaz˙asie˛ implementacje˛ danegoalgorytmu,doste˛pnychjestszeregplatform:komputeryPC wyposaz˙onewwydajneprocesoryogólnegoprzeznaczeniaGPP(ang.GeneralPurposeProcessor),wy- sokowydajne,specjalizowaneprocesorygraficzneGPU(ang.GraphicsProcessingUnit),układyFPGA (ang.FieldProgrammableGateArray)procesorysygnałoweDSP(ang.DigitalSignalProcessor),plat- formyhybrydoweskładaja˛cesie˛ zklasycznegoprocesoraogólnegoprzeznaczeniaorazzasobówrekon- figurowalnych(tzw.programowalneSoC—ang.SystemonChip)—przykładowoukładyfirmyCypress orazZynqfirmyXilinx,układyASIC(ang.ApplicationSpecificItegratedCircuit)orazinnerozwia˛zania wysocespecjalizowanenp.superkomputery(równiez˙ wpoła˛czeniuzkartamiFPGAiGPU). Kaz˙dazwymienionychplatformmaswojeunikalnecechy,któredecyduja˛ojejprzydatnos´ciwkon- kretnymzastosowaniu.Poniz˙ejomówionowybraneznich. T.Kryjak Implementacjazaawansowanychalgorytmówprzetwarzania,analizyiszyfrowaniaobrazów wukładachreprogramowalnych
Description: