BLOB jellemzők D L á iItá Dr. Loványi István BME-IIT 2014 április
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!
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!
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.
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
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
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
•• …
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”
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
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
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
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
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
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
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• …
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• …
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
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
Á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
Á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
Á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
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
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
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
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
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 )(
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
LÁNCKÓD – 4 szomszéd reprezentációja
3
0 2
1
kontúr lánckódja:1011121122232233330010111211222322333300
103300
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
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ó
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
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
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
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
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
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
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
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
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
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
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?
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!)
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)
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
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!
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
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
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
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
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
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
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ő.
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
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
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
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.
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
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
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?
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
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 !
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
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
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 )()()()(
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
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
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