(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052826
(43)【公開日】2024-04-12
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G08G 1/01 20060101AFI20240405BHJP
G08G 1/04 20060101ALI20240405BHJP
G01S 17/66 20060101ALI20240405BHJP
【FI】
G08G1/01 A
G08G1/04 A
G01S17/66
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024025469
(22)【出願日】2024-02-22
(62)【分割の表示】P 2022511567の分割
【原出願日】2021-01-22
(31)【優先権主張番号】P 2020064256
(32)【優先日】2020-03-31
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(71)【出願人】
【識別番号】520001073
【氏名又は名称】パイオニアスマートセンシングイノベーションズ株式会社
(74)【代理人】
【識別番号】100134832
【弁理士】
【氏名又は名称】瀧野 文雄
(74)【代理人】
【識別番号】100165308
【弁理士】
【氏名又は名称】津田 俊明
(74)【代理人】
【識別番号】100115048
【弁理士】
【氏名又は名称】福田 康弘
(72)【発明者】
【氏名】松丸 誠
(57)【要約】
【課題】レーザ光を反射しにくい材質の移動体であっても検出を高精度で行う。
【解決手段】移動方向が定められた移動体路RWの第1の領域A1の三次元点群情報に基づく第1の点群情報と、第2の領域A2の三次元点群情報に基づく第2の点群情報と、第2の領域A2よりも下流にある第3の領域A3の三次元点群情報に基づく第3の点群情報と、を時系列に取得し、第1の点群情報A1の時間変化に基づいて、移動体AMの速度VAMを算出し、第2の点群情報A2から、第1の時刻T1における移動体AMの先端位置FEを算出し、第3の点群情報A3から、第2の時刻T2における移動体AMの後端位置REを算出し、移動体の速度VAM、第1の時刻T1における移動体AMの先端位置FE、および第2の時刻T2における移動体AMの後端位置REに基づき、移動体の長さLAMを算出する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記第1の領域よりも下流にある第2の領域の三次元点群情報に基づく第2の点群情報と、を時系列に取得する点群取得部と、
前記第1の点群情報の時間変化に基づいて、移動体の先端位置の移動を推定することで、前記移動体の速度を算出する移動体速度算出部と、
前記第2の点群情報において、前記移動体の速度から推定される当該移動体の先端位置により定まる範囲内の点群から、前記移動体の先端位置を推定し、前記推定された先端位置の時間変化に基づいて、第1の時刻における前記移動体の先端位置を算出する先端位置検出部と、を有する情報処理装置。
【請求項2】
前記点群情報取得部は、前記第2の領域よりも下流にある第3の領域の三次元点群情報に基づく第3の点群情報を取得し、
前記情報処理装置は、前記第3の点群情報において、前記移動体の速度から推定される当該移動体の先端位置および、前記移動体の長さを推定値である推定移動体長により定まる範囲内の点群から、前記移動体の後端位置を推定し、前記推定された後端位置の時間変化に基づいて、第2の時刻における前記移動体の後端位置を算出する後端位置検出部をさらに有する、請求項1に記載の情報処理装置。
【請求項3】
前記第1の領域内に設定された連続性判定領域内に含まれる点群の時間的変化に基づいて、前記第1の点群情報の点の連続性を判定することで、前記推定移動体長を算出する推定移動体長算出部をさらに有する、請求項2に記載の情報処理装置。
【請求項4】
前記算出された前記移動体の速度、前記算出された前記第1の時刻における前記移動体の先端位置、および前記算出された第2の時刻における前記移動体の後端位置に基づき、前記移動体の長さを算出する移動体長算出部をさらに有する、請求項2または3に記載の情報処理装置。
【請求項5】
請求項2から4のいずれか一項に記載の情報処理装置と、
前記第1の領域、前記第2の領域、および前記第3の領域の三次元点群情報を生成するLiDARと、を有するLiDARシステム。
【請求項6】
移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記第1の領域よりも下流にある第2の領域の三次元点群情報に基づく第2の点群情報と、を時系列に取得する点群取得工程と、
前記第1の点群情報の時間変化に基づいて、移動体の先端位置の移動を推定することで、前記移動体の速度を算出する移動体速度算出工程と、
前記第2の点群情報において、前記移動体の速度から推定される当該移動体の先端位置により定まる範囲内の点群から、前記移動体の先端位置を推定し、前記推定された先端位置の時間変化に基づいて、第1の時刻における前記移動体の先端位置を算出する先端位置検出工程と、を有する情報処理方法。
【請求項7】
請求項6に記載の情報処理方法を、コンピュータに実行させる情報処理プログラム。
【請求項8】
請求項7に記載の情報処理プログラムを記憶している記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関する。
【背景技術】
【0002】
物体の形状情報を得るために、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)が使用されている。この装置は、レーザレーダや光学式測距センサと呼ばれることもある。例えば、特許文献1には、LiDARにより得られた点群情報により車両の幅や長さを推定する方法が開示されている。
【0003】
LiDARは、被検出空間にレーザ光を照射し、対象物で反射されて返ってくる反射光を受光することで、物体までの距離を測定する。照射するレーザ光の拡がり角が大きい場合は、レーザ光の反射成分が減少するために測定距離が短くなる特性がある。一方、照射するレーザ光の拡がり角が小さい場合は、レーザ光の反射成分が増加するために測定距離が長くなる特性がある(特許文献2、3)。
【0004】
また、LiDARは、照射するレーザ光をMEMSミラーなどで走査させることで、被検出空間の物体の形状情報を得る。MEMSミラーによる走査角度を拡大するために、MEMSミラーで偏向されたレーザ光にレンズを組み合わせることが開示されている(特許文献4)。広角レンズを組み合わせたタイプのLiDARは、走査範囲が広くなるが、レーザ光の拡がり角が大きくなるため測定距離が短くなる特性がある。一方、望遠レンズを組み合わせたタイプのLiDARは、走査範囲が狭くなるが、レーザ光の拡がり角が小さくなるため測定距離が長くなる特性がある。
【0005】
計測環境によっては、上記のような複数タイプのLiDARを組み合わせることが行われている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2017-146153号公報
【特許文献2】特開2006-317304号公報
【特許文献3】国際公開第2012/117542号
【特許文献4】特許第6019866号
【発明の概要】
【発明が解決しようとする課題】
【0007】
LiDARは、被検出空間にレーザ光を照射し、当該レーザ光が対象物で反射されて返ってくる反射光を受光することで、複数の検出方向毎の物体までの距離を測定することにより、対象物の形状を取得する。このため、対象物が黒色の車両などのレーザ光を反射しにくい物体の場合、LiDARによる測定距離の精度が低下してしまうことがある。
【0008】
本発明が解決しようとする課題としては、レーザ光を反射しにくい材質が使われていても、移動中の移動体の検出を高精度で行うことが一例として挙げられる。
【課題を解決するための手段】
【0009】
上記課題を解決するために、請求項1に記載の発明の情報処理装置は、移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記第1の領域よりも下流にある第2の領域の三次元点群情報に基づく第2の点群情報と、を時系列に取得する点群取得部と、前記第1の点群情報の時間変化に基づいて、移動体の先端位置の移動を推定することで、前記移動体の速度を算出する移動体速度算出部と、前記第2の点群情報において、前記移動体の速度から推定される当該移動体の先端位置により定まる範囲内の点群から、前記移動体の先端位置を推定し、前記推定された先端位置の時間変化に基づいて、第1の時刻における前記移動体の先端位置を算出する先端位置検出部と、を有する。
【0010】
請求項6に記載の発明の情報処理方法は、移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記第1の領域よりも下流にある第2の領域の三次元点群情報に基づく第2の点群情報と、を時系列に取得する点群取得工程と、前記第1の点群情報の時間変化に基づいて、移動体の先端位置の移動を推定することで、前記移動体の速度を算出する移動体速度算出工程と、前記第2の点群情報において、前記移動体の速度から推定される当該移動体の先端位置により定まる範囲内の点群から、前記移動体の先端位置を推定し、前記推定された先端位置の時間変化に基づいて、第1の時刻における前記移動体の先端位置を算出する先端位置検出工程と、を有する。
【0011】
請求項7に記載の発明の情報処理プログラムは、請求項6に記載の情報処理方法を、コンピュータに実行させる。
【0012】
請求項8に記載の発明の記憶媒体は、請求項7に記載の情報処理プログラムを記憶している。
【0013】
また、LiDARは、被検出空間にレーザ光を照射し、当該レーザ光が対象物で反射されて返ってくる反射光を受光することで、複数の検出方向毎の物体までの距離を測定することにより、対象物の形状を取得する。このため、対象物が黒色の車両などのレーザ光を反射しにくい物体の場合、LiDARによる測定距離の精度が低下し、対象物の全体の形状を得ることができないことがある。
本願の他の発明が解決しようとする課題としては、レーザ光を反射しにくい材質が使われていても、移動中の移動体の長さの計測を高精度で行うことが一例として挙げられる。
本願の他の発明の情報処理装置は、移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記移動体路の第2の領域の三次元点群情報に基づく第2の点群情報と、前記第2の領域よりも下流にある第3の領域の三次元点群情報に基づく第3の点群情報と、を時系列に取得する点群取得部と、前記第1の点群情報の時間変化に基づいて、移動体の速度を算出する移動体速度算出部と、前記第2の点群情報から、第1の時刻における前記移動体の先端位置を算出する先端位置算出部と、前記第3の点群情報から、第2の時刻における前記移動体の後端位置を算出する後端位置算出部と、前記算出された前記移動体の速度、前記算出された前記第1の時刻における前記移動体の先端位置、および前記算出された第2の時刻における前記移動体の後端位置に基づき、前記移動体の長さを算出する移動体長算出部と、を有する。
【0014】
また、本願の他の発明の情報処理方法は、移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記移動体路の第2の領域の三次元点群情報に基づく第2の点群情報と、前記第2の領域よりも下流にある第3の領域の三次元点群情報に基づく第3の点群情報と、を時系列に取得する点群取得工程と、前記第1の点群情報の時間変化に基づいて、移動体の速度を算出する移動体速度算出工程と、前記第2の点群情報から、第1の時刻における前記移動体の先端位置を算出する先端位置算出工程と、前記第3の点群情報から、第2の時刻における前記移動体の後端位置を算出する後端位置算出工程と、
前記算出された前記移動体の速度、前記算出された前記第1の時刻における前記移動体の先端位置、および前記算出された第2の時刻における前記移動体の後端位置に基づき、前記移動体の長さを算出する移動体長算出工程と、を有する。
【0015】
また、本願の他の発明の情報処理プログラムは、前記他の発明の情報処理方法を、コンピュータにより実行させる。
【0016】
また、本願の他の発明の記憶媒体は、前記他の発明の情報処理プログラムを記憶している。
【図面の簡単な説明】
【0017】
【
図1】本発明の一実施例に係るLiDARシステム1000を示す図である。
【
図2】LiDAR100と第1の領域A1、第2の領域A2、第3の領域A3の関係を示す図である。
【
図3】LiDAR100の視野と第1の領域A1、第2の領域A2、第3の領域の関係を示す図である。
【
図4】本発明の一実施例に係る制御部200を示す図である。
【
図5】第1の領域A1を走行する車両AMと、このときに測定された車両AMに対応する点群の一例を図である。
【
図6】第2の領域A2を走行する車両AMと、このときに測定された車両AMに対応する点群の一例を図である。
【
図7】第3の領域A3を走行する車両AMと、このときに測定された車両AMに対応する点群の一例を示す図である。
【
図8】車両の長さLAMの算出の一例を説明する図である。
【
図9】本発明の一実施例に係る制御部120における処理動作の一例を示す図である。
【
図10】本発明の一実施例に係る制御部200の車両速度算出部220を示す図である。
【
図11】第1の領域A1に2台の車両がいる場合の一例を示す図である。
【
図13】推定先端位置の移動の一例を示す図である。
【
図14】本発明の一実施例に係る車両速度算出部220における処理動作の一例を示す図である。
【
図15】セグメンテーション部221により車両AMに対応すると推定される点群と先端部分領域ATの幅WATとの関係の一例を示す図である。
【
図16】1つの車両に対応する点群が2つのセグメントに分離する例を示す図である。
【
図17】点群と連続性判定領域ACとの関係を示す図である。
【
図18】点群の移動と連続性判定領域ACとの関係の一例を示す図である。
【
図19】本発明の一実施例に係る連続性判定部225における処理動作の一例を示す図である。
【
図20】本発明の一実施例に係る車両速度算出部220における処理動作の一例を示す図である。
【
図21】LiDARによる走査を説明する図である。
【
図22】第1の領域A1における、車道RW上の物体の位置と、時刻情報が示す走査時刻(タイムスタンプ)と物体が走査される時刻との時間差と、を対応付けた規則の一例を示す図である。
【
図23】点群と予測先端位置yFPと先端位置検出領域VFDとの関係を示す図である。
【
図24】点群と先端位置検出領域VFDとの関係を示す図である。
【
図25】本発明の一実施例に係る先端位置検出部230における処理動作の一例を示す図である。
【
図26】点群と予測後端位置yRPと後端位置検出領域VRDとの関係を示す図である。
【
図27】点群と後端位置検出領域VRDとの関係を示す図である。
【
図28】本発明の一実施例に係る後端位置検出部240における処理動作の一例を示す図である。
【発明を実施するための形態】
【0018】
本発明の一実施形態に係る情報処理装置は、移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記移動体路の第2の領域の三次元点群情報に基づく第2の点群情報と、前記第2の領域よりも下流にある第3の領域の三次元点群情報に基づく第3の点群情報と、を時系列に取得する点群取得部と、前記第1の点群情報の時間変化に基づいて、移動体の速度を算出する移動体速度算出部と、前記第2の点群情報から、第1の時刻における前記移動体の先端位置を算出する先端位置算出部と、前記第3の点群情報から、第2の時刻における前記移動体の後端位置を算出する後端位置算出部と、前記算出された前記移動体の速度、前記算出された前記第1の時刻における前記移動体の先端位置、および前記算出された第2の時刻における前記移動体の後端位置に基づき、前記移動体の長さを算出する移動体長算出部と、を有する。よって、本実施形態では、移動体の長さを得るために、走行中の移動体の前面が写った第2の点群情報と走行中の移動体の後面が写った第3の点群情報の2つの点群情報を用いていることが可能になる。結果、本実施形態では、黒色の車両などレーザ光を反射しにくい移動体の場合であっても、移動体の前面や後面に配置されたナンバープレートやバンパーなどのレーザ光を反射しやすい部分に対応する点群を移動体の先端位置、後端位置の検出に用いることが可能になり、確実に移動体の先端位置、後端位置を取得することが可能になる。このため、本実施形態では、レーザ光を反射しにくい材質が使われていても、移動中の移動体の長さの計測を高精度で行うことが可能である。
【0019】
本発明の一実施形態に係るLiDARシステムは、前記情報処理装置と、前記第1の領域、前記第2の領域、および前記第3の領域の三次元点群情報を生成するLiDARと、を有する。このため、本実施形態では、移動体の長さを算出するための点群情報を生成することが可能である。
【0020】
前記LiDARは、前記第1の領域の三次元点群情報を生成する第1のLiDARと、前記第2の領域の三次元点群情報を生成する第2のLiDARと、前記第3の領域の三次元点群情報を生成する第3のLiDARと、を有するようにしても良い。このようにすることで、視野が狭いLiDARを組み合わせて、移動体の長さを算出するための点群情報を生成することが可能になる。
【0021】
前記LiDARは、前記第1の領域および前記第2の領域の三次元点群情報を生成する第1のLiDARと、前記第3の領域の三次元点群情報を生成する第2のLiDARと、を有する。このようにすることで、LiDARの台数を抑えつつ、視野が狭いLiDARを組み合わせて、移動体の長さを算出するための点群情報を生成することが可能になる。
【0022】
また、本発明の一実施形態にかかる情報処理方法は、移動方向が定められた移動体路の第1の領域の三次元点群情報に基づく第1の点群情報と、前記移動体路の第2の領域の三次元点群情報に基づく第2の点群情報と、前記第2の領域よりも下流にある第3の領域の三次元点群情報に基づく第3の点群情報と、を時系列に取得する点群取得工程と、前記第1の点群情報の時間変化に基づいて、移動体の速度を算出する移動体速度算出工程と、前記第2の点群情報から、第1の時刻における前記移動体の先端位置を算出する先端位置算出工程と、前記第3の点群情報から、第2の時刻における前記移動体の後端位置を算出する後端位置算出工程と、前記算出された前記移動体の速度、前記算出された前記第1の時刻における前記移動体の先端位置、および前記算出された第2の時刻における前記移動体の後端位置に基づき、前記移動体の長さを算出する移動体長算出工程と、を有する。よって、本実施形態では、移動体の長さを得るために、走行中の移動体の前面が写った第2の点群情報と走行中の移動体の後面が写った第3の点群情報の2つの点群情報を用いていることが可能になる。結果、本実施形態では、黒色の車両などレーザ光を反射しにくい移動体の場合であっても、移動体の前面や後面に配置されたナンバープレートやバンパーなどのレーザ光を反射しやすい部分に対応する点群を移動体の先端位置、後端位置の検出に用いることが可能になり、確実に移動体の先端位置、後端位置を取得することが可能になる。このため、本実施形態では、レーザ光を反射しにくい材質が使われていても、移動中の移動体の長さの計測を高精度で行うことが可能である。
【0023】
また、本発明の一実施形態に係る情報処理プログラムは、上記の情報処理方法を、コンピュータに実行させる。このようにすることで、コンピュータを用いて、表面の反射率が低い、移動中の移動体の長さの計測を高精度で行うことが可能である。
【0024】
また、本発明の一実施形態に係るコンピュータ読み取り可能な記憶媒体は、上記の情報処理プログラムを記憶している。このようにすることで、上記の情報処理プログラムを、機器に組み込む以外にも単体で流通することが可能になり、バージョンアップ等を容易に行うことが可能になる。
【実施例0025】
<LiDARシステム1000>
図1は、本発明の一実施例に係るLiDARシステム1000を示す図である。LiDARシステム1000は、LiDAR100と、制御部200と、を有する。本実施例では、LiDAR100により生成された三次元点群情報に基づいて、制御部200により車両の長さを算出する。
【0026】
LiDAR100は、車道(移動体路)RWの手前側の車線を走行する車両(移動体)AMの長さを算出するために用いる点群情報を生成する。このために、LiDAR100は、車道RWの第1の領域A1、第2の領域A2、第3の領域A3の3つの領域を測定できるように、例えば、
図2に示すように、車道RWの脇に配置される。LiDAR100は、車道RWの上方に設置されても良く、3つの領域を上方から測定するようにしても良い。
【0027】
LiDAR100は、車道RWの第1の領域A1、領域A2、領域A3の3つの領域に測定し、第1の領域A1と第2の領域A2と第3の領域A3の三次元点群情報を時系列で生成する。つまり、LiDAR100は、所定のフレームレートで、車道RWの第1の領域A1、第2の領域A2、第3の領域A3の3つの領域を測定し、第1の領域A1と第2の領域A2と第3の領域A3の三次元点群情報を、所定のフレームレートで生成する。よって、第1の領域A1と第2の領域A2と第3の領域A3の三次元点群情報の各々は、所定のフレームレートで生成された複数のフレームで構成される。
【0028】
各フレームにおいて、各点は、直交座標(x、y、z)で表現される。このとき、
図2に示すように、LiDAR100の位置を原点Oとし、車道RWの幅方向をx軸方向とし、車道RWの手前側の車線の走行方向をy軸方向とし、車道RWの幅方向、走行方向に垂直な方向をz軸方向とする。
【0029】
図2に示すように、第1の領域A1は、車道RWの手前側の車線の走行方向に関して、3つの領域のうちで一番上流にあり、第2の領域A2は、第1の領域A1の下流にあり、第3の領域A3は、第2の領域A2の下流にある。
図2に示す例では、第1の領域A1と第2の領域A2は重なっていないが、第1の領域A1と第2の領域A2は、重なっていても良い。また、
図2に示す例では、第2の領域A2と第3の領域A3は重なっていないが、第2の領域A2と第3の領域A3は、重なっていても良い。
【0030】
図3は、LiDAR100の視野と第1の領域A1、第2の領域A2、第3の領域の関係を示す図である。LiDAR100は、第1の領域A1、第2の領域A2、第3の領域のすべての領域が視野に入る一台のLiDARにより構成されても良い。また、LiDAR100は、例えば、
図3(A)に示すように、第1の領域A1が入る視野FV1を有する第1のLiDAR110と、第2の領域A2が入る視野FV2を有する第2のLiDAR120と、第3の領域A3が入る視野FV3を有する第3のLiDARの三台のLiDAR130により構成されても良い。また、LiDAR100は、例えば、
図3(B)に示すように、第1の領域A1と第2の領域A2の両方が入る視野FV4を有する第4のLiDAR140と、第3の領域A3が入る視野FV5を有する第5のLiDAR150の二台のLiDARにより構成されても良い。LiDAR100が複数のLiDARにより構成されているときは、複数のLiDARのうちのいずれかの1つが配置される位置を原点Oとすると良い。
【0031】
図2に示すように、第1の領域A1、第2の領域A2は、LiDAR100の上流にあり、第3の領域A3は、LiDAR100の下流にある。このため、LiDAR100は、第1の領域A1、第2の領域A2を走行する車両AMの前方面(フロント面やボンネット、フロントガラスなど)と側方面(LiDAR100が配置されている側)を測定することが可能であり、また、第3の領域A3を走行する車両AMの後方面と側方面(LiDAR100が配置されている側)を測定することが可能である。
【0032】
図4は、本発明の一実施例に係る制御部200を示す図である。制御部200は、点群情報取得部210と、車両速度算出部(移動体速度算出部)220と、先端位置検出部230と、後端位置検出部240と、車長算出部250と、を有する。制御部200は、例えば、CPU(Central Processing Unit)などを有するコンピュータにより構成される。
【0033】
点群情報取得部210は、LiDAR100により生成された第1の領域A1の三次元点群情報に基づく第1の点群情報、LiDAR100により生成された第2の領域A2の三次元情報に基づく第2の点群情報、LiDAR100により生成された第3の領域A3の三次元情報に基づく第3の点群情報を取得する。
【0034】
本実施例では、制御部200は、車両の長さを算出する。よって、制御部200が、少なくとも車両の長さ方向、つまり、車両の走行方向(y軸方向)の情報を取得できれば良い。そこで、第1の点群情報は、LiDARにより生成された第1の領域A1の三次元点群情報そのものでも良いし、この三次元点群情報のうちの一次元点群情報(各点のy座標値)であっても良いし、二次元点群情報(各点のx座標値、y座標値)であっても良い。同様に、第2の点群情報(第3の点群情報)は、LiDARにより生成された第2の領域A2(第3の領域A3)の三次元点群情報そのものでも良いし、この三次元点群情報のうちの一次元点群情報(各点のy座標値)であっても良いし、二次元点群情報(各点のx座標値、y座標値)であっても良い。
【0035】
本実施例では、制御部200は、この点群情報取得部210により取得されたこの3つの点群情報に基づいて、車道RWを走行する車両AMの長さLAMを算出する。具体的には、車両AMが第1の領域A1を走行しているときの情報(第1の点群情報)により、車両AMの速度VAMを算出し、この車両AMが第2の領域A2を走行しているときの情報(第2の点群情報)により、第1の時刻T1における車両AMの先端位置FEを算出し、この車両AMが第3の領域A3を走行しているときの情報(第3の点群情報)により、第2の時刻T2における車両AMの後端位置REを算出し、この算出された車両AMの速度VAM、第1の時刻T1における車両AMの先端位置FE、第2の時刻T2における車両AMの後端位置REから、車両AMの長さLAMを算出する。
【0036】
車両速度算出部220は、第1の点群情報の時間変化により、車両AMの速度VAMを算出する。
図5(A)は、第1の領域A1を走行する車両AMを示す図であり、
図5(B)は、このときに測定された車両AMに対応する点群を示す図である。第1の領域A1は、
図2、5に示すように、LiDAR100の上流にある。このため、
図5(A)に示すように、LiDAR100からは第1の領域A1を走行する車両AMの前方面(フロント面やボンネット、フロントガラスなど)と側方面(LiDAR100が配置されている側)が見え、第1の点群情報には、例えば、
図5(B)示すように、車両AMの前方面と側方面に対応する点群データが取得される。そこで、車両速度算出部220は、例えば、この点群を用いて、車両AMの先端位置FEの移動を検出することで、車両AMの速度VAMを算出する。また、第1の領域A1は、車両が移動する方向に広いため、比較的長い期間の点群情報を取得される。このことから、車両速度算出部220では、複数フレームの時系列データを、カルマンフィルタ等を用いることにより速度VAMの算出精度を向上させてもよい。
【0037】
先端位置検出部230は、第2の点群情報に基づいて、第1の時刻T1における車両AMの先端位置FEを算出する。
図6(A)は、第2の領域A2を走行する車両AMを示す図であり、
図6(B)は、このときに測定された車両AMに対応する点群を示す図である。第2の領域A2は、
図2に示すように、LiDAR100の上流にある。このため、
図6(A)に示すように、LiDAR100からは第2の領域A2を走行する車両AMの前方面(フロント面やボンネット、フロントガラスなど)と側方面(LiDAR100が配置されている側)が見え、
図6(B)に示すように、例えば、車両AMの前方面と側方面に対応する点群データが取得される。そこで、先端位置検出部230は、例えば、第2の点群情報のうちの第1の時刻T1のフレームにおいて車両AMの先端位置FEに対応する点を検出することで、第1の時刻T1での車両AMの先端位置FEを得る。また、第2の領域A2は車両が移動する方向に狭いため、比較的短い期間の点群情報が取得される。このことから、先端位置検出部230では、複数フレーム(例えば3個)の時系列データの時刻情報(T11、T12、T13)と先端位置(FE1、FE2、FE3)の平均値を算出することにより、先端位置FEの精度を向上させてもよい。
【0038】
後端位置検出部240は、第3の点群情報に基づいて、第2の時刻における車両の後端位置REを算出する。
図7(A)は、第3の領域A3を走行する車両AMを示す図であり、
図7(B)は、このときに測定された車両AMに対応する点群を示す図である。第3の領域A3は、
図2に示すように、LiDAR100の下流にある。このため、
図7(A)に示すように、LiDAR100からは第3の領域A3を走行する車両AMの後方面と側方面が見え、第3の点群情報には、例えば、
図7(B)に示すように、車両AMの後方面と側方面に対応する点群データが取得される。そこで、後端位置検出部240は、例えば、第3の点群情報のうちの第2の時刻T2のフレームにおいて車両AMの後端位置REに対応する点を検出することで、第2の時刻T2での車両AMの先端位置REを得る。また、第3の領域A3は車両が移動する方向に狭いため、比較的短い期間の点群情報が取得される。このことから、後端位置検出部240では、複数フレーム(例えば3個)の時系列データの時刻情報(T21、T22、T23)と後端位置(RE1、RE2、RE3)の平均値を算出することにより、後端位置REの精度を向上させてもよい。
【0039】
車長算出部250は、車両AMの速度VAMと、第1の時刻T1における車両AMの先端位置FEと、第2の時刻T2における車両AMの後端位置REと、に基づいて、車両AMの長さLAMを算出する。例えば、先端位置検出部230により算出された第1の時刻T1での先端位置FEのy座標がyFET1であるとき(
図8(A))、車両AMが、第1の時刻T1と第2の時刻T2の間、車両速度算出部220により算出された車両AMの速度VAMで走行しているならば、第2の時刻T2での車両AMの先端位置FEのy座標はyFET2=yFET1+VAM(T2-T1)であると推測される(
図8(B))。よって、後端位置検出部240により算出された第2の時刻T2での後端位置REのy座標がyRET2であるとき、車両AMの長さLAMは、例えば、LAM=yFET2-yRET2=yFET1-yRET2+VAM(T2-T1)により算出することが可能である。
【0040】
このように、本実施例では、車両の長さを得るために、走行中の車両の前面を含んだ第2の点群情報と走行中の車両の後面を含んだ第3の点群情報の2つの点群情報を用いている。結果、本実施例では、レーザ光を反射しにくい黒色の車両の場合であっても、車両の前面や後面に配置されたナンバープレートやバンパーなどのレーザ光を反射しやすい部分に対応する点群を用いることが可能になり、確実に車両の先端位置、後端位置を取得することが可能になる。このため、本実施例では、黒色の車両などレーザ光を反射しにくい、移動中の車両の長さの計測を高精度で行うことが可能である。
【0041】
図9は、本発明の一実施例に係る制御部120における処理動作の一例を示す図である。点群情報取得部210が、車道RWの第1の領域A1の三次元情報に基づいた第1の点群情報、第2の領域A2の三次元情報に基づいた第2の点群情報、第3の領域A3の三次元情報に基づいた第3の点群情報を取得する(ステップS901)。速度算出部210は、第1の点群情報の時間変化に基づき、車両AMの速度VAMを算出する(ステップS902)。先端位置検出部230は、第2の点群情報に基づいて、第1の時刻T1における車両AMの先端位置FEを算出する(ステップS903)。後端位置検出部240は、第3の点群情報に基づいて、第2の時刻T2における車両AMの後端位置REを算出する(ステップS904)。車長算出部250は、車両AMの速度VAMと、第1の時刻T1における車両AMの先端位置FEと、第2の時刻T2における車両AMの後端位置REと、に基づいて、車両AMの長さLAMを算出する(ステップS905)。
【0042】
<車両の速度VAMの算出>
図10は、本発明の一実施例に係る制御部200の車両速度算出部220を示す図である。車両速度算出部220は、セグメンテーション部221と、代表点設定部222と、先端位置移動推定部223と、速度算出部224と、を有する。
【0043】
セグメンテーション部221は、第1の点群情報の各フレームにおいて、2点間の距離に基づいて同一の車両に対応する点群を推定する。
【0044】
第1の点群情報の各フレームには、複数の車両が写っていることがある。
図11は、第1の領域A1に2台の車両がいる場合の例を示す図である。
図11(A)のように、第1の領域A1に2台の車両(車両AM1、車両AM2)が走行している場合、第1の点群情報には、
図11(B)のように、2つの点群の塊が写る。
【0045】
そこで、セグメンテーション部221は、第1の点群情報の各フレームにおいて、そのフレームの点を、各々が同一の車両に対応すると推定される点群(セグメント)に分割する。
図11(B)に示した例では、セグメンテーション部221は、フレームの点を、車両AM1に対応するセグメントS1と車両AM2に対応するセグメントS2の2つのセグメントに分割する。
【0046】
このとき、セグメンテーション部221は、2点間の距離に基づいて、フレームの点を、複数のセグメントに分割する。具体的には、セグメンテーション部221は、各フレームにおいて、第1の距離(例えば、1mや1.5m)以下の2点は同じセグメントに含まれるように、フレームの点を分割する。2点(P1(x1、y1、z1)、P2(x2、y2、z2))間の距離は、三次元距離(((x1-x2)2+(y1-y2)2+(z1―z2)2)1/2)でも良いし、二次元距離(((x1-x2)2+(y1-y2)2)1/2)でも良いし、一次元距離(|y1-y2|)でも良い。
【0047】
代表点設定部222は、第1の点群情報の各フレームにおいて、同一の車両に対応すると推定された点群(セグメント)の各々から先端部分領域の点群を抽出し、当該抽出された点群に基づいて代表点を設定する。
【0048】
セグメンテーション部221により点を分割することで得られたセグメントの各々の最も先端の点(最もy座標値が大きい点)は、そのセグメントに対応する車両の先端位置を示す可能性が高い。よって、例えば、各フレームでセグメントのこの最も先端の点を検出し、この検出された最も先端の点の時間変化、つまり、最も先端の点の移動に基づいて、このセグメントに対応する車両の速度を得ることが可能である。
【0049】
しかしながら、この最も先端の点は、測距精度が悪い可能性もある。そこで、本実施例では、代表点設定部222により、各セグメントに対して、そのセグメントを代表する代表点を設定し、この最も先端の点の移動の代わりに、この代表点の移動に基づいて、各セグメントに対応する車両の速度を算出する。
【0050】
このとき、本実施例では、代表点設定部222は、
図12に示すように、各セグメントに対して、最も先端の点である先端点PTから後方に拡がる領域(先端部分領域AT)を設定する。つまり、代表点設定部222は、先端点のy座標をyPTであるとき、yPT-WAT≦y≦yPTにより定まる領域を先端部分領域ATとして設定する。このとき、先端部分領域ATは、y軸方向の幅WATを持つ領域となる。幅WATは、例えば、10cm~1mにすると良い。
【0051】
そして、代表点設定部222は、この先端部分領域AT内の点のy座標を平均し、この平均値を代表点として設定する。つまり、本実施例では、代表点は、先端部分領域内ATの点のy座標値のみにより設定されており、代表点は、y座標値のみを持っている。例えば、先端部分領域ATに、n個の点:P1(x1、y1、z1)、P2(x2、y2、z2)、P3(x3、y3、z3)、・・・、Pn(xn、yn、zn)が含まれているとき、代表点のy座標は、(y1+y2+y3+・・・+yn)/nである。
【0052】
先端位置移動推定部223は、代表点設定部222により設定された代表点に基づいて、車両の先端位置の推定値である推定先端位置を算出する。このとき、単純に、代表点のy座標値を、車両の先端位置の推定値である推定先端位置としても良い。また、先端位置移動推定部223は、代表点のy座標値にカルマンフィルタを適用することで、車両の先端位置の推定値である推定先端位置の移動を算出するようにしても良い。つまり、先端位置移動推定部223は、各フレームにおいて、代表点のy座標値を車両の先端位置の観測値とし、カルマンフィルタを用いて、車両の先端位置を推定する(つまり、推定先端位置を算出する)ようにしても良い。このとき、本実施例において、代表点は、y座標値のみを有するので、推定先端位置もy座標値のみで決まる位置である。
【0053】
以上のように、本実施例では、各フレームにおいて、セグメンテーション部221よりフレームの点を同一の車両に対応する点群(セグメント)に分割し、そして、このセグメントごとに、代表点設定部222により代表点を設定し、そして、セグメントごとに、先端位置移動推定部223により設定された代表点に基づいて推定先端位置を算出する。このように算出された推定先端位置(つまり、y座標値)は、
図13のように、フレームが進むごとに、つまり、時間が経過するにつれ、移動する。
図13は、車両の先端がフレームF1で第1の領域A1に入り、フレームF6の後に第1の領域A1を出る場合の、この車両に対応する推定先端位置の変化の一例を示している。本実施例では、この推定先端位置がどのように移動するのかを見ることで、この推定先端位置に対応する車両の移動を見る。
【0054】
速度算出部224は、第1の領域A1内に設定された速度算出領域AVに推定先端位置が達したときに、推定先端位置の移動に基づいて、この推定先端位置に対応する車両の速度を算出する。速度算出領域AVは、例えば、yAVL≦y≦yAVHにより定まる領域として設定される。つまり、速度算出部224は、推定先端位置の値が、yAVLを超えたときに、推定先端位置の移動に基づいて、この推定先端位置に対応する車両の速度を算出する。
【0055】
車両の速度の算出としては、2つのフレームの間での推定先端位置の移動を使っても良いし、複数フレームの間での移動を使っても良い。
図13に示した例であれば、推定先端位置は、フレームF7で速度算出領域AVに達するため、フレームF7に対する推定先端位置を算出した段階で、車両の速度を算出する。そこで、
図13に示した例であれば、例えば、速度算出領域AVに達したときのフレーム(フレームF7)とその直前のフレーム(フレームF6)との間での推定先端位置の移動に基づいて車両の速度を算出しても良いし、車両の先端が車両A1に入ってから出るまでのフレーム(フレームF1-F7)の間での推定先端位置の移動に基づいて車両の速度を算出しても良い。あるいは、前述のカルマンフィルタ処理では、先端位置の推定と同時に移動速度も算出することから、カルマンフィルタ算出の速度値を使用しても良い。
【0056】
図14は、本実施例に係る車両速度算出部220における処理動作の一例を示す図である。
図14では、第1の点群情報がM1枚のフレームFn(n=1、2、3、・・・、M1)で構成されているとしている。車両速度算出部220は、n=1と設定する(ステップS1401)。セグメンテーション部221は、フレームFnの点を、同一の車両に対応すると推定される点群(セグメント)に分割する(ステップS1402)。代表点設定部222は、同一の車両に対応すると推定された点群(セグメント)の各々に対して、代表点を設定する(ステップS1403)。先端位置移動推定部223は、同一の車両に対応すると推定された点群(セグメント)の各々に対して、設定された代表点に基づいて、当該セグメントに対応する車両の先端位置の推定値である推定先端位置を算出する(ステップS1404)。
【0057】
フレームFnにおいて、推定先端位置が速度算出領域AVに達しているセグメントがあるならば(ステップS1405、YES)、速度算出部224は、その推定先端位置が速度算出領域AVに達しているセグメントに対応する車両の速度を算出し(ステップS1406)、n=M1であるのか否かを確認する(ステップS1407)。n=M1であるならば(ステップS507、YES)、車両速度算出部220は、処理を終了する。n=M1でないならば(ステップS1407、NO)、車両速度算出部220は、n=n+1と設定し(ステップS1408)、ステップS1402に戻る。
【0058】
フレームFnにおいて、推定先端位置が速度算出領域AVに達しているセグメントがないならば(ステップS1405、NO)、車両速度算出部220は、n=M1であるのか否かを確認する(ステップS1407)。
【0059】
<先端部分領域のサイズ>
上記実施例において、代表点設定部222は、先端部分領域ATの点群を基づいて代表点を設定する。
図15に示すように、車両AMがLiDAR100から遠方にあるときにセグメンテーション部221により車両AMに対応すると推定される点群(
図15(A))は、車両AMがLiDAR100の近傍にあるときにセグメンテーション部221により車両AMに対応すると推定される点群(
図15(B))に比べ、点の数が少ない。このため、車両AMがLiDAR100から遠方にあるときに、先端部分領域ATのy方向の幅WATとして小さい幅WTA1を用いると、先端領域ATに入る点の数が少なくなり、また、近傍点よりも遠方点の方が測距精度が悪くなる傾向があることから、ノイズの影響が大きくなる可能性がある。そこで、車両AMがLiDAR100から遠方にあるときの先端部分領域ATのy方向の幅WATは、
図15(A)の幅WTA2のように、ある程度大きくする必要がある。しかしながら、車両AMがLiDAR100の近傍にあるときにも、先端部分領域ATのy方向の幅WATとして、車両AMがLiDAR100から遠方にあるときに用いる幅WAT2を用いると、この先端部分領域ATには、車両AMの前面の点だけでなく、車両AMの側面の点も含まれるようになる。このようなとき、先端部分領域ATに入る点のy座標値の平均である代表点は、実際の先端位置のy座標値よりも小さくなる。このため、この代表値に基づいて推定される推定先端位置は、実際の先端位置よりも後方に位置することになってしまう。結果、この代表点を用いて、先端位置の推定をし、車両AMの速度VAMを算出した場合、算出された速度VAMは、車両AMの実際の速度よりも小さくなってしまう。
【0060】
そこで、本発明の一実施例に係る代表点設定部222は、LiDAR100に車両AMが接近するにつれ、先端部分領域ATのy方向の幅WATを小さく設定する。このとき、代表点設定部222は、例えば、LiDAR100と車両AMとの距離に基づいて、先端部分領域ATのy方向の幅WATを設定する。つまり、代表点設定部222は、例えば、LiDAR100と車両AMとの距離が小さくなるにつれ、先端部分領域ATのy方向の幅WATを小さく設定する。
【0061】
代表点設定部222は、例えば、各フレームFnにおいて、LiDAR100と車両AMとの距離を、1つの前のフレームFn-1での当該車両AMに対応するセグメントに対する推定先端位置を用いることで算出するようにすると良い。つまり、代表点設定部222は、例えば、1つの前のフレームFn-1の推定先端位置と原点Oとの距離DAMが小さくなるにつれ、各フレームFnにおける先端部分領域ATのy方向の幅WATを小さく設定するようにすると良い。
【0062】
このとき、幅WATは、距離DAMに対して、連続に変化するようにしても良いし、不連続に変化するようにしても良い。例えば、距離DAMに対して、複数の閾値を用意し、距離DAMがその閾値を下回るごとに幅WATが変化するようにしても良い。特に、2つの閾値(第1の閾値(例えば、25m)、第2の閾値(例えば、17m))を用意し、距離DAMが第1の閾値以上のときは、幅WATを第1の幅(例えば、60cm)とし、距離DAMが第1の閾値より小さく、第2の閾値以上のときは、幅WATを第2の幅(例えば、30cm)とし、距離DAMが第2の閾値よりも小さいときは、幅WATを第3の幅(例えば、15cm)とすると良い。
【0063】
<点群の連続性>
セグメンテーション部221は、各フレームにおいて、第1の距離以下の2点が同じセグメントに含まれるように、フレームの点群を分割する。このとき、異なる車両に対応する点が同じセグメントに入らないようにするために、この第1の距離は、小さい値に設定する必要がある。しかしながら、第1の距離が小さ過ぎると、実際は同じ車両に対応する点が、異なる2つのセグメントに分かれてしまうことがある。例えば、
図16(A)のように、トラクタTR1がトレーラーTR2を牽引するセミトレーラーTRの場合は、
図16(B)のように、トラクタTR1とトレーラーTR2のそれぞれの前面、側面の点群が写るため、1台のセミトラクターが2つのセグメント(トラクタTR1に対応するセグメントとトレーラーTR2に対応するセグメント)に分離する場合がある。
【0064】
そこで、本発明の一実施例に係る車両速度算出部220は、連続性判定部225をさらに有する。連続性判定部225は、第1の領域A1内に設定された連続性判定領域AC内に含まれる点群の時間的変化に基づいて、第1の点群情報の点の連続性を判定する。連続性判定領域ACは、例えば、yACL≦y≦yACHにより定まる領域として設定される。
【0065】
例えば、連続性判定部225は、連続性判定領域ACにおける第1の点群情報の点の連続性を示す連続性状態を記憶するようにすると良い。例えば、連続性判定部225は、
図17(A)のように、連続性判定領域ACに点が入っていないときは、そのフレームの連続性状態を「OFF」であると記憶し、
図17(B)に示すように、連続性判定領域ACに点が入っているときは、そのフレームの連続性状態を「ON」であると記憶する。つまり、
図18のように、3つの点(PC1、PC2、PC3)が移動しているとき、
図18(A)、18(G)に示したフレームの連続性状態は「OFF」であると記憶され、
図18(B)~18(F)に示したフレームの連続性状態は「ON」であると記憶される。
【0066】
よって、3つの点のうちの先端の点PC1が連続性判定領域ACに達したフレーム(
図18(B))の1つの前のフレーム(
図18(A))の連続性状態は「OFF」である。一方、3つの点のうちの先端でない点PC2が連続性判定領域ACに達したフレーム(
図18(C))の1つの前のフレーム(
図18(B))の連続性状態は「ON」である。よって、各点が連続性判定領域ACに達したフレームの1つの前の連続性状態を確認することで、その点が連続する点の先端の点であるのか否かを確認することが可能になる。よって、連続性判定部225は、第1の点群情報の各点が他の点と連続であるのか否かの判定することが可能である。
【0067】
本実施例において、先端位置推定部223は、セグメンテーション部221により異なる移動体に対応すると推定された2つの点群(セグメント)の点が連続であると連続性判定部225により判定された場合、当該2つの点群(セグメント)は、同一の車両に対応する点群であるとする。先端位置推定部223は、例えば、推定先端位置が連続性判定領域ACに達したときに、達した際のフレームの1つ前のフレームの連続性状態を確認し、連続性状態が「ON」であるときは、その推定先端位置に対応するセグメントは、当該セグメントの前方にあるセグメントが対応する同一の車両に対応すると判定する。
【0068】
そして、速度算出部224は、先端位置推定部223により同一の車両に対応すると判定された2つのセグメントに対しては、1つの速度のみが算出されるようにする。つまり、速度算出部224は、速度算出領域AVに推定先端位置が達したときに、この推定先端位置に対応するセグメントが先端位置推定部223により同一の車両に対応すると判定された複数のセグメントの最も前方のセグメントであるならば、車両の速度の算出をする。一方で、速度算出部224は、速度算出領域AVに推定先端位置が達したときに、この推定先端位置に対応するセグメントが先端位置推定部223により同一の車両に対応すると判定された複数のセグメントの最も前方のセグメントでないならば、そのセグメントに対しては、車両の速度の算出をしない。このようにすることで、セグメンテーション部221により、1つの車両が2つのセグメントに分離されたとしても、それぞれのセグメントに対して、車両の速度が算出されることを防ぐことが可能になる。あるいは、前述のカルマンフィルタ処理では、先端位置の推定と同時に移動速度も算出することから、速度算出部224では、カルマンフィルタで算出されている移動速度を選択する処理でも良い。
【0069】
このとき、速度算出領域AVの下限yAVLと、連続性判定領域ACの下限yACLと、が同じになるように速度算出領域AV、連続性領域ACを設定すると良い。このようにすることで、推定先端位置がyAVL以上になったときに、同時に、推定先端位置はyACL以上になり、推定先端位置の連続性を判定するタイミングと、この推定先端位置に対応する車両の速度を算出するタイミングを同じにすることが可能になる。
【0070】
連続性判定領域ACのy軸方向の幅yACH-yACLは、車道RWを走行中の車両が取る車間距離より短くするようにする。このようにすることで、連続性判定領域ACに2台の車両に入ることがなくなる。このため、本実施例では、連続判定領域ACに点が入っている点は、すべてが1台の車両に対応する点である。結果、本実施例では、連続性判定部225は、連続性判定領域ACに含まれる点群の時間的変化を確認し、連続性判定領域ACに点が含まれた状態が続いている限りは、1台の車両が連続性判定領域ACを通過しているとし、この間に連続性判定領域ACに入った点は1台の点であると判定することが可能である。走行中の車両は、一般に、10m以上の車間距離を取る。そこで、連続判定領域ACのy軸方向の幅yACH-yACLは、10mより小さい値、例えば、3mにすると良い。
【0071】
車両AMがLiDAR100の近傍にあるときに測定された車両AMに対応する点群の数は、車両AMがLiDAR100から遠方にあるときに測定された車両AMに対応する点群の数より多い。そこで、連続性判定領域ACは、LiDAR100に近傍に位置するようにすると良い。このようにすることで、同一の車両AMに対応する点間の距離が小さくなり、より正確に点群の連続性を判定することが可能になる。
【0072】
図19は、本実施例に係る連続性判定部225における処理動作の一例を示す図である。
図19では、第1の点群情報がM1枚のフレームFn(n=1、2、3、・・・、M1)で構成されているとしている。連続性判定部225は、n=1と設定する(ステップS1901)。連続性判定部225は、連続性判定領域ACに点が存在するのか否かを確認する(ステップS1902)。連続性判定領域ACに点が存在するときは(ステップS1902、YES)、フレームFnの連続性状態を「ON」と記憶し(ステップS1903)、n=M1であるのか否かを確認する(ステップS1904)。n=M1であるならば(ステップS1904、YES)、連続性判定部225は、処理を終了する。n=M1でないならば(ステップS1904、NO)、車両速度算出部220は、n=n+1と設定し(ステップS1905)、ステップS1902に戻る。
【0073】
連続性判定領域ACに点が存在しないときは(ステップS1902、NO)、フレームFnの連続性状態を「OFF」と記憶し(ステップS1906)、n=M1であるのか否かを確認する(ステップS1904)。
【0074】
図20は、本実施例に係る車両速度算出部220における処理動作の一例を示す図である。
図20では、第1の点群情報がM1枚のフレームFn(n=1、2、3、・・・、M1)で構成されているとしている。車両速度算出部220は、n=1と設定する(ステップS2001)。セグメンテーション部221は、フレームFnの点を、同一の車両に対応すると推定される点群のセグメントに分割する(ステップS2002)。代表点設定部222は、同一の車両に対応すると推定された点群のセグメントの各々に対して、代表点を設定する(ステップS2003)。先端位置移動推定部223は、同一の車両に対応すると推定された点群のセグメントの各々に対して、設定された代表点に基づいて、当該セグメントに対応する車両の先端位置の推定値である推定先端位置を算出する(ステップS2004)。
【0075】
フレームFnにおいて、推定先端位置が速度算出領域AVに達しているセグメントがあるならば(ステップS2005、YES)、先端位置移動推定部223は、当該推定先端位置に対応するセグメントの点が、このセグメントの前方のセグメントの点と連続であると連続性判定部225により判定されたのか否かを確認する(ステップS2006)。連続でない判定された場合(ステップS2006、NO)、速度算出部224は、このセグメントに対応する車両の速度を算出する(ステップS2009)。連続であると判定された場合(ステップS2006、YES)、先端位置移動推定部223は、このセグメントは前方のセグメントに対応する車両と同一の車両に対応するとして、速度算出部224による車両の速度計算を行わない。
【0076】
フレームFnにおいて、推定先端位置が速度算出領域AVに達しているセグメントがないならば(ステップS2005、NO)、車両速度算出部220は、n=M1であるのか否かを確認する(ステップS2007)。
【0077】
車両速度算出部220は、n=M1であるのか否かを確認する(ステップS2007)。n=M1であるならば(ステップS2007、YES)、車両速度算出部220は、処理を終了する。n=M1でないならば(ステップS2007、NO)、車両速度算出部220は、n=n+1と設定し(ステップS2008)、ステップS2002に戻る。
【0078】
<代表点に対する時間補正>
図21に示すように、上方から下方に(もしくは下方から上方に)走査することで1つのフレームのデータを生成するLiDARの場合、走査レイヤの各々が実際に走査される時刻とフレームのタイムスタンプの時刻との間には差が生じる。
図21に示した例では、範囲AS全体を走査するために、左から右への走査が10回行われている。例えば、各フレームのタイムスタンプとして走査開始された時刻が用いられている場合は、範囲AS全体を走査するのにかかる時間をTSとすると、各フレームにおいて、フレームのタイムスタンプとn番目のレイヤが走査される時刻との差は、(n-1)TS/10である。
【0079】
よって、このようなLiDARにより生成されたデータに基づいて、車両の速度を算出するときは、この時間差を考慮することで、より正確な速度を算出することが可能になる。例えば、各フレームのタイムスタンプとして走査開始された時刻が用いられている場合は、n番目のレイヤが走査される時刻は、フレームのタイムスタンプより遅い時刻である。結果、上記のような時間差を考慮しない場合には、算出された車両の速度は、実際の車両の速度よりも大きいものになってしまう。しかしながら、本実施例では、車両の速度を算出する際に用いる代表点は、先端部分領域AT内の点のy座標の平均値である。このため、代表点がどの走査レイヤの点であるかの情報は無く、上記のような時間差を考慮した時間補正をすることができない。
【0080】
そこで、本発明の一実施例に係る車両速度算出部220は、代表点走査時刻推定部226をさらに有する。代表点走査時刻推定部226は、車道RW上の物体の位置と、時刻情報が示す走査時刻(タイムスタンプ)と物体が走査される時刻との時間差と、を対応付けた規則、および代表点の位置を用いて、時刻情報が示す走査時刻(タイムスタンプ)を補正し、代表点が走査された時刻を推定する。そして、本実施例において、先端位置移動推定部223は、代表点走査時刻推定部226により代表点が走査されたと推定された時刻を用いて、車両の先端位置の推定値である推定先端位置を算出する。また、速度算出部224は、代表点走査時刻推定部226により代表点が走査されたと推定された時刻を用いて、車両の速度を算出する。
【0081】
図22は、第1の領域A1における、車道RW上の物体の位置と、時刻情報が示す走査時刻(タイムスタンプ)と物体が走査される時刻との時間差と、を対応付けた規則の一例を示す図である。この図では、横軸は、y座標であり、縦軸は、フレームのタイムスタンプと、その物体が走査される時間と、の時間差である。つまり、
図22では、y=ys1にある物体が実際に走査される時間とフレームとの時間差は、ts1である。この規則は、車道RW上で車両を走行させ、その車両をLiDAR100により測定することや、車道RWの手前側の車線の中心線上に複数の物体を配置し、この複数の物体をLiDAR100により測定することなどをし、事前に得ておく。
【0082】
代表点走査時刻推定部226は、各フレームにおいて、代表点設定部222により設定された代表点の値と上記規則から、代表点が走査された時刻を推定する。例えば、各フレームのタイムスタンプとして走査開始された時刻が用いられている場合は、
図22に示した例では、タイムスタンプがTFnであるフレームFnで代表点設定部222により設定された代表点がys1であれば、代表点が走査された時刻は、TFn+ts1であると推定される。
【0083】
<先端位置の算出>
先端位置検出部230は、車両速度算出部220により車速VAMが算出された車両AMに対して、第2の点群情報に基づいて、第1の時刻T1でのその車両AMの先端位置FEを算出する。第1の領域A1で車速VAMであった車両AMは、この車速VAMとほぼ同じ車速で、第1の領域A1の下流にある第2の領域A2に達すると考えられる。そこで、先端位置検出部230は、第2の領域A2のうちの、この車速VAMにより車両AMの先端位置FEが存在すると予測される領域(先端位置検出領域VFD)において、この車両の先端位置FEを検出する。
【0084】
まず、先端位置検出部230は、車両速度算出部220により車速VAMが算出された車両AMに対して、その車両の先端位置FEが存在すると予測される位置のy座標値(予測先端位置yFP)を算出する。上述したように、車両速度算出部220の速度算出部224は、この推定先端位置が速度算出領域AVに達したときに、車両AMの速度VAMを算出する。そこで、先端位置検出部230は、例えば、この推定先端位置が速度算出領域AVに達した時刻tVAMと推定先端位置の値yVAMと、車速VAMを取得する。このようにすることで、先端位置検出部230は、例えば、時刻tでの予測先端位置yFPを、yFP=yVAM+VAM(t-tVAM)により求めることが可能である(
図23)。
【0085】
そして、先端位置検出部230は、この予測先端位置yFPを含む領域を先端位置検出領域VFDとして設定する。先端位置検出領域VFDは、例えば、yVFDL≦y≦yVFDHにより定まる領域として設定される。車両AMの先端位置FEは、この予測先端位置yFPより前方に位置することも、後方に位置することもあるため、先端位置検出領域VFDのy座標値の下限yVFDL、上限yVFDHは、
図23(B)に示すように、予測先端位置yFPを挟むように設定される(yVFDL<yFP<yVFDH)。
【0086】
そして、先端位置検出部230は、先端位置検出領域VFDの上限yVFDHが第2の領域A2にあるときに(
図24)、この先端位置検出領域VFD内の点群から最も先端の点PF(最もy座標が大きい点)を検出する。このとき、先端位置検出部230は、先端位置検出領域VFDの上限yVFDHが第2の領域A2にあるときのフレームのすべてにおいて、先端の点PFを検出しても良いし、先端位置検出領域VFDの上限yVFDHが第2の領域A2にあるときのフレームの一部で、先端の点PFを検出しても良い。
【0087】
先端の点PFを検出するのに用いたフレームの数がM2枚であるとき、先端位置検出部230は、M2個の先端の点PFn(1、・・、M2)を検出する。先端位置検出部230は、先端位置FEとし、このM2個の先端の点PFnのy座標値yPFnの平均(yPFn+・・・+yPFM2)/M2を算出する。また、先端位置検出部230は、第1の時刻T1として、先端の点PFnが検出されたM2個のフレームFnのタイムスタンプTFnの平均(TF1+・・・+TFM2)/M2を算出する。
【0088】
図25は、本実施例に係る先端位置検出部230における処理動作の一例を示す図である。先端位置検出部230は、車両速度算出部220により車速VAMが算出された車両AMに対して、予測先端位置yFPを算出する(ステップS2501)。先端位置検出部230は、この予測先端位置yFPを含む領域を先端位置検出領域VFDとして設定する(ステップS2502)。先端位置検出部230は、先端位置検出領域VFDの上限yVFDHが第2の領域A2にある間のフレームFnにおいて、この先端位置検出領域VFD内の点群から最も先端の点PFnを検出する(ステップS2503)。先端位置検出部230は、検出された先端の点PFnと、先端の点PFnが検出されたフレームFnのタイムスタンプTFnに基づき、第1の時刻T1における車両AMの先端位置FEを算出する(ステップS2504)。
【0089】
<後端位置の算出>
後端位置検出部240は、車両速度算出部220により車速VAMが算出された車両AMに対して、第3の点群情報に基づいて、第2の時刻T2での後端位置REを算出する。第1の領域A1で車速VAMであった車両AMは、この車速VAMとほぼ同じ車速で、第1の領域A1の下流にある第3の領域A3に達すると考えられる。そこで、後端位置検出部240は、この車速VAMにより車両AMの後端位置REが存在すると予測される領域(後端位置検出領域VRD)において、この車両の後端位置REを検出する。
【0090】
後端位置検出部240も、先端位置検出部230同様に、車両速度算出部220により車速VAMが算出された車両AMの先端位置FEが存在すると予測される位置のy座標値(予測先端位置yPF)を算出する。そして、後端位置検出部240は、この車両AMの先端位置FEが存在すると予測される位置の推定車長(推定移動体長)LEだけ後方の位置のy座標値を後端位置REが存在すると予測される位置(予測後端位置yPR)とする。つまり、予測後端位置yPRは、yPR=yPF-LEである。ここで、推定車両LEは、車両AMの長さの推定値であり、典型的な車両の長さを用いるようにしても良いし、下記で詳述するように、第1の点群情報に基づいて算出するようにしても良い。
【0091】
そして、後端位置検出部240は、この予測後端位置yRPを含む領域を後端位置検出領域VRDとして設定する。後端位置検出領域VRDは、例えば、yVRDL≦y≦yVRDHにより定まる領域として設定される。車両AMの後端位置REは、この予測後端位置yRPより前方に位置することも、後方に位置することもあるため、後端位置検出領域VRDの下限yVRDL、上限yVRDHは、
図26に示すように、予測後端位置yRPを挟むように配置される(yVRDL<yRP<yVRDH)。
図26に示した例では、後端位置検出領域VRDの上限yVRDHを予測先端位置yFPと同じ位置に設定しているが、予測先端位置yFPより後方に設定するようにしても良い。
【0092】
そして、後端位置検出部240は、後端位置検出領域VRDの下限yVRDLが第3の領域A3にあるときに(
図27)、この後端位置検出領域VRD内の点群から最も後端の点PR(最もy座標が小さい点)を検出する。このとき、後端位置検出部240は、後端位置検出領域VRDの下限yVRDLが第3の領域A3にあるときのフレームのすべてにおいて、後端の点PRを検出しても良いし、後端位置検出領域VRDの下限yVRDLが第3の領域A3にあるときのフレームの一部で、後端の点PRを検出しても良い。
【0093】
後端の点PRを検出するのに用いたフレームの数がM3枚であるとき、後端位置検出部240は、M3個の後端の点PRn(1、・・、M3)を検出する。そして、後端位置検出部240は、後端位置REとし、このM3個の後端の点PRnのy座標値yPRnの平均(yPRn+・・・+yPRM3)/M3を算出する。また、後端位置検出部240は、第2の時刻T2として、後端の点PRnが検出されたM3個のフレームFnのタイムスタンプTFnの平均(TF1+・・・+TFM3)/M3を算出する。
【0094】
図28は、本実施例に係る後端位置検出部240における処理動作の一例を示す図である。後端位置検出部240は、車両速度算出部220により車速VAMが算出された車両AMに対して、予測後端位置yRPを算出する(ステップS2801)。後端位置検出部240は、この予測後端位置yRPを含む領域を後端位置検出領域VRDとして設定する(ステップS2802)。後端位置検出部240は、後端位置検出領域VRDの下限yVRDLが第3の領域A3にある間のフレームFnにおいて、この後端位置検出領域VRD内の点群から最も後端の点PRnを検出する(ステップS2803)。後端位置検出部240は、検出された後端の点PRnと、後端の点PRnが検出されたフレームFnのタイムスタンプTFnに基づき、第2の時刻T2における車両AMの後端位置REを算出する(ステップS2804)。
【0095】
<推定車長>
推定車長LEは、例えば、典型的な車両の長さを用いるようにしても良い。しかしながら、二輪車とセミトレーラーとでは、車長が大きく異なる。そこで、本発明の一実施例に係る制御部200の車両速度算出部220は、第1の点群情報に基づいて、車両AMの車長を推定する値である推定車長LEを算出する推定車長算出部227をさらに有する。そして、本実施例に係る後端位置検出部240は、この推定車長算出部227により算出された推定車長LEを用いて、予測後端位置yPRを算出する。
【0096】
推定車長算出部227は、連続性判定領域ACに含まれる点群の時間的変化に基づいて、車両AMの車長の推定値である推定車長LEを算出する。推定車長算出部227は、連続性判定部225同様に、連続するフレームに、連続性判定領域ACに点が存在するうちは、同一の車両の点群が連続していると判定する。つまり、推定車長算出部227は、
図18の3つの点PC1、PC2、PC3は、連続であると判定する。
【0097】
そして、推定車長算出部227は、連続している点の先端の点と後端の点の距離を求めることで、推定車長LEを算出する。
図18の例では、点PC1と点PC3の距離を求める。例えば、連続している点の先端の点が連続性判定領域ACに入ったときのフレームFEでの先端の点のy座標値yEであり、そのフレームFEのタイムスタンプTFEであり、連続している点の後端の点が連続性判定領域ACを出たときのフレームFLでの後端の点のy座標値yLであり、そのフレームFLのタイムスタンプTFLであるとすると、推定車長LEは、この連続する点に対応する車両の速度がVAMであれば、推定車長LEは、LE=yE-yL+VAM(TFL-TFE)で求まる。また、推定車長LEは、ACの幅とタイムスタンプから、LE=AC(TFL-TFE)として算出しても良い。
【0098】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に記載した本発明の趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更が可能である。