(58)【調査した分野】(Int.Cl.,DB名)
前記第二分割部では前記共通座標系において前記第一分割部において分割したのと共通のボクセルグリッドをサブボクセル単位で並進移動した一連のボクセルグリッドによってボクセルに分割することを含めてボクセル分割し、
前記選別部では、前記比較部において比較されることにより、前記第一計算部で得たボクセル毎の参照点群モデル化データと、前記第二計算部で得た位置姿勢ごと及び前記一連のボクセルグリッドにおけるボクセルごとのフレーム点群モデル化データと、の間で類似していると判定されたものを優先して、前記選別を行うことを特徴とする請求項1または2に記載の選別装置。
前記第二分割部では前記共通座標系において前記第一分割部において分割したのと共通のボクセルグリッドをサブボクセル単位で並進移動した一連のボクセルグリッドによってボクセルに分割することを含めてボクセル分割し、
前記選別部では、前記比較部において比較されることにより、前記第一計算部で得たボクセル毎の参照点群モデル化データと、前記第二計算部で得た位置姿勢ごと及び前記一連のボクセルグリッドにおけるボクセルごとのフレーム点群モデル化データと、の間で類似していないと判定されたものを優先して、前記選別を行うことを特徴とする請求項1または2に記載の選別装置。
前記第二分割部では、前記共通座標系において前記第一分割部において分割したのと共通のボクセルグリッド及び当該共通のボクセルグリッドをサブボクセル単位で並進移動した一連のボクセルグリッドをさらにボクセル毎に回転して得られる複数の回転ボクセルグリッドによってボクセルに分割することを含めてボクセル分割し、前記比較部において比較される前記一連のボクセルグリッドに当該複数の回転ボクセルグリッドを含めることを特徴とする請求項3または4に記載の選別装置。
【発明を実施するための形態】
【0020】
図1は、一実施形態に係る選別装置の機能ブロック図である。図示する通り、選別装置10は第一分割部11、第一計算部12、比較部13、選別部14、整列部20、第二分割部21及び第二計算部22を備える。また図示する通り、選別装置10の各部間でのデータ授受としての各部の機能概略は以下の通りである。なお、以降では、参照点群データの一例として、地図点群データを用いて説明する。
【0021】
第一分割部11は、入力される地図点群データをボクセル分割して得られるボクセル分割された地図点群データを第一計算部12へと出力する。第一計算部12は当該ボクセルごとの地図点群データにおいてボクセルごとに点群をモデル化する計算を行い、得られたボクセルごとの地図点群モデル化データを比較部13へと出力する。
【0022】
整列部20は入力される位置姿勢ごとのフレーム点群データを所定方位へと整列させ、得られた位置姿勢ごとの整列されたフレーム点群データを第二分割部21へと出力する。なお、
図3等も参照して後述するように、当該整列させることはすなわち第一分割部11に入力される地図点群データと同じ座標系にフレーム点群データを変換することに相当する。第二分割部21は整列部20で得られた位置姿勢ごとのフレーム点群データをボクセル分割して、得られる位置姿勢ごと及びボクセルごとのフレーム点群データを第二計算部22へと出力する。第二計算部22は当該位置姿勢ごと及びボクセルごとのフレーム点群データに対して点群をモデル化する計算を行い、得られた位置姿勢ごと及びボクセルごとのフレーム点群モデル化データを比較部13へと出力する。なお、詳細は後述するように、第二計算部22及び第一計算部12ではモデル化する対象となるデータは互いに異なるものの、モデル化の仕方(すなわち、モデル化のための計算処理)は互いに共通である。
【0023】
比較部13は、第一計算部12から得られるボクセルごとの地図点群モデル化データと、第二計算部22から得られる位置姿勢ごと及びボクセルごとのフレーム点群モデル化データと、を比較し、比較結果を選別部14へと出力する。選別部14では当該得られた比較結果に基づいて第一計算部12から得られるボクセルごとの地図点群モデル化データの中から選別を行う。ここで、第一計算部12において得られているボクセルごとの地図点群モデル化データは従来手法と同様の特に選別されておらずデータ量が多いものに相当するのに対し、本発明の一実施形態においては比較部13及び選別部14(並びに整列部20、第二分割部21及び第二計算部22)の処理を経たうえで、第一計算部12の当該得た全データの中から後段側処理に適していると判定されるものを選別することにより、選別されなかったものを除外することによりデータ量を削減すると共に、当該選別されたデータを用いてなされる後段側処理の精度を確保するようにすることができるという効果がある。
【0024】
なお、「後段側処理」とは上記の通り、選別装置10によって選別された地図点群データをリファレンスデータ等として用いて行われる任意の処理を指すものであり、その典型例としては自己位置推定処理を挙げることができる。以下でもこれを単に「後段側処理」と称することとする。
【0025】
図2は一実施形態に係る選別装置10の動作のフローチャートである。ステップS1では、管理者等によるマニュアル作業等によって、選別装置10への入力データとしての地図点群データ及びこれを構成しているフレーム点群等のデータを用意したうえで、ステップS2へと進む。なお、当該用意される地図点群データはステップS2において第一分割部11へと入力されることとなり、また当該用意されるフレーム点群等のデータはステップS3において整列部20へと入力されることとなる。
【0026】
図3は、ステップS1で当該用意するデータの説明を含む、本発明の一実施形態に係る手法の説明のための模式図である。ステップS1で当該用意するデータの模式的な例として、
図3では地図点群データMD及びこれを構成するフレーム点群データ(の一部分の例)D1,D2,D3が示されている。なお、点群データD1,D2,D3は
図3では模式的に丸状の範囲として表現することにより、当該点群データが分布する範囲の形で示されている。
【0027】
ステップS1で用意する地図点群データMDとはすなわち、例えば前掲の非特許文献2に開示のSLAM技術によって用意することが可能なものである。
図3の例であれば、時刻T1に点群取得センサが位置姿勢PA1にあることによって取得されるフレーム点群データD1と、時刻T2に点群取得センサが位置姿勢PA2にあることによって取得されるフレーム点群データD2と、時刻T3に点群取得センサが位置姿勢PA3にあることによって取得されるフレーム点群データD3と、といったように、各時刻Ti(i=1,2,3, ..., N)において位置姿勢PAi(i=1,2,3, ..., N)にある点群取得センサの取得したフレーム点群データDi(i=1,2,3, ..., N)を、
図3に示すような何らかの共通座標系CSにおいて表現されるデータとして統合することにより、地図点群データMDが得られる。これは式で形式的に表記すれば以下のような関係となっている。
【0029】
(数式2)において、(x
ij, y
ij, z
ij)
[CS]はDiの点群データの各点の空間座標を共通座標系CSにおいて与えたものであり、J(i)はDiの点群データの総数である。
【0030】
そして、ステップS1で用意するフレーム点群データDiとは上記の(数式2)において与えられるのと同じものを、共通座標系CSにおいてではなく当該時刻Tiのフレームにおいて点群データを取得したセンサのセンサ座標系SS(Ti)において与えたもの(すなわち、センサが自身の空間座標系において取得した点群データそのもの)であり、以下の式のように表現することができる。
【0032】
すなわち、(数式2)及び(数式3)で表現されるフレーム点群データDiは内容としては同じものであるが、その各点の空間座標を表現するための座標系が互いに異なっているものである。
【0033】
ステップS2では、ステップS1で用意した地図点群データMDを第一分割部11及び第一計算部12において順次処理することで、地図点群データMDを所定のボクセルグリッドVG0で空間分割したうえで当該各ボクセルに属する点群をモデル化してから、ステップS3へと進む。なお、
図3には地図点群データMDを当該ボクセル分割するための所定のボクセルグリッドVG0の模式例が示されている。
【0034】
ここで、以降の説明の便宜上、地図点群データMDのうち、所定のボクセルグリッドVG0で分割することによる位置(n,m,l)(整数n,m,lで空間上のx,y,z方向における位置を格子点のように指定した位置)のボクセル内にある点群データをMD(n, m, l)
[VG0]と表記する。すなわち、データ集合間の関係として「MD={MD(n, m, l)
[VG0]}」の関係がある。また、そのモデル化データをmodel(MD(n, m, l)
[VG0])と表記する。
【0035】
ステップS3では、ステップS1で用意した各フレーム点群データDiを、整列部20、第二分割部21及び第二計算部22において順次処理することにより、地図点群データNDの姿勢に一致させた後に、各データDiを1通り以上のボクセルグリッドVGk(k=0,1,2, ...)で分割したうえでそれぞれのボクセルグリッドVGk(当該ボクセルグリッドVGkはすなわち、分割の仕方・区切り方に対応している)に応じたボクセル内においてモデル化してから、ステップS4へと進む。
【0036】
ここで、ステップS3で分割するためのボクセルグリッドVGk(k=0,1,2,...)のうち少なくとも1つの場合としてk=0のボクセルグリッドVG0はステップS2におけるものと共通である。また、以降の説明の便宜上、ステップS2における表記と共通の表記により、ボクセルグリッドVGkで分割することによるフレーム点群データDiの位置(u,v,w)(すなわち、ステップS2の(n,m,l)の場合と同様に、整数u,v,wによって格子点のように指定される位置)のボクセル内にある点群データをDi(u,v,w)
[VGk]と表記する。すなわち、データ集合間の関係として「Di={Di(u,v,w)
[VGk]}」の関係がある。また、そのモデル化データをmodel(Di(u,v,w)
[VGk])と表記する。
【0037】
なお、以上のステップS2及びS3は、逆順に実行されてもよいし、並行して実施されてもよい。
【0038】
ステップS4では、ステップS2で得たモデル化データmodel(MD(n, m, l)
[VG0])とステップS3で得たモデル化データmodel(Di(u,v,w)
[VGk])とを比較部13が比較してからステップS5へと進む。ステップS5ではステップS4における当該比較結果に基づいて選別部14がステップS2で得たモデル化データmodel(MD(n, m, l)
[VG0])の中から選別を行い、当該
図2のフローチャートは終了する。
【0039】
ここで、
図1の各機能部の概略説明の際にも述べたように、当該比較選別によって、地図点群データMDから得られるボクセル単位での各モデル化データmodel(MD(n, m, l)
[VG0])はこれが実際に後段側処理に供された場合の性能を模擬的に評価したうえで選別されることとなり、従来手法ではなし得なかったボクセル単位での効率的なダウンサンプリング(後段側処理に悪影響を与えない、あるいは精度とのトレードオフ関係のもとであっても悪影響を最小限に抑制するダウンサンプリング)が可能となる。
【0040】
すなわち、当該比較選別の詳細は後述するが、当該ステップS4及びS5による比較選別の「考え方」は、地図点群データMDの全体をステップS1において用意した際の各フレームの点群データDiを、後段側処理においてクエリとなる点群として入力されるデータを模擬的に表しているものとして利用することに相当する。
【0041】
すなわち、
図3の例であれば、位置姿勢PA1にある際に取得されたフレーム点群データD1は、そもそもは(数式1)に表現される通り地図点群データMDの全体を構成するための部分データであるが、本発明においてはこのような関係を利用することで、後段側処理で位置姿勢PA1にある際にクエリとして入力されるデータを点群データD1によっていわばシミュレートしている。そして、当該シミュレートされた点群データD1がよくマッチングするようなボクセルを地図点群データMDの中から選別することにより、従来手法では不可能であった効果的なボクセル単位でのダウンサンプリングを実現する。
【0042】
ここではさらに次のような効果もある。すなわち、地図点群データMDに該当するフィールド内を再度移動しながら点群データを取集して実際に後段側処理(ここでは自己位置推定処理を想定)を行なって実績調査などをする必要なく、(従って、そのような追加調査などのコストを要することなく、)地図点群データMD(及びこれを構成するフレーム点群データDi)の情報のみを利用することで、当該地図点群データMDに対して効果的なダウンサンプリングが実現されるという効果も奏することが可能である。
【0043】
以下、
図2のように動作する
図1の各機能部の詳細を説明する。なお、説明の便宜上、処理されるデータの表記に関して、
図2の各ステップの説明の際に用いた表記(例えば、モデル化データmodel(MD(n, m, l)
[VG0])など)とは別の表記で説明する場合があるが、その対応関係は適宜示すこととする。
【0044】
[整列部20]
整列部20は、所与の姿勢変換行列を用いて各フレーム点群データDiを姿勢変換することにより、各フレーム点群データDiの姿勢を地図点群データMDにおける姿勢と一致させる。当該姿勢変換はすなわち、フレーム点群データDiに関して、(数式3)のように取得した際のセンサの座標系SS(Ti)で表現されていたものを、(数式2)のように地図点群データMDの共通座標系CSで表現されるものに変換することに相当し、姿勢変換行列はフレーム点群データDiごとに存在する。
【0045】
なお、各フレーム点群データDiに関して予め(数式2)の共通座標系CSで表現されるものとして入力データ(
図2のステップS1で用意する入力データ)を用意しておくことにより、整列部20を省略してもよい。
【0046】
[第一分割部11]
第一分割部11は、地図点群データMDについて、任意の所定の基準点rp
map(例えばローカル座標系の原点)を元に、空間を所定のサイズのボクセルで分割する。ただし、当該処理におけるボクセルのサイズは、後段側処理で使用されるボクセルのサイズと同サイズであることが望ましい。ボクセル分割する際の方向は共通座標系CSのx,y,z軸とすればよい。ここで得られたM個のボクセルを、V
pmap (p=1,2, …,M)とする。(各ボクセルV
pmapはすなわち、
図2の説明におけるMD(n, m, l)
[VG0]に該当し、ボクセルグリッドVG0で分割されたものに該当する。)
【0047】
[第二分割部21]
図4は、第二分割部21による分割の各実施形態を担うものとしての第二分割部21の機能ブロック図である。第二分割部21は、共通分割部1、平行移動分割部2及び回転分割部3を備え、各部1〜3による各実施形態においてボクセルグリッドVGk(k=0,1,2, ...)で分割された各フレーム点群データDiが第二計算部22へと出力される。各部1〜3で分割するボクセルのサイズは第一分割部11において分割したボクセルサイズと共通である。
【0048】
[共通分割部1]
共通分割部1では、第一分割部11でボクセル分割したのと同一のボクセルグリッドVG0によって各フレーム点群データDiをボクセル分割する。(従って、分割する際の基準点は同一の基準点rp
mapであり、ボクセル分割する際の方向も同一で例えば共通座標系CSのx,y,z軸とすればよい。)
【0049】
共通分割部1で各フレーム点群データDiに関して得られたL(i)個のボクセルをV
li,a(l=1,2, ..., L(i))と表記する。なお、添字aは次に説明する「非対称性」(asymmetry)を表すものであり、平行移動分割部2及び回転分割部3でのボクセルと区別するためのものである。(なお、当該ボクセルV
li,aにおけるDiの点群データが、ボクセルを指定するlと(u,v,w)との対応付けのもとで、
図2の説明におけるDi(u,v,w)
[VG0]に該当する。)
【0050】
共通分割部1の役割は、後段側の比較部13及び選別部14において、地図点群データMDのボクセルと各フレーム点群データDiのボクセルとの間で、点群分布の非対称性に基づく性能評価による比較選別を可能とするようなフレーム点群データDiのモデル化データを、第二計算部22において算出可能とさせるためのものである。
【0051】
図5は共通分割部1による当該役割における点群分布の非対称性を説明するための模式例を示す図である。
図5では、同一のオブジェクトOBに関して、[1]では後段側処理においてクエリとして取得されることが想定される点群を、[2]では地図点群データMDにおいて取得していることが想定される点群を、それぞれ模式例として示している。すなわち、[1]に示す後段側処理での取得点群(及びこれをシミュレートする各フレーム点群データDi)は、単一のセンサ位置姿勢AP11のみで取得されるものであるため、球状のオブジェクトOBに関してその前面部分(図中の実線部分)しか点群が取得されず、背面部分(図中の点線部分)に関しては点群が取得されないこととなる。一方、[2]に示すように同一のオブジェクトOBに関して地図点群データMDにおいては単一のセンサ位置姿勢AP11のみならずその他のセンサ位置姿勢AP12,AP13等からも網羅的にその点群が取得され、図中に実線で示すような球面の全面に渡って点群が取得されることとなる。このように、同一のオブジェクトOBであっても取得される点群の様子が異なることが「非対称性」である。
【0052】
当該非対称性は、より一般的に述べれば次の通りである。前述の(数式1)の通り、地図点群データMDはオブジェクトを複数の計測点から計測した各結果Diを統合して得られるものであるため、オブジェクトの形状を完全に近い状態で計測しており、得られる点群の密度も高くなる。それに対し、後段側処理の取得点群は物体を単一の計測点から計測した結果Diのみであるため、物体の一面しか計測することができず、不完全かつ疎な計測となる。
【0053】
このような非対称性は、地図点群データと後段側処理の取得点群のそれぞれを取得した際の位置姿勢が完全に一致している場合であっても、ボクセル内に位置する点群をモデル化したパラメータに差異をもたらすこととなる。さらに、ノイズの影響でモデルパラメータに差異が生じる可能性もある。その様なボクセルは、正しい位置姿勢であっても自己位置推定処理に悪影響を及ぼすため、除去すべき有害なボクセルであると考えられる。
【0054】
そして、共通分割部1によるボクセル分割を経た比較選別の処理によれば、このような非対称性に基づく有害なボクセルの自動排除、すなわち選別部14で選別されないようにすることが可能となる。
図5の例であれば、[1]に示すオブジェクトOBの裏側(点線部分)に該当するようなボクセルは、自動排除の対象となる。
【0055】
以上、共通分割部1を説明した。なお、各部1〜3による各実施形態においてボクセルグリッドVGk(k=0,1,2, ...)で分割することとなるが、共通分割部1はk=0の場合のボクセルグリッドVG0(第一分割部11と同じボクセルグリッドVG0)の分割を行うものであり、以降に説明する平行移動分割部2及び回転分割部3はこれとは異なるk≧1で指定されるボクセルグリッドVGk(k≧1)の分割を行うものである。
【0056】
[平行移動分割部2]
平行移動分割部2に関して、その処理内容(すなわちボクセル分割の仕方の詳細)を説明してから、その後段側の比較選別処理における意義を説明することとする。
【0057】
平行移動分割部2では、共通分割部1で分割したボクセルグリッドVG0からサブボクセル単位の長さ(ボクセル解像度よりも細かいステップ幅)でボクセル分割基準位置が異なっているような一連のボクセルグリッドVGk(k≧1)の分割を行う。すなわち、共通分割部1で分割した際の基準点rp
mapからボクセルの解像度よりも細かいサイズのステップ幅による平行移動された基準点を用いて、各フレーム点群データDiをボクセルで分割する。具体的には、x軸方向,y軸方向,z軸方向のボクセルサイズをvlx,vly,vlzとし、ステップ幅をそれぞれrsx,rsy,rszとおく場合、それぞれでvlx,vly,vlzを除算した際の商の大きさのパターン数rsnx,rsny,rsnzで、各地図フレームをボクセルで分割する;
rsnx = vlx / rsx (数式4)
rsny = vly / rsy (数式5)
rsnz = vlz / rsz (数式6)
この時、各フレーム点群データDiは、Num = rsnx * rsny * rsnz 通りの方法で、ボクセルで分割されることとなる。あるいは、例えばx方向のみにNum = rsnx通り、という様に、ステップ幅を施す方向を限定してもよい。
【0058】
平行移動分割部2でNum通りの各分割において各フレーム点群データDiに関して得られたL2(i)個のボクセルを{V
li,q(l=1,2, ..., L2(i))}
n(n=1,2, ..., Num)と表記する。(なお、個数L2(i)に関しては、Num通りのそれぞれへの依存性があるが、表記簡略化の観点から当該依存性の表記はL2(i)においてではなく、分割手法を表現する最後の添え字nにおいて表現している。)添え字qは次に説明する量子化誤差(quantization error)を意味するものである。
【0059】
平行移動分割部2の役割は、後段側の比較部13及び選別部14において、地図点群データMDのボクセルと各フレーム点群データDiのボクセルとの間で、点群分布の量子化誤差に基づく性能評価による比較選別を可能とするようなフレーム点群データDiのモデル化データを、第二計算部22において算出可能とさせるためのものである。
【0060】
すなわち、モデル化の際に連続的な幾何的形状を計測した3D点群をボクセルで区切ることは、データのボクセル量子化誤りに起因する問題をもたらす。データのボクセル量子化誤りを説明するために、模式図を
図6に示す。
図6において、楕円体はある点群PG1のデータ分布を模式的に表し、直線で形成された立方体V11,V12,V21,V22は同じ大きさのボクセルを表している。ここで、
図6の[1]及び[2]の間では、点群PG1の座標は変化せず、(すなわち[1]及び[2]では点群PG1データは同一のものが示されており、)ボクセルを形成する基準となる基準点の座標のみが基準点R1及び基準点R2のように変化している。すなわち
図6は、同一の点群PG1データを[1]及び[2]において互いに異なるボクセルで量子化する場合の例を示しており、互いに共通の座標系CS1で同一の点群PG1データを与え、[1]ではその原点Oに一致する位置に基準点R1を設けてボクセル量子化し、[2]では当該原点Oから+x方向に一定距離だけずれた位置に基準点R2を設けてボクセル量子化している。
【0061】
そして、
図6の[1]にてボクセル量子化された点群PG1データは2つのボクセルV11,V12の境界にまたがって概ね2等分される形で割り当てられているのに対して、
図6の[2]のボクセル量子化では同じ点群PG1データの全てが2つのボクセルV21,V22のうち左側のボクセルV21のみに割り当てられている。結果として
図6の[1]及び[2]の間で、同一の点群PG1データをモデル化しているのにも関わらず、そのモデル化の結果(例えば平均,分散共分散行列)は大きく変化してしまい、得られるモデルのパラメータも類似しないものとなってしまう。
【0062】
図6はボクセル分割位置の少しの違いでモデルのパラメータが顕著に変化してしまう場合の模式例であったが、逆に
図7に模式図を示すように、ボクセル分割位置の少しの違いではモデルのパラメータがほとんど変化しない場合もある。
【0063】
すなわち、
図7でも
図6と同様に、同一の点群データPG2に関して[1]及び[2]で互いにボクセル分割位置がわずかに異なる場合が示されている。
図7にて[1]では基準点R3を基準としてボクセル分割されたボクセルV31,V32が示され、[2]では基準点R3からわずかにずれた基準点R4を基準としてボクセル分割されたV41,V42が示されている。ここで、
図6の場合とは逆に、
図7の点群データPG2は[1],[2]のボクセルV31,V32とボクセルV41,V42との間でモデル化データにほとんど相違を発生させないような分布をなしている。
【0064】
後段側処理においては、その具体的な用途・目的等によって
図6のような少しの分割位置の相違で顕著に変化するような位置にあるボクセルが精度上重要になる場合と、逆に
図7のような少しの分割位置の相違ではほとんど変化しないような位置にあるボクセルが精度上重要になる場合との両方が考えられる。平行移動分割部2の処理を前提とした後段側の比較選別処理の各実施形態によって、この各場合に適した選別が可能となる。
【0065】
[回転分割部3]
回転分割部3は、上記の平行移動分割部2がボクセル分割の基準位置の「並進成分」の相違がボクセル分割に基づくモデル化データに与える影響を考慮するためのものであったのに対し、ボクセル分割の「方向」の相違がモデル化データに与える影響を考慮するためのものである。従って、回転分割部3に関して
図6,7のような模式図を示すことは省略するが、その考え方としては全く同様であり、ボクセル分割の方向のわずかな相違(及び/又はある程度大きな相違)によって顕著に変化する又はほとんど変化しないようなボクセルが後段側処理の精度において重要になる場合へそれぞれ対処可能とするのが回転分割部3の役割である。
【0066】
回転分割部3では具体的に、共通分割部1で分割した1通りのボクセルグリッドVG0と、平行移動分割部2で分割したNum通りのボクセルグリッドVGk(k≧1)と、のそれぞれを、回転角度が0°の基準姿勢にあるものとし、これらにそれぞれ所定のNum2通りの回転変換を施した一連のボクセルグリッドにおいて、各フレーム点群データDiをボクセル分割する。すなわち、回転分割部3でのボクセル分割のパターン数は(1+Num)*Num2通りとなる。
【0067】
回転分割部3でNum2通りの各回転変換において各フレーム点群データDiに関して得られたL3(i)個のボクセルを{V
li,r(l=1,2, ..., L3(i))}
m(m=1,2, ..., Num2)と表記する。(なお、個数L3(i)に関しては、Num2通りのそれぞれへの依存性があるが、表記簡略化の観点から当該依存性の表記はL3(i)においてではなく、分割手法を表現する最後の添え字nにおいて表現している。)添え字rは回転(rotation)を意味するものである。
【0068】
なお、回転分割部3での回転であるが、
図8に模式例を示すように、回転角度が0°の基準姿勢の各ボクセル分割(1+Num通り)に関して、そのボクセルの中心位置を基準として回転させてボクセルを得るものとする。すなわち、
図8では[1]に回転角度が0°の基準姿勢の場合の4個のボクセルが模式的に示され、これに対して共通座標系CSにおいてz軸回りに30°の回転を行ったものの模式例が[2]に、z軸回りに45°の回転を行ったものの模式例が[3]に示されている。なお、回転分割部3での回転は所定の回転行列をNum2通り予め定義しておいたものを利用すればよい。ここで、後段側処理での精度向上のために個別に必要となる処理(例えば自己位置推定における初期位置姿勢の姿勢補正として必要な処理)に応じて、何らかの1つ以上の回転軸の周りにおいて、0°〜360°のような大きな範囲内で概ね均一に回転角を割り振ったものとして複数の回転行列を用意しておいてもよいし、何らかの1つ以上の回転軸の周りにおける0°近傍の微小範囲(例えば±5°の範囲など)内で概ね均一に回転角を割り振ったものとして複数の回転行列を用意しておいてもよい。
【0069】
図8のようにボクセル中心位置で回転する場合、回転されたボクセル同士に重複箇所が生じたり、回転されたボクセル間に隙間が発生したりする場合があるが、当該回転された各ボクセルにおいて独立に、各フレーム点群データDiから点群を取得するものとする。すなわち、ボクセルの重複位置においては重複している各ボクセルに点群がそれぞれ属することとなり、そのうちのいずれか1つに属することはない。また、ボクセルの隙間位置にある点群に関してはいずれのボクセルにも属さないものとして扱う。
【0070】
以上、
図4の第二分割部21の各部を説明した。当該各部を組み合わせることによる一連のボクセルグリッドVGk(k=0,1,2, ...)による分割に関しては、以下の3つの実施形態が可能であり、後述する比較選別の詳細説明(比較部13及び選別部14の詳細説明)も、当該3つの実施形態に応じたそれぞれを説明する。
(1)第一実施形態…共通分割部1での1通りのボクセルグリッドVG0のみの分割を適用する。
(2)第二実施形態…上記第一実施形態の共通分割部1での1通りのボクセルグリッドVG0に加えてさらに、平行移動分割部2による一連のボクセルグリッドVGk(k≧1)の分割も適用する。
(3)第三実施形態…上記第二実施形態の一連のボクセルグリッドによる分割に加えてさらに、回転分割部3による一連のボクセルグリッドの分割も適用する。
【0071】
[第一計算部12及び第二計算部22]
概略説明において既に述べたように、第一計算部12は、地図点群データMDを第一分割部11で1通りのボクセルグリッドVG0によって分割された各ボクセル単位でモデル化する。また、第二計算部22は各フレーム点群データDiを第二分割部21で各実施形態に応じて分割された各ボクセル単位でモデル化する。
【0072】
ここで、第一計算部12で得られるボクセル単位での地図点群モデル化データは、ボクセルの各位置に対応して1個のみ得られるものであるのに対し、第二計算部22で得られるボクセル単位での各フレーム点群データDiのモデル化データは、ボクセルとしては同じ位置あるいは重複する位置を占めていても1個以上の異なるものが得られるものである、という相違が存在することを特筆する。
【0073】
例えば、
図3の模式例ではフレーム点群データD1とフレーム点群データD2とで重複するボクセルがボクセルグリッドVG0において存在している。
図2のフローチャートの説明の際の表記により、当該同じ位置にあるボクセル位置の1つを(u0,v0,w0)とすると、当該同じ位置(u0,v0,w0)にあるボクセルであっても、フレーム点群データD1のデータをモデル化したモデル化データmodel(D1(u0,v0,w0)
[VG0])と、フレーム点群データD2のデータをモデル化したモデル化データmodel(D2(u0,v0,w0)
[VG0])と、の2つの異なるモデル化データが得られることとなる。
【0074】
上記の例は第二分割部21で第一実施形態を適用したものとして、同じ位置となるボクセルで異なるモデル化データが得られる場合があることを説明した。第二実施形態又は第三実施形態が適用される場合はさらに同様に、(完全に同じ位置ではないが)重複する位置となるボクセルで異なるモデル化データが得られる場合があることとなる。
【0075】
第一計算部12及び第二計算部22では以上のようなそれぞれが対象とするボクセル(分割手法に応じたボクセル)及びその内部の点群データをモデル化する。具体的な当該モデル化の手法に関しては、任意の既存のモデル化手法が利用できる。例えば前掲の非特許文献3のように、各ボクセル内に位置する点群を3次元多変量正規分布のパラメータ、すなわち平均と分散共分散行列としてモデル化してもよい。データ量削減及び後段側の比較選別の高速化のために当該モデル化はデータの量子化を含むものであってもよい。
【0076】
なお、第一計算部12及び第二計算部22では、ボクセル内の対象データの点群の数が所定閾値以下となる場合には、(モデル化しても信頼性を欠くものとして、)モデル化を行うことを省略してもよい。当該省略されたボクセルに関しては、最初から点群の数がゼロであるボクセルと同様に、モデル化データが存在しないものとして扱えばよい。
【0077】
[比較部13]
比較部13は、第一処理として、地図点群MDのモデル化データの各ボクセルと各フレーム点群データDiのモデル化データの各ボクセルとの間において、同一空間に対応するボクセル同士又は大よそ同一の空間を含んでいるボクセル同士の持つモデル同士の距離を特定の尺度で計算したうえで、当該距離計算結果に基づいて第二処理として、地図点群MDのモデル化データの各ボクセルに関してデータ選別のための指標を求め、当該指標を比較結果として選別部14へと出力する。
【0078】
第一処理におけるモデル同士の距離の計算に関しては、第一計算部12及び第二計算部22で具体的に計算したモデルの種類に応じた所定の距離(モデル同士が類似しているほどその値(非負の値)が小さくなるような距離)として計算すればよい。例えば前掲の非特許文献3のモデルを計算した場合であれば、多変量正規分布間のL2距離として計算すればよい。
【0079】
また、第一処理におけるモデル同士の距離の計算に関しては、第二分割部21で各フレーム点群データDiに関して適用したボクセル分割の種別ごとに種類が区別される距離として計算を行うものとする。(すなわち、距離の計算の仕方そのものは同じであるが、ボクセル分割のされ方の違いに応じた種類の区別を設けるものとする。)すなわち、第一実施形態の場合、共通分割部1による分割のもとでの「非対称性」を考慮する距離d
ap(p=1, 2, ...., M)のみの1種類の距離を計算し、第二実施形態ではさらに平行移動分割部2による分割のもとでの「並進成分の違いによる量子化誤差」を考慮する距離d
qp(p=1, 2, ...., M)を追加した2種類の距離を計算し、第三実施形態ではさらに回転分割部3による分割のもとでの「回転成分の違いによる量子化誤差」を考慮する距離d
rp(p=1, 2, ...., M)を追加した3種類の距離を計算するものとする。
【0080】
なお、上記の距離d
qp(p=1, 2, ....,M)等におけるpは、第一分割部11の説明の際に用いた地図点群MDのモデル化データの各ボクセルV
pmap (p=1,2, …,M)を識別するものである。
【0081】
さらに、第一処理における距離計算の対象となるボクセル同士の対応付けに関しては、共通分割部1による分割の場合は、地図点群MDのモデル化データの各ボクセルと各フレーム点群データDiのモデル化データの各ボクセルとは同じボクセルグリッドVG0で分割されたものであるため、同位置のボクセル同士を距離計算対象として対応付ければよい。平行移動分割部2又は回転分割部3による分割の場合、地図点群MDのモデル化データの各ボクセルと各フレーム点群データDiのモデル化データの各ボクセルとは一般に位置がずれたものとなっているので、最も重複が多いボクセル又は最も中心間の距離が小さいボクセルを距離計算対象として対応付ければよい。
【0082】
さらに、上記対応付けた際に、地図点群MDのモデル化データの各ボクセルに関して、対応付けられたボクセル数をカウントしておくものとする。「非対称性」を考慮する距離d
ap(p=1, 2, ...., M)の計算対象として対応付けたボクセル数をN
aとし、「並進成分の違いによる量子化誤差」を考慮する距離d
qp(p=1, 2, ...., M)の計算対象として対応付けたボクセル数をN
qとし、「回転成分の違いによる量子化誤差」を考慮する距離d
rp(p=1, 2, ...., M)の計算対象として対応付けたボクセル数をN
rとする。
【0083】
ここで、「p」で識別される地図点群MDのモデル化データのある一つのボクセルV
pmap (p=1,2, …,Mのいずれか)に関して、距離d
apは対応付けられたフレーム点群データDiのモデル化データのボクセルN
a個に関してそれぞれ計算され、距離d
qpは対応付けられたフレーム点群データDiのモデル化データのボクセルN
q個に関してそれぞれ計算され、距離d
rpは対応付けられたフレーム点群データDiのモデル化データのボクセルN
r個に関してそれぞれ計算されるものであり、当該個数N
a個、N
q個及びN
r個は2以上となる場合も(一般に頻繁に)あることを特筆する。後述する(数式7)、(数式8)及び(数式9)での和は、このように対応付けられたそれぞれN
a個、N
q個及びN
r個に関する和である。
【0084】
第二処理では、上記対応付けられたN
a個、N
q個及びN
r個の各距離をそれぞれ累積加算し、且つ、当該各個数で以下の(数式7)、(数式8)及び(数式9)のように当該累積加算和を正規化することにより、「p」で指定される地図点群MDのモデル化データの各ボクセルV
pmapに関して、「非対称性」を考慮する正規化された距離d
norm,ap、「並進成分の違いによる量子化誤差」を考慮する正規化された距離d
norm,qp及び「回転成分の違いによる量子化誤差」を考慮する正規化された距離d
norm,rpをそれぞれ指標として求める。
d
norm,ap=Σd
ap/N
a (数式7)
d
norm,qp=Σd
qp/N
q (数式8)
d
norm,rp=Σd
rp/N
r (数式9)
【0085】
[選別部14]
選別部14では、上記(数式7)、(数式8)及び(数式9)の指標を用いて、「p」で指定される地図点群MDのモデル化データの各ボクセル各ボクセルV
pmapの中から選別を行う。
【0086】
第一実施形態においては、前述の通り共通分割部1による分割VG0のみが適用されることから、(数式7)の「非対称性」を考慮する正規化された距離d
norm,apのみが求まっている。そこで、選別部4では当該正規化距離が閾値TH11以下となるような一連のボクセルV
pmap又は当該正規化距離が小さい順からの順位が閾値TH12以内に収まるような一連のボクセルV
pmapを選別対象とすればよい。
【0087】
第二実施形態においては、上記第一実施形態で選別対象となった一連のボクセルV
pmapの中から、さらに(数式8)の「並進成分の違いによる量子化誤差」を考慮する正規化された距離d
norm,qpに基づく選別を行ったものを最終的な選別結果とすればよい。なお、第二実施形態においては第一実施形態の閾値TH11,TH12を第一実施形態におけるものとは別の値として設定してもよい。
【0088】
ここで、「並進成分の違いによる量子化誤差」を考慮する正規化された距離d
norm,qpに基づく選別に関しては、後段側処理で何を重視するかの考え方の違いにより以下の2通りの実施形態(A)、(B)が可能である。
【0089】
(A)前述の
図6の例のように量子化するボクセルグリッドの位置がわずかに異なることで顕著に変化するようなボクセルのデータを後段側処理において重要視する場合、正規化された距離d
norm,qpが閾値判定で小さいと判定されるもの、又は正規化された距離d
norm,qpが小さい側の上位所定数を選別対象とすればよい。
【0090】
(B)逆に、前述の
図7の例のように量子化するボクセルグリッドの位置がわずかに異なったとしてもほとんど変化しないようなボクセルのデータを後段側処理において重要視する場合、正規化された距離d
norm,qpが閾値判定で大きいと判定されるもの、又は正規化された距離d
norm,qpが大きい側の上位所定数を選別対象とすればよい。
【0091】
第三実施形態においては、上記第二実施形態で選別対象となった一連のボクセルV
pmapの中から、さらに(数式9)の「回転成分の違いによる量子化誤差」を考慮する正規化された距離d
norm,rpに基づく選別を行ったものを最終的な選別結果とすればよい。なお、第三実施形態においては第二実施形態の各閾値を第二実施形態で設定したものとは別の値として設定してもよい。
【0092】
ここで、同じく量子化誤差を考慮している第二実施形態と全く同様に、「回転成分の違いによる量子化誤差」を考慮する正規化された距離d
norm,rpに基づく選別に関しては、後段側処理で何を重視するかの考え方の違いにより以下の2通りの実施形態(A)、(B)が可能である。
【0093】
(A)前述の位置に関する
図6の例における量子化するボクセルグリッドの位置に代えて、これと同様に回転成分がわずかに異なることで顕著に変化するようなボクセルのデータを後段側処理において重要視する場合、正規化された距離d
norm,rpが閾値判定で小さいと判定されるもの、又は正規化された距離d
norm,rpが小さい側の上位所定数を選別対象とすればよい。
【0094】
(B)逆に、前述の位置に関する
図7の例における量子化するボクセルグリッドの位置に代えて、これと同様に回転成分がわずかに異なったとしてもほとんど変化しないようなボクセルのデータを後段側処理において重要視する場合、正規化された距離d
norm,rpが閾値判定で大きいと判定されるもの、又は正規化された距離d
norm,rpが大きい側の上位所定数を選別対象とすればよい。
【0095】
以上、本発明の選別装置10によれば、後段側処理の精度等を確保したうえで効果的に当該後段側処理に供するデータ量を削減するようにすることが可能である。以下、本発明の説明上の補足を何点か述べる。
【0096】
(1)以上の説明より明らかなように、第二分割部21に関して、第四実施形態として、共通分割部1及び回転分割部3の分割を適用し、平行移動分割部2の分割適用は省略するようにすることも可能である。この場合、回転分割部3では具体的に、共通分割部1で分割した1通りのボクセルグリッドVG0のみを回転角度が0°の基準姿勢にあるものとし、これらにそれぞれ所定のNum2通りの回転変換を施した一連のボクセルグリッドにおいて、各フレーム点群データDiをボクセル分割する。すなわち、回転分割部3でのボクセル分割のパターン数はNum2通りとなる。(前述のNum=0とすればよい。)比較選別処理も同様に当該省略された場合に対して実施すればよい。
【0097】
(2)本発明は後段側処理の典型例として自己位置推定を想定し、地図点群データMDをボクセル化してのモデル化データのデータ量削減を実現することを説明してきた。しかし、本発明は必ずしも現実の都市空間等のフィールドにおいて取得された地図点群データのみならず、任意の対象における参照点群データを対象としても全く同様に実施可能である。ただしこの場合も、フレーム点群データDi及びその位置姿勢PAiに相当する情報は、当該任意の参照点群データに付随する情報として用意しておく必要がある。
【0098】
(3)選別装置10は一般的な構成のコンピュータとして実現可能である。すなわち、CPU(中央演算装置)、当該CPUにワークエリアを提供する主記憶装置、ハードディスクやSSDその他で構成可能な補助記憶装置、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース、ネットワークに接続して通信を行うための通信インタフェース、表示を行うディスプレイ、カメラ及びこれらを接続するバスを備えるような、一般的なコンピュータによって選別装置10を構成することができる。さらに、
図1に示す選別装置10の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPUによって実現することができるが、任意の一部の処理を別途の専用回路等(GPUを含む)において実現するようにしてもよい。