3D modell készítése videó alapján

december 6, 2023

Ebben a blogbejegyzésben bemutatjuk a Structure from Motion (SfM, magyarul „mozgásból struktúra”) nevű technikát, amely kétdimenziós képekből elő tudja állítani egy adott helyszín háromdimenziós szerkezetét. Az SfM-et számos alkalmazásban használják: például a 3D szkennelésben, a kiterjesztett valóságban, valamint a vizuális egyidejű lokalizációban és térképezésben (visual simultaneous localization and mapping, vSLAM). Az SfM-nek számos megvalósítása és megközelítése létezik, amelyek közül jelen bemutatóhoz a COLMAP-et választottuk ki.

Az emberek rengeteg információt észlelnek környezetük háromdimenziós struktúráiról azáltal, hogy mozognak a térben. Mozgás közben a megfigyelő körül lévő tárgyak távolságuktól függően különböző mértékben mozogni látszanak. Ezt mozgásparallaxisnak nevezzük. Ebből a mélységi információból a megfigyelő meg tudja becsülni a világ pontos háromdimenziós (3D) ábrázolását. A Structure from Motion (SfM) ezt a képességet próbálja megragadni és felhasználni a számítógépes látásban.

Az SfM sokféleképpen kiszámítható. A problémát többféleképpen is megközelíthetjük, és hogy melyik a legkedvezőbb, az több tényezőtől is függ, úgy mint: a használt kamerák száma és típusa, sorrendben vannak-e a képek, stb. Nézzünk meg egy példát részletesen a COLMAP használatával! Elkészítettük egyik kollégánk motorkerékpárjának 3D rekonstrukcióját egy videó alapján. Ehhez egy iPhone-nal rögzített 25,5 másodperces videófelvételt használtunk, amelyet 764 egyedi képre bontottunk. Ezekből a képekből a COLMAP kigyűjtötte az ún. képjellemzőket. A képjellemzők a különböző nézőpontokból rögzített képek helyi struktúrái, amelyeket egy helyszín vagy tárgy 3D szerkezetének rekonstruálására használnak.

Az alábbi képen (484. képkocka) piros pontokkal kiemelve megfigyelhetők a kinyert képjellemzők:

Ezek után meg kell találnunk az összes kép jellemzői közötti egyezéseket, hogy meg tudjuk becsülni a térbeli mélységeket, valamint a kinyert pontok és a kameraállások (a kamera 3D pozícióinak) koordinátáit. Az alkalmazható megfeleltetési stratégiák közül a szekvenciális illesztést választottuk, mivel a bemeneti videóban nagy volt az egymást követő képkockák vizuális átfedése, így nem volt szükség az összes képpár kimerítő egyeztetésére.

Fontos megjegyezni, hogy – tapasztalataink szerint – a megfeleltetés jelentős időt vehet igénybe a képek mennyiségétől, a képenkénti jellemzők számától és a választott illesztési módtól függően. A kimerítő egyeztetés várható időtartama:

  • tízes nagyságrendű képszám esetén néhány perc,
  • százas nagyságrendű képszám esetén néhány óra,
  • ezres nagyságrendű képszám esetén pedig több nap vagy hét is lehet.

Az alábbi, 484. és 420. számú képeken egyeztetett jellemzőkre látunk egy példát, ahol az egyezéseket zöld színnel jelölték.

A képek és jellemzőik közötti kapcsolatok megismerése után megkezdődhet a helyszín 3D rekonstrukciója. A COLMAP fokozatosan bővíti helyszínünk 3D pontfelhőjét új képek regisztrálásával és új pontok háromszögelésével.

Megjegyezzük, hogy vannak olyan esetek, amikor a COLMAP a rekonstrukciós modellt külön almodellekre bontja. Ez a képek közötti átfedés hiánya miatt történik. Ilyenkor a hiány kitöltéséhez további képek hozzáadására van szükség, hogy a COLMAP egyetlen modellbe foglalhassa az összeset.

Esetünkben mind a 764 képet egyetlen modell alatt sikerült regisztrálni. A pontfelhő 228.770 csúcspontból áll. A regisztrált képek piros színnel láthatóak a 3D térben, ami egyben a rekonstruált kameramozgás pályáját is jelzi.

Tapasztalataink szerint az alábbi irányelvek betartása nagyon fontos a sikeres rekonstrukcióhoz:

  • Jó textúrájú képeket kell készíteni. Ez azért szükséges, hogy a képeket egymással összekapcsoló jellemzők felismerhetőek legyenek.
  • A képek rögzítése hasonló megvilágítási körülmények között történjen! Eltérő megvilágítás esetén a jellemzők megfeleltetése sikertelen lesz két valójában összetartozó pont között.
  • Nagy vizuális átfedéssel rendelkező képekre van szükség. Ellenkező esetben a modell külön almodellekre fog bomlani. Esetünkben egy szennyvízcsatorna modellezése során a csőkanyarulatokban több képre volt szükség a képek közötti kohézió fenntartásához.
  • Különböző nézőpontokból kell a képeket elkészíteni. Ez segít jobban megbecsülni a mélységi információkat, így az eredmény megtarthatja a valósággal megegyező arányokat.