(57)【要約】【課題】対象物体を３次元の点群として計測した場合の形状データに基づいて、高速化を図りつつ精度よく対象物体を検出することの可能な検出方法を提供する。【解決手段】３次元計測手段から３次元の計測点群として球体の形状データを取得する形状データ取得ステップ(S1)と、仮想座標空間において球体が占める対象体領域を各計測点の付加情報に従って区画する領域分割ステップ(S41)と、分割された各対象体領域の中から球体と推定される推定領域を抽出する対象体領域抽出ステップ(S43)と、推定領域毎に推定球体を生成し、対象体と認識される推定対象体を認識対象体とする対象体認識ステップ(S44)とを備える。【選択図】図５
2013047662.tif 000002
【特許請求の範囲】
【請求項１】
計測対象となる対象物体の形状を仮想座標空間において表現する対象物体の検出方法であって、
３次元計測手段から３次元の計測点群として対象物体の形状データを取得する形状データ取得ステップと、
前記形状データから生成された仮想座標空間において前記対象物体が占める対象体領域を、前記計測点群の各計測点の付加情報に従って複数の対象体領域に区画する領域分割ステップと、
前記分割された各対象体領域の中から前記対象物体と推定される推定領域を抽出する対象物体領域抽出ステップと、
前記推定領域毎に推定される単数又は複数の推定対象物体を生成し、該推定対象物体の中から前記対象物体と認識される推定対象物体を認識対象物体として選択する対象物体認識ステップと、
を備えたことを特徴とする対象物体の検出方法。
【請求項２】
前記形状データ取得ステップの後から前記対象物体認識ステップの前までの間に、前記形状データ取得ステップで取得した前記計測点群の各計測点における法線ベクトルと、該各計測点と前記３次元計測手段の位置である視点に向かうベクトルとのなす角度が前記対象物体の側面と判定される閾値より大きい場合に、該当する計測点を除外する側面除外ステップをさらに備えることを特徴とする請求項１に記載の対象物体の検出方法。
【請求項３】
前記側面除外ステップは、前記計測点群における前記対象物体の側面を除外する範囲に計測点が存在する場合に、前記閾値より大きい角度となる計測点を除外するものであり、
前記計測点群の全てに対して前記角度の判定が行われた後、残った計測点から形成される形状が、前記対象物体に相当する形状であることを判定するステップを有することを特徴とする請求項２に記載の対象物体の検出方法。
【請求項４】
前記対象物体領域抽出ステップは、前記領域分割ステップにて区画された前記複数の対象体領域の中で、同一の対象体領域における計測点数または面積が前記対象物体と推定される閾値の範囲内の場合、または前記同一の対象体領域における計測点を全て含む幾何学的形状の大きさが前記対象物体と推定される閾値の範囲内の場合に、該当する対象体領域を対象物体と推定される領域として抽出することを特徴とする請求項１乃至３のいずれかに記載の対象物体の検出方法。
【請求項５】
前記認識対象物体のうち、誤認識した対象物体を不正対象物体として削除する不正対象物体削除ステップを備えることを特徴とする請求項１乃至４のいずれかに記載の対象物体の検出方法。
【請求項６】
前記不正対象物体削除ステップは、前記対象物体の表面積が前記対象体である対象物体の表面積と判定される範囲外である場合に、該当する対象物体を削除する表面積判定ステップを含むことを特徴とする請求項５に記載の対象物体の検出方法。
【請求項７】
前記対象物体は球体であって、
前記不正対象物体削除ステップは、各球体の中心座標間の距離を算出し、該距離が同一の球体と判定される閾値より短い場合に、該当する球体を削除する重複球判定ステップを含むことを特徴とする請求項５に記載の対象物体の検出方法。
【請求項８】
前記対象物体は球体であって、
前記不正対象物体削除ステップは、前記球体の中心から前記球体の半径より短い前記球体の内部の範囲に計測点が存在する場合に、該当する球体を削除する球体内計測点判定ステップを含むことを特徴とする請求項５に記載の対象物体の検出方法。
【請求項９】
計測対象となる対象物体の形状を仮想座標空間において表現する対象物体の検出装置であって、
３次元計測手段から３次元の計測点群として対象物体の形状データを取得する形状データ取得手段と、
前記形状データから生成された仮想座標空間において前記対象物体が占める対象体領域を、前記計測点群の各計測点の付加情報に従って複数の対象体領域に区画する領域分割手段と、
前記分割された各対象体領域の中から前記対象物体と推定される推定領域を抽出する対象物体領域抽出手段と、
前記推定領域毎に推定される単数又は複数の推定対象物体を生成し、該推定対象物体の中から前記対象物体と認識される推定対象物体を認識対象物体として選択する対象物体認識手段と、
を備えたことを特徴とする対象物体の検出装置。
【請求項１０】
前記形状データ取得手段で取得した前記計測点群の各計測点における法線ベクトルと、該各計測点と前記３次元計測手段の位置である視点に向かうベクトルとのなす角度が前記対象物体の側面と判定される閾値より大きい場合に、該当する計測点を除外する側面除外手段をさらに備えることを特徴とする請求項９に記載の対象物体の検出装置。
【請求項１１】
前記側面除外手段は、前記計測点群における前記対象物体の側面を除外する範囲に存在する計測点に対して、前記閾値より大きい角度となる計測点を除外することを特徴とする請求項１０に記載の対象物体の検出装置。
【請求項１２】
コンピュータを、
３次元計測手段から３次元の計測点群として測定対象となる対象物体の形状データを取得する形状データ取得手段、
前記形状データから生成された仮想座標空間において前記対象物体が占める対象体領域を、前記計測点群の各計測点の付加情報に従って複数の対象体領域に区画する領域分割手段、
前記分割された各対象体領域の中から前記対象物体と推定される推定領域を抽出する対象物体領域抽出手段、
前記推定領域毎に推定される単数又は複数の推定対象物体を生成し、該推定対象物体の中から前記対象物体と認識される推定対象物体を認識対象物体として選択する対象物体認識手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体の検出方法、検出装置及びプログラムに係り、詳しくは対象物体を計測または撮像することで得た対象物体の形状データに基づき、仮想空間座標にて対象物体を検出する方法、装置及びプログラムに関する。
【背景技術】
【０００２】
従来、対象体を検出する方法として、対象体の撮像または計測点から対象体までの距離を計測することにより、対象体の形状データを取得する方法がある。当該形状データに基づいて、２次元または３次元の仮想空間座標における対象体が占める対象体領域を生成することにより、対象体の形状を仮想座標空間で表現する。
しかしながら、３次元の仮想座標空間では、計測時や撮像時等におけるノイズ等により、上述のように生成された対象体領域の境界付近に不明瞭な形状部分が生じるという問題がある。
【０００３】
そこで、３次元画像において、物体境界画素に対し球体を逐次当てはめていき、物体と球体との重なる割合により、その着目画素を抽出するかどうかを判定する方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８８８９７５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、対象体を３次元の点群として計測する場合、計測した形状データにおける球体と背景との境界付近を補正する必要がある。
この点、上記特許文献１に開示された従来技術は、コンピュータ断層撮影装置（ＣＴ装置）の３次元画像を構成するボクセルデータに対して画素の抽出処理を行うものであり、対象体を３次元の点群として計測した場合には、当該点群に対して従来技術を適用できないという問題がある。
【０００６】
また、別の補正方法として最小自乗法、領域分割、及びハフ変換を用いる方法等が知られているが、最小自乗法では、３次元の点群を構成する計測点にノイズ等の外れ点が存在する場合、球体の検出精度が低下してしまうため好ましくない。
そして、領域分割では、計測データの誤差やノイズなどの影響により領域分割を誤り、同一の球体を重複して検出したり、検出した球体の位置が偏ったりして、領域分割の精度が低下してしまうという問題がある。
【０００７】
さらに、ハフ変換を使用する場合、特徴点を保存するために多くのメモリを必要とし、また計算量が大きくなるため、球体の算出に多くの時間を要するので好ましくない。
本発明は、上述した課題を解決すべくなされたものであり、その目的とするところは、対象物体を３次元の点群として計測した場合の形状データに基づいて、高速化を図りつつ精度よく対象物体を検出することの可能な検出方法、検出装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するべく、請求項１の対象物体の検出方法は、計測対象となる対象物体の形状を仮想座標空間において表現する対象物体の検出方法であって、３次元計測手段から３次元の計測点群として対象物体の形状データを取得する形状データ取得ステップと、前記形状データから生成された仮想座標空間において前記対象物体が占める対象体領域を、前記計測点群の各計測点の付加情報に従って複数の対象体領域に区画する領域分割ステップと、前記分割された各対象体領域の中から前記対象物体と推定される推定領域を抽出する対象物体領域抽出ステップと、前記推定領域毎に推定される単数又は複数の推定対象物体を生成し、該推定対象物体の中から前記対象物体と認識される推定対象物体を認識対象物体として選択する対象物体認識ステップと、を備えたことを特徴とする。
【０００９】
請求項２の対象物体の検出方法では、請求項１において、前記形状データ取得ステップの後から前記対象物体認識ステップの前までの間に、前記形状データ取得ステップで取得した前記計測点群の各計測点における法線ベクトルと、該各計測点と前記３次元計測手段の位置である視点に向かうベクトルとのなす角度が前記対象物体の側面と判定される閾値より大きい場合に、該当する計測点を除外する側面除外ステップをさらに備えることを特徴とする。
【００１０】
請求項３の対象物体の検出方法では、請求項２において、前記側面除外ステップは、前記計測点群における前記対象物体の側面を除外する範囲に計測点が存在する場合に、前記閾値より大きい角度となる計測点を除外するものであり、前記計測点群の全てに対して前記角度の判定が行われた後、残った計測点から形成される形状が、前記対象物体に相当する形状であることを判定するステップを有することを特徴とする。
【００１１】
請求項４の対象物体の検出方法では、請求項１乃至３のいずれかにおいて、前記対象物体領域抽出ステップは、前記領域分割ステップにて区画された前記複数の対象体領域の中で、同一の対象体領域における計測点数または面積が前記対象物体と推定される閾値の範囲内の場合、または前記同一の対象体領域における計測点を全て含む幾何学的形状の大きさが前記対象物体と推定される閾値の範囲内の場合に、該当する対象体領域を対象物体と推定される領域として抽出することを特徴とする。
【００１２】
請求項５の対象物体の検出方法では、請求項１乃至４のいずれかにおいて、前記認識対象物体のうち、誤認識した対象物体を不正対象物体として削除する不正対象物体削除ステップを備えることを特徴とする。
【００１３】
請求項６の対象物体の検出方法では、請求項５において、前記対象物体の表面積が前記対象体である対象物体の表面積と判定される範囲外である場合に、該当する対象物体を削除する表面積判定ステップを含むことを特徴とする。
【００１４】
請求項７の対象物体の検出方法では、請求項５において、前記対象物体は球体であって、前記不正対象物体削除ステップは、各球体の中心座標間の距離を算出し、該距離が同一の球体と判定される閾値より短い場合に、該当する球体を削除する重複球判定ステップを含むことを特徴とする。
【００１５】
請求項８の対象物体の検出方法では、請求項５において、前記対象物体は球体であって、前記不正対象物体削除ステップは、前記球体の中心から前記球体の半径より短い前記球体の内部の範囲に計測点が存在する場合に、該当する球体を削除する球体内計測点判定ステップを含むことを特徴とする。
ここで、３次元計測手段のセンサのノイズは、滑らかな球体の表面では一般に正規分布となり安定したものとなるため、球体の内側に計測点が存在することはない。しかし、球体が遠方方向にある場合、または検出する球体が小さい場合には、上記対象体認識ステップで球体の位置を誤ることがある。請求項８の球体の検出方法は、この原理に基づいて行われる。
【００１６】
請求項９の対象物体の検出装置は、計測対象となる対象物体の形状を仮想座標空間において表現する対象物体の検出装置であって、３次元計測手段から３次元の計測点群として対象物体の形状データを取得する形状データ取得手段と、前記形状データから生成された仮想座標空間において前記対象物体が占める対象体領域を、前記計測点群の各計測点の付加情報に従って複数の対象体領域に区画する領域分割手段と、前記分割された各対象体領域の中から前記対象物体と推定される推定領域を抽出する対象物体領域抽出手段と、前記推定領域毎に推定される単数又は複数の推定対象物体を生成し、該推定対象物体の中から前記対象物体と認識される推定対象物体を認識対象物体として選択する対象物体認識手段と、を備えたことを特徴とする。
【００１７】
請求項１０の対象物体の検出装置では、請求項９において、前記形状データ取得手段で取得した前記計測点群の各計測点における法線ベクトルと、該各計測点と前記３次元計測手段の位置である視点に向かうベクトルとのなす角度が前記対象物体の側面と判定される閾値より大きい場合に、該当する計測点を除外する側面除外手段をさらに備えることを特徴とする。
【００１８】
請求項１１の対象物体の検出装置では、請求項１０において、前記側面除外手段は、前記計測点群における前記対象物体の側面を除外する範囲に存在する計測点に対して、前記閾値より大きい角度となる計測点を除外することを特徴とする。
【００１９】
請求項１２のプログラムは、コンピュータを、３次元計測手段から３次元の計測点群として測定対象となる対象物体の形状データを取得する形状データ取得手段、前記形状データから生成された仮想座標空間において前記対象物体が占める対象体領域を、前記計測点群の各計測点の付加情報に従って複数の対象体領域に区画する領域分割手段、前記分割された各対象体領域の中から前記対象物体と推定される推定領域を抽出する対象物体領域抽出手段、前記推定領域毎に推定される単数又は複数の推定対象物体を生成し、該推定対象物体の中から前記対象物体と認識される推定対象物体を認識対象物体として選択する対象物体認識手段、として機能させる。
【発明の効果】
【００２０】
本発明の対象物体の検出方法によれば、３次元計測手段から取得された形状データを複数の対象体領域に区画し、その中から対象物体と推定される推定領域を抽出し、推定領域毎に推定された推定対象物体の中から対象物体として認識される対象物体を選択する。
本発明の対象物体の検出装置によれば、上述した対象物体の検出方法と同様の作用効果が得られる。
【００２１】
これにより、仮想座標空間における計測点群の中で検出する対象物体に相当する位置を推定することができ、対象物体と推定される推定領域に対して対象物体の認識を行い検出することにより、計算量をより少なくすることができ、各計測点のうちノイズ等による外れ点を除外することができるので、より高速且つ高精度に対象物体を認識することができる。
【００２２】
本発明の対象物体の検出装置によれば、上述した対象物体の検出方法と同様の作用効果が得られる。
【００２３】
本発明のプログラムによれば、このプログラムを実行可能なコンピュータを備えた対象物体の検出装置において、上述した対象物体の検出方法と同様の作用効果が得られる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に供試される対象体認識装置の概略構成図である。
【図２】本発明に係る対象体検出方法のフローチャートである。
【図３】形状データ取得ステップを示すフローチャートである。
【図４】三角形メッシュ作成後に得られる形状の一例を示す図である。
【図５】対象体検出方法における対象体推定ルーチンを示すフローチャートである。
【図６】（Ａ）は３次元計測手段で球体を計測して検出処理を行う際に出現する側面の例を示す図、（Ｂ）は各計測点の法線ベクトルと各計測点から視点方向へのベクトルとのなす角度を示す図である。
【図７】図５に示す対象体推定ルーチンにおいて行われる側面除外ステップを示すフローチャートである。
【図８−１】図５に示す対象体推定ルーチンにおいて行われる領域分割ステップを示すフローチャートである。
【図８−２】図５に示す対象体推定ルーチンにおいて行われる領域分割ステップを示すフローチャートである。
【図９】対象体に対して生成された複数の対象体領域を示す図である。
【図１０】図５に示す対象体推定ルーチンにおいて行われる対象体領域抽出ステップを示すフローチャートである。
【図１１】（Ａ）は球推定アルゴリズムにおいて選択される計測点を示し、（Ｂ）は（Ａ）で選択された点から生成された仮球を示し、（Ｃ）は（Ｂ）で生成された仮球の球面の所定範囲に含まれる計測点を示し、（Ｄ）は（Ｃ）の計測点数から決定された仮球を示す。
【図１２】図５に示す対象体推定ルーチンにおいて行われる対象体認識ステップを示すフローチャートである。
【図１３】図１２に示す対象体認識ステップにおいて行われる仮球評価ステップを示すフローチャートである。
【図１４】図５に示す対象体推定ルーチンにおいて行われる不正対象体削除ステップを示すフローチャートである。
【図１５】図１４に示す不正対象体削除ステップにおいて行われる球体内計測点判定ステップを示すフローチャートである。
【図１６】図１４に示す不正対象体削除ステップにおいて行われる表面積判定ステップを示すフローチャートである。
【図１７】頂点面積の概略図である。
【図１８】図１４に示す球不正対象体削除ステップにおいて行われる重複球判定ステップを示すフローチャートである。
【図１９】（Ａ）は本発明の実施形態の変形例に使用する対象物体を３次元計測手段から見た概略図、（Ｂ）は（Ａ）のXIX-XIX線に沿う断面図である。
【図２０】対象体の形状データ取得ステップの変形例を示すフローチャートである。
【図２１】設定された側面除外適用範囲の一例を示す概略図である。
【図２２】対象体推定ルーチンで行われる側面除外ステップの変形例を示すフローチャートである。
【図２３】（Ａ）は３次元計測手段で取得した対象物体の計測点群から対象物体の検出を行う際に出現する側面を示す、図１９（Ａ）のXIX-XIX線に沿う断面図、（Ｂ）は各計測点の法線ベクトルと各計測点から視点方向へのベクトルとのなす角度を示す図である。
【図２４】対象物体の凹部に相当する範囲に対して側面除外ステップを行わなかった場合に検出される対象物体を模式的に表す図である。
【発明を実施するための形態】
【００２５】
＜第１実施形態＞
以下、本発明の第１実施形態について図面を参照しながら説明する。
図１は、本発明の第１実施形態に供試される対象体認識装置１の概略構成図である。
図１に示すように、対象体認識装置１は対象体である球体２の形状を仮想座標空間において表現する装置であり、支持体３に支えられた球体２の形状データを取得する３次元計測手段４と、３次元計測手段４にて取得された形状データから仮想座標空間における球体２を演算する演算手段６と、演算手段６にて演算された結果等を記憶するメモリ装置８と、演算された結果等を出力する外部出力手段１０とを備える。
ここで、３次元計測手段４は、球体２上の測定点までの距離を計測することにより、または、球体２をステレオカメラなどの装置を利用して撮像することにより、球体２の形状データを取得する。
【００２６】
演算手段６とメモリ装置８とは、図示しないがコンピュータに備えられている。演算手段６は当該コンピュータの中央演算処理装置（以下、ＣＰＵと略す）により構成され、メモリ装置８はＲＡＭ、ＲＯＭ等を含んで構成されており、メモリ装置８には各プログラムが格納されている。
外部出力手段１０は、シリアル通信、ＬＡＮのネットワーク通信、画面出力、外部メモリ書き込み、またはファイル出力等により算出した結果を出力する。なお、この他にキーボード等の入力手段が演算手段６に接続されていてもよい。
【００２７】
以下、このように構成された本発明に係る対象体認識装置１の球体検出方法について説明する。
図２は、対象体検出方法を示すフローチャートであり、図３は対象体の形状データを取得する形状データ取得ステップのフローチャートである。なお、後述するステップＳ１２以降の各処理は、メモリ装置８に格納されている各プログラムを演算手段６にて実行することにより行われる。なお、球体２の半径は予めメモリ装置８に格納されているものとする。
【００２８】
ステップＳ１では、球体２の形状データを取得する。詳しくは、図３に示す形状データ取得ステップのフローチャートに基づいて説明する。
ステップＳ１１では、３次元計測手段４から球体２の形状データを計測点群として取得する。３次元計測手段４は、例えばレーザ距離計やステレオカメラ等を使用するものである。
【００２９】
３次元計測手段４がレーザ距離計である場合、レーザ光の射出とその反射レーザの受光とにより３次元計測手段４の位置から球体２上の各計測点までの距離をレーザ計測し、計測した各距離データを３次元の計測点群として形状データを取得する。
また、３次元計測手段４がステレオカメラである場合、球体２を撮像することで、画像データに含まれる球体２の部分を３次元の計測点群として取得する。
また、３次元計測手段として、レーザ距離計やステレオカメラなどの計測データを記録した保存媒体を代わりに用いることもできる。
【００３０】
ステップＳ１２では、仮想座標空間において上述した各計測点をそれぞれ結んでいき、図９に示すように三角形メッシュを規定していき、対象体領域を生成する。このようにすることで、ステップＳ１１で得られた形状データはポリゴンのように表面を持つ形状データとなり、各計測点から面の向きを決めることができる。図４に三角形メッシュ作成後の形状データの一例を示す。図４の矢印の向きは、３次元計測手段４の撮像方向を表している。
【００３１】
ステップＳ１３では、各計測点に相当する三角形の各頂点における法線ベクトルや頂点面積を求め、付加情報として追加する。他にもレーザの反射強度、またステレオカメラなどの計測手段を利用する場合には色の情報等を計算するというような付加的な情報を追加する。なお、法線ベクトルや反射強度、色の情報、頂点面積は付加情報の一例であり、他の情報を追加してもよい。
図２に戻り、続くステップＳ２では、上記ステップＳ１３で求めた法線ベクトル及び頂点面積などの付加情報を用いて仮想座標空間における球中心の推定を行う。
【００３２】
詳しくは、図５に対象体推定ルーチンのフローチャートが示されており、同フローチャートに従い、図６〜図１８を参照しながら説明する。
ステップＳ４０では、３次元計測手段４にて検出された球体の側面に相当する計測点を除外する。
【００３３】
本来球体２に側面は存在しないが、使用する３次元計測手段４の種類によっては、図６（Ａ）に示すように３次元計測手段４から見た球体２の境界付近の各計測点を認識処理する過程で側面２ａが現れてしまうような計測点を取得する傾向のあるものが存在する。そこでステップＳ４０では、図６（Ｂ）に示すように、各計測点Ｐ１、Ｐ２の法線ベクトルと、各計測点Ｐ１、Ｐ２から３次元計測手段４の視点Ｐvへのベクトルとのなす角度αから球体の側面に相当すると考えられる計測点を除外する。
【００３４】
詳しくは、ステップＳ４０では、側面除外ステップが実行される。詳しくは、図７に示す側面除外ステップは１つの計測点に対して実行される処理を示している。なお、本側面除外ステップは、全ての計測点に対して実行される。
ステップＳ４０１では、計測点の法線ベクトルと、計測点から３次元計測手段４の位置である視点方向に向かうベクトルとのなす角度αを求める。
【００３５】
続くステップＳ４０２では、上記ステップＳ４０１で求めた角度αが側面と判定される閾値以下であるか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４０３へ進み、偽（Ｎｏ）と判定された場合にはステップＳ４０４へ進む。
ステップＳ４０３では、計測点が球体の側面に位置しないとして、計測点を残す。
ステップＳ４０４では、計測点が球体の側面に位置するとして、計測点を除外する。
【００３６】
そして、ステップＳ４０３またはＳ４０４の後にステップＳ４０１へ戻り、次の計測点に対して上記各ステップを繰り返す。
上記ステップＳ４０３、Ｓ４０４では、例えば図６（Ｂ）に示す計測点Ｐ１を球体の計測点として残し、計測点Ｐ２は球体の側面に相当するとして除外する処理を行う。
【００３７】
図５に戻り、続くステップＳ４１では領域分割ステップを実行する。ここでは、上記ステップＳ１２で生成された対象体領域について、球体であると推定される対象体領域を分割していく。
詳しくは、図８−１、図８−２に示す領域分割ステップのフローチャートに従って、ステップＳ４１で領域分割ステップが実行される。ここで、図８−１、図８−２に示す領域分割ステップは、全ての計測点に対して実行される。
【００３８】
ステップＳ４１１では、全ての計測点に対して、各計測点に隣接する計測点のリストを作成する。
ステップＳ４１２では、全ての計測点の領域番号を初期化する。ここでは、初期値として領域番号に−１を設定する。
続くステップＳ４１３では、新領域番号newFieldに０を設定する。
【００３９】
ステップＳ４１４では、変数ｉが全計測点数より小さい間、ステップＳ４１５以降の処理を行う。
ステップＳ４１５では、ｉ番目の計測点ｉの領域番号が−１、即ち領域番号が割り当てられていないことを判定する。当該判定結果が真（Ｙｅｓ）の場合には計測点ｉに領域番号がまだ割り当てられていないとしてステップＳ４１６へ進む。一方、当該判定結果が偽（Ｎｏ）の場合には、計測点ｉに領域番号が既に割り当てられているとして、変数ｉをインクリメントしてステップＳ４１４へ戻り、次の計測点に対して処理を行う。
【００４０】
ステップＳ４１６では、スタックＳｉに計測点ｉを追加する。
続くステップＳ４１７では、スタックＳｉから計測点を取り出す。本ステップで取り出した計測点を計測点ｊとする。
ステップＳ４１８では、計測点ｊの領域番号が−１、即ち領域番号が割り当てられているか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合には、まだ領域番号が割り当てられていないとしてステップＳ４１９へ進む。一方、当該判定結果が偽（Ｎｏ）の場合には、計測点ｊに領域番号が既に割り当てられているとして、ステップＳ４２０へ進む。
【００４１】
ステップＳ４１９では、計測点ｊの領域番号に、新領域番号newFieldを割り当てる。
ステップＳ４２０では、変数ｋが計測点ｊの計測点リストに含まれる全計測点数より小さい間、ステップＳ４２１、Ｓ４２２の処理を行う。
【００４２】
ステップＳ４２１では、計測点ｊ及び計測点ｊに隣接する計測点リストの中の計測点ｋが、同一領域内にあるための条件を満たしているか否かの判定を行う。同一領域内にあるための条件とは、例えば計測点ｊと計測点ｋとがそれぞれ有する法線ベクトルのなす角度が閾値以内であるか、計測点ｊ、ｋ間の距離が閾値以内であるか等の計測点に追加された付加情報を用いた条件に基づいて判定する。なお、法線ベクトルの角度や計測点間の距離の付加情報を判定条件としたが、色の情報を用いた判定条件やレーザの反射強度による判定条件等としてもよい。
当該判定結果が真（Ｙｅｓ）の場合には、計測点ｋは計測点ｊと同じ領域内にあるとしてステップＳ４２２へ進む。
【００４３】
ステップＳ４２２では、計測点ｋを計測点ｊと同じ領域内にあるとして、計測点ｋに新領域番号newFieldを設定し、計測点ｊと同じ領域にある計測点を格納するスタックＳｊに計測点ｋを追加する。
一方、上記ステップＳ４２１の判定結果が偽（Ｎｏ）と判定された場合には同じ領域内にはいないとして、変数ｋをインクリメントしてステップＳ４２０へ戻り、次の計測点ｋに対して上述した処理を行う。
【００４４】
ステップＳ４２３では、スタックＳｉ内に計測点が残っていないか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはスタックＳｉ内の計測点の処理は終了したとしてステップＳ４２４へ進み、偽（Ｎｏ）と判定された場合には、まだスタックＳｉ内に計測点が残っているとしてステップＳ４１７へ戻る。
ステップＳ４２４では、新領域番号newFieldをインクリメントする。
ステップＳ４１を実行した結果を図９に示すように、各計測点に領域番号が付加されて対象体領域が分割される。
【００４５】
図５に戻り、ステップＳ４３では対象体領域抽出ステップ（対象物体領域抽出ステップ）を実行する。ここでは、上記ステップＳ４１で対象体領域が分割されて形成した複数の対象体領域のうち、球体でない対象体領域を推定不可領域として除外する。
詳しくは、図１０に示す対象体領域抽出ステップのフローチャートに基づいて説明する。
【００４６】
図１０に示す対象体領域抽出ステップは１つの対象体領域に対して実行する処理を示しており、全ての対象体領域に対して対象体領域抽出ステップが実行される。ここでは、仮想座標空間における球体２に相当する領域を抽出するものである。
ステップＳ４３１では、領域番号ｎに含まれる計測点数をカウントする。
ステップＳ４３２では、上記ステップＳ４３１でカウントした計測点数が閾値の範囲内、つまり、領域番号ｎに含まれる計測点数が球体と推定される点数分存在しているか否かを判定する。３次元計測手段４と球体２との距離に応じて球体２に相当する計測点の数は変化し、例えば３次元計測手段４と球体２に相当する領域との距離が遠くなるにつれて、球体に相当する計測点が少なくなる。従って閾値については、３次元計測手段４からの距離に応じた係数を乗算、または加減算し、球体に相当する領域からの距離が遠くなるほど球体と推定される計測点数が小さくなるようにする。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４３３へ進み、偽（Ｎｏ）である場合には次の領域番号に対して球体領域抽出ステップを実行する。
【００４７】
ステップＳ４３３では、領域番号ｎに含まれる全ての計測点を含む直方体を生成する。
ステップＳ４３４では、上記ステップＳ４３３で生成した直方体を構成する各辺の長さが、球体２の半径に所定値を加減算または乗算した閾値の範囲内、つまりその領域の大きさが球体と推定される大きさに相当するか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４３５へ進み、偽（Ｎｏ）である場合には次の領域番号に対して本球体領域抽出ステップを実行する。なお、上記ステップＳ４３２、Ｓ４３４では判定条件を閾値の範囲内としているが、閾値を変えることで判定条件を閾値以上または閾値以下とするようにしてもよい。また、ステップＳ４３３では直方体を生成しているが、形状はこれに限られず、例えば領域番号ｎに含まれる全ての計測点を含む三角錐や円柱などの幾何学的な形状を生成するようにしてもよい。この場合、上記ステップＳ４３４では、各形状の辺の長さや半径が球体２の半径に所定値を加算または乗算した閾値以下であるか否かを判定する。
【００４８】
ステップＳ４３５では、領域番号ｎが球体と推定される対象体領域（推定領域）であるとして、領域番号リストに領域番号ｎを登録する。
そして、ステップＳ４３１へ戻り、次の領域番号に対して上記各ステップを繰り返す。
なお、上記ステップＳ４３２では、領域番号ｎにおける計測点数で球体と推定される領域であるか否かを判定したが、計測点数の代わりに領域番号ｎの面積を使用してもよい。ここで、閾値となる面積は球体２の半径から算出される面積である。
【００４９】
図５に戻り、ステップＳ４４では、対象体認識ステップ（対象物体認識ステップ）を実行する。ここでは、球推定アルゴリズムを使用して、仮想座標空間における仮の球（推定球体、以下、仮球とする）を生成する。
当該球推定アルゴリズムとは、任意に複数のサンプルを抽出して仮球を生成し、複数の仮球を生成した中から最もスコアの高いものを出力する方法で球体を推定していくものである。
【００５０】
詳しくは、図１１（Ａ）に示すように、仮想座標空間にある計測点のうち任意の３点以上の点を選択する。ここでは例として３点Ｐ１〜Ｐ３を選択し、図１１（Ｂ）のようにＰ１〜Ｐ３を通る仮球の位置を求める。そして、図１１（Ｃ）に示すように、位置を求めた仮球の球面の所定範囲に含まれる計測点をスコアとして計上する。上述した処理を所定回数繰り返し、生成された仮球の中から図１１（Ｄ）のように、最もスコアの高い仮球を出力する。
【００５１】
上記所定回数は、十分に球体を検出できるように使用者によって指定された回数か、或いはＮ回仮球を生成したときに少なくとも１回は選択した全ての計測点が推定すべき球体の球面と判定される所定範囲内に含まれる確率を計算し、一定の確率以上になるように計測点の数から統計的に求められる試行回数Ｎである。
【００５２】
対象体認識ステップのフローチャートを図１２に示す。なお、図１１では任意の３点を選択して仮球を生成することについて述べたが、本フローチャートでは、後述するように任意の４点を選択して仮球を生成する方法について示している。また、全ての計測点が球体表面にある仮球は生成できない場合があるので、球体表面から各計測点との距離の総和が最小となるように仮球の位置を求める。また、本フローチャートは、上記ステップＳ４３５で登録された領域番号リストにある全ての領域に対して行われる。
【００５３】
ステップＳ４４１では、領域分割ステップで分割した領域の中の計測点から任意の４点を選択する。なお、本ステップでは４点を選択しているが、３点以上であればよい。
ステップＳ４４２では、ステップＳ４４１で選択した４点に最も近い仮球を生成し、生成した仮球の中心座標を算出する。ここで、生成される仮球は選択した４点の座標と球体の半径とから求められる。
【００５４】
ステップＳ４４３では、仮球評価ステップを実行する。
図１３に示す仮球評価ステップのフローチャートは、仮球が生成された領域番号ｉに存在し、且つ仮球の中心座標から仮球の半径に所定値を加算した範囲、つまり、仮球の中心から仮球の球面とされる範囲内にある全ての計測点に対して実行される。
ステップＳ４４４では、上記ステップＳ４４２で算出した仮球の中心座標と計測点との距離から仮球の半径を減算して、仮球の球面から計測点までの距離を算出する。
【００５５】
ステップＳ４４５では、上記ステップＳ４４４で算出された仮球の球面からの距離が、仮球の球面にあると判定される所定の範囲内にあるか否かが判定される。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４４６に進み、偽（Ｎｏ）の場合には次の計測点に対して本仮球評価ステップを実行する。
ステップＳ４４６では、当該計測点が仮球に含まれるとして仮球のスコアを１増やす。
【００５６】
そして、ステップＳ４４４へ戻り、次の計測点に対して上記各ステップを実行する。
本仮球評価ステップが領域番号ｉに存在する全ての計測点に対して実行されると、ステップＳ４４７へ進む。
ステップＳ４４７では、生成可能な仮球が全て生成されたか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４４８へ進み、偽（Ｎｏ）の場合にはステップＳ４４１へ戻る。
【００５７】
図１２に戻り、ステップＳ４４８では、上記ステップＳ４４２で生成された仮球の中で最もスコアの高い仮球を選択する。
続くステップＳ４４９では、上記ステップＳ４４８で選択された仮球に対し、仮球の中心座標から仮球の半径に所定値を加算した範囲に存在する計測点を探索する。ここで探索される計測点は、仮球の球面と判定される範囲内に存在する計測点である。そして、探索された計測点を仮球を構成する計測点として登録する。
ステップＳ４５０では、上記ステップＳ４４８で選択された仮球を球体として認識し、中心座標を出力する。
【００５８】
図５に戻り、ステップＳ４６では、不正対象体削除ステップ（不正対象物体削除ステップ）を実行する。当該不正対象体削除ステップのフローチャートを図１４に示す。図１４に示すように、不正対象体削除ステップでは、上記ステップＳ４４の対象体認識ステップで認識された球体のうち、誤って認識された球体を削除するものである。当該不正対象体削除ステップは、ステップＳ４７として球体内計測点判定ステップ、ステップＳ４８として表面積判定ステップ、ステップＳ４９として重複球判定ステップを行うものである。なお、実行する順番はこれに限られない。
【００５９】
図１５に、球体内計測点判定ステップのフローチャートを示しており、当該フローチャートに基づいて以下に説明する。
ステップＳ４７１では、上記ステップＳ４５０で球体と認識された認識球体の中心から、認識球体の半径から所定値を減算した範囲にある計測点を探索する。
【００６０】
ステップＳ４７２では、探索した計測点数が閾値未満であるか否かを判定する。ここで、認識球体の形状及び位置が球体２と略等しく認識されている場合、認識球体の内部の所定範囲に計測点は存在しないので理想的には計測点数は０となるが、ノイズなどの影響で０よりも大きくなることもあるため、閾値に基づいて判定する。当該判定結果が真（Ｙｅｓ）の場合には探索された計測点数が閾値未満であるとして本球体内計測点判定ステップを終了し、偽（Ｎｏ）の場合には探索された計測点数が閾値以上であるとしてステップＳ４７３へ進む。
ステップＳ４７３では、認識球体が誤った認識球体、即ち不正球体であるとして、認識結果から該当する球体を削除する。
【００６１】
次に、図１４に示す表面積判定ステップを実行する。図１６に、表面積判定ステップのフローチャートを示しており、当該フローチャートに基づいて以下に説明する。
ステップＳ４８１では、推定した球体を構成する計測点の頂点面積を積算する。
【００６２】
ここで、図１７に頂点面積の概略図を示す。頂点面積とは、上述したステップＳ１２では各計測点を頂点として三角形メッシュを生成したが、当該三角形メッシュの面積を各頂点に割り振った面積である。例えば図１７に示すように、計測点Ｐ１の頂点面積はＡ１で示される面積であり、計測点Ｐ２の頂点面積は面積Ａ２、計測点Ｐ３の頂点面積は面積Ａ３、計測点Ｐ４の頂点面積は面積Ａ４、計測点Ｐ５の頂点面積は面積Ａ５、計測点Ｐ６の頂点面積は面積Ａ６である。
理想的に球体を認識した場合、つまり３次元計測手段４で計測した球体２の形状及び位置を略等しく認識した場合は半球として検出されるので、積算された頂点面積は球体２の表面積の略半分となる。
【００６３】
ステップＳ４８２では、上記ステップＳ４８１で積算した頂点面積が３次元計測手段４で計測された球体２と判定できる所定範囲内にあるか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合には本表面積判定ステップを終了してステップＳ４９へ進む。
【００６４】
一方、上記ステップＳ４８２で偽（Ｎｏ）と判定された場合には、推定した球体が半球ではないとしてステップＳ４８３へ進む。
ステップＳ４８３では、球体の認識に失敗した不正球体であるとして、該当する球体の認識結果を削除する。
上述したステップＳ４６１〜Ｓ４８３までの処理は、上記ステップＳ４４で球体と認識された全ての認識球体に対して実行する。その後、ステップＳ４９へ進む。
【００６５】
続くステップＳ４９では、重複球判定ステップを実行する。重複球判定ステップの前までに実行した処理により認識された認識球体は、略等しい位置に複数の認識球体が検出されている場合がある。そこで、重複球判定ステップで重複している認識球体を不正球体として除外する処理を実行する。
【００６６】
図１８に重複球判定ステップのフローチャートを示す。ここでは、認識球体が格納されている認識球体リストＡ及び誤差リストＡと、認識球体リストＢ及び誤差リストＢとを使用する。認識球体リストＡは重複する球を含み、認識球体リストＢは重複した球体を認識球体リストＡから除去したものである。誤差リストＡは認識球体リストＡに存在する各球体の誤差リストであり、誤差リストＢは認識球体リストＢに存在する各球体の誤差リストである。初期状態、つまり本重複球判定ステップを実行する前の状態では、認識球体リストＢに設定されている球体の数は０であり、誤差リストＢには何も設定されていない状態である。図１８は認識球体リストＡに存在する１つの球体ｉに対して行う処理を示しており、本ステップは認識球体リストＡに存在する全ての球体に対して実行される。
【００６７】
ステップＳ４９１では、認識球体の誤差を評価する（誤差評価ステップ）。全ての認識球体に対して誤差を求め、当該誤差が球体と判定される誤差よりも小さい認識球体を認識球体リストＡに追加し、当該認識球体の誤差を誤差リストＡに設定する。ここでは誤差の一例として、球体を構成する各計測点と球体表面との間の距離の総和とする。
ステップＳ４９２では、認識球体リストＡの球体が認識球体リストＢに存在するか否かを判定するためのマッチングフラグを初期化する。ここで、認識球体リストＡで選択した球体を球体ｉとする。
後述するステップＳ４９３〜Ｓ４９８は、認識球体リストＢに存在する各球体に対して実行する。
【００６８】
ステップＳ４９３では、認識球体リストＢに存在する全ての球体が選択されたか否かを判定する。当該判定結果が偽（Ｎｏ）と判定された場合にはステップＳ４９４へ進む。
続くステップＳ４９４では、認識球体リストＡの球体の中心座標と認識球体リストＢの球体の中心座標との距離を算出する。ここで、認識球体リストＢで選択した球体を球体ｊとする。
ステップＳ４９５では、上記ステップＳ４９４で算出された距離が、同一の球体と判定できる閾値より短いか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４９６へ進む。
【００６９】
ステップＳ４９６では、認識球体リストＡの球体ｉと認識球体リストＢの球体ｊとが同一であるとして、マッチングフラグに１を設定する。
ステップＳ４９７では、誤差リストＡの球体ｉの誤差が誤差リストＢの球体ｊの誤差よりも小さいか否かを判定する。つまり、認識球体リストＡの球体ｉが認識球体リストＢの球体ｊよりも精度がよいか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ４９８へ進む。
【００７０】
ステップＳ４９８では、認識球体リストＡの球体ｉを認識球体リストＢの球体ｊに上書きする。また、誤差リストＡの球体ｉの誤差を誤差リストＢの球体ｊの誤差に上書きする。その後、ステップＳ４９３へ戻り、認識球体リストＢにある球体ｊ＋１に対して処理を行う。
一方、ステップＳ４９５及びＳ４９７で偽（Ｎｏ）と判定された場合には、認識球体リストＢに存在する次の球体ｊ＋１に対して処理を実行するためにステップＳ４９３へ戻る。
【００７１】
そして、上記ステップＳ４９３で真（Ｙｅｓ）と判定された場合にはステップＳ４９９へ進む。
ステップＳ４９９では、マッチングフラグが０であるか否かを判定する。即ち、上記ステップＳ４９３〜Ｓ４９８の中で認識球体リストＢの中に認識球体リストＡの球体ｉと重複する球体が見つからなかったか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ５００へ進む。
【００７２】
ステップＳ５００では、認識球体リストＢの末尾に認識球体リストＡの球体ｉを追加する。また、誤差リストＢの末尾に誤差リストＡの球体ｉの誤差を追加する。
一方、上記ステップＳ４９９で偽（Ｎｏ）と判定された場合は、認識球体リストＡに存在する次の球体ｉ＋１に対して本重複球判定ステップを実行する。
【００７３】
上記ステップＳ４９１〜Ｓ５００を認識球体リストＡにある全ての球体に対して行うことにより、認識球体リストＢには、認識球体リストＡにある球体の中で略同一の位置に重複して存在する球体がある場合には当該重複する球体の中から最も誤差の小さい球体が設定され、また重複する球体がない、つまり１つの球体として認識された認識球体である場合には１つの球体として設定される。
認識球リストＡに存在する全ての球体に対して本重複球判定ステップが実行されると、上記対象体推定ルーチンを終了し、検出した球体の情報を外部出力手段１０に出力する。
【００７４】
このように、本実施形態によれば、３次元計測手段４にて計測された球体２の形状データを３次元の計測点群として取得し、仮想座標空間で計測点群から生成された対象体領域に対して領域分割を行い、球体でない領域を除外し、球推定アルゴリズムにより求められた認識球体を球体として検出する。
これにより、仮想座標空間における対象体領域から球体に相当する位置を推定することができるとともに、球体と推定された推定領域に限定して球推定アルゴリズムを実行するので、計算量をより少なくすることができ、より高速に球体を検出することができる。
【００７５】
また、計測点に含まれるノイズ等の外れ点を除外することができるので、より高精度に球体を検出することができる。
そして、球体の側面として検出されてしまう計測点を除外することにより、全ての計測点中に含まれるノイズ等の外れ点を除外することができるので、検出する球体の中心座標が視点から見て略正確な中心位置よりも奥方向に推定されることを防止することができ、高精度に球体を検出することができる。
【００７６】
また、対象体領域が分割された複数の各対象体領域に対して、対象体領域に含まれる計測点数または対象体領域の面積と、対象体領域に含まれる全ての計測点を含む直方体の各辺の長さ等の計測点を外包する幾何学的な形状の大きさとが球体を推定するために必要な条件を満たしていない場合は当該対象体領域を除外することにより、球体の推定に使用する対象体領域を減少させることができるので、球体の誤検出を防ぐことができ、高精度に球体を検出することができる。また、計算量がより少なくなるので、球体の検出をより高速に行うことができる。
【００７７】
また、不正な球体を除外するために、認識球体内の所定範囲にある計測点数の探索、認識球体を構成する計測点の頂点面積を積算した面積からそれぞれ不正な球体を除外することにより、球体の誤検出を防止することができ、高精度に球体を検出することができる。
また、認識球体の中から、略同一形状で略同一位置に重複して存在する認識球体を除外することにより、球体の誤検出を防止することができるので、より高精度に球体を検出することができる。
【００７８】
＜側面除外の変形例＞
次に、上述した側面除外の変形例について、図面を参照しながら以下に説明する。本変形例は、上記実施形態に対して、対象体を球体に限らず、例えば三角錐や立方体等、様々な形状の物体を使用する点が異なり、その他の構成は共通している。従って、共通箇所の説明は省略し、相違点について以下に説明する。
【００７９】
本実施形態では、図１９（Ａ）に対象体の上面図を示すように、略直方体に凹部が形成されている物体を対象物体１０２として用いるものとする。図１９（Ｂ）に図１９（Ａ）のXIX-XIX線に沿う断面図を示すように、対象物体１０２は３次元計測手段４に対して凹部１０３を向けて配置される。また、図１９（Ｂ）に示すように、対象物体１０２の凹部１０３は、３次元計測手段４の方向に向けて配置される。
【００８０】
このように構成された本実施形態に係る対象体認識装置１０１の対象物体検出方法における側面除外について、以下に説明する。
図２０は、対象体の形状データ取得ステップの変形例を示すフローチャートである。なお、後述するステップＳ１２０以降の各処理は、メモリ装置８に格納されている各プログラムを演算手段６で実行することにより行われる。
【００８１】
ステップＳ１１０では、３次元計測手段４を用いて、対象物体１０２の形状データを３次元の計測点群として取得する。
【００８２】
ステップＳ１２０では、後述する側面除外ルーチンで使用する、側面除外の処理を行う対象範囲を設定する。後述する側面除外ルーチンでは、上記ステップＳ１１０で取得した３次元の計測点群の中で、側面のないところに側面として現れてしまう計測点を除外する処理を行うが、本ステップでは、対象物体１０２の形状に応じて、この側面を除外する処理を適用する範囲を設定する。本変形例における対象物体１０２では、図２１に示すように、例えば凹部１０３を含む範囲Ｓを除く範囲Ｔを側面除外の処理を行う対象として設定する。
【００８３】
ステップＳ１３０では、仮想座標空間において、上述した各計測点をそれぞれ結んでいき、図９に示すような三角形メッシュを規定していき、対象体領域を生成する。
ステップＳ１４０では、各計測点に相当する三角形の各頂点における法線ベクトルや頂点面積を求め、付加情報として追加する。他にもレーザの反射強度や、ステレオカメラ等の計測手段を利用する場合には、色の情報等の付加的な情報を付加情報として追加するようにしてもよい。
【００８４】
図２２に、図５に示したステップＳ４０の側面除外ステップの変形例を示すフローチャートを示している。図２２のフローチャートは、１つの計測点に対して実行される処理を示している。なお、この側面除外ステップは、全ての計測点に対して実行される。
【００８５】
この変形例で計測対象としている対象物体１０２は台形柱であり、３次元計測手段４から離間する方向に対象物体１０２の側面が互いに近付く形状なので、３次元計測手段４から側面は見えない。しかし、上記実施形態でも述べたが、図２３（Ａ）に示すように、３次元計測手段４の種類によって３次元計測手段４から見た対象物体１０２の境界付近の計測点を認識処理する過程で、側面１０２ａが現れてしまうような計測点を取得してしまう傾向のあるものが存在する。そこで、図２２に示すフローチャートでは、図２３（Ｂ）に示すように、例えば計測点Ｐ１〜Ｐ３のそれぞれの法線ベクトルと、計測点Ｐ１〜Ｐ３から３次元計測手段４の視点Ｐvに向かうベクトルとのそれぞれのなす角度αから、対象物体１０２の側面に相当する計測点のうち、上記ステップＳ１２０で設定した側面除外の処理を適用する範囲にある計測点を除外する処理を行う。
【００８６】
ステップＳ６０１では、計測点の法線ベクトルと、当該計測点から３次元計測手段４の視点に向かうベクトルとのなす角度αを求める。
ステップＳ６０２では、上記ステップＳ６０１で求めた角度αが、対象物体１０２の側面１０２ａと判定される閾値以下であるか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合にはステップＳ６０３へ進む。
【００８７】
ステップＳ６０３では、当該計測点が対象物体１０２の側面に位置していないとして、計測点を残す。
一方、上記ステップＳ６０２の判定結果が偽（Ｎｏ）の場合には、当該計測点が対象物体１０２の側面に位置しているとして、ステップＳ６０４へ進む。
【００８８】
ステップＳ６０４では、当該計測点の位置が、上記ステップＳ１２０で設定した側面除外の適用範囲内にあるか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合には、計測点が側面除外の範囲内ＴにあるとしてステップＳ６０５へ進み、判定結果が偽（Ｎｏ）の場合には、計測点が側面除外の適用範囲外ＳにあるとしてステップＳ６０３へ進む。
ステップＳ６０５では、計測点が対象物体１０２の側面に相当する位置にあるとして、当該計測点を除外する。
【００８９】
ステップＳ６０６では、全ての計測点に対して実行されたか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合には、全ての計測点に対して側面を除外する処理が行われたとして、ステップＳ６０７へ進む。一方、判定結果が偽（Ｎｏ）と判定された場合には、全ての計測点の側面除外処理が終了していないとしてステップＳ６０１へ戻り、次の計測点に対して上記各ステップを繰り返す。
【００９０】
ステップＳ６０７では、対象物体に相当する３次元形状が得られたか否かを判定する。当該判定結果が真（Ｙｅｓ）の場合には、対象物体に相当する３次元形状が得られたとして側面除外ステップを終了する。一方、当該判定結果が偽（Ｎｏ）の場合には、対象物体に相当する３次元形状が得られなかった、即ち得られた３次元形状の凹部が対象物体１０２の凹部１０３に相当する形状ではなかったとしてステップＳ１２０へ戻り、対象物体１０２の側面を除外する範囲を再度設定する。
【００９１】
上記ステップＳ６０４の判定処理を行わない場合、図２４に示すように、凹部１０３の内壁に相当する計測点も側面と判定されて当該計測点が除外され、３次元計測手段４から見た凹部１０３に相当する領域が貫通孔１０３ａとして現れてしまう。しかし、上記ステップＳ６０４の処理を行うことによって、側面ではない領域に存在する計測点が側面として除外されてしまうことを防止でき、凹部１０３の形状を得ることができる。
【００９２】
このように、３次元計測手段４で取得した計測点群に対して側面除外の適用範囲内にある計測点に側面を除外する処理を行うことにより、球体のみならず、種々の形状の対象物体１０２から取得した計測点群を認識処理する際に側面が現れても、側面を除外して、精度よく対象物体１０２を認識することができる。
【００９３】
以上で実施形態の説明を終えるが、本発明は上述した実施形態に限定されるものではない。
例えば、上記実施形態では球体２の半径情報が予めメモリ装置８に格納されているが、球体２の半径がメモリ装置８に格納されていない場合でも、上記対象体推定ルーチンを行ってよい。半径がわからない場合には、想定される最大の球体の大きさから半径を算出し、ステップＳ４３における対象体領域抽出ステップのステップＳ４３４で当該半径に所定値を加算した閾値で判定を行い、ステップＳ４４の対象体認識ステップは必ず４点を選択するようにステップＳ４４１〜Ｓ４５０を実行するようにすればよい。
【００９４】
そして、上記実施形態では球体２の形状データを計測点群として取得しているが、形状データをボクセルデータとして取得する場合でも、当該ボクセルデータを点群とみなして上記対象体推定ルーチンを行ってもよい。
【符号の説明】
【００９５】
１  対象体認識装置
２  球体
４  ３次元計測手段
６  演算手段
８  メモリ装置
１０２  対象物体
【図１】
2013047662.tif 000003
【図２】
2013047662.tif 000004
【図３】
2013047662.tif 000005
【図５】
2013047662.tif 000006
【図６】
2013047662.tif 000007
【図７】
2013047662.tif 000008
【図８−１】
2013047662.tif 000009
【図８−２】
2013047662.tif 000010
【図９】
2013047662.tif 000011
【図１０】
2013047662.tif 000012
【図１１】
2013047662.tif 000013
【図１２】
2013047662.tif 000014
【図１３】
2013047662.tif 000015
【図１４】
2013047662.tif 000016
【図１５】
2013047662.tif 000017
【図１６】
2013047662.tif 000018
【図１７】
2013047662.tif 000019
【図１８】
2013047662.tif 000020
【図１９】
2013047662.tif 000021
【図２０】
2013047662.tif 000022
【図２１】
2013047662.tif 000023
【図２２】
2013047662.tif 000024
【図２３】
2013047662.tif 000025
【図２４】
2013047662.tif 000026
【図４】
2013047662.tif 000027