Článek pojednává o volbě kamerového systému pro mobilní robotický systém s možností implementace pokročilých funkcí počítačového vidění, založených především na zpracování stereoskopické obrazové informace. Ačkoli je tato problematika vztažena přednostně ke konkrétnímu stereoviznímu systému firmy Surveyor, dotýká se obecných požadavků na kamerové systémy a jejich vhodnost pro využití v počítačovém vidění.

1. Úvod

Základním předpokladem realizace výzkumu v oblasti počítačového vidění je výběr a pořízení vhodného kamerového systému. Prvním krokem bývá zpravidla nadefinování určitého množství požadavků a jejich následné seřazení dle priorit. Počet a důležitost těchto požadavků se poněkud mění v závislosti na tom, jaké funkce má kamerový systém plnit. Nejčastěji se jedná o kompromis mezi základními parametry, jež jsou:

  • Analog vs. Digital (kamera, zpracování obrazu, přenos)
  • Rozlišení kamery
  • Počet snímků za vteřinu
  • Kompatibilita a podpora produktu
  • Cena

Uveďme konkrétní příklad. Cílem grantové činnosti, s jejímž přispěním vznikl tento článek, je realizace mobilního robotického systému vybaveného stereovizním kamerovým systémem. Z důvodu následného počítačového zpracování je tedy vhodné zvolit kameru digitální. Co se týče rozlišení kamery, dá se bez skrupulí tvrdit: „Čím větší, tím lepší“. S rostoucím obrazovým rozlišením značně stoupá přesnost např. algoritmů vyhledávajících významné body a linie v obraze.

Další parametr, počet snímků za vteřinu (fps), má přímý vliv na požadavek rozlišení kamery a jejich vzájemný vztah se přibližuje nepřímé úměrnosti. Rychlost obrazových čipů, přenosových protokolů, a následného zpracování obrazu ve většině cenově dostupných zařízení nedostačuje k plynulému snímkování (řekněme 25 fps) při dostatečném rozlišení (cca 1,3 megapixel a více). Tím spíše, pokud se jedná o stereo systém, kde je potřeba přenášet a zpracovávat obrazy ze dvou kamer. Takto se dostáváme k dalším požadavkům na speciální kamerové systémy.

V případě stereovize je zde tedy potřeba dvojice kamer, jejichž snímky jsou pořizovány synchronně. Synchronnost zaručuje, že na obou snímcích bude vyobrazena tatáž scéna, pouze z mírně odlišné perspektivy. Mezi dalšími významnějšími parametry je potřebné ještě jmenovat často opomíjenou kompatibilitu kamerového systému s cílovým zařízením pro zpracování, což je zpravidla osobní počítač s daným operačním systémem. Podporou produktu je míněna dostupnost ovladačů, programových knihoven a šablon usnadňujících uživateli přístup k funkcím kamerového systému.

Po specifikaci všech požadavků následuje vyhledávání produktů, jež se svými charakteristikami co možná nejvíce přibližují těm, jež jsme si stanovili. Jak již bylo řečeno, je zpravidla potřebné podstoupit kompromis, jelikož trh s cenově příznivými kamerovými systémy pro počítačové vidění je stále velmi úzký. Po zvážení všech kritérií byl pro stereovizní robotický systém vybrán kamerový systém SVS firmy Surveyor. Pojďme si přiblížit jeho charakteristiky, výhody i nevýhody.

2. Specifikace systému SVS

Kamerový systém Surveyor SVS (viz Obrázek 1) je složen ze dvou původně samostatných modulů SRV-1 a jednoho WiFi modulu Lantronix Matchport, jež jsou propojeny na společnou platformu, která mimo jiné obstarává napájení celého systému. Každý modul SRV-1 je osazen mikrokontrolérem Blackfin 537 firmy Analog Devices. Je to výkonný 32 bitovým RISC mikrokontrolér s taktovací frekvencí CPU 500MHz a zabudovaným DSP. Dále je ke každému SRV-1, 32-pinovým konektorem, připojena deska s 1,3 megapixelovým kamerovým čipem OmniVision OV9655.


Obr. 1 Stereovizní systém Surveyor SVS [3]

Tento typ kamery nabízí širokou variabilitu funkcí. Poskytuje možnost snímání v základních rozlišeních SXGA (při 15 fps), VGA, CIF a menších ve formátu YUV, RGB a dalších. Díky vestavěnému DSP umožňuje konverzi výstupních formátů a kontrolu kvality obrazu. Výhodou je taktéž automatické nastavování doby expozice, zisku či např. vyvážení bílé; tyto parametry lze ovšem taktéž řídit programově[4].

Na Obrázku 2 je znázorněno zjednodušené blokové schéma systému, kde je dobře patrné propojení bloků sériovými sběrnicemi. Duplexní komunikace mezi mikrokontrolérem a kamerovým čipem je určena převážně pro ovládání funkcí snímání a je realizována rozhranním I2C. Obrazová informace je poté z kamer přenášena na vstupní GPIO piny Blackfinu (v závislosti na výstupním formátu až po 10 vodičích). Obrazová informace může být určitým způsobem předzpracována a předána po sběrnici SCI do WiFi modulu k odeslání do sítě WLAN. Mezi oběma mikrokontroléry je sériová komunikace ve vztahu Master/Slave implementována po sběrnici SPI.


Obr. 2 Blokové schéma stereovizního kamerového systému Surveyor SVS

2.1 Softwarová podpora

Aby bylo možné pracovat s kamerovým systémem, je nutné se nejprve připojit k bezdrátové síti, jejíž SSID je od výroby nastaveno na „SRV1“ a síť není zabezpečená. Tyto a další parametry je možné upravit po telnetovém připojení k Matchportu, jehož adresa je 169.254.0.10 na portu 9999.


Obrázek 3 Vstup do menu Matchportu

Každému SRV-1 je přidělen jiný port, tedy pro první např. 169.254.0.10:10001 a druhý 169.254.0.10:10002. Připojením k těmto adresám přes webový prohlížeč přímo dostáváme obraz z kamer doplněný o možnost ovládání případných (servo)motorů.

Ve smyslu algoritmizace procesů zpracovávání obrazových informací je potřebné přistupovat k systému prostřednictvím uživatelského programu. V tomto ohledu nabízí výrobce uspokojivou podporu pro programovací jazyky C (C++), C#, Object Pascal a JAVA. V řešeném grantovém projektu je preferován jazyk C++. Zde je k dispozici vzorový kód „stereo. c“ využívající knihovnu SDL[2]. Přesto, pro urychlení vývoje aplikace by dozajista bylo potřeba většího množství šablon.

3. Závěr

Z uvedených charakteristik vyplývá, že kamerový systém Surveyor SVS nabízí uživateli bohaté možnosti využití. Dovoluje mu prostřednictvím programování mikrokontrolérů přímo řídit komunikaci na sériových rozhraních, či měnit způsob získávání obrazové informace a její následné předzpracování, případně přenos do cílového zařízení (např. PC, SmartPhone,…). Pro relativní složitost systému je ovšem úprava firmwaru spíše doménou pokročilých uživatelů. Pro většinu aplikací plně dostačuje předinstalovaný firmware, který definuje jednoduchý komunikační protokol umožňující základní práci se systémem.

Surveyor SVS je kamerový systém primárně určený ke snadné implementaci v mobilních robotických systémech. Z tohoto základního východiska výrobce vychází určitá omezení konstrukce a stávajícího firmwaru pro potřeby pokročilého zpracovávání stereoskopické informace. Systém dosahuje uspokojivé plynulosti videa při rozlišení kamer 320×240 a kompresi do formátu JPEG, zatímco při maximálním rozlišení 1280×1024 bez komprese, mnohem vhodnějším pro algoritmické zpracování, se pohybuje kolem 1 fps.

Dalším kritickým faktorem je absence synchronizace snímání na hardwarové úrovni. Toto však lze ošetřit programově nastavením časovačů, případně i doplněním synchronizačního vodiče na příslušné piny mikrokontrolérů. Poslední nedostatek se váže k potřebě programátora využívat softwarové knihovny pro počítačové vidění, jako je například OpenCV. V tomto ohledu není dosud žádná softwarová podpora pro Surveyor SVS.

Třebaže popsaný stereovizní kamerový systém Surveyor SVS dovoluje uživateli proniknout na nejnižší úrovně hardwaru i softwaru a pro zmiňované neduhy, není zcela vhodný v počáteční fázi realizace výzkumu. Přijatelnou cestou se ukazuje být pořízení dvojice relativně levných USB webových kamer, jež jsou kompatibilní s OpenCV a teprve po sestavení konečné aplikace pro mobilní robot se pokusit tento software přizpůsobit na mnohem sofistikovanější kamerový systém, jakým je Surveyor SVS.

Poděkování

Tento článek vznikl za podpory grantu IGA Univerzity Tomáše Bati ve Zlíně, Fakulty aplikované informatiky, číslo IGA/47/FAI/10/D a Evropského Fondu pro Regionální Rozvoj při projektu CEBIA-Tech No. CZ.1.05/2.1.00/03.0089.

Reference

  1. Beneda, Martin. Stereo image sighting robotic system. In Extreme Robotics. Nano-, Micro- and Macrorobots : Int. Conf. with Elements of Scientific School for Youth.Divnomorskoye Village, Gelendzhik, Russia : [s.n.], 2009. s. 189-191. ISBN 978-5-904030-94-0.
  2. Surveyor Corporation. Surveyor Corporation : Surveyor Stereo Vision System (“SVS”) [online]. 8 December 2009 15:50 gmt [cit. 2011-03-26]. Dostupné z WWW:
    http://surveyor.com/.
  3. Bradski, Gary. OpenCV [online]. 2011-03-25 [cit. 2011-03-27]. Dostupné z WWW:
    http://opencv.willowgarage.com/wiki/.
  4. OmniVision Technologies, Inc. OV9655 datasheet. 1341 Orleans Drive; Sunnyvale, CA USA, 2006. s. 28. Dostupné z WWW:
    http://www.surveyor.com/blackfin/OV9655-datasheet.pdf.

Napísať príspevok