Metaの新しい3D生成モデル「SAM 3D」シリーズを試す
Metaから新しい3D生成のモデルが公開されました。コードもモデルも商用利用可能です。
今回は概要の確認と、公式のデモを使って感触を試してみました。
2つのモデル
公開されたのは汎用的なセグメンテーション用のSegment Anywhere Model 3(SAM3)をベースにした「SAM 3D Objects」と「SAM 3D Body」の2モデル。
SAM 3D Objectsは物体の形状とテクスチャ、レイアウトまで含めて、単眼画像から複数推定できる。子供部屋のような入り組んだシーンが得意とされてます。
リポジトリ:https://github.com/facebookresearch/sam-3d-objects
デモ:https://www.aidemos.meta.com/segment-anything/editor/convert-image-to-3d
SAM 3D Bodyは人体の形状とポーズ推定に特化。テクスチャは無いけど、ボーン付きのメッシュとポーズが精度高く単眼画像から推定できる。
リポジトリ:https://github.com/facebookresearch/sam-3d-body
デモ:https://www.aidemos.meta.com/segment-anything/editor/convert-body-to-3d/
SAM 3D Objects
子供部屋のような込み入った室内が得意ということで、かなり意地悪な画像でテストしました。画像はGoogle Geminiの画像生成機能で生成したものです。
SAM 3D Objectsのデモでは、この画像に対し3D化したい範囲をSAM3を使ってセグメンテーションし、個別のオブジェクトとして認識させていきます。
ひとつのオブジェクトに複数のポイントを指定しながら範囲を追加し、決定したら「Add Object」で次の範囲指定。ポイントはかなり雑に指定しても、非常に賢く自動でセグメンテーションされていきます。
オブジェクトを追加すると、その場で並行して3D化の推論が動きます。非常に高速で、ローカルでも軽量に扱えるかもしれません。
3D化の結果です。3Dシーンの推定を謳っているように、個々のオブジェクトの位置関係や方向、サイズも、画像から見た妥当なものになっています。テクスチャは恐らく影も焼きこまれたカラーのみ。
隠れた部分まできれいに立体化され、極端に欠けた部分も目立ちません。これまで色々な3D生成モデルを試していますが、ここまで欠けた入力を積極的に補うものは初めてかもしれません。
たとえば机。画像ではたくさんの物でかなりの部分が隠れた状態です。セグメンテーション結果のマスクもこんなひどい状態。
しかし3D化された姿はこのように、欠けていた部分をかなり机らしく補っています。明らかにマスク範囲が机であるという、ある程度の関連付けが無ければここまでの復元はできないでしょう。
欠けた部分をここまで推定できるということは、画像に無い部分を積極的に学習データによって正規化する可能性が高いです。最近の3D生成モデルはかなり大胆に形状を補正してしまうことで品質の向上を行っており、SAM 3D Objectsでは更にその傾向が大きいかもしれません。忠実性が重要な用途では結果のよりしっかりした確認が必要です。
SAM 3D Body
こちらもかなり推定の難しそうな、こんな意地悪な画像をGeminiで生成してテスト。そもそも人体として破綻したポーズまで含めて複数人、しかも解像度も低めです。
まずはセグメンテーション結果。小さなピクセルしかない指先まで、きちんと取れています。
そして推定された形状とポーズ。
やはり非現実的な人物の推定には失敗しています。手前中央の人物とその奥右側の人物はそもそも構造上矛盾があるためか、全く違うポーズに。一方他の人物は、それなりに正確な体勢が取れています。
研究ページにあったように手の推定にはまだ難があり、どの人物も不自然です。とはいえここまで条件の悪いデータだけでは酷いので、もう少し妥当なものでも試します。
こちらもGeminiで生成。セグメンテーションはこうなりました。
中央の戦うふたりはもちろんですが、顔の隠れたレフェリーだけでなく、小さな観客まである程度認識しています。体形とポーズの推定はこうなりました。
こちらのテストではかなり正確に、手まで推定できています。隠れたレフェリーも含め位置関係も概ね正しいです。
研究の課題として、人物を個別に推論していることで関係性に問題があると挙げられていましたが、蹴った足先の位置がずれているのはそうした原因かもしれません。
何に使えるか
残念ながらどちらのデモも、生成した3Dモデルのダウンロード機能はありません。そのためデータの品質や使い勝手はローカルで検証が必要です。
それでも、かなり手軽に強力な単眼からの3D推定が可能なのは間違いありません。モデルの性格上高精度な本番用の生成より、素早いイメージの具現化やユーティリティ向きですが、色んな用途が考えられます。
たとえばBodyの方は、ダミーの人形や生成画像を使って、3Dモデルのポージングに適用できます。連続してキーフレームを打つ代わりにも使えますし、もちろんシーンのダミーキャラクター配置にも有効でしょう。
Objectsの方は特に手早いシーン構築に有効です。入力が単眼、しかもある程度非写実的な表現の画像でも大丈夫なので、イメージ画像から3Dシーンをざっと構築して検証する段階などで便利です。
ローカルに環境が出来たら、Objectsのそうした利用を想定したテストも行ってみる予定です。
ライセンス
最後に、重要なライセンス確認。
コードもモデルウェイトも独自の「SAM License」。このライセンスは原則商用利用が可能で、たとえばゲームアセットの事前生成や、映像制作のワークフローでSAM3 3Dを使うなら、追加の表記も不要です。
制限は以下の3点。
軍事等一部の目的での利用禁止
SAMの派生物にはSAM Licenseの適用が必要
SAM使った研究には謝辞が必要
かなり自由に商用利用も可能で、特にゲーム開発には嬉しいので、次はローカルでの環境を作ってみる予定です。



コメント