ˇ e vysok´e uˇcen´ı technick´e v Praze Cesk´ Fakulta elektrotechnick´a Katedra kybernetiky Centrum Strojov´eho vn´ım´an´ı
Kontrola LED panel˚ u metodami poˇ c´ıtaˇ cov´ eho vidˇ en´ı Bakal´aˇrsk´a pr´ace
ˇ Jan Sindler Vedouc´ı pr´ace: Ing. Vladim´ır Smutn´ y
Praha 2011
Anotace Tato pr´ace ˇreˇs´ı probl´emy spojen´e s automatizovan´ ym testov´an´ım LED zobrazovaˇc˚ u pomoc´ı metod poˇc´ıtaˇcov´eho vidˇen´ı. Hlavn´ı motivac´ı byla eliminace vad zp˚ usoben´ ych lidskou chybou pˇri prov´adˇen´ı opakovan´ ych monot´onn´ıch u ´kon˚ u. Zab´ yv´a se popisem vad, kter´e se vyskytuj´ı pˇri v´ yrobˇe LED zobrazovaˇc˚ u a moˇznostmi jejich detekce. Pro detekci chyb bylo pouˇzito metod pro zpracov´an´ı a anal´ yzu obrazu. V z´avˇeru se pr´ace zab´ yv´a v´ ybˇerem vhodn´eho sn´ımac´ıho zaˇr´ızen´ı a n´avrhem testovac´ıho pracoviˇstˇe. Navrˇzen´e algoritmy jsou pouˇziteln´e pro otestov´an´ı nesv´ıt´ıc´ıch LED diod, nebo LED diod sv´ıt´ıc´ıch v pozorovan´em smˇeru ˇspatnou intenzitou nebo barvou. Navrˇzen´ ymi metodami lze testovat jak LED diody, tak SMD diody osazen´e v matici, nebo na tvarovan´ ych ploˇsn´ ych spoj´ıch. Metody a testovac´ı pracoviˇstˇe jsou navrˇzen´e pro vz´ajemn´e rozliˇsen´ı diod o hustotˇe osazen´ı 4 diody na cm2 a velikosti ploˇsn´eho spoje do 50 × 60 cm.
Annotation This work solves problems associated with automated testing of LED displays using computer vision techniques. The main motivation was to eliminate defects caused by human error when performing repetitive monotonous task. It describes most usual LED display errors and methods of their detection. In conclusion, the work deals with selection of appropriate scanning device and design of whole testing device. The proposed algorithms are applicable to test the diodes malfunction, luminosity and color. The proposed methods can be used for LEDs or SMD LEDs mounted in an array or on a shaped printed circuit boards. The testing device and proposed methods are designed for density of 4 diods per cm2 and PCB size up to 50 × 60 cm.
1
Obsah ´ 1 Uvod
3
2 Vstupn´ı parametry pr´ ace 2.1 Typy vyr´abˇen´ ych LED panel˚ u . . . . . . . . . . . . . . . . . 2.2 Z´avady LED panel˚ u . . . . . . . . . . . . . . . . . . . . . . . 2.3 N´avrh vhodn´ ych datov´ ych struktur a zp˚ usob uloˇzen´ı dat . . .
5 5 8 9
3 N´ avrh zaˇ r´ızen´ı 3.1 Obecn´ y n´avrh . . . . . . . . . . . . . . . . . . . . . . . . 3.2 N´avrh hardwarov´e ˇc´asti zaˇr´ızen´ı . . . . . . . . . . . . . . 3.3 N´avrh programov´e ˇca´sti zaˇr´ızen´ı . . . . . . . . . . . . . . 3.4 N´avrh postup˚ u pro testov´an´ı Obr. (3.4) LED panel˚ u. . . . 3.5 Algoritmy pro automatick´e rozpozn´an´ı sv´ıt´ıc´ıch LED diod 3.6 Algoritmy pro zorientov´an´ı z´ıskan´eho obrazu . . . . . . . .
. . . . . .
. . . . . .
4 Implementace navrˇ zen´ ych algoritm˚ u
11 11 13 14 16 19 21 30
5 Implementace hardware 31 5.1 V´ ybˇer sn´ımac´ıho zaˇr´ızen´ı . . . . . . . . . . . . . . . . . . . . 31 5.2 N´avrh pracoviˇstˇe . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3 V´ ybˇer ˇr´ıdic´ı jednotky . . . . . . . . . . . . . . . . . . . . . . 37 6 Z´ avˇ er
38
A V´ ykresov´ a dokumentace pro v´ yrobu testovac´ıho pracoviˇ stˇ e B Obsah pˇ riloˇ zen´ eho CD
I II
2
Kapitola 1 ´ Uvod Tato bakal´aˇrsk´a pr´ace byla motivov´ana probl´emy pˇri testov´an´ı osazen´ ych ploˇsn´ ych spoj˚ u, kter´e se kaˇzdodennˇe ˇreˇs´ı ve firmˇe vyr´abˇej´ıc´ı LED zobrazovaˇce. Jedn´a se hlavnˇe o probl´emy se spolehlivost´ı osazen´ ych ploˇsn´ ych spoj˚ u a rozd´ıl˚ u mezi r˚ uzn´ ymi ˇsarˇzemi LED diod. C´ılem t´eto pr´ace je: 1. Identifikace a popis vad, kter´e se bˇeˇznˇe objevuj´ı pˇri v´ yrobˇe LED zobrazovaˇc˚ u. 2. V´ ybˇer vhodn´eho sn´ımac´ıho zaˇr´ızen´ı. 3. N´avrh algoritm˚ u, kter´e budou schopny vady samy detekovat a protokolovat. 4. N´avrh algoritm˚ u pro automatick´e testov´an´ı vyr´abˇen´ ych panel˚ u. 5. N´avrh vhodn´ ych datov´ ych form´at˚ u pro vstup informac´ı o osazen´ı panelu diodami.
3
Obr´azek 1.1: Myˇslenkov´ y model zaˇr´ızen´ı
V´ ystupem by mˇelo b´ yt zaˇr´ızen´ı zaruˇcuj´ıc´ı rychlejˇs´ı testov´an´ı vyr´abˇen´ ych LED panel˚ u a hlavnˇe zajiˇstˇen´ı vˇetˇs´ı spolehlivosti samotn´eho procesu testov´an´ı, kter´a v souˇcasn´e dobˇe s n´ar˚ ustem poˇctu vyr´abˇen´ ych LED panel˚ u kles´a. Pokles je snadno vysvˇetliteln´ y, pokud je lidsk´e oko nuceno opakovanˇe kontrolovat, zda LED diody osazen´e v rastru sv´ıt´ı, tak jiˇz po otestov´an´ı nˇekolika kus˚ u ˇclovˇek nesv´ıt´ıc´ı LED diodu snadno pˇrehl´edne. Dlouhodob´e testov´an´ı tak´e zp˚ usobuje znaˇcnou u ´navu oˇc´ı. Z tˇechto d˚ uvod˚ u jsem se rozhodl pro pouˇzit´ı pr˚ umyslov´e kamery, kter´a bude sledovat testovan´ y panel Obr. (1.1). Obraz poˇr´ızen´ y pr˚ umyslovou kamerou je d´ale zpracov´an metodami poˇc´ıtaˇcov´eho vidˇen´ı. Na z´akladˇe zpracovan´eho obrazu zaˇr´ızen´ı vyhodnot´ı, je-li testovan´ y panel bez z´avad.
4
Kapitola 2 Vstupn´ı parametry pr´ ace Odd´ıl 2.1 obsahuje popis bˇeˇznˇe vyr´abˇen´ ych LED panel˚ u. Popis vad, kter´e se nejˇcastˇeji objevuj´ı pˇri jejich v´ yrobˇe je v odd´ılu 2.2. Odd´ıl 2.3 se snaˇz´ı o n´avrh vhodn´ ych datov´ ych struktur pro vstup a v´ ystup z programu a tak´e zp˚ usobem uloˇzen´ı dat.
2.1
Typy vyr´ abˇ en´ ych LED panel˚ u
Vyr´abˇen´e LED panely m˚ uˇzeme rozdˇelit do nˇekolika kategori´ı podle charakteristick´eho znaku, kter´ y si vybereme. M˚ uˇze j´ım b´ yt typ pouˇzit´ ych LED diod z hlediska jejich osazen´ı na ploˇsn´ y spoj. Typy diod podle osazen´ı LED panel˚ u: SMD diody,
1
standardn´ı LED diody s rozteˇc´ı 5 mm
Obr´azek 2.2: 5 mm LED dioda
Obr´azek 2.1: SMD LED dioda 1
SMD(surface mounted device). . . je typ souˇc´astek jejichˇz v´ yvody jsou urˇcen´e k pˇrip´ajen´ı pˇr´ımo na povrch ploˇsn´eho spoje
5
Toto dˇelen´ı nen´ı pro tuto pr´aci aˇz tak z´asadn´ı, i kdyˇz napˇr´ıklad u SMD diod nehroz´ı vady zp˚ usoben´e kˇriv´ ym zap´ajen´ım. Daleko d˚ uleˇzitˇejˇs´ı je dˇelen´ı LED panel˚ u podle jejich tvaru a hustoty osazen´ı. To, ˇze se nepouˇz´ıv´a jen obyˇcejn´e rastrov´e osazen´ı bˇeˇzn´e pro textov´e zobrazovac´ı plochy, ale i tvary podˇr´ızen´e u ´ˇcelu pouˇzit´ı, n´am komplikuje metody pouˇzit´e pro nalezen´ı orientace panelu v obraze. Bˇeˇznˇe se tedy m˚ uˇzeme setkat s tˇemito tvary LED panel˚ u: Standardn´ı obd´eln´ıkov´ y tvar ploˇsn´eho spoje, na kter´em jsou diody osazeny v rastru. Rastr˚ u se pouˇz´ıv´a nˇekolik, at’ uˇz je to pravideln´ y pravo´ uhl´ y rastr Obr. (2.4), kter´ y se pouˇz´ıv´a pro bˇeˇz´ıc´ı texty, nebo tzv. diamantov´a struktura Obr. (2.5), kter´a se pouˇz´ıv´a v RGB grafick´ ych tabul´ıch. Diamantov´a struktura se pouˇz´ıv´a u tˇech grafick´ ych tabul´ı, kde barva nen´ı tvoˇrena jednou diodou s tˇremi ˇcipy, ale shlukem tˇr´ı r˚ uznobarevn´ ych diod. Specializovan´ y tvar ploˇsn´eho spoje, ve kter´em jsou diody vys´azeny do tvaru osmiˇcky Obr. (2.6). Toto uspoˇr´ad´an´ı se pouˇz´ıv´a napˇr´ıklad v cenov´ ych ukazatel´ıch u benz´ınov´ ych pump Obr. (2.8). Specializovan´e tvary tvoˇr´ıc´ı ˇca´sti komplexnˇejˇs´ıch grafick´ ych prvk˚ u Obr. (2.7). Pˇr´ıkladem m˚ uˇze b´ yt pouˇzit´ı tˇechto ploˇsn´ ych spoj˚ u v promˇenn´em d´alniˇcn´ım znaˇcen´ı Obr. (2.9).
Obr´azek 2.3: Ploˇsn´ y spoj (19 × 19 cm) s rastrov´ ym osazen´ım SMD diodami.
6
Obr´azek 2.4: Ploˇsn´ y spoj (30 × 15 cm) s rastrov´ ym osazen´ım vrtan´ ymi diodami v proveden´ı se ˇctyˇrmi v´ yvody.
Obr´azek 2.5: Ploˇsn´ y spoj (30 x 15 cm) s diamantovou strukturou a 5 mm LED diodami.
Obr´azek 2.6: tvar 8
ˇ ast dopravn´ıho znaˇcen´ı Obr´azek 2.7: C´
7
Obr´azek 2.8: Pouˇzit´ı LED panel˚ u s osazen´ım ve tvaru osmiˇcky
Obr´azek 2.9: Pouˇzit´ı speci´alnˇe tvarovan´ ych LED panel˚ u v d´alniˇcn´ıch ukazatel´ıch.
Asi posledn´ım zaj´ımav´ ym parametrem d˚ uleˇzit´ ym pro diagnostiku panel˚ u je jejich pˇredpokl´adan´ y maxim´aln´ı rozmˇer. Velk´e panely napˇr´ıklad 1, 5 × 2 m se samostatnˇe testovat nebudou. Jsou sloˇzeny z menˇs´ıch zobrazovaˇc˚ u, u kter´ ych se pˇredpokl´adaj´ı maxim´aln´ı rozmˇery 60 × 50 cm.
2.2
Z´ avady LED panel˚ u
N´apln´ı t´eto pr´ace je automatick´a diagnostika vad LED panel˚ u, proto je potˇreba oˇcek´avan´e vady dobˇre popsat. Pr´avˇe podle v´ yˇctu vad, na kter´e by mˇel program reagovat, byly voleny vhodn´e algoritmy pro zpracov´an´ı obrazu. V´ yˇcet vad, kter´e se pˇri v´ yrobˇe opakovanˇe vyskytuj´ı: DIODA NESV´IT´I: Tato vada b´ yv´a nejˇcastˇeji zp˚ usobena ˇspatn´ ym zap´ajen´ım diody. Pˇri pr˚ uchodu osazen´eho ploˇsn´eho spoje p´ajec´ı vlnou dojde ke zkratov´an´ı sousedn´ıch noˇziˇcek nebo m˚ uˇze nevhodn´ ym mechanick´ ym zach´azen´ım doj´ıt k vyskoˇcen´ı“ diody z ploˇsn´eho spoje a t´ım dojde k ” jej´ımu nezap´ajen´ı. D´ale pak m˚ uˇze b´ yt dioda sama vadn´a a nebo ˇspatnˇe osazen´a. Setkal jsem se dokonce s pˇr´ıpadem, kdy byl cel´ y panel osazen ◦ diodami otoˇcen´ ymi o 180 , tedy kladn´ y p´ol diody byl zapojen do d´ıry, kde mˇel b´ yt zapojen z´aporn´ y p´ol. Takovouto vadu je pak velice pracn´e opravit.
8
´ ´ DIODA NESV´IT´I SE SPRAVNOU INTENZITOU V POSUZOVANEM ˇ SMERU: K t´eto vadˇe doch´az´ı pˇrev´aˇznˇe u dvounoˇziˇckov´ ych vrtan´ ych diod. Jejich vyzaˇrovac´ı u ´hel je velmi u ´zk´ y a pokud dojde k jejich ohnut´ı, pak se to velmi projev´ı na v´ ysledn´e intenzitˇe vyzaˇrov´an´ı v pohledov´em smˇeru. Dalˇs´ım d˚ uvodem m˚ uˇze b´ yt osazen´ı jednoho ploˇsn´eho spoje diodami z dvou r˚ uzn´ ych ˇsarˇz´ı. V´ yrobce garantuje stejnou sv´ıtivost pouze u diod jedn´e ˇsarˇze a tak pom´ıch´an´ı nˇekolika ˇsarˇz´ı zp˚ usob´ı, ˇze panel zobrazuje nestejnomˇernˇe. SV´IT´I V´ICE DIOD NAJEDNOU: Dojde-li k propojen´ı noˇziˇcek v´ıce diod m˚ uˇze se st´at, ˇze m´ısto jedn´e diody jich sv´ıt´ı v´ıc. K propojen´ı doch´az´ı tzv. prop´ajen´ım pˇri p´ajen´ı vlnou, kdy se na souˇc´astk´ach, kter´e maj´ı noˇziˇcky moc bl´ızko u sebe, utvoˇr´ı c´ınov´a vodiv´a vrstva.
ˇ ´ BARVA: M´enˇe ˇcast´a vada nast´av´a u RGB diod, kdy SV´IT´I SPATN A jeden z ˇcip˚ u nesv´ıt´ı. Daleko ˇcastˇejˇs´ı vadou je osazen´ı nespr´avnou diodou. Tato vada nast´av´a pˇrev´aˇzn´e u ploˇsn´ ych spoj˚ u, kter´e se osazuj´ı ruˇcnˇe a je na nich pouˇzito v´ıce barev neˇz jedna.
2.3
N´ avrh vhodn´ ych datov´ ych struktur a zp˚ usob uloˇ zen´ı dat
V pr˚ ubˇehu testov´an´ı LED panel˚ u je pouˇz´ıv´ano relativnˇe velk´e mnoˇzstv´ı testovac´ıch dat. Jako v´ ysledek test˚ u pak testovac´ı procedury generuj´ı nemal´e mnoˇzstv´ı informac´ı o kaˇzd´e LED diodˇe na panelu. Vˇsechna tato data je potˇreba ukl´adat a tak´e v nich snadno vyhled´avat. Z tˇechto d˚ uvod˚ u je vhodn´e pouˇz´ıt nˇekter´ y z dostupn´ ych datab´azov´ ych server˚ u jak´ ym je napˇr´ıklad PostgreSQL nebo MySQL. V pˇr´ıpadˇe firemn´ıho ˇreˇsen´ı je vhodn´e v´ ysledky test˚ u i testovac´ı data zahrnout do datab´aze z´akazn´ıka a pˇripojit informace o proveden´ ych testech a jejich v´ ysledky pˇr´ımo k vyroben´emu produktu. V m´em pˇr´ıpadˇe se jedn´a o integraci do informaˇcn´ıho syst´emu K2. Pˇredmˇetem t´eto pr´ace vˇsak nen´ı rozeb´ırat integraˇcn´ı podrobnosti syst´emu K2 ani jin´eho datab´azov´eho syst´emu. Z tˇechto d˚ uvod˚ u zde uv´ad´ım pouze obecn´ y n´avrh datov´ ych struktur bez bliˇzˇs´ıch implementaˇcn´ıch detail˚ u. Pokud bychom hovoˇrili v terminologii datab´az´ı, pak uvedu pouze konceptu´aln´ı sch´ema. Tab. (2.1) obsahuje souhrn entit a jejich parametr˚ u.
9
Ploˇ sn´ y spoj type LEDs testPic testResults LED dioda position type brDiff state
Definuje typ ploˇsn´eho spoje respektive typ LED panelu. Seznam LED diod osazen´ ych na LED panelu. Seznam testovac´ıch obrazc˚ u slouˇz´ıc´ıch k u ´pln´emu otestov´an´ı LED panelu. V´ ysledky proveden´ ych test˚ u nad LED panelem. Kart´ezsk´e souˇradnice (x,y) ˇr´ıkaj´ıc´ı pozici LED diody na panelu. Oznaˇcen´ı LED diody, kter´e definuje barvu, sv´ıtivost a jin´e parametry diody dan´e v´ yrobcem. Odchylka jasu od pr˚ umˇern´e hodnoty diod osazn´ ych na LED panelu. ˇ ık´a v jak´e je dioda stavu (ok, nesv´ıtic´ı, sv´ıt´ı ˇspatnou R´ barvou, sv´ıt´ı ˇspatnou intenzitou)
Testovac´ı obrazec testId activLEDs
Jednoznaˇcn´a identifikace testovac´ıho obrazce. Seznam diod, kter´e maj´ı bˇehem testu sv´ıtit.
V´ ysledek testu testId wOffLEDs wOnLEDs wiLEDs wcLEDs wLEDCnt gLEDCnt
Identifik´ator proveden´eho testu. Seznam LED diod, kter´e mˇely sv´ıtit a nesv´ıtily. Seznam LED diod, kter´e sv´ıtily kdyˇz nemˇely. Seznam LED diod sv´ıtic´ıch se ˇspatnou intenzitou. Seznam LED diod sv´ıtic´ıch ˇspatnou barvou. Poˇcet vadn´ ych LED diod v testu. Poˇcet LED diod, kter´e jsou v poˇr´adku.
Tabulka 2.1: Entity pouˇz´ıt´e pˇri testov´an´ı LED panel˚ u
10
Kapitola 3 N´ avrh zaˇ r´ızen´ı V t´eto kapitole se budu vˇenovat obecn´emu n´avrhu testovac´ıho zaˇr´ızen´ı v odd´ılech 3.2, 3.3 a detailnˇejˇs´ımu n´avrhu jednotliv´ ych algoritm˚ u. Veˇsker´e navrˇzen´e algoritmy jsem testoval pomoc´ı programov´eho prostˇred´ı Matlab R2009b. Toto prostˇred´ı mi umoˇznilo velmi rychlou modifikaci pouˇzit´ ych algoritm˚ u a jejich snadnou optimalizaci. Nejvˇetˇs´ım pˇr´ınosem Matlabu byla moˇznost ovˇeˇrit si fungov´an´ı algoritm˚ u na re´aln´ ych datech.
3.1
Obecn´ y n´ avrh
Hlavn´ı myˇslenka zaˇr´ızen´ı je vcelku jednoduch´a. Na zaˇca´tku testovac´ıho procesu obsluha poloˇz´ı zapojen´ y LED panel pod sn´ımac´ı zaˇr´ızen´ı, kter´e je pˇripojen´e k poˇc´ıtaˇci. Pomoc´ı uˇzivatelsk´eho rozhran´ı testovac´ıho programu obsluha zvol´ı typ testovan´eho zaˇr´ızen´ı. T´ım pr´ace obsluhy konˇc´ı. Testovac´ı program zjist´ı z datab´aze vyr´abˇen´ ych zaˇr´ızen´ı informace o pr´avˇe testovan´em vzorku, kter´e bude potˇrebovat k samotn´emu testov´an´ı. Zaˇr´ızen´ı zobraz´ı na LED panelu sadu pˇredem definovan´ ych vzor˚ u. Pomoc´ı sn´ımac´ıho zaˇr´ızen´ı sejme obrazy zobrazen´ ych vzor˚ u a vhodnou kombinac´ı algoritm˚ u z´ısk´a poˇzadovan´e informace o diod´ach, kter´e pr´avˇe sv´ıt´ı. Z´ıskan´e u ´daje porovn´a s u ´daji vyˇcten´ ymi z datab´aze a vytvoˇr´ı o zaˇr´ızen´ı protokol. Pokud bˇehem testov´an´ı program zaznamen´a z´avadu na panelu, tak ji zaprotokoluje. Bude-li se jednat o vadu, kterou m˚ uˇze obsluha lehce opravit, napˇr´ıklad o z´avadu zp˚ usobenou nevhodn´ ym zapojen´ım kabel´aˇze, pak vyzve obsluhu k jej´ı n´apravˇe. Jinak se program bude vˇzdy snaˇzit dokonˇcit cel´ y testovac´ı proces. V´ yˇcet informac´ı, kter´e budou o zaˇr´ızen´ı uloˇzeny v datab´azi:
11
Poˇcet zapojen´ ych LED diod. Skuteˇcn´e um´ıstˇen´ı LED diod. Barvu (pˇr´ıpadnˇe barvy) pouˇzit´ ych LED diod. Pˇredpokl´adanou intenzitu s jakou by mˇely diody sv´ıtit. Sadu testovac´ıch obrazc˚ u, kter´e spolehlivˇe ovˇeˇr´ı funkˇcnost pr´avˇe testovan´eho zaˇr´ızen´ı.
Datab´aze bude automaticky generov´ana z osazovac´ıch pl´an˚ u, kter´e jsou dostupn´e ke kaˇzd´emu vyr´abˇen´emu zaˇr´ızen´ı. Dalˇs´ı zp˚ usob, jak´ ym se mohou data do datab´aze generovat, je pouˇzit´ı funkˇcn´ıho vzorku, na kter´em se rozpoznaj´ı sv´ıtic´ı diody. Na prvn´ı pohled by se mohlo zd´at, ˇze pro otestov´an´ı panelu staˇc´ı rozsv´ıtit vˇsechny diody na panelu a pouˇz´ıt korelaˇcn´ı funkce [SHB99, str.191-194] se vzorov´ ym obrazem (z´ısk´a se sn´ım´an´ım funkˇcn´ıho vzorku). V praxi tento postup, ale moˇzn´ y nen´ı a to hned z nˇekolika d˚ uvod˚ u: 1. Rozsv´ıcen´ım cel´eho panelu nezjist´ıme moˇzn´e propojen´ı nˇekolika diod mezi sebou, kter´e zp˚ usob´ı, ˇze diody nejsou schopny sv´ıtit samostatnˇe. 2. Bez informace o jednotliv´ ych diod´ach nelze korigovat jejich jas a ostatn´ı mˇeˇriteln´e parametry. 3. Pro eliminaci prvn´ıho nedostatku by bylo potˇreba drˇzet nˇekolik vzorov´ ych obrazc˚ u, coˇz nen´ı flexibiln´ı. Tento zp˚ usob je relativnˇe datovˇe n´aroˇcn´ y kv˚ uli ukl´ad´an´ı vzorov´ ych obrazc˚ u ve formˇe, se kterou by ˇslo korelovat. Tak´e st´ale pˇretrv´av´a druh´ y nedostatek. 4. Testovac´ı vzor by bylo moˇzn´e vytvoˇrit aˇz v momentˇe, kdy bude vyroben prvn´ı funkˇcn´ı a nˇek´ ym ruˇcnˇe otestovan´ y panel. 5. Korelac´ı nelze rozpoznat a eliminovat natoˇcen´ı panelu pˇri vloˇzen´ı do testovac´ıho zaˇr´ızen´ı.
3.1.1
Zvolen´ a metoda pro testov´ an´ı panel˚ u
Vˇsechny tyto nedostatky eliminuje metoda, pro kterou jsem se v t´eto pr´aci rozhodl. Nasn´ıman´ y obraz rozloˇz´ıme pomoc´ı metod strojov´eho vidˇen´ı na jednotliv´e objekty, kter´ ymi budou v ten okamˇzik sv´ıtic´ı diody. T´ım z´ısk´ame seznam sv´ıtic´ıch diod i s jejich parametry jako je jas, barva atp... Tento seznam 12
Obr´azek 3.1: Diagram ilustruje zapojen´ı a sestaven´ı HW ˇc´asti zaˇr´ızen´ı. Modr´e ˇ ˇsipky pˇredstavuj´ı propojen´ı zaˇr´ızen´ı pomoc´ı kabel˚ u. Cerven´ a ˇsipka znamen´a optick´e propojen´ı zaˇr´ızen´ı.
porovn´ame se seznamem, kter´ y zp˚ usobil rozsv´ıcen´ı diod na panelu. Pokud se shoduj´ı, je panel v poˇr´adku. Pouˇzit´ı tohoto postupu dˇel´a testovac´ı proces daleko flexibilnˇejˇs´ı neˇz pouˇzit´ı korealc´ı. Testovac´ı postup lze navrhnout soubˇeˇznˇe s n´avrhem LED panelu, tak ˇze je moˇzn´e jiˇz prvn´ı vyroben´ y kus na zaˇr´ızen´ı otestovat. Pokud samotn´ y testovac´ı program usoud´ı, ˇze potˇrebuje nˇekterou z diod rozsv´ıtit separ´atnˇe, tak to bude snadn´e jak prov´est, tak zpˇetnˇe otestovat. Jedin´ y nedostatek, kter´ y z˚ ustal, je nutnost pouˇz´ıt v´ıce testovac´ıch obrazc˚ u, aby bylo moˇzn´e rozpoznat zkraty mezi diodami.
3.2
N´ avrh hardwarov´ eˇ c´ asti zaˇ r´ızen´ı
Po hardwarov´e str´ance popisuje zaˇr´ızen´ı nejl´epe Obr. (3.1). Funkˇcnost jedˇ ıdic´ı elektronika LED panelu pˇredstavunotliv´ ych blok˚ u je celkem zˇrejm´a. R´ je elektronick´e zaˇr´ızen´ı pro ovl´ad´an´ı LED panel˚ u pˇres poˇc´ıtaˇc, kter´e se jiˇz v souˇcasn´e dobˇe pouˇz´ıv´a i pro ruˇcn´ı testov´an´ı. Blok PC obsahuje veˇskerou inteligenci zaˇr´ızen´ı od ovladaˇc˚ u k jednotliv´ ym ˇr´ıdic´ım elektronik´am po samotn´ y testovac´ı software. Komunikace mezi PC a ˇr´ıdic´ı elektronikou LED panel˚ u je zajiˇstˇena lin1 ˇ kou RS232 s protokolem PDE . R´ıdic´ı elektronika je s LED panelem propojena pomoc´ı strukturovan´e kabel´aˇze. Propojen´ı mezi PC a ˇr´ıdic´ı elektronikou sn´ımac´ım zaˇr´ızen´ım je zajiˇstˇeno pomoc´ı rozhran´ı standardu USB 3. Mezi zobrazovac´ım zaˇr´ızen´ım a LED panelem se jedn´a o informaci pˇren´aˇsenou opticky, sn´ımac´ı zaˇr´ızen´ı bude sn´ımat obraz tvoˇren´ y diodami LED panelu. 1
Jedn´ a se o intern´ı protokol pouˇz´ıvan´ y pro komunikaci s ˇr´ıdic´ımi jednotkami LED panel˚ u.
13
Obr´azek 3.2: Diagram ilustruje z´akladn´ı propojen´ı program˚ u, aby mohl cel´ y testovac´ı proces fungovat.
3.3
N´ avrh programov´ eˇ c´ asti zaˇ r´ızen´ı
Softwarov´a ˇca´st zaˇr´ızen´ı je cel´a um´ıstˇena v ˇr´ıdic´ım PC Obr. (3.2) a obsahuje tyto ˇc´asti: TESTOVAC´I PROGRAM: Obsahuje cel´ y testovac´ı proces a ˇr´ızen´ı testovac´ıch komponent.
ˇ TESTOVAC´I ELEKTRONIKY: Jedn´a se o SW Test v3.0.9 OVLADACE vyvinut´ y pro automatick´e testov´an´ı vyr´abˇen´e elektroniky. Komunikace s t´ımto programem bude prob´ıhat jednosmˇernˇe, tedy testovac´ı program bude pouze zad´avat pˇr´ıkazy pˇres komunikaˇcn´ı rozhran´ı pro rozsv´ıcen´ı poˇzadovan´ ych LED diod na panelu. ˇ SN´IMAC´IHO ZAR ˇ ´IZEN´I: Jedn´a se o API rozhran´ı do OVLADACE dan´e v´ yrobcem sn´ımac´ıho zaˇr´ızen´ı pro ovl´ad´an´ı sn´ımac´ıho zaˇr´ızen´ı. Podrobnˇeji rozeberu program obsahuj´ıc´ı testovac´ı ˇca´st Obr. (3.3), kter´a je pro cel´e zaˇr´ızen´ı kl´ıˇcov´a. Nejd˚ uleˇzit´ejˇs´ı ˇca´st´ı je ˇ r´ıdic´ı blok, kter´ y obsahuje algoritmy, kter´e prov´ad´ı ˇr´ızen´ı cel´eho programu. Obsahuje tak´e algoritmy pro testov´an´ı LED panel˚ u. K ˇr´ıdic´ımu bloku je pˇridruˇzena datab´aze zaˇr´ızen´ı, ve kter´e jsou uloˇzeny veˇsker´e informace o zaˇr´ızen´ı. Z ostatn´ıch ˇc´ast´ı programu vid´ı ˇr´ıdic´ı blok pouze rozhran´ı: ˇ ´I ROZHRAN´I: Toto rozhran´ı zprostˇredkuje ˇr´ıdic´ımu KOMUNIKACN bloku moˇznost komunikovat s uˇzivatelem a pouˇz´ıvat logovac´ı sluˇzby, kter´e vytv´aˇrej´ı nejen zpr´avu o testovan´em zaˇr´ızen´ı, ale i z´aznam pr˚ ubˇehu cel´eho testovac´ıho procesu. 14
Obr´azek 3.3: Diagram ilustruje n´avrh programu, kter´ y realizuje testov´an´ı.
ˇ ´IDIC´I ROZHRAN´I: Umoˇzn´ı ˇr´ıdic´ımu bloku ovl´adat sn´ımac´ı zaˇr´ızen´ı R a ˇr´ıdic´ı elektroniku LED panelu. V podstatˇe zpˇr´ıstupˇ nuje moˇznosti, kter´e nab´ız´ı podprogramy, kter´e jsem prezentoval na Obr. (3.2). ˇ ROZHRAN´I SLUZEB: Poskytuje ˇr´ıdic´ımu bloku veˇsker´e funkce a struktury potˇrebn´e pro zpracov´an´ı obrazu.
15
3.4
N´ avrh postup˚ u pro testov´ an´ı Obr. (3.4) LED panel˚ u.
Obr´azek 3.4: Postup automatick´eho nastaven´ı testovac´ıho zaˇr´ızen´ı
ˇ ıdic´ı blok testovac´ıho programu, kter´ R´ y byl zm´ınˇen v odd´ılu 3.3, obsahuje sadu testovac´ıch postup˚ u urˇcen´ ych k: zorientov´ an´ı LED panelu a autokalibraci sn´ımac´ıho zaˇr´ızen´ı, rozpozn´an´ı vadn´ ych LED diod, jasovou kalibraci panelu
16
ˇ ıdic´ı blok m˚ R´ uˇze vhodn´ ym vol´an´ım tˇechto postup˚ u dos´ahnout u ´pln´eho otestov´an´ı a nastaven´ı testovan´eho vzorku. Spoleˇcn´ ym vstupem pro vˇsechny tyto postupy je obraz z´ıskan´ y ze zobrazovac´ıho zaˇr´ızen´ı. Pr´avˇe tyto postupy bych v tomto odd´ılu r´ad popsal. K popisu pouˇz´ıv´am v´ yvojov´ ych diagram˚ u doplnˇen´ ych o slovn´ı koment´aˇr.
Obr´azek 3.5: Postup automatick´eho nastaven´ı testovac´ıho zaˇr´ızen´ı
3.4.1
Postup pro zorientov´ an´ı panelu a automatick´ e nastaven´ı sn´ımac´ıho zaˇ r´ızen´ı Obr. (3.5)
Proces autokalibrace prov´ad´ı ˇr´ıdic´ı blok na zaˇca´tku s´erie testov´an´ı urˇcit´eho ˇ ıdic´ı blok m´a typu panel˚ u. U ostatn´ıch panel˚ u pˇredpokl´ad´a stejn´e vlastnosti. R´ tak´e moˇznost zavolat autokalibraˇcn´ı proces kdykoliv v pr˚ ubˇehu testov´an´ı. K tomu dojde, pokud se ˇr´ıdic´ımu bloku nepodaˇr´ı u ´spˇeˇsnˇe prov´est dalˇs´ı testy a usoud´ı, ˇze by to mohlo b´ yt zp˚ usobeno ˇspatn´ ym nastaven´ım sn´ımac´ıho zaˇr´ızen´ı. Jedn´a se konkr´etnˇe o nastaven´ı clony tak, aby v obraze nedoch´azelo k saturac´ım. Dalˇs´ı prov´adˇenou ˇca´st´ı je proces najit´ı orientace panelu v obraze. Jedn´a se o proces, kter´ y se prov´ad´ı po zah´ajen´ı testu kaˇzd´eho LED 17
panelu. D´ıky speci´aln´ımu obrazci zobrazen´emu na LED panelu je proces schopen vytvoˇrit zobrazen´ı (zp˚ usob, jak´ ym se zobrazen´ı vytv´aˇr´ı je pops´an v odd´ılu 3.6) mezi vzorov´ ymi daty (z´ısk´a je z datab´aze) a obrazov´ ymi souˇradnicemi, na kter´ ych rozpozn´a sv´ıt´ıc´ı diody.
(a)
(b)
Obr´azek 3.6: a) Postup testov´an´ı LED diod, b) Postup jasov´e kalibrace LED panelu
3.4.2
Rozpozn´ an´ı vadn´ ych LED diod Obr. (3.6(a))
Pro kaˇzd´e testovan´e zaˇr´ızen´ı je v DB uloˇzena sada testovac´ıch obrazc˚ u speci´alnˇe pˇripraven´ ych pro u ´pln´e otestov´an´ı zaˇr´ızen´ı. Testovac´ı proces postupnˇe 18
zobraz´ı vˇsechny tyto obrazce a pomoc´ı rozpozn´avac´ıch technik (popsan´ ych v odd´ılu 3.5) urˇc´ı, jestli sv´ıt´ı (popˇr´ıpadˇe nesv´ıt´ı) ty LED diody, kter´e sv´ıtit maj´ı a zda sv´ıt´ı spr´avnou barvou. Veˇsker´e odchylky od pˇrednastaven´ ych hodnot zaprotokoluje. Do protokolu tak´e zap´ıˇse ˇc´ısla test˚ u, kter´ ymi testovan´ y panel proˇsel a s jak´ ym v´ ysledkem. Pro hodnoty, jako je napˇr´ıklad jas ˇci barva, se testovac´ı algoritmus pod´ıv´a do p˚ uvodn´ıho obr´azku. To je moˇzn´e d´ıky jednoznaˇcn´emu zobrazen´ı mezi vzorem a rozpoznan´ ymi diodami. Z´ıskan´e informace o jasu a barvˇe diody zap´ıˇse do datov´e struktury dan´e LED diody.
3.4.3
Jasov´ a kalibrace LED panelu Obr. (3.6(b))
Program rozsv´ıt´ı vˇsechny LED diody na cel´em panelu. Rozpozn´a je a porovn´a s poˇzadovan´ ym jasem. Potom provede patˇriˇcn´e korekce jasu jednotliv´ ych diod. U nˇekter´ ych panel˚ u nen´ı moˇzn´e pˇrizp˚ usobit jas jednotliv´ ych diod, tam se pokus´ı ovlivnit jas nejmenˇs´ıch moˇzn´ ych celk˚ u tak, aby odpov´ıdal zadan´e hodnotˇe. Veˇsker´e informace o proveden´ ych korekc´ıch zap´ıˇse do protokolu testovan´eho zaˇr´ızen´ı.
3.5
Algoritmy pro automatick´ e rozpozn´ an´ı sv´ıt´ıc´ıch LED diod
Obr´azek 3.7: Pˇr´ıklad poˇr´ızen´eho vzorku dat pro rozpozn´an´ı sv´ıt´ıc´ıch LED diod.
Jedn´a se o algoritmy, kter´e umoˇzn´ı z poˇr´ızen´eho obrazu z´ıskat seznam diod, kter´e se na obrazu objev´ı rozsv´ıcen´e a urˇcen´ı jejich souˇradnic. Poˇc´atek 19
souˇradnicov´e soustavy jsem zvolil v lev´em horn´ım rohu obr´azku. Pˇr´ıklad takov´eho vstupu je na Obr. (3.7). Pokud se pod´ıv´ame na z´ıskan´a data trochu jin´ ym zp˚ usobem a to jako na tˇr´ı rozmˇern´ y graf Obr. (3.8), kde x a y osa z˚ ustane zachov´ana a na z osu vyneseme jasovou funkci v bodˇe [x,y], tak zjist´ıme, ˇze obrazov´e pozad´ı snadno oddˇel´ıme od rozsv´ıcen´ ych LED diod pomoc´ı prahovac´ı funkce.
Obr´azek 3.8: Zobrazen´ı dat jako tˇr´ırozmˇern´e funkce.
Vhodnou volbou prahu pro prahov´an´ı jasov´e funkce z´ısk´ame z p˚ uvodnˇe barevn´eho obr´azku pouze bin´arn´ı obr´azek, kter´ y n´am ˇr´ık´a, zda na dan´e pozici [x,y] leˇz´ı potenci´aln´ı rozsv´ıcen´a LED dioda. Výsledek pouití funkce bwlabel na binární obrázek
100
200
200
300
300
400
400
500
500
y
y
Obraz po puoití prahovací funkce
100
600
600
700
700
800
800 900
900 1000
200
400
600
800 x
1000
1200
1400
1000
1600
(a)
200
400
600
800 x
1000
1200
1400
1600
(b)
Obr´azek 3.9: a) Data po pouˇzit´ı prahov´an´ı s prahem = 120, b)Data po pouˇzit´ı funkce bwlabel.
Z Obr. (3.9(a)) jsou rozsv´ıcen´e LED diody jasnˇe patrn´e. Je tak´e patrn´e, ˇze obraz st´ale obsahuje ˇsum, kter´ y se v obraze projevuje b´ıl´ ymi body mal´e 20
plochy. Tento ˇsum je moˇzn´e velmi snadno odfiltrovat na z´akladˇe jeho plochy. Abychom mohli zjistit velikost objekt˚ u mus´ıme je od sebe rozliˇsit. V obraze tedy hled´ ame souvisl´ e oblasti, kter´e maj´ı b´ılou barvu (resp hodnotu 1 v bin´arn´ım obr´azku). Kaˇzdou takto najitou plochu oznaˇc´ıme jako samostatn´ y objekt. V Matlabu toto lze udˇelat pomoc´ı funkce bwlabel, jej´ıˇz v´ ystup m˚ uˇzeme vidˇet na Obr. (3.9(b)). U takov´ ych objekt˚ u jiˇz celkem snadno vypoˇcteme jejich z´ akladn´ı vlastnosti (v matlabu si zase m˚ uˇzeme pomoci jiˇz pˇripravenou funkc´ı regionprops) jako jsou: tˇeˇziˇstˇe - pro n´as odpov´ıd´ a stˇredu rozpoznan´e diody, plochu - velikost diody.
D´ıky takto z´ıskan´ ym informac´ım jiˇz m˚ uˇzeme prov´est filtraci podle plochy rozpoznan´ ych objekt˚ u. Po filtraci n´am zbydou jen objekty, kter´e odpov´ıdaj´ı rozsv´ıcen´ ym LED diod´am. Shrnut´ı cel´eho postupu je zobrazeno na Obr. (3.10). V´ ystupem tohoto algoritmu je seznam rozpoznan´ ych LED diod obsahuj´ıc´ı: pozice diod v obraze, velikost diod, tvar diod.
3.6
Algoritmy pro zorientov´ an´ı z´ıskan´ eho obrazu
V pˇredchoz´ıch kapitol´ach jsem popsal, jak naj´ıt LED diody respektive jejich pozici v obraze. Chyb´ı n´am ale zobrazen´ı, kter´e n´am umoˇzn´ı propojit souˇradnice nalezen´ ych LED diod s jejich skuteˇcn´ ym um´ıstˇen´ım, kter´e je dan´e at’ uˇz osazovac´ım pl´anem a nebo jen poˇradov´ ym ˇc´ıslem diod. Naˇse zobrazen´ı se mus´ı vypoˇra´dat se situacemi, kter´e mohou nastat pˇri poˇrizov´an´ı obrazu, tedy jeho: natoˇcen´ı, posunuti,
21
Obr´azek 3.10: Postup pro automatick´e rozpozn´an´ı sv´ıtic´ıch LED diod.
22
zmˇena mˇeˇr´ıtka.
Tyto situace, tedy koresponedence vˇsech bod˚ u mezi dvˇema obrazy, um´ı ˇreˇsit tzv. homografie [HZ03, str.32-36]. Jedn´a se o matici H o rozmˇerech 3×3, kter´a n´am umoˇzn´ı prov´est line´arn´ı transformace souˇradnic vzor˚ u na souˇradnice v poˇr´ızen´em obraze a naopak.
3.6.1
Odhad(v´ ypoˇ cet) homografie
Abychom tedy mohl tuto potˇrebnou transformaci pouˇz´ıvat, je nutn´e prov´est odhad matice H. Pro odhad matice H potˇrebujeme minim´alnˇe 4 navz´ajem si odpov´ıdaj´ıc´ı body. Tento poˇcet vych´az´ı z toho, ˇze bod v prostoru P2 m´a 2 DOF, tedy pro odhad 2 n´aleˇzej´ıc´ıch si bod˚ u potˇrebujeme vypoˇc´ıst 2x2DOF tedy 4 nezn´am´e [HZ03, str.88]. V obraze tedy najdeme mnoˇzinu nejm´enˇe 4 navz´ajem si n´aleˇzej´ıc´ıch bod˚ u pi ↔ p′i , pi = (xi , yi , ωi )T a p′i = (x′i , yi′ , ωi′ )T , kde pi jsou souˇradnice bod˚ u ve vzoru a p′i jsou souˇradnice bod˚ u v obraze a ′ ωi = ωi = 1, coˇz n´am ˇr´ık´a, ˇze souˇradnice x a y leˇz´ı v rovinˇe obrazu. Protoˇze poˇr´ızen´ y obraz nikdy nebude bez ˇsumu, nelze pro odhad H pouˇz´ıt rovnici 3.1, ale mus´ıme pouˇz´ıt rovnici 3.2, ve kter´e ε bude minim´aln´ı. 0=
n ∑
∥p′i − Hpi ∥2
n≥4
(3.1)
∥p′i − Hpi ∥2
n≥4
(3.2)
i=1
ε=
n ∑ i=1
Postup pro nalezen´ı matice H n´am d´av´a algoritmus DLT popsan´ y v [HZ03, str.88-91], kter´ y ˇr´ık´a toto: 1. Pro vˇsechny n´aleˇzej´ıc´ı si body pi ↔ p′i vypoˇcti (sestav) matici Ai podle pˇredpisu 3.3 2. Sloˇz n matic Ai o rozmˇerech 2 × 9 do jedn´e velk´e matice A 2n × 9 3. Udˇelej SVD matice A. Z matice V vyber sloupec, kter´ y odpov´ıd´a sloupci matice D s nejniˇzˇs´ım singul´arn´ım ˇc´ıslem. 4. Sestav matici H z vektoru h vybran´eho v minul´em kroku podle pˇredpisu 3.4.
23
[ Ai =
] ωi′ xi ωi′ yi ωi′ ωi 0 0 0 −x′i xi −x′i yi −x′i ωi 0 0 0 −ωi′ xi −ωi′ yi −ωi′ ωi yi′ xi yi′ yi yi′ ωi (3.3) h1 h2 h3 H = h4 h5 h6 h7 h8 h9
(3.4)
Transformaci vzorov´eho bodu Pi = (xi , yi , 1) do prostoru z´ıskan´eho obrazu provedeme snadno pomoc´ı matice H, kterou jsem pˇredchoz´ım v´ ypoˇctem T T z´ıskali. Zavedeme vektory h1 = (h1 , h2 , h3 ) , h2 = (h4 , h5 , h6 ) , h3 = (h7 , h8 , h9 )T z matice H (vzorec 3.4). Pomoc´ı tˇechto vektor˚ u a vzorce 3.5 ′ ′ ′ 2 = (x , y , 1) . snadno vypoˇcteme nov´e souˇradnice bodu Pi i i ( ) Pi ∗ h1 Pi ∗ h2 ′ Pi = , ,1 (3.5) Pi ∗ h3 Pi ∗ h3 Pokud provedeme test, kdy si pomoc´ı homografie nech´ame ze vzorov´ ych souˇradnic spoˇc´ıtat vˇsechny rozsv´ıcen´e body na panelu Obr. (3.11(a)) a zobraz´ıme si chybov´e vektory (rozd´ıl odhadu souˇradnic a jejich rozpoznan´e polohy) odhadu jednotliv´ ych bod˚ u Obr. (3.11(b)) zjist´ıme, ˇze jedin´e co homografie odstranit nedok´aˇze je radi´aln´ı zkreslen´ı. V naˇsem pˇr´ıpadˇe je tak mal´e, ˇze to pro naˇse u ´ˇcely nevad´ı. Pokud by bylo toto zkreslen´ı moc velk´e, bylo by nutn´e jej pˇred proveden´em odhadu homografie kompenzovat.
3.6.2
V´ ybˇ er vhodn´ ych odpov´ıdaj´ıc´ıch si bod˚ u pro odhad homografie
Nyn´ı jiˇz m´ame vytvoˇren´e jednoznaˇcn´e zobrazen´ı H mezi obrazem a vzorem. Zb´ yv´a jeˇstˇe ot´azka, jak´ ym zp˚ usobem vybrat odpov´ıdaj´ıc´ı si body a tak´e kolik jich vybrat. Poˇ cet LED diod, kter´e je potˇreba vybrat je d´an jednak minimem pro v´ ypoˇcet homografie, coˇz jak jsem uvedl v´ yˇse jsou ˇctyˇri a tak´e nˇekter´ ymi dalˇs´ımi fakty: Vybran´e diody mus´ı pokr´ yt pokud moˇzno rovnomˇernˇe cel´ y obraz. Mus´ı se poˇc´ıtat s t´ım, ˇze nˇekter´ a z vybran´ ych LED diod nebude sv´ıtit. 2
Body Pi mus´ı b´ yt pˇri pouˇzit´ı H (vzorec 3.4) v homogenn´ıch souˇradnic´ıch.
24
(a)
(b)
Obr´azek 3.11: a) Panel 16x10 s rozsv´ıcen´ ymi diodami b)Desetkr´at zvˇetˇsen´e chyby odhadu souˇradnic LED diod. Poˇc´atek vektoru odpov´ıd´a odhadu. Konec vektoru skuteˇcn´e poloze diody v obraze.
Diod nesm´ı b´ yt pˇr´ıliˇs mnoho, protoˇze si mus´ıme b´ yt po jejich rozpozn´an´ı jisti jejich vz´ajemnou polohou. Diody mus´ı b´ yt dostateˇcnˇe daleko od sebe ze stejn´eho d˚ uvodu jako v pˇredchoz´ım bodˇe.
Obr´azek 3.12: Volba pozic rozsv´ıcen´ ych LED pro odhad homografie.
Pro odhad homografie staˇc´ı ˇctyˇri body, ale pro vˇetˇs´ı redundanci jsem zvolil nejm´enˇe osm bod˚ u. Pokud by i potom homografie vykazovala velk´e chyby v odhadu dalˇs´ı diod je moˇzn´e mnoˇzinu odpov´ıdaj´ıc´ıch si diod zvˇetˇsit a homografii odhadnout znovu jiˇz s pouˇzit´ım pˇredchoz´ı odhadnut´e homografie. 25
V extr´emn´ım pˇr´ıpadˇe pak m˚ uˇzeme odhad homografie vypoˇc´ıst ze vˇsech dostupn´ ych diod. Pro v´ ybˇer pozic LED diod je potˇreba db´at na rovnomˇern´e pokryt´ı cel´eho obrazu a tak´e na v´ ybˇer vhodn´ ych pozic z hlediska jejich budouc´ıho rozpozn´av´an´ı. Dobˇre ilustruje vhodn´ y v´ ybˇer LED diod k urˇcen´ı homografie Obr. (3.12). Bohuˇzel ne u vˇsech panel˚ u m´ame moˇznost rozsvˇecet jednotliv´e diody a mus´ıme rozsv´ıtit cel´ y segment napˇr´ıklad Obr. (2.6), kde je se led panel chov´a jako 7-segmentov´ y zobrazovaˇc. Tam mus´ıme rozsv´ıtit tˇreba dva segmenty, ve kter´ ych pak ale pracujeme s diodami obdobnˇe jako u maticov´ ych zobrazovaˇc˚ u.
3.6.3
Odhad pozice bod˚ u pro v´ ypoˇ cet homografie
Homografie jako takov´a dok´aˇze pˇri vhodn´e volbˇe odpov´ıdaj´ıc´ıch si bod˚ u vˇernˇe simulovat veˇsker´e line´arn´ı transformace. V naˇsem pˇr´ıpadˇe vˇsak vyvstane jeˇstˇe jeden probl´em, kter´ y homografie nevyˇreˇs´ı. T´ım probl´emem je odhad odpov´ıdaj´ıc´ıch si bod˚ u, kter´e potˇrebujeme pro odhad homografie. V podstatˇe bychom potˇrebovali m´ıt homografii jiˇz vypoˇctenou, abychom mohli urˇcit odpov´ıdaj´ıc´ı si body pro samotn´ y v´ ypoˇcet homografie. Jak vidno tudy cesta nevede, a proto pro odhad odpov´ıdaj´ıc´ıch si bod˚ u mus´ıme zvolit jin´ y postup. Pˇri v´ ybˇeru postupu jsem vych´azel z fakt˚ u: Odpov´ıdaj´ıc´ı si body jsou daleko od sebe. Tento pojem je relativn´ı ovˇsem vztahuji-li ho ke zp˚ usobu odhadu jejich pozice, pak se mi nesm´ı st´at, ˇze bych dva sousedn´ı body zamˇenil. Pro odhad vztahu mezi body nem´am k dispozici nic jin´eho,neˇz jejich p˚ uvodn´ı a nov´e souˇradnice.
Vyjdu-li z pˇredchoz´ıch tvrzen´ı, pak se jako dobr´ y zp˚ usob pro odhad hod´ı naj´ıt b´azov´e vektory obou syst´emu (jak vzorov´eho, tak obrazov´eho) a pomoc´ı tˇechto b´azov´ ych vektor˚ u prov´est odhad odpov´ıdaj´ıc´ıch si bod˚ u pro urˇcen´ı homografie. Pro vyˇreˇsen´ı tohoto probl´emu jsem vybral n´asleduj´ıc´ı postup. 1. Na LED panelu si rozsv´ıt´ım 3 LED diody, kter´e tvoˇr´ı troj´ uheln´ık (ilustrace 3.13) ve kter´em plat´ı, ˇze d´elky stran jsou navz´ajem r˚ uzn´e a plat´ı (L1 > L2 > L3 ). 2. Z osazovac´ıho pl´anu (nebo jinak) z´ısk´am souˇradnice vzorov´ ych bod˚ ua to sam´e z´ısk´am z poˇr´ızen´eho obrazu. 26
Obr´azek 3.13: Odhad b´azov´ ych vektor˚ u.
3. Spoˇc´ıt´am si ke kaˇzd´emu bodu vzd´alenosti od sv´ ych soused˚ u (L1 ,L2 ,L3 ). 4. Urˇc´ıme souˇradnice bodu P1 tak, ˇze P1 = L2 ∩ L3 . Obdobnˇe pak body P2 a P3 . 5. Bod P1 tvoˇr´ı poˇc´atek nov´eho souˇradn´eho syst´emu. B´aze tohoto syst´emu pak spoˇctu n´asledovnˇe bx = P2 − P1 a by = P3 − P1 . 6. Kroky 2. aˇz 4. provedu jak pro obrazov´e body tak pro body vzorov´e. 7. Na LED panelu rozsv´ıt´ım body urˇcen´e pro odhad homografie (napˇr´ıklad Obr. (3.12)). 8. Z osazovac´ıho pl´anu (nebo jinak) z´ısk´am souˇradnice vzorov´ ych bod˚ ua to sam´e z´ısk´am z poˇr´ızen´eho obrazu. 9. Pomoc´ı transformac´ı Obecn´ a soustava (souˇ radnice z osazovac´ıho pl´ anu) - Vzorov´ a b´ aze z´ısk´am souˇradnice v souˇradn´em syst´emu vzorov´ ych bod˚ u. Tyto souˇradnice pomˇerovˇe odpov´ıdaj´ı souˇradn´ıc´ım v souˇradn´em syst´emu obraz˚ u. Tedy tyto vypoˇcten´e souˇradnice pˇrevedu pomoc´ı transformace Obrazov´ a b´ aze - Obecn´ a soustava na obecn´e souˇradnice (souˇradnice v poˇr´ızen´em obraze). 10. Odhad souˇradnic pomoc´ı b´az´ı nen´ı tak pˇresn´ y, ovˇsem diody jsou tak daleko od sebe, ˇze je nen´ı moˇzn´e mezi sebou zamˇenit i pˇri velk´e toleranci k pozici odhadnut´ ych souˇradnic. Tolerance m˚ uˇze b´ yt aˇz polovina vzd´alenosti mezi nejbliˇzˇs´ımi diodami ve smˇeru osy x a y. 11. Pomoc´ı odhadnut´ ych souˇradnic ±rozptyl zjist´ım, kter´e vzorov´e body si odpov´ıdaj´ı s obrazov´ ymi body. 27
12. Pokud je pˇredchoz´ı krok u ´spˇeˇsn´ y, pak m´am seˇ razenou posloupnost vzorov´ ych bod˚ u (z osazovac´ıho pl´anu nebo jinak) a obrazov´ ych bod˚ u (z poˇr´ızen´eho obrazu metodami rozpozn´an´ı), kter´e si vz´ajemn´e odpov´ıdaj´ı. Nen´ı tedy probl´em pomoc´ı nich prov´est odhad homografie. V´ yˇse popsan´ y postup nen´ı moˇzn´e pouˇz´ıt pro rozpozn´an´ı odpov´ıdaj´ıc´ıch si bod˚ u u LED panel˚ u, u kter´ ych nem˚ uˇzeme libovolnˇe rozsvˇecet diody (napˇr´ıklad 8-segmentov´ ych zobrazovaˇc˚ u). Zde mus´ım pouˇz´ıt jin´ y postup, kter´ y je ovˇsem velmi podobn´ y. Jedin´ y rozd´ıl je v tom, jak´ ym zp˚ usobem urˇc´ıme odpov´ıdaj´ıc´ı si body pro odhad homogarafie. Postup je n´asleduj´ıc´ı:
(a)
(b)
Obr´azek 3.14: a) 7 segmentov´ y zobrazovaˇc, b) Tvorba objekt˚ u.
x = rcos(α) y = rsin(α)
(3.6)
0≤α<π 1. Na LED panelu rozsv´ıt´ıme 3 segmenty, jak je zobrazeno na Obr. (3.14(a)). 2. V obraze vyhled´ame vˇsechny LED diody, kter´e n´aslednˇe nahrad´ıme kruhovou nebo ˇctvercovou maskou. Volba polomˇeru masky je d´ana vzd´alenost´ı jednotliv´ ych LED diod od sebe. Maska mus´ı b´ yt velik´a tak, aby n´am z diod, kter´e si soused´ı v jednom segmentu utvoˇrila jedin´ y objekt, jak je to zn´azornˇeno na Obr. (3.14(b)). Tvorba ˇctvercov´e masky je trivi´aln´ı. Kruhovou masku pak podle [ZBF98, str. 55-60] vytvoˇr´ıme 28
dosazen´ım do vzorce 3.6. T´ım dostaneme souˇradnice kruhu, ten potom vypln´ıme nˇekterou z metod popsan´ ych tak´e v [ZBF98, str. 79-88]. 3. Pomoc´ı funkc´ı bwlabel a regionprops vypoˇc´ıt´ame teˇziˇstˇe k z´ıskan´ ym objekt˚ um. Vypoˇcten´a tˇeˇziˇstˇe (modr´e body) jsou zobrazena na Obr. (3.15) 4. To sam´e provedeme na vzorov´ ych datech. T´ım dostaneme 3 odpov´ıdaj´ıc´ı si body. Z nich m˚ uˇzeme spoˇc´ıtat b´aze jednotliv´ ych syst´em˚ u stejn´ ym zp˚ usobem, jako jsme to poˇc´ıtali u pˇredchoz´ıho zp˚ usobu, urˇcen´eho pro panely s moˇznost´ı rozsvˇecet LED diody libovolnˇe. 5. Vypoˇc´ıt´ame tˇeˇziˇstˇe pro vˇsechny segmenty. T´ım dostaneme 8 odpov´ıdaj´ıc´ıch si bod˚ u. Tˇeˇziˇstˇe pouˇz´ıv´ame proto, ˇze jsou tak daleko od sebe, abychom pro jejich jednoznaˇcn´e urˇcen´ı mohli pouˇz´ıt z´ıskan´ ych b´az´ı. Z tˇechto 8 bod˚ u vypoˇcteme homografii.
Obr´azek 3.15: Vypoˇcten´a tˇeˇziˇstˇe.
29
Kapitola 4 Implementace navrˇ zen´ ych algoritm˚ u Oproti pˇredpoklad˚ um probˇehla implementace pouze v jazyce Matlab, ve kter´em jsem odzkouˇsel jak funkˇcnost vˇsech navrˇzen´ ych algoritm˚ u a postup˚ u, tak jejich rychlost. D´ale pˇredpokl´ad´am implementaci do jazyka C++, pˇr´ıpadnˇe C Sharp nebo Java. V souˇcasn´e dobˇe je SW ˇr´ıdic´ı jednotky LED panel˚ u implementov´an v jazyce Delphi (Object Pascal) a i ten by bylo vhodn´e pˇrepsat do jednoho z v´ yˇse jmenovan´ ych jazyk˚ u. V pˇr´ıpadˇe shody implementaˇcn´ıch jazyk˚ u bude moˇzn´e pouˇz´ıt spojovac´ıho rozhran´ı pro oba programy a zajistit tak lepˇs´ı spolupr´aci obou celk˚ u. Posledn´ı v´ yhodou pak je jejich multiplatformita.
30
Kapitola 5 Implementace hardware V pˇredchoz´ıch kapitol´ach bylo pops´ano, jak´ ym zp˚ usobem by zaˇr´ızen´ı mˇelo fungovat. V t´eto bych r´ad popsal hardwarov´e prostˇredky, kter´e mi umoˇzn´ı realizovat zaˇr´ızen´ı urˇcen´e pro testov´an´ı zobrazovac´ıch panel˚ u. Jedn´a se o v´ ybˇer vhodn´eho sn´ımac´ıho zaˇr´ızen´ı odd´ıl 5.1, n´avrh pracoviˇstˇe odd´ıl 5.2 a v´ ybˇer ˇr´ıdic´ı jednotky odd´ıl 5.3.
5.1
V´ ybˇ er sn´ımac´ıho zaˇ r´ızen´ı
V´ ybˇer sn´ımac´ıho zaˇr´ızen´ı je podˇr´ızen nˇekolika urˇcuj´ıc´ım faktor˚ um. Prvn´ım z nich je informace o pˇredpokl´adan´ ych maxim´aln´ıch rozmˇerech zobrazovac´ıch panel˚ u. Nejvˇetˇs´ı z panel˚ u m´a rozmˇery 50 × 50 cm s nejvˇetˇs´ı hustotou osa2 zen´ı ˇctyˇri diody na cm d´ale pak zjiˇstˇen´ı, ˇze pro bezchybn´e rozpozn´an´ı LED diod na panelu je potˇreba 8-12 pixel˚ u na jednu diodu. Z toho n´am vych´az´ı minim´aln´ı rozliˇsen´ı sn´ımac´ıho zaˇr´ızen´ı 2Mpix. Dalˇs´ım parametrem je zhruba metrov´a vzd´alenost sn´ımac´ıho zaˇr´ızen´ı od panelu.
5.1.1
V´ ybˇ er kamery
Zaˇr´ızen´ı, kter´a pˇripadaj´ı v u ´vahu jsou fotoapar´at nebo kamera. Pro fotoapar´at hovoˇr´ı jeho pomˇer cena ku rozliˇsen´ı ˇcipu, ovˇsem v´ yhoda ceny pad´a v pˇr´ıpadˇe, ˇze bychom chtˇeli jednoznaˇcnˇe definovat parametry sn´ımac´ıho zaˇr´ızen´ı tedy pouˇz´ıt objektiv s fixn´ım zaostˇren´ım, kdy by bylo potˇreba pouˇz´ıt zrcadlovky. Dle m´eho n´azoru nejvˇetˇs´ı nev´ yhodou je rozhran´ı, pˇres kter´e lze s fotoapar´aty komunikovat. Probl´em rozhran´ı je ˇreˇsen v pr˚ umyslov´ ych kamer´ach, u kter´ ych se takov´eto pouˇzit´ı pˇredpokl´ad´a. Z tˇechto d˚ uvod˚ u jsem 31
se rozhodl pouˇz´ıt CMOS kameru. K faktor˚ u, kter´e jsem uvedl v´ yˇse se jeˇstˇe pˇrid´av´a volba vhodn´eho komunikaˇcn´ıho rozhran´ı. V souˇcasn´e dobˇe dostupn´a rozhran´ı jsou : FireWire (IEEE 1394a) - jedn´a se o standardn´ı rozhran´ı pouˇz´ıvan´e pro pˇripojen´ı perif´eri´ı k poˇc´ıtaˇci. Norma 1394a se d´ıky sv´e niˇzˇs´ı datov´e1 propustnosti pouˇz´ıv´a u kamer s rozliˇsen´ım do 2 Mpix. V souˇcasn´e dobˇe existuj´ı i nov´e formy s vyˇsˇs´ı datovou propustnost´ı, pouˇz´ıv´an´e pro kamery s vˇetˇs´ım rozliˇsen´ım. USB - U kamer urˇcen´ ych k poˇc´ıtaˇcov´emu vidˇen´ı se nejˇcastˇeji pouˇz´ıv´a z rodiny USB standard˚ u USB 2, kter´ y se d´ıky datov´e propustnosti 480 Mbps pouˇz´ıv´a pro kamery do 2 Mpix. V souˇcasn´e dobˇe se zaˇcal pouˇz´ıvat, pro kamery s vyˇsˇs´ım rozliˇsen´ım,standard USB 3 s datovou propustnost´ı 5Gbps. GiGe - Toto rozhran´ı pouˇz´ıv´ a pro komunikaci se sn´ımac´ımi zaˇr´ızen´ımi gigabitov´ y ethernet. Svou datovou propustnost´ı 1000Mbps se hod´ı i pro pˇrenos obrazu kamer s vˇetˇs´ım rozliˇsen´ım.
D´ıky v´ yˇse uveden´ ym skuteˇcnostem jsem zvolil kameru s rozhran´ım USB 3. S pˇrihl´ednut´ım ke zbytku omezuj´ıc´ıch faktor˚ u jsem vybral kameru USB CMOS Color Camera DFK 72AUC02 Obr. (5.1) s rozliˇsen´ım 2592x1944 a ˇcipem 1/2.5”od firmy Imagingsource. Tato kamera mˇela nejlepˇs´ı pomˇer cena/rozliˇsen´ı, kdy za 300 euro dostaneme rozliˇsen´ı 5 Mpix. 1
Z´aleˇz´ı na normˇe dle kter´e je FireWire realizov´an: 1394a(400Mbps), 1394b(800Mbps)
32
Obr´azek 5.1: Kamera DFK 72AUC02
5.1.2
V´ ybˇ er objektivu
Obr´azek 5.2: Model pro urˇcen´ı ohniskov´e vzd´alenosti objektivu.
Pro v´ ybˇer objektivu je d˚ uleˇzit´e vypoˇc´ıst jeho ohniskovou vzd´alenost. V´ ypoˇcet provedeme pomoc´ı vzorce 5.1, kter´ y je odvozen na z´akladˇe Obr. (5.2). Dosazen´ım zn´am´ ych hodnot ( Tab. (5.1) ), pˇriˇcemˇz mus´ıme d´at pozor na to, ˇze do v´ ypoˇctu dosazujeme polovinu maxim´aln´ıho rozmˇeru panelu (y[mm]) a polovinu minim´aln´ıho rozmˇeru ˇcipu (y ′ [mm]). Zjist´ıme, ˇze potˇrebn´a ohniskov´a vzd´alenost je f je 8,49 mm. Objektiv s t´ımto ohniskem se bohuˇzel nevyr´ab´ı a proto mus´ıme vz´ıt nejbliˇzˇs´ı menˇs´ı tedy objektiv s ohniskem 8 mm. Variantou k manu´aln´ım(fixfocus) objektiv˚ um jsou tzv. objektivy s nastaviteln´ ym ohiskem (varifocal) objektivy. Vybereme-li si varifocal objektiv, 33
pracovn´ı vzd´alenost 1m velikost ˇcipu 1/2.5”tedy 5.76 × 4.29 mm max. rozmˇery panelu 50 × 50 cm Tabulka 5.1: Parametry pro v´ ypoˇcet ohniskov´e vzd´alenosti objektivu
nebude v budoucnu t´emˇeˇr moˇzn´e kompenzovat jeho vady (napˇr. soudkovitost, poduˇskovitost atp.), protoˇze se zmˇenou ohniskov´e vzd´alenosti se zmˇen´ı i projev vad objektivu. y′a (5.1) −y + y ′ Posledn´ı vˇec, kterou u objektivu ˇreˇs´ıme je form´at objektivu, kter´ y by mˇel korespondovat s form´atem ˇcipu. V pˇr´ıpadˇe, ˇze bychom vybrali objektiv s form´atem menˇs´ım, neˇz je form´at ˇcipu, pak by objektiv nezobrazoval pˇredmˇet na cel´ y ˇcip a okraje ˇcipu by nebyly exponov´any. V opaˇcn´em pˇr´ıpadˇe bude na ˇcipu exponov´an pouze v´ yˇrez z pozorovan´e oblasti. V m´em pˇr´ıpadˇe jsem pouˇzil prvn´ı varianty. f=
5.2
N´ avrh pracoviˇ stˇ e
Pracoviˇstˇe mus´ı splˇ novat nˇekolik poˇzadavk˚ u, kter´ ym je nutno podˇr´ıdit n´avrh. Jejich v´ yˇcet zde uv´ad´ım: Vzd´alenost mezi koncem objektivu a ploˇsn´ ym spojem, respektive ˇcipy LED diod mus´ı b´ yt 1 m. D´elka 1 m vych´az´ı z vypoˇcten´e ohniskov´e vzd´alenosti objektivu (8 mm) a maxim´aln´ıho rozmˇeru vyr´abˇen´ ych ploˇs/n´ ych spoj˚ u 60 × 50 cm. Minim´aln´ı vnitˇrn´ı p˚ udorys zaˇr´ızen´ı mus´ı b´ yt 60 × 50 cm tento rozmˇer je d´an maxim´aln´ı velikost´ı ploˇsn´ ych spoj˚ u. Pod uchycen´ım tiˇstˇen´eho spoje do zaˇr´ızen´ı mus´ı b´ yt m´ısto minim´alnˇe 10 cm pro pˇripojen´ı ˇradiˇc˚ u LED panel˚ u a kabel´aˇze. V horn´ı ˇc´asti pracoviˇstˇe mus´ı b´ yt m´ısto pro uchycen´ı sn´ımac´ıho zaˇr´ızen´ı a z´aroveˇ n zapojen´ı kabel´aˇze. Poloha sn´ımac´ıho zaˇr´ızen´ı mus´ı b´ yt staviteln´a v rozmez´ı ±10 cm od z´akladn´ıho um´ıstˇen´ı sn´ımac´ıho zaˇr´ızen´ı.
34
Mus´ı umoˇzn ˇovat pˇr´ıstup jak ke sn´ımac´ımu zaˇr´ızen´ı, tak testovan´emu zaˇr´ızen´ı. Mus´ı zabraˇ novat neˇz´adouc´ım odlesk˚ um, kter´e by mohly na testovan´em panelu vznikat a odr´aˇzet se do sn´ımac´ıho zaˇr´ızen´ı. Pro obsluhu mus´ı b´ yt snadn´e a rychl´e vkl´adat nov´e testovac´ı panely.
Na z´akladˇe tˇechto poˇzadavk˚ u jsem provedl n´avrh pracoviˇstˇe jehoˇz model je na Obr. (5.3) a Obr. (5.4). Rozd´ıl oproti obr´azku je vnitˇrn´ı barva zaˇr´ızen´ı, kter´a bude matnˇe ˇcern´a, aby se zamezilo odlesk˚ um. Dovnitˇr se bude um´ıst’ovat LED panel nasazen´ y na drˇza´k, kter´ y je zobrazen na Obr. (5.5).V´ ykresov´a dokumentace pro v´ yrobu zaˇr´ızen´ı je uvedena v elektronick´ ych pˇr´ıloh´ach k t´eto pr´aci.
Obr´azek 5.3: Model pracoviˇstˇe
35
Obr´azek 5.4: Uchycen´ı kamery
Obr´azek 5.5: Uchycen´ı panel˚ u
Pro testov´an´ı algoritm˚ u jsem sestavil improvizovan´e pracoviˇstˇe, kter´e je zobrazeno na Obr. (5.6). V testovan´em pracoviˇsti jsem kameru nahradil obyˇcejn´ ym fotoapar´atem a m´ısto boxu, kter´ y br´an´ı odlesk˚ um, jsem pˇri testov´an´ı zatemnil celou m´ıstnost.
Obr´azek 5.6: Improvizovan´e pracoviˇstˇe sestaven´e pro testov´an´ı algoritm˚ u.
36
5.3
V´ ybˇ er ˇ r´ıdic´ı jednotky
ˇ ıdic´ı jednotkou tohoto zaˇr´ızen´ı m˚ R´ uˇze b´ yt obyˇcejn´e PC nebo embedded zaˇr´ızen´ı, na kter´e jsou kladeny n´asleduj´ıc´ı n´aroky. Mus´ı disponovat vhodn´ ym komunikaˇcn´ım portem pro komunikaci a ˇr´ızen´ı sn´ımac´ıho zaˇr´ızen´ı. V naˇsem pˇr´ıpadˇe mus´ı obsahovat USB 3. Mus´ı disponovat vhodn´ ym komunikaˇcn´ım portem pro komunikaci s jednotkou, kter´a je schopna ovl´adat testovan´ y panel. V naˇsem pˇr´ıpadˇe se jedn´a o jednotku TesterIO, kter´a komunikuje pˇres RS232 protokol PDE2 . Mus´ı umoˇznit obsluze sledovat pr˚ ubˇeh testu a pˇr´ıpadnˇe do test˚ u zasahovat. Z t´eto podm´ınky vypl´ yv´a nˇekolik poˇzadavk˚ u, ovˇsem tyto poˇzadavky pokr´ yv´a kaˇzd´ y bˇeˇzn´ y poˇc´ıtaˇc, kter´ y umoˇzn ˇuje pˇ ripojen´ı monitoru, kl´ avesnice a myˇ si. Mus´ı umoˇznit ukl´adat vˇetˇs´ı mnoˇzstv´ı dat. Jedn´a se testovac´ı obrazce, v´ ysledky test˚ u atp... Jinou moˇznost´ı je, ˇze testovac´ı jednotka bude pˇripojen´a k serveru, odkud bude testovac´ı data naˇc´ıtat a z´arove´ n ukl´adat v´ ysledky test˚ u. Je-li u ´loha takto ˇreˇsena, pak je potˇreba uchov´avat pouze v´ ysledky a testovac´ı obrazce pr´avˇe prov´adˇen´eho testu do doby, neˇz budou odesl´ana na server. To n´am umoˇzn´ı pouˇz´ıt v´ıce testovac´ıch jednotek operuj´ıc´ıch nad stejn´ ymi testovac´ımi daty, jinak ˇreˇceno n´am to zajist´ı jednotnost testovac´ıch dat.
2
Jedn´ a se o vnitˇrn´ı protokol firmy Gema s.r.o, kter´a testovac´ı jednotku vyrobila.
37
Kapitola 6 Z´ avˇ er C´ılem t´eto pr´ace bylo vyvinout algoritmy a pˇr´ıpravky pro otestov´an´ı LED ´ zobrazovaˇc˚ u. Ulohu jsme analyzovali a provedli implementace a testov´an´ı navrˇzen´ ych algoritm˚ u v programov´em prostˇred´ı Matlab 2009b. Hlavn´ım u ´kolem cel´e pr´ace bylo nal´ezt vhodn´e transformaˇcn´ı vztahy mezi poˇr´ızen´ ym obrazem a vzorov´ ymi daty. V pr˚ ubˇehu v´ yvoje a testov´an´ı se uk´azalo, ˇze v poˇr´ızen´em obraze pˇrevaˇzuj´ı line´arnˇe aproximovateln´e chyby nad tˇemi neline´arn´ımi. Z tˇechto d˚ uvod˚ u jsem zvolil projektivn´ı transformaci (homografii), kter´a je schopna namapovat poˇr´ızen´a obrazov´a data na data vzorov´a. Dalˇs´ım u ´kolem bylo prov´est odhad homografie tak, aby kompenzoval (simuloval) chyby v poˇr´ızen´em obraze s co nejmenˇs´ı chybou. K tomuto u ´ˇcelu dobˇre poslouˇzil rozklad na singul´arn´ı ˇc´ısla (SVD), kter´ y n´am umoˇznil odhadnout homografii tak, aby byla chyba aproximace minimalizov´ana. Dalˇs´ım poznatkem z´ıskan´ ym bˇehem v´ yvoje bylo zjiˇstˇen´ı, ˇze nelze pouˇz´ıt stejn´e metody pro zpracov´an´ı maticov´ ych zobrazovaˇc˚ u a sedmi-segmentov´ ych zobrazovaˇc˚ u. Jedn´a se o prvotn´ı zorientov´an´ı obrazu a proveden´ı odhadu homografie. Nepouˇzitelnost metod navrˇzen´ ych pro maticov´e zobrazovaˇce byla zp˚ usobena t´ım, ˇze nebylo moˇzn´e u sedmi-segmentov´ ych zobrazovaˇc˚ u rozsv´ıtit jednotliv´e diody, ale pouze cel´e segmenty. Testovac´ı postup po proveden´ı odhadu homografie je pro oba typy zobrazovaˇc˚ u stejn´ y. K v´ yˇse popsan´emu doch´az´ı nejenom u sedmi-segmentov´ ych zobrazovaˇc˚ u, ale i u jin´ ych typ˚ u, kter´e nebudou schopny rozsvˇecet LED diody samostatnˇe. Posledn´ım krokem, ker´ y je potˇreba uˇcinit je reimplementace z programov´eho prostˇred´ı Matlab do jazyka C++ a zapouzdˇren´ı cel´eho syst´emu.
38
Literatura [HZ03]
R. Hartley and A. Zisserman. Multiple View Geometry in computer vision. Cambridge University Press, 2003.
[SHB99] M. Sonka, V. Hlavac, and R. Boyle. Image Processing Analisys, and Machine Vision. PWS, 1999. [ZBF98] J. Zara, B. Benes, and P. Felkel. Modern´ı poˇc´ıtaˇcov´ a grafika. Computer Press, 1998.
39
Pˇ r´ıloha A V´ ykresov´ a dokumentace pro v´ yrobu testovac´ıho pracoviˇ stˇ e V t´eto pˇr´ıloze je na n´asleduj´ıc´ıch listech uvedena v´ ykresov´a dokumentace slouˇz´ıc´ı k v´ yrobˇe testovac´ıho zaˇr´ızen´ı. Jsou v n´ı ˇreˇseny probl´emy s uchycen´ım kamery do testovac´ıho zaˇr´ızen´ı a zp˚ usob, jak´ ym budou testovan´e LED panely vkl´adan´ y do testovac´ıho zaˇr´ızen´ı.
I
Pˇ r´ıloha B Obsah pˇ riloˇ zen´ eho CD K pr´aci je pˇriloˇzeno CD s elektronick´ ym obsahem. Obsah CD je ˇclenˇen do n´asleduj´ıc´ıch adres´aˇr˚ u: zprava/ : elektronick´ a verze bakal´aˇrsk´e pr´ace, software/ : zdrojov´e k´ody popsan´e v t´eto pr´aci implementovan´e v Matalb 2009b, tvary/ : fotografie vyr´abˇen´ ych tvar˚ u LED panel˚ u, vykresova dokumentace/ : v´ ykresy pro v´ yrobu zaˇr´ızen´ı.
II