Appleが2D写真を瞬時に3Dビューに変換するオープンソースモデルを発表
111日前原文(github.com)
概要
- SHARPは単一画像から高精度な3Dビュー合成を実現する技術
- 標準的なGPU上で1秒未満の高速処理を実現
- 3D Gaussian表現によるリアルタイム高解像度レンダリングが可能
- 複数データセットで最先端性能と大幅な高速化を達成
- Python環境で簡単に導入・利用が可能
SHARP:単眼画像からの高速・高精度ビュー合成
- SHARPは、単一の写真からフォトリアルな3Dビューを合成する手法
- 入力画像から3D Gaussian表現のパラメータを推定し、3Dシーンを再現
- ニューラルネットワークによる1回のフィードフォワード処理で、標準GPU上でも1秒未満の高速推論
- 得られた3D Gaussian表現はリアルタイムで高解像度レンダリングが可能
- シーン表現はメートル単位の絶対スケールを持ち、カメラ移動にも対応
- ゼロショット汎化性能に優れ、様々なデータセットで高い再現性を発揮
- 先行手法と比較し、LPIPSを25–34%・DISTSを21–43%削減、合成時間も1000分の1に短縮
導入方法
- Python環境の作成
- conda環境推奨:
conda create -n sharp python=3.13
- conda環境推奨:
- 依存ライブラリのインストール
pip install -r requirements.txtで必要なパッケージを導入
- 動作確認
sharp --helpでCLIヘルプを表示し、インストールを確認
コマンドラインインターフェース(CLI)の利用
- 予測の実行
- 入力画像から3D Gaussianを生成:
sharp predict -i /path/to/input/images -o /path/to/output/gaussians
- 初回実行時にモデルチェックポイントが自動ダウンロード
- チェックポイントの手動ダウンロード:
wget https://ml-site.cdn-apple.com/models/sharp/sharp_2572gikvuh.pt
- 手動ダウンロードした場合は
-cフラグで指定:sharp predict -i /path/to/input/images -o /path/to/output/gaussians -c sharp_2572gikvuh.pt
- 入力画像から3D Gaussianを生成:
- 出力形式
- 出力は**3D Gaussian Splatting(3DGS)**の.plyファイル
- 一般的な3DGSレンダラーに対応
- OpenCV座標系(x右、y下、z前方向)を採用
- シーン中心はおおよそ(0, 0, +z)
- 他レンダラー使用時はスケール・回転調整が必要
レンダリングとビデオ生成(CUDA GPUのみ)
- カメラ軌道に沿った動画レンダリング
- 3D Gaussian予測はCPU/CUDA/MPS全てで動作
- --renderオプションによる動画生成はCUDA GPU必須
- 初回起動時はgsplatレンダラーの初期化に時間がかかる場合あり
- 使用例:
sharp predict -i /path/to/input/images -o /path/to/output/gaussians --render- 既存のGaussianからレンダリング:
sharp render -i /path/to/output/gaussians -o /path/to/output/renderings
評価・参考情報
- 定量・定性評価は論文参照
- ビデオ比較例は公式ページで公開
- 引用方法
- 論文を利用する場合は、指定のBibTeXを利用
- ソースコード・モデルのライセンス
- 利用前にLICENSEおよびLICENSE_MODELを確認
- オープンソース貢献
- 詳細はACKNOWLEDGEMENTSを参照