(57)【要約】【課題】処理時間が長くなることを抑制しつつ、検出性能を高めることのできる画像処理装置、画像処理方法および画像処理プログラムが要望されている。【解決手段】画像処理方法は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを含む。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。【選択図】図６
2015232805.tif 000002
【特許請求の範囲】
【請求項１】
検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを備え、前記複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含み、
入力画像に含まれる複数の部分入力画像が前記複数の決定木の各々において到達する末端ノードの情報に基づいて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断するステップを備え、
前記複数の決定木を作成するステップは、
末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、
複数の部分学習画像を、前記決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、
前記複数の決定木の各々において、前記ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、前記末端ノードの情報として、前記検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む、画像処理方法。
【請求項２】
互いに近傍にある領域から抽出された前記検出対象を示す複数の部分学習画像を単一のグループに設定するステップをさらに備え、
前記子ノードの各々についての重みを決定するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む、請求項１に記載の画像処理方法。
【請求項３】
前記子ノードの各々についての重みを決定するステップは、各子ノードに分岐された部分学習画像のうち、前記検出対象を示す部分学習画像の割合に基づいて、重みを決定する、請求項１または２に記載の画像処理方法。
【請求項４】
前記子ノードの各々についての重みを決定するステップは、前記検出対象を示す部分画像についての重みを更新する一方で、前記非検出対象を示す部分画像についての重みを維持するステップを含む、請求項１〜３のいずれか１項に記載の画像処理方法。
【請求項５】
前記子ノードの各々についての重みを決定するステップは、前記非検出対象を示す部分画像についての重みを正規化するステップを含む、請求項４に記載の画像処理方法。
【請求項６】
前記学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップをさらに備え、
前記末端ノードの情報は、当該末端ノードに到達した前記検出対象を示す部分学習画像が生成された学習画像の回転角を含み、
前記判断するステップは、画像空間と回転角とで定義される仮想空間を用いて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断するステップを含む、請求項１〜５のいずれか１項に記載の画像処理方法。
【請求項７】
検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成する手段を備え、前記複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含み、
入力画像に含まれる複数の部分入力画像が前記複数の決定木の各々において到達する末端ノードの情報に基づいて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断する手段を備え、
前記複数の決定木を作成する手段は、
末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する手段と、
複数の部分学習画像を、前記決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する手段と、
前記複数の決定木の各々において、前記ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、前記末端ノードの情報として、前記検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定する手段とを含む、画像処理装置。
【請求項８】
コンピュータで実行される画像処理プログラムであって、前記画像処理プログラムは、前記コンピュータに、
検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを実行させ、前記複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含み、
入力画像に含まれる複数の部分入力画像が前記複数の決定木の各々において到達する末端ノードの情報に基づいて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断するステップを実行させ、
前記複数の決定木を作成するステップは、
末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、
複数の部分学習画像を、前記決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、
前記複数の決定木の各々において、前記ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、前記末端ノードの情報として、前記検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
物体検出技術の一つとして、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ法と称される方法が実用化されている（例えば、非特許文献１などを参照）。Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ法では、学習処理として、データ集合から複数個のサブセットを抽出し、各サブセットについて決定木（単純ベイズ識別器）を構築する。すなわち、教師あり学習として、サブセットごとの決定木群が構築される。
【０００３】
Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓを入力画像から切り出された部分画像（以下「パッチ画像」、あるいは単に「パッチ」とも称す。）の識別に利用したＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法が提案されている（例えば、非特許文献２などを参照）。Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法では、サンプル画像から切り出されたパッチのサブセットから決定木群を構築した上で、入力画像から切り出されたパッチを決定木群へ入力する。各パッチが各決定木においていずれのリーフノード（以下「末端ノード」とも称す。）に到達したのかを判断し、それぞれの末端ノードに保持されている情報（予め学習処理おいて得られている情報）を用いて、入力画像内に検出対象が存在するか否か、および、存在する場合の検出対象の位置などを判定する。
【０００４】
例えば、特開２０１２−０４２９９０号公報（特許文献１）は、決定木群を識別器として用いるランダムフォレスト法を画像アノテーション技術（画像識別情報付与技術）に適用した画像識別情報付与装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−０４２９９０号公報
【非特許文献】
【０００６】
【非特許文献１】L. B. Statistics and L. Breiman, "Random forests", Machine Learning, pp.5-32, 2001.
【非特許文献２】J. Gall and V. Lempitsky, "Class-specific hough forests for object detection", Computer Vision and Pattern Recognition, 2009.
【非特許文献３】T. G. Dietterich, and R. H. Lathrop, "Solving the multiple-instance problem with axis-parallel rectangles", Artificial Intelligence, vol.89, pp.31-71, 1997.
【非特許文献４】S. Hinterstoisser, V. Lepetit, S. Ilic, P. Fua, and N. Navab, "Dominant orientation templates for real-time detection of texture-less objects" ,Conference Computer Vision and Pattern Recognition, pp.2257-2264, 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したＲａｎｄｏｍ  Ｆｏｒｅｓｔｓ法は、学習処理において、検出対象を示すパッチと、非検出対象を示すパッチとを用いて決定木を構築することになる。しかしながら、検出対象と非検出対象との形状が互いに類似している場合には、被写体として非検出対象を含む入力画像を検出対象から十分に区別することができず、誤検出を生じる可能性がある。
【０００８】
上述の引用文献１は、分類性能を確保するために、ベイスの定理および特徴ベクトルの独立性を利用して、尤度関数を直接計算する手法を開示する。しかしながら、引用文献１が開示する手法では、処理時間が長くなるという課題がある。
【０００９】
そのため、処理時間が長くなることを抑制しつつ、検出性能を高めることのできる画像処理装置、画像処理方法および画像処理プログラムが要望されている。
【課題を解決するための手段】
【００１０】
本発明のある局面に従う画像処理方法は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを含む。複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。画像処理方法は、入力画像に含まれる複数の部分入力画像が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断するステップを含む。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。
【００１１】
好ましくは、画像処理方法は、互いに近傍にある領域から抽出された検出対象を示す複数の部分学習画像を単一のグループに設定するステップをさらに含み、子ノードの各々についての重みを決定するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む。
【００１２】
好ましくは、子ノードの各々についての重みを決定するステップは、各子ノードに分岐された部分学習画像のうち、検出対象を示す部分学習画像の割合に基づいて、重みを決定する。
【００１３】
好ましくは、子ノードの各々についての重みを決定するステップは、検出対象を示す部分画像についての重みを更新する一方で、非検出対象を示す部分画像についての重みを維持するステップを含む。
【００１４】
さらに好ましくは、子ノードの各々についての重みを決定するステップは、非検出対象を示す部分画像についての重みを正規化するステップを含む。
【００１５】
好ましくは、画像処理方法は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップをさらに含む。末端ノードの情報は、当該末端ノードに到達した検出対象を示す部分学習画像が生成された学習画像の回転角を含み、判断するステップは、画像空間と回転角とで定義される仮想空間を用いて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断するステップを含む。
【００１６】
本発明の別の局面に従う画像処理装置は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成する手段を含む。複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。画像処理装置は、入力画像に含まれる複数の部分入力画像が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断する手段を含む。複数の決定木を作成する手段は、末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する手段と、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する手段と、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定する手段とを含む。
【００１７】
本発明のさらに別の局面に従う画像処理プログラムは、コンピュータで実行されて、コンピュータに、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを実行させる。複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。画像処理プログラムは、さらにコンピュータに、入力画像に含まれる複数の部分入力画像が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断するステップを実行させる。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。
【発明の効果】
【００１８】
本発明のいくつかの局面によれば、処理時間が長くなることを抑制しつつ、検出性能を高めることのできる画像処理装置、画像処理方法および画像処理プログラムを提供できる。
【図面の簡単な説明】
【００１９】
【図１】本実施の形態の画像処理装置を含む画像処理システムの構成例を示す概略図である。
【図２】本実施の形態の画像処理装置の構成例を示す模式図である。
【図３】本発明の関連技術に係る物体検出方法を説明するための模式図である。
【図４】本発明の関連技術に係る物体検出方法における課題を説明するための模式図である。
【図５】本発明の関連技術に係る物体検出方法による検出結果の一例を示す図である。
【図６】本実施の形態の物体検出方法を概略するための模式図である。
【図７】本実施の形態の物体検出方法における学習画像からサブセットを作成する処理を説明するための模式図である。
【図８】本実施の形態の物体検出方法における学習処理を説明するための模式図である。
【図９】本実施の形態の物体検出方法における学習処理手順を示すフローチャートである。
【図１０】本実施の形態の分岐ノードにおけるパッチの分岐処理を説明するための模式図である。
【図１１】学習処理によって作成される末端ノードの情報を模式的に示した図である。
【図１２】ＤＯＴ特徴を説明するための模式図である。
【図１３】本実施の形態の物体検出方法における検出処理手順を示すフローチャートである。
【図１４】実画像に対する性能検証に用いた３種類の物体を撮像して得られた距離画像の一例を示す。
【図１５】各物体検出技術による検出率および検出時間の検証結果を示す図である。
【図１６】各物体検出技術による検出例および尤度（類似度）マップを示す図である。
【図１７】決定木の階層ごとのポジティブサンプル重みを可視化した例を示す図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２１】
＜Ａ．画像処理システムの構成例＞
図１は、本実施の形態の画像処理装置１００を含む画像処理システム１の構成例を示す概略図である。図１に示す画像処理システム１は、撮像装置２を用いて複数の対象物４を撮像し、撮像によって取得された入力画像から予め登録された検出対象と一致する対象物の位置などを検出する。画像処理システム１は、撮像装置２と、画像処理装置１００と、ピックアップロボット２００とを含む。画像処理装置１００は、撮像装置２からの入力画像内から予め登録された検出対象の位置を検出し、その検出した位置の情報をピックアップロボット２００へ出力する。ピックアップロボット２００は、画像処理装置１００からの情報に従って、検出対象を把持して、所定の位置まで移動させる。
【００２２】
本発明に係る画像処理方法、画像処理装置、画像処理プログラムの応用先は、図１に示す画像処理システム１に限られるものではなく、各種の物体検出または物体認識に応用可能である。
【００２３】
＜Ｂ．画像処理装置の構成例＞
次に、図１に示す画像処理装置１００の構成例について説明する。図２は、本実施の形態の画像処理装置１００の構成例を示す模式図である。図２には、画像処理装置１００の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
【００２４】
より具体的には、画像処理装置１００は、プロセッサ１０２と、主メモリ１０４と、ＨＤＤ（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）などの回路要素を用いて実現してもよい。図２に示す画像処理プログラム１０８は、任意の記録媒体（例えば、光ディスクやフラッシュメモリなど）を通じて画像処理装置１００へインストールされてもよいし、ネットワークを介して配信されてもよい。さらに、画像処理装置１００とサーバ装置とを連携させて後述する処理や機能を実現してもよい。この場合には、画像処理装置１００およびサーバ装置のいずれか一方または両方に、本実施の形態を実現するために必要な機能が存在することになる。
【００２９】
また、撮像装置２を画像処理装置１００と一体的に構成してもよいし、撮像装置２と直接接続されていない画像処理装置１００を採用してもよい。後者の場合には、任意の撮像手段を用いて画像を生成または取得し、その生成または取得された画像をネットワークや任意の記録媒体を介して、画像処理装置１００に取り込むようにしてもよい。
【００３０】
＜Ｃ．関連技術およびその課題＞
統計的学習法を用いて入力画像からの物体検出技術としては、大きくは、領域ベース手法と局所パッチベース手法との２つに分類できる。領域ベース手法は、検出対象の大きさに合わせて切り出された画像全体から、特徴を抽出し、識別器を用いて検出対象であるか否かを判定する手法である。入力画像内において、物体の一部に隠れや変形が生じると、検出精度が低下するという問題がある。
【００３１】
これに対して、局所パッチベース手法は、入力画像から切り出された複数のパッチを用いて投票処理を行うため、物体の一部に隠れや変形が生じていても、ロバストな物体検出が可能である。局所パッチベース手法の一例として、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ（決定木群）をパッチの識別に利用したＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法が提案されている（非特許文献２などを参照）。Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法は、入力画像から切り出されたパッチをＲａｎｄｏｍ  Ｆｏｒｅｓｔｓへ入力し、各パッチが到達した末端ノードのクラス確率を検出対象の中心までのオフセット量を用いて投票する物体検出方法である。
【００３２】
まず、図３を参照して、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法について説明する。図３は、本発明の関連技術に係る物体検出方法を説明するための模式図である。図３（ａ）は、学習処理の手順を示し、図３（ｂ）は、検出処理の手順を示す。
【００３３】
（ｃ１：学習処理）
まず、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法の学習処理について説明する。学習処理は、複数の学習サンプルを用いて、パッチを識別するためのＲａｎｄｏｍ  Ｆｏｒｅｓｔｓ（決定木群）を構築する。物体検出処理では、入力画像から切り出されたパッチを決定木群へ入力し、それぞれの決定木において、各パッチが到達した末端ノードについての、クラス確率（到達した全パッチのうち、ポジティブパッチの数とネガティブパッチの数との比率）およびオフセット量のリストを用いて投票することで、物体を検出する。
【００３４】
学習処理については、図３（ａ）に示すように、学習画像より切り出されたパッチを学習サンプル２０として用いる。検出対象（検出すべき物体）およびそれを示す領域を「ポジティブサンプル」とも称し、検出対象からグリッドサンプリングにより切り出された１または複数のパッチを「ポジティブパッチ」とも称する。また、入力画像内の検出対象に相当する部分から切り出されたパッチについても「ポジティブパッチ」と称することがある。一方、非検出対象（検出されるべきではない物体）およびそれを示す領域を「ネガティブサンプル」とも称し、非検出対象から切り出された１または複数のパッチを「ネガティブパッチ」とも称す。また、入力画像内の非検出対象に相当する部分から切り出されたパッチについても「ネガティブパッチ」と称することがある。
【００３５】
学習処理において、各ポジティブサンプル（ポジティブパッチ）には、物体中心までのオフセット量が関連付けられている。オフセット量は、典型的には、パッチ中心から物体中心へのオフセットベクトルを含む。
【００３６】
学習サンプル２０からいくつかのパッチ（ポジティブパッチおよびネガティブパッチの両方を含むことが好ましい）がランダムに選択されてサブセット２６が作成される。サブセット２６は、構築すべき決定木２８の数と同数だけ作成されることになる。それぞれのサブセット２６を用いて、複数の決定木２８が構築（すなわち、学習）される。
【００３７】
決定木２８の構築過程において、各ノードでは、分岐関数が順次決定される。例えば、分岐ノードでは、２点の画素値の差をしきい値処理により左右の子ノードに分岐させる。分岐関数は、ランダムに決定してもよいし、分岐により２つに分けられるパッチ群の情報エントロピーが最も高くなるように選択してもよい。
【００３８】
構築された決定木２８に含まれるそれぞれの末端ノードは、学習処理によって得られた、クラス確率およびオフセット量を保持することになる。さらに、各末端ノードには、そこに到達したパッチに付随するカテゴリ情報（例えば、検出対象／非検出対象の区別、位置、角度などの情報）についてのヒストグラムが作成されてもよい。
【００３９】
（ｃ２：検出処理）
次に、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法の検出処理について説明する。図３（ｂ）を参照して、検出処理においては、任意の入力画像３０から切り出された複数のパッチ３２をそれぞれの決定木２８へ入力し、それぞれの決定木２８において、各パッチがいずれの末端ノードへ到達したのかを判断する。決定木２８において、各パッチは、到達したノードに設定されている分岐関数に従っていずれかの子ノードに分岐する。分岐関数に従う分岐をすべてのパッチが末端ノードへ到達するまで繰り返す。
【００４０】
それぞれのパッチが到達した末端ノードに保持されている情報を用いて、空間投票処理３６を行い、投票点の密度が高いところを検出対象の物体中心として決定する。より具体的には、それぞれパッチが到達した末端ノードに保持されているクラス確率を、対応するオフセット量を用いて画像空間３８について投票することで、尤度（類似度）マップを作成する。作成された尤度マップにおける極大値を推定することで、検出対象の物体中心を決定する。ここで、入力画像３０から切り出されたパッチ３２のうち、学習処理においてより多くのポジティブサンプルが到達した末端ノードへ到達したパッチについては、検出対象の一部である可能性が高いので、対応するベクトル量が投票されることになる。これに対して、入力画像３０から切り出されたパッチ３２のうち、学習処理においてより多くのネガティブパッチが到達した（すなわち、到達したポジティブパッチの割合が低い）末端ノードへ到達したパッチについては、検出対象の一部である可能性が低いので、対応するベクトル量が投票されない、またはその影響が小さくなる。
【００４１】
図３（ｂ）に示すように、画像空間３８においては、それぞれのパッチが到達した末端ノードに保持されているベクトル量（オフセットベクトル）から、物体中心と考えられる位置が投票点とされる。なお、空間投票処理の結果、投票点の密度が予め定められたしきい値を超えなければ、入力画像内に検出対象が存在しないと判断することもできる。
【００４２】
（ｃ３：課題）
続いて、上述したＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法での一つの課題について説明する。図４は、本発明の関連技術に係る物体検出方法における課題を説明するための模式図である。図５は、本発明の関連技術に係る物体検出方法による検出結果の一例を示す図である。
【００４３】
図４を参照して、例えば、非検出対象（ネガティブサンプル）と類似した検出対象（ポジティブサンプル）が多く存在するような場合がある。このような場合には、パッチの形状が互いに類似することになり、入力画像内にネガティブサンプルが表われた場合であっても、検出対象と同様に投票されてしまうことになり誤検知につながる。
【００４４】
図４に示すように、学習画像からポジティブパッチ３２−１およびネガティブパッチ３２−２が切り出されたとする。ポジティブパッチ３２−１は、ポジティブサンプルの割合が高い末端ノードへ到達し、投票処理の対象になる。一方、ネガティブパッチ３２−２は、他のポジティブパッチと類似しており、ポジティブパッチの割合が多い末端ノードへ到達したとする。この末端ノードについても投票処理の対象になる。
【００４５】
両末端ノードについて投票処理の対象になるので、図４のテスト画像内に表われているポジティブサンプルに加えて、本来投票されるべきではないネガティブサンプルにも投票されていることがわかる。これは、検知処理において、入力画像からネガティブパッチ３２−２と同様のパッチが切り出されると、当該パッチも投票処理の対象となり、検出対象と類似した形状領域を誤検出することを意味する。
【００４６】
例えば、図５には、その中に示される検出対象の画像について学習処理を行った上で、その中に示されるテスト画像に対して検出処理を行って得られた尤度（類似度）マップを示す。検出対象から切り出されたたパッチＡと非検出対象から切り出されたパッチＢとは、形状が類似しているため、同じ末端ノードに到達し、検出対象と同様に投票処理が行われる。その結果、図５の尤度マップに示されるように、非検出対象についても相対的にクラス尤度が高くなっている。
【００４７】
＜Ｄ．処理概要＞
本願発明者らは、上述のような課題について、学習画像より切り出されたすべてのパッチを平等に用いて学習処理が行われることがその原因であることを見出した。そして、このような原因を考慮して、決定木群を構築する際に用いる学習用のポジティブパッチを実質的に自動的に取捨選択できる新たな仕組みを発明した。
【００４８】
より具体的には、本願発明者らは、学習サンプルについて「重み」という概念を導入し、ネガティブサンプルと類似しているポジティブサンプルについての重みを相対的に低くすることで、投票処理において、ポジティブサンプルと類似しているとして投票される領域の影響を低減する。
【００４９】
また、「重み」の概念の導入と併せて、Ｍｕｌｔｉｐｌｅ−Ｉｎｓｔａｎｃｅ  Ｌｅａｒｎｉｎｇ（例えば、非特許文献３などを参照）において採用されているＢａｇの概念を導入することが好ましい。Ｂａｇの概念を導入することで、学習画像に表われる検出対象の揺らぎの影響を抑制する。後述するように、ポジティブサンプルの重みについては、Ｂａｇの単位で設定する。
【００５０】
（ｄ１：重み付け計算）
本実施の形態の画像処理方法は、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法をベースとした物体検出方法を提供する。本実施の形態の物体検出方法では、決定木の階層ごとに重みを決定することで、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くする。これによって、入力画像のうち学習画像と類似した領域への投票を抑制し、誤検出の可能性を低減する。
【００５１】
なお、本実施の形態の物体検出方法のコンセプトによれば、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くすればよいので、類似しているネガティブサンプルについての重みを高くする、および、当該ポジティブサンプルについての重みを低くする、の少なくとも一方を採用すればよい。但し、処理の簡素化などの観点から、本実施の形態では、ポジティブサンプルについての重みのみを調整することとする。すなわち、子ノードの各々についての重みを決定する処理では、検出対象を示す部分画像（ポジティブサンプル）についての重みを更新する一方で、非検出対象を示す部分画像（ネガティブサンプル）についての重みを維持する。
【００５２】
図６は、本実施の形態の物体検出方法を概略するための模式図である。図６を参照して、ポジティブパッチ（外周を実線で示す）およびネガティブパッチ（外周を破線で示す）を含む学習サンプル２０を用いて、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ（決定木２８群）を構築する際に、ポジティブパッチとネガティブパッチとを分離できているか否かに応じて重みを決定する。つまり、ポジティブパッチとネガティブパッチとが混在している末端ノード４０−１〜４０−４については、重みを調整してポジティブサンプルの割合を実質的に下げることで、その末端ノード４０−１〜４０−４に到達したポジティブパッチによる学習の影響を小さくする。このような重みによる調整によって、当該末端ノード４０−１〜４０−４のポジティブサンプルの割合が相対的に低くなり、検出処理において、当該末端ノード４０−１〜４０−４に何らかのパッチが到達したとしても、投票処理の対象としない、あるいは、投票処理の影響が低減される。
【００５３】
本実施の形態の物体検出方法では、各ノードについての分岐関数が決定され、当該決定された分岐関数に従ってパッチ群をいずれかの子ノードに分岐させた後に、当該ノードについての重みを決定する。すなわち、学習処理においては、分岐関数の決定、当該分岐関数によって分類されたパッチ群の評価、重み更新が各ノードについて繰り返される。そして、ルートノード４１から各末端ノード４０−１〜４０−４までの経路にある１または複数のノードに割り当てられた重みを合算することで、各末端ノード４０−１〜４０−４についての重みを最終的に決定する。
【００５４】
なお、完全な決定木２８が構築された後に、各末端ノード４０−１〜４０−４についての重み（または、クラス確率）を調整するようにしてもよい。但し、本実施の形態に物体検出方法のようにノードごとに重みを更新することで、処理を簡素化して、処理時間を低減できる。
【００５５】
重みを更新（または決定）するコンセプトの一例として、ユニークなポジティブを生じるノード、および、ユニークなネガティブパッチを生じるノードに対しては、重みを相対的に高める一方で、ネガティブパッチと類似したポジティブパッチ、および、ポジティブパッチと類似したネガティブパッチに対しては、重みを相対的に低くする。
【００５６】
図６に示すような決定木２８において、ノード４２−１についてみれば、一方の子ノード（末端ノード４０−１）には、ユニークなネガティブパッチが到達しており、他方の子ノード（末端ノード４０−２）には、非ユニークなネガティブパッチが到達している。両子ノードの状態を勘案して、ノード４２−１の重み付けは、相対的に高く変更される。また、ノード４２−２についてみれば、一方の子ノード（末端ノード４０−３）には、ユニークなネガティブパッチが到達しており、他方の子ノード（末端ノード４０−２）には、非ユニークなネガティブパッチが到達している。両子ノードの状態を勘案して、ノード４２−２の重み付けは、相対的に高く変更される。
【００５７】
学習処理において、重み付けの更新処理（または決定処理）によって、ユニークではない（非ユニークな）ポジティブパッチが到達した末端ノードについては、ポジティブの重みが相対的に下がり、ネガティブの重みが相対的に上がることになる。
【００５８】
検出処理においては、重みを反映した後のポジティブサンプルの割合が予め定められたしきい値を超える末端ノードについてのみ投票処理の対象とする。
【００５９】
図６中の下側の図に示すように、学習画像から切り出されたポジティブパッチ３２−１が到達した末端ノードのポジティブサンプルの割合は、１．００であり、しきい値を超えており、画像空間に投票されることになる。これに対して、ネガティブパッチ３２−２が到達した末端ノードのポジティブサンプルの割合は、０．２５であり、しきい値未満であるので、画像空間には投票されない。すなわち、図６のテスト画像内に表われているポジティブサンプルのみに投票されており、ネガティブサンプルには投票されていないことがわかる。これは、検出対象と類似した形状領域の誤検出を回避できることを意味する。
【００６０】
（ｄ２：Ｂａｇの概念）
次に、本実施の形態の物体検出方法が利用するＢａｇの概念について説明する。Ｂａｇは、学習画像に表われる検出対象の揺らぎの影響を低減するためのものであり、類似した領域に対する投票を抑制できる。上述した重みの更新処理（または決定処理）については、Ｂａｇの単位、すなわち同一のＢａｇに含まれるパッチ群の全体に対して一律に行われる。
【００６１】
すなわち、決定木群の学習処理において、Ｂａｇ内にネガティブパッチと類似しているポジティブパッチが含まれる場合には、決定木の階層ごとに、当該Ｂａｇ内のすべてのポジティブパッチについての重みが一体的に小さくなるように更新する。これにより、ネガティブサンプルと類似したポジティブサンプルからの投票を抑制できる。
【００６２】
図７は、本実施の形態の物体検出方法における学習画像からサブセットを作成する処理を説明するための模式図である。図７を参照して、学習画像（ポジティブサンプルおよびネガティブサンプル）のそれぞれからパッチが切り出される。本実施の形態の物体検出方法では、任意の角度で配置された検出対象を検出できるように、学習画像を回転させるとともに、各回転角におけるそれぞれの学習画像から学習サンプルを作成する。
【００６３】
典型的には、学習画像を１°ずつ３６０°回転させて３６０種類の学習画像を作成し、それぞれの学習画像からポジティブパッチおよびネガティブパッチを切り出す。本実施の形態の物体検出方法では、予め教師信号がある学習画像からＢａｇを作成するため、ポジティブパッチとネガティブパッチとが混在するようなＢａｇは作成せず、各Ｂａｇは、ポジティブパッチのみ、または、ネガティブパッチのみを含むことになる。但し、本学習処理では、物体検出（物体識別）に有効ではないポジティブサンプルの重みを低くすることを目的としているため、ネガティブサンプルについては、非検出対象の画像から切り出された１つのパッチを１つのＢａｇ（Ｂ４〜Ｂｌ）とする。
【００６４】
一方、ポジティブサンプルについては、画像内の位置および／または画像間の角度が近似する複数のパッチを１つのＢａｇとすることができる。図７に示す例では、画像内の位置において互いに近似するパッチを１つのＢａｇとする例を示す。本実施の形態においては、同一角度のポジティブ画像内の互いに近傍にある領域から切り出されたパッチ群を１つのＢａｇ（Ｂ１〜Ｂ３）とみなす。
【００６５】
そして、複数のＢａｇからなる学習サンプルから複数のＢａｇがランダムに選択（ランダムサンプリング）されてＴ個のサブセット１〜Ｔが作成される。Ｔ個のサブセットからＴ個の決定木が構築される。
【００６６】
図８は、本実施の形態の物体検出方法における学習処理を説明するための模式図である。図８を参照して、ポジティブパッチおよびネガティブパッチを含む学習サンプルを用いて、各階層（ノード）について、分岐関数を決定するとともに、決定された分岐関数に従って子ノードにそれぞれ分岐されたパッチについての分離度合い、すなわちクラス尤度が算出される。そして、算出されたクラス尤度に基づいて、対応するノード（階層）の重みが決定される。分岐関数の決定、クラス尤度の算出、重みの更新という一連の処理は、すべての学習用のパッチが末端ノードへ到達するまで繰り返される。
【００６７】
なお、学習画像としては任意の形式の画像を用いることができるが、物体検出においては、距離画像、すなわちある撮像点から物体表面の各点までの距離を画素値とした画像を用いることが好ましい。もちろん、通常の画像、すなわち物体表面の各点の明るさを画素値とした画像を用いることもできる。
【００６８】
＜Ｅ．学習処理の詳細＞
次に、本実施の形態の画像処理方法に係る学習処理の内容について詳述する。学習処理は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像（ポジティブサンプル／ポジティブチップ）から複数の決定木を作成する処理を含む。ここで複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。
【００６９】
図９は、本実施の形態の物体検出方法における学習処理手順を示すフローチャートである。図９に示す各ステップは、画像処理装置１００のプロセッサ１０２が画像処理プログラムを実行することで実現される。
【００７０】
図９を参照して、画像処理装置１００は、学習処理に用いる学習画像を受付ける（ステップＳ２）。続いて、画像処理装置１００は、入力された学習画像から学習サンプルを作成するとともに、Ｂａｇを構成する（ステップＳ４）。そして、画像処理装置１００は、学習サンプルの重みを初期化し（ステップＳ６）、学習サンプル群から所定数のサブセットを作成する（ステップＳ８）。その後、決定木群を構築する処理（ステップＳ１０〜Ｓ２０）が開始される。なお、ステップＳ１０〜Ｓ２０の処理は、作成されるサブセット（決定木）の数だけ並列的に実行されることが好ましい。もちろん、ステップＳ１０〜Ｓ２０の処理を直列的に複数回繰り返すようにしてもよい。
【００７１】
画像処理装置１００は、まず、階層１のあるノードにおける分岐関数候補を作成し（ステップＳ１０）、それらの作成した分岐関数候補の中から最適なものを階層１における分岐関数として決定する（ステップＳ１２）。そして、画像処理装置１００は、同一階層で分岐関数を決定していないノードが残っているか否かを判断する（ステップＳ１４）。同一階層で分岐関数を決定していないノードが残っている場合（ステップＳ１４においてＹＥＳの場合）には、ステップＳ１０以下の処理が繰り返される。
【００７２】
同一階層のすべてのノードについて分岐関数を決定済である場合（ステップＳ１４においてＮＯの場合）には、画像処理装置１００は、各ノードについての学習サンプルの重みを更新する（ステップＳ１６）。
【００７３】
その後、画像処理装置１００は、決定木群の構築に係る所定条件が満たされたか否かを判断する（ステップＳ１８）。決定木群の構築に係る所定条件が満たされていない場合（ステップＳ１８においてＮＯの場合）には、ステップＳ１０以下の処理が繰り返される。
【００７４】
決定木群の構築に係る所定条件が満たされている場合（ステップＳ１８においてＹＥＳの場合）には、画像処理装置１００は、各決定木の末端ノードＬに関連付けて、ポジティブサンプルの重み付き割合ＣＬと、物体中心までのオフセット量のリストＤＬ、回転角ｏｉｊを格納する（ステップＳ２０）。そして、学習処理は終了する。
【００７５】
以下、学習処理手順のより詳細な内容について説明する。
（ｅ１：学習サンプルの作成およびＢａｇの構成）
画像処理装置１００は、入力された学習画像から学習サンプルを作成するとともに、Ｂａｇを構成する（図９のステップＳ４）。上述したように、本実施の形態の物体検出方法では、検出対象を表すポジティブサンプルを所定角度（例えば、１°）ずつ回転させて、各回転角におけるポジティブサンプルをグリッドサンプリングにより切り出してポジティブパッチを作成する。すなわち、決定木群の学習処理は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像（ポジティブサンプル／ポジティブパッチ）を抽出する処理を含む。
【００７６】
ポジティブサンプル（ポジティブパッチ）の回転角をｏｉｊとする。各回転角ｏｉｊの学習画像から切り出されたパッチをＩｉｊとすると、各Ｂａｇは、以下のＢｉとして示される。
【００７７】
Ｂｉ＝｛（Ｉｉｊ，ｋｉｊ，ｄｉｊ，ｏｉｊ）｝（但し、ｉ＝１，２，…，Ｉ；ｊ＝１，２，…，Ｊ）
ここで、Ｉｉｊは、ｉ番目のＢａｇに所属するｊ個目のパッチを示し、ｋｉｊは、クラスラベルを示し、ｄｉｊは、パッチ位置から物体中心へのオフセット量を示す。クラスラベルｋｉｊは、対応するパッチが分岐関数によってユニークに分離されたのか、非ユニークに分離されたのかを示すフラグに相当する。
【００７８】
上述したように、回転角が互いに同一であるポジティブサンプル内の互いに近傍にある領域から切り出されたポジティブパッチ群を１つのＢａｇとして構成する。すなわち、複数の決定木を作成する処理（学習処理）は、互いに近傍にある領域から抽出された検出対象を示す複数の部分学習画像（ポジティブサンプル／ポジティブチップ）を単一のグループに設定する処理を含む。一方、非検出対象の画像から切り出されたネガティブパッチは、それぞれが１つのＢａｇとして構成される。
【００７９】
（ｅ２：重みの初期化）
画像処理装置１００は、決定木を構築する前に、学習サンプルの重みを初期化する（ステップＳ６）。より具体的には、画像処理装置１００は、学習サンプルの重みｗ（ｄ）ｉｊをｗ（０）ｉｊ＝１／Ｎに初期化する。ここで、定数Ｎは、任意の値に設定できる。
【００８０】
（ｅ３：サブセットの作成）
続いて、画像処理装置１００は、学習サンプル群からＴ（ｔ＝１，２，…，Ｔ）個のサブセットを作成する（ステップＳ８）。画像処理装置１００は、図８に示されるように、学習サンプル群の集合からランダムに選択（ランダムサンプリング）されることにより、それぞれのサブセットを作成する。そして、以下に示すように、画像処理装置１００は、作成したそれぞれのサブセットを用いてＴ個の決定木を構築する。なお、決定木の構築処理は、並列的に実行されることが好ましい。
【００８１】
（ｅ４：分岐関数候補の作成）
決定木の構築処理の第１段階として、画像処理装置１００は、階層１における分岐関数候補を作成する（ステップＳ１０）。ここで、階層ｄにおける分岐関数候補ｈ（ｄ）Ｔ，τ（Ｉ）は、学習サンプルから切り出された学習パッチＩとテンプレートＴとの類似度Ｓ（Ｉ，Ｔ）としきい値τとを用いて、以下の（１）式のように定義される。
【００８２】
【数１】
2015232805.tif 000003
【００８３】
ここで、パラメータτは，学習パッチＩとテンプレートＴとの類似度を評価するためのしきい値である。
【００８４】
（ｅ５：分岐関数の決定）
続いて、画像処理装置１００は、作成した分岐関数候補の中から最適なものを対象の階層における分岐関数として決定する（ステップＳ１２）。すなわち、複数の決定木を作成する処理（学習処理）は、末端ノードではないノードに関連付けて、入力された部分学習画像（ポジティブサンプル／ポジティブチップ）が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する処理を含む。
【００８５】
図１０は、本実施の形態の分岐ノードにおけるパッチの分岐処理を説明するための模式図である。図１０を参照して、（１）式のテンプレートＴは、対象の分岐ノードに与えられるポジティブサンプル群からランダムに選択される。図１０に示す例では、各パッチＩは、テンプレートＴとの間の類似度が算出され、算出された類似度がしきい値未満であれば、左側の子ノードに分岐され、そうでなければ右側の子ノードに分岐される。
【００８６】
分岐関数の決定処理においては、テンプレートＴおよびパラメータτをランダムにそれぞれ選択するとともに、以下の（２）式で定義される評価関数Ｕ＊を用いて評価値を算出する。そして、この評価値が最小となるテンプレートＴおよびパラメータτを決定し、これらの決定された値から最適な分岐関数を決定する。
【００８７】
【数２】
2015232805.tif 000004
【００８８】
ここで、（２）式の｛ｐｉｊ｜ｈ（Ｉｉ）＝０｝は、図１０の左側の子ノードに分割されたサンプルの集合を示し、｛ｐｉｊ｜ｈ（Ｉｉ）＝１｝は、図１０の右側の子ノードに分割されたサンプルの集合を示す。
【００８９】
評価関数Ｕの評価には、以下の２つの基準を階層ごとに切り替えて用いる。１つ目は、情報エントロピーを評価する関数Ｕ１（Ａ）であり、それぞれの子ノードに分岐したサンプルの集合Ａについて、以下の（３）式に従って定義する。
【００９０】
【数３】
2015232805.tif 000005
【００９１】
ここで、ｃはサンプルの集合Ａに含まれるポジティブサンプルの割合を示し、学習サンプルの重みｗ（ｄ）ｉｊを用いて、以下の（４）式に従って算出される。
【００９２】
【数４】
2015232805.tif 000006
【００９３】
２つ目は、オフセット量ｄｉｊのばらつきを評価する関数Ｕ２（Ａ）であり、以下の（５）式に従って定義する。
【００９４】
【数５】
2015232805.tif 000007
【００９５】
ここで、ｄＡは、オフセット量ｄｉｊの平均値を示すので、Ｕ２（Ａ）はオフセット量の分散に相当する。
【００９６】
各決定木において、対象の階層ｄにおける必要なすべてのノードが作成されるまで、ステップＳ１０およびＳ１２の処理が繰り返される。
【００９７】
（ｅ６：サンプル重みの更新）
対象の階層ｄについてのすべてのノードが作成されると、画像処理装置１００は、各子ノードについての学習サンプルの重みを更新する（ステップＳ１６）。すなわち、複数の決定木を作成する処理（学習処理）は、複数の部分学習画像（ポジティブサンプル／ポジティブチップ）を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する処理を含む。
【００９８】
重みの更新は、ポジティブサンプルのみを対象として行われる。ポジティブサンプルの重みｗ（ｄ）ｉｊは、ポジティブサンプルのクラス尤度ｐｉｊとＢａｇのクラス尤度ｐｉとの積により更新される。まず、クラス尤度ｐｉｊは、以下の（６）式に従って算出される。
【００９９】
【数６】
2015232805.tif 000008
【０１００】
ここで、Ｆ（Ｉｉｊ）＝２ｃ−１と定義すると、ノード内のポジティブサンプルの割合ｃが高いほどクラス尤度ｐｉｊは高くなり、逆にポジティブサンプルの割合ｃが低いほどクラス尤度ｐｉｊは低くなる。つまり、子ノードの各々についての重みを決定する処理では、各子ノードに分岐された部分学習画像のうち、検出対象を示す部分学習画像（ポジティブサンプル／ポジティブチップ）の割合に基づいて、重みを決定することになる。
【０１０１】
一方、Ｂａｇのクラス尤度ｐｉは、Ｂａｇに属するサンプル集合のクラス尤度を用いて、以下の（７）式に従って算出される。
【０１０２】
【数７】
2015232805.tif 000009
【０１０３】
ポジティブサンプルの重みｗ（ｄ＋１）ｉｊは、Ｂａｇのクラス尤度ｐｉとポジティブサンプルのクラス尤度ｐｉｊとを用いて、（８）式に従って算出される。
【０１０４】
【数８】
2015232805.tif 000010
【０１０５】
最後に、ノード内のポジティブサンプルの重みを以下の（９）式に従って正規化する。すなわち、子ノードの各々についての重みを決定する処理は、非検出対象を示す部分画像についての重みを正規化する処理を含む。
【０１０６】
【数９】
2015232805.tif 000011
【０１０７】
上述の（６）〜（９）式に示されるように、ポジティブサンプルの重みｗ（ｄ＋１）ｉｊは、Ｂａｇのクラス尤度ｐｉが低いポジティブサンプルが多く含まれていると低くなり、逆に、逆にクラス尤度ｐｉｊが高いポジティブサンプルが多く含まれていると高くなる。
【０１０８】
また、Ｂａｇのクラス尤度ｐｉは対応するＢａｇ全体に適用されるので、重みの更新処理（または決定処理）については、Ｂａｇの単位、すなわち同一のＢａｇに含まれるパッチ群の全体に対して一律に行われる。すなわち、上述した重みの更新処理（または決定処理）については、Ｂａｇの単位、すなわち同一のＢａｇに含まれるパッチ群の全体に対して一律に行われる。言い換えれば、子ノードの各々についての重みを決定する処理は、同一のグループに属する複数の部分学習画像（ポジティブサンプル／ポジティブチップ）に対して共通して重みを決定する処理を含む。
【０１０９】
（ｅ７：ノード作成および重み更新の繰り返し）
画像処理装置１００は、上述したノード作成および重み更新の処理を所定条件が満たされるまで繰り返す。所定条件としては、例えば、サンプル数が一定数未満になるか、あるは、階層が指定した深さに到達することを含む。階層が深くなるにつれ、ポジティブサンプルの重みが低いサンプルによる影響が低減された分岐関数を有する決定木が構築されることになる。
【０１１０】
（ｅ８：末端ノードの作成）
サブセットの数に相当する決定木が構築されると、画像処理装置１００は、各決定木の末端ノードＬに関連付けて、ポジティブサンプルの重み付き割合ＣＬと、物体中心までのオフセット量のリストＤＬ、回転角ｏｉｊを格納する（ステップＳ２０）。すなわち、末端ノードＬの情報は、末端ノードＬに到達した検出対象を示す部分学習画像（ポジティブサンプル）が生成された学習画像の回転角を含むことになる。
【０１１１】
図１１は、学習処理によって作成される末端ノードの情報を模式的に示した図である。図１１を参照して、ネガティブサンプルと類似しているとポジティブサンプルについては、ルートノードからの経路上にあるそれぞれのノードでその重みが順次下げられる。最終的に、末端ノードに到達すると、そのようなポジティブサンプルについての重みは相対的に小さくなっており、この重みを用いてヒストグラム（クラス確率）が決定されるので、図１１に示すような末端ノードについては、後述の検出処理では、投票処理の対象にはならない。
【０１１２】
すなわち、複数の決定木を作成する処理（学習処理）は、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する１または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像（ポジティブサンプル／ポジティブチップ）が当該末端ノードの各々に到達する割合を決定する処理を含む。
【０１１３】
上述の一連の学習処理に従って決定木群を構築することで、階層が深くなるにつれて、非検出対象と類似しているポジティブサンプルの重みを自動的に低くすることができる。つまり、誤検知を生じる可能性を低減した決定木群を構築できる。
【０１１４】
（ｅ９：特徴量および類似度計算）
上述の（１）式に示す分岐関数候補としては、どのようなものを用いてもよいが、例えば、ＤＯＴ（Dominant Orientation Templates）（例えば、非特許文献４などを参照）に従う類似度を用いてもよい。ＤＯＴは、セルと称される局所領域ごとに作成した勾配方向ヒストグラムと、セルの注目画素の勾配方向とにより算出される。
【０１１５】
図１２は、ＤＯＴ特徴を説明するための模式図である。図１２を参照して、セルの特徴については、０〜３６０°を２２．５°間隔に分けたビンに勾配情報を投票し、しきい値処理することで２値化する。セルの注目画素では。０〜３６０°の方向を４５°間隔に分けたビンを用意し、セルの注目画素の勾配方向に対応するビンを「１」、それ以外を「０」とすることで２値化する。ＤＯＴ特徴に従う類似度は、以下の（１０）式に従って算出する。
【０１１６】
【数１０】
2015232805.tif 000012
【０１１７】
この（１０）式において、学習パッチＩとテンプレートＴとのＡＮＤ演算の結果、１つでも１となるビットがある場合に１が返される。
【０１１８】
＜Ｆ．検出処理の詳細＞
次に、学習処理によって構築された決定木群を用いた検出処理について詳述する。検出処理は、入力画像に含まれる複数の部分入力画像（パッチ）が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断する処理を含む。
【０１１９】
本実施の形態の物体検出方法では、入力画像から切り出されたパッチを構築された決定木群へ入力し、各入力されたパッチが到達した末端ノードに保持されている情報（ポジティブサンプルの重み付き割合ＣＬ、物体中心までのオフセット量のリストＤＬ、回転角ｏｉｊ）を用いて投票処理を行う。この投票処理において、回転角θごとに投票平面（上述の例では、１°刻みで３６０枚）を用意しておき、３次元の尤度（類似度）マップを構成する。
【０１２０】
より具体的には、画像処理装置１００は、入力画像の位置ｙから切り出されたパッチＩ（ｙ）を各決定木へ入力し、決定木ごとのポジティブサンプル割合Ｐ（ｃ｜Ｉ（ｙ））を算出する。そして、画像処理装置１００は、各決定木のＰ（ｃ｜Ｉ（ｙ））を、以下の（１１）式に示すように、到達した末端ノードに保持されている回転角ｉｊに対応する投票空間Ｖθ（ｙ）に投票する。
【０１２１】
【数１１】
2015232805.tif 000013
【０１２２】
構築した３次元の尤度（類似度）マップを探索して、物体の位置および回転角を決定する。すなわち、検出処理では、画像空間と回転角とで定義される仮想空間を用いて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断することになる。
【０１２３】
図１３は、本実施の形態の物体検出方法における検出処理手順を示すフローチャートである。図１３に示す各ステップは、画像処理装置１００のプロセッサ１０２が画像処理プログラムを実行することで実現される。
【０１２４】
図１３を参照して、画像処理装置１００は、検出処理の対象となる入力画像を受付ける（ステップＳ１０２）。続いて、画像処理装置１００は、入力された入力画像から複数のパッチを切り出し（ステップＳ１０４）、各切り出したパッチを決定木群に入力して、到達する末端ノードを特定する（ステップＳ１０６）。そして、画像処理装置１００は、各パッチがそれぞれの決定木において到達した末端ノードに保持されている情報を用いて投票処理を行う（ステップＳ１０８）。なお、ポジティブサンプルの割合がしきい値未満である末端ノードについては、投票処理の対象にはならない。
【０１２５】
すべてのパッチについての投票処理が完了すると、以下のような探索処理が実行される。具体的には、画像処理装置１００は、ある回転角θの投票平面を走査して１または複数の局所領域を特定する（ステップＳ１１０）。続いて、画像処理装置１００は、局所領域ごとの総和を算出する（ステップＳ１１２）とともに、投票平面における局所領域の総和の最大値を探索する（ステップＳ１１４）。画像処理装置１００は、すべての回転角θについて探索処理が完了したか否かを判断する（ステップＳ１１６）。探索処理が完了していない回転角がある場合（ステップＳ１１６においてＮＯの場合）には、画像処理装置１００は、新たな回転角θを選択し（ステップＳ１１８）、ステップＳ１１０以下の処理を繰り返す。
【０１２６】
すべての回転角θについて探索処理が完了している場合（ステップＳ１１６においてＹＥＳの場合）には、画像処理装置１００は、局所領域の総和が最大となる投票平面に対応する回転角θを検出対象の回転角とし、その局所領域の注目点を検出対象の位置として決定する（ステップＳ１２０）。なお、局所領域の総和が予め定められたしきい値未満であるような場合には、入力画像内に検出対象が存在しないと判断してもよい。
【０１２７】
以上のような検出処理によって、入力画像に対して１回のラスタスキャンのみで全回転角についての物体検出処理を実現できる。
【０１２８】
＜Ｇ．評価結果＞
本願発明者らは、本実施の形態の物体検出方法の有効性を評価するために、実画像を用いて、既存の物体検出技術と比較した性能評価を行った。
【０１２９】
（ｇ１：実験概要）
既存の物体検出技術としては、ＺＮＣＣ、Ｃｈａｍｆｅｒ  Ｍａｔｃｈｉｎｇ、ＤＯＴ、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓを取り上げた。参考のため、各物体検出技術の概要を説明する。
【０１３０】
ＺＮＣＣ（Zero-mean Normalized Cross-Correlation）は、入力画像およびテンプレートの輝度値の平均値とそれぞれの輝度値との差を計算することで、明るさが変動する場合でも安定した検出を可能にする手法である。
【０１３１】
Ｃｈａｍｆｅｒ  Ｍａｔｃｈｉｎｇは、入力画像とテンプレートとの間のエッジの相違度に基づいてマッチングを行う手法であり、距離変換画像を用いてエッジの相違度が小さくなる方向へ効率的に探索することが可能である。
【０１３２】
ＤＯＴ（Dominant Orientation Templates）は、入力画像とテンプレートと間の勾配情報に基づく類似度によりマッチングを行う手法であり、勾配情報をバイナリで表現することにより高速なマッチングが可能である。
【０１３３】
（ｇ２：性能検証）
以下に説明する性能検証において、実画像として、レンジファインダより撮像した点群データを変換して得られた距離画像を用いた。より具体的には、テストデータとしては、手動のターンテーブルを約１０°間隔で回転させて被写体を撮像して得られた実画像を用いた。このとき、レンジファインダから対象物までの距離は約５０ｃｍであった。
【０１３４】
図１４は、実画像に対する性能検証に用いた３種類の物体を撮像して得られた距離画像の一例を示す。学習画像としては、図１４に示すような３種類の物体（物体Ａ、物体Ｂ、物体Ｃ）を撮像して得られた各画像を、それぞれ０〜３６０°に回転させた距離画像３６０×３枚を用いた。画像サイズは、５００×５００ピクセルとした。位置に対する真値は、検出対象にマーカを付与し、マーカ位置を目視により決定することで決定した。性能検証の手法としては、位置ずれ誤差が３ピクセル以内、かつ回転角に対する誤差が３°以内であれば検出が成功であると判断し、検出率を算出する。
【０１３５】
図１５は、各物体検出技術による検出率および検出時間の検証結果を示す図である。図１５に示すように、実画像に対する性能検証においても、本実施の形態の物体検出方法は、物体Ｂに対して、最も顕著な精度向上の効果を示している。
【０１３６】
図１６は、各物体検出技術による検出例および尤度（類似度）マップを示す図である。図１６に示すように、検出対象が物体Ｂであるときには、既存の物体検出技術は、非検出対象の領域の尤度が高いことを示すが、本実施の形態の物体検出方法は、それらの領域についての尤度が低くことを示しており、誤検出を生じる可能性を抑制できていることがわかる。
【０１３７】
図１７は、決定木の階層ごとのポジティブサンプル重みを可視化した例を示す図である。図１７に示すように、物体Ｂ以外には存在していない曲線形状についての重みが相対的に高く、それ以外の領域についての重みが相対的に低いことがわかる。このことからも、本実施の形態の物体検出方法が学習画像の重みを有効に検出できていることがわかる。
【０１３８】
再度図１５を参照して、処理時間についてみると、ＺＮＣＣ、Ｃｈａｍｆｅｒ  Ｍａｔｃｈｉｎｇ、ＤＯＴは、回転角ごとに用意された３６０枚のすべてのテンプレートとの間で照合を行う必要があるため、多大な処理時間を要していることがわかる。しかしながら、Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法およびＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法をベースとした本実施の形態の物体検出方法では、決定木により３６０枚のテンプレートを表現するため、１回のラスタスキャンで各回転角の検出対象との間で照合が可能であるため、１．１［ｓｅｃ］で検出処理を完了できている。
【０１３９】
以上の性能検証の結果から、本実施の形態の物体検出方法は、既存の物体検出技術に比較して、より高い精度で、かつより高速に検出対象を検出できることがわかる。
【０１４０】
＜Ｈ．利点＞
本実施の形態の物体検出方法は、非検出対象と類似した学習サンプルの重みを相対的に低くすることで、検出対象と類似した非検出対象の誤検出を抑制できる。また、上述の検証結果にも示されるように、既存の物体検出技術に比較して、誤検出の発生を抑制して、対象物をより安定的に検出することができる。
【０１４１】
さらに、本実施の形態の物体検出方法は、単一の決定木群を用いて、回転変化させた学習サンプルを表現できるので、入力画像を１回だけラスタスキャンすることで、物体の検出処理を実現できる。そのため、物体の検出処理をより高速化できる。
【０１４２】
なお、上述の説明では、「重み」が低いほど影響を低減するという前提で説明したが、「重み」の概念については、上述の説明とは逆の概念で用いてもよい。すなわち、「重み」が高いほど、投票処理の対象にはしないという概念であってもよい。
【０１４３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４４】
１  画像処理システム、２  撮像装置、４  対象物、２０  学習サンプル、２８  決定木、３０  入力画像、３２  パッチ、３２−１  ポジティブパッチ、３２−２  ネガティブパッチ、３６  空間投票処理、３８  画像空間、４０−１〜４０−４  末端ノード、４１  ルートノード、１００  画像処理装置、１０２  プロセッサ、１０４  主メモリ、１０８  画像処理プログラム、１１０  ネットワークインターフェイス、１１２  画像入力インターフェイス、１１４  入力部、１１６  表示部、１１８  出力インターフェイス、１２０  内部バス、２００  ピックアップロボット、３６０  距離画像。
【図１】
2015232805.tif 000014
【図２】
2015232805.tif 000015
【図４】
2015232805.tif 000016
【図６】
2015232805.tif 000017
【図８】
2015232805.tif 000018
【図９】
2015232805.tif 000019
【図１３】
2015232805.tif 000020
【図１５】
2015232805.tif 000021
【図３】
2015232805.tif 000022
【図５】
2015232805.tif 000023
【図７】
2015232805.tif 000024
【図１０】
2015232805.tif 000025
【図１１】
2015232805.tif 000026
【図１２】
2015232805.tif 000027
【図１４】
2015232805.tif 000028
【図１６】
2015232805.tif 000029
【図１７】
2015232805.tif 000030