2007年7月29日
モデルとしてジャッキー竜を使用して作られた刺激。
こんにちは。私はオーストラリア、シドニーのマクイリー大学にある動物行動統合研究センターのKevin wです。このビデオ形式の記事では、動物行動実験におけるコンピュータアニメーションの活用についてお話しします。具体的には、これらのモデルを実際にどのように製作するかについて解説します。
今日、アニメーションは現代文化において広く普及していますが、科学や科学関連の研究という点では、あまり多くは見られません。しかし、科学のためのアニメーション作成の初期の試みは、非常に基本的なプロセスから始まっており、それらは多くの場合、物体や特定の標本の特定部分をスライスしてスキャンする手法を含んでいました。また、身体の特定の部位を合わせてアニメーションに連動させるために、ポイントライトディスプレイのようなバイオロジカルモーションに似た手法も用いられてきました。さらに、アニメーションを作成したい場合は、誰かがゼロから構築する必要がありました。
アニメーションを用いることで、交配や求愛など、動物行動における多くの事象を研究することが可能になりました。ここでは特に、コミュニケーション、あるいは視覚的コミュニケーションについて見ていきます。アニメーションの活用は、直接的な相互作用の観察や、手術のような侵襲的な手法といった従来の手法よりもはるかに高度なアプローチです。そこで本記事では、この特定のモデルをどのように作成するのかという概要を説明し、このモデルをどのようにスキャンするのかについて解説します。
ここでは、テクスチャの追加方法、UVマッピング、ボーンの設定、ウェイト塗り(ウェイトペイント)、ロトスコープ用の刺激のキャプチャ方法、そして最終的に完全なシーケンスを得るまでのレンダリング工程について解説します。アニメーション全体を作成するには、主に8つのステップがあります。最初のステップは、オブジェクト全体の3Dスキャンデータを用意することです。
これにより、オブジェクトの基本的な形状が作成されます。次に、よりリアルな質感を与えるためのテクスチャを追加します。このテクスチャはUVマップに展開され、テクスチャの特定の箇所をオブジェクト上の正確な位置に配置できるようになります。その後、オブジェクトを操作し、ボーンとして作成されるリギング(スケルトン)を追加します。
次に、動きの中でオブジェクトに全体的なバランスの視点を与えるために、ウェイトシェーディングを加えます。その後、オブジェクトの動きをモデル化するための特定の刺激をキャプチャする必要があります。キャプチャした画像の上にこれらの動きをロトスコープし、最後に、ビデオ再生に使用可能な読み取り可能な形式でシーケンスをレンダリングします。なお、モデルとして使用するために剥製標本を用意しました。
ここでは、Konica Minolta vi-9iを用いて3Dオブジェクトを再現します。Konica Minoltaはデジタル写真技術を利用し、3Dアルゴリズムによって写真セグメントを結合することで、高精度な測定を実現します。これにより、モデルの形状と寸法を生成し、画像を3Dデジタルデータに変換します。
3Dスキャンでは、実物のオブジェクトの特定のセグメントを抽出し、コンピュータアニメーション用のシミュレートされたオブジェクトへと配置します。次に、これらのセグメントを適切な位置に配置することで、オブジェクトを構築します。これにより、アニメーションソフトウェアで操作可能なオブジェクトが作成されます。
ここでは、対象物の撮影方法から、それを3Dアニメーションモデルに変換する方法までの擬似的なセットアップを紹介します。まず、対象物をさまざまな角度から撮影し、それらの撮影画像を正しい向きに配置することで、接続箇所の輪郭を滑らかにします。この手法には、対象物の高い詳細度と高精度を実現するためにフォトグラメトリシステムが導入されています。
本システムでは、コーティングされたマーカーと寸法制御されたスケールバーの両方を使用して、リファレンスマーカーの座標をマッピングします。これらの座標は3Dコンステレーションを構成し、各写真セクション間の輪郭と距離を正確に測定するために使用されます。データはraindrop geomagicを用いて収集され、これによりデータの形態学的形状の単一ポリゴンメッシュを取得しました。
アニメーションを作成するために、Light Wave 3Dというプログラムを使用することにしました。他にも利用可能な3Dアニメーションプログラムはありますが、ユーザーフレンドリーなインターフェースと互換性のある出力ファイルを読み取れる機能があるため、LightWaveを選択しました。さらに、LightWaveはモデラーとレイアウトという2つの独立したプログラムで構成されています。
LightWaveのModelerプログラムでは、特定のポリゴンをハイライトして変更を加えることによるオブジェクトの操作、オブジェクトへのレイヤー作成、色とテクスチャの追加、およびスケガンの作成が可能です。LightWaveのLayoutでは、アニメーションシーケンスを完成させるために使用されるシーンを作成します。Modelerは、オブジェクトの特性を構築する場所です。
ここでは、テクスチャ、UVマッピング、骨格(ボーン)に変換される初期スケガンを追加し、ウェイトの設定も行います。Shading modelerは、実際にシーンを構築するLightWaveを使用する前の前段階となるため、ここでオブジェクトのすべての特性をオブジェクトに最初に取り付けます。LightWave Layoutは、オブジェクトが配置されるグリッドを除いて、実際のシーンを作成するプログラムです。このX、Y、Z平面の中には、他に2つの特定の機能があります。
シーンを実際に撮影するカメラがあり、カメラ自体は任意の角度に配置して、希望の視点から撮影することが可能です。また、照明もあります。照明は1つでも複数でも使用でき、シーンや対象物を照らすとともに、さまざまな照明効果を作り出すことができます。
Light wave Layoutでは、シーンを観察するためのさまざまなアスペクトが提供されます。最大で4つの異なる視点から確認することが可能です。これにより、最終的な出力前に、シーン内のオブジェクトをできるだけ多くの異なる角度から確認する最適な方法が得られます。
light wave Layoutでは、3つの異なる回転軸があります。1つ目はX座標で、これはピッチです。2つ目はY座標で、これはヘディングであり、3つ目はZ座標で、これはバンクです。
これら3つの異なる座標は、シーン内のオブジェクトだけでなく、カメラや照明も操作できる動きに関するものです。まず、剥製モデルの質量と長さに近いジャコビーカナヘビを選定しました。次に、この生きたジャコビーカナヘビの質感と模様を撮影することで、オブジェクトのテクスチャを取得しました。
その後、このトカゲを白い紙の上に置き、正面、直角、腹側、背側などのさまざまな方向から、また全身、頭部、体幹、尾、四肢などのさまざまな部位を、複数の角度から撮影しました。次に、適切なテクスチャを得るために、純粋な白のRGB値に基づいてバランスを調整しました。また、生きたトカゲを用いて、3つの異なる角度および3つの異なる位置から撮影を行いました。
3つの角度は直交、背面、腹面であり、3つの位置は前方、中央、後方とした。これらのトカゲの撮影にはCanon ESデジタルカメラを使用した。その後、写真をAdobe Photoshopにインポートし、大きな断片を実際の背景から分離させた。
これらの断片をRGB値で照合し、色の差が出ないようにホワイトバランスを調整しました。次に、テクスチャをオブジェクトに重ね合わせるため、Atlas UVマップを作成しました。このAtlas UVマップは、LightWave Modelerで作成されました。
Atlas UVマップは、オブジェクトを接続されたポリゴンで構成される断片に分離します。本オブジェクトは立方体や円柱のような単純な形状ではないため、Atlas UVマップによって、90度の角度を持たない複数のより単純な平面に分割されます。ただし、Atlas UVマップはオブジェクトを、接続されたポリゴンからなるいくつかの不連続なセグメントに断片化します。
次に、Grabというプログラムを使用してAtlas UVマップをキャプチャし、個別のJPEG画像を作成しました。そして、このJPEG画像をAdobe Photoshop Elementsの背景レイヤーとして読み込みました。画像をリサイズせずにJPEGとしてキャプチャすることで、Jackie Dragon上の領域をオブジェクトにマッピングするために使用できる同一の比率を維持しました。
その後、Jackie Dragonのさまざまな写真をAdobe Photoshop Elementsで合成し、正面、直交、腹側、背側などのいくつかのポジションでのJackie Dragonの全体像を作成しました。次に、ポリゴンをJackie Dragonの局所領域に一致させました。そして、LightWave Modelerにおいて、アトラスUVマップ上のこれらのポリゴンを再度ハイライトすることで、Jackie Dragon上の特定の領域を特定しました。
その後、この領域をクロップし、ジャッキー・ドラゴン(Jackie Dragon)の撮影された特定の領域に対応する背景のAtlas UVマップjpeg上の特定ポリゴンへと重ね合わせました。すべての写真断片をAtlas UVマップjpegにレイヤーとして重ねた後、背景を削除し、単一のTIFファイルを作成しました。このTIFファイルをLightWave Modelerに再度インポートし、UV座標に割り当てました。
UVマッピングとは、生きたトカゲを撮影して得られたセグメントを実際に切り分け、アニメーション化したトカゲに配置する工程のことです。この作業はLightWave Modelerプログラムで行います。LightWave ModelerプログラムのUV Atlasマップツールを使用することで、オブジェクトをいくつかの異なるセグメントに分割することができます。
いくつかの異なるセグメントに分割することで、写真から取得したテクスチャをこれらの特定のパーツの上に配置することができます。無地であったり、90度の角度を持たない円筒形のオブジェクトとは異なり、それらをいくつかの異なるセグメントに分割します。こちらは、UVアトラスマップ上の小さなポリゴンセグメントの拡大図です。
これらの特定のセグメントをハイライトすることで、どのポリゴンがどの部位に対応しているかを確認できます。ライトリザード(light lizard)を撮影した写真からオブジェクト上のセグメントを抽出し、分割した後に、分割したパーツの上に配置しました。次に、UVアトラスマップを用いてこれらのセグメントを照合し、オブジェクトの上にテクスチャを重ね合わせました。
オブジェクトにスケガン(Skegan)とボーンを埋め込むことで、オブジェクトの全体的な動作や操作が可能になります。まず、LightWave Modelerでオブジェクトにスケガンを埋め込みます。スケガンは、LightWave Layoutで作成される仮想ボーンのプレースホルダーとして機能します。今回のオブジェクトでは、合計で61本のボーンを作成しました。
まず、LightWave Modelerでレイヤーを開き、オブジェクトをワイヤーフレームとして表示しました。このプログラムでは、複数のワイヤーフレームレイヤーを表示させることができるため、スケガンの作成中に特定のポリゴンを誤ってハイライトしたり移動させたりすることを防ぐことができます。本モデルでは、頸椎から尾端の仙椎に至るまでを模した人工脊柱を作成しました。
ここではSkeganを用いて、実際のジャッキー・ドラゴンの骨格を再現しました。ただし、頭部には大型のスケルトンガンを1挺のみ使用しました。次に、それぞれ4つのskeganで構成される4本の肢を作成し、その後skeganを胸椎として融合させ、最終的に後肢を骨盤帯に融合させました。
次にスケガンを統合し、脊柱がすべての肢の動きの中心的基礎として機能する階層システムを構築しました。すべてのスケガンの作成後、オブジェクトをライトウェーブのレイアウトに同期させ、スケガンをボーンに変換しました。レイアウトモードにおけるオブジェクト自体と同様に、各ボーンにも3つの回転平面が存在します。
スケガン(Skegan)は、ボーンの前段階となるものです。スケガンは、まずLightweight Modelerを用いて作成されます。ここでスケガンを配置し、後でLightWave Layoutを使用してボーンに変換します。
スケガン(Ske guns)は、オブジェクトをさまざまな形状や位置に変更するための柔軟性と操作性を提供する初期工程です。まず、Light wave modelerでスケガンを追加し、これによりオブジェクトの操作が可能になります。これらのスケガンは、骨(ボーン)に変換されるためのプレースマーカーとしてオブジェクト内に配置されます。
LightWave Layoutにおいて、これらのスケガン(skegan)をボーンに変換します。この図にはポリゴンメッシュも表示されており、LightWave Layout内における特定のオブジェクトの寸法とポリゴン数が正確に示されています。次のシーンでは、オブジェクトを操作するために、これらのボーンがどのように連携して動作するかを確認します。ウェイト塗り(Weight painting)を行うことで、オブジェクトに柔軟かつ制限のある動きを与えることができます。
ウェイトマップの値は、動作の分布において一般的に-100%から+100%の範囲で設定されます。例えば、オブジェクトの特定領域に割り当てられた独立したウェイトマップ同士が拮抗的に作用することで、オブジェクトの滑らかでリアルな動きが可能になります。ウェイト値は、効果がない状態である0%から離れるほど、その身体部位の動きに対してより大きな影響を与えることを示しています。
特定の領域のウェイト塗りつぶしは、ボーンの動きにも影響を与えます。しかし、ウェイト設定が適切でない場合、ボーンの動きに対してオブジェクトの動きが遅れるなどの問題が生じることがあります。例えば、オブジェクトが同じ方向に移動する際にボーンがオブジェクトから突き出したり、あるいはオブジェクトの動きがボーンの位置を追い越すといった過剰な動きが発生したりすることがあります。ここでは、LightWave Modelerを用いて、パースペクティブをクアッドビューに分割します。
これにより、ウェイトシェーディングの拮抗ペアを確認することができます。ここでウェイトシェーディングがどのように発生するか、近くで例をお見せします。まず、テイルにウェイトシェードを適用しました。オブジェクトの特定の部位にウェイトシェードを追加した場合、オブジェクトの動きのバランスを取るために、カウンターウェイトシェードを追加する必要があります。
ここでは、Tail(尾)によって生じる可能性のある過剰な動きを相殺するため、頭部にカウンターウェイト(釣り合い重り)のシェードを追加しました。ロトスコープを開始するには、まずモーターパターンのモデルとして使用できるシーケンスを収集する必要があります。まず、飼育下の個体によるオス同士の相互作用をシミュレートしました。
オス個体をIPOingガラステラリウムに入れ、社会的なディスプレイ行動を個別に撮影した。これらのシーケンスは、他の実験およびロトスコーピングに使用するためにアーカイブした。キャプチャしたデジタルビデオ映像から、テールフリック、プッシュアップ、ボディロック、スローアームウェーブなどの運動パターンシーケンスを選択し、これらのセグメントを連続したjpegファイル群であるイメージシーケンスとしてApple QuickTimeに書き出した。
刺激キャプチャーを行うために必要となり、アーカイブビデオ映像として保存した生体動物の相互作用を最初に撮影しました。これらのアーカイブされたトカゲの映像を、飼育ケースに入れた実際の生きたトカゲに見せました。この生きたトカゲによる反応をデジタルビデオカメラで記録し、これが基本的にロトスコーピングに使用するシーケンスとなりました。
ロトスコピーとは、モデルを背景画像または一連の画像に重ね合わせ、フレームごとのシーケンスでオブジェクトに模倣させたい動きをなぞる手法です。アニメーションシーケンスのためのシーン作成には、LightWave Layoutプログラムを使用します。Layoutでは、ライト、カメラ、オブジェクト、および背景の特性に関するパラメータを設定することで、アニメーションを表現するための環境を制御できます。
レイアウトにおいて。刺激は、素材が最終的なカメラビュー内にあるときにのみキャプチャされる最終シーンでも使用されます。まず、1枚目のjpeg画像をカメラビューの背景にインポートします。
次に、背景画像の上に重ねられたボーンのモーションパラメータを使用して、オブジェクトを操作します。その後、フレームにキーフレームを設定し、その特定のフレームにおけるオブジェクトとすべてのボーンの位置を保存します。そして、背景画像を削除し、次の連続した画像に置き換えます。
画像シーケンスにおいて、オブジェクトは再び背景画像の位置とポーズに合わせて操作され、各フレームの操作が完了します。その後、各フレームにキーフレームを設定し、シーンが完成すると、そのシーケンスを画像シーケンスとして書き出すか、一つの完全なシーケンスとしてレンダリングすることができます。ビデオ録画シーケンスに基づいた現実的な動きを再現するロトスコーピングを実演するため、まずは通常、元の背景として使用しているものをお見せします。
まず最初のシーケンスでは、トカゲが通常止まっている空のパーチを確認できます。次に、ロトスコープに使用する生身のトカゲのシーケンスをお見せします。そして3番目に、生身のトカゲの上に重ねられたアニメーションのトカゲのシーケンスが表示されます。
ここでは、オブジェクトをLightWaveのレイアウトにインポートした状態を示しています。ご覧のように、レイアウトをいくつかの異なる画面に分割することができ、これによりオブジェクトをより適切に操作するための視界を確保できます。しかし、最も重要なビューは上部のカメラビューであり、トカゲの周囲にある矩形の枠で指定されたセーフエリアを確認することができます。
このセーフエリア内で見えたり配置されたりするものはすべてカメラで記録され、最終的にレンダリングに使用されます。シーンを作成するためのロトスコーピングとは、背景画像上のオブジェクトをフレームごとに操作することです。
ここまでのステップバイステップの手順を説明すると、まず画像シーケンスを個別のフレームとして書き出しました。次に、それらの個別フレームをアニメーションシーケンスの背景に配置します。そして、背景に見える位置に合わせて、アニメーションシーケンスを移動させる必要があります。
このように、フレームごとに一致させることで、実際の画像シーケンスに基づいて行われた動きを再現することができます。前述の通り、画像をロトスコープするためには、各シーケンスを1フレームずつインポートする必要があります。このフレームでは、最初のシーケンスを背景にインポートしており、これにより、背景画像に対してオブジェクトがどこに位置しているかを確認できます。
次に、骨のX線ビューとライトウェーブ・レイアウトを提供することができ、これによりオブジェクトのテクスチャ越しに骨を確認することが可能になります。オブジェクトのテクスチャ越しに骨が見えることで、個々の画像における背景シーケンスに合わせてオブジェクトを操作できます。その後、画像の上にロトスコープ処理を適用したい次の連続したシーケンスをインポートします。
そして、これは連続するシーケンス全体を通して、フレームごとのシーケンスとして再度行われます。短いシーケンスは、レイアウトから直接さまざまな画像形式に、または直接ムービーシーケンスにレンダリングできます。すべての長いシーケンスは、レンダー機能を使用してレンダリングが可能です。
Bruce Rain Render社のFarm Commanderを使用しました。Farm Commander(RFC)を使用すると、ローカルエリアネットワーク上のすべてのコンピュータにジョブを分散させることができ、レンダリング時間を短縮することが可能です。当研究室では、レンダリングを分散させるために、8スレッドを備えた4台のApple Mac G5デュアルプロセッサを使用しました。
例えば、PAL DV規格で6分間に相当する9,000フレームのシーケンス処理は、単一のG5プロセッサを使用すると12時間で完了しますが、8スレッドまたは4基のG5デュアルプロセッサに分散させた場合は4時間に短縮されます。バッチ処理にRFCを使用することは、大規模なシーケンスが2つまでであれば効率的です。ただし、RFCでは任意の数の個別のグラフィックファイルが生成されます。
しかし、私たちは長いシーケンスと短いシーケンスの両方を、個別のJPEGとして書き出すことにしました。改めて実演しますと、こちらに元のシーケンスがありますが、この元のシーケンスには、社会的コミュニケーションや攻撃的な相互作用に用いられる標準的なプッシュアップ・ボディロック・ディスプレイを行うトカゲが写っています。そして、こちらが最終的なシーケンスであるアニメーション化されたトカゲです。このアニメーション化されたトカゲは、最初のトカゲの映像に見られたプッシュアップ・ボディロックを再現します。
完全なトランスクリプトを表示し、数千本の科学動画にアクセス
本記事では、コンピュータで生成された刺激の使用、特に動物行動実験のモデルとしてのJacky dragonの活用について解説します。科学研究におけるアニメーションの普及と、これらのモデルを作成するために用いられる手法について重点的に取り上げます。
コンピュータで生成した動物モデル刺激を用いることで、視覚的コミュニケーション変数の精密な単離と操作が可能となり、行動生物学および感覚生物学における仮説駆動型の発見が促進されます。このアプローチは、特定の形態的特徴および運動特性の制御された再現可能な検証を可能にすることで、初期段階のターゲットバリデーションにおける予測的信頼性を向上させます。また、本手法は種やシグナル伝達様式を問わず適応可能であるため、トランスレーショナルリサーチやバイオ医薬品のR&Dポートフォリオにおけるメカニズムのリスク低減に再利用可能な資産として活用できます。
本手法は、仮説検証、行動スクリーニング、および定量的解析のための標準化されたプラットフォームを提供することで、創薬から前臨床試験に至る一連のプロセスに統合されます。