JP2018159693A - Information processing program, information processing method and information processing device - Google Patents

Information processing program, information processing method and information processing device Download PDF

Info

Publication number
JP2018159693A
JP2018159693A JP2017058526A JP2017058526A JP2018159693A JP 2018159693 A JP2018159693 A JP 2018159693A JP 2017058526 A JP2017058526 A JP 2017058526A JP 2017058526 A JP2017058526 A JP 2017058526A JP 2018159693 A JP2018159693 A JP 2018159693A
Authority
JP
Japan
Prior art keywords
plane
height
information processing
point cloud
offset amount
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
JP2017058526A
Other languages
Japanese (ja)
Other versions
JP6903987B2 (en
Inventor
純也 藤本
Junya Fujimoto
純也 藤本
村瀬 有一
Yuichi Murase
有一 村瀬
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017058526A priority Critical patent/JP6903987B2/en
Publication of JP2018159693A publication Critical patent/JP2018159693A/en
Application granted granted Critical
Publication of JP6903987B2 publication Critical patent/JP6903987B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Optical Radar Systems And Details Thereof (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the accuracy of synthesizing plural three-dimensional point group data.SOLUTION: An information processing device 100 corrects, for each of combinations of first planes included in a plurality of first planes extracted from first point group data 111 and second planes included in a plurality of second planes extracted from second point group data 112, the height of the plurality of second planes so that the heights between the planes included in the combination are matched, and specifies a height that matches the height of each of the second planes after correction, of the heights of the plurality of first planes. The information processing device 100 specifies, for each of the combinations, the number of combinations, of two specified height combinations, in which a difference between the heights included in a height combination matches a characteristic distance that a difference of one distance among distances each between the plurality of first planes from the other distances is large. The information processing device 100 specifies, for each of the combinations, the amount of offset used for correction on the basis of the specified number of combinations.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。   The present invention relates to an information processing program, an information processing method, and an information processing apparatus.

従来、物体に向けてレーザを照射し、反射光が返ってくるまでの時間を測定することにより、物体までの距離を測定する距離センサがある。また、距離センサ内で光学系を回転させて水平方向のスキャニングを行いながら物体までの距離を測定する、いわゆる2D(2次元:2−Dimensions)センサがある。また、駆動装置を用いて2Dセンサを回転させることにより立体的な物の位置や形状をデータ化する3D測定と呼ばれる技術がある。   Conventionally, there is a distance sensor that measures the distance to an object by irradiating the object with a laser and measuring the time until the reflected light returns. In addition, there is a so-called 2D (2-dimensions) sensor that measures the distance to an object while performing horizontal scanning by rotating an optical system in the distance sensor. In addition, there is a technique called 3D measurement in which the position and shape of a three-dimensional object are converted into data by rotating a 2D sensor using a driving device.

また、従来、異なる測定位置において3D測定された複数の3次元点群データを1つにするために、複数の3次元点群データの位置合わせに関する技術がある。例えば、それぞれの3次元点群データによって特定される測定位置群を、水平方向に一定の高さで分けて、各水平方向に含まれる点群を2Dでマッチングする技術がある。例えば、3次元点群を同じ高さで水平方向に分けるためには、例えば、基準面などに基づき高さの基準を合わせる技術がある。より具体的には、例えば、複数の3次元点群データの各々において、最も大きい面、高さが最も低い面や最も高い面などを基準面として、基準面同士の高さを一致させるように一方の3次元点群データの高さを補正することにより複数の3次元点群データの水平方向の位置を合わせる。   Conventionally, there is a technique related to alignment of a plurality of three-dimensional point group data in order to unite a plurality of three-dimensional point group data measured in 3D at different measurement positions. For example, there is a technique in which measurement position groups specified by respective three-dimensional point group data are divided at a certain height in the horizontal direction, and point groups included in each horizontal direction are matched in 2D. For example, in order to divide a three-dimensional point group in the horizontal direction at the same height, for example, there is a technique of matching the height reference based on a reference plane or the like. More specifically, for example, in each of a plurality of three-dimensional point cloud data, the heights of the reference surfaces are made to coincide with each other using the largest surface, the lowest surface, the highest surface, etc. as the reference surface. By correcting the height of one of the three-dimensional point group data, the horizontal positions of the plurality of three-dimensional point group data are adjusted.

先行技術としては、例えば、2つの測定位置から得た3次元点群データ間の位置合わせに適した特徴部分を含むオーバーラップ部分を算出する技術がある(例えば、以下特許文献1参照。)。また、例えば、移動体の位置情報において、移動前の3次元点群データと、現在の3次元点群データとを取得し、移動前の3次元点群データと現在の3次元点群データとの距離の差が最小となるように現在の3次元点群データの位置を修正する技術がある(例えば、以下特許文献2参照。)。   As a prior art, for example, there is a technique for calculating an overlap portion including a feature portion suitable for alignment between three-dimensional point cloud data obtained from two measurement positions (see, for example, Patent Document 1 below). Further, for example, in the position information of the moving body, the 3D point cloud data before the movement and the current 3D point cloud data are acquired, and the 3D point cloud data before the movement and the current 3D point cloud data There is a technique for correcting the position of the current three-dimensional point cloud data so that the difference in distance between the two is minimized (see, for example, Patent Document 2 below).

特開2012−63866号公報JP 2012-63866 A 特開2016−45330号公報JP-A-2006-45330

しかしながら、複数の3次元点群データの間で同一の基準面が見つからず、3次元点群データの合成精度が低下する場合がある。   However, the same reference plane cannot be found among a plurality of three-dimensional point group data, and the synthesis accuracy of the three-dimensional point group data may decrease.

1つの側面では、本発明は、3次元点群データの合成精度の向上を図ることができる情報処理プログラム、情報処理方法、および情報処理装置を提供することを目的とする。   In one aspect, an object of the present invention is to provide an information processing program, an information processing method, and an information processing apparatus capable of improving the synthesis accuracy of three-dimensional point cloud data.

本発明の一側面によれば、複数の測定位置の各々の測定位置について、前記各々の測定位置から物体までの距離に基づく3次元の点群データを取得し、前記各々の測定位置について、取得した前記点群データから平面領域に属する点群データを抽出し、前記複数の測定位置の間で、抽出した前記点群データが属する前記平面領域の間の垂直方向の差分が一致するオフセット量を算出し、算出した前記オフセット量にしたがって補正された前記点群データを用いて位置合わせを行う情報処理プログラム、情報処理方法、および情報処理装置が提案される。   According to an aspect of the present invention, three-dimensional point cloud data based on a distance from each measurement position to an object is obtained for each measurement position of a plurality of measurement positions, and obtained for each measurement position. The point cloud data belonging to the plane area is extracted from the point cloud data, and an offset amount in which the vertical difference between the plane areas to which the extracted point cloud data belongs is matched between the plurality of measurement positions. An information processing program, an information processing method, and an information processing apparatus are proposed that perform positioning using the point cloud data that is calculated and corrected according to the calculated offset amount.

本発明の一態様によれば、3次元点群データの合成精度の向上を図ることができる。   According to one embodiment of the present invention, it is possible to improve the synthesis accuracy of three-dimensional point cloud data.

図1は、情報処理装置による一動作例を示す説明図である。FIG. 1 is an explanatory diagram illustrating an operation example of the information processing apparatus. 図2は、階段を3D測定した場合の平面例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of a plan view when a staircase is measured in 3D. 図3は、情報処理装置100の使用例を示す説明図である。FIG. 3 is an explanatory diagram illustrating a usage example of the information processing apparatus 100. 図4は、オクルージョン例1を示す説明図である。FIG. 4 is an explanatory diagram illustrating an occlusion example 1. 図5は、オクルージョン例2を示す説明図である。FIG. 5 is an explanatory diagram showing an occlusion example 2. 図6は、複数通りの平面の組み合わせについて高さが一致する平面の数で評価した例を示す説明図である。FIG. 6 is an explanatory diagram illustrating an example in which a plurality of combinations of planes are evaluated by the number of planes having the same height. 図7は、3D測定を行うための情報処理装置100の一例を示す説明図である。FIG. 7 is an explanatory diagram illustrating an example of the information processing apparatus 100 for performing 3D measurement. 図8は、情報処理装置100のハードウェア構成例を示すブロック図である。FIG. 8 is a block diagram illustrating a hardware configuration example of the information processing apparatus 100. 図9は、平面上の点群および点データ例を示す説明図である。FIG. 9 is an explanatory diagram illustrating an example of point groups and point data on a plane. 図10は、情報処理装置100の機能的構成例を示すブロック図である。FIG. 10 is a block diagram illustrating a functional configuration example of the information processing apparatus 100. 図11は、平面間の距離例を示す説明図である。FIG. 11 is an explanatory diagram illustrating an example of a distance between planes. 図12は、オフセット量Δhの候補についての評価例1を示す説明図である。FIG. 12 is an explanatory diagram illustrating Evaluation Example 1 for a candidate for the offset amount Δh. 図13は、オフセット量Δhの候補についての評価例2を示す説明図である。FIG. 13 is an explanatory diagram illustrating Evaluation Example 2 for a candidate for the offset amount Δh. 図14は、数f1と数f2とが異なる例を示す説明図である。FIG. 14 is an explanatory diagram illustrating an example in which the number f 1 is different from the number f 2 . 図15は、情報処理装置100が行う処理手順例を示すフローチャートである。FIG. 15 is a flowchart illustrating an example of a processing procedure performed by the information processing apparatus 100. 図16は、図15で示したオフセット量および評価値の算出処理の詳細な説明を示すフローチャート(その1)である。FIG. 16 is a flowchart (part 1) showing a detailed description of the offset amount and evaluation value calculation processing shown in FIG. 図17は、図15で示したオフセット量および評価値の算出処理の詳細な説明を示すフローチャート(その2)である。FIG. 17 is a flowchart (part 2) illustrating a detailed description of the offset amount and evaluation value calculation processing illustrated in FIG. 15. 図18は、図15で示したレジストレーション処理の詳細な説明を示すフローチャートである。FIG. 18 is a flowchart showing a detailed description of the registration process shown in FIG. 図19は、システム例を示す説明図である。FIG. 19 is an explanatory diagram of an example system.

以下に図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。   Hereinafter, embodiments of an information processing program, an information processing method, and an information processing apparatus according to the present invention will be described in detail with reference to the drawings.

図1は、情報処理装置による一動作例を示す説明図である。情報処理装置100は、複数の測定位置の各々の測定位置について3D測定によって得られた3D点群データを合成することを支援するコンピュータである。本実施の形態では、異なる測定位置として、第1測定位置101と第2測定位置102とを例に挙げて説明する。第1測定位置101について取得された3D点群データを第1点群データ111とする。第2測定位置102について取得された3D点群データを第2点群データ112とする。   FIG. 1 is an explanatory diagram illustrating an operation example of the information processing apparatus. The information processing apparatus 100 is a computer that supports the synthesis of 3D point cloud data obtained by 3D measurement for each measurement position of a plurality of measurement positions. In the present embodiment, the first measurement position 101 and the second measurement position 102 will be described as examples of different measurement positions. The 3D point cloud data acquired for the first measurement position 101 is referred to as first point cloud data 111. The 3D point cloud data acquired for the second measurement position 102 is referred to as second point cloud data 112.

従来、物体に向けてレーザを照射し、反射光が返ってくるまでの時間を測定することにより、物体までの距離を測定するセンサがある。また、センサ内で光学系を回転させて水平方向のスキャニングを行いながら物体までの距離を測定する、いわゆる2Dセンサがある。2Dセンサを駆動装置によって回転させることにより3D測定を行うことができる。   Conventionally, there is a sensor that measures the distance to an object by irradiating the object with a laser and measuring the time until the reflected light returns. In addition, there is a so-called 2D sensor that measures the distance to an object while performing horizontal scanning by rotating an optical system in the sensor. 3D measurement can be performed by rotating the 2D sensor with a driving device.

3次元点群データ(以下3D点群データ)は、例えば、各種シミュレータやCAD(Computer Aided Design)などのアプリケーションに利用される。3D点群データは、点データの集合である。点データによって点が特定可能である。ここでの点とは、2Dセンサによってレーザが照射された物体の点である。具体的には、点データは、少なくとも情報処理装置100から点までの距離に基づく位置情報を含む。情報処理装置100は、x軸、y軸、z軸などのローカルな直交座標系を用いて各点の位置を表す。より詳細に説明すると、点データは、情報処理装置100で用いる座標系Cにおける各点の位置を示す座標値であるベクトルデータを含む。座標値はx座標値、y座標値、z座標値である。また、点群と、点データの一例については、図9を用いて説明する。また、CADなどのアプリケーションは、例えば、3D点群データに基づいてコンピュータ空間上に測定対象の空間を模擬することができる。   Three-dimensional point cloud data (hereinafter referred to as 3D point cloud data) is used for various simulators and applications such as CAD (Computer Aided Design). The 3D point cloud data is a set of point data. A point can be identified by point data. The point here is a point of an object irradiated with a laser by a 2D sensor. Specifically, the point data includes position information based on at least the distance from the information processing apparatus 100 to the point. The information processing apparatus 100 represents the position of each point using a local orthogonal coordinate system such as an x-axis, a y-axis, or a z-axis. More specifically, the point data includes vector data that is a coordinate value indicating the position of each point in the coordinate system C used in the information processing apparatus 100. The coordinate values are an x coordinate value, a y coordinate value, and a z coordinate value. An example of a point group and point data will be described with reference to FIG. In addition, an application such as CAD can simulate a measurement target space on a computer space based on 3D point cloud data, for example.

ここで、複数の測定位置によって3D測定が行われる場合における3D測定からモデルデータの生成までの一連の処理について簡単に説明する。例えば、(1)3D測定、(2)フィルタリング、(3)レジストレーション、(4)メッシュモデル化というような手順によってCADなどで用いることが可能なモデルデータが生成される。情報処理装置100は、異なる測定位置で3D測定が実施されることにより複数の3D点群データを取得する(1)。そして、情報処理装置100は、3D点群データごとにフィルタリングを行うことによりノイズとなる点群を除去する(2)。例えば、3D点群データによって特定される点ごとに当該点から近い順から所定数の各点との間で分散を算出する。このとき、点が物品等を形成する要素である場合、近傍の点も密集するので、ノイズとなる孤立点よりも分散が小さくなり、ノイズとなる孤立点であれば、近傍に点が存在してもまばらとなるので、物品の構成要素である点よりも分散が大きくなる。このことから、一例として、情報処理装置100は、分散が閾値以上である点をノイズとみなして除去する。   Here, a series of processes from 3D measurement to generation of model data when 3D measurement is performed at a plurality of measurement positions will be briefly described. For example, model data that can be used in CAD or the like is generated by procedures such as (1) 3D measurement, (2) filtering, (3) registration, and (4) mesh modeling. The information processing apparatus 100 acquires a plurality of 3D point cloud data by performing 3D measurement at different measurement positions (1). And the information processing apparatus 100 removes the point cloud used as noise by filtering for every 3D point cloud data (2). For example, for each point specified by the 3D point cloud data, the variance is calculated between a predetermined number of points from the closest order. At this time, if the points are elements forming an article or the like, the neighboring points are also dense, so the variance is smaller than the isolated points that become noise, and if there are isolated points that become noise, there are points in the vicinity. Since it is very sparse, the dispersion is larger than the point that is a component of the article. For this reason, as an example, the information processing apparatus 100 regards and removes points whose variance is equal to or greater than a threshold as noise.

そして、情報処理装置100は、ノイズ除去後に、複数の3D点群データの位置合わせ処理を行うことにより、1つの3D点群データとして統合する(3)。情報処理装置100は、1つに統合された3D点群データをメッシュ化処理により、3次元の面データであるモデルデータに変換する(4)。なお、メッシュ化処理については、CADなどによって行われる。   Then, the information processing apparatus 100 integrates a plurality of 3D point cloud data as one 3D point cloud data by performing alignment processing of a plurality of 3D point cloud data after noise removal (3). The information processing apparatus 100 converts the 3D point cloud data integrated into one into model data that is three-dimensional surface data by meshing processing (4). Note that the meshing process is performed by CAD or the like.

異なる測定位置で測定された3D点群の位置合わせをするレジストレーションの方法として、3D点群の位置合わせにターゲットを用いる方法がある。具体的には、既知の形状のターゲットを測定対象の空間に設置しておき、各測定位置において測定された3D点群データからターゲット(基準点)を検出することにより複数の3D点群データを一つに合わせる方法がある。しかし、この方法では、ターゲットを設置する手間が発生し、どの地点にターゲットを設置するのがよいかといった判断が現場の作業員に委ねられることから使用時の手軽さが損なわれる。   As a registration method for aligning 3D point groups measured at different measurement positions, there is a method using a target for alignment of 3D point groups. Specifically, a target having a known shape is placed in the space to be measured, and a plurality of 3D point cloud data is obtained by detecting the target (reference point) from the 3D point cloud data measured at each measurement position. There is a way to match one. However, this method takes time and labor to install the target, and it is left to the operator at the site to determine at which point the target should be installed.

このため、ターゲットを用いずに、3D点群データにより表現される環境の形状から位置合わせを自動的に行う方法が求められる。しかし、複数の3D点群データごとに点、線や面などの特徴を複数抽出し、RANSAC(RANDOM Sample Consensus)などのアルゴリズムにしたがって複数の3D点群データ間の対応点を求めたのでは、計算時間が増大する場合がある。   For this reason, there is a need for a method of automatically performing alignment from the shape of the environment represented by 3D point cloud data without using a target. However, if a plurality of features such as points, lines, and surfaces are extracted for each of a plurality of 3D point group data, and corresponding points between the plurality of 3D point group data are obtained according to an algorithm such as RANSAC (RANDOM Sample Consensus), Calculation time may increase.

このことから、3D点群をそのまま処理するのではなく、それぞれの3D点群を一定の高さで水平方向にスライスし、そこに含まれる点群を2次元でマッチングすることにより、計算効率を高める技術がある。   Therefore, instead of processing the 3D point cloud as it is, each 3D point cloud is sliced horizontally at a certain height, and the point cloud contained therein is matched two-dimensionally, thereby improving the calculation efficiency. There is technology to enhance.

このような技術の場合、複数の3D点群を測定対象の空間に対して同じ高さで水平方向にスライスできることが条件となる。このとき、すべての3D測定を同じ高さで行えればよいが、測定対象の空間を死角なく測定しようとすると情報処理装置100の脚の長さを変えて測定したい場合や、机や台に情報処理装置100を置いて測定したい場合が出てくる。このような背景から、事前に各3D点群データの高さの基準を合わせる方法が求められる。   In such a technique, a condition is that a plurality of 3D point groups can be sliced horizontally at the same height with respect to the space to be measured. At this time, it is only necessary to perform all 3D measurements at the same height. However, if it is desired to measure the space to be measured without blind spots, the length of the legs of the information processing apparatus 100 may be changed, or the measurement may be performed on a desk or table. There is a case where the information processing apparatus 100 is placed and measurement is desired. From such a background, a method for matching the height reference of each 3D point cloud data in advance is required.

3D点群を高さ方向においてスライスする前に各3D点群データの高さの基準を合わせる方式として、多くの測定位置で観測可能な床面を検出し、その床面を基準とする方法がある。例えば、法線が鉛直上向きの点群により形成される平面を全て抽出して高さが最も低い面を基準面とする方法1と、法線が鉛直上向きの点群により形成される平面を全て抽出して面積が最も大きい面を基準面とする方法2との2つの方法がある。   As a method of adjusting the height reference of each 3D point cloud data before slicing the 3D point cloud in the height direction, there is a method of detecting a floor surface observable at many measurement positions and using the floor surface as a reference. is there. For example, all the planes formed by point groups whose normals are vertically upward are extracted and the plane having the lowest height is defined as the reference plane, and all planes formed by the point groups whose normals are vertically upward are all There are two methods, Method 2 in which the surface having the largest area after extraction is used as the reference surface.

しかしながら、上記2つの方法のいずれを採用したとしても、オクルージョンの問題で位置合わせする2つの測定位置で得られた点群データにおいて異なる平面を基準として選択してしまう状況が想定されるので、適用範囲に制約が生じる。測定の現場例については図3に示し、オクルージョン例については、図4および図5に示す。   However, even if either of the above two methods is adopted, it is assumed that different point planes are selected on the point cloud data obtained at the two measurement positions to be aligned due to the occlusion problem. There are constraints on the range. An example of the measurement site is shown in FIG. 3, and an example of occlusion is shown in FIGS.

そこで、情報処理装置100では、例えば、異なる測定位置で測定される3D点群の間で測定対象の空間において平面間の相対的な位置関係、すなわち平面間の高度差が一致するオフセット量を算出して高さの基準を合わせる。そして、情報処理装置100では、2次元のレジストレーションを実行する。これにより、情報処理装置100は、オクルージョンのある環境下における3D点群データの合成精度を高めることができる。   Therefore, the information processing apparatus 100 calculates, for example, an offset amount in which the relative positional relationship between the planes in the measurement target space between the 3D point groups measured at different measurement positions, that is, the altitude difference between the planes matches. And adjust the height standard. Then, the information processing apparatus 100 executes two-dimensional registration. Thereby, the information processing apparatus 100 can increase the synthesis accuracy of the 3D point cloud data in an environment with occlusion.

ここで、3D点群データから抽出される互いに平行な複数の水平面領域(以下、平面と省略する。)の高さの値に関する2つの集合データは、集合データ間で3D測定が行われた際の高さが異なる。このため、同一の平面に関する高さを表していてもその高さの値は異なる。すなわち、座標系Cの位置が異なる。同一の平面に関する高さの差が求めたいオフセット量である。ここで、オフセット量はΔhと表す。このとき、同一の平面であってもデータ間で高さの値は同じにならない。例えば床面と机上の平面との距離、机上の平面と天井面との距離、床面と天井面との距離などといったように同じ平面の組み合わせで距離が計算されれば3D点群データ間で多少の測定誤差はあっても略同一の値が得られる可能性が高い。よって、平面間の距離を特徴として異なる3D点群データ間で対応する面を探索することが可能である。3D点群データの間で対応する平面間の距離が同じであれば、正しい高さ方向の補正量であるオフセット量Δhを求めて各平面の高さの値を変換すると、3D点群データの間で同じ高さの値が複数得られることになる。   Here, two sets of data related to height values of a plurality of parallel horizontal plane regions (hereinafter abbreviated as planes) extracted from the 3D point cloud data are obtained when 3D measurement is performed between the set data. Different heights. For this reason, even if it represents the height regarding the same plane, the value of the height differs. That is, the position of the coordinate system C is different. The difference in height with respect to the same plane is the offset amount to be obtained. Here, the offset amount is represented by Δh. At this time, even in the same plane, the height value is not the same between the data. For example, if the distance is calculated using a combination of the same plane, such as the distance between the floor and the plane on the desk, the distance between the plane on the desk and the ceiling, the distance between the floor and the ceiling, etc., between the 3D point cloud data There is a high possibility that substantially the same value will be obtained even if there is some measurement error. Therefore, it is possible to search for a corresponding surface between different 3D point cloud data characterized by the distance between the planes. If the distance between corresponding planes is the same among the 3D point cloud data, the offset amount Δh, which is the correct correction amount in the height direction, is obtained, and the height value of each plane is converted. A plurality of values having the same height can be obtained.

しかし、測定対象の空間が階段のように、同じような平面が等間隔で繰り返されるような空間である場合、誤ったオフセット量Δhにおいて異なる3D点群データの間で平面の高さが同じとなる数が多くなることがある。なお、誤ったオフセット量Δhにおいて平面の高さが同じとなる数が多くなる例については、図6に示す。   However, when the space to be measured is a space in which similar planes are repeated at regular intervals like a staircase, the heights of the planes are different between different 3D point cloud data at the wrong offset amount Δh. The number of may increase. An example in which the number of planes having the same height at the wrong offset amount Δh increases is shown in FIG.

そこで、情報処理装置100は、第1点群データから得る第1平面群の1面に合わせて、異なる位置での第2点群データから得る第2面群の高さを補正した第2面群の面と高さが同じ第1面間の距離のうち、第1面群の面間の特徴的な距離と同じ距離の数からオフセット量を特定する。これにより、異なる位置での3D測定結果の合成精度を挙げることができる。   Therefore, the information processing apparatus 100 corrects the height of the second surface group obtained from the second point group data at different positions in accordance with one surface of the first plane group obtained from the first point group data. Of the distances between the first surfaces having the same height as the surface of the group, the offset amount is specified from the number of the same distances as the characteristic distance between the surfaces of the first surface group. Thereby, the synthesis accuracy of 3D measurement results at different positions can be raised.

図1において、第1点群データ111から抽出される複数の第1平面の高さの集合をH1とし、第2点群データ112から抽出される複数の第2平面の高さの集合をH2とする。また、集合H2をオフセット量Δhによって補正した補正後の集合は、H’2とする。 In FIG. 1, a set of heights of a plurality of first planes extracted from the first point cloud data 111 is set as H 1, and a set of heights of a plurality of second planes extracted from the second point cloud data 112 is set as H 1. Let H 2 . The corrected set obtained by correcting the set H 2 with the offset amount Δh is H ′ 2 .

情報処理装置100は、第1測定位置101と第2測定位置102の各々について、各々の測定位置から物体までの距離に基づく3次元の点群情報(第1点群データ111および第2点群データ112)を取得する。ここで、情報処理装置100は、各測定位置の点群データごとに点群データに含まれる各点データの座標をz軸の正方向が抽出される水平面の法線方向となるように変換しておく。   The information processing apparatus 100 uses, for each of the first measurement position 101 and the second measurement position 102, three-dimensional point group information (first point group data 111 and second point group) based on the distance from each measurement position to the object. Data 112) is obtained. Here, the information processing apparatus 100 converts the coordinate of each point data included in the point cloud data for each point cloud data at each measurement position so that the normal direction of the horizontal plane from which the positive direction of the z axis is extracted. Keep it.

情報処理装置100は、各々の測定位置について、取得した点群データから、平面領域に属する点群情報を抽出する。具体的には、情報処理装置100は、各々の測定位置について、取得した点群データによって特定される3D点群に基づいて、互いに平行な複数の平面を抽出する。第1点群データ111から抽出される互いに平行な複数の平面を、複数の第1平面とする。第2点群データ112から抽出される互いに平行な複数の平面を、複数の第2平面とする。ここで、平面の抽出の詳細な処理については後述する。   The information processing apparatus 100 extracts point group information belonging to the planar area from the acquired point group data for each measurement position. Specifically, the information processing apparatus 100 extracts a plurality of parallel planes for each measurement position based on the 3D point cloud specified by the acquired point cloud data. A plurality of parallel planes extracted from the first point group data 111 are defined as a plurality of first planes. A plurality of parallel planes extracted from the second point group data 112 are defined as a plurality of second planes. Here, detailed processing of plane extraction will be described later.

図1において、第1測定位置101と第2測定位置102は、図2に示すように階段の踊り場である。第1測定位置101は、例えば、図2に示すような上り階段側を測定可能である。第2測定位置102は、例えば、図2に示すような下り階段側を測定可能である。第1点群データ111から抽出される複数の第1平面は、例えば、天井面、上り階段の踏み面、踊り場の床面などが含まれる。第2点群データ112から抽出される複数の第2平面は、例えば、天井面、下り階段の踏み面、踊り場の床面などが含まれる。   In FIG. 1, a first measurement position 101 and a second measurement position 102 are stair landings as shown in FIG. The first measurement position 101 can measure, for example, the upstairs side as shown in FIG. The second measurement position 102 can measure, for example, the descending staircase side as shown in FIG. The plurality of first planes extracted from the first point group data 111 include, for example, a ceiling surface, a step surface of an upstairs, a floor surface of a landing, and the like. The plurality of second planes extracted from the second point group data 112 include, for example, a ceiling surface, a step surface of a descending staircase, a floor surface of a landing, and the like.

ここで、情報処理装置100は、複数の測定位置で測定された3D点群データごとに当該3D点群データから水平面を抽出することもできる。   Here, the information processing apparatus 100 can also extract a horizontal plane from the 3D point cloud data for each 3D point cloud data measured at a plurality of measurement positions.

第1点群データ111から抽出される複数の第1平面の高さの値に関する集合は、H1とする。第2点群データ112から抽出される複数の第2平面の高さの値に関する集合は、H2とする。例えば、複数の第1平面の高さを実線で示し、複数の第2平面の高さを点線で示す。 A set related to height values of a plurality of first planes extracted from the first point cloud data 111 is H 1 . A set related to the height values of the plurality of second planes extracted from the second point cloud data 112 is H 2 . For example, the heights of the plurality of first planes are indicated by solid lines, and the heights of the plurality of second planes are indicated by dotted lines.

情報処理装置100は、複数の測定位置の間で、抽出した点群情報が属する平面領域の間の垂直方向の差分が一致するオフセット量を算出する。   The information processing apparatus 100 calculates an offset amount in which the vertical difference between the planar areas to which the extracted point group information belongs is the same among a plurality of measurement positions.

具体的には、情報処理装置100は、第1測定位置101について、複数の第1平面の各々の第1平面の間の各距離のうちの他の距離との差分が所定値以上である距離を特定する。複数の第1平面は、取得した第1点群データ111から抽出した複数の点群データの各々に属する互いに平行な第1平面群である。複数の第1平面の各々の第1平面の間の各距離は、例えば、d11,d12,d13,d14,d15,d16である。所定値は、例えば、利用者によって設定されればよい。後述例では所定値をαと表す。ここでは、情報処理装置100は、他の距離と比較して特徴的な距離を特定する。距離d15と距離d16とは、階段の床面間の距離であり、ほぼ同じである。情報処理装置100は、距離d15と距離d16を特定しない。ここでは、情報処理装置100は、距離d11,d12,d13,d14を特定する。特定された距離は、特徴的な距離とも称する。 Specifically, the information processing apparatus 100 is a distance at which the difference between the first measurement position 101 and another distance among the distances between the first planes of the plurality of first planes is a predetermined value or more. Is identified. The plurality of first planes are mutually parallel first plane groups belonging to each of the plurality of point group data extracted from the acquired first point group data 111. Each distance between the first planes of the plurality of first planes is, for example, d 11 , d 12 , d 13 , d 14 , d 15 , d 16 . The predetermined value may be set by the user, for example. In the example described later, the predetermined value is represented by α. Here, the information processing apparatus 100 identifies a characteristic distance compared to other distances. The distance d 15 and the distance d 16 are distances between the floor surfaces of the stairs and are substantially the same. The information processing apparatus 100 does not specify a distance d 15 and the distance d 16. Here, the information processing apparatus 100 specifies the distances d 11 , d 12 , d 13 , and d 14 . The identified distance is also referred to as a characteristic distance.

情報処理装置100は、第2測定位置102について、複数の第2平面に含まれる第2平面と、複数の第1平面に含まれる第1平面と、の組み合わせを生成する。複数の第2平面は、取得した第2点群データ112から抽出した複数の点群データの各々に属する互いに平行な第2平面群である。情報処理装置100は、生成した組み合わせの各々について、組み合わせに含まれる平面の間の垂直方向(z軸方向)の位置を一致させるように、複数の第2平面に含まれる第2平面の垂直方向の位置を補正する。すなわち、情報処理装置100は、組み合わせに含まれる平面の間の高さを一致させるように、複数の第2平面の高さを補正する。   The information processing apparatus 100 generates, for the second measurement position 102, a combination of a second plane included in the plurality of second planes and a first plane included in the plurality of first planes. The plurality of second planes are second plane groups that are parallel to each other and belong to each of the plurality of point group data extracted from the acquired second point group data 112. For each of the generated combinations, the information processing apparatus 100 matches the vertical direction of the second plane included in the plurality of second planes so that the positions in the vertical direction (z-axis direction) between the planes included in the combination match. Correct the position of. That is, the information processing apparatus 100 corrects the heights of the plurality of second planes so that the heights between the planes included in the combination match.

図1では、2つの組み合わせによる補正例を挙げる。1つ目は、複数の第1平面のうちの天井面と、複数の第2平面のうちの天井面との組み合わせにより補正した例(図1の正しい対応例)である。2つ目は、複数の第1平面のうちの上り階段の上段の床面と、複数の第2平面のうちの踊り場の床面との高さを一致させるように補正した例(図1の誤対応例)である。補正した後の複数の第2平面の高さの値に関する集合は、H’2とする。 In FIG. 1, a correction example using two combinations is given. The first is an example (correct correspondence example in FIG. 1) corrected by a combination of the ceiling surface of the plurality of first planes and the ceiling surface of the plurality of second planes. The second is an example in which the height of the upper floor of the ascending stairs among the plurality of first planes and the height of the landing floor of the plurality of second planes are made to coincide (FIG. 1). Example of erroneous correspondence). A set relating to the height values of the plurality of second planes after correction is H ′ 2 .

次に、情報処理装置100は、組み合わせの各々について、複数の第1平面の各々の第1平面の垂直方向の位置のうち、補正後の各々の第2平面領域の垂直方向の位置と一致する位置を特定する。換言すると、情報処理装置100は、組み合わせの各々について、複数の第1平面の各々の第1平面の高さのうち、補正後の複数の第2平面の各々の第2平面の高さと一致する高さを特定する。   Next, for each combination, the information processing apparatus 100 matches the vertical position of each corrected second plane region among the vertical positions of the first planes of the plurality of first planes. Identify the location. In other words, for each combination, the information processing apparatus 100 matches the height of each second plane of the plurality of corrected second planes out of the height of each first plane of the plurality of first planes. Specify the height.

正しい対応例の場合、複数の第1平面に含まれる天井面の高さと、複数の第1平面に含まれる踊り場の床面の高さとが特定される。誤対応例の場合、複数の第1平面に含まれる上り階段の2つの床面の高さと、複数の第1平面に含まれる踊り場の床面の高さとが特定される。   In the case of a correct correspondence example, the height of the ceiling surface included in the plurality of first planes and the height of the floor surface of the landing included in the plurality of first planes are specified. In the case of an erroneous correspondence example, the heights of the two floor surfaces of the ascending staircase included in the plurality of first planes and the heights of the landing floor surfaces included in the plurality of first planes are specified.

情報処理装置100は、組み合わせの各々について、特定した位置(高さ)の2つの組み合わせのうち、位置(高さ)の組み合わせに含まれる位置(高さ)間の差分が、特徴的な距離と一致する組み合わせの数を特定する。   For each combination, the information processing apparatus 100 determines that the difference between the positions (heights) included in the combination of the positions (heights) of the two combinations of the specified positions (heights) is a characteristic distance. Identify the number of matching combinations.

正しい対応例の場合、天井面の高さと、踊り場の床面の高さと組み合わせについての差分が距離d13であり、情報処理装置100は、この差分が特徴的な距離に含まれると判断する。そして、正しい対応例の場合、情報処理装置100は、組み合わせの数として1を特定する。 In the case of a correct correspondence example, the difference between the height of the ceiling surface and the height of the landing floor and the combination is the distance d 13 , and the information processing apparatus 100 determines that this difference is included in the characteristic distance. In the case of a correct correspondence example, the information processing apparatus 100 specifies 1 as the number of combinations.

また、誤対応例の場合、上り階段の上段の床面の高さと上り階段の下段の床面の高さとの組み合わせについての差分が距離d15であり、情報処理装置100は、この差分が特徴的な距離に含まれないと判断する。上り階段の上段の床面の高さと踊り場の床面の高さとの組み合わせについての差分が距離d14であり、情報処理装置100は、この差分が特徴的な距離に含まれると判断する。上り階段の下段の床面の高さと踊り場の床面の高さとの組み合わせについての差分が距離d16であり、情報処理装置100は、この差分が特徴的な距離に含まれると判断する。したがって、誤対応例の場合、情報処理装置100は、組み合わせの数として1を特定する。 In the case of an erroneous correspondence example, the difference between the height of the upper floor surface of the upstairs and the height of the lower floor surface of the upstairs is the distance d 15 , and the information processing apparatus 100 is characterized by this difference. It is not included in the distance. A difference distance d 14 for the combination of the heights of the landing floor of the upper floor of the uplink stairs, the information processing apparatus 100 determines that the difference is included in the feature distances. The difference regarding the combination of the height of the lower floor of the upstairs and the height of the landing floor is the distance d 16 , and the information processing apparatus 100 determines that this difference is included in the characteristic distance. Therefore, in the case of an erroneous correspondence example, the information processing apparatus 100 specifies 1 as the number of combinations.

次に、情報処理装置100は、組み合わせの各々について特定した数に基づいて、オフセット量を特定する。具体的には、情報処理装置100は、特定した数が最も大きい組み合わせについてのオフセット量を特定する。図1の例では、正しい対応と誤対応とのいずれの組み合わせについても特定した数が同じであるため、オフセット量として両方の組み合わせについてのオフセット量が特定されてもよいし、他の評価値を導入することによりオフセット量が特定されてもよい。   Next, the information processing apparatus 100 specifies the offset amount based on the number specified for each combination. Specifically, the information processing apparatus 100 specifies the offset amount for the combination with the largest specified number. In the example of FIG. 1, the specified number is the same for any combination of correct correspondence and incorrect correspondence. Therefore, the offset amount for both combinations may be specified as the offset amount, and other evaluation values may be used. The amount of offset may be specified by introducing.

そして、情報処理装置100は、特定したオフセット量にしたがって補正された点群情報を用いて位置合わせを行う。具体的には、情報処理装置100は、第2点群データ112が、特定したオフセット量にしたがって補正された第2点群データ112と、第1点群データ111と、を用いて位置合わせを行う。情報処理装置100は、第2点群データ112に含まれる各点データのz座標値に、特定したオフセット量を加算する。これにより、補正された第2点群データ112が得られる。なお、位置合わせについては、従来技術を用いればよい。   Then, the information processing apparatus 100 performs alignment using the point cloud information corrected according to the specified offset amount. Specifically, the information processing apparatus 100 performs alignment using the second point cloud data 112 and the first point cloud data 111 in which the second point cloud data 112 is corrected according to the specified offset amount. Do. The information processing apparatus 100 adds the specified offset amount to the z coordinate value of each point data included in the second point cloud data 112. Thereby, the corrected second point cloud data 112 is obtained. Note that the conventional technique may be used for alignment.

また、図2や図6を用いて後述するように、複数の第1平面のうち、補正後の複数の第2平面と高さが一致する平面の数を評価値とする場合、誤対応の方が正しい対応よりも高い評価となってしまう。これに対して、図1の例では、誤対応と正しい対応との評価が同じになるため、誤対応についてのオフセット量が選ばれるのを抑制することができる。ひいては、複数の3D点群データの合成精度の向上を図ることができる。   Further, as will be described later with reference to FIGS. 2 and 6, when the number of planes having the same height as the corrected plurality of second planes among the plurality of first planes is used as the evaluation value, there is an error. Will be higher than the correct response. On the other hand, in the example of FIG. 1, since the evaluation of the incorrect response and the correct response is the same, it is possible to suppress the selection of the offset amount for the incorrect response. As a result, the synthesis accuracy of a plurality of 3D point cloud data can be improved.

図2は、階段を3D測定した場合の平面例を示す説明図である。図2(1)には、階段の踊り場における第1測定位置101と、同じ踊り場における第2測定位置102とを示す。情報処理装置100は、第1測定位置101から上りの階段を測定する。情報処理装置100は、第2測定位置102から下りの階段を測定する。   FIG. 2 is an explanatory diagram illustrating an example of a plan view when a staircase is measured in 3D. FIG. 2A shows a first measurement position 101 at a stair landing and a second measurement position 102 at the same landing. The information processing apparatus 100 measures the stairs going up from the first measurement position 101. The information processing apparatus 100 measures the stairs going down from the second measurement position 102.

図2(2)には、第1測定位置101によって測定された第1点群データ111から抽出される複数の第1平面と、第2測定位置102によって測定された第2点群データ112から抽出される複数の第2平面と、を示す(点のハッチングの部分)。複数の第1平面は、例えばP11〜P15である。複数の第2平面はP21〜P26である。 FIG. 2 (2) shows a plurality of first planes extracted from the first point cloud data 111 measured at the first measurement position 101 and the second point cloud data 112 measured at the second measurement position 102. A plurality of second planes to be extracted are shown (the hatched portion of points). The plurality of first planes are, for example, P 11 to P 15 . The plurality of second planes are P 21 to P 26 .

図2において、第1平面P11と第2平面P21は、踊り場の天井面である。第1平面P15と第2平面P22は、踊り場の床面である。第1平面P12から第1平面P14は、それぞれ上り階段の踏み面である。第2平面P23から第2平面P25は、それぞれ下り階段の踏み面である。第2平面P26は、下り階段を下った先にある踊り場の床面である。このように、第1平面P12から第1平面P14と、第2平面P23から第2平面P25とは、異なる階段の各踏み面である。 In FIG. 2, the first plane P 11 and the second plane P 21 are ceiling surfaces of landings. A first plane P 15 second plane P 22 is the floor of the landing. First plane P 14 from the first plane P 12 is the tread of the uplink stairs respectively. Each of the second plane P 23 to the second plane P 25 is a tread of a descending staircase. The second plane P 26 is a floor surface of a landing that is down the descending stairs. Thus, the first plane P 14 from the first plane P 12, the second plane P 23 and the second plane P 25, which are the treads of a different staircase.

ここで、第1測定位置101についての複数の第1平面と、第2測定位置102についての高さを補正後の複数の第2平面と、の高さが一致する数を評価値とした場合について説明する。なお、この評価値の算出方法の詳細については、図6を用いて説明する。第1平面P11と第2平面P21との高さを一致させるよう複数の第2平面を補正した場合より第1平面P15と第2平面P25との高さを一致させるよう複数の第2平面を補正した場合の方が、第1平面と補正後の第2平面との高さが一致する数が多くなる。このように、階段のように同じような平面が等間隔で連続すると、誤った対応の方が正しい対応よりも評価が高くなってしまう場合がある。そして、誤ったオフセット量が最適なオフセット量として特定されてしまう。 Here, the evaluation value is the number of coincidence heights of the plurality of first planes for the first measurement position 101 and the plurality of second planes after the height correction for the second measurement position 102 is corrected. Will be described. Details of the evaluation value calculation method will be described with reference to FIG. A plurality of first planes P 15 and second planes P 25 are made to coincide with each other as compared with the case where the plurality of second planes are corrected so that the heights of the first plane P 11 and the second plane P 21 coincide with each other. When the second plane is corrected, the number of the first plane and the corrected second plane coincide with each other. In this way, if similar planes are continued at regular intervals like a staircase, an incorrect response may have a higher evaluation than a correct response. Then, an incorrect offset amount is specified as the optimum offset amount.

図1で説明したように、本実施の形態にかかる情報処理装置100は、階段のように同様の平面が等間隔で連続するような空間を測定対象として位置合わせを行う場合に精度のよいオフセット量を特定することができる。   As described with reference to FIG. 1, the information processing apparatus 100 according to the present embodiment has a high-precision offset when performing alignment using a space in which similar planes are continuous at equal intervals, such as stairs, as a measurement target. The amount can be specified.

ここで、図3を用いて、測定の現場例を示し、図4および図5を用いて、オクルージョン例を示す。   Here, FIG. 3 is used to show an example of measurement site, and FIGS. 4 and 5 are used to show an example of occlusion.

図3は、情報処理装置100の使用例を示す説明図である。図3には、作業が行われる区画の一例として、現場300A〜現場300Nが例示されている。なお、以下では、現場300A〜現場300Nを総称する場合に「現場300」と記載する場合がある。   FIG. 3 is an explanatory diagram illustrating a usage example of the information processing apparatus 100. FIG. 3 illustrates a site 300 </ b> A to a site 300 </ b> N as an example of a section where work is performed. In the following description, “site 300” may be referred to when the sites 300A to 300N are collectively referred to.

情報処理装置100は、例えば、作業者301がハンドキャリーを行うポータブル型の装置として実装される。作業者301が現場300A〜現場300Nで作業を行う場合、1つの現場300につき1台の情報処理装置100を設置せずともかまわず、1台の情報処理装置100を各現場300で持ち回って使用することができる。すなわち、作業者301は、現場300で作業が終了する度に、次の現場300へハンドキャリー等で情報処理装置100を持ち込み、次の現場300の任意の位置に載置することにより、支援データの提供を受けることができる。   The information processing apparatus 100 is mounted as a portable apparatus in which the worker 301 performs hand carry, for example. When the worker 301 performs work on the site 300 </ b> A to 300 </ b> N, it is not necessary to install one information processing device 100 per site 300, and one information processing device 100 is carried around at each site 300. Can be used. That is, each time work is completed at the site 300, the worker 301 brings the information processing apparatus 100 to the next site 300 by hand carry or the like and places the information processing device 100 at an arbitrary position on the next site 300, thereby supporting data. Can be provided.

このように、情報処理装置100は、現場300A〜現場300Nに持ち込むことにより、簡単な操作で周囲の環境をくまなく測定してデジタイズ化することができる。さらに、情報処理装置100は、環境中の人の測定を行いデジタイズ化した環境情報と紐づけることで、環境中の人の行動を記録したり、人の状態に応じた情報を提供したりするなど、様々な情報支援を可能とする。   As described above, the information processing apparatus 100 can measure and digitize the surrounding environment with a simple operation by bringing the information processing apparatus 100 to the site 300A to 300N. Furthermore, the information processing apparatus 100 records the behavior of the person in the environment or provides information according to the state of the person by measuring the person in the environment and linking it with the digitized environment information. Various information support is possible.

図4は、オクルージョン例1を示す説明図である。図4には、上記の法線が鉛直上向きの点群により形成される平面を全て抽出して高さが最も低い面を基準面とする方法1でオクルージョンにより高さの基準合わせが失敗する場面の一例が示される。図4には、情報処理装置100が測定位置M1に載置された状態で3D点群データの測定が実施されると共に、情報処理装置100が測定位置M2に載置された状態で3D点群データの測定が実施される場合が示される。さらに、図4には、測定位置M1で測定された3D点群データから抽出される平面のうち高さが最も低い面が太線の実線で示される一方で、測定位置M2で測定された3D点群データから抽出される平面のうち高さが最も低い面が太線の破線で示される。図4に示す現場300Aには、床面よりも低い位置に階段の踊り場が存在する。かかる階段の踊り場は、測定位置M2からはレーザが届く一方で、測定位置M1からは階段が死角となってレーザが届かない。このオクルージョンによって、測定位置M1で測定された3D点群データからは床面が最低面として抽出される一方で、測定位置M2で測定された3D点群データからは階段の踊り場が最低面として抽出される。この結果、測定位置M1および測定位置M2の間で基準面にずれが生じるので、高さの位置合わせに失敗する。   FIG. 4 is an explanatory diagram illustrating an occlusion example 1. FIG. 4 shows a scene where the height reference adjustment fails due to occlusion in the method 1 in which all the planes formed by the point groups whose normals are vertically upward are extracted and the plane having the lowest height is used as the reference plane. An example of is shown. In FIG. 4, the measurement of 3D point cloud data is performed with the information processing apparatus 100 placed at the measurement position M1, and the 3D point cloud is placed with the information processing apparatus 100 placed at the measurement position M2. The case where data measurement is carried out is shown. Further, in FIG. 4, the plane having the lowest height among the planes extracted from the 3D point cloud data measured at the measurement position M1 is indicated by a thick solid line, while the 3D points measured at the measurement position M2 are shown. The plane with the lowest height among the planes extracted from the group data is indicated by a thick broken line. On site 300A shown in FIG. 4, there is a stair landing at a position lower than the floor. In such a stair landing, the laser beam reaches from the measurement position M2, while the laser beam does not reach the measurement point M1 because the staircase is a blind spot. By this occlusion, the floor is extracted as the lowest surface from the 3D point cloud data measured at the measurement position M1, while the stair landing is extracted as the lowest surface from the 3D point cloud data measured at the measurement position M2. Is done. As a result, the reference plane is displaced between the measurement position M1 and the measurement position M2, so that the height alignment fails.

図5は、オクルージョン例2を示す説明図である。図5には、法線が鉛直上向きの点群により形成される平面を全て抽出して面積が最も大きい面を基準面とする方法2でオクルージョンにより高さの基準合わせが失敗する場面の一例が示される。図5には、情報処理装置100が測定位置M3に載置された状態で3D点群データの測定が実施されると共に、情報処理装置100が測定位置M4に載置された状態で3D点群データの測定が実施される場合が示される。さらに、図5には、測定位置M3で測定された3D点群データから抽出される平面のうち面積が最も大きい面が太線の実線で示される一方で、測定位置M4で測定された3D点群データから抽出される平面のうち面積が最も大きい面が太線の破線で示される。   FIG. 5 is an explanatory diagram showing an occlusion example 2. FIG. 5 shows an example of a scene in which height alignment fails due to occlusion in Method 2 in which all planes formed by point clouds whose normals are vertically upward are extracted and the plane with the largest area is used as the reference plane. Indicated. In FIG. 5, the measurement of 3D point cloud data is performed in a state where the information processing apparatus 100 is placed at the measurement position M3, and the 3D point group is displayed in a state where the information processing apparatus 100 is placed at the measurement position M4. The case where data measurement is carried out is shown. Further, in FIG. 5, the surface having the largest area among the planes extracted from the 3D point cloud data measured at the measurement position M3 is indicated by a thick solid line, while the 3D point cloud measured at the measurement position M4. The plane with the largest area among the planes extracted from the data is indicated by a thick broken line.

図5に示す現場300Bは、会議室に大きめの会議卓が置かれており、測定位置M3では、床面に情報処理装置100が載置される一方で、測定位置M4では、会議卓の机上に情報処理装置100が載置される場合が示される。この場合、測定位置M3からは床面を広く走査できる一方で、会議卓の机上に載置される測定位置M4からは会議卓に隠れて床面が一部しか走査できない。かかるオクルージョンによって、測定位置M3で測定された3D点群データからは床面が最も面積の大きい面として抽出される一方で、測定位置M4で測定された3D点群データからは会議卓の机上の面が最も面積の大きい面として抽出される。この結果、測定位置M3および測定位置M4の間で基準面にずれが生じるので、高さの位置合わせに失敗する。   On the site 300B shown in FIG. 5, a large conference table is placed in the conference room. At the measurement position M3, the information processing apparatus 100 is placed on the floor, while at the measurement position M4, the conference table is on the desk. A case where the information processing apparatus 100 is placed is shown. In this case, the floor surface can be scanned widely from the measurement position M3, while only a part of the floor surface can be scanned behind the measurement position M4 placed on the desk of the conference table while being hidden by the conference table. By such occlusion, the floor surface is extracted from the 3D point cloud data measured at the measurement position M3 as the surface having the largest area, while the 3D point cloud data measured at the measurement position M4 is extracted on the desk of the conference table. The surface is extracted as the surface having the largest area. As a result, since the reference plane is displaced between the measurement position M3 and the measurement position M4, the height alignment fails.

これら図4および図5に示した通り、床面に限らず環境中の特定の場所を検出して基準にする方法では、測定位置によってオクルージョンで基準とする場所が一部または全部隠される状況に弱い。情報処理装置100では、床面などの特定の面に基準に求める高さの基準合わせは実施しない。上述したように、情報処理装置100は、点群データ111から抽出した複数の第1平面に含まれる第1平面と、点群データ112から抽出した複数の第2平面に含まれる第2平面と、の高さが合うようなオフセット量を算出して、高さ方向の位置合わせを行う。そして、情報処理装置100は、2次元の位置合わせを行う。   As shown in FIG. 4 and FIG. 5, in the method of detecting a specific place in the environment, not limited to the floor, and using it as a reference, the reference position in occlusion is partially or entirely hidden depending on the measurement position. weak. The information processing apparatus 100 does not perform the height reference adjustment for a specific surface such as a floor surface. As described above, the information processing apparatus 100 includes the first plane included in the plurality of first planes extracted from the point cloud data 111, and the second plane included in the plurality of second planes extracted from the point cloud data 112. An offset amount that matches the heights of, is calculated, and alignment in the height direction is performed. The information processing apparatus 100 performs two-dimensional alignment.

図6は、複数通りの平面の組み合わせについて高さが一致する平面の数で評価した例を示す説明図である。図6では、集合H1に含まれる高さと集合H2に含まれる高さと、の組み合わせごとに、組み合わせに含まれる高さに基づいてオフセット量Δhの候補が算出される。すなわち、組み合わせに含まれる集合H1の高さに対応する平面と、組み合わせに含まれる集合H2の高さに対応する平面と、の高さが一致するようなオフセット量Δhの候補が算出される。オフセット量Δhの候補は、例えば、組み合わせに含まれる集合H1の高さから、組み合わせに含まれる集合H2の高さを減算した値である。 FIG. 6 is an explanatory diagram illustrating an example in which a plurality of combinations of planes are evaluated by the number of planes having the same height. In FIG. 6, for each combination of the height included in the set H 1 and the height included in the set H 2 , a candidate for the offset amount Δh is calculated based on the height included in the combination. That is, a candidate for the offset amount Δh is calculated such that the plane corresponding to the height of the set H 1 included in the combination matches the plane corresponding to the height of the set H 2 included in the combination. The The candidate for the offset amount Δh is, for example, a value obtained by subtracting the height of the set H 2 included in the combination from the height of the set H 1 included in the combination.

そして、組み合わせの各々について、集合H2を補正した補正後の集合H’2が算出される。組み合わせの各々について、集合H1の高さと、補正後の集合H’2の高さとの差分が所定の範囲に収まる個数が評価値として算出される。そして、算出された評価値が最大となる組み合わせについてのオフセット量Δhの候補がオフセット量Δhとして特定される。 Then, for each of the combinations, a set H '2 corrected by correcting the set H 2 is calculated. For each combination, the number of differences between the height of the set H 1 and the height of the corrected set H ′ 2 within a predetermined range is calculated as an evaluation value. And the candidate of offset amount (DELTA) h about the combination in which the calculated evaluation value becomes the largest is specified as offset amount (DELTA) h.

図6には、第1測定位置101における天井面と、第2測定位置102における天井面との位置が合うように補正した正しい対応例を示す。また、図6には、第1測定位置101における上り階段の床面と第2測定位置102における踊り場の床面との位置が合うように補正した誤対応例を示す。正しい対応例よりも誤対応例の方が評価値が大きくなり、誤対応についてのオフセット量Δhの候補が正しいオフセット量として特定されてしまう。   FIG. 6 shows an example of correct correspondence corrected so that the ceiling surface at the first measurement position 101 and the ceiling surface at the second measurement position 102 are aligned. FIG. 6 shows an erroneous correspondence example in which the floor surface of the ascending staircase at the first measurement position 101 and the landing floor surface at the second measurement position 102 are corrected so as to match each other. The evaluation value of the erroneous correspondence example is larger than that of the correct correspondence example, and the candidate of the offset amount Δh for the erroneous correspondence is specified as the correct offset amount.

測定対象の空間が階段のような場所でなければ、高さが一致する数によってオフセット量を特定するとよい。しかしながら、階段のように同様の平面が等間隔で連続するような空間が測定対象であると、例えば異なる階段の踏み面同士を一致させた場合に第1平面と補正後の第2平面との高さが一致する数が多くなる場合がある。このような場合、誤ったオフセット量が最適なオフセット量として特定されてしまうことがある。   If the space to be measured is not a place like a staircase, the offset amount may be specified by the number of matching heights. However, if a space in which similar planes are continuous at equal intervals, such as stairs, is the measurement target, for example, when the tread surfaces of different stairs are matched, the first plane and the corrected second plane There are cases where the number of matching heights increases. In such a case, an incorrect offset amount may be specified as the optimum offset amount.

そこで、情報処理装置100は、第1平面及び第2平面の組み合わせごとに、各第1平面のうち、組み合わせの高さが合うように補正した各第2平面の面と高さが一致する第1平面間の距離のうち、各第1平面間の特徴的な距離と一致する距離の数を求める。そして、情報処理装置100は、第1平面及び第2平面の組み合わせごとに求めた一致数に基づいて、オフセット量を特定する。これにより、階段のように同様の平面が等間隔で連続する際に、特徴的な水平面間の距離が一致するか否かを判定することができる。異なる位置で3D測定した複数の点群データの合成精度の向上を図ることができる。   Therefore, the information processing apparatus 100 is configured such that, for each combination of the first plane and the second plane, the height of each first plane that matches the height of each second plane corrected so that the height of the combination matches. Among the distances between one plane, the number of distances that coincide with the characteristic distance between each first plane is obtained. Then, the information processing apparatus 100 specifies the offset amount based on the number of matches obtained for each combination of the first plane and the second plane. Thereby, when similar planes continue at regular intervals like a staircase, it is possible to determine whether or not the distances between characteristic horizontal planes match. It is possible to improve the synthesis accuracy of a plurality of point cloud data measured in 3D at different positions.

図7は、3D測定を行うための情報処理装置100の一例を示す説明図である。図7において、情報処理装置100は、駆動装置701と、測定装置702と、制御装置703と、を有する。情報処理装置100は、例えば、水平床面に設置されて使用される。図7において、情報処理装置100の筐体の形状については、例えば、いずれの方向から情報処理装置100を見ても外形が略同一となる形状となっているが、これに限らない。   FIG. 7 is an explanatory diagram illustrating an example of the information processing apparatus 100 for performing 3D measurement. In FIG. 7, the information processing apparatus 100 includes a drive device 701, a measurement device 702, and a control device 703. The information processing apparatus 100 is installed and used on a horizontal floor, for example. In FIG. 7, the shape of the housing of the information processing apparatus 100 is, for example, a shape that has substantially the same outer shape when viewed from any direction, but is not limited thereto.

また、情報処理装置100の3脚部分は、例えば伸縮することができる。情報処理装置100の3脚部分の伸縮により情報処理装置100の高さを変更することができる。情報処理装置100は、3脚部分により、例えば、30cmから130cmまでの高さを変更することができる。   In addition, the tripod portion of the information processing apparatus 100 can be expanded and contracted, for example. The height of the information processing apparatus 100 can be changed by expansion and contraction of the tripod portion of the information processing apparatus 100. The information processing apparatus 100 can change the height from 30 cm to 130 cm, for example, by the tripod portion.

駆動装置701は、回転軸710(図7中、z軸に対応)を中心にパン方向d1に回転するモータである。以下の説明では、パン方向d1の回転角(図7中、x軸に対する角度)を「回転角θh(θh=0〜360°(度))」と表記する場合がある。ただし、駆動装置701が初期位置のときの正面方向とx軸方向とが一致するものとする。 The drive device 701 is a motor that rotates in the pan direction d1 around a rotation shaft 710 (corresponding to the z-axis in FIG. 7). In the following description, the rotation angle in the pan direction d1 (the angle with respect to the x axis in FIG. 7) may be expressed as “rotation angle θ hh = 0 to 360 ° (degrees))”. However, it is assumed that the front direction when the driving device 701 is at the initial position matches the x-axis direction.

測定装置702は、チルト方向d2に走査しながら光を物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する2Dセンサである。ここでの光とは、例えば、赤外線などのレーザである。測定装置702は、光が赤外線であれば、自装置から物体までの距離に限らず、赤外線の反射強度や色情報も同時に得ることができる。チルト方向d2は、チルト軸720を中心に回転する方向である。すなわち、測定装置702は、チルト軸720を中心に光学系(例えば、後述の図8に示す発光部811、受光部812等)を回転させながら、図7中の太線矢印で示す方向(照射方向)に光を照射する。   The measuring device 702 is a 2D sensor that measures the distance from the own device to the object by using the time until the reflected light is received while irradiating light toward the object while scanning in the tilt direction d2. Here, the light is, for example, a laser such as infrared rays. The measuring device 702 can obtain infrared reflection intensity and color information at the same time as well as the distance from the device to the object if the light is infrared. The tilt direction d2 is a direction that rotates about the tilt axis 720. That is, the measuring apparatus 702 rotates the optical system (for example, a light emitting unit 811 and a light receiving unit 812 shown in FIG. 8 described later) around the tilt axis 720, while rotating the direction (irradiation direction) shown in FIG. ).

情報処理装置100において、測定装置702は、パン方向d1に対してチルト方向d2が垂直となるように駆動装置701に取り付けられる。そして、測定装置702は、回転軸710を中心として円軌道に沿って移動される状態で、チルト方向d2に走査しながら光(以下、「レーザ」という)を物体に向けて照射して物体までの距離を測定する。   In the information processing apparatus 100, the measurement device 702 is attached to the drive device 701 so that the tilt direction d2 is perpendicular to the pan direction d1. The measuring device 702 irradiates the object with light (hereinafter referred to as “laser”) while scanning in the tilt direction d2 while moving along the circular orbit about the rotation axis 710. Measure the distance.

この際、測定装置702は、チルト方向d2に「0〜360°」の範囲でレーザを照射する。チルト角θvは、回転軸710に対するチルト方向d2の角度である。より詳細に説明すると、例えば、測定装置702は、チルト方向d2に0°から360°まで所定の角度ずつ移動される度に、この測定を行う。例えば、所定角度が0.25°の場合、測定装置702は、1周当たり25[msec]で約1440点の測定を行う。また、測定装置702は、例えば、駆動装置701によってパン方向d1に、「0〜360°」まで所定の角度ずつ移動される度に、この測定を行う。ただし、チルト方向とパン方向の両方について0°から360°まで測定しなくてもよい。チルト方向とパン方向のどちらか一方が0から180°の測定を実施すれば、全方位の測定を行うことができる。また、全方位に限らず、角度を指定して測定範囲を制限してもよい。これにより、2Dセンサである測定装置702を利用して3D測定を行うことができる。   At this time, the measuring device 702 irradiates the laser in a range of “0 to 360 °” in the tilt direction d2. The tilt angle θv is an angle of the tilt direction d2 with respect to the rotation shaft 710. More specifically, for example, the measuring device 702 performs this measurement each time it is moved from the 0 ° to 360 ° by a predetermined angle in the tilt direction d2. For example, when the predetermined angle is 0.25 °, the measuring device 702 measures about 1440 points at 25 [msec] per round. For example, the measuring device 702 performs this measurement every time the driving device 701 moves the panning direction d1 by “0 to 360 °” by a predetermined angle. However, it is not necessary to measure from 0 ° to 360 ° in both the tilt direction and the pan direction. If one of the tilt direction and the pan direction is measured from 0 to 180 °, all directions can be measured. In addition, the measurement range may be limited by specifying an angle, not limited to all directions. Thereby, 3D measurement can be performed using the measuring device 702 which is a 2D sensor.

また、制御装置703は、例えば、表示部704を有する。表示部は、プロジェクタであってもよいし、ディスプレイなどであってもよい。   The control device 703 includes a display unit 704, for example. The display unit may be a projector or a display.

(情報処理装置100のハードウェア構成例)
図8は、情報処理装置100のハードウェア構成例を示すブロック図である。情報処理装置100は、CPU(Central Processing Unit)801と、メモリ802と、I/F(Interface)803と、プロジェクタ804と、スピーカ805と、駆動装置701と、測定装置702と、を有する。また、各構成部は、バス800によってそれぞれ接続される。
(Hardware configuration example of information processing apparatus 100)
FIG. 8 is a block diagram illustrating a hardware configuration example of the information processing apparatus 100. The information processing apparatus 100 includes a CPU (Central Processing Unit) 801, a memory 802, an I / F (Interface) 803, a projector 804, a speaker 805, a driving device 701, and a measuring device 702. Each component is connected by a bus 800.

ここで、CPU801は、情報処理装置100の全体の制御を司る。メモリ802は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU801のワークエリアとして使用される。メモリ802に記憶されるプログラムは、CPU801にロードされることで、コーディングされた処理をCPU801に実行させる。   Here, the CPU 801 governs overall control of the information processing apparatus 100. The memory 802 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 801. The program stored in the memory 802 is loaded into the CPU 801 to cause the CPU 801 to execute the coded processing.

I/F803は、有線または無線のネットワークに接続され、ネットワーク810を介して他のコンピュータ(例えば、利用者のパーソナル・コンピュータ)に接続される。そして、I/F803は、ネットワーク810と自装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。プロジェクタ804は、例えば、表示部704である。プロジェクタ804は、画像や映像を大型スクリーンなどに投影することにより表示する装置である。プロジェクタ804は、例えば、モデルデータが示すモデルをスクリーンに投影してもよい。スピーカ805は、電気によって音を出す。具体的には、スピーカ805は、例えば、音楽や音声などの音を生成する。なお、図8に示した制御装置703は、例えば、CPU801と、メモリ802と、I/F803と、プロジェクタ804と、スピーカ805と、を含む。   The I / F 803 is connected to a wired or wireless network, and is connected to another computer (for example, a user's personal computer) via the network 810. The I / F 803 controls an interface between the network 810 and the own apparatus, and controls input / output of data from other computers. The projector 804 is a display unit 704, for example. The projector 804 is a device that displays an image or video by projecting it onto a large screen or the like. For example, the projector 804 may project a model indicated by the model data onto a screen. The speaker 805 emits sound by electricity. Specifically, the speaker 805 generates sound such as music and voice. The control device 703 illustrated in FIG. 8 includes, for example, a CPU 801, a memory 802, an I / F 803, a projector 804, and a speaker 805.

駆動装置701は、回転軸710を中心にパン方向d1に回転するモータである。測定装置702は、発光部811と、受光部812と、駆動部813と、センサ制御部814と、を含む。発光部811は、レーザを照射する光源であり、例えば、半導体レーザである。受光部812は、反射光を受光する。駆動部813は、チルト軸720を中心にチルト方向d2に発光部811を回転させる。センサ制御部814は、チルト方向d2に走査しながらレーザを物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する。センサ制御部814は、距離に基づいて座標系Cにおける物体の座標値を点の座標データとしてメモリ802などに出力する。   The driving device 701 is a motor that rotates in the pan direction d1 about the rotation shaft 710. Measuring device 702 includes a light emitting unit 811, a light receiving unit 812, a driving unit 813, and a sensor control unit 814. The light emitting unit 811 is a light source that irradiates a laser, and is, for example, a semiconductor laser. The light receiving unit 812 receives reflected light. The drive unit 813 rotates the light emitting unit 811 in the tilt direction d2 around the tilt axis 720. The sensor control unit 814 irradiates the object with the laser while scanning in the tilt direction d2, and measures the distance from the own apparatus to the object using the time until the reflected light is received. The sensor control unit 814 outputs the coordinate value of the object in the coordinate system C to the memory 802 or the like as point coordinate data based on the distance.

なお、情報処理装置100は、上述した構成部のほかに、例えば、ディスクドライブ、ディスク、SSD(Solid State Drive)などを有することにしてもよい。また、情報処理装置100は、例えば、作業者301などによる操作入力を受け付けることが可能な入力装置、プロジェクタ804と異なるディスプレイなどを有することにしてもよい。   The information processing apparatus 100 may include, for example, a disk drive, a disk, an SSD (Solid State Drive), and the like in addition to the above-described components. Further, the information processing apparatus 100 may include, for example, an input device that can accept an operation input by the worker 301 or the like, a display different from the projector 804, and the like.

図9は、平面上の点群および点データ例を示す説明図である。まず、平面について説明する。平面P1上の点群は、{p11,p12,…,p1M1}である。平面Pu上の点群は、{pu1,pu2,…,puMu}である。 FIG. 9 is an explanatory diagram illustrating an example of point groups and point data on a plane. First, the plane will be described. The point group on the plane P 1 is {p 11 , p 12 ,..., P 1M1 }. The point group on the plane Pu is {p u1 , p u2 ,..., P uMu }.

点puvの点データは、{xuv,nuv,cuv,Iuv}である。xuvは、点puvの位置ベクトルである。xuvは、x座標値,y座標値,z座標値を含む。nuvは、点puvの法線方向ベクトルである。cuvは、点puvの色情報ベクトルである。cuvは、R値,G値,B値を含む。Iuvは、点puvの赤外線反射光強度情報である。なお、点群データとは点データの集合である。例えば、各平面Pの面積は、各平面P上の点群数Muによって近似される。例えば、xuv,nuvに基づいて、水平方向の位置合わせや最近傍点、点間の距離が計算される。 The point data of the point p uv is {x uv , n uv , c uv , I uv }. x uv is a position vector of the point p uv . x uv includes an x coordinate value, a y coordinate value, and a z coordinate value. n uv is a normal direction vector of the point p uv . c uv is a color information vector of the point p uv . c uv includes an R value, a G value, and a B value. I uv is infrared reflected light intensity information of the point p uv . Note that the point cloud data is a set of point data. For example, the area of each plane P is approximated by the point group number M u on each plane P. For example, based on x uv and n uv , horizontal alignment, nearest point, and distance between points are calculated.

(情報処理装置100の機能的構成例)
図10は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、取得部1001と、制御部1002と、を有する。取得部1001は、駆動装置701と測定装置702によって実現される。また、制御部1002は、抽出部1011と、距離算出部1012と、オフセット量算出部1013と、第1算出部1014と、第2算出部1015と、特定部1016と、位置合わせ部1017と、を有する。
(Functional configuration example of information processing apparatus 100)
FIG. 10 is a block diagram illustrating a functional configuration example of the information processing apparatus 100. The information processing apparatus 100 includes an acquisition unit 1001 and a control unit 1002. The acquisition unit 1001 is realized by the drive device 701 and the measurement device 702. In addition, the control unit 1002 includes an extraction unit 1011, a distance calculation unit 1012, an offset amount calculation unit 1013, a first calculation unit 1014, a second calculation unit 1015, a specification unit 1016, an alignment unit 1017, Have

抽出部1011から位置合わせ部1017までの制御部1002の処理は、例えば、メモリ802などによって実現される。図8に示すCPU801がアクセス可能なメモリ802などに記憶されたプログラムにコーディングされる。そして、CPU801がメモリ802などから該プログラムを読み出して、プログラムにコーディングされた処理を実行する。これにより、制御部1002の処理が実現される。また、制御部1002の処理結果は、例えば、メモリ802などに記憶される。   The processing of the control unit 1002 from the extraction unit 1011 to the alignment unit 1017 is realized by the memory 802, for example. It is coded in a program stored in a memory 802 or the like accessible by the CPU 801 shown in FIG. Then, the CPU 801 reads the program from the memory 802 or the like, and executes the process coded in the program. Thereby, the processing of the control unit 1002 is realized. The processing result of the control unit 1002 is stored in, for example, the memory 802.

取得部1001は、複数の測定位置の各々の測定位置について、各々の測定位置から物体までの距離に基づく3D点群データを取得する。具体的には、取得部1001は、例えば、各々の測定位置について、光を照射しながら走査すると共に物体から反射される反射光を用いて、自情報処理装置100から物体までの距離に基づく3D点群データを取得する。   The acquisition unit 1001 acquires 3D point group data based on the distance from each measurement position to the object for each measurement position of the plurality of measurement positions. Specifically, for example, the acquisition unit 1001 performs 3D scanning based on the distance from the information processing apparatus 100 to the object by scanning each measurement position while irradiating light and using reflected light reflected from the object. Get point cloud data.

本実施の形態では、取得部1001は、3D点群データとして、第1測定位置101についての第1点群データ111と、第2測定位置102についての第2点群データ112と、を取得する。なお、測定位置が3つ以上ある場合、3つの測定位置のうちの2つの測定位置における3D点群データを合成した後の3D点群データを、第1点群データ111としてもよい。そして、3つの測定位置のうちの残余の測定位置における3D点群データを第2点群データ112としてもよい。これにより3つ以上の測定位置において測定された3D点群データを精度よく合成することができる。   In the present embodiment, the acquisition unit 1001 acquires first point group data 111 for the first measurement position 101 and second point group data 112 for the second measurement position 102 as 3D point group data. . When there are three or more measurement positions, 3D point group data after combining 3D point group data at two of the three measurement positions may be used as the first point group data 111. The 3D point cloud data at the remaining measurement positions among the three measurement positions may be used as the second point cloud data 112. Thereby, 3D point cloud data measured at three or more measurement positions can be synthesized with high accuracy.

抽出部1011は、例えば、各々の測定位置について、各々の測定位置についての3D点群データから、測定対象の空間における平面を抽出する。具体的には、抽出部1011は、例えば、RANSACなどのアルゴリズムにしたがって、取得部1001により取得された3D点群データによって特定される3D点群が形成する平面を抽出する。   For example, for each measurement position, the extraction unit 1011 extracts a plane in the space to be measured from the 3D point cloud data for each measurement position. Specifically, the extraction unit 1011 extracts a plane formed by the 3D point group specified by the 3D point group data acquired by the acquisition unit 1001, for example, according to an algorithm such as RANSAC.

RANSACなどのアルゴリズムに基づいて平面を抽出する方法について、より詳細に説明する。抽出部1011は、例えば、3D点群データによって特定される3D点群をサンプルとする。そして、抽出部1011は、サンプルから3つの点をランダムに抽出する。続いて、抽出部1011は、3D点群データによって特定される3D点群のうち、サンプルからランダムに抽出された3点により定まる平面モデルから所定の距離以内にある点群をさらに抽出する。所定の距離については、予め定められてあればよく、特に限定しない。同一平面モデル上の点同士であっても、情報処理装置100からの距離が遠ければ、点間の距離は遠くなる。このため、所定の距離については、例えば、サンプルとして選択された点pの点データに含まれる位置ベクトルによって設定されてもよい。   A method for extracting a plane based on an algorithm such as RANSAC will be described in more detail. For example, the extraction unit 1011 uses a 3D point group specified by 3D point group data as a sample. Then, the extraction unit 1011 extracts three points from the sample at random. Subsequently, the extraction unit 1011 further extracts a point group within a predetermined distance from a plane model determined by three points randomly extracted from the sample, among the 3D point groups specified by the 3D point group data. The predetermined distance is not particularly limited as long as it is determined in advance. Even if the points are on the same plane model, if the distance from the information processing apparatus 100 is long, the distance between the points is long. Therefore, the predetermined distance may be set by a position vector included in the point data of the point p selected as the sample, for example.

ここで、平面モデルから所定の距離以内にある点群を平面モデル上に存在する点群とみなし、以降の処理を説明することとする。抽出部1011は、平面モデル上に存在する点群の数が所定の閾値以上であるか否かを判定する。抽出部1011は、平面モデル上の点群が閾値以上である場合、平面モデルを定義するパラメータと、この平面モデルに含まれる点群とが対応付けられた平面データをメモリ802に保存する。パラメータとしては、例えば3点の座標または平面の方程式等が挙げられる。一方、抽出部1011は、平面モデル上に存在する点群の数が閾値未満である場合、平面モデルに関する平面データを保存しない。その後、抽出部1011は、サンプルからの3点のランダムサンプリングおよびそれに伴う平面データの保存を所定の試行回数にわたって繰り返し実行する。このような平面抽出方法によって、一定数以上の点群が平面モデルからの法線方向へ向けて一定距離以内にある平面モデルを求めることができる。なお、一定距離は、互いに平行な複数の平面モデル間の最小の距離となる。一定距離は、平面モデルの法線方向において異なる平面モデルとして抽出されるための最小の距離である。換言すると、例えば、互いに平行な複数の平面モデル間の距離は、一定距離以上である。以下では、平面モデルにより規定される平面上で3D点群が所定の密度以上で存在する部分のことを「平面」と記載する場合がある。   Here, it is assumed that a point group within a predetermined distance from the planar model is a point group existing on the planar model, and the subsequent processing will be described. The extraction unit 1011 determines whether or not the number of point groups existing on the planar model is greater than or equal to a predetermined threshold value. When the point group on the planar model is greater than or equal to the threshold value, the extraction unit 1011 stores, in the memory 802, planar data in which the parameter defining the planar model is associated with the point group included in the planar model. Examples of the parameter include three-point coordinates or a plane equation. On the other hand, the extraction unit 1011 does not store the plane data regarding the plane model when the number of point groups existing on the plane model is less than the threshold. After that, the extraction unit 1011 repeatedly executes random sampling of three points from the sample and plane data storage associated therewith for a predetermined number of trials. By such a plane extraction method, a plane model in which a certain number or more of point groups are within a certain distance in the normal direction from the plane model can be obtained. The fixed distance is the minimum distance between a plurality of plane models parallel to each other. The constant distance is a minimum distance for extraction as a different plane model in the normal direction of the plane model. In other words, for example, the distance between a plurality of plane models parallel to each other is a certain distance or more. Hereinafter, a portion where a 3D point group is present at a predetermined density or higher on a plane defined by the plane model may be referred to as a “plane”.

ここで、抽出部1011は、複数の測定位置で測定された3D点群データごとに当該3D点群データから平面を抽出することもできる。この場合、抽出部1011は、各測定位置の3D点群データの間で平面の方向を算出する。そして、抽出部1011は、各測定位置の3D点群データごとに当該3D点群データに含まれる各点が持つ座標をz軸の正方向が平面の法線方向となるように変換する。その上で、抽出部1011は、上述の通り、RANSACなどのアルゴリズムにしたがって、各測定位置の3D点群データごとに当該3D点群データから平面を抽出する。   Here, the extraction unit 1011 can also extract a plane from the 3D point cloud data for each 3D point cloud data measured at a plurality of measurement positions. In this case, the extraction unit 1011 calculates the direction of the plane between the 3D point cloud data at each measurement position. Then, the extraction unit 1011 converts the coordinates of each point included in the 3D point group data for each 3D point group data at each measurement position so that the positive direction of the z axis is the normal direction of the plane. Then, as described above, the extraction unit 1011 extracts a plane from the 3D point group data for each 3D point group data at each measurement position according to an algorithm such as RANSAC.

さらに、抽出部1011は、次のような基準にしたがって2つ以上の任意の数の3D点群データをレジストレーションの実行対象としてグループ化できる。例えば、抽出部1011は、取得部1001により3D点群データが取得される度に、3D点群データをそれまでに取得された3D点群データとグループ化することにより、レジストレーションの実行対象とすることができる。さらに、抽出部1011は、過去に取得された3D点群データの中でも所定の期間(例えば10分間以内)に取得された3D点群データに絞ってグループ化してもよい。また、抽出部1011は、グループ化を行う3D点群データの組み合わせを入力装置(図示省略)を介して受け付けてもよい。   Furthermore, the extraction unit 1011 can group two or more arbitrary numbers of 3D point group data as registration execution targets according to the following criteria. For example, each time the acquisition unit 1001 acquires 3D point cloud data, the extraction unit 1011 groups the 3D point cloud data with the 3D point cloud data acquired so far, thereby performing registration execution targets. can do. Furthermore, the extraction unit 1011 may group only 3D point cloud data acquired in a predetermined period (for example, within 10 minutes) among 3D point cloud data acquired in the past. Further, the extraction unit 1011 may accept a combination of 3D point cloud data to be grouped via an input device (not shown).

このように、各測定位置の3D点群データごとに3D点群データから平面が抽出されると、抽出部1011は、座標系Cの原点に基づいて各平面の高さ(z座標)を算出する。   As described above, when a plane is extracted from the 3D point group data for each 3D point group data at each measurement position, the extraction unit 1011 calculates the height (z coordinate) of each plane based on the origin of the coordinate system C. To do.

ここで、図1で説明したように、第1測定位置101で測定された第1点群データ111から抽出される複数の第1平面の高さの集合をH1とし、第2測定位置102で測定された第2点群データ112から抽出される複数の第2平面の高さの集合をH2とする。そして、集合H1と集合H2とは以下のように表す。MとNは正の整数である。Mは複数の第1平面の数である。Nは複数の第2平面の数である。 Here, as described with reference to FIG. 1, a set of heights of a plurality of first planes extracted from the first point cloud data 111 measured at the first measurement position 101 is set as H 1, and the second measurement position 102 is set. in the set of measured heights of the plurality of second plane which is extracted from the second point group data 112 and H 2. The set H 1 and the set H 2 are expressed as follows. M and N are positive integers. M is the number of first planes. N is the number of the plurality of second planes.

1={h11,h12,・・・,h1M
2={h21,h22,・・・,h2N
H 1 = {h 11 , h 12 ,..., H 1M }
H 2 = {h 21 , h 22 ,..., H 2N }

また、後述するように、オフセット量Δhまたはオフセット量Δhの候補によって補正した平面の高さの集合をH’2とする。集合H’2は以下のように表す。 Further, as will be described later, a set of the heights of the planes corrected by the offset amount Δh or the offset amount Δh candidates is defined as H ′ 2 . The set H′2 is expressed as follows.

H’2={h’21,h’22,…,h’2N
={h21+Δh,h22+Δh,・・・,h2N+Δh}
H ′ 2 = {h ′ 21 , h ′ 22 ,..., H ′ 2N }
= {H 21 + Δh, h 22 + Δh,..., H 2N + Δh}

図11は、平面間の距離例を示す説明図である。図11には、複数の第1平面の高さの集合H1と、複数の第2平面の高さの集合H2とを示す。 FIG. 11 is an explanatory diagram illustrating an example of a distance between planes. FIG. 11 shows a plurality of first plane height sets H 1 and a plurality of second plane height sets H 2 .

集合H1として、H1{h11,h12,h13,h14}が得られる。また、集合H2として、H2{h21,h22,h23,h24}が得られる。図11において、集合H1に含まれる高さは、実線の太線で示される。集合H2に含まれる高さは、点線の太線で示される。 H 1 {h 11 , h 12 , h 13 , h 14 } is obtained as the set H 1 . Further, H 2 {h 21 , h 22 , h 23 , h 24 } is obtained as the set H 2 . In FIG. 11, the height included in the set H 1 is indicated by a solid thick line. Height included in the set H 2 is indicated by dashed thick line.

次に、距離算出部1012は、第1測定位置101について、互いに平行な複数の第1平面の各々の第1平面の間の各距離のうちの他の距離との差分が所定値以上である距離を特定する。また、距離算出部1012は、第2測定位置102について、互いに平行な複数の第2平面の間の各距離のうちの他の距離との差分が所定値以上である第2距離を特定する。   Next, the distance calculation unit 1012 has a difference between the first measurement position 101 and another distance among the distances between the first planes of the plurality of first planes parallel to each other being equal to or greater than a predetermined value. Identify the distance. In addition, the distance calculation unit 1012 specifies a second distance at which the difference between the second measurement position 102 and other distances among the plurality of distances between the plurality of second planes parallel to each other is equal to or greater than a predetermined value.

具体的には、距離算出部1012は、例えば、第1測定位置101について、複数の第1平面に含まれる2つの第1平面の組み合わせごとに、組み合わせに含まれる2つの第1水平面間の距離を算出する。具体的には、距離算出部1012は、例えば、第1水平面の高さの差分を第1平面間の距離として算出する。第1平面間の差分は、例えば、2つの第1平面のうち高い方の第1平面の高さから低い方の第1平面の高さを減算することにより得られる。   Specifically, the distance calculation unit 1012, for example, for the first measurement position 101, for each combination of two first planes included in the plurality of first planes, the distance between the two first horizontal planes included in the combination. Is calculated. Specifically, the distance calculation unit 1012 calculates, for example, the difference in height between the first horizontal planes as the distance between the first planes. The difference between the first planes is obtained, for example, by subtracting the height of the lower first plane from the height of the higher first plane of the two first planes.

また、具体的には、距離算出部1012は、例えば、第2測定位置102について、複数の第2平面に含まれる2つの第2平面の組み合わせごとに、組み合わせに含まれる2つの第2平面間の距離を算出する。具体的には、距離算出部1012は、例えば、第2水平面の高さの差分を第2平面間の距離として算出する。第2平面間の差分は、例えば、2つの第2平面のうち高い方の第2平面の高さから低い方の第2平面の高さを減算することにより得られる。   Specifically, the distance calculation unit 1012, for example, for the second measurement position 102, for each combination of two second planes included in a plurality of second planes, between the two second planes included in the combination. The distance is calculated. Specifically, the distance calculation unit 1012 calculates, for example, the difference in height between the second horizontal planes as the distance between the second planes. The difference between the second planes is obtained, for example, by subtracting the height of the lower second plane from the height of the higher second plane of the two second planes.

第1測定位置101において、高さh11と高さh12の差分が距離d11である。高さh11と高さh13との差分が距離d12である。高さh11と高さh14との差分が距離d13である。高さh12と高さh13との差分が距離d15である。高さh12と高さh14との差分が距離d14である。高さh13と高さh14との差分が距離d16である。 In the first measurement position 101, which is the difference between the height h 11 and the height h 12 is the distance d 11. Difference between the height h 11 and height h 13 is the distance d 12. The difference between the height h 11 and the height h 14 is the distance d 13 . Difference between the height h 12 and height h 13 is the distance d 15. Difference between the height h 12 and height h 14 is the distance d 14. Difference between the height h 13 and height h 14 is the distance d 16.

第2測定位置102において、高さh21と高さh22の差分が距離d21である。高さh21と高さh13との差分が距離d22である。高さh21と高さh14との差分が距離d23である。高さh22と高さh13との差分が距離d25である。高さh22と高さh14との差分が距離d24である。高さh23と高さh24との差分が距離d26である。 In the second measurement position 102, which is the difference between the height h 21 and height h 22 is the distance d 21. The difference between the height h 21 and the height h 13 is the distance d 22 . The difference between the height h 21 and the height h 14 is the distance d 23 . The difference between the height h 22 and the height h 13 is the distance d 25 . The difference between the height h 22 and the height h 14 is the distance d 24 . The difference between the height h 23 and the height h 24 is the distance d 26 .

次に、距離算出部1012は、例えば、各々の測定位置について、平面間の距離のうち、距離の差が閾値以下となる距離が存在しない距離を抽出する。すなわち、距離算出部1012は、似たような距離が存在しないような特徴的な距離を抽出する。   Next, for example, for each measurement position, the distance calculation unit 1012 extracts a distance where there is no distance at which the difference in distance is equal to or less than a threshold among the distances between the planes. That is, the distance calculation unit 1012 extracts a characteristic distance that does not have a similar distance.

距離算出部1012は、第1測定位置101について、特徴的な距離として以下集合D1を抽出する。なお、εが閾値である。εは0に限りなく近い値である。 The distance calculation unit 1012 extracts a set D 1 as a characteristic distance for the first measurement position 101 below. Note that ε is a threshold value. ε is a value close to 0.

1:|d11−d1j|≦ε(i≠j)となるd1jが存在しないd1iを要素とする集合 D 1 : a set having d 1i as an element in which d 1j that satisfies | d 11 −d 1j | ≦ ε (i ≠ j) does not exist

第1測定位置101において、距離d15と距離d16との差は0に近いため、D1は{d11,d12,d13,d14}となる。 In the first measurement position 101, since the difference between the distance d 15 and the distance d 16 near 0, D 1 becomes {d 11, d 12, d 13, d 14}.

また、距離算出部1012は、第2測定位置102については、特徴的な距離として以下集合D2を抽出する。   In addition, the distance calculation unit 1012 extracts a set D2 as a characteristic distance for the second measurement position 102 below.

2:|d21−d2j|≦ε(i≠j)となるd2jが存在しないd2iを要素とする集合 D 2 : a set having d 2i as an element in which there is no d 2j satisfying | d 21 −d 2j | ≦ ε (i ≠ j)

第2測定位置102において、距離d25と距離d26との差は0に近いため、D2は{d21,d22,d23,d24}となる。 Since the difference between the distance d 25 and the distance d 26 is close to 0 at the second measurement position 102, D 2 becomes {d 21 , d 22 , d 23 , d 24 }.

次に、オフセット量算出部1013は、複数の第1平面に含まれる第1平面と、複数の第2平面に含まれる第2平面と、の組み合わせを生成する。オフセット量算出部1013は、組み合わせの各々について、組み合わせに含まれる平面間の垂直方向の位置を一致させるように、複数の第2平面の垂直方向の位置を補正する。ここで、垂直方向とは、z軸方向や高さ方向である。   Next, the offset amount calculation unit 1013 generates a combination of a first plane included in the plurality of first planes and a second plane included in the plurality of second planes. The offset amount calculation unit 1013 corrects the vertical positions of the plurality of second planes so that the vertical positions between the planes included in the combinations are the same for each combination. Here, the vertical direction is the z-axis direction or the height direction.

具体的には、オフセット量算出部1013は、組み合わせの各々について、組み合わせに含まれる平面間の距離をオフセット量Δhとして算出する。具体的には、オフセット量算出部1013は、集合H1に含まれる複数の高さh1と、集合H2に含まれる複数の高さh2との組み合わせについて、組み合わせに含まれる高さh1と高さh2との差分値をオフセット量Δhの候補として算出する。例えば、差分値とは、組み合わせに含まれる高さh1から高さh2を減算した値である。 Specifically, the offset amount calculation unit 1013 calculates, for each combination, the distance between planes included in the combination as the offset amount Δh. Specifically, the offset amount calculating section 1013, a plurality of height h 1 in set H 1, the combination of a plurality of height h 2 in the set H 2, the height h included in the combination The difference value between 1 and the height h 2 is calculated as a candidate for the offset amount Δh. For example, the difference value is a value obtained by subtracting the height h 2 from the height h 1 included in the combination.

そして、オフセット量算出部1013は、組み合わせの各々について、複数の第2平面の高さに、算出したオフセット量Δhの候補を加算する。これにより、組み合わせに含まれる平面間の垂直方向の位置が一致するように、複数の第2平面の垂直方向の位置が補正される。   Then, the offset amount calculation unit 1013 adds the calculated offset amount Δh candidates to the heights of the plurality of second planes for each combination. As a result, the vertical positions of the plurality of second planes are corrected so that the vertical positions between the planes included in the combination match.

次に、第1算出部1014は、平面の組み合わせの各々について、各々の第1平面の垂直方向の位置のうち、補正後の記各々の第2平面領域の垂直方向の位置と一致する位置を特定する。換言すると、第1算出部1014は、平面の組み合わせの各々について、オフセット量Δhの候補ごとに、集合H1とオフセット量Δhの候補に基づき補正した集合H’2とで一致する高さが存在する平面の高さの集合を特定する。図11における集合H2をオフセット量Δhの候補に基づき補正した集合H’2は、{h’21,h’22,h’23,h’24}である。第1測定位置101についての一致する高さが存在する平面の高さの集合は、G1と表す。第2測定位置102についての一致する高さが存在する平面の高さの集合は、G2と表す。具体的には、第1算出部1014は、以下のように集合G1および集合G2を特定する。 Next, for each combination of planes, the first calculation unit 1014 selects a position in the vertical direction of each first plane that coincides with the vertical position of each corrected second plane region. Identify. In other words, for each combination of planes, the first calculation unit 1014 has a height that matches the set H 1 and the set H ′ 2 corrected based on the offset amount Δh candidates for each offset amount Δh candidate. Specify the set of plane heights to be used. A set H ′ 2 obtained by correcting the set H 2 in FIG. 11 based on the offset amount Δh candidates is {h ′ 21 , h ′ 22 , h ′ 23 , h ′ 24 }. The set of plane heights for which there is a matching height for the first measurement position 101 is denoted G 1 . Set height of the plane matching the height of the second measurement position 102 is present, represents a G 2. Specifically, the first calculation unit 1014 identifies the set G 1 and the set G 2 as follows.

1:|h1i−h’2j|≦αとなるh’2jが存在するh1iを要素とする集合
2:|h1i−h’2j|≦αとなるh’1jが存在するh’2jを要素とする集合
G 1 : a set having h 1i where h ′ 2j satisfying | h 1i −h ′ 2j | ≦ α exists G 2 : h including h ′ 1j satisfying | h 1i −h ′ 2j | ≦ α ' 2j element set

所定値αは、予め設定された値であり、特に限定しない。ここでは、所定値αは、例えば、水平面の抽出時に異なる水平面として抽出する水平面間の最低間隔の1/2より小さい値とする。   The predetermined value α is a preset value and is not particularly limited. Here, for example, the predetermined value α is set to a value smaller than ½ of the minimum interval between horizontal planes extracted as different horizontal planes during horizontal plane extraction.

次に、第1算出部1014は、組み合わせの各々について、第1測定位置101について特定した位置の2つの組み合わせのうち、位置の2つの組み合わせに含まれる位置間の距離が、集合D1に含まれる距離と一致する組み合わせの数を特定する。ここでの位置は、高さ方向の位置である。このため、具体的には、第1算出部1014は、平面の組み合わせの各々について、集合G1に含まれる高さの2つの組み合わせのうち、この組み合わせに含まれる高さの差分が集合D1に含まれる組み合わせの数を特定する。第1測定位置101について特定される数はf1と表す。 Then, the first calculating unit 1014, for each of the combinations, one of the two combinations of the specified positions for the first measurement position 101, the distance between the positions included in the two combinations of positions, included in the set D 1 Identify the number of combinations that match the distance to be measured. The position here is a position in the height direction. For this reason, specifically, for each combination of planes, the first calculation unit 1014 calculates the difference in height included in this combination among the two combinations of heights included in the set G 1 as the set D 1. Specify the number of combinations included in. The number specified for the first measurement position 101 is denoted as f 1 .

また、第1算出部1014は、平面の組み合わせの各々について、第2測定位置102について特定した位置の2つの組み合わせのうち、位置の2つの組み合わせに含まれる位置間の距離が、集合D2に含まれる距離と一致する組み合わせの数を特定する。具体的には、第1算出部1014は、平面の組み合わせの各々について、集合G2に含まれる高さの2つの組み合わせのうち、この組み合わせに含まれる高さの差分が集合D2に含まれる組み合わせの個数を特定する。第2測定位置102について特定される数はf2と表す。 The first calculation unit 1014, for each of the combinations of the plane, of the two combinations of the specified position for the second measurement position 102, the distance between the positions included in the two combinations of positions, the set D 2 Identify the number of combinations that match the included distance. Specifically, for each combination of planes, the first calculation unit 1014 includes, in the set D 2 , a difference in height included in this combination among two combinations of heights included in the set G 2. Specify the number of combinations. The number specified for the second measurement position 102 is represented as f 2.

第1算出部1014は、平面の組み合わせの各々について、各々の測定位置について算出した組み合わせの個数のうち値が小さい方を評価値とする。評価値が大きい値であるほど、評価が高いこととする。   For each combination of planes, the first calculation unit 1014 uses the smaller value of the number of combinations calculated for each measurement position as an evaluation value. The higher the evaluation value, the higher the evaluation.

ここで、図11および図12を用いて、2つのオフセット量Δhの候補について、集合G1および集合G2と数f1および数f2とを特定する例を説明する。 Here, an example in which the set G 1, the set G 2 , the number f 1, and the number f 2 are specified for two offset amount Δh candidates will be described with reference to FIGS. 11 and 12.

図12は、オフセット量Δhの候補についての評価例1を示す説明図である。図12には、オフセット量Δhの候補がh11−h21の場合を例に挙げて説明する。まず、第1測定位置101について集合G1および数f1を求める例について説明する。第1算出部1014は、高さh11と高さh’22との差がα以下であるため、高さh11を集合G1に入れる。第1算出部1014は、高さh12と集合H’2に含まれる各高さとの差がαより大きいため、高さh12を集合G1に入れない。第1算出部1014は、高さh13と集合H’2に含まれる各高さとの差がαより大きいため、高さh13を集合G1に入れない。第1算出部1014は、高さh14と高さh’24との差がα以下であるため、高さh14を集合G1に入れる。集合G1は以下のようになる。 FIG. 12 is an explanatory diagram illustrating Evaluation Example 1 for a candidate for the offset amount Δh. FIG. 12 illustrates an example in which the offset amount Δh candidate is h 11 −h 21 . First, an example in which the set G 1 and the number f 1 are obtained for the first measurement position 101 will be described. Since the difference between the height h 11 and the height h ′ 22 is less than or equal to α, the first calculation unit 1014 puts the height h 11 into the set G 1 . The first calculation unit 1014 does not include the height h 12 in the set G 1 because the difference between the height h 12 and each height included in the set H ′ 2 is larger than α. The first calculation unit 1014 does not include the height h 13 in the set G 1 because the difference between the height h 13 and each height included in the set H ′ 2 is larger than α. Since the difference between the height h 14 and the height h ′ 24 is less than or equal to α, the first calculation unit 1014 puts the height h 14 into the set G 1 . The set G 1 is as follows.

1={h11,h14G 1 = {h 11 , h 14 }

そして、第1算出部1014は、集合G1に含まれる高さの組み合わせのうち、組み合わせの高さの差分が集合D1に含まれる組み合わせの数を数f1とする。 Then, the first calculation unit 1014 sets the number of combinations in which the difference in the combination height is included in the set D 1 among the combinations of heights included in the set G 1 as the number f 1 .

集合G1に含まれる高さの組み合わせは1通りである。高さh11と高さh14との差はd13であり、集合D1に含まれる。このため、第1算出部1014は、数f1を1とする。 There are one combination of heights included in the set G 1 . The difference between the height h 11 and the height h 14 is d 13 and is included in the set D 1 . For this reason, the first calculation unit 1014 sets the number f 1 to 1.

次に、第2測定位置102について集合G2および数f2を求める例について説明する。第1算出部1014は、例えば、高さh’21と高さh11との差がα以下であるため、高さh’21を集合G2に入れる。第1算出部1014は、高さh’22と高さh14との差がα以下であるため、高さh’22を集合G2に入れる。第1算出部1014は、高さh’23と集合H1に含まれる各高さとの差がαより大きいため、高さh’23を集合G2に入れない。第1算出部1014は、高さh’24と集合H1に含まれる各高さとの差がαより大きいため、高さh’24を集合G2に入れない。集合G2は以下のようになる。 Next, an example in which the set G 2 and the number f 2 are obtained for the second measurement position 102 will be described. For example, since the difference between the height h ′ 21 and the height h 11 is equal to or less than α, the first calculation unit 1014 puts the height h ′ 21 into the set G 2 . The first calculation unit 1014 puts the height h ′ 22 in the set G 2 because the difference between the height h ′ 22 and the height h 14 is α or less. The first calculation unit 1014 does not include the height h ′ 23 in the set G 2 because the difference between the height h ′ 23 and each height included in the set H 1 is larger than α. The first calculation unit 1014 does not include the height h ′ 24 in the set G 2 because the difference between the height h ′ 24 and each height included in the set H 1 is larger than α. The set G2 is as follows.

2={h’21,h’22G 2 = {h ′ 21 , h ′ 22 }

そして、第1算出部1014は、集合G2に含まれる高さの組み合わせのうち、組み合わせの高さの差分が集合D2に含まれる組み合わせの数をf2とする。 The first calculation unit 1014, among the combinations of the height included in the set G 2, the number of combinations the difference in height of the combinations included in the set D 2 and f 2.

集合G2に含まれる高さの組み合わせは1通りである。高さの組み合わせに含まれる高さh’21と高さh’22との差はd21であり、集合D2に含まれる。このため、第1算出部1014は、数f2を1とする。 The combination of the height included in the set G 2 is a 1 ways. The difference between the height h ′ 21 and the height h ′ 22 included in the combination of heights is d 21 and is included in the set D 2 . Therefore, the first calculation unit 1014 sets the number f 2 to 1.

第1算出部1014は、オフセット量の候補について、数f1と数f2とのうち小さい方を評価値として算出する。ここで、オフセット量Δhの候補がh11−h21の場合の評価値は、1である。 The first calculation unit 1014 calculates the smaller one of the number f 1 and the number f 2 as an evaluation value for the offset amount candidate. Here, the evaluation value when the offset amount Δh candidate is h 11 −h 21 is 1.

図13は、オフセット量Δhの候補についての評価例2を示す説明図である。図13には、オフセット量Δhの候補がh12−h22の場合を例に挙げて説明する。第2測定位置102について説明する。第1算出部1014は、高さh11と集合H’2に含まれる各高さとの差が所定値αより大きいため、高さh11を集合G1に入れない。第1算出部1014は、高さh12と高さh’22との差がα以下であるため、高さh12を集合G1に入れる。第1算出部1014は、高さh13と高さh’23との差がα以下であるため、高さh13を集合G1に入れる。第1算出部1014は、高さh14と高さh’24との差が所定値α以下であるため、高さh14を集合G1に入れる。 FIG. 13 is an explanatory diagram illustrating Evaluation Example 2 for a candidate for the offset amount Δh. FIG. 13 illustrates an example in which the offset amount Δh candidate is h 12 −h 22 . The second measurement position 102 will be described. The first calculation unit 1014 does not include the height h 11 in the set G 1 because the difference between the height h 11 and each height included in the set H ′ 2 is larger than the predetermined value α. The first calculation unit 1014 puts the height h 12 in the set G 1 because the difference between the height h 12 and the height h ′ 22 is α or less. The first calculation unit 1014 puts the height h 13 in the set G 1 because the difference between the height h 13 and the height h ′ 23 is α or less. Since the difference between the height h 14 and the height h ′ 24 is equal to or less than the predetermined value α, the first calculation unit 1014 puts the height h 14 into the set G 1 .

1={h12,h13,h14G 1 = {h 12 , h 13 , h 14 }

そして、第1算出部1014は、集合G1に含まれる高さの組み合わせのうち、組み合わせの高さの差分が集合D1に含まれる組み合わせの数f1を特定する。 Then, the first calculation unit 1014 specifies the number f 1 of combinations in which the difference in height of the combinations is included in the set D 1 among the combinations of heights included in the set G 1 .

集合G1に含まれる高さの組み合わせは3つある。まず、高さh12と高さh13との差はd15であり、集合D1に含まれない。高さh12と高さh14との差はd14であり、集合D1に含まれる。高さh13と高さh14との差はd16であり、集合D1に含まれない。このため、第1算出部1014は、数f1を1とする。 There are three combinations of heights included in the set G 1 . First, the difference between the height h 12 and the height h 13 is d 15 and is not included in the set D 1 . The difference between the height h 12 and the height h 14 is d 14 and is included in the set D 1 . The difference between the height h 13 and the height h 14 is d 16 and is not included in the set D 1 . For this reason, the first calculation unit 1014 sets the number f 1 to 1.

第2測定位置102について説明する。第1算出部1014は、高さh’21と集合H1に含まれる各高さとの差がαより大きいため、高さh’21を集合G2に入れない。第1算出部1014は、高さh’22と高さh12との差がα以下であるため、高さh’22を集合G2に入れる。第1算出部1014は、高さh’23と高さh13との差が所定値α以下であるため、高さh’23を集合G2に入れる。第1算出部1014は、高さh’24と高さh14との差がα以下であるため、高さh’24を集合G2に入れる。 The second measurement position 102 will be described. The first calculation unit 1014 does not include the height h ′ 21 in the set G 2 because the difference between the height h ′ 21 and each height included in the set H 1 is larger than α. Since the difference between the height h ′ 22 and the height h 12 is less than or equal to α, the first calculation unit 1014 puts the height h ′ 22 into the set G 2 . Since the difference between the height h ′ 23 and the height h 13 is equal to or less than the predetermined value α, the first calculation unit 1014 puts the height h ′ 23 into the set G 2 . The first calculation unit 1014 puts the height h ′ 24 in the set G 2 because the difference between the height h ′ 24 and the height h 14 is α or less.

2={h’22,h’23,h’24G 2 = {h ′ 22 , h ′ 23 , h ′ 24 }

そして、第1算出部1014は、集合G2に含まれる高さの組み合わせのうち、組み合わせの高さの差分が集合D2に含まれる組み合わせの数f2を特定する。 Then, the first calculation unit 1014 specifies the number f 2 of combinations in which the difference in the combination height is included in the set D 2 among the combinations of heights included in the set G 2 .

集合D2に含まれる高さの組み合わせは3通りである。高さh’22と高さh’23との差はd25であり、集合D2に含まれない。高さh’22と高さh’24との差はd24であり、集合D2に含まれる。高さh’23と高さh’24との差はd26であり、集合D2に含まれない。このため、第1算出部1014は、数f2を1とする。 The combination of the height included in the set D 2 is triplicate. The difference between the height h ′ 22 and the height h ′ 23 is d 25 and is not included in the set D 2 . The difference between the height h ′ 22 and the height h ′ 24 is d 24 and is included in the set D 2 . The difference between the height h ′ 23 and the height h ′ 24 is d 26 and is not included in the set D 2 . Therefore, the first calculation unit 1014 sets the number f 2 to 1.

第1算出部1014は、オフセット量の候補について、数f1と数f2とのうち小さい方を評価値として算出する。ここで、オフセット量Δhの候補がh12−h22の場合の評価値は、1である。 The first calculation unit 1014 calculates the smaller one of the number f 1 and the number f 2 as an evaluation value for the offset amount candidate. Here, the evaluation value when the offset amount Δh candidate is h 12 −h 22 is 1.

次に、特定部1016は、組み合わせの各々について特定した数に基づいて、オフセット量Δhを特定する。具体的には、特定部1016は、平面の組み合わせのうち、評価値が最も大きい組み合わせについてのオフセット量Δhの候補をオフセット量Δhとして特定する。ここでは、評価値が大きいほど、評価が高い。   Next, the specifying unit 1016 specifies the offset amount Δh based on the number specified for each combination. Specifically, the specifying unit 1016 specifies the offset amount Δh candidate for the combination having the largest evaluation value among the plane combinations as the offset amount Δh. Here, evaluation is so high that an evaluation value is large.

上述したように、図12に示すオフセット量Δhの候補がh11−h21である平面の組み合わせと、図13に示すオフセット量Δhの候補がh12−h22である平面の組み合わせ場合とは、評価値が同じとなる。このように、図6に示した例と異なり、評価値が同じとなる。このため、誤対応についてのオフセット量Δhの候補が特定されることを抑制することができる。 As described above, the combination of the plane where the offset amount Δh candidate shown in FIG. 12 is h 11 −h 21 and the combination of the plane where the offset amount Δh candidate shown in FIG. 13 is h 12 −h 22 are shown. The evaluation value is the same. Thus, unlike the example shown in FIG. 6, the evaluation values are the same. For this reason, it can suppress that the candidate of offset amount (DELTA) h regarding an incorrect response is specified.

図14は、数f1と数f2とが異なる例を示す説明図である。図14において集合H1は{h11,h12}であり、集合H’2は{h’21,h’22,h’23}である。集合D1は、高さh11と高さh12の距離が含まれる。高さh’21と高さh’22との間の距離と、高さh’22と高さh’23との間の距離と、が同じである場合、集合D2には、何も含まれない。なお、高さh11と高さh12の距離は、高さh’21と高さh’22との間の距離および高さh’22と高さh’23との間の距離と同じである。 FIG. 14 is an explanatory diagram illustrating an example in which the number f 1 is different from the number f 2 . In FIG. 14, the set H 1 is {h 11 , h 12 }, and the set H ′ 2 is {h ′ 21 , h ′ 22 , h ′ 23 }. Set D 1 includes the distance height h 11 and the height h 12. When the distance between the height h ′ 21 and the height h ′ 22 is the same as the distance between the height h ′ 22 and the height h ′ 23 , nothing is included in the set D 2. Not included. The distance between the height h 11 and the height h 12 is the same as the distance between the height h ′ 21 and the height h ′ 22 and the distance between the height h ′ 22 and the height h ′ 23. It is.

図14に示すような場合において、オフセット量Δhの候補をh11とh21とした場合に、集合G1は、{h11,h12}であり、集合G2は、{h’21,h’22}である。高さh11と高さh12との距離は、集合D1に含まれるため、数f1は1である。高さh’21と高さh’22との距離は、集合D2に含まれないため、数f2は0である。このように、数f1と数f2とは必ずしも同じとならないため、第1算出部1014は、数f1と数f2とのうちいずれか小さい方の数を評価値とする。図14の例において評価値は0となる。 In the case shown in FIG. 14, when the offset amount Δh candidates are h 11 and h 21 , the set G 1 is {h 11 , h 12 }, and the set G 2 is {h ′ 21 , h is' 22}. Since the distance between the height h 11 and the height h 12 is included in the set D 1 , the number f 1 is 1. Since the distance between the height h ′ 21 and the height h ′ 22 is not included in the set D 2 , the number f 2 is zero. Thus, since the number f 1 and the number f 2 are not necessarily the same, the first calculation unit 1014 uses the smaller number of the number f 1 and the number f 2 as an evaluation value. In the example of FIG. 14, the evaluation value is 0.

また、第1算出部1014によって算出された評価値が最も大きいオフセット量の候補が複数ある場合がある。このような場合、第2算出部1015は、第1算出部1014によって算出された評価値と異なる評価値によってオフセット量を特定する。   In addition, there may be a plurality of offset amount candidates having the largest evaluation value calculated by the first calculation unit 1014. In such a case, the second calculation unit 1015 identifies the offset amount based on an evaluation value different from the evaluation value calculated by the first calculation unit 1014.

具体的には、第2算出部1015は、第1算出部1014によって算出された評価値が最も大きいオフセット量の候補ごとに、異なる評価値を算出する。異なる評価値の算出方法として、特に限定しないが、ここでは3つの方法を例に挙げる。   Specifically, the second calculation unit 1015 calculates a different evaluation value for each offset amount candidate having the largest evaluation value calculated by the first calculation unit 1014. Although there are no particular limitations on the method for calculating different evaluation values, three methods will be exemplified here.

まず、異なる評価値の算出方法の1つ目の方法について説明する。   First, a first method for calculating different evaluation values will be described.

第2算出部1015は、各々の測定位置について、抽出した各平面に含まれる点群の数を求める。各平面に含まれる点群の数は、階段の踏み面のような比較的狭い平面と、床面や天井面などの広い平面とを区別するのに利用することができる。   The second calculation unit 1015 obtains the number of point groups included in each extracted plane for each measurement position. The number of point groups included in each plane can be used to distinguish a relatively narrow plane such as a tread of a staircase from a wide plane such as a floor surface or a ceiling surface.

そして、第2算出部1015は、第1算出部1014によって算出された評価値が最も大きいオフセット量Δhの候補について、2つの3D測定位置群間で高さが一致する平面に含まれる点群の数の相関値を評価値として算出する。   Then, the second calculation unit 1015 selects a candidate of the offset amount Δh having the largest evaluation value calculated by the first calculation unit 1014, for the point group included in the plane having the same height between the two 3D measurement position groups. A numerical correlation value is calculated as an evaluation value.

例えば、第1点群データ111における各平面の点の数を以下とする。   For example, the number of points on each plane in the first point cloud data 111 is as follows.

平面P11(高さh11の平面):300
平面P12(高さh12の平面):100
平面P13(高さh13の平面):80
平面P14(高さh14の平面):280
Plane P 11 (plane with height h 11 ): 300
Plane P 12 (plane with height h 12 ): 100
Plane P 13 (plane with height h 13 ): 80
Plane P 14 (plane with height h 14 ): 280

例えば、第2点群データ112における各平面の点の数を以下とする。   For example, the number of points on each plane in the second point cloud data 112 is as follows.

平面P21(高さh21の平面):280
平面P22(高さh22の平面):300
平面P23(高さh23の平面):90
平面P24(高さh24の平面):70
Plane P 21 (plane with height h 21 ): 280
Plane P 22 (plane with height h 22 ): 300
Plane P 23 (plane with height h 23 ): 90
Plane P 24 (plane with height h 24 ): 70

第1算出部1014によって算出された評価値が最も大きいオフセット量Δhの候補が、h11−h21と、h12−h22とする。 The candidates of the offset amount Δh having the largest evaluation value calculated by the first calculation unit 1014 are h 11 -h 21 and h 12 -h 22 .

オフセット量Δhの候補がh11−h21の場合、平面P11−平面P21と、平面P14−平面P22と、のように平面が対応する。この場合、相関値は−1となる。 When the candidate for the offset amount Δh is h 11 -h 21 , the planes correspond to plane P 11 -plane P 21 and plane P 14 -plane P 22 . In this case, the correlation value is -1.

また、オフセット量Δhの候補がh12−h22の場合、平面P12−平面P22と、平面P13−平面P23と、平面P14−平面P24と、のように平面が対応する。この場合、相関値は−0.48となる。相関値は、絶対値が1に近いほど、相関関係が強いため、特定部1016は、h12−h22であるオフセット量Δhの候補をオフセット量Δhとして特定する。 When the offset amount Δh is a candidate h 12 -h 22 , the planes correspond to plane P 12 -plane P 22 , plane P 13 -plane P 23 , plane P 14 -plane P 24. . In this case, the correlation value is −0.48. Since the correlation value is stronger as the absolute value is closer to 1, the specifying unit 1016 specifies a candidate for the offset amount Δh that is h 12 -h 22 as the offset amount Δh.

次に、異なる評価値の算出方法の2つ目の方法について説明する。   Next, a second method for calculating different evaluation values will be described.

図9に示したように、測定時に、各点群について赤外線の反射強度や色情報が同時に得られる場合がある。そこで、2つ目の方法では、これらの情報が、高さが一致する平面間で似ているか否かに基づいてオフセット量Δhを特定する。   As shown in FIG. 9, at the time of measurement, infrared reflection intensity and color information may be obtained simultaneously for each point group. Therefore, in the second method, the offset amount Δh is specified based on whether or not these pieces of information are similar between planes having the same height.

第2算出部1015は、オフセット量Δhの候補の各々について、2つの3D測定位置群間で高さが一致する平面について反射強度や色情報のヒストグラムの相関値を評価値として算出する。   The second calculation unit 1015 calculates, for each offset amount Δh candidate, a correlation value of a reflection intensity or a histogram of color information as an evaluation value for a plane whose height matches between two 3D measurement position groups.

上述したように、オフセット量Δhの候補がh11−h21の場合、平面P11−平面P21と、平面P14−平面P22と、のように平面間の高さが一致する。第2算出部1015は、例えば、平面P11と平面P14との反射強度や色情報のヒストグラムを算出する。第2算出部1015は、例えば、平面P21と平面P22の反射強度や色情報のヒストグラムを算出する。そして、第2算出部1015は、オフセット量Δhの候補がh11−h21についてのヒストグラムの相関値を算出する。 As described above, when the candidate for the offset amount Δh is h 11 -h 21 , the heights between the planes coincide, such as plane P 11 -plane P 21 and plane P 14 -plane P 22 . For example, the second calculation unit 1015 calculates a reflection intensity of the plane P 11 and the plane P 14 and a histogram of color information. For example, the second calculation unit 1015 calculates a histogram of reflection intensity and color information of the planes P 21 and P 22 . Then, the second calculation unit 1015 calculates the correlation value of the histogram when the offset amount Δh candidate is h 11 -h 21 .

上述したように、オフセット量Δhの候補がh12−h22の場合、平面P12−平面P22と、平面P13−平面P23と、平面P14−平面P24と、のように平面間の高さが一致する。第2算出部1015は、例えば、平面P12と平面P13と平面P14についての反射強度や色情報のヒストグラムを算出する。第2算出部1015は、例えば、平面P22と平面P23と平面P24についての反射強度や色情報のヒストグラムを算出する。 As described above, when the candidate of the offset amount Δh is h 12 -h 22 , the plane is like plane P 12 -plane P 22 , plane P 13 -plane P 23 , plane P 14 -plane P 24. The height between them matches. For example, the second calculation unit 1015 calculates a histogram of reflection intensity and color information for the plane P 12 , the plane P 13, and the plane P 14 . For example, the second calculation unit 1015 calculates a histogram of reflection intensity and color information for the plane P 22 , the plane P 23, and the plane P 24 .

次に、第2算出部1015は、平面P12のヒストグラムと平面P22のヒストグラムとの相関値を算出する。そして、第2算出部1015は、平面P13のヒストグラムと平面P23のヒストグラムとの相関値を算出する。そして、第2算出部1015は、平面P14のヒストグラムと平面P24のヒストグラムとの相関値を算出する。第2算出部1015は、算出した各相関値の平均値を評価値として算出する。 Next, the second calculation unit 1015 calculates a correlation value between the histogram of the plane P 12 and the histogram of the plane P 22 . Then, the second calculation unit 1015 calculates a correlation value between the histogram of the plane P 13 and the histogram of the plane P 23 . Then, the second calculation unit 1015 calculates a correlation value between the histogram of the plane P 14 and the histogram of the plane P 24 . The second calculation unit 1015 calculates an average value of the calculated correlation values as an evaluation value.

相関値は、絶対値が1に近いほど、相関関係が強いため、特定部1016は、評価値が最も大きいオフセット量Δhの候補をオフセット量Δhとして特定する。   Since the correlation value has a stronger correlation as the absolute value is closer to 1, the specifying unit 1016 specifies the offset amount Δh candidate having the largest evaluation value as the offset amount Δh.

次に、異なる評価値の算出方法の3つ目の方法について説明する。   Next, a third method for calculating different evaluation values will be described.

3つ目の方法では、オフセット量Δhの候補の各々について、2Dの位置合わせを行うことにより得られる位置合わせ結果を評価する。位置合わせ結果がよいか否かの評価としては、2つの3D点群間で対応する点の数が多いほど高評価とする。なお、位置合わせ部1017による位置合わせの方法については、後述する。   In the third method, the alignment result obtained by performing the 2D alignment for each of the offset amount Δh candidates is evaluated. As an evaluation of whether or not the alignment result is good, the higher the number of corresponding points between the two 3D point groups, the higher the evaluation. A method of alignment by the alignment unit 1017 will be described later.

位置合わせ部1017は、オフセット量Δhの候補の各々について、オフセット量Δhの候補によって補正された第2の点群データを補正する。そして、位置合わせ部1017は、オフセット量Δhの候補の各々について、第1点群データ111と、補正された第2点群データ112とで位置合わせを行う。   The alignment unit 1017 corrects the second point group data corrected by the offset amount Δh candidate for each of the offset amount Δh candidates. Then, the alignment unit 1017 aligns the first point group data 111 and the corrected second point group data 112 for each of the offset amount Δh candidates.

第2算出部1015は、位置合わせ後の3D点群データのうち、第1点群データ111によって特定される点群(第1点群)と、位置合わせ後の第2点群データ112によって特定される点群(第2点群)と、の間で対応する点の数を算出する。なお、評価値は、オフセット量Δhの候補の各々(第1平面と第2平面との組み合わせの各々)について算出される。具体的には、第2算出部1015は、第1点群の各々の点について、各々の点から最近傍にある第2点群に含まれるまでの距離が一定距離以内であるか否かを判定する。第2算出部1015は、一定距離以内であると判定された点の数を評価値とする。この評価値は、大きいほど、評価が高い。第2算出部1015は、最も評価が高いオフセット量Δhの候補をオフセット量Δhとする。   The second calculation unit 1015 specifies the point group (first point group) specified by the first point group data 111 out of the 3D point group data after alignment and the second point group data 112 after alignment. The number of points corresponding to the point group (second point group) to be calculated is calculated. The evaluation value is calculated for each of the offset amount Δh candidates (each combination of the first plane and the second plane). Specifically, the second calculation unit 1015 determines, for each point in the first point group, whether or not the distance from each point until it is included in the nearest second point group is within a certain distance. judge. The second calculation unit 1015 uses the number of points determined to be within a certain distance as an evaluation value. The larger this evaluation value, the higher the evaluation. The second calculation unit 1015 sets the offset amount Δh with the highest evaluation as the offset amount Δh.

ここでは、他の評価値の算出方法として3つの方法を挙げたが、これに限らない。また、例えば、3つの方法のうちいずれか一つの方法により算出された評価値によってオフセット量が特定されてもよい。または、複数の方法により算出された各評価値によってオフセット量が特定されてもよい。または、オフセット量が一意に特定されるまで3つの方法が順に行われてもよい。   Here, three methods are listed as other evaluation value calculation methods, but the present invention is not limited to this. For example, the offset amount may be specified by an evaluation value calculated by any one of the three methods. Alternatively, the offset amount may be specified by each evaluation value calculated by a plurality of methods. Or three methods may be performed in order until an offset amount is specified uniquely.

次に、位置合わせ部1017は、特定部1016によって特定されたオフセット量Δhにしたがって各測定位置の3D点群データの間で高さの基準を合わせる。すなわち、位置合わせ部1017は、異なる測定位置で測定された3D点群データのうち集合H2が割り当てられた方の3D点群データ、すなわち第2点群データ112に含まれる各点にオフセット量Δhを加算する。その後、位置合わせ部1017は、下記の関連文献1に記載があるように、位置合わせの対象とする3D点群データそれぞれについて所定の高さの区間に含まれる3D点群を所定の面、例えば床面に投影することにより2次元の水平方向のスライスデータを抽出する。そして、位置合わせ部1017は、これらのスライスデータに対して、2次元でレジストレーションを行う。 Next, the alignment unit 1017 adjusts the height reference between the 3D point cloud data at each measurement position according to the offset amount Δh specified by the specifying unit 1016. That is, the alignment unit 1017 applies the offset amount to each point included in the 3D point group data to which the set H 2 is assigned among the 3D point group data measured at different measurement positions, that is, the second point group data 112. Add Δh. Thereafter, as described in Related Document 1 below, the alignment unit 1017 applies a 3D point group included in a section having a predetermined height for each 3D point group data to be aligned to a predetermined surface, for example, Two-dimensional horizontal slice data is extracted by projecting onto the floor surface. Then, the alignment unit 1017 performs two-dimensional registration on these slice data.

[関連文献1]“大規模環境の統合点群モデルの自動生成(第三報)、点群ペア位置合せとマッチ判定による複数点群の完全自動位置合せ”、松山雄介、伊達宏昭、金井理、2014年度精密工学会春季大会、セッションID: E45   [Related Literature 1] “Automatic generation of integrated point cloud model in large-scale environment (3rd report), fully automatic registration of multiple point clouds by point cloud pair alignment and match determination”, Yusuke Matsuyama, Hiroaki Date, Osamu Kanai , 2014 Precision Engineering Society Spring Meeting, Session ID: E45

このほか、位置合わせ部1017は、下記の関連文献2に記載された方法で、同じ高さで各3D点群をスライスして抽出した2次元点群について平面内で位置合わせすることとしてもよい。   In addition, the alignment unit 1017 may align the two-dimensional point group obtained by slicing and extracting each 3D point group at the same height in a plane by the method described in Related Document 2 below. .

[関連文献2]友納正裕,“ユークリッド変換に不変な特徴量を用いた二次元大域スキャンマッチング方式,日本ロボット学会誌,Vol. 25,No. 3,pp390〜401(2007)”   [Related Literature 2] Masahiro Tomono, “Two-dimensional global scan matching method using feature invariant for Euclidean transformation, Journal of the Robotics Society of Japan, Vol. 25, No. 3, pp 390-401 (2007)”

これを説明すると、2次元点群は、各点の法線を周囲の点の位置から計算することができ、位置合わせ部1017は、方向付き点群を得ることができる。データ間で方向付き点の対応が1つ決まると2次元の場合、位置合わせのための座標変換パラメータ(x,y,θ)が求まる。そこで、位置合わせ部1017は、方向付き点の対応候補を他の点の位置関係から評価して所定数に絞り込む。これにより、位置合わせ部1017は、座標変換の候補が絞り込まれるので、各候補について位置合わせの誤差を最小化する詳細位置合わせ処理を行った上で残差を評価し、最も残差が少なかった位置合わせ結果を採用する。これによって、位置合わせ部1017は、2次元のレジストレーションを実現できる。   Explaining this, the two-dimensional point group can calculate the normal of each point from the positions of surrounding points, and the alignment unit 1017 can obtain the pointed point group. If one correspondence of a point with a direction is determined between data, in the case of two dimensions, coordinate conversion parameters (x, y, θ) for alignment are obtained. Accordingly, the alignment unit 1017 evaluates the correspondence candidates of the pointed points from the positional relationship of other points and narrows down to a predetermined number. As a result, the alignment unit 1017 narrows down the candidates for coordinate transformation. Therefore, after performing the detailed alignment process for minimizing the alignment error for each candidate, the residual is evaluated, and the residual is the smallest. Adopt the alignment result. Accordingly, the alignment unit 1017 can realize two-dimensional registration.

情報処理装置100は、このように1つに統合された3D点群データにメッシュ化処理を行うことにより、3次元の面データに変換することもできる。これら1つに統合された3D点群データまたは3次元の面データを用いることにより、作業者301を支援する支援データを作成し、プロジェクションにより投影することもできる。また、情報処理装置100は、3次元の面データが示す3次元のモデルをプロジェクタ804などによって表示してもよい。   The information processing apparatus 100 can also convert into 3D surface data by performing meshing processing on the 3D point cloud data integrated into one in this way. By using 3D point cloud data or three-dimensional surface data integrated into one of these, support data for supporting the worker 301 can be created and projected by projection. Further, the information processing apparatus 100 may display a three-dimensional model indicated by the three-dimensional surface data using the projector 804 or the like.

(情報処理装置100が行う処理手順例)
図15は、情報処理装置100が行う処理手順例を示すフローチャートである。情報処理装置100は、各々の測定位置について、3D点群データを取得する(ステップS1501)。情報処理装置100は、各々の測定位置の3D点群データについて、水平面の方向を算出する(ステップS1502)。
(Example of processing procedure performed by information processing apparatus 100)
FIG. 15 is a flowchart illustrating an example of a processing procedure performed by the information processing apparatus 100. The information processing apparatus 100 acquires 3D point cloud data for each measurement position (step S1501). The information processing apparatus 100 calculates the direction of the horizontal plane for the 3D point cloud data at each measurement position (step S1502).

情報処理装置100は、各々の測定位置について、z軸正方向が水平面の法線方向になる座標変換を実行する(ステップS1503)。情報処理装置100は、各々の測定位置について、3D点群データから平面を抽出する(ステップS1504)。情報処理装置100は、各平面の高さ(z座標)を算出する(ステップS1505)。   The information processing apparatus 100 performs coordinate conversion for each measurement position so that the z-axis positive direction is the normal direction of the horizontal plane (step S1503). The information processing apparatus 100 extracts a plane from the 3D point cloud data for each measurement position (step S1504). The information processing apparatus 100 calculates the height (z coordinate) of each plane (step S1505).

情報処理装置100は、オフセット量および評価値の算出処理を行う(ステップS1506)。情報処理装置100は、評価が最も高い平面の組み合わせの数が1つか否かを判断する(ステップS1507)。評価が最も高い平面の組み合わせの数が1つであると判断された場合(ステップS1507:Yes)、情報処理装置100は、ステップS1509へ移行する。   The information processing apparatus 100 performs an offset amount and evaluation value calculation process (step S1506). The information processing apparatus 100 determines whether or not the number of plane combinations with the highest evaluation is one (step S1507). When it is determined that the number of combinations of planes with the highest evaluation is one (step S1507: Yes), the information processing apparatus 100 proceeds to step S1509.

評価が最も高い平面の組み合わせの数が1つでないと判断された場合(ステップS1507:No)、情報処理装置100は、評価が最も高い平面の組み合わせについて他の評価値を算出する(ステップS1508)。次に、情報処理装置100は、評価が最も高い平面の組み合わせに基づきオフセット量Δhを特定する(ステップS1509)。   If it is determined that the number of combinations of planes with the highest evaluation is not one (step S1507: No), the information processing apparatus 100 calculates another evaluation value for the combination of planes with the highest evaluation (step S1508). . Next, the information processing apparatus 100 specifies the offset amount Δh based on the combination of the planes with the highest evaluation (step S1509).

次に、情報処理装置100は、評価が最も高い平面の組み合わせについてのオフセット量に基づき一方の3D点群の位置を補正する(ステップS1510)。そして、情報処理装置100は、水平方向に同じ高さでスライスした2D点群データを抽出する(ステップS1511)。情報処理装置100は、レジストレーション処理を行い(ステップS1512)、一連の処理を終了する。   Next, the information processing apparatus 100 corrects the position of one 3D point group based on the offset amount for the combination of planes with the highest evaluation (step S1510). Then, the information processing apparatus 100 extracts 2D point cloud data sliced at the same height in the horizontal direction (step S1511). The information processing apparatus 100 performs a registration process (step S1512) and ends a series of processes.

図16および図17は、図15で示したオフセット量および評価値の算出処理の詳細な説明を示すフローチャートである。まず、情報処理装置100は、第1測定位置101についての複数の第1平面間の距離を算出する(ステップS1601)。次に、情報処理装置100は、算出した各距離から特徴的な距離の集合D1を抽出する(ステップS1602)。 16 and 17 are flowcharts showing detailed descriptions of the offset amount and evaluation value calculation processing shown in FIG. First, the information processing apparatus 100 calculates distances between a plurality of first planes for the first measurement position 101 (step S1601). Next, the information processing apparatus 100 extracts a set D 1 of characteristic distances from the calculated distances (step S1602).

そして、情報処理装置100は、第2測定位置102についての複数の第2平面間の距離を算出する(ステップS1603)。情報処理装置100は、算出した各距離から特徴的な距離の集合D2を抽出する(ステップS1604)。情報処理装置100は、第1測定位置101の複数の第1平面に含まれる第1平面と第2測定位置102の複数の第2平面に含まれる第2平面とのすべての組み合わせを生成する(ステップS1605)。情報処理装置100は、未評価の組み合わせがあるか否かを判断する(ステップS1606)。 Then, the information processing apparatus 100 calculates the distance between the plurality of second planes for the second measurement position 102 (step S1603). The information processing apparatus 100 extracts a set D 2 of the characteristic distance from each distance calculated (step S1604). The information processing apparatus 100 generates all combinations of the first plane included in the plurality of first planes of the first measurement position 101 and the second plane included in the plurality of second planes of the second measurement position 102 ( Step S1605). The information processing apparatus 100 determines whether there is an unevaluated combination (step S1606).

未評価の組み合わせがないと判断された場合(ステップS1606:No)、情報処理装置100は、未評価の組み合わせから1つの組み合わせを評価対象として選択する(ステップS1701)。情報処理装置100は、選択した組み合わせについて、組み合わせに含まれる平面の高さを一致させるオフセット量Δhの候補を算出する(ステップS1702)。情報処理装置100は、算出したオフセット量Δhの候補によって第2測定位置102についての複数の第2平面の高さを補正する(ステップS1703)。   If it is determined that there is no unevaluated combination (step S1606: No), the information processing apparatus 100 selects one combination from the unevaluated combinations as an evaluation target (step S1701). For the selected combination, the information processing apparatus 100 calculates a candidate for the offset amount Δh that matches the heights of the planes included in the combination (step S1702). The information processing apparatus 100 corrects the heights of the plurality of second planes at the second measurement position 102 by using the calculated offset amount Δh (step S1703).

そして、情報処理装置100は、複数の第1平面のうち補正後の複数の第2平面と高さが一致する第1平面の高さの集合G1を特定する(ステップS1704)。 Then, the information processing apparatus 100 specifies a set G 1 of heights of the first planes whose heights coincide with the corrected second planes among the plurality of first planes (step S1704).

情報処理装置100は、複数の第1平面のうち補正後の第2平面と高さが一致する第2平面の高さの集合G2を特定する(ステップS1705)。情報処理装置100は、集合G1に含まれる2つの高さの組み合わせごとに高さの差(距離)が集合D1に含まれる数f1を算出する(ステップS1706)。そして、情報処理装置100は、集合G2に含まれる2つの高さの組み合わせごとに高さの差(距離)が集合D2に含まれる数f2を算出し(ステップS1707)、ステップS1606へ移行する。 The information processing apparatus 100 specifies the set G 2 of the heights of the second planes whose height matches the corrected second plane among the plurality of first planes (step S1705). The information processing apparatus 100 calculates the number f 1 in which the height difference (distance) is included in the set D 1 for each combination of two heights included in the set G 1 (step S1706). The information processing apparatus 100 calculates the number f 2 in which the height difference (distance) is included in the set D 2 for each combination of the two heights included in the set G 2 (step S1707), and the process proceeds to step S1606. Transition.

また、ステップS1606において、未評価の組み合わせがあると判断された場合(ステップS1606:Yes)、情報処理装置100は、一連の処理を終了する。   When it is determined in step S1606 that there is an unevaluated combination (step S1606: Yes), the information processing apparatus 100 ends the series of processes.

図18は、図15で示したレジストレーション処理の詳細な説明を示すフローチャートである。情報処理装置100は、補正した一方の3D点群データによって特定される一方の3D点群(補正点群)と補正していない他方の3D点群データによって特定される3D点群(基準点群)の各点について法線方向を算出する(ステップS1801)。次に、情報処理装置100は、基準点群と補正点群の間の点対応候補を複数抽出する(ステップS1802)。情報処理装置100は、各点対応候補ごとに座標変換パラメータを算出する(ステップS1803)。   FIG. 18 is a flowchart showing a detailed description of the registration process shown in FIG. The information processing apparatus 100 uses one 3D point group (correction point group) specified by one corrected 3D point group data and a 3D point group (reference point group) specified by the other 3D point group data that is not corrected. The normal direction is calculated for each point (step S1801). Next, the information processing apparatus 100 extracts a plurality of point correspondence candidates between the reference point group and the correction point group (step S1802). The information processing apparatus 100 calculates a coordinate conversion parameter for each point correspondence candidate (step S1803).

情報処理装置100は、複数の座標変換パラメータをクラスタリングする(ステップS1804)。情報処理装置100は、要素数が多いクラスタの重心の座標変換パラメータを算出する(ステップS1805)。情報処理装置100は、各パラメータで変換後の点群の位置関係を初期位置とし、ICPアルゴリズムにより位置合わせをクラスタごとに実行する(ステップS1806)。情報処理装置100は、各位置合わせ結果の残差を評価して最もマッチした位置合わせ結果を選択し(ステップS1807)、一連の処理を終了する。   The information processing apparatus 100 clusters a plurality of coordinate conversion parameters (step S1804). The information processing apparatus 100 calculates a coordinate conversion parameter for the center of gravity of the cluster having a large number of elements (step S1805). The information processing apparatus 100 uses the positional relationship of the point group after conversion with each parameter as an initial position, and performs alignment for each cluster using the ICP algorithm (step S1806). The information processing apparatus 100 evaluates the residuals of the respective alignment results, selects the most matching alignment result (step S1807), and ends the series of processes.

図19は、システム例を示す説明図である。本実施の形態では、情報処理装置100は、測定機器そのものである場合を例に説明したが、これに限らない。図10に示した情報処理装置100の機能部のうちの一部の機能部を他の装置に実現させてもよい。   FIG. 19 is an explanatory diagram of an example system. In the present embodiment, the information processing apparatus 100 is described as an example in which the information processing apparatus 100 is the measurement device itself, but the present invention is not limited to this. Some of the functional units of the information processing apparatus 100 illustrated in FIG. 10 may be implemented in another device.

システム1900は、測定機器である情報処理装置100と、装置1901と、装置1902と、を有する。情報処理装置100と、装置1901と、装置1902とは、例えば、ネットワーク810を介して接続される。図19の例では、装置1901は、PCであり、装置1902は、携帯型の端末装置であるが、これに限らない。装置1901と装置1902としては、例えば、PC、サーバ、携帯型の端末装置などが挙げられる。例えば、取得部1001を測定機器である情報処理装置100によって実現させ、制御部1002を装置1901によって実現させてもよい。また、制御部1002の一部の機能を情報処理装置100によって実現させ、制御部1002の残余の機能を装置1901によって実現させてもよい。   A system 1900 includes an information processing apparatus 100 that is a measuring device, an apparatus 1901, and an apparatus 1902. The information processing apparatus 100, the apparatus 1901, and the apparatus 1902 are connected via a network 810, for example. In the example of FIG. 19, the device 1901 is a PC, and the device 1902 is a portable terminal device, but is not limited thereto. Examples of the device 1901 and the device 1902 include a PC, a server, and a portable terminal device. For example, the acquisition unit 1001 may be realized by the information processing apparatus 100 which is a measuring device, and the control unit 1002 may be realized by the apparatus 1901. Further, some functions of the control unit 1002 may be realized by the information processing apparatus 100, and the remaining functions of the control unit 1002 may be realized by the apparatus 1901.

また、例えば装置1902は、利用者による操作入力によって受け付けた測定の開始指示を測定機器である情報処理装置100に通知してもよい。これにより、作業者301は、直接測定機器を操作することなく、3D測定を行うことができる。また、装置1901は、3次元の面データが示す3次元のモデルをディスプレイなどに表示してもよい。   Further, for example, the apparatus 1902 may notify the information processing apparatus 100 that is a measurement apparatus of a measurement start instruction received by an operation input by a user. Thereby, the worker 301 can perform 3D measurement without directly operating the measuring device. The apparatus 1901 may display a three-dimensional model indicated by the three-dimensional surface data on a display or the like.

装置1901や装置1902は、CPU、ディスク、メモリ、I/F、入力装置、ディスプレイなどの出力装置などのようなハードウェア構成を有していればよく、特に限定しない。また、各種の3D点群データや各種のモデル情報については、データベースサーバ(図示省略)などに記憶および管理されてもよい。   The devices 1901 and 1902 are not particularly limited as long as they have a hardware configuration such as a CPU, a disk, a memory, an I / F, an input device, and an output device such as a display. Various 3D point cloud data and various model information may be stored and managed in a database server (not shown).

以上説明したように、情報処理装置100は、異なる測定位置で測定された点群データの間で基準となる平面同士の高さが合うようなオフセット量にしたがって点群データを補正して2次元の位置合わせを行う。これにより、情報処理装置100は、オクルージョンのある環境下で3D点群データの合成精度を高めることができる。   As described above, the information processing apparatus 100 corrects the point cloud data in accordance with the offset amount such that the heights of the reference planes match between the point cloud data measured at different measurement positions, and performs two-dimensional correction. Perform position alignment. Thereby, the information processing apparatus 100 can improve the synthesis accuracy of the 3D point cloud data in an environment where there is occlusion.

情報処理装置100は、第1点群データから得る第1平面群の1面に合わせて、第2点群データから得る第2平面群の高さを補正した第2平面群の面と高さが同じ第1平面間の距離のうち、第1平面群の面間の特徴的な距離と同じ距離の数からオフセット量を特定する。これにより、情報処理装置100は、複数の第1平面の中で、補正後の複数の第2平面と高さが一致している第1平面の数によってオフセット量を特定する場合と比較して、高さ方向の位置合わせの精度の向上を図ることができる。   The information processing apparatus 100 adjusts the height and height of the second plane group obtained by correcting the height of the second plane group obtained from the second point group data in accordance with one surface of the first plane group obtained from the first point group data. Among the distances between the same first planes, the offset amount is specified from the number of the same distances as the characteristic distance between the surfaces of the first plane group. Thus, the information processing apparatus 100 compares the offset amount with the number of first planes having the same height as the corrected second planes among the plurality of first planes. Thus, it is possible to improve the accuracy of alignment in the height direction.

また、情報処理装置100は、補正後の複数の第2平面の中で、複数の第1平面と高さが一致する補正後の第2平面間の距離のうち、第2平面間の特徴的な距離に含まれる距離の第2数と特定した第1数とに基づいてオフセット量を特定する。これにより、第1数と第2数とは異なる場合があるため、2つの種類の数のうちの小さい方の数を評価値として用いることができる。これにより、情報処理装置100は、より精度のよい評価値によって高さ方向の補正を行うことができる。   Further, the information processing apparatus 100 has a characteristic between the second planes among the distances between the corrected second planes whose heights coincide with the first planes among the corrected second planes. The offset amount is specified based on the second number of the distances included in the short distance and the specified first number. Thereby, since the first number may be different from the second number, the smaller number of the two types of numbers can be used as the evaluation value. As a result, the information processing apparatus 100 can perform correction in the height direction with a more accurate evaluation value.

なお、本実施の形態で説明した情報処理方法は、予め用意された情報処理プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。   Note that the information processing method described in this embodiment can be realized by executing an information processing program prepared in advance on a computer such as a personal computer or a workstation. The information processing program is recorded on a computer-readable recording medium such as a magnetic disk, an optical disk, or a USB (Universal Serial Bus) flash memory, and is executed by being read from the recording medium by the computer. The information processing program may be distributed via a network such as the Internet.

また、本実施の形態で説明した情報処理装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)によっても実現することができる。具体的には、例えば、上述した情報処理装置100の制御部1002の機能をHDL記述によって機能定義し、そのHDL(Hardware Description Language)記述を論理合成してASICやPLDに与えることにより、情報処理装置100の制御部1002を製造することができる。   In addition, the information processing apparatus 100 described in this embodiment includes an application-specific IC (hereinafter simply referred to as “ASIC”) such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array). ) And other PLDs (Programmable Logic Devices). Specifically, for example, the function of the control unit 1002 of the information processing apparatus 100 described above is defined by HDL description, and the HDL (Hardware Description Language) description is logically synthesized and given to the ASIC or PLD, thereby processing the information. The control unit 1002 of the apparatus 100 can be manufactured.

11,d12,d13,d14,d15,d16,d21,d22,d23,d24,d25,d26 距離
1M1,p11,p12
11,P12,P13,P14,P15 第1平面
21,P22,P23,P24,P25,P26 第2平面
11,h12,h13,h14 第1平面の高さ
21,h22,h23,h24 第2平面の高さ
100 情報処理装置
101 第1測定位置
102 第2測定位置
111 第1点群データ
112 第2点群データ
300 現場
301 作業者
701 駆動装置
702 測定装置
703 制御装置
1001 取得部
1002 制御部
1011 抽出部
1012 距離算出部
1013 オフセット量算出部
1014 第1算出部
1015 第2算出部
1016 特定部
1900 システム
1901,1902 装置
d 11, d 12, d 13 , d 14, d 15, d 16, d 21, d 22, d 23, d 24, d 25, d 26 distance p 1M1, p 11, p 12 points P 11, P 12 , P 13 , P 14 , P 15 first plane P 21 , P 22 , P 23 , P 24 , P 25 , P 26 second plane h 11 , h 12 , h 13 , h 14 height of the first plane h 21 , h 22 , h 23 , h 24 Height of second plane 100 Information processing device 101 First measurement position 102 Second measurement position 111 First point cloud data 112 Second point cloud data 300 On-site 301 Worker 701 Drive device 702 Measuring device 703 Control device 1001 Acquisition unit 1002 Control unit 1011 Extraction unit 1012 Distance calculation unit 1013 Offset amount calculation unit 1014 First calculation unit 1015 Second calculation unit 1016 Identification unit 1900 System 1901, 1902 Device

Claims (6)

複数の測定位置の各々の測定位置について、前記各々の測定位置から物体までの距離に基づく3次元の点群データを取得し、
前記各々の測定位置について、取得した前記点群データから平面領域に属する点群データを抽出し、
前記複数の測定位置の間で、抽出した前記点群データが属する前記平面領域の間の垂直方向の差分が一致するオフセット量を算出し、
算出した前記オフセット量にしたがって補正された前記点群データを用いて位置合わせを行う、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
For each measurement position of a plurality of measurement positions, obtain three-dimensional point cloud data based on the distance from each measurement position to the object,
For each measurement position, extract the point cloud data belonging to the plane area from the acquired point cloud data,
Calculating an offset amount in which a vertical difference between the planar areas to which the extracted point cloud data belongs is the same among the plurality of measurement positions;
Align using the point cloud data corrected according to the calculated offset amount,
An information processing program for causing a computer to execute processing.
前記オフセット量を算出する処理は、
前記複数の測定位置のうちの第1測定位置について、取得した前記点群データから抽出した複数の点群データの各々に属する互いに平行な複数の第1平面領域の各々の第1平面領域の間の各距離のうちの当該各距離と他の距離との差分が所定値以上である距離を特定し、
前記複数の測定位置のうちの第2測定位置について取得した前記点群データから抽出した複数の点群データの各々に属する互いに平行な複数の第2平面領域に含まれる第2平面領域と、前記複数の第1平面領域に含まれる第1平面領域と、の組み合わせの各々について、前記組み合わせに含まれる平面領域間の垂直方向の位置を一致させるように、前記複数の第2平面領域の各々の第2平面領域の垂直方向の位置を補正し、
前記組み合わせの各々について、前記各々の第1平面領域の垂直方向の位置のうち、補正後の前記各々の第2平面領域の垂直方向の位置と一致する位置を特定し、
前記組み合わせの各々について、特定した前記位置の2つの組み合わせのうち、前記位置の2つの組み合わせに含まれる位置間の距離が特定した前記距離と一致する組み合わせの数を特定し、
前記組み合わせの各々について特定した前記数に基づいて、前記オフセット量を特定する、
前記位置合わせを行う処理は、
前記第2測定位置についての前記点群データが、特定した前記オフセット量にしたがって補正された前記点群データと、前記第1測定位置についての前記点群データと、を用いて位置合わせを行う、
ことを特徴とする請求項1に記載の情報処理プログラム。
The process for calculating the offset amount includes:
Between the first plane areas of the plurality of first plane areas parallel to each other belonging to each of the plurality of point group data extracted from the acquired point group data for the first measurement position of the plurality of measurement positions. A distance in which the difference between each of the distances and other distances is equal to or greater than a predetermined value,
A second plane region included in a plurality of parallel second plane regions belonging to each of a plurality of point group data extracted from the point group data acquired for the second measurement position of the plurality of measurement positions; For each combination of the first planar regions included in the plurality of first planar regions, the vertical positions between the planar regions included in the combination are matched to each other. Correct the vertical position of the second plane region,
For each of the combinations, the position in the vertical direction of each of the first plane regions is identified as the position that matches the position in the vertical direction of each of the second plane regions after correction.
For each of the combinations, among the two combinations of the specified positions, specify the number of combinations in which the distance between the positions included in the two combinations of the positions matches the specified distance,
Identifying the offset amount based on the number identified for each of the combinations;
The process of performing the alignment is as follows.
The point cloud data for the second measurement position is aligned using the point cloud data corrected according to the specified offset amount and the point cloud data for the first measurement position.
The information processing program according to claim 1.
前記オフセット量を算出する処理は、
さらに、前記第2測定位置について、前記各々の第2平面領域の間の各距離のうちの当該各距離と他の距離との差分が前記所定値以上である第2距離を特定し、
さらに、前記組み合わせの各々について、特定した前記位置の2つの組み合わせのうち、前記位置の2つの組み合わせに含まれる位置間の距離が特定した前記第2距離と一致する組み合わせの第2数を特定し、
前記オフセット量を算出する処理のうちの前記オフセット量を特定する処理は、
前記組み合わせの各々について特定した前記数および特定した前記第2数に基づいて、前記オフセット量を特定する、
ことを特徴とする請求項2に記載の情報処理プログラム。
The process for calculating the offset amount includes:
Further, for the second measurement position, a second distance in which a difference between each distance and another distance among the distances between the respective second plane regions is equal to or greater than the predetermined value,
Further, for each of the combinations, a second number of combinations in which the distance between the positions included in the two combinations of the positions matches the second distance specified among the two combinations of the specified positions is specified. ,
Of the processes for calculating the offset amount, the process for specifying the offset amount is:
Identifying the offset amount based on the identified number and the identified second number for each of the combinations;
The information processing program according to claim 2.
前記オフセット量を算出する処理のうちの前記オフセット量を特定する処理は、
前記組み合わせの各々について特定した前記数と特定した前記第2数とのうち小さい方の数に基づいて、前記オフセット量を特定する、
ことを特徴とする請求項3に記載の情報処理プログラム。
Of the processes for calculating the offset amount, the process for specifying the offset amount is:
Identifying the offset amount based on the smaller number of the number identified for each of the combinations and the identified second number;
The information processing program according to claim 3.
複数の測定位置の各々の測定位置について、前記各々の測定位置から物体までの距離に基づく3次元の点群データを取得し、
前記各々の測定位置について、取得した前記点群データから平面領域に属する点群データを抽出し、
前記複数の測定位置の間で、抽出した前記点群データが属する前記平面領域の間の垂直方向の差分が一致するオフセット量を算出し、
算出した前記オフセット量にしたがって補正された前記点群データを用いて位置合わせを行う、
処理をコンピュータが実行することを特徴とする情報処理方法。
For each measurement position of a plurality of measurement positions, obtain three-dimensional point cloud data based on the distance from each measurement position to the object,
For each measurement position, extract the point cloud data belonging to the plane area from the acquired point cloud data,
Calculating an offset amount in which a vertical difference between the planar areas to which the extracted point cloud data belongs is the same among the plurality of measurement positions;
Align using the point cloud data corrected according to the calculated offset amount,
An information processing method, wherein a computer executes a process.
複数の測定位置の各々の測定位置について、前記各々の測定位置から物体までの距離に基づく3次元の点群データを取得する取得部と、
前記各々の測定位置について、前記取得部が取得した前記点群データから平面領域に属する点群データを抽出し、前記複数の測定位置の間で、抽出した前記点群データが属する前記平面領域の間の垂直方向の差分が一致するオフセット量を算出し、算出した前記オフセット量にしたがって補正された前記点群データを用いて位置合わせを行う制御部と、
を有することを特徴とする情報処理装置。
An acquisition unit that acquires three-dimensional point cloud data based on a distance from each measurement position to an object for each of the plurality of measurement positions;
For each measurement position, point cloud data belonging to a plane area is extracted from the point cloud data acquired by the acquisition unit, and the plane area to which the extracted point cloud data belongs is extracted between the plurality of measurement positions. A control unit that calculates an offset amount in which a vertical difference between them coincides, and performs alignment using the point cloud data corrected according to the calculated offset amount;
An information processing apparatus comprising:
JP2017058526A 2017-03-24 2017-03-24 Information processing programs, information processing methods, and information processing equipment Active JP6903987B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017058526A JP6903987B2 (en) 2017-03-24 2017-03-24 Information processing programs, information processing methods, and information processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058526A JP6903987B2 (en) 2017-03-24 2017-03-24 Information processing programs, information processing methods, and information processing equipment

Publications (2)

Publication Number Publication Date
JP2018159693A true JP2018159693A (en) 2018-10-11
JP6903987B2 JP6903987B2 (en) 2021-07-14

Family

ID=63796656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058526A Active JP6903987B2 (en) 2017-03-24 2017-03-24 Information processing programs, information processing methods, and information processing equipment

Country Status (1)

Country Link
JP (1) JP6903987B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020085142A1 (en) * 2018-10-22 2020-04-30 国立大学法人大阪大学 Measurement apparatus and measurement system
JP2021179376A (en) * 2020-05-14 2021-11-18 株式会社日立エルジーデータストレージ Ranging system, and ranging sensor calibration method
JP2023510286A (en) * 2020-01-07 2023-03-13 ルミナー,エルエルシー Sensor system calibration
WO2024144064A1 (en) * 2022-12-28 2024-07-04 (주)서울로보틱스 Electronic device and method for calibrating point cloud for three-dimensional space

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000337862A (en) * 1999-05-27 2000-12-08 Inst Of Physical & Chemical Res Synthesizing method for partial measured data
JP2004054308A (en) * 2002-07-16 2004-02-19 Japan Science & Technology Corp Method and device for integrating distance image
WO2012141235A1 (en) * 2011-04-13 2012-10-18 株式会社トプコン Three-dimensional point group position data processing device, three-dimensional point group position data processing system, three-dimensional point group position data processing method and program
US20140300886A1 (en) * 2013-04-05 2014-10-09 Leica Geosystems Ag Geodetic referencing of point clouds

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000337862A (en) * 1999-05-27 2000-12-08 Inst Of Physical & Chemical Res Synthesizing method for partial measured data
JP2004054308A (en) * 2002-07-16 2004-02-19 Japan Science & Technology Corp Method and device for integrating distance image
WO2012141235A1 (en) * 2011-04-13 2012-10-18 株式会社トプコン Three-dimensional point group position data processing device, three-dimensional point group position data processing system, three-dimensional point group position data processing method and program
US20140300886A1 (en) * 2013-04-05 2014-10-09 Leica Geosystems Ag Geodetic referencing of point clouds

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
塩澤秀門 外3名: ""Velodyneレーザスキャナを用いた上空からの三次元再構成"", 日本ロボット学会誌, vol. Volume 31,Number 10, JPN6018048132, 15 December 2013 (2013-12-15), JP, pages 992 - 1000, ISSN: 0004402411 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020085142A1 (en) * 2018-10-22 2020-04-30 国立大学法人大阪大学 Measurement apparatus and measurement system
JPWO2020085142A1 (en) * 2018-10-22 2021-10-21 国立大学法人大阪大学 Measuring device and measuring system
JP7339485B2 (en) 2018-10-22 2023-09-06 国立大学法人大阪大学 measurement system
JP2023510286A (en) * 2020-01-07 2023-03-13 ルミナー,エルエルシー Sensor system calibration
JP2021179376A (en) * 2020-05-14 2021-11-18 株式会社日立エルジーデータストレージ Ranging system, and ranging sensor calibration method
JP7286586B2 (en) 2020-05-14 2023-06-05 株式会社日立エルジーデータストレージ Ranging system and ranging sensor calibration method
WO2024144064A1 (en) * 2022-12-28 2024-07-04 (주)서울로보틱스 Electronic device and method for calibrating point cloud for three-dimensional space

Also Published As

Publication number Publication date
JP6903987B2 (en) 2021-07-14

Similar Documents

Publication Publication Date Title
JP6903987B2 (en) Information processing programs, information processing methods, and information processing equipment
AU2020200546B2 (en) Structure modelling
JP5593177B2 (en) Point cloud position data processing device, point cloud position data processing method, point cloud position data processing system, and point cloud position data processing program
JP5711039B2 (en) 3D point cloud position data processing apparatus, 3D point cloud position data processing method, 3D point cloud position data processing system, and program
JP4791423B2 (en) Automatic three-dimensional scan data alignment system and method
JP6797556B2 (en) Management device, management method and management program
US9984177B2 (en) Modeling device, three-dimensional model generation device, modeling method, program and layout simulator
JP4195096B2 (en) Equipment for 3D surface shape reconstruction
JP6030549B2 (en) 3D point cloud position data processing apparatus, 3D point cloud position data processing system, 3D point cloud position data processing method and program
JP5343042B2 (en) Point cloud data processing apparatus and point cloud data processing program
JP5620200B2 (en) Point cloud position data processing device, point cloud position data processing method, point cloud position data processing system, and point cloud position data processing program
JP7300930B2 (en) Survey data processing device, survey data processing method and program for survey data processing
JP2017026487A (en) Shape measurement device, shape measurement system and shape measurement method
JP7294778B2 (en) Live measurement of objects during manufacturing or other operations
CN105388478A (en) Method and arrangement for detecting acoustic and optical information as well as a corresponding computer program and a corresponding computer-readable storage medium
JP2016161473A (en) Optical displacement measurement system, imaging condition optimization method and imaging condition optimization program
JP2017166933A (en) Information processing device and information synthesis program
Ahmadabadian et al. Clustering and selecting vantage images in a low-cost system for 3D reconstruction of texture-less objects
JP2015515068A (en) Patient monitoring and methods
JP4602844B2 (en) Displacement information measuring system, method and program
Allegra et al. Low Cost Handheld 3D Scanning for Architectural Elements Acquisition.
JP2012251893A (en) Shape measuring device, control method of shape measuring device, and program
JP2020009326A (en) Radio wave propagation simulation model creation method, creation system, creation device, and creation program
JP2009032063A (en) Device and program for generating space information database
CN112530010A (en) Data acquisition method and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210208

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: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6903987

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150