Match Move Juhász Endre Muhi Kornél Urbán Szabolcs Számítógépes látás projekt.

Slides:



Advertisements
Hasonló előadás
ÉRDEKES PONTOK KINYERÉSE DIGITÁLIS KÉPEKEN. BEVEZETÉS  ALAPPROBLÉMA  Jellemzőpontok detektálása mindkét képen  Kinyert pontok megfeleltetése  Megfeleltetések.
Advertisements

Érintés.
Fejmozgás alapú gesztusok felismerése
L ÁTHATÓSÁG MEGHATÁROZÁSA tavaszi félév.
Project 5: Video background replacement
MEGHÍVÁS TÁRGYALÁS. MEGHÍVÁS 1. lépés Az üzenet: Szia! A segítségedet szeretném kérni! Beszélhetünk valamikor? Köszönettel: Sanyi Igen! Ez a számom: +36.
IP vagy Analóg Videó Megfigyelő rendszer
Testek egyenes vonalú egyenletesen változó mozgása
Számítógépes ismeretek 5. óra
Balogh Tamás, Koós Krisztián, Laczi Balázs, Tari Tamás 2013 Tavasz.
Horváth Zsolt Schnádenberger Gábor Varjas Viktor
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
ALAKZATOK TRANSZFORMÁCIÓJA ÚJ KÉPSÍKOK BEVEZETÉSÉVEL
Foltkeresés tüdő röntgen képeken
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Záridő Blende Fénymérés
Annotáció, annotációs útmutató
Ipari képfeldolgozás projekt I. mérföldkő
Balogh Tamás, Koós Krisztián, Laczi Balázs, Tari Tamás 2013 Tavasz.
Intelligens ébresztő óra Számítógépes látás projekt 2011.
Botyánszki Laczik Rácz
TÁMOP A-11/1/KONV projekt „Telemedicína fókuszú kutatások Orvosi, Matematikai és Informatikai tudományterületeken” Szívhang monitorozása.
Vámossy Zoltán 2004 (Mubarak Shah, Gonzales-Woods anyagai alapján)
2. Koordináta-rendszerek és transzformációk 2.1. Koordináta-rendszerek 2.2. Az egyenes és a sík egyenlete 2.3. Affin transzformációk 2.4. Projektív transzformációk.
Dijkstra algoritmusa Egy csúcsból a többibe vezető legkisebb költségű út megkeresése Az algoritmus működésének leírása és bemutatása LL.
Programozás I. Ciklusok
Matematika III. előadások MINB083, MILB083
Mérnöki Fizika II. 3. előadás
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
Kaliforniai paprika árváltozásának okai Készítette: Dér András.
A lények és törekvések bukásának valódi oka az igazi, használható MIÉRT megfigyelésére és megtalálására való képtelenség. Adatsorozat 22. A lények és törekvések.
Szűcs Norbert A SIP oktatási tapasztalatai Magyarországon.
Weboldal bemutató Most bemutatjuk hogy mit szeretnék nektek nyújtani weboldalainkon keresztül. Ha kérdésetek van küldjetek -t:
Horváth Zsolt Schnádenberger Gábor Varjas Viktor
HATÉKONY SAJÁTSÁGKIEMELŐK KÉPEK ÖSSZEHASONLÍTÁSÁHOZ MobileAssistant workshop, május 4. Főnix Inkubátorház, 4029 Debrecen, Csapó u. 42. A ép III/2.
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
3. Vetületi ábrázolások számítási eljárásai
Ipari képfeldolgozás projekt II. mérföldkő
Önálló laboratórium Képek szegmentálása textúra analízis segítségével
Funkciói, feladatai és területei
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
Prezentáció a prezentációról
Dolceta - Pénzügyi ismeretek
Vetületi ábrázolás alapjai
Stresszmentes, hatékony vállalkozásvezetés Avagy hogyan építsük fel újra vállalkozásunkat Horváth Győző – május.
A DÖNTÉSHOZATAL METODIKÁJA.
Henkin-Hintikka játék (részben ismétlés) Alapfelállás: -Két játékos van, Én és a Természet (TW képviseli). - A játék tárgya egy zárt mondat: P. - Választanom.
Budapesti Műszaki Főiskola Neumann János Informatikai Kar Informatikai Automatizált Rendszerek Konzulens: Vámossy Zoltán Projekt tagok: Marton Attila Tandari.
Dplusz projekt 1 Dplusz projekt Készítők: Kerti Ágnes, Cseri Orsolya Eszter Konzulens: Vámossy.
TransMotion Emberi mozgás digitalizálása
Kézmozdulat felismerő rendszer
KINECT© szenzor intelligens terekben
Megszorítások, reformok, versenyképesség – Magyarország 2006.
Project 4: Visual motion based Human-Computer Interface Jaksa Zsombor Németh József Ungi Tamás Utasi Tamás.
Máté: Orvosi képfeldolgozás5. előadás1 Mozgó detektor: előnyHátrány állójó időbeli felbontás nincs (rossz) térbeli felbontás mozgójó térbeli felbontás.
ALAKZATOK TRANSZFORMÁCIÓJA ÚJ KÉPSÍKOK BEVEZETÉSÉVEL
Botyánszki Laczik Rácz
PR2 GULYÁS MÁRTON BÁLINT – IIYO5I. Bevezetés  A Willow Garage projektje, a stanfordi fejlesztésű PR1 gép spinoffja  Körülbelül akkora mint egy ember(1,3.
Segítő külső körülmények 5/13. Előkészület – tanár A páros munkához szükséges szöveget kinyomtatni Készítette: Sági Lajos2.
1/19 Hogyan tájékozódnak a robotok? Koczka Levente Eötvös Collegium.
OpenCV CV = Computer Vision
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
HÁLÓZAT Maximális folyam, minimális vágás
Neumann János Informatikai Kar
Nemlineáris dinamikus rendszerek alapjai VI. gyakorlat
Neumann János Informatikai Kar
Nemlineáris dinamikus rendszerek alapjai VII. gyakorlat
Raspberry Kreatív: A Raspberry és Te – mit tudtok kihozni egymásból?
SZÖM II. Fejlesztési szint folyamata 3
Előadás másolata:

Match Move Juhász Endre Muhi Kornél Urbán Szabolcs Számítógépes látás projekt

Feladat  Feladatunk egy mesterséges 3D objektum behelyezése egy rövid videófelvételbe úgy, hogy az a kamera mozgásának megfelelően együtt mozogjon a felvétel színterével. A cél, hogy a tárgy geometriailag illeszkedjen a környezetébe, nem szükséges valóban élethű megjelenést készíteni.

Változások a projektben  OpenCV 2.3  Matlab R2008a  Az alkalmazás szeparálása 3 részre  Tracking  Kamera mátrixok, 3D pontok kiszámítása Matlabban  Szintetikus objektum megjelenítése, vegyítése OpenGL-ben  Próbálkozások:  Bundle adjustment paraméterezése  Előtér-szegmentációval történő takarás-kezelés

Algoritmus 1/3  Kamera kalibrációja (a kamera belső mátrixának meghatározása)  Videó készítése a kalibrált kamerával  Jellemzőpontok detektálása - most a Shi-Tomasi módszerrel történik, amelyet a KLT algoritmussal követünk frame-ről framre.  Minden frame-re:  a fundamentális mátrix meghatározása (Matlab-ban az előadáson vett módszerrel, illetve a Horn féle módszerrel)  a kamera projekciós mátrix meghatározása az esszenciális mátrixból  bundle adjustment alkalmazása (jelen projektben csak egy framenkénti LM-optimalizálás került be)  háttér-előtér pontok szűrése: frame-en detektált jellemzőpontok 3D mélység értékeit előállítva a jellemzőpontok klaszterezése előtér ill. háttér pontokra (mélység érték alapján)  a frame szegmentálása a [3] cikkben említett algoritmussal (az előző klaszterezés inputként történő felhasználásával) – mivel ehhez nem kaptunk implementációt, így a hasonló elven működő OpenCV-s GrabCut alg.-al

Algoritmus 2/3  Objektum példányosítása, és elhelyezése az 1. frame-en (OpenGL-ben)  Első nekifutásra az objektum egyenes állású, a talapzata merőleges a képsíkra és egy fix Z mélységben van elhelyezve  A videó minden frame-jére, amelyhez rendelkezésünkre áll a kamera projekciós mátrix, hajtsuk végre a következőket:  Objektum kirajzolása OpenGL-ben a kamera megfelelő állása mellett  Kalibrált kamera szimulálása OpenGL-ben:  Az így kialakult kép kiolvasása:  Pixel értékek kiolvasása – eltárolása a pixelBuffer-ben

Algoritmus 3/3  Minden frame-re készítsük el a frame és az objektum képének kompozitját - BlendedFrame  A szegmentációs algoritmusból kapott eredmény alapján az összevegyített kép pixeleit másoljuk, ha háttér pontról van szó, illetve az eredeti videóból másoljuk a pixelt ha előtért pontot vizsgálunk. Tehát minden OpenGL frame-re hajtsuk végre a következőt:  A BlendedFrame-t másoljuk az eredmény képre  A videó aktuális frame-jét a szegmentációs eredménnyel maszkolva másoljuk az eredmény frame-re (ahol a maszk 1-es volt, ott vannak előtér pontok, amik takarást jelentenek)  Az így kapott ResultFrame kép kimentése  Végül a kimentett ResultFrame képeket rakjuk össze egy folyamatos mozgóképpé (AVI video)

3D jellemzőpontok előtér-háttér szeparációja

3D jellemzőpontok előtér-háttér szeparációja - konklúzió  A 3D jellemzőpontok pontosabb kiszámítása szükséges (esetleg nagyobb mértékű mozgás esetén pontosabban kiszámítható a háromszögelés, mint frame-ről frame-re lépve), ekkor azonban csak X frame-enként állna rendelkezésünkre szegmentálási információ  Ötlet: minden frame-re az ő és a 10-el rákövetkező közötti elmozdulás alapján számolni, pl:  (1, 11)  (2, 12)  (3, 13)  é.í.t. (viszont ekkor szükséges, hogy a 10 frammel későbbi képen is legyen párja a jellemzőpontnak, egyébként nem működik)  Szofisztikáltabb küszöbölés szükséges (ha tudnánk a 3D objektum pontos helyzetét, ill. a térből nyert 3D pontok skálafaktorát)  Nem biztos, hogy az efajta szimpla küszöbölés elég, lehet azt kellene figyelni, hogy mely pontok azok amelyek viszonylag elől vannak, de mögöttük nincsenek más jellemző pontok (lásd később)

3D jellemzőpontok Matlab-ban (nagyjából felülnézet)

3D jellemzőpontok Matlab-ban (felülnézet)

3D jellemzőpontok Matlab-ban

3D jellemzőpontok Matlab-ban (felülnézet)

Szegmentációs eredmények

Következtetések  Helyes szegmentációs maszkokkal az ötlet életképesnek tűnik  Ehhez azonban finomítani kell még az első lépésen (előtér pontok kiszűrése).  A GrabCut algoritmus egyébként iteratív módon dolgozik, minél több iterációt engedünk meg neki, annál jobban finomítja az eredményt. Mivel ez az eljárás jelentősen lassítja az egész folyamatot (sokáig tart 1-1 frame szegmentálása), nagyobb teljesítményű számítógép sem ártana hozzá, illetve emiatt kénytelenek voltunk az iteráció számot minimálisra csökkenteni

Konklúzió a projektre  Az idő rövidsége alatt sajnos csak kezdetleges eredményeket tudtunk elérni  Sok gondunk volt a megfelelő részek integrációjával. Ennek ellenére megpróbáltuk a lehető legtöbbet kihozni a projektből, több vonalon elindulni, amennyiben egy megvalósítás nem bizonyult helyesnek  Hosszú távon úgy gondoljuk, hogy a projektet egységesen át kellene mozgatni Matlab-ba, ugyanis az OpenGL-es és OpenCV-s megoldás nehezen integrálható, és működésének helyessége is kérdéseket vet fel  Egyszerűbb lenne egy homogén rendszeren belül dolgozni  Az alap ötletek helyt álltak a projekt megvalósítása szempontjából, viszont a már említett implementációs nehézségek hátráltatták az igazán jó eredmények elérését

Köszönjük a figyelmet!