(57)【要約】【課題】  正確なノイズ判定を行うことにより適切な物体認識を行うことが可能な三次元物体認識装置を提供すること。【解決手段】  認識対象物の三次元形状データから一定範囲内のデータを抽出するデータ抽出部１０２と、データ抽出手段が抽出したデータに重み付けを行う重み付け部１０３と、重み付け部１０３により重み付けられたデータがノイズであるか否かを判定するノイズ判定部１０４と、ノイズ判定部１０４によりノイズではないと判定されたデータに基づいて、認識対象物に対する認識処理を行う認識部１０６と、を備える。【選択図】  図１
2006221263.tif 000002
【特許請求の範囲】
【請求項１】
認識対象物の三次元形状データから一定範囲内のデータを抽出するデータ抽出手段と、
前記データ抽出手段が抽出したデータに重み付けを行う重み付け手段と、
前記重み付け手段により重み付けられたデータがノイズであるか否かを判定するノイズ判定手段と、
前記ノイズ判定手段によりノイズではないと判定されたデータに基づいて、前記認識対象物に対する認識処理を行う認識手段と、
を備えた三次元物体認識装置。
【請求項２】
前記重み付け手段は、前記データ抽出手段が抽出したデータの法線ベクトルに窓関数をかけることにより前記重み付けを行うことを特徴とする請求項１に記載の三次元物体認識装置。
【請求項３】
前記重み付け手段は、ガウス窓関数を前記窓関数として用いることを特徴とする請求項２に記載の三次元物体認識装置。
【請求項４】
前記ノイズ判定手段は、前記重み付け手段により重み付けられたデータに基づいて固有値分解を行い、前記データの固有値の大きさからノイズ判定を行うことを特徴とする請求項１〜３の何れか１項に記載の三次元物体認識装置。
【請求項５】
前記認識手段は、前記認識対象物に対する認識処理として、前記認識対象物の表面曲率の演算を行うことを特徴とする請求項１〜４の何れか１項に記載の三次元物体認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は三次元物体認識装置に関するものである。
【背景技術】
【０００２】
三次元物体に対する認識処理を行う際には、物体から測定した形状データの各々の構成要素（ポリゴン）に対してノイズであるか否かを判定する必要がある。ノイズ判定を行う際には、ノイズ判定の対象になるデータを含む回りの一定領域の情報をさらに参照すると、より包括的な情報を用いられるようになる。この際、参照する領域を広く設定して処理のロバスト性を持たせることにより、ノイズ判定処理の精度を高めようとする方法が知られている（特許文献１）。
【特許文献１】特開２０００−２５１０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ノイズ判定の参照範囲を広くすると、ノイズ判定上のロバスト性は持たせるものの、参照できる部分が大きくなることに伴って本来はノイズではない部分がノイズと判定されてしまうという問題点がある。図９は、ビールジョッキ４０を認識物体の一例として挙げてそのような結果を示している。例えばノイズ判定の対象になるデータ４０３がビールジョッキ４０の円筒状の胴部４０１内にある場合、参照する範囲４０４を大きく設定すると、胴部４０１とはかなり異なる形状の取っ手部４０２においては、その一部（図９では、斜線で図示された部分）がノイズとして判定されてしまう。このようにノイズとして判定された部分はデータとして使えなくなり、ビールジョッキ４０を正確に認識することができない。
【０００４】
そこで、本発明はこのような問題を解決するためになされたものであって、正確なノイズ判定を行うことにより適切な物体認識が行える三次元物体認識装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
すなわち、本発明に係る三次元物体認識装置は、認識対象物の三次元形状データから一定範囲内のデータを抽出するデータ抽出手段と、データ抽出手段が抽出したデータに重み付けを行う重み付け手段と、重み付け手段により重み付けられたデータがノイズであるか否かを判定するノイズ判定手段と、ノイズ判定手段によりノイズではないと判定されたデータに基づいて、認識対象物に対する認識処理を行う認識手段と、を備えて構成されている。
【０００６】
この発明によれば、認識物体に対する認識処理を行う前に、その認識物体の三次元形状データにノイズが含まれているか否かを判定する。ノイズ判定を行う際には、判定の対象となる対象データだけではなく、そのデータを含む一定範囲内の周辺データをさらに参照することで、ノイズ判定のロバスト性を持たせる。周辺データを参照する際には、重み付け手段が周辺データに重み付けを行うので、複数の周辺データを対象データとの関係により異なる値を持つデータとして扱うことができる。このため参照するデータの効率的な使用ないし解析が可能となるので、正確なノイズ判定が行われる。これにより、ノイズであるデータとそうでないデータとが正確に区別できるようになると、ノイズではないデータだけを認識時に用いることで適切な物体認識が行える。
【０００７】
また、本発明に係る三次元物体認識装置においては、重み付け手段は、データ抽出手段が抽出したデータの法線ベクトルに窓関数をかけることにより重み付けを行うようにしてもよい。また、窓関数として、ガウス窓関数を用いるようにしてもよい。重み付け手段は周辺データの法線ベクトルにガウス窓関数をかけることで重み付けを行う。これにより、周辺データを広く設定した場合に、単位面積当たりのデータ数（ポリゴン数）を少なくしながらも、周辺データが抽出された範囲を詳細に表現することができる。このため、広く設定した周辺データを参照することに伴う、膨大な量の演算処理を行わなくても、迅速、かつ、正確なノイズ判定結果を得ることができる。
【０００８】
また、本発明に係る三次元物体認識装置においては、ノイズ判定手段は、重み付け手段により重み付けられたデータに基づいて固有値分解を行い、データの固有値の大きさからノイズ判定を行うようにしてもよい。固有値分解による主成分分析に基づいてノイズ判定を行うので、複雑な構造を有する認識物体を単純な要素として分析することができる。
【０００９】
また、本発明に係る三次元物体認識装置においては、認識手段は、認識対象物に対する認識処理として、認識対象物の表面曲率の演算を行うようにしてもよい。認識対象物の構成要素ごとに表面曲率が異なることから、例えば認識対象物を一括して認識するのではなく構成要素別に分けて認識する際に、各々の構成要素を表す特徴パラメータとして表面曲率を用いることができる。
【発明の効果】
【００１０】
本発明によれば、正確なノイズ判定を行うことにより適切な物体認識を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００１２】
図１は、本発明の実施形態に係る三次元物体認識装置１０の構成概要図である。図１に示すように、三次元物体認識装置１０は、入力装置２０及び出力装置３０とそれぞれ接続されて構成されている。入力装置２０は、認識対象の三次元形状データを三次元物体認識装置１０に入力する装置である。この入力装置２０としては、例えばレンジファインダが用いられ、認識対象物の３Ｄポリゴンデータを三次元形状データとして三次元物体認識装置１０に入力する。
【００１３】
出力装置３０は、三次元物体認識装置１０による認識対象の認識結果を入力し、その認識結果に応じて作動する装置であって、例えば所定のアクチュエータが用いられる。これらの三次元物体認識装置１０、入力装置２０及び出力装置３０は、三次元物体認識システムを構成し、例えば物体認識を行うロボットに用いられる。
【００１４】
三次元物体認識装置１０は、例えば、ＣＰＵ（中央処理装置）、メモリ、マウスやキーボード等の入力操作装置、ディスプレイ等の表示装置、ハードディスク等の格納装置、通信装置等を備えたコンピュータシステムとして構成される。
【００１５】
三次元物体認識装置１０は、機能的な構成要素として、データ入力部１０１、データ抽出部（データ抽出手段）１０２、重み付け部（重み付け手段）１０３、ノイズ判定部（ノイズ判定手段）１０４、表面曲率計算部１０５及び認識部（認識手段）１０６と、を含んで構成されている。
【００１６】
データ入力部１０１は、入力装置２０から送られる認識対象物の三次元形状データを入力するものである。このデータ入力部１０１は、例えば、認識対象物の表面における三次元座標データを三次元形状データとして入力する。そして、データ入力部１０１は、認識対象物の三次元形状データをデータ抽出部１０２に出力する。
【００１７】
データ抽出部１０２は、データ入力部１０１が入力した三次元形状データから一定範囲内のデータを抽出する部分である。より詳細には、データ抽出部１０２は、ノイズ判定処理の対象になる対象データを指定し、その対象データを含む一定範囲内の複数の周辺データを三次元形状データから抽出する。後述する重み付け処理及びノイズ判定処理を通じ、対象データがノイズであるか否かを判定する際には、対象データだけではなくその周辺データをさらに参照することで、より包括的な情報を用いて総合的に判定するようになる。
【００１８】
図２は、データ抽出部１０２が抽出した範囲内のデータの説明図である。図２においては、破線は認識対象物の表面を表し、Ｖはノイズ判定処理を行う対象データを表し、Ｃｉは一の周辺データを表している。また図２のベクトルＮは一の周辺データＣｉから取り出した法線ベクトルを表し、ベクトルＮｉは対象データＶの法線ベクトルを表している。また、θｉは対象データＶを始点に、かつ、周辺データＣｉを終点にして結ぶベクトルと、周辺データＣｉの法線ベクトルＮとの間の角度を表す。後ほど、対象データに対してノイズ判定を行う際に、データの主成分として法線ベクトルを用いることになるので、データ抽出部１０２は、抽出したデータから法線ベクトルを取り出し、重み付け部１０３に出力する。
【００１９】
また、本実施形態では、データ抽出部１０２は広く設定した範囲から周辺データを抽出するようにしている。データ抽出部１０２が抽出した領域の周辺データは、三次元形状データ全体を代表して表すものとして使われる。このため、三次元物体認識装置１０の計算速度やメモリなどからの制限を考慮して抽出する範囲を狭く設定すると、処理のロバスト性が持たなくなる。つまり、処理上の細かい誤差にも全体の処理結果が左右されてしまう問題点が生じる。そのため、信頼できる結果を得るには、参照できる範囲をなるべく大きくして処理のロバスト性を待たせるようにする。
【００２０】
図１に戻り、重み付け部１０３は、データ抽出部１０２から入力された周辺データの法線ベクトルに重み付けを行う部分である。従来のように、広く設定した領域から抽出した周辺データそのものを一律的に参照すると、ノイズ判定に深く関与する周辺データ、つまりノイズ判定の際の寄与率が高い周辺データと、そうでない周辺データとが同様に扱われてしまう。すなわち、例えば周辺データに寄与率の低いデータが含まれている場合、その寄与率の低い周辺データが他の周辺データと同等な重要度を持つ周辺データとして扱われてしまう。その結果、寄与率の低い周辺データを参照することが却ってノイズ判定上の妨げになり、本来はノイズではない部分がノイズと判定されてしまう。ここで、本実施形態では、窓関数を周辺データの法線ベクトルにかけることによって、ノイズ判定に大きく寄与する周辺データには大きい値の重みを与え、そうでない周辺データには小さい値の重みを与えるようにする。
【００２１】
一方、参照する範囲を広くした場合に信頼できる結果を得るための一つの方法として、参照する範囲においての単位面積当たりのデータ数（ポリゴン数）を多くすることで、その範囲をより詳細に表現する方法がある。しかし、この方法では、望ましい結果を得るまで演算上の長時間を要する。そのため、例えばロボットの画像認識処理など、実時間処理が必要な場合に、この方法を使うのは難しい。一方、本実施形態のように、参照する範囲のデータに重み付けを行うと、単位面積当たりのデータ数を少なくしながらも、当該範囲を詳細に表現することが可能となる。このため、膨大な量の演算を行わなくても信頼できる結果を迅速に得ることができる。
【００２２】
本実施形態では、周辺データの法線ベクトルにかける窓関数として、ガウス窓関数を用いている。式（１）はガウス窓関数Ｗを定義する式であり、ｍは整数、ｌはガウス窓関数によって重みを付ける範囲、ｘは法線ベクトルまでの距離を表している。重み付け部１０３は、式（１）に従って重みが付けられた周辺データの法線ベクトルをノイズ判定部１０４に出力する。
【００２３】
Ｗ（ｍ，ｌ，ｘ）＝ｅｘｐ｛−２＊（ｍｘ／ｌ）２｝…（１）
Ｗ：ガウス窓関数
ｍ：整数
ｌ：ガウス窓関数によって重みを付ける範囲
ｘ：法線ベクトルまでの距離
【００２４】
ノイズ判定部１０４は、重み付け部１０３から入力された周辺データの重み付けられた法線ベクトルに基づき、対象データがノイズであるか否かを判定する部分である。より具体的には、まず、式（２）と式（３）を用いて、重み付けられた周辺データの法線ベクトルＮから対象データの法線ベクトルＮｉを求める。
【数１】
2006221263.tif 000003
【００２５】
そして、式（４）を用いて、対象データの法線ベクトルＮｉの共分散行列Ｖｖを求める。ここで、ｗＬｉは重み係数である。
【数２】
2006221263.tif 000004
【００２６】
次に、対象データの法線ベクトルＮｉの共分散行列Ｖｖから、固有値分解によって対象データの固有値を求める。ここで求めた固有値の大きさを予め設定しておいた固有値しきい値と比べることによって、対象データがノイズであるか否かを判定する。そして、ノイズ判定部１０４は、ノイズと判定されていない対象データを表面曲率計算部１０５に出力する。
【００２７】
図３は、例えばビールジョッキ４０を認識物体としてノイズ判定を行った結果の一例を示している。対象データ４０３がビールジョッキ４０の円筒状の胴部４０１内にあり、広く設定した領域から抽出した周辺データ４０４内には、かなり異なる形状を有する胴部４０１と取っ手部４０２の一部が含まれている。すなわち、対象データ４０３は胴部４０１上の周辺データ４０４ａとは関連が深く、取っ手部４０２上の周辺データ４０４ｂとは関連が薄いといえる。ここで、重み付け部１０３は周辺データ４０４全体に式（１）のガウス窓関数をかけることにより、例えば、胴部４０１内の周辺データ４０４ａには大きい値の重みを与え、取っ手部４０２内の周辺データ４０４ｂには小さい値の重みを与える。このため、ノイズ判定の際に参照する周辺データ４０４をより的確に表現でき、正確なノイズ判定結果が得られる。尚、図３においては、ノイズと判定された部分を斜線で表示している。従来の方法による結果である図９と比べ、取っ手部４０２内にノイズと誤判定された部分が少ない。
【００２８】
表面曲率計算部１０５は、ノイズ判定部１０４からノイズと判定されていないデータを入力され、それに基づいて表面曲率を求める部分である。より具体的には、先ず、式（５）に従って対象データの接線ベクトルＴｉの共分散行列Ｂｖを求める。ここで、ｋｉは重み係数である。
【数３】
2006221263.tif 000005
【００２９】
この共分散行列Ｂｖを固有値分解すると、固有値λ１、固有値λ２及び固有値λ３（ただし、λ１＞λ２＞λ３）が得られる。この得られた固有値から、式（６）及び式（７）に従って曲率が計算される。
【００３０】
最大曲率＝３λ１−λ２…（６）
最小曲率＝３λ２−λ１…（７）
【００３１】
表面曲率を求める際に不要なデータはノイズ判定部１０４により排除されたので、適切に表面曲率を求めることができる。表面曲率計算部１０５は、求めた表面曲率に関する情報を認識部１０６に出力する。
【００３２】
認識部１０６は、表面曲率計算部１０５から入力された表面曲率に関する情報を参照して認識対象物体の認識処理を行う部分である。ノイズ判定部１０４により、認識処理を行う際に不要なデータは排除されたので、適切な認識処理が行える。また、認識処理の際に、認識対象物の構成要素ごとに表面曲率が異なることから、例えば図３のビールジョッキ４０を認識する際に、円筒状の胴部４０１と取っ手部４０２とを異なる構成要素として分離して認識することができるようになる。このように、物体を構成要素ごとに分離して認識すると、例えば認識対象物の各構成要素ごとの細分化された情報を用いる場合に有効である。認識部１０７は、認識結果を出力装置３０に送信する。
【００３３】
次に本実施形態に係る三次元物体認識装置１０の動作について、図３のビールジョッキ４０を認識物体の一例として説明する。図４は、本実施形態にかかる三次元物体認識装置１０の動作を説明するためのフローチャートである。
【００３４】
データ抽出部１０２は、入力装置２０から入力された三次元形状データから一の対象データ４０３を指定する（ステップＳ１０１）。また、データ抽出部１０２は、指定した対象データ４０３を含む一定範囲内のデータを周辺データ４０４として抽出し、データの主成分として法線ベクトルを取り出す（ステップＳ１０２）。図５はデータ抽出部１０２が抽出した周辺データ４０４及びその法線ベクトル４０４ｃの一例を示している。対象データ４０３を囲むような形で周辺データ４０４が抽出されており、周辺データ４０４の法線ベクトル４０４ｃが取り出されている。データ抽出部１０２は、抽出した周辺データ４０４の法線ベクトル４０４ｃを重み付け部１０３に出力する。
【００３５】
重み付け部１０３は、データ抽出部１０２が抽出した周辺データ４０４の法線ベクトル４０４ｃに式（１）に定義するガウス窓関数をかける（ステップＳ１０３）。図６は、ガウス窓関数を表したグラフであり、縦軸はかける重みの大きさを表し、横軸は対象データ４０３との関係を表している。横軸において、零点に近いほど対象データ４０３との関係が深いことを表しており、大きい重みが付けられることになる。
【００３６】
また、図７は対象データ４０３との関係により異なる重みが付けられた後の周辺データ４０４の法線ベクトル４０４ｃのイメージを表すベクトル図である。図７では、対象データ４０３との関係を角度で表しており、破線で図示する横軸は角度ゼロの基準角度となっている。例えば、角度Ａのように角度が９０度に近くなるほど対象データ４０３との関連が深く、角度Ｂのように角度が０に近くなるほど対象データ４０３との関連は薄いことを表している。対象データ４０３との関連が深い周辺データ（例えば、図３の胴部４０１上の周辺データ４０４ａ）の法線ベクトルには高い値の重みが付けられるので、ベクトルの大きさが大きい。一方、対象データとの関連は薄い周辺データ（例えば、図３の取っ手部４０２上の周辺データ４０４ｂ）の法線ベクトルには低い値の重みが付けられるので、ベクトルの大きさが小さい。重み付け部１０３は、重み付けられた周辺データ４０４の法線ベクトル４０４ｃをノイズ判定部１０４に出力する。
【００３７】
ノイズ判定部１０４は、上述した式（２）と式（３）に従って、重み付け部１０３から入力された重み付けられた周辺データ４０４の法線ベクトル４０４ｃから、対象データ４０３の法線ベクトルＮｉを求める。そして、対象データ４０３の法線ベクトルＮｉの共分散行列Ｖｖを計算し、固有値分解を行う（ステップＳ１０４）。
【００３８】
図８は、ステップＳ１０４の固有値分解により計算したデータの最大固有値の寄与率を表すグラフである。グラフ８１はガウス窓関数を導入し重み付けを行った場合であり、グラフ８２は従来技術のように重み付けを行わず周辺データ４０４全体を一律的に扱った場合である。また、縦軸は寄与率を表し、横軸はデータの番号を表している。例えば、データ番号１５００番代から１６００番代の部分は、取っ手部４０２上の周辺データ４０４ｂを表している。グラフ８２の重み付けを行っていない場合には、８０パーセントくらいのあいまいな寄与率を有しており、これは正しいノイズ判定を行う際の妨げになる。一方、グラフ８１の重み付けを行っている場合には、大きく寄与するデータは９５パーセント近くの大きい寄与率を有し、あまり寄与しないデータは７０パーセントくらいの小さい寄与率を有しており、これによって正確なノイズ判定が可能となる。
【００３９】
また、ノイズ判定部１０４は、固有値分解によって求めた対象データの固有値の大きさを予め設定しておいた固有値しきい値と比べることによって、ノイズ判定部１０４は対象データ４０３がノイズであるか否かを判定する（ステップＳ１０５）。
【００４０】
入力装置２０から入力された三次元形状データの全てのデータに対して、上述したステップＳ１０１からステップＳ１０５のような処理を行ったか否かを判断する（ステップＳ１０６）。全てのデータに対してステップＳ１０１からステップＳ１０５のような処理が行われていない場合には、処理の流れは対象データ４０３を指定するステップＳ１０１に戻る。一方、全てのデータに対してステップＳ１０１からステップＳ１０５のような処理が行われたら、ノイズ判定部１０４は、ノイズと判定されていない対象データだけを表面曲率計算部１０５に出力する。
【００４１】
表面曲率計算部１０５は、ノイズ判定部１０４からノイズと判定されていないデータだけを入力され、式（５）に基づいて表面曲率を求める（ステップＳ１０７）。表面曲率計算部１０５は、求めた各データの表面曲率に関する情報を認識部１０６に出力する。
【００４２】
認識部１０６は、表面曲率計算部１０５から入力された各データの表面曲率に関する情報を参照してビールジョッキ４０に対する認識処理を行う（ステップＳ１０８）。そして、認識部１０７は、認識結果を出力装置３０に送信する。
【００４３】
以上説明したように、本実施形態の三次元物体認識装置１０によれば、認識物体に対する認識処理を行う前に、その認識物体の三次元形状データにノイズが含まれているか否かを判定する。ノイズ判定を行う際には、判定の対象となる対象データだけではなく、そのデータを含む一定範囲内の周辺データをさらに参照することで、ノイズ判定のロバスト性を持たせる。周辺データを参照する際には、重み付け部１０３が周辺データに重み付けを行うので、複数の周辺データを対象データとの関係により異なる値を持つデータとして扱うことができる。このため参照するデータの効率的な使用ないし解析が可能となるので、正確なノイズ判定が行われる。これにより、ノイズであるデータとそうでないデータとが正確に区別できるようになると、ノイズではないデータだけを認識時に用いることで適切な物体認識が行える。
【００４４】
また、本実施形態においては、重み付け部１０３は周辺データの法線ベクトルにガウス窓関数をかけることで重み付けを行う。これにより、周辺データを広く設定した場合に、単位面積当たりのデータ数（ポリゴン数）を少なくしながらも、周辺データが抽出された範囲を詳細に表現することができる。このため、広く設定した周辺データを参照することに伴う、膨大な量の演算処理を行わなくても、迅速、かつ、正確なノイズ判定結果を得ることができる。
【００４５】
また、本実施形態においては、固有値分解による主成分分析に基づいてノイズ判定を行うので、複雑な構造を有する認識物体を単純な要素として分析することができる。
【００４６】
また、本実施形態においては、認識対象物の構成要素ごとに表面曲率が異なることから、例えば認識対象物を一括して認識するのではなく構成要素別に分けて認識する際に、各々の構成要素を表す特徴パラメータとして表面曲率を用いることができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態に係る三次元物体認識装置１０の構成概要図である。
【図２】ノイズ判定を行うために抽出したデータの説明図である。
【図３】ノイズ判定の結果を表す図である。
【図４】三次元物体認識装置１０の動作を説明するためのフローチャートである。
【図５】抽出したデータの一例を表す図である。
【図６】ガウス窓関数のグラフである。
【図７】重み付けが行われた周辺データの法線ベクトルの説明図である。
【図８】最大固有値の寄与率を表すグラフである。
【図９】従来技術の説明図である。
【符号の説明】
【００４８】
１０…三次元物体認識装置、２０…入力装置、３０…出力装置、１０１…データ入力部、１０２…データ抽出部、１０３…重み付け部、１０４…ノイズ判定部、１０５…表面曲率計算部、１０６…認識部。
【図１】
2006221263.tif 000006
【図２】
2006221263.tif 000007
【図３】
2006221263.tif 000008
【図４】
2006221263.tif 000009
【図５】
2006221263.tif 000010
【図６】
2006221263.tif 000011
【図７】
2006221263.tif 000012
【図８】
2006221263.tif 000013
【図９】
2006221263.tif 000014