単眼深度推定とは?概要
単眼深度推定の仕組み、センサー方式の深度手法との比較、ビジョンシステムでスケーラブルな3D知覚を実現する方法を学びます。

自動運転車は、安全に走行できるよう、周囲で起きていることを理解するように設計されています。これは、歩行者や他の車両などの物体を単に認識するだけにとどまりません。
さらに、適切に対応するためには、それらの物体がどれほど離れているかも把握する必要があります。しかし、機械にこの距離感覚を与えるのは簡単ではありません。人間とは異なり、機械は画像から自然に奥行きを認識できないため、その方法を明示的に学習させる必要があります。
その理由の一つは、ほとんどのカメラが世界を平面的な2次元画像として捉えることです。これらの画像を、現実世界の奥行きや3D構造を反映する情報に変換するのは難しく、特にシステムを日常的な環境で安定して動作させる必要がある場合は困難です。
興味深いことに、コンピュータービジョンは、視覚データの解釈と理解に重点を置くAIの一分野であり、機械が画像から世界をより深く理解することを可能にします。例えば、単眼の深度推定は、単一のカメラ画像だけを使用して物体までの距離を推定するコンピュータービジョン技術です。
物体の大きさ、遠近感、テクスチャ、陰影などの視覚的手がかりを学習することで、これらのモデルはLiDAR(光による検出と測距)やステレオカメラなどの追加センサーに依存せずに深度を予測できます。この記事では、単眼深度推定とは何か、その仕組み、実世界での応用例について説明します。始めましょう。
単眼深度推定の概要#
単眼深度推定を使用すると、機械は単一の画像だけで物体までの距離を理解できます。このアプローチは1台のカメラだけに依存するため、低コストで、ハードウェア要件がシンプルになるなど、いくつかの利点があります。
例えば、1台のカメラで動作する手頃な価格の家庭用ロボットに利用できます。単一の画像からでも、ロボットシステムはどの壁が近く、どのドアが遠いかを識別し、空間全体の深度を推測できます。
多くの場合、単一の画像には正しいスケールの情報が含まれていないため、単眼深度推定では一般に相対深度に重点を置きます。つまり、正確な距離が分からなくても、どの物体が近く、どの物体が遠いかを判定できます。
LiDARなどのセンサーによる深度測定のように、正解距離または絶対深度を含むデータでモデルを学習すると、メートルなどの現実世界の単位で距離を予測できるようになります。このような参照データがなければ、モデルは相対深度を推測できますが、絶対距離を安定して推定することはできません。
単眼深度推定の出力は通常、深度マップです。これは、各ピクセルがシーンのその部分がどれほど近いか、または遠いかを表す画像です。深度マップは、ビジョンシステムに環境の3D構造に関する基本的な理解を提供します。

図1. 単眼深度推定を使用して作成された予測深度マップの例(出典)
センサーから画像へ:深度の推定#
深度推定には、利用可能なセンサー、ハードウェアの制約、必要な精度に応じて、いくつかのアプローチがあります。従来の手法では、複数の視点や専用センサーを使用して距離を直接測定することが一般的です。
一般的なアプローチの一つがステレオビジョンです。これは、わずかに異なる視点から撮影した同期済みの2枚の画像を比較して深度を推定します。2枚の画像内の対応点の差を測定することで、システムは物体がカメラからどれほど離れているかを推測できます。
もう一つのアプローチはRGB-D(赤、緑、青、深度)システムです。これはアクティブ深度センサーを使用して、各ピクセルの距離を直接測定します。これらのシステムは、制御された環境で正確な深度情報を提供できますが、追加のハードウェアが必要です。
一方、LiDARベースの手法では、レーザーパルスを使用してシーンの正確な3次元表現を生成します。LiDARセンサーは非常に高精度ですが、高価であることが多く、ハードウェアの複雑さも大幅に増加します。
これに対して、単眼深度推定は単一のRGB画像だけを使用して深度を推測します。複数のカメラや専用センサーに依存しないため、大規模に導入しやすく、コストやハードウェアリソースが限られている場合に適した選択肢です。
単一画像から深度を学習する#
単一の画像から深度を推定する場合、単眼深度モデルは、人間が距離を直感的に判断する際に利用する視覚的手がかりを認識するように学習します。これらの手がかりには、遠近線、物体の大きさ、テクスチャの密度、物体の重なり、陰影などがあり、いずれも物体がカメラからどれほど離れているかを示す情報になります。
これらの手がかりが組み合わさることで、深度感覚が生まれます。小さく見える物体や部分的に遮蔽された物体は遠くにあることが多く、より明瞭なディテールや大きく見える外観は、通常、近くにあることを示します。
こうしたパターンを学習するため、単眼深度モデルは大規模な画像データセットで学習します。多くの場合、LiDARやステレオシステムなど、他の情報源から取得した深度情報が組み合わされています。学習中、モデルは視覚的手がかりと深度の関係を学習し、推論時に単一の画像から距離を推測できるようになります。
多様な学習データを使用すると、最新のビジョンモデルは、屋内外のシーンを含む幅広い環境にわたって学習した理解を一般化し、未知の視点にも対応できます。
さまざまな単眼深度推定技術#
次に、単一の画像から深度を推定するために使用される主なアプローチと、これらの手法が時間とともにどのように進化してきたかを見ていきます。
古典的およびジオメトリベースのアプローチ#
初期の深度推定手法は、単純な視覚ルールとカメラジオメトリに依存していました。遠近感、物体の大きさ、一方の物体が他方を遮っているかどうかといった手がかりを使用して、距離を推定していました。
例えば、似た2つの物体が異なる大きさで見える場合、小さい方が遠くにあると仮定します。照明、カメラの位置、シーンのレイアウトなどの要因が一定に保たれる制御された環境では、これらのアプローチは十分に機能しました。
しかし、現実世界のシーンでは、こうした仮定が崩れることがよくあります。照明の変化、視点の変化、シーンの複雑化により深度推定が不安定になり、制御されていない環境では古典的手法の有効性が制限されます。
初期の機械学習アプローチ#
初期の機械学習手法は、データからパターンを直接学習することで、深度推定の柔軟性を高めました。固定されたジオメトリルールだけに依存するのではなく、これらのモデルは視覚情報と距離の関係を学習し、エッジ、テクスチャ、色の変化などの手がかりに基づく回帰問題として深度予測に取り組みました。
これらの特徴量の選択は、プロセスの重要な部分でした。エンジニアはどの視覚信号を抽出し、どのように表現するかを決める必要があり、モデルの性能はその選択に大きく左右されました。
このアプローチは以前の手法より優れていましたが、依然として限界がありました。選択した特徴量に重要なコンテキストが欠けていると、深度予測の精度が低下しました。シーンがより複雑で多様になるにつれて、これらのモデルは安定した結果を出すことに苦労しました。
ディープラーニングアルゴリズム#
最新の単眼深度推定システムの多くは、データから複雑なパターンを学習できる多数の層を持つニューラルネットワークを指すディープラーニングを使用しています。これらのモデルは画像から直接深度を予測し、深度マップを生成します。
多くのアプローチは、エッジや形状などのパターンを検出して画像を処理するよう設計されたニューラルネットワークである畳み込みニューラルネットワーク(CNN)を使用して構築されています。これらのモデルでは、エンコーダー・デコーダー構成がよく使用されます。エンコーダーが画像から視覚特徴を抽出し、デコーダーがその特徴を深度マップに変換します。複数のスケールで画像を処理することで、モデルは明瞭な物体境界を捉えながら、シーン全体のレイアウトも把握できます。
より最近のモデルは、画像内の異なる部分間の関係の理解に重点を置いています。TransformerベースおよびVision Transformer(ViT)モデルはアテンションメカニズムを使用し、画像内で最も関連性の高い領域を特定するとともに、離れた領域同士を関連付けることができます。これにより、モデルはシーン全体でより一貫した深度の理解を構築できます。
これらのアイデアを組み合わせたシステムもあります。ハイブリッドCNN・Transformerモデルは、CNNで細かな局所ディテールを捉え、Transformerでシーンのグローバルコンテキストをモデル化します。これにより精度が向上することが多い一方、追加のメモリや処理能力など、より多くの計算リソースが通常必要になります。
ビジョンAIシステムにとって深度理解が重要な理由#
単眼深度推定について学ぶと、なぜ深度理解がビジョンベースのAIシステムでそれほど重要なのか疑問に思うかもしれません。
システムが物体や表面までの距離を推定できると、シーンの配置や、さまざまな要素同士の関係をより深く理解できるようになります。このような空間認識は、特に自動運転などの実世界のアプリケーションで、信頼性の高い意思決定を行うために不可欠です。
深度情報は、他のコンピュータービジョンタスクにも有用なコンテキストを追加します。例えば、Ultralytics YOLO26のようなモデルに対応した物体検出は、シーンに何が存在するかをシステムに伝えられますが、深度によって、それらの物体がカメラや互いに対してどこに位置するかを把握できます。
これらの機能を組み合わせることで、3Dマップの構築、複雑な環境のナビゲーション、シーン全体の理解など、幅広いビジョンAIアプリケーションが可能になります。
ロボットや自動運転車は、安全に移動し、障害物を回避し、リアルタイムの変化に対応するために、この情報に依存しています。例えば、Teslaのビジョンのみの運転アプローチは、LiDARではなく、カメラ画像と深度推定を組み合わせて、物体までの距離や道路上での位置を理解します。
単眼深度推定モデルの仕組み#
モデルアーキテクチャは異なりますが、ほとんどの単眼深度推定モデルは、単一の画像を深度マップに変換するために似たプロセスに従います。主な手順を簡単に説明します。
- 入力と前処理: ワークフローは入力画像から始まります。モデルに入力する前に、元の画像は通常、リサイズ、正規化され、テンソルに変換されます。テンソルは、ニューラルネットワークが画像データを効率的に処理するために使用する形式です。
- 特徴抽出: エンコーダーネットワークが画像を解析し、意味のある視覚特徴を抽出します。これらの特徴は、テクスチャ、物体境界、シーン全体のレイアウトなどの情報を捉えます。ほとんどのモデルは複数のスケールで動作し、細かなディテールとグローバル構造の両方を理解できるようにします。
- 深度推論: モデルは抽出した特徴を使用し、局所的なディテールとグローバルコンテキストを組み合わせて、シーン内の空間的関係を推論します。この段階で、画像内のどの領域がカメラに近く、どの領域が遠いかを学習します。
- 深度マップの生成: 次にデコーダーがこの情報を密な深度マップに変換します。画像内の各ピクセルに深度値が割り当てられます。精度と一貫性を高めるため、異なるスケールからの予測をブレンドすることがよくあります。
単眼深度推定モデルの学習方法#
ここまで説明したプロセスは、すでに学習済みまたは事前学習済みのモデルがあることを前提としています。しかし、単眼深度推定モデルの学習は実際にどのように行われるのでしょうか。
学習は、ネットワークで効率的に処理できるように画像データを準備することから始まります。入力画像をリサイズして一定のスケールに正規化し、モデルに入力して各ピクセルの距離を推定する予測深度マップを生成します。
次に、予測深度マップを損失関数を使用して参照深度データと比較します。損失関数は、モデルの予測が正解深度からどれほど離れているかを測定します。この損失値はモデルの現在の誤差を表し、改善のための信号を提供します。
オプティマイザーはこの信号を使用して、内部の重みを調整し、モデルを更新します。そのために、オプティマイザーは勾配を計算します。勾配は、各モデルパラメーターに対して損失がどのように変化するかを表し、これらの更新を複数のエポック、つまり学習データセット全体を通した処理の単位にわたって繰り返し適用します。
この反復的な教師あり学習プロセスは、学習率やバッチサイズなどのハイパーパラメーターによって制御されます。学習率は各更新ステップの大きさを制御し、バッチサイズは一度に処理する画像の数を決定します。学習には大量の数学的処理が伴うため、通常は並列計算に適したグラフィックスプロセッシングユニット(GPU)を使用して高速化します。
学習が完了すると、学習中に使用していない画像で構成される検証セット上で、標準的な評価メトリクスを使用してモデルを評価します。この評価により、モデルが新しいデータにどの程度一般化できるかを測定できます。
その後、学習済みモデルを再利用したり、新しいシナリオ向けにファインチューニングしたりできます。全体として、この学習プロセスにより、単眼深度推定モデルは一貫した深度推定を生成できるようになります。これは、3D再構成や実世界への展開などの下流タスクに不可欠です。
最先端モデルと研究動向#
単眼深度推定は、モデルが小さな視覚的ディテールだけでなく、シーン全体を理解できるようになるにつれて急速に進歩しました。初期のアプローチでは、特に複雑な環境で不均一な深度マップが生成されることがよくありました。
arXivで公開された近年の研究に見られる新しいモデルは、グローバルコンテキストをより重視しており、より安定して現実的に見える深度予測を実現しています。MiDaSやDPTなどの著名なモデルは、多様で高解像度のデータセットから深度を学習し、多くのシーンで良好に一般化することで、この転換を促進しました。
ZoeDepthやDepth Anything V2などのより最近のモデルは、この研究を基盤として、幅広い設定で高い性能を維持しながらスケールの一貫性を向上させています。このような進歩は、屋外と屋内の両方のシーンをカバーするKITTIやNYUなどの一般的なベンチマークデータセットを使用して測定されることがよくあります。
もう一つの明確な傾向は、精度と実用性のバランスを取ることです。小型モデルは速度に最適化され、エッジデバイスやモバイルデバイス上でリアルタイムに動作できます。一方、大型モデルはより高い解像度と長距離での深度精度を優先します。
単眼深度推定のアプリケーション#
次に、単一の画像からシーンの3D構造を推論するために単眼深度推定がどのように使用されるかを示す、実世界の例をいくつか見ていきます。
これらすべてのケースで、深度情報は正確な測定値ではなく、視覚的手がかりから推測された推定値であることを念頭に置くことが重要です。そのため、単眼深度推定は相対的なレイアウトや空間的関係の理解には役立ちますが、LiDARやステレオシステムなど、距離を正確に測定するよう設計されたセンサーの代替にはなりません。
ドローンによる地形マッピングとナビゲーション#
ドローンは、森林、建設現場、災害地域、人口密集地域など、GPS信号が不安定な環境で動作することがよくあります。こうした条件で安全に飛行するには、周囲の地形を理解し、障害物までの距離を把握する必要があります。以前は通常、LiDARやステレオカメラなどのセンサーを追加する必要があり、重量、消費電力、総コストが増加していました。
単眼深度推定は、よりシンプルな代替手段です。単一のRGBカメラだけを使用して、ドローンは画像から深度を推定し、環境の基本的な3D理解を構築できます。これにより、建物、木、地形の急な変化などの障害物を検出し、飛行経路をリアルタイムに調整できます。
これらの深度推定は、障害物回避、高度制御、安全な着陸などの主要なナビゲーションタスクを支援します。その結果、軽量なドローンは専用の深度センサーに依存せずに、マッピング、検査、ナビゲーションのタスクを実行できます。

図2. 単眼深度推定はドローン画像の分析に使用できます(出典)
自動運転レーシング車両の死角を補完する#
自動運転車は通常、レーザーパルスを使用して距離を測定し、道路の3Dビューを構築するLiDARセンサーに大きく依存しています。LiDARは非常に高精度ですが、急な道路の頂上、急斜面、遮蔽、車両の急なピッチなどで問題が生じ、深度データが疎になったり欠落したりすることがあります。
単眼深度推定は、LiDARデータが不完全な場合でも、単一のRGB画像から密な深度情報を提供することで、こうしたギャップを補完できます。自動運転車が高速で丘の頂上に近づいている状況を考えてみましょう。LiDARのビームが頂上の先にある道路を通り過ぎ、前方に何があるのか不確実になることがあります。
一方、カメラベースの深度推定は、遠近感やテクスチャなどの視覚的手がかりから道路の形状を推測できます。これにより、LiDARデータが安定するまで、車両は信頼性の高い認識を維持できます。LiDARと単眼深度推定を組み合わせることで、困難な運転条件でも、より安定した認識と安全な制御が可能になります。

図3. 自動運転レーシングに単眼深度推定を使用する様子の可視化(出典)
ロボットのナビゲーションと障害物回避#
ロボットは、詳細なマップが利用できず、状況が常に変化する場所で運用されることがよくあります。安全に移動するには、周囲にどれだけの空間があるか、障害物がどこにあるかを確実に把握する必要があります。
単眼深度推定は、重いハードウェアや高価なハードウェアに依存せず、単一のRGBカメラを使用してこの空間認識を提供できます。スケールや遠近感などの視覚的手がかりを学習することで、深度推定モデルは周囲の密な深度マップを生成できます。これにより、ロボットは表面や物体までの距離を明確に把握できます。
特に、深度情報を物体検出やセマンティックセグメンテーションなどのコンピュータービジョンタスクと組み合わせると、ロボットは環境をより包括的に把握できます。物体を識別し、その距離を理解し、安全に移動できる場所を判断できます。これにより、障害物回避、フリースペース検出、リアルタイムの経路計画が可能になります。

図4. 単眼深度推定と物体検出を使用した物体検出(出典)
単眼深度推定のメリットとデメリット#
単眼深度推定を使用する主なメリットは次のとおりです。
- 軽量で電力効率が高い: 1台のカメラを使用することでシステムの重量と消費電力を削減できます。これは、モバイルロボット、ドローン、組み込みシステムにとって特に重要です。
- センサーフュージョンに適している: 単眼深度は、LiDARやレーダーなどの他のセンサーを補完し、欠落部分を埋めたり、冗長性を提供したりできます。
- 多くの環境で動作する: 同じカメラベースのアプローチを、ハードウェアを変更せずに屋内外や異なるプラットフォームで使用できます。
単眼深度推定には明確なメリットがある一方、次のような制限も考慮する必要があります。
- アクティブセンサーより精度が低い: 単眼深度推定は急速に改善していますが、制御された環境では、一般にLiDARや構造化光センサーの絶対精度には及びません。
- 照明条件の影響を受けやすい: 低照度環境、強い影、グレア、テクスチャの乏しいシーンでは、性能が低下する可能性があります。
- 一般化の課題: ある環境で学習したモデルは、適応やファインチューニングを行わない限り、未知のドメインに常に安定して転用できるとは限りません。
単眼深度推定に依存すべきでない場合#
単眼深度推定は興味深い研究分野ですが、実際に使用できる場面と使用できない場面を理解することが重要です。単眼深度推定が生成する距離は、実世界で取得した正確な測定値ではなく、モデルが画像から見た内容に基づく推定値です。
そのため、照明、シーンの複雑さ、シーンがモデルの学習データとどの程度似ているかといった要因によって、結果の品質が変化することがあります。単眼深度推定は通常、何が近く何が遠いかを判断することには適していますが、正確な距離が必要な場合には信頼できません。
安全性が重要なシステム、産業検査、物体と非常に正確に相互作用する必要があるロボットなど、精度が特に重要な状況では、深度を直接測定する必要があります。LiDAR、レーダー、ステレオカメラ、構造化光システムなどのセンサーはこの目的のために設計されており、より信頼性の高い距離情報を提供します。
単眼深度推定は、視覚的に困難な条件でも問題が生じることがあります。照明不足、強い影、反射面や透明面、霧、煙、視覚的テクスチャが非常に少ないシーンでは、深度推定の信頼性が低下する可能性があります。長距離での深度推定も、専用センサーの方が通常は適しているケースです。
現実世界のソリューションにおいては、単眼深度推定は単独のソリューションというより、補助ツールとして最も効果を発揮します。空間的なコンテキストを有用な形で追加したり、他のセンサーが限られている場合に不足を補ったり、シーン全体の理解を向上させたりできます。ただし、精度、安全性、または厳格な信頼性要件が重要な場合、深度情報の唯一の情報源にするべきではありません。
主なポイント#
単眼深度推定は、単一のカメラ画像だけを使用して、物体までの距離を機械が推定できるようにするコンピュータービジョン技術です。これらのAIモデルは、遠近法、物体のサイズ、テクスチャ、陰影などの視覚的手がかりを学習することで、LiDARやステレオカメラなどのセンサーに依存せずに、シーンの3D構造を推測できます。そのため、単眼深度推定は、自動運転、ロボティクス、3Dシーン理解などのアプリケーションに適した、費用対効果と拡張性に優れたアプローチです。
ビジョンAIについてさらに詳しく知りたい場合は、GitHubリポジトリをご覧いただき、コミュニティにご参加ください。ロボティクスにおけるAIや製造業におけるコンピュータービジョンについては、ソリューションページをご覧ください。ライセンスオプションを確認して、今すぐコンピュータービジョンを始めましょう。









