(57)【特許請求の範囲】
【請求項１】
認識対象物を含む画像を取得する取得手段と、
前記画像における前記認識対象物の認識に有用な箇所を設定箇所として指定する指定手段と、
前記設定箇所における特徴点の数が、前記画像において前記設定箇所以外の非設定箇所における特徴点の数よりも多くなるように、前記設定箇所及び前記非設定箇所に特徴点を設定する設定手段と、
前記設定箇所に設定された特徴点における画像特徴量と、前記非設定箇所に設定された特徴点における画像特徴量と、を用いて前記認識対象物を学習する学習手段と
を備えることを特徴とする画像処理装置。
【請求項２】
更に、
前記学習手段による学習結果を用いて、新たに撮像した画像中に映っている認識対象物を認識する手段と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
更に、前記画像を表示する表示手段を備え、
前記指定手段は、前記表示手段によって表示された前記画像に対してユーザが指定した箇所を前記設定箇所として指定する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
更に、前記画像を表示する表示手段を備え、
前記指定手段は、前記表示手段によって表示された前記画像に対してユーザが指定した箇所以外の箇所を前記設定箇所として指定する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
前記設定手段は、前記設定箇所に設定する特徴点の数を、該設定箇所の面積に応じて設定する
ことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、認識対象物を含む画像を取得する取得工程と、
前記画像処理装置の指定手段が、前記画像における前記認識対象物の認識に有用な箇所を設定箇所として指定する指定工程と、
前記画像処理装置の設定手段が、前記設定箇所における特徴点の数が、前記画像において前記設定箇所以外の非設定箇所における特徴点の数よりも多くなるように、前記設定箇所及び前記非設定箇所に特徴点を設定する設定工程と、
前記画像処理装置の学習手段が、前記設定箇所に設定された特徴点における画像特徴量と、前記非設定箇所に設定された特徴点における画像特徴量と、を用いて前記認識対象物を学習する学習工程と
を備えることを特徴とする画像処理方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識技術に関するものである。
【背景技術】
【０００２】
認識技術のひとつとして、撮像部によって得られる対象物体の画像から抽出される特徴量をコンピュータに学習させ、入力画像のなかに映る被写体の種別を認識する研究も活発になされてきた。また、被写体のモデル情報などを用いて、種別だけではなく、位置や姿勢を同時に推定するような研究もなされてきた。その技術の応用先としては、高度な組立等の作業をロボットに行わせるための、部品の位置・姿勢認識などがあげられる。
【０００３】
非特許文献１では、学習画像からコードブック化した特徴と検出された特徴を対応付け、確率的投票で物体の中心位置を推定する手法が提案されている（ｉｍｐｌｉｃｉｔ−ｓｈａｐｅ−ｍｏｄｅｌ）。これにより種別だけでなく、物体の位置も推定することができる。
【０００４】
また、特許文献１では、入力画像から特徴点を抽出してその特徴量を算出し、学習画像における特徴量と類似する特徴点同士を、対応点として設定する。そして、入力画像における対応点ごとに学習画像の特徴点の特徴量（位置情報を含む）に基づいて基準点に投票することで対象物を認識すると共に、位置も推定する。
【０００５】
しかし、画像を用いた物体認識技術では、画像から特徴を抽出してその特徴と学習画像から得られた特徴とを対応付け、対象物の存在可能性を全て投票するために、処理時間が多くかかる。また、全ての特徴がその対象物を認識するために有用であるとは限らない。
【０００６】
特許文献２では、パターン認識（文字認識）において学習に利用する部分領域を順次変更し、その都度学習パターンの認識を行って得られた結果を評価することによって、学習に利用する複数の部分領域を選定している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２５７６４９号公報
【特許文献２】特開２００９−３７６４０号公報
【非特許文献】
【０００８】
【非特許文献１】B.Leibe, “Robust Object Detection with Interleaved Categorization and Segmentation”, IJCV Special Issue on Learning for Vision for learning, Aug. 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
認識対象物によっては、あらかじめ対象物の種別および位置・姿勢を識別するのに有用な部分がわかっている場合がある。たとえば、ロボットによる自動組立の際の部品種別および位置・姿勢を認識する場合、回転対称体の一部に切り欠きが存在し、その部分を認識することで姿勢を一意に決定することができる場合がある。ただし、一般的に一部の切り欠きを効率的に学習し、認識することは難しい。
【００１０】
係る点、特許文献１では、学習に利用する特徴点を規定するような手法については述べられていない。また、特許文献２の方法を適用した場合、部分領域を選択するのに、部分領域を追加するごとに学習パターンを認識して評価をするために、非常に時間がかかる。
【００１１】
本発明は以上の問題に鑑みてなされたものであり、認識対象物を識別するために有用な部分を効率的に学習する為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、認識対象物を含む画像を取得する取得手段と、
前記画像における前記認識対象物の認識に有用な箇所を設定箇所として指定する指定手段と、
前記設定箇所における特徴点の数が、前記画像において前記設定箇所以外の非設定箇所における特徴点の数よりも多くなるように、前記設定箇所及び前記非設定箇所に特徴点を設定する設定手段と、
前記設定箇所に設定された特徴点における画像特徴量と、前記非設定箇所に設定された特徴点における画像特徴量と、を用いて前記認識対象物を学習する学習手段と
を備えることを特徴とする。
【発明の効果】
【００１３】
本発明の構成によれば、認識対象物を識別するために有用な部分を効率的に学習することができる。
【図面の簡単な説明】
【００１４】
【図１】認識システムの機能構成例を示すブロック図。
【図２】対象物認識装置Ａ２００が行う処理のフローチャート。
【図３】認識システムの外観例を示す図。
【図４】表示部Ａ２２０における画像の表示例を示す図。
【図５】ステップＳ１１０における処理の詳細を示すフローチャート。
【図６】複数枚の画像の撮像を説明する図。
【図７】認識対象物４０の画像を示す図。
【図８】特徴点の設定例を示す図。
【図９】学習部Ａ２３０が行う認識対象物の学習処理のフローチャート。
【図１０】特徴点から基準点へのベクトルの求め方を説明する図。
【図１１】ステップＳ１３０における処理の詳細を示すフローチャート。
【図１２】投票空間を示す図。
【図１３】ステップＳ１２０で行う処理の詳細を示すフローチャート。
【図１４】ステップＳ１３０における処理の詳細を示すフローチャート。
【図１５】非有用部分の指定を説明する図。
【図１６】有用部分４５から一様分布で特徴点を取得する例を示す図。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１６】
［第１の実施形態］
先ず、本実施形態に係る認識システムの機能構成例について、図１のブロック図を用いて説明する。図１に示す如く、認識システムは、認識対象となる物体（認識対象物）の画像を撮像する撮像部Ａ１００と、撮像部Ａ１００により撮像された画像を用いてこの認識対象物を認識する対象物認識装置Ａ２００（画像処理装置）と、を有する。なお、撮像部Ａ１００と対象物認識装置Ａ２００とは図１に示すように別個の装置であっても良いし、一体型の装置であっても良い。
【００１７】
本実施形態に係る認識システムの外観例を図３に示す。図３においてカメラ１０は撮像部Ａ１００に対応しており、認識対象物４０をそれぞれ異なる視点位置から撮像して複数枚の画像を取得する為のものである。この認識対象物４０（認識対象物上）には、認識対象物４０を識別するために有用な部分（有用部分）４５が備わっている。カメラ１０により撮像されたそれぞれの画像はコンピュータ本体３０に入力される。
【００１８】
コンピュータ本体３０は、図１の対象物データ保持部Ａ２１１、入力部Ａ２１０、学習部Ａ２３０、識別器保持部Ａ２３１、認識部Ａ２４０、を有する装置である。コンピュータ本体３０は、カメラ１０により撮像された複数枚の画像を用いて認識対象物４０を学習し、この学習後に認識対象物４０の画像が新たに撮像された場合は、この画像から認識対象物４０を認識する。
【００１９】
なお、対象物データ保持部Ａ２１１及び識別器保持部Ａ２３１はハードディスクやＲＡＭなどのメモリによって構成される。入力部Ａ２１０、学習部Ａ２３０、認識部Ａ２４０については、ハードウェアで構成しても良いし、一部若しくは全部をソフトウェア（コンピュータプログラム）で構成しても良い。その場合、このソフトウェアは、コンピュータ本体３０が有するＣＰＵ等のプロセッサにより実行される。
【００２０】
モニタ２０は表示部Ａ２２０に対応しており、ＣＲＴや液晶画面等により構成されており、コンピュータ本体３０による処理結果を画像や文字などでもって表示する。なお、対象物データ保持部Ａ２１１、識別器保持部Ａ２３１のそれぞれは、コンピュータ本体３０の外部メモリとしても良い。
【００２１】
次に、対象物認識装置Ａ２００が行う処理について、同処理の図２のフローチャートを用いて説明する。なお、図２のフローチャートに従った処理を実行する前に、認識対象物をそれぞれ異なる視点位置から撮像して得られる複数枚の画像を対象物データ保持部Ａ２１１に格納しておく。例えば図６に示す如く、認識対象物４０の位置を中心とする球体の表面５０上に複数個の点５１を設定し、それぞれの点５１の位置から認識対象物４０を撮像し、この撮像により得られる複数枚の画像を対象物データ保持部Ａ２１１に格納しておく。
【００２２】
ステップＳ１１０で入力部Ａ２１０は対象物データ保持部Ａ２１１から１枚の画像（入力画像）を読み出し、読み出した入力画像を表示部Ａ２２０に表示させ、表示している入力画像において認識対象物を識別するのに有用な箇所の指定をユーザから受け付ける。ステップＳ１１０における処理の詳細を図５のフローチャートを用いて説明する。
【００２３】
ステップＳ１１１では入力部Ａ２１０は、対象物データ保持部Ａ２１１から読み出した入力画像を表示部Ａ２２０に表示させる。表示部Ａ２２０における画像の表示例を図４に示す。表示部Ａ２２０としてのモニタ２０の表示画面には、ある視点位置から撮像した認識対象物４０の画像（入力画像）が表示されており、更にこの入力画像には認識対象物４０が有している有用部分４５も映っている。
【００２４】
ユーザは、この表示画面に表示されている認識対象物４０を識別するために有用な箇所（設定箇所）、即ち有用部分４５を指定する為に、対象物認識装置Ａ２００が有する不図示のキーボードやマウスなどを操作し、カーソル６１を有用部分４５に移動させる。指定するのは有用部分４５を囲む枠領域であっても良いし、有用部分４５の一部の座標であっても良く、後述する処理で画像上における有用部分４５が特定できるのであれば、如何なる指定方法を採用しても良い。もちろん、この有用部分４５の指定はユーザによる指定に限定するものではなく、規定の基準に基づいて対象物認識装置Ａ２００が指定しても良い。また、有用部分４５は複数個指定しても良いし、有用部分４５以外の箇所（非設定箇所）を指定することで、指定箇所以外を有用部分４５として採用しても良い。
【００２５】
ステップＳ１１２では入力部Ａ２１０は有用部分４５を特定する情報（特定情報）を受け付けると、この受け付けた特定情報を学習部Ａ２３０に対して送出する。
【００２６】
ステップＳ１２０では学習部Ａ２３０は、対象物データ保持部Ａ２１１に保存されている画像を順次読み出し、読み出したそれぞれの画像と、入力部Ａ２１０から入力された特定情報と、を用いて認識対象物を学習する。学習部Ａ２３０が行う認識対象物の学習処理について、同処理のフローチャートを示す図９を用いて説明する。
【００２７】
この学習方法には既知の様々な学習方法を適用できるが、本実施形態では、投票による認識処理のための学習を行う。ステップＳ９０１で学習部Ａ２３０は、対象物データ保持部Ａ２１１から１枚の画像（読み出し画像）を読み出すと、読み出し画像を撮像した撮像部Ａ１００の位置姿勢やカメラパラメータ等から、特定情報が示す領域に該当する読み出し画像上の領域を特定する。即ち、読み出し画像上における有用部分４５を求める。なお、対象物データ保持部Ａ２１１に保存されているそれぞれの画像に対して予め有用部分を指定し、画像毎の特定情報を対象物データ保持部Ａ２１１に保存させておいても良い。何れにせよ、読み出し画像上における有用部分４５が特定できれば、如何なる構成を採用しても良い。次に学習部Ａ２３０は、読み出し画像上に複数の特徴点を設定するのであるが、その際、有用部分４５には、非有用部分よりも多くの数の特徴点を設定する。しかし、例えば、図７（ａ）、（ｂ）のそれぞれに示す画像には有用部分４５が映っているものの、図７（ｃ）に示す画像には有用部分４５は映っていない。
【００２８】
そこで図７（ａ）、（ｂ）に示すような画像の場合、それぞれ図８（ａ）、（ｂ）に示す如く、有用部分４５には、非有用部分よりも多くの数の特徴点８０を設定する。例えば、１枚の画像上にＮ（Ｎ≧２）個の特徴点を設定する場合、αＮ（０．５＜α＜１）個の特徴点を有用部分４５に設定するようにしても良い。この場合、このαは画像上の有用部分４５の面積に応じて設定しても良いし、ユーザがキーボードやマウスなどを用いて設定しても良い。一方、図７（ｃ）に示すような画像の場合、画像上に有用部分４５が存在しないのであるから、図８（ｃ）に示す如く、画像全体に対して均等に特徴点８０を設定する。
【００２９】
また、特徴点検出をせずに画像から特徴点を密に取得する場合、αにより特徴点を取得するサンプリング間隔が変更される。また、指定された領域から一様分布で特徴点を取得してもよいし、特定情報が示す位置を中心とするガウス分布などを規定して取得してもよい。図１６に有用部分４５から一様分布で特徴点を取得する例を示す。グリッド８１のように指定された領域からは細かく、グリッド８２のように指定された領域以外からは粗くサンプリングしている。
【００３０】
次に学習部Ａ２３０は、設定したそれぞれの特徴点およびその特徴点まわりを記述する特徴量（画像特徴量）を抽出する。たとえば、ＳＵＲＦ（以下の文献Ｘ）のような、抽出された特徴点まわりの輝度勾配の情報を記述するものでよい。その他のいわゆるＫｅｙｐｏｉｎｔｓ（以下の文献Ｙ、Ｚ）などの特徴点でもよい。または、画像パッチやedgeletなどでもよい。
【００３１】
文献Ｘ  ：  H.Bay, “Speeded-Up Robust Features (SURF)”, Computing Vision and Image Understanding, Vol.110 (3) June 2008, pp.346-359.
文献Ｙ  ：  E.Tola, “A Fast Local Descriptor for Dense Matching”, CVPR 2008.
文献Ｚ  ：  K.Mikolajczyk, “A Performance Evaluation of Local Descriptors”, PAMI, 27(10) 2004, pp.1615-1630.
以下では、画像中に設定した特徴点の総数をＮとすると、ｉ（１≦ｉ≦Ｎ）番目の特徴点を特徴点ｆｉと表記し、特徴点ｆｉの画像中の座標位置を（ｘｉ、ｙｉ）と表記する。また、特徴点ｆｉについて抽出された特徴量のベクトル（特徴量ベクトル）を特徴量ベクトルＦｉと表記する。
【００３２】
なお、それぞれの画像について、上記の特徴点の座標位置や特徴量については予め収集しておき、対象物データ保持部Ａ２１１に格納しておいても良い。即ちステップＳ９０１における処理は予め行っていても良い。この場合、学習部Ａ２３０は、対象物データ保持部Ａ２１１に格納されているこれらの特徴量を用いて認識対象物を学習する。
【００３３】
次に、学習部Ａ２３０による学習処理について説明する。本実施形態では、特許文献１に記載されている学習方法を採用する。即ち、それぞれの特徴点から画像内の認識対象物の領域中に設定された基準点に対するベクトルを求め、特徴量対応付けに従って基準点への投票を行うことで認識対象物のクラスおよび位置を検出する場合の学習方法および認識方法である。その際の投票空間は特に限定しない。たとえば、画像座標のｘ軸、ｙ軸およびＩＤ軸（認識対象物を表すクラスインデックス）空間、画像座標のｘ軸、ｙ軸およびスケールｓ軸空間、世界座標軸のＸＹＺ空間などが考えられる。また、基準点に投票するのではなく、背景技術で示したｉｍｐｌｉｃｉｔ−ｓｈａｐｅ−ｍｏｄｅｌ（非特許文献１）のように、各局所特徴から認識対象物中心への確率投票を行う方法でも良い。
【００３４】
また、多クラス問題の際は、全クラスに対してそれぞれ投票を行ったあと最も投票されたクラスおよび位置を認識結果とするか、あらかじめ設定された閾値以上の検出点すべてを認識結果としてもよい。ここでは、画像から特徴点を抽出して基準点に投票をし、認識対象物の種別および位置を推定する。
【００３５】
ステップＳ９０２では学習部Ａ２３０は、対象物データ保持部Ａ２１１に保存されているそれぞれの画像について次のような処理を行う。先ず、着目画像中の特徴点ｆｉから着目画像中に予め設定された基準点Ｏｊ（ｊ＝１，２，３，…）へのベクトルＭｉｊを、全てのｉ、ｊについて求める。
【００３６】
例えば、図１０に示す如く、認識対象物４１の有用部分（図１０では星形の領域）に対して基準点４４が予め設定されており、この認識対象物４１について設定されている特徴点のうちの１つが特徴点４２であるとする。この場合、この特徴点４２について求めるベクトルは、特徴点４２から基準点４４へのベクトル４３となる。然るに、画像上における特徴点４２の座標位置が（ｘｎ，ｙｎ）であり、この画像上における基準点の座標位置が（ｘｏ，ｙｏ）であるとすると、特徴点４２について求めるベクトルＭはＭ＝（ｘｏ−ｘｎ，ｙｏ−ｙｎ）となる。
【００３７】
ステップＳ９０３では学習部Ａ２３０は、対象物データ保持部Ａ２１１に保存されている全ての画像について得た特徴点ｆｉを、特徴量ベクトルＦｉを用いてクラスタリングする。このクラスタリングには、ｋ−ｍｅａｎｓ、自己組織化マップアルゴリズム、等の任意のクラスタリング手法を用いることができる。例えば、ｋ−ｍｅａｎｓを用いる場合、クラスタ数Ｋを規定して特徴量ベクトル間のユークリッド距離を用いて特徴点ｆｉをクラスタリングすることができる。これにより、対象物データ保持部Ａ２１１に保存されている全ての画像について得た特徴点ｆｉは、クラスタ１〜クラスタＫ（Ｋ≧２）の何れかにクラスタリングされる。
【００３８】
ステップＳ９０４では学習部Ａ２３０は、それぞれのクラスタｋ（１≦ｋ≦Ｋ）について、以下の情報を、クラスタｋに対するクラスタリング情報として識別器保持部Ａ２３１に記録する。
【００３９】
・  クラスタｋの識別子（例えばｋ）
・  クラスタｋにクラスタリングされたそれぞれの特徴点ｆｉの特徴量ベクトルＦｉのうち規定の基準に従って選択された代表特徴量ベクトルＦｋ’
・  クラスタｋにクラスタリングされたそれぞれの特徴点ｆｉの座標位置（ｘｉ、ｙｉ）
・  クラスタｋにクラスタリングされたそれぞれの特徴点ｆｉから基準点ＯｊへのベクトルＭｉｊ
・  認識対象物のクラスを示すインデックスＩＤｉ
ステップＳ１３０で認識部Ａ２４０は、撮像部Ａ１００が新たに認識対象物の撮像画像を撮像すると、識別器保持部Ａ２３１に格納されているクラスタリング情報（学習結果）を用いて、この撮像画像中に映っている認識対象物を認識する処理を行う。ステップＳ１３０における処理の詳細について、同処理のフローチャートを示す図１１を用いて説明する。
【００４０】
ステップＳ１１０１では認識部Ａ２４０は、撮像部Ａ１００から得た撮像画像から、学習部Ａ２３０と同様にして、各特徴点（ここではＭ個とする）について特徴量ベクトルを抽出する。ステップＳ１１０２で認識部Ａ２４０は、抽出したそれぞれの特徴量ベクトルと、識別器保持部Ａ２３１に保持されているそれぞれの代表特徴量ベクトルとの距離を求める。そして認識部Ａ２４０は、最も小さい距離（最も高い類似度）を求めた代表特徴量ベクトルのクラスタを対応クラスタとして特定する。
【００４１】
ステップＳ１１０３では認識部Ａ２４０は、対応クラスタのクラスタリング情報を参照し、図１２に示す如く、画像座標のｘ、ｙ軸、クラスを表すＩＤ軸、の３軸によって張られる投票空間７０において後述する投票処理を行う。あらかじめ各セルの大きさは設定されているものとする。
【００４２】
ここで、上記の投票処理について説明する。撮像画像から抽出された各特徴点ｍ（ｍ＝１，２，３，…，Ｍ）について求めた特徴量ベクトルｇｍと、それぞれのクラスタｋの代表特徴量ベクトルＦ’ｋとの最小距離（ユークリッド距離）は以下の式（１）を用いて求めることができる。
【００４３】
【数１】
0005746550.tif 000002
【００４４】
この式により、最も距離の小さいクラスタｋ”を対応クラスタとして特定することができる。次に、クラスタｋ”のクラスタリング情報中の「特徴点ｆｉに対するベクトルＭｉｊ及びインデックスＩＤｉ」を用いて投票処理を行う。
【００４５】
より具体的には、投票空間の投票点を（ｘ、ｙ、ＩＤ）、撮像画像中のそれぞれの特徴点の座標位置を（ｘｍ、ｙｍ）とした場合、以下の式（２）に従って求められる投票点（ｘ、ｙ、ＩＤ）に対応するセルに投票される。この場合、全投票数は最大Ｎ×Ｍとなる。
【００４６】
【数２】
0005746550.tif 000003
【００４７】
ステップＳ１１０４では、認識部Ａ２４０は投票結果を集計し、投票数の最も多い投票点を認識結果とする。
【００４８】
以上の説明により、本実施形態によれば、あらかじめ認識対象物に対して識別に有用な部分を指定するので、認識対象物の認識を高精度に行うことができる。もちろん、上記の通り、本実施形態には様々な変形例が考え得るが、何れの変形例を採用しても同様の効果を奏することができる。
【００４９】
［第２の実施形態］
本実施形態は、上記のステップＳ１２０及びステップＳ１３０における処理のみが第１の実施形態と異なる。然るに、以下では、第１の実施形態と同じ点については説明を省略し、第１の実施形態と異なる点のみについて説明する。
【００５０】
第１の実施形態ではステップＳ１２０では、有用部分４５には、非有用部分よりも多くの数の特徴点を設定するようにしていた。本実施形態のステップＳ１２０では、有用部分４５に設定された特徴点には、非共有部分に設定された特徴点よりも値のより大きい重み値を設定することで有用部分の特徴を重点的に用いることができる。そしてこの重み値は識別器保持部Ａ２３１に記録される。
【００５１】
本実施形態においてステップＳ１２０で行う処理について、同処理のフローチャートを示す図１３を用いて説明する。図１３において、図９に示したステップと同じ処理を行うステップには同じ参照番号を付しており、このステップに係る説明は省略する。
【００５２】
ステップＳ１３０１では学習部Ａ２３０は、対象物データ保持部Ａ２１１に保存されているそれぞれの画像について次のような処理を行う。先ず、着目画像中の特徴点ｆｉに対する重み値Ｗｉを、以下の式（３）に従って計算する。
【００５３】
【数３】
0005746550.tif 000004
【００５４】
この式（３）においてｐは、有用部分４５の位置を示すベクトルであり、ｆｉは、特徴点ｆｉの画像上の座標位置を示すベクトルである。ｌは閾値（所定の距離）である。また、β＞γである。この式（３）に従った計算を行うことで、各特徴点ｆｉに対する重み値Ｗｉ（＝β若しくはγ）を求めることができる。β、γはそれぞれ予め設定された値であっても良いし、ユーザにより指定された値であっても良いし、学習により決定した値であっても良い。学習によって決定する場合、第１の実施形態におけるαと同様、検定データを用いて決定することができる。
【００５５】
なお、ステップＳ１１０において有用部分４５の位置ではなく有用部分４５の領域が指定されていた場合、重み値Ｗｉは上記の式（３）ではなく、以下の式（４）に従って計算する。
【００５６】
【数４】
0005746550.tif 000005
【００５７】
式（４）においてＲは有用部分４５の領域を示す。また、特徴点ｆｉの画像上の座標位置を変数とする関数に従って重み値Ｗｉを決定してもよい。例えば、この関数にガウス関数を用いた場合、重み値Ｗｉは以下の式（５）に従って計算しても良い。
【００５８】
【数５】
0005746550.tif 000006
【００５９】
ガウス関数は、以下の式（６）に示す如く、標準偏差σをパラメータとして以下のように表すことができる。
【００６０】
【数６】
0005746550.tif 000007
【００６１】
なお、標準偏差σは、以下の式（７）が満たされるように予め決定しておく。
【００６２】
【数７】
0005746550.tif 000008
【００６３】
また、特徴点抽出を行わず、画像中から密に検出する場合も同様に式（３）〜（５）に従って計算することができる。また、第１の実施形態と同様に各画像において有用部分４５が見えているかどうかの判定をしてもよい。
【００６４】
ステップＳ１３０２で学習部Ａ２３０は、それぞれのクラスタｋについて、クラスタｋに対するクラスタリング情報として第１の実施形態で列挙した情報に加え、クラスタｋにクラスタリングされた特徴点ｆｉの重み値Ｗｉを識別器保持部Ａ２３１に記録する。
【００６５】
次にステップＳ１３０では認識部Ａ２４０は、撮像部Ａ１００により新たに撮像された認識対象物の撮像画像を取得すると、識別器保持部Ａ２３１に格納されているクラスタリング情報を用いて、この撮像画像中に映っている認識対象物を認識する処理を行う。ステップＳ１３０における処理の詳細について、同処理のフローチャートを示す図１４を用いて説明する。図１４において、図１１に示したステップと同じ処理を行うステップには同じ参照番号を付しており、このステップに係る説明は省略する。
【００６６】
ステップＳ１４０１では認識部Ａ２４０は、識別器保持部Ａ２３１に格納されているそれぞれのクラスタリング情報を参照し、参照したクラスタリング情報中の重み値Ｗｉを用いて、投票時における重みを決定する。
【００６７】
［第３の実施形態］
本実施形態は、上記のステップＳ１１０及びステップＳ１２０における処理のみが第１の実施形態と異なる。然るに、以下では、第１の実施形態と同じ点については説明を省略し、第１の実施形態と異なる点のみについて説明する。
【００６８】
本実施形態ではステップＳ１１０では、有用部分以外の部分（非有用部分）の指定を受け付ける。例えば、図１５に示す如く、認識対象物４０を識別するために有用ではない部分４６が認識対象物４０に備わっている場合、この部分４６の位置若しくは領域を指定する。例えば認識対象物４０が部品である場合を想定する。部品には個々に固有のシリアル番号等の刻印がなされている場合があり、この刻印されている情報は全ての部品に共通の情報ではない。そのため、この刻印がなされている部分は様々な部品を認識する為の学習に有用部分とは成り得ない。然るにこのような場合、有用部分とは成り得ない箇所を積極的に指定する。
【００６９】
本実施形態ではステップＳ１２０では、第１の実施形態で説明したステップＳ１２０の処理において、ステップＳ１１０で指定された非有用部分以外の領域に対して設定された特徴点を用いて学習を行う。
【００７０】
即ち本実施形態では、非設定箇所のうち着目箇所の指定を受け付け、着目箇所以外の箇所に設定されている特徴点における画像特徴量を用いて認識対象物を学習する。また、上記では識別に不要な部分を指定する実施例について述べたが、同時に識別に有用な部分を指定することも可能である。
【００７１】
［第４の実施形態］
本実施形態は、上記のステップＳ１１０及びステップＳ１２０における処理のみが第２の実施形態と異なる。然るに、以下では、第２の実施形態と同じ点については説明を省略し、第２の実施形態と異なる点のみについて説明する。
【００７２】
本実施形態においてもステップＳ１１０では第３の実施形態と同様に、有用部分以外の部分（非有用部分）の指定を受け付ける。本実施形態のステップＳ１２０では、基本的には第２の実施形態と同様であるが、重み値Ｗｉの計算方法が異なる。即ち、以下の式（８）に示す如く、非有用部分の位置をｐとすると、非有用部分の位置ｐとの距離が閾値ｌよりも小さい位置にある特徴点ｆｉに対する重み値Ｗｉは０とする。
【００７３】
【数８】
0005746550.tif 000009
【００７４】
また、特徴点ｆｉの画像上の座標位置を変数とする関数に従って重み値Ｗｉを決定してもよい。例えば、この関数にガウス関数を用いた場合、重み値Ｗｉは以下の式（９）に従って計算しても良い。
【００７５】
【数９】
0005746550.tif 000010
【００７６】
ガウス関数は、以下の式（１０）に示す如く、標準偏差σをパラメータとして以下のように表すことができる。
【００７７】
【数１０】
0005746550.tif 000011
【００７８】
なお、標準偏差σについては第２の実施形態で説明したとおりである。また、第３の実施形態と同様に、上記では、識別に不要な部分を指定する実施例について述べたが、同時に識別に有用な部分を指定することも可能である。
【００７９】
なお、以上説明した各実施形態の部分的な技術を適宜組み合わせて用いることも可能であり、その組み合わせについては、当業者であれば、適宜なし得るものである。また、上記の各実施形態では、認識対象物は現実物体として説明したが、仮想物体としても良く、その場合、撮像部Ａ１００は、この仮想物体を配置する仮想空間においてこの仮想物体を撮像する機能部として実装される。
【００８０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005746550.tif 000012
【図２】
0005746550.tif 000013
【図３】
0005746550.tif 000014
【図４】
0005746550.tif 000015
【図５】
0005746550.tif 000016
【図６】
0005746550.tif 000017
【図７】
0005746550.tif 000018
【図８】
0005746550.tif 000019
【図９】
0005746550.tif 000020
【図１０】
0005746550.tif 000021
【図１１】
0005746550.tif 000022
【図１２】
0005746550.tif 000023
【図１３】
0005746550.tif 000024
【図１４】
0005746550.tif 000025
【図１５】
0005746550.tif 000026
【図１６】
0005746550.tif 000027