説明

球体の検出方法

【課題】球体を3次元の点群として計測した場合の形状データに基づいて、より高速に球体を検出することの可能な球体の検出方法を提供する。
【解決手段】3次元計測手段により計測点群として球体の形状データを取得する形状データ取得ステップ(S1)と、仮想座標空間で、各計測点の法線ベクトルを算出する法線ベクトル算出ステップ(S2)と、法線ベクトルと反対方向に、計測点を球体の半径分移動する計測点移動ステップ(S32)と、移動後の計測点を3次元計測手段の光軸に垂直な投影面に投影する投影ステップ(S34)と、投影された移動後の計測点が密集する密集領域を投影面より探索する密集領域探索ステップ(S44)と、探索された密集領域に対応する仮想座標空間における移動後の計測点群から、仮想座標空間での球体の中心を推定する球中心推定ステップ(S45)とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、球体の検出方法に係り、詳しくは球体を計測または撮像することで得た球体の形状データに基づき、仮想空間座標にて球体を検出する球体の検出方法に関する。
【背景技術】
【0002】
従来、対象体を検出する方法として、対象体の撮像または計測点から対象体までの距離を計測することにより、対象体の形状データを取得する方法がある。当該形状データに基づいて、2次元または3次元の仮想空間座標における対象体が占める対象体領域を生成することにより、対象体の形状を仮想座標空間で表現する。
しかしながら、2次元または3次元の仮想座標空間では、計測時や撮像時等におけるノイズ等により、上述のように生成された対象体領域の境界付近に不明瞭な形状部分が生じるという問題がある。
そこで、3次元画像において、物体境界画素に対し球体を逐次当てはめていき、物体と球体との重なる割合により、その着目画素を抽出するかどうかを判定する方法が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3888975号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、対象体を3次元の点群として計測する場合でも、計測した形状データにおける球体の境界付近を補正する必要がある。これは対象体が球体の場合も同様である。
この点、上記特許文献1に開示された従来技術は、コンピュータ断層撮影装置(CT装置)の3次元画像を構成するボクセルデータに対して画素の抽出処理を行うものであり、対象体を3次元の点群として計測した場合には、当該点群に対して従来技術を適用できないという問題がある。
【0005】
また、別の補正方法として最小自乗法やハフ変換を用いる方法等が知られているが、最小自乗法では、3次元の点群を構成する計測点にノイズ等の外れ点が存在する場合、球体の検出精度が低下してしまうため好ましくない。
さらに、ハフ変換を使用する場合、特徴点を保存するために多くのメモリを必要とし、また計算量が大きくなるために球体の検出に多くの時間を要するので、好ましくない。
本発明は、上述した課題を解決すべくなされたものであり、その目的とするところは、球体を3次元の点群として計測した場合の形状データに基づいて、より高速に球体を検出することの可能な球体の検出方法を提供することにある。
【課題を解決するための手段】
【0006】
上記の目的を達成するべく、請求項1の球体の検出方法は、対象体である球体の形状を仮想座標空間において表現する球体の検出方法であって、3次元計測手段により計測点群として球体の形状データを取得する形状データ取得ステップと、仮想座標空間で、前記形状データを構成する前記計測点群の各計測点の法線ベクトルを算出する法線ベクトル算出ステップと、前記法線ベクトルと反対方向に、前記各計測点を前記球体の半径分移動する計測点移動ステップと、前記計測点移動ステップにより移動した移動後の計測点を前記3次元計測手段の光軸に垂直な投影面に投影する投影ステップと、前記投影ステップにより投影された前記移動後の計測点が密集する密集領域を前記投影面より探索する密集領域探索ステップと、前記密集領域探索ステップから探索された前記密集領域に対応する投影前の仮想座標空間における前記移動後の計測点群から、仮想座標空間での前記球体の中心を推定する球中心推定ステップとを備えたことを特徴とする。
【0007】
請求項2の球体の検出方法では、請求項1において、前記密集領域探索ステップは、前記投影面が格子状に区画された投影領域を生成し、前記各投影領域から前記密集領域を探索することを特徴とする。
請求項3の球体の検出方法では、請求項1または2において、前記球中心推定ステップは、前記密集領域における前記移動後の計測点群の座標値の平均を求めることにより推定を行うことを特徴とする。
【0008】
請求項4の球体の検出方法では、請求項1または2において、前記球中心推定ステップは、仮想座標空間の前記密集領域に含まれる前記移動後の計測点群に対して最小自乗法により推定を行う高精度化ステップを含むことを特徴とする。
【発明の効果】
【0009】
本発明の球体の検出方法によれば、仮想座標空間において、3次元計測手段により取得された計測点群からなる形状データを構成する各計測点の法線ベクトルを算出する法線ベクトル算出ステップと、法線ベクトルとは反対方向に計測点を球体の半径分移動する計測点移動ステップと、移動後の計測点を3次元計測手段の光軸と垂直な投影面に投影する投影ステップと、投影された移動後の計測点が密集する密集領域を探索する密集領域探索ステップと、探索された密集領域に対応する投影前の仮想座標空間での移動後の計測点から球体の中心を推定する球中心推定ステップとを備えている。
これにより、球体の中心の推定に要する計算量は計測点の数に比例することになり、計算量をより少なくすることができるので、より高速に推定することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態に供試される対象体認識装置の概略構成図である。
【図2】本発明に係る対象体検出方法のフローチャートである。
【図3】(A)は3次元計測手段で取得した計測点群を示す図、(B)は(A)に示す計測点群から隣り合う任意の4点を抽出した図、(C)は(B)の4点から生成される三角形メッシュを示す図である。
【図4】図2に示す投影処理の概略図である。
【図5】図2に示す対象体検出方法で行われる投影処理ルーチンを示すフローチャートである。
【図6】(A)は図2に示す投影処理において、3次元の仮想座標空間から投影面に投影する概略図を示す図、(B)は(A)にて投影面に投影された移動後の計測点群を示す図である。
【図7】図2に示す対象体検出方法で行われる球中心の推定ルーチンを示すフローチャートである。
【図8】(A)は図6(B)の投影面を格子状に区画する概略図、(B)は投影面にある移動後の計測点から仮想座標空間における球中心の推定を示す概略図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照しながら説明する。
図1は、本発明の実施形態に供試される対象体認識装置1の概略構成図である。
図1に示すように、対象体認識装置1は対象体である球体2の形状を仮想座標空間において表現する装置であり、支持体3に支えられた球体2の形状データを取得する3次元計測手段4と、3次元計測手段4にて取得された形状データから仮想座標空間で球体2を算出する演算手段6と、演算手段6にて算出された結果等を記憶するメモリ装置8と、算出された結果を出力する外部出力手段10とを備える。
【0012】
ここで、3次元計測手段4は、球体2上の測定点までの距離を計測することにより、球体2の形状データを取得する。
演算手段6とメモリ装置8とは、図示しないがコンピュータに備えられている。演算手段6は当該コンピュータの中央演算処理装置(以下、CPUと略す)により構成され、メモリ装置8はRAM、ROM等を含んで構成されている。
外部出力手段10は、シリアル通信、LANのネットワーク通信、画面出力、外部メモリ書き込み、またはファイル出力等により算出した結果を出力する。
【0013】
以下、このように構成された本発明に係る対象体認識装置1の球体検出方法について説明する。
図2は、対象体検出方法のフローチャートを示している。以下に述べるステップS2以降の各処理は、メモリ装置8に格納されている各プログラムを演算手段6にて実行することにより行われる。なお、球体2の半径は予めメモリ装置8に格納されているものとする。
【0014】
ステップS1では、3次元計測手段4から球体2の形状データを計測点群として取得する(形状データ取得ステップ)。3次元計測手段4は、例えばレーザ距離計やステレオカメラ、ToF(Time−of−Flight)方式カメラ等を使用するものである。
3次元計測手段4がレーザ距離計である場合、レーザ光の射出とその反射レーザの受光とにより3次元計測手段4の位置から球体2上の各計測点までの距離をレーザ計測し、計測した各距離データを3次元の計測点群として形状データを取得する。
さらに、3次元計測手段4がToF方式カメラである場合、球体2を撮影することで、球体2を3次元の距離画像として取得する。
また、3次元計測手段4がステレオカメラである場合、球体2を撮像することで、画像データに含まれる球体2を3次元の計測点群として取得する。ここで、ステレオカメラは模様の存在しない対象物の計測は難しいが、パターン光の投影を組み合わせることによりデータ取得が可能となる。
【0015】
ステップS2では、上記ステップS1で取得された仮想座標空間における各計測点の法線ベクトルを算出する(法線ベクトル算出ステップ)。
詳しくは、図3に3次元計測手段4にて取得した計測点群から三角形メッシュを生成する過程が示されており、同図から以下に説明する。
【0016】
例えば、(A)に示すように計測点Pと、計測点Pと隣り合う計測点P〜Pとを選択し、(B)のように選択した4点から(C)に示すような三角形メッシュを生成する。
三角形メッシュの生成を全ての計測点に対して実施した後、各計測点の法線ベクトルを算出する。ここで、計測点Pを頂点とする三角形の集合をF、三角形fの法線ベクトルをnとすると、頂点Pの法線ベクトルnpiは以下に示す数1式から算出される。
【0017】
【数1】

【0018】
なお、関数N(a)は、aの単位ベクトル化を表すものである。
また、計測データにノイズが含まれる場合には、法線ベクトルに誤差が含まれるため、上述した数1式より算出された法線ベクトルのスムージングを行う。ここで、計測点Pを頂点とする三角形の集合をF、三角形fの頂点kの法線ベクトルをnf_kとすると、スムージング後の頂点Pの法線ベクトルnPiは以下に示す数2式から算出される。
【0019】
【数2】

【0020】
数2式により、法線ベクトルに含まれるノイズを減少させることができる。
続くステップS3では投影処理を行う。
図4に投影処理の概略図を示すように、3次元計測手段4の光軸に垂直であり、3次元計測手段4の視点を中心とした仮想的な2次元座標である投影面Spを使用して、投影処理を行う。
【0021】
詳しくは、図5に示す投影処理ルーチンを示すフローチャートに基づいて以下に説明する。
ステップS31では、全ての計測点の中から1つの計測点を選択する。ここで選択される計測点は、まだ選択されていない計測点の中から選択される。
【0022】
ステップS32では、選択した計測点の法線ベクトルの方向とは反対方向に、計測点を検出する球体2の半径分移動する(計測点移動ステップ)。ここで、球体の球面を構成する各計測点は移動後に球体の中心となる1点にほぼ密集するのに対し、ノイズや球体でない部分の計測点は半径の長さ分だけ移動するだけである。
【0023】
ステップS33では、仮想座標空間における全ての計測点を選択したか否かを判定する。当該判定結果が真(Yes)の場合にはステップS34へ進み、偽(No)の場合にはステップS31へ戻る。
ステップS34では、移動後の計測点群を3次元計測手段4の光軸に垂直な投影面に投影する(投影ステップ)。
【0024】
上記ステップS31〜S34は、例えば図6(A)に示すように、計測点Pを当該計測点Pの法線ベクトルnP1の方向と反対方向に、球体の半径rの距離分計測点Pを移動させ、移動後の計測点Aとする。そして、全ての計測点を移動させた後、図6(B)に示すように移動後の計測点群を投影面Spへ投影する。
【0025】
図2へ戻り、ステップS4では球中心の推定を行う。
詳しくは、図7に示す球中心の推定ルーチンを示すフローチャートに基づいて以下に説明する。
ステップS41では、投影面を格子状に区画する。ここで、区画後の各投影面の面積が略等しくなるように区画される。
ステップS42では、上記ステップS41で区画した投影面の1つの格子領域にある超点数をカウントする。
【0026】
上記ステップS41、S42は、例えば図8(A)に示すように投影面Spを格子状に区画し、各格子領域Sgに含まれる移動後の計測点数をカウントする処理である。
ステップS43では、上記ステップS41で区画した全ての格子領域を選択したか否かを判定する。当該判定結果が真(Yes)の場合にはステップS44へ進み、偽(No)と判定された場合にはステップS42へ戻る。
【0027】
ステップS44では、各格子領域の中から移動後の計測点数が一定値以上の格子領域(密集領域)を探索する(密集領域探索ステップ)。上述したように、球体の球面を構成する各計測点の移動後の計測点は球体の中心となる1点にほぼ密集するので、格子領域に含まれる移動後の計測点数が一定値以上の格子領域が球体の中心を含む格子領域となる。
【0028】
ステップS45では、図8(B)に示すように、上記ステップS44で探索された格子領域に含まれる移動後の計測点群に対応する、投影前の3次元の仮想座標空間における移動後の計測点群から、球体の中心を推定する(球中心推定ステップ)。
当該ステップでは、格子領域に含まれる移動後の計測点の集合をS、格子領域に含まれる移動後の計測点の数をm、移動後の計測点の座標値をxとするとき、球体2の中心cは以下に示す数3式から求められる。
【0029】
【数3】

【0030】
即ち、球体2の中心cは、移動後の計測点の座標値xの平均値となる。
そして、球体の中心が推定されると、球体の中心と半径情報から仮想座標空間における球体が検出され、検出した球体の情報を、外部出力手段10を介して出力する。
【0031】
このように、本発明に係る球体の検出方法によれば、3次元計測手段4にて計測点群として取得された球体2の形状データから各計測点の法線ベクトルを算出し、各計測点を法線ベクトルの方向と反対方向に球体2の半径分移動させ、移動後の計測点を投影面に投影して移動後の計測点が一定値以上の格子領域を探索し、探索された格子領域に含まれる移動後の計測点群に対応する、投影前の3次元の仮想座標空間における移動後の計測点群の各座標値を平均して球体の中心を求めて球体を検出する。
【0032】
これにより、球体の検出で行われる計算量は3次元計測手段4で取得した計測点数に比例するので、計算量をより少なくすることができ、より高速に球体を検出することができる。
また、投影面を格子状に区画することにより、区画した各格子領域に含まれる移動後の計測点数をカウントすることで、移動後の計測点が密集する格子領域を容易に探索することができるので、より高速に球体を検出することができる。
【0033】
次に、上記実施形態の変形例について以下に説明する。
この変形例では、図7に示す球中心の推定ルーチンにおけるステップS45での球中心推定を最小自乗法により行う。
【0034】
詳しくは、上述したステップS44で探索された格子領域に含まれる移動後の計測点群に対応する、投影前の3次元の仮想座標空間における移動後の計測点群から任意の1つの移動後の計測点を選択し、当該移動後の計測点に対して最小自乗法を行って仮想座標空間における球体の中心を推定する(高精度化ステップ)。
上述した変形例の場合には、球体の中心を最小自乗法により算出することにより、移動後の計測点群から球体の中心をより精度よく推定することができるので、球体の検出精度をより向上させることができる。
【0035】
以上で実施形態の説明を終えるが、本発明は上述した実施形態に限定されるものではない。
例えば、上記実施形態では、投影面を格子状に区画して各格子領域に含まれる移動後の計測点数をカウントしたが、投影面の領域の区画する形状は格子状に限られない。
【0036】
また、上記実施形態では、球体2の半径情報が予めメモリ装置8に格納されているが、球体2の半径がメモリ装置8に格納されていない場合でも、上記球中心推定ルーチンを行ってよい。メモリ装置8に半径情報が格納されていない場合には、想定される最大の球体の大きさから半径を算出し、当該半径を推定精度や要求される球体の検出精度等によって決められる所定幅変化させながら最大の移動後の計測点数を有する格子領域を抽出し、抽出された各最大の格子領域の中から移動後の計測点数が最も多い格子領域を抽出して球体の中心を推定し、球体を検出するようにしてもよい。
【符号の説明】
【0037】
1 対象体認識装置
2 球体
4 3次元計測手段
6 演算手段
8 メモリ装置

【特許請求の範囲】
【請求項1】
対象体である球体の形状を仮想座標空間において表現する球体の検出方法であって、
3次元計測手段により計測点群として球体の形状データを取得する形状データ取得ステップと、
仮想座標空間で、前記形状データを構成する前記計測点群の各計測点の法線ベクトルを算出する法線ベクトル算出ステップと、
前記法線ベクトルと反対方向に、前記各計測点を前記球体の半径分移動する計測点移動ステップと、
前記計測点移動ステップにより移動した移動後の計測点を前記3次元計測手段の光軸に垂直な投影面に投影する投影ステップと、
前記投影ステップにより投影された前記移動後の計測点が密集する密集領域を前記投影面より探索する密集領域探索ステップと、
前記密集領域探索ステップから探索された前記密集領域に対応する投影前の仮想座標空間における前記移動後の計測点群から、仮想座標空間での前記球体の中心を推定する球中心推定ステップと、
を備えたことを特徴とする球体の検出方法。
【請求項2】
前記密集領域探索ステップは、前記投影面が格子状に区画された投影領域を生成し、前記各投影領域から前記密集領域を探索することを特徴とする、請求項1に記載の球体の検出方法。
【請求項3】
前記球中心推定ステップは、前記密集領域に含まれる前記移動後の計測点群の座標値の平均を求めることにより推定を行うことを特徴とする、請求項1または2に記載の球体の検出方法。
【請求項4】
前記球中心推定ステップは、仮想座標空間の前記密集領域に含まれる前記移動後の計測点群に対して最小自乗法により推定を行う高精度化ステップを含むことを特徴とする、請求項1または2に記載の球体の検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate