Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PromptDA (Depth Anything) を用いた深度推定や点群生成について
Search
Kenta Itakura
July 30, 2025
Technology
0
150
PromptDA (Depth Anything) を用いた深度推定や点群生成について
Kenta Itakura
July 30, 2025
Tweet
Share
More Decks by Kenta Itakura
See All by Kenta Itakura
3次元点群からメッシュモデルを作成: ボールピボット法について
kentaitakura
0
72
3D Gaussian Splatting (3DGS)のモデルを Cesiumの地球の上で可視化する方法
kentaitakura
0
380
主成分分析やRANSACを利用した点群からの円柱フィッティングの方法
kentaitakura
0
310
ImVisionLabs株式会社: 産業技術総合研究所様との取り組み
kentaitakura
0
180
ImVisionLabs株式会社:ゼンリンデータコム様との取り組み
kentaitakura
0
92
ImVisionLabs株式会社: 中日本航空様との取り組み
kentaitakura
0
110
全方位カメラやPostshotを利用した3D Gaussian Splattingの実行方法の例
kentaitakura
0
1.3k
ImVisionLabs株式会社: 東京電力HD様との取り組み
kentaitakura
0
140
3次元点群の地表面抽出の方法であるCSF (Cloth Simulation Filter) について
kentaitakura
2
1.2k
Other Decks in Technology
See All in Technology
サンドボックス技術でAI利活用を促進する
koh_naga
0
190
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
130
Obsidian応用活用術
onikun94
1
410
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
340
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
210
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
270
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.3k
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
570
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
2
110
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.5k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
370
AI エージェントとはそもそも何か? - 技術背景から Amazon Bedrock AgentCore での実装まで- / AI Agent Unicorn Day 2025
hariby
4
1.2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
54k
Being A Developer After 40
akosma
90
590k
The Invisible Side of Design
smashingmag
301
51k
Designing for humans not robots
tammielis
253
25k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
What's in a price? How to price your products and services
michaelherold
246
12k
Building an army of robots
kneath
306
46k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Code Reviewing Like a Champion
maltzj
525
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Transcript
PromptDA (Depth Anything) を用いた 深度推定や点群生成について ImVisionLabs株式会社代表取締役 板倉健太 博士(農学)
Depth Anythingについて バックパック型スキャナー iPhone12 LiDAR Depth Anything では、特殊なセンサーを用いずに、画像から物体の深度(距離)を推定可能
視覚情報(画像)のみを利用して高精度な深度マップを生成できる [動画] Yang, L et al. (2024). Depth anything: Unleashing the power of large-scale unlabeled data. CVPR.
Depth Anythingの特徴 バックパック型スキャナー iPhone12 LiDAR Depth Anything は、RGB画像を入力とし、視覚的な特徴量に基づいてピクセルごとの深度 (距離)を予測
以下の出力された深度マップでは、距離が近いほど赤く、遠いほど青く表示される。 [動画] これにより、LiDARやRGB-Dカメラを用いずに、画像1枚から深度を推定できる。
Depth Anythingを用いた動画生成 Depth Anything動画に適用することで、動画の深度情報を抽出することも可能である。 • 色は推定された相対的な距離を表し、近い物体は暖色系、遠い物体は寒色系で示されている • 手前のポール状の物体と電車の前後関係もうまく表現できているように見える
Depth Anythingの限界とPromptDAの必要性 バックパック型スキャナー Depth Anythingで出力されるのは相対的な深度であり、実際の距離(例:1.5m)は明らかでない PromptDA (DepthAnything) について
• iPhone LiDARなどで取得した低解像度な深度を「プロンプト」として入力することで 実スケールの深度マップが得られる • 画像のRGB情報と深度が合わせて取得されるため、点群や3D再構築に利用可能 画像出典: PromptDAのプロジェクトページ https://promptda.github.io/
補足: iPhoneに搭載されているLiDARセンサー バックパック型スキャナー 2020年発売のiPad Pro、iPhone 12 Proシリーズ以降にLiDARスキャナーが搭載されている LiDAR(Light
Detection and Ranging)はレーザー光で物体までの距離を計測する技術で、 AR体験やカメラのオートフォーカス、3Dスキャンなどに利用される iPadやiPhoneのアプリケーションを通じて点群データの取得や3Dモデル化が可能 LiDAR
PromptDAの構成 バックパック型スキャナー PromptDAは以下の3要素から構成される: 1. RGB画像: 通常のカメラで撮影された視覚情報 2. 初期深度マップ(prompt): Stray
Scanner などによって推定された粗い深度情報 3. 深度推論モデル: Depth Anything を拡張したモデルで、RGBとpromptの両方を入力として 高精度な深度を出力 動画: Stray Scannerでの撮影の様子 Stray Scanner: LiDARを利用して得られた 深度画像(動画)を録画できるアプリ
点群生成の仕組み バックパック型スキャナー 3次元の点群を作るためには、実世界のx,y,z座標を得る必要がある。 そのために、PromptDAではカメラの内部パラメーターを利用して、画像上の点(画像 座標)から3次元座標(カメラ座標)を復元する。 カメラの内部パラメーターKは以下の式で表される 𝑓𝑥 , 𝑓𝑦 はそれぞれx,y軸方向の焦点距離(単位:ピクセル)
𝑎𝑥 , 𝑎𝑦 はカメラ座標からみた画像中心の位置
点群生成の仕組み バックパック型スキャナー まずカメラ座標と画像座標の関係性を考える。 カメラ座標上において、右図のように複数点を考える。 また、オレンジ色の部分は画像平面である。 画像平面にカメラ座標上の点を集めることを考える。
本スライドの図は以下のページを参考に作成しました: https://mem-archive.com/2018/02/21/post-157/
点群生成の仕組み バックパック型スキャナー 画像平面は、カメラ座標の中心から𝑧𝑎 方向に焦点距離 𝑓だけ離れた位置にあるため、カメラ 座標の 中心から見て、 倍だけすると図のように各点は画像座標上にある状況となる 𝑓/それぞれの点の𝑧𝑎
方向の距離 本スライドの図は以下のページを参考に作成しました: https://mem-archive.com/2018/02/21/post-157/
点群生成の仕組み バックパック型スキャナー 最後に、画像座標とカメラ座標での原点のずれ(オフセット)を解消する。 オフセットは 𝑎𝑥 , 𝑎𝑦 であるため、図のようになる。
本スライドの図は以下のページを参考に作成しました: https://mem-archive.com/2018/02/21/post-157/
点群生成の仕組み バックパック型スキャナー このそれぞれの点が、画像座標上の点 𝑢, 𝑣 と対応する。 すなわち、 が成り立つ。 また、以下のようにすることで、カメラ座標を計算でき、点群に変換することができる。
点群生成の仕組み バックパック型スキャナー 得られた深度情報を踏まえると、 画像座標上の点 𝑢, 𝑣 に対して、3次元座標上の点 𝑋𝑎 , 𝑌𝑎
, 𝑍𝑎 は、 となる。これが3次元座標となり、 これと各点のRGB情報をもとに計算を繰り返すことで、点群が作られる
点群生成の仕組み: 補足 バックパック型スキャナー カメラの内部パラメータ行列Kの逆行列は以下の通り MATLABのSymbolic Math Toolboxにて 計算した結果
PromptDAによる深度マップの作成例 バックパック型スキャナー 左が入力の画像であり、同時に粗い深度情報も取得している PromptDAにより、右の高解像度な深度マップを生成した 赤枠の本物のしっぽとしっぽの影も区別されていることがわかる
PromptDAを用いた点群生成例 バックパック型スキャナー 階段本体はノイズの影響を受けることなく、一直線に安定して描画されている。 のぼり口などのマークも、点の集まり(点群)として正確に反映されている。
PromptDAを用いた点群生成例 バックパック型スキャナー PromptDAを用いて取得した深度情報から、猫の動きを点群として再構成した。 猫は左下方向に移動しており、フレームからやや見切れているが、全体の動きや形 状、動いている様子が点群として記録されている
PromptDAの有無による点群生成精度の比較 バックパック型スキャナー 画像を斜めから見ると、PromptDAを適用した場合には階段の段差構造が明確に再構 成されている。 PromptDAを利用しない場合は段差が連続して滑らかにつながり、階段構造が曖昧
PromptDAを用いた点群生成例 バックパック型スキャナー PromptDAにより取得した深度画像を点群に変換した時の結果 斜めから観察すると、奥行きや段差の構造が再現されていることがわかる
PromptDAの有無による点群生成精度の比較 バックパック型スキャナー iPhoneにより取得した深度画像をベースに点群にした場合(左)とPromptDAにより高 解像度にした結果(右)を示す PromptDAにより深度情報が正確に得られるため、コーンの奥行きやポールとの繋が りが正しく点群として表現されている
まとめ バックパック型スキャナー Depth AnythingはRGB画像のみから相対的な深度を推定できる PromptDA (Depth Anything) は粗い深度情報をプロンプトとして入力し、実スケールかつ高精
度な深度マップを生成し、点群化を可能にする PromptDAを適用することで階段や奥行き構造をうまく再現することができた