(57)【要約】      （修正有）【課題】撮影画像を用いて物体までの距離を精度良く推定することができる物体検出装置、物体検出方法およびプログラムを提供する。【解決手段】物体検出装置は、検出部１２と、非線形処理部１３と、を備える。検出部は、撮影画像から１つ以上の物体候補領域を検出する。非線形処理部は、少なくとも前記物体候補領域を含む前記撮影画像の一部または全部を、前記物体候補領域内の物体の姿勢と該物体までの距離とを同時に推定するように学習されたニューラルネットワークに入力し、該ニューラルネットワークの出力を用いて、少なくとも前記物体までの距離の情報を含む物体情報を出力する。【選択図】図１
2019008460.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像から１つ以上の物体候補領域を検出する検出部と、
少なくとも前記物体候補領域を含む前記撮影画像の一部または全部を、前記物体候補領域内の物体の姿勢と該物体までの距離とを同時に推定するニューラルネットワークに入力し、該ニューラルネットワークの出力を用いて、少なくとも前記物体までの距離の情報を含む物体情報を出力する非線形処理部と、
を備える物体検出装置。
【請求項２】
前記ニューラルネットワークが推定する物体までの距離は、前記撮影画像上における前記物体候補領域の位置から求まる距離と前記物体までの実際の距離との差分に相当する値である、
請求項１に記載の物体検出装置。
【請求項３】
前記非線形処理部は、前記差分に相当する値を用いて前記物体までの実際の距離を算出し、前記物体までの実際の距離の情報を含む前記物体情報を出力する、
請求項２に記載の物体検出装置。
【請求項４】
前記非線形処理部は、前記物体までの距離の情報と前記物体の姿勢を表す情報とを含む前記物体情報を出力する、
請求項１乃至３のいずれか一項に記載の物体検出装置。
【請求項５】
前記検出部は、ＣｏＨＯＧ特徴を用いて前記撮影画像から前記物体候補領域を検出する、
請求項１乃至４のいずれか一項に記載の物体検出装置。
【請求項６】
前記検出部は、前記撮影画像を入力として前記物体候補領域を出力するニューラルネットワークを用いて前記物体候補領域を検出する、
請求項１乃至４のいずれか一項に記載の物体検出装置。
【請求項７】
前記撮影画像は車載カメラにより撮影された画像であり、
前記物体は車両、歩行者、二輪車、路側設置物の少なくともいずれかである、
請求項１乃至６のいずれか一項に記載の物体検出装置。
【請求項８】
前記車載カメラは単眼カメラである、
請求項７に記載の物体検出装置。
【請求項９】
前記物体情報に基づいて、前記車載カメラが搭載された車両を制御する車両制御部をさらに備える、
請求項７または８に記載の物体検出装置。
【請求項１０】
撮影画像から１つ以上の物体候補領域を検出するステップと、
少なくとも前記物体候補領域を含む前記撮影画像の一部または全部を、前記物体候補領域内の物体の姿勢と該物体までの距離とを同時に推定するニューラルネットワークに入力し、該ニューラルネットワークの出力を用いて、少なくとも前記物体までの距離の情報を含む物体情報を出力するステップと、
を含む物体検出方法。
【請求項１１】
コンピュータに、
撮影画像から１つ以上の物体候補領域を検出する機能と、
少なくとも前記物体候補領域を含む前記撮影画像の一部または全部を、前記物体候補領域内の物体の姿勢と該物体までの距離とを同時に推定するニューラルネットワークに入力し、該ニューラルネットワークの出力を用いて、少なくとも前記物体までの距離の情報を含む物体情報を出力する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、物体検出装置、物体検出方法およびプログラムに関する。
【背景技術】
【０００２】
従来、単眼カメラで撮影した撮影画像から物体を検出する技術がある。また、いくつかの仮定を拘束条件として与えた上で、撮影画像から検出した物体までの距離を推定する技術も知られている。しかし、従来技術では、仮定が成立しない場合は物体までの距離を正しく推定することができず、例えば、物体として車両周辺の障害物を検出してその障害物を回避するように車両制御を行うといったアプリケーションでは、車両制御の信頼性の低下を招くといった懸念がある。このため、物体までの距離の推定精度を向上させることが求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４５０２７３３号公報
【非特許文献】
【０００４】
【非特許文献１】Arsalan  Mousavian，Dragomir  Anguelov，John  Flynn，Jana  Kosecka，3D  Bounding  Box  Estimation  Using  Deep  Learning  and  Geometry  Arxiv  1612．00496
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、撮影画像を用いて物体までの距離を精度良く推定することができる物体検出装置、物体検出方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の物体検出装置は、検出部と、非線形処理部と、を備える。検出部は、撮影画像から１つ以上の物体候補領域を検出する。非線形処理部は、少なくとも前記物体候補領域を含む前記撮影画像の一部または全部を、前記物体候補領域内の物体の姿勢と該物体までの距離とを同時に推定するニューラルネットワークに入力し、該ニューラルネットワークの出力を用いて、少なくとも前記物体までの距離の情報を含む物体情報を出力する。
【図面の簡単な説明】
【０００７】
【図１】実施形態の物体検出装置の構成例を示すブロック図。
【図２】検出機能による処理の一例を説明する図。
【図３】ニューラルネットワークの入力のバリエーションを説明する図。
【図４】非線形処理機能による処理の一例を説明する図。
【図５】非線形処理機能による処理の一例を説明する図。
【図６】非線形処理機能による処理の一例を説明する図。
【図７】非線形処理機能による処理の一例を説明する図。
【図８】非線形処理機能による処理の一例を説明する図。
【図９】ニューラルネットワークが推定する他車両の姿勢の一例を説明する図。
【図１０】ニューラルネットワークが推定する他車両の姿勢の一例を説明する図。
【図１１】ディスプレイに表示される画像例を示す図。
【図１２】実施形態の物体検出装置の動作例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態の物体検出装置、物体検出方法およびプログラムについて詳しく説明する。実施形態の物体検出装置は、単眼カメラで撮影された撮影画像を元に撮影範囲内に存在する物体を検出し、少なくとも検出した物体までの距離の情報を含む物体情報を出力する。以下では、車両に搭載された物体検出装置を例に挙げて説明する。この場合、物体検出装置が検出する物体としては、例えば、当該物体検出装置が搭載された車両（以下、「自車両」と呼ぶ）の周辺に存在する他の車両（以下、「他車両」と呼ぶ）、歩行者、自転車やバイクなどの二輪車、信号機、標識、電柱、看板などの路側設置物など、自車両の走行の妨げになり得る障害物が挙げられる。物体検出装置は、自車両に設置された単眼カメラ（以下、「車載カメラ」と呼ぶ）により撮影された撮影画像を取得して、車載カメラの撮影範囲内の障害物を検出して物体情報を出力する。
【０００９】
図１は、本実施形態の物体検出装置１の構成例を示すブロック図である。この物体検出装置１は、例えば専用または汎用コンピュータを用いて構成され、図１に示すように、処理回路１０、記憶回路２０、通信部３０、各部を接続するバス４０を備える。この物体検出装置１には、車載カメラ２、ディスプレイ３、車両制御部４などが有線または無線により接続されている。
【００１０】
処理回路１０は、取得機能１１と、検出機能１２と、非線形処理機能１３とを有する。これらの各処理機能の具体的な内容については後述する。なお、図１では、本実施形態に関わる主要な処理機能を例示しているが、処理回路１０が有する処理機能はこれらに限られるものではない。
【００１１】
物体検出装置１において実行される各処理機能は、例えば、コンピュータによって実行可能なプログラムの形態で記憶回路２０に記憶されている。処理回路１０は、記憶回路２０からプログラムを読み出して実行することで、各プログラムに対応する処理機能を実現するプロセッサである。各プログラムを読み出した状態の処理回路１０は、図１に示した各処理機能を有することになる。
【００１２】
なお、図１では、単一の処理回路１０により取得機能１１、検出機能１２、非線形処理機能１３の各処理機能が実現されるものとして図示しているが、複数の独立したプロセッサを組み合わせて処理回路１０を構成しても構わない。この場合、各処理機能がプログラムとして構成されてもよいし、特定の機能が専用の独立したプログラム実行回路に実装されてもよい。
【００１３】
上述の「プロセッサ」は、例えば、ＣＰＵ（Central  Processing  Unit）やＧＰＵ（Graphical  Processing  Unit）などの汎用プロセッサ、あるいは、特定用途向け集積回路（Application  Specific  Integrated  Circuit：ＡＳＩＣ）、プログラマブル論理デバイス（例えば、単純プログラマブル論理デバイス（Simple  Programmable  Logic  Device：ＳＰＬＤ）、複合プログラマブル論理デバイス（Complex  Programmable  Logic  Device：ＣＰＬＤ）、フィールドプログラマブルゲートアレイ（Field  Programmable  Gate  Array：ＦＰＧＡ））などの回路を意味する。プロセッサは記憶回路２０に保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶回路２０にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
【００１４】
記憶回路２０は、処理回路１０の各処理機能に伴うデータなどを必要に応じて記憶する。本実施形態の記憶回路２０は、プログラムと、各種の処理に用いられるデータとを記憶する。例えば、記憶回路２０は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどである。また、記憶回路２０は、物体検出装置１の外部の記憶装置で代替されてもよい。記憶回路２０は、ＬＡＮ（Local  Area  Network）やインターネットなどにより伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体であってもよい。また、記憶媒体は１つに限らず、複数の媒体から構成されてもよい。
【００１５】
通信部３０は、有線または無線で接続された外部装置と情報の入出力を行うインタフェースである。通信部３０は、ネットワークに接続して通信を行ってもよい。
【００１６】
車載カメラ２は、例えば、自車両の前方の車幅の中心位置近くに取り付けられた小型で安価な単眼カメラである。車載カメラ２は、モノクロ画像を撮像するカメラであってもよいし、カラー画像を撮像するカメラであってもよい。また、車載カメラ２は、可視光カメラであっても、赤外光の情報を取得できるカメラであってもよい。また、車載カメラ２は、自車両の後方や側方を撮影できるように取り付けられていてもよい。
【００１７】
ディスプレイ３は、例えば液晶表示器などの表示デバイスであり、各種の情報を表示する。本実施形態では、物体検出装置１が出力する物体検出情報を用いて描画された画像などをディスプレイ３に表示することができる。
【００１８】
車両制御部４は、自車両のアクセル量、ブレーキ量、操舵角などの制御を行う。本実施形態では、物体検出装置１が出力する物体情報を用いて車両制御部４が自車両周辺の障害物の自車両に対する挙動（相対的な動き）を推定し、障害物を回避するような制御を行うことができる。
【００１９】
次に、処理回路１０が有する各処理機能について説明する。取得機能１１は、車載カメラ２により撮影された撮影画像を取得する。取得機能１１は、例えば、毎秒Ｎフレームの間隔で車載カメラ２から連続的に撮影画像を取得して、取得した撮影画像を検出機能１２と非線形処理機能１３とに随時出力する。なお、本実施形態では車載用途を想定しているため、取得機能１１は車載カメラ２から撮影画像を取得するが、取得機能１１は、例えば監視用途であれば建物内や電柱などの定置カメラとして取り付けられた単眼カメラから撮影画像を取得するなど、用途に応じて最適な単眼カメラから撮影画像を取得する構成であればよい。また、頭部装着型装置などに取り付けられて装着者の前方や側方、後方などを撮影する単眼カメラから撮影画像を取得する構成であってもよい。
【００２０】
検出機能１２は、取得機能１１から受け取った車載カメラ２の撮影画像から、検出の対象となる物体が映っている可能性がある領域（以下、「物体候補領域」と呼ぶ）を検出する。検出機能１２は、１フレームの撮影画像から多数の物体候補領域を検出することが一般的であるが、１つの物体候補領域が検出されてもよい。検出の対象となる物体は、他車両、歩行者、二輪車、路側設置物のいずれかでもよいし、これらのうち複数の物体を同時に検出の対象としてもよい。以下では、検出の対象となる物体が他車両であることを想定して、検出機能１２による処理の概要を説明する。
【００２１】
検出機能１２による物体候補領域の検出は、車載カメラ２の撮影画像上で、検出の対象となる物体の大きさに相当する走査矩形を用いて物体の有無を判断することを基本とする。ここで、検出の対象となる物体として想定する他車両（車両）は路面上にあり、かつ、その大きさも車種によって違いはあるものの標準的な大きさからの乖離は小さい。したがって、標準的な車両の大きさと車載カメラ２のパラメータから、撮影画像上の位置に応じた走査矩形の大きさを設定することができる。
【００２２】
例えば、図２に示すように、車載カメラ２に近い場所に対応する撮影画像１００上の位置においては、車載カメラ２に近い場所に存在する他車両Ｖを想定した大きさの走査矩形１０１を用いる。また、車載カメラ２から離れた場所に対応する撮影画像１００上の位置においては、車載カメラ２から離れた場所に存在する他車両Ｖを想定した大きさの走査矩形１０２を用いる。そして、走査矩形１０１，１０２内の画像領域に対し、例えばＨＯＧ（Histograms  of  Oriented  Gradients）やＣｏＨＯＧ（Co-occurrence  Histograms  of  Oriented  Gradients）などの画像特徴量を算出し、予め学習した識別器を用いて、走査矩形１０１，１０２内に他車両Ｖがあるか否かを判別するか、他車両Ｖらしさを示す尤度を出力する。ここで、画像特徴量はここに挙げたものだけではなく、画像から算出される特徴であれば何でも構わない。
【００２３】
また、上述のような走査矩形に対して画像特徴量を算出し、例えば予め学習したニューラルネットワークを用いて他車両であるか否かを示す尤度を出力してもよい。また、走査矩形内の画像を予め学習したニューラルネットワークに直接入力し、他車両であるか否かを示す尤度を出力してもよい。また、車載カメラ２の撮影画像の全体あるいは一部を予め学習したニューラルネットワークに入力して走査矩形に相当する位置の出力のみを取り出し、それらに対してさらにニューラルネットワークなどの非線形処理を行って他車両であるか否かを示す尤度を出力してもよい。
【００２４】
また、他車両と歩行者など、複数の物体を検出の対象とする場合には、走査矩形の形状や大きさのバリエーションをそれぞれの物体に対応させて複数に増やしてよい。また、例えば他車両だけを検出の対象としている場合であっても、縦向きの他車両を検出するための走査矩形の形状と、横向きの他車両を検出するための走査矩形の形状など、バリエーションを複数に増やしてもよい。
【００２５】
検出機能１２は、例えば、走査矩形に対する尤度が予め設定された閾値以上の撮影画像上の領域を物体候補領域として検出し、その物体候補領域の撮影画像上の位置を示す情報や尤度などを含む候補領域情報を非線形処理機能１３に出力する。あるいは、検出機能１２は、走査矩形に対する尤度が高い順に撮影画像上の領域を並び替え、予め決められた上位Ｎ個の領域を物体候補領域として検出して候補領域情報を出力してもよい。また、走査矩形に対する尤度が高い撮影画像上の領域について、一定の重なりを持つものをグルーピングし、その中から尤度の高い順にＮ個、あるいは一定の閾値以上の尤度を持つものを物体候補領域として候補領域情報を出力してもよい。これは例えばＮＭＳ（Non-Maximum  Suppression）という手法を用いて実現できる。撮影画像上の領域をグルーピングする際に、車載カメラ２からの距離がほぼ同じとみなせる領域のみをグルーピングの対象としてもよい。
【００２６】
非線形処理機能１３は、少なくとも検出機能１２により検出された物体候補領域を含む画像（撮影画像の一部または全部）に対して非線形処理を行って、少なくとも物体候補領域内の物体までの距離の情報を含む物体情報を出力する。非線形処理には、物体候補領域内の物体の姿勢とその物体までの距離とを同時に推定するニューラルネットワーク、つまり、物体候補領域内の物体の姿勢とその物体までの距離とを同時に推定するように学習されたニューラルネットワークを用いる。なお、本実施形態において「物体までの距離」とは、ＬＩＤＡＲ（Light  Detection  and  Ranging）などの距離センサにより計測される値である実際の距離だけでなく、既知の値から実際の距離を算出するために用いる値も含まれる。例えば、後述するように、車載カメラ２の撮影画像上における物体候補領域の位置から求まる距離と、物体候補領域内の物体までの実際の距離との差分に相当する値ａは、「物体までの距離」の一例である。以下では、上述の検出機能１２の説明と同様に、検出の対象となる物体が他車両であることを想定して、非線形処理機能１３による処理の概要を説明する。
【００２７】
まず、非線形処理に用いるニューラルネットワークの入力のバリエーションについて説明する。ニューラルネットワークへの入力としては、取得機能１１からある時刻に受け取った１フレームの撮影画像の全体を入力としてもよいし、撮影画像の一部を入力としてもよい。例えば、車載カメラ２が自車両の前方を撮影した撮影画像であれば、画像の上側の領域は他車両や歩行者が写っていないと仮定して、この上側の領域をトリミングしてニューラルネットワークに入力してもよい。また、検出機能１２から受け取った候補領域情報に基づいて撮影画像上における物体候補領域の位置を特定し、その物体候補領域の画像のみをクリッピングしてニューラルネットワークに入力してもよい。
【００２８】
また、例えば図３に示すように、撮影画像１００に含まれる物体候補領域１１１，１１２に対して、これら物体候補領域１１１，１１２よりもＫ倍大きな領域１２１，１２２をクリッピングしてニューラルネットワークに入力してもよい。このとき、領域１２１，１２２は一部が撮影画像１００からはみ出してよい。その場合は、はみ出した領域を例えば黒に相当する画素値で埋めてもよいし、はみ出した領域を撮影画像１００の端部の画素値で埋めてもよい。なお、はみ出した領域を埋める方法はここで示しただけでなく、別の方法でも構わない。
【００２９】
また、ニューラルネットワークに入力する画像のデータは、Ｒ，Ｇ，Ｂのカラー画像でもよいし、色空間を変換した例えばＹ，Ｕ，Ｖのカラー画像でもよい。また、カラー画像をモノクロ化した１チャンネルの画像としてニューラルネットワークに入力しても構わない。また、画像そのままではなく、例えばＲ，Ｇ，Ｂのカラー画像であれば、各チャンネルの画素値の平均値を引いた画像、平均値を引いて分散で割った正規化画像などをニューラルネットワークに入力しても構わない。また、ある時刻の１フレームの撮影画像あるいその一部をニューラルネットワークに入力してもよいし、ある時刻を基準に前後数時刻分の複数フレームの撮影画像、あるいは複数フレームの撮影画像それぞれの一部をニューラルネットワークに入力してもよい。
【００３０】
次に、ニューラルネットワークによる非線形処理のバリエーションについて説明する。ニューラルネットワークは、入力された画像データに対して非線形処理を行い、検出機能１２によって撮影画像から検出された物体候補領域内に含まれる物体の姿勢と距離を推定するための特徴マップを得る。そして、得られた特徴マップを用いて物体の姿勢と物体までの距離を推定し、結果を出力する。
【００３１】
検出機能１２によって検出された物体候補領域の画像だけでなく、車載カメラ２の撮影画像の全体あるいは不要な部分をトリミングした画像がニューラルネットワークに入力される場合は、その画像に対応する特徴マップが得られる。この場合、非線形処理機能１３は、検出機能１２から受け取った候補領域情報に基づいて、図４に示すように、物体候補領域１１１に対応する特徴マップを切り出して物体の姿勢と距離の推定に用いる。特徴マップの切り出しは、例えば、ＲＯＩ−Ｐｏｏｌｉｎｇ（Fast  R-CNN、Ross  Girshick、ICCV2015）という手法を用いて実現できる。このとき、例えば図５に示すように、物体候補領域１１１に対応する特徴マップだけでなく、物体候補領域１１１に対してＫ倍大きな領域１２１に対応する特徴マップを切り出し、双方あるいはいずれか一方の特徴マップを物体の姿勢と距離の推定に用いてもよい。
【００３２】
一方、例えば図６に示すように、車載カメラ２の撮影画像１００から検出機能１２によって検出された物体候補領域１１１の画像をクリッピングしてニューラルネットワークに入力する場合には、物体候補領域１１１に対応する特徴マップが得られる。したがって、この場合は、得られた特徴マップをそのまま物体の姿勢と距離の推定に用いればよい。また、例えば図７に示すように、物体候補領域１１１よりもＫ倍大きな領域１２１の画像をクリッピングしてニューラルネットワークに入力した場合は、この領域１２１に対応する特徴マップが得られる。この場合は、この領域１２１に対応する特徴マップをそのまま物体の姿勢と距離の推定に用いてもよいし、例えば図８に示すように、領域１２１に対応する特徴マップから物体候補領域１１１に対応する特徴マップを切り出して、領域１２１に対応する特徴マップと物体候補領域１１１に対応する特徴マップの双方あるいはいずれか一方を物体の姿勢と距離の推定に用いてもよい。
【００３３】
次に、ニューラルネットワークの出力のバリエーションについて説明する。ニューラルネットワークの出力は、例えば、物体候補領域内に含まれる物体の姿勢とその物体までの距離である。
【００３４】
自車両の進行方向を撮影するように取り付けられた車載カメラ２とその撮影範囲内に存在する他車両Ｖとを俯瞰した様子を図９に示す。図９に示すように、車載カメラ２から他車両Ｖの重心Ｃを通る直線Ｌ１と、他車両Ｖの重心Ｃから他車両Ｖの進行方向を結ぶ直線Ｌ２とがなす角度（向き）αを、他車両Ｖの姿勢としてニューラルネットワークを用いて推定することができる。また、車載カメラ２の光軸と直交する直線Ｌ３と、他車両Ｖの重心Ｃから他車両Ｖの進行方向を結ぶ直線Ｌ２とがなす角度θを、他車両Ｖの姿勢としてニューラルネットワークを用いて推定して出力してもよい。
【００３５】
また、例えば図１０に示すように、車載カメラ２の撮影画像１００において他車両Ｖに外接する直方体Ｂが路面と接する面（長方形）の４つの頂点ｐ１，ｐ２，ｐ３，ｐ４のうち、例えば自車両から見えている少なくとも２つの頂点の撮影画像１００上での位置を、それぞれ他車両Ｖの姿勢としてニューラルネットワークを用いて推定して出力してもよい。
【００３６】
他車両までの距離については、上述のように、他車両までの実際の距離（ＬＩＤＡＲなどの距離センサで計測される距離）をニューラルネットワークにより推定して出力してもよいし、既知の値から実際の距離を算出するために用いる値をニューラルネットワークにより推定して出力してもよい。既知の値から実際の距離を算出するために用いる値としては、例えば、車載カメラ２の撮影画像上における物体候補領域の位置から求まる距離Ｚｌと、他車両までの実際の距離Ｚｒとの差分に相当する値ａが挙げられる。この場合、例えば下記式（１）を満たす値ａを予め学習によって回帰するようにニューラルネットワークを学習しておく。そして、車載カメラ２の撮影画像上における物体候補領域の位置から求まる距離Ｚｌと、ニューラルネットワークが出力する値ａとを下記式（１）に代入することにより、他車両までの実際の距離Ｚｒを算出することができる。
Ｚｒ＝Ｚｌ×ａ＋Ｚｌ  ・・・（１）
なお、既知の値から実際の距離Ｚｒを算出するために用いる値は、上述の差分に相当する値ａに限らない。
【００３７】
また、ニューラルネットワークの出力として、さらに、検出機能１２によって検出された物体候補領域を、その物体候補領域内に含まれる他車両が正確に外接する別の矩形により囲まれた、より正確な物体候補領域に修正する値をさらに出力してもよい。また、非線形処理機能１３が用いるニューラルネットワークは、さらに、物体候補領域内に他車両が含まれるか否かを示す尤度をさらに出力してもよい。
【００３８】
非線形処理機能１３が用いるニューラルネットワークとしては、以上説明した入力のバリエーションや出力のバリエーションに応じて、入力された画像および物体候補領域に対して予め与えられた正解データとニューラルネットワークの出力とから計算される損失を小さくするように学習されたものを用いる。ここで、正解データとは、例えば、物体候補領域内に含まれる物体のラベルと、その物体に正しく外接する矩形を示す情報、物体の姿勢、物体までの距離を含むデータである。物体のラベルは、ニューラルネットワークが他車両のみを検出の対象とし、他車両の姿勢と他車両までの距離とを推定することを目的としているのであれば、例えば、物体候補領域と最も重なり率の高い他車両の外接矩形と、物体候補領域を示す矩形の重なり率が一定の閾値以上である場合には１、そうでない場合には０などとして与えることができる。
【００３９】
また、物体の姿勢については、物体候補領域内に一定以上の重なり率の他車両がある場合に、例えばその他車両の図９に示した角度αを、学習用の画像を撮影した際に同時に計測したＬＩＤＡＲなどの距離センサによる点群の情報などを利用して計測しておき、正解として与えることができる。また、図１０に示したように、他車両Ｖに外接する直方体Ｂが路面と接する面の４つの頂点ｐ１、ｐ２，ｐ３，ｐ４の撮影画像１００上での位置を、他車両Ｖの姿勢の正解として与えることもできる。この際、向きによって見えない頂点は正解として設定しなくてもよい。
【００４０】
同様に、物体までの距離については、例えば学習用の画像を撮影した際に同時にＬＩＤＡＲなどの距離センサで計測した他車両までの距離を正解データとしてもよい。あるいは、ＬＩＤＡＲなどの距離センサで計測した距離に対して、車載カメラ２の撮影画像上における物体候補領域の位置から求まる距離との誤差に相当する値、すなわち上記式（１）で示される値ａを正解データとしてもよい。
【００４１】
本実施形態の非線形処理機能１３は、以上のように、物体の姿勢と物体までの距離とを同時に推定するように予め学習されたニューラルネットワークを用いることで、物体がどのような姿勢であっても、その物体までの距離を正しく推定することができる。なお、物体のラベルに対する損失は、例えば交差エントロピー誤差、外接矩形や姿勢、距離については、二乗誤差やＳｍｏｏｔｈ  Ｌ１誤差などで定義することができる。物体ラベル、外接矩形、姿勢、距離などのそれぞれの損失を足し合わせることにより、ニューラルネットワーク全体の損失を計算することができ、誤差伝搬法などによりニューラルネットワークの重みを共有しながら、それぞれの損失を最小化するように学習することが可能となる。
【００４２】
また、画像の入力から特徴マップを得るまでの処理と、特徴マップから物体の姿勢と物体までの距離を推定して出力するまでの処理とを異なるニューラルネットワークとしてそれぞれ予め学習しておいてもよいし、画像の入力から物体の姿勢および物体までの距離の出力までを１つのニューラルネットワークとして予め学習しておいてもよい。また、検出機能１２での物体候補領域の検出にニューラルネットワークを用いる場合、検出機能１２で用いるニューラルネットワークと非線形処理機能１３で用いるニューラルネットワークとを１つのネットワークとして予め学習しておいてもよい。
【００４３】
また、複数種類の物体（例えば他車両と歩行者など）を同時に検出の対象とする場合は、検出の対象となる物体ごとに異なるニューラルネットワークを予め学習して用いてもよいし、同じニューラルネットワークを予め学習して用いてもよい。また、検出の対象となる物体が他車両であっても、乗用車とトラック、バスなどの車種ごとに異なるニューラルネットワークを予め学習して姿勢や距離の推定に用い、例えばもっとも尤度が高い結果を出力としてもよい。
【００４４】
また、１フレームの撮影画像から多数の物体候補領域が検出された場合、ニューラルネットワークが上述のように物体候補領域を修正する値や物体らしさを示す尤度をさらに出力する構成であれば、例えばニューラルネットワークが出力した物体らしさを示す尤度と修正後の物体候補領域の情報をもとに、一定の重なりを持つ物体候補領域をグルーピングし、その中から尤度の高い順にＮ個、あるいは一定の閾値以上の尤度を持つ物体候補領域に対する推定結果のみを出力してもよい。これは例えば上述のＮＭＳという手法を用いて実現できる。
【００４５】
非線形処理機能１３は、ニューラルネットワークが出力する物体の姿勢と距離の情報をそのまま物体情報として出力してもよいし、ニューラルネットワークの出力を加工して物体情報として出力してもよい。例えば、ニューラルネットワークが距離の情報として上述の相対距離を示す値ａ（距離Ｚｌと距離Ｚｒとの差分に相当する値）を出力する場合、非線形処理機能１３は、車載カメラ２のカメラパラメータと撮影画像上の物体候補領域の位置から距離Ｚｌを求め、この距離Ｚｌとニューラルネットワークが出力する値ａとを用いて実際の距離Ｚｒを算出し、実際の距離Ｚｒを含む物体情報を出力してもよい。
【００４６】
また、非線形処理機能１３は、ニューラルネットワークが出力する姿勢と距離の情報を用いて物体の３次元位置と向きを計算し、物体の３次元位置と向きを含む物体情報を出力してもよい。例えば、自車両の進行方向を撮影するように取り付けられた車載カメラ２の撮影画像から他車両を検出する場合、非線形処理機能１３は、ニューラルネットワークが出力する姿勢と距離の情報を用いて他車両が自車両に対してどの位置にいるかを計算し、他車両の３次元位置と自車両に対する向きを物体情報として出力してもよい。これは、例えば、非線形処理機能１３のニューラルネットワークの出力から、撮影画像中の他車両を囲む外接矩形の左上の座標（ｘ１，ｙ１）と右下の座標（ｘ２，ｙ２）、他車両までの実際の距離Ｚｒと、他車両の向きα（図９参照）が得られる場合に、これらの値と、車載カメラ２のパラメータ行列を用いると、公知の手法を用いて他車両の３次元位置と上面から見た時の他車両の向きを求めることが可能である。なお、ニューラルネットワークが出力する物体の姿勢の情報は３次元位置の計算のみに用い、姿勢（向き）の情報を含まない物体情報を出力してもよい。
【００４７】
非線形処理機能１３が出力する物体情報は、例えば、本実施形態の物体検出装置１に接続された車両制御部４が自車両の車両制御を行うために利用することができる。車両制御部４は、例えば、衝突回避システムや自動ブレーキシステム、車間自動制御システム、自動運転制御システムなどを含む。例えば、衝突回避システムは、車載カメラ２の撮影画像のフレームごとに出力される物体情報を用いて、自車両に対する他車両の動きを表す軌跡を推定し、ｍ秒後に衝突する確率を計算することが可能である。また、その結果に基づいて、自動ブレーキシステムを作動させるか否かの判定に用いることもできる。また、車間自動制御システムは、車載カメラ２の撮影画像のフレームごとに出力される物体情報を用いて、障害物を避けて現在走行中の車線を保ち、かつ前方を走行する他車両との車間距離を所定距離以上保つように自車両の制御を行うことができる。また、自動運転制御システムは、車載カメラ２の撮影画像のフレームごとに出力される物体情報を用いて、障害物を回避した走行経路を計算し、その走行経路に従って自律走行するように自車両の制御を行うことができる。
【００４８】
また、非線形処理機能１３が出力する物体情報は、例えば、本実施形態の物体検出装置１に接続されたディスプレイ３に障害物の情報を画像として表示するために利用することができる。例えば図１１に示すように、非線形処理機能１３が出力する物体情報に基づいて自車両Ｖ０に対する他車両Ｖ１，Ｖ２，Ｖ３の位置と姿勢を示す画像２００を描画してディスプレイ３に表示することができる。図１１に示す画像例では、自車両Ｖ０の位置を基準として、他車両Ｖ１，Ｖ２，Ｖ３を示す矩形の描画位置によりこれら他車両Ｖ１，Ｖ２，Ｖ３までの距離が示され、矩形の描画角度によりこれら他車両Ｖ１，Ｖ２，Ｖ３の姿勢が示されている。なお、矩形の太線部分が他車両Ｖ１，Ｖ２，Ｖ３の前方（進行方向）を表している。
【００４９】
図１２は、以上説明した本実施形態の物体検出装置１（処理回路１０）の動作例を示すフローチャートである。なお、図１２の各ステップの具体的な内容は上述した通りであるので、詳細な説明は適宜省略する。
【００５０】
まず、処理回路１０の取得機能１１が、車載カメラ２（単眼カメラ）により撮影された撮影画像を取得する（ステップＳ１０１）。次に、処理回路１０の検出機能１２が、ステップＳ１０１で取得された撮影画像から、少なくとも１つの物体候補領域を検出する（ステップＳ１０２）。次に、処理回路１０の非線形処理機能１３が、ステップＳ１０１で取得された撮影画像と、ステップＳ１０２で検出された物体候補領域を示す候補領域情報とに基づいて、物体候補領域内の物体の姿勢とその物体までの距離を推定する（ステップＳ１０３）。このとき、非線形処理機能１３は、物体候補領域内の物体の姿勢と距離とを同時に推定するように学習されたニューラルネットワークを用いて、物体候補領域内の物体の姿勢とその物体までの距離を推定する。そして、非線形処理機能１３は、少なくとも物体までの距離の情報を含む物体情報を出力する（ステップＳ１０４）。
【００５１】
以上説明したように、本実施形態の物体検出装置１は、車載カメラ２（単眼カメラ）により撮影された撮影画像から物体候補領域を検出し、物体の姿勢と物体までの距離とを同時に推定するように学習されたニューラルネットワークを用いて、物体候補領域内の物体までの距離を推定する。したがって、本実施形態の物体検出装置１によれば、車載カメラ２（単眼カメラ）で撮影した画像を用いて物体までの距離を精度良く推定することができる。
【００５２】
例えば、検出の対象となる物体を他車両とした場合、本実施形態の物体検出装置１によれば、車載カメラ２の撮影画像に写る他車両の姿勢と距離を、ニューラルネットワークを用いて直接推定するので、例えば路面形状に関わらず、走行車線前方の他車両の自車両に対する位置や向きを正確に推定でき、衝突回避や自動ブレーキ、経路生成などに利用することができる。
【００５３】
また、本実施形態の物体検出装置１は、物体までの距離として、車載カメラ２の撮影画像上における物体候補領域の位置から求まる距離Ｚｌと物体までの実際の距離Ｚｒとの差分に相当する値ａを、ニューラルネットワークを用いて推定する構成とすることにより、カメラパラメータに依存せずにニューラルネットワークを適切に学習することができ、実際の使用時には物体までの距離を精度良く推定することができる。
【００５４】
なお、本実施形態の物体検出装置１の上述の処理機能は、上述したように、例えばコンピュータを用いて構成される物体検出装置１がプログラムを実行することにより実現される。この場合、本実施形態の物体検出装置１で実行されるプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、本実施形態の物体検出装置１で実行されるプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。さらに、本実施形態の物体検出装置１で実行されるプログラムを、ＲＯＭなどの不揮発性の記録媒体に予め組み込んで提供するようにしてもよい。
【００５５】
以上、本発明の実施形態を説明したが、上述の実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら新規な実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５６】
１  物体検出装置
２  車載カメラ
３  ディスプレイ
４  車両制御部
１０  処理回路
１１  取得機能
１２  検出機能
１３  非線形処理機能
【図１】
2019008460.tif 000003
【図２】
2019008460.tif 000004
【図３】
2019008460.tif 000005
【図４】
2019008460.tif 000006
【図５】
2019008460.tif 000007
【図６】
2019008460.tif 000008
【図７】
2019008460.tif 000009
【図８】
2019008460.tif 000010
【図９】
2019008460.tif 000011
【図１０】
2019008460.tif 000012
【図１１】
2019008460.tif 000013
【図１２】
2019008460.tif 000014