msc thesis slides (traffic sign recognition)

35
KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA, KÖVETÉSE ÉS SZEGMENTÁLÁSA Giczi Dániel Mérnökinformatikus MSc Témavezető: Dr. Czúni László

Upload: daniel-giczi

Post on 22-Jan-2018

54 views

Category:

Software


2 download

TRANSCRIPT

KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA, KÖVETÉSE ÉS SZEGMENTÁLÁSA

Giczi DánielMérnökinformatikus MSc

Témavezető: Dr. Czúni László

Célkitűzés

• Olyan rendszer kifejlesztése:• Amely képes legalább négy különböző jelzőtáblát

felismerni;

• Amely legalább 80% találati aránnyal (recall) rendelkezik;

• Amely szegmentálja a találatokat a detektált jelzőtáblának megfelelően;

• Amely találatkövetést és szűrést végez a minél alacsonyabb hamis pozitív arány eléréséért (precizitás);

• Valós idejű (asztali számítógépen)

• (Későbbi fúzionálás lidar adatokkal)

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA2/24

Motiváció

• Nem triviális probléma

• Jelen kor kihívása

• Még nem érhető el kész formában

• Összetett szoftver:• Detektál

• Követ

• Szegmentál

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA3/24

Felhasznált technológia

• Visual C++ 2012

• OpenCV 2.4.11

• MATLAB

• Különböző típusú kamerák

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA4/24

Rendszer felépítése

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA5/24

Szoftverek szerkezete

• Szoftver projektek• Annotation: Naplózás (lib)

• SignDetector: Teljes lánc (lib)

• ObjectTracking: Követés (lib)

• FollowedAnnotationTool: Annotáló és értékelő program

• CliDetector: Parancssoros futtatókörnyezet

• MatlabSignDetection: MATLAB interfész

• Kódismétlés teljesen ki van küszöbölve

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA6/24

Detekciós megközelítések

• Tetszőleges objektumok detektálásának módjai:• Rész-egész alapú

• Leíró reprezentáció alapú

• Osztályozó struktúra

• Jelzőtáblák detektálására megközelítések:• Alak (élek) alapján

• Szín alapján

• Leíró alapú (pl. Haar, LBP, HOG)

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA7/24

Haar-szerű detekció

• OpenCV implementáció

• Kaszkád működés

• Egyszerű és gyors

• Szürkeskálás működés

• Több típusú és irányú feature

• Kiértékelés konstans időben (integrál kép)

• Azonos méretű területek kiértékelése

Haar-szerű feature típusok

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA8/24

Kaszkád működés

Ábra: Kaszkád működés illusztrációja (H: gyenge osztályozók)

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA9/24

Szegmentálási megközelítések

• Intenzitás alapú küszöbölés

• Diszkontinuitás alapú

• Régiónövelés alapú (pl. Watershed)

• Klaszterezés alapú

• Hibrid megoldások

• …

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA10/24

Képkomponensek színi szűrése

• Globális színtartományok

• Bináris maszkok elkészítése

• Összefüggő komponensek keresése

• Szűrés• Elhelyezkedés és méret alapján (követés)

• Szegmentált háttéren van-e a találat

• Erős színi torzulás

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA11/24

Ábra: Színi maszk előállítása

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA12/24

Képek sorrendben:1. Eredeti kép2. Maszk (Tartomány A)3. Maszk (Tartomány B)4. Maszk (Tartomány C)5. Logikai VAGY6. Komponensek

szűrése

Ábra: Háttérszegmentáció

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA13/24

Megerősítéses követés

• Objektumok több képkockán át követése

• Találatok osztályozása színi komponsens alapján:• Erős találat

• Gyenge találat

• Pontszám alapján küszöb

• Objektumok ismételt azonosítása

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA14/24

Táblatípusok

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA15/24

Szegmentációfázisai

1. Eredeti kép

2. Watershed középről indítva

3. Színi maszk előállítása és

komponensek szűrése

4. Színi maszk morfológiai

kiterjesztése (adaptív)

5. Összevonás

6. Konvex burkolóÁbra: Konvex burkoló

2016. 06. 13.

Annotáló és kiértékelő szoftver

• Félautomata működés (követés)

• Két struktúra feltöltése:• DetekcióAnnotáció leképezés (egy-egy)• AnnotációDetekció megfeleltetés (egy-több)

• Kimenete:• Valós találatok száma• Hamis pozitív találatok száma• Befoglaló téglalap középpontjának és annotált

középpont átlagos távolsága• Befoglaló téglalap méretének és az annotált téglalapok

méretének átlagos arányszáma

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA17/24

All GT objects count: 6Detected GT obejcts count: 5False positive objects count: 1Center percision: 1.2Size percision: 1.24674

### Identifier pairs ###GT Detected1 22 33 44 NULL5 76 9

Ábra: Kiértékelő kimenetének illusztrációja

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA18/24

Tanító adatbázisok

• Tanítóminták:• Pozitív• Negatív

• Források:• Saját adatbázis• IFNI intézet

• Tanítás:• OpenCV CLI

eszközökkel

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA19/24

71 102

1410

66

540

56

1440

176 168

1116

175

1207

175

1336

Tanítóminták eloszlása

Pozitív Negatív

Tesztfelvételek

• Kamerák:• Prestigio RoadRunner 520GPS

• Nikon D3200

• Samsung Galaxy S2

• Helyszínek• Budapest, Dózsa György út és környéke

• Győr, Liszt Ferenc utca és környéke

Összesen: 27 perc

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA20/24

Manuális mérésFelvétel

TruePositive

FalseNegative

FalsePositive

Recall(Találati a.)

Precizitás(TP/FP)

FalsePositive

arány

0090 6 1 0 85,7% 100% 0%

0091 13 8 1 61,2% 92,9% 7.1%

0092 4 1 2 80% 66,6% 33,3%

0093 11 2 0 84,6% 100% 0%

0094 9 3 0 75% 100% 0%

leaving 15 0 3 100% 83% 17%

orgona 7 0 0 100% 100% 0%

Eredő 65 15 6 81,25% 90,77% 9,23%

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA21/24

Felvétel TalálatokHamis pozitív

Hamis negatív

Közzépp.átlag táv.

Méretpontosság

0092 – csak követés

Gyalogátkelő 0 7 0 - -

Főútvonal 3 29+3 1 1,1px 117%

Stop 0 7 0 - -

Elsőbbségadás 1 13 0 2px 98%

Eredő 4 56+3* 0 - -

0092 – megerősítéses követés

Gyalogátkelő 0 0 0 - -

Főútvonal 3 4+3 1 0,8px 117%

Stop 0 0 0 - -

Elsőbbségadás 1 5 0 2px 99%

Eredő 4 9+3* 1 - -

0092 – teljes szűréssel (háttér és megerősítés)

Gyalogátkelő 0 0 0 - -

Főútvonal 3 0+3 1 1,74px 114%

Stop 0 0 0 - -

Elsőbbségadás 1 2 0 2px 99%

Eredő 4 2+3* 1 - -

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA22/24

*: Automatikus mérésből származó hiba

Összefoglalás

• Adatbázis gyűjtése (tanító adathalmaz, felvételek)

• Detekció, szegmentálás, szűrés logika kidolgozása

• A követelményekben meghatározott >80% találati arány teljesült (81,25%)

• 9.23% hamis pozitív arány mellett

• A futási idő valós idejű (9.58 FPS @2.8GHz)

• A teljesítmény jónak mondható, további fejlesztésekkel tovább javítható

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA23/24

Köszönöm a figyelmet!

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA24/24

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA25/24

Elkészült szoftverek

• Alkalmazások• CLI futtató környezet

• MATLAB interfész (közel C++ futási idő)

• Annotáló és kiértékelő program

• Adatbázis• Saját gyűjtött adatbázis Google StreetView forrásból

• Leíró XML állományok• Különböző táblákra (két adatbázisból)

• Tesztvideók

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA26/24

Ábra: Követés-hozzárendelés probléma

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA27/24

Mérőszámok

𝑅𝑒𝑐𝑎𝑙𝑙 =𝑇𝑃

𝑇𝑃 + 𝐹𝑁∗ 100%

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =𝑇𝑃

𝑇𝑃 + 𝐹𝑃∗ 100%

𝐹𝑃𝑅𝑎𝑡𝑒 = 1 − Precision =𝐹𝑃

𝑇𝑃 + 𝐹𝑃∗ 100%

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA28/24

Manuális mérés (táblázat)Start idő Vég idő Tábla Találat

0:00:47 0:01:09 Y Y

0:00:52 0:01:10 Pr X

0:02:45 0:02:46 Pr Y

0:03:10 0:03:11 Pr Y

0:03:31 0:03:33 Pr Y

0:03:40 0:03:42 Pr Y

0:04:04 0:04:05 Pr Y

Start idő Vég idő

0:00:23 0:00:23

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA29/24

Naplózás

• 1049 2 0 1119 50 75 75 1 251 98 50 46

• 1050 2 0 1128 38 79 77 1 242 89 53 50

• 1051 2 0 1129 28 89 75 1 235 84 47 46

• 1052 2 0 1145 19 83 77 1 227 78 49 45

• 1053 2 0 1159 12 84 79 1 222 70 50 52

• 1054 2 0 1171 12 83 83 1 217 76 51 51

• 1055 2 1 209 82 51 52 0 1179 15 91 88

• 1056 2 0 1184 28 94 89 1 198 94 54 59

• 1057 2 0 1197 36 83 90 1 189 113 56 54

• 1058 1 1 181 122 59 49

• 1059 1 1 182 117 59 53

• 1060 1 1 174 112 60 52

• 1061 1 1 166 109 63 53

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA30/24

Integrálkép

𝑠 𝑥, 𝑦 = 𝑖 𝑥, 𝑦 + 𝑠 𝑥 − 1, 𝑦 + 𝑠 𝑥, 𝑦 − 1 − 𝑠(𝑥 − 1, 𝑦 − 1

𝑖 𝑥′, 𝑦′ = 𝑠 𝐴 + 𝑠 𝐷 − 𝑠 𝐵 − 𝑠(𝐶

Ábra: Integrál kép illusztrációja

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA31/24

Ábra: Színi maszkon végzett címkézés

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA32/24

Futási sebesség méréseFelvétel Felbontás Frame szám Eltelt idő FPS

0090 1280x720 7206 00:12:22 9,71

0091 1280x720 6717 00:11:40 9,59

0092 1280x720 7200 00:12:21 9,72

0093 1280x720 7199 00:12:22 9,7

0094 1280x720 5376 00:09:36 9,3

leaving 1280x720 3977 0:06:53 9,62

orgona 1280x720 1440 00:02:33 9,41

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA33/24

Automatikus mérésFelvétel TP FP FN CP SP

leaving

Gyalogátkelő 6 0 0 6,76px 150%

Főútvonal 0 3 0 - -

Stop 3 0 0 3,67px 176%

Elsőbbségadás 6 0+1* 0 1,84px 132%

0092

Gyalogátkelő 0 0 0 - -

Főútvonal 3 0+3* 1 1.74px 114%

Stop 0 0 0 - -

Elsőbbségadás 1 2 0 2px 99%

Eredő 19 5+4* 1 - -

CP: Középpont pontossága(Távolságok átlaga)

SP: Méret pontossága(Terület aránya az annotációhoz képest)

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA34/24

Ábra: Követéshez használt adatszerkezet

2016. 06. 13.KÖZLEKEDÉSI JELZŐTÁBLÁK DETEKCIÓJA,

KÖVETÉSE ÉS SZEGMENTÁLÁSA35/24