YOLO Vision Shenzhen
深セン
今すぐ参加

単眼深度推定がどのように機能し、センサーベースの深度手法と比較してどうか、そしてビジョンシステムにおけるスケーラブルな3D知覚をどのように可能にするかを学びましょう。

コンピュータビジョンプロジェクトの導入をお考えですか?

ライセンスについて詳しく見る

自動運転車は、周囲で何が起こっているかを理解し、安全に走行できるように設計されています。これは、歩行者や他の車両のような物体を単に認識するだけにとどまらないことを意味します。 

また、正しく応答するためには、それらの物体がどれくらいの距離にあるかを知る必要があります。しかし、機械にこの距離感を付与することは容易ではありません。人間とは異なり、機械は画像から自然に奥行きを認識することはなく、その方法を明示的に教える必要があります。

その理由の1つは、ほとんどのカメラが世界を平坦な2次元画像として捉えるためです。それらの画像を、実世界の奥行きや3D構造を反映するものに変換することは困難であり、特にシステムが日常的な条件下で確実に機能する必要がある場合にはなおさらです。 

興味深いことに、視覚データの解釈と理解に焦点を当てるAIの一分野であるコンピュータービジョンは、機械が画像から世界をより良く理解することを可能にします。例えば、単眼深度推定は、単一のカメラ画像のみを使用してオブジェクトの距離を推定するコンピュータービジョン技術です。

物体サイズ、遠近法、テクスチャ、陰影などの視覚的キューを学習することで、これらのモデルはLiDAR(光検出と測距)やステレオカメラのような追加センサーに頼ることなく深度を予測できます。この記事では、単眼深度推定とは何か、その仕組み、そしていくつかの実世界での応用について探ります。さあ、始めましょう!

単眼深度推定の簡単な紹介

単眼深度推定は、機械が単一の画像のみを使用して、オブジェクトがどれだけ離れているかを理解することを可能にします。1つのカメラのみに依存するため、このアプローチには、低コストとシンプルなハードウェア要件を含むいくつかの利点があります。

例えば、単一のカメラで動作する手頃な価格の家庭用ロボットに利用できます。1枚の画像からでも、ロボットシステムはどの壁が近く、どのドアが遠いかを識別し、空間全体の奥行きを推論できます。

多くの場合、単一の画像には正しいスケールでの情報が含まれていないため、単眼深度推定は一般的に相対深度に焦点を当てます。言い換えれば、正確な距離が不明であっても、どのオブジェクトが近く、どのオブジェクトが遠いかを判断できます。

モデルがLiDARのようなセンサーからの深度測定値など、真の距離または絶対深度を持つデータでトレーニングされると、メートルなどの実世界単位で距離を予測することを学習できます。この種の参照データがない場合、モデルは相対深度を推測することはできますが、絶対距離を確実に推定することはできません。

単眼深度推定の出力は通常、深度マップです。これは、各ピクセルがシーンのその部分がどれだけ近いか遠いかを表す画像です。深度マップは、ビジョンシステムに環境の3D構造の基本的な理解を提供します。

図1. 単眼深度推定を用いて作成された予測深度マップの例 (出典)

センサーから画像へ:深度推定

深度推定は、利用可能なセンサー、ハードウェアの制約、精度要件に応じて、いくつかの方法でアプローチできます。従来の方法では、距離を直接測定するために複数の視点や特殊なセンサーに依存することがよくあります。

一般的なアプローチの1つはステレオビジョンです。これは、わずかに異なる視点から撮影された2つの同期画像を比較することで深度を推定します。2つの画像内の対応する点間の差を測定することで、システムはオブジェクトがカメラからどれだけ離れているかを推測できます。

もう一つのアプローチは、RGB-D(赤、緑、青、深度)システムです。これはアクティブ深度センサーを使用して各ピクセルの距離を直接測定します。これらのシステムは、制御された環境で正確な深度情報を提供できますが、追加のハードウェアを必要とします。

一方、LiDARベースの手法は、レーザーパルスを使用してシーンの精密な3次元表現を生成します。LiDARセンサーは非常に高精度ですが、多くの場合高価であり、ハードウェアの複雑さを大幅に増します。

対照的に、単眼深度推定は、単一のRGB画像のみを使用して深度を推測します。複数のカメラや特殊なセンサーに依存しないため、大規模な展開が容易であり、コストやハードウェアリソースが限られている場合に良い選択肢となります。 

単一画像からの深度学習

単一画像から深度を推定する際、単眼深度モデルは、人間が本能的に距離を判断するために使用する視覚的キューを認識することを学習します。これらのキューには、遠近法、オブジェクトサイズ、テクスチャ密度、オブジェクトの重なり、シェーディングが含まれ、これらはすべて、オブジェクトがカメラからどれくらい離れているかについてのヒントを提供します。

これらの手がかりが連携して奥行き感を生み出します。小さく見えるオブジェクトや部分的に遮蔽されているオブジェクトはしばしば遠くにあり、より鮮明な詳細や大きな視覚的出現は、通常、何かが近いことを示唆します。

これらのパターンを学習するため、単眼深度モデルは大規模な画像データセットで訓練され、しばしばLiDARやステレオシステムなどの他のソースから取得された深度情報と組み合わされます。訓練中、モデルは視覚的な手がかりが深度にどのように関連するかを学習し、推論時に単一の画像から距離を推測することを可能にします。

多様なトレーニングデータを用いることで、現代のビジョンモデルは、この学習された理解を屋内および屋外のシーンを含む幅広い環境に一般化でき、見慣れない視点にも対応できます。

様々な単眼深度推定技術の展望

次に、1枚の画像から深度を推定するために使用される主なアプローチと、これらの手法が時間の経過とともにどのように進化してきたかを探っていきます。

古典的および幾何学ベースのアプローチ

初期深度推定手法は、カメラジオメトリに関連する単純な視覚ルールに依存していました。遠近法、オブジェクトサイズ、およびあるオブジェクトが別のオブジェクトを遮っているかどうかなどの手がかりが距離推定に使用されました。 

例えば、2つの類似したオブジェクトが異なるサイズで現れた場合、小さい方が遠くにあると仮定されました。これらのアプローチは、照明、カメラ位置、シーンレイアウトなどの要因が一貫している制御された環境では、かなりうまく機能しました。

しかし、現実世界のシーンでは、これらの仮定はしばしば破綻します。照明の変化、視点の変更、シーンの複雑さの増加は、信頼性の低い深度推定につながる可能性があり、制御されていない環境での古典的な手法の有効性を制限します。

初期機械学習アプローチ

初期機械学習手法は、データから直接パターンを学習することで、深度推定にさらなる柔軟性をもたらしました。固定された幾何学的ルールのみに依存するのではなく、これらのモデルは、エッジ、テクスチャ、色の変化などの手がかりに基づいて、深度予測を回帰問題として扱い、視覚情報と距離の関係を学習しようとしました。

これらの特徴を選択することは、プロセスの重要な部分でした。エンジニアは、どの視覚信号を抽出し、どのように表現するかを決定する必要があり、モデルのパフォーマンスはこれらの選択に大きく依存していました。

このアプローチは以前の方法よりも優れていましたが、まだ限界がありました。選択された特徴が重要なコンテキストを欠いていた場合、深度予測の精度は低くなりました。シーンがより複雑で多様になるにつれて、これらのモデルは信頼できる結果を生成するのにしばしば苦労しました。

ディープラーニングアルゴリズム

現代のほとんどの単眼深度推定システムはディープラーニングを使用しており、これはデータから複雑なパターンを学習できる多数の層を持つニューラルネットワークを指します。これらのモデルは、画像から直接深度を予測することを学習し、深度マップを生成します。

多くの手法は、エッジや形状などのパターンをdetectすることで画像を処理するように設計されたニューラルネットワークの一種である畳み込みニューラルネットワーク (CNN) を使用して構築されています。これらのモデルはしばしばエンコーダー・デコーダー構成を使用し、エンコーダーは画像から視覚的特徴を抽出し、デコーダーはそれらの特徴を深度マップに変換します。複数のスケールで画像を処理することで、モデルは鮮明なオブジェクト境界を捉えつつ、シーン全体のレイアウトを把握するのに役立ちます。

より新しいモデルは、画像内の異なる部分間の関係を理解することに焦点を当てています。TransformerベースおよびVision Transformer (ViT) モデルはアテンションメカニズムを使用し、これによりモデルは画像内で最も関連性の高い領域を特定し、遠く離れた領域を互いに関連付けることができます。これは、モデルがシーン全体でより一貫した深度理解を構築するのに役立ちます。

一部のシステムは両方のアイデアを組み合わせています。ハイブリッドCNN–Transformerモデルは、CNNを使用して微細な局所的詳細を捉え、Transformerを使用してシーンのグローバルなコンテキストをモデル化します。これはしばしば精度を向上させますが、通常、追加のメモリや処理能力などのより多くの計算リソースを必要とします。

なぜ深度理解がビジョンAIシステムにとって重要なのか

単眼深度推定について学ぶ際、深度理解がビジョンベースAIシステムにおいてなぜこれほど重要な部分なのか疑問に思うかもしれません。

システムが物体や表面がどれくらい離れているかを推定できる場合、シーンがどのように配置され、異なる要素が互いにどのように関連しているかをよりよく理解できます。この種の空間認識は、信頼性の高い意思決定を行う上で不可欠であり、特に自動運転のような実世界アプリケーションにおいて重要です。

深度情報は、他のコンピュータービジョンタスクにも貴重なコンテキストを追加します。例えば、Ultralytics YOLO26のようなモデルによってサポートされるオブジェクト検出は、シーンに何が存在するかをシステムに伝えることができますが、深度はそれらのオブジェクトがカメラに対して、また互いに対してどこに位置しているかを答えるのに役立ちます。

これらの機能が連携することで、3Dマップの構築、複雑な環境のナビゲート、シーン全体の理解など、幅広いビジョンAIアプリケーションが可能になります。 

ロボットや自動運転車は、安全に移動し、障害物を回避し、リアルタイムで変化に対応するためにこの情報に依存しています。例えば、Teslaのビジョンオンリー運転アプローチは、LiDARではなく、カメラ画像と深度推定を組み合わせて利用し、物体がどのくらい離れているか、道路上でどのように配置されているかを理解します。

単眼深度推定モデルはどのように機能するか

モデルのアーキテクチャは様々ですが、ほとんどの単眼深度推定モデルは、単一画像を深度マップに変換するために同様のプロセスに従います。主要なステップの概要を以下に示します。

  • 入力と前処理: ワークフローは入力画像から始まります。モデルに渡される前に、元の画像は通常、サイズ変更、正規化され、ニューラルネットワークが画像データを効率的に処理するために使用する形式であるtensorに変換されます。
  • 特徴抽出: エンコーダーネットワークは画像を分析し、意味のある視覚的特徴を抽出します。これらの特徴は、テクスチャ、オブジェクトの境界、シーン全体のレイアウトなどの情報を捉えます。ほとんどのモデルは複数のスケールで動作するため、細かい詳細とグローバルな構造の両方を理解できます。
  • 深度推論: 抽出された特徴を使用して、モデルは局所的な詳細とグローバルなコンテキストを組み合わせ、シーン内の空間関係について推論します。この段階で、画像のどの領域がカメラに近く、どの領域が遠いかを学習します。
  • 深度マップ生成: デコーダーがこの情報を密な深度マップに変換します。画像の各ピクセルには深度値が割り当てられ、多くの場合、精度と一貫性を向上させるために異なるスケールからの予測をブレンドすることによって行われます。

単眼深度推定モデルはどのようにトレーニングされますか?

今議論したプロセスは、すでにトレーニング済みまたは事前トレーニング済みのモデルを持っていることを前提としています。しかし、単眼深度推定モデルのトレーニングは実際にどのように機能するのでしょうか?

学習は、ネットワークによって効率的に処理できるように画像データを準備することから始まります。入力画像は一貫したスケールにリサイズおよび正規化され、その後モデルを介して渡され、各ピクセルでの距離を推定する予測深度マップが生成されます。

予測された深度マップは、モデルの予測が真の深度からどれだけ離れているかを測定する損失関数を使用して、参照深度データと比較されます。この損失値はモデルの現在の誤差を表し、改善のためのシグナルを提供します。

オプティマイザは、このシグナルを使用して内部の重みを調整することでモデルを更新します。これを行うために、オプティマイザは各モデルパラメータに対する損失の変化を記述する勾配を計算し、これらの更新を複数回のエポック、つまりトレーニングデータセット全体の一巡にわたって繰り返し適用します。

この反復的な教師あり学習のトレーニングプロセスは、各更新ステップの大きさを制御する学習率や、一度に処理される画像の数を決定するバッチサイズなどのハイパーパラメータによって導かれます。トレーニングには多数の数学的演算が伴うため、通常、並列計算に優れたGPUを使用して高速化されます。

トレーニングが完了すると、モデルは、トレーニング中に使用されなかった画像で構成される検証セットで、標準的な評価メトリクスを使用して評価されます。この評価は、モデルが新しいデータにどれだけうまく汎化するかを測定するのに役立ちます。 

トレーニングされたモデルは、新しいシナリオのために再利用またはファインチューニングできます。全体として、このトレーニングプロセスにより、単眼深度推定モデルは一貫した深度推定を生成でき、これは3D再構築や実世界でのデプロイメントなどの下流タスクにとって不可欠です。

最先端のモデルと研究トレンドを探る

単眼深度推定は、モデルが小さな視覚的詳細だけでなく、シーン全体を理解する能力が向上したため、急速に改善されました。以前のアプローチでは、特に複雑な環境で不均一な深度マップが生成されることがよくありました。 

arXivで発表された最近の研究に見られるように、新しいモデルはよりグローバルなコンテキストに焦点を当てており、その結果、より安定してリアルに見える深度予測が得られます。MiDaSやDPTのようなよく知られたモデルは、多様な高解像度データセットから深度を学習し、多くのシーンでうまく汎化することで、この変化を推進するのに貢献しました。 

ZoeDepthやDepth Anything V2を含むより新しいモデルは、幅広い設定で強力なパフォーマンスを維持しながら、スケールの一貫性を向上させることで、この研究に基づいて構築されています。この種の進歩は、屋外および屋内の両方のシーンをカバーするKITTIやNYUのような一般的なベンチマークデータセットを使用して測定されることがよくあります。 

もう一つの明確な傾向は、精度と実用性のバランスを取ることです。小規模モデルは速度に最適化されており、エッジデバイスやモバイルデバイスでリアルタイムに実行できる一方、大規模モデルは高解像度と長距離深度精度を優先します。 

単眼深度推定の応用

次に、単眼深度推定が1枚の画像からシーンの3D構造を推論するためにどのように使用されているかを示す、いくつかの実用例を見ていきましょう。 

これらのすべての場合において、深度情報は視覚的な手がかりから推測される推定値であり、正確な測定値ではないことを念頭に置くことが重要です。このため、単眼深度推定は相対的な配置や空間関係を理解するのに役立ちますが、LiDARやステレオシステムのように距離を正確に測定するために設計されたセンサーの代替にはなりません。

ドローンベースの地形マッピングとナビゲーション

ドローンは、森林、建設現場、災害地域、密集した都市部など、GPS信号が不安定な環境で運用されることがよくあります。これらの条件下で安全に飛行するためには、周囲の地形を理解し、障害物がどれくらい離れているかを知る必要があります。従来、これにはLiDARやステレオカメラなどのセンサーを追加する必要があり、重量、消費電力、および全体的なコストが増加していました。

単眼深度推定は、よりシンプルな代替手段です。単一のRGBカメラを使用するだけで、ドローンは画像から深度を推定し、環境の基本的な3D理解を構築できます。これにより、建物、木、または地形の突然の変化などの障害物をdetectし、リアルタイムで飛行経路を調整できます。

これらの深度推定は、障害物回避、高度制御、安全な着陸といった主要なナビゲーションタスクをサポートします。その結果、軽量ドローンは特殊な深度センサーに頼ることなく、マッピング、検査、ナビゲーションタスクを実行できます。

図2. 単眼深度推定はドローン画像解析に利用できます (出典)

自律走行レーシングカーの死角を補完する

自律走行車は通常、LiDARセンサーに大きく依存しています。LiDARセンサーはレーザーパルスを使用して距離を測定し、道路の3Dビューを構築します。非常に高精度である一方で、LiDARは急な道路の頂上、急勾配、オクルージョン、または突然の車両のピッチングに苦戦し、まばらな、または欠落した深度データを返すことがあります。

単眼深度推定は、LiDARデータが不完全な場合でも、単一のRGB画像から密な深度情報を提供することで、これらのギャップを埋めるのに役立ちます。自動運転車が高速で丘の頂上に接近しているシナリオを考えてみましょう。LiDARビームは頂上を越えて道路を飛び越え、その先に何があるかについての不確実性を残す可能性があります。 

しかし、カメラベースの深度推定は、遠近感やテクスチャなどの視覚的な手がかりから道路の形状を推測でき、LiDARデータが安定するまで車両が信頼性の高い知覚を維持するのに役立ちます。LiDARと単眼深度推定を組み合わせることで、困難な運転条件下でより安定した知覚とより安全な制御が可能になります。

図3. 自律走行レースにおける単眼深度推定の利用の可視化 (出典)

ロボットナビゲーションと障害物回避

ロボットはしばしば、詳細な地図が利用できず、状況が常に変化する場所で運用されます。安全に移動するためには、周囲にどれくらいの空間があるか、どこに障害物があるかを正確に把握する必要があります。 

単眼深度推定は、重いまたは高価なハードウェアに頼ることなく、単一のRGBカメラを使用してこの空間認識を提供できます。スケールや遠近法などの視覚的な手がかりを学習することで、深度推定モデルは周囲の密な深度マップを生成できます。これにより、ロボットは表面やオブジェクトまでの距離を明確に把握できます。

特に、深度情報がobject detectionやセマンティックsegmentationのようなコンピュータビジョンタスクと組み合わされると、ロボットは環境のより完全なビューを得ることができます。彼らはオブジェクトを識別し、その距離を理解し、安全に移動できる場所を決定できます。これは障害物回避、自由空間detect、およびリアルタイム経路計画をサポートします。

図4. 単眼深度推定とオブジェクトdetectを使用したオブジェクトのdetect (出典)

単眼深度推定の長所と短所

単眼深度推定を使用する主な利点をいくつかご紹介します。

  • 軽量かつ電力効率: 単一のカメラを使用することで、システムの重量と消費電力が削減され、これはモバイルロボット、ドローン、組み込みシステムにとって特に重要です。
  • センサーフュージョンに優しい: モノクロ深度は、LiDARやレーダーなどの他のセンサーを補完し、ギャップを埋めたり冗長性を提供したりできます。
  • 多様な環境で機能: 同じカメラベースのアプローチは、ハードウェアの変更を必要とせずに、屋内、屋外、および異なるプラットフォーム間で利用できます。

単眼深度推定には明確な利点がありますが、考慮すべきいくつかの制限があります。

  • アクティブセンサーよりも低い精度: 急速に改善されているものの、単眼深度推定は、制御された条件下でのLiDARや構造化光センサーの絶対精度には一般的に匹敵しません。
  • 照明条件への感度: 低照度環境、強い影、グレア、またはテクスチャの乏しいシーンでは、パフォーマンスが低下する可能性があります。
  • 汎化の課題: ある環境で訓練されたモデルは、適応やファインチューニングなしでは、未知のドメインに常に確実に転移するとは限りません。

単眼深度推定に頼るべきではない場合

単眼深度推定は興味深い研究分野ですが、それが実際にどこで使え、どこで使えないかを理解することが重要です。それが生成する距離は、モデルが画像内で見るものに基づいた推定値であり、現実世界から取得された正確な測定値ではありません。

このため、結果の品質は、照明、シーンの複雑さ、モデルがトレーニングされたシーンとの類似性などの要因によって変化する可能性があります。単眼深度推定は、何が近く、何が遠いかを判断するのに通常優れていますが、正確な距離が必要な場合には信頼できません。

安全性が重要なシステム、産業検査、またはオブジェクトと非常に正確に相互作用する必要があるロボットなど、精度が本当に重要となる状況では、深度を直接測定する必要があります。LiDAR、レーダー、ステレオカメラ、または構造化光システムのようなセンサーは、このために設計されており、はるかに信頼性の高い距離情報を提供します。

単眼深度推定は、視覚的に困難な条件下でも苦戦する可能性があります。不十分な照明、強い影、反射面や透明な表面、霧、煙、または視覚的なテクスチャがほとんどないシーンは、すべて深度推定の信頼性を低下させる可能性があります。長距離での深度推定は、専用センサーの方が通常より効果的な別のケースです。

実世界でのソリューションにおいて、単眼深度推定はスタンドアロンのソリューションとしてではなく、補助ツールとして最も効果を発揮します。有用な空間コンテキストを追加し、他のセンサーが制限されている場合のギャップを埋め、全体的なシーン理解を向上させることができます。しかし、精度、安全性、または厳格な信頼性要件が重要な場合、深度情報の唯一のソースとなるべきではありません。

主なポイント

単眼深度推定は、機械が単一のカメラ画像のみを使用してオブジェクトがどれだけ離れているかを推定することを可能にするコンピュータビジョン技術です。遠近法、オブジェクトサイズ、テクスチャ、陰影などの視覚的な手がかりを学習することで、これらのAIモデルは、LiDARやステレオカメラのようなセンサーに頼ることなく、シーンの3D構造を推測できます。これにより、単眼深度推定は、自動運転、ロボット工学、3Dシーン理解などのアプリケーションにとって、費用対効果が高くスケーラブルなアプローチとなります。

Vision AIについてさらに探求するには、当社のGitHubリポジトリにアクセスし、当社のコミュニティに参加してください。ロボティクスにおけるAI製造業におけるコンピュータービジョンについて学ぶために、当社のソリューションページをご覧ください。今すぐコンピュータービジョンを始めるために、当社のライセンスオプションをご覧ください!

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。