Testuję PhotoScan (na Linuksie)

PhotoScan firmy Agisoft stał się ostatnio standardem w zakresie fotogrametrii 3D w archeologii. Rosjanie zdobyli rynek przebojem oferując znacznie niższe ceny niż producencie dotychczas dominujących na tym rynku programów komercyjnych oraz znacznie przyjemniejszy interfejs i „workflow” niż w przypadku  większości rozwiązań open source. Po pierwszych próbach z różnymi narzędziami, w tym Arc3D, Photosynth czy Hypr3D zatrzymałem się 123D Catch od Autodesk. Niekoniecznie dlatego, że produkował najlepsze chmury punktów, ale dlatego, że proces ich otrzymywania jest zautomatyzowany i w całości odbywa się poza moim komputerem. Miało to spore znaczenie na moim starym MacBooku, który na dwóch rdzeniach Core2Duo, przy 2 GB RAMu ledwo zipał próbując samemu wyliczać chmurę z użyciem narzędzi działających lokalnie.

Z nowym laptopem (nowy był rok temu, ale nadal to czterordzeniowy i7, karta od NVidii i 8GB RAMu, więc nie jest tragicznie) da się już zrobić coś więcej. Postanowiłem więc wypróbować rosyjski wynalazek. Zwłaszcza, że udostępniono wersję działającą pod Linuksem, która w dodatku nie wymaga instalacji.

zrzut ekranu147Tak wygląda produkcja modelu średniowiecznej jamy z Ostrowitego.

zrzut ekranu146I obciążenie systemu w trakcie pracy.

zrzut ekranu148Model przed teksturowaniem.

zrzut ekranu149Oraz po zakończeniu teksturowania. Odnoszę wrażenie, że jakość tekstury to szczególnie mocna strona programu.

zrzut ekranu150Porównanie modelu zrobionego w 123D Catch (po lewej) i PhotoScanie (po prawej). W obu przypadkach wykorzystano wyeksportowane pliki obj. DO wyświetlenia chmury użyto oczywiście Meshlaba.

zrzut ekranu151Zbliżenie detalu – fragmenty ceramiki naczyniowej. Po lewej 123D Catch, po prawej PhotoScan. Jakość tekstury w drugim przypadku jest znacznie wyższa.

zrzut ekranu152I podgląd chmury punktów (po lewej 123D Catch, po prawej PhotoScan) – gęstość punktów jest wyższa w przypadku 123D Catch.

zrzut ekranu153I siatka trójkątów.

mesh2 Inny przykład – grób 50 z Ostrowitego. Pokazuję go dlatego, że w tym przypadku 123D Catch miał olbrzymie kłopoty ze stworzeniem poprawnego modelu. Po lewej 123D Catch, po prawej PhotoScan. Różnica jakościowa, zwłaszcza w zakresie tekstury, w przypadku modelu PhotoScanu jest ewidentna.

mesh3Gęstość chmury w przypadku 123D Catch (po lewej) jest znacznie wyższa. Jednak program miał spore problemy z właściwym skonstruowaniem modelu. W przypadku PhotoScan punktów jest mniej, ale kształt jamy został zrekonstruowany znacznie lepiej.

Być może dla pełnego porównania powinienem te same modele złożyć także n.p. w Arc3D, by sprawdzić jak wygląda postęp w przypadku tego narzędzia. Jak znajdę nieco czasu, to pewnie to zrobię.

Wkrótce rozpoczynamy sezon wykopaliskowy. Wygląda na to, że okazji do dalszych prób z programem będzie jeszcze wiele.

Reklamy

Żarnowski wał wymodelowany

Muszę przyznać, że 123D Catch od Autodesk zaskakuje mnie swoją skutecznością. Od jakiegoś czasu w sieci dostępna jest wersja finalna oprogramowania. Wymaga zalogowania się w serwisie, ale jest darmowa (przynajmniej jeśli chodzi o zasadniczą funkcjonalność).

Dzięki oprogramowaniu udało się zrobić piękny model wykopu badawczego z Żarnowa wraz z naszym wspaniałym wałem.

Powyżej zrzut z Meshlaba po drobnej obróbce (nawiasem mówiąc: wiedzieliście, że Meshlab jest już na iOS i Androida?).

Ten sam model bez tekstur.

Całkiem udany…

Hypr3D kolejny sposób na uzyskanie modeli 3D

Wydaje się, że technika SfM pozwalająca na uzyskiwanie modeli 3D z serii dwuwymiarowych fotografii staje się szalenie modna. Organizowane są konferencje, także archeologiczne, pojawiają się kolejne wersje aplikacji droższych i tańszych o zróżnicowanych możliwościach. Pojawiają się też internetowe serwisy pozwalające na przeprowadzenie całej procedury on-line.

Jednym z taki serwisów jest Hypr3D, który postanowiłem przetestować dla moich szanownych Czytelników (to oczywista nieprawda – postanowiłem przetestować go dla siebie, ale wynikami dzielę się z Wami). Serwis przypomina nieco PhotoSynth od Microsoft ale daje dodatkowe możliwości:

1. Celem serwisu jest tworzenie modeli. Inaczej niż w PhotoSynth nie ma potrzeby stosowania jakiś wymyślnych skryptów by pozyskać model z serwisu. Sam serwis udostępnia linki do modeli w różnych formatach (w tym chmury punktów ply) i różnych rozdzielczościach:

2. Przeglądanie modeli jest oparte w serwisie na popularnej technologii flash. Jakkolwiek budzi ona szereg wątpliwości u różnej maści programistycznych purystów, to póki co jest dostępna na wszystkie główne platformy systemowe (t.j. Windows, MacOSX i Linux). To się ponoć ma zmienić, ale na razie właściwie każdy internauta może oglądać wyniki pracy Hypr3D, inaczej niż ma to miejsce z technologią Silverlight Microsoftu, która jest wspierana wyłącznie na Windows i MacOSX. Wtyczka Moonligt (implementacja tej technologii, jaką przygotował Novell, od dawna już nie chce współpracować z kolejnymi wersjami Firefoksa).

3. Przeglądarka Hypr3D ma też wersję embed, więc jest możliwość dzielenia się modelami na stronach internetowych.
http://www.hypr3d.com/models/4f5b0c18b9d90c0001000002/embedded_viewer

Oczywiście WordPress nie akceptuje tej przeglądarki (podobnie jak nie akceptuje PhotoSynth), więc możecie jedynie zajrzeć pod link powyżej.

Możliwość udostępniania modeli przez sieć wydaje się być szczególnie interesująca nie tylko w kontekście popularyzacji wyników badań, ale także np. konsultowania poszczególnych obiektów z innymi badaczami, za pośrednictwem sieci.

Jak przebiega proces tworzenia modelu?

1. Pierwszym krokiem jest założenie konta w serwisie. Oczywiście konieczne jest podanie e-maila, ale nie ma potrzeby weryfikacji konta za pośrednictwem mailowym.

2. Serwis w prosty, przejrzysty sposób prowadzi nas przez proces ładowania zdjęć. Tworzenie modelu przebiega całkowicie automatycznie.

3. Serwis jest zasadniczo darmowy, przy czym przewidziano opłaty za przekroczenie limitu objętości. Administratorzy mają także w planach naliczanie opłat za dodatkowe usługi, które będą implementowane do serwisu.

4. Serwis ma możliwość stworzenia modelu na podstawie filmu wykonanego aparatem lub nawet telefonem komórkowym. Tej opcji jednak nie sprawdzałem. Nie wiem jak działa.

5. Czas tworzenia modelu jest stosunkowo krótki. Łącznie z ładowaniem zdjęć całość nie trwałą dłużej niż pół godziny.

Jaka jest jakość uzyskanych wyników?

Otworzyłem wyeksportowany przez Hypr3D plik collada w najwyższej dostępnej rozdzielczości w Meshlab. Model wygląda znacznie lepiej niż na wbudowanej w serwis przeglądarce:

Jeśli chodzi o szczegóły i jakość odwzorowania, to optycznie wygląda lepiej niż w PhotoSynth, ale gorzej niż w Arc3D i 123D Catch. Nie mam zarzutów do jakości tekstury. Widać wyraźnie, że na modelu brak jest niedokładności i artefaktów widocznych na modelu w przeglądarce Hypr3D.

Chmura punktów z Hypr 3D. To grób 29 z Ostrowitego, który jest tu ostatnio probierzem dla programów i serwisów SfM. Przypomnę chmury dla tego samego grobu pokazywane już w serwisie:

Arc3D

123D Catch

Serwis ma swój program na iOS, który wytropiłem w Apple AppStore. Szkoda, że brak jest jego odpowiednika w sklepie Androida (teraz Google Play). Apki jednak nie testowałem, nie wiem czy pozwala wyłącznie na podgląd, czy też umożliwia tworzenie modelu.

Usługa nadal się rozwija. Wydaje się, że ważnym elementem powinno być teraz poprawienie jakości modeli wyświetlanych w systemowej przeglądarce Hypr3D. Dopiero wtedy będzie mógł rzeczywiście służyć jako platforma wymiany modeli w sieci.

123D Catch i SketchUp – będą parą?

Co prawda na razie nie jest to może para najszczęśliwsza – nie ze wszystkim się dogadują, ale łączy ich pośrednictwo Meshlab. W Meshlab można bez problemów odczytać pliki .obj, które produkuje 123D Catch i skonwertować na colladę lub 3ds. A oba te formaty plików są ponoć odczytywane przez Google SketchUp. Piszę „ponoć” bo na 3ds programik u mnie się wysypuje.

W efekcie model wykonany w 123D Catch (ale też w Acr3D) można otworzyć w SketchUp. Co prawda bez tekstury, ale zawsze. Korzystając z możliwości pracy na warstwach można opatrzyć go komentarzami, a nawet zbudować na jego bazie rekonstrukcję.

 

Autodesk 123D Catch na Linux (i nie tylko)

Opisany wczoraj program na linuksie działa!

Oczywiście jest to wersja na Windows, ale przyzwoicie instaluje się za pomocą wine. Zbudowałem dla próby dwa różne modele. W zasadzie działają wszystkie funkcje programu poza zapisem filmu. Tutaj występują jakieś problemy z kodowaniem i albo otrzymujemy plik, który nie daje się odtworzyć, albo program się wysypuje. Nie ma jednak problemu by plik z zapisanym projektem otworzyć na innej partycji lub innym komputerze, z systemem Windows. Automatycznie pobierze on z chmury Autodesku wszystkie zdjęcia wykorzystane do stworzenia modelu i uruchomi projekt tak by można było odtworzyć i zapisać film.

Tak to wygląda na Mageia, z KDE.

Nie ma najmniejszych problemów z porozumiewaniem się programu z chmurą Autodesk.

Wygląda na to, że program zagości na moim laptopie i w końcu będę mógł na bieżąco sprawdzać jakość modeli podczas badań w terenie.

Wytropiłem w programie jeszcze jedną istotną funkcję. Pisałem bowiem wcześniej, że gęstość chmury przezeń produkowana nie jest największa. Otóż nie jest tak źle. Nie zauważyłem bowiem opcji pozwalającej na wybór jakości chmury punktów.

Funkcja ta pozwala na wybór jakości chmury:

Jakość chmury dla opcji „Maximum” jest już całkiem dobra. Dla porównania dwie chóry przygotowane dla tego samego obiektu:

Chmura na ustawieniach standardowych.

Chmura na ustawieniach maksymalnych.

Różnica gęstości jest całkiem spora.

Możemy teraz porównać jakość chmury grobu 29, jaki obserwowaliśmy w poprzednim wpisie:

Chmura punktów z programu Arc3D

Chmura z 123D Catch na ustawieniach standardowych.

Chmura z 123D Catch na ustawieniach maksymalnych.

Modele 3D ze zdjęć od Autodesk

Pamiętacie jeszcze eksperymenty, jakie podejmowałem tutaj by uzyskać modele 3D z serii zdjęć? Zakładam rolę dokumentacyjną takich modeli w archeologii – możliwość utrwalenia nie tylko dwóch wymiarów dokumentowanej rzeczywistości, jak to ma miejsce przy tradycyjnych rysunkach, fotografiach i ortofotografiach archeologicznych, ale aspektu 3D. Dokumentacja taka na razie nie może zastąpić tej tradycyjnej, ale może i powinna stanowić jej uzupełnienie.

Do tej pory podejmowałem próby z serwisem Photosynth oraz serwisem Arc3D. Tym razem rozwiązanie dostarczane przez Autodesk, czyli programik 123D Catch. Program dostępny jest wyłącznie w wersji na Windows (spróbuję odpalić na Wine – planuje kolejne wpisy na ten temat). Rozwiązanie działa w chmurze – więc przypomina nieco poprzednio opisane, także w tym przypadku niezbędne jest połączenie z siecią.

Do wykonania modelu potrzebny jest zestaw zdjęć, najlepiej wykonanych w sposób analogiczny do tego, jaki wymagany jest do opisywanych wyżej serwisów. Niezwykle przejrzysty interfejs niemal prowadzi za rękę w procesie produkcji modelu. Ładujemy więc zdjęcia…

ObrazekMożna wybrać dwie opcje – powiadomienia przez e-mail lub czekania na wynik działania chmury. W przypadku przygotowanych przeze mnie modeli zabierało to na prawdę niewiele czasu – zaledwie kilka minut. Po ich upływie otwiera się takie okienko:

Obrazek

Na dole mamy kolekcję zdjęć stanowiących podstawę wykonania modelu. Okno robocze domyślnie wyświetla model z teksturą oraz miejscami z których wykonano zdjęcia.

Program ma możliwość szybkiego i łatwego importu do kilku formatów grafiki 3D (w tym dwg i obj) oraz klipów filmowych (można zaaranżować własną ścieżkę pracy kamery lub wybrać domyślną), automatycznie generując logo 123D Catch. Ważną funkcją jest możliwość ustawienia odległości między wybranymi punktami (w terenie można więc ustawiać własne markery np. siatki metrowej).

Generowana przez program chmura punktów ma nieco mniejszą gęstość niż w Arc3D. Dla porównania zamieszczam zrzuty:

Obrazek

Chmura punktów z Arc3D

Obrazek

Chmura punktów z 123D Catch.

Ale jednocześnie program generuje znacznie bardziej „kompletne” modele, lepiej radząc sobie z teksturą (znacznie mniej artefaktów, znacznie lepszy blending – płynne przejścia między poszczególnymi klatkami). Można porównać to na tych zrzutach:

Obrazek

Model teksturowany z Arc3D.

Obrazek

Model teksturowany z 123D Catch.

Jeszcze lepszy wynik uzyskał program w modelu grobu 24. Arc3D stworzył model niekompletny, nie dając sobie rady z odwzorowaniem skupiska kamieni we wschodniej części jamy.

Model Arc3d

Efekty pracy 123d Catch z tym samym materiałem zobaczycie na filmiku.

 Autodesk udostępnił bardzo ciekawe rozwiązanie. Na pewno będę jeszcze o nim pisał. Program oferuje sporo możliwości, które chciałbym jeszcze przetestować. Już teraz mogę z czystym sumieniem napisać, że oferuje możliwość pracy znacznie szybszą i wygodniejszą niż inne podobne rozwiązania, a efekty jego pracy uznać można za co najmniej zadowalające.

Aktualizacja (2.03.2012) – wygląda na to, że wyświetlał się niewłaściwy filmik. Teraz mam nadzieję będzie już dobrze.