(57)【要約】【課題】入力画像に対して、予め設定された検出対象に相当する物体が存在する領域を認識するとともに、その認識された検出対象に相当する物体の状況についても判定できる画像処理装置、画像処理方法および画像処理プログラムが要望されている。【解決手段】画像処理方法は、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを含む。【選択図】図９
2016103094.tif 000002
【特許請求の範囲】
【請求項１】
学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを備え、
前記複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第１のサンプルと、前記検出対象のうち前記予め定められた条件に適合しない部分を示す第２のサンプルと、非検出対象を示す第３のサンプルとを含み、
前記決定木群を構築するステップは、
末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、
前記決定されたそれぞれの分岐関数に従って、前記部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、前記第１のサンプルおよび前記第２のサンプルの合計と前記第３のサンプルとの割合を示す第１の確率、および、前記第１のサンプルと前記第２のサンプルとの割合を示す第２の確率、を決定するステップとを含み、さらに
入力画像から得られた複数の部分入力画像が前記決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、前記入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、前記入力画像内に含まれる検出対象が前記予め定められた条件に適合するか否かを判定するステップを備える、画像処理方法。
【請求項２】
前記決定木群を構築するステップは、末端ノードではない各ノードにおいて、前記決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類した結果に基づいて、各ノードについての、前記検出対象と前記非検出対象との識別能力を示す第１の重み、および、前記第１のサンプルと前記第２のサンプルとの識別能力を示す第２の重みをそれぞれ決定するステップをさらに含む、請求項１に記載の画像処理方法。
【請求項３】
前記決定木群を構築するステップは、前記決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類したときに、前記第１のサンプルおよび前記第２のサンプルが同一の子ノードに分類されている割合が高いほど、前記第１のサンプルと前記第２のサンプルとの識別能力を示す重みを低くするステップをさらに含む、請求項１に記載の画像処理方法。
【請求項４】
前記部分学習画像、および前記部分入力画像のうち誤識別されたまたは誤識別される可能性の高い部分入力画像を、前記決定木群に与えて、各画像をいずれかの末端ノードに到達するまで順次分岐させることで、各画像が到達する末端ノードを特定するステップと、
前記部分入力画像が到達した末端ノードにおける前記部分学習画像と前記部分入力画像との識別確率に応じて、当該末端ノードから分岐する子ノードを追加するステップとをさらに備える、請求項１〜３のいずれか１項に記載の画像処理方法。
【請求項５】
互いに近傍にある領域から抽出された前記検出対象を示す複数の部分学習画像を単一のグループに設定するステップをさらに備え、
前記決定木群を構築するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む、請求項１〜４のいずれか１項に記載の画像処理方法。
【請求項６】
前記学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップをさらに備える、請求項１〜５のいずれか１項に記載の画像処理方法。
【請求項７】
学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する手段を備え、
前記複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第１のサンプルと、前記検出対象のうち前記予め定められた条件に適合しない部分を示す第２のサンプルと、非検出対象を示す第３のサンプルとを含み、
前記決定木群を構築する手段は、
末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する手段と、
前記決定されたそれぞれの分岐関数に従って、前記部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、前記第１のサンプルおよび前記第２のサンプルの合計と前記第３のサンプルとの割合を示す第１の確率、および、前記第１のサンプルと前記第２のサンプルとの割合を示す第２の確率、を決定する手段とを含み、さらに
入力画像から得られた複数の部分入力画像が前記決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、前記入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、前記入力画像内に含まれる検出対象が前記予め定められた条件に適合するか否かを判定する手段を備える、画像処理装置。
【請求項８】
コンピュータで実行される画像処理プログラムであって、前記画像処理プログラムは、前記コンピュータに、
学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを実行させ、
前記複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第１のサンプルと、前記検出対象のうち前記予め定められた条件に適合しない部分を示す第２のサンプルと、非検出対象を示す第３のサンプルとを含み、
前記決定木群を構築するステップは、
末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、
前記決定されたそれぞれの分岐関数に従って、前記部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、前記第１のサンプルおよび前記第２のサンプルの合計と前記第３のサンプルとの割合を示す第１の確率、および、前記第１のサンプルと前記第２のサンプルとの割合を示す第２の確率、を決定するステップとを含み、さらに
入力画像から得られた複数の部分入力画像が前記決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、前記入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、前記入力画像内に含まれる検出対象が前記予め定められた条件に適合するか否かを判定するステップを実行させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体認識に向けられた画像処理方法、画像処理装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
製造現場などでは、画像処理技術を用いた様々な自動化技術が開発されている。例えば、特開２００４−１８８５６２号公報（特許文献１）は、ロボットに３次元視覚センサを搭載し、開口付の容器内等に存在するワークの位置姿勢を認識し、それに基づいてワークの取出しを行なうワーク取出し装置を開示する。
【０００３】
このような物体認識技術としては、各種の方法が提案されている。例えば、特開２０１３−００３９１９号公報（特許文献２）は、カメラで取得した撮像画像データをコードブックと照合し、複数の小領域画像パターンのうち最も近い小領域画像パターンを選択し、その小領域画像パターンについて重みが閾値以上となるノードの中で重みが最も小さいノードに係るクラスを抽出し、そのクラスに対して小領域画像パターンの位置情報を投票して、物体を認識する方法を開示する。
【０００４】
また、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ法と称される識別方法が知られている。Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ法では、学習処理として、データ集合から複数個のサブセットを抽出し、各サブセットについて決定木（単純ベイズ識別器）を構築する。すなわち、教師あり学習として、サブセットごとの決定木群が構築される。例えば、特開２０１２−０４２９９０号公報（特許文献３）は、決定木群を識別器として用いるランダムフォレスト法を画像アノテーション技術（画像識別情報付与技術）に適用した画像識別情報付与装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１８８５６２号公報
【特許文献２】特開２０１３−００３９１９号公報
【特許文献３】特開２０１２−０４２９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した先行技術では、主として、検出対象の物体がいずれの位置・姿勢にあるのか、検出対象の物体が存在するのか否か、あるいは、ある物体が複数の候補のうちいずれと一致するのかといったことを判定する。しかしながら、実際の製造現場などでは、認識された物体がおかれた状況なども評価する必要があるが、上述した先行技術では、このような状況までも評価することは想定されていない。
【０００７】
そのため、撮像などにより取得された入力画像に対して、予め設定された検出対象に相当する物体が存在する領域を認識するとともに、その認識された検出対象に相当する物体の状況についても判定できる画像処理装置、画像処理方法および画像処理プログラムが要望されている。
【課題を解決するための手段】
【０００８】
本発明のある局面に従う画像処理方法は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを含む。複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第１のサンプルと、検出対象のうち予め定められた条件に適合しない部分を示す第２のサンプルと、非検出対象を示す第３のサンプルとを含む。決定木群を構築するステップは、末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、決定されたそれぞれの分岐関数に従って、部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、第１のサンプルおよび第２のサンプルの合計と第３のサンプルとの割合を示す第１の確率、および、第１のサンプルと第２のサンプルとの割合を示す第２の確率、を決定するステップとを含む。画像処理方法は、さらに、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを含む。
【０００９】
好ましくは、決定木群を構築するステップは、末端ノードではない各ノードにおいて、決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類した結果に基づいて、各ノードについての、検出対象と非検出対象との識別能力を示す第１の重み、および、第１のサンプルと第２のサンプルとの識別能力を示す第２の重みをそれぞれ決定するステップをさらに含む。
【００１０】
あるいは、好ましくは、決定木群を構築するステップは、決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類したときに、第１のサンプルおよび第２のサンプルが同一の子ノードに分類されている割合が高いほど、第１のサンプルと第２のサンプルとの識別能力を示す重みを低くするステップをさらに含む。
【００１１】
好ましくは、画像処理方法は、さらに、部分学習画像、および部分入力画像のうち誤識別されたまたは誤識別される可能性の高い部分入力画像を、決定木群に与えて、各画像をいずれかの末端ノードに到達するまで順次分岐させることで、各画像が到達する末端ノードを特定するステップと、部分入力画像が到達した末端ノードにおける部分学習画像と部分入力画像との識別確率に応じて、当該末端ノードから分岐する子ノードを追加するステップとを含む。
【００１２】
好ましくは、画像処理方法は、さらに、互いに近傍にある領域から抽出された検出対象を示す複数の部分学習画像を単一のグループに設定するステップを含み、決定木群を構築するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む。
【００１３】
好ましくは、画像処理方法は、さらに、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップを含む。
【００１４】
本発明の別の局面に従う画像処理装置は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する手段を含む。複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第１のサンプルと、検出対象のうち予め定められた条件に適合しない部分を示す第２のサンプルと、非検出対象を示す第３のサンプルとを含む。決定木群を構築する手段は、末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する手段と、決定されたそれぞれの分岐関数に従って、部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、第１のサンプルおよび第２のサンプルの合計と第３のサンプルとの割合を示す第１の確率、および、第１のサンプルと第２のサンプルとの割合を示す第２の確率、を決定する手段とを含む。画像処理装置は、さらに、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定する手段を含む。
【００１５】
本発明のさらに別の局面に従えば、コンピュータで実行される画像処理プログラムが提供される。画像処理プログラムは、コンピュータに、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを実行させる。複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第１のサンプルと、検出対象のうち予め定められた条件に適合しない部分を示す第２のサンプルと、非検出対象を示す第３のサンプルとを含む。決定木群を構築するステップは、末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、決定されたそれぞれの分岐関数に従って、部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、第１のサンプルおよび第２のサンプルの合計と第３のサンプルとの割合を示す第１の確率、および、第１のサンプルと第２のサンプルとの割合を示す第２の確率、を決定するステップとを含む。コンピュータに、さらに、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第１の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第２の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを実行させる。
【発明の効果】
【００１６】
本発明のいくつかの局面によれば、撮像などにより取得された入力画像に対して、予め設定された検出対象に相当する物体が存在する領域を認識するとともに、その認識された検出対象に相当する物体の状況についても判定できる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係る画像処理装置を含む画像処理システムの構成例を示す概略図である。
【図２】本実施の形態に係る画像処理装置の構成例を示す模式図である。
【図３】本実施の形態に係る画像認識方法の背景を説明する図である。
【図４】本実施の形態に係る物体認識方法において使用される学習画像を説明する図である。
【図５】本実施の形態に係る画像認識方法における重みの効果を説明する図である。
【図６】本実施の形態に係る画像認識方法における重みの更新による効果を説明する図である。
【図７】本実施の形態に係る画像認識方法における重みの更新による効果を説明する図である。
【図８】本実施の形態に係る物体認識方法において使用される学習画像のＢａｇの生成を説明する図である。
【図９】本実施の形態に係る物体認識方法における学習処理での決定木群の構築処理を説明するための図である。
【図１０】本実施の形態に係る物体認識方法の学習処理の処理手順を示すフローチャートである。
【図１１】本実施の形態に係る物体認識方法における学習処理での分岐関数の決定する処理を説明するための模式図である。
【図１２】本実施の形態に係る物体認識方法における学習処理により得られる末端ノードの情報を説明するための模式図である。
【図１３】本実施の形態に係る物体認識方法における認識処理手順を示すフローチャートである。
【図１４】本実施の形態に係る物体認識方法における認識処理を説明する図である。
【図１５】本実施の形態に係る物体認識方法による認識結果の一例を示す図である。
【図１６】本実施の形態に係る物体認識方法における追加学習処理を説明する図である。
【図１７】本実施の形態に係る物体認識方法における追加学習処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００１９】
＜Ａ．画像処理システムの構成例＞
図１は、本実施の形態に係る画像処理装置１００を含む画像処理システム１の構成例を示す概略図である。図１には、一例として、ビンピッキングシステムに向けられる画像処理システム１を示す。ビンピッキングシステムは、入力画像から、商品選別や部品組み立てのために指定された物体（以下、「ワーク」とも称す。）の位置・姿勢を認識し、その認識された位置・姿勢の情報に従って、当該認識されたワークを把持（ピッキング）するものである。
【００２０】
より具体的には、画像処理システム１は、撮像装置２と、画像処理装置１００と、ピッキングロボット２００とを含む。画像処理装置１００は、撮像装置２からの入力画像内から予め登録された検出対象に相当するワーク４の位置・姿勢を認識し、その検出したワーク４の位置・姿勢の情報をピッキングロボット２００へ出力する。ピッキングロボット２００は、画像処理装置１００からの情報に従って、対象のワーク４を把持して、所定の位置まで移動させる。
【００２１】
本発明に係る画像処理方法、画像処理装置、画像処理プログラムの応用先は、図１に示すビンピッキングシステムに限られるものではなく、画像認識技術を利用した各種システムに適用可能である。
【００２２】
＜Ｂ．画像処理装置の構成例＞
次に、図１に示す画像処理装置１００の構成例について説明する。図２は、本実施の形態に係る画像処理装置１００の構成例を示す模式図である。図２には、画像処理装置１００の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
【００２３】
より具体的には、画像処理装置１００は、プロセッサ１０２と、主メモリ１０４と、ＨＤＤ（Hard Disk Drive）１０６と、ネットワークインターフェイス１１０と、画像入力インターフェイス１１２と、入力部１１４と、表示部１１６と、出力インターフェイス１１８とを含む。これらのコンポーネントは、内部バス１２０を介して、互いに通信可能に接続されている。
【００２４】
プロセッサ１０２は、後述する処理を実行する処理主体であり、ＨＤＤ１０６に格納されている画像処理プログラム１０８を主メモリ１０４に展開して実行する。プロセッサ１０２は、典型的には、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）からなる。ＨＤＤ１０６には、後述する学習処理の結果得られる決定木や認識処理の結果などが格納されてもよい。
【００２５】
ネットワークインターフェイス１１０は、外部ネットワークなどを介した他の装置やサーバなどとの通信を仲介する。画像入力インターフェイス１１２は、任意の通信プロトコルに準拠した回路を含み、撮像装置２からの学習画像および／または入力画像を受付ける。入力部１１４は、キーボードやマウスなどを含み、ユーザからの入力操作を受付ける。表示部１１６は、ディスプレイなどからなり、学習処理や認識処理などの処理過程や結果などをユーザへ通知する。出力インターフェイス１１８は、任意の通信プロトコルに準拠した回路を含み、認識処理によって得られた結果などを外部（例えば、ピッキングロボット２００など）へ出力する。
【００２６】
撮像装置２は、被写体を撮像することで入力画像を生成する手段であり、一例として、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといったデバイスを含む。
【００２７】
画像処理装置１００の機能の全部または一部を、例えば、ＳｏＣ（System on a chip）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）などの回路要素を用いて実現してもよい。図２に示す画像処理プログラム１０８は、任意の記録媒体（例えば、光ディスクやフラッシュメモリなど）を通じて画像処理装置１００へインストールされてもよいし、ネットワークを介して配信されてもよい。さらに、画像処理装置１００とサーバ装置とを連携させて後述する処理や機能を実現してもよい。この場合には、画像処理装置１００およびサーバ装置のいずれか一方または両方に、本実施の形態を実現するために必要な機能が存在することになる。
【００２８】
撮像装置２と画像処理装置１００とを一体的に構成してもよいし、撮像装置２と直接接続されていない画像処理装置１００を採用してもよい。後者の場合には、任意の撮像手段を用いて画像を生成または取得し、その生成または取得された画像をネットワークや任意の記録媒体を介して、画像処理装置１００に取り込むようにしてもよい。
【００２９】
＜Ｃ．概要＞
次に、本実施の形態に係る物体認識方法の概要について説明する。
【００３０】
図１に示すようなビンピッキングシステムにおいては、検出対象に相当するワークの位置・姿勢の認識に加えて、当該認識されたワークを把持できるか否かを判定する必要がある。図３は、本実施の形態に係る画像認識方法の背景を説明する図である。
【００３１】
図３（ａ）に示すように、飲料容器をワーク４の一例とするビンピッキングシステムを想定すると、認識されたワーク４が他のワーク４から離れていれば（すなわち、他のワーク４との干渉がなければ）、容易に把持できるが、認識されたワーク４が他のワーク４に隣接していれば（すなわち、他のワーク４と干渉していれば）、把持することは困難になる。
【００３２】
関連技術に係る物体認識方法では、図３（ｂ）に示すように、ワークの位置・姿勢を認識する処理（ワーク認識）に加えて、認識されたワークを把持できるか否かを判定する処理（把持判定）を行なう必要があった。すなわち、関連技術に係る物体認識方法では、入力画像１０に対して、ワーク認識１２および把持判定１４を実行した後、ワークの把持動作１６を実行する必要があった。
【００３３】
図３（ｂ）に示すような処理手順の場合には、把持判定１４において、入力画像およびその距離画像などを用いてルールを予め設定する必要がある。より具体的には、認識されたワークの周囲の状況を示す３次元マップと、ピッキングロボット２００の把持動作を示すハンドマップとの間のルールを定める必要がある。すなわち、図３（ｂ）に示すような処理手順を実行するにあたっては、把持判定１４を適切に処理するために、予めルールを設定する必要があり、これらのルールの設定に人的コストを要するという課題がある。
【００３４】
これに対して、本実施の形態に係る物体認識方法では、図３（ｃ）に示すように、ワーク認識および把持判定を一体的に含む認識処理１３を実行する。認識処理１３では、把持判定の内容を含めて、ワーク４に対する認識処理が実行される。そのため、把持判定１４の実行に必要なルールを予め設定する必要がない。
【００３５】
すなわち、ワーク４を認識するための識別器を構築する学習処理において、ワーク４として認識すべき事例の画像と、ワーク４として認識すべきではない事例の画像とを与えるとともに、ワーク４として認識すべき事例の画像の中に、把持容易な状況を示す事例の画像と、把持困難な状況を示す事例の画像とを含める。これらの画像を用いて、学習処理を行なうことで、ワークの位置・姿勢の認識と同時に、把持容易であるか、あるいは把持困難であるかといった状況についても判定することができる。つまり、本実施の形態に従う物体認識方法では、図３（ｂ）に示す把持判定１４に必要なルールを予め設定する必要はない。
【００３６】
理解を容易にするために、ビンピッキングシステムという具体例を例に説明したが、これに限られず、本実施の形態に係る物体認識方法は、ワークの位置・姿勢の認識と、当該認識されたワークが予め定められた条件に適合するか否か（認識されたワークがおかれた状況）の判定とを同時に行なう必要があるような各種のアプリケーションに適用可能である。
【００３７】
例えば、平積みされた複数のワークをある規則に従って順次把持するようなアプリケーションを想定すると、ワークの位置・姿勢の認識と、当該認識したワークが優先的に把持されるべきであるか否かを判定するようなピッキングシステムにも適用できる。さらに、ワークを把持するだけではなく、ワークを吸着するアプリケーションや、ワークに対して何らかの加工処理を行なうようなアプリケーションにも適用可能である。
【００３８】
さらに、ワークが予め定められた条件に適合するか否かという２つの区分の判定だけではなく、より多くの区分のうち、いずれに属するのかを判定してもよい。例えば、上述した、ワークを把持するアプリケーションでは、「把持することは容易」、「（容易とまでは言えないが）把持することができる」、「把持することは困難」のいずれであるかを判定することもできる。
【００３９】
以上のとおり、本実施の形態に係る物体認識方法は、入力画像内に検出対象が含まれているか否かを判定するとともに、当該入力画像内に含まれる検出対象が予め定められた条件に適合するか否か（認識されたワークがおかれた状況）を判定する。
【００４０】
本実施の形態に係る物体認識方法は、統計的学習法を用いて入力画像からワークを認識する。特に、本実施の形態に係る物体認識方法は、局所パッチベースの統計的学習法に向けられる。局所パッチベースは、入力画像から切り出された部分入力画像（以下「入力パッチ」とも称す。）を物体認識に利用する手法である。入力画像から切り出された複数の入力パッチを用いて投票処理を行なうため、ワークの一部に隠れや変形が生じていても、ロバストな物体認識を実現できる。
【００４１】
このような局所パッチベースの統計的学習法の一例として、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ（決定木群）を入力パッチの物体認識に利用したＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法が提案されている。Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法は、入力画像から切り出された複数の入力パッチをＲａｎｄｏｍ  Ｆｏｒｅｓｔｓに入力し、各入力パッチが到達した末端ノードのクラス確率を、検出対象の中心までのオフセット量（オフセットベクトル）を用いて投票する物体認識方法である。Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法では、サンプル画像から切り出された部分画像（以下「学習パッチ」とも称す。）のサブセットから学習処理によって決定木群を構築した上で、入力画像から切り出された入力パッチを決定木群に入力する。各入力パッチが各決定木においていずれのリーフノード（以下「末端ノード」とも称す。）に到達したのかを判定し、それぞれの末端ノードに保持されている情報（すなわち、学習処理にて予め得られている情報）を用いて、入力画像内に検出対象に相当するワークの位置・姿勢を認識する。
【００４２】
本実施の形態に係る物体認識方法は、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法をベースにしているが、以下に詳述するような新規な処理を含むことで、一般的なＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法では得られない、顕著な作用効果を奏するものである。
【００４３】
本実施の形態に係る物体認識方法は、教師付き学習に従う学習処理と、学習処理によって得られた学習結果を用いて、入力画像から検出対象に相当するワークの位置・姿勢の認識、および、当該認識されたワークが予め定められた条件に適合するか否かの判定を行なう認識処理とを含む。さらに、本実施の形態に係る物体認識方法においては、学習処理を実行することで得られた学習結果では、適切な認識結果が得られないような場合に、その学習結果を補正する追加学習処理を含めることができる。以下、本実施の形態に係る物体認識方法について、「学習処理」、「認識処理」、「追加学習処理」の順に詳述する。
【００４４】
＜Ｄ．学習処理＞
（ｄ１：学習処理に用いる学習画像）
本実施の形態に係る物体認識方法の学習処理では、複数の部分学習画像を用いて、入力パッチを識別するためのＲａｎｄｏｍ  Ｆｏｒｅｓｔｓ（以下、「決定木群」とも称す。）を構築する。決定木群は、後述するように、ルートノードから複数の末端ノードまでの階層構造を有している。このように、学習処理は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する工程を含む。
【００４５】
認識処理では、入力画像から切り出された入力パッチを決定木群に入力し、各末端ノードに到達した入力パッチについてのクラス確率などを用いることで、検出対象に相当するワークの位置・姿勢の認識、および、当該認識されたワークが予め定められた条件に適合するか否かの判定を行なう。
【００４６】
本実施の形態に係る物体認識方法の学習処理では、ワークの位置・姿勢を認識するため、検出対象（すなわち、位置・姿勢を認識すべき対象）のワークの少なくとも一部が写った学習画像（以下、「ポジティブ画像」とも称す。）と、非検出対象（すなわち、位置・姿勢を認識されるべきではない対象）のワークの少なくとも一部が写った学習画像（以下、「ネガティブ画像」とも称す。）とを用いる。そして、ポジティブ画像から切り出された部分学習画像を「ポジティブパッチ」とも称し、ネガティブ画像から切り出された部分学習画像を「ネガティブパッチ」とも称す。以下では、「ポジティブパッチ」および「ネガティブパッチ」を単に「学習パッチ」と総称することもある。本実施の形態に係る物体認識方法は、局所パッチベースの統計的学習法であるため、これらの学習パッチを用いて、学習処理および認識処理を実行する。
【００４７】
後述するように、本実施の形態に係る物体認識方法においては、複数のパッチを集合体（Ｂａｇ）として扱う場合もあるため、説明の便宜上、学習画像から取得された１または複数のパッチを「学習サンプル」と総称することもある。同様に、１または複数のポジティブパッチを「ポジティブサンプル」と総称し、ネガティブパッチを「ネガティブサンプル」と総称する場合もある。また、入力パッチについても「入力サンプル」と総称する場合もある。
【００４８】
学習画像としては任意の形式の画像を用いることができるが、物体認識においては、距離画像、すなわちある撮像点からワーク表面の各点までの距離を画素値とした画像を用いることが好ましい。もちろん、通常の画像、すなわちワーク表面の各点の明るさを画素値とした画像を用いることもできる。
【００４９】
図４は、本実施の形態に係る物体認識方法において使用される学習画像を説明する図である。図４には、（ａ）ポジティブ画像、および、（ｂ）ネガティブ画像を示す。図４に示されるポジティブ画像２０は、検出対象として飲料容器を想定したものである。検出対象のワークを識別するために、外観の特徴が似ていないと考えられる別のワークを写したネガティブ画像３０を用いて、検出対象と非検出対象とを区別するための決定木群を構築する。
【００５０】
本実施の形態に係る物体認識方法においては、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するため、ポジティブ画像２０を、その判定すべき条件に応じて、２またはそれ以上の区分（以下、「サブクラス」とも称す。）に分類する。言い換えれば、判定すべき条件の数に応じたそれぞれのサブクラスの学習画像を用意する。図４に示す例では、１つの条件、つまり上述したような、認識されたワークを把持できるか否かを判定するために、把持容易を示す入力画像と、把持困難を示す入力画像とを、ポジティブ画像２０に含める。
【００５１】
図４に示すポジティブ画像２０は、飲料容器が把持可能に配置されている状態（サブクラス１）を写した学習画像２２（（ａ−１）把持容易）と、飲料容器が把持困難に配置されている状態（サブクラス２）を写した学習画像２４（（ａ−２）把持困難）とを含む。なお、図４に示すような、学習画像の生成方法については、後述する。
【００５２】
学習処理においては、ポジティブ画像２０（学習画像２２および学習画像２４を含む）およびネガティブ画像３０からそれぞれ切り出した複数の学習パッチを用いて、決定木群を構築する。この複数の学習パッチ（部分学習画像）は、検出対象のうち予め定められた条件に適合する部分を示す学習画像２２（第１のサンプル）と、検出対象のうち予め定められた条件に適合しない部分を示す学習画像２４（第２のサンプル）と、非検出対象を示すネガティブ画像３０（第３のサンプル）とを含む。
【００５３】
構築される決定木群は、入力画像から切り出された入力パッチが、ポジティブ画像２０およびネガティブ画像３０のいずれに類似している可能性が高いのかという確率と、ポジティブ画像２０に該当するとした場合に、サブクラス１およびサブクラス２のいずれに類似している可能性が高いのかという確率とを算出するのに用いられる。
【００５４】
（ｄ２：「重み」の概念の導入）
本実施の形態に係る物体認識方法においては、決定木のノードについて「重み」という概念を導入し、決定木群を構築する際に、誤識別を生じる可能性の高い学習パッチを、実質的に自動的に取捨選択できる新たな仕組みを採用することが好ましい。
【００５５】
上述したように、本実施の形態に係る物体認識方法では、ポジティブサンプルとネガティブサンプルとの間の識別（クラス識別）、および、学習画像２２（（ａ−１）把持容易：サブクラス１）と学習画像２４（（ａ−２）把持困難：サブクラス２）との間の識別（サブクラス識別）を行なう必要があるので、ポジティブサンプルとネガティブサンプルとの間の識別に係る第１の重みと、サブクラス１とサブクラス２との間の識別に係る第２の重みとの２種類の重みを用いる。
【００５６】
本実施の形態に係る「重み」は、決定木群を構築する際に、一方の学習画像から得られた学習パッチが示す特徴が他方の学習画像に類似しているような場合に、当該学習パッチについてのクラス確率を相対的に低減するために用いる。クラス確率は、入力画像から切り出された入力パッチに対する投票処理に用いられる確率である。学習画像からの切り出された信頼度の低い学習パッチについての確率を低減することで、認識処理において、誤識別を抑制できる。
【００５７】
より具体的には、ポジティブ画像２０から切り出された学習サンプルのうち、ネガティブ画像３０に類似している学習サンプルについては、その重み（第１の重み）を相対的に低くする。また、学習画像２２（（ａ−１）把持容易）から切り出された学習サンプルのうち、学習画像２４（（ａ−２）把持困難）に類似している学習サンプルについては、その重み（第２の重み）を相対的に低くする。それぞれの重みは、決定木群を構築する際に、順次算出または更新される。
【００５８】
このように、ポジティブ画像２０から切り出された学習サンプルについては、第１の重みおよび第２の重みがそれぞれ独立に設定されることになる。一方、ネガティブ画像３０から切り出された学習パッチについては、第１の重みが設定されることになる。
【００５９】
図５は、本実施の形態に係る画像認識方法における重みの効果を説明する図である。図５（ａ）には、学習処理によって決定される重みの分布例を概念的に示し、図５（ｂ）には、認識処理による投票結果の一例を示す。
【００６０】
第１の重みとして、ポジティブサンプルとネガティブサンプルとの間（クラス）の重みｗ１ｉｊを導入し、第２の重みとして、サブクラス１（把持容易）とサブクラス２（把持困難）との間（サブクラス）の重みｗ２ｉｊを導入する。ここで、添え字「ｉｊ」は、ｉ番目のＢａｇに所属するｊ個目の学習パッチであることを意味する。Ｂａｇは、互いに類似した複数の学習パッチからなる群であり、その詳細については後述する。
【００６１】
図５（ａ）に示すように、ポジティブサンプルとネガティブサンプルとの間の重みｗ１ｉｊは、ネガティブ画像３０には含まれない特徴を示す領域において高くなっていることがわかる。また、サブクラス１とサブクラス２との間の重みｗ２ｉｊは、サブクラス１の学習画像２２には含まれない特徴を示す領域において高くなっていることがわかる。
【００６２】
すなわち、認識処理においては、入力画像に検出対象に相当するワークが含まれているか否かについては、重みｗ１ｉｊが高い領域から切り出された学習パッチの情報により重きをおいて判断し、検出対象に相当すると判断されたワークが把持できるか否かについては、重みｗ２ｉｊが高い領域から切り出された学習パッチの情報により重きをおいて判断する。
【００６３】
図５（ｂ）には、図５（ａ）に示すような重みの分布を反映した決定木群を用いて認識処理を行なった場合に得られる投票結果の例を概念的に示す。図５（ｂ）に示すように、検出対象に相当するワークについては、把持容易に相当する投票結果４２および把持困難に相当する投票結果４４のいずれであっても、ポジティブサンプルへの投票がネガティブサンプルへの投票を上回っている。
【００６４】
一方で、把持容易に相当する投票結果４２においては、サブクラス１（把持容易）への投票がサブクラス２（把持困難）への投票を上回っており、把持困難に相当する投票結果４４においては、サブクラス２（把持困難）への投票がサブクラス１（把持容易）への投票を上回っている。
【００６５】
投票結果４２および４４に示すように、本実施の形態に係る物体認識方法によれば、１回の認識処理によって、ポジティブ画像２０とネガティブ画像３０とのいずれに該当するのか、および、サブクラス１とサブクラス２とのいずれに該当するのかについて、同時に判断できる。
【００６６】
図５に示すように、本実施の形態に係る物体認識方法によれば、学習画像に含まれる識別に有効な特徴を示す領域についての重みｗ１ｉｊおよびｗ２ｉｊがそれぞれ高くなるように自動的に算出および更新されるので、認識されたワークを把持できるかといった判定についてのルールを予め設定する必要はない。
【００６７】
本実施の形態に係る物体認識方法では、決定木群を構築する際に、それぞれの重みが順次更新される。このそれぞれの重みを更新することにより得られる効果について、以下説明する。
【００６８】
図６および図７は、本実施の形態に係る画像認識方法における重みの更新による効果を説明する図である。図６には、決定木を構築する処理において、あるノードにある学習パッチが複数の分岐ノードに分類される一例を示す。
【００６９】
図６中の左側の分岐ノード内には、ネガティブサンプルとポジティブサンプルとが混在しており、この状態は、ポジティブサンプルとネガティブサンプルとを識別できる可能性（信頼度）が相対的に低いことを意味する。そのため、このような分岐ノードでの分岐結果が生じれば、ポジティブサンプルとネガティブサンプルとの間の重みｗ１ｉｊを減少させる。すなわち、決定木群の構築過程において、ネガティブサンプルと類似するポジティブサンプルの重みｗ１ｉｊを減少させる。
【００７０】
図６中の中央の分岐ノード内には、サブクラス１の学習画像２２から切り出された学習パッチとサブクラス２の学習画像２４から切り出された学習パッチとが混在しており、この状態は、把持容易（サブクラス１）と把持困難（サブクラス２）とを識別できる可能性（信頼度）が相対的に低いことを意味する。そのため、このような分岐ノードでの分岐結果が生じれば、サブクラス１とサブクラス２との間の重みｗ２ｉｊを減少させる。図６中の右側の分岐ノードについても同様である。すなわち、決定木群の構築過程において、サブクラス間で類似するポジティブサンプルの重みｗ２ｉｊを減少させる。
【００７１】
すなわち、分岐ノードを決定した後、各分岐ノードに分類される学習パッチが非ユニークであれば、重みを減少させる。
【００７２】
図７に示すように、認識処理においては、入力画像から切り出された入力パッチがそれぞれの決定木に入力される。それぞれの決定木において当該入力パッチが到達した末端ノードの情報が投票されることで、識別が行なわれるが、上述のような重みｗ２ｉｊを更新しておくことで、把持容易なワークを写した入力画像から切り出された入力パッチについては、サブクラス１からの投票値が相対的に高くなり、把持困難なワークを写した入力画像から切り出された入力パッチについては、サブクラス２からの投票値が相対的に高くなる。この投票値の相対的な差に基づいて、いずれのサブクラスに該当するのかを判定できる。
【００７３】
（ｄ３：学習画像の生成）
次に、学習画像を生成する手順について説明する。
【００７４】
検出対象のワークを撮像して得られる画像を回転させることで、各回転角におけるポジティブ画像２０を生成する。これは、本実施の形態に係る物体認識方法では、ワークの位置・姿勢を認識する必要があり、検出対象のそれぞれの姿勢（回転後の状態）について学習する必要があるからである。典型的には、撮像により取得した画像を１°ずつ３６０°回転させて３６０種類の学習画像を生成する。
【００７５】
その上、本実施の形態に係る物体認識方法では、認識すべきサブクラスに応じて、検出対象の飲料容器が把持可能に配置されている状態（サブクラス１）を写した画像と、飲料容器が把持困難に配置されている状態（サブクラス２）を写した画像との２種類の画像を取得し、それぞれについて回転させることで、各回転角におけるポジティブ画像２０（学習画像２２および学習画像２４）を生成する。
【００７６】
すなわち、本実施の形態に係る物体認識方法は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の学習パッチ／学習サンプル（部分学習画像）を抽出する工程を含む。
【００７７】
一方、ネガティブ画像３０については、非検出対象のワークを撮像して得られる画像から生成する。ネガティブ画像３０は、検出対象のワークとの識別に用いるための情報であるので、回転させて各回転角についての学習画像を生成する必要はない。
【００７８】
本実施の形態に係る物体認識方法においては、さらにＢａｇの概念を導入することが好ましい。Ｂａｇの概念を導入することで、学習画像に表われる検出対象の揺らぎの影響を抑制できる。
【００７９】
図８は、本実施の形態に係る物体認識方法において使用される学習画像のＢａｇの生成を説明する図である。図８を参照して、ポジティブ画像２０およびネガティブ画像３０から、ポジティブパッチおよびネガティブパッチをそれぞれ切り出す。上述したように、各回転角についてのポジティブ画像２０が生成されるので、各ポジティブ画像２０からグリッドサンプリングにより複数のポジティブパッチが生成される。これらの学習パッチから、ポジティブ画像２０を示すポジティブＢａｇＢ１，Ｂ２，Ｂ３，Ｂ４，…と、ネガティブ画像３０を示すネガティブＢａｇＮＢ１，ＮＢ２，ＮＢ３，ＮＢ４，ＮＢ５，…，ＮＢＮとを生成する。
【００８０】
本実施の形態に係る物体認識方法では、予め教師信号がある学習画像からＢａｇを生成するため、ポジティブパッチとネガティブパッチとが混在するようなＢａｇは生成せず、各Ｂａｇは、ポジティブパッチのみ、または、ネガティブパッチのみを含むことになる。
【００８１】
互いに近傍する領域から切り出された複数の学習パッチからポジティブＢａｇを生成する。すなわち、ポジティブＢａｇの各々は、ポジティブ画像２０において位置および／または角度が互いに近似する複数の学習パッチを含むことになる。このような方法によってポジティブＢａｇを生成することで、互いに類似した外観を有する複数の学習パッチからなる群が１つのＢａｇとして扱われるようになる。このように、本実施の形態に係る物体認識方法は、互いに近傍にある領域から抽出された検出対象を示す複数の学習パッチ（部分学習画像）を単一のグループに設定する工程を含む。
【００８２】
一方、本実施の形態に係る物体認識方法において、ネガティブ画像３０から切り出されたネガティブパッチは、主として、ポジティブ画像２０内の検出対象の認識に有効ではない領域についての重みｗ１ｉｊを下げるために用いられるものであり、学習画像に表われる揺らぎの影響などを考慮する必要はない。そのため、ネガティブ画像３０から切り出された１つのネガティブパッチを１つのネガティブＢａｇとする。
【００８３】
後述するように、本実施の形態に係る物体認識方法の学習処理においては、決定木群を構築する際に、同一のグループに属する複数の学習パッチ（部分学習画像）に対して共通して重みを決定する。すなわち、同一のＢａｇに含まれる学習パッチは、互いに類似した情報を有していると想定されるので、共通の重みを設定することで、処理の簡素化を図る。
【００８４】
（ｄ４：決定木群の構築）
次に、学習処理における決定木群の構築処理について説明する。図９は、本実施の形態に係る物体認識方法における学習処理での決定木群の構築処理を説明するための図である。図９を参照して、ポジティブ画像２０から切り出されたポジティブパッチ２１（サブクラス１に属するポジティブパッチ２３、および、サブクラス２に属するポジティブパッチ２５）、ならびに、ネガティブ画像３０から切り出されたネガティブパッチ３１がランダムに選択されて複数のサブセット６２が生成される。１つのサブセット６２から１つの決定木６０が構築（すなわち、学習）されるので、構築すべき決定木群に含まれる決定木６０の数と同数だけ、サブセット６２が生成されることになる。
【００８５】
学習処理においては、サブセット６２について、各階層（ノード）おいて分岐関数を決定するとともに、決定された分岐関数に従ってそれぞれの子ノードに分岐されたパッチ間の分離度合い、すなわちクラス尤度が算出される。そして、算出されたクラス尤度に基づいて、対応するノード（階層）における重みが算出または更新される。このとき、ポジティブサンプルとネガティブサンプルとの間の重みｗ１ｉｊ、および、サブクラス１とサブクラス２との間の重みｗ２ｉｊの両方が更新される。分岐関数の決定、クラス尤度の算出、重みの更新という一連の処理は、サブセット６２に含まれるすべての学習パッチが末端ノードへ到達するまで繰り返される。
【００８６】
ルートノード５０から各末端ノード５４−１〜５４−Ｎまでの経路にあるノード５１−１，５１−２，５２−１，５２−２，５２−３，５２−４に割り当てられた重みを合算することで、各末端ノード５４−１〜５４−Ｎについての重みを最終的に決定する。
【００８７】
構築された決定木６０に含まれるそれぞれの末端ノード５４−１〜５４−Ｎは、学習処理によって得られた、クラス確率およびオフセットベクトルを保持することになる。オフセットベクトルは、パッチ中心から物体中心までの方向および距離を示すベクトル量である。
【００８８】
さらに、末端ノード５４−１〜５４−Ｎの各々には、そこに到達した学習パッチに付随するカテゴリ情報（例えば、検出対象／非検出対象の区別、位置、角度などの情報）についてのヒストグラムを関連付けてもよい。なお、完全な決定木６０が構築された後に、各末端ノード５４−１〜５４−Ｎについての重み（または、クラス確率）を調整するようにしてもよい。
【００８９】
図９に示す末端ノード５４−Ｎは、ネガティブパッチ３１が到達する可能性の高いノードであり、この末端ノード５４−Ｎに到達する過程において、サブセット６２に含まれる、ポジティブパッチ２１（サブクラス１に属するポジティブパッチ２３、および、サブクラス２に属するポジティブパッチ２５）についての重みｗ１ｉｊは、順次低下することになる。図９には、この重みｗ１ｉｊの低下を面積の大きさで概念的に示している。
【００９０】
（ｄ５：学習処理の処理手順）
次に、本実施の形態に係る物体認識方法の学習処理の処理手順について説明する。図１０は、本実施の形態に係る物体認識方法の学習処理の処理手順を示すフローチャートである。図１０に示す各ステップは、典型的には、画像処理装置１００のプロセッサ１０２が画像処理プログラム１０８を実行することで実現される。
【００９１】
図１０を参照して、画像処理装置１００は、学習処理に用いる学習画像（ポジティブ画像２０およびネガティブ画像３０）を取得する（ステップＳ２）。続いて、画像処理装置１００は、取得したポジティブ画像２０については回転させて各回転角の学習画像を生成した上で、ポジティブパッチおよびネガティブパッチを切り出し、ポジティブＢａｇおよびネガティブＢａｇを生成する（ステップＳ４）。ステップＳ２およびＳ４の処理内容については、図８を参照して詳述したので、詳細な説明は繰り返さない。
【００９２】
そして、画像処理装置１００は、重みｗ１ｉｊおよび重みｗ２ｉｊを初期化し（ステップＳ６）、ステップＳ４において生成した複数のＢａｇから所定数のサブセットを生成する（ステップＳ８）。サブセットの各々は、生成された複数のポジティブＢａｇおよびネガティブＢａｇからランダムに選択（ランダムサンプリング）されることにより、生成される。
【００９３】
その後、決定木群を構築する処理（ステップＳ１０〜Ｓ２０）が開始される。ステップＳ１０〜Ｓ２０の処理を１回実施することで、１つの決定木が構築される。ステップＳ１０〜Ｓ２０の処理は、生成されるサブセットの数だけ並列的に実行されることが好ましい。もちろん、ステップＳ１０〜Ｓ２０の処理を直列的に複数回繰り返すようにしてもよい。
【００９４】
決定木を構築する処理において、画像処理装置１００は、まず、階層１にあるノードにおける分岐関数候補を生成し（ステップＳ１０）、それらの生成した分岐関数候補の中から最適なものを階層１における分岐関数として決定する（ステップＳ１２）。そして、画像処理装置１００は、同一階層で分岐関数を決定していないノードが残っているか否かを判断する（ステップＳ１４）。同一階層で分岐関数を決定していないノードが残っている場合（ステップＳ１４においてＹＥＳの場合）には、ステップＳ１０以下の処理が繰り返される。
【００９５】
同一階層のすべてのノードについて分岐関数が決定済である場合（ステップＳ１４においてＮＯの場合）には、画像処理装置１００は、各ノードについての重み（重みｗ１ｉｊおよび重みｗ２ｉｊ）を更新する（ステップＳ１６）。
【００９６】
その後、画像処理装置１００は、決定木群の構築完了に係る所定条件が満たされたか否かを判定する（ステップＳ１８）。決定木群の構築完了に係る所定条件が満たされていない場合（ステップＳ１８においてＮＯの場合）には、ステップＳ１０以下の処理が繰り返される。
【００９７】
決定木群の構築完了に係る所定条件が満たされている場合（ステップＳ１８においてＹＥＳの場合）には、画像処理装置１００は、各決定木の末端ノードに関連付けて、到達した学習パッチの画像そのもの、オフセットベクトル、重み付き確率などの情報を格納する（ステップＳ２０）。そして、学習処理は終了する。
【００９８】
以下、学習処理手順のより詳細な内容について説明する。
（ｄ６：重みの初期化）
画像処理装置１００は、決定木を構築する前に、重みｗ１ｉｊおよび重みｗ２ｉｊを初期化する（ステップＳ６）。より具体的には、画像処理装置１００は、重みｗ１ｉｊおよび重みｗ２ｉｊを１／Ｎに初期化する。ここで、定数Ｎは、任意の値に設定できる。
【００９９】
（ｄ７：分岐関数候補の生成）
決定木の構築処理の第１段階として、画像処理装置１００は、階層１における分岐関数候補を生成する（ステップＳ１０）。ここで、階層ｄにおける分岐関数候補ｈ（ｄ）Ｔ，τ（Ｉ）は、学習画像から切り出された学習パッチｘとテンプレートＴとの類似度Ｓ（ｘ，Ｔ）としきい値τとを用いて、以下の（１）式のように定義される。
【０１００】
【数１】
2016103094.tif 000003
【０１０１】
ここで、パラメータτは，学習パッチｘとテンプレートＴとの類似度を評価するためのしきい値である。
【０１０２】
（ｄ８：分岐関数の決定）
続いて、画像処理装置１００は、生成した分岐関数候補の中から最適なものを対象の階層における分岐関数として決定する（ステップＳ１２）。
【０１０３】
図１１は、本実施の形態に係る物体認識方法における学習処理での分岐関数の決定する処理を説明するための模式図である。図１１を参照して、（１）式のテンプレートＴは、対象の分岐ノードに与えられる複数のポジティブパッチからランダムに選択される。図１１に示す例では、各学習パッチｘは、テンプレートＴとの間の類似度が算出され、算出された類似度がしきい値未満であれば、左側の子ノードに分岐され、そうでなければ右側の子ノードに分岐される。
【０１０４】
分岐関数の決定処理においては、テンプレートＴおよびパラメータτをランダムにそれぞれ選択するとともに、以下の（２）式で定義される評価関数Ｕ＊を用いて評価値を算出する。但し、＊∈｛１，２｝であり、重みｗ１ｉｊおよびｗ２ｉｊにそれぞれ対応する（以下、同様である）。
【０１０５】
（２）式で算出される評価値が最小となるテンプレートＴおよびパラメータτを決定し、これらの決定された値から最適な分岐関数を決定する。
【０１０６】
【数２】
2016103094.tif 000004
【０１０７】
ここで、（２）式の｛ｘ｜ｈ（Ｉｉ）＝０｝は、図１１の左側の子ノードに分割された学習パッチの集合を示し、｛ｘ｜ｈ（Ｉｉ）＝１｝は、図１１の右側の子ノードに分割された学習パッチの集合を示す。
【０１０８】
評価関数Ｕの評価には、以下の３つの基準を階層ごとに切り替えて用いる。１つ目は、クラスラベルのエントロピーを評価する評価関数Ｕ１（Ａ）およびＵ２（Ａ）であり、それぞれの子ノードに分岐した学習パッチの集合Ａについて、以下の（３）および（４）式に従って定義される。
【０１０９】
【数３】
2016103094.tif 000005
【０１１０】
評価関数Ｕ１（Ａ）は、ポジティブサンプルとネガティブサンプルとの識別の容易性（信頼度）を示し、評価関数Ｕ２（Ａ）は、把持容易（サブクラス１）と把持困難（サブクラス２）との識別の容易性（信頼度）を示す。
【０１１１】
ここで、評価関数Ｕ１（Ａ）中のｃは、学習パッチの集合Ａに含まれるポジティブサンプルの重み付き確率を示し、評価関数Ｕ２（Ａ）中のｂは、学習パッチの集合Ａのうちポジティブサンプルの教師属性が付与されているものについての重み付き確率を示す。
【０１１２】
３つ目は、オフセットベクトルｄｉｊのばらつき（分散）を評価する評価関数Ｕ３（Ａ）であり、以下の（５）式に従って定義する。オフセットベクトルｄｉｊは、対象の学習パッチを学習画像（ポジティブ画像２０）から切り出した位置を示す。
【０１１３】
【数４】
2016103094.tif 000006
【０１１４】
ここで、ｄＡは、Ａのオブセットベクトルの平均値を示す。
さらに、各決定木において、対象の階層ｄにおける必要なすべてのノードが生成されるまで、ステップＳ１０およびＳ１２の処理が繰り返される。すなわち、図１０のステップＳ１０〜Ｓ１４において、画像処理装置１００は、末端ノードではない各ノードについて、与えられた学習サンプル（部分学習画像）が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する処理を実行する。
【０１１５】
（ｄ９：重みの更新）
対象の階層ｄについてのすべてのノードが生成されると、画像処理装置１００は、各ノードについての重み（重みｗ１ｉｊおよび重みｗ２ｉｊ）を更新する（ステップＳ１６）。
【０１１６】
重みｗ１ｉｊおよび重みｗ２ｉｊは、それぞれのクラス尤度と、Ｂａｇのクラス尤度ｐｉとに基づいて決定または更新される。なお、Ｂａｇの概念を導入することは必須ではないので、Ｂａｇの概念を導入しない場合には、クラス尤度のみから重みの決定または更新を行ってもよい。
【０１１７】
重みｗ１ｉｊの更新は、ポジティブサンプルのみを対象として行なわれる。集合Ａに含まれるポジティブサンプルのうち、同一の集合Ａに含まれるネガティブサンプルに類似しているものについては、クラス尤度が相対的に下がる。そのため、ポジティブ画像とネガティブ画像との識別の容易性（信頼度）を示す第１のクラス尤度ｐ１ｉｊを、以下の（６）式に示す。
【０１１８】
重みｗ２ｉｊの更新は、集合Ａに含まれるポジティブサンプル（サブクラス１に属するポジティブパッチ２３、および、サブクラス２に属するポジティブパッチ２５）を対象として行なわれる。集合Ａに含まれるサブクラス１に属するポジティブサンプルのうち、同一の集合Ａに含まれるサブクラス２に属するポジティブサンプルに類似しているものについては、クラス尤度が相対的に下がる。同様に、集合Ａに含まれるサブクラス２に属するポジティブサンプルのうち、同一の集合Ａに含まれるサブクラス１に属するポジティブサンプルに類似しているものについては、クラス尤度が相対的に下がる。そのため、把持容易（サブクラス１）と把持困難（サブクラス２）との識別の容易性（信頼度）を示す第２のクラス尤度ｐ２ｉｊを、以下の（７）式に示す。
【０１１９】
【数５】
2016103094.tif 000007
【０１２０】
（６）式において、Ｆ（ｘ）＝１−２ｃ（但し、ｃは集合Ａにおけるポジティブサンプルの割合）と定義すると、各ノードにおいて、ポジティブサンプルの割合ｃが高いほどクラス尤度ｐ１ｉｊは高くなり、逆にポジティブサンプルの割合ｃが低いほどクラス尤度ｐ１ｉｊは低くなる。
【０１２１】
同様に、（７）式において、サブクラス１に属するポジティブサンプルについては、Ｇ１（ｘ）＝１−２ｂ１（但し、ｂ１は集合Ａにおけるサブクラス１に属するポジティブサンプルの割合）と定義し、サブクラス２に属するポジティブサンプルについては、Ｇ２（ｘ）＝２ｂ２−２（但し、ｂ２は集合Ａにおけるサブクラス２に属するポジティブサンプルの割合）と定義する。
【０１２２】
Ｂａｇのクラス尤度ｐ*ｉは、Ｂａｇに属するｐ集合のクラス尤度ｐ*ｉｊを用いて、以下の（８）式に従って算出される。
【０１２３】
【数６】
2016103094.tif 000008
【０１２４】
重みｗ＊ｉｊは、Ｂａｇのクラス尤度ｐ*ｉとクラス尤度ｐ*ｉｊとを用いて、（９）式に従って算出される。
【０１２５】
【数７】
2016103094.tif 000009
【０１２６】
最終的に算出された重みｗ１ｉｊおよびｗ２ｉｊを正規化することが好ましい。
上述したように、決定木群を構築する学習処理においては、末端ノードではない各ノードにおいて、決定された分岐関数に従って与えられた複数の学習サンプルをいずれかの子ノードにそれぞれ分類する。そして、この複数の学習サンプルを分類した結果に基づいて、各ノードについての、検出対象と非検出対象との識別能力を示す重みｗ１ｉｊ（第１の重み）、および、サブクラス１とサブクラス２との識別能力を示す重みｗ２ｉｊ（第２の重み）をそれぞれ決定する。
【０１２７】
すなわち、決定木群を構築する学習処理においては、決定された分岐関数に従って与えられた複数の学習サンプルをいずれかの子ノードにそれぞれ分類したときに、ポジティブサンプルおよびネガティブサンプルが同一の子ノードに分類されている割合が高いほど（分離度が低いほど）、検出対象と非検出対象との識別能力を示す重みｗ１ｉｊ（第１の重み）を低くする。また、サブクラス１およびサブクラス２が同一の子ノードに分類されている割合が高いほど（分離度が低いほど）、サブクラス１とサブクラス２との識別能力を示す重みｗ２ｉｊ（第２の重み）を低くする。
【０１２８】
（ｄ１０：末端ノードの生成）
画像処理装置１００は、上述した分岐関数の決定および重み更新の処理を所定条件が満たされるまで繰り返す。所定条件としては、例えば、階層が指定した深さに到達すること、あるいは、各ノードの集合に含まれる学習パッチの数が一定数未満になるか、を含む。所定条件が満たされときの最下位のノードが末端ノードとなる。
【０１２９】
画像処理装置１００は、それぞれの末端ノードに関連付けて、到達した学習パッチの画像そのもの、オフセットベクトル、重み付き確率などの情報を格納する（ステップＳ２０）。
【０１３０】
図１２は、本実施の形態に係る物体認識方法における学習処理により得られる末端ノードの情報を説明するための模式図である。図１２を参照して、末端ノードに関連付けて、当該末端ノードに到達したポジティブパッチ２３およびポジティブパッチ２５については、画像そのもの、オフセットベクトル、および重み付き確率を格納する。また、当該末端ノードに到達したネガティブパッチ３１については、画像そのもの、および重み付き確率を格納する。すなわち、図１０のステップＳ１６〜Ｓ１８において、画像処理装置１００は、決定されたそれぞれの分岐関数に従って、学習サンプル（部分学習画像）の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、学習画像２２から切り出されたポジティブパッチ２３（第１のサンプル）および学習画像２４から切り出されたポジティブパッチ２５（第２のサンプル）の合計とネガティブ画像３０から切り出されたネガティブパッチ３１（第３のサンプル）との割合（第１の確率）、および、ポジティブパッチ２３（第１のサンプル）とポジティブパッチ２５（第２のサンプル）との割合（第２の確率）、を決定する処理を実行する。
【０１３１】
以上のような学習処理によって、複数の決定木からなる決定木群が構築される。認識処理においては、重み付き確率を用いて、投票処理を行なうことで、検出対象の位置・姿勢の認識、ならびに、指定されたサブクラスへの該当性について判定する。
【０１３２】
＜Ｅ．認識処理＞
次に、本実施の形態に係る物体認識方法の認識処理について説明する。認識処理では、入力画像から切り出された複数の部分画像（入力パッチ）が決定木群に入力され、各決定木において当該入力パッチが末端ノードの情報を用いて投票処理が行なわれ、その投票処理の結果から、入力画像に含まれる検出対象の位置・姿勢の認識に加えて、当該認識されたワークを把持できるか否かが判定される。この投票処理では、投票平面（ＸＹ座標）が回転角の種類だけ（上述の例では、１°刻みで３６０枚）用意されており、これらを合成することで３次元の尤度（類似度）マップが構成される。そして、３次元の尤度マップ内の尤度の高い領域から、検出対象のＸＹ座標および回転角が判定される。
【０１３３】
さらに、本実施の形態に係る物体認識方法の認識処理においては、検出対象に相当すると判定された領域に投票されたサブクラス確率に基づいて、認識された検出対象が、把持容易（サブクラス１）であるか、把持困難（サブクラス２）であるかを判定する。
【０１３４】
図１３は、本実施の形態に係る物体認識方法における認識処理手順を示すフローチャートである。図１３に示す各ステップは、典型的には、画像処理装置１００のプロセッサ１０２が画像処理プログラムを実行することで実現される。
【０１３５】
図１３を参照して、画像処理装置１００は、認識処理の対象となる入力画像を取得する（ステップＳ１０２）。続いて、画像処理装置１００は、取得した入力画像から複数の入力パッチを切り出し（ステップＳ１０４）、各入力パッチを決定木群に入力して、各入力パッチがそれぞれ到達する末端ノードを特定する（ステップＳ１０６）。画像処理装置１００は、各入力パッチがそれぞれの決定木において到達した末端ノードに保持されている情報を用いて投票処理を行なう（ステップＳ１０８）。なお、ポジティブサンプルの割合がしきい値未満である末端ノードについては、投票処理の対象にしないようにしてもよい。すなわち、認識処理においては、重みを反映した後のポジティブサンプルの割合が予め定められたしきい値以上の末端ノードについてのみ投票処理の対象としてもよい。
【０１３６】
すべての入力パッチについての投票処理が完了すると、以下のような探索処理が実行される。具体的には、画像処理装置１００は、ある回転角θの投票平面を走査して１または複数の局所領域を特定する（ステップＳ１１０）。続いて、画像処理装置１００は、局所領域ごとの総和を算出する（ステップＳ１１２）とともに、投票平面における局所領域の総和の最大値を探索する（ステップＳ１１４）。画像処理装置１００は、すべての回転角θについて探索処理が完了したか否かを判定する（ステップＳ１１６）。探索処理が完了していない回転角がある場合（ステップＳ１１６においてＮＯの場合）には、画像処理装置１００は、新たな回転角θを選択し（ステップＳ１１８）、ステップＳ１１０以下の処理を繰り返す。
【０１３７】
すべての回転角θについて探索処理が完了している場合（ステップＳ１１６においてＹＥＳの場合）には、画像処理装置１００は、局所領域の総和が最大となる投票平面に対応する回転角θを検出対象の回転角（姿勢）とし、その局所領域の注目点を検出対象の位置として決定する（ステップＳ１２０）。なお、局所領域の総和が予め定められたしきい値未満であるような場合には、入力画像内に検出対象が存在しないと判定してもよい。
【０１３８】
続いて、画像処理装置１００は、ステップＳ１２０において決定された注目点（領域）に投票されたポジティブサンプルのサブクラス確率（すなわち、サブクラス１に投票された重み付き確率と、サブクラス２に投票された重み付き確率との比率）に基づいて、把持容易（サブクラス１）および把持困難（サブクラス２）のいずれであるかを決定する（ステップＳ１２２）。
【０１３９】
図１４は、本実施の形態に係る物体認識方法における認識処理を説明する図である。図１４を参照して、入力画像から切り出された複数の入力パッチは、決定木６０−１，６０−２，…，６０−Ｎに入力される。それぞれの決定木６０−１，６０−２，…，６０−Ｎにおいて、入力された入力パッチがいずれの末端ノードに到達したかが特定される。
【０１４０】
そして、それぞれの末端ノードに関連付けられている情報を用いて、３次元の尤度マップへの投票処理を行なう。より具体的には、入力パッチが到達した末端ノードに関連付けられているオフセットベクトルに基づいて、３次元の尤度マップの投票先（検出対象の位置）が特定され、投票値として、関連付けられている重み付きポジティブ確率が用いられる。
【０１４１】
入力画像から切り出された複数の入力パッチのそれぞれについて投票処理が行なわれることで、いずれかの位置についての投票値が予め定められたしきい値を超えると、当該位置の投票面（回転角）および位置（ＸＹ座標）が検出対象に相当する位置として特定される。
【０１４２】
さらに、検出対象に相当する位置に投票されたポジティブサンプルのうちのサブクラスの割合に基づいて、把持容易（サブクラス１）および把持困難（サブクラス２）のいずれであるかが決定される。
【０１４３】
以上のように、認識処理において、画像処理装置１００は、入力画像から得られた複数の入力パッチ（部分入力画像）が決定木群に与えられたときの、入力パッチがそれぞれ到達する末端ノードにおけるポジティブサンプルの重み付き確率（第１の確率）に基づいて、入力画像内に検出対象に相当するワークが含まれているか否かを判定するとともに、当該それぞれの末端ノードについてのサブクラス１またはサブクラス２の重み付き確率（第２の確率）に基づいて、入力画像内に含まれる検出対象に相当するワークが予め定められた条件（把持容易／把持困難）に適合するか否かを判定する。
【０１４４】
＜Ｆ．認識結果＞
本実施の形態に係る物体認識方法を用いた認識結果について説明する。図１５は、本実施の形態に係る物体認識方法による認識結果の一例を示す図である。図１５に示す認識結果では、３本のワークである飲料容器を配置した状態で撮像された画像を入力画像とした。（ａ）認識結果に示されるように、検出対象であるとして３本の飲料容器のすべてが認識されている。一方、（ｂ）尤度マップに示すように、右側の２本の飲料容器については、サブクラス２の尤度マップにおいて相対的に高い値が示されており、サブクラス２、つまり把持困難である可能性が高いと判定されている。
【０１４５】
すなわち、本実施の形態に係る物体認識方法によれば、検出対象のワークの位置・姿勢の認識に加えて、サブクラス（把持容易／把持困難）の判定を同時に行なうことができることがわかる。
【０１４６】
＜Ｇ．追加学習処理＞
次に、本実施の形態に係る物体認識方法の学習処理により構築された決定木群の識別性能を高める処理について説明する。典型的には、学習処理において用いた学習画像が実際の現場などの環境に適合しない場合などには、決定木群が本来の識別性能を発揮できない場合がある。このような場合には、誤識別サンプルを用いて、決定木群に新たなノード（分岐関数：識別器）を追加する。本実施の形態に係る物体認識方法の追加学習処理は、このような新たなノードの追加処理を含む。このような追加学習処理を採用することで、決定木群の識別性能を高めることができる。
【０１４７】
（ｇ１：概要）
本実施の形態に係る物体認識方法の追加学習処理においては、学習サンプルおよび誤識別サンプルを、既に構築されているすべての決定木に入力する。そして、すべての決定木について走査し、誤識別サンプルのクラス確率が低い末端ノードに子ノードを追加する。本明細書において、誤識別サンプルは、実際に認識処理を実行した結果、クラスまたはサブクラスを誤って識別された入力サンプルに加えて、クラスまたはサブクラスを誤って識別される可能性の高い入力サンプルを意味する。
【０１４８】
すなわち、誤識別サンプルについての識別が困難である（すなわち、信頼度が低い）と考えられる末端ノードについては、より識別の信頼度を高めるための分岐関数を追加する。なお、追加する分岐関数としては、特徴選択型および事例型のいずれかを用いることができる。これらの分岐関数の具体的な内容については、後述する。
【０１４９】
図１６は、本実施の形態に係る物体認識方法における追加学習処理を説明する図である。図１６（ａ）を参照して、学習処理によって構築された決定木６０に対して、正しいラベルが付与されている誤識別サンプルを入力する。図１６（ａ）に示す例では、誤識別サンプルは末端ノード５４−２に到達したとする。末端ノード５４−２でのクラス尤度では、ネガティブサンプルがポジティブサンプルに比較して高くなっているとする。そこで、誤識別サンプルが到達した末端ノード５４−２に分岐関数を追加することで、誤識別サンプルを学習サンプルから分離する。
【０１５０】
図１６（ｂ）には、末端ノード５４−２が通常のノードに変化し、その子ノードとして、末端ノード５５−１および５５−２が追加されている例を示す。このように、子ノードを追加することで、決定木群の識別性能を高めることができる。
【０１５１】
誤識別サンプルが到達した末端ノードのうち、誤識別サンプルのクラス確率が高い場合には、その末端ノードに子ノードを追加しないようにしてもよい。この場合には、学習サンプルと誤識別サンプルとの間のクラス識別は十分にできていると考えられるからである。
【０１５２】
図１７は、本実施の形態に係る物体認識方法における追加学習処理手順を示すフローチャートである。図１７に示す各ステップは、典型的には、画像処理装置１００のプロセッサ１０２が画像処理プログラムを実行することで実現される。
【０１５３】
図１７を参照して、画像処理装置１００は、追加学習処理に用いられる学習サンプルおよび誤識別サンプルを取得する（ステップＳ２０２）。画像処理装置１００は、取得した学習サンプルおよび誤識別サンプルの各々を、構築済みの決定木群のそれぞれに入力し、各サンプルがそれぞれの決定木において到達する末端ノードを特定する（ステップＳ２０４）。すなわち、ステップＳ２０２およびＳ２０４において、画像処理装置１００は、学習サンプル（部分学習画像）、および入力サンプル（部分入力画像）のうち誤識別サンプル（誤識別されたまたは誤識別される可能性の高い入力サンプル）を、決定木群に与えて、各サンプルをいずれかの末端ノードに到達するまで順次分岐させることで、各サンプルが到達する末端ノードを特定する。
【０１５４】
続いて、画像処理装置１００は、各決定木において、誤識別サンプルが到達した末端ノードにおける誤識別サンプルのクラス確率が予め定められた条件に適合するか否かを判断する（ステップＳ２０６）。誤識別サンプルのクラス確率が予め定められた条件に適合しない場合（ステップＳ２０６においてＹＥＳの場合）には、画像処理装置１００は、分岐関数を決定し（ステップＳ２０８）、決定した分岐関数によって生成された子ノードについての重みを更新する（ステップＳ２１０）。
【０１５５】
生成された子ノードについての重みを更新した後（ステップＳ２１０の後）、または、誤識別サンプルのクラス確率が予め定められた条件に適合しない場合（ステップＳ２０６においてＹＥＳの場合）には、画像処理装置１００は、対象の決定木において、誤識別サンプルが到達したすべての末端ノードについての評価が完了したか否かを判断する（ステップＳ２１２）。誤識別サンプルが到達したすべての末端ノードについての評価が完了していなければ（ステップＳ２１２においてＮＯの場合）、画像処理装置１００は、誤識別サンプルが到達した別の末端ノードを選択し（ステップＳ２１４）、ステップＳ２０６以下の処理を繰り返す。
【０１５６】
すなわち、ステップＳ２０６〜Ｓ２１４において、画像処理装置１００は、誤識別サンプルが到達した末端ノードにおける学習サンプル（部分学習画像）と誤識別サンプル（部分入力画像）との識別確率に応じて、当該末端ノードから分岐する子ノードを追加する。
【０１５７】
誤識別サンプルが到達したすべての末端ノードについての評価が完了していれば（ステップＳ２１２においてＹＥＳの場合）、画像処理装置１００は、構築されている決定木群に含まれるすべての決定木についての評価が完了したか否かを判断する（ステップＳ２１６）。構築されている決定木群に含まれるすべての決定木についての評価が完了していなければ（ステップＳ２１６においてＮＯの場合）、画像処理装置１００は、構築されている決定木群に含まれる別の決定木を選択し（ステップＳ２１８）、ステップＳ２０６以下の処理を繰り返す。
【０１５８】
構築されている決定木群に含まれるすべての決定木についての評価が完了していれば（ステップＳ２１６においてＹＥＳの場合）、画像処理装置１００は、追加学習処理を終了する。
【０１５９】
（ｇ２：誤識別サンプルの収集およびラベル付与）
追加学習処理をするためには、実際の認識処理の結果得られる誤識別サンプルを収集する必要がある。実際の認識処理の対象となるワークには、ラベル（教師信号）が与えられていないため、認識結果を目視などで確認して、誤識別サンプルを収集することが好ましい。しかしながら、このような目視による誤識別サンプルの収集という手法には、高い人的コストを要するため、Ｖｏｔｅ  Ｅｎｔｒｏｐｙを評価して、誤識別サンプルを自動的に収集するようにしてもよい。Ｖｏｔｅ  Ｅｎｔｒｏｐｙは、アンサンブル識別器における識別結果の信頼度を示す。Ｖｏｔｅ  Ｅｎｔｒｏｐｙの値ＶＥ（ｘ）は、以下の（１０）式のように定義される。
【０１６０】
【数８】
2016103094.tif 000010
【０１６１】
但し、Ｔは決定木の数、Ｖ（ｙｍ）は、ラベルｙｍと予測した決定木の数を示す。このＶｏｔｅ  Ｅｎｔｒｏｐｙの値が高い入力サンプルについては、決定木群による識別が曖昧であると判断することできるので、Ｖｏｔｅ  Ｅｎｔｒｏｐｙの値が予め定められたしきい値以上である入力サンプルを自動的に収集し、当該自動的に収集した入力サンプルに対して、目視にて正しいラベルを付与することで、追加学習処理に使用する誤識別サンプルを生成する。
【０１６２】
（ｇ３：特徴選択型の分岐関数）
子ノードの追加に用いられる特徴選択型の分岐関数は、参照する特徴次元およびそのしきい値を、ランダムに選択した候補の中から得られる情報利得に基づいて選択する手法である。特徴量Ｆの算出には、Ｈａａｒ−ｌｉｋｅフィルタを用いることができる。また、分岐関数としては、Ｈａａｒ−ｌｉｋｅフィルタのフィルタパターン、サイズ、位置を選択する。また、分岐関数としては、以下の（１１）式のように定義される。
【０１６３】
【数９】
2016103094.tif 000011
【０１６４】
但し、Ｆ（ｘ）は入力サンプルからＨａａｒ−ｌｉｋｅフィルタにより特徴抽出した値を示し、τはしきい値を示す。
【０１６５】
（ｇ４：事例型の分岐関数）
子ノードの追加に用いられる事例型の分岐関数では、誤識別サンプルより選択されたテンプレートを事例として用いる。事例型の分岐関数は、ある誤識別サンプルをテンプレートとして、同じ末端ノードの学習サンプルと誤識別サンプルとの距離を計算し、最も距離が近く、かつ、クラスの異なるサンプルとの中間点をしきい値として決定し、分岐関数を決定する。追加学習後に、誤識別サンプルが存在する場合にはさらに追加学習を行なう。距離計算には、ユークリッド距離を使用する。テンプレートとしきい値との組み合わせを情報利得に基づいて選択する。分岐関数としては、以下の（１２）式のように定義される。
【０１６６】
【数１０】
2016103094.tif 000012
【０１６７】
但し、Ｄはテンプレートと入力サンプルとの距離を示し、τはしきい値を示す。また、事例型の分岐関数のしきい値は、以下の（１３）式のように定義される。
【０１６８】
【数１１】
2016103094.tif 000013
【０１６９】
但し、ｄｉはテンプレートとクラスの異なる学習サンプルのうちで最も距離の近いサンプルを示し、Ｔはテンプレートを示す。
【０１７０】
＜Ｈ．利点＞
本実施の形態に係る物体認識方法は、クラスを識別するための入力サンプル、および、クラス内をさらにサブクラスに識別するための入力サンプルを用いて、一度に学習処理を行なって決定木群を構築できるとともに、共通の決定木群を用いて一度の認識処理によって、クラス判別およびサブクラス判別を同時に行なうことができる。そのため、学習処理および認識処理に要する時間および人的コストを低減できる。
【０１７１】
より具体的な効果として、入力画像内に検出対象が含まれているか否かを判定するとともに、当該入力画像内に含まれる検出対象が予め定められた条件に適合するか否か（認識されたワークがおかれた状況）を並列的に判定することができる。また、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するためのルールを目視などによって決定する必要がなく、これらのルール決定に係る人的コストを低減できる。
【０１７２】
また、本実施の形態に係る物体認識方法は、構築された決定木群を用いた認識処理において誤識別を生じる場合（あるいは、誤識別を生じる可能性が高い場合）には、当該決定木群を追加学習することができ、このような誤識別が発生する可能性を低減できる。
【０１７３】
＜Ｉ．その他の実施の形態＞
本実施の形態に係る物体認識方法に含まれるコンセプトの一つは、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くし、また、サブクラス１と類似したサブクラス２の重み（および、サブクラス２と類似したサブクラス１の重み）を相対的に低くすればよい。そのための重みの数学的な処理については任意に採用できる。すなわち、ネガティブサンプルと類似していないポジティブサンプルの重みを相対的に高くするようにし、あるいは、サブクラス１と類似していないサブクラス２の重み（および、サブクラス２と類似していないサブクラス１の重み）を相対的に高くするようにしてもよい。
【０１７４】
上述の説明では、「重み」が低いほど影響を低減するという前提で説明したが、「重み」の概念については、上述の説明とは逆の概念で用いてもよい。すなわち、「重み」が高いほど、投票処理の対象にはしないという概念であってもよい。
【０１７５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７６】
１  画像処理システム、２  撮像装置、４  ワーク、１０  入力画像、１２  ワーク認識、１３  認識処理、１４  把持判定、１６  把持動作、２０  ポジティブ画像、２１，２３，２５  ポジティブパッチ、２２，２４  学習画像、３０  ネガティブ画像、３１  ネガティブパッチ、４２，４４  投票結果、５０  ルートノード、５１−１，５１−２，５２−１，５２−２，５２−３，５２−４  ノード、５４−１〜５４−Ｎ，５５−１，５５−２  末端ノード、６０  決定木、６２  サブセット、１００  画像処理装置、１０２  プロセッサ、１０４  主メモリ、１０８  画像処理プログラム、１１０  ネットワークインターフェイス、１１２  画像入力インターフェイス、１１４  入力部、１１６  表示部、１１８  出力インターフェイス、１２０  内部バス、２００  ピッキングロボット。
【図１】
2016103094.tif 000014
【図２】
2016103094.tif 000015
【図９】
2016103094.tif 000016
【図１０】
2016103094.tif 000017
【図１３】
2016103094.tif 000018
【図１７】
2016103094.tif 000019
【図３】
2016103094.tif 000020
【図４】
2016103094.tif 000021
【図５】
2016103094.tif 000022
【図６】
2016103094.tif 000023
【図７】
2016103094.tif 000024
【図８】
2016103094.tif 000025
【図１１】
2016103094.tif 000026
【図１２】
2016103094.tif 000027
【図１４】
2016103094.tif 000028
【図１５】
2016103094.tif 000029
【図１６】
2016103094.tif 000030