JP2017167671A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
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.
しかし、特許文献1に提案されている方法では、点群デ−タが2次元の等間隔直交格子上に配置されていることが前提とされている。さらに、特許文献1に記載されている方法では、修正パターン(5次ベジエ曲面)に任意性が残る場合がある。例えば、特許文献1の図4に示される例において、点列全体の平滑基準値Fが最小になる修正パターンが複数存在する場合である。その場合、一意に最適な平滑化を決定できない。そこで、本発明は、点群デ−タのノイズや誤差を、座標に関する制約を受けることなく、効率的かつ適切に除去することを目的とする。
However, in the method proposed in
本発明による情報処理装置は、被写体の形状を表す、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.
以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 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
CPU101は、RAM102をワークメモリとして、ROM103に格納されたプログラムを実行し、システムバス107を介して処理装置100の各構成要素を統括的に制御する。これにより、後述する様々な処理が実行される。二次記憶装置104は、処理装置100で取り扱われる種々のデータを記憶する記憶装置であり、本実施例ではHDDが用いられる。CPU101は、システムバス107を介して二次記憶装置104へのデータの書き込みおよび二次記憶装置104に記憶されたデータの読出しを行う。なお、二次記憶装置104にはHDDの他に、光ディスクドライブやフラッシュメモリなど、様々な記憶デバイスを用いることが可能である。
The
入力インターフェース105は、例えばUSBやIEEE1394等のシリアルバスインターフェースである。処理装置100は、入力インターフェース105を介して、外部装置からデータや命令等を入力する。本実施例では、処理装置100は、入力インターフェース105を介して、外部記憶装置108(例えば、ハードディスク、メモリカード、CFカード、SDカード、USBメモリなどの記憶媒体)からデータを取得する。また本実施例では、処理装置100は、操作部110に入力されたユーザの指示を、入力インターフェース105を介して取得する。操作部110は、マウスやキーボードなどの入力装置であり、ユーザの指示を入力する。
The
出力インターフェース106は、入力インターフェース105と同様にUSBやIEEE1394等のシリアルバスインターフェースである。なお、出力インターフェース106は、例えばDVIやHDMI(登録商標)等の映像出力端子であってもよい。処理装置100は、出力インターフェース106を介して、外部装置にデータ等を出力する。本実施例では、処理装置100は、出力インターフェース106を介して表示装置109(液晶ディスプレイなどの各種画像表示デバイス)に、CPU101によって処理されたデータ(例えば、画像データ)を出力する。なお、処理装置100の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。
The
以下、第1の実施例の処理装置100で行われる処理について、図2に示す機能ブロック図および図3に示すフローチャートを用いて説明する。図2は、本発明による処理装置の機能ブロック図である。処理装置100は、図2に示すように、データ取得部201、クラスタ決定部(クラスタ分割部ともいう)202、座標変換部(座標値算出部ともいう)203、回帰曲面算出部204、および座標補正部205としての機能を有する。CPU101がROM103内に格納された制御プログラムを読み込み実行することで、上記各部の機能が実現される。なお、各部に相当する専用の処理回路を備えるように処理装置100を構成するようにしてもよい。以下、各部により行われる処理の流れを説明する。図3は、本発明による処理装置の第1の実施例における処理の流れを示すフローチャートである。
Hereinafter, processing performed by the
ステップS301では、データ取得部201が、入力インターフェース105を介して外部装置から、または二次記憶装置104から、処理対象の点群データを取得する。そして、データ取得部201は、取得した点群データをクラスタ決定部202に出力する。点群データは、例えば被写体3次元形状を示すデータであり、3次元座標の集合を含む。
In step S <b> 301, the
ステップS302では、クラスタ決定部202が、点群データを複数のクラスタに分割する。クラスタ分割には様々な公知の方法を用いることができる。一般的な方法としては、kd木を利用した最近傍点探索アルゴリズムにより、点群を構成する各点のそれぞれについて、その点に最も近いk個の点を探索し、探索した点を集積してクラスタを形成する方法がある。クラスタどうしの重複は許容してもよいし、排他的に形成してもよい。この時、クラスタ決定部202が点群データの全点に対し一括で最近傍点探索を行うと、完全に排他的なクラスタを形成することが困難になる。そのため、クラスタ決定部202は、次のように漸化的にクラスタを決定してもよい。第1の方法として、1つまたは複数のクラスタを決定した後、未だいずれのクラスタにも属していない点群だけに対して最近傍点探索を再度行い、当該最近傍点探索の結果に基づき新たなクラスタを決定する、という一連の処理を反復する方法がある。第2の方法として、1つまたは複数のクラスタを決定した後、最近傍点探索を再度行い、当該最近傍点探索の結果に対して、決定済みのクラスタに含まれる点を除外するなどの補正を行い、当該補正により更新された最近傍点探索の結果に基づき新たなクラスタを決定する、という一連の処理を反復する方法がある。なお、各クラスタに含まれる点数は同一でもよいし、適応的に変動してもよい。変動する場合は、クラスタ決定部202は、例えば、点間距離やその統計に基づいて各クラスタを構成する点数を決定してもよい。
In step S302, the
ステップS303では、クラスタ決定部202が1つのクラスタを選択する。ここで選択されるクラスタは、後述する座標補正が行われた点を含んでいてもよい。そのような場合の例として、例えば、複数のクラスタが同一の点を共有していて、そのうち1つのクラスタが座標補正を既に行っている場合が挙げられる。また例えば、点群データの全点または一部に対し複数回座標補正を反復して行う場合が挙げられる。
In step S303, the
ステップS304では、座標変換部203が、選択された1つのクラスタだけに適用するための局所座標系を定義し、クラスタに含まれる全点の局所座標系における座標値を算出する。なお、入力された点群データは、同一の大域座標系における全ての点の座標値を含んでいるものとする。なお、この大域座標系は局所座標系と必ずしも同一ではない。局所座標系の決定方法の例として、例えば、クラスタに含まれる点の大域座標系における3次元座標に主成分分析を行い、局所座標系の座標軸の方向を決定する方法がある。この方法では、クラスタに含まれるN個の点の大域座標系における3次元座標を結合したN行3列の行列をA、局所座標系の3つの座標軸の方向ベクトルを結合した3行3列の行列をUとすると、これらを式(1)で関係づけることができる。
In step S304, the coordinate
ここで、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
こうして、クラスタに含まれる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).
式(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
本実施例では、回帰曲面を式(4)で表される2次の多項式として説明する。 In this embodiment, the regression surface is described as a quadratic polynomial expressed by Expression (4).
不等間隔で配置されたデータの回帰曲面を算出する方法として、米国特許第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
効率的な補正方法の一例として、式(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.
ここで、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
[参考文献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).
ここで、太字の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).
ここで、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
ステップS306では、座標補正部205が、ステップS305の結果に基づきクラスタに含まれるN個の点の位置(座標値)を補正する。先述したZ’が算出されている場合には、式(9)により、補正後のN個の点の大域座標系における3次元座標を結合したN行3列の行列A’を決定する。
In step S306, the coordinate
ここで、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
ステップS307では、処理装置100が、データ取得部201が取得した点群データに含まれる全ての点について処理が完了したか、すなわち、全てのクラスタについて補正が完了したかを判断する。補正が完了していないクラスタが存在する場合には(ステップS307のNO)、処理装置100は、ステップS303に戻る。そして、クラスタ決定部202によって異なるクラスタが選択され、当該クラスタに対してステップS303〜S306の処理が行われる。処理装置100は、点群データに含まれる全ての点について処理が完了した場合は(ステップS307のYES)、補正された点群データを出力し処理を終了する。
In step S307, the
以上が、第1の実施例の処理装置100で行われる処理である。以上に説明したように、本実施例では、点群データを分割して得られた各クラスタに対して、局所座標系を定義する。そして、クラスタに含まれる各座標点の、局所座標系における座標値を、回帰曲面に基づき補正する。したがって、本実施例によれば、入力される点群データの配置に依らずに、すなわち座標に関する制約を受けることなく、点群データのノイズや誤差を除去することができる。また、座標に関する制約を受けないので、任意の次数の多項式の曲面を補正の対象にすることができる。
The above is the processing performed by the
また、本実施例では、式(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
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
[参考文献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
ステップS501では、データ取得部201が、ステップS301の処理と同様に点群データを取得する。
In step S501, the
ステップS502では、クラスタ決定部202が、入力インターフェース105を介して処理装置100に入力されたユーザの指示に基づき、処理対象とする点群データの範囲を指定する。この処理に先立ち、クラスタ決定部202は、取得された点群データを、表示装置109を介してユーザに提示してもよい。そして、ユーザが、表示装置109に表示された点群データの中から、処理対象とする範囲を指定する操作を操作部110に対して行うようにしてもよい。また、後述するステップS504の処理を行う場合には、ステップS502の処理は必ずしも必要ない。
In step S <b> 502, the
ステップS503では、クラスタ決定部202が、ステップS302の処理と同様に点群データを複数のクラスタに分割する。このとき、クラスタ決定部202は、ステップS502の処理で指定した、処理対象の点群データに対してクラスタの分割を行う。なお、ステップS502の処理が実行されていない場合には、データ取得部201が取得した点群データ全体に対してクラスタの分割が行われる。
In step S503, the
ステップS504では、クラスタ決定部202が、処理対象とするクラスタを限定する。この処理に先立ち、クラスタ決定部202は、ステップS503の処理により取得されたクラスタの情報を、表示装置109を介してユーザに提示してもよい。そして、ユーザが、表示装置109に表示されたクラスタの中から、処理対象とするクラスタを指定する操作を操作部110に対して行うようにしてもよい。なお、クラスタ決定部202は、ステップS502の処理を行う場合には、ステップS504の処理を必ずしも実行する必要はない。
In step S504, the
ステップ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
[実施例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
ステップS601では、データ取得部201が、ステップS301の処理と同様に点群データを取得する。さらに、データ取得部201は、点群データに含まれるメタデータなどから、点群と対応付けられた識別データを取得する。または、データ取得部201が、点群データから識別データを生成する。識別データは、点群全体に対し1つの値でもよいし、点群の部分集合ごとに異なる値でもよい。例として、データ取得部201が、人物の顔を取得した点群データの場合には、データ取得部201は、取得した点群データによって示される点群の中から頭部・鼻・口・顎・耳・頬などの部分を識別し、各部分に対応する点群ごとに異なる識別データを対応付ける。また別の例として、データ取得部201が、点群データに含まれるメタデータに基づき、点群データごとに異なる識別データを対応付ける。または、データ取得部201が、取得した点群データから当該点群データによって示される被写体を識別し、識別結果に基づき生成した識別データを、当該点群データに対応付ける。これにより、例えば、取得された点群データが人物の点群データである場合と車両の点群データである場合とで、点群データに対して異なる識別データが対応付けられる。なお、識別データは、被写体の全体または一部の形状や種類を識別可能な情報であればどのような形態でもよい。
In step S601, the
ステップS602では、クラスタ決定部202が、ステップS302の処理と同様にクラスタを決定する。
In step S602, the
ステップS603では、クラスタ決定部202が、識別データに対応付けられたパラメータを各クラスタに付与する。パラメータとしては、回帰曲面の種類(例えば、実定数aij)や、多項式の次数などがあるが、これらに限定されることはない。例えば、パラメータはクラスタの点数や重複などクラスタに関する情報でもよいし、反復回数など処理に関する情報でもよい。クラスタ決定部202は、識別データとパラメータとの対応を示すデータを、二次記憶装置104や外部記憶装置108に記憶する。
In step S603, the
ステップ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
以上が、第3の実施例の処理装置100で行われる処理である。以上の処理によれば、点群データまたは各クラスタに対して最適なパラメータを用いて補正を行うことができるので、より正確な点群デ−タの補正を行うことができる。
The above is the processing performed by the
なお、第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
本実施例における処理装置100は、第1の実施例の処理装置と同様の処理を行う。ただし、本実施例では、ステップS305の処理において、回帰曲面算出部204が、回帰曲面を算出した後、回帰曲面とクラスタに含まれる点の座標値との比較を行う。例えば、回帰曲面算出部204は、点と回帰曲面との距離を点ごとに評価してもよいし、点と回帰曲面との距離の総和を評価してもよい。回帰曲面算出部204は、評価結果に基づき、回帰曲面のパラメータを変更して再度回帰曲面を算出する。また、回帰曲面算出部204は、評価結果に基づき、曲面の距離が所定の閾値を超える点を削除する。なお、回帰曲面算出部204は、評価結果に基づき、その他の処理を行ってもよい。
The
以上の処理によれば、点群データの局所的な形状の非一様性や異常点の存在に対して頑健に点群デ−タの補正を行うことができる。 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
Claims (12)
各クラスタに対して、クラスタに含まれる各座標点の分散に基づき決定した座標軸を一の座標軸とする局所座標系を定義し、当該各座標点の当該局所座標系における座標値を算出する座標値算出手段と、
前記座標値算出手段が算出した座標値に基づき、前記クラスタに対応する回帰曲面を算出する回帰曲面算出手段と、
前記回帰曲面算出手段が算出した前記回帰曲面に基づき、前記クラスタに含まれる各座標点の前記局所座標系における座標値のうち、前記座標値算出手段が当該各座標点の分散に基づき決定した前記座標軸に対応する成分を補正する補正手段と、を備える
ことを特徴とする情報処理装置。 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.
回帰曲面のパラメータが、前記多項式の実定数または前記多項式の次数の少なくとも一方を含む
請求項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.
各クラスタに対して、クラスタに含まれる各座標点の分散に基づき決定した座標軸を一の座標軸とする局所座標系を定義し、当該各座標点の当該局所座標系における座標値を算出する座標値算出ステップと、
前記座標値算出ステップにおいて算出された座標値に基づき、前記クラスタに対応する回帰曲面を算出する回帰曲面算出ステップと、
前記回帰曲面算出ステップにおいて算出された前記回帰曲面に基づき、前記クラスタに含まれる各座標点の前記局所座標系における座標値のうち、当該各座標点の分散に基づき決定された前記座標軸に対応する成分を補正する補正ステップと、を含む
ことを特徴とする情報処理方法。 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.
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)
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 |
-
2016
- 2016-03-14 JP JP2016050169A patent/JP2017167671A/en active Pending
Cited By (6)
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 |