Rozpoznávanie objektov pomocou OpenCV v robotickom simulátore

Download Report

Transcript Rozpoznávanie objektov pomocou OpenCV v robotickom simulátore

Michal Rataj - Bakalárska práca
iCub simulátor, YARP
 http://eris.liralab.it/wiki/Main_Page
 iCub je robotická platforma vyvíjaná konzorciom
RobotCub, robot ma veľkosť trojročného dieťaťa a má
53 stupňov voľnosti. Vo svojej práci však pracujem so
simulátorom iCub-a, ktorý je vernou kópiou
skutočného robota a poskytuje všetku potrebnú
funkcionalitu.
 YARP – Yet Another Robot Platform – knižnice,
protokoly a nástroje slúžiace na komunikáciu s
robotom (simulátorom).
iCub simulátor, YARP
www.cthacks.com, www.easyicon.cn, eris.liralab.it
iCub simulátor, YARP
 Príkazy priamo z príkazového riadku:
// natočenie ramena
yarp rpc /icubSim/left arm/rpc:i // pripojenie na port
set pos 0 45
// príkaz
 Požiadavka na komunikáciu z programovacieho prostredia
iCub simulátor, YARP
 Ten istý príkaz pomocou C++
Network yarp ;
RpcClient worldclient ;
// Vytvorenie RPC klienta
worldclent . open ( "/sim/armRPC" ) ; // Vytvorenie por tu
worldclient . addOutput ( „/icubSim/r ightarm/ rpc : i " ) ;
Bottle cmd , response ;
// Pripravenie správy
cmd . addString ( " set " ) ;
cmd . addString ( "pos " ) ;
cmd . addInt ( 0 ) ;
cmd . addInt ( 4 5 ) ;
wo r l d c l i e n t . wr i t e (cmd , response ) ; // Odoslanie správy
p r i n t f ( r e spons e . t oSt r ing ( ) ) ;
 Nepraktické pri väčšom počte príkazov.
iCub simulátor, YARP
 Ten istý príkaz pomocou motorického rozhrania YARPu v C++
Network yarp ;
Property options ;
options . put ( " device " , " r emotecont rolboard " );
options . put ( " local" , "/ test / client " ) ;
options . put ( " remote " , "/ icubSim/ rightarm" ) ;
.....
command=0; // Pripravenie natočenia kĺbov .
command[0]=-50;
command[ 1 ]=2 0 ;
command[2]=-10;
pos->positionMove (command . data ( ) ) ; // príkaz
Ukážka
Získanie obrazu z kamery
Získané obrázky
OpenCV
 http://opencv.org/
 Na spracovanie jednotlivých obrazov získaných z očí
robota budem používať funkcie, ktoré poskytuje
knižnica OpenCV. Jedná sa o funkcie na nájdenie hrán,
vyhladenie a rozostrenie, vyhľadanie kontúr a obrysov,
orezanie obrazu atď.
Spracovanie obrazu OpenCV
Ukladanie dát
 Reprezentácia tvaru – PHOG metóda, ktorej
výsledkom je jednorozmerný vektor (veľkosť podľa
parametrov)
 Reprezentácia farby – jednorozmerný vektor s 225
stĺpcami
 Obe metódy sú implementované v OpenCV a sú
priložené aj v priečinku s iCub-om
Spracovanie dát
 Neurónová sieť – objekt popisujúce vektory (farba,
tvar) budú slúžiť ako trénovacia množina pre
neurónovú sieť.
 Učenie s učiteľom, backpropagation – učenie objektov,
určovanie ďalších akcií simulátora, rozpoznávanie
objektov
 SOM – self-organizing map – reprezentácia údajov
(farba) pomocu mapy