(57)【特許請求の範囲】
【請求項１】
対象体である球体の形状を仮想座標空間において表現する球体の検出方法であって、
３次元計測手段により計測点群として球体の形状データを取得する形状データ取得ステップと、
仮想座標空間で、前記形状データを構成する前記計測点群の各計測点の法線ベクトルを算出する法線ベクトル算出ステップと、
前記法線ベクトルと反対方向に、前記各計測点を前記球体の半径分移動する計測点移動ステップと、
前記計測点移動ステップにより移動した移動後の計測点を前記３次元計測手段の光軸に垂直な投影面に投影する投影ステップと、
前記投影ステップにより投影された前記移動後の計測点が密集する密集領域を前記投影面より探索する密集領域探索ステップと、
前記密集領域探索ステップから探索された前記密集領域に対応する投影前の仮想座標空間における前記移動後の計測点群から、仮想座標空間での前記球体の中心を推定する球中心推定ステップと、
を備えたことを特徴とする球体の検出方法。
【請求項２】
前記密集領域探索ステップは、前記投影面が格子状に区画された投影領域を生成し、前記各投影領域から前記密集領域を探索することを特徴とする、請求項１に記載の球体の検出方法。
【請求項３】
前記球中心推定ステップは、前記密集領域に含まれる前記移動後の計測点群の座標値の平均を求めることにより推定を行うことを特徴とする、請求項１または２に記載の球体の検出方法。
【請求項４】
前記球中心推定ステップは、仮想座標空間の前記密集領域に含まれる前記移動後の計測点群に対して最小自乗法により推定を行う高精度化ステップを含むことを特徴とする、請求項１または２に記載の球体の検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、球体の検出方法に係り、詳しくは球体を計測または撮像することで得た球体の形状データに基づき、仮想空間座標にて球体を検出する球体の検出方法に関する。
【背景技術】
【０００２】
従来、対象体を検出する方法として、対象体の撮像または計測点から対象体までの距離を計測することにより、対象体の形状データを取得する方法がある。当該形状データに基づいて、２次元または３次元の仮想空間座標における対象体が占める対象体領域を生成することにより、対象体の形状を仮想座標空間で表現する。
しかしながら、２次元または３次元の仮想座標空間では、計測時や撮像時等におけるノイズ等により、上述のように生成された対象体領域の境界付近に不明瞭な形状部分が生じるという問題がある。
そこで、３次元画像において、物体境界画素に対し球体を逐次当てはめていき、物体と球体との重なる割合により、その着目画素を抽出するかどうかを判定する方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８８８９７５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、対象体を３次元の点群として計測する場合でも、計測した形状データにおける球体の境界付近を補正する必要がある。これは対象体が球体の場合も同様である。
この点、上記特許文献１に開示された従来技術は、コンピュータ断層撮影装置（ＣＴ装置）の３次元画像を構成するボクセルデータに対して画素の抽出処理を行うものであり、対象体を３次元の点群として計測した場合には、当該点群に対して従来技術を適用できないという問題がある。
【０００５】
また、別の補正方法として最小自乗法やハフ変換を用いる方法等が知られているが、最小自乗法では、３次元の点群を構成する計測点にノイズ等の外れ点が存在する場合、球体の検出精度が低下してしまうため好ましくない。
さらに、ハフ変換を使用する場合、特徴点を保存するために多くのメモリを必要とし、また計算量が大きくなるために球体の検出に多くの時間を要するので、好ましくない。
本発明は、上述した課題を解決すべくなされたものであり、その目的とするところは、球体を３次元の点群として計測した場合の形状データに基づいて、より高速に球体を検出することの可能な球体の検出方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記の目的を達成するべく、請求項１の球体の検出方法は、対象体である球体の形状を仮想座標空間において表現する球体の検出方法であって、３次元計測手段により計測点群として球体の形状データを取得する形状データ取得ステップと、仮想座標空間で、前記形状データを構成する前記計測点群の各計測点の法線ベクトルを算出する法線ベクトル算出ステップと、前記法線ベクトルと反対方向に、前記各計測点を前記球体の半径分移動する計測点移動ステップと、前記計測点移動ステップにより移動した移動後の計測点を前記３次元計測手段の光軸に垂直な投影面に投影する投影ステップと、前記投影ステップにより投影された前記移動後の計測点が密集する密集領域を前記投影面より探索する密集領域探索ステップと、前記密集領域探索ステップから探索された前記密集領域に対応する投影前の仮想座標空間における前記移動後の計測点群から、仮想座標空間での前記球体の中心を推定する球中心推定ステップとを備えたことを特徴とする。
【０００７】
請求項２の球体の検出方法では、請求項１において、前記密集領域探索ステップは、前記投影面が格子状に区画された投影領域を生成し、前記各投影領域から前記密集領域を探索することを特徴とする。
請求項３の球体の検出方法では、請求項１または２において、前記球中心推定ステップは、前記密集領域における前記移動後の計測点群の座標値の平均を求めることにより推定を行うことを特徴とする。
【０００８】
請求項４の球体の検出方法では、請求項１または２において、前記球中心推定ステップは、仮想座標空間の前記密集領域に含まれる前記移動後の計測点群に対して最小自乗法により推定を行う高精度化ステップを含むことを特徴とする。
【発明の効果】
【０００９】
本発明の球体の検出方法によれば、仮想座標空間において、３次元計測手段により取得された計測点群からなる形状データを構成する各計測点の法線ベクトルを算出する法線ベクトル算出ステップと、法線ベクトルとは反対方向に計測点を球体の半径分移動する計測点移動ステップと、移動後の計測点を３次元計測手段の光軸と垂直な投影面に投影する投影ステップと、投影された移動後の計測点が密集する密集領域を探索する密集領域探索ステップと、探索された密集領域に対応する投影前の仮想座標空間での移動後の計測点から球体の中心を推定する球中心推定ステップとを備えている。
これにより、球体の中心の推定に要する計算量は計測点の数に比例することになり、計算量をより少なくすることができるので、より高速に推定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に供試される対象体認識装置の概略構成図である。
【図２】本発明に係る対象体検出方法のフローチャートである。
【図３】（Ａ）は３次元計測手段で取得した計測点群を示す図、（Ｂ）は（Ａ）に示す計測点群から隣り合う任意の４点を抽出した図、（Ｃ）は（Ｂ）の４点から生成される三角形メッシュを示す図である。
【図４】図２に示す投影処理の概略図である。
【図５】図２に示す対象体検出方法で行われる投影処理ルーチンを示すフローチャートである。
【図６】（Ａ）は図２に示す投影処理において、３次元の仮想座標空間から投影面に投影する概略図を示す図、（Ｂ）は（Ａ）にて投影面に投影された移動後の計測点群を示す図である。
【図７】図２に示す対象体検出方法で行われる球中心の推定ルーチンを示すフローチャートである。
【図８】（Ａ）は図６（Ｂ）の投影面を格子状に区画する概略図、（Ｂ）は投影面にある移動後の計測点から仮想座標空間における球中心の推定を示す概略図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照しながら説明する。
図１は、本発明の実施形態に供試される対象体認識装置１の概略構成図である。
図１に示すように、対象体認識装置１は対象体である球体２の形状を仮想座標空間において表現する装置であり、支持体３に支えられた球体２の形状データを取得する３次元計測手段４と、３次元計測手段４にて取得された形状データから仮想座標空間で球体２を算出する演算手段６と、演算手段６にて算出された結果等を記憶するメモリ装置８と、算出された結果を出力する外部出力手段１０とを備える。
【００１２】
ここで、３次元計測手段４は、球体２上の測定点までの距離を計測することにより、球体２の形状データを取得する。
演算手段６とメモリ装置８とは、図示しないがコンピュータに備えられている。演算手段６は当該コンピュータの中央演算処理装置（以下、ＣＰＵと略す）により構成され、メモリ装置８はＲＡＭ、ＲＯＭ等を含んで構成されている。
外部出力手段１０は、シリアル通信、ＬＡＮのネットワーク通信、画面出力、外部メモリ書き込み、またはファイル出力等により算出した結果を出力する。
【００１３】
以下、このように構成された本発明に係る対象体認識装置１の球体検出方法について説明する。
図２は、対象体検出方法のフローチャートを示している。以下に述べるステップＳ２以降の各処理は、メモリ装置８に格納されている各プログラムを演算手段６にて実行することにより行われる。なお、球体２の半径は予めメモリ装置８に格納されているものとする。
【００１４】
ステップＳ１では、３次元計測手段４から球体２の形状データを計測点群として取得する（形状データ取得ステップ）。３次元計測手段４は、例えばレーザ距離計やステレオカメラ、ＴｏＦ（Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ）方式カメラ等を使用するものである。
３次元計測手段４がレーザ距離計である場合、レーザ光の射出とその反射レーザの受光とにより３次元計測手段４の位置から球体２上の各計測点までの距離をレーザ計測し、計測した各距離データを３次元の計測点群として形状データを取得する。
さらに、３次元計測手段４がＴｏＦ方式カメラである場合、球体２を撮影することで、球体２を３次元の距離画像として取得する。
また、３次元計測手段４がステレオカメラである場合、球体２を撮像することで、画像データに含まれる球体２を３次元の計測点群として取得する。ここで、ステレオカメラは模様の存在しない対象物の計測は難しいが、パターン光の投影を組み合わせることによりデータ取得が可能となる。
【００１５】
ステップＳ２では、上記ステップＳ１で取得された仮想座標空間における各計測点の法線ベクトルを算出する（法線ベクトル算出ステップ）。
詳しくは、図３に３次元計測手段４にて取得した計測点群から三角形メッシュを生成する過程が示されており、同図から以下に説明する。
【００１６】
例えば、（Ａ）に示すように計測点Ｐ１と、計測点Ｐ１と隣り合う計測点Ｐ２〜Ｐ４とを選択し、（Ｂ）のように選択した４点から（Ｃ）に示すような三角形メッシュを生成する。
三角形メッシュの生成を全ての計測点に対して実施した後、各計測点の法線ベクトルを算出する。ここで、計測点Ｐｉを頂点とする三角形の集合をＦ、三角形ｆの法線ベクトルをｎｆとすると、頂点Ｐｉの法線ベクトルｎｐｉは以下に示す数１式から算出される。
【００１７】
【数１】
0005656018.tif 000002
【００１８】
なお、関数Ｎ(a)は、ａの単位ベクトル化を表すものである。
また、計測データにノイズが含まれる場合には、法線ベクトルに誤差が含まれるため、上述した数１式より算出された法線ベクトルのスムージングを行う。ここで、計測点Ｐｉを頂点とする三角形の集合をＦ、三角形ｆの頂点ｋの法線ベクトルをｎｆ_ｋとすると、スムージング後の頂点Ｐｉの法線ベクトルｎＰｉは以下に示す数２式から算出される。
【００１９】
【数２】
0005656018.tif 000003
【００２０】
数２式により、法線ベクトルに含まれるノイズを減少させることができる。
続くステップＳ３では投影処理を行う。
図４に投影処理の概略図を示すように、３次元計測手段４の光軸に垂直であり、３次元計測手段４の視点を中心とした仮想的な２次元座標である投影面Ｓpを使用して、投影処理を行う。
【００２１】
詳しくは、図５に示す投影処理ルーチンを示すフローチャートに基づいて以下に説明する。
ステップＳ３１では、全ての計測点の中から１つの計測点を選択する。ここで選択される計測点は、まだ選択されていない計測点の中から選択される。
【００２２】
ステップＳ３２では、選択した計測点の法線ベクトルの方向とは反対方向に、計測点を検出する球体２の半径分移動する（計測点移動ステップ）。ここで、球体の球面を構成する各計測点は移動後に球体の中心となる１点にほぼ密集するのに対し、ノイズや球体でない部分の計測点は半径の長さ分だけ移動するだけである。
【００２３】
ステップＳ３３では、仮想座標空間における全ての計測点を選択したか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ３４へ進み、偽（Ｎｏ）の場合にはステップＳ３１へ戻る。
ステップＳ３４では、移動後の計測点群を３次元計測手段４の光軸に垂直な投影面に投影する（投影ステップ）。
【００２４】
上記ステップＳ３１〜Ｓ３４は、例えば図６（Ａ）に示すように、計測点Ｐ１を当該計測点Ｐ１の法線ベクトルｎＰ１の方向と反対方向に、球体の半径ｒの距離分計測点Ｐ１を移動させ、移動後の計測点Ａ１とする。そして、全ての計測点を移動させた後、図６（Ｂ）に示すように移動後の計測点群を投影面Ｓpへ投影する。
【００２５】
図２へ戻り、ステップＳ４では球中心の推定を行う。
詳しくは、図７に示す球中心の推定ルーチンを示すフローチャートに基づいて以下に説明する。
ステップＳ４１では、投影面を格子状に区画する。ここで、区画後の各投影面の面積が略等しくなるように区画される。
ステップＳ４２では、上記ステップＳ４１で区画した投影面の１つの格子領域にある超点数をカウントする。
【００２６】
上記ステップＳ４１、Ｓ４２は、例えば図８（Ａ）に示すように投影面Ｓpを格子状に区画し、各格子領域Ｓgに含まれる移動後の計測点数をカウントする処理である。
ステップＳ４３では、上記ステップＳ４１で区画した全ての格子領域を選択したか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４４へ進み、偽（Ｎｏ）と判定された場合にはステップＳ４２へ戻る。
【００２７】
ステップＳ４４では、各格子領域の中から移動後の計測点数が一定値以上の格子領域（密集領域）を探索する（密集領域探索ステップ）。上述したように、球体の球面を構成する各計測点の移動後の計測点は球体の中心となる１点にほぼ密集するので、格子領域に含まれる移動後の計測点数が一定値以上の格子領域が球体の中心を含む格子領域となる。
【００２８】
ステップＳ４５では、図８（Ｂ）に示すように、上記ステップＳ４４で探索された格子領域に含まれる移動後の計測点群に対応する、投影前の３次元の仮想座標空間における移動後の計測点群から、球体の中心を推定する（球中心推定ステップ）。
当該ステップでは、格子領域に含まれる移動後の計測点の集合をＳｉ、格子領域に含まれる移動後の計測点の数をｍｉ、移動後の計測点の座標値をｘｉとするとき、球体２の中心ｃｉは以下に示す数３式から求められる。
【００２９】
【数３】
0005656018.tif 000004
【００３０】
即ち、球体２の中心ｃｉは、移動後の計測点の座標値ｘｉの平均値となる。
そして、球体の中心が推定されると、球体の中心と半径情報から仮想座標空間における球体が検出され、検出した球体の情報を、外部出力手段１０を介して出力する。
【００３１】
このように、本発明に係る球体の検出方法によれば、３次元計測手段４にて計測点群として取得された球体２の形状データから各計測点の法線ベクトルを算出し、各計測点を法線ベクトルの方向と反対方向に球体２の半径分移動させ、移動後の計測点を投影面に投影して移動後の計測点が一定値以上の格子領域を探索し、探索された格子領域に含まれる移動後の計測点群に対応する、投影前の３次元の仮想座標空間における移動後の計測点群の各座標値を平均して球体の中心を求めて球体を検出する。
【００３２】
これにより、球体の検出で行われる計算量は３次元計測手段４で取得した計測点数に比例するので、計算量をより少なくすることができ、より高速に球体を検出することができる。
また、投影面を格子状に区画することにより、区画した各格子領域に含まれる移動後の計測点数をカウントすることで、移動後の計測点が密集する格子領域を容易に探索することができるので、より高速に球体を検出することができる。
【００３３】
次に、上記実施形態の変形例について以下に説明する。
この変形例では、図７に示す球中心の推定ルーチンにおけるステップＳ４５での球中心推定を最小自乗法により行う。
【００３４】
詳しくは、上述したステップＳ４４で探索された格子領域に含まれる移動後の計測点群に対応する、投影前の３次元の仮想座標空間における移動後の計測点群から任意の１つの移動後の計測点を選択し、当該移動後の計測点に対して最小自乗法を行って仮想座標空間における球体の中心を推定する（高精度化ステップ）。
上述した変形例の場合には、球体の中心を最小自乗法により算出することにより、移動後の計測点群から球体の中心をより精度よく推定することができるので、球体の検出精度をより向上させることができる。
【００３５】
以上で実施形態の説明を終えるが、本発明は上述した実施形態に限定されるものではない。
例えば、上記実施形態では、投影面を格子状に区画して各格子領域に含まれる移動後の計測点数をカウントしたが、投影面の領域の区画する形状は格子状に限られない。
【００３６】
また、上記実施形態では、球体２の半径情報が予めメモリ装置８に格納されているが、球体２の半径がメモリ装置８に格納されていない場合でも、上記球中心推定ルーチンを行ってよい。メモリ装置８に半径情報が格納されていない場合には、想定される最大の球体の大きさから半径を算出し、当該半径を推定精度や要求される球体の検出精度等によって決められる所定幅変化させながら最大の移動後の計測点数を有する格子領域を抽出し、抽出された各最大の格子領域の中から移動後の計測点数が最も多い格子領域を抽出して球体の中心を推定し、球体を検出するようにしてもよい。
【符号の説明】
【００３７】
１  対象体認識装置
２  球体
４  ３次元計測手段
６  演算手段
８  メモリ装置
【図１】
0005656018.tif 000005
【図２】
0005656018.tif 000006
【図３】
0005656018.tif 000007
【図４】
0005656018.tif 000008
【図５】
0005656018.tif 000009
【図６】
0005656018.tif 000010
【図７】
0005656018.tif 000011
【図８】
0005656018.tif 000012