TECHNICKÁ UNIVERZITA V LIBERCI
Fakulta mechatroniky, informatiky a mezioborových studií
Metody zpracování obrazu pro časově náročné úlohy
Disertační práce
2012 Ing. Jaroslav Vlach
ii
iii
TECHNICKÁ UNIVERZITA V LIBERCI
Fakulta mechatroniky, informatiky a mezioborových studií
Metody zpracování obrazu pro časově náročné úlohy
Digital Image Processing Methods for the Time-Consuming Problems
Disertační práce
Autor: Ing. Jaroslav Vlach
Studijní program: P 2612 Elektrotechnika a informatika
Obor: 2612V045 Technická kybernetika
Školitel: doc. Ing. Milan Kolář, CSc.
Rok: 2012
iv
v
Prohlášení
Byl jsem seznámen s tím, že na mou disertační práci se plně vztahuje zákon č. 121/2000 Sb., o právu autorském, zejména §60 (školní dílo).
Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé disertační práce pro vnitřní potřebu TUL.
Užiji-li disertační práci nebo poskytnu-li licenci k jejímu využití, jsem si vědom povinnosti informovat o této skutečnosti TUL; v tomto případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše.
Disertační práci jsem vypracoval samostatně s použitím uvedené literatury a na základě konzultací se školitelem.
Datum
Podpis
vi
II
III
Poděkování
Dovoluji si poděkovat svému školiteli doc. ing. Milanovi Kolářovi, CSc., za jeho vstřícný a odborný přístup k mé práci. Za inspirativní podněty a odborné rady při zpracování tématu práce rovněž děkuji svým kolegům z Úseku rozvoje firmy PRECIOSA, a. s., Jablonec nad Nisou, Josefovi Havlíčkovi a ing. Petrovi Šťastnému.
Velký dík patří mé manželce Drahomíře za připomínky při psaní a zejména pak za trpělivost při tvorbě práce.
Jaroslav Vlach
IV
V
Veritas est adaequatio rei et intellectus.
(Pravda je shoda skutečnosti s poznáním)
Tomáš Akvinský (*1225, †1274)
VI
VII
Anotace
Záměrem disertační práce bylo přispět k dlouhodobému požadavku firmy PRECIOSA, a. s., Jablonec nad Nisou vyrábět a prodávat kvalitní a konkurenceschopné výrobky – strojně broušené bižuterní a šperkové kameny. Ve výrobním procesu hraje důležitou roli posuzování kvalitativních vlastností výrobků (velikost, tvar a vady) a jejich měření a třídění. Zvyšující se požadavky na efektivitu výroby cílevědomě vedou k využívání moderních aplikačních metod s cíleným omezením nestabilního lidského činitele. Významným krokem vedoucím k naplnění vytčených úkolů je aplikování matematických metod zpracování obrazu hodnocených výrobků a následně jejich klasifikace. V práci je také velká pozornost věnována rozboru možností aplikace nástrojů fuzzy logiky, fuzzy transformace a obrazové fúze jako zajímavé a účinné alternativy pro kvalitativní hodnocení vlastností bižuterních výrobků.
První kapitola přináší stručný úvod do problematiky výroby bižuterních kamenů včetně krátkého historického přehledu a nástinu možnosti aplikování počítačového zpracování obrazu v popsané průmyslové oblasti.
Kapitola 2 shrnuje cíle disertační práce a předpoklady dalšího vývoje při zpracování obrazu pro hodnocení bižuterních výrobků.
V kapitole 3 je uveden úvod do problematiky zpracování obrazu a základních metod pro identifikaci objektu v obrazu a jeho rozpoznávání.
Kapitola 4 se poměrně obšírně věnuje aplikování metod fuzzy logiky. Je zde proveden návrh a diskuse algoritmů fuzzy logiky s využitím pravidel IF–THEN a fuzzy transformace jako významných nástrojů aproximace reálných funkcí jedné a více proměnných s hlavním důrazem k použití při analýze obrazu pro průmyslové aplikování.
V kapitole 5 jsou uplatněny algoritmy z předchozí části pro analýzu více obrazů jednoho zkoumaného předmětu s pomocí obrazové fúze. Pomocí navržených metod je na konkrétních obrazech vysvětlen princip i možnosti aplikování navržených algoritmů pro kvalitativní klasifikaci bižuterních kamenů, zejména s ohledem na předpokládané jejich objektivní hodnocení.
Kapitola 6 stručně popisuje možnosti aplikace moderních technických prostředků pro zpracování obrazové informace, zejména pak při stoupajících nárocích na výpočetní rychlost.
Problematika optické soustavy pro získání optimálního obrazu předmětů pro následné počítačové hodnocení v bižuterním průmyslu je popsána v kapitole 7.
Kapitola 8 je věnována praktickým aplikacím poznatků a algoritmů, která byly navrženy a popsány v předchozích částech. Zde je hlavním zájmem analýza a kvalitativní hodnocení konkrétních bižuterních kamenů a zejména pak jeho úspěšnost. Hlavním těžištěm této části je uplatnění metod fuzzy logicky a fuzzy transformace a dále pak praktické využití obrazové fúze. Při těchto konkrétních aplikacích je použito programové prostředí LabVIEW. Na řadě konkrétních příkladů je ukázán postup vedoucí k vytvoření metodiky pro kvalitativní hodnocení bižuterních kamenů s vysokou mírou objektivity a s potenciálem aplikování pro účely kvalitativního měření a třídění přímo v průmyslovém prostředí v časově náročných úlohách.
V závěrečné kapitole je provedeno shrnutí dosažených výsledků a naznačen další postup pro praktické aplikování navržených metod.
Klíčová slova: bižuterní kámen, zpracování obrazu, fuzzy transformace, F-transformace, obrazová fúze, LabVIEW
VIII
IX
Abstract
The topic of the Ph. D. study comes from long-term business needs – to produce and sell high quality and competitive products – machine-cut jewelry stones in company PRECIOSA, a. s., Jablonec nad Nisou. 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. An important step toward the fulfillment of the requisite tasks is to apply the mathematical methods of image analysis of jewelry products, and subsequently evaluated for classification. In this study, much attention is paid to the possibility of the analysis tools applying of fuzzy logic, fuzzy transformation and image fusion as attractive and effective alternatives for the qualitative evaluation of properties of jewelry products.
Chapter 1 gives a brief introduction to jewelry stones production including a short historical overview and outline the ability to apply digital image processing described in the industrial area.
Chapter 2 summarizes the aims and assumptions for the further development of image processing for defect assessment in jewelry production.
Chapter 3 describes an introduction to image processing and basic methods for identifying the object in the image and its recognition.
Chapter 4 is devoted to quite extensively applying the methods of fuzzy logic. There is discussion and design of fuzzy logic algorithms using IF–THEN rules and fuzzy transformation as important instruments of approximation of real functions of one or more variables with the main emphasis for use in image analysis for industrial application.
In Chapter 5 are applied algorithms described in the previous section, for analysis of multiple images with one studied subject by using image fusion. Using the proposed methods is explained in concrete images and the ability to apply the principle of the proposed algorithms for qualitative classification of jewelry stones, particularly with regard to their intended objective evaluation.
Chapter 6 briefly describes the application of modern technical means for processing visual information, especially with rising demands for computing speed.
Problems of optical systems to obtain optimal image of objects of for subsequent computer evaluation in jewelry industry is described in Chapter 7
Chapter 8 is devoted to practical applications of knowledge and algorithms that were designed and described in previous sections. Here is the main concern analysis and qualitative assessment of specific jewelry stones and especially its success. The main focus of this section is to apply the methods of fuzzy logic and fuzzy transformation and the practical use of image fusion. In these specific applications is used LabVIEW software. The number of concrete examples is shown in the process leading to the creation of a methodology for qualitative assessment of jewelry stones with a high degree of objectivity and the potential for applying qualitative measurement and classification in the industrial environment in time-consuming tasks.
The final chapter is a summary of achievements made and outlined next steps for the practical application of the proposed methods.
Keywords: jewelry stone, image processing, fuzzy transform, F-transform, image fusion, LabVIEW
X
Obsah
Seznam obrázků ... 3
Seznam tabulek ... 4
Seznam použitých symbolů ... 5
Seznam použitých pojmů a zkratek ... 7
Úvod ... 9
1. Současný stav ... 11
1.1 Popis bižuterních kamenů ... 11
1.2 Počítačové zpracování obrazu ... 11
2. Cíle disertační práce ... 13
3. Základní pojmy ... 15
3.1 Obraz a obrazová funkce ... 15
3.2 Zpracování obrazu ... 16
3.2.1 Předzpracování obrazu ... 16
3.2.2 Integrální transformace ... 21
3.2.3 Segmentace ... 24
3.2.4 Metody rozpoznávání ... 25
3.2.5 Houghova metoda rozpoznávání ... 26
3.3 Shrnutí ... 29
4. Fuzzy logika ... 31
4.1 Historické základy ... 31
4.2 Základní nástroje a motivace pro aplikaci fuzzy logiky ... 32
4.3 Některé základní pojmy fuzzy logiky ... 33
4.3.1 Fuzzy pravidla IF – THEN ... 34
4.3.2 Fuzzy transformace (F-transformace) ... 36
4.3.3 Algoritmy fuzzy transformace ... 40
4.4 Využití metod fuzzy logiky pro zpracování obrazu ... 44
4.4.1 Fuzzy pravidla IF – THEN ... 44
4.4.2 Fuzzy transformace ... 49
4.5 Shrnutí ... 54
5. Obrazová fúze (Image Fusion) ... 55
5.1 Základní úvahy... 55
5.2 Další algoritmy obrazové fúze ... 57
5.3 Shrnutí ... 61
6. Využití FPGA a GPU ... 63
6.1 Systémy FPGA... 63
6.1.1 Karty s obvody FPGA ... 63
6.1.2 Průmyslové systémy CompactRIO a SingleBoardRIO ... 64
6.1.3 Aplikování obvodů FPGA pro zpracování obrazu ... 65
6.2 Aplikace GPU a CUDA ... 65
6.3 Shrnutí ... 67
7. Problematika optické soustavy ... 69
7.1 Osvětlovač... 69
7.2 Snímací soustava ... 71
7.2.1 Objektiv ... 72
7.2.2 Kamera ... 73
7.3 Řádková kamera... 74
7.4 Kalibrace optické soustavy ... 75
7.5 Shrnutí ... 76
8. Aplikace algoritmů pro zpracování obrazu v bižuterním průmyslu ... 77
8.1 Obecná formulace postupu ... 77
8.2 Využití prostředí LabVIEW ... 78
8.2.1 Základní popis prostředí LabVIEW ... 78
8.2.2 Ukázka aplikace – hranový filtr s použitím konvoluce ... 79
8.2.3 Využití FPGA a GPU ... 80
2
8.3 Porovnávání vzorů a tvarů (Pattern Matching) ... 81
8.4 Měření rozměrů a tvarů ... 81
8.5 Aplikace fuzzy logiky ... 84
8.5.1 Aplikace fuzzy pravidel IF – THEN ... 84
8.5.2 Algoritmy fuzzy transformace (F-transformace) ... 86
8.6 Obrazová fúze ... 89
8.6.1 Optická soustava pro obrazovou fúzi ... 89
8.6.2 Aplikace algoritmu pro obrazovou fúzi ... 90
8.6.3 Další zpracování získaných výsledků ... 96
8.7 Shrnutí a návrh dalšího postupu ... 99
Závěr ... 101
Rejstřík ... 103
Přílohy ... 105
Literatura ... 113
Odkazy na internetové stránky ... 116
Publikace autora ... 117
3
Seznam obrázků
Obr. 1.1 Obecný tvar BK (vlevo – diamantový výbrus, vpravo – šatonový výbrus) Obr. 1.2 Příklad optické soustavy pro zkoumání BK
Obr. 3.1 Příklad obrazu (a) a jeho jasového histogramu (b) Obr. 3.2 Ukázka aplikace konvoluce a vyhlazení
Obr. 3.3 Prostorové tvary operátorů
Obr. 3.4 Zpracování obrazu v prostorové nebo frekvenční oblasti Obr. 3.5 Příklad okenní funkce při Fourierově transformaci Obr. 3.6 Příklady některých používaných vlnek (wavelets) Obr. 3.7 Schéma rozpoznávacího systému
Obr. 3.8 K výkladu Houghovy transformace pro hledání linie Obr. 3.9 K výkladu Houghovy transformace pro hledání kružnice Obr. 4.1 Příklady funkce příslušnosti fuzzy čísla „asi u0“
Obr. 4.2 Příklad aproximace funkce fuzzy funkcí Obr. 4.3 Příklad fuzzy rozkladu (pro n = 4)
Obr. 4.4 Průběh trojúhelníkové funkce příslušnosti Ai dle vztahu (4.10) Obr. 4.5 K výkladu fuzzy transformace funkce f(u, v)
Obr. 4.6 Graf závislosti poměru počtu operací QFT/QeFT na kroku rozkladu h Obr. 4.7 Prahování obrazu
Obr. 4.8 Struktura fuzzy zpracování obrazu Obr. 4.9 Funkce příslušnosti fuzzy množiny Obr. 4.10 K příkladu fuzzy metodiky hledání hran Obr. 4.11 Příklad fuzzy pravidel IF – THEN
Obr. 4.12 Příklad zpracování obrazu s pomocí pravidel IF – THEN Obr. 4.13 Příklad aplikace algoritmu FTransform EDA
Obr. 4.14 Průběhy jasových hodnot řádku č. 99
Obr. 4.15 Příklad aplikace FTransform EDA pro rozmazaný obraz Obr. 5.1 Model degradace obrazu
Obr. 5.2 Model metody obrazové fúze Obr. 5.3 Příklad jednoduché obrazové fúze
Obr. 5.4 Idea algoritmu obrazové fúze dvou vstupních obrazů Obr. 5.5 Příklad obrazové fúze s využitím F-transformace
Obr. 5.6 Obrazová fúze vstupních obrazů z obr. 5.3a a 5.3b s využitím fuzzy transformace Obr. 6.1 Příklady průmyslových systémů FPGA
Obr. 6.2 Zjednodušené blokové schéma systému CompactRIO Obr. 6.3 Architektura programových prostředků CompactRIO Obr. 6.4 Blokové schéma zařazení GPU na sběrnici PCIe Obr. 6.5 Princip paralelizace výpočtu v GPU
Obr. 6.6 Porovnání vlastností technologií CPU, FPGA a GPU Obr. 7.1 Příklad optické soustavy
Obr. 7.2 Typické osvětlovače Obr. 7.3 Náčrt kolimátoru
Obr. 7.4 Náčrt snímací soustavy: objektiv a obrazová rovina (snímací prvek kamery) Obr. 7.5 Náčrt geometrie perspektivní projekce do roviny
Obr. 7.6 Náčrt snímací soustavy s telecentrickým objektivem Obr. 7.7 Příklady průmyslových kamer
Obr. 7.8 Možné uspořádání optické soustavy pro měření BK
Obr. 7.9 K výkladu zlepšení hloubky ostrosti při šikmém uspořádání optické soustavy Obr. 7.10 Idea aplikace optické soustavy s řádkovou kamerou
Obr. 7.11 Příklad kalibračních mřížek Obr. 8.1 Příklad postupu zpracování obrazu Obr. 8.2 Blokový diagram programu – hranový filtr Obr. 8.3 Výřez čelního panelu programu – hranový filtr
Obr. 8.4 Příklad aplikace Houghovy transformace pro hledání přímky
4 Obr. 8.5 Algoritmus Houghovy transformace pro hledání linie (HoughT Line)
Obr. 8.6 Algoritmus Houghovy transformace pro hledání kružnice (Hough T Circle) Obr. 8.7 Výsledek aplikace algoritmu Houghovy transformace pro hledání kružnice Obr. 8.8 Příklad zpracování obrazu algoritmem Fuzzy IfThen Edge
Obr. 8.9 Příklad dalšího zpracování obrazu – hledání zlomových bodů Obr. 8.10 Příklad doplnění množiny fuzzy pravidel IF – THEN Obr. 8.11 Funkční bloky (SubVI) eFT.vi (vlevo) a eDFT.vi (vpravo) Obr. 8.12 Blokové schéma algoritmu pro detekci hran FTransform EDA Obr. 8.13 Aplikace algoritmu FTransform EDA na bižuterní kámen Obr. 8.14 Modelová optická soustava (ELCOM)
Obr. 8.15 Idea nasvícení BK pro aplikaci obrazové fúze
Obr. 8.16 Idea algoritmu pro obrazovou fúzi s nalezením hran ImF_Edge Obr. 8.17 Vstupní obrazy BK s hodnocením „dobrý“ s různým zaostřením Obr. 8.18 Výsledky obrazové fúze BK z obr. 8.17 pro h = 2
Obr. 8.19 Výsledky obrazové fúze BK z obr. 8.17 pro h = 5
Obr. 8.20 Vstupní obrazy BK s hodnocením „dobrý“ s různým nasvícením Obr. 8.21 Výsledky obrazové fúze BK z obr. 8.20
Obr. 8.22 Vstupní obrazy BK s hodnocením „poškrábaná tabulka“ s různým zaostřením Obr. 8.23 Výsledky obrazové fúze BK z obr. 8.22 pro h=2
Obr. 8.24 Funkce IMAQ Count Objects 2
Obr. 8.25 Výsledky detekce objektů na obrazech BK získaných z obrazové fúze Obr. 8.26 Nastavení parametrů pro funkci IMAQ Count Objects 2
Obr. 8.27 Grafické znázornění získaných hodnot „počet objektů“
Obr. 8.28 Grafické znázornění získaných hodnot „počet pixelů“
Obr. A.1 Výřez blokového diagramu algoritmu Fuzzy IfThen Edge v prostředí LabVIEW Obr. A.2 Výřez blokového diagramu SubVI pro F-transformaci eFT.vi
Obr. A.3 Výřez blokového diagramu SubVI pro zpětnou F-transformaci eDFT.vi Obr. A.4 Algoritmus FTransform EDA.vi
Obr. B.1 Příklady obrazové fúze bižuterních kamenů s různými vlastnostmi Obr. B.2 Příklady obrazové fúze bižuterního kamene s definovanou vlastností Obr. B.3 Příklady detekce objektů na obrazech BK získaných z obrazové fúze
Seznam tabulek
Tab. 6.1 Srovnání některých parametrů CPU a GPU (s použitím [W10]) Tab. 8.1 Popis hodnocených objektů (BK)
5
Seznam použitých symbolů
A, B, C – bod v obrazu,
Ai, Bi – fuzzy čísla,
Ai – fuzzy výrok popisující i-tou vstupní hodnotu (antecedent),
Bi – fuzzy výrok popisující i-tou výstupní hodnotu (sukcedent, konsekvent),
A, A(u) – fuzzy množina,
Ai(u) – funkce příslušnosti,
A(a, b) – akumulátor (Houghova transformace), A(φi, rj) – akumulátor (Houghova transformace), (Ai, Bi) – dvojice fuzzy čísel reprezentující fuzzy graf,
Ai – operátor výběru nedegradované části obrazu (ve výkladu obrazové fúze), Ci – zdroje (kanály) obrazové informace (ve výkladu obrazové fúze),
Di – operátor degradace (ve výkladu obrazové fúze),
Ei – aditivní náhodný šum ov obraze (ve výkladu obrazové fúze),
e(x) – chybová funkce,
e(u, v) – chybová funkce (dvojrozměrné fuzzy transformace),
f(x, y) – obrazová funkce (funkční hodnota v obrazovém bodě o souřadnicích (x, y), f <0, 255> – prvek funkce f patří do množiny (uzavřený interval <0, 255>),
f(m, n) = zmn – jasová hodnota specifikovaného obrazového bodu,
f(k, l) R – obrazová funkce f popisuje každý bod rovinné oblasti, funkce f je identická s obrazem R,
– zpětná fuzzy transformace funkce F s rozkladem P,
( ) – dvourozměrná zpětná fuzzy transformace, F(f) = [F1, F2, … Fn] – množina komponent fuzzy transformace,
[ ]( ) – funkce dvourozměrné přímé fuzzy transformace, F[f]kl – komponenta přímé fuzzy transformace,
[ ] – matice komponent fuzzy transformace, f ← g – přiřazení hodnoty g funkci f,
f g – funkce f je přibližně rovna funkci g (funkce g je aproximací funkce f),
fA – aproximace funkce f,
kf – indexování proměnných v algoritmech obrazové fúze, G(x, y), G(r) – funkce gaussovského rozložení (Gaussián),
hi – krok fuzzy rozkladu,
h(t) f(t) – konvoluce funkcí (integrální transformace), h1, h2, h3 – různé konvoluční masky,
h4, h8 – konvoluční jádro pro 4-sousedství (okolí 2×2), resp. pro 8-sousedství (okolí 4×4) obrazového bodu,
Hf(z) – funkce jasového histogramu obrazové funkce f pro jasové úrovně z, i, j, k, l, m, n, p, M, N – přirozená čísla,
x, y, t – reálná čísla,
j – imaginární jednotka,
M × N – označení velikosti (rozměru, příp. typu) matice, kde čísla M a N definují rozměr, kartézský součin,
min {µA, µB} – nejmenší z hodnot specifikované množiny,
– největší ze všech největších hodnot funkce F při daných podmínkách, P = {p1, p2, … pN} – množina P je dána výčtem konečného počtu bodů definujících funkci f, P <a, b> – množina P je podmnožinou uzavřeného intervalu,
P, Q, A1, A2,… An – označení obrazových bodů (pixelů),
QFT – počet operací algoritmu pro fuzzy transformaci,
QeFT – počet operací algoritmu pro efektivní fuzzy transformaci,
QeDFT – počet operací algoritmu pro efektivní zpětnou fuzzy transformaci, R1, R2,… Rn – rozklad obrazu R na n podobrazů,
R, Ri – implikační fuzzy pravidlo,
– množina reálných čísel,
R – poloměr kružnice,
6 R = {(m, n), m <1, M>, n <1, N>}
– rovinná oblast (obraz) definovaná jako množina všech obrazových prvků o souřadnicích (m, n), přičemž m, resp. n patří do definovaných množin (intervalů),
SF, SfAB, SAB – označení proměnných (sumátorů) v algoritmech F-transformace, tr – identifikátor třídy (pro rozpoznávání),
U – univerzum, množina, která je podmnožinou množiny reálných čísel,
u U – prvek univerza,
u(x, y) – ideální obraz (ve výkladu obrazové fúze), ̂( ) – výsledný obraz obrazové fúze,
x = {x1, x2, ..., xN} – množina příznaků,
(x, y), (x’, y’) – souřadnice obrazového bodu (pixelu) původní a po transformaci, z = 0, 1, … 255 – postupné přiřazení hodnot proměnné z v naznačené posloupnosti, for (i = 1 to n) ; – příkazový řádek for ve výkladu algoritmu,
if (u > hA) A 1 ; else A 0 ;
– příkazový řádek if ve výkladu algoritmu (při platném logickém výrazu v závorce se vykoná přiřazení A 1, při neplatném logickém výrazu přiřazení A 0),
if (u)&(v) – logická operace AND (logický součin) dvou operandů v příkazovém řádku if, abs(f) – funkce výpočtu absolutní hodnoty výrazu v závorce ve výkladu algoritmu, end ; – příkazový řádek end ve výkladu algoritmu,
/* Vynulování – řádek komentáře ve výkladu algoritmu,
a b * c – příkazový řádek s operací aritmetického násobení (součin b.c je přiřazen proměnné a),
& – operátor logické operace AND (logický součin), µA(u) – funkce příslušnosti,
( ) – operace s obrazovou funkcí,
– proměnná Fourierovy transformace (kmitočet),
– střední kvadratická odchylka,
– Ludolfovo číslo,
e – Eulerovo číslo,
{ ( )} – Fourierova transformace funkce f(t),
{ ()} – inverzní Fourierova transformace funkce F(ξ),
– struktura Łukasiewiczovy algebry,
, resp. – Łukasiewiczova konjunkce, resp. disjunkce,
– operace negace,
– gradient,
– Laplacián funkce f,
∆ξ – rozdíl hodnot ξ,
φ – označení úhlu,
(x) – bázová funkce Haarovy transformace, (φ, r) – souřadnice bodu v polárních souřadnicích, ( ) – modul spojitosti funkce f s krokem rozkladu h,
– prázdná množina,
A B – průnik množin,
A B – sjednocení množin
7
Seznam použitých pojmů a zkratek
BK bižuterní (resp. šperkový) kámen,
CCD (Charge Coupled Device) polovodičová technologie pro světlocitlivé snímací součástky,
CMOS (Complementary Metal Oxid Semiconductor) polovodičová technologie založená na využití doplňkových tranzistorů MOS, používá se i pro světlocitlivé snímací součástky,
CPU (Central Processor Unit) centrální procesorová jednotka,
CUDA (Compute Unified Device Architecture) architektura grafických procesorů vyvinutá firmou NVIDIA,
F-transformace (F-transform) fuzzy transformace
FFT (Fast Fourier Transform) rychlá Fourierova transformace
FLOPS (Floating-point Operations per Second) počet operací v plovoucí řádové čárce za sekundu – měřítko výkonnosti procesorů FPGA (Field Programmable Gate Array) programovatelné hradlové pole
GPU (Graphic Processing Unit) grafický procesor
LabVIEW (Laboratory Virtual Instruments Engineering Workbench)
grafické programové prostředí firmy National Instruments
LV – viz LabVIEW
PAC (Programmable Automation Controller) řídicí automat, řídicí systém
PC (Personal Computer) označení pro osobní počítač (pův. vyvíjený firmou IBM)
PCI (Peripheral Component Interconnect) typ sběrnice pro počítače PC s paralelním přenosem dat
PCIe (PCI express) typ sběrnice PCI s rozšířením o sériovou
komunikaci pomocí paketů PLC (Programmable Logic Controller) logický automat, řídicí systém RIO (Reconfigurable Input/Output) rekonfigurovatelné vstupy/výstupy
ROI (Region Of Interest) oblast zájmu (v obraze)
ŘS řídicí systém
VHDL (VHSIC Hardware Description Language) jazyk pro práci s FPGA
VI (Virtual Instrument) virtuální (zdánlivý) přístroj
2D, 3D dvourozměrný, třírozměrný (obvykle obraz)
(další zkratky jsou vysvětleny přímo v textu)
8
9
Úvod
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.
Počátky sklářství v Čechách lze vystopovat ve druhé polovině 13. a v první polovině 14. století.
Tehdy se v příhraničních pralesích do té doby nedotčených Krušných, Lužických a Jizerských hor, Krkonoš, Šumavy i na Moravě objevily první sklářské hutě. Ve druhé polovině 14. století se v českých sklárnách tavilo jen slabě nažloutlé nebo nazelenalé sklo. Kolem roku 1370 byla v Čechách v jedné ze skláren za pomoci sklářů z italských Benátek utavena také sklovina použitá pro mozaiku Zlaté brány katedrály Sv. Víta na Pražském hradě. Chemické složení této mozaiky je shodné jako tenkrát vyráběného dutého skla pro poháry.
První osadníci Jizerských hor začali ve 14. století zakládat vsi, mezi něž lze řadit třeba Jablonec, Bzí či Železný Brod, a zdejší hluboké lesy jim posloužily jako významný zdroj paliva pro sklářské pece.
Vyráběné sklo určené jako výplň do oken se vyváželo třeba až do Slezska a Kladska. V 17. století v důsledku husitských válek a jiných tažení nastalo další osidlování Jizerských hor, novými osadníky byli zejména Němci, skláři ze saské strany Krušných hor, kteří zde zakládali sklářské hutě a uplatňovali nové technologie při výrobě skla. Do poloviny 17. století totiž vyráběné sklo mělo sklo důsledkem přítomnosti železa zelenou barvu a říkalo se mu „vitrum silvestre“ – lesní sklo. Právě sklářům v Čechách se podařilo – snad náhodou – zbavit sklo nazelenalé barvy přidáním niklu. Konec lesního skla byl zároveň prvním stupínkem ke slávě českého křišťálu v dalších staletích.
Historii počátků sklářské výroby pro bižuterní využití lze zase hledat v sousední oblasti. Již od 15. století se totiž na Turnovsku brousily drahokamy a polodrahokamy nacházené na Kozákově a v dalších lokalitách Podkrkonoší a Českého ráje. Zvýšený zájem o tuto komoditu vedl od 16. století k hledání snadnější a levnější náhrady přírodních kamenů. Později bylo do Čech přineseno z Benátek tajemství tavby skleněné kompozice – skleněné náhrady přírodních kamenů. Od roku 1715 již existovalo v Turnově „Bratrstvo kunstu štajnšnajdrovského", cech sdružující výrobce broušených skleněných kamenů. Koncem 18. století se postupně centrum výroby bižuterních kamenů z olovnatého křišťálu, náhrady polodrahokamů, přeneslo z oblasti Turnova do oblasti Jablonce nad Nisou. Ruční práci při broušení kamenů postupně začalo nahrazovat strojní broušení. Původní broušení jednotlivých skleněných kamenů nahradilo hromadné broušení za pomoci nástroje zvaného „mašinka“ nebo „aparát“, původně ruční či šlapací pohon brousicích a lešticích strojů byl nahrazován vodní sílou.
Další výrazný posun je spojen se jménem Daniel Swarovski1, který se roku 1862 narodil v Jiřetíně pod Bukovou. Postupně získává zkušenosti a v roce 1892 si patentuje nový brousicí a lešticí stroj poháněný elektrickou energií získanou z vodní turbíny. Následně rozjíždí vlastní výrobu, avšak nedostatek vodních zdrojů a velká míra konkurence v okolí jej vede k hledání nového místa pro podnikání. To nachází v roce 1895 v tyrolském městečku Wattens nedaleko od Innsbrucku, kde kupuje bývalou továrnu na výrobu látek. Postupně zde buduje firmu, která se v oblasti bižuterní výroby stává synonymem kvality a elegance.
Průmyslová sklářská a bižuterní výroba dosáhla vysoké úrovně na konci 19. století a je velmi těsně spjata s rozvojem města Jablonec nad Nisou a jeho okolí. Ještě na počátku 20. století dosáhly zdejší sklářské a bižuterní firmy takového objemu výroby, že například na daních za rok 1911 Jablonec nad Nisou odevzdal do rozpočtu tehdejšího Rakousko-Uherského mocnářství údajně téměř 2 000 000 korun, což byla zhruba stejná částka, kterou zaplatila celá Dalmácie. Rozmach nastal ještě po 1. světové válce, kdy se téměř celý německý Jablonec stal součástí Československé republiky. Hospodářská krize na začátku 30. let a pozdější politický vývoj však vedl k postupnému útlumu a omezování výroby, tedy k vývoji, jehož důsledky spatřujeme dodnes. Nutno říci, že jedinou větší sklářskou a bižuterní firmou, která již více než 50 let stabilně navazuje na zdejší tradice, je firma Preciosa, a. s. [W1].
1 Daniel Swarovski (*1862, †1956), zakladatel firmy – viz www.swarovski.com
10 Díky rostoucí náročnosti výroby a neustále stoupajícím požadavkům na kvalitu výrobků a na jejich přesnost nacházejí dnes, podobně jako i v jiných průmyslových aplikacích, 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 a šperkových kamenů, zejména ve fázi hodnocení zejména jejich kvalitativních vlastností.
Tato práce si klade za cíl provést analýzu a návrh metodik a algoritmů zpracování obrazové informace pro časově náročné úlohy řízení v reálném čase v průmyslu výroby bižuterních a šperkových kamenů s použitím výpočetních metod využívajících programový systém LabVIEW a technických prostředků podporovaných tímto systémem (kontrolér využívající programovatelná hradlová pole FPGA a grafické procesory GPU s architekturou CUDA). Důležitým cílem je navrhnout řešení pro konkrétní aplikace, 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 jeho technického a programového řešení.
V práci jsou také navrženy původní algoritmy pro zpracování obrazu využívající metody fuzzy logiky a obrazové fúze. Tyto algoritmy jsou určeny především k vytvoření nástrojů pro efektivní využití v oblasti objektivního hodnocení kvalitativních opticko-estetických vlastností bižuterních a šperkových kamenů ve firmě PRECIOSA, a. s., Jablonec nad Nisou.
11
1. Současný stav
1.1 Popis bižuterních kamenů
Strojně broušené šperkové a bižuterní kameny (dále též 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í funkcí je především funkce 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. Plochy tvořící vršek a spodek kamene jsou většinou opticky funkční. Na obr. 1.1 je znázorněn obecný tvar BK.
tabulka faseta
vršek lem (koruna)
spodek (pavilon)
hrana facety
tabulka
sejm, rondista
kaleta špička
faseta
Obr. 1.1 Obecný tvar BK (vlevo – diamantový výbrus, vpravo – šatonový výbrus)
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
Z výše uvedeného popisu je patrné, že významnou roli při zjišťování rozměrů, tvarů a zejména pak případných vad BK sehrávají metody založené na snímání zkoumaného předmětu určitou optickou soustavou. 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.
12 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 akademických institucí a dále pak několik pracovišť většinou personálně i jinak spojených s těmito institucemi. Mezi jinými se jedná o Centrum počítačového vnímání (CMR) na FEL ČVUT Praha (personálně propojené s firmou Neovision [W2]), Skupina počítačového vidění na FEKT VUT Brno (personálně spojená s firmou CAMEA Brno [W3]), Moravské přístroje Zlín [W4], dále firma ELCOM, a. s., Divize Virtuální instrumentace Ostrava [W5], úzce spolupracující s FEI VŠB TU Ostrava, Ústav pro výzkum a aplikace fuzzy modelování (IRAFM) [W6] Ostravské univerzity Ostrava, Laboratoř počítačového zpracování obrazu v ústavu RSS FMIMS Technické univerzity Liberec a některá další akademická pracoviště a instituce (např. MFF UK Praha [W7], ÚTIA AV Praha [W8]).
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 určitých forem konkurenčního boje a zejména ochrany duševního a zejména pak obchodního tajemství.
13
2. Cíle disertační práce
Jedním z problémů současného způsobu hodnocení kvality BK jako jedné z významných etap povýrobních operací je vysoká míra fluktuace objektivity používaných metod plynoucí zejména z podstatného vlivu lidského činitele. 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 etapy hodnocení. V systému hodnocení se zpracovává totiž velké množství informací při stále stoupající úrovni časové náročnosti a zmenšujících se rozměrech výrobků.
Disertační práce se zaměřila na studium metodik a návrh algoritmů cíleně směřujících k vytvoření systému pro objektivní hodnocení kvalitativních parametrů BK na základě jeho předem vytvořeného obrazu s pomocí vhodné optické soustavy. Na základě empirických zkušeností získaných z pozorování subjektivního hodnocení BK ve výrobních a povýrobních etapách byla zvolena pro další zkoumání aplikace metod obrazové fúze jednotlivých obrazů BK s využitím algoritmů využívajících fuzzy transformaci. S tímto cílem bylo vytvořeno a odzkoušeno několik původních algoritmů v programovém prostředí LabVIEW.
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.
Lze také očekávat, že v budoucnosti se systémy pro hodnocení kvality výrobků (pokud se ovšem kvalita vlastní výroby výrazně nezlepší tak, že by pominula potřeba provádět hodnocení výrobků jako povýrobní etapu) mohly stát součástí výrobních zařízení. Tím by ke kvalitativnímu hodnocení výrobků mohlo docházet již během výrobního procesu bez ztráty spojitosti s tokem informací ve výrobě a zpětná vazba vedoucí k nápravě by byla velmi těsná.
14
15
3. Základní pojmy
3.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 určitého praktického zjednodušení budeme v dalším popisu pracovat s pojmem dvourozměrný (2D) obraz a s 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 (obrazový „bod“) (m, n), této roviny vztahem:
R = {(m, n), m <1, M>, n <1, N>}. (3.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), počet kvantovacích úrovní k = 256. Hodnoty takto kvantované obrazové funkce potom splňují vztah:
f(m, n) <0, 255>
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ší
16 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 používáme ještě pojem oblast zájmu – ROI (z angl. Region Of Interest), což je vybraná část obrazu, s níž budeme dále pracovat.
3.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 operacím:
a) předzpracování (např. diskretizace, prahování, hledání hran), b) segmentace (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.
3.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ř. hledání hran). Za základní operace s obrazovou funkcí ve fázi předzpracování lze tak 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 ( ), s jejíž pomocí je dosaženo požadované nebo hledané vlastnosti reprezentované výslednou obrazovou funkcí g(x, y) podle obecného vztahu:
( ) ( ) ( ) ( )
Interpretaci rozdělení jasových úrovní v digitálním obrazu získáme pomocí histogramu.
Histogram hodnot jasu je odhadem 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 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. 3.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.
17
a) obraz b) jasový histogram
z
H
f(z)
Obr. 3.1 Příklad obrazu (a) a jeho jasového histogramu (b) (dle [48])
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:
Algoritmus HistogramJas (Výpočet jasového histogramu obrazové funkce) 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:
( ) ∫ ( ) ( ) ( ) ( ) ( )
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 (3.3) psát jako posloupnost:
( ) ∑ ∑ ( ) ( ) ( )
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 (tedy okolí 3 × 3 kolem středového pixelu), potom jednoduchá konvoluční maska průměrující hodnoty pixelů v 8-okolí je dána vztahem:
18
[
] ( )
Na obr. 3.2 vlevo je znázorněn vstupní obraz (použit z článku autora [56]), který je ve formě matice o rozměrech 256 256 pixelu podroben konvoluční operaci (obrázek uprostřed se zdůrazněnými hranami, tedy místy změny jasu v obraze) a následně vyhlazení (obrázek vpravo). K vlastnímu algoritmu pro zpracování uvedeného obrázku se vrátíme ještě v kapitole 8.
Obr. 3.2 Ukázka aplikace konvoluce a vyhlazení
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:
( ) ( ) (
) ( )
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:
( ) ( )
( )
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 ZC, z 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 (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).
Stručně uvedeme příklady gradientních operátorů. Jednoduché operátory aproximující gradient můžeme vytvářet na základě vztahu (3.3), kde operátor má tvar konvoluční masky, resp. v podobě
19 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:
[ ] [ ] ( ) Velikost gradientu se vypočte podle vztahu:
( ) ( ) ( ) ( ) ( ) ( )
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:
[
] [
] [
] ( )
Určitým vylepšením předchozí metodiky je Sobelův operátor:
[
] [
] [
] ( )
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):
( ( ) ( )) ( ( ) ( )) ( ) ( ) ( ( ) ( )) ( ) [ ] [ ] [ ]
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:
[ ] [ ] [ ] ( )
Výsledná matice ve vztahu (3.13) je současně konvolučním jádrem h4 pro 4-sousedství (tzn. okolí 2 × 2 kolem reprezentativního pixelu, někdy se používá jádro h8 pro 8-sousedství (tzn. okolí 3 × 3 kolem reprezentativního pixelu:
[ ] [ ] ( )
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 [29] popisující
20 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í:
( ) ( )
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. 3.3a je zobrazen tvar Gaussiánu dle předpisu (3.15). S využitím konvoluce budeme tedy hledat aproximaci druhou derivaci obrazové funkce f(x, y) Laplaciánem:
[ ( ) ( )] ( ( )) ( ) ( )
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.
3.3b je znázorněn prostorový tvar derivace Gaussiánu a na obr. 3.3c tvar operátoru LoG.
a) Gaussián b) derivace Gaussiánu c) Laplacián Gaussiánu (LoG) Obr. 3.3 Prostorové tvary operátorů
Pro další výpočet využijeme středovou souměrnost Gaussiánu a ve vztahu (3.15) provedeme substituci x2 + y2 = r2 (r zde reprezentuje Euklidovskou vzdálenost od středu Gaussiánu), takže dostaneme:
( ) ( ) Výpočtem lze odvodit konvoluční masku h(x, y):
( )
( )
Příklad takové masky (podle tvaru – invertovaná podoba na obr. 3.2c – se nazývá Mexický klobouk, angl. Mexican hat) pro okolí 5 × 5 je:
21
[
]
( )
Další hranový detektor publikoval John Canny v roce 1986 (viz např. [6]) 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.
3.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. 3.4:
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. 3.4 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. 3.4 Zpracování obrazu v prostorové nebo frekvenční oblasti
Fourierova transformace je jedním z hlavních nástrojů pro (lineární) zpracování signálů.
Dovoluje provádět 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 tak analyzovat frekvenční obsah (spektrum) signálu.
Pojem harmonické analýzy byl zaveden francouzským matematikem J. B. Fourierem2. Fourierova transformace je vhodná pro periodické signály a je definována pro spojitou funkci f(t) vztahem:
() { ( )} ∫ ( ) ( )
kde ξ je kmitočet a 2πξ je úhlová frekvence. Inverzní Fourierova transformace je potom definována vztahem:
( ) { ()} ∫ () ( )
2 Jean Baptiste Joseph Fourier (*1768, †1830), francouzský matematik a fyzik
22 Pro vysvětlení významu inverzní Fourierovy transformace vyjádřeme funkci f(t) pomocí Riemannova součtu:
( ) ( ( ) ( ) ) ( ) kde ∆ξ = ξk+1 – ξk pro všechna k.
Vztah (3.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:
( ) lze vztah (3.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í Fourierovy transformace) signálu f(n). Potom je diskrétní Fourierova transformace definována vztahem:
( ) ∑ ( ) ( )
Inverzní diskrétní Fourierova transformace je definována vztahem:
( ) ∑ ( ) ( )
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 (3.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.
Poznámka: Pro dvojrozměrnou obrazovou funkci f(m, n) pro obraz o rozměrech M × N můžeme vztah (3.24) popisující diskrétní Fourierovu transformaci psát v podobě:
( )
∑ ∑ ( ) ( )
( )
a vztah (3.25) popisující inverzní diskrétní Fourierovu transformaci v podobě:
( ) ∑ ∑ ( ) ( )
( )
Nyní se budeme zabývat stručně 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ů.
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