slovenska technicka univerzita v bratislave …fogelton/pub/fogelton2009image...slovenska technicka...

50
Slovensk´atechnick´ a univerzita v Bratislave FAKULTA INFORMATIKY A INFORMA ˇ CN ´ YCH TECHNOL ´ OGI ´ I ˇ Studijn´ y program: INFORMATIKA Andrej Fogelton Spracovanie obrazu Bakal´ arsky projekt Ved´ uci bakal´ arskeho projektu: Ing. Matej Makula aj, 2009

Upload: others

Post on 28-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Slovenska technicka univerzita v Bratislave

FAKULTA INFORMATIKY A INFORMACNYCH TECHNOLOGII

Studijny program: INFORMATIKA

Andrej Fogelton

Spracovanie obrazuBakalarsky projekt

Veduci bakalarskeho projektu: Ing. Matej Makula

maj, 2009

Page 2: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

ANOTACIA

Slovenska technicka univerzita v Bratislave

FAKULTA INFORMATIKY A INFORMACNYCH TECHNOLOGII

Studijny odbor: INFORMATIKA

Autor: Andrej Fogelton

Bakalarsky projekt: Spracovanie obrazu

Veduci bakalarskeho projektu: Ing. Matej Makula

maj, 2009

Praca sa zaobera spracovanım obrazu, presnejsie vsak pojednava o tom, ako sprıstup-

nit’ obraz z web kamery tak, aby ho bolo mozne d’alej spracovavat’. Analyzovali sme

existujuce riesenia v oblasti interaktıvnych tabul’. Pomocou web kamery sa snıma po-

loha LED pera (na spicke pera sa namiesto tuhy nachadza vysoko svietiva dioda).

Softver prepocıtava polohu pera do suradnicovej sustavy zobrazovacieho zariadenia,

a tym sa nahradza draha interaktıvna tabul’a. Tento princıp je vyuzitel’ny najma pri

projektoroch, ale aj pri LCD displejoch. V praci sa rozoberaju rozne technologie sprı-

stupnenia web kamery. Navrh sa venuje prototypu riesenia, kde sa v casti softverovych

riesenı rozoberaju pouzite algoritmy na spracovanie obrazu. Na prepocıtavanie polohy

medzi suradnicovymi sustavami bol pouzity princıp homografie. V overenı riesenia sa

rozobera postup prace a zdovodnuje sa zvoleny smer riesenia problematiky. V casti

hardverovych riesenı opisujeme naroky na web kameru a konstrukciu LED pera.

Page 3: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

ANNOTATION

Slovak University of Technology Bratislava

FACULTY OF INFORMATICS AND INFORMATION TECHNOLOGIES

Degree Course: INFORMATICS

Author: Andrej Fogelton

Bachelor Theses: Image processing

Supervisor: Ing. Matej Makula

2009, May

This work deals with image processing, more accurately it is about how to access

a webcam to set up the stream of images available for next processing. Similar existing

solutions in the field of interactive whiteboards were analyzed. The software is tracking

the location of the LED pen (a pen, which has a highly luminous LED at the top)

by a webcam. This software works over the position of the pen into the coordinate

system of a display device and this may be used instead of an expensive interactive

whiteboard. This principle can be used mostly with projectors, but also with LCD

displays. Technologies of accessing the webcam are described here as well. The design

presents a prototype of the solution, where the algorithms used in image processing

are described. The homography principle was used for recalculating the positions bet-

ween coordinate systems. In the verification of this solution, progress of the work was

described and the selected approach was reasoned. In the part dealing with hardware

solutions the demands on the webcam and the construction of the pen were described.

Page 4: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Cestne prehlasenie

Cestne prehlasujem, ze som svoju bakalarsku pracu vypracoval samostatne pod odbor-

nym dohl’adom Ing. Mateja Makulu a uvadzam pouzitu literaturu.

V Bratislave dna 15. maja 2009. podpis

Page 5: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Pod’akovanie

Chcel by som pod’akovat’ vsetkym, ktorı mi akymkol’vek sposobom pomohli pri vypra-

covanı tejto bakalarskej prace. Moje pod’akovanie patrı najma mojmu veducemu prace,

Ing. Matejovi Makulovi za jeho ochotu, odbornu pomoc a uzitocne rady pri vypracovanı

prace.

Page 6: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Obsah

1 Uvod 1

2 Analyza 3

2.1 Interaktıvna tabul’a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Spracovanie obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Reprezentacia udajov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3.1 Pixel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3.2 Farebny model . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4 Technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.1 Java Media Framework . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.2 Touchlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.3 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.5 Resers podobnych riesenı . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.5.1 Viac bodova interaktıvna tabul’a s pouzitım Wiimote . . . . . . 8

2.5.2 Touchless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.5.3 Slepa mapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Opis riesenia 11

3.1 Specifikacia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1 Funkcionalne poziadavky . . . . . . . . . . . . . . . . . . . . . . 11

3.1.2 Nefunkcionalne poziadavky . . . . . . . . . . . . . . . . . . . . 12

3.2 Navrh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1 Hardver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.2 Nastavenie ovladaca web kamery . . . . . . . . . . . . . . . . . 14

3.2.3 Nastavenie polohy kamery . . . . . . . . . . . . . . . . . . . . . 15

Page 7: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

3.2.4 Detekcia polohy LED diody . . . . . . . . . . . . . . . . . . . . 16

3.2.5 Homografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.6 Automaticka kalibracia . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 Implementacia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3.1 Ukazka zdrojoveho kodu . . . . . . . . . . . . . . . . . . . . . . 21

3.4 Overenie riesenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.1 Vyuzitie infracerveneho spektra svetla . . . . . . . . . . . . . . 23

3.4.2 Rucna kalibracia . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4.3 Stav projektu po zimnom semestri . . . . . . . . . . . . . . . . 27

3.4.4 Uskutocnene zmeny . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Zhodnotenie 29

Zoznam pouzitej literatury 30

A Pouzıvatel’ska prırucka 32

A.1 Instalacia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

A.2 Nastavenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

A.2.1 Nastavenie ovladaca web kamery . . . . . . . . . . . . . . . . . 33

A.2.2 Nastavenie polohy kamery . . . . . . . . . . . . . . . . . . . . . 33

A.2.3 Spravne nastavenia prahov pre vnımanie svetla . . . . . . . . . 34

A.3 Pouzıvanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

B Technicka dokumentacia 38

B.1 Singular Value Decomposition . . . . . . . . . . . . . . . . . . . . . . . 38

B.2 Triedy pouzite z JMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

C Obrazkova prıloha 40

D Clanok z IIT.SRC 2009 41

E Poster z IIT.SRC 2009 49

F Obsah DVD media 50

Page 8: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 1

Uvod

Spracovanie obrazu je nepochybne vel’mi siroky pojem, zahrna vel’ke spektrum algo-

ritmov na upravu obrazkov, vel’ke mnozstvo matematickych algoritmov pouzıvanych

na rozpoznavanie obrazcov a inych tvarov v obrazkoch. Vel’mi zaujımave su algoritmy

na detekciu l’udskej tvare. Medzi najbeznejsie algoritmy na spracovanie obrazu patria:

zmena sytosti farieb, zmena jasu ci kontrastu, stlmenie urciteho spektra farieb a vy-

tiahnutie do popredia ineho alebo vytvorenie negatıvu fotografie. Spracovanie obrazu

bezpochyby patrı k nie vel’mi prebadanym temam, a aj z tohto dovodu som si vybral

prave tuto pracu. Naskytuje sa tu prılezitost’ vytvorit’ programove riesenie, ktore by

mohlo byt’ v urcitom smere originalne alebo dokonca zlepsujuce zname riesenia. Je tu

aj moznost’ uplatnenia, vytvorenia uzitocneho riesenia i pre bezneho pouzıvatel’a. Tato

oblast’ ma zaujala aj kvoli sirokemu mnozstvu moznych smerovanı prace. Po konzulta-

cii s veducim bakalarskeho projektu som sa rozhodol pre vytvorenie programu, ktory

by simuloval princıp interaktıvnej tabule.

Interaktıvna tabul’a je vel’mi vyhl’adavany sposob vyucby. Ma vel’ky potencial,

ktory spocıva v jednoduchosti pouzıvania a faktu, ze je mozne elektronicky zaznamena-

vat’, co sa na tabul’u pıse. Ale predsa sa tieto zariadenia v praxi vel’mi nevyuzıvaju. Je

to dosledkom ich privysokej ceny (aj okolo 70 000 SKK). Existuje aj lacnejsie riesenie,

ktore vyuzıva Nintendo WII ako infracervenu kameru. Zobrazovacia plocha je snımana

Nintendom, na tuto plochu sa”pıse“ infracervenym perom. Toto riesenie je vel’mi jed-

noduche a prakticke, ale predsa ma jednu podstatnu nevyhodu, a tou je male rozsırenie

daneho hardveru. Dalsım nelichotivym faktom je obtiaznost’ pripojenia tohto specific-

Page 9: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 1. Uvod Andrej Fogelton

keho hardveru s pocıtacom. Pouzitım web kamery, ktora by nahradila Nintendo WII,

by sa stalo toto riesenie este lacnejsie a dostupnejsie pre vacsiu skupinu pouzıvatel’ov.

Tejto oblasti sa uz venovalo niekol’ko projektov, ale stale je to vel’mi neprebadana

oblast’. Ciel’om tejto prace je co najefektıvnejsie vyuzitie web kamery na interakciu

cloveka s pocıtacom, a tym urychlenie prace s pocıtacom.

V tomto projekte je snaha vyuzit’ ruke pohodlnejsiu a rychlejsiu pomocku – pero.

Perom bude pouzıvatel’ moct’ ovladat’ plochu pocıtaca namiesto mysi. Na spicke pera

sa namiesto tuhy bude nachadzat’ LED dioda, ktora sa rozsvieti pri stlacenı tlacidla.

Web kamera bude umiestnena tak, aby bola schopna zachytavat’ celu zobrazovaciu

plochu. Podl’a polohy zachyteneho svietiaceho bodu sa bude prepocıtavat’ poloha mysi

na zobrazovacej ploche. Z uvedeneho vyplyva, ze kurzor mysi bude kopırovat’ pohyb

pera.

V sekcii analyza sa nachadza analyza interaktıvnej tabule ako takej a prehl’ad do-

stupnych softverovych riesenı, ktore maju spolocne crty s tymto projektom. V analyze

technologiı sa spomenu Java Media Framework (JMF), Touchlib ci OpenCV. Vysvet-

lia sa princıpy a dolezitost’, preco sa tato oblast’ stava zaujımavejsou a nacrtnu sa jej

moznosti.

Navrh sa zaobera prototypom riesenia, presnejsie popisuje jednotlive casti pro-

jektu od hardverovych po softverove riesenia. Vysvetl’uje postup prace, venuje sa vznik-

nutym problemom a ich prıpadnym rieseniam. Vysvetl’uje sa princıp homografie a po-

uzitie algoritmu Singular Value Decomposition (SVD), ktore boli pouzite pri riesenı

projektu. Obsahuje vysvetlenie algoritmov na detekciu svetelneho bodu.

V overenı riesenia sa nachadzaju vysledky testovania pouzıvatel’ov, ich spokoj-

nost’, postrehy a navrhy na vylepsenie aplikacie. V zavere su popısane moznosti d’al-

sieho vylepsovania aplikacie a je zhodnotena uspesnost’ projektu.

2

Page 10: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2

Analyza

2.1 Interaktıvna tabul’a

Podstata takehoto zariadenia spocıva v pouzıvanı technologie, ktora umoznuje nahra-

dit’ klasicku ciernu tabul’u s kriedou. Nielenze dokaze nahradit’ klasicku tabul’u, ale

umoznuje zakomponovanie moznosti vyuzitia pocıtaca do vyucboveho procesu, napr.

prezentovanım obrazkov, grafov, map ci dokonca nazornych videı. Je to vel’mi vhodny

nastroj na prezentacie vsetkych druhov, prinasa novy rozmer a moznosti ako elektro-

nicky zaznamenavat’ udalosti (napr. co sa na tabul’u pısalo). V niektorych prıpadoch

odbremenuje studentov od pısania poznamok (elektronicky zaznamenane poznamky

moze vyucujuci ziakom sprıstupnit’), a tento usetreny cas sa da vyuzit’ na podrobnej-

sie vysvetlenie uciva.

Existuju dva zakladne princıpy interaktıvnych tabul’:

1. Interaktıvne tabule zalozene na vel’kych dotykovych displejoch.

2. Interaktıvne tabule vyuzıvajuce projektor (projekciou spredu, zhora alebo zo-

zadu).

Vyhodou technologiı zhora a zozadu je viditel’nost’ celej zobrazovacej plochy,

pouzıvatel’ si netieni. Pri oboch typoch tabul’ princıp interakcie spocıva pouzıvanım

specialneho pera, ktore pri dotyku na plochu aktivuje snımac, ktory odosle signal s po-

Page 11: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

lohou pera. Tieto signaly potom spracuva pocıtac.

Obr. 2.1: Ukazka dotykovej interaktıvnej tabule.1

Obr. 2.2: Ukazka interaktıvnej tabule s projektorom.2

Tato praca sa zaobera riesenım nahradenia draheho snımaca ci dotykoveho disp-

leja beznou webkamerou, pomocou ktorej bude mozne urcit’ polohu pera.

1http://www.chambersburg.k12.pa.us/images/pageitems/13677/p58775878_13676.jpg2http://www.oakforduk.com/images/smart600i.jpg

4

Page 12: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

2.2 Spracovanie obrazu

Tento pojem, zahrna vel’ke mnozstvo algoritmov, metod, ktore zo vstupneho obrazku

vedia vyextrahovat’ potrebne informacie a pomoct’ k detekcii obrysov alebo polohy

objektu na obrazku. Spracovanie obrazu pracuje s dvojrozmernymi obrazmi a poskytuje

funkcie (Fillo, 2008), naprıklad na:

• hl’adanie hran a rohov vyuzıvajuce gradientove operatory,

• geometricke transformacie, ktore zahrnaju transformaciu bodov a jasovu inter-

polaciu,

• morfologicke operacie ako dilatacia a erozia,

• vyhladzovanie, filtraciu, prahovanie a konverziu farieb,

• segmentaciu obrazu na zaklade oblastı a kontur (hranıc) objektu,

• pyramıdovu segmentaciu,

• zıskavanie geometrickych a centralnych momentov obrazu alebo kontury,

• hl’adanie ciar alebo kruhov pomocou Hough transformacie,

• pocıtanie, normalizaciu, ekvalizaciu a pracu s histogramom,

• vyhl’adanie objektov zalozene na metode porovnavania so vzorom.

2.3 Reprezentacia udajov

Iny sposob spracovania obrazu je priame pristupovanie na hodnoty jednotlivych farieb,

na to je potebne poznat’ reprenzentaciu udajov (Kozman, 2007) obrazu v pocıtaci.

2.3.1 Pixel

Rastrove obrazky su reprezentovane pol’om obrazovych bodov – pixelov (skratka zo slova

picture – obraz a element – prvok). Pixel je najmensia nedelitelna cast’ digitalneho

obrazu a obsahuje informacie o farbe a jase. Mnozstvo farieb, ktore dokaze pixel repre-

zentovat’ je urcene poctom bitov na pixel (bits per pixel – bpp). Standardne hodnoty su

5

Page 13: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

8 bitov = 256 farieb, 16 bitov = 65536 farieb (high color) a 24 bitov = 16 777 216 farieb

(true color). Sucet bitov je odvodeny od jednotlivych komponentov farieb cervenej, ze-

lenej a modrej (RGB model). Pri 16-bitovej hlbke prvych 5 bitov reprezentuje cervenu,

nasledujucich 5 modru a 6 bitov reprezentuje zelenu, pretoze l’udsky zrak reaguje na

zelenu citlivejsie ako na ostatne dve zakladne farby. Pri 24-bitovej hlbke je kazda farba

vyjadrena pomocou 8 bitov.

2.3.2 Farebny model

Farebny model je abstraktny matematicky model, ktory popisuje reprezentaciu farieb

pomocou cısel, vacsinou vsak pomocou troch alebo styroch hodnot farebnych kompo-

nentov. Jedna farba moze byt’ reprezentovana roznymi farebnymi modelmi.

RGB - (Red/cervena, Green/zelena, Blue/modra) vyuzıva aditıvne miesanie farieb,

teda, ake svetlo ma byt’ emitovane na vytvorenie danej farby. Tento model sa pouzıva

pre farebne monitory. Ostatne farby sa vyjadruju pomocou vahoveho suctu jednotli-

vych zloziek. Cım maju farby vacsiu hodnotu, tym je vysledna farba svetlejsia. Model

RGB je reprezentovany jednotkovou kockou umiestnenou v zaciatku jednotkovej surad-

nicovej sustavy. Jednotlive osi suradnicoveho systemu reprezentuju vel’kost’ prıslusnej

farebnej zlozky vo vyslednej farbe. Bod v pociatku suradnicovej sustavy reprezentuje

ciernu farbu a vrchol (1,1,1) bielu farbu.

CMY a CMYK - (Cyan/tyrkysova, Magenta/purpurova, Yellow/zlta, Key — black/cier-

na) vyuzıva substraktıvne miesanie farieb. Pouzıva sa najma pri tlaci, urcuje, ake zlozky

musia byt’ pridane, aby vytvorili pozadovanu farbu. Model CMY sa moze ako model

RGB opısat’ jednotkovou kockou umiestnenou v suradnicovom systeme s vrcholom

v pociatku. Tento vrchol reprezentuje bielu farbu, vrchol (1,1,1) ciernu.

HSB – (Hue/odtien, Saturation/sytost’, Brightness/jas) odtien alebo ton farby urcuje

prevladajucu spektralnu farbu, sytost’ urcuje prımes ostatnych farieb a jas mnozstvo

bieleho (bezfarebneho) svetla. Pre priestorove zobrazenie sa pouzıva pravidelny sest’-

boky ihlan, ktoreho vrchol lezı v zaciatku suradnicovej sustavy. V ostatnych vrcholoch

6

Page 14: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

su umiestnene zakladne farby R, G, B, C, M a Y.

Dalsie pouzıvane farebne modely su naprıklad YUV a YIQ pre prenos televızneho

signalu.

2.4 Technologie

2.4.1 Java Media Framework

Java Media Framework (JMF) API (Sun microsystem, 2008) umoznuje pridanie zvuku,

videa alebo inych multimediı do Java aplikaciı. Tento volitel’ny balık dokaze zachy-

tavat’, prehravat’, vysielat’ alebo prekodovat’ multimedialne formaty. Poskytuje moz-

nost’ sprıstupnit’ zvuk aj obraz z elektronickych zariadenı, ako je naprıklad mikrofon

alebo web kamera. Obsahuje nastroje na upravu zachyteneho signalu, ci uz pomocou

predspracovania obrazu, alebo pomocou upravy vystupnej vyrovnavacej pamati udajov

podl’a vole programatora.

Obr. 2.3: Architektura JMF.

2.4.2 Touchlib

Touchlib (Nuigroup, 2008) je kniznica pre vytvaranie multi-dotykovej interakcie s plo-

chou. Zvlada sledovanie infracerveneho svetla, a tieto posiela programom ako multi-

dotykove udalosti, naprıklad”prst nadol“,

”prst presunul“ a

”prst sa uvol’nil“. Ob-

sahuje konfiguracny prostriedok a niekol’ko ukazok tak, aby sa dali zıskat’ zakladne

vedomosti o schopnostiach tejto kniznice. Podporuje vacsinu typov webkamier a zaria-

denı pre digitalizaciu videa. V sucasnosti funguje iba pod Windows, ale vynakladaju

7

Page 15: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

sa prostriedky na multiplatformovost’ tejto technologie.

2.4.3 OpenCV

OpenCV (Open Source Computer Vision) je vel’ka kniznica pre programovanie funkciı,

ktora bola vytvorena pod zastitou firmy Intel, a az neskor presla pod BSD licenciu.

Jej vyhodou je vel’ke mnozstvo uz predpripravenych algoritmov. Prıkladom aplikaciı

OpenCV (Intel, 2008) kniznice su programy na interakciu cloveka s pocıtacom: iden-

tifikacia objektov, segmentacia a rozpoznavanie tvare, rozpoznavanım gest, zachyta-

vanie pohybu, porozumenie pohybu, konstrukcia z pohybu, kalibracia pomocou stereo

a multi-kamier, vypocet hlbky ci mobilne roboty.

2.5 Resers podobnych riesenı

2.5.1 Viac bodova interaktıvna tabul’a s pouzitım Wiimote

Odkedy Wiimote dokaze zachytavat’ zdroje infracerveneho svetla, mozete pouzıvat’

specialne pera, ktore maju infracervenu LED diodu na svojom konci. Namierenım Wi-

imote na premietajucu plochu alebo LCD obrazovku, mozete vytvorit’ vel’mi lacnu

interaktıvnu tabul’u (Lee, 2008) ci dotykovu obrazovku. Wiimote dokaze zachytavat’

4 body, cize mozete pouzit’ az 4 pera. Taktiez sa s nım pracuje vel’mi dobre pri pouzitı

projektora.

Kalibracia a softver pre emulovanie kurzora mysi je dostupny na stiahnutie. Naj-

skor je potrebne pripojit’ Wiimote k PC cez Bluetooth. Existuje vel’a navodov ako toto

dosiahnut’, aj pre specificky softver/hardver existuje dostupna konfiguracia. Wiimote

pracuje s vel’a, ale predsa nie vsetkymi Bluetooth ovladacmi. O kompatibilite sa da

docıtat’ na WiimoteProject.com. Kl’ucom spravneho fungovania aplikacie je umiestne-

nie Wiimote tak, aby zachytaval celu zobrazovaciu plochu, ale nie zas vel’mi d’aleko,

pretoze sa potom straca sledovacie rozlısenie. Multidotykove ukazky su plnohodnotne

C# DirectX programy. Mozete si stiahnut’ prıklady, ale je to vytvarane programatormi

bez podpory a dokumentacie. Kod je vytvarany na vrchu tejto Wiimote kniznice. Je

vel’kou skodou, ze multidotykove schopnosti aplikaciı su v sucasnosti vel’mi zle. Du-

8

Page 16: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

fajme, ze sa to zmenı, ked’ vyvojari zistia, aky to ma vel’ky potencial.

Prvou vel’kou nevyhodou tohoto riesenia je male rozsırenie specifickeho hardveru.

Samotny potrebny ovladac od WII konzoly stojı okolo 50 EUR, ale kol’ko l’udı by si

len kvoli tomu taketo nieco kupilo. Dalsou dost’ podstatnou nevyhodou je obtiaznost’

pripojit’ takyto specificky hardver k pocıtacu, ako uz bolo spomenute vyssie, Wii-

mote nespolupracuje so vsetkymi Bluetooth ovladacmi. Pri nekompatibilite sa ponuka

moznost’ nainstalovat’ iny Bluetooth ovladac, ale s varovanım mozneho poskodenia

hardveru. Ak aj budete mat’ spravny Bluetooth, stale nebudete mat’ istotu, ze sa vam

podarı prepojit’ Wiimote s pocıtacom.

2.5.2 Touchless

Touchless SDK umoznuje vyvojarom vytvorit’ multidotykovo zalozene aplikacie s pouzi-

tım web kamery na vstupe, a pritom dotyk ani nie je potrebny.

Touchless (Comunity Touchless, 2008) zacalo ako fakultny projekt Mike Wasser-

mana na Kolumbijskej Univerzite. Hlavna myslienka je ponuknut’ pouzıvatel’om novy

a lacny sposob vyuzıvania multidotykovych schopnostı bez potreby draheho hardveru

a softveru. Vsetko, co pouzıvatel’ potrebuje je kamera, ktora bude zachytavat’ farebne

znacky definovane pouzıvatel’om. Mike prezentoval projekt na Microsoft Office Labs

Productivity Science Fair. Office Labs si vybral Touchless ako komunitny projekt.

Touchless je uz vol’ne sıritel’ny ako open-source pod Microsoft Public License (Ms-

PL) na CodePlex. Ich ciel’om je zabezpecit’ rozvoj komunity a pouzıvanie SDK, ako

aj jeho d’alsie vyvıjanie. Clanok o moznost’iach spolu s ukazkou prace mozete najst’

v literature (Cızek, 2008).

Obr. 2.4: Ukazka programu Touchless.

9

Page 17: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 2. Analyza Andrej Fogelton

2.5.3 Slepa mapa

Pouzıvanie pocıtacov k zlepsovaniu vyucovania vseobecne je na Slovensku vel’mi male.

Jednym z dovodov je absencia softverovych aplikaciı v tejto oblasti. Ciel’om tohto

projektu je zlepsit’ tuto situaciu vytvorenım prototypu systemu na rozpoznavanie lase-

roveho ukazovadla pre hodiny geografie na strednych skolach. Slepa mapa (Meszaros,

2008) je zalozena na sledovanı pozıcie lasera na informacnej tabuli s pouzitım obycaj-

nej web kamery. Spracovanım vstupu z kamery dostaneme spravnu pozıciu na mape

a meno najblizsieho znameho mesta sa prehra ako zvukovy zaznam.

Obr. 2.5: Princıp Slepej mapy (Meszaros, 2008).

10

Page 18: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3

Opis riesenia

3.1 Specifikacia

Po podrobnejsıch konzultaciach s veducim bakalarskej prace boli stanovene nasledovne

funkcionalne a nefunkcionalne poziadavky:

3.1.1 Funkcionalne poziadavky

Hlavnou myslienkou prace je vytvorit’ prototyp aplikacie, ktora by:

• simulovala princıp interaktıvnej tabule,

• pomohla zefektıvnit’ vyucbovy proces,

• vytvorila lacne softverove riesenie za pouzitia bezneho hardveru (web kamera) a

LED pera,

• ovladala kurzor pocıtacovej mysi a jej l’avy klik,

• bola schopna detekovat’ svetlo z vysoko svietivej LED diody a prepocıtat’ jeho

pozıciu z realneho sveta do suradnicovej sustavy zobrazovacieho zariadenia,

• umoznila pouzıvatel’ovi vidiet’, co prave kamera snıma pre spravne umiestnenie

kamery tak, aby bola schopna zachytavat’ celu zobrazovaciu plochu.

Page 19: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

3.1.2 Nefunkcionalne poziadavky

Program by mal d’alej splnat’ tieto poziadavky:

• prijatel’na odozva,

• umerne vyuzıvanie vypoctoveho vykonu procesora,

• jednoduchost’ ovladania pre pouzıvatel’ov,

• presnost’,

• rychle nastavenie aplikacie pred zacatım pouzıvania.

3.2 Navrh

Navrh riesenia presnejsie pojednava o hardverovych narokoch, o hlavnych princıpoch

a funkcionalitach programu.

3.2.1 Hardver

Pred zacatım prace na projekte prebiehala analyza, ake technicke vybavenie bude da-

nemu projektu najlepsie vyhovovat’. Po zvazenı dostupnych informaciı vyplynulo, ze

na zist’ovanie polohy pera sa bude pouzıvat’ bezna web kamera. Ked’ze spracovanie

snımanych obrazkov je vysoko vypoctovo narocne, mala sa pre zjednodusenie pouzı-

vat’ LED dioda svietiaca v infracervenom spektre. Vd’aka tomuto rozhodnutiu sa mal

pri spracovanı obrazu hl’adat’ len najjasnejsı bod. Od tohto zameru sa neskor upus-

tilo, kvoli automatickej kalibracii aplikacie. Podrobnejsie informacie o postupe riesenia

tohto projektu sa nachadzaju v casti Overenie riesenia.

LED pero

Najdolezitejsou sucast’ou pera je LED dioda. Pero ma len charakter ergonomickej po-

mocky. Na spicke pera sa nachadza vysoko svietiva farebna LED dioda. Z dovodu

nedostatocneho svetelneho prejavu sa nesmie pouzit’ obycajna farebna, naprıklad cer-

vena LED dioda. Vysoko svietiva LED dioda je pouzita najma z dovodu ul’ahcenia

12

Page 20: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

spracovania obrazu a odstanenım vel’keho mnozstva rusivych elementov. Pri tomto

pere aplikacia samotna nie je zat’azena zlozitym rozpoznavanım a teda moze poskyt-

nut’ rychlejsiu odozvu. Vysoko nadpriemerne svetlo sa vie efektıvnejsie rozpoznat’. Na

obrazku nizsie su zobrazene vyrobene prototypy pier pouzitych pri testovanı. Prve zl’ava

je pero s vysoko svietivou modrou LED diodou. Toto pero sa ukazalo ako najlepsie,

ale len kvoli danej diode, ktoru nebolo mozne presunut’ do lepsieho pera. Druhe zl’ava

je vynimocne svojım princıpom, pouzıvatel’ nestlaca spınac prstom, ale LED dioda sa

rozsvieti dotykom pera na plochu. Taketo riesenie sa ukazalo ako nie vel’mi apliko-

vatel’ne, pretoze pri pohybe pera po platne ci LCD by mohli vzniknut’ skrabance od

spınaca. Pri pohybe tymto perom sa vyskytlo nieziaduce trenie sposobene konstrukciou

spınaca.

Obr. 3.1: Ukazka roznych vyrobenych pier.

Dolezitym komponentom pera je spınac. Je vhodne pouzit’ vel’mi citlivy spınac,

pre ktoreho zopnutie clovek nemusı vyvinut’ vel’ku silu.

Obr. 3.2: Ukazka najlepsej konstrukcie prototypu pera.

13

Page 21: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Pretoze cım vacsiu silu clovek vyvinie, tym sa spicka pera viac pohne a sposobı

nepresnost’. Preto sa pri testovanı roznych spınacov najviac osvedcil spınac zo starej

disketovej mechaniky. Bol vhodnej vel’kosti a l’ahko sa spınal. Na takyto doma vyrobeny

prototyp pera este potrebujeme baterie a kusok drotu. Cena takehoto pera sa pohybuje

do 2 EUR.

Web kamera

Tato aplikacia dokaze pracovat’ s l’ubovol’nou web kamerou. Jedine obmedzenie tyka-

juce sa typu web kamery spocıva v spravnom nastavenı Java Media Framework. JMF

musı spravne rozpoznat’ danu kameru a jej snımacie mody. Najjednoduchsie je mat’

zapojenu kameru v priebehu instalacie, JMF vtedy automaticky vykonava operacie na

rozpoznavanie multimedialnych vstupnych zariadenı, ako su mikrofon ci web kamera.

Ak by pouzıvatel’ chcel neskor pridat’ ine zariadenie, JMF ma vo svojom menu prıkaz

na detekciu hardveru.

Platı, cım vyssie rozlısenie kamery, tym presnejsie bude snımanie polohy. Ne-

mozno obetovat’ vyssie rozlısenie na ukor mensieho fps. Vel’kost’ fps sa musı zachovat’

na 30, pretoze inak by dochadzalo k neziaducemu trhaniu pohybu mysi. Testovanie

aplikacie prebiehalo s web kamerou MSI StarCam Clip s najvyssım moznym rozlısenım

pri 30 fps, 640×480. Toto rozlısenie sa ukazalo ako uplne postacujuce, co sa tyka kom-

promisu presnosti a vypoctovej narocnosti spracovanie jednotlivych snımkov. Keby sa

pouzilo nizsie rozlısenie, aplikacia by sa stala nepresnou. Pracu by skor spomal’avala

ako urychl’ovala, pretoze pouzıvatel’ by mal problem trafit’ naprıklad tlacidlo na zatvo-

renie okna. Opakom je pouzıvanie vyssieho rozlısenia, aplikacia by bola este presnejsia,

ale z testovania vyplynulo, ze obycajny pouzıvatel’ by si toho ani nemusel vsimnut’.

Vel’kou nevyhodou vyssieho rozlısenia je zvysenie narokov na vypoctovy vykon, a tym

aj zmensenie odozvy softveru.

3.2.2 Nastavenie ovladaca web kamery

Ako uz bolo spomenute vyssie, spracovanie obrazu je vysoko vypoctovo narocne, a aby

sa nemuseli pouzıvat’ zlozite algoritmy na rozpoznavanie, hl’adalo sa riesenie, ako co

najjednoduchsım sposobom detekovat’ svetlo z diody. Kvoli zmenseniu co najvacsieho

14

Page 22: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Obr. 3.3: Pouzita testovacia web kamera - MSI StarCam Clip.

mnozstva rusivych elementov, ako su rozne svetelne podmienky v priebehu dna, rozna

svetelna intenzita umeleho osvetlenia alebo priame slnecne svetlo dopadajuce na zo-

brazovaciu plochu pri niektorych intenzitach, je nutne pred spustenım aplikacie zmenit’

trochu nastavenia ovladaca web kamery. Z testovania v priebehu prace vyplynuli na-

sledovne optimalne nastavenia:

Nazov Hodnota Rozsah

Svetelnost’ 0 0 – 63Kontrast 1.00 1.00 – 2.00Gamma 1.00 0 – 1.00Expozıcia 35 0 – 255

Automaticka expozıcia NIE ANO/NIE

Tabul’ka 3.1: Hodnoty pouzite pre driver web kamery.

Tieto hodnoty pokryvaju nastavenie pre najbeznejsie svetelne podmienky, ak by sa

mala aplikacia pouzıvat’ vo vel’mi tmavom alebo naopak vo vel’mi svetlom prostredı,

je nutne jemne upravit’ expozıciu.

3.2.3 Nastavenie polohy kamery

Pred spustenım funkcionality na ovladanie kurzora mysi je potrebne najskor nastavit’

polohu kamery tak, aby snımala celu plochu platna projektora alebo LCD obrazovky

pocıtaca. Vzdialenost’ medzi kamerou a touto plochou zalezı od pozorovacieho uhla

web kamery, ktory sa u beznej kamery pohybuje okolo 50 stupnov. Treba sa snazit’

15

Page 23: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

umiestnit’ kameru tak, aby snımala celu plochu, a zaroven nebola vel’mi d’aleko, pretoze

sa tym straca stopovacie rozlısenie. Pod stopovacım rozlısenım sa rozumie vel’kost’

plochy pouzitej na prepocıtavanie do ineho suradnicoveho systemu. Vacsina testov bola

praktikovana na LCD monitore a boli vyvodene nasledovne zavery. Pri umietnovanı

kamery zalezı ci je pouzıvatel’ pravak, alebo l’avak, aby si netienil vlastnou rukou.

Optimalna poloha je pri priamo namierenej kamere na obrazovku, ale pri praci sa

ukazala ako nie vel’mi pohodlna, pretoze pouzıvatel’ si casto tieni rukou a kamera

nevidı LED diodu. Preto je nutne umiestnit’ kameru trochu z uhla. Z d’alsıch testov

vyplynulo, ze tento uhol by mal byt’ okolo 30 stupnov. Je to kvoli zlemu pozorovaciemu

uhlu LCD displeja, pri pouzitı dataprojektoru moze byt’ tento uhol vacsı. Na obrazku

3.4 je schematicky znazornenie rozlozenie pre pravaka.

LCD obrazovka / plátno

0–30 stupňov

web kamera

Obr. 3.4: Umiestnenie web kamery pre pravaka.

Ako vidno z nazorneho obrazku 3.5 pri zvacsujucom sa uhle sa zmensuje presnost’

aplikacie tym, ze stale z menej a menej bodov sa prepocıtava do stale rovnakej plochy.

Este sa uvazovalo o umiestnenı kamery na strope, aby nezalezalo na tom, ktorou rukou

drzı pouzıvatel’ pero. Pri takomto riesenı by si netienil pouzıvatel’ rukou, ale pravde-

podobne hlavou. Vel’mi by zalezalo na vel’kosti miestnosti a umiestnenı platna v tomto

prıpade.

3.2.4 Detekcia polohy LED diody

Princıp detekcie LED diody je vel’mi jednoduchy, najma vd’aka vyssie popısanym vy-

lepseniam (pouzitie vysoko svietivej farebnej diody a specialne nastavenie ovladaca

16

Page 24: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Obr. 3.5: Vel’kost’ plochy pouzitej na prepocıtavanie pri 0, 30, 70 a 85 stupnov.

kamery).

Obrazok je reprezentovany ako pole celych cısel, kazda zlozka pol’a sa testuje na

podmienku vysokej intenzity v nasom prıpade modreho svetla:

(b > τ1) & (r < τ2) & (g < τ2), (3.1)

V programe je implicitne nastavene τ1 na hodnotu 200 a τ2 na 100, pri tychto

nastaveniach aplikacia funguje vo vacsine svetelnych podmienok. Prva cast’ podmienky

zabezpecuje ci je modre svetlo nad danou intenzitou. Dalej sa kontroluje, ci ostatne dve

zlozky farby su pod urcitou hranicou, aby aplikacia nedetekovala ostre slnecne svetlo.

Problem s ostrym svetlom sa vsak tymto uplne nevyriesil. Hranicna situacia je pou-

zıvanie pera na ploche, na ktoru prave ostro svieti. Aplikacia vacsinou nie je schopna

detekovat’ vysoku intenzitu modreho svetla, pretoze sa v bielom silnom svetle rozp-

lyva, straca na intenzite. Riesenım takejto situacie je zastriet’ zavesy alebo vhodnejsie

umiestnenie platna.

Zo vsetkych bodov, ktore splnaju tuto podmienku (obrazok 3.6), sa vypocıta

aritmeticky priemer. Na danom obrazku nie je vel’mi dobre vidno, ze vysokosvietiva

LED dioda vyzaruje vo svojom strede biele svietlo a taktiez, ze kamera zachytava aj

17

Page 25: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Obr. 3.6: Porovnanie obrazu pred a po spracovanı.

modre svetlo vyzarovane priamo diodou a nie len jej odraz od monitora ci platna. Dana

skutocnost’ vobec nevadı, pretoze sa pocıta priemer, pouzıvatel’ tymto javom nepoci-

t’uje znızenu presnost’ aplikacie. Ked’ze snımany obraz nie je totozny so zobrazovacım

zariadenım, nemozno jednoducho povedat’ mysi, aby sa presunula na danu pozıciu.

Suradnicovy system web kamery sa lısi od suradnicoveho systemu zobrazovacieho za-

riadenia. Na prepocet medzi tymito suradnicovymi systemami sluzi princıp homografie.

3.2.5 Homografia

Homografia (Criminisi, 1997) je projektıvna transformacia vyuzıvana na vypocet vzdia-

lenostı v skutocnosti a na obrazku.

Na obrazku 3.7 je viditel’ne znazornena problematika, ze vzdialenosti a polohy

objektov su ine v skutocnosti a na obrazku. Objekty na obrazku mozu byt’ zosikmene

a inak deformovane oproti skutocnosti, nehovoriac o vel’kosti objektov. Ak x, y su

suradnice bodu v suradnicovom systeme kamery a x, y su suradnice bodu v suradnico-

vom systeme zobrazovacej plochy, potom pre vypocet x, y z x, y budeme potrebovat’

maticu H, pricom platı nasledovny vzorec:x

y

1

=

xa/m

ya/m

m/m

=

h11 h12 h13

h21 h22 h23

h31 h32 h33

∗x

y

1

(3.2)

V danej rovnici pozname x, y (to je priemer detekovanych bodov podmienkou 3.1), ale

18

Page 26: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Obr. 3.7: Princıp homografie.

nepozname maticu H. Ta sa vypocıta pomocou vzorca |Ah| = 0, kde

h = (h11, h12, h13, h21, h22, h23, h31, h32, h33)T (3.3)

Matica A je definovana nasledovne:

A =

x1 y1 1 0 0 0 −x1x1 −y1x1 −x1

0 0 0 x1 y1 1 −x1y1 −y1y1 −y1

x2 y2 1 0 0 0 −x2x2 −y2x2 −x2

0 0 0 x2 y2 1 −x2y2 −y2y2 −y2

. . . . . . . . .

. . . . . . . . .

xn yn 1 0 0 0 −xnxn −ynxn −xn

0 0 0 xn yn 1 −xnyn −ynyn −yn

(3.4)

Na vypocet |Ah| = 0 sa nemoze pouzit’ gaussova eliminacia, pretoze matica A nie je

regularna. Na zıskanie vektora h, teda aj matice H pouzijeme metodu Singular Value

Decomposition. Blizsie informacie o tejto metode sa nachadzaju v technickej dokumen-

tacii. Matica A sa urcı na zaklade kalibracnych bodov xi, yi a xi, yi (i ∈ {1 . . . n}),

19

Page 27: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

ktorych suradnice vieme v oboch suradnicovych systemoch, t.j. aj na obrazku z web

kamery, aj na zobrazovacej ploche. Na zıskanie tychto informaciı je potrebna kalibracia.

3.2.6 Automaticka kalibracia

Pred spustenım ovladania kurzora mysi je potrebna kalibracia pre vytvorenie matice A

popısanej vyssie. Matica sa musı skladat’ z minimalne 4 bodov, ktore su rovnomerne

rozlozene. Pre zvysenie presnosti aplikacie bola pouzita 9 bodova kalibracia.

Obr. 3.8: Rozlozenie kalibracnych bodov pri: a) 4 bodoch; b) 9 bodoch.

Kalibracia prebieha po inicializacii automaticky, bez zasahov pouzıvatel’a nasle-

dovne: kamera je spravne umiestnena a ma nastaveny ovladac podl’a predchadzajucich

instrukciı. Na celej obrazovke sa zobrazı cervena farba a tato cervena obrazovka zo-

trva okolo 5 sekund, aby sa poskytol kamere dostatocny cas na inicializaciu. Kamera si

uchova obrazok tejto celocervenej obrazovky. Postupne sa na obrazovke zacnu objavo-

vat’ modre kalibracne body, kazdy bod zotrva asi 0,5 sekundy a za tento cas web kamera

urobı obrazok. Modra farba pre kalibracne body bola zvolena kvoli vel’kej vzdialenosti

od cervenej farby na farebnej skale. Ked’ze pozname suradnice, na ktorych sa zobrazuje

kalibracny bod (suradnicovy system zobrazovacieho zariadenia), treba nam detekovat’,

kde sa tento bod nachadza v suradnicovom systeme kamery. Detekcia tohto kalibrac-

neho bodu sa robı sposobom porovnavania dvoch obrazkov. Na prvom je len cervena

obrazovka, na druhom je cervena obrazovka s danym bodom. Algoritmus hl’ada vysoku

zmenu modrej a cervenej farby medzi obrazkami, a to nasledovnou podmienkou:

(abs(r1 − r2) + abs(b1 − b2)) > τ (3.5)

Aplikacia v tomto prıpade pouzıva τ = 40, tato hodnota bola vyslednym kom-

20

Page 28: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

promisom vo viacerych testoch. Z bodov, ktore splnia tuto podmienku sa vypocıta arit-

meticky priemer a uz mame suradnice zo suradnicoveho systemu web kamery. Tento

proces sa zopakuje este 8 krat a vypocıta sa dolezita matica A.

Obr. 3.9: Ukazka rozpoznania kalibracneho bodu.

3.3 Implementacia

Na tento typ projektu existuju dve moznosti tvorby softveru. Bud’ vyuzijeme kniznicu

touchlib pre C++, alebo Java Media Framework (JMF) pre jazyk Java. My sme saroz-

hodli pre Javu, pretoze jej vel’kou vyhodou je prenositel’nost’ medzi operacnymi syste-

mami, ale naopak sa za to platı o trosku mensou odozvou, kvoli virtualizacii (JVM).

Za vyvojove prostredie som si zvolil Eclipse. Graficke prostredie bude implementovane

pomocou kniznice javax.Swing.

3.3.1 Ukazka zdrojoveho kodu

Funkcia na rozpoznanie svetelneho bodu ma ako paramater pole celych cısel, ktore

reprezentuje obrazok. Funkcia prehl’ada cele pole a kazdy prvok testuje na podmienku

3.1. Funkcia vrati suradnicu zpriemerovanych bodov alebo null, ak sa na obrazku ne-

nachadza ziadny bod splnujuci podmienku.

21

Page 29: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Point process(int[] prepix)

{

int x = 0, y = 0, count = 0;

Point point = new Point(0, 0);

for (int p = 0; p < prepix.length; p++)

{

if ((((prepix[p]) & 0xff) > Main.treshholdBlue) &&

(((prepix[p] >> 8) & 0xff) < Main.treshholdOthers) &&

(((prepix[p] >> 16) & 0xff) < Main.treshholdOthers))

{

point.x += x;

point.y += y;

count++;

}

x++;

if (x >= ic.camWidth)

{

x = 0;

y++;

}

}

if (count != 0)

{

point.x = point.x / count / ic.camWidth;

point.y = point.y / count / ic.camHeight;

return point;

}

return null;

}

22

Page 30: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

3.4 Overenie riesenia

Overenie riesenia poskytuje uceleny pohl’ad na vyvoj projektu od jeho pociatocnych

faz az po finalne riesenie spolu s popisom prace na projekte.

3.4.1 Vyuzitie infracerveneho spektra svetla

Pocas prace na tomto projekte sa vyskytli rozne situacie, riesenie ktorych znamelo

aj vacsiu zmenu smerovania projektu. Pociatocnym umyslom bolo napodobnovat’ Nin-

tendo Wiimote a nastavit’ kameru, aby snımala len infracervene spektrum svetla. Kvoli

vyberu infracervenej LED diody musel byt’ prisposobeny aj vyber web kamery, pretoze

niektore kamery obsahuju infracerveny filter hned’ za objektıvom. To znamena, ze pre

tieto kamery nie je tento typ svetla viditel’ny. Filter sa da rucne odstranit’, ale treba

dbat’, aby nedoslo k poskodeniu kamery. To, ci kamera snıma aj infracervene svetlo

sa da najjednoduchsie overit’ tym, ked’ sa na kameru namieri bezny televızny ovladac.

Pri kamere bez filtra sa na obrazovke objavı svietiaci bod. To, ze kamera neobsahuje

tento filter sposobuje pri urcitych svetelnych podmienkach (pri vyssej koncentracii in-

fracerveneho svetla ako viditel’neho svetla) skresl’ovanie farieb. Pri pouzitı infracervenej

LED diody sa vyskytla moznost’ zjednodusit’ spracovanie obrazu, a to odstranenım co

najvacsieho poctu rusivych elementov z viditel’neho spektra svetla. Vyrobili sme fil-

ter, ktory prepust’a len infracervene spektrum svetla, tento filter sa umiestnil na web

kameru.

Obr. 3.10: Ukazka filtra viditel’neho svetla.

23

Page 31: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

Jeho vyroba bola pomerne jednoducha, naukladali sme 2-3 stare kinofilmy na

seba. a tie sa prilepili na papierovy valec. Tento valec sa potom umiestnil na objektıv

web kamery. Teraz kamera sıce snımala len infracervene spektrum, ale problem bol,

ze danym filtrom sa vyrazne znızila svetelnost’ obrazu, co sposobilo dlhu expozıciu

kamery. Pocet obrazkov za sekundu sa znızil z potrebnych 30 na priblizne 5. Ako efek-

tıvne riesenie uvedeneho problemu sa ukazalo znızenie expozıcie z implicitnej hodnoty

80 na 8. Pri nizsıch hodnotach dochadzalo k nechcenemu preblikavaniu obrazu. Samoz-

rejme sa musela vypnut’ automaticka expozıcia. Pri takto nastavenom ovladaci kamery

sa udrzalo pozadovanych 30 fps. Zaroven sa ukazalo, ze dany filter z kinofilmu sa stal

zbytocnym, pretoze kamera uz nesnıma rusive elementy pri takto znızenej expozıcii

a mohlo sa nastavit’ aj ciernobiele snımanie. Slnecne svetlo obsahuje tiez ifracervene

svetlo, preto pri ostrom svetle sa ukazal filter tiez ako neucinny. Vtedajsı prototyp sa

testoval vacsinou iba na LCD monitore. Po zapozicanı projektoru sa ukazala nedosta-

tocna svetelnost’ infracervenej diody na vacsiu vzdialenost’. Preto sme zacali pouzıvat’

vysoko svietive biele diody.

Najskor sa pre potreby testovania snımania kamery pouzıvala iba samotna di-

oda jednoducho napojena na bateriu. Pri tychto testovaniach bolo zistene, ze dioda

vyzaruje svetlo na dvoch miestach: na spicke diody a priblizne v strede diody medzi ka-

todou a anodou. A to bolo neziaduce. Preto bolo treba najst’ sposob ako skoncentrovat’

vyzarujuce svetlo do jedneho bodu. Riesenım bolo umiestnenie LED diody do obalu

zo stareho pera, ktory bol vyrobeny z materialu odrazajuceho infracervene spektrum

svetla. V opacnom prıpade nastane situacia, ze infracervene svetlo prejde skrz mate-

rial, a potom to vyzera ako sviecka. Vel’mi vhodnym sa ukazal naprıklad pokovovany

plast. Pri vybere tela pera treba dbat’ aj na priemer koncovej dierky. Otvor na konci

Obr. 3.11: Ukazka provizorneho pera.

musı byt’ primerane vel’ky, aby prepustil dostatok svetla, a zaroven sa tym nestracala

presnost’ pri snımanı. Dalsı problem sa vyskytol pri pozorovanı vel’kosti odrazeneho

24

Page 32: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

svetla na roznych castiach obrazovky. Pri nie idealnych sklonoch pera (zakon dopadu

odrazu z fyziky) sa svetlo vel’mi rozptyli. Rozmysl’ali sme nad odstranenım tohto prob-

lemu pomocou sustred’ovania svetla sosovkou, ale pri testoch sa ukazalo, ze nedochadza

k zelanemu zvyseniu intenzity.

Dalsım milnıkom, od ktoreho sa upustilo, bolo snımanie len odrazu svetla od zo-

brazovacej plochy a pouzitie plastu (obrazok 3.11) na sustredenie tohto svetla. Toto

Obr. 3.12: Ukazka niekdajsieho snımania.

riesenie bolo vel’mi nepohodlne, pretoze pouzıvatel’ musel davat’ pozor na to, ako drzı

pero. Z d’alsıch testov vyplynulo, ze sustred’ovanie svetla ma viac nevyhod ako vyhod.

To, ze LED dioda vyzaruje svetlo na dvoch miestach vobec neznizovalo presnost’ apli-

kacie. Pri sustred’ovanı svetla istu cast’ pohltil samotny plast, a tym sa znızila celkova

svetelnost’.

3.4.2 Rucna kalibracia

Pri infracervenom snımanı sa vyuzıvala rucna kalibracia, nakol’ko zdrojom infracerve-

neho svetla muselo byt’ pero. System rucnej kalibracie pozostaval zo styroch bodov. Na

kalibracnej obrazovke (obrazok 3.13) sa zjavil terc, na ktory musel pouzıvatel’ zasvietit’

perom. Pocas tohto svietenia sa musel zmenit’ popis z nesnımam infrabod na snımam

infrabod, a zaroven stlacit’ tlacidlo Nacıtaj. A takto to urobit’ dohromady styrikrat.

Pri pouzitı s LCD displejom tuto kalibraciu zvladol i jeden clovek samostatne. Ale pri

pouzitı s projektorom sa vyzadoval asistent, ktory by stlacil tlacidlo prave vtedy, kedy

aplikacia snımala infracervene svetlo z pera na kalibracnom terci. Okrem vel’kej zlozi-

tosti takejto aplikacie sa ukazala aj ista nepresnost’ sposobena nie vel’mi presnym tria-

25

Page 33: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

fanım kalibracnych tercıkov pouzıvatel’om. Kvoli zjednoduseniu kalibracie sa vyskytla

Obr. 3.13: Niekdajsia kalibracna obrazovka.

nevyhnutnost’ znovu nastavit’ kameru, aby vnımala rozne farby. Hl’adal sa kompromis

tlmenia neziaducich rusivych elementov a schopnost’ vnımat’ farby. Vysledky tychto

testov sa nachadzaju v casti Nastavenie ovladaca web kamery. Vd’aka tejto nutnosti

sa zacalo uvazovat’ o vnımanı farebnych LED diod. Uspesne testy prebehli s cervenou

LED diodou, ale znovu sa ukazala nızka svetelnost’ pri pouzitı s projektorom. Poslednou

upravou algoritmu na rozpoznavanie svetla bolo eliminovanie vnımania bieleho svetla.

Algoritmus totizto rozpoznaval kazde svetlo, naprıklad cervenej farby nad urcitu sve-

telnost’, naprıklad 210. Ale biele svetlo sa sklada so vsetkych troch zloziek a vsetky

tri su vysoko svetelne, preto pri ostrom svetle slnka aplikacia zacala hybat’ a klikat’

mysou hocijako. Tato neprıjemnost’ sa odstranila zakomponovanım do podmienky aj

ostatnych dvoch zloziek svetla tak, aby boli nizsie ako dana hodnota. Z testov vyply-

nulo, ze aplikacia nevnımala rusive elementy sposobene bielym svetlom pri nastavenı

tejto premennej na 100.

26

Page 34: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

3.4.3 Stav projektu po zimnom semestri

Dany prototyp programu bol poskytnuty na testovanie skupine pouzıvatel’ov, ktorı po

vyskusanı programu odpovedali na par otazok. Z odpovedı bolo prijatych mnozstvo

napadov, ako vylepsit’ pretrvavajuce nedostatky. Pouzıvatelia prejavili nespokojnost’

naprıklad s oneskorenym pohybom mysi (sposobene v znacnej miere virtualizaciou) a

boli prijate nasledovne podnety na vylepsenie tohto riesenia:

• skusit’ pouzit’ laserove ukazovadlo,

• nepouzıvat’ vysoke fps, ale znızit’ ho a pomocou algoritmov na vypocet priamky

predpokladat’ body medzi jednotlivymi zachytenymi bodmi,

• pre znızenie vypoctoveho vykonu ohranicit’ oblast’ hl’adania bodu v d’alsom ob-

razku na okolie predchadzajuceho bodu,

• znızenie vypoctoveho vykonu,

• automaticka kalibracia aplikacie,

• pouzıvatel’ nevidı kam infracervene pero ukazuje,

• odstranit’ rusenie sposobene bielym svetlom,

• odbremenit’ pouzıvatel’a nastavovanım ovladaca web kamery,

• nedostatocna presnost’,

• skusit’ pouzit’ sosovku na sustredenie lucov s pouzitım farebnej diody,

• prisposobit’ aplikaciu aj na pouzitie inych typov web kamier,

• pri hl’adanı najsvetlejsieho bodu nebrat’ do uvahy okolie obrazovky a zbytocne

nezat’azovat’ CPU.

3.4.4 Uskutocnene zmeny

Z tychto pripomienok sa ich niekol’ko podarilo uskutocnit’, ako odfiltrovanie rusiveho

bieleho svetla, pouzıvanie vysoko svietivych farebnych LED diod (pouzıvatel’ vidı kam

mieri) ci vyskusanie sosovky.

Vypoctova narocnost’ sa podarila vo vel’mi vyraznej miere znızit’ pomocou uspa-

27

Page 35: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 3. Opis riesenia Andrej Fogelton

vania vlakna. Pred realizaciou uspavania vlakna sa vypoctova narocnost’ pohybovala

na urovni 80 percent pri dvoch jadrach o vykone 1,6 GHz. Teraz sa to pohybuje do

20 percent. Totizto dochadzalo k tomu, ze funkcia na zıskanie obrazku z vyrovnava-

cej pamati web kamery vracala aj viackrat ten isty obrazok. Ako vel’mi jednoduche

riesenie sa ukazalo uspavanie vlakna na dobu potrebnu na vytvorenie d’alsieho ob-

razku. Ked’ze jedna sekunda ma 1000 ms a kamera vie urobit’ 30 obrazkov za sekundu

1000ms/30 = 33ms, vysledkom je uspavanie vlakna na 33ms v kazdom kroku cyklu.

Nepresnost’ spomınana pouzıvatel’mi bola nakoniec sposobena chybou v kniznici

JAMA (Hicklin, 2005), co je kniznica na pracu s maticami v JAVE, presnejsie obsahuje

chybny algoritmus Singular Value Decomposition. Chybny algoritmus sposoboval ne-

presnost’ na LCD displeji aj 8 cm, pri takejto nepresnosti bola aplikacia nepouzitel’na.

Samokalibraciu sa nakoniec podarilo uskutocnit’ a mala za nasledok nielen zjed-

nodusenie pre pouzıvatel’a, ale aj citel’ne zvysenie presnosti.

Uvazovalo sa aj nad moznost’ou ohranicit’ plochu hl’adania LED diody vymedze-

nım stvoruholnıka pomocou kalibracneho procesu. Toto riesenie sa nerealizovalo z do-

vodu pochybnostı o zlepsenı efektivity aplikacie. Museli by sa testovat’ d’alsie 4 pod-

mienky, ci sa bod nachadza v danej polrovine. Toto by zabralo priblizne ten vypoctovy

vykon, ktory by sa usetril nekontrolovanım okoliteho priestoru obrazovky.

28

Page 36: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Kapitola 4

Zhodnotenie

Aplikacia je vel’mi dobre pouzitel’na v praxi, dokaze sa nastavit’ tak, aby pracovala

spravne vo vacsine svetelnych podmienkach. Aplikacia disponuje dostatocnou presnos-

t’ou a jednoduchou kalibraciou. Asi najvacsou nevyhodou je nizsia odozva, ktora sa

pohybuje v rozmedzı 0,5 az 1 sekundy. Aplikacia poskytuje vyrazne zlepsenie v inte-

raktivite na prednaskach. Profesor nemusı chodit’ k notebooku kvoli prepnutiu na d’alsı

slajd. Aplikacia skvele ovlada ine programy, na ktorych pouzıvanie postacuje mys a jej

l’ave kliknutie.

Bol ukazany vel’mi dobry zamer, na ktorom by sa dali neskor aplikovat’ aj d’alsie

vylepsenia, ako naprıklad:

• moznost’ doprogramovania praveho kliknutia (pouzitım vysoko svietivej LED di-

ody inej farby),

• vytvorenie JAVA API, ktore by obsluhovalo web kameru a dokazalo by vytvarat’

udalosti typu; modre pero zacalo/prestalo svietit’, cervene pero zacalo/prestalo

svietit’, zelene pero zacalo/prestalo svietit’,

• znızenie vypoctoveho vykonu pomocou ci uz pouzitia nizsieho fps a dopocıtavania

chybajucich bodov alebo aj vymedzenie oblasti hl’adania svetla pre d’alsı obrazok,

• odbremenit’ pouzıvatel’a nastavovanım ovladaca web kamery.

Page 37: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Zoznam pouzitej literatury

CIZEK, J. Touchless – vyzkousejte si futuristicke ovladanı pocıtace. http://www.zive.

cz/Clanky/Touchless--vyzkousejte-si-futuristicke-ovladani-pocitace/

sc-3-a-143984/default.aspx, oktober 2008. [Posledny prıstup: 9. maj 2009].

COMUNITY TOUCHLESS. Touchless. http://www.codeplex.com/touchless, ok-

tober 2008. [Posledny prıstup: 9. maj 2009].

CRIMINISI, A. Homografia. http://www.robots.ox.ac.uk/~vgg/presentations/

bmvc97/criminispaper/node3.html, jul 1997. [Posledny prıstup: 9. maj 2009].

FILLO, P. Elektronicky terc. Bakalarska praca, Slovenska technicka univerzita v Bra-

tislave, 2008.

HICKLIN, J. a. Java Matrix Package. http://math.nist.gov/javanumerics/jama,

jul 2005. [Posledny prıstup: 9. maj 2009].

INTEL. OpenCV. http://opencv.willowgarage.com/wiki/#Welcome.

2BAC8-Introduction.WhatisOpenCV.3F, december 2008. [Posledny prıstup:

9. maj 2009].

KOZMAN, M. Spracovanie obrazu. Bakalarska praca, Slovenska technicka univerzita

v Bratislave, 2007.

LEE, J. C. Viac bodova interaktıvna tabul’a s pouzitım Wiimote. http://www.cs.

cmu.edu/~johnny/projects/wii/, december 2008. [Posledny prıstup: 9. maj 2009].

MESZAROS, V. a. Z. Laser Pointer Map Interaction. Zbornık IIT.SRC 2008. 2008,

s. 5. ISSN 1383-7133.

Page 38: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Zoznam pouzitej literatury Andrej Fogelton

MIT. Singular Value Decomposition. http://web.mit.edu/be.400/www/SVD/

Singular_Value_Decomposition.htm, september 2002. [Posledny prıstup: 9. maj

2009].

NUIGROUP. Touchlib. http://www.nuigroup.com/touchlib/, december 2008. [Po-

sledny prıstup: 9. maj 2009].

SUN MICROSYSTEM. Java Media Framework. http://java.sun.com/javase/

technologies/desktop/media/jmf/, december 2008. [Posledny prıstup: 9. maj

2009].

31

Page 39: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha A

Pouzıvatel’ska prırucka

Aplikacia Interactive Whiteboard prestavuje jednoduche a lacne riesenie pre interak-

tıvnu tabul’u, stacı mat’ lacnu web kameru, pero a projektor alebo LCD displej. Apli-

kacia poskytuje moznost’ ovladania pocıtacovej mysi, presnejsie jeho l’aveho kliknutia.

A.1 Instalacia

Pre spustenie aplikacie je odporucane mat’ nainstalovanu JAVU verzie 6 update-u 10

a JMF 2.1.1e. Ak web kamera nebola zapojena v case instalacie, je nutne spustit’ proces

detekcie multimedialneho hardveru v JMStudiu.

Je potrebne mat’ web kameru, ktora dokaze pracovat’ s minimalnym rozlısenım

640×480 pri 30 fps, odporucany typ web kamery je MSI StarCam Clip. Vlastnosti pera

su obmedzene na pouzitie modrej vysoko svietivej LED diody, ktora je pripojena na spı-

nac umiestneny tak, aby sa dal jemne stlacat’ a nevznikali vel’ke odchylky. Samozrejme

LED dioda je umiestnena viditel’ne na spicke pera.

Obr. A.1: Ukazka konstrukcie pera.

Page 40: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha A. Pouzıvatel’ska prırucka Andrej Fogelton

A.2 Nastavenie

A.2.1 Nastavenie ovladaca web kamery

Pred spustenım aplikacie je nutne zmenit’ trochu nastavenia ovladaca web kamery:

Nazov Hodnota Rozsah

Svetelnost’ 0 0 – 63Kontrast 1.00 1.00 – 2.00Gamma 1.00 0 – 1.00Expozıcia 35 0 – 255

Automaticka expozıcia NIE ANO/NIE

Tabul’ka A.1: Hodnoty pouzite pre ovladac web kamery.

Tieto hodnoty pokryvaju nastavenie pre najbeznejsie svetelne podmienky. Ak by

sa mala aplikacia pouzıvat’ vo vel’mi tmavom alebo naopak vo vel’mi svetlom prostredı,

je nutne jemne upravit’ expozıciu. Pri pouzitı s LCD displejom s mensım pozorovacım

uhlom, je vhodne pridat’ na saturacii o priblizne 0,5.

A.2.2 Nastavenie polohy kamery

Pred spustenım funkcionality na ovladanie kurzora mysi je potrebne najskor nastavit’

polohu kamery tak, aby snımala celu plochu platna projektora alebo LCD obrazovky

pocıtaca. Treba sa snazit’ umiestnit’ kameru tak, aby snımala celu plochu, a zaroven

nebola vel’mi d’aleko, pretoze sa tym straca stopovacie rozlısenie. Pod stopovacım roz-

lısenım sa rozumie vel’kost’ plochy pouzitej na prepocıtavanie do ineho suradnicoveho

systemu. Vacsina testov bola praktikovana na LCD monitore a boli vyvodene nasle-

dovne zavery. Umiestnenie kamery zavisı od toho, ci je pouzıvatel’ pravak alebo l’avak,

aby si netienil vlastnou rukou. Uhol by mal byt’ maximalne 30 stupnov. Je to kvoli

zlemu pozorovaciemu uhlu LCD displeja, pri pouzitı dataprojektoru moze byt’ tento

uhol vacsı. Na obrazku A.2 je schematicky znazornene rozlozenie pre pravaka.

Ako vidno z nazorneho obrazku 3.5, pri zvacsujucom sa uhle sa zmensuje presnost’

aplikacie tym, ze stale z menej a menej bodov sa prepocıtava do stale rovnakej plochy.

Je dolezite umiestnit’ web kameru tak, aby snımala celu obrazovku. Na tento ucel sluzi

33

Page 41: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha A. Pouzıvatel’ska prırucka Andrej Fogelton

LCD obrazovka / plátno

0–30 stupňov

web kamera

Obr. A.2: Umiestnenie web kamery pre pravaka.

Obr. A.3: Vel’kost’ plochy pouzitej na prepocıtavanie pri 0, 30, 70 a 85 stupnoch.

WebCam View, pomocou ktoreho pouzıvatel’ vidı, co prave zachytava kamera a moze

ju spravne nastavit’.

A.2.3 Spravne nastavenia prahov pre vnımanie svetla

Po uspesnej instalacii a nastavenı kamery je potrebne overit’ spravne nastavenia pra-

hov pre detekciu pera a kalibracie. Na overenie spravnej detekcie pera stacı spustit’

TrackView. Spravne nastavene prahy sa prejavuju ciernou obrazovkou. Ak sa na ob-

razovke objavuju zelene body a ziadne pero sa vtedy nepouzıva treba zvysit’ citlivost’

na zachytavanie pera z implicitnych 200 postupne az do 250. Cım je cıslo mensie, tym

je to pre detekciu pera lepsie, ale nesmu byt’ vidno rusive elementy. Ked’ uz mame

34

Page 42: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha A. Pouzıvatel’ska prırucka Andrej Fogelton

Obr. A.4: Hlavne okno programu.

Obr. A.5: Idealne umiestnenie kamery pre pravaka.

nastavene prahy tak, ze vidıme len ciernu obrazovku odskusame pero v kazdom rohu

obrazovky. Ak sa pri rozsvietenı LED diody na obrazovke vo vsetkych styroch rohoch

zjavia zelene body, mozeme sa pustit’ do procesu kalibracie.

Kalibracia funguje na princıpe porovnavania dvoch obrazkov, pricom je mozne

nastavit’ prah, ako vel’mi sa lısia dane dva obrazky od seba. Pocas procesu kalibracie

sa vytvaraju obrazky, ktore sa ukladaju do adresaru /calibrationimages. Ak by

35

Page 43: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha A. Pouzıvatel’ska prırucka Andrej Fogelton

bol proces kalibracie neuspesny, je nutne vypnut’ program a skontrolovat’ kalibracne

obrazky. Ak je obrazok cierny, znamena to, ze nastaveny prah je prılis vysoky alebo

pouzıvate LCD monitor s nızkym pozorovacım uhlom a je nutne zvysit’ saturaciu na

ovladaci web kamery.

Obr. A.6: Spravne najdeny kalibracny bod.

Obr. A.7: Zle najdeny kalibracny bod.

Ako vidno z obrazku A.7, pri takto zle skalibrovanej aplikacii treba zvysit’ prah

rozdielu medzi obrazkami.

36

Page 44: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha A. Pouzıvatel’ska prırucka Andrej Fogelton

A.3 Pouzıvanie

Po nastavenı prahov a skalibrovanı aplikacie je mozne zacat’ pouzıvat’ aplikaciu. Pouzı-

vanie je jendoduche. Aplikacia vysle signal stlacenia l’aveho tlacidla mysi po detekovanı

svetla, presunie kurzor mysi na pozıciu pera. Pocas doby svietenia aplikacia presuva

kurzor podl’a aktualnej pozıcii pera. Pri skoncenı detekovania svetla aplikacia vysle

signal o opustenı l’aveho kliknutia.

37

Page 45: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha B

Technicka dokumentacia

B.1 Singular Value Decomposition

Singular value decomposition (MIT, 2002) sa pouzıva namiesto gaussovej eliminacie pri

neregularnych maticiach.

Anxp = UnxnSnxpVTpxp (B.1)

V TV = I (B.2)

UTU = I (B.3)

Riesenım je riadok matice V, ktory je urcuny pozıciou riadka, v ktorom je najmensie

cıslo matice S. Dany riadok sa rozdelı do troch riadkov po tri cısla a vznikne matica H.

B.2 Triedy pouzite z JMF

Na prıstup k obrazkom web kamery sa pouzila trieda DataSource, pretoze tato trieda

umoznovala dany obrazok aj spracovat’, pred tym ako sa zobrazil na obrazovke. Trieda

Player sa pouzila na zobrazovanie obrazkov, len pre ucely Webcam view modu.

Page 46: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha B. Technicka dokumentacia Andrej Fogelton

Obr. B.1: JMF player model.

39

Page 47: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha C

Obrazkova prıloha

Na prilozenych obrazkoch vidno rozdiel vo funkcionalite programu po zimnom semestri

a teraz.

Obr. C.1: Vyuzitie aplikacie na nakreslenie smajla po zimnom semestri.

Obr. C.2: Vyuzitie aplikacie na nakreslenie smajla teraz.

Page 48: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha D

Clanok z IIT.SRC 2009

Page 49: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha E

Poster z IIT.SRC 2009

Page 50: Slovenska technicka univerzita v Bratislave …fogelton/pub/fogelton2009image...Slovenska technicka univerzita v Bratislave FAKULTA INFORMATIKY A INFORMACN YCH TECHNOL OGI I Studijny

Prıloha F

Obsah DVD media

/Interactive Whiteboard/ - obsahuje spustitel’ny jar subor

/install/ - obsahuje instalacie pre JAVU a JMF

/documents/ - obsahuje dokumentaciu, pouzıvatel’sku prırucku

a clanok z IIT.SRC 2009

/source/ - obsahuje zdrojove subory