(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-29
(45)【発行日】2022-09-06
(54)【発明の名称】物体認識装置、物体認識システム、及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220830BHJP
G06V 10/82 20220101ALI20220830BHJP
G06V 20/64 20220101ALI20220830BHJP
【FI】
G06T7/00 C
G06T7/00 350C
G06V10/82
G06V20/64
(21)【出願番号】P 2020528688
(86)(22)【出願日】2019-03-12
(86)【国際出願番号】 JP2019009990
(87)【国際公開番号】W WO2020008684
(87)【国際公開日】2020-01-09
【審査請求日】2020-12-17
(31)【優先権主張番号】P 2018127743
(32)【優先日】2018-07-04
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100101454
【氏名又は名称】山田 卓二
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(74)【代理人】
【識別番号】100091524
【氏名又は名称】和田 充夫
(72)【発明者】
【氏名】柳川 由紀子
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2004-094825(JP,A)
【文献】特開2014-120026(JP,A)
【文献】特開2002-288687(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
物体の
一部の外形に沿った三次元位置を含む三次元情報を入力する入力部と、
前記三次元情報に基づいて前記物体を認識する演算処理部と、
を備え、
前記演算処理部は、
前記三次元情報に基づいて、前記三次元位置によって表される立体を
直交3軸方向の各々から見た3つの二次元図面であって、赤色の二次元図面、緑色の二次元図面、及び青色の二次元図面を含む三面図である複数の二次元情報を生成し、
前記三面図の各画素の画素値に基づいて合成図の各画素の画素値を決定するように、前記複数の二次元情報
を合成して前記合成図を生成し、
前記合成図に基づいて前記物体を認識する、
物体認識装置。
【請求項2】
前記演算処理部は、生成した前記複数の二次元情報に基づき畳み込みニューラルネットワークによる画像処理を実行して、前記物体を認識する、
請求項1に記載の物体認識装置。
【請求項3】
前記三次元情報は、基準点から前記物体の少なくとも一部の外形までの距離を示す距離画像である、
請求項1又は請求項2に記載の物体認識装置。
【請求項4】
前記演算処理部は、前記三次元情報に基づいて、前記立体を表すボクセルの集合体を生成する、
請求項1から請求項3のいずれか一つに記載の物体認識装置。
【請求項5】
前記演算処理部は、複数のボクセルに分割可能な三次元空間を定義し、前記三次元位置を前記三次元空間に対応付けて、前記複数のボクセルのうち前記物体が占有しているボクセルによって前記立体を表す、
請求項4に記載の物体認識装置。
【請求項6】
前記複数の二次元情報は、各々の基準位置から前記立体までの距離に応じた画素値を有する、
請求項1から請求項5のいずれか一つに記載の物体認識装置。
【請求項7】
物体までの距離を計測して前記三次元情報を生成するセンサと、
請求項1から請求項
6のいずれか一つに記載の前記物体認識装置と、
を含む、物体認識システム。
【請求項8】
物体の
一部の外形に沿った三次元位置を含む三次元情報を入力するステップと、
前記三次元情報に基づいて、前記三次元位置によって表される立体を
直交3軸方向の各々から見た3つの二次元図面であって、赤色の二次元図面、緑色の二次元図面、及び青色の二次元図面を含む三面図である複数の二次元情報を生成するステップと、
前記三面図の各画素の画素値に基づいて合成図の各画素の画素値を決定するように、前記複数の二次元情報
を合成して前記合成図を生成するステップと、
前記合成図に基づいて前記物体を認識するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、物体を認識する物体認識装置、物体認識システム、及びプログラムに関する。
【背景技術】
【0002】
非特許文献1は、VoxNetを開示している。VoxNetは、三次元畳み込みニューラルネットワーク(3D CNN)を使用した画像処理によって物体を認識する手法である。具体的には、VoxNetは、LiDAR及びRGBDセンサ等から得られる三次元点群データを、所定サイズの三次元空間に写像して三次元情報を生成し、その三次元情報を三次元畳み込みニューラルネットワークに入力して物体を認識する手法である。
【先行技術文献】
【非特許文献】
【0003】
【文献】Daniel Maturana, Sebastian Scherer, "VoxNet: A 3D Convolutional Neural Network for Real-Time Object Recognition", インターネット<URL:https://www.ri.cmu.edu/pub_files/2015/9/voxnet_maturana_scherer_iros15.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1のような三次元畳み込みニューラルネットワークによる画像処理では、データ量が多く且つ大きなネットワークが必要であった。そのため、画像処理の処理負荷が大きく、物体認識の処理速度が遅かった。
【0005】
本開示の目的は、画像処理の処理負荷を低減して、物体認識の処理速度を向上させる、物体認識装置、物体認識システム、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本開示に係る物体認識装置は、物体の少なくとも一部の外形に沿った三次元位置を含む三次元情報を入力する入力部と、三次元情報に基づいて物体を認識する演算処理部と、を備え、演算処理部は、三次元情報に基づいて、三次元位置によって表される立体を複数の方向から見た二次元図面を示す複数の二次元情報を生成し、複数の二次元情報に基づいて物体を認識する。
【0007】
本開示に係る物体認識システムは、物体までの距離を計測して三次元情報を生成するセンサと、上記物体認識装置と、を含む。
【0008】
本開示に係るプログラムは、物体の少なくとも一部の外形に沿った三次元位置を含む三次元情報を入力するステップと、三次元情報に基づいて、三次元位置によって表される立体を複数の方向から見た二次元図面を示す複数の二次元情報を生成するステップと、複数の二次元情報に基づいて物体を認識するステップと、をコンピュータに実行させる。
【発明の効果】
【0009】
本開示に係る物体認識装置、物体認識システム、及びプログラムによると、物体の少なくとも一部の外形に沿った三次元位置によって表される立体を複数の方向から見た二次元図面を示す複数の二次元情報に基づいて物体を認識するため、画像処理の処理負荷が低減する。よって、物体認識の処理速度が向上する。
【図面の簡単な説明】
【0010】
【
図1】本開示に係る物体認識システムの適用例を説明するための図
【
図2】実施形態1,2に係る物体認識システムの構成を例示するブロック図
【
図3】実施形態1,2に係る距離センサによる測距を説明するための図
【
図4】実施形態1に係る物体認識装置による物体認識処理の一例を示すフローチャート
【
図5】実施形態1に係る距離画像と検出される認識対象領域の一例を示す図
【
図6】実施形態1,2に係る三次元空間を説明するための図
【
図7】実施形態1に係る占有グリッドを説明するための図
【
図8A】
図7の占有領域内のボクセルの平面図の一例を示す図
【
図8B】
図7の占有領域内のボクセルの正面図の一例を示す図
【
図8C】
図7の占有領域内のボクセルの側面図の一例を示す図
【
図10】実施形態1,2に係る畳み込みニューラルネットワークによる画像処理を説明するための図
【
図11】実施形態1に係る畳み込みニューラルネットワークの学習処理の一例を示すフローチャート
【
図12】三面図とVoxNetの要素数の比較を説明するための図
【
図13】実施形態2に係る物体認識装置による物体認識処理の一例を示すフローチャート
【
図14】実施形態2に係る占有グリッドを説明するための図
【発明を実施するための形態】
【0011】
以下、添付の図面を参照して本開示に係る物体認識システムの実施の形態を説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0012】
(適用例)
本開示に係る物体認識システムが適用可能な一例について、
図1を用いて説明する。
図1は、本開示に係る物体認識システム1の適用例を説明するための図である。
【0013】
本開示に係る物体認識システム1は、例えば、車載用途に適用可能である。
図1に示す例において、物体認識システム1は車両3に搭載される。車両3は、例えば、自動運転車であり、自動運転を行うための車両駆動装置2を備える。物体認識システム1は、例えば、車両3の進行方向にある物体4を認識する。物体4は、例えば、車、バス、バイク、自転車、歩行者、電柱、縁石、ガードレールである。
【0014】
物体認識システム1は、車両3の進行方向に向けて光を投光し、物体4によって反射された反射光を受光する。物体認識システム1は、投光から受光までの時間差に基づいて、物体認識システム1から物体4までの距離を計測する。物体認識システム1は、計測した距離に基づいて、物体4の外形に沿った三次元位置を含むセンシングデータを生成する。
【0015】
物体認識システム1は、センシングデータに基づいて、三次元位置によって表される立体を複数の方向から見た二次元図面を示す複数の二次元情報を生成する。物体認識システム1は、複数の方向から見た二次元図面に基づいて物体を認識する。物体認識システム1は、例えば、物体4までの距離、方位、及び認識結果などを示す物体情報を車両駆動装置2に出力する。
【0016】
車両駆動装置2は、例えば、物体認識システム1から出力される物体情報に基づいて、道路上の物体4を回避して進行方向を設定して、車両3を駆動する操舵機構を含む。物体認識システム1によって物体4を認識することによって、車両駆動装置2は、物体4を回避しながら自動運転を行うことができる。
【0017】
(構成例)
以下、物体認識システム1の構成例としての実施形態を説明する。
【0018】
(実施形態1)
実施形態1に係る物体認識システム1の構成と動作を以下に説明する。
【0019】
1.構成
本実施形態に係る物体認識システム1の構成について、
図2及び
図3を用いて説明する。
図2は、物体認識システム1の構成を例示するブロック図である。
図3は、距離センサ100による測距を説明するための図である。
【0020】
物体認識システム1は、距離センサ100と物体認識装置200とを含む。
【0021】
1.1 距離センサの構成
距離センサ100は、投光部11、受光部12、走査部13、センサ制御部14、及び入出力インタフェース部15を含む。距離センサ100は、例えば、LIDAR(Light Detection and Ranging、あるいは、Laser Imaging Detection and Ranging)装置である。
【0022】
投光部11は、光を外部に投光する。具体的には、投光部11は、センサ制御部14の制御に従って、光の光束を外部に出射する。投光部11は、例えば、1つ以上の光源素子で構成された光源と、光源をパルス駆動する光源駆動回路とを含む。光源素子は、例えば、レーザ光を発光する半導体レーザ(LD)である。光源素子は、LED等であってもよい。光源素子は、例えば、
図3に示す垂直方向Yにおいて一列のアレイ状に配置され、投光部11は投光領域R11に向けて光を投光する。
【0023】
受光部12は、外部から光を受光する。受光部12は、複数の受光素子を備える。受光素子は、光を受光すると、受光量に応じた受光信号を生成する。複数の受光素子は、例えば、垂直方向Yに沿って一列のアレイ状に配置される。各受光素子は、例えば距離画像の1画素に対応し、1画素の垂直画角に応じた範囲から入射する光を別々に受光する。受光素子は、例えばSPAD(単一光子アバランシェフォトダイオード)で構成される。受光素子は、PD(フォトダイオード)又はAPD(アバランシェフォトダイオード)で構成されてもよい。
【0024】
走査部13は、例えば、ミラーと、垂直方向Yに沿った回転軸の周りにミラーを回転させる回転機構と、回転機構を駆動する走査駆動回路と、を含む。走査駆動回路は、センサ制御部14の制御により、ミラーを回転駆動する。これにより、走査部13は、投光する方向を一定時間ごとに少しずつ変化させて、光が進行する光路を少しずつ移動させる。例えば、
図3に示すように、走査部13は、投光領域R11を水平方向Xにおいてシフトさせる。
【0025】
センサ制御部14は、半導体素子などで実現可能である。センサ制御部14は、例えば、マイコン、CPU、MPU、GPU、DSP、FPGA、ASICで構成することができる。センサ制御部14の機能は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。センサ制御部14は、距離センサ100内の記憶部に格納されたデータやプログラムを読み出して種々の演算処理を行うことで、所定の機能を実現する。
【0026】
センサ制御部14は、投光部11による投光のタイミングを制御する。センサ制御部14は、投光のタイミングと受光部12から得られる受光信号とに基づいて、投光してからの経過時間に応じた受光量を示す受光波形のデータを画素毎に生成する。センサ制御部14は、受光波形に基づいて画素毎に距離を算出する。例えば、センサ制御部14は、投光部11から投光された光が反射されて受光部12によって受光されるまでの光の飛行時間を受光波形に基づいて計測する。センサ制御部14は、計測した飛行時間に基づいて、基準点5から光を反射した物体の外形までの距離を算出する。基準点5は、例えば、投光部11の光の出射口である。センサ制御部14は、画素毎に測定した距離に基づいて、距離画像を生成する。
【0027】
センサ制御部14は、距離画像の画角に対応した投影面R10を、水平方向Xに走査しながら測距を行い、距離画像を生成する。距離画像の分解能すなわち画素毎の画角は、例えば、水平方向Xにおいて1.0度~1.6度であり、垂直方向Yにおいて0.3度~1.2度である。投影面R10の走査を繰り返すことにより、所望のフレームレートで距離画像を順次、生成することができる。センサ制御部14は、例えば、生成した距離画像をセンシングデータとして、入出力インタフェース部15を介して、物体認識装置200に出力する。
【0028】
入出力インタフェース部15は、所定の通信規格に準拠して外部機器との通信を行う回路を含む。所定の通信規格は、例えば、LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)、USB、及びHDMI(登録商標)を含む。
【0029】
1.2 物体認識装置の構成
物体認識装置200は、例えばPCや種々の情報端末などの情報処理装置である。物体認識装置200は、入出力インタフェース部21、演算処理部22、及び記憶部23を備える。
【0030】
入出力インタフェース部21は、例えば、機器インタフェースとネットワークインタフェースを含む。機器インタフェースは、物体認識装置200に、距離センサ100等の外部機器を接続するための回路(モジュール)である。機器インタフェースは、所定の通信規格にしたがい通信を行う取得部の一例である。所定の規格には、USB、HDMI(登録商標)、IEEE1395、Wi-Fi(登録商標)、Bluetooth(登録商標)等が含まれる。ネットワークインタフェースは、無線または有線の通信回線を介して物体認識装置200を通信ネットワークに接続するための回路(モジュール)である。ネットワークインタフェースは所定の通信規格に準拠した通信を行う取得部の一例である。所定の通信規格には、IEEE802.3,IEEE802.11a/11b/11g/11ac等の通信規格が含まれる。入出力インタフェース部21は、物体の少なくとも一部の外形に沿った三次元位置を含む三次元情報を入力する入力部の一例である。
【0031】
演算処理部22は、ソフトウェアと協働して所定の機能を実現するCPUやGPUを含み、物体認識装置200の全体動作を制御する。演算処理部22は、記憶部23に格納されたデータやプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。演算処理部22の機能は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。演算処理部22は、後述する畳み込みニューラルネットワークを構築するプログラムを実行する。プログラムは、記憶部23に格納されている。畳み込みニューラルネットワークを構築するプログラムは、各種の通信ネットワークから提供されてもよいし、又は可搬性を有する記録媒体に格納されていてもよい。
【0032】
演算処理部22は、所定の機能を実現するように設計された専用の電子回路や再構成可能な電子回路などのハードウェア回路であってもよい。演算処理部22は、CPU、GPUの他に、MPU、GPGPU、TPU、マイコン、DSP、FPGA、ASIC等の種々の半導体集積回路で構成されてもよい。
【0033】
演算処理部22は、機能的構成として、領域検出部22a、占有グリッド生成部22b、2D図面生成部22c、及び物体認識部22dを含む。領域検出部22aは、距離画像において1つの物体が存在する領域を、物体の認識対象領域として検出する。占有グリッド生成部22bは、検出された認識対象領域内の物体をボクセルの集合体によって表した占有グリッドを示す占有グリッドデータを生成する。2D図面生成部22cは、占有グリッドデータに基づいて、ボクセル集合体の二次元図面を生成する。本実施形態においては、2D図面生成部22cは、三面図を生成する。三面図は、複数の二次元情報の一例である。物体認識部22dは、三面図に基づき畳み込みニューラルネットワークによる画像処理を実行して、物体の種別を認識する。
【0034】
記憶部23は、所定の機能を実現するために必要なパラメータ、データ及び制御プログラム等を格納する。例えば、記憶部23は、畳み込みニューラルネットワークのためのプログラム、学習中及び学習済みのパラメータなどを格納する。記憶部23は、例えば、ハードディスク(HDD)、SSD、RAM、DRAM、SRAM、強誘電体メモリ、フラッシュメモリ、磁気ディスク、又はこれらの組み合わせによって実現できる。記憶部23は、各種情報を一時的に記憶してもよい。記憶部23は、例えば、演算処理部22の作業エリアとして機能するように構成されてもよい。
【0035】
物体認識装置200は、ユーザが操作を行うユーザインタフェースである操作部を備えてもよい。操作部は、例えば、キーボード、タッチパッド、タッチパネル、ボタン、スイッチ、及びこれらの組み合わせで構成される。物体認識装置200は、液晶ディスプレイや有機ELディスプレイで構成される表示部を備えてもよい。物体認識装置200は、音声を出力するスピーカを備えてもよい。
【0036】
2.動作
2.1 物体認識処理
以上のように構成される物体認識システム1の物体認識処理に関する動作について、
図4~
図10を参照して説明する。
【0037】
図4は、物体認識装置200の演算処理部22の動作を例示するフローチャートである。
【0038】
領域検出部22aは、距離センサ100が生成したセンシングデータを、入出力インタフェース部21を介して取得する(S101)。本実施形態において、センシングデータは、基準点5から物体の外形までの距離を示す距離画像である。
図5に、距離画像30の一例を示している。距離画像30は、水平方向X及び垂直方向Yに並んだ画素毎に、奥行き方向Zの距離を示す。すなわち、距離画像30において、各画素は、奥行き方向Zの距離を示す画素値を有する。距離画像30において、例えば、奥行き方向Zの距離は各画素の色によって識別される。一例では、距離が近いほど赤色になり(例えば、画素値がRGB=(255,0,0)に近づき)、距離が遠いほど青色になる(例えば、画素値がRGB=(0,0,255)に近づく)。距離画像30は、物体の少なくとも一部の外形に沿った三次元位置を含む三次元情報の一例である。
【0039】
領域検出部22aは、センシングデータに基づいて、1つの物体が存在する領域を認識対象領域として検出する(S102)。認識対象領域の検出は、公知の技術を用いて行うことができる。例えば、領域検出部22aは、距離画像30において、各画素の画素値と周囲8画素の画素値との差が所定の閾値以下の場合に同一の物体である判断して、認識対象領域35を検出する。
【0040】
占有グリッド生成部22bは、所定サイズの三次元空間を定義する(S103)。
図6は、三次元空間40を模式的に示している。占有グリッド生成部22bは、例えば、仮想的な座標系(x,y,z)において32×32×32個のボクセル41で構成される立方体の三次元空間40を定義する。
【0041】
占有グリッド生成部22bは、検出した認識対象領域35と定義した三次元空間40とに基づいて、占有グリッドを示す占有グリッドデータを生成する(S104)。
図7は、占有グリッド45の一例を模式的に示している。占有グリッド45は、三次元空間40内において占有領域46と非占有領域47とが区別された、ボクセル41の集合体である。占有領域46は物体が存在する領域を示し、非占有領域47は物体が存在しない領域を示す。占有グリッド生成部22bは、例えば、距離画像30における座標系を座標変換して、認識対象領域35内の各画素を三次元空間40のボクセル41に対応付ける。占有グリッド生成部22bは、認識対象領域35内の距離値を示す各画素が三次元空間40のいずれのボクセル41に対応するかを判断して、各ボクセル41にフラグを付与することによって、占有グリッド45を示す占有グリッドデータを生成する。フラグは、例えば、物体であるか否かを示す二値である。占有領域46内のボクセル41で構成される立体が、物体の少なくとも一部分に相当する。
【0042】
2D図面生成部22cは、占有領域46内のボクセル41で構成される立体の三面図を生成する(S105)。例えば、2D図面生成部22cは、
図7において、占有領域46内のボクセル41を方向A,B,Cから見た二次元図面を生成する。
図8Aは、方向Aから見た平面
図50Aである。
図8Bは、方向Bから見た正面
図50Bである。
図8Cは、方向Cから見た側面
図50Cである。平面
図50A、正面
図50B、及び側面
図50Cをまとめて三面
図50A,50B,50Cとも称する。2D図面生成部22cは、
図7に示す方向A,B,Cにおいて、三次元空間40の立方体を構成する平面44a,44b,44cから、占有領域46内の各ボクセルまでの距離に応じた画素値を有する三面
図50A,50B,50Cを生成する。
図8A~
図8Cの例では、距離が近いほど淡い色になり(例えば、画素値が255に近づき)、距離が遠いほど濃い色になる(例えば、画素値が0に近づく)。なお、距離が近いほど濃い色になり、距離が遠いほど淡い色になるようにしてもよい。
図8A~
図8Cにおいて、物体が存在しない画素については白色で表しているが、黒色で表してもよい。また、三面
図50A,50B,50Cは、例えば、RGBのいずれかで表される画素値を有する。一例では、平面
図50Aは赤色、正面
図50Bは緑色、側面
図50Cは青色である。
【0043】
2D図面生成部22cは、三面
図50A,50B,50Cを合成して1つの合成図を生成する(S106)。
図9に、三面
図50A,50B,50Cから生成される合成
図50Dの一例を示している。2D図面生成部22cは、合成
図50の各画素の画素値を、三面
図50A,50B,50Cの各画素の画素値に基づいて決定する。よって、例えば、合成
図50において、距離が近いほど淡い色になり、距離が遠いほど濃い色になる。また、合成
図50の各画素の色は、平面
図50A、正面
図50B、及び側面
図50Cの赤色、緑色、及び青色に基づく色となる。
【0044】
物体認識部22dは、合成
図50Dを学習済みの畳み込みニューラルネットワークに入力して、物体の種別を認識する(S107)。
図10は、畳み込みニューラルネットワーク60による画像処理を説明するための図である。畳み込みニューラルネットワーク60は、予め、車、バス、歩行者、電柱、縁石などの物体を示す合成図を使用して、物体を認識するように学習されたものである。畳み込みニューラルネットワーク60の学習方法については後述する。学習済みの畳み込みニューラルネットワーク60を構築するプログラム及びパラメータは、例えば、記憶部23に格納されている。物体認識部22dは、畳み込みニューラルネットワーク60を使用した画像処理を実行することによって、合成
図50Dから、車、バス、歩行者、電柱、縁石、ガードレール等である確率を算出する。畳み込みニューラルネットワーク60は、例えば、入力側から出力側へ順番に、畳み込み層L1,L2、全結合層L3,L4、及び出力層L5を含む。
図10の例では、畳み込み層L1,L2及び全結合層L3,L4の数はそれぞれ2層であるが、層の数は2層に限定しない。また、畳み込み層L1,L2の後段にプーリング層があってもよい。
【0045】
一層目の畳み込み層L1に、合成
図50Dが入力される。各畳み込み層L1,L2では、それぞれのフィルタを用いた畳み込み演算が行われる。畳み込み層L1,L2のフィルタは、重み付け係数の二次元配列で規定される。出力層L5からは物体の認識結果が出力される。例えば、物体が、車、バス、歩行者、電柱、縁石、ガードレール等である確率を示すベクトルが出力される。
【0046】
物体認識部22dは、認識結果を出力する(S108)。例えば、物体認識部22dは、出力層L5から出力される確率の中で最も確率が高い物体が、合成
図50Dに写っている物体であると特定し、入出力インタフェース部21を介して、特定した物体の種別を示す物体情報を車両駆動装置2に出力する。物体認識装置200が表示部を備える場合は、認識結果である物体の種別を表示部の画面に表示してもよい。物体認識装置200がスピーカを備える場合は、認識結果である物体の種別をスピーカから音声で出力してもよい。
【0047】
2.2 学習処理
図11は、畳み込みニューラルネットワーク60の学習処理を示している。例えば、演算処理部22が、物体認識処理を実行する前に、
図11に示す学習処理を行って畳み込みニューラルネットワーク60を学習させる。
【0048】
演算処理部22は、学習用の三面図と三面図に対応する正解ラベルを示すデータを取得する(S201)。例えば、演算処理部22は、予め、三面図と三面図に対応する正解ラベルを示す学習用データを、入出力インタフェース部21を介して取得して、記憶部23に格納しておく。ステップS201において、演算処理部22は、記憶部23から学習用データを読み出す。正解ラベルは、例えば、車、バス、歩行者、電柱、縁石、ガードレールである。
【0049】
演算処理部22は、三面図を合成して合成図を生成する(S202)。演算処理部22は、合成図を畳み込みニューラルネットワーク60に入力して物体の種別を認識する(S203)。
【0050】
演算処理部22は、認識結果と正解ラベルとに基づいて、畳み込みニューラルネットワーク60のパラメータを調整する(S204)。例えば、演算処理部22は、誤差逆伝播法に従って、畳み込み層L1,L2のフィルタの重み付け係数と全結合層L3,L4のニューロン間の重み付け係数を調整する。
【0051】
演算処理部22は、所定回数の学習が終了したか否かを判断する(S205)。所定回数の学習が終了するまで、ステップS201~S204を繰り返す。所定回数の学習が終了すれば、
図11に示す学習処理を終了する。演算処理部22は、学習済みの畳み込みニューラルネットワーク60に対応するプログラム及びパラメータを、記憶部23に格納する。
【0052】
図11の例では、ステップS201において三面図を取得し、ステップS202において合成図を生成したが、ステップS201において合成図を取得してもよい。この場合、ステップS202は省略する。
【0053】
2.3 三面図とVoxNetの要素数の比較
図12は、物体認識に使用される要素の数を比較した図であって、従来のVoxNetにおける要素数(ボクセル数)と、本開示の三面図における要素数(画素数)を示している。一辺の要素が32個の場合、VoxNetの要素数は32×32×32=32768となり、三面図では32×32×3=3072となる。よって、三面図の要素数は、VoxNetの要素数の約1/10である。一辺の要素が64個の場合は、VoxNetの要素数は64×64×64=262144となり、三面図では64×64×3=12288となる。よって、三面図の要素数は、VoxNetの要素数の約1/20となる。一辺のボクセルが128個の場合は、VoxNetの要素数は2097152となり、三面図では49152となる。よって、三面図の要素数は、VoxNetの要素数の約1/40となる。このように、三面図にすることによって要素数が減少するため、三面図の画像を用いた二次元のCNNによる画像処理は、三次元のCNNによる画像処理よりも、処理負荷が低減する。よって、物体認識の処理速度が向上する。
【0054】
距離センサ100による基準点5から投影面R10への方向における距離の計測では、物体の表側(投影面R10において基準点5がある側)しか計測できず、物体の裏側(投影面R10において基準点5と反対側)の距離を計測することができない。すなわち、占有領域46は、物体の全体には対応していない。よって、占有グリッド45を三面図に変換しても、物体の距離値の情報量が大幅に低減することはなく、精度良く物体を認識することができる。
【0055】
3.まとめ
本実施形態に係る物体認識システム1は、距離センサ100と物体認識装置200とを含む。距離センサ100は、物体までの距離を計測して、物体の少なくとも一部の外形に沿った三次元位置を含むセンシングデータを生成する。本実施形態に係る物体認識装置200は、入出力インタフェース部21と演算処理部22とを備える。入出力インタフェース部21は、センシングデータを入力する。演算処理部22は、センシングデータに基づいて物体を認識する。具体的には、演算処理部22は、センシングデータに基づいて、三次元位置によって表される立体を複数の方向から見た複数の二次元図面を生成し、複数の二次元図面に基づいて物体を認識する。
【0056】
物体認識に二次元図面を使用しているため、物体認識に使用されるデータ量が低減する。よって、画像処理の処理負荷が低減し、物体認識の処理速度が向上する。
【0057】
演算処理部22は、生成した複数の二次元図面に基づき畳み込みニューラルネットワーク60による画像処理を実行して、物体を認識する。二次元の畳み込みニューラルネットワークは三次元の畳み込みニューラルネットワークと比較して、ネットワークの規模を小さくすることができる。例えば、層の数及びニューロンの数等を低減することができる。
【0058】
本実施形態において、センシングデータは、基準点5から物体の外形までの距離を示す距離画像である。演算処理部22は、距離画像に基づいて、立体を表すボクセルの集合体を生成する。具体的には、演算処理部22は、複数のボクセルに分割可能な三次元空間40を定義し、物体の外形に沿った三次元位置を三次元空間に対応付けて、複数のボクセルのうち物体が占有しているボクセルによって立体を表す。この立体は、占有領域46のボクセルに相当する。
【0059】
本実施形態では、センシングデータは物体の一部の外形に沿った三次元位置を含み、複数の二次元図面は立体を直交3軸方向から見た三面図である。三面図は、各々の基準位置である平面44a,44b,44cから立体までの距離に応じた画素値を有する。演算処理部22は、三面図を合成して合成図を生成し、合成図に基づいて物体を認識する。三面図は、三次元情報と略同程度の距離に関する情報量を有するため、三面図を利用した物体認識は、三次元ボクセルを利用した物体認識と同程度の精度が得られる。
【0060】
(実施形態2)
実施形態1では、物体認識装置200は、一つの距離センサ100による投影面R10内の測距に基づいて生成した三面図を使用して物体認識を行った。本実施形態では、六面図を使用して物体認識を行う。六面図は、複数の二次元情報の一例である。
【0061】
図13は、実施形態2に係る物体認識装置200による物体認識処理の一例を示すフローチャートである。
図13のステップS302~S304、S307、及びS308は、実施形態1の
図4のステップS102~S104、S107、及びS108と同一である。
【0062】
本実施形態では、領域検出部22aは複数のセンシングデータを、入出力インタフェース部21を介して取得する(S301)。各センシングデータは物体の一部の外形に沿った三次元位置を含み、複数のセンシングデータは物体の外形全体に沿った三次元位置を含む。複数のセンシングデータは、例えば、複数の基準点5からの測距に基づいて生成された距離画像である。複数の基準点5は、例えば、対向する位置に設けられる。一例では、領域検出部22aは、異なる位置に配置された複数の距離センサからそれぞれセンシングデータを取得する。別の例では、領域検出部22aは、1つの距離センサが異なる位置で測距して生成した複数のセンシングデータを取得してもよい。
【0063】
領域検出部22aは、各距離画像においてそれぞれ、物体が存在する領域を認識対象領域として検出する(S302)。占有グリッド生成部22bは、三次元空間40を定義する(S303)。占有グリッド生成部22bは、各認識対象領域のローカル座標をワールド座標に変換して1つの占有グリッド45を示す占有グリッドデータを生成する(S304)。
図14は、実施形態2における占有グリッド45を説明するための図である。占有グリッド45は、実施形態1と同様に、三次元空間40内において占有領域46と非占有領域47とが区別された、ボクセル41の集合体である。
【0064】
2D図面生成部22cは、占有領域46内のボクセル41で構成される立体の六面図を生成する(S305)。
図15は、
図14の矢印a~fの方向からそれぞれ占有領域46内のボクセル41を見た六面図を示している。具体的には、
図15の(a)は、
図14の矢印aの方向から見た正面図である。
図15の(b)は
図14の矢印bの方向から見た背面図である。
図15の(c)は
図14の矢印cの方向から見た左側面図である。
図15の(d)は
図14の矢印dの方向から見た右側面図である。
図15の(e)は
図14の矢印eの方向から見た平面図(上面図)である。
図15の(f)は
図14の矢印fの方向から見た底面図である。
図15の(a)~(f)に示す六面図は、三次元空間40を示す立方体の各平面から、占有領域46の各ボクセルまでの距離に応じた画素値を有する。
図15(a)~(f)の例では、距離が近いほど淡い色になり(例えば、画素値が255に近づき)、距離が遠いほど濃い色になる(例えば、画素値が0に近づく)ようにしている。しかし、距離が近いほど濃い色になり、距離が遠いほど淡い色になるようにしてもよい。
図15(a)~(f)において、物体が存在しない画素については白色で表しているが、黒色で表してもよい。
【0065】
2D図面生成部22cは、六面図を合成して一つの合成図を生成する(S306)。物体認識部22dは、合成図を学習済みの畳み込みニューラルネットワーク60に入力して、物体の種別を認識する(S307)。物体認識部22dは、認識結果を出力する(S308)。
【0066】
以上のように、本実施形態では、複数のセンシングデータは物体の外形全体に沿った三次元位置を含む。物体認識装置200は、占有領域46内のボクセルで構成される立体を直交3軸の正負方向からそれぞれ見た六面図を生成する。物体認識装置200は、六面図を使用して物体を認識する。これにより、物体の外形全体に基づく物体認識を行うことができる。よって、精度良く物体を認識することができる。
【0067】
(他の実施形態)
上記実施形態では、センシングデータが距離画像であって、物体認識装置200は、距離画像に基づいて占有グリッド45を生成する例について説明した。しかし、センシングデータは、距離画像に限らない。センシングデータは、物体の少なくとも一部の外形に沿った三次元位置を含めばよい。例えば、センシングデータは、距離センサ100が計測した物体の外形までの距離を示す三次元点群情報であってもよい。このような三次元点群情報は、例えば、x座標、y座標、及びz座標を含む。
【0068】
上記実施形態では、2D図面生成部22cは、占有領域46内のボクセル41で構成される立体の三面図又は六面図を生成したが、生成する二次元図面の数は2つ以上であればよい。
【0069】
上記実施形態では、物体認識装置200の演算処理部22が、
図11に示す学習処理を行う例について説明したが、畳み込みニューラルネットワーク60の学習処理は、物体認識装置200とは別の装置が行ってもよい。例えば、コンピュータクラスタ或いはクラウドコンピューティングなどによって、畳み込みニューラルネットワーク60が構築されてもよい。
【0070】
上記実施形態では、距離センサ100と物体認識装置200が車両3に搭載される例について説明したが、車両3に限らず、自走ロボット又はAGV(Automated Guided Vehicle)等に搭載されてもよい。また、物体認識装置200は、車両3等に搭載されなくてもよい。本開示に係る物体認識装置200は、種々の情報処理装置であってもよい。例えば、物体認識装置200は、ASPサーバなどの一つ又は複数のサーバ装置であってもよい。例えば、物体認識装置200は、通信ネットワークを介して、距離センサ100からセンシングデータを取得して、畳み込みニューラルネットワーク60による画像処理を実行してもよい。また、物体認識装置200は、物体の認識結果を示す情報を、通信ネットワークを介して、車両駆動装置2に送信してもよい。
【0071】
上記実施形態では、距離センサ100と物体認識装置200は別個の機器であったが、距離センサ100と物体認識装置200は一つの機器であってもよい。例えば、物体認識装置200は距離センサ100の内部に設けられて、距離センサ100が物体認識装置200と同一の機能を備えてもよい。
【0072】
上記実施形態では、物体認識部22dが物体の種別を認識する例について説明したが、認識の動作は、物体の種別を識別することに限らない。認識とは、対象物の特徴量を抽出することを含む。例えば、対象物が車の場合、物体認識部22dが行う認識は、車の特徴量として「直方体」及び「車輪」を抽出することを含む。
【0073】
(付記)
以上のように、本開示の各種実施形態について説明したが、本開示は上記の内容に限定されるものではなく、技術的思想が実質的に同一の範囲内で種々の変更を行うことができる。以下、本開示に係る各種態様を付記する。
【0074】
本開示に係る第1の態様の物体認識装置は、物体の少なくとも一部の外形に沿った三次元位置を含む三次元情報を入力する入力部(21)と、前記三次元情報に基づいて前記物体を認識する演算処理部(22)と、を備え、前記演算処理部(22)は、前記三次元情報に基づいて、前記三次元位置によって表される立体を複数の方向から見た二次元図面を示す複数の二次元情報を生成し、前記複数の二次元情報に基づいて前記物体を認識する。
【0075】
第2の態様では、第1の態様の物体認識装置において、前記演算処理部は、生成した前記複数の二次元情報に基づき畳み込みニューラルネットワークによる画像処理を実行して、前記物体を認識する。
【0076】
第3の態様では、第1の態様又は第2の態様の物体認識装置において、前記三次元情報は、基準点から前記物体の少なくとも一部の外形までの距離を示す距離画像である。
【0077】
第4の態様では、第1の態様から第3の態様のいずれかの物体認識装置において、前記演算処理部は、前記三次元情報に基づいて、前記立体を表すボクセルの集合体を生成する。
【0078】
第5の態様では、第4の態様の物体認識装置において、前記演算処理部は、複数のボクセルに分割可能な三次元空間を定義し、前記三次元位置を前記三次元空間に対応付けて、前記複数のボクセルのうち前記物体が占有しているボクセルによって前記立体を表す。
【0079】
第6の態様では、第1の態様から第5の態様のいずれかの物体認識装置において、前記複数の二次元情報は、各々の基準位置から前記立体までの距離に応じた画素値を有する。
【0080】
第7の態様では、第1の態様から第6の態様のいずれかの物体認識装置において、前記三次元情報は、前記物体の一部の外形に沿った三次元位置を含み、前記複数の二次元情報は、前記立体を直交3軸方向の各々から見た三面図である。
【0081】
第8の態様では、第1の態様から第6の態様のいずれかの物体認識装置において、前記三次元情報は、前記物体の外形全体に沿った三次元位置を含み、前記複数の二次元情報は、前記立体を直交3軸の正負方向の各々から見た六面図である。
【0082】
第9の態様では、第1の態様から第8の態様のいずれかの物体認識装置において、前記演算処理部は、前記複数の二次元情報を合成して合成図を生成し、前記合成図に基づいて前記物体を認識する。
【0083】
本開示に係る物体認識システムは、物体までの距離を計測して前記三次元情報を生成するセンサと、第1の態様から第9の態様のいずれか一つに記載の前記物体認識装置と、を含む。
【0084】
本開示に係るプログラムは、物体の少なくとも一部の外形に沿った三次元位置を含む三次元情報を入力するステップと、前記三次元情報に基づいて、前記三次元位置によって表される立体を複数の方向から見た二次元図面を示す複数の二次元情報を生成するステップと、前記複数の二次元情報に基づいて前記物体を認識するステップと、をコンピュータに実行させる。
【産業上の利用可能性】
【0085】
本開示の物体認識装置及び物体認識システムは、例えば、自動運転車、自走ロボット、及びAGVなどに適用可能である。
【符号の説明】
【0086】
1 物体認識システム
2 車両駆動装置
3 車両
11 投光部
12 受光部
13 走査部
14 センサ制御部
15、21 入出力インタフェース部
22 演算処理部
22a 領域検出部
22b 占有グリッド生成部
22c 2D図面生成部
22d 物体認識部
23 記憶部
100 距離センサ
200 物体認識装置