説明

パターン処理装置及びその方法、プログラム

【課題】 局所領域に変動が生じた場合でも、認識精度および検出精度の低下を抑止する。
【解決手段】 顔器官特徴点検出部101での特徴点の検出結果に基づいて、基準局所領域を設定する基準局所領域設定部1802と、基準局所領域の周辺画像領域を参照して複数の変動局所領域パターンを生成する変動局所領域生成部1803と、入力パターンおよび登録パターンの基準局所領域および複数の変動局所領域パターンとの類似度を求める類似度算出部106と、類似度から代表類似度を求める代表類似度算出部107と、代表類似度に基づいて、入力パターンの属するクラスを判別する判別部109とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パターンの判別や検出を行うパターン処理装置及びその方法、プログラムに関する。
【背景技術】
【0002】
近年、画像中の所定の被写体を検出、認識する機能を有する様々な機器が提案されている。このような機器に対して、入力画像中の対象物(例えば人の顔、機械部品等)を高速、高精度に検出し、認識する手法の開発が望まれている。
【0003】
一般的に、画像中の顔を認識する処理には、撮影された画像中の顔を検出する処理と、検出された顔領域に対して、個人を特定する認識処理とが含まれる。
【0004】
従来、入力画像中の人の顔等の対象物を検出する手法は数多く提案されている。例えば、非特許文献1では、被写体として顔を高速に検出する手法が提案されている。この手法では、入力画像から切り出した所定領域が顔であるか否かの判別を、カスケード接続された弱判別器を用いて行う。
【0005】
また、認識手法も多く提案されている。例えば、特許文献1では、予め大量の顔画像から顔を表す固有ベクトルを生成し、登録顔画像と入力顔画像をそれぞれ前記固有ベクトルに射影し、得られる射影ベクトル同士の距離を測ることで個人IDを特定する技術が開示されている。この手法は、Eigenfaceと呼ばれている。このEigenfaceは、顔の向きや照明等の変動により精度が劣化すると言われている。非特許文献2では、顔の局所領域に対して、固有ベクトルの作成を行い、登録画像と入力画像との局所領域ごとの射影ベクトルを使用して認識を行う、Local Feature Analysis(LFA)と呼ばれる手法が示されている。また、特許文献3には、局所領域ごとに、輝度値を所定の方向に加算して射影した輝度値分布を使用して認識を行う手法が開示されている。また、特許文献4には、顔向きやオクルージョン等を別途求め、その値に基づいて局所領域を重み付けする手法が開示されている。
【0006】
また、非特許文献3では、登録顔画像と入力顔画像の差分画像を入力とし、同一人物の場合にはintra−person(同一人物)クラスに、異なる人物の場合にはextra−person(他人)クラスに識別する識別器を用いて、顔認識を行っている。さらに、特許文献2では、この非特許文献3の手法をベースにし、support vector machines(SVM)を用いた識別する手法が示されている。そこでは、登録顔画像と入力顔画像との複数の地点において、ガボアフィルタで求めた特徴量から類似度ベクトルを生成し、SVMを用いてintra−personクラスとextra−personクラスとを識別している。
【0007】
局所領域に基づく顔認識では、局所領域の設定のために、目尻、目頭、口端点等の顔器官の特徴点が使用される。これらの特徴点を検出する手法も多く提案されている。例えば、非特許文献4には、円形分離度フィルタと部分空間を用いる手法が示されている。
【0008】
また、非特許文献5には、入力された顔画像に対する顔向き属性を判別する手法が各種示されている。
【0009】
非特許文献6には、顔向き属性に応じて局所領域を変形させて同一人物に対する類似度を向上させることにより、識別率の向上を実現する手法が開示されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第5164992号明細書
【特許文献2】特開2006−004003号公報
【特許文献3】特開2003−178304号公報
【特許文献4】特開2007−128262号公報
【非特許文献】
【0011】
【非特許文献1】“Rapid Object Detection using a Boosted Cascade of Simple Features”,Paul Viola,Michael Jones, CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION 2001
【非特許文献2】“Local Feature Analysis : A general statistical theory for object representation”,P.S.Penev,J.J.Atick,Network:Computation in Neural Systems 1996;7:477−500
【非特許文献3】“Beyond Eigenfaces: Probabilistic Matching for Face Recognition”, B. Moghaddam, W. Wahid, A. Pentland, International Conference on Automatic Face & Gesture Recognition (1998)
【非特許文献4】“形状抽出とパターン照合の組み合わせによる顔特徴点抽出”、福井和弘、山口修、電子情報通信学会論文誌(D)、Vol.J80−D−2、No.8、2170−2177、1997
【非特許文献5】“Head Pose Estimation in Computer Vision:A Survey”,E.Murphy−Chutorian,M.M.Trivedi,IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.31,NO.4,APRIL 2009.
【非特許文献6】“Learning Patch Correspondencesfor Improved Viewpoint Invariant Face Recognition”,A.B.Ashraf,S.Lucey,T.Chen,Carnegie Mellon University,IEEE International Conference on Computer Vsion and Pattern Recognition (CVPR),June,2008.
【発明の概要】
【発明が解決しようとする課題】
【0012】
上記した背景技術の状況において、更なる認識精度の向上が望まれている。局所領域に基づく認識処理では、登録画像と入力画像との間の対応する局所領域で比較を行う必要があるが、その局所領域を決定するために使用される特徴点の検出は照明変動や顔向きの変動によって誤差が生じやすい。また特徴点に誤差が生じなかったとしても局所領域の形状自体が顔向きや表情の変動によって変形する。そのため、結果的に認識処理において比較を行う局所領域の位置変動がずれてしまうという問題があった。また、登録画像と入力画像との間で、対象物体(例えば、顔)の向きやサイズや形状変動(例えば表情)が一致するとは限らず、登録画像と入力画像との被写体が同一人物である場合にも、その局所領域で求めた評価値が低い値になるという問題もあった。
【0013】
また特定物体の検出処理においても、対象物体の一部が変動するような場合には、検出率が低下するという問題もあった。
【0014】
本発明はこのような問題点に鑑みなされたもので、特徴点の検出に誤差が生じた場合でも、認識精度が低下することを抑止することを目的とする。
【0015】
また、本発明は対象物体の一部の形状が変動するような場合であっても、良好な検出結果を得ることを目的とする。
【課題を解決するための手段】
【0016】
そこで、本発明によれば、入力パターンと登録パターンとを局所領域で比較することにより、入力パターンの属するクラスを判別するパターン処理装置に、前記入力パターン及び前記登録パターンに、局所領域を設定する局所領域設定手段と、前記入力パターンと前記登録パターンの少なくともいずれかに設定された前記局所領域に基づき、複数の変動局所領域パターンを生成する変動局所領域生成手段と、前記入力パターンに設定された前記局所領域のパターンもしくは前記局所領域に基づく前記複数の変動局所領域パターンと、当該局所領域に対応する前記登録パターンに設定された前記局所領域内のパターンもしくは前記局所領域に基づく前記複数の変動局所領域パターンとの組合せに対する複数の類似度を求める類似度算出手段と、前記局所領域毎に、前記入力パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンと、前記登録パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンとの組合せに対する前記複数の類似度から、前記入力パターンの前記局所領域に対応する前記登録パターンの前記局所領域との類似度としての代表類似度を求める代表類似度算出手段と、前記代表類似度算出手段で求められた代表類似度に基づいて、入力パターンの属するクラスを判別する判別手段とを備える。
【0017】
また、本発明の他の態様によれば、検出対象物のパターンの複数の局所領域の各々に対応する局所領域パターンの検出結果に基づき、入力パターンの中に存在する検出対象物を検出するパターン処理装置に、前記局所領域パターンのそれぞれの基準となる基準局所領域パターンを記憶する基準局所領域パターン保持手段と、前記基準局所領域パターンの少なくとも一つに基づき、複数の変動局所領域パターンを生成する変動局所領域生成手段と、前記入力パターンの中から、前記基準局所領域パターンもしくは前記複数の変動局所領域パターンを検出する局所領域パターン検出手段と、前記局所領域パターン検出手段による複数の局所領域パターンの検出結果を統合して、入力パターンの中の検出対象物を検出する対象物検出手段とを備える。
【発明の効果】
【0018】
本発明によれば、特徴点の検出に誤差や顔向き、表情による局所領域の形状変動が生じた場合でも、認識精度が低下することを抑止することができる。
【0019】
また、本発明によれば、対象物体の一部の形状が変動するような場合であっても、良好な検出結果を得ることが可能となる。
【図面の簡単な説明】
【0020】
【図1】パターン判別装置のハードウェア構成の一例を示す図である。
【図2】パターン判別装置の機能構成等の一例を示す図である。
【図3】登録処理の一例を示すフローチャートである。
【図4】検出される特徴点の一例を示す図である。
【図5】検出すべき1次特徴の一例を示す図である。
【図6】神経回路網の処理内容を説明するための図である。
【図7】目尻の検出結果の出力分布の一例を示す図である。
【図8】基準探索領域の設定方法を説明するための図である。
【図9】評価処理の一例を示すフローチャートである。
【図10】評価処理における探索領域の設定処理の一例を示すフローチャートである。
【図11】特徴点検出の誤差を説明するための図である。
【図12】探索領域を設定する方法を模式的に示す図である。
【図13】特徴ベクトル生成領域の設定を模式的に示す図である。
【図14】顔器官特徴検出処理の一例を示すフローチャートである。
【図15】ステップS1102の処理の概要を示す図である。
【図16】最終特徴点検出処理を、目尻の検出を例に模式的に示す図である。
【図17】探索領域設定処理を、目尻の検出を例に模式的に示す図である。
【図18】探索範囲を説明するための図である。
【図19】パターン判別装置の機能構成の他の一例を示す図である。
【図20】登録処理の他の一例を示すフローチャートである。
【図21】評価処理の他の一例を示すフローチャートである。
【図22】登録顔画像の一部と、評価顔画像の一部の一例を示す図である。
【図23】登録顔画像の一部と、評価顔画像の一部の他の一例を示す図である。
【図24】登録顔画像の一部と、評価顔画像の一部の一例を示す図である。
【図25】処理済みの領域に基づく変動範囲を制限を説明する図である。
【図26】パターン判別装置の機能構成の他の一例を示す図である。
【図27】部品検出処理装置の機能構成の他の一例を示す図である。
【図28】部品検出処理装置における検出処理の一例を示すフローチャートである。
【図29】部品検出処理装置で検出する部品の一例を示す図である。
【図30】部品検出処理装置で検出する部品の他の一例を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態について図面に基づいて説明する。
【0022】
<実施形態1>
本実施形態では、入力パターンを顔画像とし、入力された顔画像と登録顔画像とを比較することにより、入力顔画像中の顔が誰の顔であるかを判別する、つまり入力顔画像の個人IDを特定する処理を、パターン処理の例として説明する。
【0023】
以下の説明においては、登録画像に対して認識に必要な処理を行い、そのデータ(特徴ベクトル)を保持する処理を登録処理と呼ぶ。また入力画像に対して同様に認識に必要な処理を行って特徴ベクトルを求め、その特徴ベクトルと登録処理で生成し保持していた登録画像の特徴ベクトルとの類似度を求めて、判別を行う処理を評価処理と呼ぶ。
【0024】
図1は、パターン判別装置のハードウェア構成の一例を示す図である。図1において、入力装置11は、キーボードやポインティング装置で構成されている。ユーザは入力装置11を操作し、データの入力や操作の指示を行う。記憶装置の一例である蓄積装置12は、データを蓄積するものであり、例えば、ハードディスク等である。表示装置13は、例えば蓄積装置12に蓄積されたデータ等を表示するものであり、例えば、CRTや液晶等である。
【0025】
CPU14は、上記の処理の全てに関わり、ROM15とRAM16とはその処理に必要なデータを格納するメモリや作業領域を提供する。また、CPU14が、ROM15からプログラムを読み出して、プログラムに基づき処理を実行することにより、後述する機能の全て又は一部や、後述するフローチャートの各処理が実現される。
【0026】
また、パターン判別装置は、公知のCCD素子等で構成された撮像装置より画像を読み込むような読込部を更に設けた構成としてもよい。
【0027】
図2は、パターン判別装置の機能構成等の一例を示す図である。
【0028】
顔器官特徴点検出部101は、入力された顔画像中の目尻、目頭、口端点等の顔器官の特徴点を検出する。顔器官特徴点検出部101における特徴点の検出手法は、後述する。
【0029】
探索領域設定部102は、顔器官特徴点検出部101の出力に基づいて、入力された顔画像のパターン内に、局所領域を設定するための、探索領域を設定する。探索領域設定部102における探索領域の設定手法は、後述する。
【0030】
特徴ベクトル生成領域設定部103は、探索領域設定部102で設定された探索領域中に、特徴ベクトルを生成するための、特徴ベクトル生成領域を設定する(局所領域設定)。特徴ベクトル生成領域設定部103における特徴ベクトル生成領域の設定手法は、後述する。
【0031】
特徴ベクトル生成部104は、特徴ベクトル生成領域設定部103で設定された特徴ベクトル生成領域から、その領域の特徴ベクトルを生成する。特徴ベクトル生成部104における特徴ベクトルの生成手法は、後述する。
【0032】
登録特徴ベクトル保持部105は、登録処理において、特徴ベクトル生成部104で生成された特徴ベクトルを保持する。
【0033】
類似度算出部106は、評価処理において、特徴ベクトル生成部104で生成された、入力顔画像のある局所領域の特徴ベクトルと、登録特徴ベクトル保持部105に保持されている、登録顔画像のある局所領域の特徴ベクトルとの類似度を算出する。類似度算出部106における類似度の算出方法は、後述する。
【0034】
代表類似度算出部107は、探索領域内の各局所領域に対して、類似度算出部106で求められた類似度を使用して、その探索領域の代表類似度を算出する。代表類似度算出部107における代表類似度の算出方法は、後述する。
【0035】
代表類似度統合部108は、代表類似度算出部107で求められた各探索領域の代表類似度を統合して、入力画像と登録画像との評価値を求める。代表類似度統合部108における代表類似度の統合方法は、後述する。
【0036】
判別部109は、全ての登録画像に対して、代表類似度統合部108で求められた入力画像との評価値に基づいて、入力顔画像中の人物に対応するクラスを判別する。
【0037】
基準探索領域データ保持部110は、探索領域設定部102で使用する基準探索領域に関するデータを保持する。
【0038】
なお、図2中、破線は登録処理を、実線は評価処理を示す。
【0039】
最初に登録処理を説明する。図3は、登録処理手順の一例を示すフローチャートである。
【0040】
ステップS201において、顔器官特徴点検出部101は、登録顔画像に対して顔器官の特徴点検出を行う。図4は、ステップS201で検出される特徴点の一例を示す図である。図4中、E1,E4は目尻を、E2,E3は目頭を、B1,B2,B3,B4は眉端を、M1,M2は口端点を示す。
【0041】
顔器官特徴点検出部101は、顔器官の特徴点の検出に既存の手法を使用することができる。顔器官特徴点検出部101は、例えば、局所特徴を階層的に検出し、その検出結果を統合し、次の階層の局所特徴を検出する、という処理を繰り返して、特徴点を検出する手法を使用することができる。つまり、顔器官特徴点検出部101は、最初にプリミティブな特徴である1次特徴を検出し、その1次特徴の検出結果(検出レベルと位置関係)を用いて2次特徴を検出する。そして、顔器官特徴点検出部101は、2次特徴の検出結果を用いて、3次特徴を、と順々に、更に高次の特徴を検出していくものである。
【0042】
図5は、検出すべき1次特徴の一例を示す図である。顔器官特徴点検出部101は、最初に、縦特徴(1−1)・横特徴(1−2)・右上がり斜め特徴(1−3)・右下がり斜め特徴(1−4)等の特徴を検出する。ここに、縦特徴(1−1)とは縦方向のエッジセグメントを表す(以下、同様である)。この検出結果は、特徴毎に、入力画像と同等の大きさの検出結果画像という形で出力される。つまり、図5の例であれば4種類の検出結果画像が得られ、顔器官特徴点検出部101は、各特徴の検出結果画像の各位置の値を見て、入力画像のその位置に各特徴が存在するか否かを判断することができる。
【0043】
2次特徴である右空きV字特徴(2−1)について、顔器官特徴点検出部101は、右上がり斜め特徴と右下がり斜め特徴とから検出を行う。また、2次特徴である左空きV字特徴(2−2)について、顔器官特徴点検出部101は、右下がり斜め特徴と右上がり斜め特徴とから検出を行う。また、2次特徴である水平平行線特徴(2−3)について、顔器官特徴点検出部101は、横特徴から検出を行う。また、2次特徴である垂直平行線特徴(2−4)について、顔器官特徴点検出部101は、縦特徴から検出を行なう。
【0044】
また3次特徴の眼特徴(3−1)について、顔器官特徴点検出部101は、右空きV字特徴と左空きV字特徴と水平平行線特徴と垂直平行線特徴とから検出を行なう。また、3次特徴の口特徴(3−2)について、顔器官特徴点検出部101は、右空きV字特徴と左空きV字特徴と水平平行線特徴とから検出を行なう。
【0045】
上記の検出手法を並列階層処理により画像認識を行う神経回路網を用いて実現することもできる。より具体的に説明すると、M.Matsugu,K.Mori,et.al,“Convolutional Spiking Neural Network Model for Robust Face Detection”,2002,Internatinal Conference On Neural Information Processing (ICONIP02)に記述されている、Convolutional Neural Networksを使用することで実現することができる。
【0046】
図6を参照して神経回路網の処理内容を説明する。図6は、神経回路網の処理内容を説明するための図である。図6の神経回路網は、入力データ中の局所領域において、対象、又は幾何学的特徴等の認識(検出)に関与する情報を階層的に扱うものである。基本構造はいわゆるConvolutionalネットワーク構造(LeCun,Y.and Bengio,Y.,1995,“Convolutional Networks for Images Speech,and Time Series”in Handbook of Brain Theory and Neural Networks(M.Arbib,Ed.),MIT Press,pp.255−258)である。最終層(最上位層)では検出したい被写体の有無と、存在すればその入力データ上の位置情報とが得られる。
【0047】
データ入力層1701は、画像データを入力する層である。最初の特徴検出層1702(1,0)は、データ入力層1701より入力された画像パターンの局所的な低次の特徴を全画面の各位置を中心とした局所領域において同一箇所で複数のスケールレベル、又は解像度で複数の特徴カテゴリの数だけ検出する。なお、低次の特徴には、特定方向成分、特定空間周波数成分等の幾何学的特徴のほか色成分特徴を含んでもよい。また、全画面の各位置を中心として局所領域ではなく、全画面にわたる所定のサンプリング点の各点を中心とする局所領域であってもよい。
【0048】
特徴統合層1703(2,0)は、所定の受容野構造(以下、受容野とは直前の層の出力素子との結合範囲を、受容野構造とはその結合荷重の分布を意味する)を有する。特徴統合層1703(2,0)は、特徴検出層1702(1,0)からの同一受容野内にある複数のニューロン素子出力の統合(局所平均化、最大出力検出等によるサブサンプリング等の演算)を行う。この統合処理は、特徴検出層1702(1,0)からの出力を空間的にぼかすことで、位置ずれや変形等を許容する役割を有する。また、特徴統合層内のニューロンの各受容野は同一層内のニューロン間で共通の構造を有している。
【0049】
後続の層である各特徴検出層1702((1,1)、(1,2)、・・・、(1,M))は、各特徴検出モジュールにおいて複数の異なる特徴の検出を行う。各特徴統合層1703((2,1)、(2,2)、・・・、(2,M))は、前段の特徴検出層からの複数特徴に関する検出結果の統合を行う。但し、特徴検出層1702((1,1)、(1,2)、・・・、(1,M))は、同一チャネルに属する前段の特徴統合層の細胞素子出力を受けるように結合(配線)されている。特徴統合層で行う処理であるサブサンプリングは、同一特徴カテゴリの特徴検出細胞集団からの局所的な領域(特徴統合層ニューロンの局所受容野)からの出力についての平均化等を行うものである。
【0050】
図5に示した各特徴を検出するためには、図6の各特徴検出層の検出に使用する受容野構造をその特徴を検出するためのものにすることで、各特徴を検出することができる。
【0051】
この手法は、予め用意した重み係数との積和演算を所定の範囲で行うため、対象となる特徴点の検出処理の出力値が高い結果はある範囲に分布する。図7に、目尻E1の検出結果の出力分布の例を模式的に示す。図7は、目尻E1の検出結果の出力分布の一例を示す図である。図7の例では検出結果の出力値が高いほど黒く示している。検出結果の値は、前記重み係数と前階層の統合された検出結果との積和結果であり、この値が高いほど、所望の特徴に近い特徴が存在していることを示している。つまり、この分布は所望の特徴の存在確率分布を反映していると考えることができる。従って、顔器官特徴点検出部101は、この分布中の最高値の位置、又は、重心位置を、特徴点位置として設定する。
【0052】
図3の説明に戻り、ステップS202では、探索領域設定部102は、ステップS201で求められた各特徴点とその特徴点を求めたときの存在確率分布を反映した分布(つまり特徴点を求めるときの推定誤差に関する情報)とを使用して、探索領域を設定する。登録処理においては、探索領域設定部102は、基準探索領域データ保持部110に保持されている基準探索領域データを使用して設定した基準局所領域を、探索領域とする。
【0053】
基準探索領域の設定方法を、図8を使用して説明する。図8は、基準探索領域の設定方法を説明するための図である。
【0054】
探索領域設定部102は、基準探索領域を、ステップS201で検出された特徴点を基に設定する。図8では、基準探索領域と特徴点とを模式的に示している。図8の(a)中、特徴点503、504で示される丸点は、ステップS201で検出された特徴点を表し、矩形状の領域501、502が基準探索領域を示している。図8(b)に示すように、これら基準探索領域の位置は、特徴点とそこからの変位で決定される。この変位量は、図8(b)に示すように、基準探索領域の中心505と特徴点506との間の相対的な位置を表し、顔の水平方向に対する変位量dと顔の垂直方向に対する変位量dとからなる。探索領域設定部102は、これら変位量を種々の値に設定することで、複数の基準局所領域位置を決定することができる。例えば、図8(a)の基準探索領域501は特徴点503からの変位で、基準探索領域502は特徴点504からの変位で設定されている。ここで、変位量及び基準局所領域のサイズは、基準探索領域データ保持部110に保持されている。これらの値は、予め基準探索領域が偏り無く存在するように決められておいてもよいし、同様に予め多数の学習データを使用して、基準探索領域の位置やサイズを変更したときの結果と認識精度とを使用して、所望の精度になるように決定されておいてもよい。
【0055】
図3の説明に戻り、ステップS203では、特徴ベクトル生成領域設定部103は、ステップS202で求められた探索領域から、特徴ベクトル生成領域を設定する。前述のように、探索領域と認識に使用する局所領域とは同位置・同サイズであるので、特徴ベクトル生成領域は、探索領域と同領域となる。図8では、基準探索領域を局所領域全体が移動する範囲として示しているため、探索領域=局所領域である。探索領域を、後述の図13のように局所領域の中心点が移動する範囲として表す場合は、登録処理における探索領域は局所領域の中心点と合致する1点のみになる。
【0056】
ステップS204では、特徴ベクトル生成部104は、ステップS203で設定された特徴ベクトル生成領域から、特徴ベクトルを生成する。特徴ベクトルは、その領域から求められる特徴量であれば特に限定はしない。例えば、特徴ベクトル生成部104は、その領域の全画素の輝度値を1次元のベクトルとして使用してもよい。また、特徴ベクトル生成部104は、背景技術で述べたEigen Faceと同様に、その領域の全画素の輝度値から求めた1次元のベクトルを、予め求めた固有空間に射影して得られる射影ベクトルを特徴ベクトルとしてもよい。
【0057】
ステップS205では、特徴ベクトル生成部104は、ステップ102で設定された全ての探索領域、つまり全ての基準探索領域で特徴ベクトルが得られているかを判断する。特徴ベクトル生成部104は、全ての探索領域で特徴ベクトルが得られていれば、特徴ベクトル登録ステップS206へ、得られていなければ、ステップS103へと処理を遷移させる。
【0058】
ステップS206では、特徴ベクトル生成部104は、全ての探索領域で得られた特徴ベクトルを、その登録画像の登録特徴ベクトルとして、登録特徴ベクトル保持部105に保持する。つまり、特徴ベクトル生成部104は、登録画像を示すもの、例えば画像番号と登録された登録特徴ベクトルとを関連付けて登録特徴ベクトル保持部105に保持する。
【0059】
以上で、ある1枚の登録顔画像の登録処理を終了する。登録画像が複数ある場合は、以上の処理を繰り返す。
【0060】
続いて、評価処理を説明する。図9は、評価処理の一例を示すフローチャートである。
【0061】
ステップS601では、顔器官特徴点検出部101は、登録処理と同様の処理を行う。
【0062】
ステップS602では、探索領域設定部102は、登録処理と同様に、ステップS601で求められた各特徴点とその特徴点を求めたときの確率分布とを使用して、探索領域を設定する。ただし、設定する探索領域が、登録処理とは異なる。以下で説明する。
【0063】
図10は、評価処理における探索領域の設定処理の一例を示すフローチャートである。
【0064】
ステップS701では、探索領域設定部102は、登録処理と同様に、ステップS601で求められた各特徴点と基準探索領域データ保持部110に保持されている基準探索領域データとを使用して、基準探索領域を設定する。ここで基準探索領域は、局所領域の中心点に一致する1点である。(すなわちサイズは1×1。)
【0065】
ステップS702では、探索領域設定部102は、ステップS601で特徴点を求めたときの特徴点の存在確率分布に関連する分布を使用して、探索領域のサイズを求める。サイズの求め方は後述する。
【0066】
ステップS703では、探索領域設定部102は、ステップS701で設定した基準探索領域のサイズを、ステップS702で求めたサイズに変更して、変更した領域を探索領域とする。
【0067】
以下、ステップS702における探索領域サイズ設定方法について説明する。
【0068】
登録処理の顔器官特徴検出処理で説明したように、特徴点の検出結果の値の分布は、その特徴の存在確率分布として考えることができる。すると、この分布の分散が小さければ、特徴点の存在位置を限定することが可能であり、逆に分散が大きければ、特徴点の存在位置を限定することは困難であるといえる。例えば、図4中の目尻E1を検出することを考えると、照明条件がよい画像であれば、目尻特徴の検出結果は、図11(A)に示すように、目尻付近に小さい分散で分布する。しかし、図11(B)に示すように、射光等により、目の付近に影801ができると、本当の目尻の他に、影と目との輪郭部分で誤検出を起こす場合がある。この場合、検出結果は、複数の山を持つ広がった分布802になる。登録処理で述べたように、特徴点をその分布の最大値の位置や重心とすると、図11(A)の状況では、特徴点はほぼ正しい位置となるが、図11(B)の状況では、誤った位置になることがある。例えば、特徴点位置を分布の重心とすると、図11(A)では、目尻の位置とほぼ等しい位置になる。それに対して図11(B)では、分布の重心は目尻よりも目の内部となり、正しい目尻の位置とは誤差が生じる。そしてその特徴点位置に基づいた基準局所領域のみで、評価処理を行うと対応していない領域で類似度を求めることになり、認識精度が劣化することになる。そこで、本実施形態では、特徴点検出結果の値の分布に従って、探索領域を設定し、その探索領域の中から、類似度を求める局所領域を複数設定して、それらの結果を用いて、その探索領域の代表類似度を求めるようにしている。
【0069】
特徴点検出結果の値の分布に従って、探索領域を設定する方法について説明する。図12は、特徴点検出結果の値の分布に従って、探索領域を設定する方法を模式的に示す図である。図12中、901は、検出結果の出力値の分布をあるしきい値で2値化した特徴点位置候補領域を示す。また、902は、ステップS601で求められた特徴点位置を示す。また、903は、特徴点位置候補領域の外接矩形を示す。前述のように、登録処理でも評価処理でも基準局所領域は、特徴点位置に基づいて設定される。したがって、基準となる特徴点位置に誤差があると、登録顔画像と評価顔画像との間で類似度を算出する際の局所領域の位置がずれて、対応した位置でない可能性がある。このずれは、特徴点検出の位置に起因するものであるため、特徴点検出位置が誤る可能性のある範囲の領域で類似度を算出すれば、誤差の影響を抑制することができる。
【0070】
そこで、探索領域設定部102は、特徴点位置候補領域901の領域を使用して、探索領域のサイズを設定する。より具体的に説明すると、探索領域設定部102は、特徴点位置候補領域901の領域に外接する外接矩形903を求め、この外接矩形903のサイズを探索領域のサイズとする。この処理が、ステップS702の処理に相当する。そして、探索領域設定部102は、ステップS701で設定した基準局所領域の中心と特徴点位置902との位置を合わせ、ステップS702で設定した探索領域のサイズの領域を探索領域として決定する。なお、探索領域設定部102は、探索領域を矩形とせずに、基準局所領域の中心と特徴点位置902の位置を合わせた後に、特徴点位置候補領域901の範囲を探索領域としてもよい。この処理はステップS703の処理に相当する。
【0071】
図9の説明に戻り、ステップS603で、特徴ベクトル生成領域設定部103は、探索領域から、特徴ベクトル生成領域を設定する。図13は、特徴ベクトル生成領域の設定を模式的に示す図である。図13(A)中、1001は探索領域を、1002は特徴ベクトル生成領域を示す。特徴ベクトル生成領域1002は、探索領域1001内から、順次一つずつ選択される。なお、図13(B)の1003は、ステップS602で得られた、特徴点位置候補領域を探索領域1003とした場合を示している。この場合、特徴ベクトル生成領域設定部103は、この領域内から順次、特徴ベクトル生成領域1004を設定する。
【0072】
図9の説明に戻り、ステップS604で、特徴ベクトル生成部104は、特徴ベクトル生成領域から、特徴ベクトルを生成する。特徴ベクトルの生成手法は、登録処理と同様である。
【0073】
次に、ステップS605で、類似度算出部106は、特徴ベクトル生成ステップS604で得られた特徴ベクトルと、登録特徴ベクトル保持部105に保持されている特徴ベクトルとの類似度を算出する。類似度算出部106は、類似度の算出に、例えば式(1)で示される正規化相関を使用する。式(1)中、Sが類似度を、FがステップS604で得られた特徴ベクトルを示し、F(i)はその特徴ベクトルのi番目の要素を示す。また、Gが登録特徴ベクトル保持部105に保持されている特徴ベクトルを示し、同様にG(i)がi番目の要素を示す。また、‖F‖は、ベクトルFのノルムを示す。
【0074】
【数1】

【0075】
なお、正規化相関は、類似度算出の一手法であり、類似度算出部106は、ベクトルの各要素の2乗誤差等のベクトルの距離を使用してもよい。また、登録特徴ベクトル保持部105に複数の登録顔画像から求めた特徴ベクトルが登録されている場合、類似度算出部106は、登録顔画像ごとの類似度を求めることになる。
【0076】
ステップS606では、類似度算出部106は、探索領域全域で特徴ベクトルを生成して、類似度を求めたかを判定する。全域で求めていなければ、類似度算出部106は、処理をステップS603に遷移させる。そして、特徴ベクトル生成領域設定部103は、探索領域内で次の特徴ベクトル生成領域を設定する。
【0077】
ステップS607では、代表類似度算出部107は、得られた複数の類似度から、その探索領域の代表類似度を算出する。算出方法は、特に限定しないが、複数の類似度中の最大類似度としてもよいし、所定数の上位の類似度の平均としてもよい。
【0078】
ステップS608では、代表類似度算出部107は、算出した代表類似度が、探索領域設定ステップS602で設定された全ての探索領域で得られているか、つまり、全ての局所領域の類似度が得られているかを判定する。得られていなければ、特徴ベクトル生成領域設定部103は、次の探索領域を選択し、その探索領域内で、ステップS603からの処理を行う。
【0079】
ステップS609では、代表類似度統合部108は、全ての探索領域、つまり全ての局所領域の類似度を統合して、入力された評価顔画像と1つの登録顔画像との統合代表類似度を算出する。統合代表類似度を算出方法は特に限定しないが、全ての代表類似度の平均を求めてもよいし、所定数の上位の類似度の平均としてもよい。なお、登録特徴ベクトル保持部105に複数の登録顔画像から求めた特徴ベクトルが登録されている場合、代表類似度統合部108は、複数の統合代表類似度を算出する。
【0080】
ステップS610では、判別部109は、ステップS609で得られた統合代表類似度を使用して、入力された評価顔画像の判別を行う。判別部109は、判別を、予め定められた所定のしきい値との比較で行い、統合代表類似度がそのしきい値以上の場合には、評価顔画像のIDを登録顔画像のIDとする。判別部109は、しきい値以下であれば、評価顔画像のIDは登録顔画像のIDでは無いとする。なお、登録特徴ベクトル保持部105に複数の登録顔画像から求めた特徴ベクトルが登録されている場合、複数の統合代表類似度が得られているので、判別部109は、その中から最大の統合代表類似度を選択する。更に判別部109は、その値が所定のしきい値を越えている場合に、評価顔画像のIDをその統合代表類似度の登録顔画像のIDとする。また、判別部109は、しきい値を越えていない場合、対応する評価顔画像のIDの顔画像は登録されていないこととする。
【0081】
なお、上記説明では、顔器官特徴検出手法として、Convolutional Neural Networkを使用して説明したが、本実施形態では、顔器官検出特徴の存在確率分布に相当する分布があればよく、上記の手法に限定されるものではない。例えば、検出対象の顔器官特徴のテンプレート(このテンプレートは例えば多数の顔器官特徴の平均画像から作成する)を使用してもよい。テンプレートを局所領域で移動させてマッチングをとることで得られるマッチングスコア(例えば相関値)は、その顔器官特徴の存在確率分布と考えることができる。
【0082】
なお、上記説明したように、登録処理では、基準局所領域を探索領域として設定したが、後述する評価処理と同様に、顔器官特徴検出の結果値の分布を使用して、基準局所領域を拡張して、探索領域を設定してもよい。この場合は、ある一つの探索領域に対して、複数の登録特徴ベクトルが得られる。したがって、ステップS605において、類似度算出部106は、複数の登録特徴ベクトルと入力顔画像の複数の特徴ベクトルとの全ての組み合わせで類似度を求める。そして、ステップS607で代表類似度算出部107が、代表類似度を求める際に、全ての組み合わせで求められた類似度を使用するようにする。
【0083】
以上、本実施形態によれば、局所領域の位置の設定の誤差が生じる原因に基づいて設定された領域内から得られた複数の局所領域を使用することにより、前述の精度劣化を抑制することができる。
【0084】
なお、本実施形態及び以降の実施形態2は、顔を判別する例を使用して説明するが、判別するパターンは顔に限らない。例えば、車や自転車等の一般物体等であってもよい。
【0085】
<実施形態2>
実施形態2は、実施形態1と比較して、顔器官特徴点検出部101の検出手法(検出処理)と探索領域設定部102の探索領域の設定手法(設定処理)が異なる。
【0086】
以下、本実施形態の、顔器官特徴検出手法と探索領域設定手法とに関して説明する。
【0087】
図14は、顔器官特徴検出処理の一例を示すフローチャートである。実施形態2の顔器官特徴検出は、実施形態1と同様の手法で、顔器官特徴点の第1の候補点を求めた後に、第1の候補点を使用して、第2の候補点を求め、その第2の候補点と第1の候補を求めたときの処理の結果を使用して、最終的に特徴点を検出するものである。
【0088】
ステップS1101で、顔器官特徴点検出部101は、実施形態1で示した方法等により、全ての顔器官特徴点検出を行う。顔器官特徴点検出部101は、この検出した結果を、第1の候補点とする。
【0089】
ステップS1102で、顔器官特徴点検出部101は、第1の候補点を使用して、顔器官特徴点の第2の候補点を求める。この求め方は後述する。
【0090】
ステップS1103で、顔器官特徴点検出部101は、顔器官特徴点の第2の候補点と、第1の候補点とを求めたときの処理の結果を使用して、最終的に顔器官特徴点を求める。この処理の内容は、後述する。
【0091】
図15は、ステップS1102の処理の概要を示す図である。
【0092】
図15中、1201は第1の候補点群を、1202は第2の候補点群を示す。つまり、顔器官特徴点検出部101は、第1の候補点の固有空間への射影とその射影ベクトルの逆射影とを使用して、第2の候補点を検出する。つまり、ここでは顔器官特徴点の各座標値から求めた固有空間を、顔器官特徴点の配置関係の知識として使用している。
【0093】
ここで使用する固有空間は、複数の教師データを基に予め算出されている。ここでは、この固有空間を正規直交行列Fで示す。
【0094】
この固有空間の作成方法について、説明する。ある1つの教師データは、1つの顔画像に存在する複数の顔器官特徴点の座標値をベクトル化したものである。座標ベクトルを、次式で表す。
【0095】
【数2】

【0096】
ここで、νは、l番目の画像において、p個の基準点より求められる座標ベクトルである。なお、教師データに使用する顔器官特徴点の座標は、人間が入力する等、正解が入っているものとする。
【0097】
以下、式(2)で表された座標ベクトルを用いて、使用する固有空間、すなわち正規直交行列Fを算出する方法について示す。なお、固有空間フィルタに使用する固有ベクトルは、主成分分析で求めるものとする。
【0098】
まず、顔器官特徴点検出部101は、式(2)で表される座標ベクトルを様々な顔画像から取得し、式(3)で示す分散・共分散行列Cを求める。ここでは、教師データが、q個存在した時を示している。
【0099】
【数3】

【0100】
式(3)中の、
【0101】
【数4】

【0102】
は、平均ベクトルで、式(4)で表される。
【0103】
【数5】

【0104】
一般に、分散・共分散行列をC、固有値行列をΛ、正規直交行列をGとすると、これらは、以下の式(5)を満足することが知られている。そこで、顔器官特徴点検出部101は、この式(5)の固有値問題を解く事により、正規直交行列Gを求めることができる。
CG=GΛ (5)
【0105】
顔器官特徴点検出部101は、この正規直交行列Gに対して、固有値の累積寄与率を用いて、固有ベクトルを上位から例えばk個を選択し、固有空間に使用する正規直交行列Fを作成する。つまり式(5)で求められた各固有ベクトルの寄与度は固有値で計測することができ、その値に基づいて、重要な固有ベクトルで正規直交行列Fを作成することにより、この正規直交行列Fで示される固有空間は顔器官特徴点の一般的な配置関係を表すことができる。
【0106】
続いて、実際の動作を説明する。
【0107】
第1の候補を表すベクトルをdとする。例えば、図15に示すように、第1の候補点を、左右の目の目尻と目頭、鼻、口の両端点の7点とすると、このベクトルdの次元は14次元(=7*2)である。次に、顔器官特徴点検出部101は、このベクトルdを、固有空間に射影する。射影ベクトルをd*とすると、その次元は、k(<d)次元となる。続いて、顔器官特徴点検出部101は、次元削減された射影ベクトルd*を、逆射影により元の画像空間の座標値に変換する。逆射影に使用する行列は、固有空間Fの擬似逆行列により求められる。この逆射影されたベクトルをd^とすると、d^ベクトルの次元は、14次元であり、このベクトルの各要素で示される各座標値が、顔器官特徴点の第2の候補点の座標値となる。
【0108】
続いて、最終特徴点検出処理について説明する。図16は、最終特徴点検出処理を、目尻の検出を例に模式的に示す図である。図16(A)中の1301は第1の候補点を、1302は第2の候補点を、1304は最終特徴点検出処理で使用する検出結果の出力値分布の領域を示す。また、図16(B)中の、1303は、第1の候補点を求めた結果の出力値の分布を、1304は、最終特徴点検出処理で使用する検出結果の出力値分布の領域を示す。
【0109】
実施形態1では、目尻の付近に誤検出が出ることを説明したが、例えば、目尻と眉との端点の形状は似ているため、目尻検出の際に、眉が誤検出されることもある。このときの、出力値の分布が図16の1303である。この出力値の分布の重心を求めた結果が、第1の候補1301である。つまり、目尻の周囲の他に、眉の端点の周囲にも出力値が高い分布があるため、重心位置が、目尻と眉との端点の中間に存在する。この座標に対して、上記の固有空間を使用して求めた第2の候補点が、1302である。図16には図示の、目頭や口等の他の第1の候補点との配置関係を使用して求めた第2の候補点は、目尻により近い値になっている。ただし、この第2の候補点は、簡単に言うと、多数のデータの平均の分布のようなものであり、個々のデータの正解を示すものではない。つまり、大きく外れた異常値をそれなりに補正することはできるが、正確な値を保障するものではない。ただし、特徴点が、その第2の候補点の近傍に位置すると考えることはできる。
【0110】
そこで、顔器官特徴点検出部101は、第2の候補点1302を中心とする近傍1304で、第1の候補点を求めた結果の出力値の分布1303の重心又は最大値を求めて、その値を、最終の特徴点位置とする。この近傍のサイズは、誤差を解析して求めた固定値でもよいし、例えば、第1の候補点と第2の候補点との距離を使用してもよい。
【0111】
以上で、実施形態2の特徴点検出処理の説明を終了する。
【0112】
続いて、探索領域設定処理について説明する。なお、この探索領域設定は、実施形態1の評価処理における設定を変更するものとして説明する。つまり、登録処理は、実施形態1と同様に基本局所領域とする。ただし、登録処理における探索領域設定も以下に説明するように基本局所領域より広い範囲で設定することで、登録顔画像から特徴ベクトルを複数作成するようにしてもよい。
【0113】
図17は、探索領域設定処理を、目尻の検出を例に模式的に示す図である。図17中、1401は顔器官特徴点検出処理の第2の候補点を、1402は顔器官特徴点検出処理で求められた特徴点位置を、1403は探索範囲のサイズを示す矩形を、1404は第2の候補点と特徴点位置の距離を半径とする円とを示す。
【0114】
顔器官特徴点検出処理においても説明したように、第2の候補点は、多数のデータと第1の候補点との配置関係から推定される顔器官特徴点の位置で、この配置関係における平均的な位置を示している。また、最終的な特徴点の位置は、実施形態1同様に、検出結果の出力分布から求めているため、上記説明した方法で特徴点位置を求めたとして、その結果には誤差が生じる。そこで、顔器官特徴点検出部101は、探索領域の範囲を、この第2の候補点の位置と、最終的に求めた特徴点位置とのずれを基準に設定する。
【0115】
つまり、顔器官特徴点検出部101は、第2の候補点と特徴点位置の距離を半径とする円1404に外接する矩形とを求めて、この矩形を探索領域のサイズとして設定する。このサイズを示す矩形を1403に示す。
【0116】
また、図18に示すように、顔器官特徴点検出部101は、この矩形1403と、実施形態1で説明した特徴点検出の出力値分布をしきい値で2値化した領域とのANDの領域1501を探索領域のマスクとして使用してもよい。図18は、探索範囲を説明するための図である。探索領域の設定については、実施形態1と同様であるので省略する。
【0117】
以上、実施形態2によれば、顔器官特徴点位置に関して多数のデータと最初に求めた各特徴点位置の分布から推定される位置を求め、その推定される位置と2回目に求めた特徴点位置との関係から、探索範囲を設定する。このことにより、探索領域を限定することが可能となり、処理時間の増加を更に抑えることができる。
【0118】
なお、実施形態1と実施形態2とでは、評価処理において、入力顔画像に対する顔器官特徴点検出結果を使用して、探索領域を設定していた。リアルタイム性を要求されるような場合では、評価顔画像に対する探索領域の設定は、基本局所領域とし、登録処理において、探索領域を基本局所領域よりも広い範囲で設定するようにしてもよい。このようにすると入力顔画像に対して探索領域を行うとその探索領域を求めるための処理が発生して処理時間が増加するが登録処理は予め行っておくため登録顔画像に対して探索領域を求める処理による処理時間の増加の影響は実質的には発生しない効果がある。
【0119】
また、登録画像の探索範囲のサイズは、登録画像のみに対する顔器官特徴点検出結果の出力値の分布や固有空間補正の結果だけではなく、固定値とすることもできる。予め多数のデータに対して顔器官特徴点検出結果の出力値の分布や固有空間補正の結果を使用して探索範囲のサイズを求めておき、その平均値等を固定値の探索範囲のサイズとして使用する。この場合、登録画像に対する探索領域のサイズを求めるという処理も省略できる。
【0120】
また、顔の奥行き回転によって、顔器官特徴点検出結果の出力値の分布や固有空間補正の結果は影響を受ける。そのため、顔向き毎に、予め多数のデータに対して顔器官特徴点検出結果の出力値の分布や固有空間補正の結果を使用して求めた探索範囲のサイズを保持しておく。そして、登録顔画像や入力顔画像に対して、顔の奥行き回転を求める処理を行い、検出された顔向きに従って、固定値の探索範囲サイズを選択するようにすることができる。こうすることで、固定値を使用した場合でも、顔向きの変動に対応できる。
【0121】
以上、上述したように、探索領域を設定し、その探索領域内の複数の局所領域を使用して求めた複数の類似度から代表類似度を求め、その代表類似度を、入力パターンと登録パターンとの探索領域間の類似度として使用する。このことで、特徴点の検出に誤差が生じた場合でも、認識精度が低下することを抑止する効果がある。また、顔器官の特徴点検出の誤差に関連するパラメータを使用して、探索領域を設定することで、演算負荷の増加を最小限に抑止しながら、認識精度を向上させるという効果がある。
【0122】
<実施形態3>
実施形態3では、基準局所領域に対する複数の変動局所領域として、位置ではなく形状の変形を与える。以下、実施形態1及び2と同様に顔認識処理への適用について説明する。
【0123】
図19は、本実施形態の構成を示す図である。同図において、図2と同一付番の構成は、同様の機能を有する。また、基準局所領域設定部1802、変動局所領域生成部1803、基準局諸領域データ保持部1810、変動パラメータ保持部1811は、図2の構成とは異なる部分である。
【0124】
基準局所領域設定部1802は、顔器官特徴点検出部101の出力に基づいて、入力された顔画像中に基準局所領域を設定する。ここでの処理は、実施形態1における登録処理時の基準探索領域設定と同等であり、所定サイズ矩形の基準となる局所領域の中心位置を、顔景観特徴点検出部101より検出された各特徴点からの変位に基づき設定する。
【0125】
基準局所領域データ保持部1810は、基準局所領域設定部1802で用いられる基準局所領域を設定するための特徴点種別や変位量および局所領域サイズといった情報を保持している。変動局所領域生成部1803は、各基準局所領域に対応する複数の変動局所領域を生成する。変動局所領域の生成方法については後述する。変動パラメータ保持部1811は、変動局所領域生成部1803で使用する変動パラメータを保持する。
【0126】
続いて、図20および図21のフローチャートを使用して、本実施形態の判別処理動作と図19の各構成要素について説明する。尚、図19では図2と同様に、破線は登録処理を、実線は評価処理を示している。
【0127】
〔登録処理〕
図20は登録処理のフローチャートであり、実施形態1における図3に相当する。
【0128】
ステップS1901の顔器官特徴点検出は、図3におけるステップS201と全く同等であるので詳細な説明は割愛する。
【0129】
ステップS1902の基準局所領域設定は、図3におけるステップS202の探索領域設定に相当する。先述のステップS202では、図8(a)に示した基準探索領域と一致する複数の基準局所領域を設定し、探索領域を基準局所領域そのもの(つまり各基準局所領域の中心位置1箇所が探索領域)としていた。ステップS1902では、基準局所領域設定までの処理をステップS202と同様に行う。ここで基準局所領域の中心位置を定めるための特徴点の種別と変位量、および基準局所領域のサイズは、図2の基準探索領域データ保持部110に相当する、基準局所領域データ保持部1810に保持されている。
【0130】
本実施形態においては、登録処理時には基準局所領域を変動させずにそのまま用いる。つまり基準局所領域がそのまま実施形態1における特徴ベクトル生成領域として取り扱われる。このとき変動局所領域生成部1803はスルーされる。
【0131】
次の特徴ベクトル生成ステップS1903は、図3におけるステップS204と同等の処理を、基準局所領域に対して実行する。実施形態1と同様に、その領域の全画素の輝度値を1次元のベクトルとして使用してもよいし、同ベクトルを予め求めた固有空間に射影して得られる射影ベクトルを特徴ベクトルとしてもよい。すなわち図19の特徴ベクトル生成部104は図2のものと同等である。
【0132】
ステップS1904では、ステップS205と同様に、ステップS1902で設定された複数個所全ての基準局所領域に対応する特徴ベクトルが得られているかを判断する。全ての基準局所領域に対応する特徴ベクトルが得られていれば、特徴ベクトル登録ステップS1905へ進み、得られていなければ、ステップS1903の処理を繰り返す。
【0133】
ステップS1905では、ステップS206と同様、全ての基準局所領域に対応する特徴ベクトル一式を、その登録画像の登録特徴ベクトルとして、登録特徴ベクトル保持部105に登録する。
【0134】
以上が本実施形態における1枚の登録顔画像に対する登録処理である。登録画像が複数ある場合は、実施形態1と同様に以上の処理を繰り返す。
【0135】
〔評価処理フロー〕
続いて評価処理を説明する。図21は本実施形態における評価処理フローチャートを示しており、実施形態1における図9に相当する。
【0136】
ステップS2001における顔器官特徴点検出は、ステップS1901及びステップS601と同等である。ステップS2002における基準局所領域設定は、ステップS1902と同等である。ここで評価顔画像上に複数の基準局所領域が設定される。
【0137】
ステップS2003は基準局所領域毎の処理ループの先頭である。ここでは基準局所領域に対応する複数の変動局所領域を生成するための変動パラメータの範囲を、変動パラメータ保持部1811に保持されているパラメータを参照して決定する。詳細については後述する。
【0138】
ステップS2004の変動局所領域生成は、実施形態1におけるステップS603の特徴ベクトル生成領域設定に相当する処理である。ステップS603では、先述の通り、基準局所領域と同サイズの領域画像を探索範囲内の各位置から切り出す。これに対し、ステップS2004では、変動範囲の変動パラメータ1組を選択し、これに基づき基準局所領域の近傍の画素を参照して基準局所領域と同サイズの画像を変動局所領域パターンとして生成する。詳細は後述する。
【0139】
続くステップS2005では、登録処理におけるステップS1903と同等の処理を変動局所領域パターンの画像に対して行い、特徴ベクトルを生成する。
【0140】
ステップS2006は、実施形態1におけるステップS605と同等の類似度算出を行う。すなわち、ステップS2005で得られた変動局所領域パターンの特徴ベクトルと、登録特徴ベクトル保持部105に保持されている対応する基準局所領域の特徴ベクトルとの類似度を算出する。類似度の算出方法は実施形態1と同様である。
【0141】
ステップS2007では、ステップS2003で設定した変動範囲の、処理中の基準局所領域に対応する全変動局所領域に対する類似度の算出が完了したか否かを判別する。完了していなければステップS2004より次の変動局所領域に対する処理を開始する。
【0142】
代表類似度算出ステップS2008は、実施形態1におけるステップS607に相当する。すなわち基準局所領域に対して得られた複数の変動局所領域パターンの類似度から、代表類似度を算出する。算出方法は実施形態1と同じく特に限定せず、最大類似度選択でも良いし上位類似度の平均としても良い。
【0143】
ステップS2009では、ステップS608と同様、上記の代表類似度が全ての基準局所領域に対して算出されているか(すなわち評価顔画像上の全基準局所領域に対する処理が完了しているか)を判定する。算出されていなければ、ステップS2003に戻って次の基準局所領域に対する処理を行う。
【0144】
ステップS2010では、実施形態1のステップS609と同等の代表類似度統合処理を行い、続くステップS2011ではステップS610と同等の判別処理を行う。
【0145】
〔拡大・縮小変動処理〕
続いて、ステップS2003のパラメータの変動範囲決定方法及びステップS2004の変動局所領域パターンの生成方法の一例について以下に説明する。図22は、変動処理として領域中心位置を固定した変倍処理(拡大・縮小)を行う場合を説明する図である。
【0146】
図22の(a)は、ある人物の登録顔画像の一部を示している。この顔画像は、特徴点E1〜E4に基づき、両目が所定の位置となるように正規化されている。(E1、E2の中点が向かって左の目位置、E3、E4の中点が向かって右の目位置とする。)ここで2101は、特徴点E3に基づき、中心位置の変位量dw,dhが共に0として設定された基準局所領域である。先述の通り、登録処理で、この基準局所領域に基づく特徴ベクトルが生成され、顔画像(a)に対応する登録特徴ベクトルの一部として登録特徴ベクトル保持部105に保持されている。
【0147】
図22の(b)は、顔画像(a)と同一人物の顔画像の一部を示している。この評価顔画像は、登録顔画像と同様にE1〜E4に基づき正規化されている。領域2102(点線矩形)は、登録顔画像の基準局所領域2101に対応する、評価顔画像(b)上の特徴点E3に基づく基準局所領域であり、2103は同領域を中心位置固定のままサイズダウンした領域の一例を示している。
【0148】
ここで、評価顔画像上に検出された特徴点E1、E2、E4は、誤検出により位置ずれを起こしているため、正規化後の顔画像(b)は、登録顔画像(a)より若干小さくなってしまっている。従って、登録顔画像(a)上の基準局所領域2101から生成した特徴ベクトルと、評価顔画像(b)上の基準局所領域2102から生成した特徴ベクトルとの一致度はあまり高くならない。2201との一致度が高いのは、(b)上のより狭い領域2103から生成した特徴ベクトルとなる。
【0149】
一般に、特徴点の検出位置がずれているか否か、あるいはどの方向にどの程度ずれているかを判別するのは非常に困難である(そもそも判別できるならば、特徴点の位置自体を修正すればよい。)。従って、一つの基準局所領域に対し、考えられ得る複数の変動局所領域を生成する。各基準局所領域に対して、この複数の変動パラメータの組を決定するのがステップS2003の変動範囲決定処理である。各基準局所領域に対応する変動範囲は、予め多数のサンプル顔画像により統計的に学習されて、変動パラメータ保持部1811に保持されている。ステップS2003では、処理中の基準局所領域に対応する変動範囲の複数の変動パラメータを選択する。
【0150】
図22(c)は、同図の評価顔画像(b)の、向かって右の目の部分を拡大した図である。ここでは、特徴点E3に基づき設定された基準局所領域2201(=2102)に対応する、複数の変動局所領域(より正確には変動局所領域を生成する際に参照する画素領域)を示している。先に述べたとおり、ここでは中心位置を固定した拡大・縮小処理を変動処理としているので、変動パラメータは拡大率で表される。基準局所領域2201の変動範囲は、[0.8,0.9,1.0,1.1,1.2〕の5つの拡大率の変動パラメータとして設定されている。
【0151】
領域2206は拡大率1.2の変動局所領域パターン画像を生成するための参照領域を示しており、当該参照領域の画像を1.2倍すると基準局所領域2201と同サイズの画像が生成できる。同様に、領域2205は拡大率1.1倍に、領域2201は拡大率1.0倍(つまり変倍無し)に、領域2202は拡大率0.9倍(すなわち縮小)に、領域2204は拡大率0.8倍に対応する参照領域を示している。
【0152】
尚、先に述べたCNNのように、特徴点検出時の信頼度が計算できる場合には、信頼度に基づき変動範囲を設定することも可能である。例えば、E1〜E4の目に関する特徴点全ての信頼度が十分に高ければ、図22の(b)に相当する正規化された評価顔画像は(a)の正規化された登録顔画像とあまり変わらない大きさになると考えられる。この場合、変動範囲を例えば[0.9,1.0,1.1]の3つの変動パラメータに絞り込むようにしてもよい。
【0153】
ステップS2004では、このように決定した範囲の変動パラメータを、順に1組ずつ選択して、対応する基準局所領域の近傍の参照領域内の画像から、変動局所領域パターン画像を生成する。このとき算出すべき値は、変動局所領域パターン画像の全画素値である。これは、基準局所領域の近傍の参照領域内の画素を参照して、次のように計算する。
【0154】
まず、変動局所領域パターンの各画素の座標値に対応する参照領域内座標を計算する。領域中心点を原点(0,0)として、各点の座標(x,y)に対して対応する拡大率(=cとする)を除算した(x/c, y/c)が参照領域内の対応点座標となる。
【0155】
このとき、参照領域内の対応点の座標は通常実数となるので、同領域内の近傍4画素を参照し、距離の近さに応じてバイリニア補間すれば、変動局所領域パターン画像の各画素値を計算することができる。尚、画素値の決定については他の計算方法、例えば対応点座標の最近傍画素値や、あるいは周辺16画素を参照するバイキュービック補間を適用しても構わない。
【0156】
〔回転変動処理〕
変動処理として、回転処理を行うと良い場合も存在する。図23は、変動処理として領域中心位置を固定した回転処理を行う場合を説明する図である。
【0157】
図23(a)は、図22(a)と同じある人物の正規化された登録顔画像の一部を示している。ここで2301は特徴点E3に基づき設定された基準局所領域である。
【0158】
また、図23(b)は、図22(b)とは別の、登録顔画像(a)と同一人物の評価顔画像の一部を示している。ここでE1、E2およびE4は図に示すように誤検出されているため、評価顔画像の両目間線分は、水平よりも傾いた状態となって正規化されている。このような場合、位置ずれしていない特徴点E3より設定される基準局所領域2302(点線矩形)から生成される特徴ベクトルは、基準局所領域2301から生成されて登録されている特徴ベクトルとあまり一致しない。それよりも右に10度程傾いた矩形領域2303(実線矩形)から生成された特徴ベクトルの方が一致度が高くなる。このような場合には、変動処理として回転処理を行うと、同一人物の領域間類似度が向上し、識別率の向上が見込める。
【0159】
図23(c)は、同図の評価顔画像(b)の、向かって右の目の部分を拡大した図である。ここでは、図22(c)と同様に、特徴点E3に基づき設定された基準局所領域2401(=2302)に対応する、複数の変動局所領域を生成する際に参照する画素領域を示している。中心位置を固定した左右回転処理を変動処理としているので、変動パラメータは回転角度で表される。基準局所領域2401の変動範囲は、[−20°,−10°,0°,+10°,+20°〕の5つの回転角度の変動パラメータとして設定されている。ここでマイナス角度方向は左回転を示し、プラス角度方向は右回転を示している。
【0160】
領域2406は回転角度−20°の変動局所領域パターン画像を生成するための参照領域を示しており、当該参照領域の画像を左回転することにより、変倍処理時と同様、基準局所領域2401と同サイズの画像が生成できる。同様に、領域2405は回転角度−10°に、領域2401は回転角度0°(つまり回転無し)に、領域2402は回転角度+10°(右回転)に、領域2404は回転角度+20°に対応する参照領域を示している。もちろん変倍処理時と同様に、特徴点検出時の信頼度に基づき変動範囲を限定することも可能である。
【0161】
回転処理して変動局所領域パターン画像を生成する方法も、変倍処理の場合と同様に行うことができる。すなわち変動局所領域パターン画像の各点の座標を、領域中心点を回転中心として、変動パラメータの回転角度r°に対し−r°の逆回転を行った位置を計算すれば、対応する参照領域内の座標点が示される。この対応点座標も、変倍処理時と同じく、通常実数値となり、同様の補間処理を行って画素値を計算することができる。
【0162】
〔アフィン変換〕
図24は、さらに別の変動処理の例を示す図である。図24の(a)は、登録顔画像の一部を示しており、特徴点M1に基づき設定された基準局所領域が2301である。図24の(b)は、(a)と同一人物の評価顔画像の一部を示しているが、正面向きの(a)に対し若干左側を向いた顔の画像である。
【0163】
このような場合、評価顔画像上における特徴点M1が、図に示すように誤検出していなかったとしても、基準局所領域2302から生成した特徴ベクトルと、登録顔画像(a)の基準局所領域2301から生成した特徴ベクトルとの一致度が低くなる場合がある。このような場合、2303に示すような菱形の参照領域画像を、基準局所領域と同サイズ矩形に変形させるような変動処理を行うと、一致度を向上させることができる。
【0164】
このような変動処理は、以下の式(6)に示されるアフィン変換により行うことができる。
【0165】
【数6】

【0166】
ここで(x,y)は、変動局所領域パターン画像の各画素の座標を表し、(x’,y’)は各画素に対応する参照領域内の対応点座標を表す。6つのパラメータa1,a2,a3,b1,b2,b3をアフィン・パラメータという。尚、対応点座標から画素値を計算する方法は、変倍処理や回転処理と同様である。
【0167】
また、変動処理としてアフィン変換を用いる場合、菱形変形のみならず、実施形態1で説明した基準局所領域の移動処理、および本実施形態で説明した変倍処理や回転処理を、全て組み合わせて包含することが可能である。
【0168】
変動処理としてアフィン変換を利用する場合は、変動範囲はアフィン・パラメータの組を変動数分設定することになる。基準局所領域内の画像をそのまま変動局所領域パターン画像とする変動無しの場合のアフィン・パラメータは、a1=1,a2=0,a3=0,b1=0,b2=1,b3=0(すなわち(x’,y’)=(x,y)となる)である。従って、変動値Δa1,Δa2,Δa3,Δb1,Δb2,Δb3それぞれを独立に、所定範囲の正負の小数値(例えば−0.1〜+0.1)の間を所定ステップ(例えば0.1)感覚で振って、
【0169】
【数7】

【0170】
で表される複数の組のアフィン・パラメータを設定すれば、基準局所領域を中心として各種微少な組合せ変動を行う変動範囲を設定することができる。各変動値を、−0.1〜+0.1の範囲で、0.1刻みで振るとすると、6個の各変動値に付き3通り、従って3の6乗=729通りの変動パラメータが設定されることになる。同範囲を0.05刻みで振るとすると、各変動値に付き5通りであるから、5の6乗=15625通りとなる。図24(c)には、このようにして設定したアフィン・パラメータによるアフィン変換処理を行う場合の、各変動に対応する参照領域の一例を示している。
【0171】
多数のサンプル画像を用いて事前に統計的な調査を行っておくことにより、変動させる値を選択するようにすることもできる。例えば、水平方向にはずれ易いが垂直方向にはずれ難い特徴点が存在する場合、その特徴点に基づく局所領域は、垂直方向の移動は行わなくとも類似度の向上には影響が出にくい。このような場合には、垂直方向の移動パラメータであるΔa3は0に固定することができる。
【0172】
〔その他〕
顔向きや表情が変わる場合、図24に示したような菱形ではなく、台形の参照領域からの変形処理を変動処理とした方が良好な類似度を得られる場合もある。このような場合、アフィン変換ではなく次式(8)で表される共一次変換(擬似アフィン変換)による変形を行えばよい。
【0173】
【数8】

【0174】
変動範囲の設定は、アフィン変換の場合と同様に行うことができる。あるいは周辺画素を参照して行う他の任意の変動処理に対しても、本発明を適用可能であることは言うまでもない。
【0175】
また、本実施形態では、評価処理時に変動処理を行っていたが、実施形態1と同様、登録処理において変動処理を行うようにしても構わない。このようにすると、登録特徴ベクトルのデータ量は変動範囲分増加することになるが、評価処理時に変動処理を行う必要が無くなり処理速度を向上させることが可能となる。
【0176】
<実施形態4>
全ての基準局所領域に対し、想定される全ての変動処理を行って多数の変動局所領域を生成すると、その処理負荷は極めて大きなものとなる。本実施形態では、各基準局所領域に対する変動範囲を限定して処理負荷を低減する方法について説明する。
【0177】
図25(a)はある登録顔画像の一部を示している。領域2701、2702、2703は、それぞれ特徴点E1, E4, M2に基づき設定される基準局所領域を示し、それぞれの領域から生成された特徴ベクトルが、登録特徴ベクトルとして保持されている。
【0178】
図25(b)は(a)の登録顔画像と同一人物の評価顔画像の一例を示している。この評価顔画像は、正面より少し左側を向いた顔画像である。ここで各基準局所領域に対応する代表類似度の算出は、領域2701、2702、2703の順に行われるものとする。また、このとき各特徴点は十分正確に検出されているものとする(信頼度高)。
【0179】
破線枠の領域2704は、基準局所領域2701に対応する評価顔画像上の基準局所領域であるが、代表類似度として選択された最も一致する変動局所領域パターンは、2705の実線枠で示す領域を参照画素領域とする拡大処理された変動局所領域パターンである。
【0180】
また、破線枠領域2706は、基準局所領域2702に対応する評価顔画像上の基準局所領域であるが、代表類似度として選択された最も一致する変動局所領域は、2707の実線枠で示す領域を参照画素領域とする縮小処理された変動局所領域パターンである。
【0181】
以上の処理は、実施形態3で説明した変倍処理あるいはアフィン変換処理を適用して行われる。
【0182】
次に基準局所領域2703に対応する代表類似度の算出を行う。このとき対応する評価顔画像上の基準局所領域は2708の破線枠であるが、類似度が最も高くなるのは2709の実線枠を参照画素領域とする菱形のアフィン変換処理を行った変動局所領域パターンとなる。
【0183】
人物の顔の形状は基本的に類似しているため、向きや表情等、同一の変動が与えられた場合には、各領域の変動の傾向は一般的に似ている。図25(b)の評価画像は、左側を向いているため、向かって左側の目尻E1付近の局所領域は小さくなり、向かって右側の目尻E4付近の局所領域は大きくなる。基準局所領域2701の代表類似度が拡大処理された2705に基づく類似度となり、基準局所領域2702の代表類似度が縮小処理された2707に基づく類似度となったことから、評価顔画像(b)は左を向いていることが類推できる。すなわち基準領域2703に対応する変動領域は、2709に示したような菱形のアフィン変換処理を中心として行うように限定することが可能となる。また、2709付近に別の基準領域が存在するならば、それらの領域も同様の変動範囲を設定してやればよい。
【0184】
この例では、変動属性を左向きと類推できる例を示したが、明示的に言葉で表せる属性でなくとももちろん構わない。各領域が事前に代表類似度算出した領域の変動に基づき、如何なる変動範囲を取り得るかは、事前に多数の学習サンプルを用いて統計的に学習しておき、学習結果に基づく変動範囲限定情報を、変動パラメータ保持部1811に保持しておくようにしている。
【0185】
以上のように、代表類似度算出済みの基準局所領域が合致した変動に基づき、変動範囲を限定してゆくことで、後に処理する基準局所領域ほど処理負荷を低減できるようになる。
【0186】
<実施形態5>
さらに積極的に、顔の局所領域形状に影響を及ぼす変動属性判別を事前に行うようにすることにより、各基準局所領域の変動範囲を限定するようにすることも可能である。
【0187】
図26は、顔に変動を及ぼす属性を判別する場合の実施形態の構成を示す。実施形態3で説明した構成と比較すると、顔器官特徴点検出部101と基準局所領域設定部1802の間に、変動属性判別部2801が挿入されている。
【0188】
変動属性判別部2801は、顔向きや表情の種類等、顔の見え方に影響を及ぼす変動属性を判別する。変動属性判別部2801は、顔器官特徴点検出部101により検出された各特徴点の位置情報と、顔器官特徴点検出部101に入力された顔画像自体も、入力として用いることができる。本実施形態では、顔向きを主たる変動属性としており、属性判別処理には、例えば非特許文献5に開示されている各種技術を用いることができる。尚、ここでは正面向き(および無表情)を変動無しの基本顔画像とし、左右上下方向の顔(や笑顔等の表情)を変動有りの顔画像として判別する。変動有りの属性は複数あってももちろんかまわない。
【0189】
基準局所領域設定部1802は、変動無しの基本顔画像に対応する基準局所領域を設定する。本実施形態において、基準局所領域は、実施形態3と同様、顔期間特徴点検出部101で検出された特徴点に応じて位置が定められる所定サイズの矩形である。入力された顔画像が変動有りの属性である場合は、基準局所領域の位置情報は、変動局所領域パターンを生成するための参照画素領域を示すための基準位置として用いられる。
【0190】
変動局所領域生成部1803は、実施形態3と異なり登録処理時においても変動局所領域パターン画像を生成する。このとき生成される変動局所領域パターンは、基準局所領域毎に1つずつである。特定変動に対する各局所領域の変動パラメータは、例えば非特許文献6に開示される技術を用いて、無変動顔と特定変動顔の同一人物のペア画像の多数のサンプルを用いて、事前に学習しておくことが可能である。非特許文献6では、特定の顔向き変動属性に対応する局所領域毎のアフィン・パラメータを学習しており、本実施形態はこれを踏襲している。
【0191】
ここで推定された変動パラメータは、基準変動パラメータとなり、登録処理時には、各局所領域で基準変動パラメータに基づく変動処理を行い生成した変動局所領域パターン画像を用いて、登録特徴ベクトルを生成する。
【0192】
評価処理の場合、変動属性に基づき定められた基準変動パラメータに対し、式(7)で説明したような変動値を加えることにより、変動範囲を設定する。すなわち基準変動パラメータが式(6)で表されるとすると、変動範囲は次式(9)の変動値Δa1,Δa2,Δa3,Δb1,Δb2,Δb3を所定範囲で所定幅で振った組合せで表される複数のアフィン・パラメータとなる。
【0193】
【数9】

【0194】
このように顔の変動属性が判別可能な場合は、合致する可能性の高い変動パラメータの近傍のみを変動範囲とすることにより、変動局所領域パターンを生成する負荷を限定しつつ、良好な判別を行うことが可能となる。
【0195】
尚、アフィン変換に限らず、実施形態3と同様、共一次変換や他の任意の変動処理に対して、本実施形態と同様の手法を適用することが可能であるのは言うまでもない。また、本実施形態では、評価処理時に基準変動パラメータ以外の複数の変動処理を行うものとして説明したが、登録処理時に複数変動処理を行うようにしても良いのは実施形態3と同様である。さらに、実施形態4と同様、すでに処理済みの基準局所領域に対する変動パラメータに基づき、これから処理する基準局所領域の変動範囲を限定してゆくことももちろん可能である。
【0196】
<実施形態6>
本発明は顔認識処理に限らない他のパターン判別処理にも広く適用可能である。実施形態6としては、検出対象物である特定部品の位置および姿勢を画像中より検出する検出処理に対して、本発明を適用する例を説明する。
【0197】
図29は、本実施形態のパターン検出処理装置が検出対象物とするある機械部品の一例である。この機械部品は、回転変動部3101と他の無変動部より構成されている。回転変動3101は自由に回転するため、この部品の見え方は、図29の(a)だけでなく、例えば(b)や(c)のように変動する。
【0198】
図28は本実施形態のパターン検出処理装置の構成を示す図である。図の中で、2901は前処理部を、2902は部分領域選択部を、2903は変動テンプレート生成部を、2904はスキャン部を、2905は投票部を、2906は対象物検出部を示す。また、2907は基準テンプレート保持部を、2908は変動パラメータ保持部を示す。
【0199】
前処理部2901は、続くテンプレートとのマッチング処理に適した状態に入力画像を処理する。ここでは例えば、フィルタ演算によるエッジ抽出処理等を行う。
【0200】
部分領域選択部2902は、検出対象部品上に設定されている複数の一部領域の中から一つを選択し、基準部分領域テンプレート保持部2907に保持されている当該領域に対応する基準部分領域テンプレートを選択して設定する。ここで基準部分領域テンプレートとは、検出対象物の所定の局所領域の画像パターンである基準局所領域パターンを検出するためのテンプレートである。このテンプレートは検出処理に先立ち、予め登録用の部品画像から切り出して基準部分領域テンプレート保持部2907(すなわち基準局所領域パターン保持手段)に記憶されている。
【0201】
変動テンプレート生成部2903は、選択された基準部分領域テンプレートが検出対象部品の変動部分である場合に、所定の変動範囲に基づき、複数の変動テンプレートを生成する。
【0202】
スキャン部2904とは、すなわち局所領域パターン検出部である。処理対象画像に対して、変動テンプレートと同サイズのサブウィンドウをスキャンさせて、変動テンプレートに合致する部分が検出された場合にはその位置を出力する。
【0203】
投票部2905は、内部に部品の各姿勢に応じた投票平面を持ち、スキャン部2904より得られた変動テンプレートと合致する位置情報に基づき、相対的な部品の中心位置に対応する投票平面上の位置に投票を行う。すなわち、各姿勢に対応する投票平面は、入力画像全域に対応する二次元ヒストグラムである。
【0204】
対象物検出部2906は、各投票平面のヒストグラム・ビンから閾値以上のものを探索して対応する姿勢の検出対象部品が、ビンに対応する入力画像上の位置に存在することを検出する。
【0205】
続いて図29のフローチャートを使用して、本実施形態の部品検出処理動作を説明する。
【0206】
ステップS3001では、前処理部2901により検出処理に適した状態に入力画像を変換する。本実施形態では、エッジ画像を対象部品の部分テンプレートとして使用するため、ここではエッジ抽出を行う。以後の処理は入力画像を変換したエッジ抽出画像に対して行われる。
【0207】
ステップS3002は、部分領域選択部2902により行われる部分領域テンプレート選択処理であり、まず、検出対象部分の一部分に対応する予め設定されている複数の部分領域の内の一つを選択する。部分領域とは、例えば図29(d)に示す3201や3202の枠内に対応する部分であり、他に不図示の部分領域も存在する。そして、基準部分領域テンプレート保持部2907に保持されている当該部分領域に対応する基準部分領域テンプレートを選択して設定する。本実施形態においては、この基準部分領域テンプレートはエッジ画像である。
【0208】
続くステップS3003では、選択された基準部分領域が変動部分であるか否かを判別する。図29(d)においては、3201が回転変動を行う部分であるので変動部分、3202は特に変形しない部分であるため非変動部分である。変動部分か否かの情報は、部分領域毎に属性として保持されている。変動部分でない場合には、ステップS3005に進み、基準部分領域テンプレートをそのまま以後の処理に適用する。
【0209】
変動部分である場合には、ステップS3004で、変動テンプレート生成部2903により変動テンプレート生成を行う。各部分領域に対応する変動範囲は、変動パラメータ保持部2908に保持されている変動パラメータにより定められる。本ステップでは、変動範囲の各変動パラメータに対応する変動を、基準部分領域テンプレートに適用して、複数のテンプレートを生成する。例えば、領域3201は回転部分であるので、同図(e)の3203、3204、3205に一部を示すように、3201に対応する基準部分領域テンプレートを少しずつ回転処理した変動テンプレートを生成する。尚、ここでは不図示であるが、3201は360°自由回転かつ回転軸対象であるので、変動テンプレートは0°〜180°の範囲で所定ステップ毎に生成される。
【0210】
続くステップS3006では、各変動テンプレートを順に用いて、ステップS3001で前処理された前処理画像に対して、変動テンプレートと合致する領域をスキャンする。この処理はスキャン部2904で行われる。本実施形態では、従来技術の画素差分総和値(SSD)に基づくテンプレート・マッチング処理を行うが、実施形態1で説明したCNN等のより高性能なパターン検出器を使用することももちろん可能である。
【0211】
ステップS3007では、投票部2905において、ステップS3006で検出された基準部分領域テンプレートもしくは変動テンプレートに合致する位置に基づき、投票平面に投票を行う。ここで投票平面とは、概念的に入力画像と同サイズの二次元配置されたヒストグラムである。但し、必ずしも入力画像の1画素がヒストグラムの1ビンに対応する訳ではなく、要求される位置の精度に基づき、隣接する複数画素領域(典型的には所定サイズの矩形領域)を一つのビンとして表す。さらに、検出したい部品の姿勢数と同じだけの投票平面を用意する。
【0212】
例えば、画像中で正立(部品の中心軸3102が垂直方向)姿勢である対象部品を検出するための投票平面に対する投票先のビンの相対的な位置は、図29(d)の3207で示される。3207は部品の中心位置であって、正立姿勢であれば、3202の基準部分領域テンプレートに合致した位置3206から、所定距離上方向に離れた位置に存在する。投票平面上では、3206に相当する部分領域検出位置から、相対的に上方向の部品中心位置3207に相当するビンに対して、インクリメントする処理を行う。このときのインクリメント量は、SSD値が所定閾値以上の場合は常に1としても良いし、閾値を超えた差分値(すなわち合致度)に基づく量としても良い。また、投票平面上の1ビンのみ投票するのではなく、ガウシアン分布等ある程度の広がりを持たせて、隣接する複数のビンに所定のインクリメント量を加えるようにしても良い。
【0213】
また、変動テンプレートの何れかと合致した、回転変動する部分領域3201に対応する投票ついては、常に回転中心位置3208を基準として、所定距離下方向の部品中心位置3207に相当する投票平面上のビンに対して行う。こうすることで、3204、3205、3206或いは不図示の他の変動テンプレート何れに合致した際にも、同様の投票結果が期待できる。
【0214】
このように、不図示の部分も含めて、各部分領域に合致した際の投票先を、部品中心位置に集中させることにより、部品中心が存在する位置のビンの値が高くなり、画像中に存在する各姿勢の部品の位置を検出できるようになる。
【0215】
ステップS3008においては、基準部分領域に対する全ての変動テンプレート(非変動部分については基準部分領域テンプレート)に対する投票が完了したか否かを判別する。完了していなければ残りの変動テンプレートに対する処理をステップS3006から繰り返す。
【0216】
そしてステップS3008において、全ての部分領域に対する投票処理が完了したかどうかを判別し、完了していない場合は、ステップS3002からの処理を繰り返す。
【0217】
ステップS3010では、対象物検出部2906により位置姿勢判別が実行される。具体的には、各投票平面のヒストグラム・ビンから閾値以上のものを探索して、対応する姿勢の検出対象部品が、ビンに対応する入力画像上の位置に存在することを検出する。
【0218】
尚、変動テンプレートのスキャン結果は、複数の投票平面で共用して利用することが可能である。図29(f)は部品が右45°に回転した姿勢に対応する投票平面における投票の様子を表している。3209の部分領域は、回転部分が部品の軸に対して水平方向を向いている(つまり3201相当)が、(e)における部分領域3205相当の変動テンプレートと全く同じテンプレートを使用できる。すなわち3205相当の変動テンプレートによるスキャン結果に基づき投票する際には、正立姿勢の投票平面だけでなく右45°姿勢の投票平面にも投票を行うとスキャン処理を省略できることになる。
【0219】
投票平面は部品の360°いずれの姿勢にも対応すべく用意され、かつ回転部品もいずれの回転方向にも向き得るため、本実施形態における全ての変動テンプレートのスキャン結果は、全ての投票平面への投票に用いることができる。もちろん各投票平面において投票するビンの相対位置は異なったものとなる。例えば(f)に相当する右45°姿勢の投票平面では225°方向に所定距離離れた部品中心に対応するビンへと投票される。
【0220】
また3202のような非変動部分については、各基準部分領域テンプレートのスキャン結果は、特定姿勢に対応する投票平面のみに投票される。各姿勢に対応する基準部分領域は、一つの基準部分領域テンプレートから生成することが可能である。例えば(f)における部分領域3210に対応するテンプレートは、(d)の3202に対応する基準部分領域テンプレートを右45°回転することにより生成している。
【0221】
尚、変動部分に対する変動テンプレートや各姿勢に対応する基準部分領域テンプレートを、検出処理時に生成するのではなく、事前に必要分生成しておくこともできる。しかし、検出処理が高速化される代わりに、保持しなければならないテンプレートのデータ量が大幅に増大する。
【0222】
〔他の柔軟部品の例〕
図30は、本実施形態の部品検出処理装置で検出可能な他の部品を示している。この部品は、図29の部品と同様の非変動部分に、ゴム状の柔軟部3301を介して変動部分3302が接続された構造となっている。この部品は(a)の状態を基本として、(b)や(c)のように変動部分3302が所定範囲で左右に振れた状態と成り得るが、図29の部品と異なり変動部分が制限無しで回転してしまう訳ではない。
【0223】
このような部品も、本実施形態の部品検出処理装置で検出することができる。ここで変動部分3302に対する基準部分領域テンプレートは、図30(d)の部分領域3401に対応するものとなる。この変動部分は、点3402を回転中心として±45°の範囲で変動する。
【0224】
図29の部品と同様、各変動テンプレートによるスキャン結果は、複数の姿勢に対応する投票平面へ投票されるが、変動範囲に制限があるため、360°すべての姿勢に対する投票平面に投票されるわけではない。3403の円弧は3401のテンプレートのスキャン結果が投票される投票平面の範囲を示している。この場合は、正立状態に対して±45°の範囲の姿勢に対する投票平面に投票される。
【0225】
また、図30の(e)では、変動部分を左に10°程度傾けた変動テンプレートに合致した成立部品を表しているが、この場合の投票平面の範囲は−10±45°の姿勢に対応する平面となり、正立姿勢も含まれるため正しく検出することが可能である。
【0226】
図30(f)は左に30°傾いた姿勢の部品の投票の様子を示している。このとき変動部分3405の角度は、(e)の3404と一致していおり、同じ変動テンプレートによるスキャン結果が用いられる。同じく−10±45°の範囲に−30°姿勢に対応する投票平面が含まれるため、正しく検出を行うことが可能となる。
【0227】
以上、本実施形態によれば、変動部分を備えた部品に対しても、全域が非変動部分である部品と同様の精度で、画像中に存在する位置と姿勢とを特定することができる。尚、本実施形態では投票に基づく検出処理を行う例を示したが、部分領域に基づく検出処理を行うものであれば、本発明を適用可能である。また、本実施形態では変動部分を回転あるいは範囲限定付き回転としたが、実施形態1〜3で説明したアフィン変換などの変動処理に適合する変形であっても、同様に適用可能である。さらに、説明を簡単にするため、検出する姿勢を面内回転のみとしたが、顔と同様に、奥行き方向の姿勢変動であっても適用可能である。
【0228】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読取可能な記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成できる。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出して実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
入力パターンと登録パターンとを局所領域で比較することにより、入力パターンの属するクラスを判別するパターン処理装置であって、
前記入力パターン及び前記登録パターンに、局所領域を設定する局所領域設定手段と、
前記入力パターンと前記登録パターンの少なくともいずれかに設定された前記局所領域に基づき、複数の変動局所領域パターンを生成する変動局所領域生成手段と、
前記入力パターンに設定された前記局所領域のパターンもしくは前記局所領域に基づく前記複数の変動局所領域パターンと、当該局所領域に対応する前記登録パターンに設定された前記局所領域内のパターンもしくは前記局所領域に基づく前記複数の変動局所領域パターンとの組合せに対する複数の類似度を求める類似度算出手段と、
前記局所領域毎に、前記入力パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンと、前記登録パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンとの組合せに対する前記複数の類似度から、前記入力パターンの前記局所領域に対応する前記登録パターンの前記局所領域との類似度としての代表類似度を求める代表類似度算出手段と、
前記代表類似度算出手段で求められた代表類似度に基づいて、入力パターンの属するクラスを判別する判別手段と
を有することを特徴とするパターン処理装置。
【請求項2】
検出対象物のパターンの複数の局所領域の各々に対応する局所領域パターンの検出結果に基づき、入力パターンの中に存在する検出対象物を検出するパターン処理装置であって、
前記局所領域パターンのそれぞれの基準となる基準局所領域パターンを記憶する基準局所領域パターン保持手段と、
前記基準局所領域パターンの少なくとも一つに基づき、複数の変動局所領域パターンを生成する変動局所領域生成手段と、
前記入力パターンの中から、前記基準局所領域パターンもしくは前記複数の変動局所領域パターンを検出する局所領域パターン検出手段と、
前記局所領域パターン検出手段による複数の局所領域パターンの検出結果を統合して、入力パターンの中の検出対象物を検出する対象物検出手段と、
を有することを特徴とするパターン処理装置。
【請求項3】
前記変動局所領域生成手段は、前記局所領域の位置を所定の探索範囲内で移動させた位置からパターンを切り出すことにより、前記複数の変動局所領域パターンを生成することを特徴とする請求項1または2に記載のパターン処理装置。
【請求項4】
前記変動局所領域生成手段は、前記局所領域の近傍のパターンを複数の角度に回転処理することにより、前記複数の変動局所領域パターンを生成することを特徴とする請求項1または2に記載のパターン処理装置。
【請求項5】
前記変動局所領域生成手段は、前記局所領域の近傍のパターンを複数の拡大率で変倍処理することにより、前記複数の変動局所領域パターンを生成することを特徴とする請求項1または2に記載のパターン処理装置。
【請求項6】
前記変動局所領域生成手段は、前記局所領域の近傍のパターンを複数の変動パラメータに基づき変形処理することにより、前記複数の変動局所領域パターンを生成することを特徴とする請求項1または2に記載のパターン処理装置。
【請求項7】
前記入力パターンもしくは前記登録パターンの変動属性を判別する変動属性判別手段とをさらに備え、
前記変動属性判別手段により判別した前記変動属性に基づき、前記変動局所領域生成手段における変動範囲を決定することを特徴とする請求項3乃至6のいずれか1項に記載のパターン処理装置。
【請求項8】
パターンの特徴点を検出する特徴点検出手段をさらに備え、
前記局所領域設定手段は、前記特徴点検出手段の特徴点検出結果に基づき前記局所領域を設定し、
前記変動局所領域生成手段は、前記特徴点検出手段で得られる特徴点検出結果と前記特徴点検出手段の特徴点検出の推定誤差に関する情報に基づいて、変動範囲を決定することを特徴とする請求項3乃至7のいずれか1項に記載のパターン処理装置。
【請求項9】
前記特徴点の検出の推定誤差に関する情報は、特徴点の存在確率分布を反映する分布であり、
前記変動局所領域生成手段は、前記特徴点検出手段での特徴点の検出結果と前記特徴点の存在確率分布を反映する分布のうち所定のしきい値以上となる点に関する領域とに基づいて、変動範囲を設定することを特徴とする請求項8に記載のパターン処理装置。
【請求項10】
前記変動局所領域生成手段は、前記入力パターンと前記登録パターンとの少なくともどちらか一つのパターンに対する推定誤差に関する情報に基づいて、変動範囲を決定することを特徴とする請求項8又は9に記載のパターン処理装置。
【請求項11】
前記変動局所領域生成手段は、変動範囲を前記入力パターンと前記登録パターンとに係わらず予め設定された値とすることを特徴とする請求項8又は9に記載のパターン処理装置。
【請求項12】
前記変動局所領域生成手段は、前記局所領域毎に変動範囲を設定することを特徴とする請求項8又は9に記載のパターン処理装置。
【請求項13】
前記代表類似度算出手段は、前記局所領域毎に、前記入力パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンと、前記登録パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンとの複数の組合せに対して算出された複数の類似度の最大値を、代表類似度として求めることを特徴とする請求項1乃至12のいずれか1項に記載のパターン処理装置。
【請求項14】
前記代表類似度算出手段は、前記局所領域毎に、前記入力パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンと、前記登録パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンとの複数の組合せに対して算出された複数の類似度の中に、所定のしきい値以上の類似度が複数ある場合、前記局所領域設定手段で設定された前記局所領域に対して最も変動の少ない変動局所領域パターンに対する類似度を代表類似度として求めることを特徴とする請求項1乃至12のいずれか1項に記載のパターン処理装置。
【請求項15】
入力パターンと登録パターンとを局所領域で比較することにより、入力パターンの属するクラスを判別するパターン処理方法であって、
前記入力パターン及び前記登録パターンに、局所領域を設定する局所領域設定工程と、
前記入力パターンと前記登録パターンの少なくともいずれかに設定された前記局所領域に基づき、複数の変動局所領域パターンを生成する変動局所領域生成工程と、
前記入力パターンに設定された前記局所領域のパターンもしくは前記局所領域に基づく前記複数の変動局所領域パターンと、当該局所領域に対応する前記登録パターンに設定された前記局所領域内のパターンもしくは前記局所領域に基づく前記複数の変動局所領域パターンとの組合せに対する複数の類似度を求める類似度算出工程と、
前記局所領域毎に、前記入力パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンと、前記登録パターンに設定された前記局所領域のパターンもしくは前記複数の変動局所領域パターンとの組合せに対する前記複数の類似度から、前記入力パターンの前記局所領域に対応する前記登録パターンの前記局所領域との類似度としての代表類似度を求める代表類似度算出工程と、
前記代表類似度算出工程で求められた代表類似度に基づいて、入力パターンの属するクラスを判別する判別工程と
を有することを特徴とするパターン処理方法。
【請求項16】
コンピュータに請求項15に記載のパターン処理方法を実行させることを特徴とするプログラム。
【請求項17】
検出対象物のパターンの複数の局所領域の各々に対応する局所領域パターンの検出結果に基づき、入力パターンの中に存在する検出対象物を検出するパターン処理方法であって、
前記局所領域パターンのそれぞれの基準となる基準局所領域パターンの少なくとも一つに基づき、複数の変動局所領域パターンを生成する変動局所領域生成工程と、
前記入力パターンの中から、前記基準局所領域パターンもしくは前記複数の変動局所領域パターンを検出する局所領域パターン検出工程と、
前記局所領域パターン検出工程による複数の局所領域パターンの検出結果を統合して、入力パターンの中の検出対象物を検出する対象物検出工程と、
を備えたことを特徴とするパターン処理方法。
【請求項18】
コンピュータに請求項17に記載のパターン処理方法を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2011−22994(P2011−22994A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2010−136066(P2010−136066)
【出願日】平成22年6月15日(2010.6.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】