Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Video snimanje bespilotnih letjelica zaista je eksplodiralo posljednjih godina, a postoji i veliki broj talentovanih pilota koji snimaju najakrobatskije video zapise koristeći svoje četvorokontrolere i slušalice za gledanje u prvom licu. Moj brat Johnny FPV jedan je od ovih pilota, pa sam htio vidjeti je li moguće rekonstruirati okruženja u koja leti iz njegovih snimaka slobodnim stilom.
Ravnomjerni, zaključani snimljeni snimci dronova zasigurno mogu proizvesti 3D model visoke vjernosti, o čemu se ovdje govori, ali što se događa kada su snimci ovako frenetični?
Korak 1: Unaprijed obradite svoj video
Nakon što dobijete neke snimke iz zraka, potrebna je neka prethodna obrada. Koristim Adobe Media Encoder, ali gotovo svaki softver za uređivanje videozapisa trebao bi se pobrinuti za to.
Odabrao sam kratki isječak (~ 11 sekundi) i promijenio broj sličica u sekundi sa 29,77 na 30 kadrova u sekundi i spremio novi video u željenu mapu.
Zatim koristim FFMPEG za izvoz svakog drugog kadra videozapisa u jpg. Ako niste upoznati, FFMPEG je skup alata za naredbeni redak koji omogućuje obradu i konverziju gotovo BILO KOJE vrste zvuka ili videa koje se možete sjetiti. Postoji plaćeni softver koji će vam omogućiti da radite mnoge iste stvari, ali ako ste voljni malo raditi s naredbenom linijom, to može biti nevjerojatno moćan alat.
Dobar vodič za instaliranje FFMPEG -a dostupan je ovdje.
Morat ćete promijeniti svoj direktorij u lokaciju vaše slikovne datoteke (cd), a zatim upotrijebiti sljedeću skriptu:
ffmpeg -i (naziv vaše video datoteke) -vf fps = 15 exp%03d.jpg
Promjena fps -a će prirodno promijeniti broj slika izvezenih u sekundi videozapisa. Ovo se vraća unatrag zašto sam promijenio fps videozapisa sa 29,97 na 30- hvatanje 15 slika u sekundi sada će jednostavno uhvatiti svaki drugi kadar iz videa. Da želite svaki šesti kadar, postavili biste ga na 5 fps … itd.
"exp %03d.jpg" će rezultirati snimanjem slika kao exp000.jpg, gdje su slike numerirane uzastopno s tri znamenke- ako imate duži video isječak i želite izvesti više od 999 slika, upis %04d bi bio broj sve slike sa četiri cifre; možete izvesti do 9999.
(Napomena: "ffmpeg -i (naziv vaše video datoteke) -r (framerate) -f image2 exp%03d.jpg" također radi za izdvajanje kadrova iz videa, ali iz bilo kojeg razloga dobivam bolje oblake tačaka od slika obrađenih u stari metod)
Korak 2: Uvezite fotografije i izgradite oblak tačaka
Nakon što dobijete skup slika, možete započeti uobičajeni tijek rada fotogrametrije. Koristim Agisoft PhotoScanPro, ali drugi programi, poput Autodesk Remakea, vjerojatno bi bili jednako uspješni (ako ne i više) uspješni.
Nakon uvoza fotografija, također sam postavio kalibraciju kamere na riblje oko, budući da je ovaj snimak izvorno došao s GoPro -a. Nekoliko minuta kasnije obrade i počinju se pojavljivati neke 3D informacije! Oblak točaka možda ne izgleda puno, a sastoji se samo od nekoliko tisuća točaka, pa još nije sasvim dovoljno za izračunavanje mreže. Od toga sam izgradio gusti oblak tačaka i sada imam oko 200.000 tačaka za rad.
Korak 3: Izgradite mrežu
Sada kada imamo sve ove tačke za rad, mreža se može izračunati. Koristim relativno veliki broj lica i omogućujem interpolaciju- ovo će mrežu učiniti malo "mutnijom", ali će na kraju biti mnogo manje nedostajućih površina i rupa u mreži. Nakon nekoliko minuta obrade, počinjemo imati rezultat sličan arhitekturi oko koje je bespilotna letjelica letjela!
Korak 4: Tekstura i konačni rezultati
Photoscan vam takođe omogućava da napravite teksturu za svoju mrežu od ulaznih slika, što daje konačan dodir detaljima za model. Imam pomiješana osjećanja u vezi s rezultatima ovog procesa (postoje mnogo bolji načini za izradu preciznog modela), ali sveukupno mislim da je nevjerojatno da bilo koji model uopće može izaći iz takvih ludih snimaka!
Dalji pravci koje bih mogao uzeti u obzir za ovaj projekt mogli bi biti zgušnjavanje površina u vodootporne modele za 3D štampanje, ili bi mogli postati dio nadrealističkog VR pejzaža.