29 lipca 2007
Bodźce wygenerowane komputerowo z wykorzystaniem smoka Jacky jako modelu.
Witam, nazywam się Kevin w z Centrum Zintegrowanych Badań nad Zachowaniem Zwierząt na Uniwersytecie Macquarie w Sydney w Australii. W tym artykule w formie wideo będę mówił o zastosowaniu animacji komputerowych w eksperymentach nad zachowaniem zwierząt. W szczególności opowiem o tym, jak w rzeczywistości tworzymy jeden z takich modeli.
Obecnie animacje stają się bardzo popularne w naszej współczesnej kulturze, jednak nie spotykamy ich zbyt często w nauce lub w badaniach naukowych. Wczesne próby tworzenia animacji naukowych opierały się na bardzo podstawowych procesach, które często polegały na plastrowaniu i skanowaniu konkretnych części obiektu lub preparatu; stosowano również techniki podobne do analizy ruchu biologicznego, takie jak punkty świetlne, aby dopasować określone części ciała do animacji. Co więcej, aby stworzyć taką animację, ktoś musiałby opracować ją całkowicie od podstaw.
Zastosowanie animacji pozwoliło nam zbadać wiele aspektów zachowań zwierząt, takich jak kopulacja, zaloty, a w szczególności zajmę się tutaj komunikacją, a konkretnie komunikacją wizualną. Wykorzystanie animacji jest znacznie bardziej zaawansowane niż tradycyjne metody, takie jak obserwacje interakcji na żywo czy metody inwazyjne, na przykład operacje chirurgiczne. W związku z tym w niniejszym artykule przedstawię przegląd procesu tworzenia tego konkretnego modelu oraz omówię sposób jego skanowania.
Przedstawimy sposób nakładania tekstur, mapowania UV, konfiguracji kości oraz malowania wag, a następnie omówimy proces przechwytywania bodźca do rotoskopii i końcowe renderowanie aż do uzyskania pełnej sekwencji. Całą animację można stworzyć w ośmiu głównych krokach. Pierwszym krokiem jest wykonanie skanu 3D całego obiektu.
Daje to podstawowy kształt obiektu. Następnie musimy dodać teksturę, która oczywiście nadaje mu bardziej realistyczny wygląd; tekstura ta jest następnie rozbita na mapę UV, co pozwala na precyzyjne rozmieszczenie określonych punktów tekstury na obiekcie. Potem będziemy musieli zmanipulować obiekt, a następnie dodać skegan, z których utworzone zostaną kości.
Następnie zastosowano cieniowanie wag, aby nadać obiektowi ogólną perspektywę równowagi podczas ruchu. Musimy teraz zarejestrować konkretne bodźce, na podstawie których będziemy mogli wymodelować ruch obiektu. Następnie wykonujemy rotoskopię tych ruchów na zarejestrowanych obrazach, a na koniec musimy wyrenderować sekwencje do formatu umożliwiającego odtwarzanie wideo; jako model wykorzystaliśmy preparowany okaz taksydermiczny.
W tym doświadczeniu wykorzystujemy urządzenie Konica Minolta vi-9i do odwzorowania obiektu 3D. Konica Minolta wykorzystuje fotografię cyfrową i zapewnia pomiar o wysokiej dokładności dzięki zastosowaniu algorytmu 3D, który łączy ze sobą poszczególne segmenty fotograficzne. Urządzenie to określa kształt i wymiary modelu, a następnie przekształca obrazy w cyfrowe dane 3D.
Skanowanie 3D pobiera konkretne fragmenty rzeczywistego obiektu i przenosi je do obiektu symulowanego na potrzeby animacji komputerowej. Następnie obiekt ten jest budowany poprzez rozmieszczenie tych fragmentów w odpowiednich pozycjach. W ten sposób powstaje obiekt, który można manipulować w oprogramowaniu do animacji.
W niniejszym materiale przedstawiono pokazową konfigurację procesu fotografowania obiektu oraz jego późniejszej konwersji na animowany model 3D. Obiekt jest najpierw fotografowany pod różnymi kątami, a następnie uzyskane obrazy są ustawiane w odpowiedniej orientacji, co pozwala na wygładzenie łączących je konturów. Technika ta wykorzystuje systemy fotogrametryczne, które służą do uzyskania wysokiego poziomu szczegółowości i dokładności odwzorowania obiektu.
System ten wykorzystuje zarówno powlekane markery, jak i skalibrowane paski skali do mapowania współrzędnych markerów referencyjnych. Współrzędne te tworzą konstelację 3D, która służy do dokładnego pomiaru konturów i odległości między poszczególnymi sekcjami fotografii. Dane zostały zebrane przy użyciu raindrops geomagic, co pozwoliło na uzyskanie pojedynczej siatki wielokątów przedstawiającej kształt morfologiczny danych.
Do stworzenia animacji zdecydowaliśmy się wykorzystać program Light Wave 3D. Choć dostępne są inne programy do animacji 3D, wybraliśmy LightWave ze względu na jego przyjazny interfejs użytkownika oraz możliwość odczytywania kompatybilnych plików wyjściowych. Ponadto LightWave składa się z dwóch osobnych programów: modelera oraz układu (layout).
Program LightWave Modeler umożliwia manipulację obiektem poprzez zaznaczanie konkretnych wielokątów w celu wprowadzenia zmian, tworzenie warstw obiektu, dodawanie kolorów i tekstur oraz tworzenie skegan. LightWave Layout służy do tworzenia scen wykorzystywanych do ukończenia sekwencji animacji. Modeler jest narzędziem, w którym definiuje się charakterystykę obiektu.
To tutaj możemy dodać teksturę, mapowanie UV oraz wstępny szkielet, który zostanie przekształcony w kości, a także zająć się przypisaniem wag. Shading modeler jest programem poprzedzającym LightWave, w którym budowane są właściwe sceny, zatem to tutaj początkowo konfiguruje się wszystkie charakterystyki obiektu w samym obiekcie. LightWave Layout to program, w którym tworzy się rzeczywistą scenę z wyjątkiem siatki, na której obiekt zostanie umieszczony w obrębie płaszczyzn X, Y i Z; dysponujesz tutaj dwiema innymi szczególnymi funkcjami.
Do dyspozycji mają Państwo kamerę, która właściwie rejestruje obraz; samą kamerę można ustawić pod dowolnym kątem, zależnie od wybranej perspektywy widzenia. Następnie mamy oświetlenie. Można użyć jednego lub wielu punktów świetlnych, które pomagają doświetlić scenę oraz obiekt, co pozwala na uzyskanie różnych efektów oświetlenia.
Układ fal świetlnych umożliwia nam obserwację sceny pod wieloma różnymi kątami. Maksymalna liczba widoków, z których możemy obserwować scenę, to cztery różne perspektywy. Jest to najlepszy sposób na przeanalizowanie jak największej liczby kątów widzenia obiektu w scenie przed uzyskaniem końcowego wyniku.
W układzie LightWave istnieją trzy różne osie obrotu. Pierwszą jest współrzędna X, która odpowiada kątowi pochylenia (pitch). Drugą jest współrzędna Y, czyli kierunek (heading), a trzecią współrzędna Z, czyli kąt przechylenia (bank).
Te trzy różne współrzędne odnoszą się do ruchu, dzięki któremu możemy manipulować nie tylko obiektem, ale także kamerami i oświetleniem w naszej scenie. W pierwszej kolejności wybraliśmy jaszczurkę z rodzaju Jackie, podobną pod względem masy i długości do naszego modelu taksydermicznego. Następnie uzyskaliśmy teksturę obiektu, fotografując strukturę i wzory tej żywej jaszczurki Jackie.
Następnie jaszczurkę sfotografowano pod różnymi kątami, takimi jak frontalny i ortogonalny, oraz z różnych pozycji, w tym frontalnej, ortogonalnej, brzusznej i grzbietowej, a także poszczególne części ciała, takie jak całe zwierzę, głowa, tułów, ogon i kończyny, na białej kartce papieru. Następnie zbalansowano obraz pod kątem czystych białych wartości RBG. Aby uzyskać odpowiednią teksturę, wykorzystano żywą jaszczurkę i sfotografowano ją pod kilka różnych kątami. Zdjęcia wykonano z trzech kątów oraz z trzech różnych pozycji.
Zastosowano trzy kąty: prostopadły, grzbietowy i brzuszny oraz trzy pozycje: przednią, centralną i tylną. Do fotografowania jaszczurek wykorzystano cyfrowy aparat Canon ES. Zdjęcia zaimportowano następnie do programu Adobe Photoshop, gdzie oddzielono istotne elementy od tła.
Fragmenty te dopasowano następnie do wartości RGB, a następnie poddano balansowi bieli, aby wyeliminować różnice w kolorystyce. W celu nałożenia tekstury na obiekt utworzono mapę UV Atlas. Mapa UV Atlas została stworzona w programie LightWave Modeler.
Mapa UV typu Atlas dzieli obiekt na fragmenty składające się z połączonych wielokątów. Ponieważ obiekt nie posiadał prostej formy, takiej jak sześcian czy walec, mapa UV typu Atlas podzieliła go na kilka prostszych powierzchni płaskich bez kątów prostych. Niemniej jednak, mapa UV typu Atlas rozbija obiekt na kilka nieciągłych segmentów połączonych wielokątów.
Następnie mapa UV Atlasa została przechwycona za pomocą programu Grab w celu utworzenia oddzielnego obrazu JPEG. Obraz ten został następnie osadzony jako warstwa tła w programie Adobe Photoshop Elements. Przechwycenie pliku JPEG bez zmiany rozmiaru obrazu pozwoliło zachować te same proporcje, które mogą być wykorzystane do mapowania obszarów na Jackie Dragon w odniesieniu do obiektu.
Różne fotografie Jackie Dragons zostały następnie połączone w programie Adobe Photoshop Elements, aby stworzyć kompletne postaci Jackie Dragons w kilku pozycjach, takich jak frontalna, ortogonalna, brzuszna i grzbietowa; wielokąty dopasowano następnie do lokalnego obszaru na Jackie Dragon. Następnie, w programie LightWave Modeler, ponownie zaznaczyliśmy te wielokąty na mapie UV Atlas, co pozwoliło nam zidentyfikować konkretny obszar na Jackie Dragon.
Obszar ten został następnie przycięty i nałożony na tło w formie pliku jpeg z mapą UV Atlasa; konkretne obszary Jackie Dragon, które zostały sfotografowane, przycięto i nałożono na te określone wielokąty. Po nałożeniu wszystkich fragmentów fotograficznych na mapę UV Atlasa w pliku jpeg usunięto tło i stworzono jeden plik TIF. Plik TIF zaimportowano następnie z powrotem do LightWave Modeler i przypisano go do współrzędnych UV.
Mapowanie UV polega na pobraniu fragmentów, które zostały sfotografowane z żywego jaszczura, a następnie ich wysegmentowaniu i nałożeniu na nasz animowany model jaszczura. Proces ten jest realizowany w programie LightWave Modeler. Korzystając z programu LightWave Modeler, używamy narzędzia UV Atlas map, które pozwala nam podzielić obiekt na kilka różnych segmentów.
Poprzez podział na kilka różnych segmentów jesteśmy w stanie wykorzystać teksturę uzyskaną z fotografii i nałożyć ją na te konkretne elementy. W przeciwieństwie do obiektów gładkich lub cylindrycznych, które nie posiadają kątów prostych, obiekty te dzielimy na kilka różnych segmentów. Oto zbliżenie na kilka małych segmentów wielokątów na naszej mapie atlasu UV.
Możemy zaznaczyć te konkretne segmenty, aby sprawdzić, które wielokąty odpowiadają danej części ciała. Segmenty obiektu z fotografii wykonanych przy jasnym oświetleniu jaszczurki zostały następnie podzielone i nałożone na nasze rozdzielone części. Korzystając z mapy atlasu UV, dopasowano te segmenty, nakładając w ten sposób teksturę na nasz obiekt.
Szkielet i kości zostały osadzone w obiekcie, co umożliwia jego ogólny ruch i manipulację. Po pierwsze, w programie LightWave Modeler do obiektu wbudowano szkielet, który służy jako miejsce dla wirtualnych kości, które zostaną utworzone w LightWave Layout. W przypadku naszego obiektu stworzono łącznie 61 kości.
W pierwszej kolejności w programie LightWave Modeler otwarto warstwę, dzięki czemu obiekt można było wyświetlić jako siatkę krawędziową. Program ten umożliwia przeglądanie wielu warstw siatek krawędziowych, co zapobiega przypadkowemu zaznaczeniu lub przesunięciu określonych wielokątów podczas tworzenia skeganu. W naszym modelu stworzyliśmy sztuczną kolumnę kręgosłupa, która miała pełnić funkcję kręgów szyjnych, od szyi w dół aż do kręgów krzyżowych w końcówce ogona.
Skegan odtworzył tutaj szkielet rzeczywistego Jackie Dragon. Wykorzystano jednak tylko jeden duży szkielet pistoletu dla głowy. Następnie stworzono cztery kończyny, z których każda składała się z czterech skeganów, a następnie skegan został połączony jako kręgi piersiowe, aż w końcu kończyny tylne zostały również połączone z obręczą miedniczną.
Następnie skegany zostały ze sobą połączone, aby stworzyć system hierarchiczny, w którym kręgosłup pełnił rolę centralnego fundamentu dla wszystkich ruchów kończyn. Po stworzeniu wszystkich skeganów, obiekt został zsynchronizowany z układem fal świetlnych, a skegany przekształcono w kości. Każda kość, podobnie jak sam obiekt w trybie układu, posiada również trzy płaszczyzny obrotu.
Szkielety (skeletons), które są poprzednikami kości. Szkielety są początkowo tworzone za pomocą Modelera w programie LightWave. To tutaj instalujemy te szkielety, aby później przekształcić je w kości w układzie (Layout) LightWave.
Ske guns stanowią proces wstępny, który zapewnia elastyczność i możliwość manipulacji, pozwalając na zmianę kształtu oraz pozycji obiektu. Najpierw, w programie Light wave modeler, możemy dodać ske guns, które pomagają w manipulowaniu obiektem. Obecnie ske guns te są ustawione w obiekcie jako znaczniki miejsca, które zostaną przekształcone w kości.
W programie LightWave Layout przekształcamy te skegany w kości. Na tym schemacie widoczna jest również siatka wielokątów, która precyzyjnie pokazuje wymiary oraz liczbę wielokątów w konkretnym obiekcie w środowisku LightWave Layout. W następnej scenie zobaczą Państwo, jak kości te współpracują, aby umożliwić manipulowanie obiektem. Przypisywanie wag zapewnia obiektom elastyczny i ograniczony ruch.
Mapy wag posiadają ogólne wartości zakresu od -100% do +100% w rozkładzie ruchu. Przykładowo, niezależne mapy wag przypisane do konkretnych obszarów obiektu muszą działać antagonistycznie, aby umożliwić płynny i realistyczny ruch obiektu. Wartość wagi sugeruje, że większe odchylenie od 0% (brak efektu) spowoduje silniejszy wpływ na ruch danej części ciała.
Ważenie (weight shading) konkretnego obszaru wpływa również na ruch kości. Jednakże nieprawidłowe ustawienie wag może spowodować opóźnienie ruchu obiektu względem ruchu kości, na przykład kości mogą wystawać z obiektu, gdy ruch obiektu odbywa się w tym samym ogólnym kierunku, lub może dojść do nadmiernego ruchu, w którym ruch obiektu wyprzedza pozycję kości w ogólnym kierunku. Tutaj, w LightWave Modeler, dzielimy naszą perspektywę na widok czterodzielny (quad perspective).
Pozwala nam to dostrzec antagonistyczne pary cieniowania wag (Weight shading). Aby przybliżyć przykład tego, jak odbywa się tutaj cieniowanie wag, najpierw nałożyliśmy cieniowanie wag na ogon. Dodając cieniowanie wag do konkretnej części obiektu, musimy dodać przeciwstawne cieniowanie wag, aby zrównoważyć ruch obiektu.
Tutaj dodaliśmy przeciwwagę na głowie, aby zrównoważyć przesadne ruchy, które mogłyby być wywołane przez ogon. Aby rozpocząć rotoskopię, musimy najpierw zebrać sekwencje, na podstawie których będziemy mogli modelować nasze wzorce ruchowe. W pierwszej kolejności przeprowadziliśmy symulację interakcji samiec-samiec u osobników w niewoli.
Samce umieszczono w szklanych terrariach IPOing, a następnie niezależnie sfilmowano podczas wykonywania pokazów społecznych. Sekwencje te zarchiwizowano na potrzeby innych eksperymentów oraz do zastosowania w rotoskopii. Z zarejestrowanego cyfrowego materiału wideo wybrano sekwencje wzorców ruchowych, takich jak drgnięcie ogona, pompka, kołysanie ciałem oraz powolne machanie ramieniem, a następnie wyeksportowano te segmenty do sekwencji obrazów, czyli serii kolejnych plików jpeg w programie Apple QuickTime.
Początkowo sfilmowaliśmy interakcje żywych zwierząt, które były niezbędne i zostały zapisane jako archiwalne materiały wideo w celu przechwycenia bodźców. Te archiwalne nagrania jaszczurek wyświetlono żywej jaszczurce znajdującej się w terrarium. Reakcje tej żywej jaszczurki zostały następnie zarejestrowane za pomocą cyfrowej kamery, co w zasadzie stało się sekwencjami, których użyliśmy do rotoskopii.
Rotoskoping to technika, w której model jest nakładany na obraz tła lub serię obrazów, których obiekt ma naśladować w sekwencji klatka po klatce. Program LightWave Layout jest środowiskiem, w którym tworzona jest scena dla sekwencji animacji. W module Layout możemy kontrolować środowisko reprezentacji animacji poprzez ustalanie parametrów kamery oświetlenia oraz charakterystyki obiektów i tła.
W układzie. Bodziec jest również wykorzystywany w końcowej scenie, która zostanie zarejestrowana dopiero wtedy, gdy materiał znajdzie się w końcowym polu widzenia kamery. Najpierw pierwszy obraz w formacie jpeg zostaje zaimportowany do tła widoku kamery.
Obiekt byłby następnie manipulowany przy użyciu parametrów ruchu kości, które są również nałożone na obraz tła. Następnie tworzona jest klatka kluczowa, która zapisuje pozycję obiektu oraz wszystkich kości dla tej konkretnej klatki. Obraz tła zostaje wówczas usunięty i zastąpiony kolejnym, następnym obrazem.
W sekwencji obrazów obiekt jest ponownie ustawiany w pozycji i postawie zgodnej z obrazem tła po zakończeniu manipulacji w każdej klatce. Następnie dla każdej klatki tworzone są klatki kluczowe, a po ukończeniu sceny sekwencja może zostać wyeksportowana jako sekwencja obrazów lub zrenderowana do jednej pełnej sekwencji. Aby zademonstrować rotoskopię, czyli odtworzenie realistycznego ruchu na podstawie nagranych sekwencji wideo, zaczniemy od pokazania tego, czego zazwyczaj używamy jako oryginalnego tła.
W tej pierwszej sekwencji zobaczą Państwo pustą gałązkę, na której zazwyczaj przysiada jaszczurka. Po drugie, pokażę sekwencję z żywą jaszczurką, którą wykorzystamy do rotoskopii. Po trzecie, zobaczą Państwo sekwencję z animowaną jaszczurką, która została nałożona na obraz żywego zwierzęcia.
Tutaj pokazuję, w którym miejscu obiekt został zaimportowany do układu LightWave. Jak widać, można podzielić układ na kilka różnych ekranów, co zapewnia lepszy widok ułatwiający manipulowanie obiektem. Najważniejszym widokiem jest jednak ten na górze, czyli widok kamery, w którym widoczne są bezpieczne obszary wyznaczone przez prostokątne ramki wokół jaszczurki.
Wszystko, co jest widoczne lub umieszczone w tym bezpiecznym obszarze, zostanie zarejestrowane przez kamerę i ostatecznie wykorzystane do renderowania sceny. Rotoskopię definiuje się jako manipulację obiektem klatka po klatce na obrazach tła.
W ramach tego procesu krok po kroku wyeksportowaliśmy sekwencję obrazów do poszczególnych klatek. Następnie wykorzystaliśmy te pojedyncze klatki i umieściliśmy je w tle naszej animowanej sekwencji. W kolejnym kroku musieliśmy przesunąć naszą animowaną sekwencję tak, aby odpowiadała pozycjom widocznym w tle.
Dzięki dopasowaniu klatka po klatce jesteśmy w stanie odtworzyć ruch na podstawie rzeczywistej sekwencji obrazów. Jak wspomniałem wcześniej, musielibyśmy importować każdą sekwencję klatka po klatce, aby móc wykonać rotoskopię obrazu. W tej klatce zaimportowaliśmy pierwszą sekwencję do tła, co pozwala nam zobaczyć, gdzie znajduje się nasz obiekt na tle obrazu tła.
Możemy również udostępnić widok rentgenowski kości oraz układ fal świetlnych, co pozwala nam zobaczyć kości przez teksturę obiektu w tym miejscu. Dzięki możliwości dostrzeżenia kości przez teksturę obiektu możemy manipulować obiektem tak, aby dopasować go do sekwencji tła każdego konkretnego obrazu. Następnie importujemy kolejną następującą sekwencję, na którą chcemy nałożyć nasz obraz za pomocą rotoskopii.
Następnie czynność tę powtarza się w formie sekwencji klatka po klatce dla całej następującej Sekwencji. Krótkie sekwencje można renderować bezpośrednio z układu do różnych formatów obrazów lub bezpośrednio do sekwencji wideo. Wszystkie duże sekwencje można wyrenderować za pomocą funkcji renderowania.
Farm Commander od Bruce Rain Render. Farm Commander lub RFC umożliwia wszystkim komputerom w sieci lokalnej skrócenie czasu renderowania poprzez rozkładanie zadań pomiędzy połączone komputery. W naszym laboratorium wykorzystaliśmy cztery procesory Apple Mac G5 Dual, które zapewniają łącznie osiem wątków do dystrybucji renderowania.
Przykładowo, przetwarzanie sekwencji 9 000 klatek, co odpowiada sześciu minutom w standardzie pal DV, może zostać ukończone w ciągu 12 godzin przy użyciu pojedynczego procesora G5 i skrócone do czterech godzin, gdy zostanie rozdzielone na osiem wątków lub cztery dwurdzeniowe procesory G5. Wykorzystanie RFC do przetwarzania wsadowego jest wydajne, gdy nie ma więcej niż dwie duże sekwencje. Jednakże RFC wygeneruje dowolną liczbę pojedynczych plików graficznych.
Zdecydowaliśmy się jednak wyeksportować obie nasze sekwencje, zarówno długą, jak i krótką, do pojedynczych plików JPEG. Aby ponownie to zademonstrować: tutaj mamy naszą oryginalną sekwencję, w której jaszczurka wykonuje standardowy ruch „push-up body rock”, służący do komunikacji społecznej i interakcji agresywnych. A teraz mamy naszą końcową sekwencję, czyli animowaną jaszczurkę, która powiela ruch „push-up body rock” widoczny na początkowym nagraniu jaszczurki.
Wyświetl pełny transkrypt i uzyskaj dostęp do tysięcy filmów naukowych
Niniejszy artykuł omawia wykorzystanie bodźców generowanych komputerowo, a w szczególności użycie smoka Jacky jako modelu w eksperymentach nad zachowaniem zwierząt. Podkreśla on rosnącą popularność animacji w badaniach naukowych oraz techniki stosowane przy tworzeniu takich modeli.
Komputerowo generowane bodźce w modelach zwierzęcych umożliwiają precyzyjną izolację i manipulację zmiennymi komunikacji wizualnej, co wspiera odkrycia oparte na hipotezach w biologii behawioralnej i sensorycznej. Podejście to zwiększa pewność prognostyczną we wczesnych etapach walidacji celów poprzez umożliwienie kontrolowanych i powtarzalnych testów specyficznych cech morfologicznych oraz ruchowych. Adaptacyjność tej metody w odniesieniu do różnych gatunków i modalności sygnalizacyjnych sprawia, że stanowi ona wielokrotnie wykorzystywalne narzędzie w badaniach translacyjnych i ograniczaniu ryzyka mechanistycznego w portfelach B+R farmaceutycznych.
Metoda ta integruje się z kontinuum od etapu odkrywania do badań przedklinicznych, zapewniając ustandaryzowaną platformę do testowania hipotez, przesiewu behawioralnego oraz analiz ilościowych.