Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Wideografia dronów naprawdę eksplodowała w ostatnich latach i jest ogromna liczba utalentowanych pilotów, którzy robią najbardziej akrobatyczne filmy przy użyciu swoich quadkopterów i zestawów słuchawkowych z widokiem z pierwszej osoby. Mój brat Johnny FPV jest jednym z tych pilotów, więc chciałem sprawdzić, czy możliwe jest zrekonstruowanie otoczenia, w którym lata z jego materiału freestyle.
Stały, punkt zainteresowania, zablokowany materiał z drona z pewnością może stworzyć model 3D o wysokiej wierności, jak omówiono tutaj, ale co się dzieje, gdy materiał jest tak szalony jak ten?
Krok 1: Wstępne przetwarzanie wideo
Po uzyskaniu materiału z lotu ptaka wymagane jest wstępne przetwarzanie. Używam Adobe Media Encoder, ale prawie każde oprogramowanie do edycji wideo powinno sobie z tym poradzić.
Wybrałem krótki klip (~11 sekund) i zmieniłem liczbę klatek na sekundę z 29,77 na 30 klatek na sekundę i zapisałem nowy film w wybranym folderze.
Następnie używam FFMPEG, aby wyeksportować co drugą klatkę wideo jako jpg. Jeśli nie znasz, FFMPEG to zestaw narzędzi wiersza poleceń, który umożliwia przetwarzanie i konwersję prawie KAŻDEGO rodzaju audio lub wideo, o którym możesz pomyśleć. Istnieje płatne oprogramowanie, które pozwoli ci zrobić wiele takich samych rzeczy, ale jeśli chcesz trochę popracować z wierszem poleceń, może to być niesamowicie potężne narzędzie.
Dobry przewodnik po instalacji FFMPEG jest dostępny tutaj.
Zmień katalog na lokalizację pliku obrazu (cd), a następnie użyj następującego skryptu:
ffmpeg -i (nazwa pliku wideo) -vf fps = 15 exp%03d.jpg
Zmiana fps w naturalny sposób zmieni liczbę eksportowanych obrazów na sekundę wideo. Wracamy do tego, dlaczego zmieniłem liczbę klatek na sekundę wideo z 29,97 na 30 – przechwytywanie 15 obrazów na sekundę będzie teraz po prostu przechwytywać co drugą klatkę z wideo. Jeśli chciałbyś co szóstą klatkę, ustawiłeś ją na 5 fps… itd.
"exp%03d.jpg" spowoduje, że obrazy zostaną zapisane jako exp000.jpg, gdzie obrazy są ponumerowane kolejno trzema cyframi - jeśli masz dłuższy klip wideo i chcesz wyeksportować więcej niż 999 obrazów, wpisanie %04d spowoduje numerację wszystkie obrazy czterocyfrowe; można wyeksportować do 9999.
(uwaga: "ffmpeg -i (nazwa twojego pliku wideo) -r (framerate) -f image2 exp%03d.jpg" działa również do wyodrębniania klatek z wideo, ale z jakiegoś powodu otrzymuję lepsze chmury punktów z obrazów przetwarzanych w poprzednia metoda)
Krok 2: Importuj zdjęcia i buduj chmurę punktów
Gdy masz już zestaw obrazów, możesz rozpocząć normalny obieg pracy fotogrametrii. Używam Agisoft PhotoScanPro, ale inne programy, takie jak Autodesk Remake, prawdopodobnie odniosłyby równie (jeśli nie więcej) sukces.
Po zaimportowaniu zdjęć ustawiłem również kalibrację kamery na Fisheye, ponieważ ten materiał pochodzi z GoPro. Kilka minut przetwarzania później i zaczynają pojawiać się informacje 3D! Chmura punktów może nie wyglądać na dużą i składa się tylko z kilku tysięcy punktów, więc obliczenie siatki nie wystarczy. Z tego zbudowałem gęstą chmurę punktów i mam teraz około 200 tys. punktów do pracy.
Krok 3: Zbuduj siatkę
Teraz, gdy mamy wszystkie te punkty do pracy, można obliczyć siatkę. Używam stosunkowo dużej liczby ścianek i włączam interpolację - to sprawi, że siatka będzie trochę "rozmyta", ale na końcu będzie znacznie mniej brakujących powierzchni i dziur w siatce. Po kilku minutach przetwarzania zaczynamy mieć wynik przypominający architekturę, po której dron latał!
Krok 4: Tekstura i wyniki końcowe
Photoscan pozwala również na zbudowanie tekstury dla siatki z obrazów wejściowych, co daje ostateczny efekt szczegółów modelu. Mam mieszane uczucia co do wyników tego procesu (są o wiele lepsze sposoby na stworzenie dokładnego modelu), ale ogólnie uważam, że to niesamowite, że każdy model w ogóle może powstać z tak zwariowanego materiału filmowego!
Dalsze wskazówki, które mógłbym przyjąć w tym projekcie, to pogrubienie powierzchni do wodoszczelnych modeli do druku 3D lub mogą stać się częścią surrealistycznego krajobrazu VR.