Formaty plików Gaussian Splatting: PLY, SPLAT, SPZ i SOG
Skan Gaussian Splatting to plik z listą milionów elips. Zapisać go można na kilka sposobów, od surowego PLY po mocno skompresowane SPZ i SOG. Wyjaśniamy, czym się różnią i który wybrać.
Autor: Dominik Mizerski
Zeskanowana przestrzeń w technologii Gaussian Splatting to na końcu zwykły plik z długą listą elips. Każda z nich ma położenie, rozmiar, orientację, przezroczystość i kolor zależny od kierunku patrzenia. Tych elips są miliony, więc sposób zapisu decyduje o rozmiarze pliku, szybkości wczytywania i o tym, w czym go potem otworzysz.
Jeśli dopiero poznajesz temat, zacznij od tekstu Gaussian Splatting: co to jest i jak działa.
Krótko: którego formatu użyć
- Do archiwizacji i dalszej obróbki wybierz PLY, bo to format wyjściowy i najmniej stratny.
- Do wyświetlania w przeglądarce wybierz jeden z formatów skompresowanych, na przykład SOG lub SPZ, albo format z podziałem na kawałki i poziomy szczegółowości.
- Do szybkiego podglądu wystarczy prosty SPLAT.
Formaty rozwijają się szybko, dlatego przed wyborem sprawdź aktualną dokumentację narzędzia, z którego korzystasz.
PLY: surowy standard
PLY (Polygon File Format) to stary, prosty format, który znają programy do chmur punktów i siatek. W Gaussian Splatting stał się formatem wyjściowym: oryginalny program do uczenia scen zapisuje w nim gotowy wynik. Dla każdej elipsy przechowuje położenie, rozmiar, obrót, przezroczystość i współczynniki opisujące kolor zależny od kierunku.
Zalety: powszechność i pełna informacja, bez kompresji stratnej. Większość narzędzi do Gaussian Splatting potrafi go wczytać.
Wady: duży rozmiar. Surowa scena potrafi ważyć setki megabajtów, a w większych obiektach więcej. Do wczytania w przeglądarce na telefonie to za dużo.
SPLAT i KSPLAT: prostsze formaty do przeglądarek
SPLAT to uproszczony format binarny, który upowszechnił się razem z pierwszymi przeglądarkami Gaussian Splatting działającymi w przeglądarce. Jest mniejszy od PLY, bo zapisuje mniej informacji na każdą elipsę, w szczególności upraszcza kolor zależny od kierunku.
KSPLAT to format używany przez jedną z popularnych bibliotek webowych, z opcjonalną kompresją i podziałem sceny na sekcje.
Zalety: prostota i szybkie wczytywanie. Wady: mniejsza wierność (uproszczony kolor) i mniej dobrze ustandaryzowane zasady.
SPZ: kompresja od Niantic
SPZ to format opracowany przez Niantic, udostępniony jako otwarty. Kompresuje dane elips, zapisując je z mniejszą precyzją, i pakuje całość kompresją ogólną. Według twórców formatu plik jest kilkukrotnie (około dziesięciokrotnie) mniejszy od odpowiadającego mu PLY, przy niewielkiej stracie jakości, której na co dzień zwykle nie widać.
Zalety: duża oszczędność miejsca i otwarta specyfikacja. Wady: kompresja jest stratna, a dane trzeba przed edycją zdekompresować.
SOG: zapis w obrazach
SOG (Spatially Ordered Gaussians) to format rozwijany przez PlayCanvas, czyli twórców edytora SuperSplat i silnika, którego używamy także na tej stronie. W uproszczeniu układa atrybuty elips w uporządkowane obrazy, które przeglądarka wczytuje bardzo wydajnie, a kompresja obrazów dodatkowo zmniejsza rozmiar pliku.
Zalety: mały rozmiar i dobre dopasowanie do przeglądarek. Wady: format jest młodszy niż PLY, więc nie każde narzędzie go obsługuje.
Tabela porównawcza
| Format | Rozmiar względny | Kompresja | Wierność | Typowe użycie |
|---|---|---|---|---|
| PLY | największy | brak | pełna | archiwum, obróbka |
| SPLAT / KSPLAT | średni | uproszczenie danych | niższa (uproszczony kolor) | szybki podgląd w przeglądarce |
| SPZ | mały | stratna | wysoka | udostępnianie, aplikacje mobilne |
| SOG | mały | stratna, obrazowa | wysoka | wyświetlanie w przeglądarce |
Uwaga: to porównanie ma charakter orientacyjny. Rzeczywisty rozmiar zależy od konkretnej sceny i ustawień kompresji.
Jak konwertować i edytować
Do obejrzenia i przycięcia sceny służy SuperSplat, edytor PlayCanvas działający w przeglądarce. Pozwala wczytać PLY, usunąć niepotrzebne elipsy i wyeksportować wynik w innych formatach.
Do masowej konwersji i przygotowania sceny do sieci (kompresja, podział na kawałki i poziomy szczegółowości) używa się narzędzi wiersza poleceń. My korzystamy między innymi z narzędzia splat-transform, które przygotowuje skany do wczytywania stopniowego. Dzięki temu scena na stronie nabiera ostrości w trakcie ładowania, a na telefonie nie trzeba czekać na cały plik.
Trwają też prace nad ujednoliceniem zapisu, między innymi w ramach formatu glTF. Gdy powstanie powszechny standard, wymiana skanów między narzędziami będzie prostsza.
Jakie pliki dostaje klient
Na prośbę klienta bezpłatnie przekazujemy pełne pliki skanu do własnego wykorzystania i niczego nie trzymamy pod kluczem. Jesteśmy w stanie przekazać skan w dowolnym formacie, jakiego potrzebuje klient, czy to PLY do dalszej obróbki, czy skompresowany format do własnej aplikacji lub strony. Więcej o zakresie realizacji znajdziesz na stronie Oferta. Jeśli planujesz użyć skanu we własnej aplikacji albo na własnej stronie, napisz do nas, a ustalimy odpowiedni format.
Podsumowanie
PLY to archiwum i punkt wyjścia do obróbki. SPLAT i KSPLAT to proste formaty do podglądu. SPZ i SOG to najlepszy wybór tam, gdzie liczy się rozmiar i wyświetlanie w przeglądarce. O różnicach między samymi metodami rekonstrukcji przeczytasz w tekście Gaussian Splatting, NeRF i fotogrametria, a pojęcia, które tu padły, wyjaśniamy w słowniku Gaussian Splatting.
