Bináris ki- és bemenetű CNN template-ek tervezése
Zarándy ÁkosMTA-SZTAKI
A CNN template-ek generálási módszerei
• Ösztönös, intuitív;
• Tanítás;
• Direkt tervezés;
Ebben az előadásban a bináris ki- és bemenetű nem-propagáló és propagáló CNN template tervezést fogjuk áttekinteni.
Nem-propagáló CNN hálózatok áttekintése
iz
bbb
bbb
bbb
a
,,
000
00
000
111011
010010
111011
00 BA
)(
;
)()()(
),()(,
00
xfy
zus
styatxtx
kljiNklC
klij
r
B
1-1
-1
1
x
f (x)
xx y
a00
-1
s
Egy CNN hálózat nem propagáló, ha a template-je a következő formátumú:
Ilyenkor az állapotot leíró differenciál egyenletrendszer csatolatlan.
Az állapotegyenlet:
Egyetlen cella jelfolyamgráfja:
;)()()(),()(,
),()(, zutytxtx kl
jiNklCklijkl
jiNklCklijijij
rr
BAEredeti CNN egyenlet:
Nem-propagáló bináris ki-bemenetű CNN hálózatok tulajdonságai
speciális esetek:
• a00=0; y =f(s); nem függ a végeredmény x0-tól!!!
• a00=1; (integrátor a lineáris tartományban)
– y =sign(s); nem függ a végeredmény x0-tól!!!
– a kimenet 2s alatt beáll, a tranziens lineáris, és nem exponenciális– el kell kerülni az s=0 esetet!
• a00>1 (pozitív visszacsatolás)
– ha x0=0 akkor y =sign(s);
– ha x0=1 és a00+s>1 akkor y =1; nem változik
– ha x0=1 és a00+s<1 akkor y =-1; változik
– ha x0=-1 és -a00+s<-1 akkor y =-1; nem változik
– ha x0=-1 és -a00+s>-1 akkor y =1; változik
– általánosan: x0=x(0) ahol |x0|<1 akkor y =sign( (0) );azaz y =sign(a00 y0-x0+s)
– el kell kerülni az a00+s =1 és a -a00+s =-1 eseteket!!!
xx y
a00
-1
s
x
styatxtx )()()( 00
Nem-propagáló bináris ki-bemenetű CNN template-ek csoportosítása
• I. Egyszerű minta felismerés:– nincs megkülönböztetve a központi elem;
• II. Feltételes pixel változtatás:– meg van különböztetve a központi elem;
• III. Két bemenetű egy kimenetű függvények:– a kezdeti állapot is értékes képi információt hordoz;
I. Egyszerű minta felismerés
A templateformátum
meghatározása
egyenlőtlenségrendszer
generálása
egyenlőtlenségrendszer
megoldása
a legrobusztusabbtemplate
kiválasztása
Tervezési példa ITervezési példa IAdott az alábbi etalonAdott az alábbi etalon
CélCélLegyenek azok a pixelek feketék, Legyenek azok a pixelek feketék, melyeknek környezetében legalább 5 melyeknek környezetében legalább 5 pixelpozíció ugyanaz, mint a megadott pixelpozíció ugyanaz, mint a megadott etalonon, a többi legyen fehér.etalonon, a többi legyen fehér.
I. Egyszerű minta felismerés: formátum meghatározás, egyenlőtlenség rendszer generálás
Ilyenkor az etalont egyszerűen leképezhetjük a B template-be!!!
A B
0 0 0
0 0
0 0 0
0 0 0
a b b b
b b b
z i, ,
# of matchingpixels
desired output relation
6 black (+1) 6b+i>0
5 black (+1) 4b+i>0
4 white (-1) 2b+i<0
3 white (-1) i<0
2 white (-1) -2b+i<0
1 white (-1) -4b+i<0
0 white (-1) -6b+i<0
Az egyenlőtlenség Az egyenlőtlenség rendszer: rendszer:
(a(a0000=1)=1) y =sign(s)
;),()(, zus kl
jiNklCklij
r
B
I. Egyszerű minta felismerés: az egyenlőtlenségrendszer megoldása és robusztus template kiválasztása
relations:
Eredmény altér
limitek:
maximális chip paraméterértékek
A B
0 0 0
0 2 0
0 0 0
0 0 0
2 2 2 2 2 2
2 2 2 2 2 2
6, . . .
. . .
, zoptimális template:
b
i-31
-2
3
1
2
3
-1
-3
2b+i<0
4b+i>0
6b+i>0
-6b+i<0
-4b+i<0
-2b+i<0
i<0
b
i-6 2
2
4
6
-2-4 -2
nominaltemplate
II. Feltételes pixel változtatás
Tervezési példa IITervezési példa IIAdott az alábbi etalonAdott az alábbi etalon
Cél (szkeletonizáció)Cél (szkeletonizáció)Változzanak azok a Változzanak azok a feketefekete pixelek fehérre, pixelek fehérre, amelyeknek a környezetében mind az 5 amelyeknek a környezetében mind az 5 pozíció megegyezik az adott etalonnal.pozíció megegyezik az adott etalonnal.
II. Feltételes pixel változtatás: template formula meghatározás, egyenlet rendszer generálás
iz
c
cbc
cc
a
,
00
0
,
000
00
000
BA
self input # of matching pixels desired output relationblack (+1) 5 white (-1) a+b+5c+i<1black (+1) 4 black (+1) a+b+3c+i>1black (+1) 3 black (+1) a+b+c+i>1black (+1) 2 black (+1) a+b-c+i>1black (+1) 1 black (+1) a+b-3c+i>1black (+1) 0 black (+1) a+b-5c+i>1 (1)white (-1) 5 white (-1) -a-b+5c+i<-1white (-1) 4 white (-1) -a-b+3c+i<-1white (-1) 3 white (-1) -a-b+c+i<-1white (-1) 2 white (-1) -a-b-c+i<-1white (-1) 1 white (-1) -a-b-3c+i<-1white (-1) 0 white (-1) -a-b-5c+i<-1
A A BB template középső eleme template középső eleme különbözőkülönböző módon viselkedik mint a nem centrális módon viselkedik mint a nem centrális elemek!!!!elemek!!!!
a00>1,
;),()(, zus kl
jiNklCklij
r
B
x0=0 y =sign(s)
• Hasonló az előző típushoz, de itt a kezdeti állapot különböző értékeit is figyelembe kell venni az egyenlőtlenség rendszer felállításakor.
III. Két bemenetű egy kimenetű függvények
( ) ( ) ( )
;
( )
,( ) ( , )
,( ) ( , )
x t x t y t s
s u z
y f x
ij klC kl N i j
kl
ij klC kl N i j
kl
r
r
A
B
Propagáló CNN hálózat tulajdonságai
ÁltalÁltalános propagáló ános propagáló típusú template:típusú template:
Az ehhez tartozó állapot egyenlet:Az ehhez tartozó állapot egyenlet:
1-1
-1
1
x
f (x)
iz
bbb
bbb
bbb
aaa
aaa
aaa
,,
111011
010010
111011
111011
010010
111011
BA
Propagálás elemzése I
aktív cellák
t=0 t=t1
Dinamikus Dinamikus propagálási szabály:propagálási szabály:A jobboldali vége egy egypixel A jobboldali vége egy egypixel széles fekete vonalnak mindig széles fekete vonalnak mindig változzon fehérre.változzon fehérre.
Dinamikus Dinamikus aktivációs aktivációs etalon:etalon:
Aktív cella:Aktív cella:Egy cellát aktívnak nevezünk egy adott Egy cellát aktívnak nevezünk egy adott időpillanatban, ha annak változik a időpillanatban, ha annak változik a
kimenete. kimenete. Inaktív cella:Inaktív cella: Egy cellát inaktívnak nevezünk egy adott Egy cellát inaktívnak nevezünk egy adott időpillanatban, ha annak stabil a kimenete.időpillanatban, ha annak stabil a kimenete.
Csatolt CNN template tervezés: Csatolt CNN template tervezés:
A ij klC kl N i j
kl
r
y t s,( ) ( , )
( )
Propagálás elemzése IIAktív cella:Aktív cella:Egy cellát aktívnak nevezünk egy adott időpillanatban, ha annak változik Egy cellát aktívnak nevezünk egy adott időpillanatban, ha annak változik a kimenete. a kimenete.
y(t)y(t)=1=1
Csatolt CNN template tervezés: Csatolt CNN template tervezés:
1)(),()(,
stykljiNklC
klij
r
A
Inaktív cella:Inaktív cella: Egy cellát inaktívnak nevezünk egy adott időpillanatban, ha annak stabil Egy cellát inaktívnak nevezünk egy adott időpillanatban, ha annak stabil a kimenete.a kimenete.
A A kijön szaturációs tartományból és kijön szaturációs tartományból és átmegy a másikbaátmegy a másikba
y(t)y(t)==--11 1)(),()(,
stykljiNklC
klij
r
A
y(t)y(t)==--11 és és
y(t)y(t)=1=1 és és 1)(),()(,
stykljiNklC
klij
r
A
1)(),()(,
stykljiNklC
klij
r
A
Bennt marad az adott szaturációs Bennt marad az adott szaturációs tartománybantartományban
Propagálás tulajdonságai
• I. Szimmetrikus vagy aszimmetrikus:– Egyformán viselkedik a fekete és a fehér pixelekre,
vagy sem? Szimmetrikus esetben az áram mindig nulla, aszimmetrikus esetekben pedig nullától különböző.
• II. Irányított vagy nem irányított– Irányítani inputon levő képen keresztül lehet egy
terjedést. Ha a B template nem nulla, akkor a terjedés irányított, különben nem.
Csatolt CNN template tervezés: Csatolt CNN template tervezés:
Csatolt CNN template tervezés:Csatolt CNN template tervezés:
A tervezés lépéseiA tervezés lépéseiA feladat pontos globális leírása
A lokális szabályok és az etalonok származtatása
A template formula meghatározása
Egyenlőtlenség rendszer generáslás
Robusztus template választás
A egyenlőtlenség rendszer megoldása
Csatolt CNN template tervezés: Csatolt CNN template tervezés:
Tervezési példa III:Tervezési példa III:árnyék generálás jobbraárnyék generálás jobbra
initial state final output
A feladat globális leírása:A feladat globális leírása:Ez egy vonalmenti (egydimenziós) probléma. Ha van egy sorban Ez egy vonalmenti (egydimenziós) probléma. Ha van egy sorban egy fekete pixel, akkor az összes, tőle jobbra levő pixelnek egy fekete pixel, akkor az összes, tőle jobbra levő pixelnek feketére kell változnia, a többit változatlanul kell hagyni. A feketére kell változnia, a többit változatlanul kell hagyni. A feladat aszimmetrikus és nem irányított terjedést ír elő.feladat aszimmetrikus és nem irányított terjedést ír elő.
Csatolt CNN template tervezés :Csatolt CNN template tervezés :
Lokális szabályokLokális szabályok
Egy fehér pixelnek feketére kell változnia, ha van fekete bal oldali szomszédja;
A többi pixelnek nem szabad változnia; Szimmetrikus? (nem, ezért z0) Irányított? (nem, ezért B=0)
Az etalon:Az etalon:
Template formula Template formula
meghatározásmeghatározás::
A B
0 0 0
0
0 0 0
0 0 0
0 0 0
0 0 0
b a z i, ,
Csatolt CNN template tervezés :Csatolt CNN template tervezés :
Egyenlőtlenség rendszer generálásEgyenlőtlenség rendszer generálás lokális kezdeti
pixel elrendezés
várt kimenet
állapot egyenlőt-lenség
fehér inaktív -a-b+i<-1
fekete inaktív a-b+i>1
fekete inaktív a+b+i>1
fekete aktív -a+b+i>-1
A B
0 0 0
3 3 0
0 0 0
0 0 0
0 0 0
0 0 0
3, , zEredmény template:
Csatolt CNN template tervezés: Csatolt CNN template tervezés:
Tervezési példa IV: Tervezési példa IV: összeköttetöttség ellenőrzéseösszeköttetöttség ellenőrzése
A feladat globális leírása:A feladat globális leírása:Adott két kép. Töröljük le a második képről azokat a fekete Adott két kép. Töröljük le a második képről azokat a fekete alakzatokat, amelyeknek a mérete az első képen nagyobb. alakzatokat, amelyeknek a mérete az első képen nagyobb. A feladat aszimmetrikus és irányított terjedést ír elő.A feladat aszimmetrikus és irányított terjedést ír elő.
első kép második kép várt kimenet
Egy fekete pixelnek fehérre kell változnia, ha van legalább egy olyan szomszédja, melynek kimeneti értéke fehér bemeneti értéke pedig fekete;
A többi pixelnek nem szabad változnia;
Az etalon:Az etalon:Template formula Template formula meghatározás:meghatározás:
Csatolt CNN template tervezés :Csatolt CNN template tervezés :
Lokális szabályokLokális szabályok
iz
b
bcb
b
b
bab
b
,
00
00
,
00
00
BA
Csatolt CNN template tervezés :Csatolt CNN template tervezés :
Egyenlőtlenség rendszer generálásEgyenlőtlenség rendszer generálás
5.4,
05.00
5.035.0
05.00
,
05.00
5.035.0
05.00
zBA
Eredmény template:
output input # of matchingpixels
state desired output relation
black (+1) black (+1) 0 active black (+1) a+c+i>1black (+1) black (+1) 1 inactive white (-1) a-2b+c+i<1black (+1) black (+1) 2 inactive white (-1) a-4b+c+i<1black (+1) black (+1) 3 inactive white (-1) a-6b+c+i<1black (+1) black (+1) 4 inactive white (-1) a-8b+c+i<1white (-1) black (+1) 0 inactive white (-1) -a+c+i<-1white (-1) black (+1) 1 inactive white (-1) -a-2b+c+i<-1white (-1) black (+1) 2 inactive white (-1) -a-4b+c+i<-1 (1)white (-1) black (+1) 3 inactive white (-1) -a-6b+c+i<-1white (-1) black (+1) 4 inactive white (-1) -a-8b+c+i<-1white (-1) white (-1) 0 inactive white (-1) -a-c+i<-1white (-1) white (-1) 1 inactive white (-1) -a-2b+c-i<-1white (-1) white (-1) 2 inactive white (-1) -a-4b-c+i<-1white (-1) white (-1) 3 inactive white (-1) -a-6b-c+i<-1white (-1) white (-1) 4 inactive white (-1) -a-8b-c+i<-1
Top Related