(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-21
(45)【発行日】2023-11-30
(54)【発明の名称】障害物検知装置、障害物検知システム及び障害物検知方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20231122BHJP
G08G 1/16 20060101ALI20231122BHJP
【FI】
G06T7/00 650Z
G08G1/16 C
G06T7/00 350C
(21)【出願番号】P 2020151723
(22)【出願日】2020-09-10
【審査請求日】2023-03-03
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】チャウ マンイウー
(72)【発明者】
【氏名】木谷 光博
(72)【発明者】
【氏名】小池 潤
(72)【発明者】
【氏名】近江 泰志
(72)【発明者】
【氏名】小田 篤史
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2020-020612(JP,A)
【文献】特開2019-125112(JP,A)
【文献】特開2004-028727(JP,A)
【文献】特開2020-126607(JP,A)
【文献】特表2019-526878(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
移動体の周辺の障害物を検知する障害物検知装置であって、
前記障害物検知装置は、
第1のセンサによって取得された第1の画像と、第2のセンサによって取得された第2の画像とから生成される視差画像を用いて、前記移動体と前記移動体の周辺に存在する物体との距離を示す第1の深度表現を生成する第1の深度表現生成部と、
前記第1の画像を所定の機械学習手法によって処理することにより、前記移動体と前記移動体の周辺に存在する物体との距離を示す第2の深度表現を生成する第2の深度表現生成部と、
前記第1の深度表現を第1のポイントクラウドに変換し、
前記第2の深度表現を第2のポイントクラウドに変換し、
所定の物体検出手法によって第1のポイントクラウドにおいて存在する第1の物体を特定し、
前記所定の物体検出手法によって第2のポイントクラウドにおいて存在し、前記第1の物体に対応する第2の物体を特定し、
前記第1の物体と、前記第2の物体とを対応付けて比較することで、前記第1の深度表現と前記第2の深度表現との深度の差分を示す深度差分値を計算し、
前記深度差分値に基づいて、前記第2の深度表現によって示される、前記移動体と前記移動体の周辺に存在する物体との距離を前記第1の深度表現に整合するように補正し、補正した第2の深度表現を生成し、
前記第1の深度表現から、前記移動体から所定の距離未満に存在する物体に関する近距離物体深度情報を抽出し、
前記補正した第2の深度表現から、前記移動体から前記所定の距離以上に存在する物体に関する遠距離物体深度情報を抽出し、
前記近距離物体深度情報と、前記遠距離物体深度情報とを結合することで、
前記第1の深度表現と前記第2の深度表現とに比べて、前記移動体と前記移動体の周辺に存在する物体との距離をより正確に示す結合深度表現を生成する第3の深度表現生成部と、
前記結合深度表現を用いて、前記移動体の周辺の障害物に関する障害物情報を生成し、出力する障害物検出部と、
を含むことを特徴とする障害物検知装置。
【請求項2】
前記障害物検知装置は、
レーザー光を走査し移動体の周辺を照射し、その散乱や反射光を観測することで前記移動体と前記移動体の周辺に存在する物体との距離を示す第4の深度表現を生成するLIDAR(Light Detection and Ranging)部を更に含み、
前記第3の深度表現生成部は、
前記第4の深度表現に基づいて、前記第1の深度表現によって示される、前記移動体と前記移動体の周辺に存在する物体との距離を補正し、補正した第1の深度表現を生成し、
前記深度差分値に基づいて、前記第2の深度表現によって示される、前記移動体と前記移動体の周辺に存在する物体との距離を補正し、
補正した第2の深度表現を生成し、
前記補正した第1の深度表現から、前記移動体から所定の距離未満に存在する物体に関する近距離物体深度情報を抽出し、
前記補正した第2の深度表現から、前記移動体から前記所定の距離以上に存在する物体に関する遠距離物体深度情報を抽出し、
前記近距離物体深度情報と、前記遠距離物体深度情報とを結合することで、前記結合深度表現を生成する、
ことを特徴とする、請求項
1に記載の障害物検知装置。
【請求項3】
前記第1のセンサ及び前記第2のセンサは、
ステレオカメラであり、
前記第1の画像及び前記第2の画像は、前記ステレオカメラによって取得されたステレオ画像であり、
前記第1の深度表現は、
前記ステレオ画像によって生成されるステレオ深度マップである、
ことを特徴とする、請求項1に記載の障害物検知装置。
【請求項4】
前記第3の深度表現生成部は、
前記第1の画像と、前記第2の画像とから生成される視差画像を用いて生成した前記第1の深度表現と、
前記第1の画像を所定の機械学習手法によって処理することによって生成した前記第2の深度表現と、
前記第2の画像を所定の機械学習手法によって処理することによって生成した第3の深度表現と、
を結合することで、前記結合深度表現を生成する、
ことを特徴とする、請求項1に記載の障害物検知装置。
【請求項5】
前記機械学習手法は、
前記第1の画像を入力する入力層と、
前記第1の画像における物体を特徴付けるコンテキスト特徴量を抽出する中間層と、
前記コンテキスト特徴量を用いて、前記第1の画像の画素毎の深度情報を示す前記第1の深度表現を生成し、出力する出力層を含むニューラルネットワークである、
ことを特徴とする、請求項1に記載の障害物検知装置。
【請求項6】
移動体の周辺の障害物を検知する障害物検知システムであって、
前記障害物検知システムにおいて、
前記移動体の周辺を撮影し、第1の画像を取得する第1のセンサと、
前記移動体の周辺を撮影し、第2の画像を取得する第2のセンサと、
障害物を検知する障害物検知装置とが通信ネットワークを介して接続されており、
前記障害物検知装置は、
前記第1のセンサから受信した前記第1の画像と、前記第2のセンサから受信した前記第2の画像とから生成される視差画像を用いて、前記移動体と前記移動体の周辺に存在する物体との距離を示す第1の深度マップを生成する第1の深度表現生成部と、
前記第1の画像を所定の機械学習手法によって処理することにより、前記移動体と前記移動体の周辺に存在する物体との距離を示す第2の深度マップを生成する第2の深度表現生成部と、
前記第1の深度マップを第1のポイントクラウドに変換し、
前記第2の深度マップを第2のポイントクラウドに変換し、
所定の物体検出手法によって第1のポイントクラウドにおいて存在する第1の物体を特定し、
前記所定の物体検出手法によって前記第2のポイントクラウドにおいて存在し、前記第1の物体に対応する第2の物体を特定し、
前記第1の物体と、前記第2の物体とを対応付けて比較することで、前記第1の深度マップと前記第2の深度マップとの深度の差分を示す深度差分値を計算し、
前記深度差分値に基づいて、前記第2の深度マップによって示される、前記移動体と前記移動体の周辺に存在する物体との距離を前記第1の深度マップに整合するように補正し、補正した第2の深度マップを生成し、
前記第1の深度マップから、前記移動体から所定の距離未満に存在する物体に関する近距離物体深度情報を抽出し、
前記補正した第2の深度マップから、前記移動体から前記所定の距離以上に存在する物体に関する遠距離物体深度情報を抽出し、
前記近距離物体深度情報と、前記遠距離物体深度情報とを結合することで、
前記第1の深度マップと前記第2の深度マップとに比べて、前記移動体と前記移動体の周辺に存在する物体との距離をより正確に示す結合深度表現を生成する第3の深度表現生成部と、
前記結合深度表現を用いて、前記移動体の周辺の障害物に関する障害物情報を生成し、所定の通知先に送信する障害物検出部と、
を含むことを特徴とする障害物検知システム。
【請求項7】
移動体の周辺の障害物を検知する障害物検知方法であって、
LIDAR部によって取得され、前記移動体と前記移動体の周辺に存在する物体との距離を示す深度表現としてポイントクラウドを生成する工程と、
第1のセンサによって取得される第1の画像を所定の機械学習手法によって処理することにより、前記移動体と前記移動体の周辺に存在する物体との距離を示す深度表現として深度マップを生成する工程と、
所定の物体検出手法によって前記ポイントクラウドにおいて存在する第1の物体を特定する工程と、
前記所定の物体検出手法によって前記深度マップにおいて存在し、前記第1の物体に対応する第2の物体を特定する工程と、
前記第1の物体と、前記第2の物体とを対応付けて比較することで、前記ポイントクラウドと前記深度マップとの深度の差分を示す深度差分値を計算する工程と、
前記深度差分値に基づいて、前記ポイントクラウド及び前記深度マップによって示される、前記移動体と前記移動体の周辺に存在する物体との距離を互いに整合するように前記ポイントクラウド及び前記深度マップのいずれか一方を補正する工程と、
前記ポイントクラウドと、前記深度マップとを結合することで、前記ポイントクラウドと、前記深度マップとに比べて、前記移動体と前記移動体の周辺に存在する物体との距離をより正確に示す結合深度表現を生成する工程と、
前記結合深度表現を用いて、前記移動体の周辺の障害物に関する障害物情報を生成し、出力する工程と、
を含むことを特徴とする障害物検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害物検知装置、障害物検知システム及び障害物検知方法に関する。
【背景技術】
【0002】
従来、列車の走行安全性を向上させるための技術として、センサを用いた技術が知られている。例えば、物体認識装置として、ミリ波レーダやレーザレーダ等の物体検出センサを列車に搭載し、倒木、動物、車、歩行者等の、列車の走行を阻止する可能性のある障害物を検出する手段が存在する。斯かる物体認識装置は、その物体検出結果に基づいて、列車の走行安全性を向上させるための各種制御を行う。
【0003】
列車の走行を阻止する可能性のある障害物を検出するに当たって、物体の列車からの距離を正確に判定すること(いわゆる「深度判定」)が重要である。従来では、ステレオカメラによって取得した2つのステレオ画像の視差を計算し、当該視差に基づいて画像上の物体の深度判定を行う技術が知られている。しかし、前景の物体によって隠されている背景の物体や、片方の画像にしか映らない物体については、視差を計算することができないため、深度を正確に判定することができない。
【0004】
斯かる課題を解決し、より正確な深度判定を行ういくつかの提案がなされている。
例えば、特表2017-528731(特許文献1)には「本開示は、既知の投影パターンを使用して、ステレオ奥行き検出(又は、カメラに基づく他の奥行き検出)をよりロバストにすることを対象とする。ドットが、キャプチャされた画像において検出され、異なる奥行きにおける既知の投影パターンと比較されて、各奥行きにおける照合信頼度スコアが決定される。信頼度スコアは、サブ画素解像度におけるものであり得る各ドット位置における奥行きを決定するための基礎として使用され得る。信頼度スコアはまた、ドット位置に対応する画素の間にある画素についての奥行き値を見つけ出すために、画素奥行きを補間するための重み等の基礎として使用され得る」技術が記載されている。
また、米国特許出願US9443154B2には、「第1のカメラからの第1の画像フレームおよび第2のカメラからの第2の画像フレームを処理することによって物体を検出するように動作可能な車両に搭載可能なコンピュータ化されたシステム。第1の範囲は、第1の画像フレームを使用して前記検出されたオブジェクトに決定される。画像位置は、第1の画像フレーム内の検出されたオブジェクトの第2の画像フレーム内の画像位置に投影される。第2の範囲は、第1および第2の画像フレームの両方に基づいて、検出されたオブジェクトに対して決定される。検出された物体は、第1および第2の画像フレームの両方で追跡される。検出された物体が第1のカメラの視野を離れると、第2の範囲および第2の画像フレームに応じて第3の範囲が決定される」技術が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特表2017-528731
【文献】米国特許出願US9443154B2
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1は、所定の物体に対して既知の投影パターンを投影した後、2つ以上のカメラを用いてマルチビューステレオ画像を取得し、これらの画像に写る投影パターンの視差に基づいて深度を推定する手段に関する。
また、特許文献2は、可視光カメラによって取得された可視光画像と、赤外線カメラによって取得された赤外線画像とを結合することにより、より正確な物体検出手段を提供することに関する。
【0007】
しかし、特許文献1及び特許文献2はいずれも、ステレオ画像間の視差に基づいた深度判定手法に依存しており、斯かる手法では、近距離の物体については正確な深度判定ができるものの、遠距離の物体については、深度情報の精度が不十分である。
更に、特許文献1に記載の手段では、被写体が動かない、静的な撮影環境を前提としており、列車や自動車等の移動体に適用した場合、移動体と物体の相対的移動により、物体に対して投影された既知の投影パターンが歪められてしまうため、正確な深度判定が困難となる。
従って、列車等の移動体に適用可能であり、かつ、近距離の物体及び遠距離の物体の両方について高精度な深度情報に基づく障害物検出手段が求められている。
【0008】
そこで、本開示は、2種類の深度表現(例えば、ステレオ画像に基づいた深度表現と機械学習手法に基づいた深度表現等)を結合することにより、列車等の移動体に適用可能であり、かつ、近距離の物体及び遠距離の物体の両方について高精度な物体検出が可能な障害物検出手段を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、代表的な本発明の障害物検知装置の一つは、移動体の周辺の障害物を検知する障害物検知装置であって、前記障害物検知装置は、第1のセンサによって取得された第1の画像と、第2のセンサによって取得された第2の画像とから生成される視差画像を用いて、前記移動体と前記移動体の周辺に存在する物体との距離を示す第1の深度表現を生成する第1の深度表現生成部と、前記第1の画像を所定の機械学習手法によって処理することにより、前記移動体と前記移動体の周辺に存在する物体との距離を示す第2の深度表現を生成する第2の深度表現生成部と、前記第1の深度表現と、前記第2の深度表現とを結合することで、前記第1の深度表現と前記第2の深度表現とに比べて、前記移動体と前記移動体の周辺に存在する物体との距離をより正確に示す結合深度表現を生成する第3の深度表現生成部と、前記結合深度表現を用いて、前記移動体の周辺の障害物に関する障害物情報を生成し、出力する障害物検出部と、を含む。
【発明の効果】
【0010】
本発明によれば、2種類の深度表現(例えばステレオ画像に基づいた深度表現と機械学習手法に基づいた深度表現等)を結合することにより、列車等の移動体に適用可能であり、かつ、近距離の物体及び遠距離の物体の両方について高精度な物体検出が可能な障害物検出手段を提供することができる。
上記以外の課題、構成及び効果は、以下の発明を実施するための形態における説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本開示の実施例を実施するためのコンピュータシステムを示す図である。
【
図2】
図2は、本開示の実施例1に係る
障害物検知装置のハードウェア構成を示す図である。
【
図3】
図3は、本開示の実施例1に係る
障害物検知方法の流れの一例を示すフローチャートである。
【
図4】
図4は、本開示の実施例1に係る結合深度表現を生成する処理の一例を示すフローチャートである。
【
図5】
図5は、本開示の実施例1に係るポイントクラウドを用いる処理の具体例を示す図である。
【
図6】
図6は、本開示の実施例1に係る、深度表現を補正する処理の具体例を示す図である。
【
図7】
図7は、本開示の実施例1に係る結合深度表現生成処理におけるバウンディングボックスの具体例を示す図である。
【
図8】
図8は、本開示の実施例2に係る
障害物検知装置のハードウェア構成を示す図である。
【
図9】
図9は、本開示の実施例2に係る
障害物検知方法の流れの一例を示すフローチャートである。
【
図10】
図10は、本開示の実施例2に係る第1の深度表現を補正する処理の一例を示す図である。
【
図11】
図11は、本開示の実施例3に係る結合深度表現を生成する処理の一例を示すフローチャートである。
【
図12】
図12は、本開示の実施例4に係る結合深度表現を生成する処理の一例を示すフローチャートである。
【
図13】
図13は、本開示の実施例5に係る
障害物検知装置のハードウェア構成を示す図である。
【
図14】
図14は、本開示の実施例5に係る
障害物検知方法の流れの一例を示すフローチャートである。
【
図15】
図15は、本開示の実施例5に係る結合深度表現を生成する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、従来例及び本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0013】
上述したように、列車の走行を阻止する可能性のある障害物を検出するに当たって、物体の列車からの距離を正確に判定すること(いわゆる「深度判定」)が重要である。従来では、ステレオカメラによって取得した2つのステレオ画像の視差を計算し、当該視差に基づいて画像上の物体の深度判定を行う技術が知られている。
【0014】
ステレオ画像間の視差に基づいた深度判定において、物体の深度は以下の数式1により求められる。
【数1】
【0015】
数式1において、カメラ間距離が小さいと、深度判定の精度が低下する。一方、カメラ間距離が大きいと、2つのステレオ画像間の画素対応付けが困難となる。これらの制限により、ステレオ画像間の視差に基づいた深度判定の検出範囲が限られてしまい、近距離の物体について正確な深度判定ができるものの、遠距離の物体については、深度判定の精度が不十分である。
【0016】
そこで、上述したように、本開示では、2種類の深度表現(例えばステレオ画像に基づいた深度表現と機械学習手法に基づいた深度表現等)を結合することにより、列車等の移動体に適用可能であり、かつ、近距離の物体及び遠距離の物体の両方について高精度な物体検出が可能な障害物検出手段を提供することができる。ここでの「深度表現」とは、移動体と、当該移動体の周辺に存在する物体との距離(「深度」)を示す情報であり、例えばいわゆる深度マップやポイントクラウド等であってもよい。
【0017】
より具体的には、ここでの機械学習に基づいた深度表現は、例えば、単一画像から抽出した特徴に基づいた深度マップ(depth map)であり、ステレオ画像に基づいた深度表現に比べて検出範囲が広く、遠距離の物体についても、正確な深度情報を示すものである。ここでの深度マップとは、所定の視点から所定の物体までの距離に関する情報を含む画像または画像チャネルである。
また、ステレオ画像に基づいた深度表現は、例えば、2つのステレオ画像間の視差に基づいた深度マップであり、近距離の物体について正確な深度情報を示すものである。
【0018】
このように、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現(以下、「第2の深度表現」及び「第3の深度表現」)と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現(以下、「第1の深度表現」)とを結合することで、撮影画像の全範囲について高精度な物体検出が可能となる。これにより、列車等の移動体の周辺に存在する障害物を正確に検出することができ、走行の安全性を向上させることができる。
【0019】
まず、
図1を参照して、本開示の実施形態を実施するためのコンピュータシステム300について説明する。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム300の主要コンポーネントは、1つ以上のプロセッサ302、メモリ304、端末インターフェース312、ストレージインタフェース314、I/O(入出力)デバイスインタフェース316、及びネットワークインターフェース318を含む。これらのコンポーネントは、メモリバス306、I/Oバス308、バスインターフェースユニット309、及びI/Oバスインターフェースユニット310を介して、相互的に接続されてもよい。
【0020】
コンピュータシステム300は、プロセッサ302と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)302A及び302Bを含んでもよい。ある実施形態では、コンピュータシステム300は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム300は単一のCPUシステムであってもよい。各プロセッサ302は、メモリ304に格納された命令を実行し、オンボードキャッシュを含んでもよい。
【0021】
ある実施形態では、メモリ304は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。メモリ304は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ304は、障害物検出アプリケーション350を格納していてもよい。ある実施形態では、障害物検出アプリケーション350は、後述する機能をプロセッサ302上で実行する命令又は記述を含んでもよい。
【0022】
ある実施形態では、障害物検出アプリケーション350は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、障害物検出アプリケーション350は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス(図示せず)が、バスインターフェースユニット309、プロセッサ302、またはコンピュータシステム300の他のハードウェアと直接通信するように提供されてもよい。
【0023】
コンピュータシステム300は、プロセッサ302、メモリ304、表示システム324、及びI/Oバスインターフェースユニット310間の通信を行うバスインターフェースユニット309を含んでもよい。I/Oバスインターフェースユニット310は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス308と連結していてもよい。I/Oバスインターフェースユニット310は、I/Oバス308を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット312,314,316、及び318と通信してもよい。
【0024】
表示システム324は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置326に提供することができる。また、コンピュータシステム300は、データを収集し、プロセッサ302に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
【0025】
例えば、コンピュータシステム300は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム324は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置326に接続されてもよい。
【0026】
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット312は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス320の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス320及びコンピュータシステム300に対して入力データや指示を入力し、コンピュータシステム300からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス320を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
【0027】
ストレージインタフェース314は、1つ又は複数のディスクドライブや直接アクセスストレージ装置322(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置322は、任意の二次記憶装置として実装されてもよい。メモリ304の内容は、ストレージ装置322に記憶され、必要に応じてストレージ装置322から読み出されてもよい。I/Oデバイスインタフェース316は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース318は、コンピュータシステム300と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク330であってもよい。
【0028】
ある実施形態では、コンピュータシステム300は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム300は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
【実施例1】
【0029】
次に、
図2を参照して、本開示の実施例1に係る
障害物検知装置のハードウェア構成について説明する。
【0030】
図2は、本開示の実施例1に係る
障害物検知装置200のハードウェア構成を示す図である。
図2に示す
障害物検知装置200は、ステレオ画像に基づいた深度表現、機械学習に基づいた深度表現との2種類の深度表現を結合することにより、近距離の物体及び遠距離の物体の両方について高精度な物体検出及び深度判定を行うための装置である。
なお、本実施例では、第1の深度表現、第2の深度表現、及び第3の深度表現を深度マップとした場合を想定して説明するが、本開示はこれに限定されず、移動体と、当該移動体の周辺に存在する物体までの距離を示すものであれば、異なるデータ構造であってもよい。
【0031】
図2に示すように、本開示の実施例1に係る
障害物検知装置200は、第1のセンサ201、第2のセンサ202、第1の深度表現生成部205、第2の深度表現生成部206、及び第3の深度表現生成部210を主に含む。
図2に示す
障害物検知装置200に含まれる第1のセンサ201、第2のセンサ202、第1の深度表現生成部205、第2の深度表現生成部206、及び第3の深度表現生成部210は、一体的に構成され、列車等の移動体に配置されてもよく、分散された構成であってもよい。例えば、ある実施形態では、第1のセンサ201及び第2のセンサ202のみを列車等の移動体に配置し、第1の深度表現生成部205、第2の深度表現生成部206、及び第3の深度表現生成部210の機能を、インターネット等の通信ネットワークを介して移動体に接続されている遠隔のサーバ装置等に実施させてもよい。
なお、ここでの列車等の移動体(図示せず)は、鉄道の運行の単位として編成した車両、自動車、モノレール、飛行機、船舶等、任意の移動体であってもよい。
【0032】
第1のセンサ201及び第2のセンサ202は、列車等の移動体の周辺を継続的に撮影し、画像を取得する撮影装置である。第1のセンサ201及び第2のセンサ202は、互いに所定の距離を開けて配置され、実質的に同一の撮影範囲を撮影するように構成される。また、第1のセンサ201及び第2のセンサ202の種類は、例えば可視光画像を取得するための可視光カメラ、ステレオカメラ、赤外線カメラ等であってもよい。
図2に示すように、第1のセンサ201及び第2のセンサ202は、第1の画像203及び第2の画像204をそれぞれ取得する。この第1の画像203及び第2の画像204は、センサの種類によっては、RGB画像、赤外線画像、ステレオ画像等、任意の形式の画像であってもよいが、本実施例では、第1の画像203及び第2の画像204のそれぞれが単一のステレオ画像とした場合を想定して説明する。
これらの第1の画像203及び第2の画像204は、後述するように、機械学習に基づく深度表現と、ステレオ画像間の視差に基づく深度表現の生成に用いられる。
【0033】
第1の深度表現生成部205は、第1のセンサ201によって取得された第1の画像203と、第2のセンサ202によって取得された第2の画像204とから生成される視差画像を用いて、第1の深度表現208を生成するための機能部である。ここでの視差画像は、既存の手段によって生成されてもよい。
なお、ここでの第1の深度表現208とは、第1の画像203と、第2の画像204との視差から生成される深度表現であるため、遠距離の物体に関する深度情報の精度が限られているが、近距離の物体に関する深度情報の精度が良好である。
【0034】
第2の深度表現生成部206は、第1の画像203を所定の機械学習手法によって処理することにより、第2の深度表現207を生成すると共に、第2の画像204を所定の機械学習手法によって処理することにより、第3の深度表現209を生成するための機能部である。
なお、ここでの第2の深度表現207と、第3の深度表現209とは、第1の画像203と、第2の画像204との視差から生成される第1の深度表現208と異なり、単一の画像に対して所定の機械学習手法を施すことにより得られる深度表現であり、遠距離の物体に関する深度情報の精度が良好である。
【0035】
第3の深度表現生成部210は、第1の深度表現208と、第2の深度表現207及び/又は第3の深度表現209とを結合することで、結合深度表現212を生成するための機能部である。
ここでの結合深度表現212とは、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現である第2の深度表現207及び/又は第3の深度表現209と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現である第1の深度表現208とを結合することで生成され、撮影画像の全範囲について高精度な深度情報を含む深度表現である。
なお、この結合深度表現212は、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現である第2の深度表現207及び第3の深度表現209のいずれか一方と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現である第1の深度表現208との少なくとも2つの深度表現とから生成することができるが、深度判定の精度を更に向上させる観点から、第1の深度表現208と、第2の深度表現207と、第3の深度表現209との3つの深度表現から生成することが望ましい。
【0036】
障害物検出部214とは、第3の深度表現生成部210によって生成される結合深度表現212を用いて、移動体の周辺の障害物に関する障害物情報216を生成し、出力するための機能部である。
ここでの障害物情報216とは、倒木、動物、車、歩行者、火事、水没、レール破断等の、列車の走行を阻止する可能性のある障害物の有無、存在位置、推定移動速度、移動方向、移動体からの距離、カテゴリー(倒木、動物)等、障害物を特徴付ける情報を含む。この障害物情報216は、例えば列車の運行を制御するための遠隔列車運行管理部、列車に内蔵されている列車運行管理部、列車の運転士・乗務員、障害物通知を発した列車とは異なる列車(所定の半径以内の列車等)、又は警察署、消防署、気象庁、企業、機関、団体、個人等、任意の通知先に送信されてもよい。この障害物情報216を受信した通知先は、例えば、列車の運行を制御したり、検出された障害物を処分したりして列車の走行安全性を向上させるための対策を実施してもよい。
【0037】
なお、
障害物検知装置200に含まれるそれぞれの機能部は、
図1に示すコンピュータシステム300における障害物検出アプリケーション350を構成するソフトウエアモジュールであってもよく、独立した専用ハードウェアデバイスであってもよい。また、上記の機能部は、同一のコンピューティング環境に実施されてもよく、分散されたコンピューティング環境に実施されてもよい。
【0038】
以上説明したように構成された障害物検知装置200は、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現(第2の深度表現207及び/又は第3の深度表現209)と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現(第1の深度表現208)とを結合することで、撮影画像の全範囲について高精度な物体検出が可能となる。これにより、列車等の移動体の周辺に存在する障害物を正確に検出することができ、走行の安全性を向上させることができる。
【0039】
次に、
図3を参照して、本開示の実施例1に係る
障害物検知方法について説明する。
【0040】
図3は、本開示の実施例1に係る
障害物検知方法360の流れの一例を示すフローチャートである。
図3に示す
障害物検知方法360は、例えば
図2を参照して説明した障害物検知装置200によって実施され、移動体の周辺に存在する障害物を検出するための処理である。
【0041】
まず、ステップS361、ステップS362では、第1のセンサ及び第2のセンサ(例えば、
図2に示す第1のセンサ201及び第2のセンサ202)のそれぞれは、移動体の周辺を撮影し、第1の画像203及び第2の画像204を取得する。ここでの第1の画像203及び第2の画像204のそれぞれは、移動体の周辺の風景を示す画像である。また、第1の画像203及び第2の画像204は、後述するように、機械学習に基づく深度表現と、ステレオ画像間の視差に基づく深度表現の生成に用いられる。
【0042】
次に、ステップS363では、第1の深度表現生成部(例えば、
図2に示す第1の深度表現生成部205)は、第1の画像203及び第2の画像204のそれぞれを入力し、既存の手法により、第1の画像203と第2の画像204との視差を示す視差画像を生成した後、当該視差画像を用いて第1の深度表現を生成する。ここでの既存の手法とは、例えばエピポーラ幾何学に基づいた手法であってもよい。このように生成した深度表現は、近距離の物体に関する正確な深度情報を含む。
【0043】
次に、ステップS364では、第2の深度表現生成部(例えば、
図2に示す第2の深度表現生成部206)は、第1の画像203及び第2の画像204のそれぞれを入力し、第1の画像203及び第2の画像204のそれぞれに対して所定の機械学習手法を施すことより、第2の深度表現207及び第3の深度表現209を生成する。
ここでの所定の機械学習手法とは、学習用画像と、(例えばいわゆるStructure From Motion;SFM法によって得られた)当該学習用画像に対応する深度マップとによって訓練される畳み込みニューラルネットワークを用いて、第1の画像203及び第2の画像204に写る物体の特徴量を抽出し、抽出した特徴量に基づいて、画像に写る物体の深度を示す深度表現を生成するための手法である。このように生成した深度表現は、ステレオ画像間の視差に基づいて生成した深度表現に比べて、遠距離の物体に関する正確な深度情報を含む。
ここでのニューラルネットワークは、例えば、第1の画像を入力する入力層と、第1の画像における物体を特徴付けるコンテキスト特徴量を抽出する中間層と、当該コンテキスト特徴量を用いて、第1の画像の画素毎の深度情報を示す前記第1の深度表現を生成し、出力する出力層をから構成されてもよい。また、ここでのコンテキスト特徴量とは、所定の物体を特徴付ける情報であり、例えば色、形状、大きさ、クラス等を含む。
【0044】
次に、ステップS365では、第3の深度表現生成部(例えば、
図2に示す第3の深度表現生成部210)は、第1の深度表現208と、第2の深度表現207及び・又は第3の深度表現209とを結合することで、結合深度表現212を生成する。
ここでの結合深度表現212とは、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現である第2の深度表現207及び・又は第3の深度表現209と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現である第1の深度表現208とを結合することで生成され、撮影画像の全範囲について高精度な深度情報を含む深度表現である。
なお、この結合深度表現212は、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現である第2の深度表現207及び第3の深度表現209のいずれか一方と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現である第1の深度表現208との少なくとも2つの深度表現とから生成することができるが、深度判定の精度を更に向上させる観点から、第1の深度表現208と、第2の深度表現207と、第3の深度表現209との3つの深度表現から生成することが望ましい。また、ここでは、結合深度表現212を生成する際に用いられる深度表現の数は特定に限定されず、4つ以上の深度表現を用いてもよい。
【0045】
次に、ステップS366では、障害物検出部(例えば、
図2に示す障害物検出部214)は、第3の深度表現生成部によって生成される結合深度表現212を解析することで、移動体の周辺の障害物に関する障害物情報216を生成し、出力する。上述したように、ここで生成される障害物情報216は、列車の運転士・乗務員、障害物通知を発した列車とは異なる列車(所定の半径以内の列車等)、又は警察署、消防署、気象庁、企業、機関、団体、個人等、任意の通知先に送信されてもよい。
【0046】
以上説明した障害物検知方法360により、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現(第2の深度表現207又は第3の深度表現209)と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現(第1の深度表現208)とを結合することで、撮影画像の全範囲について高精度な物体検出が可能となる。これにより、列車等の移動体の周辺に存在する障害物を正確に検出することができ、走行の安全性を向上させることができる。
【0047】
次に、
図4を参照して、本開示の実施例1に係る結合深度表現を生成する処理について説明する。
【0048】
図4は、本開示の実施例1に係る結合深度表現を生成する処理(結合深度表現生成処理)400の一例を示すフローチャートである。
図4に示す結合深度表現生成処理400は、上述した第3の深度表現生成部(例えば、
図3に示す第3の深度表現生成部210)によって実施される処理である。
【0049】
まず、ステップS401、S402、及びS403では、第3の深度表現生成部は、第1の深度表現208、第2の深度表現207、及び第3の深度表現209のそれぞれを、ポイントクラウドへ変換する。ここでのポイントクラウドとは、深度表現における各深度画素(移動体からの距離を示す深度情報を含む画素;「depth pixel」ともいう)を3次元空間に投影した集合である。例えば、ここでは、いわゆる深度マップである第1の深度表現208、第2の深度表現207、及び第3の深度表現209は、ポイントクラウドへ変換されてもよい。ここで、深度マップをポイントクラウドへ変換することにより、後述するグルーピング処理がより容易となる。
【0050】
次に、ステップS404では、第3の深度表現生成部は、ステップS402で生成された、第1の深度表現208(ステレオ画像間の視差に基づいて生成された深度表現)に対応するポイントクラウドと、ステップS401で生成された、第2の深度表現207(第1の画像に対して所定の機械学習手法を施すことにより生成した深度表現)に対応するポイントクラウドとを比較することにより、第1の深度表現208と第2の深度表現207との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS404では、第3の深度表現生成部は、所定の物体検出アルゴリズム(406)によって定義されるバウンディングボックスの位置に基づいて、それぞれのポイントクラウドの間で対応する物体をグルーピングした後、それぞれのポイントクラウドでのグルーピングの結果を比較することで、第1の深度表現208と第2の深度表現207との深度の差分を示す深度差分値を計算する。なお、この処理の詳細については後述する。
【0051】
次に、ステップS405では、第3の深度表現生成部は、ステップS402で生成された、第1の深度表現208(ステレオ画像間の視差に基づいて生成された深度表現)に対応するポイントクラウドと、ステップS403で生成された、第3の深度表現209(第2の画像に対して所定の機械学習手法を施すことにより生成した深度表現)に対応するポイントクラウドとを比較することにより、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS405では、第3の深度表現生成部は、所定の物体検出アルゴリズム(406)によって定義されるバウンディングボックスの位置に基づいて、それぞれのポイントクラウドの間で対応する物体をグルーピングした後、それぞれのポイントクラウドでのグルーピングの結果を比較することで、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。なお、この処理の詳細については後述する。
【0052】
次に、ステップS407では、第3の深度表現生成部は、ステップS404及びステップS405で計算された差分値を平均化し、補正値を計算する。ここでの補正値とは、それぞれの深度表現のポイントクラウドの深度を整合させるための値であり、後述するS408で用いられる。
【0053】
次に、ステップS408では、第3の深度表現生成部は、ステップS407で計算された補正値に基づいて、第2の深度表現207及び第3の深度表現209を補正することで、補正した第2の深度表現207R及び補正した第3の深度表現209Rを生成する。これにより、第2の深度表現及び第3の深度表現の深度の差分が補正され、第2の深度表現207及び第3の深度表現209の深度が互いに整合することとなる。
【0054】
次に、ステップS409では、第3の深度表現生成部は、補正した第2の深度表現207R及び補正した第3の深度表現209Rから、移動体から所定の距離以上に存在する物体の深度情報を遠距離物体深度情報として抽出する。例えば、ここで、第3の深度表現生成部は、第1の深度表現の視野の範囲外に存在する物体の深度情報を遠距離物体深度情報として抽出してもよい。
【0055】
次に、ステップS410では、第3の深度表現生成部は、第1の深度表現から、移動体から所定の距離未満に存在する物体の深度情報を示す遠距離物体深度情報を抽出する。例えば、ここで、第3の深度表現生成部は、第1の深度表現の視野の範囲内に存在する物体の深度情報を近距離物体深度情報として抽出してもよい。
【0056】
次に、ステップS411では、第3の深度表現生成部は、ステップS409で抽出した遠距離物体深度情報と、ステップS410で抽出した近距離物体深度情報とを結合することで、上述した結合深度表現を生成する。ここで、遠距離物体深度情報と近距離物体深度情報とを結合する手段として、例えばHigh Pass filtering, HIS transform based image fusion, PCA based image fusion, wavelet transform image fusion, pair-wise spatial frequency matching等、任意の既存の手法を用いてもよい。
【0057】
以上説明した結合深度表現生成処理により、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現(第2の深度表現207又は第3の深度表現209)と、近距離の物体に関する正確な深度情報を示すステレオ画像に基づいた深度表現(第1の深度表現208)とを結合することで、撮影画像の全範囲について高精度な深度情報を有する結合深度表現を生成することができる。また、このような高精度な深度情報を有する結合深度表現に基づいて、物体検出を行うことにより、移動体の周辺に存在する障害物等の物体を確実に判定することができ、移動体の走行安全性を向上させることができる。
【0058】
次に、
図5を参照して、本開示の実施例1に係るポイントクラウドを用いる処理の具体例について説明する。
【0059】
図5は、本開示の実施例1に係るポイントクラウドを用いる処理の具体例を示す図である。
図5には、第1の深度表現(ステレオ画像間の視差に基づいて生成された深度表現)に対応するポイントクラウド502と、第2の深度表現(第1の画像に対して所定の機械学習手法を施すことにより生成した深度表現)に対応するポイントクラウド501と、第3の深度表現(第2の画像に対して所定の機械学習手法を施すことにより生成した深度表現)に対応するポイントクラウド503とが示される。これらのポイントクラウド501、502、503は、
図4を参照して説明した結合深度表現生成処理400のS401、S402、S403で生成されるポイントクラウドである。
なお、
図5を参照して説明する具体例は、
図4を参照して説明した結合深度表現生成処理400におけるステップS405、S406に実質的に対応する。
【0060】
上述したように、移動体に設置されている第1のセンサ201及び第2のセンサ202は、設置されている角度によっては、撮影範囲が互いに異なる。そのため、ステレオ画像間の視差に基づいて生成された第1の深度表現に対応するポイントクラウド502と、第1の画像に対して所定の機械学習手法を施すことにより生成した第2の深度表現に対応するポイントクラウド501と、第2の画像に対して所定の機械学習手法を施すことにより生成した第3の深度表現に対応するポイントクラウド503とで、深度の差分が生じると共に、写る物体が異なることがある。
従って、正確な深度情報を取得するためには、ポイントクラウド間の深度の差分を計算し、ポイントクラウドの深度を互いに整合させるための補正を行うことが望ましい。そこで、本実施例では、所定の物体検出アルゴリズムによって定義されるバウンディングボックスを用いて、複数のポイントクラウド間で同一の物体をグルーピング(対応付け)し、これらのグループを比較することでポイントクラウド間の深度差分を計算した後、当該深度差分から得られる補正値を用いてポイントクラウドを補正することで、正確な深度情報を取得することができる。
【0061】
上述したように、第1のセンサ201及び第2のセンサ202の角度や視野のズレ等により、全ての物体が全ての画像・深度表現に写るとは限らない。一例として、第1のセンサ201及び第2のセンサ202によって撮影される場面には、円筒形の第1の障害物と、球体の第2の障害物と、箱型の第3の障害物と、三角形の第4の障害物が実際に存在するとする。ただし、第1のセンサ201及び第2のセンサ202の角度や撮影範囲の制限等により、円筒形の第1の障害物は、ポイントクラウド501において第1の障害物512として写るが、ポイントクラウド502及びポイントクラウド503に写らない。また、三角形の第4の障害物は、ポイントクラウド503において第4の障害物528として写るが、ポイントクラウド501及びポイントクラウド502に写らない。更に、箱型の第3の障害物は、ポイントクラウド501における第3の障害物525として写り、ポイントクラウド503において第3の障害物535として写るが、ポイントクラウド502に写らない(例えば、ステレオカメラの撮影範囲外である)。一方、球体の第2の障害物は、ポイントクラウド501において第2の障害物524として写り、ポイントクラウド502において第2の障害物534として写り、ポイントクラウド503において第2の障害物544として写る。
【0062】
図4を参照して説明した結合深度表現生成処理400のS401、S402、S403で深度表現からポイントクラウドの変換が終了した後、第3の深度表現生成部は、所定の物体検出アルゴリズムによって定義されるバウンディングボックス508を用いて、それぞれのポイントクラウドを互いに比較することで、対応する物体(つまり、同一の物体)をグルーピングする。例えば、ここでは、第3の深度表現生成部は、ポイントクラウド501に写る
第2の障害物524を、ポイントクラウド502に写る
第2の障害物534と、ポイントクラウド503に写る
第2の障害物544と対応付けてグルーピングしてもよい。その後、第3の深度表現生成部は、グルーピングした物体のポイントクラウド間の深度差分を示す差分値を計算する。
なお、ここでのバウンディングボックス508は、ポイントクラウドにおける比較対象の領域の範囲を指定するものであり、バウンディングボックス508のサイズと位置は、例えば電柱や線路等の、鉄道環境に存在するものに基づいて設定されてもよい。このバウンディングボックス508を用いることにより、特定の物体に関する正確な深度情報を取得することができる。また、バウンディングボックス508を用いて比較対象となる領域を制限することで、処理に要するコンピューティング資源を抑えることができる。
【0063】
ポイントクラウド間の深度差分を示す差分値が計算された後、第3の深度表現生成部は、物体事に計算された差分値を平均化し、補正値とする。上述したように、この補正値は、それぞれの深度表現のポイントクラウドの深度を整合させるための値である。
【0064】
次に、
図6を参照して、本開示の実施例1に係る、深度表現を補正する処理の具体例について説明する。
【0065】
図6は、本開示の実施例1に係る、深度表現を補正する処理の具体例を示す図である。
図6に示す具体例は、
図4を参照して説明した結合深度表現生成処理400におけるステップS404~S406で計算された補正値を用いて、深度表現を補正する処理の一例であり、
図4を参照して説明した結合深度表現生成処理400におけるステップS406~S411に実質的に対応する。
【0066】
図6には、第2の深度表現207、第3の深度表現209、第1の深度表現208、及び結合深度表現212が示される。上述したように、第1のセンサ201及び第2のセンサ202の角度や視野のズレ等により、全ての物体が全ての画像・深度表現に写るとは限らない。
一例として、第1のセンサ201及び第2のセンサ202によって撮影される場面には、円筒形の第1の障害物と、球体の第2の障害物と、箱型の第3の障害物と、三角形の第4の障害物が実際に存在するとする。ただし、第1のセンサ201及び第2のセンサ202の角度や撮影範囲の制限等により、円筒形の第1の障害物(605・
615)が第2の深度表現207に写るが、第3の深度表現209及び第1の深度表現208に写らない。
また、三角形の第4の障害物(607・617)が第3の深度表現209に写るが、第1の深度表現208に写らない。更に、箱型の第3の障害物(609・619、629、639)は、第2の深度表現207及び第3の深度表現209に写るが、第1の深度表現208に写らない。一方、球体の第2の障害物(611・621、631・641、651)は、第2の深度表現207、第3の深度表現209、及び第1の深度表現208に写る。
【0067】
上述したように、第3の深度表現生成部は、
図4を参照して説明した結合深度表現生成処理400におけるステップS404~S406で計算された補正値を用いて、深度表現の深度が整合されるための補正を行うことで、補正した深度表現を生成する。
一例として、第3の深度表現生成部は、
図6に示すように、第2の深度表現207において、計算した補正値に基づいて、第1の障害物の深度を605から615に補正し、第2の障害物の深度を611から621に補正し、第3の障害物の深度を609から619に補正する。同様に、第3の深度表現生成部は、
図6に示すように、第3の深度表現209において、計算した補正値に基づいて、第2の障害物の深度を631から641に補正し、第3の障害物の深度を629から639に補正し、第4の障害物の深度を607から617に補正する。これにより、検出された物体の深度情報が修正されている、補正した第2の深度表現及び補正した第3の深度表現(
図4に示す207R、209R)が得られる。
【0068】
第2の深度表現及び第3の深度表現が補正された後、第3の深度表現生成部は、補正した第2の深度表現及び補正した第3の深度表現から、移動体から所定の距離以上に存在する物体の深度情報を遠距離物体深度情報として抽出する。例えば、ここで、第3の深度表現生成部は、第1の深度表現の視野の範囲外に存在する物体の深度情報(例えば、第1の障害物の深度情報、第3の障害物の深度情報)を遠距離物体深度情報として抽出してもよい。次に、第3の深度表現生成部は、第1の深度表現から、移動体から所定の距離未満に存在する物体の深度情報を示す遠距離物体深度情報を抽出する。例えば、ここで、第3の深度表現生成部は、第1の深度表現の視野の範囲内に存在する物体(例えば、第2の障害物)の深度情報を近距離物体深度情報として抽出してもよい。
【0069】
次に、第3の深度表現生成部は、抽出した遠距離物体深度情報及び近距離物体深度情報とを結合することで、結合深度表現212を生成する。この結合深度表現212では、第1の障害物、第2の障害物、第3の障害物、及び第4の障害物が正しい深度(625、655、656、657)で表示される。
【0070】
次に、
図7を参照して、本開示の実施例1に係る結合深度表現生成処理におけるバウンディングボックスについて説明する。
【0071】
図7は、本開示の実施例1に係る結合深度表現生成処理400におけるバウンディングボックスの具体例を示す図である。上述したように、バウンディングボックス508は、
図4~
図5に示すポイントクラウドにおける比較対象の領域の範囲を指定するものであり、バウンディングボックス508のサイズと位置は、例えば電柱や線路等の、鉄道環境に存在するものに基づいて設定されてもよい。
【0072】
図7に示すように、バウンディングボックス508は、深度が異なる物体(例えば、電柱等)に対して設定されてもよい。その後、第3の深度表現生成部は、バウンディングボックスの位置に基づいて、異なる深度範囲における各物体の深度情報を補正するための補正値を計算する。一例として、第3の深度表現生成部は、深度50メートルの物体に基づいて、10メートルから100メートルの深度範囲に存在する物体の深度情報を補正するための第1の補正値を計算し、深度150メートルの物体に基づいて、100メートルから200メートルの深度範囲に存在する物体の深度情報を補正するための第2の補正値を計算してもよい。
【0073】
ここでは、深度情報の補正は、1つ又は複数のバウンディングボックスに基づいて行われてもよい。1つのバウンディングボックスの場合には、深度表現における各深度画素(depth pixel)iについて、当該深度画素iの深度情報を補正するための補正値Δr
iは、以下の数式2によって求められる。
【数2】
ここでは、depth
stereoとは、当該深度画素iの第1の深度表現における深度であり、depth
singleとは、当該深度画素iの第2の深度表現又は第3の深度表現における深度である。
【0074】
従って、深度画素iの深度情報を補正するための補正値Δr
iを求めた後、深度画素iの補正後の深度depth
rは、以下の数式3によって求められる。
【数3】
【0075】
また、2つのバウンディングボックスの場合には、深度表現において異なる深度範囲に存在する2つの物体(例えば、10メートルから100メートルの深度範囲に存在する第1の物体と100メートルから200メートルの深度範囲に存在する第2の物体)の各深度画素(depth pixel)iについて、当該深度画素iの深度情報を補正するための補正値Δr
i(第1の物体の補正値をΔr
1とし、第2の物体の補正値をΔr
2とする)は、以下の数式4によって求められる。
【数4】
【0076】
第1の物体の補正値Δr
1及び第2の物体の補正値Δr
2を求めた後、異なる深度範囲での補正値の割合εは、以下の数式5によって求められる。
【数5】
【0077】
従って、補正値の割合εを求めた後、深度画素iの補正後の深度depth
rは、以下の数式6によって求められる。
【数6】
【0078】
例えば、一例として、第3の深度表現生成部は、深度50メートルの第1の物体について、補正値Δr1が「-10」メートルであると判定し、深度150メートルの第2の物体について、補正値Δr2が「-30」メートルであると判定した場合、補正値の割合εが「-0.2」となる。従って、第2の深度表現又は第3の深度表現において深度300メートルの物体の補正後の深度depthrは240となる(300*(1-0.2))。
【実施例2】
【0079】
次に、
図8を参照して、本開示の実施例2に係る
障害物検知装置のハードウェア構成について説明する。
【0080】
図8は、本開示の実施例2に係る
障害物検知装置800のハードウェア構成を示す図である。
図8に示す
障害物検知装置800は、
図2に示す
障害物検知装置200の構成に加えて、LIDAR(Light Detection and Ranging)部814を含む。
このLIDAR部814を用いることにより、移動体の周辺に存在する物体についてより高精度の深度情報を有するポイントクラウド816(「第4の深度表現」ともいう)を取得することができるため、ステレオ画像間の視差に基づいて生成された深度表現である第1の深度表現208を、このポイントクラウド816に基づいて補正することにより、実施例1に示す
障害物検知装置200に比べて、更に高精度の障害物検出が可能となる。
なお、本実施例では、第1の深度表現、第2の深度表現、及び第3の深度表現を深度マップとした場合を想定して説明するが、本開示はこれに限定されず、移動体と、当該移動体の周辺に存在する物体までの距離を示すものであれば、異なるデータ構造であってもよい。
【0081】
実施例2に係る障害物検知装置800は、ポイントクラウド816を生成するLIDAR部814を含む点以外、実施例1に係る障害物検知装置200と実質的に同様であるため、ここでは、共通の構成についての説明を省略する。
【0082】
図8に示すように、LIDAR部814は、第1のセンサ201及び第2のセンサ202と共に設置される。ステレオ画像間の視差に基づいて生成された深度表現である第1の深度表現208を、LIDAR部814によって出力されるポイントクラウド816に基づいて補正することで、更に高精度の深度情報を有する、補正した第1の深度表現を生成することが容易となる。
【0083】
次に、
図9を参照して、本開示の実施例2に係る
障害物検知方法について説明する。
【0084】
図9は、本開示の実施例2に係る
障害物検知方法960の流れの一例を示すフローチャートである。
図9に示す
障害物検知方法960は、例えば
図8を参照して説明した
障害物検知装置800によって実施され、移動体の周辺に存在する障害物を検出するための処理である。
なお、
図9に示す
障害物検知方法960は、LIDAR部によって取得したポイントクラウドを用いてステレオ画像間の視差に基づいて生成された深度表現である第1の深度表現を補正する点において、上述した
図3に示す
障害物検知方法360と相違する。この点以外、
図9に示す
障害物検知方法960は上述した
図3に示す
障害物検知方法360と実質的に同様であるため、ここでは、共通のステップについての説明を省略する。
【0085】
ステップS961では、LIDAR部は、レーザー光を走査し移動体の周辺を照射し、その散乱や反射光を観測することで、移動体周辺環境を示すポイントクラウド816を出力する。上述したように、ここでのポイントクラウド816は、LIDAR部によって取得された移動体周辺の対象物までの距離を示す3次元空間上の深度情報の集合である。
なお、対象物ごとの深度情報の数、分解能は、レーザー光をどのぐらいの間隔で走査するかといった走査方法で決定される。
【0086】
ステップS962では、第1の深度表現生成部は、第1の画像203及び第2の画像204のそれぞれを入力し、既存の手法により、第1の画像203と第2の画像204との視差を示す視差画像を生成した後、当該視差画像を用いて第1の深度表現を生成する。その後、第1の深度表現生成部は、当該第1の深度表現を、ステップS961で生成されたポイントクラウドに基づいて補正することで、補正した第1の深度表現を生成する。
なお、ポイントクラウドに基づいて第1の深度表現を補正する処理の詳細については後述する。
【0087】
補正した第1の深度表現が生成された後、第3の深度表現生成部は、補正した第1の深度表現208と、第2の深度表現207又は第3の深度表現209とを結合することで、結合深度表現212を生成する。
このように、ステレオ画像間の視差に基づいて生成された深度表現である第1の深度表現を、このポイントクラウド816に基づいて補正することにより、実施例1に比べて、更に高精度の障害物検出が可能となる。
【0088】
次に、
図10を参照して、本開示の実施例2に係る第1の深度表現を補正する処理について説明する。
【0089】
図10は、本開示の実施例2に係る第1の深度表現208を補正する処理の一例を示す図である。第1の深度表現208を補正する処理は、例えば
図8に示す第1の深度表現生成部205によって実施され、更に高精度の深度情報を有する深度表現を生成するための処理である。
【0090】
図10には、第1の深度表現208が示される。第1の深度表現生成部は、第1の深度表現208における各ポイント(例えば、物体の画素や頂点等)1001について、当該ポイントに対応する(例えば、所定の距離基準未満の)ポイントをポイントクラウド(例えば、
図8に示す、LIDAR部814によって生成されたポイントクラウド816)において特定し、深度表現208のポイント1001とポイントクラウドのポイントとの深度の差分を示す差分値を計算する。
その後、第1の深度表現生成部は、各ポイントについて計算した差分値を平均化し、補正値とする。最後に、第1の深度表現生成部は、計算した補正値に基づいて、深度表現208の各ポイント1001を正しい深度1002に移動させることで、補正した第1の深度表現を生成する。
これにより、実施例1に比べて、更に高精度の深度情報を有する深度表現を生成することができるため、より高精度の障害物検出が可能となる。
【0091】
次に、
図11を参照して、本開示の実施例3に係る結合深度表現を生成する処理について説明する。
【0092】
図11は、本開示の実施例3に係る結合深度表現を生成する処理(結合深度表現生成処理)1100の一例を示すフローチャートである。
図11に示す結合深度表現生成処理1100は、上述した第3の深度表現生成部(例えば、
図3に示す第3の深度表現生成部210)によって実施される処理である。
図11に示す結合深度表現生成処理1100は、第1の深度表現208、第2の深度表現207、及び第3の深度表現209をポイントクラウドに変換せず、深度表現に対して直接にグルーピングを行う点において、上述した実施例1における結合深度表現生成処理
400と異なる。このように、第1の深度表現208、第2の深度表現207、及び第3の深度表現209をポイントクラウドに変換する処理を省略することにより、実施例1に比べてコンピューティング資源を節約することができる。ただし、バウンディングボックスの形式が2次元となるため、3次元のバウンディングボックスによるグルーピングができない。
【0093】
また、本実施例では、第1の深度表現、第2の深度表現、及び第3の深度表現を深度マップとした場合を想定して説明するが、本開示はこれに限定されず、移動体と、当該移動体の周辺に存在する物体までの距離を示すものであれば、異なるデータ構造であってもよい。
なお、第1の深度表現208、第2の深度表現207、及び第3の深度表現209をポイントクラウドに変換する処理を省略する点以外、実施例3に係る示す結合深度表現生成処理1100は、実施例1に係る示す結合深度表現生成処理400と実質的に同様であるため、ここでは、共通のステップについての説明を省略する。
【0094】
ステップS1104では、第3の深度表現生成部は、第1の深度表現208(ステレオ画像間の視差に基づいて生成された深度表現)と、第2の深度表現207(第1の画像に対して所定の機械学習手法を施すことにより生成した深度表現)とを比較することにより、第1の深度表現208と第2の深度表現207との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS1104では、第3の深度表現生成部は、所定の物体検出アルゴリズム(406)によって定義されるバウンディングボックスの位置に基づいて、それぞれの深度表現の間で対応する物体をグルーピングした後、それぞれの深度表現でのグルーピングの結果を比較することで、第1の深度表現208と第2の深度表現207との深度の差分を示す深度差分値を計算する。なお、この処理の詳細は、
図4~6を参照して説明したため、ここでは省略する。
【0095】
次に、ステップS1105では、第3の深度表現生成部は、第1の深度表現208(ステレオ画像間の視差に基づいて生成された深度表現)と、第3の深度表現209(第2の画像に対して所定の機械学習手法を施すことにより生成した深度表現)とを比較することにより、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS1105では、第3の深度表現生成部は、所定の物体検出アルゴリズム(406)によって定義されるバウンディングボックスの位置に基づいて、それぞれの深度表現の間で対応する物体をグルーピングした後、それぞれの深度表現でのグルーピングの結果を比較することで、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。なお、この処理の詳細は、
図4~6を参照して説明したため、ここでは省略する。
【0096】
このように、第1の深度表現208、第2の深度表現207、及び第3の深度表現209をポイントクラウドに変換する処理を省略し、深度表現に対して直接にグルーピングを行うことにより、実施例1に比べてコンピューティング資源を節約することができる。
【0097】
次に、
図12を参照して、本開示の実施例4に係る結合深度表現を生成する処理について説明する。
【0098】
図12は、本開示の実施例4に係る結合深度表現を生成する処理(結合深度表現生成処理)1200の一例を示すフローチャートである。
図12に示す結合深度表現生成処理1200は、上述した第3の深度表現生成部(例えば、
図3に示す第3の深度表現生成部210)によって実施される処理である。
図12に示す結合深度表現生成処理1200は、バウンディングボックスによるグルーピングの代わりに、最近傍探索法を用いてグルーピングを行う点において、上述した実施例1における結合深度表現生成処理
400と異なる。バウンディングボックスによるグルーピングの代わりに、最近傍探索法を用いてグルーピングを行うことにより、2次元及び3次元のデータを対応しつつ、実施例1に比べてコンピューティング資源を節約することができる。
最近傍探索(英: Nearest neighbor search, NNS)は、ポイントクラウド等のような距離空間における最も近い点を探す解法であり、線形探索や空間分割等の手法を含む。
【0099】
また、本実施例では、第1の深度表現、第2の深度表現、及び第3の深度表現を深度マップとした場合を想定して説明するが、本開示はこれに限定されず、移動体と、当該移動体の周辺に存在する物体までの距離を示すものであれば、異なるデータ構造であってもよい。
なお、
図12に示す結合深度表現生成処理1200は、バウンディングボックスによるグルーピングの代わりに、最近傍探索法を用いてグルーピングを行う点以外、実施例4に係る示す結合深度表現生成処理1200は、実施例1に係る示す結合深度表現生成処理400と実質的に同様であるため、ここでは、共通のステップについての説明を省略する。
【0100】
ステップS1204では、第3の深度表現生成部は、ステップS402で生成された、第1の深度表現208(ステレオ画像間の視差に基づいて生成された深度表現)に対応するポイントクラウドと、ステップS401で生成された、第2の深度表現207(第1の画像に対して所定の機械学習手法を施すことにより生成した深度表現)に対応するポイントクラウドとを比較することにより、第1の深度表現208と第2の深度表現207との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS1204では、第3の深度表現生成部は、第1の深度表現208に対応するポイントクラウドと、第2の深度表現207に対応するポイントクラウドとに対して最近傍探索法を施すことにより、これらのポイントクラウド間で最も近い点をグルーピングし、このグルーピングの結果を比較することで、第1の深度表現208と第2の深度表現207との深度の差分を示す深度差分値を計算する。
【0101】
次に、ステップS1205では、第3の深度表現生成部は、ステップS402で生成された、第1の深度表現208(ステレオ画像間の視差に基づいて生成された深度表現)に対応するポイントクラウドと、ステップS403で生成された、第3の深度表現209(第2の画像に対して所定の機械学習手法を施すことにより生成した深度表現)に対応するポイントクラウドとを比較することにより、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS1205では、第3の深度表現生成部は、第1の深度表現208に対応するポイントクラウドと、第3の深度表現209に対応するポイントクラウドとに対して最近傍探索法を施すことにより、これらのポイントクラウド間で最も近い点をグルーピングし、このグルーピングの結果を比較することで、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。
【0102】
以上説明した実施例4に係る結合深度表現生成処理1200によれば、バウンディングボックスによるグルーピングの代わりに、最近傍探索法を用いてグルーピングを行うことにより、2次元及び3次元のデータを対応しつつ、実施例1に比べてコンピューティング資源を節約することができる。
【0103】
次に、
図13を参照して、本開示の実施例5に係る
障害物検知装置のハードウェア構成について説明する。
【0104】
図13は、本開示の実施例5に係る
障害物検知装置1300のハードウェア構成を示す図である。
図13に示す
障害物検知装置1300は、ステレオ画像間の視差に基づいて生成された深度表現である第1の深度表現を生成するための第1の深度表現生成部を省略し、LIDAR部814から出力されるポイントクラウド1310を第1の深度表現の代わりに用いる点において、実施例2に係る
障害物検知装置800の構成と異なる。
LIDAR部814から出力されるポイントクラウド1310を第1の深度表現の代わりに用いることにより、遠距離の物体についての深度情報の精度が限られている、ステレオ画像間の視差に基づいて生成された深度表現が不要となり、更に高精度の障害物検出が可能となる。
なお、本実施例では、第2の深度表現及び第3の深度表現を深度マップとした場合を想定して説明するが、本開示はこれに限定されず、移動体と、当該移動体の周辺に存在する物体までの距離を示すものであれば、異なるデータ構造であってもよい。
【0105】
なお、実施例5に係る障害物検知装置1300は、LIDAR部814から出力されるポイントクラウド1310を第1の深度表現の代わりに用いる点以外、実施例2に係る障害物検知装置800と実質的に同様であるため、ここでは、共通の構成についての説明を省略する。
【0106】
次に、
図14を参照して、本開示の実施例5に係る
障害物検知方法について説明する。
【0107】
図14は、本開示の実施例5に係る
障害物検知方法1460の流れの一例を示すフローチャートである。
図14に示す
障害物検知方法1460は、例えば
図13を参照して説明した
障害物検知装置1300によって実施され、移動体の周辺に存在する障害物を検出するための処理である。
なお、
図14に示す
障害物検知方法1460は、LIDAR部から出力されるポイントクラウド1310を第1の深度表現の代わりに用いる点において、上述した
図3に示す
障害物検知方法360と相違する。この点以外、
図14に示す
障害物検知方法1460は上述した
図3に示す
障害物検知方法360と実質的に同様であるため、ここでは、共通のステップについての説明を省略する。
【0108】
ステップS1461では、LIDAR部は、移動体の周辺を撮影し、撮影した場面を示すポイントクラウド1310を出力する。上述したように、ここでのポイントクラウド1310は、LIDAR部によって取得された移動体周辺の対象物までの距離を示す3次元空間上の深度情報の集合である。
【0109】
ステップS1462では、第3の深度表現生成部(例えば、
図13に示す第3の深度表現生成部210)は、ポイントクラウド1310、第2の深度表現207又は第3の深度表現209とを結合することで、結合深度表現212を生成する。
ここでの結合深度表現212とは、遠距離の物体に関する正確な深度情報を示す機械学習に基づいた深度表現である第2の深度表現207及び・又は第3の深度表現209と、ステレオ画像間の視差に基づいて生成された深度表現より高精度の深度情報を有するポイントクラウドとから生成されるため、例えば実施例1に比べて更に高精度の障害物検出が可能となる。
【0110】
次に、
図15を参照して、本開示の実施例5に係る結合深度表現を生成する処理について説明する。
【0111】
図15は、本開示の実施例5に係る結合深度表現を生成する処理(結合深度表現生成処理)1500の一例を示すフローチャートである。
図15に示す結合深度表現生成処理1500は、上述した第3の深度表現生成部(例えば、
図13に示す第3の深度表現生成部210)によって実施される処理である。
図15に示す結合深度表現生成処理1500は、LIDAR部から出力されるポイントクラウド1310を第1の深度表現の代わりに用いる点において、上述した
図4に示す結合深度表現生成処理400と相違する。この点以外、
図15に示す結合深度表現生成処理1500は上述した
図4に示す結合深度表現生成処理400と実質的に同様であるため、ここでは、共通のステップについての説明を省略する。
【0112】
ステップS1504では、第3の深度表現生成部は、LIDAR部から出力されるポイントクラウド1310と、第2の深度表現207(第1の画像に対して所定の機械学習手法を施すことにより生成した深度表現)とを比較することにより、LIDAR部のポイントクラウド1310と第2の深度表現207との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS1504では、第3の深度表現生成部は、所定の物体検出アルゴリズム(406)によって定義されるバウンディングボックスの位置に基づいて、それぞれのポイントクラウドの間で対応する物体をグルーピングした後、それぞれのポイントクラウドでのグルーピングの結果を比較することで、LIDAR部のポイントクラウド1310と第2の深度表現207との深度の差分を示す深度差分値を計算する。なお、この処理の詳細は、
図4~6を参照して説明したため、ここでは省略する。
【0113】
次に、ステップS1505では、第3の深度表現生成部は、LIDAR部から出力されるポイントクラウド1310と、第3の深度表現209(第2の画像に対して所定の機械学習手法を施すことにより生成した深度表現)とを比較することにより、LIDAR部のポイントクラウド1310と第3の深度表現209との深度の差分を示す深度差分値を計算する。
より具体的には、ステップS1505では、第3の深度表現生成部は、所定の物体検出アルゴリズム(406)によって定義されるバウンディングボックスの位置に基づいて、それぞれのポイントクラウドの間で対応する物体をグルーピングした後、それぞれのポイントクラウドでのグルーピングの結果を比較することで、第1の深度表現208と第3の深度表現209との深度の差分を示す深度差分値を計算する。なお、この処理の詳細は、
図4~6を参照して説明したため、ここでは省略する。
【0114】
このように、LIDAR部814から出力されるポイントクラウド1310を第1の深度表現の代わりに用いることにより、遠距離の物体についての深度情報の精度が限られている、ステレオ画像間の視差に基づいて生成された深度表現が不要となり、例えば上述した実施例1に比べて更に高精度の障害物検出が可能となる。
【0115】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0116】
200 障害物検知装置
201 第1のセンサ
202 第2のセンサ
203 第1の画像
204 第2の画像
205 第1の深度表現生成部
206 第2の深度表現生成部
207 第2の深度表現
208 第1の深度表現
209 第3の深度表現
210 第3の深度表現生成部
212 結合深度表現
214 障害物検出部
216 障害物情報