Jump to content
Sign in to follow this  
claymor

modele 3D ze zdjęć.

Recommended Posts

Witam

 

Chciałbym się Was zapytać czy ktoś miał styczność z modelami 3D wykonanymi na podstawie serii zdjęć.

Jeśli tak to prosił bym o poradę jak przygotować sprzęt, scenę i oświetlenie oraz o wasze wrażenia z tego typu programami.

 

Jak próbowałem pracować używając 123D i Photomodeler.

 

( Jeśli pytanie zamieściłem w złym dziale to proszę admina o przeniesienie )

Share this post


Link to post
Share on other sites

wiem że odkopuję mega stary temat....ale w ciągu ostatnich 9 dni poczyniłem ogrom sporych osiągnięć w dziedzinie totalnych podstaw fotogrametrii.

A więc zbiór porad początkującego dla początkujących:

1) jeśli model powstały na bazie zdjęć (ze zbioru zdjęć) ma być potem na nowo oświetlany na scenie, potrzebne będzie ogólne,równe światło - dokładnie takie jak w zachmurzony szary dzień - sprawdzone na 100%, działa, kolory są w 90-95% odwzorowaniem tych rzeczywistych, reszte dociągam w photoshopie. 2 figury kościelne zostały przeze mnie tak zrobione (wystawione na zewnątrz w pochmurny dzień, proboszcz pomagał, efekt genialny)

2) systematyka robienia zdjęć - im gęściej tym lepiej - ale musi być porządek. Jeśli robisz obmiar np. pomnika lub figury, to zdjęcia robimy chodząc w kółko, nie stojąc w miejscu i robiąc zdjęcia na boki. gęstość zdjęć najlepiej około 40-45 na jedno koło wokół obiektu.

takich kółek robimy 3 - jedno z aparatem na wysokości około 50 cm nad ziemią i obiektywem leciutku w górę, drugie kółko z wysokości wzroku człowieka, i obiektywm patrzy na wprost, trzecie kółko w miarę możliwości rączki wyciągamy w górę i z około 2.4-2.5 metra z obiektywem lekko w dół chodzimy dookoła. Mamy 120 fotografii ale to nie koniec. Jeśli są wystające elementy jak ręce, miecz, tarcza, to wokół nich robimy też takie 10-15 zdjęć chodząc po łuku 90-180 stopni, jeśli nie da rady zrobić pełnego koła wokół detalu.

Po co te kółka trzeba wydreptać? Bo do stworzenia matrycy punktów dla jednego miejsca (to chyba są takie podstawy abosolutne fotogrametrii, jeszcze się nie zagłębiałem) - potrzeba tzw. par zdjęć - czyli 2 zdjęć patrzących na ten sam obszar (lub mniej więcej na ten sam) z dwóch przeciwległych kątów. Chodząc w kółko udaje się to zrobić plus-minus prawie zawsze, ale i tak pstrykamy dodatkowe fotografie po 10-15 sztuk detali które wystają (zdjęcia muszą być i z góry i z dołu)

3) Rozdzielczość zdjęć - starczają foty o rozdziałce 3000x2000, choć z fotek 2200x1400 też idzie dobrze to robić. Zbyt duża rozdziałka zdjęć powoduje że algorytmy będą miały 20 milionów zamiast 4-5 milionów pikseli do porównywania na każdym zdjęciu. uwierzcie - to zajmuje trochę czasu (parowanie przez algorytm zdjęć, szukanie wspónych punktów, potem odtwarzanie miejsc gdzie były rejestrowane zdjęcia, odczytywanie ogniskowej, a finalnie wyciąganie gęstej chmury punktów gdy parowanie zdjęć się powiodło - jest co obliczać). Tekstura przeniesiona z chmury punktów zawierających informację o kolorze, i tak będzie wynikowo produkowana z tych 150-200 zdjęć, więc nie potrzeba tu 24 mln pikseli na każdym zdjęciu. Do tekstur 4K i 8K starczają foty właśnie 3000x2000.

4) sprzęt - tu jest prosto. Potrzebna jest pewna ręka i foty z aparatu który nie szumi. Jakaś tania lustrzanka za 1200-1500 zł da radę, szczególnie jeśli jednak będziesz musiał odtwarzać w pomieszczeniach modele, wtedy niskie szumy na wysokim ISO (800-1600) powinny być w miarę małe, ja używam Nikona D5200, używany z OLX.

5) oprogramowanie - używam softu o nazwie VisualSFM, do tego wczepiony jest plugin o nazwe CMVS, a potem to wszystko co zostanie przeliczone ląduje w MESHLAB'ie. Meshlab pozwala na czyszczenie chmury puntków, sklejanie chmur, i manipulowanie nimi, dodatkowo na samplowanie chmur w celu wyrównania ilości informacji (pozbycie się błędów), postrafi MESH'ować czyli pokryć chmurę punktów poligonami i to na kilka sposóbów, można też eksportować do kilku formatów. Najważniejsze - potrafi przenieść informację o teksturze z chmury punktów na odtworzony z tej chmury mesh. Działa w 95% przypadkach dobrze. Póki co w 4 projektach posypało się teksturowanie, ale na tyle niezauważalnie że do wizek obiekt się nadał.

6) Problemy - fotogrametria nie znosi powierzchni refleksyjnych - plastiku, metali, szkła, rzeczy lakierowanych...dlaczego? Bo na każdym zdjęciu gdy się przesuwasz, odbicie zmienia swoją pozycję na takim materiale, i algorytm szaleje tworząc ogromne dziury w tym miejscu albo góry-doliny. W przypadku szyb można je wykleić, i potem już po korekcie geometrii (export z MESHLABA do Blendera, Cinemy 4D, 3D Maxa, Mayi etc.) możemy wstawić własne szyby. Ale jak masz meble np. biały w lakierze na połysk - zapomnij...algorytm chwyci być może krawędzie i to i tak będzie cud...może uda się chociaż gabaryt chwycić, reszta będzie pusta - testowałem na samochodach, zabawkach, meblach. Połysk odpada.

7) do czego używam :

a) pnie drzew teren wokół, sprawdza się to całkiem ok.

b) Figury, rzeźby, statuetki - też idzie gites, im bardziej brudne, stare, nadszarpnięte zębem czasu, tym lepiej

c) architektura - jest OK, szyby i okna oczywiście to kupa do kwadratu, ale można się z takiej chmury punktów dużo dowiedzieć o detalach fasady, drzwiach, głębokościach osadzeń stolarki etc.

d) są programy które pozwalają kroić chmury puntków i tworzyć z tego normalne przekroje (nie pamiętam nazwy) - ale chmura punktów musi być naprawdę porządnie zrobiona, świetnie wyczyszczona i odfiltrowana.

8) dokładność - na figurach, postumentach, rzeźbach - dokładność od około 0.2 do 0.5 cm. W architekturze jest więcej jazdy :( np. w kościele który fotografowałem i uzyskałem 380 zdjęć, udało się uzyskać dokładność do 10 cm na największej zmierzonej odległości 20 metrów. Więc albo jeszcze muszę popracować nad sposobem robienia zdjęć, albo lepszy soft użyć, albo jednak tak po prostu jest. następny miesiąc testów to pokaże.

PS. Gładkich ścian fotogrametria też nie chwyta...ale krawędzie ścian i narożniki tak - więc daje to pojęcie o geometrii, zagłębieniach etc.

9) czy fotogrametria może być dokładna i przydatna - czytałem już o kilku programach komercyjnych za grubą kasę i tam się chwalą czego to nie potrafią wyciągnąć ze zdjęć...wychodzi na to że można obiekty całych budynków odwzorować z dokładnością do około 1-2 cm...ale póki co w to nie wierzę.

Pozdrawiam, zmęczony nauką

Hris

Share this post


Link to post
Share on other sites

Hris, Powinieneś zrobić z tego posta osobny wątek bo to masa wartościowych informacji która zaginie jako pojedynczy post. IMHO nadaje się na artykuł w mam newsa.

Share this post


Link to post
Share on other sites
Hris, Powinieneś zrobić z tego posta osobny wątek bo to masa wartościowych informacji która zaginie jako pojedynczy post. IMHO nadaje się na artykuł w mam newsa.

 

wykonał dobrą robote ale prawdę mówiąc 80% tego tekstu to są podstawy o których każdy raczej wie. przynajmniej nie wiem ja jak to czytałem to w sumie nic sie nie dowiedziałem czego bym nie wiedział a tym sie nie zajmuję.. Jedyne co serio się przydało to programy jakie zostały użyte. ale pewnie są ludzie którym sie przyda to więc warto to jakoś dobrze otagować i zarchiwizowac.

Share this post


Link to post
Share on other sites
..80% tego tekstu to są podstawy o których każdy raczej wie. przynajmniej nie wiem ja jak to czytałem to w sumie nic sie nie dowiedziałem czego bym nie wiedział a tym sie nie zajmuję...

 

Nie chce być nie miły, ale to tak jak Twoje wszystkie posty.

 

Własne wnioski od osoby, która jest autorytetem będą zawsze lepsze niż 80% randomowej wiedzy z internetu.

Share this post


Link to post
Share on other sites

Maćku - jedno z moich pierwszych zdań:

"A więc zbiór porad początkującego dla początkujących". Uwierz mi, spróbuj za pierwszym podejściem do fotogrametrii osiągnąć to co tu załączam jako obrazek, bez czytania moich uwag. Jak Ci się uda - gratulacje, masz więcej w głowie o fotogrametrii niż ja miałem na starcie...

Życie jednak pokazało że trochę prób trzeba porobić, a potem posiedzieć sporo i poczyścić te całe chmury punktów, czasem skleić kilka chmur w jedną, a czasem wybrać całkowicie inny algorytm do wygenerowania MESH'a, a do tego jeszcze przebrnąć przez te softy których się nie zna. Może nie napisałem niczego odkrywczego, ale mało gdzie znajdziesz info o tym że fotogrametria "leży i kwiczy" przed materiałami z refleksyjnością i przezroczystością. I mało kto podaje Ci informacje o tym że z 50 zdjęć nic nie zrobisz, albo wyjdzie wielkie rozczarowanie z jakości końcowej:( Mnie nakręciło do fotogrametrii to że wiele assetów do gier jest tak robionych, widziałem tutorial jak skałę (wieeeelki fajny głaz) koleś obtrzaskał ponad 300 zdjęciami i potem przeszedł całą tą drogę żeby kamień pojawił się jako asset w silniku Unreal. To mi podsunęło pomysł co zrobić żeby figur kościelnych nie narażać na transport do skanera 3D, zniszczenie po przez ciągłe przesuwanie i kładzenie gdzieś, i żeby nie angażować żadnej firmy zewnętrznej. I udało się. Jestem bardzo szczęśliwy że tak to wyszło, oczywiście od szefostwa usłyszałem" no, fajnie i ładnie", ale dla mnie do kolejny skill którym chciałbym opanować nieco lepiej, bo może pomóc w projektach architektonicznych.

Aktualnie mam taki tryb że za dnia jeśli jest fajnie i pochmurno, to robię zdjęcia 4-5 budynkow czy jakimś detalom architektonicznym, a w nocy jak dzieciaki i żoną śpią to uczę się to obrabiać i patrzę co dalej można z tym zrobić. Nie jestem PRO, ale uważam że warto się choćby tymi podstawami dzielić, bo wiele osób może myśleć że to jakiś trudny temat, nie do przejścia, że sprzęt potrzebny mega drogi i soft za grubą kasę. Mnie to kosztowało tylko pojechanie rowerem na miejsce, poczekanie aż deszcz przestanie padać, wytachanie tych figur z proboszczem na zewnątrz, i musiałem zakupić kartę 16 GB SD do aparatu, bo 2 GB nie stykało na taką wielką sesję. Aparat używany, kupiony dawno temu, nie wliczam w koszta. Reszta kosztów to mój czas do robienia zdjęć w dzień, nocki i weekend żeby to obrabiać, a potem po 9 dniach pierwszy HARDTEST z tymi figurami. To też duże doświadczenie bo jak sam sobie wybierasz temat do fotogrametrii to bierzesz jakby podświadomie to co łatwe (Drzewko, kamień, ławka), a prawdziwa robota narzuca już wszystko z góry - zjawiasz się i musisz się dopasować do zastanych warunków. Eureki nie odkryłem, ale dumny jestem że mam nowe narzędzia w swoim warsztacie :)

Pozdrawiam:)

Hris

Share this post


Link to post
Share on other sites
ale mało gdzie znajdziesz info o tym że fotogrametria "leży i kwiczy" przed materiałami z refleksyjnością i przezroczystością

 

no bo to jest chyba raczej oczywista oczywistość + tak samo że potrzeba bardzo dużej ilości zdjęć.. a nie 3 fotek naraz nie wiem. czy po prostu ludzie teraz jakoś nie kminią faktów na jakiej zasadzie działa ta technologia czy oco chodzi, ale jest to bardzo możliwe patrząc bo wszelakich pytaniach na forach typu Jest tutorial na zrobienie czerwonej kostki i pojawia się pytanie jak zrobić niebieską kostkę.. Mega tekst ale w sumie fajnie jakbyś jeszcze jakieś inne ciekawe sprawy napisał niż raczej. no sprawy które jak się chwilę pomyśli to stają się oczywiste.. Moja jedyna wiedza jaką mam na ten temat to jest z kilku konferencji i talków..

 

swoją drogą z tego co się domyślam bo nie czytałem o tym w sumie. Ale ta technologia strasznie zjada ram prawda?

 

swoją drogą świetny outcome. po ilu próbach ci wyszedł?

 

Niechce zabrzmieć jak nie wiem ekspert od wszystkiego itp itp.

 

ale no.. to że trzeba zrobić od groma zdjęć.. i to że powierzchnie które są adaptywne względem położenia punktu patrzenia.. to są raczej sprawy oczywiste nie wiem. niniejszym Dobra robota i świetnie że poświeciłeś czas na napisanie tego :)

Edited by Maciek Jutrzenka

Share this post


Link to post
Share on other sites

Ta postać Józefa z dzieciatkiem to mój 8 pełny skan. I drugi udany. Czyli 6 testów, 7 to byla juz próba bojowa ale nie do konca udana, no i 8 to właśnie Józef.

Share this post


Link to post
Share on other sites

VisualSFM na etapie parowania zdjęć korzysta z CUDA czyli z RAMU GPU, i tu jest właśnie odniesienie do punktu który opisywałem wcześniej - nie potrzeba rozdzielczości zdjęć 24 Megapixele, bo to i tak niewiele wniesie a spowoduje szybkie zżarcie RAMu GPU i wydłuży czas parowania niepotrzebnie. Karta z 2 GB Ram styka do 280 zdjęć w rozdziałce 3000x2000. Jest też wersja VisualSFM klasyczna, tłukąca wszystkie obliczenia na procku, ale nie korzystałem. W następnym etapie odbywa się rozmieszczanie (odtwarzanie kamer) punktów z których były foty robione. To idzie ekspressem i liczone jest na procku. Następny etap to dogęszczanie chmury punktów po tym pierwszym wstępnym sparowaniu zdjęć. Tu pojawia się plugin CMVS do VisualSFM, i on już zaczyna korzystać z CPU i RAM'u z płyty główej:) Przy postaci Józefa, udało się zjeść prawie 8 GB Ram już w ostanim etapie dogęszczania, kiedy powstaje prawdziiiiiiiiwa chmura punktów - przy Józefie skończyło sie na 5.2 mln punktów po odtworzeniu ze zdjęć, 3.2 mln punktów po ręcznym wyczyszczeniu i wyseparowaniu samej figury. Projekt figury Józefa w MESHLABIE (czyli miejscu gdzie finalnie obrabiam póki co wszystko co wyprodukuje mi VisualSFM) zajmuje około 6.5 GB RAM. Więc luz.

A moja wiedza o fotogrametrii dwa piątki temu była zerowa bo nie wiedziałem od czego zacząć, nie słuchałem konferencji ani talków na ten temat...mój błąd...więc spodziewam się że ogrom osób które modelują, teksturują, animują mają niedoczasy i tak samo jak ja nie mają czasem już czasu na dokształcanie się online w niepotrzebnych im aktualnie tematach. U mnie w pracy jest ponad 20 osób, 3D zajmują się ze 4 osoby, fotogrametria kojarzyła się nam jedynie z mapami Google'a i streetview :) Od ponad tygodnia wiemy że można zaprząc ją do pracy tu, u nas, w Poznaniu.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy