見出し画像

3DGS実用化への道③ 写真1枚から3DGSを作る – Apple SHARP + EasyEnv(Blender Add-ones)実践ガイド

こんにちは、STUDIO55技術統括の入江です。

ガウススプラッティングの実用化に、Apple社がついに乗り出しました。

昨年(2025年)12月11日に公開 された『SHARP』は、"たった1枚の 2D写真から、わずか 1秒未満に写実的な 3D空間を生成できる" 画期的な技術 です。
これまで複数枚の写真や長時間の計算処理を必要としていた 3D生成のハードルを大きく引き下げ、リアルタイムでの 3D描画にも対応するものとなります。

画像参考: machinelearning.apple.com

さらに注目すべきは、2D写真から生成される 3D空間が、実世界スケールを前提とした一貫性のあるスケール感 を持っていることです。
これは、従来の単一画像ベースの 3D生成では難しかった、実務利用に耐える空間再現性 を実現していることを意味します。
こうした特性は、研究段階の技術としては散発的に報告されているものの、リアルタイム性と写実性を両立し、実用レベルで提示された例は非常に稀です。

従来の単眼深度推定や3D生成手法は、奥行きの相対表現には優れる一方で、空間全体のスケールは不安定になりやすく、実務レベルで扱うには補正や再構成が必要でした。その点において、SHARP は単一画像から得られる情報だけで、破綻の少ない実世界スケールを伴った3D空間を生成できる点が大きな特徴 となっています。

画像参考: machinelearning.apple.com

Appleが空間表現に特化したAIを公式に公開するのは今回が初めてです。
さらに、この AI は オープンソースとして誰でも利用可能 である点にも注目が集まっています。
研究用途にとどまらず、開発者や制作現場での実装を前提としていることから、Appleの本気度が伝わります。Vision Proをはじめとする次世代デバイスでの活用も視野に入れた、まさに 新時代の3D AIの登場 といえるでしょう。

そして、このオープンソースを活用した Blenderアドオン も 早速登場しています。

『EasyEnv(イージーエンヴ)』は、SHARP / ml‑sharp を Blender で活用できるコミュニティ・個人制作向けのツールです。

本シリーズ「3DGS実用化への道」第3回では、『SHARP』を用いた実践的な3D生成手法を詳細に解説 します。
単一写真から正確なスケールの写実的な3D空間を生成するプロセスを通して、リアルタイム描画を可能にする革新的な技術の進化 に迫ります。


🪄Blender アドオン『EasyEnv』

誰もが気軽に利用できる Blender アドオン『EasyEnv』の使用方法からお伝えします。

「EasyEnv」デモビデオ

📌 背景・関連技術

  • ml-sharp(Apple が開発したモノクロ画像からの 3D 生成技術)

  • 3DGS Render(Kiri Engine の Gaussian Splatting レンダラー)

これらを Blender 上で便利に扱える形に整えたのが EasyEnv です。


🛠 対応環境・前提条件

・対応 Blender バージョン: 4.3 以上
・GPU 推奨: RTX 20 シリーズ以上等
・CPU サポート: あり
・フルセットファイルサイズ: 約 10 GB(AIモデル等を含む)


🚀 使い方(ざっくり)

  1. Add-on のインストール

    • GitHub の Releases から ZIP をダウンロード

    • Blender → Preferences → Add-ons → 「Install from File」で読み込み&有効化

  2. セットアップ

    • 「Environment Setup Panel」で必要データをインストール

  3. 画像を選択して生成

    • 生成したい環境画像(写真など)を指定

    • 「Generate」ボタンを押すと 3DGS 環境が生成

  4. 表示モード切替

    • Gaussian Splats / Point Clouds などで表示切替

    • カラー調整も可能

👉 UI 内に専用パネルがあり、選択・生成・表示切替などが操作可能。


⚙️使い方・解説

『EasyEnv』のインストール手順を順を追って解説します。
まずは、添付した GitHub リンクからリポジトリにアクセスしてください。

画像参考: github.com

最新バージョンの ZIP をダウンロードします。

Blender を起動し、ダウンロードした ZIPをインストール。

「Install Environment」ボタンをクリックすると、各環境に必要なコンポーネントがインストールされます。

「Toggle System Console」を開くと、Blender の裏で動くログやコマンドを表示するコンソール画面が表示されます。ここで、インストール状況や読み込み状態の確認が可能です。

「Toggle System Console.」

「Toggle System Console」は主に確認やデバッグ用の機能であり、通常の操作で開く必要はありません。

この状態で完了です。

【EasyEnv GUI 操作】

パネル解説

① 出力フォルダを設定
② 指定した入力欄から画像を読み込むと、処理が自動的に開始され、PLY データが生成されます。


注意: ① の「出力フォルダ」は、相対パスではなく絶対パスを使用。日本語を含むパスは避ける。スペースを含むパスも問題になることがあるので注意してください。

② の「Generate PLY from Image」ボタンをクリックして、ここでは「ブレーメンの風景写真」を読み込みます。※Pixabay提供

画像: bremen-3559469_1280

自動で GSが生成されます。

生成データの向きを3D空間の軸に手動で揃えます。
マテリアルプレビューで頂点カラーを表示して、アングルを調整します。

頂点カラーを表示してアングル調整

「Update Active To View」ボタンをクリック。

すると、カメラビューが現在のアングルに合わせて更新され、頂点カラーやマテリアルの表示がきれいに反映されます。

「Color Adjustment」の各パラメータを調整することで、色味を細かく調整することもできます。

白黒。

📝『EasyEnv』の使用感について

「3DGS実用化への道 ①」で解説した World Labs『Marble(マーブル)』は、1枚の写真から 360°空間の3DGSデータを生成する ことができました。

EasyEnv は、Marble のように見えていない空間まで創造的に AI が生成するツールではありません。
ml-sharp で画像の Depth(奥行き)を推定して立体化し、その結果を Kiri Engine 製の 3DGS レンダーで扱えるようにした Blender 用アドオンです。

そのため、「生成」よりも「再構成」に近いアプローチと言えます。

Blenderで生成されたGSデータ

生成されたガウススプラッティングモデルは、自動的に出力フォルダにPLY保存されています。

フォルダの .ply データを Supar Splat などに取り込んで編集することもできます。

Supar Splat 画面

画面上にかかる植物を削除してみます。

植物を削除処理した .plyデータ

EasyEnv は、ml-sharp をコマンド実行することなく、Blender 上で直接扱えるようにしたアドオンといった印象です。
これにより、Depth を用いた立体化や調整作業の効率が向上し、既存の CG ワークフローにも無理なく組み込むことが可能になります。

では次に、EasyEnv をより深く理解するために、その基盤となっている『Apple Sharp 3D(ml-sharp)』を確認してみます。
ここでは、ml-sharp の特筆すべき特徴と、コマンドラインで生成されるガウスデータ(.ply)を、先ほどの EasyEnv のデータと対比して紹介します。

🍎Apple Sharp(ml-sharp) とは

『EasyEnv』のベースにもなっている
『SHARP(Sharp Monocular View Synthesis in Less Than a Second)の特徴を以下にまとめます。


📌 1. 単一画像から 1秒未満で 3D シーン生成

SHARPの最大の特徴は、1枚の画像から3D表現を非常に高速に生成できる点です。
高性能GPUを使用した場合、推論処理は1秒未満で完了 します。前処理・後処理を含めた全体の処理時間は、使用するGPUにより数秒から数十秒程度です。
従来手法と比べて 大幅に高速化(条件によっては1000倍以上)しており、リアルタイムに近い体験が可能 となります。


📌 2. 3D 表現は「Gaussian Splatting」で構成される

SHARP が出力する 3D モデルは、従来の ポリゴンベースのモデルではなく、3D ガウシアン分布(3D Gaussian) を多数並べた形式です。
これにより、フォトリアリスティックに近い 3D 表現で、高速レンダリング(100 FPS 超も可能)が可能となります。


📌 3. 実世界スケールで深度・カメラ移動にも対応

SHARP は単に 3D にするだけでなく、実世界の距離尺度(メトリックスケール)を保持した深度推定を行います。これにより、カメラの動きにも対応した 正確な位置関係を保った 3D 表現 が可能です。


📌 4. 高品質出力とゼロショット一般化

研究論文の評価では、SHARP は従来モデルと比べて、

  • LPIPS(見た目の類似度評価)が最大 34% 改善

  • DISTS(構造的品質指標)も大幅改善

  • さまざまなデータセットで ゼロショットで高精度出力 できる

という評価が得られています。

👉 補足: 「ゼロショット(zero-shot)」
事前に学習していないタスクやデータに対しても、そのまま処理・生成ができる能力 を指します。


📌 5. オープンソースで公開されている(FOSS)

Apple は SHARP のコード(ml‑sharp)とモデルを GitHub で公開しています。無料で誰でも試せる オープンソースソフトウェア(FOSS) である点が、研究・開発コミュニティにとって大きな利点です。

画像参考: github.com/apple/ml-sharp

※ただし、モデルの重み(weights)のライセンスについては商用利用制限があるとの議論も出ています。

画像参考: reddit.com

📌 6. 今後の応用可能性

  • VR / AR(例:Vision Pro)

  • 写真の空間体験

  • 立体記録アーカイブ

  • ゲームやインタラクティブコンテンツ

など、多様な分野に応用できると期待されています。

詳細は プロジェクトページ を参照してください。


📥『SHARP(ml-sharp)』インストール方法

EasyEnv は GUI で操作できますが、ml-sharp は CLI 前提です。

Getting startedページには解説とサンプルコードが用意されていますが、これはプログラミングに慣れた方向けの内容です。
ここでは、それらに補足を加え、インストール手順を分かりやすく紹介します。

🔸必要な環境

  • OS: Windows、macOS、Linux

  • GPU: NVIDIA GPU推奨(CPU版も動作しますが処理が遅い)

  • ストレージ: 約5GB以上の空き容量

🔸環境構築の流れと解説

GItuhub の「はじめる(Getting started)」にはこのようにあります。

画像参考: github.com
conda create -n sharp python=3.13

「Python環境の作成」とは、Conda環境内に独立した Python 3.13の環境を構築すること を意味します。これにより、Sharp 専用の環境が作られ、他のプロジェクトと干渉しません。用途的には Anaconda である必要はなく、Miniconda3 を使って環境を作ります。

画像参考: anaconda.com

なお、ml-sharp を動かすには PyTorch のインストール が前提となります。PyTorch は AI の計算処理を支えるライブラリで、3D立体化の演算などもここで行われます。こうした前提は多くの解説で割愛されますが、知っておくとスムーズに作業できます。

NVIDIA GPU搭載の場合(推奨)のインストールコマンドは以下です。

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124

CPU のみの場合は、こちら。

pip install torch torchvision

その上で、ml-sharp をインストールします。

画像参考: github.com
pip install -r requirements.txt

pip install -r requirements.txt を使用するには、事前にリポジトリをクローンしておく必要があります。requirements.txt はリポジトリ内に含まれているためです。

git clone https://github.com/apple/ml-sharp.git

クローン後、ディレクトリを移動してインストールを実行してください。

インストールが完了したら、作業用フォルダを用意しておきましょう。

mkdir ml-sharp
cd ml-sharp

mkdir Input
mkdir Output

コマンドを実行すると、「Input」と「Output」フォルダが作成されます。

生成された作業用フォルダ

これで、ml-sharp を使用するための準備は完了です。フォルダに必要なデータを入れるだけで、すぐに立体化処理を試すことができます。

🔬SHARP 3D テスト

「Input」フォルダに、立体化したい写真(jpgまたはpng形式)を入れます。

愛犬くんの写真

以下のコマンドを実行して、PLY データを生成します。

sharp predict -i Input -o Output

初回は数分かかりますが、2回目以降は数秒〜数十秒で処理が完了します。

Output フォルダに生成された.ply

処理が完了すると、「Output」フォルダに .ply ファイルが生成されます。
データを開くと、元の2D写真が立体化されている様子を確認できます。

Super Splat 画面

Blender にインポートすれば 3D文字を加えたりといった編集をして遊ぶこともできます(笑)。

Blender 画面
PLYの3D表現

📐「メトリックスケールを保持」について

SHARP の注目すべき特徴のひとつは、実世界スケール(メトリックスケール)を保持して3D空間を生成できる点 です。

一般的な深度推定(Depth Estimation)モデルは、カメラ画像から奥行きを推定しますが、多くの場合は 相対的な奥行きしか分からず、実際の距離(メートルなど)とは一致しません
これは一般に「スケール不定(scale-ambiguous)」と呼ばれます。

例:手前の物体は奥の物体より近いことは分かるが、実際に何メートル離れているかは分からない、という状況です。

SHARP の技術では、深度推定の結果が 実世界の距離単位と一致するように計算 されます。
つまり、推定された 3D モデルを現実空間と同じスケールで扱うことができます。

この機能は、AR / VR / 建築可視化の分野で非常に重要です。

単なる見た目だけの立体化ではなく、距離感や寸法が正しい 3D データ を生成できるため、他の 3D モデルやシーンと正確に統合することが可能です。

先ほどのガウスデータで、私の愛犬くんの座った高さは 76センチ。

後方の対岸までの距離は、約80 m。

画像からもわかるように、生成されたデータは実世界のスケール感を保っています。

よりわかりやすくするため、インテリアのシーンを例に示します
この画像を立体モデルとして再現し、スケール感を確認してみます。

画像参考: Pixabay(Sunriseforever)
生成した3DGSモデル
  • ソファ SH(シートハイ): 46 cm

  • ソファ AH(アームハイ): 64 cm

  • ソファ 幅(W): 198 cm(約2 m)

  • ソファ SD(シートデプス): 47 cm

  • スツール SH(シートハイ): 39 cm(シートトップ 約40 cm)

  • ドレッサー天板高: 70 cm

  • 天井高(CH): 276 cm(2 m 76cm)

  • ワードローブ全高: 241 cm(2 m 41cm)

  • 本棚全高: 200 cm(2 m)

家具の寸法は、使いやすさや見た目のバランスだけでなく、スケール感も重要です。これらの数値は、実際の空間や他の家具との調和を考えるうえで非常に重要で、インテリア関係者であれば、ほぼ実際のスケール通りであることが理解できるでしょう。

こうした正確なスケールが保持されているため、ヒューマンデータを読み込んでも、寸法どおり反映されます。

Blender 画面
Blender 画面

⚡EasyEnv vs SHARP

「Easy Env」のテスト画像を使って、ml-sharp でも生成し、結果を比較します。

完成したデータを Blender で開いたのが下の画像です。

Blender 画面
Blender 画面

両者を比較した場合、ml-sharp によって生成される PLY 形式のガウスデータは、より精細で美しい印象があります。

SHARP
EasyEnv
EasyEnv vs SHARP

これに対して EasyEnv は、ml-sharp の機能を Blender 上で簡単に扱えるようにした軽量版といえます。

ml-sharp は CLI 操作を前提とした元コードです。一方で、Blender 上で直接ガウススプラッティングの 3D データを生成できるアドオンは、CLI を使わずに済むため非常に便利であることが分かります。

🖼️一枚の写真が、空間になる時代

静止画から始まった AI によるビジュアル生成は、動画生成へと着実に歩みを進め、いよいよ 3D 領域に足を踏み入れました。

いまや、気軽に撮影したスマートフォンの写真から、誰もが没入感を伴うビジュアル体験を生み出し、共有できる時代が訪れようとしています。

AI イメージ

ガウシアンスプラッティングがもたらす 3D 革命は、もはや未来の話ではなく、現実のものとなりつつあります。

将来の世代では、「どうして写真が立体じゃないの?」という日が来るかもしれませんね(笑)。


📌 公式・オフィシャルリンク

🔗 SHARP 公式プロジェクトページ(Apple Machine Learning Research)
https://apple.github.io/ml-sharp/

🔗 GitHub リポジトリ(コード & ドキュメント)
https://github.com/apple/ml-sharp

🔗 Hugging Face モデルページ(モデル weights / DL)
https://huggingface.co/apple/Sharp

@inproceedings{Sharp2025:arxiv,
  title      = {Sharp Monocular View Synthesis in Less Than a Second},
  author     = {Lars Mescheder and Wei Dong and Shiwei Li and Xuyang Bai and Marcel Santos and Peiyun Hu and Bruno Lecouat and Mingmin Zhen and Ama\"{e}l Delaunoy and Tian Fang and Yanghai Tsin and Stephan R. Richter and Vladlen Koltun},
  journal    = {arXiv preprint arXiv:2512.10685},
  year       = {2025},
  url        = {https://arxiv.org/abs/2512.10685},
}

🖥️ ml-sharp 3DGS ビューワー

公式の Apple や ML-SHARP の開発チームの製品ではなく、GitHub 上のオープンソースプロジェクトや生成データをブラウザで簡単に確認できるように作られた 個人制作・公開ツール があります。

https://kstonekuan.github.io/ml-sharp-web-viewer/

画像参考: Reddit

生成された 3DGS ファイルをそのままブラウザで表示できますので、試して見てください。