(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022138613
(43)【公開日】2022-09-26
(54)【発明の名称】物体検出装置、物体検出方法およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220915BHJP
【FI】
G06T7/00 650B
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021038586
(22)【出願日】2021-03-10
(71)【出願人】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100113549
【弁理士】
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【弁理士】
【氏名又は名称】加藤 真司
(72)【発明者】
【氏名】高野 岳
(72)【発明者】
【氏名】小堀 渉
(72)【発明者】
【氏名】滝口 昌宏
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096CA05
5L096DA01
5L096FA16
5L096FA66
5L096HA09
(57)【要約】 (修正有)
【課題】大きさの異なる物体が混在する環境において適切に物体を検出できる装置及び方法を提供する。
【解決手段】物体検出装置は、LIDAR10と、点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成する第1バウンディングボックス付き物体クラスタ生成部21と、複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出する距離算出部22と、距離に対して、その距離に関する第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行う距離補正部23と、距離補正部23にて求めた距離に基づいて、第1のバウンディングボックス付き物体クラスタをクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成する第2バウンディングボックス付き物体クラスタ生成部24と、第2のバウンディングボックス付き物体クラスタのデータを出力する出力部25とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
点群データを取得する3次元測定部と、
点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成する第1バウンディングボックス付き物体クラスタ生成部と、
複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出する距離算出部と、
前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行う距離補正部と、
前記距離補正部にて求めた距離に基づいて、前記第1のバウンディングボックス付き物体クラスタをクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成する第2バウンディングボックス付き物体クラスタ生成部と、
前記第2のバウンディングボックス付き物体クラスタのデータを出力する出力部と、
を備える物体検出装置。
【請求項2】
前記距離算出部は、距離算出対象の一方の第1のバウンディングボックス付き物体クラスタのバウンディングボックスと他方の第1のバウンディングボックス付き物体クラスタに含まれる点群との距離の中で最小の距離を求める請求項1に記載の物体検出装置。
【請求項3】
前記距離算出部は、前記一方の第1のバウンディングボックス付き物体クラスタの座標系の座標軸に沿ったL1距離を求める請求項2に記載の物体検出装置。
【請求項4】
前記第1バウンディングボックス付き物体クラスタ生成部は、路面を構成する複数の局所平面のうちの一つを底面とする第1のバウンディングボックス付き物体クラスタを生成し、
前記第2バウンディングボックス付き物体クラスタ生成部は、同じクラスタにクラスタリングされる第1のバウンディングボックス付き物体クラスタのうち最も大きい第1のバウンディングボックス付き物体クラスタの底面を底面とする第2のバウンディングボックス付き物体クラスタを生成する請求項1乃至3のいずれか1項に記載の物体検出装置。
【請求項5】
前記3次元測定部は、異なる位置に設置された複数の3次元測定部からなり、
前記第1バウンディングボックス付き物体クラスタ生成部は、前記点群データを取得した前記3次元測定部ごとに前記点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成する請求項1乃至4のいずれか1項に記載の物体検出装置。
【請求項6】
前記距離補正部は、前記距離に対して補正係数を乗じることによって補正を行い、
ここで、小さい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数は、大きい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数よりも大きい請求項1乃至5のいずれか1項に記載の物体検出装置。
【請求項7】
点群データをクラスタリングして生成された複数の第1のバウンディングボックス付き物体クラスタのデータを取得するデータ取得部と、
前記複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を求める距離算出部と、
前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行う距離補正部と、
前記距離補正部にて求めた距離に基づいて、前記第1のバウンディングボックス付き物体クラスタのクラスタリングを行い、第2のバウンディングボックス付き物体クラスタを求めるバウンディングボックス付き物体クラスタ生成部と、
前記第2のバウンディングボックス付き物体クラスタのデータを出力する出力部と、
を備える物体検出装置。
【請求項8】
前記距離算出部は、距離算出対象の一方の第1のバウンディングボックス付き物体クラスタのバウンディングボックスと他方の第1のバウンディングボックス付き物体クラスタに含まれる点群との距離の中で最小の距離を求める請求項7に記載の物体検出装置。
【請求項9】
前記距離算出部は、前記一方の第1のバウンディングボックス付き物体クラスタの座標系の座標軸に沿ったL1距離を求める請求項8に記載の物体検出装置。
【請求項10】
前記第1のバウンディングボックス付き物体クラスタは、路面を構成する複数の局所平面のうちの一つを底面としており、
前記バウンディングボックス付き物体クラスタ生成部は、同じクラスタにクラスタリングされる第1のバウンディングボックス付き物体クラスタのうち最も大きい第1のバウンディングボックス付き物体クラスタの底面を底面とする第2のバウンディングボックス付き物体クラスタを生成する請求項7乃至9のいずれか1項に記載の物体検出装置。
【請求項11】
前記第1のバウンディングボックス付き物体クラスタは、複数の3次元測定部で取得した点群データから生成されたデータである請求項7乃至10のいずれか1項に記載の物体検出装置。
【請求項12】
前記距離補正部は、前記距離に対して補正係数を乗じることによって補正を行い、
ここで、小さい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数は、大きい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数よりも大きい請求項7乃至11のいずれか1項に記載の物体検出装置。
【請求項13】
物体検出装置が点群データに基づいて物体を検出する方法であって、
前記物体検出装置が、点群データを取得するステップと、
前記物体検出装置が、点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成するステップと、
前記物体検出装置が、複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出するステップと、
前記物体検出装置が、前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行うステップと、
前記物体検出装置が、補正された距離に基づいて、前記第1のバウンディングボックス付き物体クラスタをクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成するステップと、
前記物体検出装置が、前記第2のバウンディングボックス付き物体クラスタのデータを出力するステップと、
を備える物体検出方法。
【請求項14】
点群データに基づいて物体を検出するためのプログラムであって、コンピュータに、
点群データを取得するステップと、
点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成するステップと、
複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出するステップと、
前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行うステップと、
補正された距離に基づいて、前記第1のバウンディングボックス付き物体クラスタをクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成するステップと、
前記第2のバウンディングボックス付き物体クラスタのデータを出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体を検出する物体検出装置、物体検出方法およびプログラムに関する。
【背景技術】
【0002】
周囲の物体をリアルタイムで高精度に検知するライダー(LIDAR)というセンサが注目されている。ライダーは、光を用いたリモートセンシング技術の一つで、光を発光し、対象物で反射した光を受光するまでの時間によって対象物までの距離を求める。発光方向を2次元走査することにより、3次元的に周囲にある対象物の相対距離が測定可能となる。このLIDARを3次元LIDARと呼ぶ。
【0003】
この3次元LIDARによる観測結果は観測点群となる。この観測点群の路面より上の観測点群に対して、距離による凝集型クラスタリングを行い、予め定めた距離閾値以下の距離内にある観測点群であるクラスタを物体(物体クラスタ)として検出する手段がある。
【0004】
さらに、物体クラスタを他のアプリケーションで使用するために,この得られた物体クラスタに対して、路面に接し、物体クラスタを囲む直方体枠(境界ボックス、バウンディングボックス)をつけて出力する手段がある(非特許文献1)。このようなバウンディングボックス付き物体クラスタ検出手段は、人流検知などに使われてきた。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Xiao Zhang, Wenda Xu, Chiyu Dong and John M. Dolan, 「Efficient L-Shape Fitting for Vehicle Detection Using Laser Scanners」 IEEE Intelligent Vehicles Symposium, June 2017
【発明の概要】
【発明が解決しようとする課題】
【0006】
人流検知の場合、凝集型クラスタリングによる物体クラスタ検出手段での距離閾値は、例えば20cm程度に設定する。この凝集型クラスタリングによる物体クラスタ検出手段を、交差点などの人と自動車が混在する環境に適用して、その数や位置を取得する場合、人は正しく検出できるが、自動車の検出に次のような問題を生じるケースがある。
【0007】
ボンネット、ルーフ、ピラー、バンパー、フェンダー、サイドシル、トランクグリッドなどは金属でできており、LIDARの発光を強く反射するが、フロントガラス、リアウィンドウガラス、サイドガラスは反射が弱い。このため、LIDARから見ると、クルマは20cmより離れたいくつかの部分に分割された物体クラスタとなり、全体がつながった観測点群として得られないことがある。
【0008】
また、
図8(a)及び
図8(b)に示すように、LIDARから見て、手前に人がいて、奥に自動車がある場合、人がLIDARの発光を遮るため、自動車にはLIDARの光が当たらない部分が生じる。この光が当たらない部分が20cmより大きくなると、自動車は分割された物体クラスタとして検知される。この分割は大きさがほぼ同じ物体のみが存在するケースでは起きないが、人と自動車の様に、大きさが異なる物体が混在すると発生する。
【0009】
このような問題を回避する簡単なアイデアとして、距離閾値を20cmではなく、例えば1m程度まで大きくすることが考えられる。凝集型クラスタリングの性質上、距離閾値以下にある観測点群はまとめて一つの物体クラスタとなるので、この距離閾値を大きくすれば、自動車が分割されたクラスタになってしまうという上述の問題を解決することができる。しかし、閾値を大きくすると、今度は並んだ2人の人が誤って1つの物体クラスタになる問題が生じてしまう。
【0010】
上述したとおり、人と人より大きな自動車などが混在する環境においては、LIDAR等により得られた点群データをクラスタリングして適切に物体を検出することは難しかった。
【0011】
本発明は上記背景に鑑み、大きさの異なる物体が混在する環境において適切に物体を検出できる物体検出装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の物体検出装置は、点群データを取得する3次元測定部と、点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成する第1バウンディングボックス付き物体クラスタ生成部と、複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出する距離算出部と、前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行う距離補正部と、前記距離補正部にて求めた距離に基づいて、前記第1のバウンディングボックス付き物体をクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成する第2バウンディングボックス付き物体クラスタ生成部と、前記第2のバウンディングボックス付き物体クラスタのデータを出力する出力部とを備える。
【0013】
この構成により、第1のバウンディングボックス付き物体クラスタの大きさに応じて、その凝集されやすさを変更することができ、大きさの異なる物体が混在する環境において適切に物体を検出できる。
【0014】
本発明の物体検出装置において、前記距離算出部は、距離算出対象の一方の第1のバウンディングボックス付き物体クラスタのバウンディングボックスと他方の第1のバウンディングボックス付き物体クラスタに含まれる点群との距離の中で最小の距離を求めてもよい。より具体的には、距離の測定対象の第1のバウンディングボックス付き物体クラスタをA,Bとすると、AのバウンディングボックスとBに含まれる点群との距離、BのバウンディングボックスとAに含まれる点群との距離のうちで最小の距離を、第1のバウンディングボックス付き物体クラスタの間の距離とする。ここで、前記距離算出部は、前記一方の第1のバウンディングボックス付き物体クラスタの座標系の座標軸に沿ったL1距離(マンハッタン距離)を求めてもよい。
【0015】
この構成により、第1のバウンディングボックス付き物体クラスタの間の距離を容易に求めることができる。
【0016】
本発明の物体検出装置において、前記第1バウンディングボックス付き物体クラスタ生成部は、路面を構成する複数の局所平面のうちの一つを底面とする第1のバウンディングボックス付き物体クラスタを生成し、前記第2バウンディングボックス付き物体クラスタ生成部は、同じクラスタにクラスタリングされる第1のバウンディングボックス付き物体クラスタのうち最も大きい第1のバウンディングボックス付き物体クラスタの底面を底面とする第2のバウンディングボックス付き物体クラスタを生成してもよい。
【0017】
この構成により、路面を底面とする第2のバウンディングボックス付き物体クラスタを生成できる。
【0018】
本発明の物体検出装置において、前記3次元測定部は、異なる位置に設置された複数の3次元測定部からなり、前記第1バウンディングボックス付き物体クラスタ生成部は、前記点群データを取得した前記3次元測定部ごとに前記点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成してもよい。
【0019】
この構成により、複数の3次元測定部で取得した点群データから生成された第1のバウンディングボックス付き物体クラスタを統合できる。
【0020】
本発明の物体検出装置において、前記距離補正部は、前記距離に対して補正係数を乗じることによって補正を行い、ここで、小さい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数は、大きい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数よりも大きい構成としてもよい。
【0021】
この構成により、小さい第1のバウンディングボックス付き物体クラスタどうしは物体クラスタとして凝集されにくくなる。人と自動車とが混在する環境において、小さい物体である人と人がクラスタリングされてしまう不都合を防止すると共に、大きい物体である自動車のパーツについては同じ物体クラスタにまとめることができる。
【0022】
本発明の物体検出装置は、点群データをクラスタリングして生成された複数の第1のバウンディングボックス付き物体クラスタのデータを取得するデータ取得部と、前記複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を求める距離算出部と、前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行う距離補正部と、前記距離補正部にて求めた距離に基づいて、前記第1のバウンディングボックス付き物体クラスタのクラスタリングを行い、第2のバウンディングボックス付き物体クラスタを求めるバウンディングボックス付き物体クラスタ生成部と、前記第2のバウンディングボックス付き物体クラスタのデータを出力する出力部とを備える。
【0023】
本発明の物体検出装置において、前記距離算出部は、距離算出対象の一方の第1のバウンディングボックス付き物体クラスタのバウンディングボックスと他方の第1のバウンディングボックス付き物体クラスタに含まれる点群との距離の中で最小の距離を求めてもよい。
【0024】
本発明の物体検出装置において、前記一方の第1のバウンディングボックス付き物体クラスタの座標系の座標軸に沿ったL1距離(マンハッタン距離)を求めてもよい。
【0025】
本発明の物体検出装置において、前記第1のバウンディングボックス付き物体クラスタは、路面を構成する複数の局所平面のうちの一つを底面としており、前記バウンディングボックス付き物体クラスタ生成部は、同じクラスタにクラスタリングされる第1のバウンディングボックス付き物体クラスタのうち最も大きい第1のバウンディングボックス付き物体クラスタの底面を底面とする第2のバウンディングボックス付き物体クラスタを生成してもよい。
【0026】
本発明の物体検出装置において、前記第1のバウンディングボックス付き物体クラスタは、複数の3次元測定部で取得した点群データから生成されたデータであってもよい。
【0027】
本発明の物体検出装置において、前記距離補正部は、前記距離に対して補正係数を乗じることによって補正を行い、ここで、小さい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数は、大きい第1のバウンディングボックス付き物体クラスタどうしの距離に対して乗じる補正係数よりも大きい構成としてもよい。
【0028】
本発明の物体検出方法は、物体検出装置が点群データに基づいて物体を検出する方法であって、前記物体検出装置が、点群データを取得するステップと、前記物体検出装置が、点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成するステップと、前記物体検出装置が、複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出するステップと、前記物体検出装置が、前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行うステップと、前記物体検出装置が、補正された距離に基づいて、前記第1のバウンディングボックス付き物体クラスタをクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成するステップと、前記物体検出装置が、前記第2のバウンディングボックス付き物体クラスタのデータを出力するステップとを備える。
【0029】
本発明のプログラムは、点群データに基づいて物体を検出するためのプログラムであって、コンピュータに、点群データを取得するステップと、点群データをクラスタリングして複数の第1のバウンディングボックス付き物体クラスタを生成するステップと、複数の第1のバウンディングボックス付き物体クラスタの相互間の距離を算出するステップと、前記距離に対して、その距離に関する前記第1のバウンディングボックス付き物体クラスタの大きさに応じた補正を行うステップと、補正された距離に基づいて、前記第1のバウンディングボックス付き物体クラスタをクラスタリングして複数の第2のバウンディングボックス付き物体クラスタを生成するステップと、前記第2のバウンディングボックス付き物体クラスタのデータを出力するステップとを実行させる。
【発明の効果】
【0030】
本発明によれば、大きさの異なる物体が混在する環境において適切に物体を検出できる。
【図面の簡単な説明】
【0031】
【
図1】実施の形態の物体検出装置の構成を示す図である。
【
図2】(a)第1バウンディングボックス付き物体クラスタ生成部の構成を示す図である。(b)第2バウンディングボックス付き物体クラスタ生成部の構成を示す図である。
【
図4】矩形形状からの乖離度を表す評価関数cost2
DBOX(θ
BOX)について説明するための図である。
【
図5】バウンディングボックスの8つの頂点SP
BOX =P
BOX(k),k=1,..,8に示す図である。
【
図7】実施の形態の物体検出装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0032】
以下、本発明の実施の形態の物体検出装置について図面を参照しながら説明する。本実施の形態の物体検出装置は、交差点や道路などの人と自動車が混在する環境において、物体(人や自動車)を検出するために用いられる。
【0033】
図1は、実施の形態の物体検出装置1の構成を示す図である。物体検出装置1は、点群データを取得するLIDAR10と、LIDAR10で取得した点群データを処理する演算処理部20とを備えている。本実施の形態では、複数のLIDAR10を有する例を用いているが、LIDAR10の数は1台でもよい。
【0034】
[概要]
最初に、
図1を参照して、本実施の形態の物体検出装置1の概要について説明する。演算処理部20は、LIDAR10から取得したデータを用いて、第1のバウンディングボックス付き物体クラスタを生成する第1バウンディングボックス付き物体クラスタ生成部21を備えている。第1のバウンディングボックス付き物体クラスタは、点群データをクラスタリングして得られた物体クラスタに、当該物体クラスタを構成する点群を囲む直方体のバウンディングボックスを付与したものである。本実施の形態において、バウンディングボックスは路面を底面としている。
【0035】
演算処理部20は、第1のバウンディングボックス付き物体クラスタに対して処理を行う距離算出部22と、距離補正部23と、第2バウンディングボックス付き物体クラスタ生成部24と、出力部25とを有している。
【0036】
距離算出部22は、第1バウンディングボックス付き物体クラスタ生成部21で生成された複数の第1のバウンディングボックス付き物体クラスタどうしの距離を算出する。距離算出部22は、第1バウンディングボックス付き物体クラスタ生成部21で生成されたデータを取得するデータ取得部の役割を有する。
【0037】
本実施の形態では、距離測定の対象の一方の第1のバウンディングボックス付き物体クラスタのバウンディングボックスと、他方の第1のバウンディングボックス付き物体クラスタの内部の点群データの各点との距離を求め、その最小値を第1のバウンディングボックス付き物体クラスタ間の距離とする。
【0038】
距離補正部23は、第1のバウンディングボックス付き物体クラスタ間の距離を補正する。距離補正部23は、第1のバウンディングボックス付き物体クラスタをクラスタリングする際に、小さい第1のバウンディングボックス付き物体クラスタどうしがクラスタリングされてしまわないように、小さい第1のバウンディングボックス付き物体クラスタ間の距離を大きくするような補正係数を乗じる。
【0039】
第2バウンディングボックス付き物体クラスタ生成部24は、第1のバウンディングボックス付き物体クラスタをクラスタリングして、第2のバウンディングボックス付き物体クラスタを生成する。
【0040】
以上の構成により、サイズの小さい第1のバウンディングボックス付き物体クラスタは統合されにくく、サイズの大きい第1のバウンディングボックス付き物体クラスタは統合される。人と自動車が混在する環境においては、人は自動車のパーツに比べて小さいので、人と人は統合されずに分離された状態を維持し、自動車のパーツは統合されるので車全体で物体クラスタが形成されることが期待される。
【0041】
[詳細説明]
以下、物体検出装置1の各構成について詳細に説明する。
(LIDAR)
LIDAR10は、自身の周囲を走査し、周辺環境を3次元観測点群データSP
OBSとして出力する。観測点群データは、例えば点の位置を示すデータで、デカルト座標系XYZや、球座標系r
θΦで表される。本実施の形態では、デカルト座標系を例として説明する。デカルト座標系の場合、点の位置を示すP
OBSを要素とする集合SP
OBSが出力される。
【数1】
【0042】
図2(a)は、第1のバウンディングボックス付き物体クラスタ生成部21の構成を示す図である。第1のバウンディングボックス付き物体クラスタ生成部21は、路面上観測点群抽出部211と、第1クラスタリング部212と、第1バウンディングボックス付与部213とを有している。
【0043】
(路面上観測点群抽出部)
路面上観測点群抽出部211は、3次元観測点群データSPOBSを入力として、路面上観測点群データSPOTSを出力する。本実施の形態の物体検出装置1は、路面上に立っている人や路面上を走行する自動車を検出したいので、路面に乗っている観測点群(例えば、横断歩道やセンターライン等の観測点群)を物体検出処理の対象とする必要がない。物体検出装置1がクラスタリングの対象とする点群は、路面より上にある観測点群である。これを本書では「路面上観測点群」という。路面上観測点群抽出部211は、LIDAR10で取得した全観測点群から路面上観測点群を抽出する。
【0044】
路面上観測点群抽出部211は、LIDAR10の全観測領域の路面情報を有している。
図3は路面情報の例を示す図である。路面情報は、LIDAR10の全観測領域を複数の局所平面に分割し、局所平面の集合によって路面を定義している。路面はデカルト座標系では、次式で表される。
【数2】
また、路面の法線単位ベクトルは、次式で表される。
【数3】
【0045】
図3に示すように、路面は全観測領域で一様ではないので、次式で表される路面係数ベクトルは局所的に異なる値が格納されている。
【数4】
【0046】
路面上観測点群抽出部211は、観測点群SP
OBSの中で最も近傍の路面に対して、以下の式を満たす点群を路面上観測点群SP
OTSとして抽出する。
【数5】
【0047】
(第1クラスタリング部)
第1クラスタリング部212は、路面上観測点群データSPOTSに対して凝集型クラスタリング処理を行い、距離閾値rthrs1以下となる観測点群を集めた物体クラスタを生成する。ここで生成される複数の物体クラスタの集合を第1物体クラスタ集合SC1STOBJという。第1クラスタリング部212は、第1物体クラスタ集合SC1STOBJを出力する。
【0048】
凝集型クラスタリングでは、点どうしの距離が所定の閾値以下である点をクラスタとしてまとめる。凝集型クラスタリング処理については、例えば、福島真太朗ほか「Python 機械学習プログラミング 達人データサイエンティストによる理論と実践」インプレス, 2018. 11.2節に記載されている。ここでは、処理の一例を簡単に説明する。
【0049】
まず、全ての点の間の距離を求めて、距離行列を作成する。距離行列は、i行j列の要素がi番目の点(またはクラスタ)とj番目の点(またはクラスタ)の距離を表す行列である。距離行列の中の最小値が閾値以下であれば、その点(またはクラスタ)どうしをマージしてクラスタを生成する。新たに生成された距離行列において最小値が閾値以下であるか否かを判定し、閾値以下であれば、その点(またはクラスタ)どうしをマージする。最小値が閾値以下でなくなるまでこの処理を繰り返すことにより、点群データをクラスタに分ける。生成されたクラスタとクラスタとの間の距離は、閾値より大きくなる。
【0050】
以降の説明のため、表記を定義する。第1物体クラスタ集合SC1STOBJのi番目の要素である物体クラスタをC1STOBJ(i)とする。ここで、第1物体クラスタは、第1クラスタリング部212で生成された物体クラスタであり、未だバウンディングボックスが付与されていないクラスタである。物体クラスタC1STOBJ(i)は構成点(メンバー)間相互の距離がrthrs1以下となる路面上観測点POTSの集合で構成される。この物体クラスタの構成点群をSPENEで表し、特に物体クラスタC1STOBJ(i)の構成点群をC1STOBJ(i).SPENEで表す。
【0051】
(第1バウンディングボックス付与部)
第1バウンディングボックス付与部213は、第1物体クラスタ集合SC1STOBJを入力とし、第1物体クラスタ集合SC1STOBJの要素である物体クラスタC1STOBJ(i)毎に直方体の3次元バウンディングボックスSPBOXを付与し、改めて第1バウンディングボックス付き第1物体クラスタ集合SC1STOBJとして出力する。
【0052】
物体クラスタC1STOBJ(i)の3次元バウンディングボックスをC1STOBJ(i).SPBOXと記述する。物体クラスタC1STOBJ(i)の構成点群はC1STOBJ(i).SPENE、対応する路面係数ベクトルはC1STOBJ(i).coefFLR、3次元バウンディングボックスはC1STOBJ(i).SPBOXといった具合に「.」の後ろは、物体クラスタC1STOBJ(i)の属性を付与する表記を採用している。
【0053】
3次元バウンディングボックスSP
BOXの直方体の8頂点はP
BOX(k), k=1,…8で、以下の式で構成されるものとする。
【数6】
【0054】
第1バウンディングボックス付与部213は、物体クラスタC1STOBJ(i)に対応する路面係数ベクトルC1STOBJ(i). coefFLRを決定する。第1バウンディングボックス付与部213は、路面上観測点群抽出部211と同様に、LIDAR10の全観測領域の路面情報を有している。物体クラスタの構成点群はC1STOBJ(i). SPENEが最も多く含まれている局所平面の路面係数ベクトルcoefFLRを、物体クラスタC1STOBJ(i)に対応する路面係数ベクトルC1STOBJ(i). coefFLRとして決定する。決定された路面係数ベクトルから、物体クラスタに対応する路面の路面方程式(上記式(2))と法線単位ベクトル(上記式(3))が決まる。
【0055】
第1バウンディングボックス付与部213は、物体クラスタ構成点群SP
ENEを対応する路面を基準とする座標系(この座標系を「路面基準座標系」という)に変換し、路面と路面に平行する上面による上下面と、点群SP
ENEを路面に射影した点群に対して構成した2次元バウンディングボックスの4辺を路面に垂直に延長した周囲4平面の6面体で構成する。この6面体の8頂点がSP
BOX(上記式(6))となる。ここで路面基準座標系は、物体クラスタ構成点群SP
ENEを対応する路面の法線をz軸方向、これに直交する単位ベクトルを1つy軸方向として選び、この2つのベクトルに直交する単位べクトルをx軸方向に選んだ姿勢行列R
BFLRを用い、次の変換式で表されるものとする。
【数7】
【0056】
次に、具体的に8頂点の構成方法を説明する。元の座標系から路面基準座標系への変換を物体クラスタの構成点群C
1STOBJ(i).SP
ENEに施した点群をC
1STOBJ(i).SP’
ENEとする。これは、物体クラスタの構成点群を路面基準座標系で見たものになる。SP’
ENEは次式で表される。
【数8】
【0057】
路面基準座標系で見た物体クラスタのxy平面(z=0)をバウンディングボックスの下面とする。
【数9】
路面基準座標系で見た物体クラスタのz軸上の分布の上限をバウンディングボックスの上面とする。
【数10】
路面基準座標系での点群SP’
ENEを路面に射影し、この点群をSP’’
ENEとする。
【数11】
【0058】
点群SP’’
ENEに対して、xy平面上で2次元のバウンディングボックスを構成する。2次元バウンディングボックスの4つの頂点P
RECT(j),j=1,2,3,4を次式で表す。添字j=1,2,3,4はxy平面上反時計まわりで割り振るものとする。
【数12】
【0059】
第1バウンディングボックス付与部213は、路面座標系xy平面上のx軸に対する矩形の向きθBOXを引数とする矩形形状からの乖離度を表す評価関数cost2DBOX(θBOX)を最小化することで2次元バウンディングボックスの4点PRECT(j)を決定する。
【0060】
図4は、矩形形状からの乖離度を表す評価関数cost
2DBOX(θ
BOX)について説明するための図である。ただし、2次元バウンディングボックス生成のアルゴリズムを一般化するために、この項では暫定的に、入力はxy平面上の点群SP
2D={P
2D(i)| i=1..N}として、この平面上のx軸となす角度がθ
BOXであるものとして説明する。
図4(a)に示すように、入力SP
2Dを次式で表す。
【数13】
【0061】
この点群に対して、向きθ
BOXの2次元バウンディングボックスを求める。
図4(b)に示すようにxy座標系を時計回りにθ
BOX回転したx~y~座標系を考える。ここで「~」は、明細書の都合上、チルダを表す記号として用いた。この座標系が向きθ
BOXの2次元バウンディングボックスの座標系となる。xy座標系からx~y~座標系への回転行列を次のように定義する。
【数14】
x~y~ 座標系で元の点群SP
2Dを表現した点群をSP~
2Dとすると、SP~
2Dは次式で計算される。
【数15】
【0062】
図4(c)に示すように、点群SP~
2Dを囲むx~y~ 座標系で座標軸に平行な最小の矩形(太線の矩形)を考える。これが2次元バウンディングボックスとなる。
図4(c)に示すように箱の4頂点の座標値を次式で定める。
【数16】
【0063】
図4(c)に示すように、点群SP~
2Dの各点P~
2Dの乖離度f
DIS(P~
2D)として、矩形の各辺への最短距離を用い、次式で計算する。
【数17】
【0064】
なお、P~
2Dが矩形の上にあれば、乖離度f
DIS(P~
2D)=0であり、辺に近づけば近づくほど乖離度は小さくなる。そこで、向きθ
BOXの2次元バウンディングボックスに対する矩形形状からの乖離度を表す評価関数cost
2DBOX(θ
BOX)を各点の乖離度f
DIS (P~
2D)の全点総和で計算することとする。
【数18】
【0065】
最適な2次元バウンディングボックスとして、上記の評価関数cost2DBOX(θBOX)が0≦θBOX≦π/2の範囲で最小となるθBOXで向きθBOXを決定する。
【0066】
図4(c)のx~y~座標系上の4頂点をxy座標系で表せば、2次元バウンディングボックスの4点P
RECT(j)が次式で得られる。
【数19】
【0067】
路面基準座標系における3次元バウンディングボックスの8点P’
BOX(k), k=1,..,8は、上記で求めたP
RECT(j),j=1..,4とz’
LBOX, z’
UBOXから次式のように構成する。
【数20】
【0068】
元の座標系での3次元バウンディングボックスの8点PBOX(k), k=1,..,8は、P’BOX(k)を路面座標系からの逆変換をすることで得られる。
【0069】
上記のように第1バウンディングボックス付与部213は、第1物体クラスタ集合SC1STOBJの要素である物体クラスタC1STOBJ(i)毎に3次元バウンディングボックスを形成し、バウンディングボックスを付与したSPBOXをC1STOBJ(i).SPBOXとして出力する。
【0070】
(距離算出部)
距離算出部22は、複数の第1バウンディングボックス付きクラスタの相互間の距離を算出する。距離算出部22は、第1バウンディングボックス付き物体クラスタ集合SC1STOBJを入力とし、その要素である物体クラスタC1STOBJ(i)間の距離を計算して、物体クラスタ間距離行列R1STOBJを形成し出力する。
【0071】
説明のため、第1バウンディングボックス付き物体クラスタ集合の物体クラスタ数をN
1STOBJとする。このとき、物体クラスタ間距離行列R
1STOBJは次式に示すようにN
1STOBJ行N
1STOBJ列の行列となる。物体クラスタ集合SC
1STOBJのi
A番目の要素である物体クラスタC
1STOBJ(i
A)とi
B番目の要素である物体クラスタC
1STOBJ(i
B)との距離はR
1STOBJのi
A行i
B列目に格納され,R
1STOBJ (i
A, i
B)と表記する。
【数21】
【0072】
物体クラスタC1STOBJ(iA)と物体クラスタC1STOBJ(iB)との距離として、次の2つの距離の中で最小値を用いる。
・物体クラスタC1STOBJ(iA)の3次元バウンディングボックスC1STOBJ(iA).SPBOXから見た、物体クラスタC1STOBJ(iB)の構成点群C1STOBJ(iB).SPENEの距離RBOX2ENE(iA, iB).
・物体クラスタC1STOBJ(iB)の3次元バウンディングボックスC1STOBJ(iB).SPBOXから見た、物体クラスタC1STOBJ(iA)の構成点群C1STOBJ(iA).SPENEの距離RBOX2ENE(iB, iA).
【0073】
次に、3次元バウンディングボックスC1STOBJ(iA).SPBOXから見た、構成点群C1STOBJ(iB).SPENEの距離RBOX2ENE(iA, iB)の計算方法について説明する。以下の説明では、C1STOBJ(iA).SPBOXを単にSPBOX,C1STOBJ(iB).SPENEをSPENEと記す。
【0074】
図5は、バウンディングボックスの8つの頂点SP
BOX =P
BOX(k),k=1,..,8に示す図である。
図5に示すように、SP
BOXにより構成されるバウンディングボックス基準座標系x ̄-y ̄-z ̄を導入する。ここで、「 ̄」は、明細書の都合上、オーバーバーを表す記号として用いた。この座標系はP
BOX(1)を原点として、ベクトルP
BOX(2)-P
BOX(1)をx軸の向き、ベクトルP
BOX(4)-P
BOX(1)をy軸の向き、ベクトルP
BOX(5)-P
BOX (1)をz軸の向きに取る座標系である。ただし、Lx:=|P
BOX(4)-P
BOX(1)|, Ly:=|P
BOX(2)-P
BOX(1)|, Lz:=|P
BOX(5)-P
BOX(1)|とする。L
x, L
y, L
zはバウンディングボックスの縦,横,高さに対応する。
【0075】
SP
BOXからSP
ENEの各点P
ENEのへの距離をd
BOX2ENE (P ̄
ENE)で表す。d
BOX2ENE (P ̄
ENE)は、SP
BOXからバウンディングボックス座標系で見たP
ENEへのL1距離(マンハッタン距離)とする。すなわち、SP
BOXからP
ENEへの座標軸に沿った距離である。具体的には、元の座標系からバウンディングボックス基準座標系への回転行列をR
BBOXとして以下の計算で求める。dx, dy, dzは、
図5に示すようにL1距離の各軸成分に対応する。
【数22】
【0076】
3次元バウンディングボックスSP
BOXから見た構成点群SP
ENEの距離R
BOX2ENEは、構成点群の各点について上記の距離d
BOX2ENE (P ̄
ENE)を求め、その最小値とする。例えば、一点でもP ̄
ENEが3次元バウンディングボックス内にある場合は0となる。その場合には、他の点については距離計算を行う必要がない。
【数23】
【0077】
上記の計算方法で、SPBOXとして物体クラスタC1STOBJ(iA)の3次元バウンディングボックスC1STOBJ(iA).SPBOXを、対象点群として物体クラスタC1STOBJ(iB)の構成点群C1STOBJ(iB).SPENEを与えて計算したRBOX2ENEをRBOX2ENE(iA, iB)とする。
【0078】
逆に,上記の計算方法で、SPBOXとして物体クラスタC1STOBJ(iB)の3次元バウンディングボックスC1STOBJ(iB).SPBOXを、対象点群として物体クラスタC1STOBJ(iA)の構成点群C1STOBJ(iA).SPENEを与えて計算したRBOX2ENEをRBOX2ENE(iB, iA)とする。
【0079】
物体クラスタ集合SC
1STOBJの距離行列R
1STOBJのi
A行i
B列目に格納される物体クラスタC
1STOBJ(i
A)と物体クラスタC
1STOBJ(i
B)との距離は、距離R
BOX2ENE(i
A, i
B)とR
BOX2ENE(i
B, i
A)ので最小値を用いるので、次式で計算される。
【数24】
【0080】
(距離補正部)
距離補正部23は、第1バウンディングボックス付き物体クラスタ集合SC1STOBJと物体クラスタ間距離行列R1STOBJを入力とし、補正済物体クラスタ間距離行列RCORRを出力する。
【0081】
補正済物体クラスタ間距離行列R
CORRは物体クラスタ間距離行列R
1STOBJと同じN
1STOBJ行N
1STOBJ列の行列となる。物体クラスタ集合SC
1STOBJのi
A番目の要素である物体クラスタC
1STOBJ(i
A)とi
B番目の要素である物体クラスタC
1STOBJ(i
B)との補正された距離はR
CORRのi
A行i
B列目に格納され、R
CORR (i
A, i
B)と表記する。
【数25】
【0082】
距離補正部23は、元の距離R
1STOBJ(i
A, i
B)に補正係数k
DIAG(i
A, i
B)を乗じて補正済み距離R
CORR(i
A, i
B)を求める。
【数26】
【0083】
補正係数k
DIAG(i
A, i
B)は、物体クラスタC
1STOBJ(i
A)と物体クラスタC
1STOBJ(i
B)の対角線長l
DIAG(i
A)とl
DIAG(i
B)の組合せで補正係数テーブルtbl
DIAG(j
DIAG(i
A), j
DIAG (i
B))から決定する。それぞれの対角線線長は各物体クラスタのバウンディングボックスSP
BOXのP
BOX(1)とP
BOX(3)から次式で計算する。
【数27】
【0084】
図6は、補正係数テーブルの例を示す図である。補正係数テーブルtbl
DIAGはN
TBLDIAG行N
TBLDIAG列の表で構成される。補正係数テーブルに対応した閾値配列をthrs
DIAG∈R
1×(N_TBLDIAG-1)とし、以下のような配列を想定する。
【数28】
【0085】
対角線長l
DIAG(i
A)とl
DIAG(i
B)から補正係数テーブルtbl
DIAGを参照するインデックスを閾値配列thrs
DIAGから以下のように決定する。
【数29】
【0086】
上記の参照インデックスj
DIAG(i
A), j
DIAG(i
B)を使って、補正係数テーブルtbl
DIAGから補正係数k
DIAG(i
A, i
B)を以下のように決定する。例を挙げると、j
DIAG(i
A)が1, j
DIAG(i
B)が1の場合は、補正係数は5であり、j
DIAG(i
A)がN
TBLDIAG, j
DIAG(i
B)が2の場合は、補正係数は1である。
【数30】
【0087】
(第2クラスタリング部)
第2クラスタリング部241は、第1バウンディングボックス付き物体クラスタ集合SC1STOBJと補正済物体クラスタ間距離行列RCORRと距離閾値rthrs2を入力とし、第2物体クラスタ集合SC2NDOBJを出力する。
【0088】
距離閾値rthrs2は距離閾値rthrs1より大きいものを設定する(例えば、rthrs1=0.3m, rthrs2=1.6m)。具体的には、第1クラスタリング212にて説明した凝集型クラスタリングのアルゴリズムを適用することで、第2物体クラスタ集合SC2NDOBJを生成する。第2物体クラスタ集合SC2NDOBJのi番目の要素である物体クラスタをC2NDOBJ(i)とする。
【0089】
(第2バウンディングボックス付与部)
第2バウンディングボックス付与部242は、第2物体クラスタ集合SC2NDOBJを入力とし、第2物体クラスタ集合SC2NDOBJの要素である物体クラスタC2NDOBJ(i)毎に直方体の3次元バウンディングボックスSPBOXを付与し、改めて第2バウンディングボックス付きSC2NDOBJとして出力する。具体的には、第1バウンディングボックス付与部213が第1物体クラスタ集合SC1STOBJに対して行った処理と同様の処理を第2物体クラスタ集合SC2NDOBJに対して適用する。
【0090】
[物体検出装置の動作]
図7は、実施の形態の物体検出装置の動作を示すフローチャートである。物体検出装置1は、LIDAR10にて点群データを取得する(S10)。物体検出装置1は、取得した点群データから路面上観測点群を抽出し(S11)、抽出した路面上観測点群に対し、クラスタリングを行い(S12)、生成された第1物体クラスタに対してバウンディングボックスを付与する(S13)。路面上観測点群の抽出(S11)からバウンディングボックスの付与(S13)までの処理は、第1バウンディングボックス付き物体クラスタの生成に該当する。
【0091】
次に、物体検出装置1は、第1バウンディングボックス付き物体クラスタの相互間の距離を算出し(S14)、算出された距離を第1バウンディングボックス付き物体クラスタの大きさに基づいて補正をする(S15)。続いて、物体検出装置1は、補正された距離のデータを用いて第1バウンディングボックス付き物体クラスタのクラスタリングを行い(S16)、生成された第2物体クラスタに対してバウンディングボックスを付与する(S17)。この処理(S16,S17)は、第2バウンディングボックス付き物体クラスタの生成に該当する。物体検出装置1は、生成された第2バウンディングボックス付き物体クラスタのデータを出力する(S18)。
【0092】
以上、本実施の形態の物体検出装置1の構成について説明したが、上記した物体検出装置1の演算処理部20のハードウェアの例は、CPU、RAM、ROM、ハードディスク、ディスプレイ、通信インターフェース等を備えたコンピュータである。上記した各機能を実現するモジュールを有するプログラムをRAMまたはROMに格納しておき、CPUによって当該プログラムを実行することによって、上記した演算処理部20が実現される。このようなプログラムも本発明の範囲に含まれる。
【0093】
本実施の形態の物体検出装置1は、第1バウンディングボックス付き物体クラスタの大きさに応じて、第1バウンディングボックス付き物体クラスタの相互間の距離を補正し、補正後の距離を用いて第2のクラスタリングを行い、第2バウンディングボックス付き物体クラスタを生成するので、大きさに応じて同じクラスタとするかどうかを変更することができる。サイズが小さい第1バウンディングボックス付き物体クラスタ間の距離を大きくするように補正するので、サイズの小さい物体クラスタどうしはくっつきにくくなる。これにより、人と自動車が混在する環境において、人については個々の人どうしを適切に分離できる。その一方で、自動車のパーツはサイズが大きいので、同じ自動車のパーツを統合したクラスタを適切に検出できる。
【0094】
以上、本発明の物体検出装置について実施の形態を挙げて詳細に説明したが、本発明は上記した実施の形態に限定されるものではない。
上記した実施の形態では、デカルト座標系を用いて説明したが、本発明は点群データを球面座標系で取得した場合にも適用できる。球面座標系を用いた場合には、特許第6530685号、特許第6742157号等に記載された手法を用いることで、クラスタリングを行うことができる。
【0095】
上記した実施の形態において、距離算出部22は、最初に算出対象の第1のバウンディングボックス付き物体クラスタの頂点間の距離を算出し、頂点間の距離の最小値が所定の閾値以上の場合には、距離算出しないこととしてもよい。ここで、所定の閾値は、後段の第2クラスタリング部241によるクラスタリング処理によって一つのクラスタとはされない程度の距離である。この場合には、算出対象の第1のバウンディングボックス付き物体クラスタは一つのクラスタにはならないことが分かるので、正確な距離の情報は不要だからである。この構成により、距離算出の計算処理を軽減できる。
【0096】
上記した実施の形態では、物体検出装置1は第2のバウンディングボックス付き物体クラスタを出力することとしたが、物体検出装置はバウンディングボックスなしの物体クラスタを出力することとしてもよい。すなわち、第2バウンディングボックス付与部242による処理を行わないで、第2クラスタリングによって生成された物体クラスタを出力することとしてもよい。
【産業上の利用可能性】
【0097】
本発明は、点群データから物体を検出する装置として有用である。
【符号の説明】
【0098】
1 物体検出装置
10 LIDAR
20 演算処理部
21 第1バウンディングボックス付き物体クラスタ生成部
22 距離算出部
23 距離補正部
24 第2バウンディングボックス付き物体クラスタ生成部
25 出力部
211 路面上観測点群抽出部
212 第1クラスタリング部
213 第1バウンディングボックス付与部
241 第2クラスタリング部
242 第2バウンディングボックス付与部