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

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

Info

Publication number
JP2017167671A
JP2017167671A JP2016050169A JP2016050169A JP2017167671A JP 2017167671 A JP2017167671 A JP 2017167671A JP 2016050169 A JP2016050169 A JP 2016050169A JP 2016050169 A JP2016050169 A JP 2016050169A JP 2017167671 A JP2017167671 A JP 2017167671A
Authority
JP
Japan
Prior art keywords
coordinate
cluster
regression surface
information processing
processing apparatus
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.)
Pending
Application number
JP2016050169A
Other languages
Japanese (ja)
Inventor
檜垣 欣成
Kinsei Higaki
欣成 檜垣
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016050169A priority Critical patent/JP2017167671A/en
Publication of JP2017167671A publication Critical patent/JP2017167671A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently and properly remove noises and errors of point group data without receiving a restriction relating to the coordinates.SOLUTION: An information processing device includes: dividing means for dividing a group of three-dimensional coordinate points into a plurality of clusters; coordinate value calculation means for defining a local coordinate system with a coordinate axis determined based on the dispersion of each coordinate point included in the cluster and calculating a coordinate value in the local coordinate system of each coordinate point; revolution curved surface calculation means for calculating a revolution curved surface corresponding to the cluster based on the coordinate value calculated by the coordinate value calculation means; and correction means for correcting a component corresponding to the coordinate axis determined based on the dispersion of each coordinate point by the coordinate calculation means from among coordinate values in the local coordinate system of each coordinate point included in the cluster based on the revolution curved surface calculated by the revolution curved surface calculation means.SELECTED DRAWING: Figure 3

Description

本発明は、点群データを補正する処理に関する。   The present invention relates to a process for correcting point cloud data.

従来から、被写体の形状を表す3次元座標点の集合(以降では点群デ−タと呼ぶ)に含まれる、ノイズや誤差である座標点(以降、単にノイズや誤差とも呼ぶ)を除去する技術が知られている。一般に点群デ−タを取得する方法は、計測光を投射し被写体からの反射光を計測するアクティブ法と、複数の画像だけから推定を行うパッシブ法に分けられる。アクティブ法は、環境光による妨害や被写体の計測光に対する反射特性などの影響を受け、ノイズや誤差が発生する。パッシブ法は、被写体の光沢や遮蔽などの影響を受け、ノイズや誤差が発生する。そのため、点群デ−タの取得後にノイズや誤差を除去することが必要とされている。特許文献1では、点群デ−タを、4階差分商を用いて平滑化する方法が提案されている。   Conventionally, a technique for removing noise and error coordinate points (hereinafter also simply referred to as noise and error) included in a set of three-dimensional coordinate points (hereinafter referred to as point cloud data) representing the shape of a subject. It has been known. In general, methods for acquiring point cloud data are classified into an active method in which measurement light is projected and reflected light from a subject is measured, and a passive method in which estimation is performed only from a plurality of images. The active method is affected by interference from ambient light and reflection characteristics of the measurement light of the subject, and noise and errors are generated. The passive method is affected by the gloss and shielding of the subject, and noise and errors are generated. Therefore, it is necessary to remove noise and errors after obtaining the point cloud data. Patent Document 1 proposes a method of smoothing point cloud data using a fourth-order difference quotient.

特許第3610295号公報Japanese Patent No. 3610295

しかし、特許文献1に提案されている方法では、点群デ−タが2次元の等間隔直交格子上に配置されていることが前提とされている。さらに、特許文献1に記載されている方法では、修正パターン(5次ベジエ曲面)に任意性が残る場合がある。例えば、特許文献1の図4に示される例において、点列全体の平滑基準値Fが最小になる修正パターンが複数存在する場合である。その場合、一意に最適な平滑化を決定できない。そこで、本発明は、点群デ−タのノイズや誤差を、座標に関する制約を受けることなく、効率的かつ適切に除去することを目的とする。   However, in the method proposed in Patent Document 1, it is assumed that the point cloud data is arranged on a two-dimensional equidistant orthogonal lattice. Furthermore, in the method described in Patent Document 1, there may be a case where the optionality remains in the correction pattern (a quintic Bezier curved surface). For example, in the example shown in FIG. 4 of Patent Document 1, there are a plurality of correction patterns in which the smoothing reference value F of the entire point sequence is minimized. In that case, a uniquely optimal smoothing cannot be determined. Accordingly, an object of the present invention is to efficiently and appropriately remove noise and errors of point cloud data without being restricted by coordinates.

本発明による情報処理装置は、被写体の形状を表す、3次元の座標点の集合を複数のクラスタに分割する分割手段と、各クラスタに対して、クラスタに含まれる各座標点の分散に基づき決定した座標軸を一の座標軸とする局所座標系を定義し、当該各座標点の当該局所座標系における座標値を算出する座標値算出手段と、座標値算出手段が算出した座標値に基づき、クラスタに対応する回帰曲面を算出する回帰曲面算出手段と、回帰曲面算出手段が算出した回帰曲面に基づき、クラスタに含まれる各座標点の局所座標系における座標値のうち、座標値算出手段が当該各座標点の分散に基づき決定した座標軸に対応する成分を補正する補正手段と、を備えることを特徴とする。   An information processing apparatus according to the present invention is configured to divide a set of three-dimensional coordinate points representing a shape of a subject into a plurality of clusters, and to determine for each cluster based on a variance of each coordinate point included in the cluster. A local coordinate system having the coordinate axis as one coordinate axis, a coordinate value calculating means for calculating the coordinate value of each coordinate point in the local coordinate system, and a coordinate value calculated by the coordinate value calculating means. Based on the regression surface calculated by the regression surface calculation means and the regression surface calculated by the regression surface calculation means, out of the coordinate values in the local coordinate system of each coordinate point included in the cluster, the coordinate value calculation means Correction means for correcting a component corresponding to the coordinate axis determined based on the dispersion of the points.

本発明によれば、点群デ−タのノイズや誤差を、座標に関する制約を受けることなく、効率的かつ適切に除去することができる。   According to the present invention, noise and errors in point cloud data can be efficiently and appropriately removed without being restricted by coordinates.

本発明による情報処理装置の第1の実施例における構成を示すブロック図。The block diagram which shows the structure in the 1st Example of the information processing apparatus by this invention. 本発明による情報処理装置の機能ブロック図。The functional block diagram of the information processing apparatus by this invention. 本発明による情報処理装置の第1の実施例における処理の流れを示すフローチャート。The flowchart which shows the flow of a process in 1st Example of the information processing apparatus by this invention. クラスタに含まれる座標点が補正される様子を模式的に示す図。The figure which shows a mode that the coordinate point contained in a cluster is correct | amended. 第1の実施例の点群補正処理の処理結果の例を示す図。The figure which shows the example of the process result of the point group correction process of 1st Example. 第2の実施例の情報処理装置における処理の流れを示すフローチャート。10 is a flowchart showing a flow of processing in the information processing apparatus according to the second embodiment. 第3の実施例の情報処理装置における処理の流れを示すフローチャート。10 is a flowchart showing a flow of processing in the information processing apparatus according to the third embodiment.

以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.

[実施例1]
第1の実施例では、局所的な回帰分析を行うことで、効率的かつ正確な点群データ補正を実現する例を述べる。まず、第1の実施例の情報処理装置の構成を説明する。
[Example 1]
In the first embodiment, an example in which efficient and accurate point cloud data correction is realized by performing local regression analysis will be described. First, the configuration of the information processing apparatus according to the first embodiment will be described.

図1は、第1の実施例の情報処理装置の構成の一例を示す図である。第1の実施例の情報処理装置100(以下、処理装置100とする)は、CPU101、RAM102、ROM103、二次記憶装置104、入力インターフェース105、出力インターフェース106を含む。処理装置100の各構成要素はシステムバス107によって相互に接続されている。また、処理装置100は、入力インターフェース105を介して外部記憶装置108および操作部110に接続されている。また、処理装置100は、出力インターフェース106を介して外部記憶装置108および表示装置109に接続されている。   FIG. 1 is a diagram illustrating an example of the configuration of the information processing apparatus according to the first embodiment. An information processing apparatus 100 (hereinafter referred to as a processing apparatus 100) of the first embodiment includes a CPU 101, a RAM 102, a ROM 103, a secondary storage device 104, an input interface 105, and an output interface 106. Each component of the processing apparatus 100 is connected to each other by a system bus 107. In addition, the processing device 100 is connected to the external storage device 108 and the operation unit 110 via the input interface 105. The processing device 100 is connected to an external storage device 108 and a display device 109 via the output interface 106.

CPU101は、RAM102をワークメモリとして、ROM103に格納されたプログラムを実行し、システムバス107を介して処理装置100の各構成要素を統括的に制御する。これにより、後述する様々な処理が実行される。二次記憶装置104は、処理装置100で取り扱われる種々のデータを記憶する記憶装置であり、本実施例ではHDDが用いられる。CPU101は、システムバス107を介して二次記憶装置104へのデータの書き込みおよび二次記憶装置104に記憶されたデータの読出しを行う。なお、二次記憶装置104にはHDDの他に、光ディスクドライブやフラッシュメモリなど、様々な記憶デバイスを用いることが可能である。   The CPU 101 executes a program stored in the ROM 103 using the RAM 102 as a work memory, and comprehensively controls each component of the processing apparatus 100 via the system bus 107. Thereby, various processes described later are executed. The secondary storage device 104 is a storage device that stores various data handled by the processing device 100, and an HDD is used in this embodiment. The CPU 101 writes data to the secondary storage device 104 and reads data stored in the secondary storage device 104 via the system bus 107. In addition to the HDD, various storage devices such as an optical disk drive and a flash memory can be used for the secondary storage device 104.

入力インターフェース105は、例えばUSBやIEEE1394等のシリアルバスインターフェースである。処理装置100は、入力インターフェース105を介して、外部装置からデータや命令等を入力する。本実施例では、処理装置100は、入力インターフェース105を介して、外部記憶装置108(例えば、ハードディスク、メモリカード、CFカード、SDカード、USBメモリなどの記憶媒体)からデータを取得する。また本実施例では、処理装置100は、操作部110に入力されたユーザの指示を、入力インターフェース105を介して取得する。操作部110は、マウスやキーボードなどの入力装置であり、ユーザの指示を入力する。   The input interface 105 is a serial bus interface such as USB or IEEE1394. The processing device 100 inputs data, instructions, and the like from an external device via the input interface 105. In this embodiment, the processing apparatus 100 acquires data from an external storage device 108 (for example, a storage medium such as a hard disk, a memory card, a CF card, an SD card, and a USB memory) via the input interface 105. In this embodiment, the processing apparatus 100 acquires a user instruction input to the operation unit 110 via the input interface 105. The operation unit 110 is an input device such as a mouse or a keyboard, and inputs a user instruction.

出力インターフェース106は、入力インターフェース105と同様にUSBやIEEE1394等のシリアルバスインターフェースである。なお、出力インターフェース106は、例えばDVIやHDMI(登録商標)等の映像出力端子であってもよい。処理装置100は、出力インターフェース106を介して、外部装置にデータ等を出力する。本実施例では、処理装置100は、出力インターフェース106を介して表示装置109(液晶ディスプレイなどの各種画像表示デバイス)に、CPU101によって処理されたデータ(例えば、画像データ)を出力する。なお、処理装置100の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。   The output interface 106 is a serial bus interface such as USB or IEEE 1394, like the input interface 105. The output interface 106 may be a video output terminal such as DVI or HDMI (registered trademark). The processing device 100 outputs data and the like to an external device via the output interface 106. In this embodiment, the processing device 100 outputs data (for example, image data) processed by the CPU 101 to the display device 109 (various image display devices such as a liquid crystal display) via the output interface 106. In addition, although the component of the processing apparatus 100 exists besides the above, since it is not the main point of this invention, description is abbreviate | omitted.

以下、第1の実施例の処理装置100で行われる処理について、図2に示す機能ブロック図および図3に示すフローチャートを用いて説明する。図2は、本発明による処理装置の機能ブロック図である。処理装置100は、図2に示すように、データ取得部201、クラスタ決定部(クラスタ分割部ともいう)202、座標変換部(座標値算出部ともいう)203、回帰曲面算出部204、および座標補正部205としての機能を有する。CPU101がROM103内に格納された制御プログラムを読み込み実行することで、上記各部の機能が実現される。なお、各部に相当する専用の処理回路を備えるように処理装置100を構成するようにしてもよい。以下、各部により行われる処理の流れを説明する。図3は、本発明による処理装置の第1の実施例における処理の流れを示すフローチャートである。   Hereinafter, processing performed by the processing apparatus 100 according to the first embodiment will be described with reference to a functional block diagram shown in FIG. 2 and a flowchart shown in FIG. FIG. 2 is a functional block diagram of the processing apparatus according to the present invention. As illustrated in FIG. 2, the processing device 100 includes a data acquisition unit 201, a cluster determination unit (also referred to as a cluster division unit) 202, a coordinate conversion unit (also referred to as a coordinate value calculation unit) 203, a regression surface calculation unit 204, and a coordinate It has a function as the correction unit 205. When the CPU 101 reads and executes the control program stored in the ROM 103, the functions of the above units are realized. Note that the processing apparatus 100 may be configured to include a dedicated processing circuit corresponding to each unit. Hereinafter, the flow of processing performed by each unit will be described. FIG. 3 is a flowchart showing the flow of processing in the first embodiment of the processing apparatus according to the present invention.

ステップS301では、データ取得部201が、入力インターフェース105を介して外部装置から、または二次記憶装置104から、処理対象の点群データを取得する。そして、データ取得部201は、取得した点群データをクラスタ決定部202に出力する。点群データは、例えば被写体3次元形状を示すデータであり、3次元座標の集合を含む。   In step S <b> 301, the data acquisition unit 201 acquires processing-target point cloud data from an external device or the secondary storage device 104 via the input interface 105. Then, the data acquisition unit 201 outputs the acquired point cloud data to the cluster determination unit 202. The point cloud data is, for example, data indicating the three-dimensional shape of the subject, and includes a set of three-dimensional coordinates.

ステップS302では、クラスタ決定部202が、点群データを複数のクラスタに分割する。クラスタ分割には様々な公知の方法を用いることができる。一般的な方法としては、kd木を利用した最近傍点探索アルゴリズムにより、点群を構成する各点のそれぞれについて、その点に最も近いk個の点を探索し、探索した点を集積してクラスタを形成する方法がある。クラスタどうしの重複は許容してもよいし、排他的に形成してもよい。この時、クラスタ決定部202が点群データの全点に対し一括で最近傍点探索を行うと、完全に排他的なクラスタを形成することが困難になる。そのため、クラスタ決定部202は、次のように漸化的にクラスタを決定してもよい。第1の方法として、1つまたは複数のクラスタを決定した後、未だいずれのクラスタにも属していない点群だけに対して最近傍点探索を再度行い、当該最近傍点探索の結果に基づき新たなクラスタを決定する、という一連の処理を反復する方法がある。第2の方法として、1つまたは複数のクラスタを決定した後、最近傍点探索を再度行い、当該最近傍点探索の結果に対して、決定済みのクラスタに含まれる点を除外するなどの補正を行い、当該補正により更新された最近傍点探索の結果に基づき新たなクラスタを決定する、という一連の処理を反復する方法がある。なお、各クラスタに含まれる点数は同一でもよいし、適応的に変動してもよい。変動する場合は、クラスタ決定部202は、例えば、点間距離やその統計に基づいて各クラスタを構成する点数を決定してもよい。   In step S302, the cluster determination unit 202 divides the point cloud data into a plurality of clusters. Various known methods can be used for cluster division. As a general method, a nearest point search algorithm using a kd tree is used to search for k points closest to each point constituting a point group, and the searched points are accumulated to form a cluster. There is a method of forming. Duplication between clusters may be allowed, or may be formed exclusively. At this time, if the cluster determining unit 202 searches for the nearest neighbors collectively for all points of the point cloud data, it becomes difficult to form a completely exclusive cluster. Therefore, the cluster determination unit 202 may determine the clusters gradually as follows. As a first method, after determining one or a plurality of clusters, the nearest neighbor point search is performed again only for the point group that does not yet belong to any cluster, and a new cluster is obtained based on the result of the nearest neighbor point search. There is a method of iterating a series of processes of determining. As a second method, after determining one or more clusters, the nearest neighbor point search is performed again, and corrections such as excluding points included in the determined cluster are performed on the result of the nearest neighbor point search. There is a method of repeating a series of processes of determining a new cluster based on the result of the nearest neighbor search updated by the correction. The number of points included in each cluster may be the same or may be adaptively changed. When it fluctuates, the cluster determination unit 202 may determine the number of points constituting each cluster based on, for example, the distance between points and the statistics thereof.

ステップS303では、クラスタ決定部202が1つのクラスタを選択する。ここで選択されるクラスタは、後述する座標補正が行われた点を含んでいてもよい。そのような場合の例として、例えば、複数のクラスタが同一の点を共有していて、そのうち1つのクラスタが座標補正を既に行っている場合が挙げられる。また例えば、点群データの全点または一部に対し複数回座標補正を反復して行う場合が挙げられる。   In step S303, the cluster determination unit 202 selects one cluster. The cluster selected here may include a point on which coordinate correction described later is performed. As an example of such a case, for example, a case where a plurality of clusters share the same point and one of the clusters has already performed coordinate correction. In addition, for example, there may be a case where coordinate correction is repeatedly performed a plurality of times on all or part of the point cloud data.

ステップS304では、座標変換部203が、選択された1つのクラスタだけに適用するための局所座標系を定義し、クラスタに含まれる全点の局所座標系における座標値を算出する。なお、入力された点群データは、同一の大域座標系における全ての点の座標値を含んでいるものとする。なお、この大域座標系は局所座標系と必ずしも同一ではない。局所座標系の決定方法の例として、例えば、クラスタに含まれる点の大域座標系における3次元座標に主成分分析を行い、局所座標系の座標軸の方向を決定する方法がある。この方法では、クラスタに含まれるN個の点の大域座標系における3次元座標を結合したN行3列の行列をA、局所座標系の3つの座標軸の方向ベクトルを結合した3行3列の行列をUとすると、これらを式(1)で関係づけることができる。   In step S304, the coordinate conversion unit 203 defines a local coordinate system to be applied to only one selected cluster, and calculates coordinate values in the local coordinate system of all points included in the cluster. It is assumed that the input point group data includes the coordinate values of all points in the same global coordinate system. This global coordinate system is not necessarily the same as the local coordinate system. As an example of a method for determining the local coordinate system, for example, there is a method in which principal component analysis is performed on the three-dimensional coordinates of the points included in the cluster in the global coordinate system to determine the direction of the coordinate axis of the local coordinate system. In this method, a matrix of N rows and 3 columns combining three-dimensional coordinates in a global coordinate system of N points included in a cluster is A, and a 3 rows and 3 columns combining direction vectors of three coordinate axes of the local coordinate system. If the matrix is U, these can be related by equation (1).

Figure 2017167671
Figure 2017167671

ここで、Cはクラスタの中心座標を表す3次元行ベクトルをN個繰り返し結合したN行3列の行列である。Tは行列の転置である。Σは固有値を表す3行3列の対角行列である。Cには、クラスタの重心またはクラスタに含まれる1点の3次元座標を用いることができる。重心とは、N個の点の大域座標系における3次元座標の加重平均を算出して得られた3次元ベクトルである。式(1)において、左辺から右辺のUを数値的に算出する具体的な方法として、行列の特異値分解がある。このようにして算出される行列Uの各列が、局所座標系の3つの座標軸の方向を表す3次元ベクトルである。この局所座標系は、行列Uの第1,2列に対応する2つの軸が張る平面が、クラスタを最もよく近似する平面に一致する、という性質を有する。最もよく近似するとは、平面と各点との距離の分散値が最小になるという意味である。座標変換部203は、この平面に垂直な方向、すなわち法線方向にz軸を定義する。z軸は、局所座標系の座標軸のうちクラスタに含まれる点群の各点と他の2軸がなす平面との距離の分散値が最小になる座標軸である。なお、局所座標系の座標軸の方向を決定する方法は主成分分析に限られることはなく、Locally Linear Embeddingや局所性保存射影など様々な公知の次元削減の手法を応用することができる。   Here, C is a matrix of N rows and 3 columns obtained by repeatedly combining N three-dimensional row vectors representing cluster center coordinates. T is the transpose of the matrix. Σ is a 3-by-3 diagonal matrix representing eigenvalues. For C, the center of gravity of the cluster or the three-dimensional coordinates of one point included in the cluster can be used. The center of gravity is a three-dimensional vector obtained by calculating a weighted average of three-dimensional coordinates in a global coordinate system of N points. In Equation (1), a specific method for numerically calculating U from the left side to the right side is matrix singular value decomposition. Each column of the matrix U calculated in this way is a three-dimensional vector representing the directions of the three coordinate axes of the local coordinate system. This local coordinate system has a property that the plane formed by the two axes corresponding to the first and second columns of the matrix U coincides with the plane that best approximates the cluster. The closest approximation means that the variance value of the distance between the plane and each point is minimized. The coordinate conversion unit 203 defines the z axis in a direction perpendicular to the plane, that is, a normal direction. The z-axis is a coordinate axis that minimizes the dispersion value of the distance between each point of the point group included in the cluster among the coordinate axes of the local coordinate system and the plane formed by the other two axes. Note that the method of determining the direction of the coordinate axis of the local coordinate system is not limited to principal component analysis, and various known dimensionality reduction techniques such as Locally Linear Embedding and locality preserving projection can be applied.

こうして、クラスタに含まれるN個の点の局所座標系におけるx,y,z各座標を表すN次元列ベクトルをそれぞれX,Y,Zとすると、これらは式(2)で決定される。   Thus, if the N-dimensional column vectors representing the x, y, and z coordinates in the local coordinate system of N points included in the cluster are X, Y, and Z, respectively, these are determined by Equation (2).

Figure 2017167671
Figure 2017167671

式(2)は、クラスタの中心を原点とする局所座標系の各座標軸に、クラスタに含まれるN個の点を射影した座標値の集合を意味する。また、式(2)の左辺は、N次元列ベクトルを列方向に結合して得られる行列である。後述する回帰曲面の算出は、局所座標系上で座標X,Y,Zに基づいて行われる。以降では、このようにしてAからX,Y,Zを算出することを座標変換と呼ぶ。座標変換が必要な理由は、後述する座標の補正において法線方向に各点を移動することにより、点群の密度の変化を最小限に抑えるためである。なお、ステップS304の座標変換は必ずしも行う必要はなく、大域座標系における3次元座標、すなわち行列Aに対して直接、以降の処理を行ってもよい。ただし、座標変換を行う場合に比べて補正の誤差が大きくなりやすく、点群の密度がより大きく変化する懸念がある。   Equation (2) means a set of coordinate values obtained by projecting N points included in the cluster onto each coordinate axis of the local coordinate system with the center of the cluster as the origin. Further, the left side of Equation (2) is a matrix obtained by combining N-dimensional column vectors in the column direction. Calculation of a regression surface, which will be described later, is performed based on coordinates X, Y, and Z on the local coordinate system. Hereinafter, calculating X, Y, and Z from A in this way is referred to as coordinate transformation. The reason why the coordinate conversion is necessary is to minimize the change in the density of the point group by moving each point in the normal direction in the coordinate correction described later. Note that the coordinate transformation in step S304 is not necessarily performed, and the subsequent processing may be performed directly on the three-dimensional coordinates in the global coordinate system, that is, the matrix A. However, there is a concern that the correction error tends to be larger than when coordinate conversion is performed, and the density of the point group changes more greatly.

ステップS305では、回帰曲面算出部204が、ステップS303で選択されたクラスタに含まれるN個の点の座標X,Y,Zに基づいて回帰曲面を算出する。回帰曲面としては任意の関数を用いることができるが、以降ではP次(P=1,2,3・・・)の多項式とする。局所座標系における1点の3次元座標を(x,y,z)とすると、回帰曲面は実定数aijを用いて式(3)で表される。 In step S305, the regression surface calculation unit 204 calculates a regression surface based on the coordinates X, Y, and Z of the N points included in the cluster selected in step S303. An arbitrary function can be used as the regression surface, but hereinafter, a polynomial of P order (P = 1, 2, 3...) Is used. When the three-dimensional coordinate of one point in the local coordinate system is (x, y, z), the regression surface is expressed by equation (3) using the real constant a ij .

Figure 2017167671
Figure 2017167671

本実施例では、回帰曲面を式(4)で表される2次の多項式として説明する。 In this embodiment, the regression surface is described as a quadratic polynomial expressed by Expression (4).

Figure 2017167671
Figure 2017167671

不等間隔で配置されたデータの回帰曲面を算出する方法として、米国特許第7889950号公報に記載されている最小二乗推定が挙げられる。回帰曲面算出部204は、上記の回帰曲面を表す関数に基づき、クラスタに含まれるN個の点を回帰曲面上に移動した後の各点の座標を決定する。例えば、各点をz軸(法線方向)に沿って回帰曲面上に移動させる場合には、各点のx,y座標を回帰曲面を表す関数に代入すればよい。それにより、回帰曲面上のz座標が導出される。このように各点を回帰曲面上に移動させることを、以降では補正と呼ぶ。z軸に沿った補正を行うことで、補正による点群の密度の変化を最小限に抑えることができる。ただし、補正の方向は必ずしもz軸に限定されない。   As a method of calculating a regression surface of data arranged at unequal intervals, there is a least square estimation described in US Pat. No. 7,889,950. The regression surface calculation unit 204 determines the coordinates of each point after moving the N points included in the cluster onto the regression surface based on the function representing the regression surface. For example, when moving each point on the regression surface along the z-axis (normal direction), the x and y coordinates of each point may be substituted into a function representing the regression surface. Thereby, the z coordinate on the regression surface is derived. Such movement of each point on the regression surface is hereinafter referred to as correction. By performing the correction along the z-axis, the change in the density of the point group due to the correction can be minimized. However, the direction of correction is not necessarily limited to the z-axis.

効率的な補正方法の一例として、式(5)の線形代数演算を行うことで、反復処理なしにN個の点のz座標を一括で補正することができる。   As an example of an efficient correction method, by performing the linear algebra calculation of Expression (5), it is possible to collectively correct the z coordinates of N points without iterative processing.

Figure 2017167671
Figure 2017167671

ここで、Z’は、局所座標系における補正後の上記N個の点の、z座標を並べたN次元列ベクトルである。また、行列Eのi行目は、下記参考文献1に記載されている式(26)を用いて、以下のように定義される。   Here, Z ′ is an N-dimensional column vector in which z coordinates of the N points after correction in the local coordinate system are arranged. In addition, the i-th row of the matrix E is defined as follows using Expression (26) described in Reference Document 1 below.

Figure 2017167671
Figure 2017167671

[参考文献1]
Hiroyuki Takeda, Student Member, IEEE, Sina Farsiu, Member, IEEE, and Peyman Milanfar, Senior Member, IEEE, ”Kernel Regression for Image Processing and Reconstruction ”, IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 16, NO. 2, FEBRUARY 2007, p349-366
式(6)における、eは第1要素が1で他の全要素が0であるN次元列ベクトルである。回帰曲面が、式(4)に示す2次多項式の場合には、行列Dは式(7)で定義されるN行6列の行列である。
[Reference 1]
Hiroyuki Takeda, Student Member, IEEE, Sina Farsiu, Member, IEEE, and Peyman Milanfar, Senior Member, IEEE, “Kernel Regression for Image Processing and Reconstruction”, IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 16, NO. 2, FEBRUARY 2007 , p349-366
In Expression (6), e is an N-dimensional column vector in which the first element is 1 and all other elements are 0. When the regression surface is a quadratic polynomial shown in Expression (4), the matrix D is an N × 6 matrix defined by Expression (7).

Figure 2017167671
Figure 2017167671

ここで、太字の1は全要素が1のN次元列ベクトルである。・は要素ごとの積を表す。また、式(7)の右辺は式(4)の各項の変数x,yのべきに対応している。なお、回帰曲面がP次多項式の場合には、行列Dは式(7)の右辺を式(3)に対応させることで同様に定義される。 Here, 1 in bold is an N-dimensional column vector with all elements being 1.・ Represents the product of each element. Further, the right side of the equation (7) corresponds to the powers of the variables x and y in each term of the equation (4). When the regression surface is a P-order polynomial, the matrix D is similarly defined by making the right side of Equation (7) correspond to Equation (3).

また、行列Wは、2点間の距離の関数Kから決定される対角行列であり、式(8)で定義される。   The matrix W is a diagonal matrix determined from the function K of the distance between two points, and is defined by Expression (8).

Figure 2017167671
Figure 2017167671

ここで、diagは、引数のベクトルを対角成分に有する対角行列を生成する演算子である。また、関数Kは任意の関数である。関数Kには、2次元のガウス関数を用いることができる。 Here, diag is an operator that generates a diagonal matrix having a vector of arguments as diagonal components. The function K is an arbitrary function. As the function K, a two-dimensional Gaussian function can be used.

なお、Z’を求める方法はこの方法に限定されない。また、ステップS305ではZ’の導出を必ずしも行う必要はなく、式(3)または式(4)の係数aを求めるだけでもよい。その場合、ステップS306において、座標補正部205がZ’の算出を行えばよい。   The method for obtaining Z ′ is not limited to this method. In step S305, it is not always necessary to derive Z ', and only the coefficient a in the equation (3) or the equation (4) may be obtained. In that case, the coordinate correcting unit 205 may calculate Z ′ in step S306.

ステップS306では、座標補正部205が、ステップS305の結果に基づきクラスタに含まれるN個の点の位置(座標値)を補正する。先述したZ’が算出されている場合には、式(9)により、補正後のN個の点の大域座標系における3次元座標を結合したN行3列の行列A’を決定する。   In step S306, the coordinate correction unit 205 corrects the positions (coordinate values) of N points included in the cluster based on the result of step S305. When Z ′ described above is calculated, an N × 3 matrix A ′ obtained by combining the three-dimensional coordinates of the corrected N points in the global coordinate system is determined by Expression (9).

Figure 2017167671
Figure 2017167671

ここで、uzは行列Uの第3列で、法線ベクトルを表す3次元列ベクトルである。(Z´−Z)Uz Tは、大域座標系における補正量を表す。図4は、ステップS304〜S306の処理によりクラスタに含まれる座標点が補正される様子を模式的に示す図である。図4(a)に示される、黒色の座標点は、クラスタ決定部202によって選択されたクラスタであって、補正される前のクラスタである。白色の座標点はクラスタに含まれない座標点である。灰色の座標点はクラスタの重心である。GxGyGz軸からなる座標系は大域座標系の座標軸である。xyz軸からなる座標系はクラスタに対応する局所座標系である。図4(b)には、クラスタに含まれる座標点をx−z平面に射影した散布図が示されている。図4(b)に示される破線は、ステップS305の処理により算出される、クラスタに対応する回帰曲面である。図4(b)に示される矢印は、S306の処理により、各座標点がz軸(法線方向)に沿って回帰曲面上に移動する様子を表している。 Here, u z is the third column of the matrix U and is a three-dimensional column vector representing a normal vector. (Z′−Z) U z T represents a correction amount in the global coordinate system. FIG. 4 is a diagram schematically showing how the coordinate points included in the cluster are corrected by the processing in steps S304 to S306. A black coordinate point shown in FIG. 4A is a cluster selected by the cluster determination unit 202 and a cluster before correction. White coordinate points are coordinate points not included in the cluster. The gray coordinate point is the center of gravity of the cluster. A coordinate system composed of GxGyGz axes is a coordinate axis of the global coordinate system. A coordinate system composed of xyz axes is a local coordinate system corresponding to a cluster. FIG. 4B shows a scatter diagram obtained by projecting the coordinate points included in the cluster onto the xz plane. The broken line shown in FIG. 4B is a regression surface corresponding to the cluster calculated by the process of step S305. The arrows shown in FIG. 4B represent a state in which each coordinate point moves on the regression surface along the z axis (normal direction) by the process of S306.

ステップS307では、処理装置100が、データ取得部201が取得した点群データに含まれる全ての点について処理が完了したか、すなわち、全てのクラスタについて補正が完了したかを判断する。補正が完了していないクラスタが存在する場合には(ステップS307のNO)、処理装置100は、ステップS303に戻る。そして、クラスタ決定部202によって異なるクラスタが選択され、当該クラスタに対してステップS303〜S306の処理が行われる。処理装置100は、点群データに含まれる全ての点について処理が完了した場合は(ステップS307のYES)、補正された点群データを出力し処理を終了する。   In step S307, the processing apparatus 100 determines whether processing has been completed for all points included in the point cloud data acquired by the data acquisition unit 201, that is, whether correction has been completed for all clusters. If there is a cluster that has not been corrected (NO in step S307), the processing device 100 returns to step S303. Then, a different cluster is selected by the cluster determination unit 202, and the processes in steps S303 to S306 are performed on the cluster. When the processing is completed for all the points included in the point cloud data (YES in step S307), the processing device 100 outputs the corrected point cloud data and ends the processing.

以上が、第1の実施例の処理装置100で行われる処理である。以上に説明したように、本実施例では、点群データを分割して得られた各クラスタに対して、局所座標系を定義する。そして、クラスタに含まれる各座標点の、局所座標系における座標値を、回帰曲面に基づき補正する。したがって、本実施例によれば、入力される点群データの配置に依らずに、すなわち座標に関する制約を受けることなく、点群データのノイズや誤差を除去することができる。また、座標に関する制約を受けないので、任意の次数の多項式の曲面を補正の対象にすることができる。   The above is the processing performed by the processing apparatus 100 of the first embodiment. As described above, in this embodiment, a local coordinate system is defined for each cluster obtained by dividing the point cloud data. Then, the coordinate value in the local coordinate system of each coordinate point included in the cluster is corrected based on the regression surface. Therefore, according to the present embodiment, it is possible to remove the noise and error of the point cloud data without depending on the arrangement of the input point cloud data, that is, without being restricted by coordinates. In addition, since there is no restriction on coordinates, a polynomial surface of an arbitrary degree can be corrected.

また、本実施例では、式(5)により点群データを一括補正する。したがって、本実施例によれば、点群データからノイズや誤差を効率的に除去することができる。また、本実施例では、図3に示すフローにより、各クラスタについて、行列A’が一意に決定される。したがって、本実施例によれば、補正後の点群データに任意性が残らないので、ノイズや誤差を適切に除去することができる。   Further, in this embodiment, the point cloud data is collectively corrected by the equation (5). Therefore, according to the present embodiment, noise and errors can be efficiently removed from the point cloud data. In this embodiment, the matrix A ′ is uniquely determined for each cluster by the flow shown in FIG. 3. Therefore, according to the present embodiment, since the arbitrary point group data does not remain after correction, noise and errors can be appropriately removed.

また、本実施例では、クラスタに対して局所座標系を定義する際に、クラスタに含まれる各点との距離が最小になる平面に垂直な方向(法線方向)を、z軸として定義する。そして、z軸方向(法線方向)に各点を移動させて、各点の座標値を補正する。したがって、本実施例によれば、補正の前後における、点群の密度の変化を最小限に抑えることができる。よって、例えば、点群データをポリゴンモデルに変換する際に、本実施例に示す方法を用いて、事前に点群データのノイズや誤差を除去することが可能となる。   Also, in this embodiment, when defining a local coordinate system for a cluster, a direction (normal direction) perpendicular to the plane that minimizes the distance to each point included in the cluster is defined as the z-axis. . Then, each point is moved in the z-axis direction (normal direction) to correct the coordinate value of each point. Therefore, according to the present embodiment, the change in the density of the point group before and after the correction can be minimized. Therefore, for example, when the point cloud data is converted into a polygon model, it is possible to remove noise and errors in the point cloud data in advance using the method shown in this embodiment.

本実施例の他の効果を説明するため、図3に示す処理を点群データに対して実際に行った実験の結果を以下に示す。1つ目の実験では、補正の精度を計測した。その際、真の点群をGz(Gx,Gy)=0.2Gx+sin(πGx/3)という関数によって与えた。なお、(Gx,Gy,Gz)は大域座標系における任意の点の3次元座標を表す。補正対象の1681点からなる点群の、(Gx,Gy)座標はいずれも[−10,10]の区間においてランダムに生成した座標値である。また、上記関数Gz(Gx,Gy)の出力値に標準偏差0.2のガウス乱数をノイズとして加えることで、Gz座標を生成した。また、クラスタの点数は31点で固定し、クラスタどうしの重複を許容し、回帰曲面を2次多項式とした。図5(a)に、補正対象の点群をGx−Gz平面に射影した散布図を示す。図5(a)において、○は真の点群、×はノイズを与えた点群を表す。図5(b)に、図3に示すフローに従って補正を行った結果を示す。図5(b)において、○は真の点群、△は補正後の点群を表す。図5(a)および図5(b)の点群の真の点群に対する平均2乗誤差(Mean Square Error)を算出したところ、それぞれ0.2475、0.0407であった。このように、本実施例で示した方法により点群を補正することで、点群に含まれるノイズ成分を正確に除去することが可能となる。なお、より正確にノイズ成分を除去するために、点群データに含まれる全ての点について処理が完了した場合に(ステップS307のYES)、処理装置100が、補正された点群データを、再度入力するようにしてもよい。   In order to explain other effects of the present embodiment, the results of an experiment in which the processing shown in FIG. In the first experiment, the accuracy of correction was measured. At that time, a true point group was given by a function of Gz (Gx, Gy) = 0.2 Gx + sin (πGx / 3). Note that (Gx, Gy, Gz) represents the three-dimensional coordinates of an arbitrary point in the global coordinate system. The (Gx, Gy) coordinates of the point group consisting of 1681 points to be corrected are coordinate values randomly generated in the section [−10, 10]. Further, a Gz coordinate was generated by adding a Gaussian random number with a standard deviation of 0.2 as noise to the output value of the function Gz (Gx, Gy). In addition, the number of points of the cluster was fixed at 31 points, overlapping between clusters was allowed, and the regression surface was a quadratic polynomial. FIG. 5A is a scatter diagram obtained by projecting the point group to be corrected onto the Gx-Gz plane. In FIG. 5A, ◯ represents a true point group, and x represents a point group to which noise is applied. FIG. 5B shows the result of correction performed according to the flow shown in FIG. In FIG. 5B, ◯ represents a true point group, and Δ represents a corrected point group. The mean square error (Mean Square Error) of the point group of FIG. 5A and FIG. 5B with respect to the true point group was calculated to be 0.2475 and 0.0407, respectively. Thus, by correcting the point group by the method shown in the present embodiment, it is possible to accurately remove the noise component included in the point group. In addition, in order to remove a noise component more accurately, when the processing is completed for all the points included in the point cloud data (YES in step S307), the processing device 100 converts the corrected point cloud data again. You may make it input.

2つ目の実験では、1つ目の実験と同じ条件で、補正処理に要する時間を計測した。ただし、上記関数Gz(Gx,Gy)の出力値に標準偏差0.4のガウス乱数をノイズとして加えることで、Gz座標を生成した。本実施例で示した方法により点群データを一括補正した場合、曲面回帰による各座標点の移動に要した時間は105秒であった。近傍点探索に要した時間375秒を含めると、補正処理全体に要した時間は480秒であった。このように、反復処理を必要とせず、点群データを一括補正する本実施例によれば、補正処理に要する時間を短縮させることができる。一方、補正の精度を高めるために反復処理を必要とする方法、例えば、下記参考文献2に記載される方法により点群データを補正した場合、近傍点探索に要した時間は同じく375秒であったが、補正処理全体に要した時間は3649秒であった。   In the second experiment, the time required for the correction process was measured under the same conditions as in the first experiment. However, Gz coordinates were generated by adding a Gaussian random number with a standard deviation of 0.4 as noise to the output value of the function Gz (Gx, Gy). When the point cloud data was collectively corrected by the method shown in this example, the time required for moving each coordinate point by curved surface regression was 105 seconds. Including the time required for the search for neighboring points of 375 seconds, the time required for the entire correction process was 480 seconds. As described above, according to the present embodiment in which the point cloud data is collectively corrected without the need for iterative processing, the time required for the correction processing can be shortened. On the other hand, when the point cloud data is corrected by a method that requires iterative processing to increase the accuracy of correction, for example, the method described in Reference Document 2 below, the time required for the search for neighboring points is also 375 seconds. However, the time required for the entire correction process was 3649 seconds.

[参考文献2]
Paola Valdivia, Douglas Cedrim, Fabiano Petronetto, Afonso Paiva, Luis Gustavo Nonato, "Normal Correction towards Smoothing Point-Based Surfaces" Conference on Graphics, Patterns and Images (SIBGRAPI), 2013
[Reference 2]
Paola Valdivia, Douglas Cedrim, Fabiano Petronetto, Afonso Paiva, Luis Gustavo Nonato, "Normal Correction towards Smoothing Point-Based Surfaces" Conference on Graphics, Patterns and Images (SIBGRAPI), 2013

[実施例2]
第2の実施例では、ユーザが対話的な指示を行うことで特定の範囲の点群データだけを補正する例を説明する。なお、断りがない限り、第2の実施例における処理装置は、第1の実施例と同じ処理を行うものとする。図6は、第2の実施例の処理装置100における処理の流れを示すフローチャートである。
[Example 2]
In the second embodiment, an example will be described in which only the point cloud data in a specific range is corrected by a user's interactive instruction. Unless otherwise noted, the processing apparatus in the second embodiment shall perform the same processing as in the first embodiment. FIG. 6 is a flowchart showing the flow of processing in the processing apparatus 100 of the second embodiment.

ステップS501では、データ取得部201が、ステップS301の処理と同様に点群データを取得する。   In step S501, the data acquisition unit 201 acquires point cloud data in the same manner as in step S301.

ステップS502では、クラスタ決定部202が、入力インターフェース105を介して処理装置100に入力されたユーザの指示に基づき、処理対象とする点群データの範囲を指定する。この処理に先立ち、クラスタ決定部202は、取得された点群データを、表示装置109を介してユーザに提示してもよい。そして、ユーザが、表示装置109に表示された点群データの中から、処理対象とする範囲を指定する操作を操作部110に対して行うようにしてもよい。また、後述するステップS504の処理を行う場合には、ステップS502の処理は必ずしも必要ない。   In step S <b> 502, the cluster determination unit 202 designates a range of point cloud data to be processed based on a user instruction input to the processing apparatus 100 via the input interface 105. Prior to this processing, the cluster determination unit 202 may present the acquired point cloud data to the user via the display device 109. Then, the user may perform an operation for designating a range to be processed from the point cloud data displayed on the display device 109 on the operation unit 110. In addition, when the process of step S504 described later is performed, the process of step S502 is not necessarily required.

ステップS503では、クラスタ決定部202が、ステップS302の処理と同様に点群データを複数のクラスタに分割する。このとき、クラスタ決定部202は、ステップS502の処理で指定した、処理対象の点群データに対してクラスタの分割を行う。なお、ステップS502の処理が実行されていない場合には、データ取得部201が取得した点群データ全体に対してクラスタの分割が行われる。   In step S503, the cluster determination unit 202 divides the point cloud data into a plurality of clusters as in the process of step S302. At this time, the cluster determination unit 202 divides the cluster for the point cloud data to be processed, which is designated in the process of step S502. If the process in step S502 is not executed, the cluster is divided for the entire point cloud data acquired by the data acquisition unit 201.

ステップS504では、クラスタ決定部202が、処理対象とするクラスタを限定する。この処理に先立ち、クラスタ決定部202は、ステップS503の処理により取得されたクラスタの情報を、表示装置109を介してユーザに提示してもよい。そして、ユーザが、表示装置109に表示されたクラスタの中から、処理対象とするクラスタを指定する操作を操作部110に対して行うようにしてもよい。なお、クラスタ決定部202は、ステップS502の処理を行う場合には、ステップS504の処理を必ずしも実行する必要はない。   In step S504, the cluster determination unit 202 limits the clusters to be processed. Prior to this process, the cluster determination unit 202 may present the cluster information acquired by the process of step S503 to the user via the display device 109. Then, the user may perform an operation for designating a cluster to be processed from the clusters displayed on the display device 109 on the operation unit 110. Note that the cluster determination unit 202 does not necessarily need to execute the process of step S504 when the process of step S502 is performed.

ステップS505〜S509の処理は、ユーザの指示に基づいて決定された点群データまたはクラスタの範囲に処理が限定されることを除けば、ステップS303〜S307の処理と同様である。   The processing in steps S505 to S509 is the same as the processing in steps S303 to S307 except that the processing is limited to the point cloud data or cluster range determined based on the user's instruction.

以上が、第2の実施例の処理装置100で行われる処理である。以上の処理によれば、ユーザの判断に基づいて処理対象を必要な部分に限定することができるので、より効率的に点群デ−タを補正することができる。   The above is the process performed by the processing apparatus 100 of the second embodiment. According to the above processing, the processing target can be limited to a necessary portion based on the user's judgment, so that the point cloud data can be corrected more efficiently.

[実施例3]
第3の実施例では、取得された点群データを識別する情報に基づき、点群データの補正方法を決定する例を説明する。なお、断りがない限り、第3の実施例における処理装置は、第1の実施例と同じ処理を行うものとする。図7は、第3の実施例の処理装置100における処理の流れを示すフローチャートである。
[Example 3]
In the third embodiment, an example will be described in which a point cloud data correction method is determined based on information for identifying acquired point cloud data. Unless otherwise noted, the processing apparatus in the third embodiment performs the same processing as in the first embodiment. FIG. 7 is a flowchart showing the flow of processing in the processing apparatus 100 of the third embodiment.

ステップS601では、データ取得部201が、ステップS301の処理と同様に点群データを取得する。さらに、データ取得部201は、点群データに含まれるメタデータなどから、点群と対応付けられた識別データを取得する。または、データ取得部201が、点群データから識別データを生成する。識別データは、点群全体に対し1つの値でもよいし、点群の部分集合ごとに異なる値でもよい。例として、データ取得部201が、人物の顔を取得した点群データの場合には、データ取得部201は、取得した点群データによって示される点群の中から頭部・鼻・口・顎・耳・頬などの部分を識別し、各部分に対応する点群ごとに異なる識別データを対応付ける。また別の例として、データ取得部201が、点群データに含まれるメタデータに基づき、点群データごとに異なる識別データを対応付ける。または、データ取得部201が、取得した点群データから当該点群データによって示される被写体を識別し、識別結果に基づき生成した識別データを、当該点群データに対応付ける。これにより、例えば、取得された点群データが人物の点群データである場合と車両の点群データである場合とで、点群データに対して異なる識別データが対応付けられる。なお、識別データは、被写体の全体または一部の形状や種類を識別可能な情報であればどのような形態でもよい。   In step S601, the data acquisition unit 201 acquires point cloud data in the same manner as in step S301. Furthermore, the data acquisition unit 201 acquires identification data associated with the point cloud from metadata included in the point cloud data. Alternatively, the data acquisition unit 201 generates identification data from the point cloud data. The identification data may be one value for the entire point group, or may be a different value for each subset of the point group. As an example, when the data acquisition unit 201 is point cloud data obtained from a human face, the data acquisition unit 201 selects the head, nose, mouth, chin from the point cloud indicated by the obtained point cloud data. -Identify parts such as ears and cheeks, and associate different identification data for each point group corresponding to each part. As another example, the data acquisition unit 201 associates different identification data for each point cloud data based on the metadata included in the point cloud data. Or the data acquisition part 201 identifies the to-be-photographed object shown with the said point cloud data from the acquired point cloud data, and matches the identification data produced | generated based on the identification result with the said point cloud data. Thereby, for example, different identification data is associated with the point cloud data depending on whether the acquired point cloud data is human point cloud data or vehicle point cloud data. The identification data may be in any form as long as it is information that can identify the shape or type of the whole or a part of the subject.

ステップS602では、クラスタ決定部202が、ステップS302の処理と同様にクラスタを決定する。   In step S602, the cluster determination unit 202 determines a cluster in the same manner as in step S302.

ステップS603では、クラスタ決定部202が、識別データに対応付けられたパラメータを各クラスタに付与する。パラメータとしては、回帰曲面の種類(例えば、実定数aij)や、多項式の次数などがあるが、これらに限定されることはない。例えば、パラメータはクラスタの点数や重複などクラスタに関する情報でもよいし、反復回数など処理に関する情報でもよい。クラスタ決定部202は、識別データとパラメータとの対応を示すデータを、二次記憶装置104や外部記憶装置108に記憶する。 In step S603, the cluster determination unit 202 assigns a parameter associated with the identification data to each cluster. Examples of parameters include, but are not limited to, the type of regression surface (for example, real constant a ij ) and the degree of a polynomial. For example, the parameter may be information on the cluster such as the number of clusters or duplication, or information on the processing such as the number of iterations. The cluster determination unit 202 stores data indicating the correspondence between the identification data and the parameters in the secondary storage device 104 or the external storage device 108.

ステップS604〜S608の処理は、ステップS303〜S307の処理と同様である。なお、ステップS606では、回帰曲面算出部204は、各クラスタに対応付けられたパラメータを二次記憶装置104や外部記憶装置108から読み出し、読み出したパラメータに基づき回帰曲面を決定する。   The processes in steps S604 to S608 are the same as the processes in steps S303 to S307. In step S606, the regression surface calculation unit 204 reads parameters associated with each cluster from the secondary storage device 104 or the external storage device 108, and determines a regression surface based on the read parameters.

以上が、第3の実施例の処理装置100で行われる処理である。以上の処理によれば、点群データまたは各クラスタに対して最適なパラメータを用いて補正を行うことができるので、より正確な点群デ−タの補正を行うことができる。   The above is the processing performed by the processing apparatus 100 of the third embodiment. According to the above processing, correction can be performed using the optimum parameters for the point cloud data or each cluster, so that more accurate correction of the point cloud data can be performed.

なお、第2および第3の実施例に記載の実施形態を組合せてもよいことは言うまでもない。   Needless to say, the embodiments described in the second and third examples may be combined.

[実施例4]
第4の実施例では、回帰曲面とクラスタに含まれる点の座標値との関係に基づき、適応的に点群データの補正方法を決定する例を説明する。なお、断りがない限り、第4の実施例における処理装置100は、第1の実施例と同じ処理を行うものとする。
[Example 4]
In the fourth embodiment, an example will be described in which the correction method of the point cloud data is adaptively determined based on the relationship between the regression surface and the coordinate values of the points included in the cluster. Unless otherwise noted, the processing apparatus 100 in the fourth embodiment performs the same processing as in the first embodiment.

本実施例における処理装置100は、第1の実施例の処理装置と同様の処理を行う。ただし、本実施例では、ステップS305の処理において、回帰曲面算出部204が、回帰曲面を算出した後、回帰曲面とクラスタに含まれる点の座標値との比較を行う。例えば、回帰曲面算出部204は、点と回帰曲面との距離を点ごとに評価してもよいし、点と回帰曲面との距離の総和を評価してもよい。回帰曲面算出部204は、評価結果に基づき、回帰曲面のパラメータを変更して再度回帰曲面を算出する。また、回帰曲面算出部204は、評価結果に基づき、曲面の距離が所定の閾値を超える点を削除する。なお、回帰曲面算出部204は、評価結果に基づき、その他の処理を行ってもよい。   The processing apparatus 100 in the present embodiment performs the same processing as the processing apparatus in the first embodiment. However, in this embodiment, in the process of step S305, the regression surface calculation unit 204 calculates a regression surface and then compares the regression surface with the coordinate values of points included in the cluster. For example, the regression surface calculation unit 204 may evaluate the distance between the point and the regression surface for each point, or may evaluate the total distance between the point and the regression surface. Based on the evaluation result, the regression surface calculation unit 204 changes the parameters of the regression surface and calculates the regression surface again. In addition, the regression surface calculation unit 204 deletes points where the distance of the curved surface exceeds a predetermined threshold based on the evaluation result. The regression surface calculation unit 204 may perform other processing based on the evaluation result.

以上の処理によれば、点群データの局所的な形状の非一様性や異常点の存在に対して頑健に点群デ−タの補正を行うことができる。   According to the above processing, it is possible to robustly correct point cloud data against local shape non-uniformity of point cloud data and the presence of abnormal points.

なお、第2,第3および第4の実施例に記載の実施形態を組合せてもよいことは言うまでもない。   Needless to say, the embodiments described in the second, third, and fourth examples may be combined.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

202 クラスタ決定部
203 座標変換部
204 回帰曲面算出部
205 座標補正部
202 Cluster determination unit 203 Coordinate conversion unit 204 Regression surface calculation unit 205 Coordinate correction unit

Claims (12)

被写体の形状を表す、3次元の座標点の集合を複数のクラスタに分割する分割手段と、
各クラスタに対して、クラスタに含まれる各座標点の分散に基づき決定した座標軸を一の座標軸とする局所座標系を定義し、当該各座標点の当該局所座標系における座標値を算出する座標値算出手段と、
前記座標値算出手段が算出した座標値に基づき、前記クラスタに対応する回帰曲面を算出する回帰曲面算出手段と、
前記回帰曲面算出手段が算出した前記回帰曲面に基づき、前記クラスタに含まれる各座標点の前記局所座標系における座標値のうち、前記座標値算出手段が当該各座標点の分散に基づき決定した前記座標軸に対応する成分を補正する補正手段と、を備える
ことを特徴とする情報処理装置。
Dividing means for dividing a set of three-dimensional coordinate points representing the shape of the subject into a plurality of clusters;
For each cluster, define a local coordinate system with the coordinate axis determined based on the variance of each coordinate point included in the cluster as one coordinate axis, and calculate the coordinate value of each coordinate point in the local coordinate system A calculation means;
Regression surface calculation means for calculating a regression surface corresponding to the cluster based on the coordinate values calculated by the coordinate value calculation means;
Based on the regression surface calculated by the regression surface calculation means, of the coordinate values in the local coordinate system of each coordinate point included in the cluster, the coordinate value calculation means is determined based on the variance of each coordinate point An information processing apparatus comprising: correction means for correcting a component corresponding to the coordinate axis.
前記補正手段は、さらに、
前記クラスタに含まれる各座標点の前記局所座標系における座標値であって、前記座標値算出手段が当該各座標点の分散に基づき決定した前記座標軸に対応する成分が補正された座標値に基づき、当該各座標点の大域座標系における座標値を補正する
請求項1に記載の情報処理装置。
The correction means further includes:
Based on coordinate values in the local coordinate system of each coordinate point included in the cluster, wherein the coordinate value calculation means determines a component corresponding to the coordinate axis determined based on the variance of each coordinate point. The information processing apparatus according to claim 1, wherein the coordinate value in the global coordinate system of each coordinate point is corrected.
前記補正手段により大域座標系における座標値が補正された、前記被写体の形状を表す座標点の集合が、前記分割手段に入力され、
前記分割手段と前記座標値算出手段と前記回帰曲面算出手段と前記補正手段とによる処理が繰り返し実行される
請求項2に記載の情報処理装置。
A set of coordinate points representing the shape of the subject whose coordinate values in the global coordinate system have been corrected by the correcting means is input to the dividing means,
The information processing apparatus according to claim 2, wherein processing by the dividing unit, the coordinate value calculating unit, the regression surface calculating unit, and the correcting unit is repeatedly executed.
前記座標値算出手段は、
前記複数のクラスタのそれぞれに対して局所座標を定義する際、局所座標系の座標軸のうち一の座標軸を、当該クラスタに含まれる各座標点と他の2軸がなす平面との距離の分散値が最小になるように、決定する
請求項1から請求項3のうちのいずれか1項に記載の情報処理装置。
The coordinate value calculation means includes
When defining local coordinates for each of the plurality of clusters, a variance value of a distance between one coordinate axis of the local coordinate system and a plane formed by each coordinate point included in the cluster and the other two axes The information processing apparatus according to any one of claims 1 to 3, wherein the information processing apparatus is determined so as to be minimized.
前記分割手段は、前記被写体の形状を表す座標点の集合について、距離が近い座標点どうしを所定の数ずつ集積させて、各クラスタを形成する
請求項1から請求項4のうちのいずれか1項に記載の情報処理装置。
The clustering unit forms each cluster by accumulating a predetermined number of coordinate points having a short distance from each other in a set of coordinate points representing the shape of the subject. The information processing apparatus according to item.
前記回帰曲面算出手段は、前記被写体の、少なくとも形状または種類を識別可能な識別データに基づき、回帰曲面のパラメータを決定する
請求項1から請求項5のうちのいずれか1項に記載の情報処理装置。
The information processing method according to any one of claims 1 to 5, wherein the regression surface calculation unit determines a parameter of the regression surface based on identification data that can identify at least the shape or type of the subject. apparatus.
前記回帰曲面算出手段は、前記クラスタに含まれる各座標点の位置と、算出した当該クラスタに対応する回帰曲面との関係に基づき、回帰曲面のパラメータを変更して、再度回帰曲面を算出する
請求項1から請求項6のうちのいずれか1項に記載の情報処理装置。
The regression surface calculation means calculates a regression surface again by changing parameters of the regression surface based on the relationship between the position of each coordinate point included in the cluster and the calculated regression surface corresponding to the cluster. The information processing apparatus according to any one of claims 1 to 6.
回帰曲面がP次(P=1,2,3・・・)の多項式であり、
回帰曲面のパラメータが、前記多項式の実定数または前記多項式の次数の少なくとも一方を含む
請求項6または請求項7に記載の情報処理装置。
The regression surface is a P-th order (P = 1, 2, 3...) Polynomial,
The information processing apparatus according to claim 6, wherein a parameter of the regression surface includes at least one of a real constant of the polynomial or an order of the polynomial.
前記被写体の形状を表す座標点の集合のうち、ユーザによって指定された範囲に含まれる座標点の集合に対して、前記分割手段と前記座標値算出手段と前記回帰曲面算出手段と前記補正手段とによる処理が実行される
請求項1から請求項8のうちのいずれか1項に記載の情報処理装置。
Of the set of coordinate points representing the shape of the subject, with respect to a set of coordinate points included in a range specified by the user, the dividing means, the coordinate value calculating means, the regression surface calculating means, and the correcting means, The information processing apparatus according to any one of claims 1 to 8, wherein the process according to claim 1 is executed.
前記被写体の形状を表す座標点の集合を分割して得られた前記複数のクラスタのうち、ユーザによって指定されたクラスタに対して、前記座標値算出手段と前記回帰曲面算出手段と前記補正手段とによる処理が実行される
請求項1から請求項9のうちのいずれか1項に記載の情報処理装置。
Among the plurality of clusters obtained by dividing the set of coordinate points representing the shape of the subject, the coordinate value calculation means, the regression surface calculation means, and the correction means for the cluster designated by the user The information processing apparatus according to any one of claims 1 to 9, wherein the process according to claim 1 is executed.
被写体の形状を表す、3次元の座標点の集合を複数のクラスタに分割する分割ステップと、
各クラスタに対して、クラスタに含まれる各座標点の分散に基づき決定した座標軸を一の座標軸とする局所座標系を定義し、当該各座標点の当該局所座標系における座標値を算出する座標値算出ステップと、
前記座標値算出ステップにおいて算出された座標値に基づき、前記クラスタに対応する回帰曲面を算出する回帰曲面算出ステップと、
前記回帰曲面算出ステップにおいて算出された前記回帰曲面に基づき、前記クラスタに含まれる各座標点の前記局所座標系における座標値のうち、当該各座標点の分散に基づき決定された前記座標軸に対応する成分を補正する補正ステップと、を含む
ことを特徴とする情報処理方法。
A division step of dividing a set of three-dimensional coordinate points representing the shape of the subject into a plurality of clusters;
For each cluster, define a local coordinate system with the coordinate axis determined based on the variance of each coordinate point included in the cluster as one coordinate axis, and calculate the coordinate value of each coordinate point in the local coordinate system A calculation step;
A regression surface calculation step for calculating a regression surface corresponding to the cluster based on the coordinate values calculated in the coordinate value calculation step;
Based on the regression surface calculated in the regression surface calculation step, of the coordinate values in the local coordinate system of each coordinate point included in the cluster, corresponding to the coordinate axis determined based on the variance of each coordinate point And a correction step of correcting the component.
コンピュータを請求項1から請求項10のうちのいずれか一項に記載の情報処理装置の各手段として機能させるプログラム。   The program which functions a computer as each means of the information processing apparatus as described in any one of Claims 1-10.
JP2016050169A 2016-03-14 2016-03-14 Information processing device, information processing method, and program Pending JP2017167671A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016050169A JP2017167671A (en) 2016-03-14 2016-03-14 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016050169A JP2017167671A (en) 2016-03-14 2016-03-14 Information processing device, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2017167671A true JP2017167671A (en) 2017-09-21

Family

ID=59913432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016050169A Pending JP2017167671A (en) 2016-03-14 2016-03-14 Information processing device, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2017167671A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020013021A1 (en) * 2018-07-13 2020-01-16 株式会社ニコン Detecting device, processing device, detecting method, and processing program
JP2022506428A (en) * 2018-11-02 2022-01-17 ウェイモ エルエルシー Its application to the calculation of the angle of incidence of a laser beam and the estimation of reflectance
JP2023509888A (en) * 2019-12-26 2023-03-10 華南理工大学 Point Cloud Smoothing Filtering Method Based on Normal Vector

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020013021A1 (en) * 2018-07-13 2020-01-16 株式会社ニコン Detecting device, processing device, detecting method, and processing program
JPWO2020013021A1 (en) * 2018-07-13 2021-08-02 株式会社ニコン Detection device, processing device, detection method, and processing program
JP7200994B2 (en) 2018-07-13 2023-01-10 株式会社ニコン Processing device, detection device, processing method, and processing program
JP2022506428A (en) * 2018-11-02 2022-01-17 ウェイモ エルエルシー Its application to the calculation of the angle of incidence of a laser beam and the estimation of reflectance
JP2023509888A (en) * 2019-12-26 2023-03-10 華南理工大学 Point Cloud Smoothing Filtering Method Based on Normal Vector
JP7406853B2 (en) 2019-12-26 2023-12-28 華南理工大学 Computer-implemented normal vector-based point cloud smoothing filtering method

Similar Documents

Publication Publication Date Title
US10380759B2 (en) Posture estimating apparatus, posture estimating method and storing medium
US10380413B2 (en) System and method for pose-invariant face alignment
US10755145B2 (en) 3D spatial transformer network
JP5772821B2 (en) Facial feature point position correction apparatus, face feature point position correction method, and face feature point position correction program
JP6065427B2 (en) Object tracking method and object tracking apparatus
JP4991317B2 (en) Facial feature point detection apparatus and method
CN109598781B (en) Method for acquiring pseudo 3D frame from 2D bounding frame by regression analysis, learning apparatus and testing apparatus using the same
US20160283792A1 (en) Information processing apparatus, information processing method, and storage medium
KR102223484B1 (en) System and method for 3D model generation of cut slopes without vegetation
US20150269454A1 (en) Extraction device, method, and computer program product
JP2017167671A (en) Information processing device, information processing method, and program
CN110546687B (en) Image processing device and two-dimensional image generation program
JP2018067188A (en) Camera information correction device, camera information correction method, and camera information correction program
US20160189339A1 (en) Adaptive 3d registration
US11769310B2 (en) Combining three-dimensional morphable models
US20160292529A1 (en) Image collation system, image collation method, and program
JP2019192299A (en) Camera information correction device, camera information correction method, and camera information correction program
US20230154030A1 (en) Object orientation estimation
US20220172383A1 (en) Weighted mask generating apparatus, weighted mask generating method and program
US10304181B2 (en) Method, apparatus for attitude estimating, and non-transitory computer-readable storage medium
US20220050997A1 (en) Method and system for processing an image by determining rotation hypotheses
US20150254831A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
WO2022188086A1 (en) Systems and methods for training models to predict dense correspondences in images using geodesic distances
US20230057235A1 (en) Computer-readable recording medium storing determination program, determination device, and determination method
JPWO2019186833A1 (en) Image processing equipment, image processing methods, and programs