29 juli 2007
Computer-gegenereerde prikkels met behulp van de Jacky draak als een model.
Hoi, mijn naam is Kevin w van het Center for the Integrative Study of Animal Behavior hier aan de Macquarie University in Sydney, Australië. In dit video-gebaseerde artikel ga ik het hebben over het gebruik van computeranimaties in experimenten naar diergedrag. In het bijzonder zal ik uitleggen hoe we een van deze modellen daadwerkelijk vervaardigen.
Hoewel animaties tegenwoordig zeer populair zijn in onze hedendaagse cultuur, zien we ze nog niet veel terug in de wetenschap of in wetenschappelijk onderzoek. De eerste pogingen om animaties voor de wetenschap te maken, begonnen echter bij enkele zeer basisprocessen; deze processen hielden vaak in dat specifieke delen van een object of een specifiek specimen werden gesneden en gescand. Daarnaast werden er technieken gebruikt die vergelijkbaar zijn met biologische beweging, zoals point light fixtures, om bepaalde delen van een lichaam te identificeren en deze aan een animatie te koppelen. Bovendien moest een animatie, als we er een wilden maken, volledig vanaf nul worden opgebouwd.
Het gebruik van animatie heeft ons in staat gesteld om veel aspecten van diergedrag te bestuderen, zoals paring, hofmakerij, en waar ik hier specifiek naar zal kijken: communicatie of visuele communicatie. Het gebruik van animatie is veel geavanceerder dan traditionele methoden, zoals live interacties of invasieve methoden zoals chirurgie. In dit specifieke artikel zal ik een overzicht geven van hoe we dit specifieke model produceren, en we zullen bekijken hoe dit model wordt gescand.
We gaan bekijken hoe we texturen toevoegen, de UV-mapping bones, weight shading, hoe we de stimulus voor rotoscoping daadwerkelijk vastleggen, en tot slot hoe het proces volledig wordt gerenderd tot we een complete sequentie hebben. Er zijn acht belangrijke stappen waarmee we de volledige animatie kunnen creëren. De eerste stap is het daadwerkelijk aanleveren van een 3D-scan van het gehele object.
Dit vormt de basisvorm van het object. Vervolgens moeten we de textuur toevoegen, wat het object overduidelijk een realistischer gevoel geeft; deze textuur wordt vervolgens onderverdeeld in een UV-map, waardoor bepaalde punten van de textuur exact op het object kunnen worden geplaatst. Daarna moeten we het object manipuleren en vervolgens voegen we skegan toe, die vervolgens worden omgezet in bones.
Vervolgens wordt gewichtsschaduwing toegevoegd om het object ook een algemeen perspectief van balans in de beweging te geven. We moeten daarna specifieke stimuli vastleggen waarop we de beweging van het object kunnen modelleren. Vervolgens rotoscopen we deze bewegingen over de beelden die we hebben vastgelegd, en tot slot moeten we de sequenties renderen naar een leesbaar formaat voor videoweergave; we hebben een opgezette specimen verworven om als model te gebruiken.
Hier gebruiken we de Konica Minolta vi-9i om een 3D-object te reproduceren. De Konica Minolta maakt gebruik van digitale fotografie en biedt een meting met een hoge nauwkeurigheid door middel van een 3D-algoritme om fotografische segmenten aan elkaar te koppelen. Het apparaat stelt de vorm en afmetingen van het model vast en zet de beelden om in digitale 3D-gegevens.
Bij 3D-scannen worden specifieke segmenten van een echt object vastgelegd en overgebracht naar een object dat gesimuleerd is voor computeranimatie. Vervolgens wordt dit object opgebouwd door deze segmenten op de juiste posities te plaatsen. Hierdoor ontstaat een object dat we kunnen manipuleren in animatiesoftware.
Hier presenteren we een gesimuleerde opstelling van hoe we ons object fotograferen en hoe we dit object vervolgens omzetten in een geanimeerd 3D-model. Het object wordt eerst vanuit diverse hoeken gefotografeerd, waarna deze foto's in de juiste oriëntatie worden geplaatst, wat het gladstrijken van verbindende contouren mogelijk maakt. Deze techniek maakt gebruik van fotogrammetrische systemen, die worden ingezet om een hoge detailgraad en een hoge nauwkeurigheid van het object te bereiken.
Dit systeem maakt gebruik van zowel gecoate markers als schaalbalken met gecontroleerde dimensies om de coördinaten van referentiemarkers in kaart te brengen. Deze coördinaten vormen een 3D-constellatie die wordt gebruikt om de contouren en afstanden tussen elke fotografische sectie nauwkeurig te bepalen. De gegevens zijn verzameld met raindrop geomagic, wat is gebruikt om een enkel polygoon gaas (polygon mesh) van de morfologische vorm van de gegevens te verkrijgen.
Om onze animatie te maken, hebben we gekozen voor een programma genaamd LightWave 3D. Hoewel er andere 3D-animatieprogramma's beschikbaar zijn, hebben we LightWave gekozen vanwege de gebruiksvriendelijke interface en het vermogen om compatibele outputbestanden te lezen. Daarnaast bestaat LightWave uit twee aparte programma's: de modeler en de layout.
Het LightWave Modeler-programma maakt het mogelijk om het object te manipuleren door specifieke polygonen te markeren voor wijzigingen, lagen aan het object toe te voegen, kleur en textuur aan te brengen en skegan te maken. LightWave Layout creëert scènes die worden gebruikt om de animatiesequentie te voltooien. In Modeler worden de kenmerken van het object opgebouwd.
Hier kunnen we texturen, UV-mapping en de initiële skegan toevoegen, welke zullen worden omgezet in bones, en kunnen we ook het gewicht regelen. Shading modeler is de voorloper van het gebruik van LightWave waarin de scènes daadwerkelijk worden opgebouwd; hier worden dus alle objectkenmerken initieel in het object geïnstalleerd. LightWave Layout is een programma waarin u de eigenlijke scène creëert, met uitzondering van het raster waarin het object zal worden geplaatst. Binnen dit X-, Y- en Z-vlak heeft u nog twee andere specifieke functies.
U beschikt over de camera, waarmee de scène daadwerkelijk wordt gefilmd, en de camera zelf kan in elke gewenste hoek worden geplaatst om het beeld te kaderen. Daarnaast zijn er lampen. U kunt hiervoor één of meerdere lampen gebruiken; deze dienen om zowel de scène als het object te verlichten en stellen u in staat om verschillende soorten belichting te creëren.
Light wave Layout biedt ons verschillende aspecten vanuit welke we naar de scène kunnen kijken. In totaal kunnen we naar maximaal vier verschillende perspectieven kijken. Dit is de beste manier om zoveel mogelijk verschillende hoeken van uw object binnen de scène te bekijken vóór de definitieve output.
In de Wave Layout zijn er drie verschillende rotatieassen. De eerste is de X-coördinaat, wat de pitch is. Ten tweede de Y-coördinaat, wat de heading is, en ten derde de Z-coördinaat, wat de bank is.
Deze drie verschillende coördinaten hebben betrekking op de beweging waarmee we niet alleen het object, maar ook de camera's en de lampen binnen onze scène kunnen manipuleren. We hebben eerst een javaanse hagedis geselecteerd met een massa en lengte die vergelijkbaar zijn met die van ons taxidermische model. Vervolgens hebben we de textuur van het object verkregen door de textuur en patronen van deze levende javaanse draak te fotograferen.
Deze hagedis werd vervolgens vanuit diverse hoeken gefotografeerd, zoals frontaal en orthogonaal, vanuit verschillende posities zoals frontaal, orthogonaal, ventraal en dorsaal, en van de diverse lichaamsdelen zoals het gehele dier, de kop, het lichaam, de staart en de ledematen op een wit vel papier. Vervolgens hebben we dit gebalanceerd voor de zuiver witte RGB-waarden. Om de juiste textuur te verkrijgen, hebben we een levende hagedis genomen en deze vanuit verschillende hoeken gefotografeerd. Er zijn foto's gemaakt vanuit drie hoeken en tevens vanuit drie verschillende posities.
De drie hoeken waren orthogonaal, dorsaal en ventraal, en de drie posities waren anterieur, centraal en posterieur. Voor het fotograferen van deze hagedissen hebben wij een Canon ES digitale camera gebruikt. De foto's werden vervolgens geïmporteerd in Adobe Photoshop, waar de grotere fragmenten van de eigenlijke achtergrond werden gescheiden.
Deze fragmenten werden vervolgens aangepast aan RGB-waarden en daarna witbalans-gecorrigeerd, zodat er geen kleurverschil meer was. We hebben een Atlas UV-map gemaakt om de textuur over het object heen te projecteren. Deze Atlas UV-map is gemaakt in LightWave Modeler.
Een Atlas UV-map verdeelt het object in fragmenten die bestaan uit verbonden polygonen. Omdat het object geen eenvoudige vorm was, zoals een kubus of cilinder, verdeelt de Atlas UV-map het object in verschillende eenvoudigere vlakke oppervlakken zonder hoeken van 90 graden. Een Atlas UV-map splitst het object echter op in verschillende discontinue segmenten van verbonden polygonen.
Vervolgens is de Atlas UV-kaart vastgelegd met een programma genaamd Grab om een apart JPEG-bestand te maken. Daarna hebben we deze JPEG-afbeelding als achtergrondlaag ingevoegd in Adobe Photoshop Elements. Door een JPEG vast te leggen zonder de afbeelding te schalen, hebben we dezelfde proporties behouden die kunnen worden gebruikt om gebieden op de Jackie Dragon te koppelen aan het object.
De verschillende foto's van de Jackie Dragons werden vervolgens in Adobe Photoshop Elements samengevoegd om complete Jackie Dragons in diverse posities te creëren, zoals frontaal, orthogonaal, ventraal en dorsaal; polygonen werden vervolgens afgestemd op het lokale gebied op de Jackie Dragon. Vervolgens hebben we in LightWave Modeler deze polygonen opnieuw gemarkeerd op de Atlas UV-map, waardoor we het specifieke gebied op de Jackie Dragon konden identificeren.
Dit gebied werd vervolgens bijgesneden en over de specifieke gebieden van de achtergrond Atlas UV map jpeg geprojecteerd op de Jackie Dragon die waren gefotografeerd, waarna deze werden bijgesneden en over deze specifieke polygonen werden geprojecteerd. Toen alle fotografische fragmenten over de Atlas UV map jpeg waren geplaatst, werd de achtergrond verwijderd en werd er een enkel TIF-bestand gemaakt. Het TIF-bestand werd vervolgens opnieuw geïmporteerd in light wave modeler en toegewezen aan de UV-coördinaten.
Bij UV-mapping nemen we segmenten die oorspronkelijk zijn gefotografeerd van de levende hagedis, segmenteren we deze en plaatsen we ze op onze geanimeerde hagedis. Dit wordt gedaan in het programma LightWave Modeler. Met behulp van LightWave Modeler gebruiken we de UV Atlas map-tool, waarmee we het object kunnen opdelen in verschillende segmenten.
Door het object op te delen in verschillende segmenten, kunnen we de textuur die we uit de foto's hebben verkregen gebruiken en deze over deze specifieke delen plaatsen. In tegenstelling tot een object dat egaal is of cilindrische objecten die geen hoeken van 90 graden hebben, wordt dit opgedeeld in diverse segmenten. Hier is een close-up van enkele kleine polygoongestuurde segmenten op onze UV-atlaskaart.
We kunnen deze specifieke segmenten markeren om te zien welke polygonen bij welk specifiek lichaamsdeel horen. Onderdelen op het object, segmenten uit de foto's van een hagedis bij licht, werden vervolgens gepartitioneerd en over onze gesplitste stukken geplaatst. Met behulp van de UV-atlaskaart werden deze segmenten vervolgens gekoppeld, waardoor de textuur over ons object werd gelegd.
Skegans en bones zijn in het object ingebed, wat de algemene beweging en manipulatie van het object mogelijk maakt. Eerst werden in de LightWave Modeler skegans in het object ingebed; deze skegans fungeren als placeholders voor de virtuele bones die in de LightWave Layout worden aangemaakt. Voor ons specifieke object werden in totaal 61 bones aangemaakt.
Ten eerste werd er een laag geopend in de light wave modeler, waardoor het object als een draadmodel (wire frame) kon worden bekeken. Binnen dit programma stelt de modeler ons vervolgens in staat om meerdere draadmodellagen weer te geven, wat voorkomt dat we per ongeluk bepaalde polygonen markeren of verplaatsen tijdens het creëren van de skegan. In ons model hebben we een kunstmatige wervelkolom gemaakt die diende als cervicale wervels vanaf de nek tot aan de sacrale wervels aan de punt van de staart.
Hier is het skelet van de werkelijke Jackie Dragon nagebouwd met Skegan. We hebben echter slechts één groot skeletkanon gebruikt voor de kop. Vervolgens hebben we vier ledematen gemaakt, die elk uit vier Skegan bestonden, waarna de Skegan werden samengevoegd als thoracale wervels, en uiteindelijk werden ook de achterpoten gefuseerd met de bekkengordel.
De skegan werden vervolgens met elkaar versmolten om een hiërarchisch systeem te creëren waarin de wervelkolom fungeerde als centraal fundament voor alle ledemaatbewegingen. Nadat alle skegan waren aangemaakt, werd het object gesynchroniseerd met de lichtgolfindeling en werden de skegan omgezet in botten. Elk bot beschikt, net als het object zelf in de indelingmodus, over drie rotatievlakken.
Skeghoons zijn de voorlopers van botten. Skeghoons worden in eerste instantie gemaakt met de lightweight modeler. Hier plaatsen we deze skeghoons, om ze later via de light wave layout om te zetten in botten.
Ske guns vormen het initiële proces dat ons de flexibiliteit en manipulatie biedt om het object in verschillende vormen en posities te veranderen. Ten eerste kunnen we in Light wave modeler ske guns toevoegen, die helpen bij het manipuleren van ons object. Deze skegan zijn nu in het object geplaatst als markeringen om te worden omgezet in bones.
In LightWave Layout converteren we deze skegans naar bones. In dit diagram is ook een polygonennet zichtbaar, dat ons precies de afmetingen en het aantal polygonen van ons specifieke object binnen LightWave Layout laat zien. In de volgende scène ziet u hoe deze bones samenwerken om het object te manipuleren. Weight painting voorziet objecten van een flexibele en beperkte beweging.
Gewichtskaarten hebben een algemene waarde die varieert van negatief 100% tot positief 100% in de bewegingsverdeling. Zo moeten onafhankelijke gewichtskaarten die zijn toegewezen aan specifieke gebieden van het object bijvoorbeeld antagonistisch werken om een vloeiende en realistische beweging van het object mogelijk te maken. De gewichtswaarde suggereert dat een grotere afwijking van 0%, wat geen effect betekent, een groter effect zal hebben op de beweging van het betreffende lichaamsdeel.
Het gewichtsverloop (weight shading) van een specifiek gebied beïnvloedt ook de beweging van de botten. Een onjuiste weging kan echter leiden tot een vertraagde beweging van het object ten opzichte van de botbeweging, waarbij de botten bijvoorbeeld uit het object kunnen steken wanneer de beweging van het object in dezelfde algemene richting is, of het kan leiden tot hyperbeweging, waarbij de beweging van het object de positie van de botten in de algemene richting overschrijdt. Hier in LightWave Modeler splitsen we ons perspectief op in een quad-perspectief.
Hiermee kunnen we antagonistische paren van gewichtsnuancering zien. Om u van dichtbij een voorbeeld te tonen van hoe gewichtsnuancering hier optreedt, hebben we eerst een gewichtsnuance op de staart aangebracht. Door gewichtsnuances aan een specifiek deel van het object toe te voegen, moeten we een tegenwichtnuance toevoegen om de beweging van het object in balans te brengen.
Hier hebben we een contragewichtscherm op de kop geplaatst om overdreven bewegingen die door de staart kunnen worden veroorzaakt, te compenseren. Om te beginnen met het rotoscopen moeten we eerst sequenties verzamelen waarop we onze motorische patronen kunnen modelleren. We hebben eerst interacties tussen mannetjes gesimuleerd met individuen in gevangenschap.
Mannetjes werden in glazen terraria geplaatst en vervolgens onafhankelijk gefilmd voor sociale vertoningen. Deze sequenties werden bewaard voor andere experimenten en voor gebruik bij rotoscoping. We selecteerden motorische patroonsequenties, zoals een staartslag, push-up, lichaamswieging en een langzame armzwaai, uit het opgenomen digitale videomateriaal en exporteerden deze segmenten als beeldsequenties, wat een reeks opeenvolgende jpeg-bestanden in Apple QuickTime zijn.
Aanvankelijk hadden we interacties tussen levende dieren gefilmd, die noodzakelijk waren en zijn opgeslagen als archiefmateriaal om stimulus-capture uit te voeren. We hebben deze archiefbeelden van hagedissen getoond aan een levende hagedis in een verblijf. De reacties van deze levende hagedis werden vervolgens opgenomen met een digitale camcorder, en dit vormde in essentie de sequenties die we hebben gebruikt voor rotoscoping.
Rotoscoping is een techniek waarbij het model frame voor frame over een achtergrondafbeelding of een reeks afbeeldingen wordt geplaatst, waarbij het object de actie in deze beelden nabootst. Het programma LightWave Layout is het medium waarin de scène voor de animatiesequentie wordt gecreëerd. In Layout kunnen we de omgeving waarin we onze animatie representeren controleren door parameters vast te stellen voor de belichting, de camera en de kenmerken van het object en de achtergrond.
In de lay-out. De stimulus wordt ook gebruikt in de slotscène, die pas wordt vastgelegd wanneer het materiaal zich binnen het uiteindelijke cameragezicht bevindt. Eerst wordt de eerste jpeg-afbeelding geïmporteerd in de achtergrond van het cameragezicht.
Het object wordt vervolgens gemanipuleerd met behulp van de bewegingsparameters van de botten die ook voor het achtergrondbeeld zijn overgeplaatst. Het frame wordt daarna voorzien van keyframes, waardoor de positie van het object en alle botten voor dat specifieke frame worden opgeslagen. De achtergrondafbeelding wordt vervolgens verwijderd en vervangen door de volgende opeenvolgende afbeelding.
In de beeldsequentie wordt het object opnieuw gemanipuleerd naar de positie en houding van de achtergrondafbeelding na de voltooiing van de manipulatie van elk frame. Elk frame wordt vervolgens voorzien van keyframes en wanneer de scène voltooid is, kan de sequentie worden geëxporteerd als een beeldsequentie of worden samengevoegd tot één volledige sequentie. Om rotoscoping te demonstreren, wat de recreatie is van realistische beweging op basis van video-opgenomen sequenties, beginnen we met het tonen van wat we gewoonlijk gebruiken als de oorspronkelijke achtergrond.
In deze eerste sequentie ziet u de lege tak, waarop de hagedis normaal gesproken rust. Ten tweede laat ik u de sequentie met de levende hagedis zien die we zullen gebruiken voor de rotoscoping. En ten slotte ziet u de geanimeerde hagedis-sequentie die over de levende hagedis heen wordt geplaatst.
Hier laat ik zien waar het object wordt geïmporteerd in de LightWave-layout. Zoals u kunt zien, kan de layout worden onderverdeeld in enkele verschillende schermen, wat een beter overzicht geeft voor het manipuleren van het object. Het belangrijkste overzicht is echter dat bovenaan, namelijk het camerabeeld, waarin u de veilige zones kunt zien die worden aangeduid door de rechthoekige kaders rond de hagedis.
Alles wat binnen dit veilige gebied wordt gezien of geplaatst, wordt door de camera opgenomen en uiteindelijk gebruikt voor het renderen om de scène te maken. Rotoscoping is de frame-voor-frame manipulatie van het object bovenop achtergrondafbeeldingen.
Wat we hier als stapsgewijs proces hebben gedaan, is dat we de beeldsequentie naar individuele frames hebben geëxporteerd. Vervolgens gebruiken we deze individuele frames en plaatsen we deze op de achtergrond van onze geanimeerde sequentie. Daarna moeten we onze geanimeerde sequentie verplaatsen om de posities te laten overeenkomen met wat er op de achtergrond te zien is.
Door dit frame voor frame te matchen, kunnen we de beweging recreëren die daadwerkelijk is uitgevoerd op basis van een echte beeldreeks. Zoals ik eerder al noemde, moeten we elke reeks frame voor frame importeren om ons beeld te kunnen rotoscopen. In dit frame hebben we de eerste reeks in de achtergrond geïmporteerd, waardoor we kunnen zien waar ons object zich ten opzichte van ons achtergrondbeeld bevindt.
Vervolgens kunnen we ook een röntgenweergave van het bot en een lichtgolfindeling bieden, waardoor we hier de botten door de textuur van het object kunnen zien. Doordat we de botten door de textuur van het object kunnen zien, kunnen we het object manipuleren zodat het overeenkomt met de achtergrondsequentie van elke specifieke afbeelding. We zouden dan de volgende opeenvolgende sequentie importeren waarop we ons beeld willen rotoscopen.
Dit wordt vervolgens herhaald als een frame-voor-frame sequentie door de gehele opeenvolgende reeks. Kleine sequenties kunnen rechtstreeks vanuit de lay-out worden gerenderd naar verschillende afbeeldingsformaten of direct naar movie-sequenties. Alle grote sequenties kunnen worden gerenderd met behulp van de render-functie.
Farm Commander van Bruce Rain Render. Farm Commander of RFC stelt alle computers op een lokaal netwerksysteem in staat om de rendertijd te verkorten door taken te verdelen over gekoppelde computers. In ons laboratorium hebben we vier Apple Mac G5-dual processors gebruikt, wat neerkomt op acht threads om het renderen te verdelen.
Zo kan bijvoorbeeld de verwerking van een reeks van 9.000 frames, wat gelijkstaat aan zes minuten volgens de Pal DV-standaard, in 12 uur worden voltooid met een enkele G5-processor, en worden teruggebracht naar vier uur wanneer dit over acht threads of 4 G5 dual-processors wordt verdeeld. Het gebruik van RFC voor batchverwerking is efficiënt wanneer er niet meer dan twee grote sequenties zijn. RFC zal echter een willekeurig aantal individuele grafische bestanden produceren.
We hebben er echter voor gekozen om beide sequenties, zowel de lange als de korte, om te zetten in individuele JPEG's. Om dit opnieuw te demonstreren: hier hebben we onze oorspronkelijke sequentie, en in deze oorspronkelijke sequentie is een hagedis te zien die een standaard 'push-up body rock'-display uitvoert, wat wordt gebruikt voor sociale communicatie en agressieve interacties. En nu hebben we onze uiteindelijke sequentie, onze geanimeerde hagedis, en deze geanimeerde hagedis gaat de 'push-up body rock' dupliceren die te zien was in de initiële beelden van de hagedis.
Bekijk het volledige transcript en krijg toegang tot duizenden wetenschappelijke video's
Dit artikel bespreekt het gebruik van door de computer gegenereerde stimuli, waarbij specifiek de Jacky-draak als model wordt gebruikt voor experimenten naar diergedrag. Het belicht de toenemende populariteit van animaties in het wetenschappelijk onderzoek en de technieken die betrokken zijn bij het creëren van deze modellen.
Door de computer gegenereerde stimuli van diermodellen maken een precieze isolatie en manipulatie van variabelen in visuele communicatie mogelijk, wat hypothesegedreven ontdekkingen in de gedrags- en sensorische biologie ondersteunt. Deze aanpak verhoogt de voorspellende betrouwbaarheid bij targetvalidatie in een vroeg stadium door gecontroleerde, reproduceerbare tests van specifieke morfologische kenmerken en bewegingskenmerken mogelijk te maken. De aanpasbaarheid van de methode over verschillende soorten en signaleringsmodaliteiten heen maakt deze tot een herbruikbaar hulpmiddel voor translationeel onderzoek en mechanistische risicoreductie in R&D-portfolio's van de biofarmaceutische sector.
Deze methode integreert in het continuüm van ontdekking naar preklinisch onderzoek door een gestandaardiseerd platform te bieden voor hypotheseonderzoek, gedragsscreening en kwantitatieve analyses.