JP2019040445A - Estimation device and program - Google Patents

Estimation device and program Download PDF

Info

Publication number
JP2019040445A
JP2019040445A JP2017162463A JP2017162463A JP2019040445A JP 2019040445 A JP2019040445 A JP 2019040445A JP 2017162463 A JP2017162463 A JP 2017162463A JP 2017162463 A JP2017162463 A JP 2017162463A JP 2019040445 A JP2019040445 A JP 2019040445A
Authority
JP
Japan
Prior art keywords
voxel
unit
point group
division
query point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017162463A
Other languages
Japanese (ja)
Other versions
JP6761388B2 (en
Inventor
康平 松▲崎▼
Kohei Matsuzaki
康平 松▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2017162463A priority Critical patent/JP6761388B2/en
Publication of JP2019040445A publication Critical patent/JP2019040445A/en
Application granted granted Critical
Publication of JP6761388B2 publication Critical patent/JP6761388B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

To provide an estimation device capable of performing voxel-based matching between a reference point group (map point group) and a query point group (sensor point group), which is required in self-position estimation processing, etc., even in situations where there may be differences in voxel division positions.SOLUTION: The estimation device is provided with a first division unit 13 configured to apply a plurality of division methods in which voxel division positions are different from each other, including differences on a sub voxel basis, with respect to a query point group, a first modeling unit 14 configured to obtain query point group modeling data obtained by modeling query point groups in voxels for each of the plurality of division methods applied, and a comparison unit 17 configured to obtain query point group modeling data in division methods determined to be similar, by comparing reference point group modeling data obtained by applying a predetermined voxel division method to a reference point group and modeling query point groups in voxels with query point group modeling data for each of the division methods.SELECTED DRAWING: Figure 2

Description

本発明は、自己位置推定処理などにおいて必要となるリファレンス点群(地図点群)とクエリ点群(センサ点群)とのボクセルに基づくマッチングを、ボクセル分割位置の相違が存在しうる状況においても可能とする推定装置及びプログラムに関する。   In the present invention, matching based on voxels between a reference point group (map point group) and a query point group (sensor point group), which are necessary in self-position estimation processing, is performed even in a situation where there is a difference in voxel division positions. The present invention relates to an estimation device and a program that can be used.

近年、様々な種類の距離センサ(例えば, LiDAR, Time-of-flight camera, structured light)の商用化に伴い、3D点群(point cloud)が注目を集めている。3D点群は,物体認識や領域のセグメンテーション,自己位置推定,変化検知等のコンピュータビジョンにおける様々な技術領域で利用される。   In recent years, with the commercialization of various types of distance sensors (for example, LiDAR, time-of-flight camera, structured light), 3D point clouds have attracted attention. 3D point clouds are used in various technical areas of computer vision, such as object recognition, area segmentation, self-position estimation, and change detection.

3D点群を用いた自己位置推定技術は、予め実世界(フィールド)の特定の範囲をセンサで計測して得られた点群(以後、「地図点群」と呼ぶ。)と、ユーザがその場でセンサを用いて取得した点群(以後、「センサ点群」と呼ぶ。)との位置合わせによって実現される。例えば、代表的な自己位置推定方法として,非特許文献1におけるIterative Closest Point (ICP)がある。   The self-position estimation technology using the 3D point cloud is based on a point cloud (hereinafter referred to as “map point cloud”) obtained by measuring a specific range in the real world (field) with a sensor in advance, and the user This is realized by alignment with a point cloud (hereinafter referred to as “sensor point cloud”) acquired using a sensor in the field. For example, as a typical self-position estimation method, there is Iterative Closest Point (ICP) in Non-Patent Document 1.

ここで、近年の距離センサは1秒間の間に数十万点以上の3D点を計測するため、実世界の広範囲の計測を介して生成される地図点群のデータ量は膨大となる。そのため、要求されるストレージ量の削減及び/又は点群を用いた処理を効率化するために、点群のデータ量の削減が行われることがある。   Here, since distance sensors in recent years measure hundreds of thousands of 3D points in one second, the amount of map point data generated through a wide range of measurements in the real world is enormous. For this reason, in order to reduce the required storage amount and / or improve the efficiency of processing using the point group, the data amount of the point group may be reduced.

その方法の一つに、点群のダウンサンプリングがある。この方法は、例えば所与の点群からランダムに指定個数の点を取得することにより、データ量を削減する。しかしながらこの方法は、単純にデータをスパースにするため、データ量を削減するほど、後段の処理の結果に対して悪影響(例えば位置合わせ精度の低下)を与える可能性が高くなる。   One method is downsampling of point clouds. This method reduces the amount of data by, for example, acquiring a specified number of points randomly from a given point cloud. However, since this method simply makes the data sparse, as the amount of data is reduced, there is a higher possibility that the result of the subsequent processing will be adversely affected (for example, the alignment accuracy is reduced).

また、データ量削減のためのもう一つの方法として、点群のモデル化がある。この方法は、例えば多変量正規分布の様な確率密度モデルを用いて点群をモデル化し、元々のデータをモデルパラメータの集合として表現することによって、データ量を削減する。
3D点群データのモデル化手法の多くは、ボクセルグリッドに依存している。非特許文献2におけるNormal Distribution Transform (NDT)は空間をボクセルで区切った後に、各ボクセル内に位置する点群を3次元多変量正規分布のパラメータ、すなわち平均と分散共分散行列で表現する。そして、モデル化された地図点群とセンサ点群を用いて自己位置推定を実現する。
Another method for reducing the amount of data is the modeling of point clouds. In this method, for example, a point cloud is modeled using a probability density model such as a multivariate normal distribution, and the original data is expressed as a set of model parameters, thereby reducing the data amount.
Many 3D point cloud data modeling techniques rely on voxel grids. In Normal Distribution Transform (NDT) in Non-Patent Document 2, after a space is divided by voxels, a point group located in each voxel is expressed by parameters of a three-dimensional multivariate normal distribution, that is, an average and a variance covariance matrix. Then, self-position estimation is realized using the modeled map point group and sensor point group.

非特許文献1 P. Besl and N. McKay, "A Method for Registration of 3-D Shapes," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, pp. 239-256, 1992.Non-Patent Document 1 P. Besl and N. McKay, "A Method for Registration of 3-D Shapes," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, pp. 239-256, 1992. Magnusson, Martin, Achim Lilienthal, and Tom Duckett. "Scan registration for autonomous mining vehicles using 3D‐NDT." Journal of Field Robotics 24.10 (2007): 803-827.Magnusson, Martin, Achim Lilienthal, and Tom Duckett. "Scan registration for autonomous mining vehicles using 3D‐NDT.” Journal of Field Robotics 24.10 (2007): 803-827.

しかしながら、以上のような従来手法の点群データ量の削減には次のような課題があった。まず、非特許文献2のようなモデル化手法には量子化誤りの問題があった。   However, reduction of the point cloud data amount of the conventional method as described above has the following problems. First, the modeling method as in Non-Patent Document 2 has a problem of quantization error.

すなわち、モデル化の際に連続的な幾何的形状を計測した3D点群をボクセルで区切ることは、データのボクセル量子化誤りに起因する問題をもたらす。データのボクセル量子化誤りを説明するために、模式図を図1に示す。図1において、楕円体はある点群PG1のデータ分布を模式的に表し、直線で形成された立方体V11,V12,V21,V22はボクセルを表している。ここで、図1の[1]及び[2]の間では、点群PG1の座標は変化せず、(すなわち[1]及び[2]では点群PG1データは同一のものが示されており、)ボクセルを形成する基準となる基準点の座標のみが基準点R1及び基準点R2のように変化している。すなわち図1は、同一の点群PG1データを[1]及び[2]において互いに異なるボクセルで量子化する場合の例を示しており、互いに共通の座標系CS1で同一の点群PG1データを与え、[1]ではその原点Oに一致する位置に基準点R1を設けてボクセル量子化し、[2]では当該原点Oから+x方向に一定距離だけずれた位置に基準点R2を設けてボクセル量子化している。   In other words, dividing a 3D point group whose continuous geometric shape has been measured at the time of modeling with voxels brings about a problem due to data voxel quantization errors. In order to explain the voxel quantization error of data, a schematic diagram is shown in FIG. In FIG. 1, an ellipsoid schematically represents data distribution of a certain point group PG1, and cubes V11, V12, V21, and V22 formed by straight lines represent voxels. Here, the coordinates of the point cloud PG1 do not change between [1] and [2] in FIG. 1 (that is, the point cloud PG1 data is the same in [1] and [2]. )) Only the coordinates of the reference point which becomes the reference for forming the voxel are changed as the reference point R1 and the reference point R2. That is, FIG. 1 shows an example in which the same point group PG1 data is quantized with different voxels in [1] and [2], and the same point group PG1 data is given by a common coordinate system CS1. In [1], a reference point R1 is provided at a position that coincides with the origin O and voxel quantization is performed. In [2], a reference point R2 is provided at a position shifted by a certain distance in the + x direction from the origin O to provide a voxel quantum. It has become.

そして、図1の[1]にてボクセル量子化された点群PG1データは2つのボクセルV11,V12の境界にまたがって概ね2等分される形で割り当てられているのに対して、図1の[2]のボクセル量子化では同じ点群PG1データの全てが2つのボクセルV21,V22のうち左側のボクセルV21のみに割り当てられている。結果として図1の[1]及び[2]の間で、同一の点群PG1データをモデル化しているのにも関わらず、そのモデル化の結果(例えば平均,分散共分散行列)は大きく変化してしまい、得られるモデルのパラメータも類似しないものとなってしまう。   The point group PG1 data voxel quantized in [1] in FIG. 1 is allocated in a manner of being roughly divided into two parts across the boundary between the two voxels V11 and V12, whereas FIG. In [2] voxel quantization, all of the same point group PG1 data is assigned only to the left voxel V21 of the two voxels V21 and V22. As a result, even though the same point group PG1 data is modeled between [1] and [2] in Fig. 1, the modeling results (for example, mean and variance-covariance matrix) vary greatly. Therefore, the parameters of the obtained model are not similar.

なお、図1では模式例として、[1]及び[2]の間でボクセルのグリッド方向は共通だが基準点位置のみが異なる場合を示した。より一般的には、基準点位置及び/又はボクセルのグリッド方向が互いに異なるボクセル量子化において、基準点位置の相違のみに関して示した図1の模式例と同様に量子化誤りが発生することとなる。   In FIG. 1, as a schematic example, a case where the grid direction of voxels is common between [1] and [2] but only the reference point position is different is shown. More generally, in the voxel quantization in which the reference point position and / or the voxel grid direction are different from each other, a quantization error occurs as in the schematic example of FIG. .

以上のようなボクセル量子化誤りを低減する単純な手法としては、細かい解像度のボクセルを使用することが考えられる。すなわち、センサで計測する物体のスケールと比べて、十分に小さいボクセルを使用すれば、ほとんどの点に対してボクセル量子化誤りを回避できるためである。しかしながら、ボクセルの解像度が細かい場合、解像度が粗い場合に比べて、データ量が大きくなる。更に、それに伴って後段側の処理(自己位置推定処理)の計算量およびメモリ使用量も大きくなることが多い。ここで特に、ダウンサンプリングされた点群およびモデル化された点群データであっても、広範囲の計測から得られる点群に対するデータ量は膨大となることを考慮すると、このように単純にボクセル解像度を細かくする手法は好ましくない。   As a simple technique for reducing the voxel quantization error as described above, it is conceivable to use voxels with fine resolution. That is, if a sufficiently small voxel is used compared to the scale of the object measured by the sensor, voxel quantization errors can be avoided for most points. However, when the resolution of the voxel is fine, the amount of data becomes larger than when the resolution is coarse. In addition, the amount of calculation and memory usage of the subsequent processing (self-position estimation processing) often increase accordingly. In particular, even with downsampled point cloud and modeled point cloud data, considering that the amount of data for point clouds obtained from a wide range of measurements is enormous, the voxel resolution is simply It is not preferable to make the method fine.

さらに、一般的にデータのダウンサンプル率と後段処理(自己位置推定処理)の精度とはトレードオフの関係にあり、仮に当該トレードオフ関係による後段処理の精度低下を許容してデータにダウンサンプリングを適用した場合であっても、多数の3D点で構成される地図点群のデータ量は依然として大きい。ここで、3D点の数自体が多いこと以外にも、非特許文献2の手法のモデル化によるボクセルごとのパラメータ数が多いことからも、当該データ量は依然として大きいこととなる。   Furthermore, there is generally a trade-off relationship between the data downsampling rate and the accuracy of the subsequent processing (self-position estimation processing), and the data can be downsampled by allowing a decrease in the accuracy of the subsequent processing due to the tradeoff relationship. Even when applied, the amount of data of a map point cloud composed of many 3D points is still large. Here, in addition to the large number of 3D points themselves, the number of parameters for each voxel based on the modeling of the method of Non-Patent Document 2 is also large, so the data amount is still large.

以上のように、従来手法では主としてボクセル分割位置の相違による量子化誤差への対策ができないことにより、自己位置推定処理においてデータ量削減及び推定処理精度向上を同時に達成することが困難であった。   As described above, in the conventional method, it is difficult to achieve a reduction in the amount of data and an improvement in the accuracy of the estimation process at the same time in the self-position estimation process because it is not possible to take measures against the quantization error mainly due to the difference in the voxel division position.

当該課題に鑑み、本発明は自己位置推定処理などにおいて必要となるリファレンス点群(地図点群)とクエリ点群(センサ点群)とのボクセルに基づくマッチングを、ボクセル分割位置の相違が存在しうる状況においても可能とする推定装置を提供することを目的とする。   In view of the problem, the present invention has a difference in the voxel division position for matching based on the voxel between the reference point group (map point group) and the query point group (sensor point group) required in the self-position estimation process or the like. It is an object of the present invention to provide an estimation device that can be used even in a situation.

上記目的を達成するため、本発明は推定装置であって、クエリ点群に対して、サブボクセル単位の相違を含んでボクセル分割位置が互いに異なる複数の分割手法を適用する第一分割部と、前記適用される複数の分割手法ごとに、ボクセル内のクエリ点群をモデル化したクエリ点群モデル化データを得る第一モデル化部と、リファレンス点群に所定のボクセル分割手法を適用し且つボクセル内のクエリ点群をモデル化して得られたリファレンス点群モデル化データと、前記一連の分割手法ごとのクエリ点群モデル化データとを比較し、類似していると判定される分割手法におけるクエリ点群モデル化データを得る比較部と、を備えることを特徴とする。また、コンピュータを前記推定装置として機能させるプログラムであることを特徴とする。   In order to achieve the above object, the present invention is an estimation device, and a first dividing unit that applies a plurality of division methods including different sub-voxel units and different voxel division positions to a query point group, A first modeling unit that obtains query point cloud modeling data obtained by modeling a query point cloud in a voxel for each of a plurality of division methods to be applied, and a predetermined voxel partitioning method applied to the reference point cloud and within the voxel The reference point cloud modeling data obtained by modeling the query point cloud of the above and the query point cloud modeling data for each of the series of division methods are compared, and the query points in the division method determined to be similar And a comparison unit for obtaining group modeling data. Further, the present invention is a program that causes a computer to function as the estimation device.

本発明によれば、自己位置推定処理などにおいて必要となるリファレンス点群(地図点群)とクエリ点群(センサ点群)とのボクセルに基づくマッチングが、ボクセル分割位置の相違が存在しうる状況においても可能となる。   According to the present invention, matching based on voxels between a reference point group (map point group) and a query point group (sensor point group) required in self-position estimation processing or the like may cause a difference in voxel division position. Is also possible.

データのボクセル量子化誤りを説明するための模式例を示す図である。It is a figure which shows the model example for demonstrating the voxel quantization error of data. 一実施形態に係る推定装置及びモデル化装置の機能ブロック図である。It is a functional block diagram of the estimation apparatus and modeling apparatus which concern on one Embodiment. ボクセル量子化誤差の低減及び初期位置姿勢の誤差の影響除外が実現されることを模式的に説明するための図である。It is a figure for demonstrating typically the reduction | restoration of a voxel quantization error and the exclusion of the influence of the error of an initial position attitude | position being implement | achieved. 一実施形態に係るモデル化装置及び推定装置の動作のフローチャートである。It is a flowchart of operation | movement of the modeling apparatus and estimation apparatus which concern on one Embodiment. ボクセルとブロックとの関係の模式例を示す図である。It is a figure which shows the schematic example of the relationship between a voxel and a block. 最近傍ブロックに加えてその周囲のブロックも取得した状況の模式例を示す図である。It is a figure which shows the model example of the condition which acquired the surrounding block in addition to the nearest neighbor block. 近傍取得部が計算するベクトルを説明するための模式例を示す図である。It is a figure which shows the example of a model for demonstrating the vector which a neighborhood acquisition part calculates. 地図側空間、当初設定の探索空間、更新された探索空間の模式例を示す図である。It is a figure which shows the model example of map side space, the search space of an initially set, and the updated search space. 第一分割部の(手順3−2)の意義を説明するための模式例として、当該手順によって後段側の比較部で結果的に実現されることとなるサーチ処理の模式例を示す図である。It is a figure which shows the schematic example of the search process which will be implement | achieved as a result by the comparison part of a back | latter stage by the said procedure as a schematic example for demonstrating the meaning of (procedure 3-2) of a 1st division part. .

以下、図面を参照して本発明の各実施形態を説明する。なお、以下の説明において「特筆」として説明する各事項は、一定の実施形態において一定の観点から好ましい事項を述べるもの及び/又は説明上の注意喚起のためのものであり、必ずしも本発明の必須事項を述べたものではない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that each item described as a “special note” in the following description is for describing a preferable item from a certain point of view in a certain embodiment and / or for alerting the explanation, and is not necessarily essential to the present invention. It is not a statement.

図2は一実施形態に係る推定装置及びモデル化装置の機能ブロック図である。図示する通り、モデル化装置20は、第二取得部21、第二整列部22、第二分割部23、第二モデル化部24、第二量子化部25、出力部32及び記憶部33を備え、地図点群データに関して当該図示する順番で各データを処理する。また、推定装置10は第一取得部11、第一整列部12、第一分割部13、第一モデル化部14、第一量子化部15、第一生成部16を備え、センサ点群データに関して当該図示する順番で各データを処理する。さらに、推定装置10は第二生成部26、比較部17、推定部18、初期位置姿勢取得部31、近傍取得部34を備える。   FIG. 2 is a functional block diagram of the estimation device and the modeling device according to an embodiment. As illustrated, the modeling device 20 includes a second acquisition unit 21, a second alignment unit 22, a second division unit 23, a second modeling unit 24, a second quantization unit 25, an output unit 32, and a storage unit 33. And each piece of data is processed in the order shown in the figure with respect to the map point cloud data. The estimation apparatus 10 includes a first acquisition unit 11, a first alignment unit 12, a first division unit 13, a first modeling unit 14, a first quantization unit 15, and a first generation unit 16, and includes sensor point cloud data. Each data is processed in the order shown. Furthermore, the estimation device 10 includes a second generation unit 26, a comparison unit 17, an estimation unit 18, an initial position and orientation acquisition unit 31, and a neighborhood acquisition unit 34.

以下ではまず、概略説明として、図2の各機能ブロック間のデータ授受の流れを説明する。各機能ブロックが当該データ授受する際の詳細処理内容は後述する。   In the following, first, as a general description, the flow of data exchange between the functional blocks in FIG. 2 will be described. Detailed processing contents when each functional block exchanges the data will be described later.

なお、図2にて例えば第一取得部11及び第二取得部21のように、機能ブロック名が互いに名称先頭部分の「第一」及び「第二」でのみ異なるもの同士は、互いに同一又は対応する処理を異なるデータに対して行うものである。   In FIG. 2, for example, the first acquisition unit 11 and the second acquisition unit 21 are different in function block names from each other only in the first part “first” and “second”. Corresponding processing is performed on different data.

例えば、第一取得部11はセンサ点群を取得して第一整列部12に出力し、第二取得部21は地図点群を取得して第二整列部22に出力する。   For example, the first acquisition unit 11 acquires the sensor point group and outputs it to the first alignment unit 12, and the second acquisition unit 21 acquires the map point group and outputs it to the second alignment unit 22.

以下、説明の簡略化のために上記のように当該互いに同一又は対応する処理を、括弧「」で括ると共にスラッシュ記号「/」で並記するという記法で説明する。例えば上記の内容は以下の記法で表現される。   In the following, for simplification of description, the same or corresponding processes as described above will be described in the notation of enclosing them in parentheses “” and writing them in slash symbols “/”. For example, the above content is expressed by the following notation.

「第一取得部11/第二取得部12」は「センサ点群/地図点群」を取得して「第一整列部12/第二整列部22」へ出力する。   The “first acquisition unit 11 / second acquisition unit 12” acquires “sensor point group / map point group” and outputs them to the “first alignment unit 12 / second alignment unit 22”.

当該記法により、当該対応する各部12〜16及び各部22〜26の処理と、図2のその他の各部の処理とは、図2内にも描かれるように次の通りである。   According to the notation, the processes of the corresponding parts 12 to 16 and the parts 22 to 26 and the processes of the other parts in FIG. 2 are as follows as depicted in FIG.

「第一整列部12/第二整列部22」は、「センサ点群/地図点群」を所定方位に向けて整列させた「方位整列されたセンサ点群/方位整列された地図点群」を「第一分割部13/第二分割部23」へ出力する。   The “first alignment unit 12 / second alignment unit 22” is an “azimuth-aligned sensor point group / azimuth-aligned map point group” in which the “sensor point group / map point group” is aligned in a predetermined direction. Is output to “first dividing unit 13 / second dividing unit 23”.

「第一分割部13/第二分割部23」は、「方位整列されたセンサ点群/方位整列された地図点群」に対してボクセル分割及びブロック定義を行って得られる「一連のボクセル及びブロックのもとでの方位整列されたセンサ点群/一連のボクセル及びブロックのもとでの方位整列された地図点群」を「第一モデル化部14/第二モデル化部24」へと出力する。ここで、第二分割部23におけるボクセル分割及びブロック定義は1通りのみの「所定の」ものであるのに対し、第一分割部13におけるボクセル分割及びブロック定義は複数通りの「一連の」ものであることを特筆する。さらに、第一分割部13における「一連のボクセル分割及びブロック定義」は、図1で説明したようなボクセル量子化誤差の影響を排除することを意図したものであることを特筆する。具体的な当該影響排除は、第一分割部13以降の機能ブロックによって実現される。   The “first segmentation unit 13 / second segmentation unit 23” obtains “a series of voxels and blocks obtained by performing voxel segmentation and block definition on the“ azimuth-aligned sensor point group / azimuth-aligned map point group ”. Orientation-aligned sensor point cloud under block / series of voxels and orientation-aligned map point cloud under block ”to“ first modeling part 14 / second modeling part 24 ” Output. Here, the voxel division and block definition in the second division unit 23 is only one type of “predetermined”, whereas the voxel division and block definition in the first division unit 13 is a plurality of “series”. It is noted that. Further, it is noted that the “series of voxel division and block definition” in the first division unit 13 is intended to eliminate the influence of the voxel quantization error as described in FIG. The specific effect exclusion is realized by functional blocks after the first dividing unit 13.

「第一モデル化部14/第二モデル化部24」は、「一連のボクセル及びブロックのもとでの方位整列されたセンサ点群/一連のボクセル及びブロックのもとでの方位整列された地図点群」に対してモデル化を適用して得られる「一連のモデル化センサデータ/モデル化地図データ」を「第一量子化部15/第二量子化部25」へと出力する。   “First Modeling Unit 14 / Second Modeling Unit 24” is “azimuthally aligned sensor point cloud under a series of voxels and blocks / a series of voxels and blocks. The “series of modeled sensor data / modeled map data” obtained by applying the modeling to the “map point cloud” is output to the “first quantizing unit 15 / second quantizing unit 25”.

「第一量子化部15/第二量子化部25」は、「一連のモデル化センサデータ/モデル化地図データ」を量子化して得られる「一連の量子化されたモデル化センサデータ/量子化されたモデル化地図データ」を「第一生成部16/出力部32」へ出力する。   The “first quantizing unit 15 / second quantizing unit 25” is obtained by quantizing “a series of modeled sensor data / modeled map data”, “a series of quantized modeled sensor data / quantization”. The modeled map data ”is output to the“ first generation unit 16 / output unit 32 ”.

出力部32は、量子化されたモデル化地図データを第二分割部23で定義したブロックごとにまとめたデータを記憶部33へと出力し、記憶部33では当該ブロックごとにまとめられたデータを記憶することで近傍取得部34からの参照に供する。ここで、出力部32でこのようにブロックごとにデータをまとめるのは、詳細を後述する推定装置10による自己位置推定処理において、最終結果としての精密な自己位置推定結果を得る前段階のいわゆる「粗い位置合わせ」に相当する結果を、当該ブロック単位で得ることを可能にするためのものであることを特筆する。   The output unit 32 outputs data obtained by collecting the quantized modeled map data for each block defined by the second dividing unit 23 to the storage unit 33, and the storage unit 33 displays the data collected for each block. By storing it, it is provided for reference from the neighborhood acquisition unit 34. Here, the output unit 32 collects the data for each block in this way, in the self-position estimation process by the estimation device 10 to be described in detail later, a so-called “stage” in the previous stage of obtaining a precise self-position estimation result as a final result. It is noted that the result corresponding to “rough alignment” can be obtained in units of the block.

初期位置姿勢取得部31は、推定装置10の初期位置姿勢を取得して第一整列部12、近傍取得部34及び推定部18へと出力する。当該取得する初期位置姿勢は上記のいわゆる「粗い位置合わせ」を可能にするためのものであることを特筆する。近傍取得部34は、初期位置姿勢に対応する1つまたは複数のブロックのデータ(量子化モデル化地図データ)を、記憶部33を参照して取得したうえで、当該取得データを近傍の地図データとして第二生成部26へと出力する。近傍取得部34はまた、当該取得した近傍の地図データの位置と初期位置姿勢の位置との相違に相当するベクトルを算出して第一分割部13へと出力する。   The initial position and orientation acquisition unit 31 acquires the initial position and orientation of the estimation device 10 and outputs the initial position and orientation to the first alignment unit 12, the neighborhood acquisition unit 34, and the estimation unit 18. It is noted that the initial position and orientation to be acquired is for enabling the so-called “coarse alignment”. The neighborhood obtaining unit 34 obtains data (quantized modeled map data) of one or more blocks corresponding to the initial position and orientation with reference to the storage unit 33, and then obtains the obtained data from neighboring map data. To the second generation unit 26. The neighborhood obtaining unit 34 also calculates a vector corresponding to the difference between the obtained position of the neighboring map data and the position of the initial position and orientation, and outputs the vector to the first dividing unit 13.

「第一生成部16/第二生成部26」は、「第一量子化部15から得られる一連の量子化されたモデル化センサデータ/近傍取得部34から得られる近傍の地図データ」をデータ列表現したものとして「一連のセンサデータ列/地図データ列」を生成して比較部17へと出力する。当該データ列生成は比較部17における比較処理を可能とするための処理であることを特筆する。   The “first generation unit 16 / second generation unit 26” stores “a series of quantized modeled sensor data obtained from the first quantization unit 15 / neighboring map data obtained from the neighborhood acquisition unit 34” as data. A “series of sensor data strings / map data strings” is generated as a column representation and output to the comparison unit 17. It is noted that the data string generation is a process for enabling the comparison process in the comparison unit 17.

比較部17は、上記出力されたデータ列を比較することにより、第一生成部16から得られた一連のセンサデータ列のうち、第二生成部26から得られた地図データ列に最も類似するのがどのセンサデータ列であるかの結果を最類似結果として推定部18へと出力する。推定部18は、当該最類似結果としてのセンサデータ列に対応する位置姿勢を、推定装置10の最終的な位置姿勢推定結果として出力する。   The comparison unit 17 compares the output data sequence with the most similar to the map data sequence obtained from the second generation unit 26 among the series of sensor data sequences obtained from the first generation unit 16. The result of which sensor data string is is output to the estimation unit 18 as the most similar result. The estimation unit 18 outputs the position and orientation corresponding to the sensor data string as the most similar result as the final position and orientation estimation result of the estimation device 10.

以上、図2の各部の処理概要を各部間でのデータ授受に関して説明した。ここで、比較部17で最類似結果として得られ推定部18で出力される位置姿勢推定結果においては、図1で説明したようなボクセル量子化誤差の影響が低減されており、且つ、初期位置姿勢取得部34で取得する初期位置姿勢の誤差をも見込んだうえで位置姿勢推定結果が得られていることを特筆する。ここで、初期位置姿勢の誤差を当該見込む処理は近傍取得部34において実現される。また、ボクセル量子化誤差を当該低減するためには第一分割部13で得た一連の(すなわち、一般に多数の)ボクセル分割結果に対応するセンサデータを、近傍取得部34で得られる近傍の地図データに対して比較する必要があるが、モデル化データをさらに量子化したうえで互いに同一サイズとなるデータ列の形式で当該比較を行うことにより、多数のセンサデータであっても高速に当該比較処理が可能となることを特筆する。   The processing outline of each unit in FIG. 2 has been described above regarding data exchange between the units. Here, in the position / orientation estimation result obtained as the most similar result in the comparison unit 17 and output from the estimation unit 18, the influence of the voxel quantization error as described in FIG. 1 is reduced, and the initial position is determined. It is noted that the position / orientation estimation result is obtained in consideration of the error of the initial position / orientation acquired by the attitude acquisition unit 34. Here, the process of estimating the initial position / posture error is realized by the proximity acquisition unit 34. In addition, in order to reduce the voxel quantization error, sensor data corresponding to a series (that is, generally a large number) of voxel segmentation results obtained by the first segmentation unit 13 is obtained as a neighborhood map obtained by the neighborhood acquisition unit 34. Although it is necessary to compare the data, the modeled data is further quantized and then compared in the form of a data string that has the same size as each other. Note that processing is possible.

図3は、上記のボクセル量子化誤差の低減(及び初期位置姿勢の誤差の影響除外)が実現されることを模式的に説明するための図であり、空間分割して得られる3Dボクセルを模式的に2Dによって表現している。[1]には初期位置姿勢に対応する(ボクセル化のうえモデル化された)地図データMDの模式例が示されており、初期位置姿勢が全く誤差を含まず、且つ、ボクセル量子化誤差の影響その他も全く存在しない完全に理想的な状況であれば、推定装置10が取得する(ボクセル化のうえモデル化された)センサデータSDは当該地図データMDに完全一致するはずである。しかしながら、実際得られるセンサデータSDは[1]に示すように、地図データMDの付近にあるとはいえ、初期位置姿勢の誤差及びボクセル量子化誤差(図1で模式例を示したような、地図データとセンサデータにおけるボクセル分割位置のずれ)の影響を受けている。   FIG. 3 is a diagram for schematically explaining that the above-described reduction of the voxel quantization error (and the exclusion of the influence of the error of the initial position and orientation) is realized, and schematically illustrates the 3D voxel obtained by space division. Is expressed in 2D. [1] shows a schematic example of map data MD (modeled after voxelization) corresponding to the initial position and orientation. The initial position and orientation does not include any error, and the voxel quantization error In a completely ideal situation in which there is no influence or the like, the sensor data SD (modeled after voxelization) acquired by the estimation device 10 should completely match the map data MD. However, as shown in [1], the actually obtained sensor data SD is in the vicinity of the map data MD, but the initial position and orientation error and the voxel quantization error (as shown in the schematic example in FIG. It is affected by the displacement of the voxel division position in the map data and sensor data.

そこで、推定装置10においては当該影響が存在することを前提に、初期位置姿勢の誤差及びボクセル量子化誤差によってセンサデータSDが本来の地図データMDから変動しうる想定範囲を網羅的に探索することで、本来の地図データMDに最も類似し、従って、高精度な位置姿勢推定結果に該当するものを見出すというアプローチを取る。図3の[2]では初期位置姿勢の誤差における姿勢(回転成分)の誤差を考慮しての探索範囲の模式例が、センサデータSDとは別手法で第一分割部13による分割がなされたセンサデータSD-R1,SD-R2,SD-R3として示されている。図3の[3]ではボクセル量子化誤差を考慮しての探索範囲の模式例が、[2]のセンサデータSD-R3とは別手法で第一分割部13による分割がなされたセンサデータSD-T1,SD-T2,SD-T3として示されている。(なお、ボクセル量子化誤差を考慮した探索範囲は実際には、サブボクセル単位の区切りで設定される。図3の[3]では図示のための便宜上の強調表現として、当該サブボクセル単位よりも大きな区切り変動をもってセンサデータSD-T1,SD-T2,SD-T3が描かれている。)   Therefore, on the premise that such an influence exists in the estimation device 10, an exhaustive search for an assumed range in which the sensor data SD may fluctuate from the original map data MD due to an initial position and orientation error and a voxel quantization error is performed. Therefore, an approach is taken to find the one that is most similar to the original map data MD and therefore corresponds to the highly accurate position and orientation estimation result. In [2] of FIG. 3, a schematic example of the search range in consideration of the posture (rotation component) error in the initial position and posture error is divided by the first dividing unit 13 by a method different from the sensor data SD. It is shown as sensor data SD-R1, SD-R2, SD-R3. In [3] of FIG. 3, a schematic example of a search range in consideration of the voxel quantization error is obtained by dividing the sensor data SD by the first dividing unit 13 by a method different from the sensor data SD-R3 of [2]. -T1, SD-T2, SD-T3 (Note that the search range in consideration of the voxel quantization error is actually set by a sub-voxel unit delimiter. In FIG. 3 [3], a delimiter larger than the sub-voxel unit is used as an emphasis expression for convenience of illustration. (Sensor data SD-T1, SD-T2, SD-T3 are drawn with fluctuation.)

詳細は後述するように、実際には第一分割部13において、図3の[2]及び[3]のそれぞれの誤差影響を網羅的に組み合わせた一連のボクセル分割がなされる。(図3の例であれば、[2]の3通り×[3]の3通り=合計9通りの分割がなされる。)また、初期位置姿勢の誤差における位置(並進成分)の誤差の考慮は実際には、第一分割部13による一連のボクセル分割によって考慮されるのではなく、地図データMDやセンサデータSDの範囲設定によって考慮される。すなわち、当該範囲設定は、並進成分の誤差をも見込んだものとして設定される。   As will be described in detail later, the first dividing unit 13 actually performs a series of voxel divisions that comprehensively combine the error effects of [2] and [3] in FIG. (In the example shown in FIG. 3, [2] 3 types x [3] 3 types = total 9 types of divisions are made.) In addition, the position (translation component) error in the initial position and orientation error is considered. Is actually not considered by a series of voxel divisions by the first division unit 13, but by the range setting of the map data MD and sensor data SD. That is, the range setting is set assuming that translation component errors are also expected.

また、第一分割部13で行う上記誤差影響を網羅的に組み合わせた一連のボクセル分割のそれぞれは、図3にも模式的に示されるように、様々な位置姿勢の変換パラメータに対応する分割となっている。推定装置10の推定部18から出力される位置姿勢も、比較部17によって最類似結果と判定されたボクセル分割に対応する位置姿勢となる。   Each of the series of voxel divisions that comprehensively combine the error effects performed by the first division unit 13 includes divisions corresponding to conversion parameters of various positions and orientations, as schematically shown in FIG. It has become. The position / orientation output from the estimation unit 18 of the estimation apparatus 10 is also the position / orientation corresponding to the voxel division determined to be the most similar result by the comparison unit 17.

図4は、一実施形態に係る図2のモデル化装置20及び推定装置10の動作のフローチャートである。ステップS1では、モデル化装置20において地図点群のモデル化が行われる。当該ステップS1は、モデル化装置20において第二取得部21から出力部32までの処理が行われることで、記憶部33にモデル化された地図データが記憶されるという形で実現される。   FIG. 4 is a flowchart of operations of the modeling device 20 and the estimation device 10 of FIG. 2 according to an embodiment. In step S1, the modeling device 20 models the map point group. The step S1 is realized in such a manner that the map data modeled in the storage unit 33 is stored by performing processing from the second acquisition unit 21 to the output unit 32 in the modeling device 20.

ステップS2では、推定装置10がステップS1で得られたモデル化地図内における自身の現在位置姿勢を推定する。当該推定するための入力データとして、第一取得部11において取得される推定装置10周囲のセンサ点群と、初期位置姿勢推定部31において取得される推定装置10の初期位置姿勢とが用いられ、推定装置10の各部の動作によってステップS2が実現される。ステップS2は所定レートのもとでリアルタイムに実施して、推定装置10の位置姿勢をリアルタイムで推定するようにしてもよい。この場合、位置姿勢が推定される各時刻においてステップS2が実行される。   In step S2, the estimation apparatus 10 estimates its current position and orientation in the modeled map obtained in step S1. As input data for the estimation, the sensor point group around the estimation device 10 acquired by the first acquisition unit 11, and the initial position and orientation of the estimation device 10 acquired by the initial position and orientation estimation unit 31, are used. Step S2 is realized by the operation of each unit of the estimation apparatus 10. Step S2 may be performed in real time at a predetermined rate to estimate the position and orientation of the estimation device 10 in real time. In this case, step S2 is executed at each time when the position and orientation is estimated.

なお、推定装置10は車両やドローンといったような任意の移動体に備わるものとして構成されて、当該移動体の各時刻における位置姿勢を推定するようにしてもよいし、携帯端末などのそれ自体は移動手段を持たない機器に備わるものとして構成されて、別途の移動手段によって移動する当該機器の各時刻の位置姿勢を推定するようにしてもよい。ステップS1においてモデル化する地図点群の範囲は、ステップS2で位置姿勢を推定することが想定される所定範囲とすればよい。   Note that the estimation device 10 may be configured to be included in an arbitrary moving body such as a vehicle or a drone, and may estimate the position and orientation of the moving body at each time. It may be configured to be provided in a device that does not have a moving unit, and the position and orientation at each time of the device that moves by a separate moving unit may be estimated. The range of the map point group to be modeled in step S1 may be a predetermined range in which the position and orientation are assumed to be estimated in step S2.

以下、図2の各部の動作の詳細を説明するが、概要説明の際に「第一取得部11/第二取得部12」のように同一又は対応する処理を担うものとして並記して説明した機能部に関しては適宜、当該並記する記法も用いて説明することとする。   In the following, the details of the operation of each unit in FIG. 2 will be described. However, in the description of the overview, it has been described in parallel as assuming the same or corresponding processing as “first acquisition unit 11 / second acquisition unit 12”. The functional part will be described using the notation used in parallel as appropriate.

<第一取得部11及び第二取得部12>
「第一取得部11/第二取得部12」では、「センサ点群/地図点群」を取得する。具体的な取得手法は、前述のLiDARなどの既存手法を利用できる。
<First acquisition unit 11 and second acquisition unit 12>
The “first acquisition unit 11 / second acquisition unit 12” acquires “sensor point group / map point group”. As a specific acquisition method, an existing method such as the aforementioned LiDAR can be used.

<初期位置姿勢取得部31>
初期位置姿勢取得部31は、推定装置10の初期位置姿勢を取得する。当該取得される初期位置姿勢は、並進成分としての位置パラメータおよび回転成分としての回転パラメータを含む情報である。具体的には例えばGNSS/INS(全球測位衛星システム、慣性航法システム、あるいはこれらシステムの複合システム)や、一つ前の時刻のセンサ点群を用いた推定結果(すなわち推定部18による推定結果)、デッドレコニング、あるいは手動入力によって取得すればよい。他の方法を用いて取得してもよい。
<Initial position and orientation acquisition unit 31>
The initial position and orientation acquisition unit 31 acquires the initial position and orientation of the estimation apparatus 10. The acquired initial position and orientation is information including a position parameter as a translation component and a rotation parameter as a rotation component. Specifically, for example, GNSS / INS (global positioning satellite system, inertial navigation system, or a combination of these systems) and estimation results using sensor points at the previous time (ie, estimation results by the estimation unit 18) , Dead reckoning, or manual input. You may acquire using another method.

<第一整列部12及び第二整列部22>
「センサ点群/地図点群」を構成している3D点群は一般的に(x,y,z)の直交座標系で表現されるものである。「第一整列部12/第二整列部22」では、与えられた点群(すなわち、「センサ点群/地図点群」)のローカル座標系を、指定された実世界の任意の所定方位と一致する様に変換する。例えば、点群を表現しているローカル座標系のx軸が緯度0°、y軸が経度0°に一致する様に指定しても良い。
<First alignment portion 12 and second alignment portion 22>
The 3D point cloud constituting the “sensor point cloud / map point cloud” is generally expressed by an orthogonal coordinate system of (x, y, z). In the “first alignment unit 12 / second alignment unit 22”, a local coordinate system of a given point group (that is, “sensor point group / map point group”) is set to an arbitrary predetermined orientation in the designated real world. Convert to match. For example, the local coordinate system representing the point group may be specified so that the x-axis coincides with 0 ° latitude and the y-axis coincides with 0 ° longitude.

ここで、地図点群のモデル化処理を担うモデル化装置20における第二整列部22と、自己位置推定処理を担う推定装置10における第一整列部12と、において同一の方位を指定することを特筆する。また、当該指定される方位を基準として後段側の「第一分割部13/第二分割部23」のボクセル分割が行われることを特筆する。第一分割部13では回転変換を施したうえでのボクセル分割も行うが、当該回転変換の基準となる方位を指定するのが第一整列部12であることを特筆する。   Here, the same orientation is designated in the second alignment unit 22 in the modeling device 20 responsible for the modeling process of the map point cloud and the first alignment unit 12 in the estimation device 10 responsible for the self-position estimation process. Special mention. Further, it is noted that the voxel division of the “first division unit 13 / second division unit 23” on the rear stage side is performed based on the designated orientation. The first dividing unit 13 performs voxel division after performing rotation conversion. It is noted that the first alignment unit 12 designates the orientation serving as a reference for the rotation conversion.

具体的に第一整列部12及び第二整列部22ではそれぞれ、当該方位指定のための変換パラメータを以下のように与えればよい。   Specifically, the first alignment unit 12 and the second alignment unit 22 may give the conversion parameters for specifying the direction as follows.

地図点群のモデル化処理を担う側の第二整列部22においては、地図点群データを用意する管理者等によって変換パラメータを手動指定で与えても良いし、第二取得部21が地図点群を計測する際にGNSS/INSや地磁気センサ、ジャイロスコープを利用できる場合はそれらを用いても良いし、他の方法でも良い。   In the second alignment unit 22 on the side responsible for the modeling process of the map point cloud, the conversion parameter may be manually specified by an administrator who prepares the map point cloud data, or the second acquisition unit 21 If you can use a GNSS / INS, geomagnetic sensor, or gyroscope when measuring a group, you may use them or other methods.

一方、自己位置推定処理を担う側の第一整列部12においては、リアルタイム推定の処理速度を確保しようとする場合、手動指定で与えることは難しい。そこで、第一取得部11でGNSS/INSや地磁気センサ、ジャイロスコープが利用可能であればそれらを用いても良いし、連続的に自己位置推定処理を行う場合に、一つ前の時刻における姿勢推定結果を初期位置姿勢として与え、その初期位置姿勢に含まれる回転パラメータを用いても良いし、デッドレコニングを用いても良いし、他の方法でも良い。   On the other hand, in the first alignment unit 12 on the side responsible for the self-position estimation process, it is difficult to give it by manual designation when attempting to secure the processing speed of the real-time estimation. Therefore, if the GNSS / INS, geomagnetic sensor, and gyroscope are available in the first acquisition unit 11, they may be used, and when performing self-localization processing continuously, the posture at the previous time is used. An estimation result may be given as an initial position and orientation, and a rotation parameter included in the initial position and orientation may be used, dead reckoning may be used, or another method may be used.

<第二分割部23>
第二分割部23は第一処理として、任意に設定可能な所定基準点(例えばローカル座標系の原点)を元に、方位指定された地図点群が分布している空間を所定サイズのボクセルで分割する。更に、x,y,z 方向に指定した個数のボクセルを包括する直方体で分割する。当該直方体をブロックと呼称する。この際、ボクセルおよびブロックの各辺は、それぞれローカル座標系の x 軸,y軸,z軸に沿うように整列されていることを特筆する。
<Second division part 23>
As a first process, the second dividing unit 23 uses a predetermined reference point (for example, the origin of the local coordinate system) that can be arbitrarily set, and a voxel having a predetermined size as a space in which a map point group with a specified orientation is distributed. To divide. Further, the specified number of voxels in the x, y, and z directions are divided by a rectangular parallelepiped. The rectangular parallelepiped is called a block. At this time, it is noted that the sides of the voxel and the block are aligned along the x axis, the y axis, and the z axis of the local coordinate system, respectively.

ここで、ボクセルのx軸方向、y軸方向、z軸方向の長さをそれぞれvlx,vly,vlzとし、ブロック内に含まれるx軸方向、y軸方向、z軸方向のボクセルの個数をそれぞれvnx,vny,vnzとする。この時、ブロックのx軸方向、y軸方向、z軸方向の長さをぞれぞれ blx,bly,blzとすると,次式の関係が成り立つ;
blx = vlx * vnx (数式 1)
bly = vly * vny (数式 2)
blz = vlz * vnz (数式 3)
Here, the lengths of voxels in the x-axis direction, y-axis direction, and z-axis direction are vlx, vly, and vlz, respectively, and the numbers of voxels in the x-axis direction, y-axis direction, and z-axis direction included in the block are respectively vnx, vny, vnz. At this time, if the lengths of the block in the x-axis, y-axis, and z-axis directions are blx, bly, and blz, respectively, the following relationship holds:
blx = vlx * vnx (Formula 1)
bly = vly * vny (Formula 2)
blz = vlz * vnz (Formula 3)

図5はボクセルとブロックとの関係の模式例を示す図であり,vlx=vly=vlz=1,vnx=vny=vnz=3の場合の1つのブロック及びこれに含まれるボクセルの例が示されている。図5においては、点線がボクセルを、実線がブロックを表しており、1つのブロックBが27個のボクセルを含むものとして設定される例が描かれている。   FIG. 5 is a diagram showing a schematic example of the relationship between a voxel and a block, and shows an example of one block and voxels included in this when vlx = vly = vlz = 1 and vnx = vny = vnz = 3. ing. FIG. 5 shows an example in which a dotted line represents a voxel, a solid line represents a block, and one block B is set to include 27 voxels.

また、第二分割部23は第二処理として、ブロック内でのボクセルの位置を特定可能なIDを定義する。   Further, as the second process, the second dividing unit 23 defines an ID that can specify the position of the voxel in the block.

例えば、ブロック内であるボクセルがx軸方向、y軸方向、z軸方向にそれぞれvoxel_idx番目、voxel_idy番目、voxel_idz番目に位置すると定義すると、図5の模式例におけるグレーで示すボクセルVは(voxel_idx, voxel_idy, voxel_idz)=(3,2,1)と表される。あるいは,例えば次の様な式を用いて単一のIDで表現することもできる;
voxel_id= voxel_idx+vnx*voxel_idy+(vnx*vny)*voxel_idz (数式 4)
For example, if it is defined that the voxel in the block is located at the voxel_idxth, voxel_idyth, and voxel_idzth in the x-axis direction, the y-axis direction, and the z-axis direction, the voxel V shown in gray in the schematic example of FIG. 5 is (voxel_idx, voxel_idy, voxel_idz) = (3,2,1). Alternatively, it can be represented by a single ID, for example using the following formula:
voxel_id = voxel_idx + vnx * voxel_idy + (vnx * vny) * voxel_idz (Formula 4)

さらに、第二分割部23は第三処理として、各ブロックの中心座標を計算する。当該計算する中心座標はローカル座標系において各ブロックの位置を与えているものであり、後述する近傍取得部34で近傍位置に該当すると考えられるブロックを取得する際に参照されるものであることを特筆する。   Further, the second dividing unit 23 calculates the center coordinates of each block as a third process. The central coordinates to be calculated give the position of each block in the local coordinate system, and are to be referred to when acquiring a block considered to correspond to the vicinity position by the vicinity acquisition unit 34 described later. Special mention.

<第一モデル化部14及び第二モデル化部24>
「第一モデル化部14/第二モデル化部24」は、ボクセル内に含まれる点群を特定のモデルで表現する。
<First modeling unit 14 and second modeling unit 24>
The “first modeling unit 14 / second modeling unit 24” represents a point group included in a voxel with a specific model.

なお、第一モデル化部14では詳細を後述する第一分割部13で分割される一連の分割手法においてそれぞれボクセル内の点群モデル化を行い、第二モデル化部24では第二分割部24で分割された1通りのみのボクセルにおいてボクセル内の点群モデル化を行うことを特筆する。一連の分割手法によるボクセル分割データに関してそれぞれ処理を行なうことは後段側の第一量子化部15及び第一生成部16においても同様であるので、当該各部15,16の説明の際にはこの点についての重複説明は省略する。   The first modeling unit 14 performs point group modeling in each voxel in a series of division methods divided by the first dividing unit 13 described in detail later, and the second modeling unit 24 performs the second dividing unit 24. Note that the point cloud modeling in the voxel is performed in only one voxel divided by. Since the processing for voxel division data by a series of division methods is the same in the first quantization unit 15 and the first generation unit 16 on the subsequent stage side, this point will be described in the description of each unit 15 and 16. The duplicate description about is omitted.

ここで、ボクセル内にN個の点が含まれるものとして、pi=(xi, yi, zi) (i=1, 2, ..., N)と表記する。一実施形態においては、「第一モデル化部14/第二モデル化部24」によるモデル表現として、以下の(数式5)のように、ボクセル内の点群をその座標平均値(すなわち重心)で表現するようにしてよい。 Here, assuming that N points are included in the voxel, p i = (x i , y i , z i ) (i = 1, 2,..., N). In one embodiment, as a model expression by the “first modeling unit 14 / second modeling unit 24”, a point group in a voxel is expressed as a coordinate average value (that is, a center of gravity) as in the following (Formula 5). It may be expressed as

この際に、ボクセル内に割り当てられた点が0個の場合は、モデルの計算を行うことができないため、モデル化処理をスキップする。あるいは、ボクセル内に割り当てられた点の数が極端に少ない場合は、実際には物体が存在せず、ノイズである可能性があるため、ボクセル内の点の個数の閾値をN_thとし,N< N_thの場合には処理をスキップする様にしても良い。なお、当該スキップされたボクセルに関してはモデルデータが存在しないものとして、後段側の各処理部によって扱われることとなる。   At this time, if the number of points assigned in the voxel is zero, the model calculation cannot be performed, and thus the modeling process is skipped. Alternatively, if the number of points assigned in a voxel is extremely small, there is actually no object and there may be noise, so the threshold for the number of points in the voxel is N_th, and N < In the case of N_th, the processing may be skipped. Note that the skipped voxel is handled by each processing unit on the subsequent stage on the assumption that no model data exists.

<第一量子化部15及び第二量子化部25>
「第一量子化部15/第二量子化部25」は、「第一モデル化部14/第二モデル化部24」で得られたモデルを量子化する。当該モデルが数式5のものである場合、具体的には例えば以下のように量子化すればよい。
<First quantization unit 15 and second quantization unit 25>
The “first quantizing unit 15 / second quantizing unit 25” quantizes the model obtained by the “first modeling unit 14 / second modeling unit 24”. When the model is that of Formula 5, specifically, for example, the quantization may be performed as follows.

ここで、「第一分割部13/第二分割部23」で定義された基準点(ボクセル分割の基準点)の座標をrp=(rpx, rpy, rpz)とする。数式5におけるmeanから当該rpを減算した際の各成分をそれぞれに対応するボクセルの長さvlx, vly, vlzで除算した際の剰余をそれぞれvsx, vsy, vszとする。vsx, vsy, vszの値が負となった場合、それぞれvlx, vly, vlzを加算する。このような計算で得られたvsx, vsy, vszは、ボクセル内での全ての座標が最小となるコーナーを原点として設定した場合のmeanの座標に相当し、当該meanの座標をボクセル内の相対位置として表現したものに相当する。従って、常に0≦vsx<vlx、0≦vsy<vly、0≦vsz<vlzが成立する。   Here, the coordinates of the reference point (reference point for voxel division) defined by “first division unit 13 / second division unit 23” is rp = (rpx, rpy, rpz). Remainders obtained by dividing the respective components obtained by subtracting the rp from the mean in Equation 5 by the voxel lengths vlx, vly, and vlz, respectively, are vsx, vsy, and vsz, respectively. When the values of vsx, vsy and vsz are negative, vlx, vly and vlz are added. Vsx, vsy, vsz obtained by such calculation correspond to the mean coordinates when the corner where all the coordinates in the voxel are the minimum is set as the origin, and the coordinates of the mean are relative to each other in the voxel. It corresponds to what is expressed as a position. Therefore, 0 ≦ vsx <vlx, 0 ≦ vsy <vly, and 0 ≦ vsz <vlz are always satisfied.

次に、[0, vlx), [0, vly), [0, vlz)の範囲をそれぞれvqx個、vqy個、vqz個の等間隔の範囲に区切る。そして、vsx, vsy, vszをそれぞれvlx,vly,vlzで除算した際の商(一般に0〜1の範囲にある実数)に、vqx,vqy,vqzを乗算した値を整数値に丸めた値を,vlx,vly,vlz が割り当てられるIDとし,それらを mean_idx,mean_idy,mean_idzとして量子化結果を得る;
mean_idx = vsx / vlx * vqx (mean_idx =0, 1,…, vqx) (数式 6)
mean_idy = vsy / vly * vqy (mean_idy =0, 1,…, vqy) (数式 7)
mean_idz = vsz / vlz * vqz (mean_idz =0, 1,…, vqz) (数式 8)
Next, the ranges [0, vlx), [0, vly), and [0, vlz) are divided into vqx, vqy, and vqz equally spaced ranges, respectively. And the value obtained by rounding the value obtained by multiplying vxx, vqy, vqz to the quotient (generally a real number in the range of 0 to 1) by dividing vsx, vsy, vsz by vlx, vly, vlz, respectively, to an integer value , Vlx, vly, vlz are assigned IDs, and they are used as mean_idx, mean_idy, mean_idz to obtain quantization results;
mean_idx = vsx / vlx * vqx (mean_idx = 0, 1,…, vqx) (Formula 6)
mean_idy = vsy / vly * vqy (mean_idy = 0, 1,…, vqy) (Formula 7)
mean_idz = vsz / vlz * vqz (mean_idz = 0, 1,…, vqz) (Formula 8)

あるいは、例えば次の様な式を用いて単一のIDで表現した量子化結果を得てもよい。
mean_id = mean_idx + vqx * mean_idy + (vqx * vqy) * mean_idz (数式 9)
Alternatively, for example, a quantization result expressed by a single ID may be obtained using the following equation.
mean_id = mean_idx + vqx * mean_idy + (vqx * vqy) * mean_idz (Formula 9)

<出力部32>
出力部32は、与えられた地図点群をモデル化した結果(第二量子化部25の出力データ)を、ブロック単位(第二分割部23で定義したブロック単位)でまとめたデータを出力する。各ブロックが含むデータは、ブロックの中心座標、ボクセルごとのボクセルID(voxel_idx, voxel_idy, voxel_idz)、ボクセルごとの平均ID(mean_idx,mean_idy,mean_idz)である。ここで、第二モデル化部42計算部において、モデル計算をスキップしたボクセルの情報は含まないことを特筆する。
<Output unit 32>
The output unit 32 outputs data obtained by modeling the given map point cloud (output data of the second quantization unit 25) in units of blocks (block units defined by the second division unit 23). . The data included in each block is the center coordinates of the block, voxel ID for each voxel (voxel_idx, voxel_idy, voxel_idz), and average ID for each voxel (mean_idx, mean_idy, mean_idz). Here, it is noted that the second modeling unit 42 calculation unit does not include information on voxels for which model calculation is skipped.

前述の通り、出力部32の上記出力したブロック単位のデータは記憶部32に記憶され、近傍取得部34からの参照に供されることとなる。   As described above, the block unit data output from the output unit 32 is stored in the storage unit 32 and used for reference from the neighborhood acquisition unit 34.

<近傍取得部34>
近傍取得部34は第一処理として、初期位置姿勢取得部31が取得した初期位置姿勢における座標位置と、記憶部33に記憶されている各ブロックの中心座標を比較した際に、最近傍となるブロックの情報を記憶部33から取得する。
<Nearby acquisition unit 34>
As a first process, the neighborhood acquisition unit 34 becomes the nearest neighbor when the coordinate position in the initial position and orientation acquired by the initial position and orientation acquisition unit 31 is compared with the center coordinates of each block stored in the storage unit 33. Block information is acquired from the storage unit 33.

なお、最近傍のブロックを取得した後に、それに加えてその周囲のブロックを合わせて取得しても良い。例えば、最近傍ブロックとその上下左右斜め方向に位置する26個のブロックを選んで取得しても良いし、他の選び方でも良い。   In addition, after obtaining the nearest block, in addition to that, the surrounding blocks may be obtained together. For example, the nearest block and 26 blocks located in the upper, lower, left, and right diagonal directions may be selected and acquired, or another method may be used.

ここで、選択されたブロックの集合の大きさは,初期位置姿勢の誤差量を考慮した上で、第一取得部11の点群を取得したセンサの測定範囲内に収まるものであることが望ましい。例えば、センサ側の測定範囲が半径100[m]である場合に、記憶部33に記憶されている地図側データから1000[m]×1000[m]×1000[m]の大きさとなるブロックの集合を選択したとする。この時、地図側とセンサ側で同一サイズの空間内のデータの比較を行うとすると、センサ側のほとんどはデータの存在しない空間となってしまうためである。(なお、具体的な比較は後段側の比較部17においてなされる。)   Here, it is desirable that the size of the selected block set is within the measurement range of the sensor that acquired the point cloud of the first acquisition unit 11 in consideration of the error amount of the initial position and orientation. . For example, when the measurement range on the sensor side is a radius of 100 [m], a block having a size of 1000 [m] × 1000 [m] × 1000 [m] is calculated from the map-side data stored in the storage unit 33. Suppose you select a set. At this time, if the data in the space of the same size is compared on the map side and the sensor side, most of the sensor side becomes a space where no data exists. (Specific comparison is made in the comparison unit 17 on the rear stage side.)

近傍取得部34では、最近傍ブロックに加えてその周囲のブロックも取得した場合の追加処理として、取得したブロック集合を一つのブロックとみなし、各ブロックの含むボクセルIDを更新する。具体的な更新処理は例えば、当該ブロック集合を1ブロックとみなして扱った場合に第二分割部23が付与するIDと同様のものを更新して付与さればよい。図6は、最近傍のブロックと、xy平面上での周囲8ブロックを取得したシーンを上方から(z軸の正方向)から見たシーンを模式的に表現している。ここでは、四角形はブロックを表しており、各ブロックには区別の為に番号が振られている。ここでは,5番のブロックが初期位置姿勢の最近傍ブロックに相当する。例えばこれらの9つのブロックを一つのブロックとみなして,前述の図5の説明例のように定義されているボクセルID(voxel_idx, voxel_idy)等を更新する場合であれば、以下のように更新すればよい;
・1番のブロック:更新無し
・2番のブロック:全てのvoxel_idxにvnxを加算
・3番のブロック:全てのvoxel_idxに2*vnxを加算
・4番のブロック:全てのvoxel_idyにvnyを加算
・5番のブロック:全てのvoxel_idxにvnxを,全てのvoxel_idyにvnyを加算
・6番のブロック:全てのvoxel_idxに2*vnxを,全てのvoxel_idyにvnyを加算
・7番のブロック:全てのvoxel_idyに2*vnyを加算
・8番のブロック:全てのvoxel_idxにvnxを,全てのvoxel_idyに2*vnyを加算
・9番のブロック:全てのvoxel_idxに2*vnxを,全てのvoxel_idyに2*vnyを加算
なお、この例ではz軸方向にブロックを追加していないが、追加する場合も同様にvoxel_idzを更新することができる。
The neighborhood acquisition unit 34 regards the acquired block set as one block and updates the voxel ID included in each block as an additional process when acquiring the neighboring blocks in addition to the nearest block. For example, the specific update process may be performed by updating the same ID as the ID assigned by the second dividing unit 23 when the block set is treated as one block. FIG. 6 schematically represents a scene obtained by viewing the scene from which the nearest block and the surrounding 8 blocks on the xy plane are acquired from above (the positive direction of the z-axis). Here, the quadrangle represents a block, and each block is numbered for distinction. Here, the fifth block corresponds to the nearest block of the initial position and orientation. For example, if these nine blocks are regarded as one block and the voxel ID (voxel_idx, voxel_idy) defined as described in the example of FIG. 5 is updated, the update is performed as follows. Just do;
・ No. 1 block: No update ・ No. 2 block: add vnx to all voxel_idx ・ No. 3 block: add 2 * vnx to all voxel_idx ・ No. 4 block: add vny to all voxel_idy ・Block 5: add vnx to all voxel_idx, add vny to all voxel_idy Block 6: add 2 * vnx to all voxel_idx, vny to all voxel_idy Block 7: all voxel_idy 2 * vny is added to the 8th block: vnx is added to all the voxel_idx, 2 * vny is added to all the voxel_idy, and the 9th block is 2 * vnx to all the voxel_idx, 2 * vny to all the voxel_idy In this example, no block is added in the z-axis direction, but voxel_idz can be updated in the same manner when adding.

また、近傍取得部34は第二処理として、図7に模式例を示すような,初期位置姿勢の位置パラメータを始点とし最近傍ブロック中心(MBCNNと呼ぶ。)を終点とするベクトルdを計算する。図2に示すように、当該計算したベクトルdは第一分割部13で利用される。図7は、地図データ内容の模式例としての十字路を上方(z軸の正方向)から見たシーンを模式的に表現している。黒い実線は当該十字路を構成する道路を、黒い四角形の点は初期位置姿勢の位置IPを表現している。太線ブロックはモデル化された地図データにおける最近傍のブロックBを、黒い円の点はブロックの中心MBCNNを、黒い点線は当該ブロックBを構成しているボクセルを意味するものとする。 Further, as a second process, the neighborhood acquisition unit 34 calculates a vector d having a position parameter of the initial position and orientation as a start point and a nearest block center (referred to as MBC NN ) as an end point as shown in a schematic example in FIG. To do. As shown in FIG. 2, the calculated vector d is used by the first dividing unit 13. FIG. 7 schematically represents a scene of a crossroad as a schematic example of map data contents viewed from above (positive direction of the z-axis). The black solid line represents the road constituting the crossroads, and the black square points represent the position IP of the initial position and orientation. A bold block means the nearest block B in the modeled map data, a black circle means a block center MBC NN, and a black dotted line means a voxel constituting the block B.

なお、図7における「みなしSBCNN」とは次の第一分割部13の説明のためのものである。 Note that “deemed SBC NN ” in FIG. 7 is for explaining the first division unit 13 that follows.

<第一分割部13>
第一分割部13は、(手順1)第一整列部12によって方向が定義されたセンサ点群に様々な姿勢変換を与えた上で、(手順2)初期位置姿勢の位置にベクトルd(前述の通り、近傍取得部34から取得される)を加えた座標をセンサ側の最近傍ブロック中心点(SBCNNと呼ぶ。)とみなし、(手順3)空間をボクセルで分割する。当該みなされる最近傍ブロック中心点SBCNNの模式例は図7にも示されている通りである。
<First division 13>
The first dividing unit 13 (Procedure 1) gives various posture transformations to the sensor point group whose direction is defined by the first aligning unit 12, and then (Procedure 2) adds the vector d (described above) to the initial position / posture position. As described above, the coordinate obtained by adding (obtained from the neighborhood obtaining unit 34) is regarded as the nearest block center point (referred to as SBC NN ) on the sensor side, and (procedure 3) the space is divided by voxels. A schematic example of the considered nearest block center point SBC NN is as shown in FIG.

この際、点群を実際に変換するのは(手順1)の回転変換のみであり、(手順2)の並進変換は仮想的な変換であることを特筆する。すなわち、(手順2)の並進変換は(手順3)のボクセル分割の基準位置として参照するためのものである。なお、姿勢変換を施すのはセンサ側(第一分割部13)のみであり、対応する機能部としての第二分割部23において、地図側には姿勢変換を施さないことを特筆する。   At this time, it is noted that the point group is actually converted only by the rotational transformation in (Procedure 1), and the translational transformation in (Procedure 2) is a virtual transformation. That is, the translational conversion in (Procedure 2) is for reference as a reference position for voxel division in (Procedure 3). Note that only the sensor side (first dividing unit 13) performs posture conversion, and the second dividing unit 23 as a corresponding functional unit does not perform posture conversion on the map side.

(手順3)に関して、センサ点群に対するボクセルの解像度は、地図点群を分割したボクセルの解像度と一致させる。すなわち、第一分割部13で分割するボクセルサイズは第二分割部23で地図データに関して分割したボクセルサイズと同一のものとする。また、ボクセルで分割する空間は,近傍取得部34で取得された単一ブロック又はブロック集合(なお、ブロック集合の場合も図6の模式例で説明したようにデータ形式上は単一ブロックと同じ形式に変換されることを特筆する。)と同一サイズの空間(Smと呼ぶ。)に、任意の探索範囲を加えた範囲(Ssと呼ぶ。)に限定する。 With regard to (Procedure 3), the resolution of the voxel with respect to the sensor point group is matched with the resolution of the voxel obtained by dividing the map point group. That is, the voxel size divided by the first dividing unit 13 is the same as the voxel size divided by the second dividing unit 23 with respect to the map data. The space divided by voxels is a single block or block set acquired by the neighborhood acquisition unit 34 (in the case of a block set, the data format is the same as that of a single block as described in the schematic example of FIG. 6). It is limited to a range (referred to as S s ) in which an arbitrary search range is added to a space of the same size (referred to as S m ).

図8は、当該(手順3)における空間Smや範囲Ssなどの模式例を図7の例に対応するものとして示す図である。図7のブロックBが図8の空間Smに対応している。 FIG. 8 is a diagram illustrating a schematic example of the space S m and the range S s in (Procedure 3) corresponding to the example of FIG. Block B in FIG. 7 corresponds to space S m in FIG.

以下、(手順1)及び(手順3)に関して、その意義は図4を参照して概説した通りであるが、どのような考察に基づきどのような具体的処理を行うかを説明する。   Hereinafter, regarding (Procedure 1) and (Procedure 3), the significance thereof is as outlined with reference to FIG. 4, but what kind of specific processing is performed based on what consideration will be described.

<(手順3)の考察及び具体的処理>
初期位置姿勢取得部31から得られた初期位置姿勢が誤差を含まない理想的な状況においては、地図データ位置としての最近傍ブロック中心MBCNNと、(手順2)でこれにみなされたセンサ側の最近傍ブロック中心点SBCNNとは一致する。従って当該一致する理想的な状況下で、地図側空間Smと同サイズの空間をセンサ側の実世界データにおいて取得した場合、その空間が含む実世界の領域は、地図側空間Smのそれと一致する。従って、センサ側データにおいて仮にこの空間を後段側の第一モデル化部14でモデル化した場合、得られるモデルは地図側空間Smのそれ(第二モデル化部24のモデル化結果)と類似する可能性が高い。
<Consideration and specific processing of (Procedure 3)>
In an ideal situation where the initial position and orientation obtained from the initial position and orientation acquisition unit 31 does not include an error, the nearest block center MBC NN as the map data position and the sensor side regarded as this in (procedure 2) Is the closest block center point SBC NN . Therefore, when a space having the same size as the map side space S m is acquired in the sensor side real world data under the matching ideal situation, the real world region included in the space is the same as that of the map side space S m . Match. Therefore, if this space is modeled by the first modeling unit 14 on the rear stage side in the sensor side data, the model obtained is similar to that of the map side space S m (the modeling result of the second modeling unit 24). There is a high possibility of doing.

しかしながら、現実的には、初期位置姿勢は誤差を含む。例えばGPSは数mから数十mの誤差を含む可能性があると言われている。従って、例えば初期位置姿勢には最大5mの誤差が含まれると仮定する場合、地図側空間Smのサイズに±5mを加えた空間を探索しなければ、地図側空間Smが含んでいる実世界の領域と同じ領域を見つけることはできない。 However, in reality, the initial position and orientation includes an error. For example, it is said that GPS may contain an error of several meters to several tens of meters. Therefore, for example, if it is assumed that the initial position and orientation includes an error of 5 m at the maximum, the map side space S m will be included unless a space obtained by adding ± 5 m to the size of the map side space S m is searched. You cannot find the same area as the world.

そのため、想定する初期位置姿勢の最大誤差をEmaxとする場合、地図側空間Smに対応していると考えられる実世界の同サイズ領域の両端を最大誤差Emaxだけ拡張した空間を探索空間とし、これを探索空間Ssと呼ぶ。最大誤差Emaxは固定値を与えても良いし、例えばGPSの測位精度の様な初期位置姿勢の誤差の大きさに関する情報が取得できる場合は、最大誤差Emaxを各時刻における値として動的に変更しても良い。なお、例えばx軸方向およびy軸方向にのみ拡張した探索空間Ssを設定し、z軸方向には拡張しない、という様にしても良い。 Therefore, when the maximum error of the initial position and orientation to assume E max, the search space that extends across the same size area of the real world that are thought to correspond to the map side space S m by the maximum error E max space And this is called a search space S s . The maximum error E max may be given as a fixed value. For example, when information on the magnitude of the initial position and orientation error such as GPS positioning accuracy can be acquired, the maximum error E max is dynamically set as a value at each time. You may change to For example, the search space S s expanded only in the x-axis direction and the y-axis direction may be set and not expanded in the z-axis direction.

ここでさらに、具体的な探索処理をボクセルサイズ単位の移動ステップ幅で行うようにする便宜上、探索空間Ss内の任意のボクセルのコーナー点に、それぞれvlx,vly,vlzの整数倍を加えた位置(一連の格子点のような位置)を頂点として定義される一連のボクセル直方体を考慮した際に、探索空間Ssを包括する最小の空間を形成しているボクセル直方体を計算し、それを新たな(さらに更新されボクセルグリッド位置に一致するようにされた)探索空間Svsとする。そして、探索空間Svsの中で最もx成分,y成分,およびz成分が小さくなる点を、この探索空間をボクセルで分割する際の基準点とし、基準点srpと呼ぶ。なお、基準点srpの設定はこれに限らず、探索空間Svs内の任意の所定点を設定することができ、更新する前の探索空間Ss内の任意のボクセルのコーナー点をそのまま探索空間Svsにおける基準点srpとしてもよい。 Furthermore, for convenience of performing a specific search process with a moving step width in units of voxel size, integers of vlx, vly, and vlz are added to corner points of arbitrary voxels in the search space S s , respectively. Considering a series of voxel cuboids whose positions (positions like a series of grid points) are defined as vertices, calculate the voxel cuboid that forms the smallest space that encompasses the search space S s , and Let it be a new search space S vs (further updated to match the voxel grid position). A point where the x component, the y component, and the z component are the smallest in the search space S vs is set as a reference point when the search space is divided by voxels, and is referred to as a reference point srp. Note that the setting of the reference point srp is not limited to this, an arbitrary predetermined point in the search space S vs can be set, and the corner point of an arbitrary voxel in the search space S s before update is directly used as the search space. The reference point srp in S vs may be used.

以上の地図側空間Sm(実世界であるセンサ側空間においては初期位置姿勢に誤差がない仮定で対応する地図側空間Smに一致すると考えられる領域)、当初設定の探索空間Ss、更新された探索空間Svsの模式例は図8に示される通りである。ここで、当初の探索空間Ssの境界部分は点線で示すボクセル境界とは必ずしも一致していないのに対し、更新された探索空間Svsはその境界がボクセル境界(図中、点線で示される)と一致していることを特筆する。 The above map-side space S m (in the real-world sensor-side space, an area considered to match the corresponding map-side space S m on the assumption that there is no error in the initial position and orientation), the initially set search space S s , update A schematic example of the search space S vs is shown in FIG. Here, the boundary portion of the initial search space S s does not necessarily match the voxel boundary indicated by the dotted line, whereas the updated search space S vs has its boundary indicated by the voxel boundary (indicated by the dotted line in the figure). ).

以上の考察から、(手順3)では具体的に、上記の更新された探索空間Svsにおいて上記設定された基準点srpに基づき、ボクセル分割を行う。当該ボクセル分割は図1で説明したような量子化誤差影響の低減のために、基準点srpをもとにさらにサブボクセル長さで(x,y,z)方向それぞれに移動した一連の位置を基準とした一連のボクセル分割を行うが、その詳細は後述する。 From the above consideration, in (Procedure 3), specifically, voxel division is performed based on the set reference point srp in the updated search space S vs. In order to reduce the influence of the quantization error as described in FIG. 1, the voxel division is based on a series of positions moved in the (x, y, z) directions by sub-voxel length based on the reference point srp. A series of voxel division is performed, details of which will be described later.

<(手順1)の考察及び具体的処理>
初期位置姿勢は、回転パラメータに誤差を含んでいる可能性もある。センサ点群は、初期位置姿勢を元に第一整列部12で回転変換されることで所定方向が設定されている、すなわち(x,y,z)軸が定義されているが、初期位置姿勢の回転パラメータに誤差がある場合、たとえ位置パラメータに誤差が含まれないとしても地図側空間Smが含んでいる実世界の領域と同じ領域を見つけることは出来ない。なぜならば図3の[1]に模式例を示すように、地図側データとセンサ側データとで実際の方向が異なる形でボクセル分割してしまうと、得られるモデルデータも異なるからである。
<Consideration and specific processing of (Procedure 1)>
The initial position and orientation may include an error in the rotation parameter. The sensor point group is set in a predetermined direction by being rotationally converted by the first alignment unit 12 based on the initial position and orientation, that is, the (x, y, z) axis is defined, but the initial position and orientation If there is an error in the rotation parameter, it is not possible to find the same area as the real world area included in the map side space S m even if the position parameter does not include an error. This is because, as shown in a schematic example in [1] of FIG. 3, if the map side data and the sensor side data are divided into voxels in different forms, the model data obtained is also different.

従って、図3の[1]のような方向が異なる状況を解消するものを見出すべく、(手順1)では具体的に次のような処理を行なう。   Therefore, in order to find a solution that eliminates the situation where the directions are different as shown in [1] of FIG. 3, the following processing is specifically performed in (Procedure 1).

すなわち、(手順1)ではセンサ点群に特定パターンの回転を施した点群を生成し、これらがさらに(手順2)及び(手順3)で処理されるものとする。この時,第一整列部12で回転変換されたセンサ点群をSPC0とし、(手順1)でr_size通りの変換が施され、生成された点群をそれぞれSPCi (i=1,2,…,r_size)とする。ここで、センサ点群に回転処理を施す際は、センサ点群のローカル座標系の原点(すなわち、センサ位置)を中心に回転させる、ということを特筆する。当該回転させた後に(手順2)の並進移動が適用される。 That is, in (Procedure 1), a point group obtained by rotating a sensor point group with a specific pattern is generated, and these are further processed in (Procedure 2) and (Procedure 3). At this time, the sensor point group rotationally converted by the first aligning unit 12 is set as SPC 0, and the conversion of r_size is performed in (Procedure 1), and the generated point group is set as SPC i (i = 1, 2, …, R_size). Here, it is noted that when the rotation process is performed on the sensor point group, the sensor point group is rotated around the origin (that is, the sensor position) of the local coordinate system of the sensor point group. After the rotation, the translation movement of (Procedure 2) is applied.

<(手順3)のボクセル分割の詳細>
(手順3)のボクセル分割は、(手順1)で得られた一連のSPCi (i=0,1,2,…,r_size) のそれぞれに関して同様に実施されるものであり、具体的には以下の(手順3−1)及び(手順3−2)の通りである。
<Details of voxel division in (Procedure 3)>
The voxel division in (Procedure 3) is performed in the same manner for each of a series of SPC i (i = 0, 1, 2,..., R_size) obtained in (Procedure 1). Specifically, The following (Procedure 3-1) and (Procedure 3-2) are as follows.

(手順3−1)
対象となるセンサ点群SPCiに対して、その基準点srpを基準に、更新された探索空間Svsをボクセルで分割する。ここでは,ボクセル量子化誤りを軽減するために、(すなわち、低減された結果を後段側の比較部17において見出すことを可能にするために、)ボクセルの解像度よりも細かいサイズのステップ幅による平行移動を基準点srp及び更新された探索空間Svsに与えた上で(すなわち、探索空間Svsにおいて当該ステップ幅だけ基準点srpからずれた位置をボクセル分割位置として設定したうえで)、更新された探索空間Svsをボクセルで分割する。
(Procedure 3-1)
For the target sensor point group SPC i , the updated search space S vs is divided into voxels based on the reference point srp. Here, in order to reduce the voxel quantization error (ie, in order to make it possible to find the reduced result in the comparison unit 17 on the subsequent stage), the parallel by the step width smaller than the resolution of the voxel is used. The movement is given to the reference point srp and the updated search space S vs (that is, the position shifted from the reference point srp by the step width is set as the voxel division position in the search space S vs ). The search space S vs is divided by voxels.

具体的には、x軸方向,y軸方向,z軸方向へのステップ幅をそれぞれrsx,rsy,rszとおく場合、それぞれでvlx,vly,vlzを除算した際の商の大きさのパターン数rsnx,rsny,rsnzで,更新された探索空間Svsをボクセルで分割する;
rsnx = vlx / rsx (数式10)
rsny = vly / rsy (数式11)
rsnz = vlz / rsz (数式12)
Specifically, when the step widths in the x-axis direction, y-axis direction, and z-axis direction are set to rsx, rsy, and rsz, respectively, the number of quotient size patterns obtained by dividing vlx, vly, and vlz, respectively. Divide the updated search space S vs by voxels with rsnx, rsny, rsnz;
rsnx = vlx / rsx (Formula 10)
rsny = vly / rsy (Formula 11)
rsnz = vlz / rsz (Formula 12)

例えば,vlx=2[m],rsx=0.2[m]とすると、無変換(ステップ幅の平行移動を与えない場合)が1パターン、rsx刻みのX軸方向への平行移動を与える9パターンの計10パターンで、更新された探索空間Svsをボクセルで分割する。Y軸方向にも同様のパターンを与えてx軸方向と組み合わせた場合、計100パターンとなる。Z軸方向にも同様の処理を行って組み合わせた場合、計1000パターンとなる。この例の場合、上記のパターンの中に、地図側のボクセル量子化のための基準点との差が0.2[m]以内になるものが存在することとなる。この時のパターン数rsnx*rsny*rsnzを、基準点ステップ数rs_sizeと呼ぶこととする。 For example, if vlx = 2 [m] and rsx = 0.2 [m], no conversion (when no translation of step width is given) is 1 pattern, 9 patterns giving translation in the X-axis direction in increments of rsx The updated search space S vs is divided into voxels in a total of 10 patterns. When a similar pattern is given in the Y-axis direction and combined with the x-axis direction, a total of 100 patterns are obtained. When the same processing is performed in the Z-axis direction and combined, there are 1000 patterns in total. In the case of this example, some of the above patterns have a difference from the reference point for voxel quantization on the map side within 0.2 [m]. The pattern number rsnx * rsny * rsnz at this time is referred to as a reference point step number rs_size.

(手順3−2)
まず、当該(手順3−2)の目的を述べる。当該目的はすなわち、図9に模式的に示すように、後段側の比較部17において結果的に実現されることとなる処理である、センサ側点群に相当する更新された探索空間Svs(当該探索空間Svsは(手順3−1)のボクセル分割の仕方と(手順1)で適用された回転変換の仕方との組み合わせ総数だけそれぞれ存在する)の内部を、地図側空間Smを移動させながらサーチして、最も一致する箇所を見つけるという処理を、具体的に「移動させながらサーチ」する必要なく可能とするためである。このため(手順3−2)では、3次元ステップ幅として指定される当該サーチの際の移動量(Δx, Δy, Δz)に紐づける形で、探索空間Svs内の一連の探索対象ブロック(地図側空間Smと同サイズ)を予め用意しておくという処理を行なう。
(Procedure 3-2)
First, the purpose of (Procedure 3-2) will be described. That is, as schematically shown in FIG. 9, the updated search space S vs (corresponding to the sensor-side point group, which is a process that is eventually realized in the comparison unit 17 on the rear stage side. The search space S vs moves within the map side space S m within the total number of combinations of the method of voxel division in (Procedure 3-1) and the method of rotation transformation applied in (Procedure 1). This is because it is possible to perform the process of searching while searching and finding the most matching part without the need to “search while moving”. For this reason, in (Procedure 3-2), a series of search target blocks in the search space S vs (in relation to the movement amount (Δx, Δy, Δz) in the search specified as the three-dimensional step width) ( A process of preparing in advance the same size as the map side space S m is performed.

すなわち、図9では探索空間Svs内を地図側空間Smでサーチする際のサーチ位置の2つの例が位置P1,P2として示されている。位置P1では探索空間Svs内の部分データとしてブロックB1のデータがあって地図側空間Smデータとの類似度が求められ、位置P2では探索空間Svs内の部分データとしてブロックB2のデータがあって地図側空間Smデータとの類似度が求められることとなる。(手順3−2)ではこのようなブロックB1,B2等を、それぞれ探索空間Svs内の位置P1,P2等にある旨の情報を紐づけたうえで個別に抽出する処理が行われることとなる。 That is, in FIG. 9, two examples of search positions when searching the search space S vs. the map side space S m are shown as positions P1 and P2. At position P1, there is block B1 data as partial data in the search space S vs , and the similarity to the map side space S m data is obtained, and at position P2, block B2 data is obtained as partial data in the search space S vs. Therefore, the similarity with the map side space S m data is obtained. In (Procedure 3-2), such a process is performed in which such blocks B1, B2, etc. are individually extracted after associating information indicating that they are at positions P1, P2, etc. in the search space S vs. Become.

なお、本発明の一実施形態においては図9に当該模式的に示すように、センサ側の点群データが探索空間(探索「される」空間)Svsを形成し、地図側点群データに基づく地図側空間Smは探索「する」側のものであることを特筆する。(一般に広大となりうる地図点群データ全体内からの局所領域としての地図側空間Smの「探索」は、近傍取得部34において初期位置姿勢を用いて既に完了していることを特筆する。) In one embodiment of the present invention, as schematically shown in FIG. 9, the point cloud data on the sensor side forms a search space (searched “space”) S vs , and the map side point cloud data Note that the map-side space S m based is on the search “to do” side. (Note that the “search” of the map-side space S m as a local region from within the entire map point cloud data that can generally be vast has already been completed using the initial position and orientation in the neighborhood acquisition unit 34.)

特に、詳細を後述する比較部17では地図側データとセンサ側データとで同サイズのデータ列を比較して類似度を求めるという処理を行なうが、センサ側データにおいて当該同サイズとなるデータ列を算出可能となるような同サイズのブロックを、図9に模式的に示すようなそれぞれの移動量に応じたものとして用意しておくことを可能にするのが当該(手順3−2)である。   In particular, the comparison unit 17, which will be described in detail later, performs processing for comparing the data strings of the same size between the map-side data and the sensor-side data to determine the similarity. It is the (Procedure 3-2) that makes it possible to prepare blocks of the same size that can be calculated according to the respective movement amounts as schematically shown in FIG. .

従って具体的に(手順3−2)では、各ボクセルに、ブロック内でのボクセル位置を示すvoxel_idを、図9で模式的に示したようなサーチ位置の違いを反映したものとして与える。図9も示すように更新された探索空間Svsは地図側空間Smとサイズが異なるため、更新された探索空間Svsを単一のブロックとみなすと、地図側空間Smの位置関係と一致しないIDが計算されてしまう。そこで、地図側空間Smと同サイズの仮想的なブロック(図9にてサーチしているブロック)を当てはめ、その仮想的なブロックごとにボクセル位置を示すIDを各ボクセルに与える。(従って、同一ボクセルであっても異なる仮想ブロックから異なる相対的位置としてIDが付与されうる。このことは、仮想的なブロック間でのサーチ範囲の重複に相当する。)こうして、地図側空間Smが更新された探索空間Svs内を移動してカバーしうる全ての範囲を網羅する様に、仮想的なブロックにそれぞれvlx,vly,vlz刻み(ボクセルサイズの幅刻み)の平行移動を施し、その仮想的なブロック内のボクセルにvoxel_idを与える。すなわち、平行移動によるサーチはボクセルサイズ単位の移動で行うように設定する。また、各ブロックの中心座標も計算する。 Therefore, specifically (procedure 3-2), voxel_id indicating the voxel position in the block is given to each voxel as reflecting the difference in the search position as schematically shown in FIG. As shown in FIG. 9, since the updated search space S vs has a different size from the map side space S m , if the updated search space S vs is regarded as a single block, the positional relationship of the map side space S m Inconsistent IDs are calculated. Therefore, a virtual block having the same size as the map side space S m (block searched in FIG. 9) is applied, and an ID indicating the voxel position is given to each voxel for each virtual block. (Thus, even in the same voxel, IDs can be assigned as different relative positions from different virtual blocks. This corresponds to overlapping search ranges between virtual blocks.) Thus, the map side space S In order to cover the entire range that can be covered by moving in the updated search space S vs , the virtual block is translated in increments of vlx, vly, and vlz (in increments of voxel size), respectively. Give voxel_id to the voxels in the virtual block. In other words, the search by parallel movement is set to be performed by movement in units of voxel size. Also, the center coordinates of each block are calculated.

ここで、x軸方向,y軸方向,z軸方向のブロックの位置で指定される仮想的なブロックのパターン数は、図9に示すようなサーチのパターン数に一致することなる。具体的には、各方向に対する更新された探索空間Svsの大きさから地図側空間Smの大きさを減算した値を、それぞれvlx,vly,vlzで除算した際の商に1を加えた値となる。例えば、更新された探索空間Svsが1辺が10[m]の立方体であり、地図側空間Smが1辺が5[m]の立方体であり、vlx=vly=vlz=1[m]とすると、更新された探索空間Svsの全ての範囲を網羅するためのx軸方向,y軸方向,z軸方向のブロックの位置のパターン数はそれぞれ6通りとなる。この場合,計216パターンの仮想的なブロックの情報が得られる。この様な合計パターン数を、ボクセルIDシフティング数vs_sizeと呼ぶこととする。 Here, the number of virtual block patterns designated by the positions of the blocks in the x-axis direction, the y-axis direction, and the z-axis direction matches the number of search patterns as shown in FIG. Specifically, the value obtained by subtracting the size of the map side space S m from the size of the updated search space S vs for each direction is added to the quotient when dividing by vlx, vly, and vlz, respectively. Value. For example, the updated search space S vs is a cube with one side of 10 [m], the map side space S m is a cube with one side of 5 [m], and vlx = vly = vlz = 1 [m] Then, the number of pattern positions of the blocks in the x-axis direction, the y-axis direction, and the z-axis direction to cover the entire range of the updated search space S vs is six. In this case, a total of 216 patterns of virtual block information are obtained. Such a total number of patterns is called a voxel ID shifting number vs_size.

なお、上記におけるx軸方向,y軸方向,z軸方向のブロックの位置の指定は、ベクトルdの位置、すなわち探索空間Svsの中心ブロック位置(図8にも示したように拡張を施す前の、誤差等のない理想状況での地図側空間Smのブロック位置)からの差分として指定しておくことで、当該差分を後段側の推定部18による自己位置姿勢推定の際の位置姿勢の補正のための情報(並進パラメータのうちの一部分の情報)として利用できることを特筆する。 The designation of the position of the block in the x-axis direction, the y-axis direction, and the z-axis direction in the above is performed by specifying the position of the vector d, that is, the center block position of the search space S vs (before expansion as shown in FIG. 8). By specifying the difference as a difference from the block position of the map-side space S m in an ideal situation without errors, the difference between the position and orientation at the time of the self-position and posture estimation by the estimation unit 18 on the subsequent stage side is specified. Note that it can be used as information for correction (information of a part of the translation parameter).

<以上の(手順1)〜(手順3)により第一分割部13の分割処理のまとめ>
以上のように網羅的に分割する(手順1)〜(手順3)によって、最終的に、第一分割部13では、与えられたセンサ点群に対して、{(r_size + 1) * rs_size * vs_size}通りのブロック分割結果を得ることとなる。また、当該得られた各ブロックに、自身に対応する変換IDを紐づける。当該変換IDは特に、適用された(手順1)及び(手順3)での変換の仕方の詳細が紐付けられたものとなる。
<Summary of Splitting Process of First Splitting Unit 13 by (Procedure 1) to (Procedure 3)>
As a result of the comprehensive division as described above (procedure 1) to (procedure 3), finally, the first division unit 13 performs {(r_size + 1) * rs_size * for the given sensor point group. vs_size} block division results. In addition, a conversion ID corresponding to itself is associated with each obtained block. In particular, the conversion ID is associated with the details of the conversion method applied in (Procedure 1) and (Procedure 3).

なお、(手順3−1)による変換とはサブボクセル単位での分割位置の相違(ステップ幅)に対応するものであり、無変換の場合の基準点srpからの当該分割位置の相違の分の並進変換として、無変換の場合のボクセルに最小絶対値の移動幅でボクセルを合わせるようにする際の並進変換として紐付けられることを特筆する。従って、当該並進変換の各成分はボクセルの各辺のサイズの1/2以下の大きさで構成されることを特筆する。   The conversion according to (Procedure 3-1) corresponds to the difference (step width) in the division position in sub-voxel units, and the translation corresponding to the difference in the division position from the reference point srp in the case of no conversion. It is noted that the conversion is linked as translational conversion when the voxel in the case of no conversion is matched with the voxel with the minimum absolute value movement width. Therefore, it is noted that each component of the translational transformation is configured with a size of 1/2 or less of the size of each side of the voxel.

ここで、無変換の場合の基準点srpに関しては、図8に示すような探索空間Svs及びその中心ブロックとしての地図側空間Sm(に対応していると考えられるブロック)で共通のボクセル頂点位置として設定してよい。すなわち、図8に示す状況でボクセル分割する場合がステップ幅による平行移動がゼロの場合(無変換の場合)としてステップ幅を指定することで、上記の並進変換の情報を得るようにしてよい。 Here, with respect to the reference point srp in the case of no conversion, the voxel common to the search space S vs and the map side space S m (the block considered to correspond to the center block) as shown in FIG. You may set as a vertex position. That is, when the voxel is divided in the situation shown in FIG. 8, the translation information by the step width may be specified by specifying the step width when the translation by the step width is zero (no conversion).

<第一生成部16及び第二生成部26>
「第一生成部16/第二生成部26」は第一処理として、与えられたブロック内のボクセルIDと平均IDのペアの集合を元に、データ列を生成する。初めに、ブロックが含む可能性のある最大のボクセル数vnを求める。近傍取得部34で最近傍ブロックのみを取得した場合は、次式で求められる;
vn = vnx * vny * vnz (数式13)
近傍取得部34で周囲のブロックと合わせて取得した場合も同様に、それらを一つのブロックとみなした場合の、ブロックが含む可能性のある最大のボクセル数vnを計算する。なお、最大のボクセル数vnに至らないブロックは、ブロックサイズが小さいのではなく、ボクセル内の点が少ない又は存在しないことにより「第一モデル化部14/第二モデル化部24」でモデル化処理がスキップされたボクセルを含むものであることを特筆する。
<First generator 16 and second generator 26>
As the first process, the “first generator 16 / second generator 26” generates a data string based on a set of voxel ID / average ID pairs in a given block. First, find the maximum number of voxels vn that the block may contain. When only the nearest block is acquired by the neighborhood acquisition unit 34, the following equation is obtained;
vn = vnx * vny * vnz (Formula 13)
Similarly, when the neighborhood obtaining unit 34 obtains the blocks together with the surrounding blocks, similarly, the maximum number of voxels vn that the block may contain when the blocks are regarded as one block is calculated. Blocks that do not reach the maximum number of voxels vn are modeled by the “first modeling unit 14 / second modeling unit 24” because the block size is not small, but there are few or no points in the voxel. Note that the processing includes skipped voxels.

その後、「第一生成部16/第二生成部26」は第二処理として、大きさvnの1次元配列を生成し、平均IDの範囲外の数値、例えば-1で初期化してから、ブロック内に含まれるボクセルIDに対応する次元に、そのボクセルから計算された平均IDを代入することでデータ列を得る。ここでは、モデルが計算されなかったボクセルに対応する次元には、平均IDが代入されないままとなる。なお、ボクセルIDの設定の仕方より明らかなように、ブロック内に含まれるボクセルIDに対応する次元とはすなわち、ブロック内のボクセル位置に応じた当該1次元配列の要素(当該要素において代入された平均ID)である。2つの異なるブロックの1次元配列同士を参照して、同じ次元(同位置の要素)の平均ID同士が類似していることは、当該2つのブロック内の同じ位置にある点群モデル化データ同士が類似していることを意味している。従って、2つのブロックの1次元配列同士が類似していることは当該2つのブロックに含まれる点群の全体的な配置が類似していることを意味している。当該類似度は後述する比較部17においてスコアとして数値化される。   After that, as the second process, the “first generator 16 / second generator 26” generates a one-dimensional array of size vn, initializes it with a numerical value outside the range of the average ID, for example, −1, and then blocks A data string is obtained by substituting the average ID calculated from the voxel for the dimension corresponding to the voxel ID included therein. Here, the average ID remains unassigned to the dimension corresponding to the voxel for which the model was not calculated. As is clear from the setting method of the voxel ID, the dimension corresponding to the voxel ID included in the block means that the element of the one-dimensional array corresponding to the voxel position in the block (assigned in the element). Average ID). Referencing two-dimensional arrays of two different blocks, the fact that the average IDs of the same dimension (elements at the same position) are similar is that point cloud modeled data at the same position in the two blocks Means that they are similar. Accordingly, the fact that the one-dimensional arrays of two blocks are similar means that the overall arrangement of point groups included in the two blocks is similar. The similarity is digitized as a score in the comparison unit 17 described later.

また、センサ側のデータ列を得た第二生成部26においてはさらに、当該データ列自身に対応する変換ID(第一分割部13で最後に紐づけた変換ID)を紐づける。   Further, in the second generation unit 26 that has obtained the data string on the sensor side, the conversion ID corresponding to the data string itself (the conversion ID linked last in the first dividing unit 13) is further linked.

<比較部17>
比較部17は、第二生成部26から得られる地図側の単一のデータ列と、第一生成部16から得られるセンサ側の{(r_size + 1) * rs_size* vs_size}通りのデータ列群の間で類似度を計算する。ここで、センサ側のデータ列には,それぞれに対応する変換IDが紐づけられていることを特筆する。
<Comparison unit 17>
The comparison unit 17 includes a single data sequence on the map side obtained from the second generation unit 26 and {(r_size + 1) * rs_size * vs_size} data sequence groups obtained from the first generation unit 16 Calculate the similarity between. Here, it is noted that the corresponding conversion ID is associated with each data string on the sensor side.

具体的に、データ列の次元ごとに、含まれる要素、すなわち平均IDの値が一致するかを判定し、是であればセンサ側のデータ列に紐づけられた変換IDに対してスコアを加算する。ここで、両方の要素が、モデルが計算されなかったボクセルであることを意味する(-1)である場合、スコアを加算する様にしても良いし、加算しない様にしても良い。計算の効率化のため,地図側の要素が(-1)となる次元については,処理をスキップする様にしても良い。   Specifically, for each dimension of the data string, it is determined whether the included elements, that is, the average ID value matches, and if it is right, the score is added to the conversion ID linked to the data string on the sensor side. To do. Here, when both elements are (−1) which means that the model is a voxel for which the model has not been calculated, the score may be added or may not be added. For efficient calculation, processing may be skipped for dimensions where the map element is (-1).

最後に、類似度スコアの大きい順に変換IDをソートする。計算の効率化のために,上位k件の変換IDのみを取得する様にしても良い。   Finally, the conversion IDs are sorted in descending order of similarity score. For efficiency of calculation, only the top k conversion IDs may be acquired.

<推定部18>
推定部18は、初期位置姿勢取得部31で得られた初期位置姿勢と、比較部17において最大の類似度を得た変換IDと、を入力とし、センサの自己位置姿勢を計算する。すなわち、第一取得部11の取得したセンサデータを計測したセンサの自己位置姿勢を計算する。
<Estimation unit 18>
The estimation unit 18 receives the initial position and orientation obtained by the initial position and orientation acquisition unit 31 and the conversion ID obtained by the comparison unit 17 as the maximum similarity, and calculates the sensor's own position and orientation. That is, the sensor's own position and orientation obtained by measuring the sensor data acquired by the first acquisition unit 11 is calculated.

当該計算においては、入力された変換IDに対応する位置姿勢変換パラメータ、すなわち並進パラメータおよび回転パラメータを取得し、それらで構成される一つの姿勢変換行列を計算する。ここで、回転パラメータとは当該変換IDに対応する第一分割部13での(手順1)で適用した回転変換に対応するものである。また、並進パラメータとは当該変換IDに対応する第一分割部13での、(手順3−1)の無変換の場合の基準点srpからの分割位置相違分を反映した並進変換(前述した各成分がボクセルの各辺のサイズの1/2以下の大きさで構成されることとなる並進変換)と、(手順3−2)のボクセル単位でのx軸方向,y軸方向,z軸方向の移動量(前述した探索空間Svsの中心ブロック位置Smからの移動量)で与えられる並進変換と、を合成した並進変換に対応するものである。そして、その位置姿勢変換行列を初期位置姿勢にかけた結果を、自己位置姿勢として出力する。なお、当該位置姿勢変換行列の乗算は、誤差を含んだ初期位置姿勢を補正することに相当する。また、当該位置姿勢変換行列の算出においては、第一分割部13での手順と同様に、最初に回転変換を施したうえで次に並進変換を施すものとして、当該行列を算出すればよい。 In this calculation, a position / orientation conversion parameter corresponding to the input conversion ID, that is, a translation parameter and a rotation parameter are acquired, and one attitude conversion matrix constituted by them is calculated. Here, the rotation parameter corresponds to the rotation conversion applied in (procedure 1) in the first dividing unit 13 corresponding to the conversion ID. Further, the translation parameter is a translation conversion that reflects the difference in division position from the reference point srp in the case of no conversion in (Procedure 3-1) in the first division unit 13 corresponding to the conversion ID (each of the above-described translation parameters). (Translational transformation in which the component is composed of 1/2 or less of the size of each side of the voxel) and the x-axis direction, y-axis direction, and z-axis direction in the voxel unit of (Procedure 3-2) the amount of movement corresponds to the translation transformation the translational transform given by (the amount of movement of the central block position S m of the search space S vs described above), was synthesized. Then, the result of applying the position / orientation transformation matrix to the initial position / orientation is output as a self-position / orientation. The multiplication of the position / orientation transformation matrix corresponds to correcting the initial position / orientation including an error. Further, in the calculation of the position / orientation transformation matrix, as in the procedure in the first dividing unit 13, the matrix may be calculated on the assumption that the rotational transformation is first performed and then the translational transformation is performed.

以上、本発明によれば、推定装置10の位置姿勢をボクセルベースのモデル化に基づき高速に求めることができる。さらに、当該高速に求められた結果は、当該ボクセルベースのモデル化の際の量子化誤差の影響や初期位置姿勢の誤差の影響も除外したものとして得ることができる。   As described above, according to the present invention, the position and orientation of the estimation device 10 can be obtained at high speed based on voxel-based modeling. Furthermore, the result obtained at high speed can be obtained by excluding the influence of the quantization error and the initial position / posture error in the voxel-based modeling.

以下、本発明における説明上の各種の補足的事項(別実施形態などを含む)を説明する。   Hereinafter, various supplementary items (including other embodiments) in the present invention will be described.

(1)「第一モデル化部14/第二モデル化部24」では、上記説明したような平均位置座標mean以外にも、任意の所定量を、ボクセル内の点群をモデル化するものとして採用することができる。モデルは単一種類でもよいし、複数種類を組み合わせたものであってもよい。 (1) In the “first modeling unit 14 / second modeling unit 24”, in addition to the average position coordinate mean as described above, an arbitrary predetermined amount is used to model a point group in a voxel. Can be adopted. The model may be a single type or a combination of multiple types.

例えばモデルの1つとして、標準偏差を用いてもよい。3D点群の標準偏差σは次式で計算することができる;   For example, a standard deviation may be used as one of the models. The standard deviation σ of the 3D point cloud can be calculated by

その後、σを自身のL2ノルムを用いて正規化することによって,各成分の取りうる値の範囲は[0, 1]となる。従って、各成分を等間隔の範囲に区切ることによって,平均と同様の方法で量子化することができる。   Then, by normalizing σ using its own L2 norm, the range of possible values of each component is [0, 1]. Therefore, by dividing each component into equal intervals, quantization can be performed in the same manner as the average.

また、センサ取得された3D点群がその対応画素における輝度情報を持っている場合、モデルの一つとして輝度平均を用いても良い。センサで取得された輝度値は通常,特定の範囲、例えば[0,255]に正規化されているため、平均と同様の方法で量子化することができる。   Further, when the 3D point group acquired by the sensor has luminance information in the corresponding pixel, luminance average may be used as one of the models. Since the luminance value acquired by the sensor is normally normalized to a specific range, for example, [0,255], it can be quantized in the same manner as the average.

また、センサ取得された3D点群がその対応画素における色情報を持っている場合、モデルの一つとして色平均を用いても良い。センサで取得された色情報は通常,RGBの様なチャネルごとに特定の範囲、例えば[0,255]に正規化されているため,平均と同様の方法で量子化することができる。   Further, when the 3D point group acquired by the sensor has color information in the corresponding pixel, a color average may be used as one of the models. Since the color information acquired by the sensor is usually normalized to a specific range, for example, [0,255] for each channel such as RGB, it can be quantized in the same manner as the average.

(2)「第一量子化部15/第二量子化部25」では、「第一モデル化部14/第二モデル化部24」で得たモデル種類に応じた所定の量子化を行うようにすればよい。 (2) The “first quantizing unit 15 / second quantizing unit 25” performs predetermined quantization corresponding to the model type obtained by the “first modeling unit 14 / second modeling unit 24”. You can do it.

(3)「第一生成部16/第二生成部26」において、複数のモデルに基づくIDの組み合わせは、それらを表現する一意のIDで表現することができ、当該IDをデータ列生成の際に生成されるデータ列の要素として利用することで、平均座標meanのみの単一モデルの場合と同様の処理を行なうことが可能となる。すなわち、前述したブロック内に含まれるボクセルIDに対応する次元に、そのボクセルから計算された平均IDを代入する処理において、当該平均IDを複数のモデルに基づくものとして計算し代入するようにすればよい。この際、複数のモデルに基づく多次元構成された平均IDをボクセルIDに対応する次元に代入するようにしてもよい。 (3) In the “first generation unit 16 / second generation unit 26”, a combination of IDs based on a plurality of models can be expressed by a unique ID that represents them. By using it as an element of the data string generated in the above, it is possible to perform the same processing as in the case of a single model having only the average coordinates mean. That is, in the process of substituting the average ID calculated from the voxel for the dimension corresponding to the voxel ID included in the block, the average ID is calculated based on a plurality of models and substituted. Good. At this time, an average ID composed of a plurality of models based on a plurality of models may be substituted into a dimension corresponding to the voxel ID.

(4)また,本発明の一実施形態においては,地図データの持つ量子化されたモデルパラメータを逆量子化することによって連続量を取得し、データ生成処理で利用しても良い。この際、センサ側はモデルパラメータを量子化せず、連続量を用いる。そして、データ列の比較処理では,対応する連続量間の距離(例えば誤差二乗)を非類似度として累積加算し,最も非類似度の小さいデータ列を選択する様にしても良い。 (4) In one embodiment of the present invention, a continuous amount may be obtained by inverse quantization of a quantized model parameter of map data and used in data generation processing. At this time, the sensor side does not quantize the model parameter and uses a continuous amount. In the data string comparison processing, the distance between the corresponding continuous quantities (for example, error square) may be cumulatively added as the dissimilarity, and the data string having the smallest dissimilarity may be selected.

すなわち、本発明は「第一量子化部15/第二量子化部25」をスキップする変形例も可能である。   That is, the present invention can be modified in such a manner that “first quantization unit 15 / second quantization unit 25” is skipped.

(5)また、本発明の一実施形態においては,自己位置推定処理における分割処理からデータ列比較処理までの処理を、粗密戦略に従って反復的に行っても良い。すなわち、1度目の処理では第一分割部13で粗い回転や粗いステップ幅を用いて大まかな自己位置推定結果を取得し,それを元に探索空間Ssvを縮小する。その後,2度目の処理における第一分割部13で、より細かい回転や細かいステップ幅を用いることによって、高精度な自己位置推定結果を得る、という様にしても良い。これにより、1度の処理で高精度な自己位置推定を行う場合に比べて、総合的な計算量を削減できる可能性がある。 (5) In one embodiment of the present invention, the processes from the division process to the data string comparison process in the self-position estimation process may be performed repeatedly according to the coarse / fine strategy. That is, in the first processing, the first division unit 13 obtains a rough self-position estimation result using coarse rotation and coarse step width, and the search space S sv is reduced based on the result. After that, the first division unit 13 in the second process may obtain a highly accurate self-position estimation result by using finer rotation and finer step width. As a result, there is a possibility that the total amount of calculation can be reduced as compared with the case where high-precision self-position estimation is performed by one process.

(6)本発明は自己位置推定処理への適用を例として説明してきたが、具体的なセンサ点群に限定されないクエリ点群(ボクセル分割位置が未定のもの)と、地図点群に限定されないリファレンス点群(既に所定のボクセル分割位置でボクセル分割され記憶部33に記憶されているもの)とを対象としての、当該両点群の間でのボクセル分割位置の不定性を吸収したマッチングを実現するというモジュール的な適用も可能である。当該モジュール的な適用を行う場合は、初期位置姿勢に相当する情報などは予め与えておいて、クエリ点群及びリファレンス点群を用意して、以上と同様の処理を行なえばよい。特に、第一分割部13による網羅的な分割処理は、一般のリファレンス点群のボクセル分割に対して不定性を有するクエリ点群のボクセル分割において量子化誤差などを低減したボクセル分割を自動検知する効果を有する。   (6) Although the present invention has been described by taking application to self-position estimation processing as an example, it is not limited to query point groups (those whose voxel division positions are undetermined) and map point groups that are not limited to specific sensor point groups. Targeted reference point cloud (already voxel-divided at a predetermined voxel division position and stored in the storage unit 33) realizes matching that absorbs indefiniteness of the voxel division position between the two point groups A modular application is also possible. When the modular application is performed, information corresponding to the initial position and orientation is given in advance, a query point group and a reference point group are prepared, and the same processing as described above may be performed. In particular, the exhaustive division process by the first division unit 13 automatically detects voxel division with reduced quantization error or the like in the voxel division of the query point group having indefiniteness relative to the voxel division of the general reference point group. Has an effect.

当該モジュール的に適用する場合は、自己位置推定処理における実施形態を次のように簡略化して適用すればよい。すなわち、第一取得部11の取得する初期位置姿勢に所定の精度(充分と判断される精度)があることが既知で、第一整列部12で整列されたセンサ点群に基づくデータと近傍取得部34で取得された地図点群データとの比較においては、ボクセル分割位置の相違にのみ対処する必要がある場合の簡略化された自己位置推定処理の実施形態に相当する。すなわち、第一分割部13における(手順1)では複数の回転変換の適用を省略して第一整列部12で回転変換された1通りのセンサ点群をSPC0のみを用い、(手順3)においては(手順3−1)の基準点ステップ数rs_size通りの分割のみを行い、(手順3−2)のボクセルIDシフティング数vs_size通りの分割は省略することで、全体として(手順3−1)の基準点ステップ数rs_size通りのブロック分割を行うようにすればよい。 When applied modularly, the embodiment in the self-position estimation process may be simplified and applied as follows. That is, it is known that the initial position and orientation acquired by the first acquisition unit 11 has a predetermined accuracy (accuracy determined to be sufficient), and the data and neighborhood acquisition based on the sensor point group aligned by the first alignment unit 12 The comparison with the map point cloud data acquired by the unit 34 corresponds to an embodiment of a simplified self-position estimation process in the case where only the difference in the voxel division position needs to be dealt with. That is, in (Procedure 1) in the first dividing unit 13, the application of a plurality of rotation transformations is omitted and one sensor point group rotationally transformed in the first alignment unit 12 is used only for SPC 0 (Procedure 3). In (Procedure 3-1), only the division according to the reference point step number rs_size is performed, and the division according to the voxel ID shifting number vs_size in (Procedure 3-2) is omitted. ) Block division may be performed in accordance with the reference point step number rs_size.

全く同様に、本発明の具体的な適用対象が自己位置推定であるか否かを問わず、初期位置姿勢の並進成分に所定精度があることが既知の場合であれば、(手順3−2)を省略することによって第一分割部13では(手順1)による(r_size + 1)通りと(手順3−1)による基準点ステップ数rs_size通りによる全体で(r_size + 1)* rs_size通りのブロック分割を行うようにしてよく、初期位置姿勢の回転成分に所定精度があることが既知の場合であれば、(手順1)を省略することによって第一分割部13では(手順3−1)による基準点ステップ数rs_size通りと(手順3−2)のボクセルIDシフティング数vs_size通りによる全体でrs_size* vs_size通りのブロック分割を行うようにしてもよい。   Exactly, regardless of whether or not the specific application target of the present invention is self-position estimation, if it is known that the translational component of the initial position and orientation has a predetermined accuracy, (Step 3-2) ) Is omitted, the first division unit 13 has (r_size + 1) * rs_size blocks in total (r_size + 1) as in (Procedure 1) and rs_size as reference point steps in (Procedure 3-1). If it is known that the rotation component of the initial position and orientation has a predetermined accuracy, the first dividing unit 13 can omit the (procedure 1) by (procedure 3-1). Block division may be performed in accordance with rs_size * vs_size as a whole based on the number of reference point steps rs_size and the number of voxel ID shifting steps (step 3-2) vs_size.

なお、以上のような各観点から簡略化する各実施形態のうち、(手順3−2)のボクセルIDシフティング数vs_size通りの分割を省略する実施形態では、図8で説明した空間Ssや空間Svsへの拡張は不要となることを特筆する。ただし、空間Sm(のセンサ側データに対応するもの)に(手順3−1)の基準点ステップ数rs_size通りの分割を適用するために、空間Smの外側所定範囲(ボクセル幅以内の所定範囲)は参照することとなる。 Of the embodiments that are simplified from the above viewpoints, in the embodiment that omits the voxel ID shifting number vs_size in (Procedure 3-2), the space Ss and the space described in FIG. Note that no extension to Svs is required. However, in order to apply the division according to the reference point step number rs_size in (Procedure 3-1) to the space S m (corresponding to the sensor side data), a predetermined range outside the space S m (predetermined within the voxel width) Range) will be referenced.

(7)推定装置10及びモデル化装置20は一般的な構成のコンピュータとして実現可能である。すなわち、CPU(中央演算装置)、当該CPUにワークエリアを提供する主記憶装置、ハードディスクやSSDその他で構成可能な補助記憶装置、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース、ネットワークに接続して通信を行うための通信インタフェース、表示を行うディスプレイ、カメラ及びこれらを接続するバスを備えるような、一般的なコンピュータによって推定装置10及びモデル化装置20を構成することができる。さらに、図2に示す推定装置10及びモデル化装置20の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPUによって実現することができるが、任意の一部の処理を別途の専用回路等(GPUを含む)において実現するようにしてもよい。   (7) The estimation device 10 and the modeling device 20 can be realized as a computer having a general configuration. That is, a CPU (Central Processing Unit), a main storage device that provides a work area for the CPU, an auxiliary storage device that can be configured with a hard disk, SSD, etc., an input interface that receives input from the user such as a keyboard, mouse, touch panel, etc., network The estimation device 10 and the modeling device 20 can be configured by a general computer including a communication interface for performing communication by connecting to a display, a display for displaying, a camera, and a bus for connecting them. Furthermore, the processing of each unit of the estimation device 10 and the modeling device 20 shown in FIG. 2 can be realized by a CPU that reads and executes a program for executing the processing, but any part of the processing is separately performed. It may be realized in a dedicated circuit or the like (including GPU).

10…推定装置、11…第一取得部、12…第一整列部、13…第一分割部、14…第一モデル化部、15…第一量子化部、16…第一生成部、17…比較部、18…推定部、26…第二生成部、31…初期位置姿勢取得部、34…近傍取得部
20…モデル化装置、21…第一取得部、22…第二整列部、23…第二分割部、24…第二モデル化部、25…第二量子化部、32…出力部、33…記憶部
DESCRIPTION OF SYMBOLS 10 ... Estimation apparatus, 11 ... First acquisition part, 12 ... First alignment part, 13 ... First division part, 14 ... First modeling part, 15 ... First quantization part, 16 ... First generation part, 17 ... comparison unit, 18 ... estimation unit, 26 ... second generation unit, 31 ... initial position and orientation acquisition unit, 34 ... neighbor acquisition unit
20 ... modeling device, 21 ... first acquisition unit, 22 ... second alignment unit, 23 ... second division unit, 24 ... second modeling unit, 25 ... second quantization unit, 32 ... output unit, 33 ... Memory

Claims (12)

クエリ点群に対して、サブボクセル単位の相違を含んでボクセル分割位置が互いに異なる複数の分割手法を適用する第一分割部と、
前記適用される複数の分割手法ごとに、ボクセル内のクエリ点群をモデル化したクエリ点群モデル化データを得る第一モデル化部と、
リファレンス点群に所定のボクセル分割手法を適用し且つボクセル内のクエリ点群をモデル化して得られたリファレンス点群モデル化データと、前記複数の分割手法ごとのクエリ点群モデル化データとを比較し、類似していると判定される分割手法におけるクエリ点群モデル化データを得る比較部と、を備えることを特徴とする推定装置。
A first division unit that applies a plurality of division methods having different voxel division positions including a difference in sub-voxel units for a query point group;
A first modeling unit that obtains query point group modeling data obtained by modeling a query point group in a voxel for each of the plurality of division methods applied;
Compare the reference point cloud modeling data obtained by applying a predetermined voxel division method to the reference point cloud and modeling the query point cloud in the voxel, and the query point cloud modeling data for each of the plurality of division methods And a comparison unit that obtains query point cloud modeling data in a division method determined to be similar.
前記第一分割部ではさらに、前記クエリ点群に複数の回転変換を施し、当該施された回転変換ごとのクエリ点群に対して、前記サブボクセル単位の相違を含んでボクセル分割位置が互いに異なる複数の分割手法を適用することを特徴とする請求項1に記載の推定装置。   The first division unit further performs a plurality of rotation transformations on the query point group, and a plurality of voxel division positions that are different from each other including the difference in the sub-voxel unit with respect to the query point group for each of the applied rotation transformations. The estimation apparatus according to claim 1, wherein the division method is applied. 前記リファレンス点群モデル化データは、ボクセルが集合した所定サイズのリファレンスブロックに対して得られており、
前記第一モデル化部は、前記所定サイズよりも大きなサイズでボクセルが集合したクエリブロックに対して前記クエリ点群モデル化データを得ており、
前記第一分割部ではさらに、前記クエリブロック内の所定位置範囲であって前記リファレンスブロックのサイズを占める位置範囲に複数の並進移動変換を施し、当該施された並進移動変換ごとの移動先範囲におけるクエリ点群に対して、前記サブボクセル単位の相違を含んでボクセル位置が互いに異なる複数の分割手法を適用することを特徴とする請求項1または2に記載の推定装置。
The reference point cloud modeling data is obtained for a reference block of a predetermined size in which voxels are aggregated,
The first modeling unit obtains the query point cloud modeling data for a query block in which voxels are gathered in a size larger than the predetermined size,
The first dividing unit further performs a plurality of translational movement conversions on a predetermined position range in the query block and occupies the size of the reference block, and in the destination range for each applied translational movement conversion The estimation apparatus according to claim 1, wherein a plurality of division methods including different sub-voxel units and different voxel positions are applied to a query point group.
さらに、前記クエリ点群モデル化データを量子化して量子化クエリ点群モデル化データを得る第一量子化部を含み、
前記比較部では、リファレンス点群に所定のボクセル分割手法を適用し且つボクセル内のクエリ点群をモデル化及び量子化して得られた量子化リファレンス点群モデル化データと、前記第一量子化部で得られる前記複数の分割手法ごとの量子化クエリ点群モデル化データとを比較し、類似していると判定される分割手法における量子化クエリ点群モデル化データを得ることを特徴とする請求項1ないし3のいずれかに記載の推定装置。
Furthermore, a first quantization unit that quantizes the query point cloud modeled data to obtain quantized query point cloud modeled data,
In the comparison unit, quantized reference point group modeling data obtained by applying a predetermined voxel dividing method to a reference point group and modeling and quantizing a query point group in the voxel, and the first quantization unit The quantized query point group modeled data for each of the plurality of segmentation methods obtained in step (1) is compared, and quantized query point group modeled data in a segmentation method determined to be similar is obtained. Item 4. The estimation device according to any one of Items 1 to 3.
前記クエリ点群はセンサによって取得されたものであり、
前記リファレンス点群は前記センサが計測する対象となるフィールドにおいて取得されたものであり、
前記センサが前記クエリ点群を取得した際の初期位置姿勢を取得する初期位置姿勢取得部と、
前記比較部によって最も類似していると判定される分割手法におけるクエリ点群モデル化データの当該分割手法に基づいて前記初期位置姿勢を補正したものとして、前記センサが前記クエリ点群を取得した際の前記フィールド内での位置姿勢を推定する推定部をさらに備えることを特徴とする請求項1ないし4のいずれかに記載の推定装置。
The query point cloud is acquired by a sensor,
The reference point group is acquired in a field to be measured by the sensor,
An initial position and orientation acquisition unit for acquiring an initial position and orientation when the sensor acquires the query point group;
When the sensor acquires the query point group as a result of correcting the initial position and orientation based on the division method of the query point cloud modeling data in the division method determined to be most similar by the comparison unit The estimation apparatus according to any one of claims 1 to 4, further comprising an estimation unit that estimates a position and orientation in the field.
前記比較部で前記比較する対象となる前記リファレンス点群モデル化データを、前記フィールド内の一連のリファレンス点群の中から前記初期位置姿勢の近傍に属するものとして取得する近傍取得部をさらに備えることを特徴とする請求項5に記載の推定装置。   A proximity acquisition unit that acquires the reference point group modeling data to be compared by the comparison unit as belonging to the vicinity of the initial position and orientation from a series of reference point groups in the field; The estimation apparatus according to claim 5. 前記リファレンス点群モデル化データは、ボクセルが集合した所定サイズのリファレンスブロックに対して前記近傍取得部によって得られており、
前記第一モデル化部は、前記所定サイズよりも大きなサイズでボクセルが集合したクエリブロックに対して前記クエリ点群モデル化データを得ており、
前記第一分割部ではさらに、 前記クエリブロック内の所定位置範囲であって前記リファレンスブロックのサイズを占める位置範囲に複数の並進移動変換を施し、当該施された並進移動変換ごとの移動先範囲におけるクエリ点群に対して、前記サブボクセル単位の相違を含んでボクセル位置が互いに異なる複数の分割手法を適用し、
前記推定部では、前記比較部によって最も類似していると判定される分割手法及び並進移動変換におけるクエリ点群モデル化データの当該並進移動変換に基づいて前記初期位置姿勢における位置を補正したものとして、前記センサが前記クエリ点群を取得した際の前記フィールド内での位置姿勢を推定することを特徴とする請求項6に記載の推定装置。
The reference point cloud modeling data is obtained by the neighborhood acquisition unit for a reference block of a predetermined size in which voxels are aggregated,
The first modeling unit obtains the query point cloud modeling data for a query block in which voxels are gathered in a size larger than the predetermined size,
The first dividing unit further performs a plurality of translational movement conversions on a predetermined position range in the query block and occupies the size of the reference block, and in the destination range for each applied translational movement conversion Applying a plurality of division methods with different voxel positions including a difference in the sub-voxel unit to the query point group,
In the estimation unit, it is assumed that the position in the initial position and orientation is corrected based on the division method determined to be the most similar by the comparison unit and the translational movement transformation of the query point cloud modeling data in the translational transformation. The estimation apparatus according to claim 6, wherein the position and orientation in the field when the sensor acquires the query point group is estimated.
前記第一分割部ではさらに、前記クエリ点群に複数の回転変換を施し、当該施された回転変換ごとのクエリ点群に対して、前記サブボクセル単位の相違を含んでボクセル分割位置が互いに異なる複数の分割手法を適用し、
前記推定部では、前記比較部によって最も類似していると判定される分割手法及び回転変換におけるクエリ点群モデル化データの当該回転変換に基づいて前記初期位置姿勢における姿勢を補正したものとして、前記センサが前記クエリ点群を取得した際の前記フィールド内での位置姿勢を推定することを特徴とする請求項6または7に記載の推定装置。
The first division unit further performs a plurality of rotation transformations on the query point group, and a plurality of voxel division positions that are different from each other including the difference in the sub-voxel unit with respect to the query point group for each of the applied rotation transformations. Applying the splitting method
In the estimation unit, the division method determined to be most similar by the comparison unit and the posture at the initial position and posture are corrected based on the rotation transformation of the query point cloud modeling data in the rotation transformation, The estimation apparatus according to claim 6, wherein a position and orientation in the field when the sensor acquires the query point group is estimated.
前記推定部では、前記比較部によって最も類似していると判定される分割手法におけるクエリ点群モデル化データの当該分割手法におけるボクセル分割位置に基づいて前記初期位置姿勢における位置を補正したものとして、前記センサが前記クエリ点群を取得した際の前記フィールド内での位置姿勢を推定することを特徴とする請求項6ないし8のいずれかに記載の推定装置。   In the estimation unit, the position in the initial position and posture is corrected based on the voxel division position in the division method of the query point cloud modeling data in the division method determined to be most similar by the comparison unit, The estimation apparatus according to claim 6, wherein the position and orientation in the field when the sensor acquires the query point group is estimated. 前記第一モデル化部では、ボクセル内のクエリ点群をモデル化したクエリ点群モデル化データを、クエリ点群における座標平均、座標標準偏差、点群に対応する画素の輝度平均、点群に対応する画素の色平均の少なくとも1つを含んで構成されるものとして得ることを特徴とする請求項1ないし9のいずれかに記載の推定装置。   In the first modeling unit, the query point cloud modeling data obtained by modeling the query point cloud in the voxel is converted into a coordinate average in the query point cloud, a coordinate standard deviation, a luminance average of pixels corresponding to the point cloud, and a point cloud. The estimation apparatus according to claim 1, wherein the estimation apparatus is obtained by including at least one of color averages of corresponding pixels. 前記比較部では、リファレンス点群モデル化データ及びクエリ点群モデル化データを同一サイズのデータ列となしたうえで比較することを特徴とする請求項1ないし10のいずれかに記載の推定装置。   11. The estimation apparatus according to claim 1, wherein the comparison unit compares the reference point cloud modeled data and the query point cloud modeled data after making the data strings of the same size. コンピュータを請求項1ないし11のいずれかに記載の推定装置として機能させることを特徴とするプログラム。   A program that causes a computer to function as the estimation device according to any one of claims 1 to 11.
JP2017162463A 2017-08-25 2017-08-25 Estimator and program Active JP6761388B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017162463A JP6761388B2 (en) 2017-08-25 2017-08-25 Estimator and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017162463A JP6761388B2 (en) 2017-08-25 2017-08-25 Estimator and program

Publications (2)

Publication Number Publication Date
JP2019040445A true JP2019040445A (en) 2019-03-14
JP6761388B2 JP6761388B2 (en) 2020-09-23

Family

ID=65726057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017162463A Active JP6761388B2 (en) 2017-08-25 2017-08-25 Estimator and program

Country Status (1)

Country Link
JP (1) JP6761388B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021165731A (en) * 2020-03-02 2021-10-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド Positioning method, apparatus, computing device, and computer-readable storage medium
WO2022102577A1 (en) * 2020-11-13 2022-05-19 パイオニア株式会社 Information processing apparatus, control method, program, and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021165731A (en) * 2020-03-02 2021-10-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド Positioning method, apparatus, computing device, and computer-readable storage medium
US11725944B2 (en) 2020-03-02 2023-08-15 Apollo Intelligent Driving Technology (Beijing) Co, Ltd. Method, apparatus, computing device and computer-readable storage medium for positioning
WO2022102577A1 (en) * 2020-11-13 2022-05-19 パイオニア株式会社 Information processing apparatus, control method, program, and storage medium

Also Published As

Publication number Publication date
JP6761388B2 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
Gruen et al. Least squares 3D surface and curve matching
US8792726B2 (en) Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus
US10269148B2 (en) Real-time image undistortion for incremental 3D reconstruction
Crosilla et al. Use of generalised Procrustes analysis for the photogrammetric block adjustment by independent models
EP1190389A1 (en) Method and apparatus for performing geo-spatial registration using a euclidean representation
CN107622530B (en) Efficient and robust triangulation network cutting method
JP2007322351A (en) Three-dimensional object collating device
Youssefi et al. Cars: A photogrammetry pipeline using dask graphs to construct a global 3d model
JP4568845B2 (en) Change area recognition device
JP2016217941A (en) Three-dimensional evaluation device, three-dimensional data measurement system and three-dimensional measurement method
Oliveira et al. Scene representations for autonomous driving: an approach based on polygonal primitives
Gong et al. A detailed study about digital surface model generation using high resolution satellite stereo imagery
JP6761388B2 (en) Estimator and program
Withers et al. Modelling scene change for large-scale long term laser localisation
CN115239899B (en) Pose map generation method, high-precision map generation method and device
El-Ashmawy Photogrammetric block adjustment without control points
Tan et al. Structure from motion using the ground plane constraint
US11747141B2 (en) System and method for providing improved geocoded reference data to a 3D map representation
CN114136335A (en) Aerial triangle precision analysis method based on unmanned aerial vehicle oblique photogrammetry
Walvoord et al. Geoaccurate three-dimensional reconstruction via image-based geometry
Zheng et al. 3D model reconstruction with common hand-held cameras
Nilosek et al. Geo-accurate model extraction from three-dimensional image-derived point clouds
CN110021041B (en) Unmanned scene incremental gridding structure reconstruction method based on binocular camera
JP6853150B2 (en) Sorting equipment, methods and programs
Lau et al. Comparison Between AliceVision Meshroom and Pix4Dmapper Software in Generating Three-Dimensional (3D) Photogrammetry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200904

R150 Certificate of patent or registration of utility model

Ref document number: 6761388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150