29 luglio 2007
Generate dal computer usando stimoli il drago Jacky come modello.
Ciao, mi chiamo Kevin w del Centro per lo Studio Integrato del Comportamento Animale della Macquarie University di Sydney, in Australia. In questo articolo video, parlerò dell'uso di animazioni al computer negli esperimenti sul comportamento animale. In particolare, illustrerò come realizziamo effettivamente uno di questi modelli.
Oggi le animazioni stanno diventando sempre più popolari nella nostra cultura contemporanea, ma in ambito scientifico o nella ricerca scientifica non ne vediamo effettivamente molte. Tuttavia, i primi tentativi di creare animazioni per la scienza nascono da processi molto basilari, spesso basati sul sezionamento e sulla scansione di parti specifiche di un oggetto o di un particolare campione; inoltre, sono state utilizzate anche tecniche simili al movimento biologico, come i punti luminosi, per rilevare determinate parti del corpo e associarle a un'animazione. Inoltre, se si volesse creare un'animazione, qualcuno dovrebbe realizzarla completamente da zero.
Ora, l'uso dell'animazione ci ha permesso di studiare molti aspetti del comportamento animale, come l'accoppiamento, il corteggiamento e, in particolare, ciò che analizzerò qui è la comunicazione o la comunicazione visiva. L'uso dell'animazione è molto più sofisticato rispetto ai metodi tradizionali, come le interazioni dal vivo o metodi invasivi quali la chirurgia. In questo particolare articolo scientifico, fornirò un'ampia panoramica su come produciamo questo modello specifico e analizzeremo il processo di scansione di tale modello.
Analizzeremo come aggiungere la texture, le ossa per il mapping UV, la pesatura dell'ombreggiatura, come catturiamo effettivamente lo stimolo per il rotoscopio e, infine, come l'intero processo viene completamente renderizzato fino a ottenere una sequenza completa. Esistono otto passaggi principali attraverso i quali possiamo creare l'intera animazione. Il primo passo consiste nell'effettuare effettivamente una scansione 3D dell'oggetto completo.
Questo definisce la forma di base dell'oggetto. Successivamente, dobbiamo aggiungere la texture, che ovviamente gli conferisce un aspetto più realistico, e questa texture viene poi suddivisa in una mappa UV, che permette di posizionare con precisione determinati punti della texture sull'oggetto. Poi dovremo manipolare l'oggetto e aggiungeremo gli skegan, che verranno trasformati in ossa.
Viene quindi aggiunta un'ombreggiatura per peso, in modo da fornire anche una prospettiva generale di equilibrio del movimento dell'oggetto. Successivamente, dobbiamo acquisire stimoli specifici sui quali possiamo modellare il movimento dell'oggetto. Dopodiché, eseguiamo il rotoscopio di questi movimenti sopra le immagini che abbiamo catturato e, infine, dobbiamo renderizzare le sequenze in un formato leggibile da utilizzare per la riproduzione video; abbiamo ottenuto un esemplare tassidermico da utilizzare come nostro modello.
Qui utilizziamo il Konica Minolta vi dash nine I per riprodurre un oggetto 3D. Il Konica Minolta utilizza la fotografia digitale e fornisce una misurazione di elevata precisione impiegando un algoritmo 3D per collegare insieme i segmenti fotografici. Produce la forma e le dimensioni del modello e converte le immagini in dati digitali 3D.
La scansione 3D acquisisce segmenti specifici di un oggetto reale e li inserisce in un oggetto simulato per l'animazione al computer. Successivamente, questo oggetto viene costruito prendendo tali segmenti e posizionandoli nelle giuste posizioni. In questo modo si crea un oggetto che possiamo manipolare nel software di animazione.
Qui abbiamo fornito un esempio di configurazione di come fotografiamo il nostro oggetto e successivamente di come convertiamo l'oggetto in un modello 3D animato. L'oggetto viene innanzitutto fotografato da diverse angolazioni, e queste immagini vengono posizionate nell'orientamento corretto, consentendo così la regolarizzazione dei contorni adiacenti. Questa tecnica prevede l'utilizzo di sistemi fotogrammetrici, impiegati per ottenere un elevato livello di dettaglio e un'elevata precisione dell'oggetto.
Questo sistema utilizza sia marcatori rivestiti che barre di scala con dimensioni controllate per mappare le coordinate dei marcatori di riferimento. Queste coordinate costituiscono una costellazione tridimensionale che viene utilizzata per misurare con precisione i contorni e le distanze tra ciascuna sezione fotografica. I dati sono stati raccolti utilizzando Raindrop Geomagic, e ciò è stato impiegato per ottenere una singola mesh poligonale della forma morfologica dei dati.
Per creare la nostra animazione, abbiamo scelto di utilizzare un programma chiamato Light Wave 3D. Sebbene esistano altri programmi di animazione 3D disponibili, abbiamo optato per LightWave grazie alla sua interfaccia intuitiva e alla capacità di leggere file di output compatibili. Inoltre, LightWave è composto da due programmi separati: il modellatore e il layout.
Il programma modellatore LightWave consente la manipolazione dell'oggetto evidenziando specifici poligoni da modificare, creando strati per l'oggetto, aggiungendo colore e texture e generando skegan. L'ambiente Layout di LightWave crea le scene utilizzate per completare la sequenza di animazione. Modler è il modulo in cui vengono definite le caratteristiche dell'oggetto.
È qui che possiamo aggiungere la texture, il mapping UV, lo scheletro iniziale, che diventerà poi una struttura ossea, e occuparci anche del peso. Il modellatore di ombreggiatura è una fase preliminare all'utilizzo di Light Wave, dove vengono effettivamente costruite le scene; è quindi qui che vengono inizialmente impostate tutte le caratteristiche dell'oggetto all'interno dell'oggetto stesso. Light Wave Layout è un programma in cui si crea effettivamente la scena, con l'eccezione della griglia dove l'oggetto verrà posizionato. All'interno di questo piano X, Y e Z, sono presenti altre due caratteristiche particolari.
Hai la telecamera, che in effetti riprende la scena, e la telecamera stessa può essere posizionata ad angolo qualsiasi in base al punto di vista che si desidera. Poi ci sono le luci. È possibile utilizzare una o più luci, che contribuiscono a illuminare sia la scena che l'oggetto, consentendo di creare diverse tipologie di illuminazione.
La disposizione delle onde luminose ci offre diverse prospettive attraverso cui osservare la scena. Il numero massimo di prospettive disponibili è di quattro punti di vista differenti. Questo rappresenta il modo migliore per esaminare il maggior numero possibile di angolazioni del proprio oggetto all'interno della scena prima dell'output finale.
Nella disposizione delle onde luminose, esistono tre assi di rotazione diversi. Il primo è la coordinata X, ovvero il beccheggio. In secondo luogo, la coordinata Y, ovvero l'imbarcamento, e in terzo luogo, la coordinata Z, ovvero l'angolo di rollio.
Queste tre coordinate differenti riguardano il movimento con cui possiamo manipolare non solo l'oggetto, ma anche le telecamere e le luci all'interno della nostra scena. Abbiamo innanzitutto selezionato un esemplare di lucertola Jackie simile per massa e lunghezza al nostro modello tassidermico. Da questo punto, abbiamo acquisito la texture dell'oggetto fotografando le trame e i motivi di questo esemplare vivente di Jackie Dragon.
Questo rettile è stato quindi fotografato da diversi angoli, come frontale e ortogonale, da varie posizioni quali frontale, ortogonale, ventrale e dorsale, e di diverse parti del corpo come l'animale intero, la testa, il corpo, la coda e gli arti, su un foglio di carta bianca. Successivamente, abbiamo bilanciato i valori RGB puramente bianchi. Per ottenere la texture corretta, abbiamo preso un rettile vivo e lo abbiamo fotografato da diversi angoli. È stato ripreso da tre angolazioni e anche da tre posizioni differenti.
I tre angoli erano ortogonali, dorsali e ventrali, e le tre posizioni erano anteriore, centrale e posteriore. Per fotografare queste lucertole abbiamo utilizzato una fotocamera digitale Canon ES. Le fotografie sono state quindi importate in Adobe Photoshop, dove le parti più grandi sono state separate dallo sfondo reale.
Questi frammenti sono stati quindi abbinati a valori RGB e bilanciati anche sul bianco in modo da eliminare qualsiasi differenza di colore. Abbiamo creato una mappa UV Atlas per sovrapporre la texture all'oggetto. Questa mappa UV Atlas è stata creata nel software Light Wave Modeler.
Una mappa UV Atlas separa l'oggetto in frammenti costituiti da poligoni connessi. Poiché l'oggetto non aveva una forma semplice come un cubo o un cilindro, la mappa UV Atlas divide l'oggetto in diverse superfici piane più semplici prive di angoli di 90 gradi. Tuttavia, una mappa UV Atlas suddivide l'oggetto in diversi segmenti discontinui di poligoni connessi.
Pertanto, la mappa UV dell'Atlas è stata acquisita utilizzando un programma chiamato Grab al fine di creare un'immagine JPEG separata. Successivamente, abbiamo incorporato questa immagine BA come livello di sfondo in Adobe Photoshop Elements. Acquisendo un jpeg senza ridimensionare l'immagine, abbiamo mantenuto le stesse proporzioni che possono essere utilizzate per mappare aree sul Jackie Dragon all'oggetto.
Le diverse fotografie dei Jackie Dragons sono state quindi fuse insieme in Adobe Photoshop Elements per creare interi Jackie Dragons in diverse posizioni, come viste frontali, ortogonali, ventrali e dorsali; successivamente, i poligoni sono stati abbinati all'area locale sul Jackie Dragon. Ora, nel modellatore Light Wave, abbiamo nuovamente evidenziato questi poligoni sulla mappa UV dell'atlante, consentendoci di identificare l'area specifica sul Jackie Dragon.
Questa area è stata quindi ritagliata e sovrapposta alla mappa UV dell'Atlante in formato jpeg, su aree specifiche del Jackie Dragon che erano state fotografate, poi ritagliate e sovrapposte a questi poligoni specifici. Una volta che tutti i frammenti fotografici sono stati stratificati sulla mappa UV dell'Atlante in formato jpeg, lo sfondo è stato rimosso e un singolo file TIF è stato creato. Il file TIF è stato quindi importato nuovamente nel modellatore Light Wave ed assegnato alle coordinate UV.
La mappatura UV è il processo mediante il quale prendiamo segmenti precedentemente fotografati dal rettile vivo, li suddividiamo e li posizioniamo sul nostro rettile animato. Questo viene eseguito nel programma di modellazione Light Wave. Utilizzando il programma di modellazione Light Wave, impieghiamo lo strumento Mappa Atlante UV, che ci permette di suddividere l'oggetto in diversi segmenti.
Dividendolo in diversi segmenti, siamo in grado di utilizzare la texture ottenuta dalle fotografie e posizionarla sopra questi particolari pezzi. A differenza di un oggetto che potrebbe essere semplice o di oggetti cilindrici che non presentano angoli di 90 gradi, questo viene suddiviso in diversi segmenti. Ecco un dettaglio di alcuni piccoli segmenti poligonali sulla nostra mappa dell'atlante UV.
È possibile evidenziare questi segmenti specifici per vedere a quale corpo corrispondono i singoli poligoni. Le parti dell'oggetto, ottenute segmentando le fotografie scattate a una lucertola illuminata, sono state quindi suddivise ed sovrapposte ai nostri pezzi separati. Utilizzando la mappa dell'atlante UV, questi segmenti sono stati poi abbinati e hanno quindi sovrapposto la texture sulla superficie del nostro oggetto.
Lo scheletro e le ossa sono integrati nell'oggetto, consentendo il movimento generale e la manipolazione dello stesso. Nel modello di Light Wave, lo scheletro è stato integrato nell'oggetto e funge da segnaposto per la creazione di ossa virtuali nel layout di Light Wave. Nel nostro oggetto in particolare, sono state create complessivamente 61 ossa.
Prima di tutto, è stato aperto un livello nel modeler delle onde luminose e l'oggetto può essere visualizzato come una struttura a filo. All'interno di questo programma, il modeler ci permette di visualizzare più livelli a struttura a filo, il che ci impedisce di selezionare accidentalmente o spostare determinati poligoni durante la creazione dello scheletro. Nel nostro modello, abbiamo creato un midollo spinale artificiale progettato per funzionare da vertebre cervicali, dal collo fino alle vertebre sacrali all'estremità della coda.
Skegan ha qui ricreato lo scheletro del vero Jackie Dragon. Tuttavia, abbiamo utilizzato soltanto un grande scheletro artificiale per la testa. Abbiamo quindi creato quattro arti, ciascuno composto da quattro skegan, quindi gli skegan sono stati fusi a formare le vertebre toraciche, e infine gli arti posteriori sono stati anch'essi fusi al cingolo pelvico.
I skegan sono quindi stati fusi insieme per creare un sistema gerarchico in cui la colonna vertebrale fungeva da fondamento centrale per tutti i movimenti degli arti. Una volta creati tutti gli skegan, l'oggetto è stato quindi sincronizzato con la disposizione delle onde luminose e gli skegan sono stati convertiti in ossa. Ogni osso, proprio come l'oggetto stesso in modalità di disposizione, possiede anche tre piani di rotazione.
Le skegan sono i precursori delle ossa. Le skegan vengono inizialmente create utilizzando il modellatore leggero. È qui che installiamo queste skegan, che successivamente verranno convertite in ossa mediante il layout di light wave.
I "ske guns" sono il processo iniziale che ci fornisce la flessibilità e la possibilità di manipolazione necessarie per trasformare l'oggetto in diverse forme e posizioni. Innanzitutto, nel modellatore Light wave, possiamo aggiungere gli ske guns, che aiutano a manipolare il nostro oggetto. Ora questi skegan vengono posizionati all'interno dell'oggetto come marcatori da convertire successivamente in ossa.
Nella vista Layout delle onde luminose, convertiamo questi skegan in ossa. In questo diagramma è presente anche una mesh poligonale, che ci mostra esattamente le dimensioni e il numero di poligoni all'interno del nostro oggetto specifico nella vista Layout delle onde luminose. Nella scena successiva, vedrete come queste ossa operino insieme per aiutare a manipolare l'oggetto. Il peso assegnato fornisce agli oggetti un movimento flessibile ma controllato.
Le mappe dei pesi hanno un valore generale che varia dal -100% al +100% nella distribuzione del movimento. Ad esempio, le mappe dei pesi indipendenti assegnate a specifiche aree dell'oggetto devono agire in modo antagonista per consentire un movimento fluido e realistico dell'oggetto. Il valore del peso indica che una maggiore deviazione dallo 0%, che corrisponde a nessun effetto, produrrà un effetto maggiore sul movimento della particolare parte del corpo.
L'ombreggiatura ponderata di una particolare area influisce anche sul movimento delle ossa. Tuttavia, un'errata ponderazione può causare un movimento ritardato dell'oggetto rispetto al movimento delle ossa, ad esempio le ossa potrebbero risultare sporgenti dall'oggetto quando il movimento dell'oggetto avviene nella stessa direzione generale, oppure può produrre un movimento eccessivo, per cui il movimento dell'oggetto potrebbe superare la posizione delle ossa nella direzione generale. Qui in LightWave Modeler, suddividiamo la nostra prospettiva in una prospettiva quadrupla.
Questo ci permette di osservare coppie antagoniste di ombreggiatura del peso. Per mostrarvi da vicino un esempio di come si verifica l'ombreggiatura del peso, abbiamo innanzitutto applicato un'ombreggiatura del peso alla coda. Aggiungendo ombreggiature del peso a una parte specifica dell'oggetto, dovremmo aggiungere un'ombreggiatura di contropeso per bilanciare il movimento dell'oggetto.
Qui abbiamo aggiunto un contrappeso sul capo per bilanciare movimenti esagerati che potrebbero essere prodotti dalla coda. Per iniziare il rotoscoping, dobbiamo prima raccogliere sequenze a partire dalle quali possiamo modellare i nostri schemi motori. Abbiamo innanzitutto simulato interazioni tra maschi provenienti da individui in cattività.
I maschi sono stati posizionati in terrari di vetro per IPO e successivamente filmati singolarmente durante le loro esibizioni sociali. Queste sequenze sono state quindi archiviate per altri esperimenti e per essere utilizzate nel rotoscoping. Abbiamo selezionato sequenze di pattern motori come il movimento della coda, flessioni sulle zampe anteriori, oscillazioni del corpo e lento movimento del braccio dai filmati digitali registrati ed esportato questi segmenti in sequenze di immagini, ovvero una serie consecutiva di file jpeg in Apple QuickTime.
Inizialmente avevamo filmato interazioni tra animali vivi, necessarie e salvate come videoclip d'archivio al fine di acquisire gli stimoli. Questi filmati d'archivio di lucertole sono stati mostrati a una lucertola viva tenuta in un recinto. Le risposte di questa lucertola viva sono state quindi registrate mediante una videocamera digitale, e questi filmati sono sostanzialmente diventati le sequenze che utilizziamo per il rotoscoping.
Il rotoscoping è una tecnica in cui il modello viene sovrapposto a un'immagine di sfondo o a una serie di immagini, nelle quali l'oggetto deve imitare una sequenza fotogramma per fotogramma. Il programma di composizione delle onde luminose è lo strumento in cui viene creata la scena per la sequenza animata. Nella composizione, possiamo controllare l'ambiente in cui rappresentare la nostra animazione stabilendo parametri per le caratteristiche di luce, telecamera, oggetto e sfondo.
Nella disposizione. Lo stimolo viene utilizzato anche nella scena finale, che verrà registrata solo quando il materiale sarà all'interno del campo visivo finale della telecamera. Innanzitutto, la prima immagine jpeg viene importata come sfondo del campo visivo della telecamera.
L'oggetto verrebbe quindi manipolato utilizzando i parametri di movimento delle ossa che sono anch'esse sovrapposte davanti all'immagine di sfondo. Il fotogramma viene quindi definito con un keyframe, che salva la posizione dell'oggetto e di tutte le ossa per quel particolare fotogramma. L'immagine di sfondo viene quindi rimossa e sostituita con l'immagine consecutiva successiva.
Nella sequenza di immagini, l'oggetto viene nuovamente posizionato e orientato in base alla posizione e alla postura dell'immagine di sfondo, dopo il completamento della manipolazione di ciascun fotogramma. Ogni fotogramma viene quindi definito come chiave (key frame) e, una volta completata la scena, la sequenza può essere esportata come una serie di immagini o renderizzata in un'unica sequenza completa. Per dimostrare il rotoscopio, ovvero la riproduzione di movimenti realistici basata su sequenze video registrate, inizieremo mostrandovi ciò che normalmente utilizziamo come sfondo originale.
Qui, in questa prima sequenza, vedrete il supporto persiano vuoto, sul quale il rettile si posa normalmente. In secondo luogo, vi mostrerò la sequenza del rettile dal vivo che utilizzeremo per il rotoscopio. Infine, vedrete la sequenza del rettile animato sovrapposta a quella del rettile dal vivo.
Qui vi mostro dove l'oggetto viene importato nell'ambiente di Light Wave. Come potete vedere, è possibile suddividere la schermata in diverse aree distinte, che offrono una visione più chiara per manipolare l'oggetto. La vista più importante, tuttavia, è quella superiore, ovvero la vista della telecamera, in cui si notano le aree di sicurezza indicate dalle cornici rettangolari attorno alla lucertola.
Tutto ciò che viene visto o posizionato all'interno di quest'area sicura sarà registrato dalla telecamera e successivamente utilizzato per la resa dell'immagine. Per creare la scena, il rotoscoping consiste nella manipolazione, fotogramma per fotogramma, dell'oggetto sovrapposto alle immagini di sfondo.
Quello che abbiamo fatto qui, come procedura passo dopo passo, è esportare la sequenza di immagini in singoli fotogrammi. Successivamente utilizziamo questi singoli fotogrammi e li posizioniamo come sfondo della nostra sequenza animata. Dobbiamo quindi spostare la nostra sequenza animata in modo da farne corrispondere le posizioni a quelle visibili sullo sfondo.
Quindi, abbinandola fotogramma per fotogramma, siamo in grado di ricreare il movimento effettivamente eseguito a partire da una sequenza di immagini reale. Come menzionato in precedenza, dobbiamo importare ogni sequenza fotogramma per fotogramma al fine di eseguire il rotoscopio dell'immagine. In questo fotogramma, abbiamo importato la prima sequenza come sfondo, il che ci permette di vedere dove si trova il nostro oggetto rispetto all'immagine di sfondo.
Successivamente, possiamo anche fornire una vista radiografica dell'osso e un layout dell'onda luminosa, che ci permette di vedere le ossa attraverso la texture dell'oggetto qui. Essendo in grado di vedere le ossa attraverso la texture dell'oggetto, possiamo manipolare l'oggetto in modo da farlo corrispondere alla sequenza di sfondo di ciascuna immagine specifica. Importeremmo quindi la successiva sequenza consecutiva sulla quale vorremmo applicare il rotoscopio alla nostra immagine.
E questo viene ripetuto nuovamente come sequenza fotogramma per fotogramma lungo l'intera sequenza consecutiva. Piccole sequenze possono essere renderizzate direttamente dal layout in diversi formati immagine o direttamente in sequenze video. Tutte le sequenze più grandi possono essere renderizzate utilizzando il comando render.
Farm Commander di Bruce Rain Render. Farm Commander o RFC permette a tutti i computer di un sistema di rete locale di ridurre i tempi di rendering distribuendo i lavori tra computer collegati. Nel nostro laboratorio, abbiamo utilizzato quattro Apple Mac G5 con processori duali, per un totale di otto thread disponibili per la distribuzione del rendering.
Ad esempio, l'elaborazione di una sequenza di 9.000 fotogrammi, equivalente a sei minuti nel formato DV pal, può essere completata in 12 ore utilizzando un singolo processore G5 e ridotta a quattro ore quando distribuita su otto thread o su 4 processori duali G5. L'uso di RFC per l'elaborazione batch è efficiente quando non ci sono più di due sequenze grandi. Tuttavia, RFC genera un numero qualsiasi di file grafici individuali.
Tuttavia, abbiamo scelto di convertire entrambe le nostre sequenze, lunga e corta, in singoli file JPEG. Per dimostrare nuovamente il procedimento, abbiamo qui la nostra sequenza originale, che presenta un segnale del camaleonte accompagnato da un tipico movimento oscillatorio del corpo con flessione sulle zampe anteriori, utilizzato per la comunicazione sociale e le interazioni aggressive. Ora abbiamo la nostra sequenza finale, il camaleonte animato, che riprodurrà il movimento oscillatorio del corpo con flessione sulle zampe anteriori osservato nelle riprese iniziali del camaleonte.
Visualizza la trascrizione completa e accedi a migliaia di video scientifici
In questo articolo si discute l'uso di stimoli generati al computer, utilizzando in particolare il drago Jacky come modello per esperimenti sul comportamento animale. Si evidenzia la crescente popolarità delle animazioni nella ricerca scientifica e le tecniche coinvolte nella creazione di questi modelli.
Gli stimoli generati al computer basati su modelli animali permettono un'isolazione e una manipolazione precise delle variabili della comunicazione visiva, favorendo scoperte guidate da ipotesi in biologia comportamentale e sensoriale. Questo approccio aumenta la fiducia predittiva nella validazione precoce dei bersagli, consentendo test controllati e riproducibili di specifiche caratteristiche morfologiche e del movimento. L'adattabilità del metodo tra specie diverse e modalità di segnalazione lo posiziona come un'asset riutilizzabile per la ricerca traslazionale e la riduzione del rischio meccanicistica nei portafogli di ricerca e sviluppo biofarmaceutici.
Questo metodo si integra nel percorso dalla scoperta alla fase preclinica fornendo una piattaforma standardizzata per la verifica delle ipotesi, lo screening comportamentale e l'analisi quantitativa.