2009/24 – 6.5.2009
Automatické zaostřování světlometu Ing. Ondřej Šmirg ,Ing. Michal Kohoutek Ústav telekomunikací, Purkyňova 118, 612 00 Brno Email:
[email protected] Článek se zabývá zpracováním obrazu a tvorbou programu pro řízení průmyslového zařízení na přesné nastavení světlometu, ve kterém se jeho obraz promítá na stínítko. Poloha obrazu světlometu se nastavuje za pomoci dvou motorů. Na základě získaného obrazu je úkolem nastavit správně polohu světlometu podle předem změřeného referenčního světlometu.
1. Úvod Zařízení je koncipováno jako výstupní kontrolní pracoviště ve výrobní lince firmy na výrobu světlometů. Veškeré algoritmy použité byly vytvářeny pomocí LabView a k získávání obrazu bylo využito standardní webové kamery s pevně nastavenou závěrkou a zaostřením na stínítko. Celý systém je koncipován pro již navržené zařízení. Nastavení se provádí na základě analýzy obrazových dat získaných pomocí kamery. V článku je popsán princip algoritmu i ukázka řešení v jazyce LabVIEW.
2. Popis zařízení a parametrů světlometu Blokové schéma zařízení je znázorněno na obrázku 1. Je na něm vidět schéma, které se kromě kamery skládá z přípravku na založení světlometu, vlastního světlometu, bezodrazové komory, stínítka, motorů a počítače. Přípravek slouží k tomu, aby byl světlomet usazen vždy do stejné polohy a svítil na stínítko. Nastavování světlometu je řízeno pomocí dvou nebo tří motorů. Tyto motory jsou napájeny z jednoho zdroje, z výkonových důvodů jsou motory na zdroj připojovány postupně. To má za důsledek, že se obraz nemůže pohybovat v ose x i y zároveň, ale musí se pohybovat buď v ose x, nebo v ose y. kamera bezodrazová komora PC pro analýzu obrazu kamery.
stínítko
motory světlomet Obr. 1. Blokové schéma celého zařízení. Pohyb obrazu světlometu je vidět na obrázku 2. kde je i částečně znázorněn princip metody zvolené pro nastavování. Světlejší odstín šedé znázorňuje polohu referenčního světlometu.
24-1
2009/24 – 6.5.2009 Poloha tohoto světlometu se naměří a uloží na disk. Tmavější odstín znázorňuje polohu aktuálně nastavovaného světlometu. Obraz aktuální polohy je získávám z kamery. Pomocí systému vertikálních přímek se měří diference mezi aktuálním a referenčním světlometem a získávají se tak data pro správný pohyb nastavovacích motorů. X
systém vertikálních přímek
X
Y Y
h
Y
v1
vd
Obraz nastaveného(referenčního) světlometu Obraz nastavovaného světlometu
t
systém
v2
Obraz nastaveného(referenčního) světlometu Obraz nastavovaného světlometu
Obr. 2. Tvar obrazu tlumeného světlometu a princip jeho nastavení. Na obrázku 2. je také vidět tvar tlumeného světlometu. Vodorovná oblast je ta část obrazu světlometu, která je v oblasti protijedoucího vozidla. Zkosená část obrazu je z důvodu překážek na kraji vozovky, jakými jsou například chodci nebo cyklisté. Horizontální poloha se určuje pomocí h, které je dána rozdílem horizontálních vzdáleností obrazu referenčního světlometu a obrazu právě nastavovaného světlometu. Vertikální poloha je obdobná, jen se jedná o rozdíl vertikálních vzdáleností. Znaménko potom určuje směr pohybu. Existují dva druhy světlometů, které se liší rozdílným nastavováním dálkového světlometu. U prvního typu je dálkový světlomet automaticky ve správné poloze, když se správně nastaví světlomet tlumený. U druhého typu se musí dálkový světlomet nastavit zvlášť. Přibližný tvar dálkového světlometu je vidět na obrázku 3.Vertikální a horizontální poloha se nastavuje obdobným způsobem jako je to u tlumeného světlometu. obraz předlohy
soustava vertikálních přímek
X Y
obraz aktuálně měřeného světlometu
Obr. 3. Tvar obrazu dálkového světlometu s měřícími přímkami . Protože nastavovací motory nejsou ve světlometu osazeny tak, aby pohyb světla byl v osách na sobě kolmých a nejlépe, aby byl v kartézském souřadném systému, je nutné použít přepočet z systému souřadnic posuvu světlometu do kartézského souřadnicového systému.
24-2
2009/24 – 6.5.2009 Protože však známe polohy motorů v prostoru a jejich vzájemný úhel naklonění, lze využít pro výpočet polohy polární souřadnicový systém a přepočítávat ho do systému kartézských souřadnic. Kromě posunu světlometu se ještě zjišťují dva parametry v obraze, pro určení zda se jedná o dobrý nebo vadný kus. Prvním z parametrů je ostrost hrany přechodu mezi osvětlenou a neosvětlenou částí světlometu. Druhým parametrem je hodnota jasu v neosvětlené oblasti světlometu. Tyto parametry se zjišťují pouze u tlumeného světla.
3 Řešení algoritmů zjišťování posuvu světlometu Jako programovací jazyk byl použit LabVIEW s knihovnou IMAQ. Většina operací zpracování obrazu jako je hranová detekce, převod na binární obraz, nebo systém vertikálních či horizontálních přímek je již obsažena v knihovnách IMAQ. Nejdříve je nutné specifikovat požadavky a podmínky vzniklé na základě aplikace programu v automatickém systému měření. Nastavování musí probíhat autonomně s předem zadanými parametry a tolerancemi. • Musí být dostatečně spolehlivé. • Na konci musí být světlo nastaveno stejným způsobem jako by ho nastavoval člověk ručně na základě hodnot správného nastavení. Výsledek by tedy měl být v rámci tolerancí k referenčnímu světlometu. • Pro správné měření je nutné pevně nastavit průměr clony a doba expozice snímače. Clona musí být nastavena tak, aby nedocházelo k přesycení převodníku obrazového signálu a snímač musí být zaostřen na stínítko, na kterém se bude provádět měření obrazu světlometu. Realizovanou část programu řízení posuvu lze rozdělit na několik hlavních bloků, které řeší jednotlivé procesy nastavení polohy světlometu. Každý tento blok ještě využívá podprogramů s vedlejšími algoritmy, které jsou nezbytné pro danou funkci a zautomatizují daný proces nastavení. Rozdělení posuvu na hlavní bloky, kterými jsou: • zjišťování vzdálenosti v pixelech mezi hranou referenčního a měřeného světlometu ve vertikálním směru u tlumeného světlometu • zjišťování vzdálenosti v pixelech mezi hranou referenčního a měřeného světlometu v horizontálním směru u tlumeného světlometu • zjišťování vzdálenosti v pixelech mezi hranou referenčního a měřeného světlometu v horizontálním směru u dálkového světlometu • zjišťování vzdálenosti v pixelech mezi hranou referenčního a měřeného světlometu v horizontálním směru u dálkového světlometu
24-3
2009/24 – 6.5.2009
START
Režim tlumeného světlometu
Měření diferencí obrazu aktuálního a referenčního světlometu v horizontálním směru
Měření diferencí obrazu aktuálního a referenčního světlometu ve vertikálním směru Režim dalkového světlometu
Posunutí polohy pomocí motorů
NE
Správná poloha
Posunutí polohy pomocí motorů
ANO
NE
Správná poloha
ANO
Proběhl dálkový i tlumený režim
NE
ANO
Kontrola jasu a ostrosti hran
Jas i ostrost je v pořádku
NE
ANO
Dobrý světlomet
Vadný světlomet
Obr. 4. Vývojový diagram celého programu.
3.1 Podprogram posuvu u tlumeného světlometu Tento podprogram lze rozložit do několika algoritmů: • Předzpracování obrazového signálu . • Hledání bodů hrany s nejvyšší a nejnižší vertikální souřadnicí. • Formulace tolerančního obdélníka pro úsečky na detekci hrany. • Výpočet průměrné hodnoty pozice bodů hrany výpočet rozdílu průměrné pozice hrany u referenčního a nastavovaného světlometu. Předzpracování obrazu je jednou z nejdůležitějších operací, která určuje přesnost výsledného nastavení. Jako první operace zpracování je převod daného signálu z RGB na jasovou složku. Matematicky se to dělá pomocí vztahu:
24-4
2009/24 – 6.5.2009
Y=0.299R+0.587G+0.114B. (3.1) V použitém programovacím jazyce LabVIEW se tato operace dá udělat pomocí komponenty IMAQ Cast Image.vi, která je obsažená v knihovně IMAQ. Vstupem z tohoto podprogramu je obrazový signál a číslo udávající na jaký typ obrazového signálu (RGB, 8bit,….) se vstupní obraz převádí. Výstupem je pak obraz v požadovaném formátu. Nyní je možno použít mediánového filtru na odstranění šumu a vytvoření co nejostřejšího přechodu osvětlené a neosvětlené části obrazu. Poslední operací, která se v podprogramu předzpracování obrazu provádí je prahování daného signálu. Prahování se v LabVIEW řeší pomocí komponenty IMAQ Treshold.vi, u které je vstupním parametrem vektor dvou čísel určujících prahovou hodnotu jasu. Prahování na tlumeném světlometu a histogram je na obrázku 5., kde je vidět zvolená hodnota a obraz po prahování, který má v pozadí původní 8bitový signál a červeně označen již prahovaný signál.
Obr.5. Prahování obrazu s ukázkou histogramu Volba hodnoty jasu pro prahování je řešena automaticky, ale lze ji v programu nastavit i napevno, to je z důvodu toho, že by automatický režim nebyl schopen najít správnou prahovou hodnotu. Pro zjišťování polohy vodorovné hrany, která vznikla prahováním, se nejprve pomocí programu MinXY zjistí největší y vzdálenost a v této části obrazu se potom vytvoří pomocí soustavy vertikálních přímek úsečka průměrných bodů. Podobný princip je použit i pro vertikální souřadnice, kde se kromě polohy hrany určuje i úhel natočení. Vždy se provádí detekce polohy hrany dvakrát, protože první zjištění je přibližné a určí přesnou souřadnici pro druhou detekci hrany. Díky tomuto systému dojde k přesnému zjištění polohy vertikálních a horizontálních hran, které se potom porovnávají s hranami nalezenými s referenčním světlometem a posléze se odešlou data k motorům pro správné donastavení polohy. Ukázka podprogramu MinXY je vidět na obrázku 6.
24-5
2009/24 – 6.5.2009
Obr.6.: Blokové schéma MinXY v jazyce LabVIEW Ukázka detekce vertikálních a horizontálních poloh hrany u tlumeného světlometu je vidět na obrázku 7.
Obr.7.: Vlevo nalezení polohy vertikální hrany a napravo nalezení horizontální hrany
3.2 Podprogram posuvu u dálkového světlometu Pro nalezení polohy osvětlené části obrazu u světlometu dálkového se vyšlo z tvaru obrazu, a proto se zde zjišťuje střed kružnice. Opět se zde provádí pro přesnost dvě detekce středu a to tak, že nejprve se zjistí přibližná poloha středu nalezením okrajových bodů kružnice, při druhém měření se už vychází z nalezeného středu a jeho poloha se upřesní díky nalezení většího počtu krajních bodů. Detekce i s detekčními přímkami pro první a druhé měření je vidět na obrázku 8.
24-6
2009/24 – 6.5.2009
Obr.8.: Detekce polohy obrazu dálkového světlometu(vlevo přibližná detekce, vpravo přesná) Výsledná kontrola správné polohy se provádí pomocí odečtením nastavovaného světlometu s uloženým obrazem referenčního světlometu a výsledným výpočtem poměru černé a červené části obrazu. Pokud se hodnota pohybuje v povolené toleranci je světlomet uznán za správně nastavený kus.
4 Závěr Článek popisuje řešení programu konkrétního zařízení ve výrobní lince na seřízení světlometu. Jedná se o sofistikovaný software, který řeší daný problém nastavení. V dnešní době, kdy automobil je nedílnou součástí života, přicházejí na trh nové systémy, které zvyšují bezpečnost. Mezi nejdůležitější patří i správné osvětlení vozovky pomocí světlometů. Aby každý světlomet měl tovární nastavení stejné je nutné ho před zabalením nastavit do správné polohy, což je hlavním tématem tohoto článku. Protože však světlomet má dva režimy a to dálkový a tlumený, je nutné zabývat se dvěmi odlišnými přístupy. V kapitole 3 se rozebírají algoritmy jak pro režim tlumený, kde je nutné nalézt správné hladiny, tak pro režim dálkový, který nemá pevně stanovený tvar, ale určuje se správná poloha středu osvětlené části. Kromě algoritmů pro správné nastavení se zjišťují parametry určující kvalitu světlometu. Ty jsou taktéž popsány v kapitole 2.
Poděkování: Článek byl vytvořen v rámci řešení výzkumného záměru MSM-0029630513
24-7
2009/24 – 6.5.2009
5 Seznam literatury [1]
MARŠÁLEK L. a SKAPA J., Porovnání jednotlivých integrálních transformací ke kompresi obrázků,[online], Dostupné z: <www.sendme.cz/sklad/>
[2]
LINKA A. ,VOLF P. a KOŠEK M.., E-learning/katalog/technické vědy/ elektrotechnika /zpracování obrazu,[online], Dostupné z:
[3]
KOHOUTEK M., Program pro automatické ostření obrazu realizovaný v LabView,[online] Dostupné z: <www.elektrorevue.cz/clanky/05024/> ,
[4]
JAN.J.: Číslicová filtrace analýza a restaurace signálů VUTIM Brno 2002 ISBN 80-214-1558-4
[5]
ŘÍČNÝ V. a KRATOCHVÍL T. : Základy televizní techniky VUTIM Brno 2004 ISBN 80-214-2686-1
[6]
Vích, R., Smékal, Z. Číslicové Filtry. Academia, Praha 2000. ISBN 80-200-0761-X
[7]
Hradilová E. a Uhdeová N. : Fyzikální seminář , Skripta FEKT VUT v Brně
[8]
KAINKA B. a BERNDT H. J.: Využití rozhraní PC pod Windows, Ostrava 2000, ISBN 80-86167-13-5
[9]
LabView 6.1 Manuals National Instuments Corporation 2001
[10]
IMAQ Vision Manuals National Instruments Corporation 2001
[11]
Bernd Jähne, Horst Haußecker, Peter Geißler: Handbook of Computer Vision and Applications, Academic Press April 20, 1999 ISBN: 0123797705
[12]
C., Demant, B. Streicher-Abel, P.Waszkewitz: Industrial image processing, MMercedes-Druck, Berlin 1999 ISBN 3-540-66410-6
24-8
HEL