FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ KYBERNETIKA, AUTOMATIZACE A MĚŘENÍ. MRBT Projekt

Podobné dokumenty
Analýza a zpracování digitálního obrazu

Makroskopická obrazová analýza pomocí digitální kamery

13 Barvy a úpravy rastrového

Operace s obrazem II

1 Jasové transformace

DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH

Mikroskopická obrazová analýza

Hough & Radon transform - cvičení

Merkur perfekt Challenge Studijní materiály

Úvod do zpracování obrazů. Petr Petyovský Miloslav Richter

Matematická morfologie

Defektoskopie. 1 Teoretický úvod. Cíl cvičení: Detekce měřicího stavu a lokalizace objektu

Abstrakt. fotodioda a fototranzistor) a s jejich základními charakteristikami.

Spektrální charakteristiky

OBRAZOVÁ ANALÝZA. Speciální technika a měření v oděvní výrobě

PROGRAMOVÁNÍ ROBOTŮ LEGO MINDSTORM S VYUŽITÍM MATLABU

Interní norma č /01 Průměr a chlupatost příze

MI1249. Video rozhraní pro vozidla Citroen C5 a Peugeot 508

digitální proudová smyčka - hodnoty log. 0 je vyjádří proudem 4mA a log. 1 proudem 20mA

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

MI1308 Video rozhraní pro vozidla Volvo s displejem 5

2D grafika. Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace. Počítačová grafika, 2D grafika 2

Operace s obrazem. Biofyzikální ústav LF MU. Projekt FRVŠ 911/2013

Měření spektra světelných zdrojů LED Osvětlovací soustavy - MOSV

Řízení robota pomocí senzoru barev. Tematický celek: Světlo. Úkol:

Úpravy rastrového obrazu

Projekt do předmětu ZPO

ELCOM, a.s. Pavel Růčka E ELCOM, a.s.

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY. MRBT Robotika

Moderní metody rozpoznávání a zpracování obrazových informací 15

Automatické zaostřování světlometu

Skenery (princip, parametry, typy)

ÚVOD. Výhoda spínaného stabilizátoru oproti lineárnímu

MI Video rozhraní pro vozidla Renault. Přepínání mezi jednotlivými vstupy a ovládání přehrávání

Video adaptér MI1257

MRBT. Stacionární průmyslový robot EPSON C3 aplikace pro prezentaci

2010 Josef Pelikán, CGG MFF UK Praha

Inteligentní převodníky SMART. Univerzální vícevstupový programovatelný převodník. 6xS

MCS-08. Kabel k MI200 pro VW RNS510. umožňuje připojení 2 zdrojů AV signálu k navigačním systémům Volkswagen MFD3/RNS510 Škoda Columbus Seat Trinax

Číslicový Voltmetr s ICL7107

Programátorská dokumentace

PROJEKT 3 2D TRAJEKTORIE KAMERY SEMESTRÁLNÍ PRÁCE DO PŘEDMĚTU MAPV

Analýza obrazu II. Jan Macháček Ústav skla a keramiky VŠCHT Praha

Detektory kovů řady Vistus

Měření průtoku kapaliny s využitím digitální kamery

Rozhraní c.logic. mi107new. umožňuje připojení 3 zdrojů AV signálu k navigačním systémům Porsche PCM 3.0 a 3.1

PŘÍSTUP. Docházkový terminál itouch. Produktový list : DT - itouch

Zpracování signálu z obrazového senzoru s využitím OS Linux pro embedded zařízení

DTP 2. Radek Fiala. Podpořeno z projektu FRVŠ 584/2011. Radek Fiala DTP 2

Úvod do mobilní robotiky AIL028

MCS-05. Kabel k MI092 pro AUDI RNS-E. umožňuje připojení zdroje AV signálu k navigačnímu systému Audi Navi Plus RNS-E

Michal Vik a Martina Viková: Základy koloristiky ZKO10. Správa barev

Ultrazvukové snímače

1 Základní funkce pro zpracování obrazových dat

Pokročilé vyhodnocování mikrotvrdosti programem MICRONESS

LMS ENERGIS. DALI regulace

2 Nd:YAG laser buzený laserovou diodou

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

ZÁKLADNÍ TERMINOLOGIE V COLOR MANAGEMENTU

NPGR032 CVIČENÍ III. Šum a jeho odstranění teorie&praxe. Adam Novozámský (novozamsky@utia.cas.cz)

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

Jasové transformace. Karel Horák. Rozvrh přednášky:

Přípravek pro demonstraci řízení pohonu MAXON prostřednictvím

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í. výstup

Moduly zpětné vazby v DCC kolejišti

Návrh frekvenčního filtru

CX Optické snímače v kvádrovém pouzdru

Operace s obrazem I. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.

Nový standard pro fotoelektrické snímače M18

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE

Potřebné vybavení motoru 4 válce, plná verze

ON-LINE SLEDOVÁNÍ POHYBUJÍCÍHO SE PŘEDMĚTU S VYUŽITÍM DIGITÁLNÍ KAMERY ON-LINE TRACKING OF MOVING OBJECT USING DIGITAL CAMERA

MI Rozhraní pro vozidla Ford Focus, Edge a Fusion. Montážní příručka

ROZ I. CVIČENÍ V. Morfologické operace v obraze teorie & praxe

Vysílač: vypínač a stmívač dotykový, 1 zóna, inteligentní, radiový RF přenos Spolupracuje s inteligentními přijímači TRE-P a TRE-P

PRAKTIKUM III. Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Pracoval: Jan Polášek stud. skup. 11 dne

kamerou. Dle optických parametrů objektivu mohou v získaném obraze nastat geometrická

Počítačové zpracování obrazu Projekt Učíme se navzájem

VOZIDLA. Uživatelská příručka SeeMe - Ecofleet. Provozovatel GPS služeb: pobočka ZNOJMO pobočka JIHLAVA pobočka DOMAŽLICE pobočka PRAHA Identifikace

Rozšíření bakalářské práce

Předpoklady Instalace programu Obnovení výchozích předvoleb Další zdroje informací

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Technická specifikace předmětu veřejné zakázky

Měření Záznam Online monitorování Regulace Alarmování

Video adaptér MI1232

Meo S-H: software pro kompletní diagnostiku intenzity a vlnoplochy

Princip pořízení obrazu P1

Adaptér pro připojení zdrojů video signálu MI pro vozidla BMW s displejem vybaveným 10-ti pinovým LVDS konektorem

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

CZ.1.07/1.1.14/ Inovace výuky v Písku a okolí Pracovní list. Automatizační cvičení. Konfigurace inteligentní instalace Ego-n

Práce na počítači. Bc. Veronika Tomsová

Grafika na počítači. Bc. Veronika Tomsová

Optoelektronické. BGL Vidlicové optické závory. snímače

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

Teorie systémů TES 3. Sběr dat, vzorkování

Rozhraní c.logic lite. Mi MCS-04

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 23 FORMÁT SOUČÁSTI]

Projekt BROB B13. Jízda po čáře pro reklamní robot. Vedoucí projektu: Ing. Tomáš Florián

Transkript:

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ KYBERNETIKA, AUTOMATIZACE A MĚŘENÍ MRBT Projekt S11. Jízda po čáře - optické snímání čáry Vypracoval: Program: Obor: Vedoucí: Bc. Ondřej Zapletal EEKR-M1 M1-KAM Ing. Aleš Jelínek Datum odevzdání: 8.5. 2015 Brno 2015

1. Zadání Za použití webkamery a PC pro zpracování obrazu navrhněte, sestavte a otestujte systém pro navigaci robotu při jízdě po čáře. Zvolte vhodný způsob vyznačení navigační čáry s ohledem na použití v reálném prostředí vnitřních prostor. Systém by měl být dostatečně rychlý pro provoz během jízdy a dále odolný vůči částečnému zašpinění/poškození vodicí čáry. Výstupem systému bude relativní poloha a orientace senzoru (webkamery) vzhledem k navigační čáře. 2. Teoretický rozbor 2.1. Barevný prostor Obraz kamery je nejčastěji zaznamenán v RGB barevném prostoru. Barvě jednotlivých pixelu obrazu je tedy reprezentovaná pomoci intensity červené, zelené a modré barvy. Pro potřeby filtrace barev je tento barevny prostor poněkud nevýhodný protože části obrazu většinou nenabývají monolitického barevného odstínu. Oblasti obrazu, které nabývají podobných barev v tomto barevném prostoru obvykle nejsou reprezentovaný blízkými hodnotami. Proto pro potřeby je vhodnější barevný prostor, ve kterém je reprezentace odstínu barvy v jejím kódování odděleno od barevné světlosti a intensity. Příkladem takového prostoru je HSV. V HSV barevném prostoru je barva pixelu reprezentovaná pomoci tří údajů: odstín, sytost a intenzita. 2

2.2. Morfologické operace Eroze Operace, která způsobí zmenšeni každé oblasti pixelů podle zadaných zákonitosti (např. úroveň zmenšení, tvar) Dilatace Inverzní operace k erozi. Rozšířeni každé oblasti pixelů. Intuice pro operace eroze a dilatace: Původní obraz Erodovaný obraz Dilatovaný obraz Otevírání Aplikace eroze následovaná dilatací. Používá se pro odstranění šumu v obraze. Uzavírání Aplikace dilatace následovaná erozí. Používá se k uzavření malých děr v obraze. 2.3. Detekce hran Canny detektor Jednoduchá a poměrně spolehlivá metoda, používaná pro detekování hran v obraze. Principiálně tato detekce funguje takto: - z obrazu je odstraněn šum pomocí filtru (nejčastěji Gaussova) - je naleze gradient intenzity v obraze (jsou aplikovány konvoluční masky ve směru x a y) - jsou vybrána pouze lokální maxima (tím je docílena minimální šířka detekovaných hran) - nevýznamné hrany jsou eliminovány (toho je docíleno stanovením hraničních úrovní pro detekované hrany) 2.4. Houghova transformace Metoda používaná pro detekci rovných čar v obraze. Je žádoucí, aby tento obraz byl před touto transformací zpracován pomocí detektorů hran. Pro potřeby Houghovy transformace je výhodné popisovat obraz v polárních souřadnicích. Přímku ve 2D prostoru lze popsat pomocí polárních souřadnic jako ( ) ( ) 3

Figure 1: Přímka popsaná pomocí polárních souřadnic Pokud je libovolný bod [ ] vyjádřen v polárních souřadnicích podle Je možné provést zobrazení všech potencionálních čar procházejících tímto bodem v souřadnicovém systému [ ] jako na Figure 2. Na Figure 3 je vidět zobrazení několika bodů [ bod je reprezentován jednou křivkou). Pokud se křivky v tomto zobrazeni protínají, znamená to, že všechny křivky (každá z nich představující bod [ jedné rovné čáře. Figure 2: Křivka v souřadnicovém systému [ ] představující potenciální přímky procházející bodem [ ]. Figure 3: Množina křivek v souřadnicovém systému [ ]. Průnik těchto křivek značí, že všechny body náleží jedné rovné čáře. 3. Praktická část V rámci praktické části byla naprogramována aplikace v programovacím jazyce C++ a s použitím knihovny OpenCV. Dále byl vyroben hardwarový přípravek pro upevnění kamery, s LED diodami, který zabezpečuje zdroj světla. Pro zajištění spolehlivé detekce vodicí pásky byly vybrány tři různé barvy: modrá, černá a červená. Tyto 3 by měli stačit k tomu, aby navigace robota fungoval na velkém počtu rozmanitě barevných povrchů. 4

Figure 4: Použité barevné pásky 3.1. Popis aplikace V aplikaci byly vytvořeny 4 třídy: Point - Třída vytvořená pro převod souřadnicového systému objektu CV::Mat na system s počátkem definovaným uživatelem. LineSegment - Třída reprezentující všechny čáry nalezené v obraze. Třída obsahuje logiku, která přepočítává mezi jednotlivými popisy přímky (popis pomocí dvou bodů, směrnice přímky, polární souřadnic). ColorFilter třída pro uchovávání horních a dolních hodnot barevného rozsahu jednotlivých barev navigační pásky. Controller Řídící třída, která zabezpečuje funkci zpracování obrazu a nalezení středu pásky. Funkce aplikace je realizována zavoláním metody void processimage(const int &color) na instanci třídy Controller. 3.1.1. Postup zpracovaní obrazu z kamery (předzpracování obrazu) Metoda processimage nejprve zavolá metodu void updateimage(), která načte obraz z kamery do cv::mat struktury origimage. Předzpracovaní tohoto obrazu je vyřešeno zavoláním metody: void threshold(const int &color, int erodedialtecount), kde color představuje barvu vybrané pásky a erodedialtecount počet operací eroze a dilatace aplikovaných na obraz. Postup operací metody threshold je následující: 5

Obraz z kamery obsah struktury cv::mat origimage převod do HSV barevneho prostoru pomocí opencv procedury void cvtcolor( InputArray src, OutputArray dst, int code, int dstcn=0 ); HSV obraz obraz z kamery reprezentován novými barvami korespondujícími jejich ekvivalentům v HSV barevném prostoru. prahovaní barevného pásma pomocí opencv procedury: void inrange(inputarray src, InputArray lowerb, InputArray upperb, OutputArray dst); binární obraz - již obsahuje pouze žádanou barevnou složku specikovanou podle horní a dolní prahové hodnoty HSV barevného prostoru. V této části výsledný obraz často obsahuje různé nežádoucí artefakty, které jsou většinou důsledky šumu nebo kupříkladu nežádoucích barevných prvků v původním obraze. eroze obrazu (3x) - odstraní veškerý neždoucí šum včetně nežádoucích barevných prvků v původním obraze. dilatace obrazu (5x) - vyplní případné díry v detekovaném obraze eroze obrazu (2x) - zmenší obraz detekované čáry do původních rozměrů binární obraz čistý obraz obsahující pouze oblast korespondující detekované pásce 6

3.1.2. Detekce pásky v předzpracovaném obraze Detekování pásky má za úkol metoda void findlines(), Postup operací metody findlines je následující: hledání hran pomocí opencv procedury: void Canny( InputArray image, OutputArray edges, double threshold1, double threshold2, int aperturesize=3, bool L2gradient=false ); binární obraz - obraz obsahující pouze dvě představující okraje pásky. hrany Hledání rovných čar v binarním obraze pomocí Houghovy transformace void HoughLines( InputArray image, OutputArray lines, double rho, double theta, int threshold, double srn=0, double stn=0 ); Detekované čáry v obraze Na skupinu nalezených čar je zavolána metoda void findtangentfromlines(std::vector<lt::linesegment> &source) Skupina čar je rozdělena do dvou skupin každá odpovídající jedné straně pásky pomcí metody void splitlinesbycloseness(std::vector<lt::linesegment> &source, std::vector<lt::linesegment> &group1, std::vector<lt::linesegment> &group2) 7

Pro každou skupinu je nalezena čára která odpovídá střední hodnotě skupiny čar pomocí metody lt::linesegment averageline(std::vector<lt::linesegment> source) Nalezena střední hodnta dvou krajových čar a tím identifiakce středu pásky. Opět pomocí metody averageline. Nalezení kolmice ze středu souřadnicového systému ke středu pásky. Kolmice je popsána úhlem theta a počtem pixelů rho. Poslední krok metody processimage je void showimages(), tato metoda vykreslí uživatelem zvolené části identifikačního řetězce společně s obrazem kamery, který obsahuje vykreslené informace o detekované pásce. 8

3.1.3. Uživatelské rozhraní Pro nastavení aplikace je pro uživatele k dispozici okno knihovny HighGui, které je zobrazeno na Figure 5. Figure 5:Ovládání aplikace První posuvník s názvem slouží k výběru detekované barvy. K dispozici je modrá, černá, červená a volně nastavitelná. Posuvník history slouží k přepínání historie (detekovaná čára je buďto vyhodnocována jako okamžitá hodnota anebo jako průměrná hodnota několika posledních hodnot). Možnost debug opt přepíná mati minimalistickým zobrazením a zobrazením mezi kroků zpracování obrazu. Posuvníky x offset a y offset umožnují uživateli aby si mohl nastavit střed souřadnicového systému. Figure 6: Digram tříd aplikace LineTracker 9

3.2. Vytvoření osvětlení Byl vytvořen přípravek pro uchycení kamery a přídavného osvětleni. Osvětlení bylo vyřešeno pomocí dvou paralelních větví po pěti sériově spojených LED diodách. Dvěma tranzistory bylo převedeno napájecí napětí 24V na zdroj konstantního proudu regulovatelného pomoci potenciometru. Horní hranice průchozího proudu byla nastavena na 60 ma. Schéma celého zapojení je na Figure 7. Figure 7: Schéma zapojeni osvětlovacích LED diod Vytvořený přípravek je potom na Figure 8 a Figure 9. Figure 8: Horní strana přípravku 10

Figure 9: Dolní strana přípravku 11

4. Příklady detekce na rozmanitých površích 12

5. Závěr V rámci tohoto projektu byla vytvořena aplikace pro detekci pozice pásky v obraze pořízeným digitální kamerou. Systém bude v budoucnu sloužit jako součást navigačního systému robota, proto bylo pro správnou funkci detekce potřeba zajistit stabilní úroveň osvětleni. Toho bylo dosaženo vytvořením zastínění přípravku s kamerou a přidáním umělého osvětleni. Aplikace je schopna detekovat 3 rozdílné barevné pásky, čímž je zajištěna velká rozmanitost povrchů, na kterých je možné zařízení provozovat. Výsledek detekce pásky je v aplikaci reprezentován čarou procházející jejím středem. Poloha této čáry je popsána pomocí její kolmice procházející středem souřadnicového systému. Tato kolmice je popsaná délkou rho (její rozměry jsou v pixelech) a úhlem svírající s počátkem théta (v radiánech). Výstupní hodnota může být buďto okamžitá hodnota anebo střední hodnota vybraného počtu vzorků. 13

6. Použitá literatura Opencv: canny_detector [online]. [cit. 2015-05-11]. Dostupné z: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html Opencv: Morphological Transformations [online]. [cit. 2015-05-11]. Dostupné z: http://docs.opencv.org/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.htm l Opencv: hough_lines [online]. [cit. 2015-05-11]. Dostupné z: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html Learning opencv: computer vision in C++ with the OpenCV library. ISBN 9781449314651. 14