JP2015232805A - 画像処理方法、画像処理装置、および画像処理プログラム - Google Patents
画像処理方法、画像処理装置、および画像処理プログラム Download PDFInfo
- Publication number
- JP2015232805A JP2015232805A JP2014119465A JP2014119465A JP2015232805A JP 2015232805 A JP2015232805 A JP 2015232805A JP 2014119465 A JP2014119465 A JP 2014119465A JP 2014119465 A JP2014119465 A JP 2014119465A JP 2015232805 A JP2015232805 A JP 2015232805A
- Authority
- JP
- Japan
- Prior art keywords
- image
- node
- nodes
- weight
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
【課題】処理時間が長くなることを抑制しつつ、検出性能を高めることのできる画像処理装置、画像処理方法および画像処理プログラムが要望されている。
【解決手段】画像処理方法は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを含む。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。
【選択図】図6
【解決手段】画像処理方法は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを含む。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。
【選択図】図6
Description
本発明は、画像処理方法、画像処理装置、および画像処理プログラムに関する。
物体検出技術の一つとして、Random Forests法と称される方法が実用化されている(例えば、非特許文献1などを参照)。Random Forests法では、学習処理として、データ集合から複数個のサブセットを抽出し、各サブセットについて決定木(単純ベイズ識別器)を構築する。すなわち、教師あり学習として、サブセットごとの決定木群が構築される。
Random Forestsを入力画像から切り出された部分画像(以下「パッチ画像」、あるいは単に「パッチ」とも称す。)の識別に利用したHough Forests法が提案されている(例えば、非特許文献2などを参照)。Hough Forests法では、サンプル画像から切り出されたパッチのサブセットから決定木群を構築した上で、入力画像から切り出されたパッチを決定木群へ入力する。各パッチが各決定木においていずれのリーフノード(以下「末端ノード」とも称す。)に到達したのかを判断し、それぞれの末端ノードに保持されている情報(予め学習処理おいて得られている情報)を用いて、入力画像内に検出対象が存在するか否か、および、存在する場合の検出対象の位置などを判定する。
例えば、特開2012−042990号公報(特許文献1)は、決定木群を識別器として用いるランダムフォレスト法を画像アノテーション技術(画像識別情報付与技術)に適用した画像識別情報付与装置を開示する。
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.
上述したRandom Forests法は、学習処理において、検出対象を示すパッチと、非検出対象を示すパッチとを用いて決定木を構築することになる。しかしながら、検出対象と非検出対象との形状が互いに類似している場合には、被写体として非検出対象を含む入力画像を検出対象から十分に区別することができず、誤検出を生じる可能性がある。
上述の引用文献1は、分類性能を確保するために、ベイスの定理および特徴ベクトルの独立性を利用して、尤度関数を直接計算する手法を開示する。しかしながら、引用文献1が開示する手法では、処理時間が長くなるという課題がある。
そのため、処理時間が長くなることを抑制しつつ、検出性能を高めることのできる画像処理装置、画像処理方法および画像処理プログラムが要望されている。
本発明のある局面に従う画像処理方法は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを含む。複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。画像処理方法は、入力画像に含まれる複数の部分入力画像が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断するステップを含む。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。
好ましくは、画像処理方法は、互いに近傍にある領域から抽出された検出対象を示す複数の部分学習画像を単一のグループに設定するステップをさらに含み、子ノードの各々についての重みを決定するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む。
好ましくは、子ノードの各々についての重みを決定するステップは、各子ノードに分岐された部分学習画像のうち、検出対象を示す部分学習画像の割合に基づいて、重みを決定する。
好ましくは、子ノードの各々についての重みを決定するステップは、検出対象を示す部分画像についての重みを更新する一方で、非検出対象を示す部分画像についての重みを維持するステップを含む。
さらに好ましくは、子ノードの各々についての重みを決定するステップは、非検出対象を示す部分画像についての重みを正規化するステップを含む。
好ましくは、画像処理方法は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップをさらに含む。末端ノードの情報は、当該末端ノードに到達した検出対象を示す部分学習画像が生成された学習画像の回転角を含み、判断するステップは、画像空間と回転角とで定義される仮想空間を用いて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断するステップを含む。
本発明の別の局面に従う画像処理装置は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成する手段を含む。複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。画像処理装置は、入力画像に含まれる複数の部分入力画像が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断する手段を含む。複数の決定木を作成する手段は、末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する手段と、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する手段と、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定する手段とを含む。
本発明のさらに別の局面に従う画像処理プログラムは、コンピュータで実行されて、コンピュータに、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを実行させる。複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。画像処理プログラムは、さらにコンピュータに、入力画像に含まれる複数の部分入力画像が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断するステップを実行させる。複数の決定木を作成するステップは、末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、複数の部分学習画像を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む。
本発明のいくつかの局面によれば、処理時間が長くなることを抑制しつつ、検出性能を高めることのできる画像処理装置、画像処理方法および画像処理プログラムを提供できる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.画像処理システムの構成例>
図1は、本実施の形態の画像処理装置100を含む画像処理システム1の構成例を示す概略図である。図1に示す画像処理システム1は、撮像装置2を用いて複数の対象物4を撮像し、撮像によって取得された入力画像から予め登録された検出対象と一致する対象物の位置などを検出する。画像処理システム1は、撮像装置2と、画像処理装置100と、ピックアップロボット200とを含む。画像処理装置100は、撮像装置2からの入力画像内から予め登録された検出対象の位置を検出し、その検出した位置の情報をピックアップロボット200へ出力する。ピックアップロボット200は、画像処理装置100からの情報に従って、検出対象を把持して、所定の位置まで移動させる。
図1は、本実施の形態の画像処理装置100を含む画像処理システム1の構成例を示す概略図である。図1に示す画像処理システム1は、撮像装置2を用いて複数の対象物4を撮像し、撮像によって取得された入力画像から予め登録された検出対象と一致する対象物の位置などを検出する。画像処理システム1は、撮像装置2と、画像処理装置100と、ピックアップロボット200とを含む。画像処理装置100は、撮像装置2からの入力画像内から予め登録された検出対象の位置を検出し、その検出した位置の情報をピックアップロボット200へ出力する。ピックアップロボット200は、画像処理装置100からの情報に従って、検出対象を把持して、所定の位置まで移動させる。
本発明に係る画像処理方法、画像処理装置、画像処理プログラムの応用先は、図1に示す画像処理システム1に限られるものではなく、各種の物体検出または物体認識に応用可能である。
<B.画像処理装置の構成例>
次に、図1に示す画像処理装置100の構成例について説明する。図2は、本実施の形態の画像処理装置100の構成例を示す模式図である。図2には、画像処理装置100の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
次に、図1に示す画像処理装置100の構成例について説明する。図2は、本実施の形態の画像処理装置100の構成例を示す模式図である。図2には、画像処理装置100の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
より具体的には、画像処理装置100は、プロセッサ102と、主メモリ104と、HDD(Hard Disk Drive)106と、ネットワークインターフェイス110と、画像入力インターフェイス112と、入力部114と、表示部116と、出力インターフェイス118とを含む。これらのコンポーネントは、内部バス120を介して、互いに通信可能に接続されている。
プロセッサ102は、後述する処理を実行する処理主体であり、HDD106に格納されている画像処理プログラム108を主メモリ104に展開して実行する。プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)からなる。HDD106には、後述する学習処理の結果得られる決定木や検出処理の結果などが格納されてもよい。
ネットワークインターフェイス110は、外部ネットワークなどを介した他の装置やサーバなどとの通信を仲介する。画像入力インターフェイス112は、任意の通信プロトコルに準拠した回路を含み、撮像装置2からの入力画像を受付ける。入力部114は、キーボードやマウスなどを含み、ユーザからの入力操作を受付ける。表示部116は、ディスプレイなどからなり、学習処理や検出処理などの処理過程や結果などをユーザへ通知する。出力インターフェイス118は、任意の通信プロトコルに準拠した回路を含み、検出処理によって得られた結果などを外部(例えば、ピックアップロボット200など)へ出力する。
撮像装置2は、被写体を撮像することで入力画像を生成する手段であり、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといったデバイスを含む。
画像処理装置100の機能の全部または一部を、例えば、SoC(System on a chip)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などの回路要素を用いて実現してもよい。図2に示す画像処理プログラム108は、任意の記録媒体(例えば、光ディスクやフラッシュメモリなど)を通じて画像処理装置100へインストールされてもよいし、ネットワークを介して配信されてもよい。さらに、画像処理装置100とサーバ装置とを連携させて後述する処理や機能を実現してもよい。この場合には、画像処理装置100およびサーバ装置のいずれか一方または両方に、本実施の形態を実現するために必要な機能が存在することになる。
また、撮像装置2を画像処理装置100と一体的に構成してもよいし、撮像装置2と直接接続されていない画像処理装置100を採用してもよい。後者の場合には、任意の撮像手段を用いて画像を生成または取得し、その生成または取得された画像をネットワークや任意の記録媒体を介して、画像処理装置100に取り込むようにしてもよい。
<C.関連技術およびその課題>
統計的学習法を用いて入力画像からの物体検出技術としては、大きくは、領域ベース手法と局所パッチベース手法との2つに分類できる。領域ベース手法は、検出対象の大きさに合わせて切り出された画像全体から、特徴を抽出し、識別器を用いて検出対象であるか否かを判定する手法である。入力画像内において、物体の一部に隠れや変形が生じると、検出精度が低下するという問題がある。
統計的学習法を用いて入力画像からの物体検出技術としては、大きくは、領域ベース手法と局所パッチベース手法との2つに分類できる。領域ベース手法は、検出対象の大きさに合わせて切り出された画像全体から、特徴を抽出し、識別器を用いて検出対象であるか否かを判定する手法である。入力画像内において、物体の一部に隠れや変形が生じると、検出精度が低下するという問題がある。
これに対して、局所パッチベース手法は、入力画像から切り出された複数のパッチを用いて投票処理を行うため、物体の一部に隠れや変形が生じていても、ロバストな物体検出が可能である。局所パッチベース手法の一例として、Random Forests(決定木群)をパッチの識別に利用したHough Forests法が提案されている(非特許文献2などを参照)。Hough Forests法は、入力画像から切り出されたパッチをRandom Forestsへ入力し、各パッチが到達した末端ノードのクラス確率を検出対象の中心までのオフセット量を用いて投票する物体検出方法である。
まず、図3を参照して、Hough Forests法について説明する。図3は、本発明の関連技術に係る物体検出方法を説明するための模式図である。図3(a)は、学習処理の手順を示し、図3(b)は、検出処理の手順を示す。
(c1:学習処理)
まず、Hough Forests法の学習処理について説明する。学習処理は、複数の学習サンプルを用いて、パッチを識別するためのRandom Forests(決定木群)を構築する。物体検出処理では、入力画像から切り出されたパッチを決定木群へ入力し、それぞれの決定木において、各パッチが到達した末端ノードについての、クラス確率(到達した全パッチのうち、ポジティブパッチの数とネガティブパッチの数との比率)およびオフセット量のリストを用いて投票することで、物体を検出する。
まず、Hough Forests法の学習処理について説明する。学習処理は、複数の学習サンプルを用いて、パッチを識別するためのRandom Forests(決定木群)を構築する。物体検出処理では、入力画像から切り出されたパッチを決定木群へ入力し、それぞれの決定木において、各パッチが到達した末端ノードについての、クラス確率(到達した全パッチのうち、ポジティブパッチの数とネガティブパッチの数との比率)およびオフセット量のリストを用いて投票することで、物体を検出する。
学習処理については、図3(a)に示すように、学習画像より切り出されたパッチを学習サンプル20として用いる。検出対象(検出すべき物体)およびそれを示す領域を「ポジティブサンプル」とも称し、検出対象からグリッドサンプリングにより切り出された1または複数のパッチを「ポジティブパッチ」とも称する。また、入力画像内の検出対象に相当する部分から切り出されたパッチについても「ポジティブパッチ」と称することがある。一方、非検出対象(検出されるべきではない物体)およびそれを示す領域を「ネガティブサンプル」とも称し、非検出対象から切り出された1または複数のパッチを「ネガティブパッチ」とも称す。また、入力画像内の非検出対象に相当する部分から切り出されたパッチについても「ネガティブパッチ」と称することがある。
学習処理において、各ポジティブサンプル(ポジティブパッチ)には、物体中心までのオフセット量が関連付けられている。オフセット量は、典型的には、パッチ中心から物体中心へのオフセットベクトルを含む。
学習サンプル20からいくつかのパッチ(ポジティブパッチおよびネガティブパッチの両方を含むことが好ましい)がランダムに選択されてサブセット26が作成される。サブセット26は、構築すべき決定木28の数と同数だけ作成されることになる。それぞれのサブセット26を用いて、複数の決定木28が構築(すなわち、学習)される。
決定木28の構築過程において、各ノードでは、分岐関数が順次決定される。例えば、分岐ノードでは、2点の画素値の差をしきい値処理により左右の子ノードに分岐させる。分岐関数は、ランダムに決定してもよいし、分岐により2つに分けられるパッチ群の情報エントロピーが最も高くなるように選択してもよい。
構築された決定木28に含まれるそれぞれの末端ノードは、学習処理によって得られた、クラス確率およびオフセット量を保持することになる。さらに、各末端ノードには、そこに到達したパッチに付随するカテゴリ情報(例えば、検出対象/非検出対象の区別、位置、角度などの情報)についてのヒストグラムが作成されてもよい。
(c2:検出処理)
次に、Hough Forests法の検出処理について説明する。図3(b)を参照して、検出処理においては、任意の入力画像30から切り出された複数のパッチ32をそれぞれの決定木28へ入力し、それぞれの決定木28において、各パッチがいずれの末端ノードへ到達したのかを判断する。決定木28において、各パッチは、到達したノードに設定されている分岐関数に従っていずれかの子ノードに分岐する。分岐関数に従う分岐をすべてのパッチが末端ノードへ到達するまで繰り返す。
次に、Hough Forests法の検出処理について説明する。図3(b)を参照して、検出処理においては、任意の入力画像30から切り出された複数のパッチ32をそれぞれの決定木28へ入力し、それぞれの決定木28において、各パッチがいずれの末端ノードへ到達したのかを判断する。決定木28において、各パッチは、到達したノードに設定されている分岐関数に従っていずれかの子ノードに分岐する。分岐関数に従う分岐をすべてのパッチが末端ノードへ到達するまで繰り返す。
それぞれのパッチが到達した末端ノードに保持されている情報を用いて、空間投票処理36を行い、投票点の密度が高いところを検出対象の物体中心として決定する。より具体的には、それぞれパッチが到達した末端ノードに保持されているクラス確率を、対応するオフセット量を用いて画像空間38について投票することで、尤度(類似度)マップを作成する。作成された尤度マップにおける極大値を推定することで、検出対象の物体中心を決定する。ここで、入力画像30から切り出されたパッチ32のうち、学習処理においてより多くのポジティブサンプルが到達した末端ノードへ到達したパッチについては、検出対象の一部である可能性が高いので、対応するベクトル量が投票されることになる。これに対して、入力画像30から切り出されたパッチ32のうち、学習処理においてより多くのネガティブパッチが到達した(すなわち、到達したポジティブパッチの割合が低い)末端ノードへ到達したパッチについては、検出対象の一部である可能性が低いので、対応するベクトル量が投票されない、またはその影響が小さくなる。
図3(b)に示すように、画像空間38においては、それぞれのパッチが到達した末端ノードに保持されているベクトル量(オフセットベクトル)から、物体中心と考えられる位置が投票点とされる。なお、空間投票処理の結果、投票点の密度が予め定められたしきい値を超えなければ、入力画像内に検出対象が存在しないと判断することもできる。
(c3:課題)
続いて、上述したHough Forests法での一つの課題について説明する。図4は、本発明の関連技術に係る物体検出方法における課題を説明するための模式図である。図5は、本発明の関連技術に係る物体検出方法による検出結果の一例を示す図である。
続いて、上述したHough Forests法での一つの課題について説明する。図4は、本発明の関連技術に係る物体検出方法における課題を説明するための模式図である。図5は、本発明の関連技術に係る物体検出方法による検出結果の一例を示す図である。
図4を参照して、例えば、非検出対象(ネガティブサンプル)と類似した検出対象(ポジティブサンプル)が多く存在するような場合がある。このような場合には、パッチの形状が互いに類似することになり、入力画像内にネガティブサンプルが表われた場合であっても、検出対象と同様に投票されてしまうことになり誤検知につながる。
図4に示すように、学習画像からポジティブパッチ32−1およびネガティブパッチ32−2が切り出されたとする。ポジティブパッチ32−1は、ポジティブサンプルの割合が高い末端ノードへ到達し、投票処理の対象になる。一方、ネガティブパッチ32−2は、他のポジティブパッチと類似しており、ポジティブパッチの割合が多い末端ノードへ到達したとする。この末端ノードについても投票処理の対象になる。
両末端ノードについて投票処理の対象になるので、図4のテスト画像内に表われているポジティブサンプルに加えて、本来投票されるべきではないネガティブサンプルにも投票されていることがわかる。これは、検知処理において、入力画像からネガティブパッチ32−2と同様のパッチが切り出されると、当該パッチも投票処理の対象となり、検出対象と類似した形状領域を誤検出することを意味する。
例えば、図5には、その中に示される検出対象の画像について学習処理を行った上で、その中に示されるテスト画像に対して検出処理を行って得られた尤度(類似度)マップを示す。検出対象から切り出されたたパッチAと非検出対象から切り出されたパッチBとは、形状が類似しているため、同じ末端ノードに到達し、検出対象と同様に投票処理が行われる。その結果、図5の尤度マップに示されるように、非検出対象についても相対的にクラス尤度が高くなっている。
<D.処理概要>
本願発明者らは、上述のような課題について、学習画像より切り出されたすべてのパッチを平等に用いて学習処理が行われることがその原因であることを見出した。そして、このような原因を考慮して、決定木群を構築する際に用いる学習用のポジティブパッチを実質的に自動的に取捨選択できる新たな仕組みを発明した。
本願発明者らは、上述のような課題について、学習画像より切り出されたすべてのパッチを平等に用いて学習処理が行われることがその原因であることを見出した。そして、このような原因を考慮して、決定木群を構築する際に用いる学習用のポジティブパッチを実質的に自動的に取捨選択できる新たな仕組みを発明した。
より具体的には、本願発明者らは、学習サンプルについて「重み」という概念を導入し、ネガティブサンプルと類似しているポジティブサンプルについての重みを相対的に低くすることで、投票処理において、ポジティブサンプルと類似しているとして投票される領域の影響を低減する。
また、「重み」の概念の導入と併せて、Multiple−Instance Learning(例えば、非特許文献3などを参照)において採用されているBagの概念を導入することが好ましい。Bagの概念を導入することで、学習画像に表われる検出対象の揺らぎの影響を抑制する。後述するように、ポジティブサンプルの重みについては、Bagの単位で設定する。
(d1:重み付け計算)
本実施の形態の画像処理方法は、Hough Forests法をベースとした物体検出方法を提供する。本実施の形態の物体検出方法では、決定木の階層ごとに重みを決定することで、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くする。これによって、入力画像のうち学習画像と類似した領域への投票を抑制し、誤検出の可能性を低減する。
本実施の形態の画像処理方法は、Hough Forests法をベースとした物体検出方法を提供する。本実施の形態の物体検出方法では、決定木の階層ごとに重みを決定することで、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くする。これによって、入力画像のうち学習画像と類似した領域への投票を抑制し、誤検出の可能性を低減する。
なお、本実施の形態の物体検出方法のコンセプトによれば、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くすればよいので、類似しているネガティブサンプルについての重みを高くする、および、当該ポジティブサンプルについての重みを低くする、の少なくとも一方を採用すればよい。但し、処理の簡素化などの観点から、本実施の形態では、ポジティブサンプルについての重みのみを調整することとする。すなわち、子ノードの各々についての重みを決定する処理では、検出対象を示す部分画像(ポジティブサンプル)についての重みを更新する一方で、非検出対象を示す部分画像(ネガティブサンプル)についての重みを維持する。
図6は、本実施の形態の物体検出方法を概略するための模式図である。図6を参照して、ポジティブパッチ(外周を実線で示す)およびネガティブパッチ(外周を破線で示す)を含む学習サンプル20を用いて、Random Forests(決定木28群)を構築する際に、ポジティブパッチとネガティブパッチとを分離できているか否かに応じて重みを決定する。つまり、ポジティブパッチとネガティブパッチとが混在している末端ノード40−1〜40−4については、重みを調整してポジティブサンプルの割合を実質的に下げることで、その末端ノード40−1〜40−4に到達したポジティブパッチによる学習の影響を小さくする。このような重みによる調整によって、当該末端ノード40−1〜40−4のポジティブサンプルの割合が相対的に低くなり、検出処理において、当該末端ノード40−1〜40−4に何らかのパッチが到達したとしても、投票処理の対象としない、あるいは、投票処理の影響が低減される。
本実施の形態の物体検出方法では、各ノードについての分岐関数が決定され、当該決定された分岐関数に従ってパッチ群をいずれかの子ノードに分岐させた後に、当該ノードについての重みを決定する。すなわち、学習処理においては、分岐関数の決定、当該分岐関数によって分類されたパッチ群の評価、重み更新が各ノードについて繰り返される。そして、ルートノード41から各末端ノード40−1〜40−4までの経路にある1または複数のノードに割り当てられた重みを合算することで、各末端ノード40−1〜40−4についての重みを最終的に決定する。
なお、完全な決定木28が構築された後に、各末端ノード40−1〜40−4についての重み(または、クラス確率)を調整するようにしてもよい。但し、本実施の形態に物体検出方法のようにノードごとに重みを更新することで、処理を簡素化して、処理時間を低減できる。
重みを更新(または決定)するコンセプトの一例として、ユニークなポジティブを生じるノード、および、ユニークなネガティブパッチを生じるノードに対しては、重みを相対的に高める一方で、ネガティブパッチと類似したポジティブパッチ、および、ポジティブパッチと類似したネガティブパッチに対しては、重みを相対的に低くする。
図6に示すような決定木28において、ノード42−1についてみれば、一方の子ノード(末端ノード40−1)には、ユニークなネガティブパッチが到達しており、他方の子ノード(末端ノード40−2)には、非ユニークなネガティブパッチが到達している。両子ノードの状態を勘案して、ノード42−1の重み付けは、相対的に高く変更される。また、ノード42−2についてみれば、一方の子ノード(末端ノード40−3)には、ユニークなネガティブパッチが到達しており、他方の子ノード(末端ノード40−2)には、非ユニークなネガティブパッチが到達している。両子ノードの状態を勘案して、ノード42−2の重み付けは、相対的に高く変更される。
学習処理において、重み付けの更新処理(または決定処理)によって、ユニークではない(非ユニークな)ポジティブパッチが到達した末端ノードについては、ポジティブの重みが相対的に下がり、ネガティブの重みが相対的に上がることになる。
検出処理においては、重みを反映した後のポジティブサンプルの割合が予め定められたしきい値を超える末端ノードについてのみ投票処理の対象とする。
図6中の下側の図に示すように、学習画像から切り出されたポジティブパッチ32−1が到達した末端ノードのポジティブサンプルの割合は、1.00であり、しきい値を超えており、画像空間に投票されることになる。これに対して、ネガティブパッチ32−2が到達した末端ノードのポジティブサンプルの割合は、0.25であり、しきい値未満であるので、画像空間には投票されない。すなわち、図6のテスト画像内に表われているポジティブサンプルのみに投票されており、ネガティブサンプルには投票されていないことがわかる。これは、検出対象と類似した形状領域の誤検出を回避できることを意味する。
(d2:Bagの概念)
次に、本実施の形態の物体検出方法が利用するBagの概念について説明する。Bagは、学習画像に表われる検出対象の揺らぎの影響を低減するためのものであり、類似した領域に対する投票を抑制できる。上述した重みの更新処理(または決定処理)については、Bagの単位、すなわち同一のBagに含まれるパッチ群の全体に対して一律に行われる。
次に、本実施の形態の物体検出方法が利用するBagの概念について説明する。Bagは、学習画像に表われる検出対象の揺らぎの影響を低減するためのものであり、類似した領域に対する投票を抑制できる。上述した重みの更新処理(または決定処理)については、Bagの単位、すなわち同一のBagに含まれるパッチ群の全体に対して一律に行われる。
すなわち、決定木群の学習処理において、Bag内にネガティブパッチと類似しているポジティブパッチが含まれる場合には、決定木の階層ごとに、当該Bag内のすべてのポジティブパッチについての重みが一体的に小さくなるように更新する。これにより、ネガティブサンプルと類似したポジティブサンプルからの投票を抑制できる。
図7は、本実施の形態の物体検出方法における学習画像からサブセットを作成する処理を説明するための模式図である。図7を参照して、学習画像(ポジティブサンプルおよびネガティブサンプル)のそれぞれからパッチが切り出される。本実施の形態の物体検出方法では、任意の角度で配置された検出対象を検出できるように、学習画像を回転させるとともに、各回転角におけるそれぞれの学習画像から学習サンプルを作成する。
典型的には、学習画像を1°ずつ360°回転させて360種類の学習画像を作成し、それぞれの学習画像からポジティブパッチおよびネガティブパッチを切り出す。本実施の形態の物体検出方法では、予め教師信号がある学習画像からBagを作成するため、ポジティブパッチとネガティブパッチとが混在するようなBagは作成せず、各Bagは、ポジティブパッチのみ、または、ネガティブパッチのみを含むことになる。但し、本学習処理では、物体検出(物体識別)に有効ではないポジティブサンプルの重みを低くすることを目的としているため、ネガティブサンプルについては、非検出対象の画像から切り出された1つのパッチを1つのBag(B4〜Bl)とする。
一方、ポジティブサンプルについては、画像内の位置および/または画像間の角度が近似する複数のパッチを1つのBagとすることができる。図7に示す例では、画像内の位置において互いに近似するパッチを1つのBagとする例を示す。本実施の形態においては、同一角度のポジティブ画像内の互いに近傍にある領域から切り出されたパッチ群を1つのBag(B1〜B3)とみなす。
そして、複数のBagからなる学習サンプルから複数のBagがランダムに選択(ランダムサンプリング)されてT個のサブセット1〜Tが作成される。T個のサブセットからT個の決定木が構築される。
図8は、本実施の形態の物体検出方法における学習処理を説明するための模式図である。図8を参照して、ポジティブパッチおよびネガティブパッチを含む学習サンプルを用いて、各階層(ノード)について、分岐関数を決定するとともに、決定された分岐関数に従って子ノードにそれぞれ分岐されたパッチについての分離度合い、すなわちクラス尤度が算出される。そして、算出されたクラス尤度に基づいて、対応するノード(階層)の重みが決定される。分岐関数の決定、クラス尤度の算出、重みの更新という一連の処理は、すべての学習用のパッチが末端ノードへ到達するまで繰り返される。
なお、学習画像としては任意の形式の画像を用いることができるが、物体検出においては、距離画像、すなわちある撮像点から物体表面の各点までの距離を画素値とした画像を用いることが好ましい。もちろん、通常の画像、すなわち物体表面の各点の明るさを画素値とした画像を用いることもできる。
<E.学習処理の詳細>
次に、本実施の形態の画像処理方法に係る学習処理の内容について詳述する。学習処理は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像(ポジティブサンプル/ポジティブチップ)から複数の決定木を作成する処理を含む。ここで複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。
次に、本実施の形態の画像処理方法に係る学習処理の内容について詳述する。学習処理は、検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像(ポジティブサンプル/ポジティブチップ)から複数の決定木を作成する処理を含む。ここで複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含む。
図9は、本実施の形態の物体検出方法における学習処理手順を示すフローチャートである。図9に示す各ステップは、画像処理装置100のプロセッサ102が画像処理プログラムを実行することで実現される。
図9を参照して、画像処理装置100は、学習処理に用いる学習画像を受付ける(ステップS2)。続いて、画像処理装置100は、入力された学習画像から学習サンプルを作成するとともに、Bagを構成する(ステップS4)。そして、画像処理装置100は、学習サンプルの重みを初期化し(ステップS6)、学習サンプル群から所定数のサブセットを作成する(ステップS8)。その後、決定木群を構築する処理(ステップS10〜S20)が開始される。なお、ステップS10〜S20の処理は、作成されるサブセット(決定木)の数だけ並列的に実行されることが好ましい。もちろん、ステップS10〜S20の処理を直列的に複数回繰り返すようにしてもよい。
画像処理装置100は、まず、階層1のあるノードにおける分岐関数候補を作成し(ステップS10)、それらの作成した分岐関数候補の中から最適なものを階層1における分岐関数として決定する(ステップS12)。そして、画像処理装置100は、同一階層で分岐関数を決定していないノードが残っているか否かを判断する(ステップS14)。同一階層で分岐関数を決定していないノードが残っている場合(ステップS14においてYESの場合)には、ステップS10以下の処理が繰り返される。
同一階層のすべてのノードについて分岐関数を決定済である場合(ステップS14においてNOの場合)には、画像処理装置100は、各ノードについての学習サンプルの重みを更新する(ステップS16)。
その後、画像処理装置100は、決定木群の構築に係る所定条件が満たされたか否かを判断する(ステップS18)。決定木群の構築に係る所定条件が満たされていない場合(ステップS18においてNOの場合)には、ステップS10以下の処理が繰り返される。
決定木群の構築に係る所定条件が満たされている場合(ステップS18においてYESの場合)には、画像処理装置100は、各決定木の末端ノードLに関連付けて、ポジティブサンプルの重み付き割合CLと、物体中心までのオフセット量のリストDL、回転角oijを格納する(ステップS20)。そして、学習処理は終了する。
以下、学習処理手順のより詳細な内容について説明する。
(e1:学習サンプルの作成およびBagの構成)
画像処理装置100は、入力された学習画像から学習サンプルを作成するとともに、Bagを構成する(図9のステップS4)。上述したように、本実施の形態の物体検出方法では、検出対象を表すポジティブサンプルを所定角度(例えば、1°)ずつ回転させて、各回転角におけるポジティブサンプルをグリッドサンプリングにより切り出してポジティブパッチを作成する。すなわち、決定木群の学習処理は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像(ポジティブサンプル/ポジティブパッチ)を抽出する処理を含む。
(e1:学習サンプルの作成およびBagの構成)
画像処理装置100は、入力された学習画像から学習サンプルを作成するとともに、Bagを構成する(図9のステップS4)。上述したように、本実施の形態の物体検出方法では、検出対象を表すポジティブサンプルを所定角度(例えば、1°)ずつ回転させて、各回転角におけるポジティブサンプルをグリッドサンプリングにより切り出してポジティブパッチを作成する。すなわち、決定木群の学習処理は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像(ポジティブサンプル/ポジティブパッチ)を抽出する処理を含む。
ポジティブサンプル(ポジティブパッチ)の回転角をoijとする。各回転角oijの学習画像から切り出されたパッチをIijとすると、各Bagは、以下のBiとして示される。
Bi={(Iij,kij,dij,oij)}(但し、i=1,2,…,I;j=1,2,…,J)
ここで、Iijは、i番目のBagに所属するj個目のパッチを示し、kijは、クラスラベルを示し、dijは、パッチ位置から物体中心へのオフセット量を示す。クラスラベルkijは、対応するパッチが分岐関数によってユニークに分離されたのか、非ユニークに分離されたのかを示すフラグに相当する。
ここで、Iijは、i番目のBagに所属するj個目のパッチを示し、kijは、クラスラベルを示し、dijは、パッチ位置から物体中心へのオフセット量を示す。クラスラベルkijは、対応するパッチが分岐関数によってユニークに分離されたのか、非ユニークに分離されたのかを示すフラグに相当する。
上述したように、回転角が互いに同一であるポジティブサンプル内の互いに近傍にある領域から切り出されたポジティブパッチ群を1つのBagとして構成する。すなわち、複数の決定木を作成する処理(学習処理)は、互いに近傍にある領域から抽出された検出対象を示す複数の部分学習画像(ポジティブサンプル/ポジティブチップ)を単一のグループに設定する処理を含む。一方、非検出対象の画像から切り出されたネガティブパッチは、それぞれが1つのBagとして構成される。
(e2:重みの初期化)
画像処理装置100は、決定木を構築する前に、学習サンプルの重みを初期化する(ステップS6)。より具体的には、画像処理装置100は、学習サンプルの重みw(d) ijをw(0) ij=1/Nに初期化する。ここで、定数Nは、任意の値に設定できる。
画像処理装置100は、決定木を構築する前に、学習サンプルの重みを初期化する(ステップS6)。より具体的には、画像処理装置100は、学習サンプルの重みw(d) ijをw(0) ij=1/Nに初期化する。ここで、定数Nは、任意の値に設定できる。
(e3:サブセットの作成)
続いて、画像処理装置100は、学習サンプル群からT(t=1,2,…,T)個のサブセットを作成する(ステップS8)。画像処理装置100は、図8に示されるように、学習サンプル群の集合からランダムに選択(ランダムサンプリング)されることにより、それぞれのサブセットを作成する。そして、以下に示すように、画像処理装置100は、作成したそれぞれのサブセットを用いてT個の決定木を構築する。なお、決定木の構築処理は、並列的に実行されることが好ましい。
続いて、画像処理装置100は、学習サンプル群からT(t=1,2,…,T)個のサブセットを作成する(ステップS8)。画像処理装置100は、図8に示されるように、学習サンプル群の集合からランダムに選択(ランダムサンプリング)されることにより、それぞれのサブセットを作成する。そして、以下に示すように、画像処理装置100は、作成したそれぞれのサブセットを用いてT個の決定木を構築する。なお、決定木の構築処理は、並列的に実行されることが好ましい。
(e4:分岐関数候補の作成)
決定木の構築処理の第1段階として、画像処理装置100は、階層1における分岐関数候補を作成する(ステップS10)。ここで、階層dにおける分岐関数候補h(d) T,τ(I)は、学習サンプルから切り出された学習パッチIとテンプレートTとの類似度S(I,T)としきい値τとを用いて、以下の(1)式のように定義される。
決定木の構築処理の第1段階として、画像処理装置100は、階層1における分岐関数候補を作成する(ステップS10)。ここで、階層dにおける分岐関数候補h(d) T,τ(I)は、学習サンプルから切り出された学習パッチIとテンプレートTとの類似度S(I,T)としきい値τとを用いて、以下の(1)式のように定義される。
ここで、パラメータτは,学習パッチIとテンプレートTとの類似度を評価するためのしきい値である。
(e5:分岐関数の決定)
続いて、画像処理装置100は、作成した分岐関数候補の中から最適なものを対象の階層における分岐関数として決定する(ステップS12)。すなわち、複数の決定木を作成する処理(学習処理)は、末端ノードではないノードに関連付けて、入力された部分学習画像(ポジティブサンプル/ポジティブチップ)が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する処理を含む。
続いて、画像処理装置100は、作成した分岐関数候補の中から最適なものを対象の階層における分岐関数として決定する(ステップS12)。すなわち、複数の決定木を作成する処理(学習処理)は、末端ノードではないノードに関連付けて、入力された部分学習画像(ポジティブサンプル/ポジティブチップ)が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する処理を含む。
図10は、本実施の形態の分岐ノードにおけるパッチの分岐処理を説明するための模式図である。図10を参照して、(1)式のテンプレートTは、対象の分岐ノードに与えられるポジティブサンプル群からランダムに選択される。図10に示す例では、各パッチIは、テンプレートTとの間の類似度が算出され、算出された類似度がしきい値未満であれば、左側の子ノードに分岐され、そうでなければ右側の子ノードに分岐される。
分岐関数の決定処理においては、テンプレートTおよびパラメータτをランダムにそれぞれ選択するとともに、以下の(2)式で定義される評価関数U*を用いて評価値を算出する。そして、この評価値が最小となるテンプレートTおよびパラメータτを決定し、これらの決定された値から最適な分岐関数を決定する。
ここで、(2)式の{pij|h(Ii)=0}は、図10の左側の子ノードに分割されたサンプルの集合を示し、{pij|h(Ii)=1}は、図10の右側の子ノードに分割されたサンプルの集合を示す。
評価関数Uの評価には、以下の2つの基準を階層ごとに切り替えて用いる。1つ目は、情報エントロピーを評価する関数U1(A)であり、それぞれの子ノードに分岐したサンプルの集合Aについて、以下の(3)式に従って定義する。
ここで、cはサンプルの集合Aに含まれるポジティブサンプルの割合を示し、学習サンプルの重みw(d) ijを用いて、以下の(4)式に従って算出される。
2つ目は、オフセット量dijのばらつきを評価する関数U2(A)であり、以下の(5)式に従って定義する。
ここで、dAは、オフセット量dijの平均値を示すので、U2(A)はオフセット量の分散に相当する。
各決定木において、対象の階層dにおける必要なすべてのノードが作成されるまで、ステップS10およびS12の処理が繰り返される。
(e6:サンプル重みの更新)
対象の階層dについてのすべてのノードが作成されると、画像処理装置100は、各子ノードについての学習サンプルの重みを更新する(ステップS16)。すなわち、複数の決定木を作成する処理(学習処理)は、複数の部分学習画像(ポジティブサンプル/ポジティブチップ)を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する処理を含む。
対象の階層dについてのすべてのノードが作成されると、画像処理装置100は、各子ノードについての学習サンプルの重みを更新する(ステップS16)。すなわち、複数の決定木を作成する処理(学習処理)は、複数の部分学習画像(ポジティブサンプル/ポジティブチップ)を、決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する処理を含む。
重みの更新は、ポジティブサンプルのみを対象として行われる。ポジティブサンプルの重みw(d) ijは、ポジティブサンプルのクラス尤度pijとBagのクラス尤度piとの積により更新される。まず、クラス尤度pijは、以下の(6)式に従って算出される。
ここで、F(Iij)=2c−1と定義すると、ノード内のポジティブサンプルの割合cが高いほどクラス尤度pijは高くなり、逆にポジティブサンプルの割合cが低いほどクラス尤度pijは低くなる。つまり、子ノードの各々についての重みを決定する処理では、各子ノードに分岐された部分学習画像のうち、検出対象を示す部分学習画像(ポジティブサンプル/ポジティブチップ)の割合に基づいて、重みを決定することになる。
一方、Bagのクラス尤度piは、Bagに属するサンプル集合のクラス尤度を用いて、以下の(7)式に従って算出される。
ポジティブサンプルの重みw(d+1) ijは、Bagのクラス尤度piとポジティブサンプルのクラス尤度pijとを用いて、(8)式に従って算出される。
最後に、ノード内のポジティブサンプルの重みを以下の(9)式に従って正規化する。すなわち、子ノードの各々についての重みを決定する処理は、非検出対象を示す部分画像についての重みを正規化する処理を含む。
上述の(6)〜(9)式に示されるように、ポジティブサンプルの重みw(d+1) ijは、Bagのクラス尤度piが低いポジティブサンプルが多く含まれていると低くなり、逆に、逆にクラス尤度pijが高いポジティブサンプルが多く含まれていると高くなる。
また、Bagのクラス尤度piは対応するBag全体に適用されるので、重みの更新処理(または決定処理)については、Bagの単位、すなわち同一のBagに含まれるパッチ群の全体に対して一律に行われる。すなわち、上述した重みの更新処理(または決定処理)については、Bagの単位、すなわち同一のBagに含まれるパッチ群の全体に対して一律に行われる。言い換えれば、子ノードの各々についての重みを決定する処理は、同一のグループに属する複数の部分学習画像(ポジティブサンプル/ポジティブチップ)に対して共通して重みを決定する処理を含む。
(e7:ノード作成および重み更新の繰り返し)
画像処理装置100は、上述したノード作成および重み更新の処理を所定条件が満たされるまで繰り返す。所定条件としては、例えば、サンプル数が一定数未満になるか、あるは、階層が指定した深さに到達することを含む。階層が深くなるにつれ、ポジティブサンプルの重みが低いサンプルによる影響が低減された分岐関数を有する決定木が構築されることになる。
画像処理装置100は、上述したノード作成および重み更新の処理を所定条件が満たされるまで繰り返す。所定条件としては、例えば、サンプル数が一定数未満になるか、あるは、階層が指定した深さに到達することを含む。階層が深くなるにつれ、ポジティブサンプルの重みが低いサンプルによる影響が低減された分岐関数を有する決定木が構築されることになる。
(e8:末端ノードの作成)
サブセットの数に相当する決定木が構築されると、画像処理装置100は、各決定木の末端ノードLに関連付けて、ポジティブサンプルの重み付き割合CLと、物体中心までのオフセット量のリストDL、回転角oijを格納する(ステップS20)。すなわち、末端ノードLの情報は、末端ノードLに到達した検出対象を示す部分学習画像(ポジティブサンプル)が生成された学習画像の回転角を含むことになる。
サブセットの数に相当する決定木が構築されると、画像処理装置100は、各決定木の末端ノードLに関連付けて、ポジティブサンプルの重み付き割合CLと、物体中心までのオフセット量のリストDL、回転角oijを格納する(ステップS20)。すなわち、末端ノードLの情報は、末端ノードLに到達した検出対象を示す部分学習画像(ポジティブサンプル)が生成された学習画像の回転角を含むことになる。
図11は、学習処理によって作成される末端ノードの情報を模式的に示した図である。図11を参照して、ネガティブサンプルと類似しているとポジティブサンプルについては、ルートノードからの経路上にあるそれぞれのノードでその重みが順次下げられる。最終的に、末端ノードに到達すると、そのようなポジティブサンプルについての重みは相対的に小さくなっており、この重みを用いてヒストグラム(クラス確率)が決定されるので、図11に示すような末端ノードについては、後述の検出処理では、投票処理の対象にはならない。
すなわち、複数の決定木を作成する処理(学習処理)は、複数の決定木の各々において、ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、末端ノードの情報として、検出対象を示す部分学習画像(ポジティブサンプル/ポジティブチップ)が当該末端ノードの各々に到達する割合を決定する処理を含む。
上述の一連の学習処理に従って決定木群を構築することで、階層が深くなるにつれて、非検出対象と類似しているポジティブサンプルの重みを自動的に低くすることができる。つまり、誤検知を生じる可能性を低減した決定木群を構築できる。
(e9:特徴量および類似度計算)
上述の(1)式に示す分岐関数候補としては、どのようなものを用いてもよいが、例えば、DOT(Dominant Orientation Templates)(例えば、非特許文献4などを参照)に従う類似度を用いてもよい。DOTは、セルと称される局所領域ごとに作成した勾配方向ヒストグラムと、セルの注目画素の勾配方向とにより算出される。
上述の(1)式に示す分岐関数候補としては、どのようなものを用いてもよいが、例えば、DOT(Dominant Orientation Templates)(例えば、非特許文献4などを参照)に従う類似度を用いてもよい。DOTは、セルと称される局所領域ごとに作成した勾配方向ヒストグラムと、セルの注目画素の勾配方向とにより算出される。
図12は、DOT特徴を説明するための模式図である。図12を参照して、セルの特徴については、0〜360°を22.5°間隔に分けたビンに勾配情報を投票し、しきい値処理することで2値化する。セルの注目画素では。0〜360°の方向を45°間隔に分けたビンを用意し、セルの注目画素の勾配方向に対応するビンを「1」、それ以外を「0」とすることで2値化する。DOT特徴に従う類似度は、以下の(10)式に従って算出する。
この(10)式において、学習パッチIとテンプレートTとのAND演算の結果、1つでも1となるビットがある場合に1が返される。
<F.検出処理の詳細>
次に、学習処理によって構築された決定木群を用いた検出処理について詳述する。検出処理は、入力画像に含まれる複数の部分入力画像(パッチ)が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断する処理を含む。
次に、学習処理によって構築された決定木群を用いた検出処理について詳述する。検出処理は、入力画像に含まれる複数の部分入力画像(パッチ)が複数の決定木の各々において到達する末端ノードの情報に基づいて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断する処理を含む。
本実施の形態の物体検出方法では、入力画像から切り出されたパッチを構築された決定木群へ入力し、各入力されたパッチが到達した末端ノードに保持されている情報(ポジティブサンプルの重み付き割合CL、物体中心までのオフセット量のリストDL、回転角oij)を用いて投票処理を行う。この投票処理において、回転角θごとに投票平面(上述の例では、1°刻みで360枚)を用意しておき、3次元の尤度(類似度)マップを構成する。
より具体的には、画像処理装置100は、入力画像の位置yから切り出されたパッチI(y)を各決定木へ入力し、決定木ごとのポジティブサンプル割合P(c|I(y))を算出する。そして、画像処理装置100は、各決定木のP(c|I(y))を、以下の(11)式に示すように、到達した末端ノードに保持されている回転角ijに対応する投票空間Vθ(y)に投票する。
構築した3次元の尤度(類似度)マップを探索して、物体の位置および回転角を決定する。すなわち、検出処理では、画像空間と回転角とで定義される仮想空間を用いて、入力画像内に検出対象が含まれているか否か、および、入力画像内の検出対象の位置、の少なくとも一方を判断することになる。
図13は、本実施の形態の物体検出方法における検出処理手順を示すフローチャートである。図13に示す各ステップは、画像処理装置100のプロセッサ102が画像処理プログラムを実行することで実現される。
図13を参照して、画像処理装置100は、検出処理の対象となる入力画像を受付ける(ステップS102)。続いて、画像処理装置100は、入力された入力画像から複数のパッチを切り出し(ステップS104)、各切り出したパッチを決定木群に入力して、到達する末端ノードを特定する(ステップS106)。そして、画像処理装置100は、各パッチがそれぞれの決定木において到達した末端ノードに保持されている情報を用いて投票処理を行う(ステップS108)。なお、ポジティブサンプルの割合がしきい値未満である末端ノードについては、投票処理の対象にはならない。
すべてのパッチについての投票処理が完了すると、以下のような探索処理が実行される。具体的には、画像処理装置100は、ある回転角θの投票平面を走査して1または複数の局所領域を特定する(ステップS110)。続いて、画像処理装置100は、局所領域ごとの総和を算出する(ステップS112)とともに、投票平面における局所領域の総和の最大値を探索する(ステップS114)。画像処理装置100は、すべての回転角θについて探索処理が完了したか否かを判断する(ステップS116)。探索処理が完了していない回転角がある場合(ステップS116においてNOの場合)には、画像処理装置100は、新たな回転角θを選択し(ステップS118)、ステップS110以下の処理を繰り返す。
すべての回転角θについて探索処理が完了している場合(ステップS116においてYESの場合)には、画像処理装置100は、局所領域の総和が最大となる投票平面に対応する回転角θを検出対象の回転角とし、その局所領域の注目点を検出対象の位置として決定する(ステップS120)。なお、局所領域の総和が予め定められたしきい値未満であるような場合には、入力画像内に検出対象が存在しないと判断してもよい。
以上のような検出処理によって、入力画像に対して1回のラスタスキャンのみで全回転角についての物体検出処理を実現できる。
<G.評価結果>
本願発明者らは、本実施の形態の物体検出方法の有効性を評価するために、実画像を用いて、既存の物体検出技術と比較した性能評価を行った。
本願発明者らは、本実施の形態の物体検出方法の有効性を評価するために、実画像を用いて、既存の物体検出技術と比較した性能評価を行った。
(g1:実験概要)
既存の物体検出技術としては、ZNCC、Chamfer Matching、DOT、Hough Forestsを取り上げた。参考のため、各物体検出技術の概要を説明する。
既存の物体検出技術としては、ZNCC、Chamfer Matching、DOT、Hough Forestsを取り上げた。参考のため、各物体検出技術の概要を説明する。
ZNCC(Zero-mean Normalized Cross-Correlation)は、入力画像およびテンプレートの輝度値の平均値とそれぞれの輝度値との差を計算することで、明るさが変動する場合でも安定した検出を可能にする手法である。
Chamfer Matchingは、入力画像とテンプレートとの間のエッジの相違度に基づいてマッチングを行う手法であり、距離変換画像を用いてエッジの相違度が小さくなる方向へ効率的に探索することが可能である。
DOT(Dominant Orientation Templates)は、入力画像とテンプレートと間の勾配情報に基づく類似度によりマッチングを行う手法であり、勾配情報をバイナリで表現することにより高速なマッチングが可能である。
(g2:性能検証)
以下に説明する性能検証において、実画像として、レンジファインダより撮像した点群データを変換して得られた距離画像を用いた。より具体的には、テストデータとしては、手動のターンテーブルを約10°間隔で回転させて被写体を撮像して得られた実画像を用いた。このとき、レンジファインダから対象物までの距離は約50cmであった。
以下に説明する性能検証において、実画像として、レンジファインダより撮像した点群データを変換して得られた距離画像を用いた。より具体的には、テストデータとしては、手動のターンテーブルを約10°間隔で回転させて被写体を撮像して得られた実画像を用いた。このとき、レンジファインダから対象物までの距離は約50cmであった。
図14は、実画像に対する性能検証に用いた3種類の物体を撮像して得られた距離画像の一例を示す。学習画像としては、図14に示すような3種類の物体(物体A、物体B、物体C)を撮像して得られた各画像を、それぞれ0〜360°に回転させた距離画像360×3枚を用いた。画像サイズは、500×500ピクセルとした。位置に対する真値は、検出対象にマーカを付与し、マーカ位置を目視により決定することで決定した。性能検証の手法としては、位置ずれ誤差が3ピクセル以内、かつ回転角に対する誤差が3°以内であれば検出が成功であると判断し、検出率を算出する。
図15は、各物体検出技術による検出率および検出時間の検証結果を示す図である。図15に示すように、実画像に対する性能検証においても、本実施の形態の物体検出方法は、物体Bに対して、最も顕著な精度向上の効果を示している。
図16は、各物体検出技術による検出例および尤度(類似度)マップを示す図である。図16に示すように、検出対象が物体Bであるときには、既存の物体検出技術は、非検出対象の領域の尤度が高いことを示すが、本実施の形態の物体検出方法は、それらの領域についての尤度が低くことを示しており、誤検出を生じる可能性を抑制できていることがわかる。
図17は、決定木の階層ごとのポジティブサンプル重みを可視化した例を示す図である。図17に示すように、物体B以外には存在していない曲線形状についての重みが相対的に高く、それ以外の領域についての重みが相対的に低いことがわかる。このことからも、本実施の形態の物体検出方法が学習画像の重みを有効に検出できていることがわかる。
再度図15を参照して、処理時間についてみると、ZNCC、Chamfer Matching、DOTは、回転角ごとに用意された360枚のすべてのテンプレートとの間で照合を行う必要があるため、多大な処理時間を要していることがわかる。しかしながら、Hough Forests法およびHough Forests法をベースとした本実施の形態の物体検出方法では、決定木により360枚のテンプレートを表現するため、1回のラスタスキャンで各回転角の検出対象との間で照合が可能であるため、1.1[sec]で検出処理を完了できている。
以上の性能検証の結果から、本実施の形態の物体検出方法は、既存の物体検出技術に比較して、より高い精度で、かつより高速に検出対象を検出できることがわかる。
<H.利点>
本実施の形態の物体検出方法は、非検出対象と類似した学習サンプルの重みを相対的に低くすることで、検出対象と類似した非検出対象の誤検出を抑制できる。また、上述の検証結果にも示されるように、既存の物体検出技術に比較して、誤検出の発生を抑制して、対象物をより安定的に検出することができる。
本実施の形態の物体検出方法は、非検出対象と類似した学習サンプルの重みを相対的に低くすることで、検出対象と類似した非検出対象の誤検出を抑制できる。また、上述の検証結果にも示されるように、既存の物体検出技術に比較して、誤検出の発生を抑制して、対象物をより安定的に検出することができる。
さらに、本実施の形態の物体検出方法は、単一の決定木群を用いて、回転変化させた学習サンプルを表現できるので、入力画像を1回だけラスタスキャンすることで、物体の検出処理を実現できる。そのため、物体の検出処理をより高速化できる。
なお、上述の説明では、「重み」が低いほど影響を低減するという前提で説明したが、「重み」の概念については、上述の説明とは逆の概念で用いてもよい。すなわち、「重み」が高いほど、投票処理の対象にはしないという概念であってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像処理システム、2 撮像装置、4 対象物、20 学習サンプル、28 決定木、30 入力画像、32 パッチ、32−1 ポジティブパッチ、32−2 ネガティブパッチ、36 空間投票処理、38 画像空間、40−1〜40−4 末端ノード、41 ルートノード、100 画像処理装置、102 プロセッサ、104 主メモリ、108 画像処理プログラム、110 ネットワークインターフェイス、112 画像入力インターフェイス、114 入力部、116 表示部、118 出力インターフェイス、120 内部バス、200 ピックアップロボット、360 距離画像。
Claims (8)
- 検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを備え、前記複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含み、
入力画像に含まれる複数の部分入力画像が前記複数の決定木の各々において到達する末端ノードの情報に基づいて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断するステップを備え、
前記複数の決定木を作成するステップは、
末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、
複数の部分学習画像を、前記決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、
前記複数の決定木の各々において、前記ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、前記末端ノードの情報として、前記検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む、画像処理方法。 - 互いに近傍にある領域から抽出された前記検出対象を示す複数の部分学習画像を単一のグループに設定するステップをさらに備え、
前記子ノードの各々についての重みを決定するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む、請求項1に記載の画像処理方法。 - 前記子ノードの各々についての重みを決定するステップは、各子ノードに分岐された部分学習画像のうち、前記検出対象を示す部分学習画像の割合に基づいて、重みを決定する、請求項1または2に記載の画像処理方法。
- 前記子ノードの各々についての重みを決定するステップは、前記検出対象を示す部分画像についての重みを更新する一方で、前記非検出対象を示す部分画像についての重みを維持するステップを含む、請求項1〜3のいずれか1項に記載の画像処理方法。
- 前記子ノードの各々についての重みを決定するステップは、前記非検出対象を示す部分画像についての重みを正規化するステップを含む、請求項4に記載の画像処理方法。
- 前記学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップをさらに備え、
前記末端ノードの情報は、当該末端ノードに到達した前記検出対象を示す部分学習画像が生成された学習画像の回転角を含み、
前記判断するステップは、画像空間と回転角とで定義される仮想空間を用いて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断するステップを含む、請求項1〜5のいずれか1項に記載の画像処理方法。 - 検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成する手段を備え、前記複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含み、
入力画像に含まれる複数の部分入力画像が前記複数の決定木の各々において到達する末端ノードの情報に基づいて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断する手段を備え、
前記複数の決定木を作成する手段は、
末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定する手段と、
複数の部分学習画像を、前記決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定する手段と、
前記複数の決定木の各々において、前記ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、前記末端ノードの情報として、前記検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定する手段とを含む、画像処理装置。 - コンピュータで実行される画像処理プログラムであって、前記画像処理プログラムは、前記コンピュータに、
検出対象および非検出対象を含む学習画像に含まれる複数の部分学習画像から複数の決定木を作成するステップを実行させ、前記複数の決定木の各々は、ルートノードから階層的に結合された複数のノードを含み、
入力画像に含まれる複数の部分入力画像が前記複数の決定木の各々において到達する末端ノードの情報に基づいて、前記入力画像内に検出対象が含まれているか否か、および、前記入力画像内の検出対象の位置、の少なくとも一方を判断するステップを実行させ、
前記複数の決定木を作成するステップは、
末端ノードではないノードに関連付けて、入力された部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数を決定するステップと、
複数の部分学習画像を、前記決定された分岐関数に従ってそれぞれいずれかの子ノードに分類した結果に基づいて、子ノードの各々についての重みを決定するステップと、
前記複数の決定木の各々において、前記ルートノードから末端ノードの各々までの経路に存在する1または複数のノードについての重みに基づいて、前記末端ノードの情報として、前記検出対象を示す部分学習画像が当該末端ノードの各々に到達する割合を決定するステップとを含む、画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014119465A JP2015232805A (ja) | 2014-06-10 | 2014-06-10 | 画像処理方法、画像処理装置、および画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014119465A JP2015232805A (ja) | 2014-06-10 | 2014-06-10 | 画像処理方法、画像処理装置、および画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015232805A true JP2015232805A (ja) | 2015-12-24 |
Family
ID=54934209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014119465A Pending JP2015232805A (ja) | 2014-06-10 | 2014-06-10 | 画像処理方法、画像処理装置、および画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015232805A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019115652A (ja) * | 2017-12-27 | 2019-07-18 | クリアライン カンパニー リミテッド | 人工知能技術を利用した段階別自動矯正システムおよび方法 |
WO2019198165A1 (ja) * | 2018-04-10 | 2019-10-17 | 日本電気株式会社 | 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体 |
CN113239746A (zh) * | 2021-04-26 | 2021-08-10 | 深圳市安思疆科技有限公司 | 电动车检测方法、装置、终端设备及计算机可读存储介质 |
JP2022024118A (ja) * | 2020-12-24 | 2022-02-08 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 感知データ検出方法及び装置 |
-
2014
- 2014-06-10 JP JP2014119465A patent/JP2015232805A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019115652A (ja) * | 2017-12-27 | 2019-07-18 | クリアライン カンパニー リミテッド | 人工知能技術を利用した段階別自動矯正システムおよび方法 |
WO2019198165A1 (ja) * | 2018-04-10 | 2019-10-17 | 日本電気株式会社 | 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体 |
JP2022024118A (ja) * | 2020-12-24 | 2022-02-08 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 感知データ検出方法及び装置 |
US11869247B2 (en) | 2020-12-24 | 2024-01-09 | Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. | Perception data detection method and apparatus |
CN113239746A (zh) * | 2021-04-26 | 2021-08-10 | 深圳市安思疆科技有限公司 | 电动车检测方法、装置、终端设备及计算机可读存储介质 |
CN113239746B (zh) * | 2021-04-26 | 2024-05-17 | 深圳市安思疆科技有限公司 | 电动车检测方法、装置、终端设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bendale et al. | Towards open set deep networks | |
CN108304873B (zh) | 基于高分辨率光学卫星遥感影像的目标检测方法及其系统 | |
US9923912B2 (en) | Learning detector of malicious network traffic from weak labels | |
JP6708385B2 (ja) | 識別器作成装置、識別器作成方法、およびプログラム | |
Han et al. | Object detection in optical remote sensing images based on weakly supervised learning and high-level feature learning | |
Baró et al. | Traffic sign recognition using evolutionary adaboost detection and forest-ECOC classification | |
Secord et al. | Tree detection in urban regions using aerial lidar and image data | |
CN107833213B (zh) | 一种基于伪真值自适应法的弱监督物体检测方法 | |
TW201926140A (zh) | 影像標註方法、電子裝置及非暫態電腦可讀取儲存媒體 | |
JP2016103094A (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
CN111444767B (zh) | 一种基于激光雷达的行人检测和追踪方法 | |
JP6897749B2 (ja) | 学習方法、学習システム、および学習プログラム | |
JP2020038660A (ja) | CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME} | |
Deng et al. | Cloud detection in satellite images based on natural scene statistics and gabor features | |
CN111488911B (zh) | 基于Mask R-CNN与GAN的图像实体抽取方法 | |
JP2020038661A (ja) | 車線モデルを利用して車線を検出し得る学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{learning method, learning device for detecting lane using lane model and test method, test device using the same} | |
JP2015232805A (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
WO2016158768A1 (ja) | クラスタリング装置及び機械学習装置 | |
JP2007066019A (ja) | 画像検索方法及び装置 | |
Ghanmi et al. | Table detection in handwritten chemistry documents using conditional random fields | |
Tombari et al. | Online learning for automatic segmentation of 3D data | |
Lau et al. | Natural adversarial objects | |
CN111444816A (zh) | 一种基于Faster RCNN的多尺度密集行人检测方法 | |
Ayazi et al. | Comparison of traditional and machine learning base methods for ground point cloud labeling | |
CN113887357B (zh) | 一种人脸表示攻击检测方法、系统、装置及介质 |