(57)【要約】【課題】精度良く識別器を学習できるようにする。【解決手段】特徴量設定部３０２は、識別器で用いる特徴量を設定する。次に、局所領域選択条件設定部３０３は、学習に登録する局所領域の選択条件を設定する。そして、局所領域選択部３０４は、先に設定された特徴量と局所領域の選択条件との両方または局所領域の選択条件のみに基づいて、学習に登録する局所領域を選択し、識別器学習部３０５は、選択された局所領域を識別する識別器を学習する。【選択図】図３
2014182754.tif 000002
【特許請求の範囲】
【請求項１】
対象物の局所領域を識別する識別器を学習する学習装置であって、
前記識別器で用いる特徴量を設定する特徴量設定手段と、
前記特徴量設定手段によって設定された特徴量を取得する位置に基づく所定の選択条件に基づいて前記対象物の局所領域を選択する選択手段と、
前記特徴量設定手段によって設定された特徴量及び前記選択手段によって選択された局所領域を用いて前記識別器を学習する学習手段とを有することを特徴とする学習装置。
【請求項２】
前記所定の選択条件を設定する選択条件設定手段をさらに有することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記特徴量設定手段は、前記局所領域の中で特徴量を取得する位置を設定することを特徴とする請求項１又は２に記載の学習装置。
【請求項４】
前記特徴量は、前記局所領域の中で所定の位置で取得される値と他の所定の位置で取得される値とを比較した２値判定の結果であることを特徴とする請求項３に記載の学習装置。
【請求項５】
前記特徴量設定手段は、前記局所領域の中で特徴量を取得する位置をランダムに設定することを特徴とする請求項３に記載の学習装置。
【請求項６】
前記特徴量設定手段は、前記局所領域の中で特徴量を取得する位置の１点を前記局所領域の中心に設定することを特徴とする請求項３に記載の学習装置。
【請求項７】
前記所定の選択条件は、前記特徴量設定手段によって設定された特徴量を取得する複数の位置の条件であることを特徴とする請求項３乃至６の何れか１項に記載の学習装置。
【請求項８】
前記選択手段によって選択された局所領域に応じて、少なくとも前記特徴量もしくは前記所定の選択条件のいずれかを変更する条件再設定手段をさらに有し、
前記選択手段は、前記条件再設定手段によって再設定された条件に基づいて前記対象物の局所領域を再度選択し、
前記学習手段は、前記選択手段によって再度選択された局所領域を用いて前記識別器を学習することを特徴とする請求項１乃至７の何れか１項に記載の学習装置。
【請求項９】
前記選択手段によって選択された局所領域に応じて、前記対象物のクラスが識別可能か否かを判別する判別手段をさらに有し、
前記学習手段は、前記判別手段によって識別が不可能と判別された局所領域を除いた局所領域を用いて前記識別器を学習することを特徴とする請求項１乃至７の何れか１項に記載の学習装置。
【請求項１０】
前記選択手段によって選択された局所領域に基づいて、各局所領域の識別時の重みを決定する重み決定手段をさらに有することを特徴とする請求項１乃至７の何れか１項に記載の学習装置。
【請求項１１】
前記対象物が撮像された画像を入力する画像入力手段と、
前記学習手段によって学習された識別器を用いて、前記画像入力手段によって入力された画像における前記対象物のクラスを識別する識別手段とをさらに有することを特徴とする請求項１乃至９の何れか１項に記載の学習装置。
【請求項１２】
前記対象物が撮像された画像を入力する画像入力手段と、
前記学習手段によって学習された識別器を用いて、前記重み決定手段によって決定された重みに応じて前記画像入力手段によって入力された画像における前記対象物のクラスを識別する識別手段とをさらに有することを特徴とする請求項１０に記載の学習装置。
【請求項１３】
前記対象物が撮像された画像を入力する画像入力手段と、
前記学習手段によって学習された識別器を用いて、前記画像入力手段によって入力された画像における前記対象物のクラスを識別する識別手段と、
前記識別手段による識別結果に応じて、少なくとも前記特徴量もしくは前記所定の選択条件のいずれかを変更する条件再設定手段とをさらに有し、
前記選択手段は、前記条件再設定手段によって再設定された条件に基づいて前記対象物の局所領域を再度選択し、
前記学習手段は、前記選択手段によって再度選択された局所領域を用いて前記識別器を再学習することを特徴とする請求項１乃至７の何れか１項に記載の学習装置。
【請求項１４】
対象物の局所領域を識別する識別器を学習する学習方法であって、
前記識別器で用いる特徴量を設定する特徴量設定工程と、
前記特徴量設定工程において設定された特徴量を取得する位置に基づく所定の選択条件に基づいて前記対象物の局所領域を選択する選択工程と、
前記特徴量設定工程において設定された特徴量及び前記選択工程において選択された局所領域を用いて前記識別器を学習する学習工程とを有することを特徴とする学習方法。
【請求項１５】
対象物の局所領域を識別する識別器を学習する学習装置を制御するためのプログラムであって、
前記識別器で用いる特徴量を設定する特徴量設定工程と、
前記特徴量設定工程において設定された特徴量を取得する位置に基づく所定の選択条件に基づいて前記対象物の局所領域を選択する選択工程と、
前記特徴量設定工程において設定された特徴量及び前記選択工程において選択された局所領域を用いて前記識別器を学習する学習工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、識別器を学習するために用いて好適な学習装置、画像学習方法及びプログラムに関する。
【背景技術】
【０００２】
従来、識別手法の１つとして、撮像部によって得られる対象物体の画像から抽出される特徴量をコンピュータに学習させ、入力された画像の中に映る物体の種別を識別する研究がなされている。また、物体のモデル情報などを用いて、種別だけではなく、位置や姿勢を同時に推定するような研究もなされている。その技術の応用先としては、高度な組立等の作業をロボットに行わせるための、部品の位置・姿勢識別（認識）などが挙げられる。
【０００３】
非特許文献１には、学習画像からコードブック化した特徴と検出された特徴とを対応付け、確率的投票で物体の中心位置を推定する手法（ｉｍｐｌｉｃｉｔ−ｓｈａｐｅ−ｍｏｄｅｌ）が提案されている。この手法によれば、種別だけではなく、物体の位置も推定することができることが記載されている。
【０００４】
また、特許文献１に記載の方法では、入力画像の中から特徴点を抽出してその特徴量を算出し、学習画像における特徴量と類似する特徴点同士を、対応点として設定する。そして、入力画像における対応点ごとに学習画像の特徴点の特徴量（位置情報を含む）に基づいて基準点に投票することにより対象物を識別するとともに、位置も推定するようにしている。
【０００５】
識別精度を向上させるためには、特徴点およびその特徴点を特徴づける特徴量を適切に選択することが重要である。また、特徴点の代わりに局所領域など対象物体の部分的な領域（以下、局所領域と記す）を用いる場合もある。特許文献２には、学習過程で作成される木構造の各ノードにおいて、認識対象が存在する領域（フォアグラウンド領域）から特徴量を抽出して背景が激しく変動する状況においても対象物を識別できるようにした技術が開示されている。
【０００６】
また、特許文献３には、標準パターンとの相違度または類似度の損失値を求める損失関数を用いて、識別にとって重要な部分に識別処理に用いる局所領域を密に配置する技術が開示されている。さらに、非特許文献２には、画像データから所定のキーポイントを多数検出し、それらのキーポイントのうち、様々な変動を与えた状況であっても、安定的に検出できる可能性の高いキーポイントを、部分的な特徴として選択する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２５７６４９号公報
【特許文献２】特開２０１１−２１６０８７号公報
【特許文献３】特許第４８５２０８６号公報
【非特許文献】
【０００８】
【非特許文献１】B.Leibe, "Robust Object Detection with Interleaved Categorization and Segmentation", IJCV Special Issue on Learning for Vision for learning, Aug. 2007.
【非特許文献２】Vincent Lepetit and Pascal Fua, "Keypoint Recognition Using Randomized Trees", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 28, No. 9, pp.1465-1479, September 2006
【非特許文献３】Mustafa Ozuysal, Michael Calonder, Vincent Lepetit and Pascal Fua, "Fast Keypoint Recognition using Random Ferns", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 32, No. 3, pp. 448-461, March 2010
【非特許文献４】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.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
対象物を識別する際には、学習画像に基づいて対象物を識別する。したがって、対象物を識別する精度を向上させるためには、識別器を精度良く学習できるようにすることが重要である。しかしながら従来の技術では、識別器を学習させる精度が不十分であったため、対象物を識別する精度も不十分であった。
【００１０】
本発明は前述の問題点に鑑み、精度良く識別器を学習できるようにすることを目的としている。
【課題を解決するための手段】
【００１１】
本発明の学習装置は、対象物の局所領域を識別する識別器を学習する学習装置であって、前記識別器で用いる特徴量を設定する特徴量設定手段と、前記特徴量設定手段によって設定された特徴量を取得する位置に基づく所定の選択条件に基づいて前記対象物の局所領域を選択する選択手段と、前記特徴量設定手段によって設定された特徴量及び前記選択手段によって選択された局所領域を用いて前記識別器を学習する学習手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、識別力の高い識別器を学習することができ、対象物を精度良く識別することができる。
【図面の簡単な説明】
【００１３】
【図１】対象物が山積みにされている様子を示す図である。
【図２】対象物の局所領域を説明するための図である。
【図３】本発明の第１の実施形態における対象物識別装置の機能構成例を示すブロック図である。
【図４】本発明の第１の実施形態における識別器を学習する処理手順の一例を示すフローチャートである。
【図５】本発明の第１の実施形態において、学習された識別器を用いて対象物を識別する処理手順の一例を示すフローチャートである。
【図６】対象物を撮像している様子を説明するための図である。
【図７】測地ドームの各視点から対象物を捉えた様子を説明するための図である。
【図８】学習画像の例を示す図である。
【図９】局所領域と対象物中心の関係を示す図である。
【図１０】山積み対象物に対する識別時のスキャン方法を示す図である。
【図１１】識別時に用いる投票空間の例を示す図である。
【図１２】局所領域における特徴量の取得位置を示す図である。
【図１３】局所領域のフォアグラウンドとバックグラウンドとを説明するための図である。
【図１４】局所領域の配置方法を示す図である。
【図１５】本発明の第２の実施形態における対象物識別装置の機能構成例を示すブロック図である。
【図１６】本発明の第２の実施形態における識別器を学習する処理手順の一例を示すフローチャートである。
【図１７】本発明の第３の実施形態における対象物識別装置の機能構成例を示すブロック図である。
【図１８】本発明の第３の実施形態における識別器を学習する処理手順の一例を示すフローチャートである。
【図１９】本発明の第４の実施形態における対象物識別装置の機能構成例を示すブロック図である。
【図２０】本発明の第４の実施形態における識別器を学習する処理手順の一例を示すフローチャートである。
【図２１】本発明の第５の実施形態における対象物識別装置の機能構成例を示すブロック図である。
【図２２】本発明の第５の実施形態において、学習された識別器を用いて対象物を識別する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら説明する。
（第１の実施形態）
本実施形態では、図１に示すように対象物３０が山積みされている状況から各対象物がどの位置にどのような姿勢で存在しているかを識別する例について説明する。なお、図２に示すような各姿勢で撮像された対象物３０の部分領域は、その際に識別器に登録する局所領域４０を示している。
【００１５】
各局所領域の情報には、対象物の姿勢や、対象物における位置の情報が付与されている。そして、識別器によって局所領域を識別して集計することにより対象物がどの位置に、どのような姿勢で存在するかを識別することができる。そこで本実施形態では、識別器を学習する際に登録する局所領域を予め設定された特徴量及び局所領域の選択条件に合わせて適切に選択する。
【００１６】
図３は、本実施形態における対象物識別装置３００の機能構成例を示すブロック図である。
図３において、撮像部３０１は、対象物を撮像して画像データを取得する。また、本実施形態に係る対象物識別装置３００は、特徴量設定部３０２、局所領域選択条件設定部３０３、局所領域選択部３０４、識別器学習部３０５、画像入力部３０６、及び識別部３０７を備えている。さらに、記憶部として特徴量保持部３０８、学習画像保持部３０９、及び識別器保持部３１０を備えている。なお、これらの各構成の処理内容については、以下のフローチャートと合わせて説明する。
【００１７】
図４は、識別器を学習する処理手順の一例を示すフローチャートである。まず、学習する処理手順について説明する。
最初に、ステップＳ４０１において、特徴量設定部３０２は、識別器で用いる特徴量を設定する。特徴量を設定する方法としては、不図示の操作部からユーザの操作に応じて登録してもよいし、予め登録されている特徴量の中からユーザが選択できるようにしてもよい。具体的な特徴量に関しては後述する。そして、設定した特徴量を特徴量保持部３０８に保持する。
【００１８】
次に、ステップＳ４０２において、局所領域選択条件設定部３０３は、学習に登録する局所領域の選択条件を設定する。この条件についてもユーザの操作により登録してもよいし、予め登録されている条件の中からユーザが選択できるようにしてもよい。また、図４に示す処理を開始する前に局所領域を選択する条件を予め決定しておいて、この工程をスキップしてもよい。そして、設定した選択条件を局所領域選択部３０４に出力する。
【００１９】
次に、ステップＳ４０３において、局所領域選択部３０４は、先のステップＳ４０１及びＳ４０２で設定された特徴量と局所領域の選択条件との両方または局所領域の選択条件のみに基づいて、学習に登録する局所領域を選択する。局所領域を選択する学習画像は学習画像保持部３０９に保持されており、選択した局所領域を識別器学習部３０５に出力する。なお、ステップＳ４０１〜Ｓ４０３は、特徴的な処理であるため、後で詳しく説明する。
【００２０】
次に、ステップＳ４０４において、識別器学習部３０５は、ステップＳ４０３において選択された局所領域を識別する識別器を学習する。具体的な識別器についての説明は後述する。そして、学習された識別器を識別器保持部３１０に保持する。
【００２１】
図５は、学習された識別器を用いて対象物を識別する処理手順の一例を示すフローチャートである。
まず、ステップＳ５０１において、画像入力部３０６は、撮像部３０１によって撮像された対象物の画像を入力する。次に、ステップＳ５０２において、識別部３０７は、画像入力部３０６によって入力された対象物の画像を、識別器保持部３１０に保持されている識別器を用いて識別し、対象物のクラスを出力する。
【００２２】
図６は、対象物を撮像している様子を説明するための図である。
図６において、カメラ１０は、図３の撮像部３０１に相当するものであり、識別の対象物３０を捉えている。計算機２０は、図３の対象物識別装置３００に相当するものであり、前述した図３に示した構成を有している。なお、特徴量保持部３０８、学習画像保持部３０９、及び識別器保持部３１０については、不図示の不揮発性の記憶装置として計算機２０と接続された構成としてもよい。
【００２３】
次に、図４及び図５に示したフローチャートに従って、学習処理及び識別処理それぞれの具体的な処理について述べる。まず、学習処理及び識別処理の基本的な方法について簡単に説明する。
【００２４】
本実施形態では、非特許文献３に開示されているようなＦｅｒｎ型識別器を用いることとして説明する。Ｆｅｒｎ型識別器とは、複数の要素識別器を並べた識別器であり、要素識別器には、一般に、比較的単純な２値の識別器が用いられる。つまり、何らかの単純な識別規則に基づいてデータを識別し、｛０、１｝の結果を出力するような要素識別器を用いる。Ｆｅｒｎ型識別器を構成する要素識別器の個数は任意の個数でよいが、ここでは、１個につき１６個の要素識別器で構成されるＦｅｒｎ型識別器を用いる。各要素識別器の出力は｛０，１｝と出力されるため、１６個の上記要素識別器を用いれば、全出力結果は「００００００００００００００００」から「１１１１１１１１１１１１１１１１」となるため、２16＝６５５３６通りのいずれかの結果が得られることになる。学習時には識別する各局所領域がこの６５５３６通りのいずれかの結果になるかを記録することになる。このようなＦｅｒｎ型識別器を複数用いて識別処理を行う。
【００２５】
本実施形態では、Ｆｅｒｎ型識別器を用いて対象物の部分領域を示している局所領域を識別する。どの位置から局所領域を取得するかについてはステップＳ４０３の具体的な処理として後述する。本実施形態における対象物の学習画像は、図７に示すように対象物３０を囲う測地ドーム６０の各視点６１から捉えた学習画像を利用する。図８には、学習画像の例を示す。
【００２６】
識別の際には、このＦｅｒｎ型識別器を用いて各局所領域を識別することにより、入力画像に対象物がどのような姿勢でどのような位置にあるかを識別することができる。識別する際には、例えば、図９に示すように、ある対象物３０の姿勢θの学習画像の各々の局所領域４０の中心３２から対象物の中心３３までのベクトル（ｘ，ｙ）を記録しておく。
【００２７】
また、識別時は、例えば、図１０に示すような山積み対象物３１の中から各対象物がどの位置にどのような姿勢で置かれているかを識別する。このとき、図１０に示すように画像中をスキャンしながら各領域がどの局所領域に合致するかを先に学習した識別器を用いて識別を行い、各局所領域に付与されている情報をもとに、投票空間に投票を行う。画像上でスキャンしている位置を（ｕ，ｖ）とおけば、投票される位置（Ｘ，Ｙ，ＩＤ）は、以下の式（１）により算出される。
（Ｘ，Ｙ，ＩＤ）＝（ｕ＋ｘ，ｖ＋ｙ，θ）      ・・・（１）
【００２８】
ここで、ＩＤはクラスを示していて、この場合は対象物のある姿勢を示している。最終的には、図１１に示す投票空間７０の中で最大投票数をもつ位置（Ｘmax，Ｙmax，ＩＤmax）を検出して識別を行う。これにより、位置（Ｘmax，Ｙmax）に対象物がクラスＩＤmaxに登録されている姿勢で存在することになる。なお、ここではクラスＩＤに姿勢を定義して姿勢を識別したが、クラスＩＤに定義するのは対象物の種別など何でもよい。
【００２９】
次に、図４及び図５に示す各工程の処理を具体的に説明する。
まず、図４のステップＳ４０１では、学習時、識別時に利用する特徴量を予め設定する。本実施形態ではＦｅｒｎ型識別器を用いるため、特徴量としては比較的単純な２点の値の大小比較による２値判定を用いる。例えば、位置が異なる２点（以下、参照点１および参照点２）の値を比較し、その大小関係を識別して、｛０、１｝の結果を出力するというものである。
【００３０】
ステップＳ４０１では、各要素識別器で参照する参照点１および参照点２の位置を決定する。本実施形態においては局所領域の中心を基準位置に定めて、その位置からの相対位置の組み合わせを要素識別数の数（１６個）だけ設定することになる。設定位置はいかなる位置でもよいが、例えば、図１２（ａ）に示すように、局所領域４０において参照点１（図１２における点５０）および参照点２（図１２における点５１）をランダムな位置に設定する。その他の例としては、参照点１もしくは参照点２のどちらかの１点を局所領域の中心（もしくはある特定の点）に固定して、もう一方の参照点をランダムな位置に設定するなどがあげられる。図１２（ｂ）に示す例では、参照点１を局所領域４０内の中心に固定して、参照点２をランダムな位置に設定している。
【００３１】
ここではランダムな位置に設定する例を示したが、全ての参照点をユーザにより設定可能にしてもよい。また、予め設定された複数の点の中からユーザが参照点を選択できるようにしてもよい。本実施形態のように識別器を複数使う場合には識別器ごとにその位置を設定してもよい。
【００３２】
なお、ここでは特徴量として比較的単純な２点の値の大小比較による２値判定を説明したが、局所領域内の特徴抽出をして何らかのルールで｛０，１｝の結果を出力するような特徴量を定めてもよい。特徴抽出方法としては例えば非特許文献４に開示されているＳＵＲＦのような抽出された特徴点まわりの輝度勾配の情報を記述するものでもよい。また、非特許文献５及び６に開示されているその他のいわゆるＫｅｙｐｏｉｎｔｓなどの特徴点でもよい。または、画像パッチやｅｄｇｅｌｅｔ、局所画像内のヒストグラム特徴などでもよい。
【００３３】
ただし、それらをＦｅｒｎ型識別器の特徴量として利用する場合には各要素識別器が｛０，１｝の結果を出力する条件を予め定めておく必要がある。例えば、特徴のある次元の値に応じて所定の閾値に対する大小比較で｛０、１｝を出力してもよいし、標準特徴を定めて、その特徴とのχ２距離を計算して所定の閾値に対する｛０、１｝を出力してもよい。このとき、閾値についてはユーザにより設定可能にしてもよいし、識別器を学習する際に分岐精度が向上するように選択してもよい。例えば、学習に登録した局所領域がほぼ同数ずつ｛０、１｝と判別されるような閾値を選択すればよい。また、特徴量を取得する前にエッジ抽出などの前処理をかける場合にはそれも合わせてここで決定しておく。
【００３４】
次に、ステップＳ４０２では、学習に登録する局所領域を選択する条件を設定する。本実施形態では、局所領域を選択する条件として局所領域のフォアグラウンド率を条件とする。局所領域のフォアグラウンドとは、図１３に示すように、局所領域４０内で対象物３０を捉えている部分４１である。４２は局所領域のバックグラウンドである。また、局所領域のフォアグラウンド率とは局所領域中の対象物領域の割合を示しており、以下の式（２）により算出され、図１３に示す例の場合、以下の式（３）により算出される。
（フォアグラウンド率）＝（局所領域中の対象物領域の面積）／（局所領域の面積）      ・・・（２）
（フォアグラウンド率）＝（部分４１の領域の面積）／（部分４１＋バックグラウンド４２の領域の面積）      ・・・（３）
【００３５】
例えば、局所領域のフォアグラウンド率が１００％であれば、対象物領域に局所領域が完全に含まれており、０％であれば局所領域は対象物領域外に配置されていることになる。また、先のＦｅｒｎ型識別器を用いる場合は特徴量を取得する位置は１６×２＝３２点であるため、以下の式（４）に示すように、その３２点のうち、何点が対象物領域を参照しているかを示す値になる。
（フォアグラウンド率）＝（局所領域中の対象物領域を参照している点）／（全点数）      ・・・（４）
【００３６】
なお、フォアグラウンド率については、ユーザにより設定可能としてもよいし、予め設定しておいてもよい。フォアグラウンド率は例えば５０％や１００％などの適当な数値で設定すればよく、５０％以上や２０％以上８０％以下などのように範囲設定してもよい。
【００３７】
次に、ステップＳ４０３では、ステップＳ４０１及びＳ４０２によって決定された特徴量と選択条件との両方もしくは選択条件のみに基づいて学習時に登録する局所領域を選択する。
まず、選択条件のみに基づいて局所領域を選択する方法について説明する。例えば、特徴量が局所領域内の統計量である場合は、選択条件のみに基づいて選択すればよい。この場合、局所領域のフォアグラウンド率を定義すれば、対象物領域内で局所領域を配置できる領域が決定される。
【００３８】
図１４に示すように、ある姿勢の対象物３０の学習画像に対して、局所領域４０をスキャンして各位置（図１４では局所領域の中心３２の位置で表している）でのフォアグラウンド率を計算し、設定したフォアグラウンド率を満たしているか否かをチェックする。ここで、ｎ局所領域の位置（Ｘ，Ｙ）でのフォアグラウンド率をＦ（Ｘ，Ｙ）とおく。（Ｘ，Ｙ）は対象物画像座標系で局所領域の中心位置を示していて、局所領域サイズと対象物画像（もしくは対象物のモデルとその姿勢）が与えられれば、Ｆ（Ｘ，Ｙ）を算出することができる。設定したフォアグラウンド率をＦとした場合、以下の式（５）を満たす（Ｘ，Ｙ）を探索すればよい。
Ｆ（Ｘ，Ｙ）＞Ｆ      ・・・（５）
【００３９】
この方法によれば、対象物画像中でスキャンしたあと、局所領域の中心を（Ｘ，Ｙ）として局所領域を配置すればよい。配置方法は（Ｘ，Ｙ）からランダムに選択してもよいし、ユーザにより登録できるようにしてもよい。また、局所領域の数は予め設定しておいてもよく、取得できるだけ全て登録してもよい。また、Ｆｅｒｎ型識別器のような複数の識別器を利用する場合は識別器ごとに局所領域の位置を変更してもよい。
【００４０】
これらにより、ステップＳ４０１及びＳ４０２によって決定された特徴量、選択条件に合わせた局所領域を選択できる。フォアグラウンド率を設定することにより、対象物のフォアグラウンドを多く学習できるため、図１０に示すような背景がクラッタな状況においても対象物の位置・姿勢を高精度に識別することができる。
【００４１】
次に、特徴量と選択条件との両方に基づいて局所領域を選択する方法について説明する。
例えば、特徴量を取得する位置が局所領域内で決定されている場合には、特徴量を取得する位置と選択条件とを合わせて考慮する必要がある。図１２（ａ）に示した例のように参照点１および参照点２をランダムな位置に設定している場合には各位置がフォアグラウンドになるかどうかを集計して、フォアグラウンド率を満たす位置に局所領域を配置する。一方、図１２（ｂ）に示した例のように参照点１、参照点２のどちらかを局所領域の中心（又はある特定の点）に固定し、もう一方の参照点をランダムな位置に設定してフォアグラウンド率を５０％以上とした場合は局所領域の中心位置は対象物領域のどこでもよい。
【００４２】
なお、ここではフォアグラウンド率について説明を行ったが、特徴量によっては局所領域内のエッジ率など局所領域内のなんらかの統計量であればなんでもよい。対象物の学習画像に対して局所領域の位置が決定された場合に、一意に統計量が記述できるものであればよい。また、画像として距離画像を利用する場合には距離画像の信頼度などでもよい。エッジ率の場合は、以下の式（６）によって局所領域内のエッジ率を算出すればよい。
（エッジ率）＝（局所領域中のエッジ画素数）／（局所領域の画素数）      ・・・（６）
【００４３】
また、距離画像の信頼度の場合は予め学習画像の各点の距離データおよび距離データの信頼度を用意しておく。信頼度の算出方法では、識別時の距離画像の取得方法がステレオ法の場合は対象物画像のエッジ上では信頼度が高く、平面上では信頼度が低い。逆に光切断法など距離データを取得する場合には、平面上では信頼度が高い。もしくはカメラ位置などを利用して各点の法線ベクトルとの角度で信頼度を定めてもいい。それらの方法で各点の信頼度を算出した後、以下の式（７）により、局所領域の信頼度を求める。
（信頼度）＝Σ（局所領域中の各点の信頼度）／（局所領域の画素数）      ・・・（
７）
【００４４】
次に、ステップＳ４０４では、ステップＳ４０３において選択された局所領域をステップＳ４０１で設定した特徴量で識別する識別器を学習する。先の例だと１２６０００個の局所領域を識別する識別器を学習することになる。各局所領域をステップＳ４０１で定めた要素識別器で６５５３６通りのいずれか（リーフ）に割り振る。そして、各局所領域がどのリーフに割り振られたか（リーフ情報）を記録しておく。以上の作業をＦｅｒｎ型識別器ごとに行い、５０個のＦｅｒｎ型識別器を学習し、この５０個のＦｅｒｎ型識別器を識別器保持部３１０に保持しておく。
【００４５】
次に、識別処理における各工程の具体的な処理内容を説明する。
まず、ステップＳ５０１では、図１０で示したような対象物が多数存在する画像が入力される。この画像を撮像部３０１から入力してもよく、予め取得されている画像を外部装置から入力してもよい。
【００４６】
次に、ステップＳ５０２では、識別器保持部３１０に保持されているＦｅｒｎ型識別器を用いて各対象物の位置および姿勢を識別する。先に説明したとおり、図１０に示すように画像をスキャンして、各局所領域の識別結果を投票空間に投票する。そして、投票空間のなかで最大投票数をもつ（Ｘmax，Ｙmax，ＩＤmax）を検出することによって識別を行う。これにより、（Ｘmax，Ｙmax）の位置に対象物がＩＤmaxに登録されている姿勢で存在することになる。よって、画像中の（Ｘmax，Ｙmax）の位置ＩＤmaxに登録されている姿勢および面内回転角で対象物が存在していることが認識できる。
【００４７】
本実施形態においてはＦｅｒｎ型識別器を用いて説明したが、他にもサポートベクターマシーン（ＳＶＭ）やＫＮｅａｒｅｓｔＮｅｉｇｈｂｏｒなど各局所領域を識別できるものなら何でもよい。
【００４８】
以上のように本実施形態によれば、識別器を学習する際に登録する局所領域を予め設定された特徴量と局所領域の選択条件とに合わせて、適切に選択することによって対象物を識別する精度を向上させることができる。
【００４９】
（第２の実施形態）
本実施形態では、予め設定された特徴量と局所領域の選択条件に合わせて局所領域を選択した後、選択された局所領域に基づいて、少なくとも特徴量もしくは局所領域を選択する条件のいずれかを変更する。そして、識別器に登録する局所領域を再度選択して識別器を再学習する。
【００５０】
図１５は、本実施形態における対象物識別装置１５００の機能構成例を示すブロック図である。本実施形態に係る対象物識別装置１５００は、図３に示した構成に加えて、条件再設定部１５０１と局所領域再選択部１５０２とが具備されている。これらの構成の詳細な説明については後述する。なお、その他の構成については、図３と同様であるため、説明は省略する。
【００５１】
図１６は、本実施形態において、識別器を学習する処理手順の一例を示すフローチャートである。なお、学習された識別器を用いて対象物を識別する処理手順については、図５と同様であるため、説明は省略する。
まず、ステップＳ４０１〜Ｓ４０３については、それぞれ図４のステップＳ４０１〜Ｓ４０３の処理と同様である。
【００５２】
次に、ステップＳ１６０１おいて、ステップＳ４０３において設定された局所領域に基づいて局所領域を再度設定するべきか否かを判定する。なお、この判定方法については後述する。この判定の結果、局所領域を再度設定すべきである場合にはステップＳ１６０２へ進み、設定しなくてもよい場合にはステップＳ４０４に進む。ステップＳ４０４においては、図４のステップＳ４０４と同様である。
【００５３】
ステップＳ１６０２においては、条件再設定部１５０１は、特徴量もしくは局所領域の選択条件を再設定する。そして、ステップＳ１６０３において、局所領域再選択部１５０２は、ステップＳ１６０２において設定された特徴量もしくは局所領域の選択条件に基づいて局所領域を再選択し、ステップＳ１６０１に戻る。
【００５４】
次に、ステップＳ１６０１における判定処理の詳細について説明する。例えば、局所領域の選択条件としてフォアグラウンド率を設定した場合に、フォアグラウンド率を満たす局所領域の数がある姿勢で多く取得できないことがある。また、フォアグラウンド率を高くすると局所領域の位置が部品の中央部分に集中する傾向が強まることがある。対象物がクラッタな状況やオクルージョンされている状況でも高精度に対象物を識別するためには、局所領域は対象物画像に対して多くかつ分散して配置されている方がいい。そこで本実施形態では、予め各姿勢を識別するのに必要な局所領域数を定めておいて、所定数を満たさない場合は再設定が必要であると判定する。もしくは局所領域の設定された位置の分布（分散）を調べて、そのばらつき具合から再設定が必要であるか否かを判定する。
【００５５】
位置の分散は局所領域をＮとして、各局所領域の位置をＸi（ｉ＝１、２、・・・Ｎ）とすると、分散Ｖは以下の式（８）により表すことができる。
【００５６】
【数１】
2014182754.tif 000003
【００５７】
このように、分散Ｖが所定の閾値より小さい場合には再設定する必要があると判定する。
【００５８】
再設定が必要であると判定された場合には、特徴量、もしくは局所領域の選択条件を再設定する。特徴量を変更する場合に、例えば図１２に示すような参照点を決定する場合にはより内側の領域から選択する。また、局所領域の選択条件を再設定する場合には、フォアグラウンド率を小さめに設定する。例えば、ステップＳ４０２で設定されたフォアグラウンド率をＦとして、再設定されたフォアグラウンド率をＦ´とすれば、以下の式（９）の関係となる。
Ｆ´＝αＦ      ・・・（９）
ここで、αはスカラーで定義され、０．９などの値でよい。
【００５９】
このようにして再設定した特徴量、選択条件に基づいて局所領域を再選択する。そして、局所領域を再度設定するべきか否かを判定し、必要がなければ局所領域を識別する識別器を学習する。他の処理については第１の実施形態と同様である。以上のように本実施形態によれば、識別器を学習する際に登録する各対象物クラスの局所領域を途中で再設定して適切に選択することにより対象物を識別する精度をより向上させることができる。
【００６０】
（第３の実施形態）
本実施形態では、予め設定された特徴量と局所領域の選択条件とに合わせて各クラスの局所領域を選択した後、選択された局所領域に基づいて、識別不可能なクラスを識別対象から除外して残りの対象物クラスを識別する識別器を学習する。このように識別不可能のクラスを予め学習対象クラスから除外することにより残りのクラスの識別精度を向上させる。
【００６１】
図１７は、本実施形態における対象物識別装置１７００の機能構成例を示すブロック図である。本実施形態に係る対象物識別装置１７００は、図３に示した構成に加えてチェック部１７０１、及び識別クラス削除部１７０２が具備されている。これらの構成の詳細な説明については後述する。なお、その他の構成については、図３と同様であるため、説明は省略する。
【００６２】
図１８は、本実施形態において、識別器を学習する処理手順の一例を示すフローチャートである。なお、学習された識別器を用いて対象物を識別する処理手順については、図５と同様であるため、説明は省略する。
まず、ステップＳ４０１〜Ｓ４０３については、それぞれ図４のステップＳ４０１〜Ｓ４０３の処理と同様である。
【００６３】
次に、ステップＳ１８０１において、チェック部１７０１は、各対象物クラスで選択された局所領域をチェックし、それぞれのクラスについてそのクラスが識別可能か否かを判別する。判別方法としては、第２の実施形態と同様に各対象物のクラスで選択された局所領域の数もしくはばらつき具合をチェックする。ばらつき具合のチェック方法は第２の実施形態と同様に分散などを用いて調べればよい。
【００６４】
次に、ステップＳ１８０２において、識別クラス削除部１７０２は、ステップＳ１８０１で識別不可能だと判別されたクラスの局所領域を学習時に登録する局所領域から削除する。次に、ステップＳ４０４においては、図４のステップＳ４０４と同様である。
【００６５】
以上のように本実施形態によれば、識別器を学習する際に登録する各対象物クラスの局所領域に応じて各対象物クラスが識別可能かどうかを判別し、対象物クラス数を限定することにより、識別精度をより向上させることができる。
【００６６】
（第４の実施形態）
本実施形態では、予め設定された特徴量と局所領域の選択条件とに合わせて局所領域を選択した後、各対象物クラスで選択された局所領域に基づいて、各局所領域の識別時の重みを決定する。各対象物クラスの局所領域の重みを決定することにより、十分に局所領域を選択することができなかった対象物クラスも識別できるようにし、全体の識別精度を向上させる。
【００６７】
図１９は、本実施形態における対象物識別装置１９００の機能構成例を示すブロック図である。本実施形態に係る対象物識別装置１９００は、図３に示した構成に加えて局所領域重み決定部１９０１が具備されている。この構成の詳細な説明については後述する。なお、その他の構成については、図３と同様であるため、説明は省略する。
【００６８】
図２０は、本実施形態において、識別器を学習する処理手順の一例を示すフローチャートである。なお、学習された識別器を用いて対象物を識別する処理手順については、図５と同様であるため、説明は省略する。
まず、ステップＳ４０１〜Ｓ４０３については、それぞれ図４のステップＳ４０１〜Ｓ４０３の処理と同様である。
【００６９】
次に、ステップＳ２００１において、局所領域重み決定部１９０１は、設定された各対象物クラスの局所領域に基づいて各局所領域の識別時の重みを決定する。識別時にはその重みを利用して統合処理を行って識別する。決定された重みは学習された識別器とともに識別器保持部３１０に保持される。識別時の重みの決定方法については、各対象物クラスで設定された局所領域数に応じて、１／（局所領域数）と設定してもよいし、ばらつき具合から１／（ばらつき具合）と設定してもよい。
【００７０】
なお、識別時の処理内容は第１の実施形態と同様であるが、投票時にステップＳ２００１で決定された重みを付けて投票する。クラス数をＫとおいて、各局所領域の重みをＷk（ｋ＝１、２、・・・・Ｋ）とした場合、投票される位置（Ｘ，Ｙ，ＩＤ）は、以下の式（１０）により重み付けされる。
（Ｘ，Ｙ，ＩＤ）＝（Ｘ，Ｙ，ＩＤ）＋Ｗk    ・・・（１０）
【００７１】
また、識別結果がＳＶＭなどのようにそのＩＤらしさを示すスコアＳが出力される場合には、以下の式（１１）により重み付けされる。
（Ｘ，Ｙ，ＩＤ）＝（Ｘ，Ｙ，ＩＤ）＋ＷkＳ    ・・・（１１）
【００７２】
以上のように本実施形態によれば、識別器を学習する際に登録する各対象物クラスの局所領域に応じて各対象物クラスを識別する際の局所領域の重みを決定する。そして、対象物クラスすべての識別能力を一定にすることにより識別をロバストにすることができる。
【００７３】
（第５の実施形態）
本実施形態では、第１の実施形態に係る識別器の学習方法で学習された識別器を用いて識別処理を行った後、識別結果に応じて少なくとも特徴量もしくは局所領域の選択条件のいずれかを変更して、識別器に登録する局所領域を再度選択して識別器を再学習する。局所領域の変更方法はクラッタな状況でも高精度に識別するためには、フォアグラウンド率をさらに高くして局所領域を選択するか、選択する局所領域数を増やすことが考えられる。選択する局所領域数を増やすことによって様々な位置で局所領域が取得されるためオクルージョンに強くなり、対象物の識別精度を向上させる。
【００７４】
図２１は、本実施形態における対象物識別装置２１００の機能構成例を示すブロック図である。本実施形態に係る対象物識別装置２１００は、図３に示した構成に加えて、条件再設定部２１０１と局所領域再選択部２１０２とが具備されている。これらの構成の詳細な説明については後述する。なお、その他の構成については、図３と同様であるため、説明は省略する。
【００７５】
図２２は、本実施形態において、学習された識別器を用いて対象物を識別する処理手順の一例を示すフローチャートである。なお、識別器を学習する処理手順については、図４と同様であるため、説明は省略する。
まず、ステップＳ５０１及びＳ５０２については、それぞれ図５のステップＳ５０１及びＳ５０２の処理と同様である。
【００７６】
次に、ステップＳ２２０１において、識別部３０７は、ステップＳ５０２の識別結果に基づいて識別器を評価する。識別器の評価方法としては評価データを用意してもよいし、ユーザが判断できるようにしてもよい。また、評価基準を設けてもよく、例えば、山積み対象物をロボットで把持する場合の対象物の位置・姿勢を識別する場合には把持成功率などを評価してもよい。この評価の結果、再設定が必要であると判断した場合はステップＳ２２０１に進み、再設定は必要ないと判断した場合は処理を終了する。
【００７７】
ステップＳ２２０２においては、条件再設定部２１０１は、特徴量、局所領域の選択条件、選択する局所領域数のうち少なくとも１つを再設定する。例えば、局所領域の選択条件がフォアグラウンド率である場合は、フォアグラウンド率を少し高めにしてより厳しめに局所領域を選択するようにしてもよい。もしくは局所領域の数を増やすために、フォアグラウンド率を少し低めに設定したり、特徴量もしくは局所領域数を変更したりしてもよい。また、設定方法としては、ユーザの選択に応じて設定できるようにしてもよく、フォアグラウンド率などの場合は予め設定方法を決定しておいて、その中から変更してもよい。また、Ｆｅｒｎ型識別器などを利用する場合には、いくつかの識別器のみを変更してもよい。
【００７８】
次に、ステップＳ２２０３において、局所領域再選択部２１０２は、ステップＳ２２０２で再設定された条件に基づいて局所領域を再選択する。そして、ステップＳ２２０４において、識別器学習部３０５は、ステップＳ２２０３で再選択された局所領域を識別する識別器を再学習する。
【００７９】
以上のように本実施形態によれば、識別結果に応じて、再度識別器に登録する局所領域を選択して再学習するようにしたので、識別精度をより向上させることができる。なお、本実施形態では、第１の実施形態の識別器の学習方法によって学習された例について説明したが、第２〜第４の実施形態の何れかの方法によって学習された識別器に適用してもよい。
【００８０】
（その他の実施形態）
また、本発明は、以下の処理（制御）を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８１】
３０２  特徴量設定部
３０３  局所領域選択条件設定部
３０４  局所領域選択部
３０５  識別器学習部
【図１】
2014182754.tif 000004
【図２】
2014182754.tif 000005
【図３】
2014182754.tif 000006
【図４】
2014182754.tif 000007
【図５】
2014182754.tif 000008
【図６】
2014182754.tif 000009
【図７】
2014182754.tif 000010
【図８】
2014182754.tif 000011
【図９】
2014182754.tif 000012
【図１０】
2014182754.tif 000013
【図１１】
2014182754.tif 000014
【図１２】
2014182754.tif 000015
【図１３】
2014182754.tif 000016
【図１４】
2014182754.tif 000017
【図１５】
2014182754.tif 000018
【図１６】
2014182754.tif 000019
【図１７】
2014182754.tif 000020
【図１８】
2014182754.tif 000021
【図１９】
2014182754.tif 000022
【図２０】
2014182754.tif 000023
【図２１】
2014182754.tif 000024
【図２２】
2014182754.tif 000025