(57)【要約】      （修正有）【課題】部品モデルを利用する画像識別方法において、モデル部品の一部が背景領域や乱雑な領域であっても誤識別を低減し、識別精度を向上させた画像識別方法を提供する。【解決手段】オブジェクトのモデルを構成する複数のモデル部品の特徴量を予め記憶する記憶手段１０４と、入力画像から、複数の領域を抽出する領域抽出手段１０２と、各領域から特徴量を抽出する特徴抽出手段１０３と、領域に対応するモデル部品を適用して着目スコアを算出し、かつ領域に対応しないモデル部品を適用して非着目スコアを算出するスコア算出手段５０１と、着目スコアが領域内の最大スコアとなる着目スコア最大領域の数と非着目スコアが領域内の最大スコアとなる非着目スコア最大領域の数とを算出し、着目スコア最大領域の数と非着目スコア最大領域の数とに基づいて判定値を算出し、しきい値との比較結果によって正識別又は誤識別を判定する判定手段５０３とを備える。【選択図】図１
2015184930.tif 000002
【特許請求の範囲】
【請求項１】
特定のカテゴリに属するオブジェクトを入力画像から検出するための画像識別装置であって、
前記オブジェクトのモデルを構成する複数のモデル部品の特徴量を予め記憶する記憶手段と、
前記入力画像から、複数の領域を抽出する領域抽出手段と、
前記複数の領域の各領域から特徴量を抽出する特徴抽出手段と、
前記各領域について、該領域に対応する前記モデル部品を適用して着目スコアを算出し、かつ前記領域に対応しない前記モデル部品を適用して非着目スコアを算出するスコア算出手段と、
前記着目スコアが領域内の最大スコアとなる着目スコア最大領域の数と前記非着目スコアが領域内の最大スコアとなる非着目スコア最大領域の数とに基づいて正識別又は誤識別を判定する判定手段と、
を備えることを特徴とする画像識別装置。
【請求項２】
前記記憶手段は、前記複数のモデル部品の特徴量として第１〜第ｎのモデル部品ｐｊ（ｊは１〜ｎの整数）の特徴量を予め記憶し、
前記領域抽出手段は、前記複数の領域として、第１〜第ｎの各領域ｒｉ（ｉは１〜ｎの整数）を抽出し、
前記各領域ｒｉから特徴量を抽出する特徴抽出手段と、
前記スコア算出手段は、前記領域ｒｉにｉ＝ｊを満たす前記モデル部品ｐｊを適用して着目スコアＳｉｉを算出し、かつ前記領域ｒｉにｉ≠ｊを満たす前記モデル部品ｐｊを適用して非着目スコアＳｉｊを算出し、
前記判定手段は、前記着目スコアＳｉｉが領域内の最大スコアとなる着目スコア最大領域の数と前記非着目スコアＳｉｊが領域内の最大スコアとなる非着目スコア最大領域の数とを算出し、前記着目スコア最大領域の数と前記非着目スコア最大領域の数とに基づいて判定値Ｒを算出し、前記判定値Ｒとしきい値Ｔｈを比較した比較結果によって正識別又は誤識別を判定する、
ことを特徴とする請求項１に記載の画像識別装置。
【請求項３】
前記判定手段は、下記式によって前記判定値Ｒを算出することを特徴とする請求項２に記載の画像識別装置。
判定値Ｒ＝（着目スコア最大領域の数）／（全領域の数）
【請求項４】
前記判定手段は、前記着目スコアと前記非着目スコアとの差又は比があらかじめ定めたしきい値より小さい領域の数は、前記着目スコア最大領域の数又は前記非着目スコア最大領域の数に含めないことを特徴とする請求項１乃至３のいずれか一項に記載の画像識別装置。
【請求項５】
前記判定手段は、前記着目スコアＳｉｉと前記非着目スコアＳｉｊとの差又は比に応じた重みを用いて前記着目スコア最大領域の数と前記非着目スコア最大領域の数とに重み付をした結果に基づいて前記判定値Ｒを算出することを特徴とする請求項２乃至４のいずれか一項に記載の画像識別装置。
【請求項６】
前記判定手段は、前記スコア分布の分散又は標準偏差を利用して前記判定値Ｒを算出することを特徴とする請求項２乃至５のいずれか一項に記載の画像識別装置。
【請求項７】
前記判定手段は、前記判定値Ｒが前記しきい値Ｔｈを上回る又は下回ることが明らかとなった時点で判定値を算出する処理を終了することを特徴とする請求項２乃至６のいずれか一項に記載の画像識別装置。
【請求項８】
特定のカテゴリに属するオブジェクトを入力画像から検出するための画像識別方法であって、
記憶手段が、前記オブジェクトのモデルを構成する複数のモデル部品の特徴量を予め記憶する記憶工程と、
領域抽出手段が、前記入力画像から複数の領域を抽出する領域抽出工程と、
特徴抽出手段が、前記複数の領域の各領域から特徴量を抽出する特徴抽出工程と、
スコア算出手段が、
前記各領域について、該領域に対応する前記モデル部品を適用して着目スコアを算出し、
前記領域に対応しない前記モデル部品を適用して非着目スコアを算出するスコア算出工程と、
判定手段が、
前記着目スコアが領域内の最大スコアとなる着目スコア最大領域の数と前記非着目スコアが領域内の最大スコアとなる非着目スコア最大領域の数とに基づいて正識別又は誤識別を判定する判定工程と、
を有することを特徴とする画像識別方法。
【請求項９】
コンピュータを請求項１〜７のいずれか一項に記載の画像識別装置が備える各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像や映像内のオブジェクトあるいは映像シーンを識別するための画像識別装置、画像識別方法及びプログラムに関する。
【背景技術】
【０００２】
オブジェクト識別のための潜在的階層構造学習方法が提案されている（非特許文献１）。そこでは、１つのオブジェクトが階層的ツリーモデルの組み合わせで表現され、ツリーのノードがモデル部品を表す。各部品は、識別時にあらかじめ定めた範囲で位置変動が許されている。このようなモデルを以後「部品モデル」と呼ぶ。
【０００３】
部品モデルを利用する他の方法が特許文献１に開示されている。この方法では、あらかじめ設定した「変位ゾーン」内で最高スコアが算出される場所を探索する。前記変位ゾーンは、相似変換、アフィン変換、及びパースペクティブ変換を含む変換パラメータによって定義される。すなわち、対象局所領域が相似変換等の画像変換によって移動可能な範囲を変位ゾーンとして設定している。
【０００４】
非特許文献１および特許文献１では、部品ごとに識別スコアを算出し、それら識別スコアの総計に基づいて識別を行う。従来技術では、モデル部品に対する識別スコア（後述する「着目スコア」）のみを算出し、識別に用いる。識別スコアの算出には識別関数を利用する。識別関数は重み係数と識別対象画像から抽出した特徴ベクトルとの内積によって構成され、重み係数は事前の学習によって定められる。特徴ベクトルの生成方法は様々な方法が提案されている。
たとえば非特許文献１にはＨＯＧ特徴に基づく方法が開示されている。ＨＯＧ（Histogram of Oriented Gradient）特徴については非特許文献２に開示されている。
特許文献１には、ＨＯＧ特徴の他、ＳＩＦＴ特徴の利用についても実施例に開示されている。ＳＩＦＴ（ScaleInvariant Feature Transform）特徴については非特許文献３に開示されている。
いずれの特徴ベクトルもエッジの勾配方向を算出しベクトルの要素値として利用する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２２９９６号公報
【非特許文献】
【０００６】
【非特許文献１】L. Zhu, Y. Chen, A. Yuille, W. Freeman, "Latent Hierarchical Structural Learning for Object Detection," CVPR 2010.
【非特許文献２】N. Dalal, B. Triggs, "Histograms of oriented gradients for human detection," In CVPR, 2005.
【非特許文献３】David G. Lowe, "Distinctive Image Features from Scale-Invariant Keyponts," International Journal of Computer Vision, 60, 2 (2004), pp. 91-110.
【非特許文献４】C.-N. J. Yu and T. Joachims. Learning structural svms with latent variables. In International Conference on Machine Learning (ICML), 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
部品モデルを利用する画像識別方法において、モデル部品の一部が入力画像中の背景領域や乱雑な領域で高スコアを算出し、結果として誤識別を生じることがある。たとえば、輝度勾配のヒストグラムを特徴量として識別する場合は、不特定の画像エッジが識別スコアを高くする。
【課題を解決するための手段】
【０００８】
特定のカテゴリに属するオブジェクトを入力画像から検出するための画像識別装置であって、
前記オブジェクトのモデルを構成する複数のモデル部品の特徴量を予め記憶する記憶手段と、
前記入力画像から、複数の領域を抽出する領域抽出手段と、
前記複数の領域の各領域から特徴量を抽出する特徴抽出手段と、
前記各領域について、該領域に対応する前記モデル部品を適用して着目スコアを算出し、かつ前記領域に対応しない前記モデル部品を適用して非着目スコアを算出するスコア算出手段と、
前記着目スコアが領域内の最大スコアとなる着目スコア最大領域の数と前記非着目スコアが領域内の最大スコアとなる非着目スコア最大領域の数とに基づいて正識別又は誤識別を判定する判定手段と、
を備えることを特徴とする画像識別装置。
【発明の効果】
【０００９】
本発明を適用することで、モデル部品のスコアだけではなくモデル部品とスコアとの整合性もチェックすることになるため、少ない演算量の追加で不特定の画像エッジのスコアが高くなる乱雑な領域での誤識別を低減でき、識別精度を向上させることが可能となる。本発明は、特定の方式だけでなく、部品モデルに基づく方法であれば一般的に適用可能である。
【図面の簡単な説明】
【００１０】
【図１】識別装置の構成を示すブロック図。
【図２】視点又は物体の姿勢Ｖとモデル部品の位置ｐとの関係を示す図。
【図３】カテゴリ識別のフローチャート
【図４】カテゴリ別識別器学習の処理の流れを示すフローチャート。
【図５】誤識別判定機能を実装した場合の識別部の構成を示す図。
【図６】誤識別判定の処理の流れを示すフローチャート。
【図７】判定値Ｒの算出処理の流れを示すフローチャート。
【図８】スコア分布の視覚化例を示す図。
【図９】スコア分布の視覚化例（正識別判定時）を示す図。
【図１０】スコア分布の視覚化例（誤識別判定時）を示す図。
【図１１】スコア分布の視覚化例（正識別判定時）を示す図。
【発明を実施するための形態】
【００１１】
特定のカテゴリに属するオブジェクトを入力画像から検出するための画像識別装置であって、記憶手段と、領域抽出手段と、特徴抽出手段と、スコア算出手段と、判定手段と、
を備える。
記憶手段は、オブジェクトのモデルを構成する第１〜第ｎのモデル部品ｐｊ（ｊは１〜ｎの整数）の特徴量を予め記憶する。
領域抽出手段は、入力画像から、第１〜第ｎの各領域ｒｉ（ｉは１〜ｎの整数）を抽出する。
特徴抽出手段は、各領域ｒｉから特徴量を抽出する。
スコア算出手段は、領域ｒｉにｉ＝ｊを満たす前記モデル部品ｐｊを適用して着目スコアＳｉｉを算出し、かつ領域ｒｉにｉ≠ｊを満たす前記モデル部品ｐｊを適用して非着目スコアＳｉｊを算出する。
判定手段は、
着目スコア最大領域の数と非着目スコア最大領域の数とを算出し、
着目スコア最大領域の数と非着目スコア最大領域の数とに基づいて判定値Ｒを算出し、
判定値Ｒとしきい値Ｔｈを比較した比較結果によって正識別又は誤識別を判定する。
「着目スコア最大領域」とは、着目スコアＳｉｉが領域内の最大スコアとなる領域を言い、「非着目スコア最大領域」とは、非着目スコアＳｉｊが領域内の最大スコアとなる領域を言う。
判定値Ｒは、着目スコア最大領域の数と非着目スコア最大領域の数とを変数とする計算式によって算出され、着目スコア最大領域の数が多い場合に増加し、着目スコア最大領域の数が少ない場合に減少する。
【実施例】
【００１２】
本発明の実施については、階層化された部品ベースのモデルを利用する。モデルの学習にはＳＶＭ（サポート・ベクター・マシン）を用いる。このようなモデルの学習を以下では構造化ＳＶＭ学習と呼ぶ。
本実施例の基本的な考え方は非特許文献１に基づくものである。そのため、まず、非特許文献１の基本的な考え方を説明する。
カテゴリ（例えば、飛行機、自転車、鳥、ボート、ビン、バス、自動車、猫、椅子、牛、テーブル、犬、馬、マウンテンバイク、人間、植物、羊、ソファ、電車、テレビなど）の識別は入力画像それぞれに対して以下の式（１）を解くことで行う。
【００１３】
【数１】
2015184930.tif 000003
【００１４】
ただし、式（１）においてｈ＝（Ｖ，ｐ）でありＶは視点又は物体の姿勢、ｐはモデル部品の位置を表す。
図２に、Ｖ＝｛１，２｝、ｐ＝｛ｐ０，ｐ１，．．．ｐ４５｝で構成される場合のモデルを示す。
図２のモデルは３つの階層を持ち、上位の階層のモデル部品は下位の階層のモデル部品と親子関係にある。すなわち、第一階層のｐ０を親ノードとして第二階層の９つのモデル部品が子ノードとして関連付けられ、第二階層のモデル部品ｐ１〜ｐ９にはそれぞれ第三階層の４つのモデル部品が子ノードとして関連付けられている。
図２の例で、第二階層のモデル部品と、第二階層のモデル部品に子ノードとして関連付けられている第三階層のモデル部品との関係は表１に示すとおりである。
【００１５】
【表１】
2015184930.tif 000004
【００１６】
Ｖの数、階層数、ｐの数は必要に応じて任意に設定可能であるが、本実施例では図２に示すモデルを利用して説明を行う。
【００１７】
また、式（１）において、ｘは入力画像、ｙは着目カテゴリに属するオブジェクトの有無を指定する変数である。ｗはモデルパラメータであり識別器の学習の処理（後述）で決定する。Φ（ｘ，ｙ，ｈ）は結合特徴ベクトルであり、式（２）で表される。
【００１８】
【数２】
2015184930.tif 000005
【００１９】
ここで、ΦＡ（ｘ，ｈ）は外観特徴であり、ＨＯＧ特徴ΦＡ（ｘ，ｐａ）を含む。
ΦＳ（ｈ）は形状特徴であり、視点と部品位置が定まった場合にΦＳ（ｈ）＝ΦＳ（ｐａ，ｐｂ）＝ΦＳ（Δｕ，Δｖ，Δｕ２，Δｖ２）で表される。ここで、（Δｕ，Δｖ）は親ノードａの基準位置に対する子ノードｂの変位である。本実施形態では、形状特徴ΦＳ（ｈ）は第二階層と第三階層のモデル部品に対して付与される。ｙは着目カテゴリに属するオブジェクトの有無を示す変数である。ｙ＝＋１はオブジェクト有、ｙ＝−１はオブジェクト無を示す。
【００２０】
式（１）を解くために、まず、入力画像から多重解像度ピラミッド画像を生成する（図２）。次に、生成した各解像度画像において、モデルにより定められた部分矩形領域でスキャンする。スキャンによりルート位置ｐ０＝（ｕ０，ｖ０）を定めたら、次に残りの４５個のモデル部品の位置構成を動的計画法で決定する（式（３））。
【００２１】
【数３】
2015184930.tif 000006
【００２２】
ただし、式（３）においてＣｈ（ａ）はモデル部品ａの子ノードとなっているモデル部品を表す。Ｆ（ｘ，ｐａ）はモデル部品ｐａに対するスコアである。また、モデル部品ｐａがリーフノードの場合（本実施例では孫ノードの場合）、Ｆ（ｘ，ｐａ）＝ΦＡ（ｘ，ｐａ）である。
最終的に、あらかじめ定めたしきい値以上のスコアとなる解像度、ルート位置、子ノードおよび孫ノードの位置構成を識別結果とする。
以下、図１を参照しつつ、本実施形態におけるカテゴリの識別方法およびカテゴリ別識別器の学習方法を順に説明する。
【００２３】
図１は識別装置の構成を示すブロック図である。図において、１００は識別装置、１０１はデータ入力部、１０２は局所領域抽出部、１０３は個別特徴抽出部、１０４は記憶装置、１０５はモデル生成部、１０６は識別器生成部、１０７は識別部、１０８は出力部
である。
【００２４】
［カテゴリの識別］
本実施例での動作について図３に示すカテゴリ識別のフローチャートに沿ってカテゴリの識別手順を説明する。
まず、ステップＳ３０１においてデータ入力部１０１を用いて識別対象データを入力する。本実施例においては、識別対象データを静止画として説明する。
【００２５】
次に、ステップＳ３０２において局所領域抽出部１０２が、前記入力された静止画から局所領域を抽出する。具体的には、入力画像から多重解像度ピラミッド画像を生成し、生成した各解像度画像においてすべての位置でモデルにより定められたサイズの部分矩形領域（図２に示した領域ｐ１〜ｐ９、およびｐ１０〜ｐ４５）を切り出す。
その後、ステップＳ３０３において個別特徴抽出部１０３が、ステップＳ３０２で切り出された前記各部分矩形領域から個別特徴を抽出する。
本実施例では個別特徴として、輝度勾配ヒストグラムに基づく特徴であるＨＯＧ特徴を利用するものとして説明する。
その後、ステップＳ３０４において識別部１０７が、非特許文献１に記載の式（３）を使って識別スコア（着目スコア及び非着目スコア）を算出する。本発明においては、着目スコアのみならず非着目スコアも算出する。
本実施例では第一スコアと第二スコアとを算出するが、ここでは両方のスコア算出に共通の動作をまず記し、第一スコアと第二スコアの算出方法の詳細は後述する。
【００２６】
＜識別スコアの算出：第三階層  孫ノード＞
識別スコア算出において、本実施例ではまず、図２における第三階層のモデル部品に対応するノード（孫ノード）に対して、Ｓ３０３で求めたＨＯＧ特徴ΦＡ（ｘ，ｐａ）から式（３）のＦ（ｘ，ｐａ）の値を求める。ｘは入力画像を、ｐａはモデル部品番号を示す。
つまり、
Ｆ（ｘ，ｐ10）＝ＨＯＧ特徴ΦＡ（ｘ，ｐ10）
Ｆ（ｘ，ｐ11）＝ＨＯＧ特徴ΦＡ（ｘ，ｐ11）
：
Ｆ（ｘ，ｐ44）＝ＨＯＧ特徴ΦＡ（ｘ，ｐ44）
Ｆ（ｘ，ｐ45）＝ＨＯＧ特徴ΦＡ（ｘ，ｐ45）
となる。
【００２７】
＜識別スコアの算出：第二階層  子ノード＞
次に、図２における第二階層のモデル部品に対応するノード（子ノード）に対してＦ（ｘ，ｐａ）の値を求める。ここでは、まず、孫ノードで求めた値（ここではＦ（ｘ，ｐｂ））と学習により得られたｗと形状特徴ΦＳ（ｐａ，ｐｂ）から式（３）の｛｝内が最大になるｐｂをそれぞれ定める。
形状特徴ΦＳ（ｐａ，ｐｂ）は子ノードの基準位置に対する孫ノードの変位を（Δｕ，Δｖ）としたとき、ΦＳ（ｐａ，ｐｂ）＝ΦＳ（Δｕ，Δｖ，Δｕ２，Δｖ２）で表される。
例えば、モデル部品ｐ1に関して
Ｆ（ｘ，ｐ10）＋ｗ・ΦS（ｐ1，ｐ10）の最大値、
Ｆ（ｘ，ｐ11）＋ｗ・ΦS（ｐ1，ｐ11）の最大値、
Ｆ（ｘ，ｐ16）＋ｗ・ΦS（ｐ1，ｐ16）の最大値、
Ｆ（ｘ，ｐ17）＋ｗ・ΦS（ｐ1，ｐ17）の最大値をそれぞれ算出する。
【００２８】
Ｆ（ｘ，ｐ10）＋ｗ・ΦS（ｐ1，ｐ10）の最大値とは、子ノードｐ1の位置に対して孫ノードｐ10の位置を少しずらして得られる複数の値の最大値を意味する。
次に各最大値の総和を求める。
その後、前記総和に、Ｓ３０３で求めた子ノードのＨＯＧ特徴ΦＡ（ｘ，ｐａ）と学習により得られたｗ（後述）との内積値を加算して式（３）のＦ（ｘ，ｐａ）の値を得る。
子ノードがｐ1の場合は、前記総和に、ｗ・ΦＡ（ｘ，ｐ１）を加算して、Ｆ（ｘ，ｐ１）の値を得る。
【００２９】
＜識別スコアの算出：第一階層  親ノード＞
最後に、図２における第一階層のモデル部品に対応する親ノード（ルートノード）に対して、前述の子ノードの場合と同様の方法で式（３）のＦ（ｘ，ｐａ）の値を得る。
【００３０】
＜識別結果の出力＞
識別スコアがあらかじめ定めたしきい値以上の場合は、スコア分布生成部５０２および誤識別判定部５０３を経て、出力部１０８は識別結果としてオブジェクトの有無を示すｙの値、ルート位置ｐ０、視点あるいは物体の姿勢Ｖ、識別スコアを出力する（Ｓ３０５）。スコア分布生成部５０２および誤識別判定部５０３の動作の詳細は後述する。
【００３１】
［カテゴリ別識別器の学習］
ここでの学習は、非特許文献１に開示の方法を用いる。すなわち、構造化ＳＶＭ学習によるカテゴリ別識別器の学習は、下記の式（４）で示される識別関数を学習することである。
【００３２】
【数４】
2015184930.tif 000007
【００３３】
標準的な構造化ＳＶＭ問題ではｈの構造が既知で固定されていると仮定するので、本実施例でもこれに倣う。このとき、前記構造化ＳＶＭ学習は下記の式（５）で示す非凸関数の最適化問題を解くことに帰着される。
【００３４】
【数５】
2015184930.tif 000008
【００３５】
ただし、Ｃは固定ペナルティパラメータ、Φｉ，ｙ，ｈ＝Φ（ｘｉ，ｙ，ｈ）である。また、Ｌｉ，ｙ，ｈは損失関数で、Ｌｉ，ｙ，ｈ＝Ｌ（ｙｉ，ｙ，ｈ）であり、ｙｉ＝ｙのときＬ（ｙｉ，ｙ，ｈ）＝１、ｙｉ≠ｙのときＬ（ｙｉ，ｙ，ｈ）＝０である。
式（５）の非凸関数は、非特許文献４を利用すれば、凸関数＋凹関数として書き直すことができる（式（６）、式（７））。
【００３６】
【数６】
2015184930.tif 000009
【００３７】
式（６），（７）の目的関数を最小化するために、本実施例では、非特許文献１に示されるｉＣＣＣＰ（Ｉｎｃｒｅｍｅｎｔａｌ  ＣｏｎＣａｖｅ−Ｃｏｎｖｅｘ  Ｐｒｏｃｅｄｕｒｅ）アルゴリズムを用いる。
前記カテゴリ識別方法を前提に、図１および図４に示すカテゴリ識別のフローチャートに沿って、本実施例でのカテゴリ別識別器の学習手順を説明する。
【００３８】
まず、ステップＳ４０１においてデータ入力部１０１を用いて学習用データを入力する。学習用データは、正例学習データとそのアノテーションデータ、負例学習データである。アノテーションデータとは正例学習データに対する情報が記載されたデータであり、一般に正例のカテゴリ名や位置情報、オクルージョンの有無などが記されている。なお、前記カテゴリの識別の説明と同様、本実施例においては、対象データを静止画として説明する。
【００３９】
次に、ステップＳ４０２において局所領域抽出部１０２が、前記入力された正例学習データの静止画から局所領域を抽出する。ここで、局所領域の位置情報とサイズは前記アノテーションデータにより与えられる。前記カテゴリの識別と同様、局所領域としての画像データから多重解像度ピラミッド画像を生成する。
次に、ステップＳ４０３において個別特徴抽出部１０３が、ステップＳ４０２で切り出された各局所領域から個別特徴を抽出する。本実施例では個別特徴としてＨＯＧ特徴を用いるが、本発明はＨＯＧ特徴に限定されるものではない。
【００４０】
その後、ステップＳ４０４においてモデル生成部１０５が、複数のモデル部品から成るモデルを構成する。すなわち、前記局所領域の位置情報とサイズとを使って前記局所領域に対する階層的ツリーモデルのモデル部品を確定し、各モデル部品に個別特徴抽出部１０３が抽出した個別特徴を割り当てる。モデル部品の確定とは、モデル部品それぞれの位置とサイズの確定である。
最後に、ステップＳ４０５において識別器生成部１０６が識別器を生成する。識別器の生成は前記カテゴリ識別方法で示した非特許文献１に開示のｉＣＣＣＰアルゴリズムに沿って行う。この結果、式（１）で示したｗが確定する。
【００４１】
［誤識別判定用識別器の生成］
本実施例における誤識別を判定するための動作について、図１および図５、ならびに図６に示す誤識別判定のフローチャートを使って説明する。本実施例では、図２に示したモデルのモデル部品ｐ１からｐ９を対象として説明を行う。
誤識別の判定は識別部１０７で行う。誤識別判定機能を実装した場合の識別部の構成を示す図を図５に示す。図５において１０７は識別部であり、図１の識別部１０７を切り出して示したものである。５０１はスコア算出部、５０２はスコア分布生成部、５０３は誤識別判定部である。５０１１は着目スコア算出部、５０１２は非着目スコア算出部、５０２１は最大スコア判定部、５０２２は最大スコア着目スコア比較部、５０３１は判定値算出部、５０３２は結果判定部である。
【００４２】
個別特徴抽出部１０３までの動作は、前記カテゴリの識別で示した動作と同じである。
前記カテゴリの識別では、最後に、ステップＳ３０４において識別部１０７が式（３）を使って識別スコアを算出している。
これはステップＳ６０１において着目スコア算出部５０１１が実施する着目スコアの算出に相当する。
【００４３】
＜着目スコア／非着目スコアの算出＞
ここで着目スコアとは、部品モデルの照合時に、着目領域に対して対応する位置関係にあるモデル部品を適用して算出したスコアである。
なお、着目領域以外に対応する複数のモデル部品を順番に着目領域に適用して算出されるそれぞれのスコアを非着目スコアと呼ぶ。
着目スコア算出部５０１１が前記着目スコアを算出した後、非着目スコア算出部５０１２がステップＳ６０２において非着目スコアを算出する。
【００４４】
次に、ステップＳ６０３では、スコア分布生成部５０２が着目領域ごとに着目スコアと非着目スコアとからスコア分布を生成する。
本実施形態では、領域ｒｉ（ｉは１から９の整数）にモデル部品ｐｊ（ｊは１から９の整数）を適用して算出された各スコア（着目スコア及び非着目スコア）を縦軸（Ｙ軸）とし、モデル部品の番号を横軸（Ｘ軸）としたものをスコア分布と呼ぶ。
図８にスコア分布の視覚化例を示す。図８において、ｒ１からｒ９は着目領域のインデクス（領域番号）であり、ｐ１からｐ９は図２に示したモデル部品のインデクス（モデル部品番号）である。また、スコア分布のＸ軸はモデル部品番号を示し、Ｙ軸は各モデル部品を着目領域に適用したときに算出されたスコアとなる。このとき、着目領域ｒｉにおける着目スコアはモデル部品ｐｉを適用したときのスコアとなり、非着目スコアはモデル部品ｐｊ（ｊ≠ｉ）を適用したときのスコアとなる。
【００４５】
例えば、領域ｒ３に、モデル部品ｐ３を適用して算出されたスコアは、着目スコアとなる。一方、領域ｒ３に、モデル部品ｐ１〜２又は４〜９のいずれかを適用して算出されたスコアは、非着目スコアとなる。
同様に、領域ｒ４に、モデル部品ｐ４を適用して算出されたスコアは、着目スコアとなる。一方、領域ｒ４に、モデル部品ｐ１〜３又は５〜９のいずれかを適用して算出されたスコアは、非着目スコアとなる。
【００４６】
次に、ステップＳ６０４では、誤識別判定部５０３が正識別か誤識別かの判定を行う。
ステップＳ６０４の処理はステップＳ６０５、ステップＳ６０６、ステップＳ６０７、ステップＳ６０８により構成される。
ステップＳ６０５では、例えば下記式により判定値Ｒを算出する。
判定値Ｒ＝（着目スコアが最大になった領域数）／（全領域数）
ステップＳ６０６では、判定値Ｒとしきい値Ｔｈを比較する。
判定値Ｒがしきい値Ｔｈより大きい場合、ステップＳ６０７へ進む。判定値Ｒがしきい値Ｔｈより大きくない場合、ステップＳ６０８へ進む。
とする。
【００４７】
ステップＳ６０１からステップＳ６０８の処理について図７を使って詳述する。
なお、図７では処理を簡潔にするため、ステップＳ６０１からステップＳ６０３までの処理を同時に行う構成にしている。もちろん、図７のフローチャートを分解して、ステップＳ６０１からステップＳ６０３までの処理を１つずつ実行するように構成しても良い。
ステップＳ６０１からステップＳ６０３の処理を行うにあたり、まず、ステップＳ７０１において領域番号ｉとモデル部品番号ｊを１に設定し、カウンタＣｎｔを０に設定する。
【００４８】
ステップＳ７０２において、領域番号ｉが９以下の場合は、ステップＳ７０３において領域ｉに対する最大スコアを保持する変数ＭＡＸｉを０に設定する。領域番号ｉが９より大きい場合については後述する。
次に、ステップＳ７０４において、モデル部品番号ｊが９以下の場合はステップＳ７０５に処理を移す。モデル部品番号ｊが９より大きい場合については後述する。
【００４９】
ステップＳ７０５では、領域ｒｉに対してモデル部品ｐｊを適用してスコアＳｉｊを算出する。スコアＳｉｊはｉ＝ｊの時は着目スコアであり、ｉ≠ｊの時は非着目スコアである。ｉ＝ｊの時は着目スコア算出部５０１１が着目スコアを算出し、ｉ≠ｊの時は非着目スコア算出部５０１２が非着目スコアを算出する。
ステップＳ７０６〜７０７では、最大スコア判定部５０２１が最大スコアを判定する。具体的には、以下のとおりである。
ステップＳ７０６では、前記ＭＡＸｉとＳｉｊとを比較する。
ステップＳ７０６でＭＡＸｉ≦Ｓｉｊならば、ステップＳ７０７においてＭＡＸｉの値をＳｉｊの値で置換した後に、ステップＳ７０８に処理を移す。
ステップＳ７０６でＭＡＸｉ≦Ｓｉｊでなければ、ステップＳ７０７を経ることなく、ステップＳ７０８に処理を移す。
ステップＳ７０８でｊをインクリメントした後に、ステップＳ７０４に処理を移す。
【００５０】
次に、ステップＳ７０４においてモデル部品番号ｊが９より大きい場合の処理について説明する。モデル部品番号ｊが９より大きい場合は、領域ｒｉに対してすべてのモデル部品とのスコアが算出され、これらのスコアはスコアＳｉ１からＳｉ９に格納されている。これによりスコア分布が生成されたことになる。
ステップＳ７０４においてモデル部品番号ｊが９より大きい場合は、ステップＳ７０９に処理を移す。
ステップＳ７０９において、最大スコア着目スコア比較部５０２２が、ＭＡＸｉ（最大スコア）が着目スコアＳｉｉと等しいか否かを確認する。等しい場合は、当該領域は着目スコアが最大値であるとして、ステップＳ７１０によりカウンタＣｎｔをインクリメントし、ステップＳ７１１に処理を移す。
ステップＳ７１１でｉをインクリメントし、かつｊに１を設定した後に、ステップＳ７０２に処理を戻す。
【００５１】
ステップＳ７０２において、領域番号ｉが９以下の場合については前述したので、ここでは領域番号ｉが９より大きい場合について説明する。
領域番号ｉが９より大きい場合は、すべての領域に対してすべてのモデル部品が適用され、スコア分布が生成されている。また、着目スコアが最大になった領域数がカウンタＣｎｔに保持されている。
本実施例では、着目スコアが最大になった領域数の全領域数に対する割合を判定値Ｒとする。
つまり、判定値Ｒ＝（着目スコアが最大になった領域数）／（全領域数）とする。
すなわち、ステップＳ７０２において、領域番号ｉが９より大きい場合は、ステップＳ７１２において、判定値算出部５０３１が判定値ＲをＲ＝Ｃｎｔ／９として算出する。
ステップＳ７１２（図６のステップＳ６０５）の後、ステップＳ６０６において、結果判定部５０３２が判定値Ｒとあらかじめ定めたしきい値Ｔｈとを比較する。比較の結果、Ｒ＞Ｔｈの場合、結果判定部５０３２はステップＳ６０７にて正識別を示すｙ＝＋１を出力し、Ｒ≦Ｔｈの場合はステップＳ６０８にて誤識別を示すｙ＝−１を出力する。
【００５２】
図７のフローチャートで生成したスコア分布の一例とそれに基づくステップＳ６０６での判定例を図９および図１０に示す。
図９はスコア分布の視覚化例（正識別判定時）であり、図１０はスコア分布の視覚化例（誤識別判定時）である。ただし図９および図１０では、ステップＳ６０６のＴｈの値を０．５としている。
図９の例では、領域番号ｒ１〜ｒ９の９つの領域について、着目スコアが非着目スコアよりも大きくなる領域が６つ存在する（ｒ２，ｒ３，ｒ４，ｒ６，ｒ８，ｒ９）。そのため、前記判定値Ｒは、Ｒ＝６／９＞０．５＝Ｔｈとなり、ステップＳ６０７において正識別を示すｙ＝＋１が出力される。
【００５３】
図９に示す各領域ｒ１〜ｒ９について具体的に説明する。
・領域ｒ１について
着目スコア（モデル部品番号ｐ１のスコアＳ１１）は、領域ｒ１内の着目スコアＳ１１および非着目スコア（モデル部品番号ｐ２〜ｐ９のスコアＳ１２〜Ｓ１９）の中での最大値ではない。つまり、ＭＡＸ１はＳ１１に等しくないため、ステップＳ７０９は「ｎｏ」に分岐し、Ｃｎｔはインクリメントされない。
・領域ｒ２について
着目スコア（モデル部品番号ｐ２のスコアＳ２２）は、領域ｒ２内の着目スコアＳ２２および非着目スコア（モデル部品番号ｐ１、ｐ３〜ｐ９のスコアＳ２１、Ｓ２３〜Ｓ２９）の中での最大値である。つまり、ＭＡＸ２はＳ２２に等しいため、ステップＳ７１０でＣｎｔはインクリメントされる。
・領域ｒ３〜ｒ４、ｒ６、ｒ８〜ｒ９について
領域ｒ２と同様に、ステップＳ７１０でＣｎｔはインクリメントされる。
・領域ｒ５、ｒ７について
領域ｒ１と同様に、ステップＳ７０９は「ｎｏ」に分岐し、Ｃｎｔはインクリメントされない。
【００５４】
一方、図１０では、領域ｒ１〜ｒ９の９つの領域について、着目スコアが、非着目スコアよりも大きくなる領域が３つしか存在しない（ｒ５，ｒ７，ｒ９）ため、前記判定値Ｒ＝３／９＝０．３３３となる。つまり、判定値Ｒはしきい値Ｔｈ（＝０．５）より大きくないため、ステップＳ６０８において誤識別を示すｙ＝−１が出力される。
【００５５】
図１０に示す各領域ｒ１〜ｒ９について具体的に説明する。
・領域ｒ１について
着目スコア（モデル部品番号ｐ１のスコアＳ１１）は、領域ｒ１内の着目スコアＳ１１および非着目スコア（モデル部品番号ｐ２〜ｐ９のスコアＳ１２〜Ｓ１９）の中での最大値ではない。つまり、ＭＡＸ１はＳ１１に等しくないため、ステップＳ７０９は「ｎｏ」に分岐し、Ｃｎｔはインクリメントされない。
・領域ｒ５について
着目スコア（モデル部品番号ｐ５のスコアＳ５５）は、領域ｒ５内の着目スコアＳ５５および非着目スコア（モデル部品番号ｐ１〜ｐ４、ｐ６〜ｐ９のスコアＳ５１〜Ｓ５４、Ｓ５６〜Ｓ５９）の中での最大値である。つまり、ＭＡＸ５はＳ５５に等しいため、ステップＳ７１０でＣｎｔはインクリメントされる。
・領域ｒ２〜ｒ４、ｒ６、ｒ８について
領域ｒ１と同様に、ステップＳ７０９は「ｎｏ」に分岐し、Ｃｎｔはインクリメントされない。
・領域ｒ７、ｒ９について
領域ｒ５と同様に、ステップＳ７１０でＣｎｔはインクリメントされる。
【００５６】
以上のように、本発明では部品モデルの照合時に着目領域に対して対応するモデル部品を適用して着目スコアを算出するように構成した。例えば、領域ｒ１にモデル部品ｐ１を適用して着目スコアＳ１１を算出し、領域ｒ２にモデル部品ｐ２を適用して着目スコアＳ２２を算出し、領域ｒ３にモデル部品ｐ３を適用して着目スコアＳ３３を算出した。
また、並行して着目領域以外に対応する複数のモデル部品を着目領域に適用して複数の非着目スコアを算出するように構成した。例えば、領域ｒ１にモデル部品ｐ２を適用して非着目スコアＳ１２を算出し、領域ｒ１にモデル部品ｐ３を適用して非着目スコアＳ１３を算出し、領域ｒ１にモデル部品ｐ４を適用して着目スコアＳ１４を算出した。
そして、前記着目スコアと前記複数の非着目スコアとを利用して誤識別を判定するように構成した。例えば、領域ｒ１の全ての識別スコアの中で最大値となるのは着目スコアＳ１１か非着目スコアＳ１２〜Ｓ１９か、そして領域ｒ１〜ｒ９の中で着目スコアが最大値となる領域の割合はしきい値より大きいかにより判定する。
【００５７】
すなわち、エッジ方向特性の異なる部品モデルのスコアの大小関係を比較し、各部品に対応する着目領域において適切な部品のスコアが大きいことを確認して識別対象の判定を行う。つまり、着目スコアが最大スコアとなる領域が多ければ正しく検出されたと判定し、着目スコアが最大スコアとなる領域が少なければ誤って検出されたと判定する。
このように構成したことによって、モデル部品のスコアだけではなくモデル部品とスコアとの整合性もチェックすることになり、識別精度を向上させることが可能になる。
なお本発明は、特定の画像識別方法だけでなく、モデル部品に基づいて画像識別を行う方法であれば一般的に適用可能である。
【００５８】
なお、本実施形態では、各領域中の着目スコアと複数の非着目スコアとを比較し、着目スコアが複数の非着目スコアのいずれよりも大きなスコアとなる領域の割合（判定値Ｒ）を算出し、判定値Ｒとしきい値との比較結果を識別結果として出力するよう構成した。
このとき、着目スコアと非着目スコアとの差または比があらかじめ定めたしきい値より小さい場合には、当該領域を前記比較に用いないように構成しても良い。
【００５９】
例えば、図１１の領域ｒ７では、非着目スコアＳ７９が複数の非着目スコアの中で最大値であり、かつ非着目スコアＳ７９が着目スコアよりも大きい。そして、着目スコアＳ７７と非着目スコアＳ７９との比が下記式を満たすから、当該領域を判定値Ｒの算出には用いない、としても良い。
０．９＜（着目スコアＳ７７）／（複数の非着目スコアの中で最大となる非着目スコアＳ７９）＜１．１
また、図１１の領域ｒ８では、着目スコアＳ８８が最大スコアとなり、かつ非着目スコアＳ８７が複数の非着目スコアの中で最大となる。そして、着目スコアＳ８８と非着目スコアＳ８７との比が下記式を満たすから、当該領域を判定値Ｒの算出には用いない、としても良い。
０．９＜（着目スコアＳ８８）／（複数の非着目スコアの中で最大となる非着目スコアＳ８７）＜１．１
なお、着目スコアとの差又は比をとる非着目スコアは「複数の非着目スコアの中で最大となる非着目スコア」であるとして説明したが、着目スコアとの差又は比をとる非着目スコアは、「複数の非着目スコアの中で最大となる非着目スコア」に限定されない。
例えば、「複数の非着目スコアの中で着目スコアとの差が最も小さい非着目スコア」、「複数の非着目スコアの中で着目スコアとの差が最も大きい非着目スコア」のいずれを使用して良い。
【００６０】
あるいは、前記割合の算出時に、前記着目スコアと前記非着目スコアとの差もしくは比に応じた重み付けを行うように構成しても良い。
さらに、スコア分布のパラメータを利用して識別結果を出力するように構成しても良い。
たとえば、ある領域におけるスコア分布の分散あるいは標準偏差を利用して識別結果を出力するように構成しても良い。スコア分布の標準偏差を利用する一例として、下記式によって算出されるスコア分布の標準偏差の逆数の総和を図７のステップＳ７０２で「ｎｏ」と判断された後のカウンタＣｎｔに加算するように構成しても良い。
【００６１】
【数７】
2015184930.tif 000010
【００６２】
また、本実施形態では、スコア分布の生成にあたってモデル部品に対応する前記着目スコアと非着目スコアとを画面の走査順にならべて生成するように構成したが、もちろんスコアの並べ方は他の順序を採用しても良い。
つまり、本実施形態では、着目スコアＳ１１、非着目スコアＳ１２、非着目スコアＳ１３、・・・、非着目スコアＳ２１、着目スコアＳ２２、非着目スコアＳ２３、・・・、非着目スコアＳ９８、着目スコアＳ９９という順に、スコアを算出した。
しかし、まず各領域の着目スコアを算出し、その後に非着目スコアを算出しても良い。つまり、着目スコアＳ１１、非着目スコアＳ１２、・・・、着目スコアＳ２２、非着目スコアＳ２１、非着目スコアＳ２３、・・・着目スコアＳ９９、非着目スコアＳ９１、・・・、非着目スコアＳ９８という順に、スコアを算出しても良い。
【００６３】
また、スコア分布の視覚化例を示したが、このような視覚化は発明の内容を説明するための例示に過ぎず、発明の効果を得るためにこのような視覚化が必要なわけではない。
前記実施形態において発明の効果を得るためには、ある領域における最大の識別スコアが着目スコアか非着目スコアかが判断できれば良い。
このため、ある領域において、着目スコアがその領域における識別スコアの最大値とならないと判断できた場合、そのように判断できた時点で、当該領域に関するスコア比較処理を終了し、次の領域に関するスコア比較処理に移行しても良い。
例えば、領域ｒ１に関して、モデル部品ｐ１を適用して算出されたスコア（着目スコアＳ１１）と、モデル部品ｐ２を適用して算出されたスコア（非着目スコアＳ１２）とを比較し、非着目スコアＳ１２が着目スコアＳ１１より大であると判断できた場合である。この場合、領域ｒ１に関しては着目スコアＳ１１がこの領域の最大スコアとはならないことが確定したため、この時点でスコア比較処理を終了し、領域ｒ２についてのスコア比較処理に移行しても良い。
つまり、この場合は、領域ｒ１に関しては、モデル部品ｐ３〜ｐ９を適用して算出された非着目スコアＳ１３〜Ｓ１９との比較をすることなく、領域ｒ２についてのスコア比較処理に移行する。
【００６４】
また、各領域について全ての非着目スコアを算出しなくても良い。ある領域において、着目スコアと第１の非着目スコアを算出し、着目スコアと第１の非着目スコアとを比較し、着目スコアの方が大きい場合に限り、第２の非着目スコアを算出すれば良い。
第１の非着目スコアの方が大きい場合は、第２の非着目スコアを算出せずに、当該領域に関する処理を終了する。
例えば、領域ｒ２に関して、モデル部品ｐ１を適用して第１の非着目スコアＳ２１を算出し、モデル部品ｐ２を適用して着目スコアＳ２２を算出し、第１の非着目スコアＳ２１と着目スコアＳ２２とを比較する。そして、着目スコアＳ２２の方が大きい場合に限り、次に、モデル部品ｐ３を適用して第２の非着目スコアＳ２３を算出し、着目スコアＳ２２と比較する。
もし、着目スコアＳ２２より第１の非着目スコアＳ２１の方が大きいと判断できた場合は、着目スコアＳ２２が領域ｒ２の最大スコアとならないことが確定した。よって、この時点で領域ｒ２の非着目スコア算出処理を終了し、領域ｒ３のスコア算出・比較処理に移行する。
【００６５】
本実施形態では、すべての領域に対してすべてのスコア分布を生成してから判定値Ｒをしきい値Ｔｈと比較するように構成した。
しかし、判定値Ｒがしきい値Ｔｈを上回る又は下回ることが明らかとなった時点で判定値を算出する処理を終了し、ステップＳ６０７あるいはステップＳ６０８にて識別結果を出力するように構成しても良い。たとえば、本実施例の場合はステップＳ７０２の条件判定にステップＳ７１２およびステップＳ６０６を統合し、Ｒ＞Ｔｈを適宜判定するように構成すれば良い。
「判定値Ｒがしきい値Ｔｈを上回ることが明らかとなった時点」とは、例えば前記の如く、スコアを算出する領域の数が９個の場合に、着目スコアが最大スコアとなる領域の数が５個に達した時点である。着目スコアが最大スコアとなる領域の数が５個に達したら、残りの領域の全てで着目スコアが最大スコアとならなくても、判定値Ｒは（５／９）以上となり、しきい値Ｔｈ（＝０．５）よりも大きくなるためである。
【００６６】
また、本実施形態では、ステップＳ６０６で用いるしきい値Ｔｈの値を０．５として説明したが、他のしきい値を設定するように構成しても良い。たとえば、学習により生成された識別器を用いて正例学習データに対して識別を行うことで判定値Ｒの平均を算出し、これをしきい値として設定してもよい。あるいは、学習に用いなかった複数の正例データに対して識別を行うことで判定値Ｒの平均を算出し、これをしきい値として設定しても良い。
【００６７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６８】
１００  識別装置
１０１  データ入力部
１０２  局所領域抽出部
１０３  個別特徴抽出部
１０４  記憶装置
１０５  モデル生成部
１０６  識別器生成部
１０７  識別部
１０８  出力部
５０１  スコア算出部
５０２  スコア分布生成部
５０３  誤識別判定部
５０１１  着目スコア算出部
５０１２  非着目スコア算出部
５０２１  最大スコア判定部
５０２２  最大スコア着目スコア比較部
５０３１  判定値算出部
５０３２  結果判定部
【図１】
2015184930.tif 000011
【図２】
2015184930.tif 000012
【図３】
2015184930.tif 000013
【図４】
2015184930.tif 000014
【図５】
2015184930.tif 000015
【図６】
2015184930.tif 000016
【図７】
2015184930.tif 000017
【図９】
2015184930.tif 000018
【図１０】
2015184930.tif 000019
【図１１】
2015184930.tif 000020
【図８】
2015184930.tif 000021