Top Banner
BLOB jellemzők D L á iItá Dr. Loványi István BME-IIT 2014 április
77

BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Dec 07, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

BLOB jellemzők

D L á i I t áDr. Loványi IstvánBME-IIT

2014 április

Page 2: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

BLOB jellemzők meghatározása

(BLOB = Binary Large OBject)

Mit?Hogyan?Hogyan?

Példaképpen néhány invariáns BLOB jellemzőt alaposabban is megnézünk!pp y j p gVideo-rate sebességű célhardver implementáció algoritmikus megalapozása!

Page 3: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Alakfelismerés BLOB Analízissel

•A legtöbb BLOB jellemző invariánssá tehető a pozícióra, orientációra ésg j pskálázásra, például:

• Euler szám

•Kompaktság: (kerület)2/ terület

•Momentumok

•...

•A BLOB jellemzők éldetektálás és kontúrkövetés után könnyen számíthatók!A BLOB jellemzők éldetektálás és kontúrkövetés után könnyen számíthatók!

Page 4: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

1. Bináris képfeldolgozás

Ha lehet, vezessük vissza általánosabb képfeldolgozási p gproblémánkat is (gradált, színes képek) több bináris kép

feldolgozására.

Page 5: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Bináris képjellemzők meghatározása

1. Valósidejű célhardver implementáció így relatíve könnyű lesz2. Második lépésben érdemes - amit csak lehet – bináris

képfeldolgozásra visszavezetni: kiterjeszthetőség gradált, színes képek feldolgozásáraképek feldolgozására

Page 6: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

KépreprezentációKépreprezentáció

• „Belső” reprezentáció: régió-alapú– Amikor az intenzitás, szín, textúra, stb. a

fontos• „Külső” reprezentáció: régió-határ alapú

Amikor az alak él stb a fontos– Amikor az alak, él, stb. a fontos

Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni

Page 7: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Ké j ll ők kí á t ” t l jd á iKépjellemzők „kívánatos” tulajdonságai

• Hatékony implementáció (valósidejűség!) H ték tál á ( ét ál tó• Hatékony osztályozás (nagy a szétválasztó erő: mérhető különbség egyes objektum osztályokra)osztályokra)

• Robusztusság:Mé t i i i– Méret invariancia

– Transzláció invarianciaRotáció invariancia– Rotáció invariancia

•• …

Page 8: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Példa: amikor a külső” reprezentáció jobbPélda: amikor a „külső reprezentáció jobb

Élpontok: ha zaj is van - „túl sok” Kontúrok: „éppen elég lenne”

Page 9: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

LánckódLánckód

• Külső reprezentáció – a régió határokat írja le• Közelítés egyenes szegmensekkel• 4 vagy 8 szomszédos képmodell• 4 vagy 8 szomszédos képmodell

Page 10: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Lánckód – implementációkpÁltalában• Kezdőpont megkeresése

Ó• Óramutató járásával egyező vagy ellentétes irányban elfordulva a következő szomszédos pont megkeresése és összekötésük – Túl hosszú a lánckód– Már az élek kis változása (zaj!) eltérő lánckódhoz vezet

Gyorsabb implementáció• Éldetektált kép durvább raszterű újra-mintavételezése• Amelyik rasztert érinti az eredeti régió határ – megjelölve, összekötés

Page 11: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Lánckód - tulajdonságokLánckód tulajdonságok• Érzékeny a kezdőpont választásra

– Pl. minimális lánckód érték szerinti kezdőpontválasztás• Érzékeny rotációra, méretre egyaránt

• Következő diákon látható egyszerű megoldások jók, feltéve, gy g j , ,hogy: az éldetektáló algoritmus rotáció- és skálázás-független – legtöbbször nem ez az eset… akkor más megoldást kell keresnünkkeresnünk

Page 12: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Rotáció invariancia biztosításaRotáció invariancia biztosítása

• Differencia képzés1

• Például: eredeti 4-szomszédos lánckód:szomszédos lánckód:10103322

• Differencia képzés02 • Differencia képzés után: 3133030 (óramutató járásával

02

( jellentétes irány szerinti körbejárással)

33

Page 13: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Méret invariancia biztosításaMéret invariancia biztosításaMé álá új• Méret normálás: az újra-mintavételezés felbontását változtatjuk valamilyen normáló kritérium szerint

Nagyobb kép

Kisebb kép

Page 14: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Lenyomat (angolul: signature)Lenyomat (angolul: signature)• 1-dimenziós régió-határ mérték (sokfajta algoritmus létezik)• Egy egyszerű implementáció: súlyponttól való távolság a szögEgy egyszerű implementáció: súlyponttól való távolság a szög

függvényében:

• Transzláció invariancia: alaphelyzetben is OK• Rotáció invariancia: pl. legyen a súlyponttól legtávolabbi pont a

kezdőpontkezdőpont• Skálázás invariancia: pl. távolság normálás - a legnagyobb

távolsággal osztva

Page 15: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

További régió-határ mértékekTovábbi régió határ mértékek

• régió-határ hossz (pl. lánckódból becsülhető: horizontális elemek száma + vertikális elemek száma + diagonális elemek száma x √2

• átmérő– Max. tengely (extrémum pontok távolsága , Feret átmérő)– Min. tengely (max. tengelyre merőleges irányban a max. szegmens

hossz)– Excentricitás ( max. / min tengelyek hányadosa)

• orientáció• görbület• …

Page 16: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Ré ió é ték kRégió mértékekRé ió t ül t• Régió terület

• Kompaktság mérték = kerület2/területp g– rotációra, skálázásra, transzlációra invariáns

• Régió intenzitás átlag / max / min érték• Régió intenzitás átlag / max. / min. érték• Átlagérték alatti / feletti pixelek aránya• …

Page 17: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Régió topológiai mértékek – Euler számRégió topológiai mértékek Euler számA topológiai jellemzők a régiók szétszakítását / összekötését nem okozó deformációkra

érzéketlenekLegismertebb közülük az Euler szám (különböző definíciók /reprezentációk lehetségesek)

• V-Q+F=C-H=E• V= sarkok száma• Q= élek száma• F= poligonok száma• C= egybefüggő régiók száma• H= lyukak számay• E= Euler szám

C 1 2 1 C 3 1 2E=C-H=1-2=-1 E=C-H=3-1=2

Page 18: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Régió topológiai mértékek – Euler számg p g

V-Q+F=C-H=EV k k áV= sarkok száma

Q= élek számaF= poligonok számaC= egybefüggő régiók

száma

7 11+2 2

H= lyukak számaE= Euler szám

7-11+2=-2

Page 19: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Általánosított MomentumokÁltalánosított Momentumok•Sok eltérő jelentéssel bíró alakjellemző visszavezethető

valamely momentumokból képzett polinomokra.

• A (p,q)-ik momentuma R régiónak f(x,y) képfüggvényen:

qp d df )(R

qppq dxdyyxfyxm ),(

R

Page 20: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Általánosított MomentumokÁltalánosított Momentumokn x m pixel méretű digitális kép esetén egyszerűsödik a számítás:n x m pixel méretű digitális kép esetén egyszerűsödik a számítás:

n m

jiij yxfyxM ),(

x yij yxfyxM

1 1),(

További egyszerűsödés: Bináris képek esetén f(x,y) képfüggvény pixelei csak 1” (objektum) és “0” (háttér)képfüggvény pixelei csak „1 (objektum) és 0 (háttér)

értéket vehetnek fel

Page 21: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Általánosított Momentumok - példa

n m

jiij yxfyxM ),(

Xi j M

x y1 1

0 1 2 3 4 5 6 7 8 9

1

i j Mij

0 0 7 Terület

2

3

1 00 1 20

33

4

52 00 2

159 Inercia

momentum646

Y

0 21 1

momentum64

93Y

Page 22: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Néhány „hasznos” Momentum (ismétlés)Néhány „hasznos Momentum (ismétlés)

Súlypont megadása általánosított momentumokkal:

10MX 01MY 00

0

MX

00MY

Page 23: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Néhány „hasznos” Momentumy „„Főtengely”: súlyponton átmenő, minimális inercia

nyomatékot biztosító tengelynyomatékot biztosító tengely.

• θ szöget zár be X tengellyel.

Például a segítségével véletlenszerűen elhelyezett objektumok orientációja könnyen meghatározható.

2M 1122MM

MTAN 0220 MM

Page 24: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

(Adalék a Főtengely számításhoz)( g y )

Page 25: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

A Főtengely számításhoz (ismétlés)A Főtengely számításhoz (ismétlés)

201

0202MMMM

210

2020MMMM

0002 M 00

20 M

0110MM

00

01101111

MMMMM

Page 26: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

További hasznos származtatott alakjellemzők (ismétlés)

Egy objektum minimális / maximális inercia momentumának meghatározásamomentumának meghatározása

2

24)(

2

211

220022002 MMMMMI MIN

22

2

24)(

2

211

220022002 MMMMMI MAX

22

Page 27: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

További hasznos származtatott alakjellemzők (ismétlés)j ( )

Az alábbi momentumokból számított jellemzők a ább o e tu o bó s á tott je e őfüggetlenek pozíciótól, orientációtól, tükrözéstől –

ezért alakfelismerésre igen jól használhatók

MM 02201 MM 211

202202 4)( MMM 2 )(

Page 28: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

További hasznos származtatott alakjellemzők (ismétlés)j ( )

A területre is normáltak: függetlenek pozíciótól, orientációtól, tükrözéstől és skálázástól,

2

11 M

42

2 M

00M 00M

Page 29: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

2 LÁNCKÓD á ítá h ték i l tá iój2. LÁNCKÓD számítás-hatékony implementációja ablakműveletekkel

Page 30: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

LÁNCKÓD – 4 szomszéd reprezentációja

3

0 2

1

kontúr lánckódja:1011121122232233330010111211222322333300

103300

Page 31: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

LÁNCKÓD – 8 szomszéd reprezentációja

7 6 5

0 4

1 2 3

kontúr lánckódja:12232445466601760

Page 32: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

4 sz. LÁNCKÓD implementáció 2x2 ablakművelettel

legyen P egy objektumpontlegyen P egy objektumpont

legyen Q egy 4-szomszédos háttérpont

Q és P, relatív pozíciójától függően címkézzük a 2x2 –es ablakon belül a maradék 2 pixelt: (U és V) az alábbi

módon:

CODE 0 CODE 1 CODE 2 CODE 3

V Q Q P P U U VU P V U Q V P QU P V U Q V P Q

Page 33: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

4 sz. LÁNCKÓD implementáció 2x2 ablakművelettel

•Legyen az objektumpontok értéke “1” , a háttérpontok értéke “0”értéke 0

•U és V értéke határozza meg, hogy merre forduljon a kö tk ő lé é b l itkövetkező lépésben az algoritmus:

U V P’ Q’ fordulás kód*

X 1 V Q jobbra CODE-11 0 U V iránytartás CODE0 0 P U balra CODE+1

*modulo 4 számlálóval implementálhatómodulo 4 számlálóval implementálható

Page 34: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

4-sz. LÁNCKÓD implementáció 2x2 ablakművelettel

33

PQV

3

20

3

20

UVU11

Q

V

P

UQ P

VQCODE 1

UP

VU

QPCODE 2

UVCODE 0

PQ

PUCODE 3

QV

VQCODE 1

UP

VU

QPCODE 2

UVCODE 0

PQ

PUCODE 3

QV

V UQ

V

P

UQ P

COOCODE-1RIGHTQV1XCODE*TURNQ’P’VU

COOCODE-1RIGHTQV1XCODE*TURNQ’P’VU

V U VQU P P QV U VQU P P Q V U

*Implement as a modulo 4 counterCODE+1LEFTUP00

CODENONEVU01

*Implement as a modulo 4 counterCODE+1LEFTUP00

CODENONEVU01

Page 35: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

8-sz. LÁNCKÓD implementáció 3x3 ablakművelettel

•Legyen P egy objektumpont és R0 egy 4-szomszédú háttérpontháttérpont.

•Legyen az objektumpontokhoz “1”, a háttérpontokhoz “0” d lrendelve.

•Rendeljük P 8-szomszédos környezetéhez R0, R1, …, R7címkéket az alábbi sorrendben:

R4PR0

R5R6R7

R4PR0

R5R6R7

R3R2R1

R4PR0

R3R2R1

R4PR0

Page 36: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

8-sz. LÁNCKÓD implementáció 3x3 ablakművelettel

6 57 6 57

R4PR0

R5R6R7

R4PR0

R5R6R7

R5R6R7 R5R6R7

40 40R3R2R1

40

R3R2R1

40

RRR

R4PR0

RRR

R4PR0

RPR

R5R6R7

RPR

R5R6R7

RRR RRR2 31 2 31 R3R2R1 R3R2R1

R3R2R1

R4PR0

R3R2R1

R4PR0

R4PR0

R5R6R7

R4PR0

R5R6R7

R5R6R7 R5R6R7ALGORITMUS:

R3R2R1 R3R2R1

R3R2R1

R4PR0

R3R2R1

R4PR0

RPR

R5R6R7

RPR

R5R6R7i=0WHILE (Ri==0) { i++ }MOVE P to Ri R3R2R1 R3R2R1

R3R2R1

R4PR0

R3R2R1

R4PR0MOVE P to RiSET i=0JUMP to next search

Page 37: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

INVARIÁNS LÁNCKÓD á ítá i l it kINVARIÁNS LÁNCKÓD számítási algoritmusok

Page 38: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

A LÁNCKÓD problémái alapesetben(és a megoldások)

– Kezdőpont függőp gg– Orientáció függő

Alakfelismeréshez biztosítani kellene a lánckód invarianciáját– Normalizált kódolás– Differenciális kódolás

Page 39: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

NormalizálásNormalizálás

33001122

330011223001122300112233

001122330112233011223300 Az első sor lesz a normalizált kód00112233

0112233011223300

Sorba rendezve

112233001223300122330011 00112233

Az első sor lesz a normalizált kód

112233001223300122330011

223300112330011233001122

00 33

23300112 30011223

Page 40: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Differenciális lánckód90o

33001212 33010122

00121233 01012233normalizálás normalizálás

Differencális kódolás:

dk=ck-ck-1 (modulo 4) 4-szomszédú lánckód esetén

d =c c (modulo 8) 8 szomszédú lánckód eseténdk=ck-ck-1 (modulo 8) 8-szomszédú lánckód esetén

Page 41: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Invariáns alakleírás:Normalizált Differenciális Lánckód

Differenciális kód: d c c (mod 4)

33001212

10101131

33010122

10113110differenciálás differenciálás

dk=ck-ck-1 (mod 4) 10101131 10113110

01011311 01011311normalizálás normalizálás

A kezdőpont eltolás és a tényleges elforgatás (90o-al) dacára a két alakleírás ugyanazt a kódot adjaa két alakleírás ugyanazt a kódot adja

Page 42: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Egy másik stratégia az invariáns l kl í á F i l í ókalakleírásra: Fourier leírók

z(k)=x(k)+j y(k)

DFT

N

k

NnkjekzN

na1

/2)(1)(

kN 1

Fourier IDFT

{x(k),y(k)}, k=1,2,..,Negyütthatók

N

Nnkjenakz /2)(1)(

Itt csak röviden utalni az előnyökre!•Csak1 dimenziós (kontúr menti) Fourier transzformáció

nN 1

)()(

•Csak1 dimenziós (kontúr menti) Fourier transzformáció•Együtthatók jelentése (1D és 2 D transzformáció esetében eltérő a szemléltetés)•Eltolás, elforgatás (kezdőpont eltolás ill. tényleges elforgatás), skálázás hatása•Fourier együtthatókból képezhetők ugyanúgy INVARIÁNS ALAKEGYÜTTHATÓK

Page 43: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Például: P

NnkjenaN

kz /2)(1)(ˆ Például: nN 1

)()(

P : a visszaállításhoz figyelembevett együtthatók száma

Page 44: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

3. Bináris kép előfeldolgozó algoritmusokid t élh d i l tá iójvideo-rate célhardver implementációja

44Kék színnel: + előadáson elhangzott fontosabb kiegészítések – csak címszavakban

Page 45: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Bináris kép előfeldolgozó modulBináris kép előfeldolgozó modul

Funkcionális rendszerterv, az algoritmusok egymásra épülésének bemutatása

45

, g gy pAblakművelet implementálása „look-up” memóriával – mi adta az ablakméret

korlátját?Hogyan lehetett mégis nagyobb méretű ablakműveleteket implementálni?

Hogyan lehetett gradált képre is kiterjeszteni a bináris célhardver működését?

Page 46: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Morfológiai alapműveletek

• Példák kisméretű topológiákra (1 2 3 4 elemű) például Euler szám származtatható ) gyors

46

• Példák kisméretű topológiákra (1,2,3,4 elemű) – például Euler szám származtatható ) gyors leszámolásukkal

• Vigyázat: különböző mikroszintű képreprezentációk esetén a származtatott jellemzők egy része makroszinten sem konvergál egymáshoz (példában a 6 fajta terület IGEN, de a 6 fajta kerület NEM!)

Page 47: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Terület Kerület – 6 képreprezentációbanTerület, Kerület 6 képreprezentációban

47

Page 48: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Geometriai jellemzők – a struktúra vektorból

• 2X2 ablak 16 lehetséges topológia: csupán ezek számosságából meglepően sok minden származtatható

48

meglepően sok minden származtatható• A fólián egy lehetséges halmaza 10 független geometriai

jellemzőnek• Euler szám kivételével „ránézésre” értelmezhetők a képletek (ld.

óra)

Page 49: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Kontúrkövetés

• Kontúr sokkal több mint az él: ez globális információ de a célhardver egyszerre NEM lát többet 2 sornál (ez nagyon lokális)• Bináris képen az él értelmezése: fehér/fekete v. fekete/fehér átmenet a sorokban

• Algoritmus szemléltetése:aktuális/előző tárolt sor = sáv, sávba belépő/kilépő élpontok, követő pont kijelölés stratégiája• 2 ábra látszólagos ellentmondást takar (egyszerre 2 kilépő pont is adódik: O v C) – feloldás egyszerű arbitrális választással

49

2. ábra látszólagos ellentmondást takar (egyszerre 2 kilépő pont is adódik: O v. C) feloldás egyszerű arbitrális választással. Miért?

• Objektum / lyuk esetén a Kontúr körbejárási iránya változik!. Soron belül a kontúrok egymásba ágyazódását jelzi

Page 50: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Topológiai leírás – kontúrok indexálása

Kontúrkövetés robusztusságának bemutatásaX-eken jól megfigyelhető: a helyesen választandó ” követő pont” nem feltétlenül a legközelebbi! Miért ilyen a

50

j g gy y p g ykép?

Az előző fólián bemutatott konturkövető algoritmus mégsem téved!

Page 51: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Kép topológiai leírása - egyetlen számmal• Kép topológiai leírása egyetlen relatíve kicsi számmal! Előre tárolt táblázatból gyorsan vehetőKép topológiai leírása egyetlen, relatíve kicsi számmal! Előre tárolt táblázatból gyorsan vehető

értékek!• Kontúrkövető algoritmus adja: a körbevett kontúrok típusának megfelelő prímszámok szorzata

• definíció szerint:az „üres” kontúr „típusa” = 1• A számból a kép topológiája mindig egyértelműen visszaállíthatóA számból a kép topológiája mindig egyértelműen visszaállítható

• Példa: 0”pszeudó” kontúr a teljes kép – benne 9 db kontúr található, megcimkézve• Típus: 0. kontúr (kép)=413 (1. kontúr =18 ; 7.kontúr=4 ; 2.,4.kontúr=2 ; 3.,5.,6.,8.,9 kontúr=1)

• Visszaállítás menete (413=18 és 7 prímszám szorzata )Visszaállítás menete (413=18. és 7. prímszám szorzata,….)

51

Page 52: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Mintapélda – alakegyütthatókrap gydigitalizálás – binarizálás – kontúrkövetés – 1D Fourier tr. a kontúr mentén (30 együtthatóval reprezentált

kontúrok)– alakegyütthatók (eltolás, elforgatás, skálázás invariancia = a két kanál „egymásba transzformálható” )

Régi kísérlet nyomán rossz a képminőség de a lényeg” látszik)Régi kísérlet nyomán – rossz a képminőség, de a „lényeg látszik)Mögöttes „elmélet” (4 fajta invariancia bevezetése, könnyen felismerhető tulajdonságok axiómái) – a következő

fóliákon!

52

Page 53: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Objektumok makrojellemzőinek meghatározása Fourier transzformációvalmeghatározása Fourier transzformációval

Feldolgozás általános lépései• 1. lépés: kontúr menti újra mintavételezéssel a digitalizálás „zaja” kiszedhető1. lépés: kontúr menti újra mintavételezéssel a digitalizálás „zaja kiszedhető• 2. lépés: Fourier transzformáció• 3. lépés: szűrés frekvencia/térbeli tartományban – pl. nagy rendszámú eh.

elhagyásaelhagyása• 4. Lépés: Alakegyütthatók - kontúrok invariáns alak jellemzőinek

meghatározása

Alkalmazhatósági feltétel: az információ zöme a régió határra, a kontúr g g ,alakjában koncentrálódjon (pl. a régión belüli textúra ne legyen releváns)

53

Page 54: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Kontúrok Fourier transzformáltjának alkalmazási lehetőségeialkalmazási lehetőségei

1. Képtömörítés - kevesebb kiválasztott együttható megtartása1. Képtömörítés kevesebb kiválasztott együttható megtartása2. Szűrés - pl. a magasabb rendszámú eh. = nagyfrekvenciás

komponensÜ Ó3. Invariáns alakleírás – származtatott ALAKEGYÜTTHATÓKKAL

Akkor nézzük:

54

Page 55: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

1D Fourier transzformáció• Kontúrpontok szemléltetése a 2D-ben: komplex számok sorozataként is

ábrázolhatjukj• ahol:• Fj: j-ik Fourier együttható• c : k ik kontúrpont (c =x +i*y )• ck : k-ik kontúrpont (ck=xk+i*yk)• N: kontúrpontok száma (belőle N darab - szintén komplex szám -Fourier

együttható lesz)• Tömörítés: együttható elhagyással - valamilyen megfontolás szerint

55

Page 56: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Invariancia eltolásra

Példá l ll dik ütth tó k tú úl tját dj• Például a nulladik együttható a kontúr súlypontját adja• Következésképpen: invariancia eltolásra: F0= 0 korrekcióval

• F0=0- t választva a súlypont ugyanis mindig az origóba kerül.• Megjegyzés:• Az n=2m pontot egyenletesen kell szétosztani a kontúr mentén, (ha a

kontúrkövető algoritmus nem így működik, pontatlansággal számolhatunk).

56

Page 57: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

I i i ítá álá lInvariancia nagyításra - normálással

F'j=n*Fj: n szeres nagyítás esetén:

57

Page 58: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Invariancia rotációra – 2 fajta hatás

58

Page 59: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Referencia pozícióba való „visszaforgatás”p g(például vízszintesbe)

Állítás:

Belátható, hogy ha egy referencia alakzat F1ref és F-ref együtthatói pozitív valós számok, akkor az alakzat hosszabb, súlyponton

átmenő tengelye (un Főtengely) vízszintesátmenő tengelye (un. Főtengely) vízszintes

Bizonyítás:

59Megjegyzés: A 180 fokos beforgatás kétértelműsége egy további geometriai jellemző figyelembevételével kiküszöbölhető.

Page 60: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Alakegyütthatók generálásaAlakegyütthatók generálása

Invariancia rotációra és nagyításra, egy lehetséges példa:

( F0= 0 val az eltolás invariancia már biztosított )

60

Page 61: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Alakegyütthatók generálásaAlakegyütthatók generálása

Bizonyítás: forgassuk el az alakzatot φ szöggel és a kezdőpont eltolásból eredő α szöggel:φ gg p gg

61

Page 62: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Alakegyütthatók generálásaAlakegyütthatók generálása

Érdemes F1 -vel normálni, mert az nem lehet zérusígy az alakegyütthatók általános képlete:

62

Page 63: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Alak- és szimmetriaviszonyok gyors, egyszerű meghatározása

Tétel 1:Azonos formájú alakzatok azonos alakegyütthatókkal rendelkeznek:

Tétel 2:

Ha egy alakzat 2π /x, rotációs szimmetriával bír, a nem zérus Fourier együtthatók: F1 , F1+x , F1+2x , F1+3x , ...1 x 1 2x 1 3x

Tétel 3:Ha egy alakzatnak van legalább egy szimmetria tengelye az alakegyütthatók valósHa egy alakzatnak van legalább egy szimmetria tengelye, az alakegyütthatók valós

számok

Megjegyzések:• A tételek könnyen igazolhatók.• Zajos (valós) kontúrokra a tételek természetesen csak közelítőleg igazak.

Page 64: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Alakzatok osztályozása jellemzőtérben

(később az OSZTÁLYOZÁSRÓL sokkal többet…)

Page 65: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

BLOB jellemzők - összefoglalásj gegy BLOB

• terület (pixelek száma)Zajt el kell távolítani(pl kicsi/nagy objektum alapon)

egy BLOB

Zajt el kell távolítani(pl. kicsi/nagy objektum alapon)• Lyukak száma• Objektum területej• Lyukak területe• Teljes terület (lyuk + objektum)j ( y j )• Kerület = kontúr hossza• Befoglaló keret

– Bal felső sarok pozíciója– Befoglaló keret szélessége / magassága

Szómagyarázat: BLOB = Binary Large OBject

Page 66: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

BLOB jellemzők - összegoglalásBLOB jellemzők összegoglalás• Súlypont (xm,ym)

objecti

im xx

objecti

im yy

• „Kompaktság”– Diszkre minimális

objecti objecti

APerimeter 2

– Diszkre minimális– Téglalapra minimális

Area

HeightWidthArea

• körkörösségL bb á l á (F á é ő)

areaPerimeter

2• Legnagyobb távolság (Feret átmérő)• Orientáció

– Feret átmérő orientációja

Page 67: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

BLOB jellemzők - összefoglalásBLOB jellemzők összefoglalás• AlakleírásAlakleírás

– Befoglaló keret aránya: magasság/szélesség• A nyújtottságról mond valamity j g

– Objektum illeszkedése befoglaló téglalapba• Köze van a terület / kerület arányhoz

O f– Objektum illeszkedése befoglaló ellipszisbe• Köze van a terület / kerület arányhoz

A továbbiakban lehetünk kreatívak: csomó egyéb BLOB jellemző található még ki!

A BLOBOK HOGYAN HATÁROZHATÓK MEG EGYSZERŰEN / GYORSAN?

Page 68: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Miért keressük a BLOB jellemzőket?Miért keressük a BLOB jellemzőket?

• Ha több (textúrán például extrém sok)objektum van a képen – gyorsanf l k ll i i é d k k ”fel kell ismerni az „érdekeseket”

• Alakfelismerés lépései:1 Objektum modell alkotás1. Objektum modell alkotás2. Objektum jellemző keresés3 Jellemzők meghatározása minden BLOB-ra3. Jellemzők meghatározása minden BLOB ra

átlagosan / BLOB-onként egyedileg4. BLOB / modell jellemzők összehasonlítása5. A „legjobb” találat határozza meg a tárgy fajtáját

Page 69: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

OsztályozásOsztályozás

Hogyan történik a „legjobb” találat meghatározása?

• Az un. JELLEMZŐTÉRBEN egy Modell és egy mért BLOB közötti TÁVOLSÁG-MÉRTÉKmért BLOB közötti TÁVOLSÁG-MÉRTÉK meghatározása: a legkisebb távolság a nyerőDe hogyan definiáljuk a távolságot? Nézzük a• De hogyan definiáljuk a távolságot? Nézzük a legegyszerűbb példát - egyelőre !

Page 70: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Jellemző illesztésJellemző illesztés • Mi a távolság a jellemző térben?• Mi a távolság a jellemző térben?• Jellemző 1: terület• Jellemző 2: körkörösség

2 di ió j ll ő té Jellemző 2: körkörösség• 2 dimenziós jellemző tér• Modell:

Jellemző 2: körkörösség

Találat!

• BLOB-ok:

Jellemző 1: területJellemző 1: terület

Page 71: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Jellemző illesztés: milyen távolság mértékkel?

features

fjifjfiffif BMBMBMiD#

2,

22,2

21,1 )()()()(

jfjfjffff

1,,,

jellemző2

•legtöbbször Euclideszi távolságot számítunk

• Hogyan válasszuk ki a jellemzőket?(globális / lokális jellemzők mérése)

j ll ő

(globális / lokális jellemzők mérése)

jellemző1

Page 72: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Jellemzők súlyozásaJellemzők súlyozása• És ha egynémely jellemző relevanciájában jobban bízunk mint a

többiében?többiében?– Például kis objektumoknál a kerület érték bizonytalan

(Miért??? – ld. morfológia)

• Megoldás: jellemzők súlyozása a távolság számításban

features

fjifjfiffif BMBMBMiD#

2222

211 )()()()(

features

BMWBMWBMWiD#

222 )()()()(

j

fjifjfiffif1

,2,21,1 )()()()(

j

fjifjjfiffif BMWBMWBMWiD1

,2,221,11 )()()()(

Page 73: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

FPGA alapú FPGA alapú előfeldolgozóelőfeldolgozó célhardvercélhardver

Page 74: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

FPGA lenne a tökéletes párhuzamosság?FPGA – lenne a tökéletes párhuzamosság?• Az ötlet több mint 20 éves (a későbbi Xilinx 2 alapítója: Ross• Az ötlet több mint 20 éves (a későbbi Xilinx 2 alapítója: Ross

Freeman, Bernie Vonderschmitt 1984)• Általános processzor (melyekre programot írhatunk) helyett:

közvetlenül” programozható custom design chip (inkább hw mint sw„közvetlenül programozható custom design chip (inkább hw mint swtervezés)

• Programmable Logic Design (PLD) – FPGA egy részhalmaz• FPGA: SRAM + kiegészítők (regiszterek óra funkciógenerátorok /FPGA: SRAM + kiegészítők (regiszterek, óra, funkciógenerátorok /

LUT,…) - 200-400MHz• Általános processzorok sokkal gyorsabbak (x10), de: egyetlen

utasítás / óraciklus• FPGA: regiszterek, funkció-generátorok milliói párhuzamosan, nincs

a szekvenciális működésből eredő plusz latencia• Alacsonyszintű képfeldolgozás különösen jól párhuzamosítható!y p g j p

Page 75: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

FPGA – akkor miért nem terjedt még el mindenütt?

E é é l j dőb á éEgyrészt éppen nagyon elterjedőben van, másrészt:

• még csak viszonylag kis cégek képviselik az új technológiátmég csak viszonylag kis cégek képviselik az új technológiát• IT szakemberek karrier és kényelmi okokból inkább a hagyományos

programozási környezetben gondolkodnak még sok esetben• Ami kutatás, projekt pl. az IIT tanszéken is folyik: „híd” a két

megközelítés között, melynek kidolgozott elemei: magasszintűlogikai szintézis, hw-sw együttes tervezés, automatikus g , gy ,magasszintű nyelvből FPGA konverzió (C, Java, Yampa, Scala, Haskell,…)

75

Page 76: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

Egy implementáció az IIT-n: bi á i lőf ld l ó élh dbináris előfeldolgozó célhardver

Page 77: BLOB 2014 [Kompatibilitási mód]– Amikor az alak él stb a fontosAmikor az alak, él, stb. a fontos Gyakran mindkét típusú reprezentációt célszerű együtt alkalmazni. Ké

FPGA alapú előfeldolgozó célhardverANALÓG KÉP + MOZGÁS

CCD vonalérzékelő illesztésVezérelt világítás

Shading korrekció

Optimalizált A/D konverzióHisztogram analízis

Adaptív küszöbözés

Morfológiai ű l kműveletek

Textura jellemzőkTopológiaijellemzők

Kontúrkövetés Geometriai jellemzőkjellemzők

Fourier, DCTAlakegyütthatók

Átmeneti puffermemória

Képjellemzők hierarchikus készletének, BLOB-oknak folyamatos (video-rate) kiértékelése,

Átmeneti puffermemóriaMintavételes kiértékelés

7768HARD REAL-TIME DÖNTÉSEK