440 likes | 648 Views
INKREMENT ÁLNY SYSTÉM PRE ROZPOZNÁVANIE OBJEKTOV. TOMÁŠ REIFF. Školiteľ: PROF. ING. PETER SINČÁK, CSC. Motivácia M ulti- A gent S erving S ystem S cale I nvariant F eature T ransform S peeded U p R obust F eatures Post processing Demo vide o Tézy budúcej dizertačnej práce. OBSAH.
E N D
INKREMENTÁLNY SYSTÉM PRE ROZPOZNÁVANIE OBJEKTOV TOMÁŠ REIFF Školiteľ: PROF. ING. PETER SINČÁK, CSC.
Motivácia • Multi-Agent Serving System • Scale Invariant Feature Transform • Speeded Up Robust Features • Post processing • Demo video • Tézy budúcej dizertačnej práce OBSAH TOMÁŠ REIFF 17.3.2010 12 / 44
vytvorenie systému použiteľného na rôzne úlohy hlavne z oblasti umelej inteligencie • pochopenie vybraných metód počítačového videnia na rozpoznávanie objektov • sprístupniť tieto metódy ľuďom z oblasti umelej inteligencie prostredníctvom spomínaného systému • snaha vylepšiť tieto metódy s použitím metód umelej inteligencie ... • prispieť k nasadzovaniu metód umelej inteligencie do reálneho prostredia MOTIVÁCIA TOMÁŠ REIFF 17.3.2010 13 / 44
zmeniť tvorbu jednoúčelových programov na tvorbu a zber užitočných pluginov (knižníc s určitou funkcionalitou) • využiť čoraz silnejšiu platformu .NET, ktorá je pre študentov bližšia než často používané C/C++ • vytvoriť systém s ktorým by vedeli pracovať aj ľudia bez veľkých programátorských skúseností • súčasne ponechať programátorom možnosť sa realizovať • nepoužívať rôzne konfiguračné súbory ale nastavovať všetko cez pohodlný grafický interface MASS – MOTIVÁCIA TOMÁŠ REIFF 17.3.2010 14 / 44
pluginový prístup • jednoduchosť • klient-server • inkrementalita • „user friendly“ • dostupný a otvorený MASS – DESIGN GOALS TOMÁŠ REIFF 17.3.2010 15 / 44
plugin = menšia knižnica s určitou funkcionalitou • každý plugin obsahuje aj základné informácie o svojej funkcionalite (IPlugin) • podľa typu pluginu implementuje príslušné rozhrania • pomocou týchto rozhraní je možné pluginy dynamicky používať • ktoré pluginy a ako sa tieto pluginy použijú nastavuje užívateľ počas behu programu • zmena metódy si takto nevyžaduje zmenu kódu MASS – PLUGINOVÝ PRÍSTUP TOMÁŠ REIFF 17.3.2010 16 / 44
používa sa len 7 základných typov pluginov MASS – JEDNODUCHOSŤ TOMÁŠ REIFF 17.3.2010 17 / 44
jednoduchá forma multi-agentovosti • klienti pracujú pre server, alebo ho využívajú • zrýchlenie zberu dát a ich spestrenie • centralizácia znalostí • jednoduchý prechod medzi cloud a grid prístupom • komunikácia pomocou socketov • funkcie na posielanie resp. prijímanie všetkých typov dát (.NET serializácia + rýchla serializácia) MASS – KLIENT-SERVER TOMÁŠ REIFF 17.3.2010 18 / 44
dôležitá vlastnosť pre systémy zberajúce znalosti • ekvivalentná so schopnosťou ukladať viac a viac znalostí • potreba databázy • MASS má vlastnú databázu schopnú automaticky ukladať ľubovoľné triedy bez ich mapovania (Trieda: Row<Trieda>) • podpora tabuľkových liniek a čiastočne indexácie • požiadavky vo forme LanguageIntegratedQuery var results = from c in SomeCollection where c.SomeProperty < someValue * 5 select new {c.SomeProperty, c.OtherProperty}; MASS – INKREMENTALITA TOMÁŠ REIFF 17.3.2010 19 / 44
MASS – „USER FRIENDLY“ TOMÁŠ REIFF 17.3.2010 10 / 44
MASS – „USER FRIENDLY“ II TOMÁŠ REIFF 17.3.2010 11 / 44
http://brain.fei.tuke.sk • inštalačný balíček • repozitár zdrojových kódov • wiki stránky • webové rozhranie systému • zatiaľ bez dokumentácie • wiki stránky nedostatočné MASS – DOSTUPNÝ A OTVORENÝ TOMÁŠ REIFF 17.3.2010 12 / 44
metóda lokálnych vlastností • odolná voči otočeniu, šumu, zmene veľkosti, osvetlenia, uhlu pohľadu • detektor • nájdenie kľúčových bodov (NKB) • presná poloha kľúčového bodu (PPKB) • odstránenie bodu s nízkym kontrastom (OBNK) • odstránenie bodu z oblasti pri hrane (OBOH) • deskriptor • priradenie orientácie (PO) • vytvorenie deskriptora (VD) SIFT TOMÁŠ REIFF 17.3.2010 13 / 44
zostrojenie množiny škál SIFT – NKB TOMÁŠ REIFF 17.3.2010 14 / 44
detekcia extrémov rozdielu Gaussiánov • hľadá sa v 3x3x3 susedstve • ak maximum, alebo minimum, máme kľúčový bod SIFT – NKB II TOMÁŠ REIFF 17.3.2010 15 / 44
nasadenie 3D kvadratickej funkcie na okolie extrému • použitie rozšírenia pomocou Taylorovho rádu na funkciu rozdielu Gaussiánov, ktorá je posunutá na bod extrému • po zderivovaní podľa p výsledok dáme rovný nule, z čoho získame zmenu pozície extrému (1) (2) SIFT – PPKB TOMÁŠ REIFF 17.3.2010 16 / 44
toto je možné prepísať do maticového tvaru • derivácie aproximujeme podľa rozdielov • po tomto kroku teda poznáme zmenu polohy extrému p* SIFT – PPKB II TOMÁŠ REIFF 17.3.2010 17 / 44
keďže sme v predchádzajúcom bode spresnili polohu extrému, teraz musíme určiť jeho novú hodnotu • dosadíme preto rovnicu (2) do rovnice (1) • toto sa dá prepísať do nasledujúceho tvaru • teraz už vieme určiť novú hodnotu extrému, ktorá predstavuje aj kontrast bodu • odstraňujeme body s |D(p*)|<0,03 SIFT – OBNK TOMÁŠ REIFF 17.3.2010 18 / 44
použijeme maticu Hessiánu • namiesto počítania jej vlastných hodnôt stačí pomer najväčšej αa najmenšej βmagnitúdy (3) (4) SIFT – OBOH TOMÁŠ REIFF 17.3.2010 19 / 44
pomer týchto magnitúd definujeme výrazom α=r*β, ktorý dosadíme do pomeru rovníc (3) a (4) • ak rh je určitý hraničný pomer, potom pre body, ktoré sa vzhľadom na tento pomer nenachádzajú na hrane dostávame • SIFT používa rh=10 SIFT – OBOH II TOMÁŠ REIFF 17.3.2010 20 / 44
predpokladáme, že pre všetky body L(x,y)sú už dopredu vypočítané veľkosti grádientu m(x,y)a orientácie θ(x,y) • zostrojíme histogram orientácii okolia kľúčového bodu • okolie bude kruhového tvaru s polomerom rovným 4,5 násobku škály bodu • orientácie násobíme veľkosťou grádientu ako aj Gaussovskou váhou so σ rovnou1,5 násobku škály bodu SIFT – PO TOMÁŠ REIFF 17.3.2010 21 / 44
po pridaní všetkých hodnôt z okolia do histogramu sa histogram vyhladí, pričom nové hodnoty budú priemerom predchádzajúcej, starej a nasledujúcej • bodu sa priradí orientácia, ktorá zodpovedá najväčšej hodnote v histograme • naviac pre všetky ostatné hodnoty, ktoré sú viac ako 80% maximálnej, sa vytvorí nový kľúčový bod s danou orientáciou SIFT – PO II TOMÁŠ REIFF 17.3.2010 22 / 44
na vytvorenie deskriptora z okolia bodu použijeme dopredu vypočítané veľkosti grádientov a orientácie • okolie bude štvorcové zo stranou 16 násobku škály bodu, natočené podľa orientácie bodu • toto okolie bude rozdelené na 16 menších subokolí Konštrukcia deskriptora 2x2x8 SIFT – VD TOMÁŠ REIFF 17.3.2010 23 / 44
deskriptor bude mať teda 3 dimenzie a tými sú x, y index subokolia a index histogramu • výsledný deskriptor bude 4x4x8=128rozmerný vektor • grádienty bodov subokolí násobené Gaussovskou váhou so σ=8sa podľa ich orientácii zaradia do 8 priehradkového histogramu a to aj do susedných priehradok • predtým sa však použije trilineárna interpolácia, aby sa v histograme predišlo okrajovým javom • pre každú dimenziu násobímehodnotu výrazom 1-d, kde d je vzdialenosť vzorky od stredu priehradky meraná v jednotkách veľkosti priehradky SIFT – VD II TOMÁŠ REIFF 17.3.2010 24 / 44
po pridaní bodov z celého okolia do deskriptora musíme deskriptor upraviť za účelom odolnosti voči zmene osvetlenia • aby sme dosiahli odolnosť voči lineárnym zmenám osvetlenia, premeníme deskriptor na jednotkový vektor • nakoniec na eliminovanie nelineárnych zmien osvetlenia osekáme hodnoty deskriptora na hodnotu 0,2 a vzápätí zas premeníme na jednotkový vektor • teraz už máme finálny deskriptor daného bodu SIFT – VD III TOMÁŠ REIFF 17.3.2010 25 / 44
metóda lokálnych vlastností • odolná voči otočeniu, šumu, zmene veľkosti, osvetlenia, uhlu pohľadu • detektor • integrálny obraz (IO) • aproximovaný determinant Hessiánu (ADH) • reprezentácia priestoru škál (RPŠ) • detekcia a presná lokalizácia kľúčových bodov (DPLKB) • deskriptor • priradenie orientácie (PO) • vytvorenie deskriptora (VD) SURF TOMÁŠ REIFF 17.3.2010 26 / 44
integrálny obraz umožňuje výpočet sumy intenzít ľubovoľne veľkej rovnej štvorcovej oblasti iba pomocou troch aditívnych operácii SURF - IO TOMÁŠ REIFF 17.3.2010 27 / 44
SURF detektor je založený na matici Hessiánu • Lyy, Lxy a ich aproximácie Dyya Dxy • aproximácia determinantu matice Hessiánu SURF - ADH TOMÁŠ REIFF 17.3.2010 28 / 44
namiesto zmenšovania obrazu sa zväčšuje veľkosť filtra • najmenší rozdiel = 6 • 1. okt.: 9, 15, 21, 27 • 2. okt.: 15, 27, 39, 51 • 3. okt.: 27, 51, 75, 99 • ... SURF - RPŠ TOMÁŠ REIFF 17.3.2010 29 / 44
detekcia extrémov aproximácií determinantov matice Hessiánu • hľadá sa v 3x3x3 susedstve • ak maximum, máme kľúčový bod det(Happrox) SURF - DPLKB TOMÁŠ REIFF 17.3.2010 30 / 44
na priradenie orientácie ako aj na vytvorenie deskriptora používa SURF jednoduché Haar wavelet odozvy • Haar odozvy (4s) bodov z kruhovej oblasti (r=6s) okolo kľúčového bodu sa vážia Gaussiánom (σ=2s) zarovnanom v kľúčovom bode • odozvy jedného bodu tvoria bod v grafe orientácii ktorého súradnice sú dané horizontálnou a vertikálnou Haar odozvou • následne použijeme kĺzavé okno veľkosti π/3 v ktorom tieto odozvy posčítavame a budú tvoriť jeden vektor • najdlhší takýto vektor nám určí orientáciu SURF - PO TOMÁŠ REIFF 17.3.2010 31 / 44
SURF deskriptor je 64 rozmerný vektor (polovica ako mal SIFT) • najprv sa vytvorí štvorcové okolie kľúčového bodu natočené v jeho orientácii s veľkosťou 20s • okolie bude pozostávať zo 4x4 sub-okolí, pričom ku každému sa priradí vektor sub-okolia v tvorený Haar odozvami dx, dys veľkosťou filtra 2s a váženými Gaussiánom (σ = 3.3s) zarovnanom v kľúčovom bode • nakoniec premeníme deskriptor na jednotkový vektor SURF - VD TOMÁŠ REIFF 17.3.2010 32 / 44
do databázy sa vkladajú deskriptory naučených objektov spolu s názvom objektu, absolútnou škálou, rotáciou a polohou v trénovacom obrázku • pri testovaní sa deskriptory z testovacieho obrázka klasifikujú pomocou metódy najbližšieho suseda, čím vzniknú deskriptorové páry (testovací – modelový deskriptor) • namiesto Euklidovej vzdialenosti je použitá Manhattan vzdialenosť • klasifikácia sa považuje za správnu ak pomer vzdialenosti od najbližšieho a druhého najbližšieho suseda je menší ako 0,7 KLASIFIKÁCIA DESKRIPTOROV TOMÁŠ REIFF 17.3.2010 33 / 44
budú sa zhlukovať deskriptorové páry, ktoré súhlasia v tvrdení o umiestnení modelového objektu na testovacom obrázku • zhlukuje sa podľa rotácie, absolútnej škály a posunutia • pre každý z týchto parametrov sa pár zaradí do 2 najbližších zhlukov • celkovo teda bude každý pár v 2x2x2x2=16 zhlukoch • po zhlukovaní sa zo všetkých zhlukov odstránia páry s rovnakou polohou na testovacom obrázku, ponechá sa len jeden z nich • nakoniec sa odstránia všetky zhluky, ktoré obsahujú menej ako 3 deskriptorové páry HOUGHOVÁ TRANSFORMÁCIA TOMÁŠ REIFF 17.3.2010 34 / 44
budú sa zhlukovať deskriptorové páry, ktoré súhlasia v tvrdení o umiestnení modelového objektu na testovacom obrázku • zhlukuje sa podľa rotácie, absolútnej škály a posunutia (i – testovací, m– modelový deskriptor) • rotácia po 30°, absolútna škála po faktore 2, posunutie po 0,25 násobku najväčšej strany modelu násobenej zväčšením HOUGHOVÁ TRANSFORMÁCIA II TOMÁŠ REIFF 17.3.2010 35 / 44
pre každý zhlukovací parameter sa deskriptorový pár zaradí do dvoch najbližších zhlukov • deskriptorový pár bude teda zaradený celkovo do 2x2x2x2=16zhlukov • po zaradení všetkých párov sa zhluky prechádzajú a z deskriptorových párov s rovnakou polohou v testovacom obrázku sa ponechá len jeden • nakoniec sú zhluky s počtom deskriptorových párov menším ako 3 odstránené HOUGHOVÁ TRANSFORMÁCIA III TOMÁŠ REIFF 17.3.2010 36 / 44
pre zhluky z Hough-ovej transformácie sa vypočítajú afinné parametre pomocou metódy najmenších štvorcov • deskriptorové páry, ktoré „nesedia“ sa v každom cykle vylučujú a parametre sa prepočítajú až „sedia“ všetky páry • pridajú sa páry z fázy pred transformáciou, ktoré sedia (tu sa už parametre neprepočítavajú) AFINNÉ PARAMETRE TOMÁŠ REIFF 17.3.2010 37 / 44
pre zhluky vypočítame afinné parametre, pričom [x y]Tje poloha modelového a [u v]Tpoloha testovacieho deskriptora a pre každý ďalší pár pridáme do vzorca dva riadky • tento lineárny systém Ax=b riešime metódou najmenších štvorcov, pričom pre riešenie platí: AFINNÉ PARAMETRE II TOMÁŠ REIFF 17.3.2010 38 / 44
teraz zo zhlukov odstránime páry, ktorým afinné parametre nesedia a teda skresľujú ohraničenie objektu • použijeme polovičný interval ako sme použili pri Hough-ovej transformácii • po odstránení zlých párov sa afinné parametre vypočítajú zas a toto sa opakuje pokým sa počet párov v zhluku mení • keďže sme Hough-ovou transformáciou mohli odstrániť aj dobré deskriptorové páry, teraz pridáme späť všetky páry z fázy pred transformáciou, ktoré „sedia“ • takto dostaneme zhluky, ktoré svojimi parametrami predstavujú viacnásobné ohraničenia rozpoznaných objektov AFINNÉ PARAMETRE III TOMÁŠ REIFF 17.3.2010 39 / 44
Demo video DEMO VIDEO TOMÁŠ REIFF 17.3.2010 40 / 44
Implementácia vybraných metód vo forme MASS pluginov. • metódy SIFT a SURF sa implementujú do MASS pluginov • Návrh a MASS implementácia nového prístupu k post processing-u pre rozpoznávanie objektov s využitím metód umelej inteligencie. • pôvodný prístup síce dokáže presne ohraničiť objekty, no s použitím Hough-ovej transformácie budú tieto ohraničenia viacnásobné vzhľadom na vysoký počet zhlukov pre jeden objekt • použitie zhlukovacích metód by post processing malo zrýchliť a navyše by nemali vznikať viacnásobné ohraničenia, čo by napríklad výrazne pomohlo úlohám ako „Spočítaj hodnotu bankoviek na obrázku“ TÉZY BUDÚCEJ DIZERTAČNEJ PRÁCE TOMÁŠ REIFF 17.3.2010 41 / 44
Vyhodnotenie a porovnanie navrhnutého post processing prístupu s aktuálnym prístupom • navrhnutý ako aj aktuálny prístup k post processing-u sa otestujú na obrazoch s viacerými rovnakými alebo rôznymi objektmi s rôznym počtom nájdených deskriptorov a ich výsledky sa porovnajú z hľadiska presnosti aj rýchlosti • Návrh a MASS implementácia vizuálneho systému pre Nao robota • začlenenie robota Nao do systému MASS a návrh schémy jeho vizuálneho systému pre rôzne úlohy s ním spojené (objectrecognition, tracking, foregoundsegmentation, ...) TÉZY BUDÚCEJ DIZERTAČNEJ PRÁCE II TOMÁŠ REIFF 17.3.2010 42 / 44
Demonštrácia navrhnutého vizuálneho systému pre Nao robota na úlohe rozpoznávania objektov • cieľom demonštrácie bude naučiť robota Nao rozpoznávať vybrané objekty a určitým spôsobom reagovať na ich prítomnosť respektíve neprítomnosť. • konkrétnejšie by to mohlo byť niečo z týchto úloh: Nao ako rozhodca v pokri, Nao ako pokladník, Nao ako pracovník zmenárne, ... TÉZY BUDÚCEJ DIZERTAČNEJ PRÁCE III TOMÁŠ REIFF 17.3.2010 43 / 44
Rád odpoviem na Vaše otázky... ĎAKUJEM ZA POZORNOSŤ TOMÁŠ REIFF 17.3.2010 44 / 44