Orbis Brain Co.,Ltd.(株式会社・登記予定)


〒802-0001 福岡県北九州市小倉北区浅野3-8-1 AIMビル6F コンパス小倉内
CEO:早原 茂樹 hayahara(at)orbisbrain.com
CTO:有光 裕樹 arimitsu(at)orbisbrain.com
※商標「OrbisBrain」について出願済み


公開ファイル 特願2018-153011【採寸値に基づく3次元モデルを生成するプログラム及び装置】

【1】体積計算


この動画は、心室の容積データと同期して、心臓が拍動する様子を表しています。
従来、ポリゴンメッシュの体積計算の多くは、物理演算によって実現されており、計算負荷の高いものでした。
そのため、Unity等のリアルタイムエンジン上で、物体の体積を維持した変形を行うことは困難でした。

そこで、リアルタイム用途を想定した、物理演算に依らない体積計算アルゴリズムを開発しました。
このアルゴリズムは、ポリゴンメッシュの変形に応じて、初期状態の体積を強制して変形させます。
ポリゴンメッシュの収縮に対して膨張し、膨張に対して収縮し、適切な体積を維持し続けます。
数値入力やグラフの波形から、体積の変化を手動で制御することもできます。

また、ポリゴンメッシュは多角形の集合で構成されているので、通常は厚みを持ちません。
そこで、動画の例では、二重構造のポリゴンメッシュにより、皮膚や筋組織の厚みを再現しています。
動画では、心筋が収縮するにつれて、筋組織は厚みを増し、同時に心室内の容積は適切に保たれています。
また医療データから、リアルタイムに心臓の拍動をシミュレーションしています。


【2】メッシュスムージング

この動画は、ノイズの多い三次元モデルデータのスムージング処理を表しています。
これは、ポリゴンメッシュ上の各頂点を、その頂点と周囲の頂点との重心方向に移動するように操作します。
この操作を繰り返すことにより、各頂点は周囲の頂点と平均化され、結果的に凹凸のない滑らかなポリゴンメッシュが得られます。
しかし、一般的な凸状の多面体の場合、頂点座標の平均化は各頂点を凹方向に移動する操作となり、ポリゴンメッシュ全体が収縮してしまいます。
動画左では、骨表面が滑らかになるにつれて、それぞれの骨が収縮していく様子が分かります。

これに対し、動画右では、収縮性の平均化と膨張性の平均化を並行させることで、この問題を解決しています。
各頂点を周囲の頂点と平均化することによって、近傍の凹凸のみが平均化され、ポリゴンメッシュ全体が収縮していません。
これによって、ノイズを効果的に減らしながら、本来のモデル形状を損なわないスムージング処理を行うことができます。

※BlenderWiki スムーズ
※円滑化 < メッシュの加工 < モデリング | Blender入門(2.7版)

【3】前腕回転


この動画は、前腕の回内・回外の様子を表しています。
従来の前腕の回転計算は、ジョイントを肘関節に1つ配置し、肘ジョイントを中心にポリゴンメッシュを回転させて実現していました。
この方法では、肘の屈曲は表現できても、回内・回外(ジョイントの捻り)を適切に行えないという問題がありました。
肘と手首の間にもう1つの補助ジョイントを配置し、2段階で捻りを表現する手法もあります。

そこで、解剖学的な観点から2つのジョイントを配置し、それによって前腕のポリゴンメッシュを回転させる手法を取りました。
まず、前腕の回内・回外を行う2つの骨(尺骨と橈骨)と上腕骨との関節位置に、ジョイントを2つ配置します。
腕尺関節は蝶番関節であり、腕橈関節は球関節であるので、回内・回外の動作は、橈骨が尺骨を跨ぐことによって起こります。
尺骨ジョイント・橈骨ジョイントの回転は、この動作を模倣するように決定します。

前腕筋群の回転は、それぞれが尺骨ジョイント・橈骨ジョイントの影響をどの程度受けるかで決定します。
実際には、まず筋肉の収縮が起こり、それが骨を回転させますが、ここでは反対に、骨に筋肉を追従させます。
肘と手首を通る直線に垂直な平面状で、前腕筋群と尺骨・橈骨との距離を計算し、距離の比から適切に重み付けしています。

これによって、動画のように、解剖学的に、より正確に前腕を変形させることができます。


【4】3DCGモデルセット

3DCGmodel
https://www.turbosquid.com/FullPreview/Index.cfm/ID/1118599

これは、詳細かつ解剖学的に正確な人間の皮膚、筋膜、筋肉および骨格系を含むモデルセットです。
芸術的な外観になるように設計されていますが、3D空間での筋肉や肌のシミュレーションにも高度に最適化されています。
また、非常に複雑で密な構造ですが、交差点や自己交差点はまったくありません。
更に、各フェースは、リラックスした均一なサイズとグリッド状のトポロジで構成されています。
これにより、バイアスのない信頼性の高いシミュレーション結果が得られます。
この安定性は、望ましくない結果や予期しないエラーでシミュレーションを繰り返す回数を減らし、品質にもっと集中することができます。

使い方はとても簡単です。
モデルのスキンシェイプとこのモデルのスキンシェイプの両方に一致します。使い方はとても簡単です。
次にシミュレートします。これで十分です。
形状に合わせるには2つの方法があります。
モデルをこのモデルにマッチさせると、シュリンクラップが最適です。
より正確な結果を得るための高解像度スキンモデルと、より便利な操作のための低解像度スキンモデルが含まれています。
このモデルをモデルにマッチさせる場合は、ケージ変形を使用するか、個別にマッスルをスカルプトしてモデルのスキンに合わせることができます。
それでも、シミュレーションの開始フレームでの筋肉の形状は、彫刻のないデフォルトの状態であることが推奨されます。
交差点や自己交差点は注意深く削除されているため、通常は布シミュレーションで行われるように、シミュレーションは常に初期状態から開始する必要があります。
また、シミュレーションを実行する際に腱を修正するためのウェイトマップも用意されています。
MayaユーザでnClothを使用している場合は、このウェイトマップをnClothのinputMeshAttract属性に適用してください。
それは筋肉に沿って均一で美しい流れで構成されたモデルでもあり、彫刻のための理想的なベースメッシュです。
スキンの形状は実際にはこの筋肉モデルのシミュレーションの結果であり、ほとんど追加の彫刻は行われません。
これは、皮膚の形状も解剖学的に信頼できることを意味します。


【5】DeltaMush

DeltaMushは、Rhythm & Hues Studiosによって開発されたポリゴンメッシュの変形アルゴリズム(※デフォーマ)です。
ポリゴンメッシュの平滑化により、デフォーメーションアーティファクトを軽減するとともに、平滑化により失われたディテールを復元します。
あらゆるデフォメーションアーティファクトに対し、堅牢なアルゴリズムです。

(1)対象ポリゴンメッシュと参照ポリゴンメッシュを平滑化する
(2)参照ポリゴンメッシュの各頂点に対して平滑化前後の差分ベクトルを得る
(3)対象ポリゴンメッシュと参照ポリゴンメッシュの対応する頂点とその一近傍頂点を評価し、接線空間の回転変換を得る
(4)参照ポリゴンメッシュの平滑化差分ベクトルを回転変換し、対象ポリゴンメッシュに差分を適用する
ポリゴンメッシュの平滑化:LaplacianSmoothing