世界を動かす技術を、日本語で。

Appleが2D写真を瞬時に3Dビューに変換するオープンソースモデルを発表

概要

  • 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
  • 依存ライブラリのインストール
    • 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 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 を参照

関連リンク

Hackerたちの意見

例: https://apple.github.io/ml-sharp/ 論文: https://arxiv.org/abs/2512.10685

個人的には、https://x.com/SadlyItsBradley/status/2001227141300494550 の方が彼らのプロジェクトページよりもいいデモだと思う。

著者はみんな外国出身みたいだね。この件に詳しい人に聞きたいんだけど…研究の大半は外国出身の人がやってるの?大きなSTEM推進はどうなったの?政治的な議論を引き起こすつもりはないけど…最近の外国人学生の減少を考えると、現実はどうなってるのか気になるな。

HNの議論、11日前: https://news.ycombinator.com/item?id=46284658

試してみようと思ったけど、Condaに対して理不尽な嫌悪感があるんだよね。

理不尽じゃないよ。

代わりにuv環境を使えばいいんじゃない?

Condaの代わりにpixiを使うのもいいよ。こっちの方がずっと使いやすいし、まともな選択肢だしね: https://pixi.sh でも、この場合はCondaすら必要ないよ。Python 3.13と仮想環境があればOK。もしuvがインストールされてたら、さらに簡単だよ: git clone https://github.com/apple/ml-sharp.git cd ml-sharp uv sync uv run sharp

https://raw.githubusercontent.com/apple/ml-sharp/refs/heads/... 「研究目的専用」だから、実際にはオープンソースじゃないね。

重みが著作権の対象になるとは思えないな。これに注目する理由は、Appleがこれを強制しているからで、彼らは「このモデルはあなたの初子をAppleに譲渡する必要があります」とか、好きなことを書けるってことだよ。内容はどうでもいい。

タイトルは「ソースが利用可能」に修正すべきじゃない?

読み取り用のドキュメントもオープンソースだとは言ってないみたいだね。HNに投稿した人の勘違いなタイトルのように見える。唯一の言及は、オープンソースソフトウェアの上に構築されているっていう謝辞の部分だけみたい。

Metaのオープンソースの意味を歪めるキャンペーンは残念ながら非常に成功してしまって、今ではほとんどの人が重みを公開することをオープンソースと結びつけて考えているよね。

AIとオープンソースを一緒に使うと、オープンソースじゃないってことが確実になるよね。

これを使って利益の出る商品が作れるか調べてみるつもり。結果はもちろん公開するよ。

面白いね、メインライセンスには制限について書いてないみたい。だからOPが混乱したのかもね。 https://github.com/apple/ml-sharp/blob/main/LICENSE

自由って意味で本当に自由なモデルってあるのかな?(無料じゃなくてもいいけど)

オープンソースだけど、オープンドメインではないね。

ちょっと時間を使って、関連プロジェクトのStereoCrafterとGeometryCrafterを探ってみたんだけど、めっちゃ面白いよ。これを動画に適用すると、時間的な一貫性が求められて、すごく難しくて計算も重くなるけど、韓国戦争の古いホームビデオを「空間化」してみたら、意外と上手くいった。 https://github.com/TencentARC/StereoCrafter https://github.com/TencentARC/GeometryCrafter

あなたの例を見てみたいな。

Hugging Faceのモデル: https://huggingface.co/apple/Sharp とデモ: https://huggingface.co/spaces/ronedgecomb/ml-sharp

「ハギングフェイス」は心温まる小さなスマイリーフェイスなのに、「フェイスハガー」は恐ろしいエイリアンのゼノモーフだね。ここに何かアナロジーがありそう…

Appleが悪に変わったのはいつかはわからないけど、40年近く応援してきたのに、今はもう彼らを支持するのが難しい。今や彼らがやってることは、過去に彼らが信じていたこととは真逆だよ。

Appleは昔からオープンソースを全く信じてなかったから、そうだね。彼らは同じじゃないよ。

これが投稿と何の関係があるのか気になるんだけど?

アップルは1970年代からずっと優しくてオープンじゃないよね。重要な役割にいる人の中で唯一オープンで優しいのはウォズニアックだけだ。

同じものを何枚も撮る人が多いから、実質的に立体的な画像が得られるのが助けになるのかな。

あと、ライブフォトのフレームもね。

VRポルノにとって大事な日だよ!冗談じゃない。これで合成される画像や動画の80%以上になるだろうね。

「ガウススプラット」って言葉が全く違う意味になるね…

これは重複だよ。数週間前にフォークして、MPSでレンダリングを動かすことができたよ。: https://github.com/rcarmo/ml-sharp