Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Drone-videografi har virkelig eksplodert de siste årene, og det er et enormt antall talentfulle piloter som lager de mest akrobatiske videoene ved hjelp av quadcoptere og førstepersonsvisning. Min bror Johnny FPV er en av disse pilotene, så jeg ville se om det var mulig å rekonstruere miljøene han flyr i fra fristilopptakene sine.
Stabile, interessepunkter låste droneopptak kan absolutt produsere en 3D-modell med høy kvalitet, som diskutert her, men hva skjer når opptakene er så vanvittige som dette?
Trinn 1: Forbehandle videoen din
Når du har fått opptak fra lufta, kreves det litt forhåndsbehandling. Jeg bruker Adobe Media Encoder, men nesten hvilken som helst videoredigeringsprogramvare burde kunne ta seg av dette.
Jeg valgte et kort klipp (~ 11 sekunder) og endret framerate fra 29,77 til 30fps, og lagret den nye videoen i ønsket mappe.
Deretter bruker jeg FFMPEG til å eksportere alle andre bilder av videoen som en jpg. Hvis du ikke er kjent, er FFMPEG et sett med kommandolinjeverktøy som tillater behandling og konvertering av nesten ALLE typer lyd eller video du kan tenke deg. Det er betalt programvare som lar deg gjøre mange av de samme tingene, men hvis du er villig til å jobbe litt med kommandolinjen, kan det være et utrolig kraftig verktøy.
En god guide for å installere FFMPEG er tilgjengelig her.
Du vil endre katalogen til plasseringen av bildefilen (cd), og deretter bruke følgende skript:
ffmpeg -i (navnet på videofilen) -vf fps = 15 exp%03d.jpg
Endring av fps vil naturligvis endre antall bilder som eksporteres per sekund med video. Dette går tilbake til hvorfor jeg endret fps for videoen fra 29,97 til 30- fange 15 bilder per sekund vil nå bare ta hver annen ramme fra videoen. Hvis du ville ha hver sjette ramme, ville du sette den til 5 fps … etc.
"exp %03d.jpg" vil resultere i at bildene blir lagret som exp000.jpg, der bildene er nummerert i rekkefølge med tre sifre- hvis du har et lengre videoklipp og vil eksportere mer enn 999 bilder, skriver %04d nummer alle bildene med fire sifre; du kan eksportere opptil 9999.
(merk: "ffmpeg -i (navnet på videofilen) -r (framerate) -f image2 exp%03d.jpg" fungerer også for å trekke ut rammer fra video, men uansett grunn får jeg bedre punktskyer fra bilder behandlet i den tidligere metoden)
Trinn 2: Importer bilder og bygg en punktsky
Når du har et sett med bilder, kan du starte en normal fotogrammetri -arbeidsflyt. Jeg bruker Agisoft PhotoScanPro, men andre programmer som Autodesk Remake vil sannsynligvis være like vellykkede (om ikke mer).
Etter å ha importert bildene mine, satte jeg også kamerakalibreringen til Fisheye, siden dette opptaket opprinnelig kom fra en GoPro. Noen minutter med behandling senere, og noe 3D -informasjon begynner å dukke opp! Punktskyen ser kanskje ikke så mye ut, og består bare av noen få tusen poeng, så det er ikke helt nok til å beregne et maske ennå. Fra dette bygde jeg en tett punktsky, og har nå omtrent 200k poeng å jobbe med.
Trinn 3: Bygg et nett
Nå som vi har alle disse punktene å jobbe med, kan et nett beregnes. Jeg bruker et relativt høyt ansiktstall, og muliggjør interpolasjon- dette vil gjøre masken litt "uklar", men det vil være langt færre manglende overflater og hull i masken til slutt. Etter noen minutter med behandling begynner vi å få et resultat som ligner arkitekturen dronen fløy rundt!
Trinn 4: Tekstur og sluttresultater
Photoscan lar deg også bygge en tekstur for masken din fra inndatabildene, noe som gir det siste snevet av detaljer for modellen. Jeg har blandede følelser om resultatene av denne prosessen (det er langt bedre måter å produsere en nøyaktig modell på), men totalt sett synes jeg det er fantastisk at en hvilken som helst modell i det hele tatt kan komme ut av slike nutty opptak!
Ytterligere retninger jeg kan ta dette prosjektet kan være å tykke overflatene til vanntette modeller for 3D -utskrift, eller de kan bli en del av et surrealistisk VR -landskap.