3Dモデルをいろいろ作ってみたい

3Dモデルをいろいろ作ろうとがんばっています。苦労した点、役に立ちそうな情報を発信していきます。

ロボットの顔のモーフィング

IM-NETを使った3Dモデルのモーフィング処理ですが、これまでに集めたロボット頭部のデータをIM-NETに学習させてみました。

1.2つのロボット頭部の3DボクセルデータをそれぞれIM-NETエンコーダで処理

2.得られ2つのたコード(256次元)を加重平均

3.平均ベクトルをIM-NETデコーダで処理、MarchingCubeで3Dサーフェスを復元

f:id:ichidaya:20211218173131j:plain

2つの3Dモデルの平均

加重平均の重みを連続的に変化させてみるとこんな感じ。

f:id:ichidaya:20211218173648g:plain

3Dデータのモーフィング例(1)

ほかにもいくつか試してみました。

f:id:ichidaya:20211218174439g:plain

3Dデータのモーフィング例(2)

f:id:ichidaya:20211218174716g:plain

3Dデータのモーフィング例(3)

例えば以下の2つの元データから、

f:id:ichidaya:20211218175735j:plain

モーフィングの元データ

加重平均の重みを変えてみると元データのどちらとも少しずつ異なる形状が生成されていることがわかります。

f:id:ichidaya:20211218192554j:plain

モーフィング結果の例

IM-NETを使ったモーフィングによる3D形状作成では、アンテナなどのとんがった形状がなまってしまうという難点はあるものの、3Dの形状として成立するデータを生成できることが確認できました。