Automatizované rozpoznávanie obrazu riadené systémom iConnect
25. November, 2009, Autor článku: Kňaze Kamil, Elektrotechnika, Študentské práce
Ročník 2, číslo 11
Pridať príspevok
Hlavná myšlienka tejto práce spočíva v navrhnutí a vytvorení plnohodnotného automatizovaného kamerového zariadenia. Toto zariadenie je určené k rozpoznávaniu farebného kódu viditeľného pomocou kamery, schopného plnohodnotnej 24 – hodinovej prevádzky v náročnom priemyselnom prostredí. Práca taktiež okrajovo poukazuje na možnosti a spôsoby vytvárania aplikácií, vo vývojovom prostredí iConnect. Forma vytvárania týchto aplikácií spočíva v programovaní samostatných C++ modulov vhodných na spracovanie obrazu získaného či už kamerového, senzorovo-laserového, alebo iného zdroja.
1. Úvod
V poslednej dobe sa stále častejšie stretávame s prudkým rozvojom v oblasti automatizácie cyklicky sa opakujúcich procesov. Tieto procesy sa vyskytujú nielen v priemyselnom nasadení, ale taktiež aj v našom každodennom živote. Väčšina z nás o nich ani len netuší, a pritom sa už dávno stali našou bežnou súčasťou. Či už ide o automatické synchronizovanie dát medzi stolovým počítačom a telefónom, výpis stavu bankového účtu v ľubovoľne zvolených intervaloch, cyklickú platbu formou inkasa, posielanie reklamných emailov, satelitnú, alebo satelitno-kamerovú autonavigáciu, ktoré reagujú na základe polohy, dopravného značenia, alebo mnohé iné. Posledný z menovaných príkladov, inteligentná videonavigácia, je jedným z procesov nasadených v praxi, ktorý je pre nás nesmierne zaujímavý. A to práve tým, že zahŕňa všetky tri body, ktoré sú hlavnými stavebnými kameňmi aplikácie a zariadenia, nad ktorým sme strávili niekoľko mesiacov našej práce. Tieto cyklicky sa opakujúce body sú: získanie dát zo zdroja, ich spracovanie a vyhodnotenie v reálnom čase a v neposlednom rade činnosť závislá od ich vyhodnotenia. Tieto body sme využili pri vytváraní zariadenia LCI – Line Color Inspection (Obr.1.), ktoré je v súčasnosti čisto priemyselným zariadením nasadením v reálnej prevádzke. Na konci práce však predstavíme možnosť, kde by sa princíp práce tohto zariadenia dal aplikovať aj v bežnom živote každého z nás.
2. Princíp činnosti zariadenia LCI
Princíp činnosti zariadenia LCI spočíva v zdetekovaní farebného kódového označenia a následným získaním jeho presnej polohy na analyzovanom objekte. Analyzovaný objekt je produkovaný z linky, ktorá sa nachádza ešte pred zariadením LCI, a jeho pohyb k aktívnej časti LCI je zabezpečený dopravníkovým pásom. Zariadenie nie je čisto pasívne a štatistické, ale najmä aktívne, vďaka korigovaniu nesprávnej polohy nanášaného kódu v reálnom čase a hlásením zhody (prípadne odchýlky) voči vopred načítanému receptu. Všetky tieto hlavné body činnosti podliehajú prísnym priemyselným normám, pričom pri ich ignorovaní by nebolo možné zariadenie nasadiť v reálnej prevádzke.
Obr. 1. Line Color Inspection v testovacom prostredí
2.1 Získavanie dát zo zdroja
Podľa vopred spomenutého, zariadenie pracuje na základe troch nevyhnutných stavebných “kameňov”. Prvým z týchto kameňov je práve získanie dát. Konkrétne ide o dáta vo forme farebného obrazu, ktorého zaznamenávanie (získavanie) bolo prvým problémom, ktoré sme museli v našej práci riešiť. Spôsob zachytávania nie je, tak ako sa na prvý pohľad zdá triviálnou záležitosťou, ale zložitou činnosťou. Tá sa začína výberom vhodného optického zariadenia, analyzovaním svetelných podmienok snímacej scenérie, až po programovanie softwarových ovládačov. Na získavanie dát zo zdroja sme nakoniec použili farebnú priemyslenú FireWire CCD (Chare-Coupled Device) kameru.
2.1.1 Farebná kamera Marlin F201-C
Na základe fyzikálnych možností a technických parametrov viacerých testovaných kamier, ktoré sme mali k dispozícií, sme sa rozhodli použiť práve priemyselnú kameru z produkcie nemeckej spoločnosti Allied Vision. Ide o kameru produktového radu Marlin s označením FC-201C (Obr. 2.).
Obr. 2. Allied Vision Marlin F201C
Kamera je pripojená k priemyselnému počítaču pomocou, v súčasnosti najrýchlejšiemu kamerovému rozhraniu, FireWire. Danú kameru sme si vybrali na základe jej rýchlej frekvencie zachytávania obrázkov, vysokého rozlíšenia (aktuálne nastavenou na šírkové rozlíšenie 1600 bodov a výškové rozlíšenie 1200 bodov), dostatočne veľkého pamäťového zásobníka (2 farebné snímky v plnom rozlíšení) a variability nastavovania jej jednotlivých parametrov. Kamera je v súčasnosti triggrovaná pomocou softwarového triggra v perióde 0,5s a komunikuje FireWire štandardom typu A (400Mb/s). To umožňuje dostatočne rýchle reakcie samotnej aplikácie na spracovanie a vyhodnotenie analyzovaných dát a reagovanie na ne.
Čo vlastne sú analyzované dáta, alebo inak povedané náš objekt analýzy? Objektom je nekonečný gumový pás (profil), ktorý je produktom vytlačovacej gumárenskej linky. Ten obsahuje stredovú drážku (pík) a farebné pásiky, ktoré sú nanášané nádobami s farbou (Obr. 4.), tvoriace jedinečný farebný kód. Tieto kódy sú pri každom rozdielnom druhu aktuálne produkovaného profilu iné a informáciu o nich dostáva LCI (Obr. 3.) z nadradeného systému priemyselnej linky.
Obr. 3. Line Color Inspection – model
Obr. 4. Nádoba s farbou a gumený profil
2.2 Spracovanie a vyhodnotenie dát
Po načítaní obrazových dát z kamery dochádza k činnosti, ktorá tvorí základ správnej funkcionality celého zariadenia LCI. Tým je práve spracovanie a vyhodnotenie získaných snímok z kamerového zdroja.
Surové dáta z kamery sú reprezentované ako dáta typu RAW Image a na prevod do klasického obrazu dátového typu BMP (matica Integer 32 x Integer 32) slúži modul implementovaný v systéme iConnect. Tento modul má názov CMU1394 a slúži na pripojenie digitálnych fotoaparátov, kamier, alebo špecializovaných meracích senzorov s lasermi. CMU1394 obsahuje nastavenie portu, na ktorom je pripojené podporované FireWire zariadenie a offline parametrizáciu jeho jednotlivých nastavení. Táto offline parametrizácia však bola pre naše účely nevyhovujúca, a preto sme boli nútení doprogramovať pomocou programovania v iConnecte možnosť online parametrizácie s aktuálne viditeľnými zmenami.
Pred samotným spracovaním kamerových snímok dochádza k načítaním údajov do LCI z nadradeného systému, ktorým je priemyselný počítač na báze Siemens Simatic PLC. Ten komunikuje s LCI pomocou rozhrania UDP na vopred dohodnutých portoch. Dáta, ktoré nadradený systém posiela sú jedinečný ID kód (ID receptu) aktuálne vytlačovaného receptu a taktiež jeho dĺžka v bitoch. Dĺžka reťazca v bitoch je posielaná ako kontrolná jednotka pre kontrolu správnosti prijatého ID receptu. Na základe receptu, ktorý je uložený v lokálnej databáze, LCI určuje aké sú parametre vytlačovaného profilu. Ten môže mať rôzny počet, umiestnenie vzhľadom na stredový pík a kombinácie farebných pásikov a taktiež jeho samotnú celkovú šírku. Tento farebný kód (Obr. 5. a 6.) je interným označením na strane prevádzkovateľa LCI, ktorým určuje typové vlastnosti profilu v priebehu jeho ďalšieho spracovania vo výrobnom procese.
Obr. 5. a 6. Gumený profil s naneseným farebným kódom
Po získaní ID receptu a kamerovej snímky profilu dochádza k činnostiam popísaným v nasledujúcich riadkoch tejto práce.
Prvý krok rozpoznávacieho algoritmu (modul naprogramovaný v C++ a integrovaný do iConnectu) predstavuje koncentráciu farebnej informácie do jedného riadku. Tento krok sa vykonáva kvôli vylúčeniu vplyvu náhodných chýb, alebo okrajových farebných skreslení. To znamená, že iba najčastejšie sa vyskytujúce farby sú spriemerované do jediného pixla riadku. RGB (Obr. 7.) informácia je uchovaná vo forme štruktúry dát typu double.
Obr. 7. a 8. Grafické znázornenie priestoru farebného modelu RGB a HSL
Problém ďalšieho kroku, kedy sme chceli použiť detekciu kódu na základe sýtosti jednotlivých farieb, spočíval v tom, že vzhľadom na nerovnomerné nanášanie kódov z farebných nádob, nie je možné tento variant aplikovať. Preto sme museli hľadať riešenie v inom, sofistikovanejšom prístupe k farebným dátam. V prvom rade sme zvýraznili užitočnú farebnú informáciu equalizáciou tmavých odtieňov do neutrálnej šedej. Algoritmus využíva oddelené γ-korekcie pre jednotlivé farebné zložky tak, aby cieľová oblasť tmavých tónov mala neutrálnu šedú farbu. Tento algoritmus nezmení farebný tón veľmi tmavých a veľmi svetlých oblastí a je aplikovaný v HSL priestore (Obr. 8.), kvôli menšej strate dát oproti aplikácií v RGB priestore. Pre následnú segmentáciu dát sme prešli od HSL späť k RGB priestoru. Na riadok dát s farebnou informáciu teraz pozeráme ako na proces, kde farebný vektor osciluje okolo typických hodnôt pre daný farebný segment a potom, na rozhraní segmentov, prudko mení svoju polohu. Jeho trajektória v RGB priestore teda vykazuje “hniezda” zodpovedajúce segmentu jednej farby, ktoré je možné štatisticky izolovať (aplikovaním farebnej filtrácie) . Rozhodli sme sa, že segmentácia trajektórie sa uskutoční len vtedy, ak ťažisko prvého segmentu je od ťažiska druhého segmentu vzdialené viac, než je súčet stredných odchýlok trajektórie v jednom a druhom segmente. Metóda kvantizácie trajektórie v RGB priestore vykazovala od začiatku veľmi dobrú robustnosť. Pritom segmenty sú určené iba parametrom konštanty separácie pri porovnaní vzdialenosti hniezd a ich vlastného šumu, a parametrom necitlivosti, čo je šumová energia eliminujúca segmentovanie oblastí s malými amplitúdami fluktuácií. Pri voľnejšom nastavení parametrov metóda generuje jedinečné segmenty v oblastiach výskytu farebných pásikov pre väčšinu získaných dát. Pri prísnejších podmienkach získavam spravidla niekoľko (typicky 2 – 3) segmentov na jeden farebný pásik, čo je dané nerovnomerným nanášaním farieb alebo okrajovými optickými fenoménmi. Tieto fenomény sú spôsobené najmä osvetlením a vonkajšími svetelnými vplyvmi na objekt analýzy. Následným identifikovaním segmentov s podobnými HSL hodnotami alebo šírkovou diskrimináciou môžeme efektívne identifikovať farby, polohy a šírky veľkej väčšiny farebných pásikov, pričom reálne, a nie testovacie, dáta vedú k viac než 99% úspešnosti tejto metódy.
Na základe vyššie spomínaného algoritmu aplikovaní filtrov na jednotlivé segmenty a konštantnej predmetovej vzdialenosti (vzdialenosti analyzovaného objektu od kamery) dokážeme zistiť všetky informácie ktoré nás zaujímajú. Tými sú počet pásikov (farebného kódu), ich jednotlivé farby, ich šírky, poloha stredového píku, kladná, alebo záporná vzdialenosť pásikov od neho, šírka samotného profilu a samozrejme informácia o jeho prítomnosti v zornom poli kamery.
2.3 Činnosť závislá od vyhodnotenia dát
Na základe naplnenia údajov obsiahnutých v dátovej štruktúre, ktorá tvorí výstup modulu naprogramovaného v C++ a integrovaného do iConnectu, dochádza k ich vyhodnocovaniu. Toto vyhodnocovanie už neprebieha v rozpoznávacom module, ale priamo v iConnect moduloch naprogramovaných pomocou vizuálneho a pseudo programovania podobnému programovaniu v jazyku C. Tento proces úzko súvisí s dátami, ktoré sú načítané z databázy receptov pomocou jedinečného ID kódu a informáciami o polohe a stave serva a osičky získanými z PLC systému TwinCAT.
Načítaný recept je pri vyhodnocovaní dát dôležitý práve preto, lebo kontrolný algoritmus môže zistiť aktuálne výchylky referenčného (receptového) profilu a profilu aktuálne nachádzajúceho sa v zornom poli kamery. Tieto diferenčné údaje sú posielané do ďalších modulov na spracovanie, ktorého výsledky ovplyvňujú zmenu polohy referenčného pásika (činnosť riadená pomocou TwinCAT PLC programu) a zobrazením štatistických údajov do vizualizácie (Graphical User Interface) LCI aplikácie.
Vyššie spomínaná zmena polohy referenčného pásika je možná len v limitných vzdialenostiach definovaných v recepte a samotným posunom tohto pásika dochádza aj k posuvu ostatných pásikov. Zmena polohy ostatných pásikov je realizovaná na základe toho, že v systéme je použitá iba jedna mechanická osička. Tá neriadi pohyb iba referenčného pásika, ale sústavy pásikov ako celku, a to v horizontálnej osi profilu. Jedna osička je aplikovaná práve z toho dôvodu, aby sa dala ošetriť chybná poloha kódu vzhľadom na recept, ktorá nastala posunutím celého profilu v horizontálnej osi na dopravníku na ktorom je mechanicky posúvaný. Na zariadení je tiež možná nezávislá korekcia polohy ostatných nanášaných pásikov. Tá je možná vďaka malým aretačným skrutkám, ktoré sú určené na jemné dolaďovanie polohy v horizontálnej osi profilu, tvoriacich súčasť konzoly pre upevnenie nádob s farbou.
3. Samotná koncepcia SW zariadenia LCI
Zariadenie je po aplikačnej časti koncipované ako celok združujúci dva softwarové podsystémy (Obr. 9.).
Prvým z nich je samotný rozpoznávací algoritmus (modul iConnectu naprogramovaný v C++ používaný pri spracovaní a vyhodnotení kamerových dát a integrovaný do prostredia iConnect). Priníp jeho práce je popísaný v časti práce, uvedenej vyššie – 2.2. Spracovanie a vyhodnotenie dát.
Druhý podsystém zahŕňa vyčítavanie dát z FireWire kamery, načítavanie receptov (Load Receipt), spracovanie a vyhodnotenie dát z C++ modulu (Control), komunikácia s nadradeným systémom (Control) a komunikácia s PLC jednotkou a jej programom (TwinCAT IO) . Táto časť (podsystém) je, až na zdrojový kód PLC programu, kompletne naprogramovaná pomocou vizuálneho a pseudo programovania v prostredí iConnect.
Obr. 9. Koncepcia SW Line Color Inspection
4. MicroEpsilon iConnect
Vývojové prostredia ako Microsoft Visual Studio, Eclipse, resp. Borland Builder neponúkajú žiadne vstavané komponenty pre rozpoznávanie obrazu. Preto je nutné buď si vytvoriť vlastné knižnice, alebo využívať tie, ktoré sú už k dispozícii. Vytvorenie vlastných modulov je však časovo aj finančne veľmi náročné. Vhodnejšie je siahnuť práve po druhej možnosti, ktoré využívajú SW nástroje ako Matlab, alebo iConnect (Obr. 10.). V podstate je možné nájsť a využívať softwarovým nástrojom dva druhy knižníc:
- knižnice na rozpoznávanie tvarov a farieb,
- špeciálne knižnice na rozpoznávanie pohybu.
Spoločnosť MicroEpsilon prišla pred pár rokmi s myšlienkou vytvoriť vývojové prostredie pre budúcich programátorov, pracujúcich v oblasti priemyselného programovania, ktoré by bolo jednoduché, prehľadné a veľmi efektívne. Na tejto myšlienke pracovali zamestnanci spoločnosti spolu so študentmi Elektrotechnickej Univerzity v meste Passau a výsledkom ich úsilia bol nový programovací jazyk iConnect. iConnect je programovací jazyk využívajúci grafické rozhranie, v ktorom sa pracuje s vopred naprogramovanými modulmi. Tieto moduly obsahujú vstupné, výstupné a vstupno-výstupné konektory, ktoré sa na seba navzájom pripájajú tzv. káblami. Tak vytvárajú základ nového SW. Ide o vyšší programovací jazyk, ale nie klasický ako ho poznáme z prostredí Microsoft Visual, alebo Borland Builder. Je to tzv. jazyk vizuálneho programovania (Obr. 11.), ktorý je oveľa prehľadnejší a jednoduchší na pochopenie. Samozrejme, je tu tiež možnosť programovať aj v jazyku C++ (písanie čiastkových pseudo kódov priamo v iConnecte pomocou modulu Interpret, alebo programovanie vlastných modulov v Microsof Visual Studiu), čo v konečnom hodnotení robí z iConnectu silný a do budúcna perspektívny vývojový nástroj.
Obr. 10. a 11. MicroEpsilonConnect – úvodná obrazovka a iConnect – SignalGraph (aplikácia) obsahujúci moduly, vstupy a výstupy prepojené káblami
5. C++ moduly určené pre iConnect
Programovanie samostatných C++ modulov, ktoré sú určené na integráciu do prostredia iConnect, je procesom, ktorý je vhodný pre bezpečné zapuzdrenie algoritmov. K tým je umožnený jednoduchý prístup, a to pomocou vstupov a výstupov samotných modulov a ich parametrizácie v prostredí vizuálneho programovania. K samotnému programovaniu vlastných modulov musíme mať k dispozícií SDK od spoločnosti MicroEpsilon, ktorým vytvoríme v prostredí Microsoft Visual C++ prázdny projekt modulu iConnect. Ten je v podstate jedinečnou DLL knižnicou, ktorá obsahuje metódy triedy používané pri jej spracovaní. Tie sú definícia vstupov a výstupov, inicializačná časť premenných, načítavanie externých parametrov či už zo vstupov, alebo manuálne pomocou GUI režimu v prostredí iConnect, spracovateľskú execute časť , časť posielajúcu dáta na výstupy modulu a deinicializačnú časť.
Časť zdrojového kódu metódy Execute, z konkrétneho modulu používanom v LCI:
int TCRgb2VecModule::Execute()
{
int return_value = 0;
CArray < image_base_c *, image_base_c * >pInImageBase;
ti.m_timestamp = m_syncTime;
return_value = Test_Extern_DB();
if (return_value != 0)
return return_value;
if (!ReadImageArray(ti, m_InputStream[IN_IMAGE], &m_Status, pInImageBase))
return 0;
AdjustImageArray (m_pOutImageBase, pInImageBase);
for (int i = 0; i < pInImageBase.GetSize(); i++)
Proces písania vlastných C++ modulov je veľmi náročný na pochopenie, ale je silným a efektívnym nástrojom pre písanie vlastných aplikácií určených na prácu s obrazom. Je to z toho dôvodu, že obsahuje množstvo vopred pripravených knižníc, tried a štruktúr, ktoré nie je potrebné prácne vymýšľať a programovať. To sme využili najmä na časti programu, kde bolo treba pracovať s rôznymi farebnými modelmi, alebo prehľadávaním jednotlivých bodov celého obrázka získaného z kamerového zdroja.
6. Beckhoff TwinCAT
Softwarový nástroj TwinCAT (Obr. 12.), vyvinutý spoločnosťou Beckhoff, je automatizačným softwarom určeným na komunikáciu s priemyselnými zariadeniami PLC (Programmable Logical Controller) a ich programovanie.
Pri programovaní PLC je jeho komunikácia s PLC uskutočňovaná na niektorej z priemyselných zberníc (ProfiBus, LichtbBus, EtherCAT a iné) pričom nástroj TwinCAT je nahratý v bežnej počítačovej zostave spoločne so softwarom, ktorý je pre PLC vyvíjaný.
TwinCAT je tiež nástroj, ktorý emuluje ktorýkoľvek IBM kompatibilný počítač na kontroler spoločne s PLC systémom pracujúcim v reálnom čase. Toto riešenie je veľmi výhodné, lebo dokážeme pomocou neho vyvíjať software k hardwaru, ktorý nemáme fyzicky ešte k dispozícii.
V zariadení LCI je kód, pre riadenie polohy osičky, naprogramovaný práve pomocou tohto silného automatizačného nástroja. Ten komunikuje s HW komponentmi (priemyselné PLC), ktoré sú uložené v rozvodnej skrine, po zbernici EtherCAT a ovláda aktuálnu polohu osičky, ktorá riadi aktuálnu polohu nanášania farebného kódu (polohu farbičiek).
Obr. 12. TwinCAT – úvodná obrazovka
7. HW realizácia zariadenia LCI
Zariadenie je mechanicky koncipované (Obr. 13) ako pevné, mohutné a najmä stabilné. Je to na základe toho, že polohou osičky automaticky koriguje presnosť nanášaného farebného kódu na analyzovaný objekt s odchýlkou 0,5 mm. Skladá sa z viacerých častí: z konzoly určenej na uchytenie umelohmotných nádob s farbou, z rozvodnej skrine s priemyselným počítačom, hydraulickej osičky a skrine s riadiacim panelom, signalizačnou sirénou, kamerou a monitorom.
Obr. 13. LCI – HW koncepcia v reálnej prevádzke
7.1 Konzola
Samotná konzola predstavuje čisto automatizačnú a strojársku časť celého LCI zariadenia. Skladá sa z držiakov na farby s aretačnými skrutkami, ktoré umožňujú jemné korigovanie presnosti ich nanášania v horizontálnom smere. Počet týchto „tubových nástavcov“ je v súčasnej reálnej prevádzke 6. To limituje súčasné nanášanie najviac šiestich rôznych farebných pásikov do jedného kódu. Zaujímavosťou je (požiadavka zákazníka na nás), že tieto násadce sa dajú pneumaticky zdvihnúť. Tento proces je možné vykonať manuálne pomocou tlačidla na rozvodnej skrini, alebo automaticky softwarovo pri detekovaní neprítomnosti profilu modulom naprogramovanom v C++ a integrovanom do iConnectu.
7.2 Rozvodná skriňa, koznola pre nanášanie farebného kódu a priemyselný počítač
V rozvodnej skrini sa nachádza kompletná elektronika zariadenia, či už jej automatizačná časť, alebo informatická časť.
Automatizačnú časť tvoria priemyselné PLC Beckhoff a ovládacia klema (Beckhoff KL 2541) motora (Festo MTR-57S), ktorá má za úlohu riadiť konzolu určenú na nanášanie farebného kódu. Tá je tvorená hydraulickou osičku značky Festo, potrebnej na priestorovú korektúru polohy nanášaných farebných pásikov. Rozvodná skriňa taktiež obsahuje signalizačnú sirénu, ktorá informuje obsluhu zariadenia o aktuálnom stave LCI.
Informatickú časť tvorí priemyselný počítač značky Beckhoff postavení na jednojadrovom procesore Intel Pentium M760. Na počítači je nainštalovaný operačný systém Microsoft Windows XP, upravený spoločnosťou Beckhoff do priemyselnej prevádzky.
Samozrejme je na ňom nainštalovaná samotná LCI iConnect aplikácia a priemyselný riadiaci PLC systém TwinCAT spoločne s PLC kódom, určeným na prácu s servomotorom a osičkou.
7.4 Riadiaci panel a monitor
Na riadiacom paneli sa nachádzajú ovládacie tlačidlá, ktoré sú určené obsluhe LCI na prechod z automatického do manuálneho režimu zariadenia (bez priestorovej korektúry). Je tu aj monitor, ktorý informuje obsluhu o údajoch rozpoznaných aplikáciou (Obr. 14). Tá je navrhnutá prehľadne, podľa priemyselných konvencií. Zároveň presne a ucelene podáva informácie o jednotlivých údajoch potrebných prevádzkovateľom zariadenia, ako sú poloha pásikov, detekcia ich farieb a šírok, chybové stavy, korekcie posuvov, šírka samotného profilu a podobne.
Veľmi náročné bolo vyriešiť osvetlenie scenérie, ktorú sníma kamera. Tu sme sa stretli s problémom vybrať vhodnú lampu. Po dlhom testovaní a analyzovaní svetelných podmienok, sme vybrali halogénové svetlo značky Philips. To sme však neaplikovali jedno, ale dve: jedno zhora a jedno zdola profilu, kvôli lepšiemu určeniu okrajov snímaného profilu. Obe svetlá, tak ako aj kamera tvoria súčasť skrine, kde sa nachádza riadiaci panel a monitor.
Obr. 14. GUI – hlavná obrazovka určená pre obsluhu
8. Záver
Výsledkom niekoľkomesačného štúdia a práce na spracovanie farebného obrazu je rýchly, stabilný a efektívny automatizačný nástroj nasadený do praxe. Na základe matematických výpočtov a analýzy fyzikálnych javov, týkajúcich sa šírenia svetla a zachytávania obrazu, je zariadenie na 99% schopné identifikovať farebný pásik. Spoločne s ním tiež miesto, na ktorom sa nachádza, jeho šírku a šírku samotného objektu na ktorom sa nachádza. Taktiež je schopné porovnávať a vyhodnocovať tieto údaje s referenčnou vzorkou (receptom).
Počas riešenia práce sme sa stretli s viacerými problémami, ktoré sme boli nútení vyriešiť. Tie sa týkali najmä dolného a horného osvetlenia profilu a spôsobu programovania filtrov, ktoré v obraze odstraňujú nepriaznivé segmenty - "hniezda".
Táto práca nebola jednoduchá ani časovo nenáročná. Ale posunula nás ďalej, a to či už po vedeckej, ako i programátorskej stránke. Posunula nás v smere efektívnejšieho analyzovania konkrétneho problému a schopnosti navrhnúť riešenie, ktoré je realizovateľné. Tiež nás posunula do v možnostiach aplikácie nových štandartov programovania, s ktorou sa v súčasnosti bežne nestretávame.
Danou možnosťou je práve spôsob zapuzdrenia hlavného algoritmu rozpoznávania do jedinečného modulu. Vďaka nej je možné rýchlo a jednoducho testovať a aplikovať, bez nutnosti programovať špeciálne rozhrania na samotnú obsluhu algoritmu. Tie je možné naprogramovať, jednoduchým, rýchlym a efektívnym princípom vizuálneho programovania, v prostredí iConnect, a ušetriť tým drahocenný čas.
Hlavným prínosom tejto práce je predstavenie realizácie riešenia konkrétneho problému rozpoznávania farebného obrazu. Ďalším prínosom je skutočnosť, že práca ukazuje programátorom možnosti efektívneho využitia času a prostriedkov, pomocou iConnectu, ktoré netreba prácne dotvárať.
Na začiatku tejto práce sme hovorili o možnostiach využitia princípu LCI v bežnom živote každého z nás. Spôsobov aplikácie v priemyselnom prostredí je viacero. Minimálne jedna aplikácia však môže byť hudbou blízkej budúcnosti v automobilovom priemysle. Je ňou práve inteligentná "autopilotáž", ktorá má za úlohu ovládať vozidlo bez nutnosti ľudského zásahu A to na základe detekcie okrajov vozovky (farebných pásikov na analyzovanom objekte) (Obr. 15. a 16.). Spoločne s aplikáciou rozpoznávania písma a symbolov (dopravných značiek, iných vozidiel, chodcov, prekážok atď.), na ktorej v súčasnosti pracujeme, by mohla tvoriť budúcnosť celosvetového automobilového priemyslu.
Obr. 15. a 16. Rozpoznávanie vozovky a dop. značenia.
Zariadenie bolo vyvinuté v ME-Inspection Sk s.r.o.
9. Literatúra
- http://www.micro-epsilon.com/en/Software/ICONNECT/
- http://www.beckhoff.de/
- www.me-inspection.sk
- www.microstep-mis.com
- M. Ptáček: Digitální zpracování a přenos obrazové informace. NADAS, Praha 1983.
- Ružický, E., Ferko, A.: Počítačová grafika a spracovanie obrazu, 1.vyd. Bratislava : Sapientia, 1995. ISBN 80-967180-2-9
- Kňaze, K.: Rozpoznávanie obrazu v automatizácií, STU – FEI Bakalárska práca, Bratislava 2008
- Kňaze, K. Lelkes, Z. Šrámek, M., Ing. Drahoš, P. PhD: SVOC 2008 – Automatizované pracovisko určené k rozpoznávaniu obrazu
Spoluautorom tohto článku je Eduard Burian, ME-Inspection Sk s.r.o.