(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103605
(43)【公開日】2024-08-01
(54)【発明の名称】情報処理装置、制御方法、プログラム及び記憶媒体
(51)【国際特許分類】
G01C 21/30 20060101AFI20240725BHJP
【FI】
G01C21/30
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2024087001
(22)【出願日】2024-05-29
(62)【分割の表示】P 2022555528の分割
【原出願日】2021-10-06
(31)【優先権主張番号】P 2020169915
(32)【優先日】2020-10-07
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(71)【出願人】
【識別番号】520001073
【氏名又は名称】パイオニアスマートセンシングイノベーションズ株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(72)【発明者】
【氏名】鈴木 雅美
(72)【発明者】
【氏名】加藤 将大
(57)【要約】
【課題】地図データと計測データとの照合を好適に実行可能な情報処理装置を提供する。
【解決手段】情報処理装置は、点群地図データ取得手段と、スキャンデータ取得手段と、スキャンデータ処理手段と、照合手段とを有する。点群地図データ取得手段は、反射強度の情報が閾値以上の点群データである点群地図データを取得する。スキャンデータ取得手段は、出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得する。スキャンデータ処理手段は、スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成する。照合手段は、点群地図データと高反射強度スキャンデータとの照合を行う。
【選択図】
図3
【特許請求の範囲】
【請求項1】
反射強度が閾値以上の点群データである点群地図データを取得する点群地図データ取得手段と、
出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得するスキャンデータ取得手段と、
前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成するスキャンデータ処理手段と、
前記点群地図データと前記高反射強度スキャンデータとの照合を行う照合手段と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両の姿勢の推定技術に関する。
【背景技術】
【0002】
従来から、レーダやカメラなどの計測部の計測データに基づいて、自車位置推定などを行う技術が知られている。例えば、特許文献1には、計測センサの出力と、予め地図上に登録された地物の位置情報とを照合させることで自己位置を推定する技術が開示されている。また、非特許文献1には、ICP(Iterative Closest Point)による照合(マッチング)であって、ICPの異なる2つのアルゴリズムであるPoint to PointアルゴリズムとPoint to Planeアルゴリズムとを組み合わせた位置推定手法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】S.Takai, H.Date, S.Kanai, Y.Niina, K.Oda, and T. Ikeda: Accurate registration of MMS point clouds of urban areas using trajectory, ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-5/W2, pp. 277-282. 2013.
【発明の概要】
【発明が解決しようとする課題】
【0005】
計測データを取得する場所に特徴的な3次元構造を持つ物体が数多く存在しない環境では、取得された計測データの中にマッチングを安定的に行うための特徴的な形状情報が少なくなり、高い精度で地図データと計測データとの照合(マッチング)を行うことが難しくなる。その結果、自車等の位置・姿勢推定処理に位置や方位の誤差が生じるという課題がある。
【0006】
本開示は、上記のような課題を解決するためになされたものであり、地図データと計測データとの照合を好適に実行可能な情報処理装置を提供することを主な目的とする。
【課題を解決するための手段】
【0007】
請求項に記載の発明は、
反射強度が閾値以上の点群データである点群地図データを取得する点群地図データ取得手段と、
出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得するスキャンデータ取得手段と、
前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成するスキャンデータ処理手段と、
前記点群地図データと前記高反射強度スキャンデータとの照合を行う照合手段と、
を有する情報処理装置である。
【0008】
また、請求項に記載の発明は、
コンピュータが実行する制御方法であって、
反射強度が閾値以上の点群データである点群地図データを取得し、
出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得し、
前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成し、
前記点群地図データと前記高反射強度スキャンデータとの照合を行う、制御方法である。
【0009】
また、請求項に記載の発明は、
反射強度が閾値以上の点群データである点群地図データを取得し、
出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得し、
前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成し、
前記点群地図データと前記高反射強度スキャンデータとの照合を行う処理をコンピュータに実行させるプログラムである。
【図面の簡単な説明】
【0010】
【
図2】車載機の機能的構成を示すブロック図である。
【
図3】位置推定に関する制御部の機能的なブロック構成図の一例である。
【
図4】位置推定処理の手順を示すフローチャートの一例である。
【
図5】Combined-ICP処理の手順を示すフローチャートの一例である。
【
図6】ICPループ処理の手順を示すフローチャートの一例である。
【
図8】反射強度閾値の設定に用いられるヒストグラムの一例である。
【
図10】シミュレーションにおいて使用する点群地図データの各点を3次元空間にプロットした状態を表す斜視図である。
【
図11】比較例におけるマッチング結果を示す図である。
【
図12】本実施例に基づくマッチング手法によるマッチング結果を示す図である。
【
図13】第2マッチングの結果を個別に示した図である。
【
図14】実施例の手法と、比較例の手法とを実行した場合の、ICPループ処理の反復回数と二乗誤差との関係を示すグラフである。
【発明を実施するための形態】
【0011】
本発明の好適な実施形態によれば、情報処理装置は、反射強度が閾値以上の点群データである点群地図データを取得する点群地図データ取得手段と、出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得するスキャンデータ取得手段と、前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成するスキャンデータ処理手段と、前記点群地図データと前記高反射強度スキャンデータとの照合を行う照合手段と、を有する。なお、「反射強度が所定の閾値以上となる高反射強度スキャンデータ」の「閾値」と、「反射強度が閾値以上の点群データである点群地図データ」の「閾値」とは、それぞれ、点群地図データの取得時に使用されたライダ等の計測装置の反射強度特性と、点群地図データ作成時に使用されたライダ等の計測装置の反射強度特性とに基づいて、最適な値に設定される。この態様により、情報処理装置は、反射強度が高いスキャンデータを利用し、3次元構造を持つ物体が数多く存在しない環境においても、地図データとスキャンデータとの照合を好適に実行することができる。
【0012】
上記情報処理装置の一態様では、前記点群地図データ取得手段は、前記点群地図データとして、前記反射強度が前記閾値以上となる基準面上の点を含む点群データである高反射強度地図データを取得し、前記スキャンデータ処理手段は、前記スキャンデータから、前記反射強度が前記閾値以上となる基準面上の点を含むデータを、前記高反射強度スキャンデータとして生成し、前記照合手段は、前記高反射強度地図データと、前記高反射強度スキャンデータとの照合を行う。この態様により、情報処理装置は、基準面の高反射部分を基準とした照合を好適に実行することができる。
【0013】
上記情報処理装置の他の一態様では、前記照合手段は、Point to Pointアルゴリズムに基づき前記照合を行う。この態様により、基準面の高反射部分を基準としたマッチングを高精度に実行することができる。
【0014】
上記情報処理装置の他の一態様では、前記点群地図データ取得手段は、前記高反射強度地図データと、3次元空間に存在する地物の点群データである3次元空間地図データとを取得し、前記スキャンデータ処理手段は、前記スキャンデータ又は当該スキャンデータに対してフィルタを適用したデータを、3次元空間スキャンデータとして生成し、前記照合手段は、前記3次元空間地図データと前記3次元空間スキャンデータとの第1照合と、前記高反射強度地図データと前記高反射強度スキャンデータとの第2照合とを実行する。この態様により、情報処理装置は、基準面以外のスキャンデータについても利用して好適に照合を実行することができる。好適な例では、前記照合手段は、Point to Planeアルゴリズムに基づき前記第1照合を行い、Point to Pointアルゴリズムに基づき前記第2照合を行うとよい。
【0015】
上記情報処理装置の他の一態様では、前記照合手段は、前記第1照合において照合する前記3次元空間スキャンデータの数と、前記第2照合において照合する前記高反射強度スキャンデータの点の数とに基づき、前記第1照合と前記第2照合との重み付けを行う。この態様により、情報処理装置は、処理対象となった点の数に応じた重み付けにより第1照合と第2照合とを好適に組み合わせた照合結果を得ることができる。
【0016】
上記情報処理装置の他の一態様では、前記基準面は、道路面を含む。これにより、情報処理装置は、3次元構造を持つ物体が数多く存在しない環境においても、路面ペイントを基準として地図データとスキャンデータとの照合を好適に実行することができる。
【0017】
上記情報処理装置の他の一態様では、前記スキャンデータ取得手段は、出射した光の反射光を受光する外界センサにより計測した前記スキャンデータを取得する。この態様により、情報処理装置は、反射強度の情報を含むスキャンデータを好適に取得することができる。
【0018】
上記情報処理装置の他の一態様では、前記照合手段は、前記照合により、前記スキャンデータの座標系を前記点群地図データの座標系に変換するためのパラメータを算出する。情報処理装置は、上述した照合を高精度に行うことで、スキャンデータの座標系を点群地図データの座標系に変換するためのパラメータを高精度に算出することができる。
【0019】
上記情報処理装置の他の一態様では、前記スキャンデータ処理手段は、前記閾値を、前記スキャンデータの反射強度を対象としたヒストグラムに基づき設定する。この態様により、情報処理装置は、高反射強度スキャンデータの生成に用いる閾値を、適応的に算出することができる。
【0020】
本発明の他の好適な実施形態によれば、コンピュータが実行する制御方法であって、反射強度が閾値以上の点群データである点群地図データを取得し、出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得し、前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成し、前記点群地図データと前記高反射強度スキャンデータとの照合を行う。情報処理装置は、この制御方法を実行することで、地図データとスキャンデータとの照合を好適に実行することができる。
【0021】
本発明の他の好適な実施形態によれば、プログラムは、反射強度が閾値以上の点群データである点群地図データを取得し、出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得し、前記スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成し、前記点群地図データと前記高反射強度スキャンデータとの照合を行う処理をコンピュータに実行させる。コンピュータは、このプログラムを実行することで、地図データとスキャンデータとの照合を好適に実行することができる。好適には、上記プログラムは、記憶媒体に記憶される。
【実施例0022】
以下、図面を参照して本発明の好適な実施例について説明する。なお、任意の記号の上に「^」が付された文字を、本明細書では便宜上、「A^」(「A」は任意の文字)と表す。
【0023】
(1)
運転支援システムの概要
図1は、本実施例に係る運転支援システムの概略構成である。運転支援システムは、移動体である車両と共に移動する車載機1と、ライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)3とを有する。
【0024】
車載機1は、ライダ3などの外界センサ及び図示しない内界センサ等と電気的に接続し、これらの出力に基づき、運転支援システムにおいて基準とする位置(姿勢を含む)の推定を行う。基準とする位置は、車載機1が搭載される車両の中心位置であってもよく、位置推定に用いるライダ3の位置であってもよい。そして、車載機1は、位置推定結果に基づき、設定された目的地への経路に沿って走行するように、車両の自動運転制御などの運転支援を行う。車載機1は、道路及び道路周辺の地物の表面を計測した点毎に3次元位置と反射強度とを示す点群の地図データである点群地図データ10を記憶する。そして、車載機1は、この点群地図データ10とライダ3による計測結果であるスキャンデータとを照合させて位置推定を行う。
【0025】
ライダ3は、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群を示すスキャンデータを生成する。この場合、ライダ3は、照射方向を変えながらレーザ光を照射する照射部と、照射したレーザ光の反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づくスキャンデータを出力する出力部とを有する。スキャンデータは、受光部が受光したレーザ光に対応する照射方向と、上述の受光信号に基づき特定される当該レーザ光の応答遅延時間とに基づき生成される。1回分の走査により得られるスキャンデータは、1フレーム分のスキャンデータに相当する。
【0026】
なお、ライダ3の設置位置は、
図1に示される位置に限らず、少なくとも路面を照射範囲に含む設置位置であればよい。また、ライダ3は、車両に複数設けられてもよい。車載機1は「情報処理装置」の一例であり、ライダ3は「外界センサ」の一例である。
【0027】
(2)
車載機の構成
図2は、車載機1の機能的構成を示すブロック図である。車載機1は、主に、インターフェース11と、記憶部12と、通信部13と、入力部14と、制御部15と、情報出力部16と、を有する。これらの各要素は、バスラインを介して相互に接続されている。
【0028】
インターフェース11は、ハードウェアインタフェースとして機能し、センサ群2が出力するデータを、制御部15へ供給する。また、インターフェース11は、制御部15が生成した車両の走行制御に関する信号を、車両の電子制御装置(ECU:Electronic Control Unit)へ供給する。
【0029】
センサ群2は、位置推定に必要な種々の外界センサ及び内界センサにより構成される。センサ群2は、ライダ3、GPS受信機4、ジャイロセンサ5、及び車速センサ6などを有している。センサ群2は、ジャイロセンサ3に代えて、又はこれに加えて、3軸方向における計測車両の加速度及び角速度を計測する慣性計測装置(IMU)などを有してもよい。また、センサ群2は、ライダ3以外の外界センサ(例えばカメラ)などをさらに有してもよい。
【0030】
記憶部12は、制御部15が実行するプログラムや、制御部15が所定の処理を実行するのに必要な情報を記憶する。記憶部12は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの揮発性メモリ及び不揮発性メモリにより構成される。本実施例では、記憶部12は、点群地図データ10を記憶する。
【0031】
なお、点群地図データ10は、定期的に更新されてもよい。この場合、例えば、制御部15は、通信部13を介し、地図データを管理するサーバ装置から、自車位置が属するエリアに関する地図データを受信し、点群地図データ10に反映させる。また、点群地図データ10は、記憶部12に記憶される代わりに、車載機1と通信可能な1又は複数のサーバ装置により記憶されてもよい。この場合、例えば、制御部15は、通信部13を介して、上記サーバ装置と通信を行うことで、処理に必要な自車位置周辺の点群地図データを、必要なタイミングにより取得する。また、点群地図データ10は、SLAM(Simultaneous Localization and Mapping)により車載機1が生成するデータであってもよい。
【0032】
入力部14は、ユーザが操作するためのボタン、タッチパネル、リモートコントローラ、音声入力装置等のユーザインターフェースであり、経路探索のための目的地を指定する入力、自動運転のオン及びオフを指定する入力などを受け付ける。情報出力部16は、例えば、制御部15の制御に基づき出力を行うディスプレイやスピーカ等である。
【0033】
制御部15は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などの1または複数のプロセッサを含み、記憶部12等に記憶されたプログラムを実行することで、車載機1の全体を制御する。制御部15は、「点群地図データ取得手段」、「スキャンデータ取得手段」、「スキャンデータ処理手段」、「照合手段」及びプログラムを実行する「コンピュータ」の一例である。なお、これらの各手段の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(field-programmable gate array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。
【0034】
(3)位置推定
次に、車載機1の制御部15が実行する、点群地図データ10とライダ3によるスキャンデータとのマッチング(照合)による位置推定について説明する。
【0035】
(3-1)概要
概略的には、制御部15は、ライダ3が出力するスキャンデータから、3次元空間のスキャンデータと、反射強度が所定の閾値以上となる道路面のスキャンデータとを夫々抽出し、これらのデータの各々に対して用意した地図データとのマッチングを行う。これにより、制御部15は、特徴的な3次元構造を持つ地物が存在しない環境であっても、路面ペイントに対するスキャンデータに基づき、位置推定のためのマッチングを安定的に行う。
【0036】
以後では、3次元空間のスキャンデータを「3D空間スキャンデータDs1」と呼び、反射強度が所定の閾値以上となる道路面のスキャンデータを「高反射強度スキャンデータDs2」と呼ぶ。また、3D空間スキャンデータDs1とのマッチングに使用するために点群地図データ10から抽出された3次元空間の地図データを、「3D空間地図データDm1」と呼び、高反射強度スキャンデータDs2とのマッチングに使用するために点群地図データ10から抽出された道路面の高反射部分(即ち路面ペイント)の地図データを、「高反射強度地図データDm2」と呼ぶ。
【0037】
また、制御部15は、ICPを用いて、上述のマッチングを行う。ここで、ICPのアルゴリズムとして、点同士のマッチングの度合いを評価指標とするPoint to Point(P2P)アルゴリズムと、法線情報を利用した評価指標を用いるPoint to Plane(P2PL)アルゴリズムとが存在する。そして、本実施例では、制御部15は、P2Pアルゴリズムと、P2PLアルゴリズムとを組み合わせた「Combined ICP」アルゴリズムに基づき、上述のマッチングを行う。具体的には、制御部15は、3D空間スキャンデータDs1と3D空間地図データDm1とのマッチング(「第1マッチング」とも呼ぶ。)ではP2PLの評価指標を用い、高反射強度スキャンデータDs2と高反射強度地図データDm2とのマッチング(「第2マッチング」とも呼ぶ。)ではP2Pの評価指標を用いてマッチングを行う。また、以後では、マッチングされる側のデータを「ターゲット」と呼び、マッチングする側のデータを、「ソース」とも呼ぶ。
【0038】
(3-2)ブロック構成図
図3は、位置推定に関する制御部15の機能的なブロック構成図の一例である。制御部15は、機能的には、地図データ処理部20と、法線ベクトル算出部21と、第1対応付け部22と、スキャンデータ処理部23と、選択部24、25と、第2対応付け部26と、統合連立方程式構築部27と、特異値分解部28と、変換部29と、3D空間二乗誤差計算部30と、高反射強度二乗誤差計算部31と、適応重み付け算出部32と、重み付け加算部33と、収束判定部34と、変換行列更新部35と、切替部36とを有する。
【0039】
地図データ処理部20は、点群地図データ10に基づき、位置推定のマッチングに必要な3D空間地図データDm1と高反射強度地図データDm2とを生成する。3D空間地図データDm1と高反射強度地図データDm2の生成方法については、「(3-3)データ処理」のセクションにて詳しく説明する。
【0040】
法線ベクトル算出部21は、3D空間地図データDm1が示す各点について、第1マッチングに必要な法線ベクトルを算出する。なお、第1マッチングにおいて実行されるP2PLアルゴリズムは、ターゲットの法線情報を使用する方式であり、第1マッチングでは、3D空間地図データDm1がターゲットに相当し、3D空間スキャンデータDs1がソースに相当する。
【0041】
第1対応付け部22は、3D空間地図データDm1と3D空間スキャンデータDs1との対応付けを行う。この場合、第1対応付け部22は、3D空間スキャンデータDs1に含まれている各点に対して、3D空間地図データDm1内の最も近い点(最近傍点)を探索する。そして、第1対応付け部22は、点同士を対応付けた3D空間地図データDm1及び3D空間スキャンデータDs1と、法線ベクトルの情報とを、統合連立方程式構築部27に供給する。
【0042】
スキャンデータ処理部23は、ライダ3が生成したスキャンデータに対して所定の処理を行い、3D空間スキャンデータDs1と、高反射強度スキャンデータDs2とを生成する。この場合、スキャンデータ処理部23は、例えば、ライダ3が走査を行う周期(フレーム周期)に従い、得られた最新の1フレーム分のスキャンデータから、3D空間スキャンデータDs1と高反射強度スキャンデータDs2とを生成する処理を行う。3D空間スキャンデータDs1と高反射強度スキャンデータDs2の生成方法については後述する。
【0043】
ここで、ライダ3が生成したスキャンデータは、ライダ3を基準とする座標系となっている。従って、スキャンデータ処理部23は、例えば、ライダ3以外のセンサ群2の出力信号等に基づき暫定的に推定した車両位置及び予め記憶部12に記憶されたライダ3の設置位置等の情報に基づき、スキャンデータを、点群地図データ10において採用される地図座標系に暫定的に変換してもよい。この場合、スキャンデータ処理部23は、地図座標系での3D空間スキャンデータDs1と高反射強度スキャンデータDs2を生成する。
【0044】
選択部24は、スキャンデータ処理部23が生成した3D空間スキャンデータDs1、又は、現在のスキャンデータのフレームにおける前回のループ処理において変換部29により暫定的に変換された3D空間スキャンデータDs1のいずれかを選択する。そして、選択部24は、選択した3D空間スキャンデータDs1を、第1対応付け部22に供給する。
【0045】
具体的には、選択部24は、処理対象となるスキャンデータのフレームを対象としたICPに関するループ処理(「ICPループ処理」とも呼ぶ。)のループ回数「i」が初回(i=1)の場合、スキャンデータ処理部23から供給される3D空間スキャンデータDs1を、第1対応付け部22に供給する。一方、選択部24は、ICPループ処理が2回目以降(i>1)であって、かつ、ICPループ処理の終了条件が満たされていない場合に、変換部29により変換処理がなされた3D空間スキャンデータDs1を、第1対応付け部22に供給する。この場合、ICPループ処理を所定回数実行することを、ICPループ処理の終了条件としてもよく、ICPループ処理が収束することを、ICPループ処理の終了条件としてもよい。なお、ICPループ処理の終了条件の判定は、後述する収束判定部34により行われる。
【0046】
選択部25は、スキャンデータ処理部23が生成した高反射強度スキャンデータDs2、又は、現在のスキャンデータのフレームにおける前回のループ処理において変換部29により暫定的に変換された高反射強度スキャンデータDs2のいずれかを選択する。そして、選択部25は、選択した高反射強度スキャンデータDs2を、第2対応付け部26に供給する。具体的には、選択部25は、ICPループ処理の回数iが初回(i=1)の場合、スキャンデータ処理部23から供給される高反射強度スキャンデータDs2を、第2対応付け部26に供給する。一方、選択部25は、ICPループ処理が2回目以降(i>1)であって、かつ、ICPループ処理の終了条件が満たされていない場合に、変換部29により変換処理がなされた高反射強度スキャンデータDs2を第2対応付け部26に供給する。
【0047】
第2対応付け部26は、地図データ処理部20から供給される高反射強度地図データDm2と、選択部25から供給される高反射強度スキャンデータDs2との対応付けを行う。この場合、第2対応付け部26は、高反射強度スキャンデータDs2に含まれている各点に対して、高反射強度地図データDm2内の最も近い点(最近傍点)を探索する。そして、第2対応付け部26は、点毎に対応付けた高反射強度地図データDm2及び高反射強度スキャンデータDs2を、統合連立方程式構築部27に供給する。
【0048】
統合連立方程式構築部27は、第1マッチングと第2マッチングとにおいて必要な連立方程式を構築する。統合連立方程式構築部27は、第1構築部27Xと、第2構築部27Yとを含む。第1構築部27Xは、第1対応付け部22から供給される情報に基づき、第1マッチングに関する連立方程式(「第1連立方程式」とも呼ぶ。)を構築する。第2構築部27Yは、第2対応付け部26から供給される情報に基づき、第2マッチングに関する連立方程式(「第2連立方程式」とも呼ぶ。)を構築する。そして、統合連立方程式構築部27は、第1連立方程式と、第2連立方程式とを統合した連立方程式(「統合連立方程式」とも呼ぶ。)を構築し、構築した統合連立方程式を特異値分解部28へ供給する。
【0049】
特異値分解部28は、統合連立方程式構築部27から供給される統合連立方程式の解を、特異値分解により算出する。統合連立方程式の解は、3D空間スキャンデータDs1と高反射強度スキャンデータDs2とに夫々適用すべき変換行列のパラメータを含んでいる。この変換行列は、回転行列「R」と、並進ベクトル「T」とを含み、以後では、「[R T]」とも表記する。なお、特異値分解部28が各ループにおいて算出する変換行列は、暫定的な変換行列であり、1回のループにおいて算出する変換行列を「暫定変換行列」と呼び、その回転行列及び並進ベクトルを、夫々、「R_tmp」及び「T_tmp」と表記する。
【0050】
変換部29は、3D空間スキャンデータDs1と、高反射強度スキャンデータDs2とを、特異値分解部28が算出する暫定変換行列に基づき変換する。変換部29は、3D空間スキャンデータDs1を変換する第1変換部29Xと、高反射強度スキャンデータDs2を変換する第2変換部29Yとを有する。第1変換部29Xは、変換後の3D空間スキャンデータDs1を、選択部24及び3D空間二乗誤差計算部30に夫々供給し、第2変換部29Yは、変換後の高反射強度スキャンデータDs2を、選択部25及び高反射強度二乗誤差計算部31に供給する。
【0051】
3D空間二乗誤差計算部30は、第1変換部29Xが変換した3D空間スキャンデータDs1と、3D空間地図データDm1との二乗誤差(「3D空間二乗誤差EPT_PL」とも呼ぶ。)の計算を行う。高反射強度二乗誤差計算部31は、第2変換部29Yが変換した高反射強度スキャンデータDs2と、高反射強度地図データDm2との二乗誤差(「高反射強度二乗誤差EPT_PT」とも呼ぶ。)の計算を行う。
【0052】
適応重み付け算出部32は、3D空間二乗誤差EPT_PLと高反射強度二乗誤差EPT_PTとに対して夫々適用する重みの算出を行う。例えば、適応重み付け算出部32は、処理対象のフレームにおいて、第1マッチングと第2マッチングとで扱う処理点数比率に基づき、上記の重みを決定する。例えば、第1マッチングでの処理点数(即ち、3D空間スキャンデータDs1に含まれる点の数)を「N1」、第2マッチングでの処理点数(即ち、高反射強度スキャンデータDs2に含まれる点の数)を「N2」、3D空間二乗誤差EPT_PLに対する重みを「w1」、高反射強度二乗誤差EPT_PTに対する重みを「w2」とすると、適応重み付け算出部32は、以下の式に基づき、重みw1と重みw2とをフレーム毎に算出する。
w1=N1/(N1+N2)
w2=1-(N1/(N1+N2))
【0053】
重み付け加算部33は、適応重み付け算出部32が算出した重みw1、w2を用い、以下の式に示されるように、3D空間二乗誤差と高反射強度二乗誤差との重み付け和に相当する総合誤差「E_total」を算出する。
E_total=w1・EPT_PL+w2・EPT_PT
【0054】
収束判定部34は、ICPループ処理の収束等の判定を行うことで、ICPループ処理の終了条件が満たされたか否か判定する。具体的には、収束判定部34は、現フレームにおいて、ICPループ処理が所定回数だけ実行された場合、又は、今回のループでの総合誤差E_totalと前回のループでの総合誤差E_totalとの差が所定差以内である場合、ICPループ処理の終了条件が満たされたと判定する。そして、収束判定部34は、判定結果を切替部36に供給する。
【0055】
変換行列更新部35は、特異値分解部28がICPループ処理のループ毎に算出する暫定変換行列に基づき、現在のフレームにおける累計での回転及び並進を表す変換行列を算出する。
【0056】
切替部36は、収束判定部34から供給される判定結果に基づき、ICPループ処理の終了を検知した場合に、変換行列更新部35から供給される変換行列を、求めるべき変換行列として出力する。そして、切替部36が出力した変換行列に基づき、車載機1は、地図座標系でのライダ3の位置(姿勢を含む)を認識する。なお、ライダ3の車両に対する相対的な位置(姿勢を含む)を示す設置情報が記憶部12等に記憶されている場合には、車載機1は、設置情報と、上述の変換行列とに基づき、車両の位置を推定してもよい。
【0057】
(3-3)処理フロー
図4は、本実施例における位置推定処理の手順を示すフローチャートの一例である。車載機1の制御部15は、
図4に示すフローチャートの処理を、例えば、スキャンデータのフレーム周期に従い、繰り返し実行する。
【0058】
まず、制御部15は、点群地図データ10の読み込みを行う(ステップS11)。これにより、制御部15は、3D空間地図データDm1と高反射強度地図データDm2とを取得する。この場合、制御部15は、3D空間地図データDm1と高反射強度地図データDm2とを夫々識別可能に含む点群地図データ10を参照してもよく、「(3-5)地図データ処理」のセクションにおいて後述する手法により、点群地図データ10から3D空間地図データDm1と高反射強度地図データDm2とを生成してもよい。
【0059】
次に、制御部15は、3D空間地図データDm1の各点の法線ベクトルを算出する(ステップS12)。さらに、制御部15は、ICPループ処理の収束判定に用いるパラメータ(ICP収束パラメータ)をセットする(ステップS13)。ここでは、制御部15は、ICP収束パラメータとして、ループ回数最大値「Max_iteration」と、収束判定閾値「epsilon」とをセットする。なお、ステップS11~ステップS13の処理は、システムの初期化処理に相当する。
【0060】
次に、制御部15は、フレーム周期によるスキャンデータの入力を受け付ける(ステップS14)。この場合、制御部15は、ライダ3が生成したスキャンデータを、フレーム単位により取得し、ステップS15~ステップS17の処理を実行する。そして、制御部15は、ステップS14で入力されたスキャンデータから、3D空間スキャンデータDs1と高反射強度スキャンデータDs2とを生成する(ステップS15)。
【0061】
次に、制御部15は、Combined-ICP処理を実行する(ステップS16)。Combined-ICP処理の詳細については、
図5のフローチャートを参照して具体的に説明する。そして、制御部15は、ステップS16のCombined-ICP処理で得られた推定位置及び姿勢に関する情報を出力する(ステップS17)。推定位置及び姿勢に関する情報は、例えば、自動運転や経路案内などの運転支援を行う処理部に供給される。
【0062】
図5は、ステップS16のCombined-ICP処理の手順を示すフローチャートの一例である。
【0063】
まず、制御部15は、3D空間スキャンデータDs1をセットする(ステップS21)。また、制御部15は、高反射強度スキャンデータDs2をセットする(ステップS22)。そして、制御部15は、ICPループ処理に用いる変数(ICPループ処理用変数)を初期化する(ステップS23)。具体的には、求めるべき変換行列の要素である回転行列R及び並進ベクトルを、夫々「R=I」、「T=0」、ループ回数カウンタ「N_iter」を「0」にセットする。
【0064】
そして、制御部15は、ICPループ処理を実行する(ステップS24)。ICPループ処理の詳細については、
図6を参照して説明する。
【0065】
そして、制御部15は、ICP収束時の変換行列[R T]を出力する(ステップS25)。そして、制御部15は、ステップS25で出力した回転行列Rに基づき、点群地図データ10において採用される地図座標系でのライダ3の姿勢を表す3軸周りの回転角度「φ」、「θ」、「ψ」を算出する(ステップS26)。さらに、制御部15は、並進ベクトル「T=(tx、ty、tz)」を、ライダ3の相対位置として抽出する(ステップS27)。これにより、地図座標系の原点とライダ3が基準とするライダ座標系の原点との相対位置関係が特定される。
【0066】
図6は、ステップS24で実行されるICPループ処理の手順を示すフローチャートの一例である。
【0067】
まず、制御部15は、3D空間スキャンデータDs1と3D空間地図データDm1との対応付けを行う(ステップS31)。この場合、制御部15は、3D空間スキャンデータDs1に含まれている各点に対して、3D空間地図データDm1内の最近傍点を、KD-Treeなどの任意の探索アルゴリズムを用いて探索する。次に、制御部15は、高反射強度スキャンデータDs2と高反射強度地図データDm2との対応付けを行う(ステップS32)。この場合、制御部15は、高反射強度スキャンデータDs2に含まれている各点に対して、高反射強度地図データDm2内の最近傍点を、KD-Treeなどの任意の探索アルゴリズムを用いて探索する。
【0068】
次に、制御部15は、3D空間データ用の連立方程式である第1連立方程式「Ax-b」を構築する(ステップS33)。ここで、「x」は、変換行列に関するパラメータのベクトル、「b」は、3D空間地図データDm1と3D空間スキャンデータDs1とで対応付けられた点同士の差分と対応する法線ベクトルとの内積を成分とするベクトル、「A」は、3D空間地図データDm1と3D空間スキャンデータDs1と法線ベクトルとにより算出される行列を示す。なお、第1連立方程式(即ち、P2PLアルゴリズムに基づく連立方程式)の詳細については、例えば、非特許文献1に開示されている。
【0069】
また、制御部15は、高反射強度データ用の連立方程式である第2連立方程式「A^ix=b^i」を構築する(ステップS34)。ここで、「i」は、高反射強度スキャンデータDs2の点のインデックスを示し、ベクトル「b^i」は、インデックスiの点についての高反射強度スキャンデータDs2と高反射強度地図データDm2との点同士の差分ベクトル、「A^i」は、高反射強度スキャンデータDs2のインデックスiの点の位置座標に基づく行列を示す。第2連立方程式(即ち、P2Pアルゴリズムに基づく連立方程式)の詳細については、例えば、非特許文献1に開示されている。
【0070】
そして、制御部15は、第1連立方程式及び第2連立方程式を統合した統合連立方程式を構築する(ステップS35)。なお、P2PLアルゴリズムに基づく連立方程式と、P2Pアルゴリズムに基づく連立方程式とを統合した連立方程式の構築については、例えば、非特許文献1に開示されている。
【0071】
そして、制御部15は、特異値分解等を用い、ステップS35で構築した統合連立方程式の解「Xopt=(α、β、γ、tx、ty、tz)」を算出する(ステップS36)。そして、制御部15は、3軸周りの回転に関するパラメータの解(α、β、γ)により、暫定回転行列「R_tmp」を算出する(ステップS37)。さらに、制御部15は、3軸の並進に関するパラメータの解(tx、ty、tz)を、暫定的な並進ベクトル「T_tmp」にセットする(ステップS38)。そして、制御部15は、ステップS37及びステップS38に基づき得られた暫定変換行列[R_tmp T_tmp]を用いて、入力されたスキャンデータ(即ち3D空間スキャンデータDs1及び高反射強度スキャンデータDs2)を変換した変換スキャンデータを生成する(ステップS39)。
【0072】
そして、制御部15は、現在のループにおいて算出した暫定変換行列[R_tmp T_tmp]に基づき、変換行列[R T]を更新する(ステップS40)。具体的には、制御部15は、更新後のRを、更新前のRとR_tmpとの積とし、更新後のTを、更新前のT及びR_tmpの積と、T_tmpとの和に設定する。
【0073】
次に、制御部15は、変換スキャンデータの各点と、対応する地図データの点との二乗誤差に相当する3D空間二乗誤差「EPT_PL」と高反射強度二乗誤差「EPT_PT」を算出する(ステップS41)。そして、制御部15は、3D空間二乗誤差EPT_PLと高反射強度二乗誤差EPT_PTとの重み付け和である総合誤差E_totalを算出する(ステップS42)。
【0074】
次に、制御部15は、ループ回数カウンタN_iterが0であるか否か判定する(ステップS43)。そして、ループ回数カウンタN_iterが0である場合(ステップS43;Yes)、即ちICPループ処理の初回ループである場合、制御部15は、今回のループでの総合誤差と前回のループでの総合誤差との差「diff_E_total」を無限大にセットする(ステップS44)。一方、ループ回数カウンタN_iterが0ではない場合(ステップS43;Yes)、即ちICPループ処理の2回目以降のループである場合、制御部15は、今回のループでの総合誤差E_totalと前回のループでの総合誤差「Prev_E_total」との差分を、差diff_E_totalとして計算する(ステップS45)。そして、制御部15は、今回のループでの総合誤差E_totalを、前回のループでの総合誤差Prev_E_totalとして保存する(ステップS46)。そして、制御部15は、ループ回数カウンタN_iterのインクリメントを行う(ステップS47)。
【0075】
そして、制御部15は、ICPループ処理の終了条件に関する判定を行う(ステップS48)。具体的には、制御部15は、差diff_E_totalが収束判定閾値epsilonより大きく、かつ、ループ回数カウンタN_iterがループ回数最大値Max_iteration未満であるか否か判定する(ステップS48)。そして、差diff_E_totalが収束判定閾値epsilonより大きく、かつ、ループ回数カウンタN_iterがループ回数最大値Max_iteration未満である場合(ステップS48;Yes)、制御部15は、ICPループ処理の終了条件が満たされていないと判定する。よって、この場合、制御部15は、ステップS31へ処理を戻す。一方、差diff_E_totalが収束判定閾値epsilon以下、又は、ループ回数カウンタN_iterがループ回数最大値Max_iteration以上である場合(ステップS48;No)、制御部15は、ICPループ処理の終了条件が満たされたと判定する。よって、この場合、制御部15は、ICPループ処理を終了する。
【0076】
(3-4)スキャンデータ処理
次に、
図3のスキャンデータ処理部23が実行する処理であって、
図4のステップS15に相当する処理であるスキャンデータ処理の詳細について説明する。
【0077】
図7は、スキャンデータ処理の概要を示す図である。
図7は、ライダ3が生成するスキャンデータから、3D空間スキャンデータDs1と、高反射強度スキャンデータDs2とを夫々生成する処理の流れを示している。ライダ3が生成するスキャンデータの各点は、ライダ座標系における3軸(X,Y,Z)の座標値と、反射強度とを含んでいる。
【0078】
まず、第1マッチングに使用する3D空間スキャンデータDs1の生成について説明する。
図7に示されるように、スキャンデータ処理部23は、必要なグリッドサイズのスキャンデータになるように、スキャンデータに対してVoxel Grid Filter等の間引き処理(即ちダウンサンプリング)を適用し、3D空間スキャンデータDs1を生成する。また、不要であればスキャンデータに付いていた反射強度の情報は3D空間スキャンデータDs1において削除しても良いし、処理上で問題なければ、残しておいても良い。
【0079】
次に、第2マッチングに使用する高反射強度スキャンデータDs2の生成について説明する。スキャンデータ処理部23は、
図7に示すように、道路面抽出処理、高反射強度抽出処理、及びVoxel Grid Filter等の間引き処理をスキャンデータに対して行うことで、高反射強度スキャンデータDs2を生成する。以下、その詳細について説明する。
【0080】
スキャンデータ処理部23は、まず、スキャンデータに対し、道路面を抽出する処理である道路面抽出処理を行う。スキャンデータ処理部23は、例えば、道路面抽出処理として、
(a)MLS(Moving Least Squares)による平滑化と法線算出、
(b)法線方向のフィルタリング、
(c)高さを基準とする各点のヒストグラム作成、
(d)高さを基準とするフィルタリング処理
を順次行う。「(b)法線方向のフィルタリング」では、スキャンデータ処理部23は、例えば、(a)において算出した法線が垂直に近い(即ち法線と所定角度差以内となる)点のみを残す処理を行う。また、「(c)高さを基準とする各点のヒストグラム作成」では、スキャンデータ処理部23は、スキャンデータの高さ方向の成分(例えばZ座標値)に基づき、ヒストグラムを作成する。「(d)高さを基準とするフィルタリング処理」では、スキャンデータ処理部23は、(c)で生成したヒストグラムに基づき、道路面の高さに対応する各点を抽出する。この場合、スキャンデータ処理部23は、例えば、ヒストグラムにおいて最も度数が大きい(及びそれに近似する)高さに属する点を、道路面の点として抽出する。
【0081】
さらに、スキャンデータ処理部23は、スキャンデータから道路面抽出処理により抽出された点(「道路面候補点」とも呼ぶ。)に対し、反射強度が相対的に大きい点の抽出処理である高反射強度抽出処理を行う。スキャンデータ処理部23は、例えば、高反射強度抽出処理として、
(e)道路面候補点の反射強度を基準とするヒストグラム作成、
(f)ヒストグラムの分布に基づく反射強度閾値の選択
(g)反射強度閾値Ithより大きな反射強度値となる点の抽出
(h)SOR(Statistical Outlier Removal)などのノイズ除去処理、
を順次行う。
【0082】
図8は、「(e)道路面候補点の反射強度を基準とするヒストグラム作成」において生成されるヒストグラムの一例を示す。
図8では、スキャンデータ処理部23は、反射強度に基づき、道路面候補点のヒストグラムを生成している。ここで、
図8に示すヒストグラムでは、反射強度「Ia」がピークとなっている。この場合、スキャンデータ処理部23は、(f)において決定する反射強度閾値「Ith」を、ピークの反射強度Iaに基づき決定する。例えば、スキャンデータ処理部23は、ピークの反射強度Iaより所定値又は所定率だけ大きい反射強度を、反射強度閾値Ithとして決定する。この場合、上述の所定値又は所定率は、例えば、使用するライダ3の種類に応じて予め定められ、スキャンデータ処理部23が参照できるように記憶部12に記憶されている。そして、反射強度閾値Ithの設定後、スキャンデータ処理部23は、上述の(g)に基づき、反射強度閾値Ithより大きな反射強度値となる道路面候補点を、路面ペイントの候補点として抽出する。その後、スキャンデータ処理部23は、さらに、(h)に基づき、抽出した路面ペイントの候補点に対してSORなどのノイズ除去処理を行う。
【0083】
次に、スキャンデータ処理部23は、高反射強度抽出処理により抽出した点に対して、必要に応じてVoxel Grid Filter等による間引き処理と、必要に応じて反射強度の情報の削除を行う。これにより、スキャンデータ処理部23は、道路面上の高反射強度を有する点から構成される高反射強度スキャンデータDs2を生成する。
【0084】
なお、スキャンデータ処理は、適用するシステムによってはリアルタイムで行う必要がある。例えば、リアルタイム自車位置・姿勢推定に適用する場合などはそれに該当する。オフラインのSLAM(Simultaneous Localization and Mapping)による地図生成など、リアルタイム性が要求されない場合はその限りではない。
【0085】
(3-5)地図データ処理
次に、
図3の地図データ処理部20が実行する3D空間地図データDm1及び高反射強度地図データDm2の生成処理である地図データ処理の詳細について説明する。
【0086】
図9は、地図データ処理の概要を示す図である。
図9は、点群地図データ10から、3D空間地図データDm1と高反射強度地図データDm2とを夫々生成する処理の流れを示している。点群地図データ10を構成する各点は、ライダ座標系における3軸(X,Y,Z)の座標値と、反射強度とを含んでいる。
【0087】
まず、第1マッチングに使用する3D空間地図データDm1の生成について説明する。
図9に示されるように、地図データ処理部20は、必要なグリッドサイズのスキャンデータになるように、スキャンデータに対してVoxel Grid Filter等の間引き処理を適用し、3D空間地図データDm1を生成する。また、不要であればスキャンデータに付いていた反射強度の情報は3D空間地図データDm1において削除しても良いし、処理上で問題なければ、残しておいても良い。
【0088】
次に、第2マッチングに使用する高反射強度地図データDm2の生成について説明する。スキャンデータ処理部23は、
図9に示すように、道路面抽出処理、高反射強度抽出処理、及びVoxel Grid Filter等の間引き処理を点群地図データ10に対して行うことで、高反射強度地図データDm2を生成する。以下、その詳細について説明する。
【0089】
スキャンデータ処理部23は、まず、点群地図データ10に対し、道路面を抽出する処理である道路面抽出処理を行う。地図データ処理部20は、例えば、道路面抽出処理として、
(i)MLSによる平滑化と法線算出、
(j)法線方向のフィルタリング、
(k)クラスタリング
(l)道路面に相当するクラスタの抽出
を順次行う。ここで、(i)及び(j)は、「(3-4)スキャンデータ処理」の(a)及び(b)と同一処理となる。「(k)クラスタリング」では、地図データ処理部20は、少なくとも高さを基準とする任意のクラスタリング手法を実行することで、少なくとも高さが近似する点同士の集まりである複数個のクラスタを生成する。そして、地図データ処理部20は、「(l)道路面に相当するクラスタの抽出」では、例えば、点数が所定の閾値より少ないクラスタを、ノイズ(例えば中央分離帯の平面部分等を含む)とみなして削除する処理を行う。
【0090】
さらに、地図データ処理部20は、点群地図データ10から道路面抽出処理により抽出された道路面候補点に対し、反射強度が相対的に大きい点の抽出処理である高反射強度抽出処理を行う。スキャンデータ処理部23は、例えば、高反射強度抽出処理として、
(m)道路面候補点の反射強度を基準とするヒストグラム作成、
(n)ヒストグラムの分布に基づく反射強度閾値の選択
(o)反射強度閾値Ithより大きな反射強度値となる点の抽出
を順次行う。(m)~(o)は、例えば、「(3-4)スキャンデータ処理」の(e)~(g)と同一処理となる。
【0091】
次に、地図データ処理部20は、高反射強度抽出処理により抽出した点に対して、必要に応じてVoxel Grid Filter等による間引き処理と、必要に応じて反射強度の情報の削除を行う。これにより、地図データ処理部20は、高反射強度地図データDm2を生成する。
【0092】
なお、地図データ処理部20による地図データ処理は必ずしもリアルタイムで行う場合に限定されない。これに代えて、車載機1は、予めオフライン処理により生成済みの3D空間地図データDm1及び高反射強度地図データDm2を、
図4のステップS11において制御部15が読み込めるように記憶部12等に予め記憶してもよい。
【0093】
(4)技術的効果
次に、本実施例の技術的効果について説明する。
【0094】
第1の効果として、路面ペイントの活用が挙げられる。本実施例では、車載機1は、3次元空間データ、及び、路面ペイントを示す高反射強度データの両方を活用してICPに基づくマッチングを行っている。一方、一般的なICPでは、物体の形状情報のみ(3次元座標値のみ)を用いてマッチングを行うため、道路平面上に特徴的な形状の路面ペイントが存在しても、それらは活用されていない。以上を勘案し、本実施例では、車載機1は、3D空間地図データDm1及び高反射強度地図データDm2を用意し、3次元空間と路面ペイントの夫々に対するマッチングを行うことで、道路平面上に特徴的な形状の路面ペイントを活用したICPを好適に実行することができる。
【0095】
第2の効果として、反射強度値の「大きさ」に依存しない路面ペイントのマッチングが挙げられる。一般に、スキャンデータ中の反射強度は,同じ計測対象であっても距離,入射角等で値が変化する。よって、反射強度値そのものを用いるには、距離,入射角に依存しないように、高精度なキャリブレーションが必要となる。以上を勘案し、本実施例では、車載機1は、反射強度の値そのものを用いず、反射強度閾値を用いた閾値処理により、高反射強度の路面ペイントの点を抽出している。これにより、車載機1は、反射強度値そのものを使用せず,高反射強度の形状の3次元座標値を使用してマッチング処理を行うことができる。
【0096】
第3の効果として、路面ペイントのマッチング(第2マッチング)にP2Pアルゴリズムを使用することによる高精度なマッチングの実現が挙げられる。一般的な3次元空間については、P2PLアルゴリズムがP2Pアルゴリズムよりも高い精度でのマッチングが可能であることが知られている。しかしながら、後述する理由により、道路平面上の路面ペイントのマッチングでは、P2PLアルゴリズムは不適切であると考えられる。以上を勘案し、本実施例では、車載機1は、3次元空間のマッチングである第1マッチングをP2PLアルゴリズムの評価指標を用いて行い、路面ペイントのマッチングである第2マッチングをP2Pアルゴリズムの評価指標を用いて行うCombined ICPアルゴリズムを実行する。これにより、車載機1は、高精度にマッチングを行うことができる。
【0097】
ここで、道路平面上の路面ペイントのマッチングではP2PLアルゴリズムは不適切となる理由について説明する。マッチングさせる対応点同士が道路平面にある場合,それらの点を結ぶベクトルと、道路平面の法線が垂直になるため、P2PLの評価指標がゼロとなり、ずれていることが検出できない。具体的には、ICPループ処理のループにおいて、スキャンデータを道路平面とほぼ一致する高さまで追い込めたとすると(この場合,残りは横方向のマッチングとなる)、ソースとなる高反射強度スキャンデータDs2と、ターゲットとなる高反射強度地図データDm2との対応点のベクトルは、ほぼ道路面に平行の向きとなる。ここで、PTPLアルゴリズムでは、この対応点間ベクトルと、ターゲットとなる高反射強度地図データDm2の点の法線との内積の和に相当する評価関数の最小化を行うため、その評価関数がほぼ0となる。よって、PTPLアルゴリズムでは、平面のZ方向がほぼマッチングした後は、横方向(X、Y方向)のズレ量が検出できないことになる。以上を勘案し、車載機1は、路面ペイントのマッチングである第2マッチングをP2Pアルゴリズムの評価指標を用いて行う。
【0098】
次に、本実施例の手法に基づくシミュレーション結果について説明する。
【0099】
図10は、本シミュレーションにおいて使用する点群地図データ10の各点を3次元空間にプロットした状態を表す斜視図である。
図10では、反射強度が高い点ほど、白くなるように表示されている。
図10に示すように、白線などの路面ペイントの反射強度は、相対的に高くなっている。なお、本シミュレーションでは、地面から高さ70cm以上となる点を削除した点群地図データ10及びスキャンデータを用いている。これは、周辺に構造物が少なくガードレール程度しか存在しない状態を想定したものである。
【0100】
図11は、本実施例に基づく手法との比較のための比較例におけるマッチング結果を示す。比較例では、第2マッチングを行わず、P2PLアルゴリズムにより3D空間地図データDm1と3D空間スキャンデータDs1とのマッチングを行う第1マッチングに基づき、変換行列を算出している。
図11では、マッチング結果に基づき変換した3D空間スキャンデータDs1の点を白により示し、点群地図データ10の点をグレー(薄い白)により示している。この場合、円70に示される範囲において、ズレ(上下方向のズレ、反時計回りへの若干の回転ずれ)が見られる。
【0101】
図12は、本実施例に基づくマッチング手法による(即ち、Combined ICPアルゴリズムによる)マッチング結果を示す図である。
図12では、マッチング結果に基づき変換したスキャンデータの点を白により示し、点群地図データ10の点をグレー(薄い白)により示している。
図12に示すように、この場合、本実施例に基づくマッチング手法により変換したスキャンデータは、点群地図データ10と殆どズレが存在せず、良好なマッチング結果が得られていることが把握できる。
【0102】
図13は、本実施例に基づくマッチング手法を実行した場合において、P2Pアルゴリズムにより高反射強度地図データDm2と高反射強度スキャンデータDs2とのマッチング結果を示した図である。
図13では、マッチング結果に基づき変換した高反射強度スキャンデータDs2の点を白により示し、高反射強度地図データDm2の点をグレー(薄い白)により示している。
図13に示すように、本実施例に基づくマッチング手法に基づき変換した高反射強度スキャンデータDs2は、高反射強度地図データDm2と殆どズレが存在せず、良好なマッチング結果が得られていることが把握できる。
【0103】
図14は、実施例の手法(即ちCombined ICPアルゴリズム)と、比較例の手法(即ちP2PLアルゴリズム)とを実行した場合の、ICPループ処理の反復回数と二乗誤差との関係を示すグラフである。
図14に示すように、ICPループ処理の反復回数を重ねるにつれて、本実施例の手法の方が比較例の手法よりも誤差が小さくなることがわかる。また、比較例の手法を実行した場合の誤差と、本実施例の手法を実行した場合の誤差を1つの点(計測点)あたりで比較すると、前者の誤差は、「0.12m」(点の数6706)となり、後者の誤差は、「0.10m」(点の数6711)となった。このように、本実施例の手法は、路面ペイントの形状をマッチング時の特徴として活用できたため,空間に周辺構造物が少ない状態でもマッチングさせることが出来き、その結果としてP2PLアルゴリズムのみを採用する比較例の手法と比較し、良好な結果が得られたものと考えられる。
【0104】
(5)変形例
以下、上述の実施例に好適な変形例について説明する。以下の変形例は、組み合わせてこれらの実施例に適用してもよい。
【0105】
(第1変形例)
制御部15は、第1マッチングと第2マッチングとにおいて使用するデータの1点あたりのグリッドサイズ(即ち、Voxel Grid Filerにおいて定めるグリッドサイズ)を異ならせてもよい。これにより処理時間と精度とのバランスを調整することが出来る。例えば、第2マッチングに用いる高反射強度スキャンデータDs2及び高反射強度地図データDm2のグリッドサイズを、第1マッチングに用いる3D空間スキャンデータDs1及び3D空間地図データDm1のグリッドサイズよりも小さくすることで、第2マッチングを重視したマッチング結果を得ることができる。
【0106】
(第2変形例)
制御部15は、ライダ3が出力するスキャンデータに含まれる反射強度を、計測方向又は/及び計測距離に応じて補正してもよい。
【0107】
この場合、例えば、制御部15は、計測方向及び計測距離ごとに適切な補正量を示すルックアップテーブル等を予め記憶部12に記憶しておく。そして、制御部15は、当該ルックアップテーブル等を参照することで、ライダ3が出力するスキャンデータの各点の反射強度を、対応する計測方向又は/及び計測距離に応じて補正する。これにより、制御部15は、より正確な反射強度の情報を含むスキャンデータに基づき、本実施例に基づくマッチングを実行することができる。
【0108】
(第3変形例)
制御部15は、高反射強度スキャンデータDs2及び高反射強度地図データDm2に基づく第2マッチングにおいて、路面ペイントに加えて、他の高反射強度を有する地物を基準としてマッチングを行ってもよい。
【0109】
この場合、高反射強度スキャンデータDs2及び高反射強度地図データDm2には、路面ペイントの点に加えて、方面看板などの標識、ガードレール、高反射強度のペイントがなされたその他の地物の表面(道路境界のコンクリートウォール、トンネル内の壁等を含む。)の点も含まれる。この場合、制御部15は、高反射強度スキャンデータDs2及び高反射強度地図データDm2の生成処理において、
図7及び
図9に示した路面ペイントの点を抽出する処理に加えて、上述した高反射強度の点を抽出する処理を実行する。この場合、制御部15は、後者の処理として、例えば、対象となる高反射強度の点が存在する基準面を抽出する処理(路面ペイントにおける道路面抽出処理)、及び、高反射強度抽出処理等を行うことで、スキャンデータ及び点群地図データ10から、対象となる高反射強度の地物の点を抽出する。
【0110】
本変形例によれば、制御部15は、路面ペイントを含む高反射強度の点(高反射強度データ)を利用し、マッチング精度を好適に向上させることができる。なお、本変形例において、道路面及び高反射強度のペイントがなされた地物の表面は、「基準面」の一例である。
【0111】
(第4変形例)
制御部15は、地図データ処理部20及びスキャンデータ処理部23において使用する反射強度閾値を、ヒストグラムに応じて適応に定める代わりに、予め記憶部12に記憶された所定値に定めてもよい。この場合、上述の所定値は、例えば、路面ペイント以外の道路面の反射強度より高く、かつ、路面ペイントの反射強度未満となるような値に予め決定され、記憶部12に記憶されている。
【0112】
(第5変形例)
制御部15は、第1マッチングと第2マッチングとを組み合わせたCombined ICPアルゴリズムを実行する代わりに、第2マッチングのみを実行してもよい。この場合、制御部15は、高反射強度スキャンデータDs2と高反射強度地図データDm2とを、P2Pアルゴリズムに基づきマッチングさせることで、変換行列を算出する。この場合であっても、制御部15は、3次元構造を持つ物体が数多く存在しない環境であっても、地図データとスキャンデータとの照合を好適に実行することができる。
【0113】
(第6変形例)
図1に示す運転支援システムの構成は一例であり、本発明が適用可能な運転支援システムの構成は
図1に示す構成に限定されない。例えば、運転支援システムは、車載機1を有する代わりに、車両の電子制御装置が
図3に示されるブロック図の処理を実行してもよい。この場合、点群地図データ10は、例えば車両内の記憶部又は車両とデータ通信を行うサーバ装置に記憶され、車両の電子制御装置は、この点群地図データ10を参照することで、ライダ3が出力するスキャンデータとのマッチング処理などを実行する。
【0114】
以上説明したように、本実施例に係る情報処理装置は、点群地図データ取得手段と、スキャンデータ取得手段と、スキャンデータ処理手段と、照合手段とを有する。点群地図データ取得手段は、反射強度が閾値以上の点群データである点群地図データを取得する。スキャンデータ取得手段は、出射した光の反射光を受光することで計測した点群データであるスキャンデータを取得する。スキャンデータ処理手段は、スキャンデータから、反射強度が所定の閾値以上となる高反射強度スキャンデータを生成する。照合手段は、点群地図データと高反射強度スキャンデータとの照合を行う。これにより、情報処理装置は、3次元構造を持つ物体が数多く存在しない環境であっても、地図データとスキャンデータとの照合を好適に実行することができる。
【0115】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。