単眼深度推定は、1枚の静止画や単一のカメラ映像から、被写体までの距離(奥行き)をAIで予測する技術です。従来のステレオカメラのように複数のレンズを必要とせず、一般的な単眼カメラから得られる視覚的特徴を手がかりにディープラーニングモデルが高度な深度マップを生成します。自動運転やAR、ロボティクスなど幅広い分野で応用されています。
単眼深度推定とは
単眼深度推定(たんがんしんどすいてい)とは、1つのレンズ(カメラ)から得られる単一の2次元画像を入力とし、画像内の各画素における被写体までの距離(奥行き情報)をディープラーニングなどのAI技術を用いて予測・推定するコンピュータビジョン技術です。人間が片目をつぶっていても、経験則からある程度の奥行きを認識できる仕組みを、ニューラルネットワークによって再現しています。
詳しく解説
従来の深度推定(3次元計測)では、2つのレンズを用いたステレオカメラや、光の反射時間を測定するLiDARなどの専用センサーが必要でした。しかし、これらはコストやサイズ、消費電力の面で制約があります。これに対し、単眼深度推定は、市販のスマートフォンや標準的な車載カメラといった「一般的な単眼カメラ」で撮影された1枚の画像のみから、ディープラーニングを活用してリアルタイムに深度情報を算出します。モデルの学習方法には、正解データ(教師データ)として実測された深度マップを与える「教師あり学習」と、左右のカメラ画像の関係性や動画の連続フレームから構造を自動的に推論させる「自己教師あり学習」があります。近年では、畳み込みニューラルネットワーク(CNN)やTransformer(トランスフォーマー)を用いたネットワーク構造の進化により、細部や境界線、遠距離の推定精度が飛躍的に向上しています。
具体例・使われ方
具体的な応用例には以下のようなものがあります。スマートフォンの「ポートレートモード」で単一のカメラだけで被写体の背景を自然にぼかす処理や、自動運転や運転支援システムにおける単一の車載カメラ画像からの先行車両・障害物との距離把握、拡張現実(AR)での床やテーブルの奥行きに合わせた3Dオブジェクトの自然な配置、ロボット掃除機などの屋内自律移動ロボットによる障害物回避などに利用されています。
似た用語との違い
「ステレオカメラによる深度推定」との違いは、入力されるカメラの数と測定原理にあります。ステレオカメラ方式は、2つの異なる視点(レンズ)から撮影した画像のズレ(視差)を利用して、幾何学的な計算により正確な距離を測定します。一方で単眼深度推定は、1つの視点しか持たないため幾何学的な視差を利用できず、物体の影、重なり、既知のサイズ感といった「画像内の手がかり」から、ニューラルネットワークが蓄積した知識(事前学習)に基づいて統計的に距離を「予測」します。そのため、単眼深度推定の方がハードウェア構成がシンプルで安価ですが、未知の環境や錯視のような特殊な状況では推定誤差が生じやすくなります。
注意点
単眼深度推定は幾何学的な計算ではなくパターン認識に近い手法で奥行きを予測しているため、AIがこれまでに学習したデータと大きく異なる極端な照明環境(強い逆光や暗闇)、あるいは見たことのない形状の物体に対しては、距離の推定精度が著しく低下する場合があります。また、画像内に写る「テクスチャ(模様)」に依存しやすいため、真っ白で模様のない滑らかな壁などの領域は、正確な深度が計算しにくいという限界があります。高い安全性が求められる自動運転システムなどでは、単眼深度推定を単独で過信するのではなく、ミリ波レーダーやLiDARといった他のセンサーと組み合わせる「センサーフュージョン」が重要となります。