• No results found

Metody zpracování obrazu pro časově náročné úlohy v LabVIEW

N/A
N/A
Protected

Academic year: 2022

Share "Metody zpracování obrazu pro časově náročné úlohy v LabVIEW"

Copied!
49
0
0

Loading.... (view fulltext now)

Full text

(1)

TECHNICKÁ UNIVERZITA V LIBERCI

Fakulta mechatroniky, informatiky a mezioborových studií

Písemná práce ke státní doktorské zkoušce

Metody zpracování obrazu pro časově náročné úlohy v LabVIEW

2011 Ing. Jaroslav Vlach

(2)
(3)

TECHNICKÁ UNIVERZITA V LIBERCI

Fakulta mechatroniky, informatiky a mezioborových studií

Písemná práce ke státní doktorské zkoušce

Metody zpracování obrazu pro časově náročné úlohy v LabVIEW

Digital Image Processing Methods for the Time- Consuming Problems In LabVIEW

Autor: Ing. Jaroslav Vlach

Studijní program: P 2612 Elektrotechnika a informatika Obor: 2612V045 Technická kybernetika Školitel: doc. Ing. Milan Kolář, CSc.

Rok: 2011

(4)

Anotace

Hlavní téma této doktorské práce vychází z dlouhodobého poţadavku vyrábět a prodávat kvalitní a konkurenceschopné výrobky firmy PRECIOSA – strojně broušené kameny a skleněné šperky. Velmi důleţitou roli ve výrobním procesu, proto hraje posouzení kvalitativních vlastností výrobku (velikost, tvar a vady) a jejich měření a třídění.

Zvyšující se poţadavky na efektivitu nás nutí k vyuţívání moderních aplikačních metod s cíleným omezením nestabilního lidského činitele. Budeme-li pozorovat svět kolem nás, setkáme se s projekcí skutečného světa promítaného na sítnici oka nebo povrch obrazového senzoru (např. kamera). Tato projekce se nazývá obraz. Obraz můţe být popsán jako spojitá skalární funkce f, kterou nazýváme obrazovou funkcí. Hodnoty obrazové funkce f odpovídají určitým fyzikálním veličinám, v našem případě hodnotě jasu. Pak kaţdý prvek obrazové funkce f nese informaci o hodnotě jasu jednoho obrazového prvku.

Hlavním cílem práce je analýza a návrh metod zpracování obrazové informace pro časově náročné úlohy řízení v reálném čase s pouţitím kontroléru obsahujícího programovatelné hradlového pole FPGA a vyuţívajícího programový systém LabVIEW.

Navrţené metody budou slouţit pro rozpoznávání objektů (biţuterních kamenů) a segmentaci jejich profilů pro účely měření a třídění v časově náročných úlohách. Cílem je navrhnout řešení pro snadnou modifikaci a snadný přenos dat a parametrů mezi různými částmi s ohledem na poţadovanou homogenitu řešení systému a technického a programového řešení.

Annotation

The main topic of this Ph.D. study comes from long-term needs to produce and sell high quality and competitive products in company Preciosa – machine cut glass jewelry stones. Very important role in the production process therefore plays an assessment of qualitative product characteristics (size, shapes and any defects) and their measurement and classification.

The increasing demands for efficiency have become the modern application methods with the targeted elimination of unstable human factor. When we observe the world around us, we will work with a picture of the real world projected onto the retina of the eye or surface of the image sensor (camera). This projection is called an image.

The image may be described as a continuous scalar function f, which we call the image function. The values of image function f correspond to specific physical quantities, in this case, the brightness value. Then each element of the image function f carries information about the luminance value of one picture element (pixel).

The main focus of my dissertation is on the analysis and design of methods for time-consuming management in real-time digital image problems for the controller based on FPGA (field-programmable gate arrays) and utilizing LabVIEW programming system for them. The proposed methods will be used for recognition of objects (jewelry stones) and their segmentation profiles for measurement and classification of the most time-consuming tasks. The aim is to design the solution for easy modification and easy transfer of data and parameters between the different parts with regard to the desired homogenity of the solution of the system and the hardware and software.

(5)

Obsah

Seznam pouţitých pojmů a zkratek ... 6

Úvod ... 7

1. Současný stav ... 8

1.1 Měření biţuterních kamenů ... 8

1.2 Počítačové zpracování obrazu ... 8

1.3 Cíle a předpoklady dalšího vývoje ... 9

2. Základní pojmy ... 10

2.1 Obraz a obrazová funkce ... 10

2.2 Zpracování obrazu ... 11

2.2.1 Předzpracování obrazu ... 11

2.2.2 Integrální transformace ... 16

2.2.3 Segmentace ... 19

2.2.4 Metody rozpoznávání ... 20

3. Problematika optické soustavy ... 24

3.1 Osvětlovač ... 24

3.2 Snímací soustava ... 25

4. Fuzzy transformace při zpracování obrazu ... 25

4.1 Historické základy ... 25

4.2 Základní nástroje a motivace pro aplikace fuzzy logiky ... 27

4.3 Některé základní pojmy fuzzy logiky ... 27

4.4 Pouţití fuzzy logiky pro zpracování obrazu ... 31

4.4.1 Příklad hledání hranových bodů s pomocí fuzzy logiky ... 32

4.4.2 Obrazová fúze (Image Fusion) ... 34

5. Vyuţití FPGA ... 36

5.1 Průmyslové systémy CompactRIO a SingleBoardRIO ... 36

6. Zpracování obrazu ... 37

6.1 Obecná formulace postupu ... 37

6.2 Vyuţití prostředí LabVIEW ... 38

6.3 Porovnávání tvarů (Pattern Matching) ... 39

6.4 Měření délek a tvarů ... 40

6.5 Aplikace fuzzy logiky ... 42

6.6 Hodnocení kvality ... 43

Závěr ... 44

Literatura ... 45

Literatura autora ... 49

(6)

Seznam použitých pojmů a zkratek

CPU (Central Processor Unit) centrální procesorová jednotka FPGA (Field Programmable Gate Array) programovatelné hradlové pole LabVIEW (Laboratory Virtual Instruments Engineering Workbench)

programové prostředí firmy National Instruments

LV – viz LabVIEW

PAC (Programmable Automation Controller) řídicí automat, řídicí systém PLC (Programmable Logic Controller) logický automat, řídicí systém RIO (Reconfigurable Input/Output) rekonfigurovatelné vstupy/výstupy

ŘS řídicí systém

VHDL (VHSIC Hardware Description Language) jazyk pro práci s FPGA VI (Virtual Instrument) virtuální (zdánlivý) přístroj

(7)

Úvod

V celé řadě průmyslových aplikací nacházejí dnes uplatnění metody zpracování obrazových informací (angl. image processing) s cílem dále je vyuţít při řízení dané aplikace. Významným místem pro aplikování metodik zpracování obrazových informací je oblast výroby biţuterních kamenů, zejména ve fázi hodnocení jejich kvantitativních nebo zejména kvalitativních vlastností. Tato práce si klade za cíl provést analýzu a návrh vybraných metodik zpracování obrazové informace pro časově náročné úlohy řízení v reálném čase v průmyslu výroby biţuterních kamenů s pouţitím programového prostředí LabVIEW a kontroléru NI CompactRIO, resp.

SingleBoardRIO obsahujícího programovatelné pole FPGA a vyuţívajícího programový systém LabVIEW. Práce se rovněţ zabývá moţnostmi vyuţití dalších dosud ne příliš pouţívaných metod zpracování obrazu, např. s vyuţitím fuzzy logiky či obrazovou fúzí.

(8)

1. Současný stav

1.1 Měření bižuterních kamenů

Výroba strojně broušených biţuterních kamenů má v Jablonci nad Nisou a jeho okolí dlouholetou tradici. Věhlas na straně jedné a zájem na straně druhé je třeba podpořit stále stoupajícími nároky na přesnost a kvalitu výroby a výrobků.

Významnou úlohu v procesu výroby proto má hodnocení vlastností výrobku, jejich měření a třídění. Zvyšující poţadavky na efektivitu s sebou přinášejí aplikaci moderních metod s cílenou eliminací nestabilního lidského činitele.

Strojně broušené šperkové a biţuterní kameny (dále BK) vyráběné ve firmě PRECIOSA, a. s., Jablonec n. N., mezi něţ lze řadit šatony, šatonové růţe, perle a další tvarové kameny ze skla, kubické zirkonie či jiných materiálů různých tvarů, barev a velikostí, můţeme chápat jako geometrické prostorové útvary ohraničené několika vybroušenými plochami, jejichţ základní funkce je především opticko-estetická. Na BK lze identifikovat plochy opticky funkční – plochy aktivně se podílející na optickém efektu výrobku, resp. plochy opticky nefunkční – plochy nepodílející se na optickém efektu. Na obr. 1.1 je znázorněn obecný tvar BK.

Plochy tvořící vršek a spodek kamene jsou většinou opticky funkční.

vršek

spodek

facety tabulka

hrana facety lem

(sejm, rondista)

špička kaleta

Obr. 1.1 Obecný tvar BK

Při výrobě strojně broušených BK je třeba zajistit opakovatelné a přesné měření kvality, zejména rozměrů a tvaru, případně i hodnocení moţných vad. V současné době se hodnocení kvality BK při jejich výrobě provádí několika způsoby:

 měření charakteristických geometrických rozměrů polotovarů (tzv.

suroviny) výrobků kontaktním nebo nekontaktním způsobem,

 měření charakteristických geometrických rozměrů všech výrobků (pokud to je moţné) nebo náhodně vybraných výrobků kontaktním nebo nekontaktním způsobem,

 subjektivní vizuální posuzování optických vlastností výrobků v definovaných světelných podmínkách.

1.2 Počítačové zpracování obrazu

Na obr. 1.2 je znázorněn příklad optické soustavy pro zkoumání vlastností BK.

Obvykle se skládá ze zdroje světla (osvětlovač), který musí zajistit dostatečné nasvícení zkoumaného objektu a ze snímací soustavy, kterou obvykle tvoří snímací kamera a objektiv s potřebnými vlastnostmi.

(9)

zdroj světla

kolimátor

objektiv

kamera zkoumaný objekt

Obr. 1.2 Příklad optické soustavy pro zkoumání BK

V ČR se metodami a algoritmy počítačového zpracování zabývá několik pracovišť většinou personálně i jinak spojených s akademickými institucemi: Centrum počítačového vnímání na FEL ČVUT Praha, personálně propojená s Neovision1, Skupina počítačového vidění na FEKT VUT Brno, personálně spojená s firmou CAMEA Brno2, Moravské přístroje Zlín3, ELCOM, a. s., Divize Virtuální instrumentace Ostrava4, personálně spolupracující s FEI VŠB TU Ostrava, Laboratoř počítačového zpracování obrazu v ústavu RSS FMIMS TU Liberec, Ústav pro výzkum a aplikace fuzzy modelování5 (IRAFM) OsU Ostrava a v menší míře ještě další instituce.

Při studiu metod zpracování obrazových informací lze čerpat z celé řady domácích i zahraničních pramenů, avšak zkušenosti z konkrétních aplikací v oblasti biţuterního průmyslu nejsou běţně dostupné zejména z důvodu konkurenčního boje a ochrany obchodního tajemství.

1.3 Cíle a předpoklady dalšího vývoje

Jedním z problémů současného hodnocení kvality je vysoká míra neobjektivity pouţívaných metod. Dalším problémem je moţnost velkého rozptylu v rámci hodnocení. Nejvýraznějším problémem, který zasahuje do kvality i ekonomiky hodnotícího procesu, je značná časová náročnost hodnocení. V systému hodnocení se zpracovává velké mnoţství informací.

Na základě dosavadních výsledků zkoumání a ověřování moţností snímání a zpracování obrazu BK při výrobě a následného zpracování a vyhodnocení získaných informací je moţno očekávat, ţe dalším intenzivním vývojem technických částí řešení a zejména pak vývojem algoritmů pro zpracování obrazové informace optimalizovaných na minimalizaci časové náročnosti bude moţno získat významné nástroje technické, ale zejména programové umoţňující zefektivnění výrobních a povýrobních operací a cílově tak rovněţ zvýšit kvalitu vyráběných BK.

1 Neovision, s.r.o., Barrandova 409, 143 00 Praha 4, www.neovision.cz,

2 CAMEA, spol. s r. o., Kořenského 25, 621 00 Brno-Řečkovice, www.camea.cz,

3 Moravské přístroje, a. s., Masarykova 1148, 763 02 Zlín-Malenovice, www.mii.cz,

4 ELCOM, a. s., Divize Virtuální instrumentace, Technologická 374/6, 708 00 Ostrava- Pustkovec, www.elcom.cz,

5 IRAFM, ul. 30. dubna 22, 701 03 Ostrava 1, http://irafm.osu.cz

(10)

2. Základní pojmy

2.1 Obraz a obrazová funkce

Při pozorování světa kolem nás se setkáváme s pojmem obraz. Jde o určitou projekci reálného světa na plochu sítnice oka nebo na plochu snímacího prvku kamery. Obraz je tak obecně spojitou skalární funkcí f, které budeme říkat obrazová funkce, která je zobrazením přiřazujícím bodu v prostoru A (jde o afinní prostor) souřadnice (x, y) v obraze. V jednoduchém případě při popisu statického obrazu jde o dvourozměrnou obrazovou funkci f(x, y), kde (x, y) jsou souřadnice jednotlivého bodu na ploše sítnice oka nebo snímacího prvku. Hodnoty obrazové funkce f(x, y) odpovídají určité (zvolené) fyzikální veličině, z důvodu zjednodušení budeme v dalším popisu pracovat s černobílou interpretací nasnímané scény a s pojmem dvourozměrný (2D) obraz a jeho interpretací v podobě obrazové funkce f(x, y), jejíţ kaţdý prvek o souřadnici (x, y) nese informaci o jasové hodnotě jednoho prvku obrazu. Znamená to, ţe kaţdý prvek obrazové funkce f(x, y) je tvořen celým číslem popisujícím hodnotu fyzikální veličiny (nejčastěji jasovou informaci) jednoho pixelu (z angl. picture element – obrazový prvek). Obrazovou funkci lze potom psát ve tvaru dvourozměrného pole – matice a s ní dále pracovat pomocí matematických funkcí pro práci s maticemi.

Z praktického hlediska je v počítačové technice třeba pracovat s obrazovou funkci f nikoli spojitou, ale diskretizovanou, protoţe jak na sítnici oka, tak na ploše snímacího prvku je počet světlocitlivých prvků konečný, obvykle jde o plochu tvořenou maticí o rozměrech M × N bodů. Definičním oborem takto vzniklého digitálního obrazu bude potom rovinná oblast R definovaná popisem pro kaţdý prvek (bod) (m, n), této roviny vztahem:

R = {(m, n), m <1, M>, n <1, M>}. (2.1)

Vybereme-li z obrazu určitou část, kterou snímáme konečným počtem světlocitlivých prvků, nazveme tento proces vzorkováním. Při vzorkování je třeba podle Shannonova (- Kotělnikovova) teorému o vzorkování dodrţet kmitočet vzorkování, který musí být nejméně dvojnásobkem nejvyšší hodnoty kmitočtu ve vzorkovaném signálu, který nás zajímá. Ve zpracování obrazu lze tuto větu přirozeně interpretovat tak, ţe interval vzorkování se volí o velikosti menší neţ je polovina rozměru nejmenších detailů v obraze (nejčastěji pak jedna pětina rozměru). Je také patrné, ţe čím jemnější je vzorkování (tedy čím je M × N větší), tím lépe je aproximován původní spojitý obrazový signál. V souvislosti se vzorkováním spojité obrazové funkce f(m, n) je potřeba rovněţ zvolit plošné uspořádání bodů při vzorkování. Z praktických důvodů se nejčastěji pouţívá pravidelné uspořádání vzorkovacích bodů, tedy pravidelná vzorkovací mřížka tvořená pravidelnými mnohoúhelníky, jejichţ síť úplně pokrývá rovinu obrazu. Nejčastěji se pouţívají čtvercové mříţky, někdy se pouţívají i jiné mříţky tvořené rovnostrannými trojúhelníky nebo pravidelnými šestiúhelníky.

Převedení fyzikální veličiny (nejčastěji jasu) jednotlivých obrazových bodů (pixelů) na konkrétní číslo nazýváme kvantováním. Znamená to, ţe jednotlivé hodnoty obrazové funkce f(m, n) vzorkovaného obrazu musíme pro další zpracování převést na číslo (digitalizovat) z předem daného rozsahu hodnot – tzv. kvantovacích úrovní. Je-li pro reprezentaci informace o obrazovém bodu snímaného obrazu pouţito b bitů, je počet kvantovacích úrovní k = 2b. Pro zpracování monochromatického obrazu se obvykle pouţívá 8 bitů (tedy b = 8), bude počet kvantovacích úrovní k = 256. Hodnoty takto kvantované obrazové funkce potom splňují vztah:

f(m, n) <0, 255> (2.2)

(11)

Mnoţinu pixelů navzájem vázaných relací sousedství nazýváme oblast (angl.

region). Pokud existuje souvislá cesta z pixelu P do pixelu Q jako posloupnost sousedních pixelů A1, A2,… An, kde P = A1 a současně Q = An, je oblast souvislá (kompaktní) mnoţina.

Hranice oblasti je mnoţina bodů (pixelů) oblasti R majících alespoň jednoho souseda nepatřícího do oblasti R. Jestliţe ve spojité obrazové funkci lze předpokládat nekonečně tenkou (infinitezimální) hranici, v digitálním obraze má hranice vţdy konečnou tloušťku. Je tak třeba rozlišovat vnitřní a vnější hranici oblasti. Vnější hranice je současně hranicí pozadí. Hranice oblasti (angl. border) je pojem globálního významu, hrana (angl. edge) je pojem lokálního významu (hranice můţe být tvořena několika hranami), hranový bod (angl. edgel) je pixel hrany.

Při práci s obrazem budeme pracovat ještě s pojmem oblast zájmu – ROI (z angl.

Region Of Interest), coţ je vybraná část obrazu, s níţ budeme dále pracovat.

2.2 Zpracování obrazu

Zpracování obrazu je jednou z významných součástí velmi bouřlivě se rozvíjející vědní disciplíny s názvem „počítačové vidění“. Její kořeny se nacházejí v oblasti televizní techniky, kybernetiky, výpočetní techniky, ale rovněţ v oblasti optiky či obecně fyziky a silně vyuţívající matematické a numerické metody.

Při řešení konkrétní úlohy zpracování obrazu obvykle hovoříme o třech základních krocích, kdy vstupní obraz je podroben:

a) předzpracování (např. diskretizace, prahování, hledání hran), b) segmentaci (hledání oblastí a objektů v obraze)

c) rozpoznávání obrazu.

Pro kaţdou část lze pouţít celou řadu metod, algoritmů a konkrétních předem vytvořených postupů v daném programovém prostředí. Vţdy je však třeba počítat s tím, ţe kaţdá úloha můţe mít své specifické vlastnosti, které nás vedou k celé řadě změn, úprav a doladění konkrétních postupů a algoritmů. Důleţitou úlohou je rovněţ optimální nasvícení scény.

2.2.1 Předzpracování obrazu

Předzpracování obrazu jsou operace na obraze s nejniţší úrovní abstrakce (kdy se obraz neinterpretuje), vstupem i výstupem jsou jasové obrazové funkce. Cílem je potlačit zkreslení (např. korekce geometrického zkreslení obrazu), odstranění šumu, zvýšení kontrastu (pro prohlíţení obrazu člověkem), zdůraznění charakteristik obrazu pro další zpracování (např. nalézání hran). Za základní operace s obrazovou funkcí ve fázi předzpracování lze povaţovat např. filtraci, prahování, hledání hran či vyhlazení.

Vţdy se jedná o to, aby vstupní obrazová funkce f(x, y) byla podrobena takové operaci h(x, y), s jejíţ pomocí je dosaţeno poţadované nebo hledané vlastnosti reprezentované výslednou obrazovou funkcí g(x, y).

Interpretaci rozdělení jasových úrovní v digitálním obrazu získáme pomocí histogramu. Histogram hodnot jasu je popisem hustoty pravděpodobnosti jevu, ţe pixel bude mít určitou jasovou hodnotu. Histogram bývá často jedinou globální informací o obraze. Můţeme ho pouţít při nastavování podmínek pro snímání a

(12)

digitalizaci, při změnách jasové stupnice nebo pro segmentaci obrazu na objekty a okolí. Histogram jasu Hf(z) je jednorozměrné pole s počtem sloţek rovným počtu jasových úrovní z. Hodnota kaţdé sloţky odpovídá četnosti bodů příslušného jasu z v obraze f, takţe pomocí histogramu získáme představu o rozdělení jasových úrovní v digitálním obraze. Na obr. 2.1 je uveden příklad obrazu (a) a jeho jasového histogramu (b).

Poznámka: V příkladu odpovídá minimální jas (černá) jasové úrovni z = 0 a maximální jas (bílá) odpovídá jasové úrovni z = 255.

a) obraz b) jasový histogram

z

H

f

(z)

Obr. 2.1 Příklad obrazu (a) a jeho jasového histogramu (b) (dle [50])

Algoritmus výpočtu hodnot jasového histogramu Hf(z) pro obraz f(m, n) o rozměrech M × N bodů lze popsat např. takto:

1. Poloţ Hf(z) ← 0 pro všechna z = 0, 1, … 255,

2. Pro bod obrazu f se souřadnicemi (m, n) zjisti hodnotu jasu f(m, n) = zmn, 3. Inkrementuj poloţku Hf(zmn), tj. Hf(zmn) ← Hf(zmn) + 1,

4. Opakuj od kroku 2. pro všechny hodnoty m a n.

Významnou roli při práci s obrazem hrají geometrické transformace, které pouţíváme všude tam, kde je třeba provést úpravy obrazu, jako je zvětšování, posouvání, pootáčení, odstraňování geometrických zkreslení apod. Geometrickou transformaci si lze představit jako matici funkcí, které transformují kaţdý pixel obrazu (x, y) do nové pozice (x’, y’).

Při předzpracování obrazu pouţíváme lineární nebo nelineární metody transformace. Lineární operace pracují s hodnotou výstupního obrazu g(x, y) jako s lineární kombinací hodnot vstupního obrazu f(x, y) v malém okolí zvoleného pixelu (x, y). Pro úlohy tohoto typu je významným nástrojem konvoluce. Konvoluce je definována pro spojité funkce h(t) a f(t) vztahem:

=0

h(t - ) f() d= h(t) * f(t) g(t) =

+∞

(2.3)

Operátorem * je vyznačen symbolický vztah mezi dvěma funkcemi h a f (skutečné násobení platí pro Laplaceovy obrazy těchto funkcí). Funkci h se říká téţ konvoluční jádro.

Pro diskrétní funkce (těmi obrazové funkce jsou) lze rovnici (2.3) psát jako posloupnost:

(2.4)

 

h(x - m , y - n) f(m , n) g(x, y) =

(13)

kde se součty se provedou přes všechna čísla m a n popisující souřadnice pixelů v okolí sledovaného pixelu. Připomeňme, ţe pro i < 0 a pro j < 0 je h(i, j) = 0.

Konvolučnímu jádru h v diskrétním tvaru (ve tvaru dvourozměrné matice) budeme rovněţ říkat konvoluční filtr nebo konvoluční maska. Obvykle budeme pouţívat lichý počet řádků a sloupců, potom sledovaný pixel je uprostřed takto definovaného okolí a současně také uprostřed konvoluční masky.

Operace eliminace šumu a rušení v obraze vyuţívající lineární přístupy budeme nazývat jako lineární vyhlazování. Jde o operace, při nichţ se potlačují velké změny charakteristické vlastnosti objektů v obraze (jas, barva apod.) a obraz se tak průměruje, přičemţ se tím eliminuje šum a rušení (jde tedy o filtraci). Základní metodou vyhlazování je průměrování, kde kaţdému bodu přiřadíme novou hodnotu jasu, kterou vypočteme jako aritmetický průměr hodnot jasu v okolí pixelu. Zvolme 8- okolí pixelu (okolí 3 × 3), potom jednoduchá konvoluční maska průměrující hodnoty pixelů v 8-okolí je dána vztahem:

(2.5)

Pro vnímání důleţitých míst v obraze je třeba při předzpracování hledat místa, kde se náhle mění hodnoty jasu, tedy hranové body. Velmi významnou operací při předzpracování obrazu je tedy hledání hran v obraze. Matematickým nástrojem pro hledání změn hodnot obrazové funkce f(x, y) jsou parciální derivace. Gradient funkce f(x, y) je definován jako vektor, jehoţ souřadnice tvoří parciální derivace funkce f podle jednotlivých proměnných x, resp. y:

grad f(x, y) = f(x, y) = ( ) ∂f

∂x ∂f

, ∂y

(2.6)

Gradient je tedy vektorová veličina určující směr největšího růstu funkce (směr gradientu) a strmost tohoto růstu (modul gradientu). Pixely s velkým modulem gradientu jsou hranovými body.

Často nás budou zajímat místa v obraze s velkými jasovými změnami bez ohledu na směr hran. V tomto případě můţeme vyuţít všesměrový lineární diferenciální operátor nazývaný Laplacián:

2f

∂x2

2f(x, y) = f(x, y) = + 2f

∂y2

(2.7)

Pro monotonně rostoucí jasovou funkci f(x, y) v příslušném okolí je Laplacián nulový tam, kde velikost gradientu je maximální. Průchod funkce vyjádřené Laplaciánem nulou se v literatuře označuje angl. zero-crossing.

Při hledání hran v obraze často rozlišujeme tři kategorie hranových detektorů:

a) zaloţené na hledání maxim prvních derivací (Roberts, Prewittová, Sobel), b) zaloţené na hledání průchodu druhých derivací nulou, angl. zero-crossing –

ZC, příkladem je Marrův-Hildrethové operátor a Cannyho hranový detektor, c) zaloţené na lokální aproximaci obrazové funkce parametrickým modelem,

např. polynomem dvou proměnných (Haralick).

h =

1 1 1 1 1 1 1 1 1 1

9

(14)

Stručně uvedeme příklady gradientních operátorů. Jednoduché operátory aproximující gradient můţeme vytvářet na základě vztahu (2.3), kde operátor má tvar konvoluční masky, resp. v podobě konvolučního jádra h. U směrových operátorů budeme mít tolik jader, kolik směrů operátor rozlišuje. Nejstarší (a jednoduchý) je Robertsův operátor pouţívající okolí 2 × 2 reprezentativního pixelu. Jeho konvoluční masky jsou:

(2.8)

Velikost gradientu se vypočte podle vztahu:

(2.9)

Nevýhodou operátoru je jeho velká citlivost na šum, protoţe pouţívá malé okolí aproximace. Proto se častěji pouţívají konvoluční jádra o velikosti 3 × 3 a větší.

Operátor Prewittové, podobně jako Sobelův, Kirschův či Robinsonův, aproximuje první derivaci. Gradient je odhadován v osmi směrech (pro konvoluční masku 3 × 3 lze rotovat po 450) a z výsledku největší hodnoty konvoluce se určí směr gradientu. Podle této vlastnosti bývají tyto operátory téţ nazývány kompasové operátory. Nyní naznačíme tvary konvolučních masek:

(2.10) Určitým vylepšením předchozí metodiky je Sobelův operátor:

(2.11)

Další zlepšení přináší Robinsonův operátor, resp. jeho jistá varianta Kirschův operátor. Jiţ dříve zmíněny Laplaceův gradientní operátor aproximuje druhou derivaci, je invariantní vůči otočení a udává jen velikost hrany, nikoliv směr. Lze odvodit aproximační vztah pro druhou derivaci (odvození provedeme pro parciální derivaci podle x):

*

-1, 1 -1, 1 =

f(i) - f(i + 1) f(i - 1) - f(i)

2

∂x2

( )

-

( )

f(i - 1) - 2 f(i) + f(i + 1)

1, -2, 1

2

∂x2

2

∂x2

(2.12)

Poslední vztah říká, ţe druhá derivace je konvolucí prvních derivací. Diskrétní Laplacián je potom součtem druhých parciálních derivací pro obě souřadnice x a y:

1 0 0 -1

h1 = , 0 1

-1 0

h2 = .

| g(i, j)| = |g(i, j) - g(i + 1, j + 1)| + |g(i, j + 1) - g(i + 1, j)| .

1 1 1 0 0 0 -1 -1 -1

h1 = , h2 =

0 1 1 -1 0 1 -1 -1 0

, h3 =

-1 0 1 -1 0 1 -1 0 1

. . . ,

1 2 1 0 0 0 -1 -2 -1

h1 = , h2 =

0 1 2 -1 0 1 -2 -1 0

, h3 =

-1 0 1 -2 0 2 -1 0 1

. . . ,

(15)

0 0 0 1 -2 1 0 0 0

0 1 0 0 -2 0 0 1 0

0 1 0 1 -4 1 0 1 0

2 = + =

(2.13)

Výsledná matice je současně konvolučním jádrem h4 pro 4-sousedství, někdy se alternativně pouţívá jádro h8 pro 8-sousedství v okolí 3 × 3 reprezentativního pixelu:

(2.14)

Další skupinou jsou hranové detektory zaloţené na hledání průchodu druhých derivací obrazové funkce nulou. V roce 1980 zveřejnil David Marr společně s Ellen Hildrethovou teorii popisující matematický model detekce skokových hran při neurofyziologickém měření na sítnici oka. Základem teorie je hledání polohy hrany v obraze v místě průchodu druhé derivace obrazové funkce nulou. Jiţ víme, ţe první derivace obrazové funkce má v místě hrany své lokální maximum. Druhá derivace pak v místě hrany protíná nulovou hodnotu. Při výpočtech můţe být důleţitým hlediskem robustnost a mnohdy i rychlost výpočtu druhé derivace. Hlavními poţadavky na aproximaci druhé derivace tedy je konvoluce obrazu s vyhlazujícím filtrem, který by měl být hladký, ve frekvenčním spektru odpovídající pásmové propusti, aby omezil moţný počet frekvencí, u kterých k průchodu nulou můţe dojít, a měl by reagovat pouze na body z blízkého okolí hrany (přesnost lokalizace hrany v obraze). Poţadavky ale jsou dosti protichůdné. Podle Marrovy-Hildrethové teorie je optimální lineární filtr, jehoţ koeficienty v konvoluční masce odpovídají gaussovskému rozloţení:

G(x, y) = e

x2 + y2 2s2 -

,

(2.15)

kde x a y jsou souřadnice pixelu v obrazu a σ je střední kvadratická odchylka udávající velikost okolí. Pixely blíţe středu mají při filtraci větší váhu, vliv vzdálenějších pixelů (více neţ 3σ) je potom zanedbatelný. Na obr. 2.2a je zobrazen tvar Gaussiánu dle předpisu (2.15). S vyuţitím konvoluce budeme tedy hledat aproximaci druhou derivaci obrazové funkce f(x, y) Laplaciánem:

(2.16)

Takto naznačený postup, kdy jsme s vyuţitím linearity operací zaměnili pořadí derivace a konvoluce, se nazývá LoG operátor (z angl. Laplacian of Gaussian, tedy Laplacián Gaussiánu). Na obr. 2.2b je znázorněn prostorový tvar derivace Gaussiánu a na obr. 2.2c tvar operátoru LoG.

a) Gaussián b) derivace Gaussiánu c) Laplacián Gaussiánu (LoG)

Obr. 2.2 Prostorové tvary operátorů 0 1 0

1 -4 1 0 1 0

h4 = ,

1 1 1 1 -8 1 1 1 1

h8 = .

2

[G(x, y) * f(x, y)] = (

2

G(x, y) ) * f(x, y) .

(16)

Pro další výpočet vyuţijeme středovou souměrnost Gaussiánu a ve vztahu (2.15) provedeme substituci x2 + y2 = r2 (r zde reprezentuje Euklidovskou vzdálenost od středu Gaussiánu), takţe dostaneme:

G(r) = e

r2 2s2 -

.

(2.17)

Výpočtem lze odvodit konvoluční masku h(x, y):

(2.18)

Příklad takové masky (podle tvaru – invertovaná podoba na obr. 2.2c – se nazývá Mexický klobouk, angl. Mexican hat) pro okolí 5 × 5 je:

(2.19)

Další hranový detektor publikoval John Canny v roce 1986 (viz např. [7]) a je podle něj nazýván jako Cannyho hranový detektor. V jistém smyslu bylo jeho zveřejněním završeno období hledání „nejlepšího“ hranového detektoru (navíc práce vznikla na stejném pracovišti, jako Marrova teorie). Základní myšlenkou je představa, ţe skokovou hranu lze hledat filtrem. Principem Cannyho hranového detektoru je syntéza z odezev detektoru v různých měřítkách.

2.2.2 Integrální transformace

Při zpracování obrazu se pouţívají techniky pouţívané v dalších odvětvích elektrotechniky a kybernetiky. Významnou roli zde hrají filtry jako bloky zpracování signálu, za který povaţujeme rovněţ obraz (resp. obrazovou funkci). Pro usnadnění zpracování budeme uvaţovat lineární filtry, takţe se lze vydat dvěma cestami, jak je naznačeno na obr. 2.3:

a) Filtrace v prostorové oblasti (pro jednorozměrné signály jde o časovou oblast), kdy obraz se zpracovává jako lineární kombinace vstupního obrazu s koeficienty filtru. Matematickým nástrojem zde bude konvoluce. Na obr.

2.3 jde o čárkovaně označenou větev.

b) Filtrace ve frekvenční oblasti, kdy obraz je převeden lineární integrální transformací do frekvenční reprezentace. Po filtraci se výsledek inverzní lineární integrální transformací převede zpět na obraz. Významným nástrojem je Fourierova transformace.

vstupní obraz

výstupní obraz

přímá

transformace frekvenční filtr zpětná transformace prostorový

filtr

Obr. 2.3 Zpracování obrazu buď v prostorové nebo frekvenční oblasti h(x, y) = c e

x2 + y2 2s2 -

x2 + y2 - s2 . s4

0 0 -1 0 0 0 -1 -2 -1 0 -1 -2 16 -2 -1 0 -1 -2 -1 0 0 0 -1 0 0

h = .

(17)

Fourierova transformace (FT) je jedním z hlavních nástrojů pro (lineární) zpracování signálů. Dovoluje vzájemně jednoznačný převod signálu f(t) z časové reprezentace na signál (funkci) F(ξ) do frekvenční reprezentace a zpět. Umoţňuje analyzovat frekvenční obsah (spektrum) signálu. Pojem harmonické analýzy byl zaveden francouzským matematikem Jeanem Baptistem Fourierem (*1768, †1830).

FT je vhodná pro periodické signály. FT je definována pro spojitou funkci f(t) vztahem:

F(ξ) = F {f(t)} = f(t) e dt-2πjξt

∞ -∞

,

(2.20)

kde ξ je kmitočet a 2πξ je úhlová frekvence. Inverzní FT je potom definována vztahem:

f(t) = F -1{F(ξ)} = F(ξ) e d2πjξt ξ

∞ -∞

.

(2.21)

Pro vysvětlení významu inverzní FT vyjádřeme funkci f(t) pomocí Riemannova součtu:

f(t) = (… + F(ξ. 0) e + F(ξ2πjξ0t 1) e + …) ∆ξ2πjξ1t

, (2.22)

kde ∆ξ = ξk+1 - ξk pro všechna k.

Vztah (2.22) lze vysvětlit tak, ţe funkci f(t) lze vyjádřit jako váţený součet (integrál) mnoha komplexních exponenciál. Z platnosti Eulerova vztahu:

e = cos ξ + j sin ξ

(2.23) lze vztah (2.22) také převést na součet sinusovek a kosinusovek.

Nechť vstupním signálem je posloupnost f(n), n = 0, 1, . . . , N − 1. Nechť F(k) označuje Fourierovo spektrum (výsledek diskrétní FT) signálu f(n). Potom je diskrétní Fourierova transformace (DFT) definována vztahem:

N - 1

n = 0

F(k) =

f(n) e

2πjkn

N

1 N

(2.24)

Inverzní DFT je definována vztahem:

N - 1

k = 0

f(n) =

F(k) e

2πjkn N

(2.25)

V celé řadě výpočetních algoritmů je velmi frekventovaně pouţívána rychlá Fourierova transformace – FFT (z angl. Fast Fourier Transform). Základní myšlenkou FFT (Danielson, Lanczos v roce 1942) je převedení definiční posloupnosti dle vztahu (2.24) délky N na součet dvou posloupností délky N/2, jedna posloupnost obsahuje liché vzorky a druhá sudé vzorky. Tím se urychlí výpočet.

Nyní se budeme zabývat myšlenkou rozkladu libovolného signálu (obrazu) na lineární kombinaci bázových periodických ortogonálních, avšak neharmonických signálů.

(18)

Diskrétní kosinová transformace (angl. discrete cosine transform, zkratka DCT) je speciálním případem diskrétní Fourierovy transformace (DFT). V literatuře lze nalézt 8 variant DCT, z nichţ 4 jsou pouţívané více a označují se DCT-I, DCT-II, DCT-III a DCT-IV. Nejpouţívanější je DCT-II (někdy také jako DCT), která se pouţívá při kompresi formátů obrazů. Jde např. standardy JPEG (zkratka z angl. Joint Photographic Experts Group) a standardy MPEG (zkratka z angl. Motion Picture Experts Group) a další.

Dosud jsme se zabývali metodikami zpracování periodických či stacionárních signálů. Tyto metody poskytují informaci o tom, které frekvence se v signálu nacházejí, nevypovídají však o jejich poloze v čase. Moţným řešením uvedeného problému je pouţití okna, které v čase ohraničí krátký úsek signálu a umoţní z něj určovat spektrum v daném časovém intervalu. Tato metodika se nazývá krátkodobá Fourierova transformace (STFT z angl. Short-Time Fourier Transform) a publikoval ji v roce 1946 Dennis Gabor6 s další variantou s Gaussovským oknem nazvanou Gaborova transformace (angl. Gabor Transform). Vyšel z myšlenky, ţe funkce Gaussiánu exp(−t2) má nejmenší součin mezi trváním a šířkou spektra (optimum). Jako fyzik totiţ aplikoval princip neurčitosti zavedený Wernerem Heisenbergem (*1901, †1976) v kvantové mechanice, který platí i pro kaţdou dvojici signálů v časové a frekvenční oblasti (tzn. časový signál a jeho Fourierův obraz).

Poznámka: Rozdělení signálu na malá obdélníková okna nevede k úspěšnému výsledku, protože na rozhraní oken vzniknou nespojitosti, které se ve spektru po rozkladu projeví nežádoucími vysokými frekvencemi (tedy větším počtem koeficientů Fourierova rozkladu). Bude tedy třeba funkci signálu f násobit (matematicky je myšleno skalárně) vhodnou okenní funkcí g pro okolí τ. Na obr. 2.4 je znázorněn postup, při němž je funkce signálu f násobena okenní funkcí g vždy v daném okénku postupně v okolí τ0, 2τ0 atd.

Všimněme si, že je účelné, aby okenní funkce byla v dostatečně velkém rozsahu konstantní a na okrajích byla dostatečně hladká (aby zde nevznikla spektra s vysokým počtem vyšších frekvencí). Je tedy patrné, že další vývoj v této oblasti byl věnován studiu vhodného varu okenní funkce g.

τ0 t

f(t) g(t) g(t – τ0) f(t)g(t)

0 0

Obr. 2.4 Příklad okenní funkce při Fourierově transformaci (dle [9])

V současné době mají velký význam matematické metody umoţňující získat časově-frekvenční popis nestacionárního a neperiodického signálu, které vycházejí ze snahy vhodnou změnou šířky „okna“ v čase a jeho tvarem dosáhnout optimálního poměru rozlišitelnosti v čase a frekvenci. Pro nízké frekvence se zvolí „okno“ širší, pro vysoké pak uţší. Pouţitá okna mají podobu předem definované vlnky, proto se tyto metody se nazývají vlnková transformace (WT, z angl. wavelet transform).

Poznámka: Poprvé použili slovo vlnka v roce 1981 ve své práci francouzští fyzikové Jean Morlet a Alex Grossman. Použili francouzské slovo ondelette (malá vlna, vlnka), při následném překladu práce do angličtiny bylo francouzské slovo onde (vlna) přeloženo jako anglické wave. Tím vznikl termín wavelet.

6 Pův. jménem Dénes Gábor (*1900, †1979), maďarský matematik, fyzik (a vynálezce holografie).

(19)

V roce 1909 zavedl maďarský matematik Alfréd Haar (*1885, †1933) ve své doktorské práci zabývající se ortogonálními systémy funkcí mnoţinu funkcí, která je dnes povaţována za nejjednodušší vlnkovou transformaci. Bázová funkce Haarovy transformace je tak definována vztahem:

Φmn(x) =

1 , 0 ≤ x < 0,5 - 1 , 0,5 ≤ x < 1 0 , jinde .

(2.26)

Poznámka: Pomocí Haarovy funkce bylo možno poprvé popsat Brownův pohyb.

Dnes pouţívanými matečními funkcemi je vlnka tvaru mexického klobouku, dále pak Meyerovy funkce (Y. Meyer), Morletovy (J. Morlet) a zejména funkce popsané v práci z roku 1992 belgickou matematičkou a fyzičkou Ingrid Daubechiesovou. Na obr. 2.5 je znázorněn (např. podle [9]) průběh několika pouţívaných matečních funkcí (příklad Daubechiesové vlnky je zde označen jako Daubechies 2).

Obr. 2.5 Příklady některých používaných vlnek (wavelets):

Mexický klobouk, Morletova vlnka,

vlnka Daubechiesové (Daubechies 2) a Meyerova vlnka

2.2.3 Segmentace

Segmentace je jedním z nejdůleţitějších kroků analýzy obrazu. Jde o postup, kterým v obraze vybereme určitou část chápanou jako objekt. Informaci o rozdělení obrazu do jednotlivých segmentů vyuţívají algoritmy zpracování obrazu, které se snaţí se porozumět obsahu obrazu.

Segmentace obrazu (obrazové funkce) f(x, y) = R je algoritmus, kterým rozdělíme obraz R na podobrazy (podoblasti) R1, R2,… Rn tak, aby platilo:

(2.27)

Kaţdý podobraz splňuje nějaké tvrzení, popř. mnoţinu tvrzení, např.:

všechny pixely v podobraze Ri mají stejnou úroveň jasu, tzn. hodnota obrazové funkce daných pixelů je stejná: f(x, y) = f(h, k),

R = Ri , Ri Rj = , i = j i = 1

n

(20)

všechny pixely v podobraze Ri se neliší v úrovni jasu více neţ o předepsanou hodnotu, tzn. hodnota rozdílu obrazových funkcí daných pixelů je rovna nebo menší, neţ stanovená hodnota K: │f(x, y) – f(h, k)│ ≤ K,

standardní odchylka úrovní jasu všech pixelů poddobrazu Ri je dostatečně malá, tzn. hodnota obrazové funkce kaţdého pixelu v podobraze je v daném intervalu hodnot <K, L>: K ≤ f(x, y) ≤ L, pro všechna f(x, y) v podobraze Ri).

Pro segmentaci obrazu existuje celá řada segmentačních algoritmů, nejpouţívanějšími (a nejnázornějšími) jsou metody zaloţené na prahování (angl.

threshold). Příkladem je prahování podle úrovni šedé, které patří k nejjednodušším a také nejstarším segmentačním metodám. Prahování je funkce, která provádí transformaci vstupního obrazu f na výstupní binární obraz g podle rozhodovacího vztahu:

g(i, j) = 1 pro f(i, j) ≥ T,

(2.28) g(i, j) = 0 pro f(i, j) < T,

kde T je prahová hodnota (práh), g(i, j) = 1 je potom obrazovým prvkem objektu a g(i, j)

= 0 obrazovým prvkem pozadí.

Pro segmentaci obrazu lze vyuţívat dále metody založené na detekci významných hran v obraze (angl. edge-based). Lokální hrany jsou detekovány pomocí hranových detektorů na základě rozdílu hodnot okolních pixelů. Hranový detektor je algoritmus, který vyhledává mnoţinu hran (bodů, pixelů) v obraze. Dalšími metodami jsou metody zaloţené na hledání regionů v obraze (angl. region-based). Pokud lze identifikovat hrany, měly by tyto teoreticky ohraničovat regiony. Kontury regionů však mohou být porušené, nemusí ohraničovat celý region. Není také zaručeno, ţe hranice regionů nalezené metodou detekce hran budou stejné, jako ty nalezené metodou hledání regionu. Pro sloţitější úlohy segmentace lze pouţít další metody zaloţené na statistické analýze obrazových dat, tzv. znalostní metody (angl. knowledge-based) a další. Při segmentaci obrazu je důleţitou etapou identifikace oblasti, s níţ budeme dále pracovat, i a jejímu popisu (angl. region identification, region description). Jednou z metod je vyuţití řetězových kódů (angl. chain codes), které v roce 1961 pouţil Herbert Freeman pro popis hranice objektu. Při procházení předem určené hranice objektu počínaje zvoleným počátečním pixelem se vytvoří posloupnost symbolů v předem daných orientacích – řetězový kód, který je tvořen posloupností definovaných čísel během postupu při změně směru o 900 pro 4-okolí, resp. při změně směru o 450 pro 8- okolí.

V reálných obrazech je často třeba pracovat s liniemi, které jsou přerušeny (z důvodu šumu, po prahování nebo detekci hran apod.). V těchto případech je třeba pouţít metody, které si umějí poradit s chybějícími pixely.

2.2.4 Metody rozpoznávání

Při zkoumání sloţitého jevu se omezujeme na část, která nás zajímá. Potom budeme tuto část nazývat objekt (nebo systém). Vše ostatní, co nám z daného pohledu připadá nezajímavé, nazýváme pozadí. Objekty většinou nezkoumáme v celé jejich sloţitosti, ale pozorujeme nebo měříme jen určité vlastnosti, které jsou pro nás zajímavé. V teorii systémů se pouţívá pojem rozlišovací úroveň.

(21)

Rozpoznávání obrazu (angl. pattern recognition) je výsledkem pozorování objektu podle nějakého rozhodovacího pravidla a jeho zatřídění do předem známých tříd. Základní úlohou při popisu objektů je zařazení objektu na základě jeho obrazu do jedné ze tříd. Pracujeme s pojmy:

Třída (angl. class) – mnoţina objektů s podobnými vlastnostmi.

Podobnost (angl. similarity) – měřitelná vlastnost na obrazu objektu vyjadřující vztah ke kaţdé ze tříd.

Obraz (vzor) (angl. pattern) – reprezentace objektu vyjádřená pomocí kvantitativního či kvalitativního popisu, kterou pouţijeme pro rozpoznávání.

Důleţitým postupem při rozpoznávání je klasifikace. Při klasifikaci objektu můţeme zvolit některou z moţností:

1. zařazení objektu do jedné ze tříd,

2. zařazení do jedné ze tříd s moţností odmítnutí zařazení (rejection), 3. zařazení objektu do více tříd.

Při klasifikaci můţe vzniknout chyba klasifikace:

a) objekt je zařazen do nesprávné třídy (angl. classification error), b) objekt je nesprávně odmítnut (angl. rejection error).

Hlavním cílem klasifikace je vybrat z příznaků pouze ty nejvýznamnější z hlediska rozpoznávání. Je totiţ důleţité sníţit zátěţ (výpočetní, časovou) klasifikačního procesu. Mějme nyní objekt, který je v rozpoznávacím systému reprezentován obrazem a jemu přiřazenou mnoţinou příznaků x = {x1, x2, ..., xN}, jak znázorněno na obr. 2.6. Příznaky jsou potom v klasifikátoru posuzovány tak, aby kaţdé N-tici příznaků byl přiřazen jednoznačný identifikátor třídy, do níţ bude daný obraz zařazen. Klasifikátor tak realizuje předpis: kterému budeme říkat rozhodovací pravidlo.

Objekt Obraz Klasifikátor

x1

x2

x3

xN

tr

...

Rozpoznávací systém

příznaky

identifikátor třídy

Obr. 2.6 Schéma rozpoznávacího systému

Úlohou klasifikátoru je tedy rozhodnout o přiřazení do dané klasifikační třídy Ti, kde i = 1, 2, ... R. Nejčastějšími metodami pro rozhodování jsou:

a) metoda diskriminačních funkcí, b) metoda minimální vzdálenosti,

c) metoda maximální pravděpodobnosti

Jednou z pouţívaných metod pro hledání jednoduchých útvarů, jako je úsečka, elipsa či kruţnice, je Houghova transformace (publikoval P. V. C. Hough7 v roce 1959 a patentoval v roce 1962, v roce 1972 zobecněnou metodu publikovali R. O. Duda a P.

E. Hart [12]). Principem Houghovy transformace je transformace z kartézského souřadnicového systému do polárního. Významné pouţití této transformace je při analýze textu, kdy lze jejím vyuţitím nalézt řádek textu v obraze.

7 Hough – čti haf

(22)

Úlohu Houghovy transformace pro hledání linie lze formulovat jako hledání takové podmnoţiny bodů v obraze, která co nejvíce odpovídá části přímky – úsečce.

Přímka s vyznačenými body A, B a C je znázorněna na obr. 2.7a. Kaţdý bod na přímce je potom popsán dvěma souřadnicemi, např. A = (x1, y1). Přímku můţeme vyjádřit v polárních souřadnicích pomocí vztahu:

r = x cos φ + y sin φ , (2.29)

kde r je délka normály od přímky k počátku souřadnic a φ je úhel mezi normálou a osou x. Pro bod A na přímce lze rovnici (2.28) psát ve tvaru:

r = x1 cos φ + y1 sin φ , (2.30)

Podobně lze vyjádřit vztahy i pro body B a C. Zavedeme-li nyní novou souřadnou soustavu (φ, r), zjistíme, ţe křivky popisující jednotlivé body A, B a C se protínají v jednom bodě (φ´, r´), jak je znázorněno na obr. 2.7b.

r

x y

r

A = (x1, y1)

B = (x2, y2)

C = (x3, y3) r = x cos + y cos

r = x1 cos + y1 cos

r = x3 cos + y3 cos

´

a) b)

Obr. 2.7 K výkladu Houghovy transformace pro hledání linie

Obvykle se Houghova transformace implementuje tak, ţe obraz se diskretizuje v rastru M × N. Kaţdý prvek tohoto prostoru potom bude tvořen dvojicí souřadnic (φi, rj), kde i = 1, 2, … M a j = 1, 2, … N. Algoritmus Houghovy transformace pro hledání linie v obraze lze popsat např. takto:

1. Vstupem je binární obraz f, zajímají nás hodnoty obrazové funkce f(xk, yk)

= 1, kterých je celkem K.

2. Vytvoříme pole A o velikosti M × N (budeme mu říkat akumulátor) a na počátku je vynulujeme: A(φi, rj) ← 0 pro všechna i = 1, 2, … M a j = 1, 2,

… N (zvolíme vhodné dělení, např. φi = i . π/M, rj = j . (rMAX - rMIN)/N ).

3. Nastavíme počítadlo j ← 1.

4. Nastavíme počítadlo i ← 1.

5. Pro kaţdý pixel (xk, yk), kde k = 1, 2, … K, jehoţ hodnota jasu f(xk, yk) = 1, vypočteme hodnotu: rj ← xk cos φi + yk sin φi .

6. Inkrementujeme hodnotu v akumulátoru: A(φi, rj) ← A(φi, rj) + 1.

7. Opakujeme pro všechna další i = 2, … M od kroku 5.

8. Opakujeme pro všechna další j = 2, … N od kroku 4.

9. Nyní po průchodu celým obrazem je v akumulátoru A(φi, rj) hodnota nij, která určuje počet nalezených bodů leţících na přímce dané parametry i, rj).

10. Největší hodnota nij (tj. maximum všech hodnot) určuje parametry (φi, rj) přímky, na které se nachází nejvíce bodů v obraze.

(23)

Obdobný postup lze modifikovat pro hledání parametrů hranic objektů, které lze popsat analytickou rovnicí. Příkladem je hledání kruţnice popsané rovnicí:

(x – a)2 + (y – b)2 = R2 . (2.31)

R

a b

x y

x = a + R cos y = b + R sin

Obr. 2.8 K výkladu Houghovy transformace pro hledání kružnice

Kaţdý bod na kruţnici o poloměru R a středem v bodě (a, b) můţeme popsat podle obr. 2.8 souřadnicemi:

x = a + R cos φ , y = b + R sin φ , (2.32)

Budeme-li v obraze hledat bod leţící na kruţnici s daným poloměrem R, vypočteme tedy jeho souřadnici a zjistíme hodnoty parametrů a a b podle vztahu:

a = x – R cos φ , b = y – R sin φ , (2.33)

Všechny body se stejnou hodnotou parametrů a a b potom budou leţet na dané kruţnici.

Mějme nyní obraz diskretizován v rastru M × N, kaţdý prvek tohoto prostoru bude tvořen dvojicí souřadnic (xi, yj), kde i = 1, 2, … M a j = 1, 2, … N. Algoritmus Houghovy transformace pro hledání kruţnice v obraze lze popsat např. takto:

1. Vstupem je binární obraz f, zajímají nás hodnoty obrazové funkce f(xk, yk) = 1, kterých je celkem K.

2. Zvolíme hodnotu R poloměru hledané kruţnice.

3. Vytvoříme pole A o velikosti M × N (budeme mu říkat akumulátor) a na počátku je vynulujeme: A(xi, yj) ← 0 pro všechna i = 1, 2, … M a j

= 1, 2, … N.

4. Nastavíme počítadlo j ← 1.

5. Nastavíme počítadlo i ← 1.

6. Nastavíme φm ← 0.

7. Pro kaţdý pixel (xk, yk), kde k = 1, 2, … K, jehoţ hodnota jasu f(xk, yk)

= 1, vypočteme hodnoty a a b: a ← xk – R cos φm, b ← yk – R sin φm . 8. Pokud bude platný logický výraz (a > 0) & (a < M) & (b > 0) & (b < N),

inkrementujeme hodnotu v akumulátoru: A(a, b) ← A(a, b) + 1.

9. Opakujeme pro všechna φm do hodnoty 2π od kroku 7.

10. Opakujeme pro všechna další i = 2, … M od kroku 6.

11. Opakujeme pro všechna další j = 2, … N od kroku 5.

12. Nyní po průchodu celým obrazem jsou v akumulátoru A(xi, yj) hodnoty nij, které určují počet nalezených kruţnic se středem v bodě (xi, yj) o poloměru R.

13. Největší hodnota nij (tj. maximum všech hodnot) je středem hledané kruţnice v obraze.

(24)

Lze tušit, ţe pro dosaţení vysoké míry úspěšnosti bude zřejmě záleţet na vhodné úpravě vstupního obrazu (resp. vstupní obrazové funkce f), která ve výše uvedených algoritmech není řešena.

3. Problematika optické soustavy

Při zpracování obrazu je v první řadě velmi důleţité získat (pokud moţno) kvalitní obraz snímané scény, jinými slovy je třeba velkou pozornost věnovat návrhu a realizaci vhodné optické soustavy. Optická soustava se skládá obvykle z těchto částí:

 osvětlovač,

 snímací soustava (objektiv, kamera).

Součástí optické soustav je samozřejmě zkoumaná scéna nebo objekt (příp.

zařízení pro jeho upevnění nebo manipulaci).

3.1 Osvětlovač

Volba správného osvětlení (resp. nasvícení) zkoumané scény nebo objektu pro danou úlohu zpracování obrazu vyţaduje určité zkušenosti podpořené velmi často experimentálním ověřením, zejména tehdy, je-li scéna tvořena lesklými nebo průhlednými (transparentními) objekty. Důleţitou úlohou je často odstínění vedlejších neţádoucích zdrojů světla a falešných odlesků. Pro tento účel je třeba pouţít filtry (např. barevné, polarizační apod.). Nejjednodušším zdrojem světla bývá běţná vláknová ţárovka, případně zářivková trubice. Lépe parametrizovatelné osvětlení poskytují osvětlovače osazené svítivými diodami LED. Tyto osvětlovače umoţňují měnit jas či pouţít zábleskový reţim s vysokou intenzitou jasu.

Pro celou řadu aplikací je vhodné usměrnit světlený tok paprsků jdoucích ze světelného zdroje všemi směry do rovnoběţného toku. Proto se do cesty světlených paprsků zařazuje kolimátor (obr. 3.1). Jeho pomocí se paprsky ze zdroje světla usměrní a vycházejí ven rovnoběţně s optickou osou. Výhodou je omezení falešných odrazů na plochách snímaného objektu.

zdroj světla difuzor

štěrbina kolimátor čočka

Obr. 3.1 Náčrt kolimátoru

Jednou ze současně pouţívaných metod nasvícení scény je metoda HDR (angl.

High Dynamic Range), resp. HDRI (z angl. HDR Imaging), při níţ se obraz sloţí z několika dílčích obrazů stejné scény nasnímaných s různou intenzitou nasvícení. Lze tak dosáhnout plnější obraz snímané scény a do určité míry zabránit přesvětlení objektů blíţe snímacímu zařízení (sníţit tak výskyt některých odlesků a některých dalších jevů degradujících obraz) a zvýraznit objekty vzdálenější.

(25)

3.2 Snímací soustava

Snímací soustava je obvykle tvořena snímací kamerou a objektivem. Obě tyto části je třeba navrhnout v součinnosti s úlohou. Často je také třeba navrhnout vhodné upevnění snímací soustavy s moţností přesného nastavení polohy v rámci optické soustavy (justáţní prvky).

Výběr vhodné kamery je spojen s řadou kritérií. Výchozím parametrem je poţadovaná velikost zorného pole (samozřejmě s ohledem na vlastnosti objektivu) a poţadovaná rozlišovací schopnost nebo přesnost. Důleţitými parametry jsou rovněţ rychlost snímání (vlastnost kamery – udává se v počtu snímků za sekundu – jednotka fps – frame per second)) a rychlost přenosu snímků do počítače (vlastnost komunikačního rozhraní v kameře – udává se v počtu přenesených bitů za sekundu).

Na obr. 3.2 je uveden příklad průmyslové kamery (firmy Basler) s našroubovaným objektivem.

Obr. 3.2 Příklad průmyslové kamery s objektivem

Většina digitálních snímacích kamer obsahuje jako světlocitlivý snímací prvek snímací integrovaný obvod (CCD – z angl. charge coupled device), z něhoţ je signál veden do dalších obvodů. Připojení kamery můţe být analogové nebo digitální.

V případě digitálního rozhraní je dnes na výběr Ethernet/IP (příp. rozhraní GigE), USB, Firewire, resp. Camera Link. Digitální kamery mohou pracovat buď s pevnou snímkovou frekvencí, mohou být externě spouštěny, mohou pracovat volně s akumulací osvětlení, mohou poskytovat proud dat komprimovaný různými metodami nebo mohou poskytovat nezkreslená „syrová“ (RAW) data atd. Pro průmyslové aplikace bude většinou hlavním kritériem poţadavek na rozlišení s ohledem na předpokládanou velikost měřeného předmětu a poţadavek na rozlišení při jeho měření. Vzdálenost mezi dvěma obrazovými body by měla teoreticky odpovídat poţadovanému rozlišení měření. Někdy je dokonce moţné vyuţitím dalších metod dosáhnout i tzv. subpixelového rozlišení měření.

4. Fuzzy transformace při zpracování obrazu

4.1 Historické základy

Zkoumání pravdy a pravdivosti, tedy shody mezi tvrzením a skutečnosti, je staré jako lidstvo samo a patří mezi základní úlohy nejen v soudnictví, ale i ve filozofii a vědě. Jako jeden z prvních klasických filozofických pohledů na pravdivost vyslovil Aristotelés (*384 před n. l., †322 před n. l.) svým výrokem: „Pravdivé je říci o něčem, co je, že to je, a o něčem, co není, že to není“, z kterého lze vyvodit, ţe tvrzení můţe být buď pravdivé, nebo nepravdivé a nějaká jiná (třetí) moţnost neexistuje. Podobně se vyjadřoval ve středověku katolický filozof a scholastik Tomáš Akvinský (*1225,

†1274), později pak novověký astronom, fyzik a filozof Galileo Galilei (*1564, †1642).

References

Related documents

– spektrální prostor: frekvence obsažené v signálu (obrazovém, zvukovém). nejčastěji ortogonální (nebo unitární)

Dále budeme studovat vznik obrazu díky odrazu záření od povrchů neprůhledných objektů ve spektru viditelného světla (z radiometrického

Úlohu pro Houghovu transformaci je mož- né formulovat jako hledání takové podmnoži- ny bodů v obraze, která co nejvíce odpovídá části přímky – úsečce. Každý bod

V této kapitole se budeme věnovat praktickým aplikacím a prezentaci algoritmů s využitím fuzzy logiky při zpracování obrazu v prostředí LabVIEW, které jsme teoreticky popsali

Bižuterní kámen (dále jen BK) je nasnímán ze strany, za použití zadního osvětlovače. Prvním krokem, který je potřeba udělat s pořízeným digitálním obrazem, je

Bižuterní kámen (dále jen BK) je nasnímán ze strany, za použití zadního osvětlovače. Prvním krokem, který je potřeba udělat s pořízeným digitálním obrazem, je

Mnoho zdrojů se zabývá popisem a využitím základních metod zpracování obrazu, avšak žádný zdroj neobsahuje algoritmus, který by mohl být použitelný pro

Při obhajobách bakalářského projektu (na který tato práce navazuje) byla doporučena jako možné vylepšení taková úprava navrženého obvodu, aby v případě přivedení