Obróbka chmury punktów

Proces skanowania 3D różnych obiektów składa się z kilku etapów. Efektem końcowym ma być z reguły uzyskanie kompletnego, pozbawionego wad modelu 3D zapisanego w standardowym formacie (STL, OBJ), który w dalszej kolejności będzie możliwy do wydrukowania na drukarce 3D. Inną opcją jest też dalsza praca z modelem w narzędziach klasy CAD/CAM. Jednym z istotnych elementów pracy ze zeskanowanym obiektem jest więc obróbka chmury punktów powstałej w wyniku procesu skanowania. Na czym polega ten proces?

Skanery 3D, które są obecnie dostępne na rynku dostarczają model 3D, który do uzyskania pożądanego efektu wymaga dalszej pracy i poprawek. Jego początkowym stadium jest właśnie chmura punktów 3D. Angielskie określenie używane dla tej formy cyfrowego modelu 3D to „point cloud”. Każdy punkt w tym często wielomilionowym zbiorze jest opisany poprzez położenie wyrażone w wartościach poszczególnych współrzędnych oraz dodatkową wartość nazywaną współczynnikiem intensywności odbicia, która to wartość może dawać dodatkowe informacje na temat materiału i koloru z jakiego wykonany jest skanowany obiekt. Chmura punktów może być odczytana i zwizualizowana przez popularne i darmowe aplikacje (Blender, ccViewer, MeshLab) Sama chmura punktów ma też pewne praktyczne zastosowania np.:

  • dokonywanie dokładnych pomiarów metrycznych (np. w medycynie)
  • kontrola jakości (inżynieria)
  • porównywanie faktycznego wyglądu obiektu z projektem
  • tworzenie modelu powierzchni danego obszaru geograficznego

Jeżeli jednak celem jest dokładna praca ze skanem danego obiektu i jego dalsze przetwarzanie w aplikacjach inżynieryjnych lub wydruk 3D, wtedy potrzebna jest obróbka chmury punktów, która najczęściej posiada nadmiarowe informacje i może zostać spokojnie „odchudzona” podczas takiego procesu jej przekształcania.

Produktem końcowym obróbki chmury punktów ma być siatka trójkątów lub siatka poligonów. W istocie chodzi więc o to, żeby duży zbiór punktów przekształcić w zbiór połączonych ze sobą powierzchni wyrażonych poprzez trójkąty lub wieloboki i tym samym uzyskać nowy model 3D, który będzie zamkniętym wielościanem. Tak powstała bryła geometryczna może mieć oczywiście większą lub mniejszą dokładność co może wpłynąć na objętość pamięciową takiego obiektu cyfrowego jak i dokładność późniejszej wizualizacji w postaci wydruku 3D. Poniżej przedstawione jest porównanie pomiędzy chmurą punktów a siatką trójkątów wykonane dla bardzo podstawowego obiektu:

Chmura punktów

Rys. 1. Chmura punktów

Siatka trójkątów

Rys. 2. Siatka trójkątów


 
 
 
 
 
 
 
 
Istnieją różne narzędzia oraz metody (algorytmy) przechodzenia z formy przedstawionej na rysunku pierwszym do formy z obrazka drugiego. Cały proces jest często określany jako triangularyzacja modelu. Należy pamiętać, że obróbka chmury punktów ma nie tylko doprowadzić obiekt 3D do „lepszej” postaci, ale też pozbawić go ewentualnych wad, dziur, nieregularności czy innych niepożądanych cech wynikłych podczas skanowania. Załóżmy, że wykonaliśmy pierwszy etap – czy to oznacza, że nasz model jest już gotowy do wydruku 3D? Nie, kolejnym krokiem jest weryfikacja i analiza posiadanej postaci obiektu właśnie pod kątem zdatności do druku trójwymiarowego. Podczas tego procesu model będzie przetwarzany warstwa po warstwie (podobnie do metodyki używanej podczas wydruku) i za każdym razem nastąpi sprawdzenie czy dana warstwa spełnia wszystkie wymagania, aby drukarka 3D nie miała problemu z jej wydrukiem. Dopiero wtedy gdy cały obiekt przejdzie pomyślnie taką weryfikację, możemy spokojnie stwierdzić, że obróbka chmury punktów jest zakończona i powstały w wyniku niej model zapisać do pliku w formacie STL i wydrukować na dowolnym urządzeniu potrafiącym obsługiwać ten format plików. Alternatywnie możemy z takim plikiem pracować dalej w specjalistycznym oprogramowaniu CAD/CAM. Poniżej przedstawiony jest ten sam obiekt przeniesiony do programu tego typu.

Model CAD

Rys. 3. Model CAD

Chmura punktów jest bardzo istotnym elementem świata cyfrowych obiektów 3D, ale jak widać, w większości przypadków jest ona jednym z początkowych etapów tworzenia wartościowych modeli 3D i sama w sobie ma bardzo wąskie zastosowanie. Powyżej opisane metody pracy z chmurą punktów, są także pewnym wycinkiem całego bogatego obszaru związanego z jej przetwarzaniem i przekształcaniem do innych bardziej użytecznych postaci, które mają swoje szerokie praktyczne zastosowanie w różnych dziedzinach przemysłu, medycynie i wielu innych. Nie poruszyliśmy tu np. jeszcze jednej bardzo popularnej formy docelowej dla modelów 3D jaką jest NURBS (Non-uniform rational B-spline). Należy więc pamiętać, że pod terminem obróbki chmury punktów może się kryć wiele różnorakich operacji związanych z pracą z modelami 3D