akadémia trojstenu ako nau čiť robota spoznávať veci nepravidelných tvarov andrej lúčny

36
Akadémia Trojstenu Ako naučiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny Katedra aplikovanej informatiky FMFI UK Bratislava [email protected] www.microstep-mis.com/~andy

Upload: charity-solis

Post on 04-Jan-2016

34 views

Category:

Documents


2 download

DESCRIPTION

Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny Katedra aplikovanej informatiky FMFI UK Bratislava andy @microstep-mis.com www.microstep-mis.com/~andy. Úloha. Mobilný robot sleduje scénu a má v nej rozpoznať určitý objekt. COG 1993. iCub 2007. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Akadémia Trojstenu

Ako naučiť robota spoznávať veci nepravidelných tvarov

Andrej Lúčny

Katedra aplikovanej informatiky

FMFI UK Bratislava

[email protected]

www.microstep-mis.com/~andy

Page 2: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

ÚlohaMobilný robot sleduje scénu a má v nej

rozpoznať určitý objekt

COG 1993iCub 2007

Page 3: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Objekty, ktoré sa dajú popísať malým počtom parametrov sa dajú rozpoznať spätnou projekciou obrazu do priestoru týchto parametrov (Houghova transformácia)

Pravidelné objekty

Page 4: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Pravidelné objekty

Page 5: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Pravidelné objekty

Akadémia Trojstenu, 2006

Page 6: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Pravidelné objekty

Page 7: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Pravidelné objekty

Page 8: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Nepravidelné objekty

Ako ale rozpoznávať objekty, ktoré majú veľa parametrov a nepoznáme ich ?

Page 9: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Nepravidelné objekty

Page 10: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Dominant orientation templates

• Jedna z najjednoduchších, ale účinných metód na rozpoznávanie objektov nepravidelného tvaru

Šablóny význačných orientácii

DOT

Page 11: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Motivácia

šablóna

obraz zamerajme sa na hrany

Page 12: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Hranový detektor Canny

obraz

|gradient| orientácie

dx

hrany

dy

Page 13: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Vstup: obraz z kamery

Tri polia r[h,w], g[h,w], b[h,w], každý ich prvok je číslo 0..255 a predstavujú červenú, zelenú a modrú zložku farby

Page 14: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Čiernobiely obraz

Pole bw[h,w], každý jeho prvok je číslo 0..255 a predstavuje intenzitu svetla

bw[i,j] = 0.3*r[i,j] + 0.59*g[i,j] + 0.11*b[i,j]

Page 15: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

• Jeden riadok poľa bw si teraz môžeme znázorniť ako funkciu intenzity od čísla stĺpca. Hranám zodpovedajú strmé úseky.

Hrany

Page 16: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Sobelov operátor

• dx = rozdiely susedných stĺpcov, pričom sa v menšej miere zohľadňujú i susedné riadky

ai-1,j-1 ai-1,j ai-1,j+1

ai,j-1 ai,j ai,j+1

ai+1,j-1 ai+1,j ai+1,j+1

bi,j

-1 0 1

-2 0 2

-1 0 1

º =

bi,j = | ai-1,j+1 + 2ai,j+1 + ai+1,j+1 – ai-1,j-1 – 2ai,j-1 – ai+1,j-1 |

(orežeme na maximálne 255)

Page 17: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Sobelov operátor

• dy = rozdiely susedných riadkov, pričom sa v menšej miere zohľadňujú i susedné stĺpce

ai-1,j-1 ai-1,j ai-1,j+1

ai,j-1 ai,j ai,j+1

ai+1,j-1 ai+1,j ai+1,j+1

bi,j

-1 -2 -1

0 0 0

1 2 1

º =

bi,j = | ai+1,j-1 + 2ai+1,j + ai+1,j+1 – ai-1,j-1 – 2ai-1,j – ai-1,j+1 |

(orežeme na maximálne 255)

Page 18: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Sobelov operátor

dx pekne zvýrazňuje vertikálne hrany a dy horizontálne

Page 19: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Hrany

dx a dy môžeme zlúčiť a pomocou vhodného prahu premeniť obraz hrán na binárny. Stenčovaním čiar dostaneme výsledné hrany

Page 20: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Orientácie

z dx a dy môžeme určiť orientácie, v každom bode smer v ktorom sa mení jas, pričom prechody z tmavého do

svetlého a opačne považujeme za rovnaké

dx

dy

Page 21: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Šablóna• Práve orientácie použijeme na zostrojenie

šablóny rozpoznávaného objektu

Page 22: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Šablóna• objekt pokryjeme neprekrývajúcimi sa

regiónmi

Page 23: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Šablóna• Ku každému pixelu v regióne vieme

orientáciu hrán

Page 24: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Šablóna• Určíme z nich sadu prevládajúcich

orientácii v regióne

Page 25: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Šablóna• Pre každý štvorček tak dostaneme sadu

orientácií

Page 26: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Šablóna• A sada týchto orientácii bude tvoriť

šablónu, tj. reprezentovať objekt

Page 27: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Hľadanie podľa šablóny• Obrázok rozdelíme na regióny a v každom

určíme jedinú, tzv. dominantnú orientáciu

šablóna

obraz

Page 28: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Hľadanie podľa šablóny• Ak sa pre väčšinu regiónov nachádza

dominantná orientácia v šablóne, tak OK.

šablóna obraz

Page 29: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Nefunguje to ?• Nemáme záruku, že sme trafili región na región.

Nevadí, narobíme si veľa šablón posunutých o pár pixlov

šablóny

Page 30: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Zefektívnenie (pri strate presnosti)

• Môžeme potom tieto prekrývajúce sa šablóny zosumarizovať do jednej tak, že v regióne šablóny budú všetky orientácie, y okolitých regiónov. Takú šablónu nie je potrebné posúvať po pixeloch, hoci už tak presne nevystihuje reprezentovaný objekt

šablóna obraz

Page 31: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Pohľad z rôznych strán• Jedna šablóna nám umožní rozpoznať objekt len z určitého pohľadu

• Preto je nevyhnutné aby sme objekt reprezentovali množstvom šablón urobených z rôznych pohľadov

• Stačí kamerou objekt obísť a snímať šablóny. Z nich program vyberá dostatočne od seba odlišné, aby ich nebolo moc a mali dobrú výpovednú hodnotu

Page 32: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Bitová reprezentácia• Prítomnosť orientácii v regióne šablóny možno reprezentovať bitovo a

celé priloženie šablóny vypočítať pomocou bitových operácií, ktoré sú veľmi efektívne

• DOT je preto veľmi rýchla a funguje v reálnom čase

Page 33: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Hranica objektu• DOT umožňuje nájsť aj približnú hranicu objektu.

Tvoria ju tie hrany, ktorých orientácie sme našli v šablóne.

Page 34: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Ako získať šablónu?• Šablónu nie je možné vytvoriť priamo z objektu, ktorý sa nachádza v scéne. • Musíme ho nasnímať voči kontrastnému pozadiu• Alebo môžeme použiť nejakú metódu separácie objektu z obrazu, napríklad

na základe pohybu objektu

Page 35: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

35

Omylnosť rozpoznania (DOT)

vzor

1.

2.

Omyl či kreativita ?

/27

Page 36: Akadémia Trojstenu Ako nau čiť robota spoznávať veci nepravidelných tvarov Andrej Lúčny

Ďakujem za pozornosť !

Andrej LúčnyKatedra aplikovanej informatiky

FMFI UK Bratislava

[email protected]

www.microstep-mis.com/~andy