Table Of ContentAkademia 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:Real-Time Image Processing, IEEE Transactions on Pattern Analysis and Machine Intelligence) Zaletami rozwi ˛azan DSP s ˛a: architektura przystosowana do realizacji operacji przetwarzania sy- . implementacj˛e programow ˛a algorytmu (zwykle C/C++ lub MATLAB), jej testy oraz ewentualne.