(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-18
(45)【発行日】2022-11-29
(54)【発明の名称】障害物検知装置
(51)【国際特許分類】
G01B 11/00 20060101AFI20221121BHJP
G01C 3/06 20060101ALI20221121BHJP
【FI】
G01B11/00 A
G01C3/06 140
(21)【出願番号】P 2019112244
(22)【出願日】2019-06-17
【審査請求日】2021-09-22
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002907
【氏名又は名称】弁理士法人イトーシン国際特許事務所
(72)【発明者】
【氏名】若杉 智和
【審査官】櫻井 仁
(56)【参考文献】
【文献】特開平10-285582(JP,A)
【文献】再公表特許第2011/078264(JP,A1)
【文献】特開平10-143245(JP,A)
【文献】特開2019-066333(JP,A)
【文献】特開2014-142241(JP,A)
【文献】特開2018-189510(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G01C 3/06
G05D 1/00- 1/12
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
移動体に設けられたセンサにより得られる撮影画像に基づき、前記移動体外部に存在する障害物を検知する障害物検知装置であって、
前記撮影画像から複数の特徴点を検出し、それぞれの前記特徴点について、三次元点の位置である三次元座標を推定する三次元点検出部と、
検出された複数の前記三次元点からなる三次元点群を蓄積する三次元点群蓄積部と、
前記三次元点群から、前記三次元座標が誤推定されている前記三次元点をノイズ点として検出し除去するノイズ点除去部と、
を有
し、
前記ノイズ点除去部は、一の前記三次元点をノイズ候補点として抽出し、前記三次元点群を前記撮影画像に投影した際に、前記撮影画像において前記ノイズ候補点の投影位置を中心とする所定の領域内に投影された一つ以上の前記三次元点である判定対象三次元点を抽出し、前記ノイズ候補点の前記センサからの距離と、前記判定対象三次元点の前記センサからの平均距離とを比較し、前記ノイズ候補点がノイズ点であるか否かを判定する、障害物検知装置。
【請求項2】
前記ノイズ点除去部は、前記ノイズ候補点の前記センサからの距離と前記判定対象三次元点の前記センサからの平均距離との差を、前記平均距離で割った評価値が、所定の閾値より大きい場合に前記ノイズ候補点がノイズ点であると判定することを特徴とする、請求項
1に記載の障害物検知装置。
【請求項3】
前記ノイズ点が除去された前記三次元点群を用いて前記障害物を特定する障害物特定部を更に有することを特徴とする、請求項
1に記載の障害物検知装置。
【請求項4】
前記ノイズ点除去部は、前記三次元点群を前記撮影画像に投影した投影画像において、前記三次元点群の前記センサからの距離についての第一積分画像と、前記三次元点群の数についての第二積分画像とを作成し、前記第一積分画像と前記第二積分画像とを用いて前記判定対象三次元点の前記センサからの平均距離を算出することを特徴とする、請求項
1に記載の障害物検知装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、障害物検知装置に関する。
【背景技術】
【0002】
近年、例えば、ステレオカメラを車両などの移動体に搭載し、このカメラから一定間隔で出力される画像に基づいて障害物を検出し、当該障害物との接触を回避するように車両の走行に係る自動制御を行って運転の支援をするようなシステム(安全運転システム)が実用化されつつある。
【0003】
このような安全運転システムを用いて移動体の制御を行う場合、障害物を精度よく検出することが重要となる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本実施形態は、障害物を精度よく検出することができる、障害物検知装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本実施形態の障害物検知装置は、移動体に設けられたセンサにより得られる撮影画像に基づき、前記移動体外部に存在する障害物を検知する障害物検知装置であって、前記撮影画像から複数の特徴点を検出しそれぞれの前記特徴点について三次元点の位置である三次元座標を推定する三次元点検出部と、検出された複数の前記三次元点からなる三次元点群を蓄積する三次元点群蓄積部と、前記三次元点群から前記三次元座標が誤推定されている前記三次元点をノイズ点として検出し除去するノイズ点除去部と、を有する。
前記ノイズ点除去部は、一の前記三次元点をノイズ候補点として抽出し、前記三次元点群を前記撮影画像に投影した際に、前記撮影画像において前記ノイズ候補点の投影位置を中心とする所定の領域内に投影された一つ以上の前記三次元点である判定対象三次元点を抽出し、前記ノイズ候補点の前記センサからの距離と、前記判定対象三次元点の前記センサからの平均距離とを比較し、前記ノイズ候補点がノイズ点であるか否かを判定する。
【図面の簡単な説明】
【0007】
【
図1】本実施形態に係わる障害物検知装置を搭載する移動体100の一例を示す図。
【
図2】本実施形態に係わる障害物検知装置を含む、移動体100の構成の一例を示すブロック図。
【
図3】移動体100に搭載された画像処理装置10の一例を示すブロック図。
【
図4】画像処理装置10における、障害物検知装置に係わる構成の一例を示す概略ブロック図。
【
図5】画像テンプレートマッチングと三角測量を用いた三次元座標計算の説明図。
【
図6】画像テンプレートマッチングと三角測量を用いた三次元座標計算の説明図。
【
図7】ノイズ点発生のメカニズムの一例を説明する図。
【
図8】ノイズ点発生のメカニズムの一例を説明する図。
【
図9】第1の実施形態に係わる三次元点群からノイズ点を除去する手順を説明するフローチャート。
【
図12】第2の実施形態に係わる三次元点群からノイズ点を除去する手順を説明するフローチャート。
【
図13】積分画像による評価領域内の値の総和計算手順を説明する図。
【発明を実施するための形態】
【0008】
以下、図面を参照して実施形態を説明する。
(第1の実施形態)
図1は、本実施形態に係わる障害物検知装置を搭載する移動体100の一例を示す図である。
【0009】
移動体100は、画像処理装置10と、出力部100Aと、センサ100Bと、動力制御部100Gと、動力部100Hと、を備える。
【0010】
移動体100は、移動可能な物体である。移動体100は、例えば、車両(自動二輪車、自動四輪車、自転車)、台車、ロボット、船舶、飛翔体(飛行機、無人航空機(UAV:Unmanned Aerial Vehicle)など)である。移動体100は、例えば、人による運転操作を介して走行する移動体や、人による運転操作を介さずに自動的に走行(自律走行)可能な移動体である。自律走行可能な移動体は、例えば、自動運転車両である。本実施形態の移動体100は、自律走行可能であり、かつ、人による運転操作も可能な車両を一例として説明する。
【0011】
出力部100Aは、各種情報を出力する。例えば出力部100Aは、各種処理による出力情報を出力する。
【0012】
出力部100Aは、例えば、出力情報を送信する通信機能、出力情報を表示する表示機能、出力情報を示す音を出力する音出力機能、などを備える。例えば、出力部100Aは、通信部100Dと、ディスプレイ100Eと、スピーカ100Fと、を含む。
【0013】
通信部100Dは、外部装置と通信する。通信部100Dは、VICS(登録商標)通信回路やダイナミックマップ通信回路である。通信部100Dは、出力情報を外部装置へ送信する。また、通信部100Dは、道路情報などを外部装置から受信する。道路情報は、信号、標識、周囲の建物、各車線の道幅、レーン中心線などである。道路情報は、画像処理装置10内に設けたRAM、ROMといったメモリ10b内に記憶されても、移動体内に別に設けたメモリ内に記憶してもよい。なお、メモリ10bは、後述する
図3における画像処理装置10の説明において、具体的な構成を詳述する。
【0014】
ディスプレイ100Eは、出力情報を表示する。ディスプレイ100Eは、例えば、公知のLCD(Liquid Crystal Display)や投影装置やライトなどである。スピーカ100Fは、出力情報を示す音を出力する。
【0015】
センサ100Bは、移動体100の走行環境を取得するセンサである。走行環境は、例えば、移動体100の観測情報や、移動体100の周辺情報である。センサ100Bは、例えば、外界センサや内界センサである。
【0016】
内界センサは、観測情報を観測するセンサである。観測情報は、例えば、移動体100の加速度、移動体100の速度、移動体100の角速度(ヨー軸角速度)を含む。
【0017】
内界センサは、例えば、慣性計測装置(IMU:Inertial Measurement Unit)、加速度センサ、速度センサ、ロータリエンコーダ、ヨーレートセンサ、などである。IMUは、移動体100の三軸加速度および三軸角速度を含む観測情報を観測する。
【0018】
外界センサは、移動体100の周辺情報を観測する。外界センサは、移動体100に搭載されていてもよいし、該移動体100の外部(例えば、他の移動体や外部装置など)に搭載されていてもよい。
【0019】
周辺情報は、移動体100の周辺の状況を示す情報である。移動体100の周辺とは、該移動体100から予め定めた範囲内の領域である。この範囲は、外界センサの観測可能な範囲である。この範囲は、予め設定すればよい。
【0020】
周辺情報は、例えば、移動体100の周辺の撮影画像および距離情報などである。なお、周辺情報は、移動体100の位置情報を含んでいてもよい。撮影画像は、撮影によって得られる撮影画像データである(以下、単に、撮影画像と称する場合がある)。距離情報は、移動体100から対象までの距離を示す情報である。対象は、外界における、外界センサによって観測可能な箇所である。位置情報は、相対位置であってもよいし、絶対位置であってもよい。
【0021】
外界センサは、例えば、撮影によって撮影画像を得る撮影装置(カメラ)、距離センサ(ミリ波レーダ、レーザセンサ、距離画像センサ)、位置センサ(GNSS(Global Navigation Satellite System)、GPS(Global Positioning System)、無線通信装置)などである。
【0022】
撮影画像は、画素ごとに画素値を規定したデジタル画像データや、画素毎にセンサ100Bからの距離を規定したデプスマップ(距離画像)などである。レーザセンサは、例えば、水平面に対して平行に設置された二次元LIDAR(Laser Imaging Detection and Ranging)センサや、三次元LIDARセンサである。
【0023】
動力制御部100Gは、動力部100Hを制御する。動力部100Hは、移動体100に搭載された、駆動するデバイスである。動力部100Hは、例えば、エンジン、モータ、車輪、などである。
【0024】
動力部100Hは、動力制御部100Gの制御によって駆動する。本実施形態の移動体100は、自律走行可能であるので、動力制御部100Gは、画像処理装置10で生成された出力情報や、センサ100Bから得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角などの制御を行う。すなわち、移動体100の前方に検出された障害物が移動体100に衝突する可能性がある場合には、動力部100Hを制御して、移動体100と障害物との接触を回避させる。
【0025】
次に、移動体100の電気的構成について詳細に説明する。
図2は、本実施形態に係わる障害物検知装置を含む、移動体100の構成の一例を示すブロック図である。
【0026】
移動体100は、画像処理装置10と、出力部100Aと、センサ100Bと、動力制御部100Gと、動力部100Hと、を備える。出力部100Aは、上述したように、通信部100Dと、ディスプレイ100Eと、スピーカ100Fと、を含む。本実施形態の障害物検知装置1は、画像処理装置10を含んで構成される。
【0027】
画像処理装置10、出力部100A、センサ100B、および動力制御部100Gは、バス100Iを介して接続されている。動力部100Hは、動力制御部100Gに接続されている。
【0028】
なお、出力部100A(通信部100D、ディスプレイ100E、スピーカ100F)、センサ100B、および動力制御部100G、の少なくとも1つは、有線または無線で画像処理装置10に接続すればよい。また、出力部100A(通信部100D、ディスプレイ100E、スピーカ100F)、センサ100B、および動力制御部100Gの少なくとも1つと、画像処理装置10とを、ネットワークを介して接続してもよい。
【0029】
図3は、移動体100に搭載された画像処理装置10の一例を示すブロック図である。画像処理装置10は、I/F10c、メモリ10b、プロセッサ10aを含む。
【0030】
I/F10cは、他のシステムとのネットワーク(N/W)等に接続されている。また、I/F10cは、通信部100Dとの間の情報の送受信を司る。I/F10cを介して、人などの認識された対象の情報、認識された対象までの距離の情報が出力される。
【0031】
メモリ10bは、各種データを記憶する。メモリ10bは、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、メモリ10bは、画像処理装置10の外部に設けてもよい。ROMは、プロセッサ10aによって実行されるプログラムや必要なデータを保持する。RAMは、プロセッサ10aの作業領域として機能する。また、メモリ10bは、移動体100の外部に設けてもよい。例えば、メモリ10bを、クラウド上に設置されたサーバ装置に配置してもよい。
【0032】
また、メモリ10bは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、メモリ10bを、複数の記憶媒体から構成してもよい。
【0033】
プロセッサ10aにおける各処理機能は、コンピュータによって実行可能なプログラムの形態でメモリ10bへ記憶されている。プロセッサ10aは、プログラムをメモリ10bから読出、実行することで、各プログラムに対応する機能部を実現するプロセッサである。
【0034】
なお、各機能の各々を実現するための独立した複数のプロセッサを組み合わせて処理回路10eを構成してもよい。この場合、各プロセッサがプログラムを実行することにより各機能を実現する。また、各処理機能がプログラムとして構成され、1つの処理回路10eが各プログラムを実行してもよいし、専用回路として画像処理アクセラレータ10dを設け、特定の機能が独立したプログラム実行回路に実装してもよい。
【0035】
プロセッサ10aは、メモリ10bに保存されたプログラムを読み出し実行することで機能を実現する。なお、メモリ10bにプログラムを保存する代わりに、プロセッサをFPGAなどで構成し、回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
【0036】
図4は、画像処理装置10の構成の一例を示す概略ブロック図である。
図4には、障害物検知装置に係わる構成のみを図示している。画像処理装置10は、画像処理部11と、障害物特定部12とから構成されている。
【0037】
画像処理部11は、センサ100Bに含まれているカメラに関し、3次元空間での姿勢(以下、カメラ姿勢と示す)を推定する。また、カメラ前方の障害物を3次元点群として抽出する。画像処理部11は、画像処理制御部111と、カメラ姿勢推定部112と、三次元点群検出部113と、三次元点群蓄積部114と、ノイズ点除去部115とを有して構成される。
【0038】
障害物特定部12は、画像処理部11によって推定されたカメラ姿勢と、抽出された三次元点群に基づき、カメラ前方にある障害物を特定する。
【0039】
画像処理制御部111は、カメラ姿勢を推定して三次元点群を抽出するよう、画像処理部11の他の構成要素の動作を制御する。
【0040】
カメラ姿勢推定部112は、センサ100Bに含まれるカメラから、時系列で撮影画像を取得する。時系列の撮影画像は一定時間間隔で入力される。以下の説明において、撮影画像を入力した時刻を、入力した順に0、1、2、…、t-1、t、t+1、…のように番号で表す。また、以下の説明において、カメラから取得した撮影画像を入力画像と示し、時刻tの入力画像をフレームtと呼ぶ。カメラ姿勢推定部112は、取得した時系列の撮影画像を解析し、SfM(Structure from Motion)などの手法を用いて、カメラ姿勢を推定する。
【0041】
三次元点検出部としての三次元点群検出部113は、入力画像から特徴点を検出し、当該特徴点が実際に存在する位置の三次元座標を算出する。以下、特徴点が実際に存在すると推定される点を三次元点と示し、三次元点の位置を三次元座標と示す。三次元点群検出部113における、特徴点から三次元座標を算出する方法について説明する。まず、三次元点群検出部113は、例えば、sobelフィルタなどを用いて、入力画像(フレームt)中に存在する物体等の境界(エッジ)を検出し、特徴点とする。なお、特徴点の検出は、GFTT(Good Features To Track)など、他の手法やアルゴリズムを用いて行ってもよい。
【0042】
次に、三次元点群検出部113は、現在のフレーム(フレームt)において検出した特徴点と、過去のフレーム(例えば、フレームt-1)において検出した特徴点との対応付けを行い、対応点ペアを特定する。すなわち、対応点ペアとは、過去フレームと現在フレームの双方に存在する、同一構造物の同一部分について検出された特徴点のペアである。対応点ペアは、例えば画像テンプレートマッチングにより特定することができる。
【0043】
具体的には、現在のフレームと過去フレームにおいて検出された特徴点について、当該特徴点を中心とする小領域を設定する。そして、現在のフレームに設定された小領域と、過去フレームにおいて設定された小領域との間の類似度を算出する。類似度が設定された閾値以上である場合、現在のフレームの小領域内の特徴点と、過去フレームの小領域内の特徴点とを対応点ペアとする。類似度の計算は、ZNCC(Zero-mean Normalization Cross-Correction、ゼロ平均正規化相関)やNCC(Normalization Cross-Correction、正規化相関)、SAD(Sum of Squared Difference)、SSD(Sum of Absolute Difference)など、一般的に知られた類似度計算を用いて行う。なお、対応点ペアの特定は、上述の画像テンプレートマッチングに限定されない。例えば、ORB特徴量(Oriented FAST and Rotated BRIEF)など、特徴点マッチングの手法を用いて対応点ペアを特定してもよい。
【0044】
最後に、特定した各対応点ペアについて、(1)過去フレームと現在フレームのカメラ姿勢、(2)過去フレームと現在フレームにおける特徴点の入力画像上での座標、の各情報に基づき、特徴点から三次元座標を推定する。座標の推定には、三角測量など一般的な三次元座標推定手法を用いる。
【0045】
三次元点群検出部113における特徴点から三次元座標を推定する方法について、
図5、6を用いて具体的に説明する。
図5、6は画像テンプレートマッチングと三角測量を用いた三次元座標計算の説明図である。
図5は、三次元点群検出部113が取得する入力画像であり、現在の入力画像であるフレームtと、過去の入力画像であるフレームt-1とを左から右へ時系列に並べて示している。なお、以下の図面において、移動体100が走行する路面に直交する方向をY方向、路面と平行であって移動体100の進行する方向(奥行き方向)をZ方向、路面と平行であって移動体100の進行方向と直交する方向をX方向とする。
【0046】
まず、三次元点群検出部113は、現在のフレームであるフレームtにおいて、特徴点PFtを検出する。
図5では、路上に設置されている箱状の障害物のエッジ(角部)を、特徴点PFtとして検出した例を示している。次に、フレームtの特徴点PFtと、過去のフレームであるフレームt-1において既に検出されている特徴点との対応付けを行い、対応点ペアを特定する。
図5に示す一例の場合、画像テンプレートマッチングによって、フレームtの特徴点PFtと、フレームt-1の特徴点PFt-1とが対応点ペアとして特定される。
【0047】
最後に、三次元点群検出部113は、三角測量などを用い、フレームtの特徴点PFtの三次元点を推定して三次元座標を算出する。具体的な方法を、
図6を用いて説明する。まず、フレームtの撮影時におけるカメラ100B(t)のレンズの光学中心と、フレームt上の特徴点PFtとを結ぶ直線をひく。次に、フレームt-1の撮影時におけるカメラ100B(t-1)のレンズの光学中心と、フレームt-1上の特徴点PFt-1とを結ぶ直線をひく。そして、2本の直線の交点を、特徴点PFtとして検出した障害物のエッジ(角部)の実在点(三次元点Ptd)であると推定する。
【0048】
三次元点Ptdの位置座標は、(i)フレームt-1、及び、フレームtのカメラ姿勢、(ii)フレームt-1における特徴点PFt-1の座標、(iii)フレームtにおける特徴点PFtの座標、(iv)カメラの焦点距離(カメラのレンズの光学中心からフレームまでの距離)、の各情報を用いて算出される。
【0049】
三次元点群蓄積部114は、三次元点群検出部113において算出された三次元点を、バッファなどに蓄積する。一般的に、1つのフレームについて、複数の特徴点が検出される。そして、それぞれの特徴点について、対応点ペアが特定された特徴点については、三次元点が推定され三次元座標が算出される。なお、以下の説明において、三次元点の集合を三次元点群と示す。すなわち、三次元点群蓄積部114は、三次元点群検出部113から三次元点群の情報(三次元座標)を取得し、蓄積する。
【0050】
三次元点群蓄積部114には、過去のフレームにおいて算出された三次元点群の情報が累積されている。三次元点群検出部113に新しいフレームが入力され、当該フレーム(現在のフレーム)について特徴点の三次元座標が算出される都度、三次元点群蓄積部114から三次元点群蓄積部114に三次元点群の情報が出力される。三次元点群蓄積部114には、すでに蓄積されている三次元点群の情報に加えて、入力された三次元点群の情報が格納される。1つのフレームの三次元点の個数が多く、また、入力されるフレーム数が多い場合、三次元点群蓄積部114に入力される三次元点の個数が膨大となり、全ての情報を格納しようとすると、膨大な容量のバッファが必要となる。一般的に、バッファの容量は限られているため、リングバッファ等を用い、FIFO(First in first out)方式で保存するデータの置き換えを行うことが好ましい。
【0051】
ノイズ点除去部115は、三次元点群蓄積部114に蓄積されている三次元点の中からノイズ点を抽出して除去する。同じ構造物の局所部分に検出された三次元点群に含まれる三次元点は、正しく検出されていれば、カメラからの距離(Z方向の座標、奥行き)が同程度になる。従って、該三次元点群の中に、明らかに他の三次元点のZ座標と位置が異なる座標を有する三次元点が含まれている場合、当該三次元点は、正しく三次元座標が算出されていない可能性が高い。従って、このような三次元点をノイズ点として抽出し、三次元点群から除去することにより、後段の障害物検知において、検出精度を向上させることができる。
【0052】
ここで、ノイズ点の発生メカニズムについて、
図7、8を用いて説明する。
図7、8は、ノイズ点発生のメカニズムの一例を説明する図である。正しく三次元座標が算出されない主な原因の一つに、対応点ペアの誤特定があげられる。画像中に繰り返しパターンが存在すると、繰り返しパターン上には類似度が近しい特徴点が複数存在する。繰り返しパターンの一例として、
図7に示すような導流体(一定間隔で路上に白線が描かれている道路標示、ゼブラゾーンとも呼ばれる)があげられる。過去の入力画像であるフレームt-1において、導流体の白線のうちY方向上から5本目の白線部分に特徴点PFt-1が検出されているものとする。また、現在の入力画像であるフレームtにおいて、導流体の白線のうちY方向上から6本目の白線部分に特徴点PFt´が検出され、Y方向上から5本目の白線部分に特徴点PFtが検出されたものとする。
【0053】
画像テンプレートマッチングにより対応点ペアを特定する場合、それぞれの特徴点を中心とする微小領域を切り出して類似度を算出する。正しくは、フレームt-1の特徴点PFt-1と、フレームtの特徴点PFtとが対応点ペアである。(共に、導流体の白線のうちY方向上から5番目の白線部分に位置する特徴点である。)ところが、特徴点PFt´と特徴点PFtは、どちらも導流体の白線上に存在している。このため、特徴点PFt´の微小領域と特徴点PFtの微小領域とが極めて類似しており、フレームt-1の特徴点PFt-1と、フレームtの特徴点PFt´とが対応点ペアとして誤特定される可能性がある。
【0054】
特徴点PFtを対応点ペアとして正しい三次元点を推定すると、
図8に示すように、推定された三次元点Ptdは、路面上(Y=0)であってカメラ100B(t)からの奥行がZ=d1の位置であると算出される。一方、間違った特徴点PFt´を対応点ペアとして間違った三次元点を推定すると、推定された三次元点Ptd´は、路面から高さY=h2の位置であってカメラ100B(t)からの奥行がZ=d2の位置であると算出される。
【0055】
このように、間違った対応点ペアを用いて三次元点を推定してしまった場合、正しく推定した三次元点と異なる三次元座標が算出されてしまう。特に、奥行き方向であるZ軸は、正しい三次元点の位置と間違った三次元点の位置との差が大きく算出される傾向にある。
【0056】
ノイズ点除去部115は、上述したノイズ点の性質に基づき、三次元点群蓄積部114に蓄積されている三次元点の中からノイズ点を除去する。すなわち、ある三次元点のカメラ100Bからの奥行方向の距離が、画像上における近傍領域に存在する他の三次元点群と大きく異なる場合、当該三次元点をノイズ点と推定し除去する。
【0057】
図9は、第1の実施形態に係わる三次元点群からノイズ点を除去する手順を説明するフローチャートである。まず、三次元点群蓄積部114に蓄積されている三次元点群を取得し、現在フレーム(フレームt)に投影する。そして、それぞれの三次元点について、フレーム上での座標(画像座標)を算出する(S1)。例えば、三次元点群蓄積部114にT個の三次元点群が蓄積されている場合、S1ではT個の画像座標が算出される。
【0058】
次に、T個の三次元点から、ノイズ点か否かの判定を最初に行う三次元点をセットする(S2)。例えば、T個の三次元点のそれぞれに対し1~Tの連番を付与しておく。S2では、1番が付与された三次元点が、最初にノイズ点判定を行う点としてセットされる。
図9の手順では、ノイズ点の判定を行う三次元点の番号を変数nに代入して保持することにより、ノイズ候補点としてのノイズ点判定対象点が特定される。
【0059】
続いて、ノイズ点判定対象点である三次元点について、当該三次元点を含む評価領域Reを設定する(S3)。
図10、及び、
図11は、ノイズ点除去方法の一例を説明する図である。
図10は、三次元点群蓄積部114に蓄積されている三次元点群を現在フレームに投影して得られる画像である。
図11は、評価領域Reに含まれる三次元点の三次元座標を説明する図である。なお、
図10、11において、網掛けされた丸印で表される三次元点Ptdは正しく推定された三次元点を示しており、バツ印を含む白丸印で表される三次元点Ptd´は誤推定された三次元点を示している。
【0060】
まず、
図11に示すように、三次元点群蓄積部114に15個の三次元点からなる三次元点群PGが蓄積されているものとする。これら15個の三次元点群PGを現在フレームに投影すると、
図10に示す画像が得らえる。例えば、S2において、ノイズ点判定対象点として三次元点P1がセットされたものとする。この場合、S3では、点P1を中心する所定の大きさの矩形領域が、評価領域Reとして設定される。
【0061】
そして、評価領域Reに含まれる三次元点を抽出する(S4)。
図10に示す一例の場合、三次元点P1を含む4つの三次元点が抽出される。現在フレームに投影された三次元点が評価領域Reに含まれるか否かの判定は、S1で算出された画素座標を用いて行われる。
【0062】
続いて、S4で抽出された三次元点の平均距離(カメラからそれぞれの三次元点までの奥行方向の距離の平均値)を算出する(S5)。すなわち、S4で抽出された三次元点の三次元座標について、Z方向の平均値を算出する。例えば、
図11に示す一例の場合、評価領域Reに含まれる三次元点は、Ptd1´、Ptd2、Ptd3、Ptd4、の4点となる。従って、これら4点のZ座標の平均値を算出する。
【0063】
そして、ノイズ点判定対象点のカメラからの奥行方向の距離と、S4で算出した平均距離の差分を算出する。更に、算出した差分を平均距離で割り、ノイズ評価値を算出する(S6)。例えば、S6におけるノイズ評価値の算出は、以下の(1)式を用いて計算される。
【0064】
ノイズ評価値=|判定対象点の距離-平均距離|/平均距離 …(1)式
(1)式において、ノイズ評価値は、判定対象点の距離(カメラからの奥行方向の距離)が平均距離に近いほどゼロに近づく。逆に、判定対象点の距離(カメラからの奥行方向の距離)が平均距離から遠いほど大きな値となる。
【0065】
次に、S6で算出されたノイズ評価値と予め設定された閾値とを比較する。ノイズ評価値が閾値よりも大きい場合(S7、YES)、判定対象点をノイズ点と判定し、三次元点群から除去する(S8)。S8が終了すると、S9に進む。一方、ノイズ評価値が閾値以下の場合(S7、NO)、判定対象点はノイズ点ではない(正しく推定された三次元点である)と判定されるため、S8をスキップしてS9に進む。なお、S7においては、距離差分を平均距離で割ったものをノイズ評価値としているので、平均距離の大きさにかかわらず、ひとつの閾値で全ての判定対象点のノイズ判定を行うことができる。
【0066】
S9では、S1で取得した全ての三次元点についてノイズ点判定を行ったか否かを確認する。未判定の三次元点が存在する場合(S9、NO)、次の判定対象点をセットし(S10)、S3からS8の一連のノイズ点判定及び除去手順を繰り返し実行する。未判定の三次元点が存在しない場合、つまり、全ての三次元点についてノイズ点判定を実施した場合(S9、YES)、三次元点群からノイズ点を除去する一連の手順を終了する。
【0067】
例えば、T個の三次元点のそれぞれに対し1~Tの連番を付与しておき、1番から順に判定対象点としていく場合、S9において、変数nの値である現在の判定対象点がTである場合(n==T)、全ての三次元点の判定が終了したとみなすことができる。S9において、n<Tの場合、次の番号の三次元点を判定対象点として(n=n+1)、S3からS8の一連のノイズ点判定及び除去手順を繰り返し実行する。
【0068】
ノイズ点除去部115は、ノイズ点除去が終了した三次元点群を、障害物特定部12へ出力する。
【0069】
このように、本実施形態によれば、入力画像から推定された三次元点群に含まれる三次元点について、奥行き位置に基づき三次元座標が正しく算出されているか否かを判定する。正しく三次元座標が算出されていないと推定される三次元点は、ノイズ点として三次元点群から除去してから、障害物特定部12へ当該三次元点群を入力する。従って、障害物特定部12は、ノイズ点が除去された確度の高い三次元点を用いて障害物の特定を行うことができるので、何もない空間に誤って障害物を誤検知する可能性が低減され、障害物を精度よく検出することができる。
【0070】
なお、入力画像から検出される特徴点の個数は、画像によって大きく変動する。
図10及び
図11に示す一例では、特徴点を15個としているが、実際には数百~数千個のオーダーで検知される場合もあり得る。
【0071】
また、上述の一例では、カメラにより撮像された撮影画像を入力画像としているが、レーザセンサなどの距離センサやGPSなどの位置センサにより得られたデブスマップ(距離画像)を入力画像としてもよい。
(第2の実施形態)
上述の第1の実施形態では、三次元点群から評価領域に含まれる三次元点を抽出する際に、個々の三次元点の画素座標が評価領域内に存在するか否かを判定している。この場合う、1フレームあたりの判定処理回数は、三次元点の数の二乗程度となる。従って、三次元点数が増えるにつれ当該判定処理回数が二次関数的に増加してしまうため、処理時間が長くなってしまい、リアルタイム処理が困難な場合がある。
【0072】
これに対し、本実施形態においては、積分画像を用いて三次元点が評価領域に含まれるか否かを判定し、処理を高速化している点が異なっている。本実施形態における障害物検知装置の構成は、
図1~
図4に示す第1の障害物検知装置と同様であるので、説明を省略する。
【0073】
図12は、第2の実施形態に係わる三次元点群からノイズ点を除去する手順を説明するフローチャートである。まず、三次元点群蓄積部114に蓄積されている三次元点群を取得し、現在フレーム(フレームt)に投影する。そして、それぞれの三次元点について、フレーム上での座標(画像座標)を算出する(S11)。
【0074】
次に、距離画像と点群数画像とを作成する(S12)。距離画像とは、S11で算出された三次元点の画像座標の画素値を、当該三次元点の三次元座標のZ方向の値とする画像である。例えば、三次元点を現在フレームに投影して得られる画像座標が(X,Y)=(100、100)でり、当該三次元点の奥行方向の距離が25である場合、作成される距離画像の(X,Y)=(100、100)の画素値は25となる。なお、三次元点を投影したフレームにおいて、三次元点が存在しない座標の画素値は0とする。また、1つの画素に複数の三次元点が投影されている場合、距離画像における当該画素の画素値は、該画素に投影された複数の三次元点のZ方向の値の和とする。
【0075】
点群数画像とは、S11で三次元点を投影したフレームにおいて、各座標に投影された三次元点の数を画素値とする画像である。例えば、4つの三次元点を現在フレームに投影して得られる画像座標が(X,Y)=(100、100)、(100、100)、(100、101)、(99、100)である場合、作成される点群数画像の(X,Y)=(100、100)の画素値は2、(X,Y)=(100、101)、(99、100)の画素値は1となる。三次元点を投影したフレームにおいて、三次元点が存在しない座標の画素値は0とする。
【0076】
次に、S12で作成した距離画像の積分画像(以下、距離積分画像と示す)と、点群数画像の積分画像(以下、点群数積分画像を示す)を作成する(S13)。積分画像とは、画像の画素値を積分した画像であり、元の画像中に任意に設定した矩形領域内の画素値の層和を高速に計算するために作成する画像である。積分画像における各画素の画素値は、元の画像における同じ座標の画素を右下角、原点((X、Y)=(0、0)の点)を左上角とする矩形領域内の画素値の総和である。S13では、距離画像と点群数画像について、それぞれ積分画像を作成する。
【0077】
続いて、S11で取得した三次元点から、ノイズ点か否かの判定を最初に行う三次元点をセットする(S14)。例えば、T個の三次元点のそれぞれに対し1~Tの連番を付与しておく。S14では、1番が付与された三次元点が、最初にノイズ点判定を行う点としてセットされる。
図12の手順では、ノイズ点の判定を行う三次元点の番号を変数nに代入して保持することにより、ノイズ点判定対象点が特定される。
【0078】
次に、ノイズ点判定対象点である三次元点について、当該三次元点を含む評価領域Reを設定し(S15)、評価領域Reに含まれる三次元点群の平均距離(カメラからそれぞれの三次元点までの奥行方向の距離の平均値)を算出する(S16)。このS16における平均距離の算出は、S13で作成した積分画像を用いて行う。
【0079】
図13は、積分画像による評価領域内の値の総和計算手順を説明する図である。
図13に示すように、評価領域Reに含まれる画素値の総和は、以下に示す(2)式を用いて計算される。
【0080】
SRe=SRa-SRb-SRc+SRd …(2)式
ただし、(2)式において、SRxは矩形領域Rxにおける画素値の総和を示している。
SRa、SRb、SRc、SRdは、それぞれ積分画像における矩形領域Ra、Rb、Rc、Rdの右下角の画素値として取得できる。従って、(2)式は、積分画像から4つの画素位置の画素値を取得し、和差演算を3回行うことで算出することができる。
【0081】
平均距離は、評価領域Reに含まれる三次元点の距離の和を、評価領域Reに含まれる三次元点の個数で割ることで算出できる。従って、S12で作成した距離積分画像における評価領域Reに含まれる画素値の総和を、S12で作成した点群数積分画像における評価領域Reに含まれる画素値の総和で割り、平均距離を算出することができる。
【0082】
そして、ノイズ点判定対象点のカメラからの奥行方向の距離と、S16で算出した平均距離の差分を算出する。更に、算出した差分を平均距離で割り、ノイズ評価値を算出する(S17)。S17におけるノイズ評価値の算出は、
図9を用いて説明した第1の実施形態のS6と同様である。そして、S17で算出されたノイズ評価値と予め設定された閾値とを比較し、ノイズ評価値が閾値よりも大きい場合(S18、YES)、判定対象点をノイズ点と判定し、三次元点群から除去する(S19)。S19が終了すると、S20に進む。一方、ノイズ評価値が閾値以下の場合(S18、NO)、判定対象点はノイズ点ではない(正しく推定された三次元点である)と判定されるため、S19をスキップしてS20に進む。
【0083】
S20では、S11で取得した全ての三次元点についてノイズ点判定を行ったか否かを確認する。未判定の三次元点が存在する場合(S20、NO)、次の判定対象点をセットし(S21)、S15からS19の一連のノイズ点判定及び除去手順を繰り返し実行する。未判定の三次元点が存在しない場合、つまり、全ての三次元点についてノイズ点判定を実施した場合(S20、YES)、三次元点群からノイズ点を除去する一連の手順を終了する。
【0084】
上述した第1の実施形態におけるノイズ点の除去手順においては、判定対象点を次の三次元点にセットする都度、個々の三次元点の画素座標が評価領域内に存在するか否かを判定するために三次元点の二乗回程度の演算が必要であった。そして、評価領域内に存在する三次元点を用い、ノイズ評価値を算出する必要があった。これに対し、本実施形態では、判定対象点の三次元点が変わっても、S13で作成した距離画像を用いて四則演算を7回行うだけでノイズ評価値を算出することができる。従って、演算量を低減し、処理コストを削減することが可能であるため、演算の高速化を図ることができる。
【0085】
なお、ノイズ点除去部115は、三次元点の個数に応じて、第1の実施形態によるノイズ点除去手順と第2の実施形態によるノイズ除去手順とを切り替えて用いるように構成してもよい。
【0086】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、一例として示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0087】
1…障害物検知装置
10…画像処理装置
10a…プロセッサ
10b…メモリ
10d…画像処理アクセラレータ
10e…処理回路
11…画像処理部
12…障害物特定部
100…移動体
100A…出力部
100B…センサ(カメラ)
100D…通信部
100E…ディスプレイ
100F…スピーカ
100G…動力制御部
100H…動力部
100I…バス
111…画像処理制御部
112…カメラ姿勢推定部
113…三次元点群検出部
114…三次元点群蓄積部
115…ノイズ点除去部