【実施例】
【0019】
以下、図面を参照して本発明の好適な実施例について説明する。
【0020】
[データ圧縮システムの概要]
図1は、本実施例に係るデータ圧縮システムの概略構成である。データ圧縮システムは、道路上を走行する車両と、車両と共に移動する車載機1とを備える。
【0021】
車載機1は、車両に設置されたライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)30を有する。そして、車載機1は、ライダ30が出力する車両周辺の地物(
図1では標識50を含む)に関する点群データを圧縮し、記憶する。車載機1は、本発明における「データ圧縮装置」の一例である。
【0022】
ライダ30は、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群データを生成する。この場合、ライダ30は、照射方向を変えながらパルスレーザを出射する出射部と、照射したパルスレーザの反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づく点群データを出力する出力部とを有する。点群データは、受光部が受光したパルスレーザに対応する照射方向と、上述の受光信号に基づき特定される当該パルスレーザの応答遅延時間とに基づき生成される。なお、本実施例では、点群データは、車両を基準とした各点の位置情報(即ち相対的な3次元座標データ)と、各点に対応する受光信号のレベル(「受光レベル」とも呼ぶ。)とを特定可能な情報である。ライダ30は、本発明における「計測装置」の一例であり、点群データは、本発明における「計測データ」の一例である。なお、ライダ30は、水平方向および垂直方向の両方向において走査を行う代わりに、走査面が水平方向に対して斜めになるようにパルスレーザの出射方向が水平方向から傾けられていてもよい。
【0023】
図2は、車載機1の機能的構成を示すブロック図である。車載機1は、主に、通信部11と、記憶部12と、センサ部13と、入力部14と、制御部15と、出力部16とを有する。これらの各要素は、バスラインを介して相互に接続されている。
【0024】
通信部11は、制御部15の制御に基づき、他の装置とデータ通信を行う。記憶部12は、制御部15が実行するプログラムや、制御部15が所定の処理を実行するのに必要な情報を記憶する。また、記憶部12は、地物ごとに適用すべき点群データの圧縮率を規定した圧縮率決定テーブル20と、圧縮処理後の点群データである圧縮点群データ21とを記憶する。圧縮率決定テーブル20は、ライダ30が生成した点群データを圧縮する際に制御部15によって参照される。圧縮率決定テーブル20は、本発明における「設定情報」の一例である。
【0025】
センサ部13は、車両の状態を検出する内界センサ及び車両の周辺環境を認識するための外界センサから構成され、前述したライダ30に加えて、車外風景を撮影するカメラ31と、GPS受信機32と、ジャイロセンサ33と、速度センサ34などを含む。GPS受信機32、ジャイロセンサ33、及び速度センサ34等の出力は、例えば、車両の現在位置及び進行方向等を特定するのに用いられる。
【0026】
入力部14は、ユーザが操作するためのボタン、タッチパネル、リモートコントローラ、音声入力装置等であり、出力部16は、例えば、制御部15の制御に基づき出力を行うディスプレイやスピーカ等である。
【0027】
制御部15は、プログラムを実行するCPUなどを含み、車載機1の全体を制御する。本実施例では、制御部15は、ライダ30が出力する点群データを、圧縮率決定テーブル20を参照して圧縮し、圧縮点群データ21として記憶部12に記憶させる。制御部15は、本発明における「取得部」、「圧縮部」、及び本発明におけるプログラムを実行するコンピュータの一例である。
【0028】
[圧縮率決定テーブル]
図3は、圧縮率決定テーブル20のデータ構造の一例を示す。
図3に示す圧縮率決定テーブル20は、「地物種類」、「圧縮率」、「反射率」、「RGB」の各項目を有する。なお、
図3において、「A」〜「H」、「a」〜「z」は、それぞれ所定の数値を表す。
【0029】
ここで、「地物種類」は、点群データにより表される地物の種類を示す。地物種類は、
図3に示す白線、道路標識、電柱、建物の他、路面標示、信号機、看板などの任意の地物を表すものであってもよい。
【0030】
「圧縮率」は、対応する地物種類を表す点群データに適用する圧縮率を示す。
図3の例では、圧縮率は、「高」、「低」の2段階存在し、記憶部12には、「高」、「低」の各圧縮率を実現する公知のデータ圧縮アルゴリズムがそれぞれ記憶されている。ここで、例えば、圧縮率が「高」の場合には、非可逆圧縮のデータ圧縮アルゴリズムが用いられ、圧縮率が「低」の場合には、可逆圧縮又はこれに準じた高い再現性を有するデータ圧縮アルゴリズムが用いられる。なお、制御部15は、圧縮率が「低」の場合には、対応する点群データのデータ圧縮を行わないこととしてもよい。即ち、この場合、制御部15は、最低の圧縮率により対応する点群データの圧縮を行う。
【0031】
また、
図3の例では、自動運転において検出対象となる可能性が高い白線や道路標識などについては、圧縮率が「低」に設定され、建物などの自動運転において検出対象となる可能性が低い点群データについては、圧縮率が「高」に設定される。このように、自動運転において検出対象となる地物の点群データについては、圧縮による劣化を抑制するために圧縮率を低くし、その他の地物の点群データについては、圧縮率を高くしてデータ量を削減する。なお、制御部15は、圧縮率決定テーブル20に登録されていない地物を表す点群データに対しては、圧縮率が「高」に相当するデータ圧縮アルゴリズムにより圧縮を行ってもよく、「高」と「低」の中間の圧縮率となるデータ圧縮アルゴリズムにより圧縮を行ってもよい。項目「圧縮率」に記録された情報は、本発明における「圧縮率に関する情報」の一例である。ここで言う「検出対象」とは、車両の自動運転を行う制御部により使用される可能性が高い地物の点群データを示す。すなわち、本実施例では白線や道路標識などの点群データである。
【0032】
「反射率」は、「地物種類」に規定された地物のパルスレーザに対する一般的な反射率の範囲を示す。一般に、地物の反射率は、当該地物で反射されたパルスレーザの受光レベルに比例するため、制御部15は、点群データに含まれる受光レベルの情報から、パルスレーザが照射された地物の反射率を推定することが可能である。よって、本実施例では、制御部15は、点群データに含まれる受光レベルから推定される反射率と、「反射率」の項目に記録された反射率の範囲とに基づき、該当する地物種類を特定する。
【0033】
「RGB」は、「地物種類」に規定された地物のRGBの色情報を示す。
図3の例では、地物種類ごとに、想定されるR、G、Bの各色の取り得る値域が記録されている。制御部15は、「RGB」の項目を参照することで、カメラ31が撮影した画像の各画素のRGB値に基づき、圧縮率決定テーブル20に規定された地物を特定することが可能である。この場合、まず、制御部15は、ライダ30が出力する点群データの各点が対応するカメラ31の撮影画像の画素を特定する。例えば、制御部15は、カメラ31の撮影画像の2次元座標系と、ライダ30が出力する点群データの3次元座標系との対応テーブル等を予め記憶しておき、当該テーブルを参照することで、点群データの各点に対応する画像の画素を特定する。そして、制御部15は、特定した画素のRGB値と、「RGB」の項目に記録されたR、G、Bのそれぞれの値域とに基づき、該当する地物種類を特定する。
【0034】
なお、制御部15は、「反射率」の項目のみでは該当する地物種類が特定できない場合(例えば受光レベルから推定した反射率が複数の地物種類の反射率の範囲に属する場合)に限り「RGB」の項目を参照することで、該当する地物種類を特定してもよい。
【0035】
[処理フロー]
図4は、本実施例において制御部15が実行する圧縮点群データ21の生成に関するフローチャートの一例である。制御部15は、
図4に示すフローチャートの処理を、例えばライダ30が一回分の走査により得られた点群データを出力するごとに繰り返し実行する。
【0036】
まず、制御部15は、ライダ30が出力する点群データを取得する(ステップS101)。ここで、ライダ30は、例えば、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射し、制御部15は、ライダ30が出射したパルスレーザが照射された物体の各点の3次元座標と、各点で反射されたパルスレーザの受光レベルとを特定可能な点群データをライダ30から受信する。
【0037】
次に、制御部15は、地物ごとに点群データを識別する(ステップS102)。例えば、制御部15は、受光レベルの差異に基づき、ステップS101で得られた水平方向および垂直方向の所定角度範囲内に存在する点群データの各点を地物ごとに分ける。この場合、制御部15は、例えば公知の3次元での領域分割(セグメンテーション)アルゴリズムに基づき、地物ごとに点群データを識別してもよい。
【0038】
その後、制御部15は、圧縮率決定テーブル20を参照することで、地物ごとに識別した点群データがそれぞれ示す地物に適用すべき圧縮率を特定する(ステップS103)。例えば、制御部15は、ステップS102で地物ごとに識別した点群データの各点の受光レベルの平均等に基づき各地物の反射率を推定し、推定した反射率に該当する地物種類を、圧縮率決定テーブル20を参照することで特定する。また、これに代えて、又はこれに加えて、制御部15は、ステップS102で地物ごとに識別した点群データに対応するカメラ31の撮影画像の画素を特定し、特定した画素のRGB値に対応する地物種類を、圧縮率決定テーブル20を参照することで特定する。
【0039】
次に、制御部15は、ステップS103で特定した圧縮率に基づき、点群データを圧縮する(ステップS104)。この場合、例えば、制御部15は、ステップS103で特定した圧縮率から適用すべきデータ圧縮アルゴリズムを決定し、ステップS102で地物ごとに識別した点群データの各々に対し、対応するデータ圧縮アルゴリズムを適用する。これにより、制御部15は、高精度なデータを必要とする地物については、精度が劣化せずに再現性が高い圧縮(圧縮をしない場合も含む)を行い、高精度なデータを必要としない地物については、高い圧縮率により圧縮してデータ量を好適に削減させる。
【0040】
そして、制御部15は、ステップS104で圧縮した点群データを圧縮点群データ21として記憶部12に記憶させる(ステップS105)。その後、記憶部12に記憶された圧縮点群データ21は、例えば自動運転などに用いられる地図データを管理するサーバ装置に供給され、当該地図データの更新に用いられる。
【0041】
なお、制御部15は、車両の位置、進行方向、及び車両に対するライダ30の設置角度等に基づき、圧縮前又は圧縮後の点群データを、車両を基準とする相対的な3次元座標から、緯度、経度、標高等を基準とした絶対的な3次元座標に変換してもよい。この場合、例えば、制御部15は、ステップS101で点群データを取得したときのセンサ部30の出力に基づき車両の位置及び進行方向を特定すると共に、記憶部12に予め記憶されたライダ30の設置角度の情報を読み出すことで、上述の座標変換処理を行う。これにより、制御部15は、汎用的な絶対座標系により表された圧縮点群データ21を記憶することができる。なお、これに代えて、制御部15は、上述の座標変換処理を後で実行できるように、圧縮後の点群データと、車両の位置、進行方向、及びライダ30の設置角度の情報とを関連付けて圧縮点群データ21として記憶してもよい。
【0042】
[具体例]
次に、
図3に示す圧縮率決定テーブル20を活用する具体例について説明する。
図5は、ライダ30が出射するパルスレーザの光線を示した図である。
図5の例では、ライダ30は、車両の前方方向を含む予め定められた所定の角度範囲(この例では約210°)を対象に、パルス周期により定まる所定の角度分解能により、パルスレーザを出射している。なお、ライダ30は、水平方向に加えて垂直方向においても所定の角度範囲を対象にパルスレーザを出射している、又は、水平方向に対して走査面が傾けられていることにより、路面に対してもパルスレーザを照射するものとする。
【0043】
この場合、ライダ30が出射するパルスレーザは、白線51a〜51c、道路標識52、電柱53、建物54を含む各地物に照射され、その反射光がライダ30によって受光される。この場合、制御部15は、反射光の受光信号に基づき生成された点群データをライダ30から受信し(
図4のステップS101参照)、地物ごとに点群データを識別する(ステップS102参照)。そして、制御部15は、圧縮率決定テーブル20を参照し、地物ごとに分けた点群データの圧縮率を特定する(ステップS103参照)。具体的には、制御部15は、自動運転等の際に高精度に検出されるべき地物である白線51a〜51c及び道路標識52で反射されたパルスレーザに基づく点群データついては、高い再現性を保つため、圧縮率を「低」に設定する。一方、制御部15は、高精度に検出される必要性が低い電柱53及び建物54については、圧縮率を「高」に設定してデータ量を削減させる。
【0044】
以上説明したように、本実施例に係る車載機1は、地物を計測範囲に含むライダ30が出力する点群データを取得し、当該点群データを圧縮して圧縮点群データ21として記憶する。このとき、車載機1は、圧縮率決定テーブル20を参照し、ライダ30が出力した点群データのうち、特定の地物に対応する点群データの圧縮率を、他の点群データの圧縮率よりも低くする。これにより、車載機1は、高精度な計測データが必要な特定の地物に対応する点群データが圧縮により劣化するのを抑制しつつ、全体としてのデータ量を低減するように好適に点群データを圧縮することができる。
【0045】
[変形例]
次に、実施例に好適な変形例について説明する。以下の変形例は、任意に組み合わせて上述の実施例に適用してもよい。
【0046】
(変形例1)
図3に示す圧縮率決定テーブル20のデータ構造は一例であり、本発明が適用可能なデータ構造は
図3に示す構造に限定されない。
【0047】
例えば、圧縮率決定テーブル20には、「圧縮率」を「低」にすべき地物に対応するレコードのみが記録されていてもよい。この場合、
図3の電柱及び建物のレコードは圧縮率決定テーブル20に記録されておらず、「圧縮率」の項目が省略される。第2の例では、
図3の「圧縮率」は、「高」、「低」の2段階に限らず、3段階以上の段階を有してもよい。この場合であっても、自動運転に関連する地物に対しては、可逆圧縮により実現可能な圧縮率又は圧縮を行わないように設定されるとよい。第3の例では、
図3の「圧縮率」には、数字により具体的な圧縮率が指定されていてもよい。この場合、例えば、制御部15は、圧縮率を指定可能なデータ圧縮アルゴリズムにより、点群データの圧縮処理を実行する。
【0048】
第4の例では、圧縮率決定テーブル20には、「反射率」の項目に代えて、又はこれに加えて、ライダ30の受光部が受光する受光レベルの範囲を規定する「受光レベル」の項目を有してもよい。この場合、制御部15は、反射率と受光レベルとの変換を行うことなく、ライダ30が出力する点群データの各点の受光レベルと、圧縮率決定テーブル20の「受光レベル」の項目とを比較することで、対象の地物種類を特定することが可能となる。
【0049】
(変形例2)
図4のフローチャートの処理を、車載機1とデータ通信が可能なサーバ装置が実行してもよい。
図6は、本変形例に係るデータ圧縮システムの概要を示す。
【0050】
図6に示すデータ圧縮システムは、車載機1とデータ通信を行うサーバ装置4を備える。なお、
図6では車載機1が1つのみ図示されているが、実際には複数の車載機1がサーバ装置4とデータ通信を行う。サーバ装置4は、圧縮率決定テーブル20と、圧縮点群データ21とを備える。そして、サーバ装置4は、ライダ30が出力する点群データを車載機1から受信する。この場合、サーバ装置4は、圧縮率決定テーブル20を参照することで
図4のフローチャートのステップS102〜S105を実行し、圧縮した点群データを圧縮点群データ21として記憶する。
【0051】
なお、サーバ装置4は、この場合、車載機1から車両の位置、進行方向、ライダ30の設置角度等の情報をさらに受信し、これらの情報に基づき、圧縮前又は圧縮後の点群データを、車両を基準とした相対的な3次元座標から絶対的な3次元座標に変換し、絶対的な3次元座標により表された点群データを圧縮点群データ21として記憶してもよい。これに代えて、サーバ装置4は、絶対的な3次元座標に変換後の点群データを車載機1から受信してもよい。
【0052】
他の例では、
図4のフローチャートの処理を、車載機1の代わりに車両の図示しない制御部(ECU:Electronic Control Unit)が実行してもよい。この場合、車両の制御部は、ライダ30を含む種々のセンサと電気的に接続し、所定の記憶部に記憶された圧縮率決定テーブル20を参照することで、
図4のフローチャートを実行する。そして、車両の制御部は、圧縮点群データ21を生成し、記憶部へ記憶する。
【0053】
(変形例3)
車載機1は、ライダ30の出力を圧縮した圧縮点群データ21を記憶する代わりに、カメラ31の出力に基づき生成した3次元データを圧縮して記憶してもよい。
【0054】
この場合、例えば、カメラ31は、撮像素子を複数有する3次元計測カメラであり、制御部15は、カメラ31の出力に基づき、RGB値を有する3次元データを生成する。そして、制御部15は、圧縮率決定テーブル20の「RGB」の項目を参照することで、生成した3次元データを地物ごとに識別し、識別した各3次元データを異なる圧縮率により圧縮する。そして、制御部15は、圧縮した3次元データを記憶部12に記憶させる。このように、車載機1は、ライダ30以外の外界センサの出力から得られた3次元データを対象とした場合であっても、対応する地物ごとに圧縮率を異ならせて好適に圧縮処理を行うことができる。