説明

情報処理装置、情報処理方法、及び、プログラム

【課題】入力画像に、所定の対象物が映っているか否かの判別の判別性能の低下を、容易に防止する。
【解決手段】補正部は、入力画像から抽出された特徴量を入力として、入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを、補正情報を用いて補正する。判別処理部は、パラメータの補正後のアンサンブル識別器を用い、特徴量に対して、弱識別器が出力する弱仮説を積算し、その弱仮説の積算値に基づいて、入力画像に、対象物が映っているか否かを判別する。補正情報は、補正情報算出部54において、対象物を照明する光源に基づいて算出される。本技術は、例えば、入力画像に対象物が映っているか否かを判別する場合等に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、入力画像に、所定の対象物が映っているか否かの判別の判別性能の低下を、容易に防止することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【0002】
複数の弱識別器(weak learner)の出力である弱仮説の多数決により識別を行うアンサンブル識別器の学習を行うアンサンブル学習(Ensemble learning)としては、例えば、ブースティング(boosting)や、バギング(bagging)がある。
【0003】
また、アンサンブル学習により得られたアンサンブル識別器を用いて、画像に、所定の対象物が映っているか否かを判別する方法(対象物判別の方法)が提案されている(例えば、特許文献1を参照)。
【0004】
特許文献1では、画像の特徴量として、減算という極めて簡単な処理だけで求めることができる、入力画像中の2つのピクセルどうしの画素値の差分であるピクセル間差分特徴量が採用されており、そのような減算だけで算出することができるピクセル間差分特徴量を用いて、十分な、対象物判別の判別性能を実現している。
【0005】
なお、特許文献1では、アンサンブル識別器を構成する弱識別器ごとに、ピクセル間差分特徴量を求めるのに用いる2つのピクセルの位置が設定されるため、アンサンブル識別器を構成する弱識別器の数だけのピクセル間差分特徴量を算出する必要がある。
【0006】
しかしながら、ピクセル間差分特徴量は、減算という極めて簡単な処理だけで求めることができ、アンサンブル識別器を構成する弱識別器の数だけのピクセル間差分特徴量であっても、高速に算出することができるので、結果として、対象物判別の処理を高速化することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第4517633号
【発明の概要】
【発明が解決しようとする課題】
【0008】
アンサンブル学習において、アンサンブル識別器の学習に用いられる学習用画像には、対象物が映っているポジティブ画像と、対象物が映っていないネガティブ画像とが含まれる。このようなポジティブ画像とネガティブ画像とが含まれる学習用画像や、アンサンブル識別器を用いた対象物判別の対象となる入力画像としては、例えば、対象物を照明する光に、なるべく偏りがなく、対象物全体が、適切に照明された画像、すなわち、対象物全体が、万遍なく様々な方向からの光によって照明された画像(以下、適切照明画像ともいう)を用いることが望ましい。
【0009】
一方、カメラで撮影される画像では、対象物を照明する光に偏りがあることが多く、対象物が、例えば、人の顔のように、ある程度左右対称であっても、顔の左側と右側とで異なる陰影がついた画像(以下、偏り陰影画像ともいう)になっていることがある。
【0010】
学習用画像が、偏り陰影画像になっていても、そのような偏り陰影画像の多数を、学習用画像として用いて、アンサンブル識別器の学習を行うことで、学習用画像としての偏り陰影画像における対象物を照明する光の偏りが平均化され、適切照明画像を学習用画像として用いて学習を行ったかのようなアンサンブル識別器を得ることができる。そのため、そのようなアンサンブル識別器を用いた対象物判別では、入力画像が、偏り陰影画像である場合には、対象物判別に用いる画像の特徴量にかかわらず、対象物判別の判別性能が低下することがある。
【0011】
本技術は、このような状況に鑑みてなされたものであり、対象物判別の判別性能の低下を、容易に防止することができるようにするものである。
【課題を解決するための手段】
【0012】
本技術の一側面の情報処理装置、又は、プログラムは、入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正する補正部と、前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する判別部とを備える情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。
【0013】
本技術の一側面の情報処理方法は、入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正し、前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別するステップを含む情報処理方法である。
【0014】
本技術の一側面においては、入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータが補正される。そして、前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説が積算され、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かが判別される。
【0015】
なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【0016】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【0017】
本技術の一側面によれば、対象物判別の判別性能の低下を、容易に防止することができる。
【図面の簡単な説明】
【0018】
【図1】アンサンブル識別器を用いた対象物判別を行う判別装置の構成例を示すブロック図である。
【図2】検出辞書記憶部20に記憶されるアンサンブル識別器のアンサンブル学習を行う学習装置の構成例を示すブロック図である。
【図3】学習装置が行うアンサンブル識別器H(x)のアンサンブル学習の処理を説明するフローチャートである。
【図4】弱識別器ht(x)を生成する弱識別器生成処理を説明するフローチャートである。
【図5】打ち切り閾値Rtを求める方法を説明する図である。
【図6】判別処理を説明するフローチャートである。
【図7】ウインドウ画像判別処理を説明するフローチャートである。
【図8】入力画像(動画)と、その入力画像を対象として判別処理を行った場合のROC曲線とを示す図である。
【図9】偏り陰影画像を対象とする対象物判別の判別性能が低下することを説明する図である。
【図10】入力画像が、対象物全体が、適切に照明された適切照明画像でない場合に対処する方法を説明する図である。
【図11】輝度変換フィルタを、部分的にかける場合を説明する図である。
【図12】本技術の情報処理装置を適用した判別装置の一実施の形態の構成例を示すブロック図である。
【図13】平均画像記憶部57に記憶されている平均画像の例を示す図である
【図14】本技術の原理を説明する図である。
【図15】基準識別器のパラメータの補正を説明する図である。
【図16】光源推定部52が、キャリブレーション用画像から、そこに映っている対象物を照明する光源を推定する光源推定方法を説明する図である。
【図17】光源推定部52が光源を推定する他の光源推定方法を説明する図である。
【図18】陰影領域認識部53が、キャリブレーション用画像において、光源からの光によって陰影が生じる陰影境界を検出する境界検出方法を説明する図である。
【図19】他の境界検出方法を説明する図である。
【図20】補正情報算出部54が補正係数k'を決定(算出)する方法を説明する図である。
【図21】画像取得部51において、キャリブレーション用画像を取得する取得方法を説明する図である。
【図22】キャリブレーション処理を説明するフローチャートである。
【図23】補正情報算出部54が行う補正係数決定処理を説明するフローチャートである。
【図24】判別装置が行う判別処理を説明するフローチャートである。
【図25】画素の位置に応じて異なる倍率k'に増幅する輝度変換フィルタと、その輝度変換フィルタがかけられた平均画像とを示す図である。
【図26】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0019】
本技術の実施の形態を説明する前に、前段階の準備として、アンサンブル学習と、アンサンブル学習により得られるアンサンブル識別器を用いた対象物判別とについて説明する。
【0020】
[アンサンブル識別器を用いた対象物判別を行う判別装置]
【0021】
図1は、アンサンブル識別器を用いた対象物判別を行う判別装置の構成例を示すブロック図である。
【0022】
図1において、判別装置は、判別処理部10、及び、検出辞書記憶部20を有する。
【0023】
判別処理部10には、対象物判別を行う対象の入力画像が、外部から供給される。
【0024】
判別処理部10は、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器(のパラメータ)を用いて、外部から供給(入力)される入力画像に、例えば、人の顔等の所定の対象物が映っているか否かを判別する対象物判別を行い、その判別結果を出力する。
【0025】
検出辞書記憶部20は、アンサンブル学習により得られた、対象物を検出(判別)するための検出辞書としてのアンサンブル識別器(のパラメータ)を記憶している。
【0026】
図1において、判別処理部10は、スケーリング部11、走査部12、及び、判別部13を有する。
【0027】
スケーリング部11には、対象物判別を行う対象の入力画像が供給される。
【0028】
スケーリング部11は、入力画像を、例えば、バイリニア補間等によって、判別部13からの制御に従った縮小率で縮小し、その縮小によって得られる縮小画像を、入力画像をスケーリングしたスケーリング画像として、走査部12に供給する。
【0029】
走査部12は、判別部13の制御に従い、スケーリング部11からのスケーリング画像上において、例えば、横×縦が20×20ピクセル等の所定のサイズのウインドウを、例えば、いわゆるラスタスキャンのように走査することで、スケーリング画像上のウインドウの位置を移動させる。
【0030】
そして、走査部12は、スケーリング画像のうちの、ウインドウ内の画像(以下、ウインドウ画像ともいう)を切り出し、判別部13に供給する。
【0031】
判別部13は、スケーリング部11、及び、走査部12を制御しながら、検出辞書記憶部20に記憶されたアンサンブル識別器と、走査部12から供給されるウインドウ画像とを用いて、入力画像に、例えば、人の顔等の所定の対象物が映っているか否かを判別し、その判別結果を表す判別結果情報を出力する。
【0032】
すなわち、判別部13は、所定の縮小率で、入力画像を縮小するように、スケーリング部11を制御する。
【0033】
スケーリング部11は、判別部13の制御に従い、所定の縮小率で、入力画像を縮小し、その結果得られる縮小画像を、スケーリング画像として、走査部12に供給する。
【0034】
さらに、判別部13は、スケーリング部11で得られるスケーリング画像上を、ラスタスキャン順に、ウインドウを移動させるように、走査部12を制御する。
【0035】
走査部12は、判別部13の制御に従い、ウインドウを、スケーリング画像の左上から、例えば、1ピクセル等の所定のピクセル数単位で、右方向に移動していき、ウインドウが、スケーリング画像の右端に到達すると、ウインドウを、例えば、1ピクセル等の所定のピクセル数だけ下げて、再び、左端から右方向に移動していくことを、ウインドウが、スケーリング画像の右下に到達するまで繰り返す。
【0036】
そして、走査部12は、ウインドウを移動するたびに、スケーリング画像から、移動後の位置のウインドウ内の画像であるウインドウ画像を切り出し、判別部13に供給する。
【0037】
判別部13は、以上のようにして走査部12から供給されるウインドウ画像に、対象物が映っているか否かを判別するウインドウ画像判別処理を行う。
【0038】
そして、判別部13は、ウインドウがスケーリング画像の右下に到達すると、前回より小さな(値の)縮小率で、入力画像を縮小するように、スケーリング部11を制御し、以下、スケーリング画像が、ウインドウサイズ(以下)になるまで、同様の処理を繰り返す。
【0039】
以上のように、判別部13では、入力画像を、様々な値の縮小率で縮小することにより得られるスケーリング画像から切り出されるウインドウ画像に、対象物が映っているか否かを判別するウインドウ画像判別処理を行うので、入力画像に存在する様々な大きさの対象物を検出することができる。
【0040】
判別部13は、ウインドウ画像判別処理において、走査部12からのウインドウ画像から、例えば、ピクセル間差分特徴量等の特徴量を抽出(算出)し、その特徴量を、検出辞書記憶部20に記憶されたアンサンブル識別器を構成する弱識別器に入力することで、その特徴量に対する、弱識別器の出力である弱仮説を得る。
【0041】
そして、判別部13は、アンサンブル識別器を構成する各弱識別器が出力する弱仮説を順次積算し、その積算値に基づいて、ウインドウ画像に対象物が映っているか否かを判別する。
【0042】
[アンサンブル学習を行う学習装置]
【0043】
図2は、図1の検出辞書記憶部20に検出辞書として記憶されるアンサンブル識別器のアンサンブル学習を行う学習装置の構成例を示すブロック図である。
【0044】
図2において、学習装置は、学習用画像記憶部31、特徴量抽出部32、及び、学習部33を有する。
【0045】
学習用画像記憶部31は、アンサンブル学習に用いられる複数の学習用画像を記憶している。
【0046】
学習用画像は、ウインドウと同一サイズの画像であり、複数の学習用画像には、対象物が映っているポジティブ画像と、対象物が映っていないネガティブ画像とが含まれている。
【0047】
さらに、各学習用画像には、その学習用画像が、ポジティブ画像及びネガティブ画像のうちのいずれであるのかを表すラベル(正解ラベル)が付されている。
【0048】
特徴量抽出部32は、学習用画像記憶部31に記憶された学習用画像から、例えば、2つのピクセルの画素値の差分であるピクセル間差分特徴量等の特徴量を抽出し、学習部33に供給する。
【0049】
学習部33は、学習用画像記憶部31に記憶された複数の学習用画像を用いて、すなわち、複数の学習用画像から抽出されるピクセル間差分特徴量xを用いて、アンサンブル学習を行うことにより、画像に対象物が存在することを識別するアンサンブル識別器H(x)(のパラメータ)を求めて出力する。
【0050】
ここで、アンサンブル識別器H(x)は、ピクセル間差分特徴量xを入力として、画像に対象物が映っているか否かを表す弱仮説を出力する複数であるT個の弱識別器h1(x),h2(x),・・・,hT(x)を有する。
【0051】
図1の判別部13は、ウインドウ画像からピクセル間差分特徴量xを抽出(算出)し、アンサンブル識別器を構成する弱識別器h1(x)ないしhT(x)に入力することで、ピクセル間差分特徴量xに対する、弱識別器h1(x)ないしhT(x)の出力である弱仮説h1(x),h2(x),・・・,hT(x)を得る。
【0052】
すなわち、弱識別器ht(x)は、パラメータとして、例えば、引数であるピクセル間差分特徴量xと比較される1つの閾値thを有し、式x>thが成り立つ場合には、弱仮説ht(x)として、+1を出力し、式x>thが成り立たない場合には、弱仮説ht(x)として、-1を出力する。
【0053】
そして、判別部13は、アンサンブル識別器を構成する各弱識別器ht(x)が出力する弱仮説ht(x)の重み付け多数決をとり、その重み付け多数決の結果に基づいて、ウインドウ画像に対象物が映っているか否かを判別するウインドウ画像判別処理を行う。
【0054】
すなわち、弱識別器ht(x)は、パラメータとして、閾値thの他、信頼度αtを有する。
【0055】
判別部13は、アンサンブル識別器を構成する各弱識別器ht(x)が出力する弱仮説ht(x)について、信頼度αtを重みとして、順次、(重み付け)積算を行い、その結果得られる積算値Σ(αt×ht(x))(=α1h1(x)+α2h2(x)+・・・+αThT(x))に基づいて、ウインドウ画像に対象物が映っているか否かを判別するウインドウ画像判別処理を行う。
【0056】
すなわち、弱仮説ht(x)の、信頼度αtを重みとする積算値Σ(αt×ht(x))が、0より大である場合(符号が正である場合)、ウインドウ画像は、対象物が映っているポジティブ画像であると判別される。
【0057】
一方、積算値Σ(αt×ht(x))が、0より大でない場合(符号が正でない場合)、ウインドウ画像は、対象物が映っていないネガティブ画像であると判別される。
【0058】
学習部33では、アンサンブル学習によって、アンサンブル識別器を構成する各弱識別器ht(x)のパラメータである閾値th、信頼度αt、及び、弱識別器ht(x)の引数となるピクセル間差分特徴量xを求めるのに用いる2つのピクセルの位置であるピクセル位置対が求められる。
【0059】
ウインドウのサイズが、例えば、横×縦が20×20ピクセルである場合、ウインドウ画像のサイズも、20×20ピクセルとなる。そして、そのような20×20ピクセルのウインドウ画像から、ピクセル間差分特徴量xを抽出するのに用いる2つのピクセルの位置の組み合わせ(ピクセル位置対)は、79,800=400×399/2通りだけ存在する。
【0060】
なお、学習部33では、その他、打ち切り長Rtが、弱識別器ht(x)のパラメータとして求められる。打ち切り長Rtについては、後述する。
【0061】
ここで、上述のように、式x>thが成り立つかどうかによって、弱仮説ht(x)として、+1又は-1を出力する弱識別器ht(x)は、スタンプ識別器(stump classifier)と呼ばれる。
【0062】
すなわち、スタンプ識別器は、画像の特徴量xを用いて、画像を、例えば、人の顔等の対象物が映っているか否かを表す2つのクラスに識別するが、その識別を、特徴量xと閾値thとの大小関係によって行う。
【0063】
弱仮説ht(x)が+1のクラスが、対象物が映っていることを表すクラスであり、弱仮説ht(x)が-1のクラスが、対象物が映っていないことを表すクラスである。
【0064】
なお、アンサンブル識別器を構成する弱識別器は、スタンプ識別器に限定されるものではない。
【0065】
弱識別器として、スタンプ識別器ht(x)を有するアンサンブル識別器H(x)のアンサンブル学習は、例えば、ブースティング(boosting)の一種であるアダブースト(AdaBoost)等によって行うことができる。
【0066】
[アンサンブル学習]
【0067】
図3は、図2の学習装置が行うアンサンブル識別器H(x)のアンサンブル学習の処理を説明するフローチャートである。
【0068】
図3のアンサンブル学習は、アダブーストを利用した学習であるが、アンサンブル学習は、アダブースト以外の、例えば、ジェントルブースト(GentleBoost)等のアンサンブル学習を利用して行うことが可能である。
【0069】
ここで、学習装置(図2)において、学習用画像記憶部31には、走査部12(図1)で用いられるウインドウと同一サイズの学習用画像が、N枚記憶されていることとし、そのN枚の学習用画像のうちの、i番目の学習用画像を、学習用画像#iと表す。また、i番目の学習用画像#iの正解ラベルを、yiと表す。学習用画像#iがポジティブ画像である場合の正解ラベルyiは、例えば、+1とされ、学習用画像#iがネガティブ画像である場合の正解ラベルyiは、例えば、-1とされていることとする。
【0070】
アンサンブル学習では、ステップS11において、学習部33は、アンサンブル識別器を構成する弱識別器ht(x)の個数をカウントする変数tを、1に初期化し、処理は、ステップS12に進む。
【0071】
ステップS12では、学習部33は、学習用画像記憶部31に記憶された学習用画像#1ないし#Nそれぞれの、1番目の弱識別器h1(x)に対する重みD1(1)ないしD1(N)を、例えば、1/Nに初期化し、処理は、ステップS13に進む。
【0072】
ここで、Dt(i)は、i番目の学習用画像#iの、t番目の弱識別器ht(x)に対する重みを表す。
【0073】
ステップS13では、学習部33は、t番目の弱識別器ht(x)を生成する弱識別器生成処理を行い、処理は、ステップS14に進む。
【0074】
ステップS14では、学習部33は、変数tが、アンサンブル識別器を構成する弱識別器ht(x)の総数として、あらかじめ設定された値である設定総数Tに等しいかどうかを判定する。
【0075】
ステップS14において、変数tが設定総数Tに等しくないと判定された場合、すなわち、設定総数Tに等しい数だけの弱識別器h1(x)ないしhT(x)が、まだ生成されていない場合、処理は、ステップS15に進み、学習部33は、例えば、アダブーストのアルゴリズムに従い、各学習用画像#iの、t番目の弱識別器ht(x)に対する重みDt(i)を、各学習用画像#iの、次に求めるt+1番目の弱識別器ht+1(x)に対する重みDt+1(i)に更新する。
【0076】
すなわち、学習部33は、重みDt(i)を、式(1)に従って更新する。
【0077】
Dt(i)=Dt(i)exp(-yiht(xi))
・・・(1)
【0078】
ここで、式(1)において、exp()は、ネイピア数eを底とする指数関数を表し、yiは、i番目の学習用画像#iの正解ラベルを表す。
【0079】
また、xiは、i番目の学習用画像#iから抽出(算出)されたピクセル間差分特徴量を表し、ht(xi)は、直前のステップS13で生成されたt番目の弱識別器ht(x)が、ピクセル間差分特徴量xiの入力に対して出力する弱仮説を表す。
【0080】
式(1)によれば、正解ラベルyiの符号と、弱仮説ht(xi)の符号とが一致しているときに(弱仮説ht(xi)が正解であるときに)、重みDt(i)は、小さい値に更新され、正解ラベルyiの符号と、弱仮説ht(xi)の符号とが一致していないときに(弱仮説ht(xi)が誤りであるときに)、重みDt(i)は、大きい値に更新される。
【0081】
その後、学習部33は、更新後の重みDt(i)を、式(2)に従って正規化し、正規化後の重みDt(i)を、t+1番目の弱識別器ht+1(x)に対する重みDt+1(i)として求める。
【0082】
Dt+1(i)=Dt(i)/ΣiDt(i)
・・・(2)
【0083】
ここで、式(2)において、Σiは、変数iを、1からNに変えて、Dt(i)のサメ−ション(Dt(i)の総和)をとることを表す。
【0084】
以上のように、ステップS15において、各学習用画像#iの、次に求めるt+1番目の弱識別器ht+1(x)に対する重みDt+1(i)が求められた後、処理は、ステップS16に進み、学習部33は、変数tを1だけインクリメントする。
【0085】
そして、処理は、ステップS16からステップS13に戻り、以下、同様の処理が繰り返される。
【0086】
一方、ステップS14において、変数tが設定総数Tに等しいと判定された場合、すなわち、設定総数Tに等しい数だけの弱識別器h1(x)ないしhT(x)が生成された場合、処理は、ステップS17に進み、学習部33は、弱識別器h1(x)ないしhT(x)(のパラメータ)から構成されるアンサンブル識別器H(x)を、検出辞書として出力して、アンサンブル学習の処理を終了する。
【0087】
図4は、図2の学習装置が図3のステップS13で行う、弱識別器ht(x)を生成する弱識別器生成処理を説明するフローチャートである。
【0088】
ステップS21において、学習部33は、特徴量としてのピクセル間差分特徴量xの生成に用いる2つのピクセルの位置の組み合わせ(ピクセル位置対)として、例えば、学習用画像から選択しうる2つのピクセルの位置の全通りの組み合わせを設定する。
【0089】
ここで、学習用画像から選択しうる2つのピクセルの位置の全通りの組み合わせの数が、M通りであるとする。
【0090】
ステップS21において、学習用画像から選択しうる2つのピクセルの位置の全通りの組み合わせであるM通りのピクセル位置対が設定されると、処理は、ステップS22に進み、学習部33は、M通りのピクセル位置対をカウントする変数mを、1に初期化して、処理は、ステップS23に進む。
【0091】
ステップS23では、特徴量抽出部32が、学習用画像記憶部31に記憶された1ないしN番目の学習用画像#1ないし#Nそれぞれについて、M通りのピクセル位置対のうちのm番目のピクセル位置対の2つのピクセルの画素値(例えば、輝度)p1及びp2を抽出し、ピクセル間差分特徴量である特徴量xi=p1-p2を、t番目の弱新識別器ht(x)に与える特徴量として求め、処理は、ステップS24に進む。
【0092】
ステップS24では、学習部33は、t番目の弱識別器ht(x)のパラメータとしての閾値を表す変数thに、初期値としてのxminをセットし、処理は、ステップS25に進む。
【0093】
ここで、初期値xminとしては、例えば、8ビットや16ビット等の所定のビット数で表現されるピクセル間差分特徴量として取り得る値の最小値等が用いられる。
【0094】
ステップS25では、学習部33は、1ないしN番目の学習用画像#1ないし#Nそれぞれについて、学習用画像#iから求められたピクセル間差分特徴量xiを、閾値が変数thの弱識別器ht(x)に与えることによって、弱仮説ht(xi)を求める。
【0095】
さらに、学習部33は、式(3)に従い、弱仮説ht(xi)が、式ht(xi)≠yiを満たす学習用画像#iの重みDt(i)の総和を、ピクセル位置対m及び閾値thについての誤り率εt(m,th)として求める。
【0096】
εt(m,th)=ΣDt(i)[ht(xi)≠yi
・・・(3)
【0097】
ここで、式(3)において、[ht(xi)≠yi]は、式ht(xi)≠yiが成り立つ場合は、1となり、成り立たない場合は、0となる。
【0098】
式(3)によれば、誤り率εt(m,th)は、N枚の学習用画像のうちの、弱識別器ht(x)の出力である弱仮説ht(xi)が誤る学習用画像(式ht(xi)≠yiが成り立つ学習用画像)の重みDt(i)のみを加算することで求められる。
【0099】
ステップS25において、ピクセル位置対m及び閾値thについての誤り率εt(m,th)が求められると、処理は、ステップS26に進み、学習部33は、変数thが、所定のビット数で表現されるピクセル間差分特徴量として取り得る値の最大値xmaxに等しいかどうかを判定する。
【0100】
ステップS26において、(閾値を表す)変数thが、最大値xmaxに等しくないと判定された場合、すなわち、閾値thが、最大値xmax未満の値である場合、処理は、ステップS27に進み、学習部33は、変数thを1だけインクリメントする。
【0101】
そして、処理は、ステップS27からステップS25に戻り、以下、同様の処理が繰り返される。
【0102】
また、ステップS26において、閾値thが、最大値xmaxに等しいと判定された場合、処理は、ステップS28に進み、学習部33は、変数mが、所定数Mに等しいかどうかを判定する。
【0103】
ステップS28において、変数mが、所定数Mに等しくないと判定された場合、処理は、ステップS29に進み、学習部33は、変数mを1だけインクリメントする。
【0104】
そして、処理は、ステップS29からステップS23に戻り、以下、同様の処理が繰り返される。
【0105】
また、ステップS28において、変数mが、所定数Mに等しいと判定された場合、すなわち、M通りのピクセル位置対mのそれぞれ、及び、式xmin≦th≦xmaxで表される範囲の閾値thそれぞれについて、t番目の弱識別器ht(x)の誤り率εt(m,th)が求められた場合、処理は、ステップS30に進み、学習部33は、M通りのピクセル位置対mのそれぞれ、及び、式xmin≦th≦xmaxで表される範囲の閾値thそれぞれについての誤り率εt(m,th)のうちの最小の誤り率である最小誤り率εt(mmin,thmin)を求める。
【0106】
さらに、学習部33は、最小誤り率εt(mmin,thmin)が得られたときの閾値(以下、最適閾値ともいう)thminと、ピクセル位置対(以下、最適ピクセル位置対ともいう)mminを、それぞれ、t番目の弱識別器ht(x)のパラメータとしての閾値と、引数xとしてのピクセル間差分特徴量を求める引数x用のピクセル位置対に決定する。
【0107】
そして、処理は、ステップS30からステップS31に進み、学習部33は、弱識別器ht(x)のパラメータとしての信頼度αtを、最小誤り率e(mmin,thmin)を用い、式(4)に従って求めて、処理は、ステップS32に進む。
【0108】
αt=(1/2)ln((1-εt(mmin,thmin))/εt(mmin,thmin))
・・・(4)
【0109】
式(4)によれば、最小誤り率εt(mmin,thmin)が大(小)であるほど、値が小(大)の信頼度αtが求められる。なお、式(4)において、lnは、ネイピア数を底とする対数を表す。
【0110】
ステップS32では、学習部33は、t番目の弱識別器ht(x)のパラメータとしての打ち切り長Rtを求めて、処理はリターンする。
【0111】
図5は、図4のステップS32において打ち切り閾値Rtを求める方法を説明する図である。
【0112】
アンサンブル学習によって求められるアンサンブル識別器H(x)は、T個の弱識別器h1(x),h2(x),・・・,hT(x)で構成され、検出辞書記憶部20(図1)に記憶される。
【0113】
そして、図1の判別部13は、走査部12から供給されるウインドウ画像に、対象物が映っているか否かを判別するウインドウ画像判別処理を、検出辞書記憶部20に記憶されたアンサンブル識別器H(x)を用いて行う。
【0114】
すなわち、ウインドウ画像判別処理では、ウインドウ画像から抽出される特徴量(本実施の形態では、ピクセル間差分特徴量)xが、アンサンブル識別器H(x)に与えられ、その特徴量xに対するアンサンブル識別器H(x)の出力である識別値H(x)に基づいて、ウインドウ画像に、対象物が映っているか否かが判別される。
【0115】
アンサンブル識別器H(x)の出力である識別値H(x)は、アンサンブル識別器H(x)を構成する弱識別器ht(x)の出力である弱仮説ht(x)の積算値(重み付け多数決)の符号であり、式(5)で表される。
【0116】
H(x)=sgn{Σtαtht(x)}
・・・(5)
【0117】
ここで、式(5)において、Σtは、変数tを1からTに変えて、弱仮説ht(x)の、信頼度αtを重みとする重み付け値αtht(x)のサメーションをとることを表す。また、sgn{}は、かっこ{}内の符号を表す(0の符号は、プラス及びマイナスのうちの一方(例えば、マイナス)とみなすこととする)。
【0118】
式(5)の識別値H(x)が、プラスである場合、ウインドウ画像に、対象物が映っていると判別され、プラスでない場合、ウインドウ画像に、対象物が映っていないと判別される。
【0119】
ウインドウ画像判別処理において、式(5)の識別値H(x)を求めるにあたり、弱仮説ht(x)の重み付け値αtht(x)は、変数tを、1からTに、順次変えて、順番に求められ、積算されていく。
【0120】
すなわち、式(5)の識別値H(x)は、弱仮説ht(x)を求め、その弱仮説ht(x)の重み付け値αtht(x)を、既に求められている弱仮説h1(x)ないしht-1(x)の重み付け値α1h1(x)ないしαt-1ht-1(x)の積算値に積算することを繰り返すことで求められる。
【0121】
図5は、t個の弱仮説h1(x)ないしht(x)(の重み付け値α1h1(x)ないしαtht(x))の積算値(以下、t個の弱仮説の積算値Σαtht(x)ともいう)の変数tに対する変化の例を示している。
【0122】
なお、図5には、5枚のウインドウ画像#1,#2,#3,#4,#5それぞれについてのt個の弱仮説の積算値Σht(x)を示してある。
【0123】
5枚のウインドウ画像#1ないし#5のうちの、ウインドウ画像#1ないし#4は、ポジティブ画像であり、残りのウインドウ画像#5は、ネガティブ画像である。
【0124】
また、図5には、打ち切り閾値Rtも、図示してある。
【0125】
ポジティブ画像であるウインドウ画像#1ないし#4については、t個の弱仮説の積算値Σαtht(x)は、変数t(積算される弱仮説の数)にかかわらず、打ち切り閾値Rt以上になっている。
【0126】
一方、ネガティブ画像であるウインドウ画像#5については、t個の弱仮説の積算値Σαtht(x)は、変数tがある値になったときに、打ち切り閾値Rt未満になっている。
【0127】
式(5)の識別値H(x)を求めるにあたり、弱仮説ht(x)は、変数tを、1からTに変えて、順番に求められ、その弱仮説ht(x)の重み付け値αtht(x)が積算されることで、t個の弱仮説の積算値Σαtht(x)が求められるが、そのt個の弱仮説の積算値Σαtht(x)が、打ち切り閾値Rt未満(又は、以下)になった時点で、弱仮説ht(x)(の重み付け値αtht(x))の積算は、打ち切られる(中止される)。
【0128】
なお、弱仮説ht(x)の積算が打ち切られた場合、ウインドウ画像には、対象物が映っていない(ウインドウ画像はネガティブ画像である)と判別される。
【0129】
t個の弱仮説の積算値Σαtht(x)と比較される打ち切り閾値Rtは、学習部33において、N枚の学習用画像のうちの、ポジティブ画像を用いて求められる。
【0130】
すなわち、N枚の学習用画像の中に、L枚のポジティブ画像があるとし、そのL枚のポジティブ画像のうちの、j番目のポジティブ画像#jから抽出されるピクセル間差分特徴量を、xjと表すこととすると、学習部33は、L枚のポジティブ画像#jそれぞれについて、t個の弱仮説の積算値Σαtht(xj)を求める。
【0131】
そして、学習部33は、L枚のポジティブ画像#jそれぞれについての、t個の弱仮説の積算値Σαtht(xj)のうちの最小値を、打ち切り閾値Rtとして求める。
【0132】
具体的には、学習部33は、例えば、式(6)に従って、打ち切り閾値Rtを求める。
【0133】
Rt=min{Σiαihi(x1),Σiαihi(x2),・・・,Σiαihi(xL),0}
・・・(6)
【0134】
ここで、式(6)において、Σiは、変数iを1からtに変えて、弱仮説hi(xj)(の重み付け値αihi(xj))のサメーションをとることを表す。また、min{}は、かっこ{}内の値の最小値を表す。
【0135】
式(6)によれば、L枚のポジティブ画像#jそれぞれについての、t個の弱仮説の積算値Σαihi(xj)=α1h1(xj)+α2h2(xj)+・・・+αtht(xj)のうちの最小値が、打ち切り閾値Rtとして求められる。
【0136】
なお、式(6)では、L枚のポジティブ画像#jそれぞれについての、t個の弱仮説の積算値Σαihi(xj)=α1h1(xj)+α2h2(xj)+・・・+αtht(xj)のうちの最小値が、0より大である場合には、打ち切り閾値Rtは、0とされる。
【0137】
したがって、式(6)に従って求められる打ち切り閾値Rtは、0以下の値に制限される。
【0138】
なお、打ち切り閾値Rtの制限の方法(打ち切り閾値Rtを制限する値の他、打ち切り閾値Rtを制限するか否かを含む)は、アンサンブル学習の方法(種類)に依存する。
【0139】
[判別処理]
【0140】
図6は、図1の判別装置が行う、入力画像に対象物が映っているか否かを判別する対象物判別の処理(判別処理)を説明するフローチャートである。
【0141】
なお、以下では、対象物として、例えば、人の顔を採用することとする。
【0142】
スケーリング部11は、そこに、外部からの入力画像が供給されるのを待って、ステップS51において、外部からの入力画像を縮小し、その縮小によって得られる縮小画像を、入力画像をスケーリングしたスケーリング画像として、走査部12に供給して、処理は、ステップS52に進む。
【0143】
ここで、スケーリング部11において、外部からの入力画像が供給された後、最初に、ステップS51の処理が行われる場合、入力画像は、1倍の縮小率で縮小される。したがって、この場合、スケーリング部11から走査部12には、サイズが縮小されていない入力画像が、スケーリング画像として供給される。
【0144】
ステップS52では、走査部12は、スケーリング部11からのスケーリング画像の左上の位置に、例えば、20×20ピクセル等の所定のサイズのウインドウを設定し、処理は、ステップS53に進む。
【0145】
ステップS53では、走査部12は、スケーリング画像から、ウインドウ内の画像を切り出し、ウインドウ画像として、判別部13に供給して、処理は、ステップS54に進む。
【0146】
ステップS54では、判別部13は、走査部12からのウインドウ画像に、対象物が映っているか否かを判別するウインドウ画像判別処理を、検出辞書記憶部20に記憶されたアンサンブル識別器を用いて行い、処理は、ステップS55に進む。
【0147】
ここで、判別部13が行うウインドウ画像判別処理については、後述するが、ウインドウ画像判別処理では、ウインドウ画像が、対象物である人の顔が映っているポジティブ画像であるか、又は、人の顔が映っていないネガティブ画像であるかが判別される。
【0148】
ステップS55では、判別部13は、ウインドウがスケーリング画像の右下に位置しているかどうかを判定する。
【0149】
ステップS55において、ウインドウがスケーリング画像の右下に位置していないと判定された場合、処理は、ステップS56に進み、判別部13は、ウインドウを移動させるように、走査部12を制御する。
【0150】
走査部12は、判別部13の制御に従い、スケーリング画像上のウインドウを、ラスタスキャン順で、次の位置に移動させ、処理は、ステップS56からステップS53に戻る。
【0151】
ステップS53では、走査部12は、スケーリング画像から、移動後のウインドウ内の画像を切り出し、ウインドウ画像として、判別部13に供給して、以下、同様の処理が繰り返される。
【0152】
また、ステップS55において、ウインドウがスケーリング画像の右下に位置していると判定された場合、処理は、ステップS57に進み、判別部13は、スケーリング画像のサイズが、ウインドウのサイズに一致しているかどうかを判定する。
【0153】
ステップS57において、スケーリング画像のサイズが、ウインドウのサイズに一致していないと判定された場合、すなわち、スケーリング画像のサイズが、ウインドウのサイズよりも大きい場合、処理は、ステップS58に進み、判別部13は、前回より小さな縮小率(入力画像を、より縮小する縮小率)で、入力画像を縮小するように、スケーリング部11を制御し、処理は、ステップS51に戻る。
【0154】
ステップS51では、スケーリング部11は、判別部13の制御に従って、入力画像を縮小し、その結果得られる、前回よりもサイズが小さい縮小画像を、スケーリング画像として、走査部12に供給して、以下、同様の処理が繰り返される。
【0155】
また、ステップS57において、スケーリング画像のサイズが、ウインドウのサイズに一致すると判定された場合、すなわち、スケーリング部11において、入力画像が、ウインドウと同一サイズにまで縮小された場合、処理は、ステップS59に進み、判別部13は、それまでに行われたステップS54のウインドウ画像判別処理において、ポジティブ画像であると判別されたウインドウ画像それぞれに対応する入力画像上の領域を、対象物が映っている対象物領域として、入力画像から検出し、処理は、ステップS60に進む。
【0156】
ステップS60では、判別部13は、入力画像に、対象物領域があるかどうか、つまり、ステップS59で、入力画像から、1つ以上の対象物領域が検出されたかどうかを判定する。
【0157】
ステップS60において、入力画像に、対象物領域がないと判定された場合、すなわち、ウインドウ画像判別処理において、入力画像から得られるウインドウ画像の中に、ポジティブ画像であると判別されたウインドウ画像が存在せず、したがって、入力画像に、対象物である人の顔が映っていない場合、処理は、ステップS61に進み、判別部13は、入力画像についての、対象物の存在の判別結果を表す判別結果情報として、例えば、対象物が存在しない旨のメッセージ等を出力し、判別処理を終了する。
【0158】
また、ステップS60において、入力画像に、対象物領域があると判定された場合、すなわち、入力画像に、1つ以上の対象物領域が存在する場合、処理は、ステップS62に進み、判別部13は、入力画像に存在する対象物領域の中に、互いに重なっている対象物領域があるかどうかを判定する。
【0159】
ステップS62において、入力画像に存在する対象物領域の中に、互いに重なっている対象物領域があると判定された場合、すなわち、入力画像に、複数の対象物領域が存在し、その複数の対象物領域の中に、互いに重なっている対象物領域がある場合、処理は、ステップS63に進み、判別部13は、入力画像において、互いに重なっている対象物領域の中から、任意の2つの互いに重なっている対象物領域を選択し、その2つの互いに重なっている対象物領域のうちの一方、すなわち、例えば、ウインドウ画像判別処理で求められる後述する評価値sが小さい方を、対象物領域から除外する。
【0160】
その後、処理は、ステップS63からステップS62に戻り、以下、ステップS62において、入力画像に存在する対象物領域の中に、互いに重なっている対象物領域がないと判定されるまで、ステップS62及びS63の処理が繰り返される。
【0161】
そして、ステップS62において、入力画像に存在する対象物領域の中に、互いに重なっている対象物領域がないと判定された場合、処理は、ステップS61に進み、判別部13は、入力画像についての、対象物の存在の判別結果を表す判別結果情報として、例えば、対象物が存在する旨のメッセージや、対象物領域を囲む枠を表示した入力画像等を出力し、判別処理を終了する。
【0162】
図7は、図6のステップS54で行われるウインドウ画像判別処理を説明するフローチャートである。
【0163】
ステップS71において、判別部13は、検出辞書記憶部20に記憶されたアンサンブル識別器H(x)を構成するT個の弱識別器h1(x),h2(x),・・・,hT(x)をカウントする変数tを、1に初期化する。
【0164】
さらに、ステップS71では、判別部13は、走査部12からのウインドウ画像に、対象物が映っているか否かを判別するための、ウインドウ画像を評価する評価値sを、0に初期化し、処理は、ステップS72に進む。
【0165】
ステップS72では、判別部13は、走査部12からのウインドウ画像から、t番目の弱識別器ht(x)に与える特徴量であるピクセル間差分特徴量xを抽出する。
【0166】
ここで、弱識別器ht(x)のパラメータであるピクセル位置対mは、ピクセル間差分特徴量xを求めるのに画素値を用いる、ウインドウ画像上の2つのピクセルのピクセル位置P1及びP2を表す。
【0167】
判別部13は、弱識別器ht(x)のパラメータであるピクセル位置対mが表すピクセル位置P1及びP2それぞれの画素値p1及びp2を、ウインドウ画像から抽出し、その画素値p1及びp2から、減算によって、ピクセル間差分特徴量x=p1-p2を求める。
【0168】
その後、処理は、ステップS72からステップS73に進み、判別部13は、直前のステップS72で求めたピクセル間差分特徴量xを、t番目の弱識別器ht(x)に与えて、その弱識別器ht(x)の演算を行い、弱仮説ht(x)を求めて、処理は、ステップS74に進む。
【0169】
ここで、ステップS73では、弱識別器ht(x)の演算として、弱識別器ht(x)の閾値thと、ピクセル間差分特徴量xとの比較が行われる。そして、式x>thが成り立つ場合には、弱仮説ht(x)として、+1が求められ、式x>thが成り立たない場合には、弱仮説ht(x)として、-1が求められる。
【0170】
ステップS74では、判別部13は、弱仮説ht(x)の重み付け値αtht(x)を求める。さらに、判別部13は、評価値sに、弱仮説ht(x)の重み付け値αtht(x)を加算することで、評価値sを更新して、処理は、ステップS74からステップS75に進む。
【0171】
ここで、ステップS74で得られる、更新後の評価値sが、図5で説明したt個の弱仮説の積算値Σαtht(x)であり、また、ステップS74で行われる評価値sの更新が、式(5)のアンサンブル識別器H(x)の出力である識別値H(x)を求めるための、弱仮説ht(x)(の重み付け値αtht(x)の)の積算である。
【0172】
ステップS75では、判別部13は、評価値sが、t番目の弱識別器ht(x)のパラメータである打ち切り閾値Rtより大きい値であるかどうかを判定する。
【0173】
ステップS75において、評価値sが、打ち切り閾値Rtより大きい値であると判定された場合、処理は、ステップS76に進み、判別部13は、変数tが、アンサンブル識別器H(x)を構成する弱識別器ht(x)の個数Tに等しいかどうかを判定する。
【0174】
ステップS76において、変数tが、アンサンブル識別器H(x)を構成する弱識別器ht(x)の個数Tに等しくないと判定された場合、処理は、ステップS77に進み、判別部13は、変数tを1だけインクリメントする。
【0175】
そして、処理は、ステップS77からステップS72に戻り、以下、同様の処理が繰り返される。
【0176】
また、ステップS76において、変数tが、アンサンブル識別器H(x)を構成する弱識別器ht(x)の個数Tに等しいと判定された場合、すなわち、識別値H(x)を求めるための、式(5)右辺のサメーションで表される積算が、アンサンブル識別器H(x)を構成するT個の弱識別器ht(x)の弱仮説ht(x)すべてを対象として行われた場合、処理は、ステップS78に進み、識別部13は、評価値sが閾値0より大であるかどうかを判定する。
【0177】
ステップS78において、評価値sが閾値0より大でないと判定された場合、すなわち、アンサンブル識別器H(x)を構成するT個の弱識別器ht(x)の弱仮説ht(x)すべてを対象とした積算値Σtαtht(x)(式(5)右辺のΣtαtht(x))の符号である識別値H(x)がプラスでない場合、処理は、ステップS79に進み、判別部13は、ウインドウ画像がネガティブ画像であると判別して、処理はリターンする。
【0178】
なお、ステップS75において、評価値sが、打ち切り閾値Rtより大きい値でないと判定された場合も、処理は、ステップS79に進み、判別部13は、ウインドウ画像がネガティブ画像であると判別し、処理はリターンする。
【0179】
したがって、評価値s、つまり、t個の弱仮説の積算値Σαtht(x)が、打ち切り閾値Rtより大きい値でない場合には、ステップS74で行われる評価値sの更新、つまり、式(5)のアンサンブル識別器H(x)の出力である識別値H(x)を求めるための、弱仮説ht(x)の積算は、打ち切られる。
【0180】
t個の弱仮説の積算値Σαtht(x)が、打ち切り閾値Rtより大きい値でない場合、ウインドウ画像がポジティブ画像である可能性は、極めて低いので、t個の弱仮説の積算値Σαtht(x)が、打ち切り閾値Rtより大きい値でなくなった時点で、弱仮説ht(x)の積算を打ち切ることにより、判別処理(図6)全体の高速化(短時間化)を図ることができる。
【0181】
一方、ステップS78において、評価値sが閾値0より大であると判定された場合、すなわち、アンサンブル識別器H(x)を構成するT個の弱識別器ht(x)の弱仮説ht(x)すべてを対象とした積算値Σtαtht(x)(式(5)右辺のΣtαtht(x))の符号である識別値H(x)がプラスである場合、処理は、ステップS80に進み、判別部13は、ウインドウ画像がポジティブ画像であると判別して、処理はリターンする。
【0182】
図8は、入力画像(動画)と、その入力画像を対象として、図1の判別装置において判別処理を行った場合のROC(Receiver Operating Characteristic)曲線とを示す図である。
【0183】
図8A及び図8Bの入力画像は、いずれも、対象物として、同一の人の顔が映っているポジティブ画像になっている。
【0184】
但し、図8Aの入力画像では、対象物全体に、なるべく偏りがないように、照明がされており、したがって、図8Aの入力画像は、対象物全体が、適切に照明された画像(適切照明画像)になっている。
【0185】
一方、図8Bの入力画像では、外光が、(向かって)右側から入り込んでおり、そのため、図8Bの入力画像は、対象物である人の顔の右側が明るく、左側が暗い(左側に(右側にはない)陰影が生じた)画像(偏り陰影画像)になっている。
【0186】
ROC曲線は、左上隅に近いほど、対象物判別の判別性能が高い(良い)ことを表す。
【0187】
図8では、図8Aの入力画像のROC曲線は、左上隅に寄っているが、図8Bの入力画像のROC曲線は、左上隅からやや離れている。
【0188】
すなわち、図8Bの入力画像である偏り陰影画像については、外光の影響により生じた、人の顔の左側の陰影によって、対象物判別の判別性能が低下している。
【0189】
図9は、図1の判別装置において、偏り陰影画像を対象とする対象物判別の判別性能が低下することを説明する図である。
【0190】
図9は、対象物である人の顔が映っているポジティブ画像である2つの入力画像(から切り出されたウインドウ画像)#1及び#2を示している。
【0191】
但し、入力画像#1は、対象物である人の顔全体が、適切に照明された適切照明画像になっているが、入力画像#2は、対象物である人の顔の右側に(左側にはない)陰影が生じた偏り陰影画像になっている。
【0192】
図9では、対象物判別において、入力画像の左側のあるピクセル位置P1の画素値p1と、右側のあるピクセル位置P2の画素値p2とから得られるピクセル間差分特徴量x=p1-p2が、弱識別器ht(x)の閾値thと比較されている。
【0193】
対象物である人の顔の右側に(左側にはない)陰影が生じた偏り陰影画像になっている入力画像#2については、弱識別器ht(x)の閾値thと比較されるピクセル間差分特徴量x=p1-p2が、適切照明画像である入力画像#1について求められる値に比較して大きく異なる値となって、弱識別器ht(x)の弱仮説ht(x)に悪影響を与え、対象物判別の判別性能が低下することがある。
【0194】
図10は、入力画像が、対象物全体が適切に照明された適切照明画像でない場合に対処する方法を説明する図である。
【0195】
図10では、入力画像の全体が暗くなっている。
【0196】
全体が暗い入力画像については、輝度を、1以上の所定数であるk倍に変換する輝度変換フィルタを、入力画像全体にかけることにより、入力画像の輝度分布を、ある程度適切な輝度分布にすることができる。
【0197】
そして、輝度変換フィルタがかけられることによって、適切な輝度分布となった入力画像としての適切照明画像を対象として、判別処理を行うことにより、判別性能の低下を防止することができる。
【0198】
ここで、輝度変換フィルタでは、画素値pがk倍されて出力される。輝度変換フィルタに入力される入力値Inputと、輝度変換フィルタから出力される出力値Outputとの関係は、式Output=k×Inputで表される。
【0199】
なお、入力画像が、明るすぎる画像である場合には、輝度を、1以下の所定数であるk倍に変換する輝度変換フィルタを用いることによって、入力画像は、ある程度適切な輝度分布の画像としての適切照明画像に変換される。
【0200】
以上のように、入力画像の全体が暗い(又は、明るすぎる)場合には、その入力画像の全体に、輝度変換フィルタをかけて、入力画像を、ある程度適切な輝度分布の画像に変換することにより、判別性能の低下を防止することができるが、入力画像の一部だけが暗い場合、判別性能の低下を防止するには、輝度変換フィルタは、その暗い部分にだけかける必要がある。
【0201】
すなわち、入力画像が、例えば、図8Bに示したように、右側からの光(外光)によって照明された対象物である人の顔が映っている偏り陰影画像である場合、人の顔の右側が明るく、左側に陰影が生じているので、陰影が生じている左側の部分にだけ、画素値pを、1以上の所定数k倍する輝度変換フィルタを、部分的にかける必要がある。
【0202】
図11は、図1の判別装置が行う図6の判別処理において、輝度変換フィルタを、部分的にかける場合を説明する図である。
【0203】
図1の判別装置が行う図6の判別処理において、輝度変換フィルタを、部分的にかける場合には、入力画像がスケーリングされ、そのスケーリング後のスケーリング画像から、ウインドウ画像が切り出された後、ウインドウ画像判別処理(図6のステップS54)が行われる前に、ウインドウ画像に対して、輝度変換フィルタを部分的にかける部分的フィルタ処理を行う必要がある。
【0204】
したがって、1枚の入力画像については、その入力画像から生成されるすべてのスケーリング画像から切り出されるすべてのウインドウ画像に、部分的フィルタ処理を行う必要があり、判別処理で行う必要がある部分的フィルタ処理の処理コストが膨大になる。
【0205】
[本技術を適用した判別装置の一実施の形態]
【0206】
そこで、図12は、本技術の情報処理装置を適用した判別装置の一実施の形態の構成例を示すブロック図である。
【0207】
なお、図中、図1の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0208】
図12の判別装置は、判別処理部10、及び、検出辞書記憶部20を有する点で、図1の場合と共通する。
【0209】
但し、図12の判別装置は、画像取得部51、光源推定部52、陰影領域認識部53、補正情報算出部54、補正情報記憶部55、補正部56、及び、平均画像記憶部57が新たに設けられている点で、図1の場合と相違する。
【0210】
図12の判別装置では、検出辞書記憶部20に記憶されたアンサンブル識別器H(x)のパラメータを補正することで、入力画像について、その入力画像から生成されるすべてのスケーリング画像から切り出されるすべてのウインドウ画像に、部分的フィルタ処理を施す場合と同様の効果を得ることができるようになっている。
【0211】
画像取得部51は、例えば、カメラ等で構成され、画像を撮影し、入力画像として、判別処理部10、光源推定部52、及び、陰影領域認識部53に供給する。
【0212】
ここで、光源推定部52ないし平均画像記憶部57は、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器H(x)のキャリブレーションを行うキャリブレーション装置として機能する。
【0213】
キャリブレーションは、例えば、対象物である人の顔が映っているポジティブ画像を、キャリブレーション用の入力画像として用いて行われる。
【0214】
画像取得部51は、光源推定部52、及び、陰影領域認識部53には、キャリブレーション用の入力画像(以下、キャリブレーション用画像ともいう)を供給する。
【0215】
光源推定部52は、画像取得部51からのキャリブレーション用画像から、そこに映っている対象物(人の顔)を照明する光源を推定し、その推定結果を、陰影領域認識部53に供給する。
【0216】
陰影領域認識部53は、光源推定部52からの光源の推定結果に基づいて、画像取得部51からのキャリブレーション用画像において、光源によって陰影が生じる陰影領域を認識し、その陰影領域(を表す情報)を、補正情報算出部54に供給する。
【0217】
すなわち、陰影領域認識部53は、例えば、光源推定部52からの光源の推定結果に基づいて、画像取得部51からのキャリブレーション用画像(から切り出されるウインドウ画像)において、光源からの光によって陰影が生じる境界である陰影境界を検出する。
【0218】
さらに、陰影領域認識部53は、画像取得部51からのキャリブレーション用画像の、陰影境界によって分けられる2つの領域のうちの、光源推定部52からの光源の推定結果から得られる光源の位置(方向)と逆側の領域を、光源によって陰影が生じる陰影領域として認識し、補正情報算出部54に供給する。
【0219】
補正情報算出部54は、光源推定部52による光源の推定結果、ひいては、その光源の推定結果に基づいて陰影領域認識部53で得られる陰影領域に基づき、必要に応じて、平均画像記憶部57に記憶された平均画像を用いて、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器H(x)のパラメータを補正する補正情報を算出し、補正情報記憶部55に供給する。
【0220】
補正情報記憶部55は、補正情報算出部54からの補正情報を記憶する。
【0221】
補正部56は、補正情報記憶部55に記憶された補正情報を用い、必要に応じて、平均画像記憶部57に記憶された平均画像を参照して、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器H(x)のパラメータを補正し、補正後の検出辞書を、判別処理部10に供給する。
【0222】
したがって、図12では、判別処理部10において、補正後の検出辞書、すなわち、パラメータが補正されたアンサンブル識別器H(x)を用いて、画像取得部51から供給される入力画像に、対象物(人の顔)が映っているかどうかの対象物判別が行われる。
【0223】
平均画像記憶部57は、複数のポジティブ画像、すなわち、例えば、アンサンブル学習に用いられた学習用画像に含まれるポジティブ画像(正解ラベルyi=+1の画像)を平均化した平均画像を記憶している。
【0224】
なお、図12の判別装置において、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器H(x)のパラメータや、平均画像記憶部57に記憶された平均画像は、判別装置を構成する各ブロックにおいて、必要に応じて参照することができる。
【0225】
図13は、図12の平均画像記憶部57に記憶されている平均画像の例を示す図である。
【0226】
平均画像は、補正情報を用いたアンサンブル識別器H(x)のパラメータの補正(及び、補正情報の算出)に、必要に応じて用いられる。
【0227】
[本技術の原理]
【0228】
図14は、本技術の原理を説明する図である。
【0229】
すなわち、図14Aは、入力画像から切り出されたウインドウ画像を示しており、図14Bは、図13に示した平均画像を示している。
【0230】
図14Aのウインドウ画像において、光源の影響によって、例えば、左半分が、右半分に比べて暗く、陰影領域になっている場合に、判別性能の低下を防止するには、ウインドウ画像判別処理(図7)の前に、図14Aのウインドウ画像の左半分の陰影領域(の画素値)だけを、右半分と同程度の輝度分布となるようにk倍する部分的フィルタ処理を行う必要がある。
【0231】
ところで、以上のような、左半分をk倍する部分的フィルタ処理後のウインドウ画像を対象として、アンサンブル識別器H(x)を用いて、ウインドウ画像判別処理を行うことは、ウインドウ画像の陰影領域に対応する、学習用画像の左半分だけを1/k倍した画像を用いて、アンサンブル学習を行うことにより得られるアンサンブル識別器H(x)を用いて、ウインドウ画像判別処理を行うことと等価である。
【0232】
すなわち、例えば、画素値をk=2倍にする部分的フィルタ処理を行った後のウインドウ画像を対象として、アンサンブル識別器H(x)を用いて、ウインドウ画像判別処理を行うことは、画素値を1/k=1/2倍にする部分的フィルタ処理を行った後の学習用画像を用いて、アンサンブル学習を行うことにより得られるアンサンブル識別器H(x)を用いて、ウインドウ画像判別処理を行うことと等価である。
【0233】
そこで、本技術では、学習用画像を用いて、アンサンブル学習を行うことにより得られたアンサンブル識別器(以下、基準識別器ともいう)のパラメータを、画素値を1/k倍にする部分的フィルタ処理を行った後の学習用画像を用いて、アンサンブル学習を行うことにより得られるアンサンブル識別器(以下、フィルタ処理後識別器ともいう)のパラメータに補正することにより、ウインドウ画像に部分的フィルタ処理を行うことなく、ウインドウ画像に部分的フィルタ処理を行う場合と同様の効果を得る。
【0234】
以上のように、本技術では、基準識別器のパラメータを、フィルタ処理後識別器のパラメータに補正するが、その補正は、平均画像を用いて、近似的に行われる。
【0235】
すなわち、本技術では、図14Bに示すように、学習用画像の代わりに、その学習用画像を近似する、学習用画像に含まれるポジティブ画像を平均化した平均画像に、画素値を1/k倍にする部分的フィルタ処理を行い、その部分的フィルタ処理後の平均画像を必要に応じて用いて、基準識別器のパラメータが補正される。
【0236】
図15は、基準識別器のパラメータの補正を説明する図である。
【0237】
すなわち、図15は、ウインドウ画像の、例えば、右半分をk倍する部分的フィルタ処理を行う場合と同様の効果を得る基準識別器のパラメータの補正を説明する図である。
【0238】
例えば、いま、ウインドウ画像の、右半分が陰影領域になっており、その陰影領域を(≧1)k倍する部分的フィルタ処理を行うこととすると、学習用画像を近似する平均画像の右半分(陰影領域に対応する領域)を、1以下の正数であるk'=1/k倍する部分的フィルタ処理を行うことにより、ウインドウ画像の右半分をk倍する部分的フィルタ処理と同様の効果を得ることができる。
【0239】
ここで、陰影領域に対応する平均画像の右半分をk'=1/k倍する部分的フィルタ処理を行った平均画像において、ピクセル位置対である2つのピクセル位置P1及びP2が、いずれも、平均画像の左半分側のピクセル位置であるときには、右半分をk'=1/k倍する部分的フィルタ処理を行う前と後で、平均画像のピクセル位置P1及びP2の画素値p1及びp2は変わらない。
【0240】
したがって、ピクセル位置対である2つのピクセル位置P1及びP2が、いずれも、平均画像の左半分側のピクセル位置になっている弱識別器ht(x)の引数xとなるピクセル間差分特徴量xは、右半分をk'=1/k倍する部分的フィルタ処理を行う前と後で、変わらない。
【0241】
弱識別器ht(x)の演算(弱仮説ht(x)の算出)は、図7で説明したように、弱識別器ht(x)の閾値thと、その引数xとなっているピクセル間差分特徴量xとが、式x>thを満たすかどうかによって行われるので、ピクセル間差分特徴量xが、右半分をk'=1/k倍する部分的フィルタ処理を行う前と後で変わらない場合には、アンサンブル識別器H(x)のパラメータである閾値thを補正する必要はない。
【0242】
一方、ピクセル位置対である2つのピクセル位置P1及びP2のうちの一方であるピクセル位置P1が、平均画像の左半分側(陰影領域に対応する領域)のピクセル位置であるが、他方であるピクセル位置P2が、右半分側(陰影領域に対応する領域でない領域)のピクセル位置であるときには、右半分をk'=1/k倍する部分的フィルタ処理を行う前と後で、ピクセル位置P1の画素値は変わらないが、ピクセル位置P2の画素値は変化する。
【0243】
すなわち、図15Aは、ピクセル位置対である2つのピクセル位置P1及びP2のうちの一方のピクセル位置P1が、平均画像の左半分側のピクセル位置であり、他方のピクセル位置P2が、右半分側のピクセル位置である場合の平均画像を示している。
【0244】
右半分をk'=1/k倍する部分的フィルタ処理を行う前の、ピクセル位置P1の画素値をp1と、ピクセル位置P2の画素値をp2と、それぞれ表すとともに、右半分をk'=1/k倍する部分的フィルタ処理を行った後の、ピクセル位置P1の画素値をp1'と、ピクセル位置P2の画素値をp2'と、それぞれ表すこととすると、右半分をk'=1/k倍する部分的フィルタ処理を行った後の、ピクセル位置P1の画素値p1'は、p1のままであるが、ピクセル位置P2の画素値p2'は、k'p2になる。
【0245】
したがって、ピクセル位置対である2つのピクセル位置P1及びP2のうちの一方のピクセル位置P1が、平均画像の左半分側のピクセル位置であり、他方のピクセル位置P2が、右半分側のピクセル位置になっている弱識別器ht(x)の引数xとなるピクセル間差分特徴量xは、部分的フィルタ処理を行う前と後で、変化する。
【0246】
すなわち、部分的フィルタ処理を行う前では、ピクセル間差分特徴量xは、p1-p2であり、部分的フィルタ処理を行った後では、ピクセル間差分特徴量xは、p1'-p2'=p1-k'p2となる。
【0247】
部分的フィルタ処理を行う前では、弱識別器ht(x)の演算は、その弱識別器ht(x)の閾値thと、ピクセル間差分特徴量x=p1-p2とが、式x=p1-p2>thを満たすかどうかによって行われる。
【0248】
一方、部分的フィルタ処理を行った後では、ピクセル間差分特徴量xは、p1-k'p2となるため、弱識別器ht(x)の閾値thを、そのまま用いたのでは、部分的フィルタ処理を行う前と同様の、式p1-p2>th(を満たすかどうか)の比較が行われない。
【0249】
ところで、式p1-p2>thは、両辺に、(1-k')p2を加算することにより、式p1-k'p2>th+(1-k')p2に変形することができる。
【0250】
式p1-k'p2>th+(1-k')p2において、左辺のp1-k'p2は、部分的フィルタ処理を行った後に求められるピクセル間差分特徴量x(=p1-k'p2)に等しい。
【0251】
そして、式p1-k'p2>th+(1-k')p2の比較は、式p1-p2>thの比較と等価であるから、thnew=th+(1-k')p2を閾値として、式p1-k'p2>thnewの比較を行うことにより、式p1-p2>thの比較と等価な比較を行うことができる。
【0252】
したがって、部分的フィルタ処理を行った後で得られるピクセル間差分特徴量x=p1-k'p2については、弱識別器ht(x)の閾値thを、閾値thnew=th+(1-k')p2に補正し、その補正後の閾値thnewを用いて、弱識別器ht(x)の演算を行うことにより、部分的フィルタ処理を行う前に得られるピクセル間差分特徴量x=p1-p2について行われる式p1-p2>thの比較と等価な式p1-k'p2>thnewの比較を行うことができる。
【0253】
なお、ピクセル位置対である2つのピクセル位置P1及びP2のうちの一方のピクセル位置P1が、平均画像の右半分側(陰影領域に対応する領域)のピクセル位置であり、他方のピクセル位置P2が、左半分側(陰影領域に対応する領域でない領域)のピクセル位置になっている弱識別器ht(x)については、その弱識別器ht(x)の閾値thを、閾値thnew=th−(1-k')p1に補正することで、式p1-p2>thの比較と等価な式k'p1-p2>thnewの比較を行うことができる。
【0254】
図15Bは、ピクセル位置対である2つのピクセル位置P1及びP2のうちの両方のピクセル位置P1及びP2が、右半分側(陰影領域に対応する領域)のピクセル位置である場合の平均画像を示している。
【0255】
図15Aと同様に、右半分をk'=1/k倍する部分的フィルタ処理を行う前の、ピクセル位置P1の画素値をp1と、ピクセル位置P2の画素値をp2と、それぞれ表すとともに、右半分をk'=1/k倍する部分的フィルタ処理を行った後の、ピクセル位置P1の画素値をp1'と、ピクセル位置P2の画素値をp2'と、それぞれ表すこととすると、右半分をk'=1/k倍する部分的フィルタ処理を行った後の、ピクセル位置P1の画素値p1'は、k'p1になり、ピクセル位置P2の画素値p2'は、k'p2になる。
【0256】
したがって、ピクセル位置対である2つのピクセル位置P1及びP2のうちの両方が、右半分側のピクセル位置になっている弱識別器ht(x)の引数xとなるピクセル間差分特徴量xは、部分的フィルタ処理を行う前と後で、変化する。
【0257】
すなわち、部分的フィルタ処理を行う前では、ピクセル間差分特徴量xは、p1-p2であり、部分的フィルタ処理を行った後では、ピクセル間差分特徴量xは、p1'-p2'=k'p1-k'p2となる。
【0258】
部分的フィルタ処理を行う前では、弱識別器ht(x)の演算は、その弱識別器ht(x)の閾値thと、ピクセル間差分特徴量x=p1-p2とが、式x=p1-p2>thを満たすかどうかによって行われる。
【0259】
一方、部分的フィルタ処理を行った後では、ピクセル間差分特徴量xは、k'p1-k'p2となるため、弱識別器ht(x)の閾値thを、そのまま用いたのでは、部分的フィルタ処理を行う前と同様の、式p1-p2>th(を満たすかどうか)の比較が行われない。
【0260】
ところで、式p1-p2>thは、両辺に、k'を乗算することにより、式k'p1-k'p2>th×k'に変形することができる。
【0261】
式k'p1-k'p2>th×k'において、左辺のk'p1-k'p2は、部分的フィルタ処理を行った後に求められるピクセル間差分特徴量x(=k'p1-k'p2)に等しい。
【0262】
そして、式k'p1-k'p2>th×k'の比較は、式p1-p2>thの比較と等価であるから、thnew=th×k'を閾値として、式k'p1-k'p2>thnewの比較を行うことにより、式p1-p2>thの比較と等価な比較を行うことができる。
【0263】
したがって、部分的フィルタ処理を行った後で得られるピクセル間差分特徴量x=k'p1-k'p2については、弱識別器ht(x)の閾値thを、閾値thnew=th×k'に補正し、その補正後の閾値thnewを用いて、弱識別器ht(x)の演算を行うことにより、部分的フィルタ処理を行う前に得られるピクセル間差分特徴量x=p1-p2について行われる式p1-p2>thの比較と等価な式k'p1-k'p2>thnewの比較を行うことができる。
【0264】
以上から、ウインドウ画像の一部が、陰影領域になっている場合は、弱識別器ht(x)の引数xになっているピクセル間差分特徴量xを求めるためのピクセル位置対である2つのピクセル位置P1及びP2のうちの、少なくとも一方が、陰影領域内にあるときには、弱識別器ht(x)の閾値thを、上述したように、閾値thnewに補正して弱識別器ht(x)の演算を行うことで、ウインドウ画像の陰影領域(の画素値)をk倍する部分的フィルタ処理を行う場合と同様の効果を得ることができる。
【0265】
弱識別器ht(x)の引数xになっているピクセル間差分特徴量xを求めるためのピクセル位置対である2つのピクセル位置P1及びP2、並びに、閾値thは、弱識別器ht(x)のパラメータであるので、検出辞書記憶部20(図12)に記憶されている。
【0266】
また、平均画像は、平均画像記憶部57に記憶されている。
【0267】
したがって、ウインドウ画像において、部分的フィルタ処理を行う(べき)陰影領域と、その陰影領域(の画素値)を、部分的フィルタ処理によって何倍にするかの倍率kとが決定されれば、アンサンブル識別器(基準識別器)H(x)を構成する弱識別器ht(x)の中で、閾値thを補正する(補正すべき)弱識別器と、補正後の閾値thnewとを求めることができる。
【0268】
すなわち、陰影領域に基づき、ピクセル間差分特徴量xを求めるためのピクセル位置対である2つのピクセル位置P1及びP2のうちの、少なくとも一方が、陰影領域内にある弱識別器ht(x)を、閾値thを補正すべき弱識別器ht(x)として求めることができる。
【0269】
そして、上述したように、倍率kの逆数であるk'=1/kに基づき、ピクセル位置対である2つのピクセル位置P1及びP2のうちの一方だけが、陰影領域内にある弱識別器ht(x)については、閾値thの補正後の閾値thnewは、式thnew=th+(1-k')p2、又は、式thnew=th−(1-k')p1に従って求めることができ、ピクセル位置対である2つのピクセル位置P1及びP2の両方が、陰影領域内にある弱識別器ht(x)については、閾値thの補正後の閾値thnewは、式thnew=th×k'に従って求めることができる。
【0270】
ここで、ウインドウ画像の陰影領域を、部分的フィルタ処理によって何倍にするかの倍率kの逆数であるk'=1/kは、閾値thを、閾値thnewに補正するのに用いられる係数であるので、以下、補正係数ともいう。
【0271】
図12の判別装置では、補正情報算出部54において、補正係数k'が決定(算出)され、陰影領域認識部53で得られる陰影領域とともに、補正情報として、補正情報記憶部55に記憶される。
【0272】
そして、補正部56において、補正情報記憶部55に記憶された補正情報を用いて、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器(基準識別器)が、フィルタ処理後識別器に補正される。
【0273】
すなわち、補正部56では、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器(基準識別器)を構成する各弱識別器ht(x)の閾値thが、図15で説明したように、閾値thnewに補正される。
【0274】
補正部56は、各弱識別器ht(x)の閾値thを閾値thnewに補正したアンサンブル識別器であるフィルタ処理後識別器(のパラメータ)を、判別処理部10に供給する。判別処理部10では、補正部56からのフィルタ処理後識別器を用いて、画像取得部51から供給される入力画像を対象とした対象物判別が行われる。
【0275】
なお、補正部56では、画像取得部51から判別処理部10に入力画像が供給されるたびに、検出辞書記憶部20からアンサンブル識別器(基準識別器)を読み出して、フィルタ処理後識別器に補正し、判別処理部10に供給することができるが、入力画像の供給のたびに、検出辞書記憶部20からアンサンブル識別器を読み出して補正するのでは、処理の高速化の妨げとなる。
【0276】
そこで、図12の判別装置では、例えば、電源がオンにされた直後や補正情報記憶部55に補正情報が記憶された直後に、初期化処理を行うことができる。
【0277】
初期化処理において、補正部56が、検出辞書記憶部20からアンサンブル識別器(基準識別器)を読み出して、フィルタ処理後識別器に補正し、判別処理部10が、フィルタ処理後識別器(のパラメータ)を、図示せぬメモリに展開することで、以降は、判別処理部10において、メモリに展開されたフィルタ処理後識別器を用いて、高速に、処理を行うことができる。
【0278】
[光源推定部52の処理]
【0279】
図16は、図12の光源推定部52が、キャリブレーション用画像から、そこに映っている対象物(人の顔)を照明する光源を推定する光源推定方法を説明する図である。
【0280】
すなわち、図16は、光源が、ある方向(位置)にあると仮定した場合に、k'=1/k倍する部分的フィルタ処理を行う平均画像の領域、すなわち、入力画像から切り出されたウインドウ画像に生じる陰影領域に対応する、平均画像の領域(以下、フィルタ領域ともいう)を示している。
【0281】
図16Aは、光源が、(対象物の)右上方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像の左上と右下とを結ぶ対角線を境界線とする、平均画像の左下側の領域と右上側の領域のうちの、左下側の領域が、フィルタ領域になっている。
【0282】
図16Bは、光源が、左上方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像の左下と右上とを結ぶ対角線を境界線とする、平均画像の左上側の領域と右下側の領域のうちの、右下側の領域が、フィルタ領域になっている。
【0283】
図16Cは、光源が、右下方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像の左下と右上とを結ぶ対角線を境界線とする、平均画像の左上側の領域と右下側の領域のうちの、左上側の領域が、フィルタ領域になっている。
【0284】
図16Dは、光源が、左下方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像の左上と右下とを結ぶ対角線を境界線とする、平均画像の左下側の領域と右上側の領域のうちの、右上側の領域が、フィルタ領域になっている。
【0285】
図16Eは、光源が、下方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像を上下に2等分する線を境界線とする、平均画像の上側の領域と下側の領域のうちの、上側の領域が、フィルタ領域になっている。
【0286】
図16Fは、光源が、上方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像を上下に2等分する線を境界線とする、平均画像の上側の領域と下側の領域のうちの、下側の領域が、フィルタ領域になっている。
【0287】
図16Gは、光源が、右方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像を左右に2等分する線を境界線とする、平均画像の左側の領域と右側の領域のうちの、左側の領域が、フィルタ領域になっている。
【0288】
図16Hは、光源が、左方向にあると仮定した場合のフィルタ領域を示しており、矩形の平均画像を左右に2等分する線を境界線とする、平均画像の左側の領域と右側の領域のうちの、右側の領域が、フィルタ領域になっている。
【0289】
光源推定部52は、図16Aないし図16Hに示したように、複数としての、例えば、8つの方向(位置)それぞれにあると仮定した光源について、その光源によって生じる陰影領域に対応するフィルタ領域を想定し、図15で説明したようにして、閾値thを閾値thnewに補正したフィルタ処理後識別器を求める。
【0290】
さらに、光源推定部52は、各方向にあると仮定した光源について求められたフィルタ処理後識別器を用いて、画像取得部51からのキャリブレーション用画像から対象物が映っている部分を切り出したウインドウ画像(以下、キャリブレーション用ウインドウ画像ともいう)を対象としたウインドウ画像判別処理(図7)を行う。
【0291】
なお、光源推定部52において、フィルタ処理後識別器の算出(閾値thの、閾値thnewへの補正)、及び、そのフィルタ処理後識別器を用いたウインドウ画像判別処理は、補正係数k'=1/kを、1.0以下の、例えば、0.1から1.0の範囲で、0.1刻みで変えた複数の補正係数k'に対して行う。
【0292】
そして、光源推定部52は、ウインドウ画像判別処理の結果、キャリブレーション用ウインドウ画像がポジティブ画像であると判別されたフィルタ処理後識別器を求めるのに仮定した光源の方向に、光源があると推定する。
【0293】
ここで、キャリブレーション用ウインドウ画像がポジティブ画像であると判別されたフィルタ処理後識別器が複数個ある場合には、例えば、対象物が存在することの尤もらしさを表すスコアとしての、例えば、ウインドウ画像判別処理で求められる評価値s(弱仮説ht(x)の(信頼度αtを重みとする)積算値Σ(αt×ht(x)))が最も高いフィルタ処理後識別器を求めるのに仮定した光源の方向に、光源があると推定することができる。
【0294】
図17は、図12の光源推定部52が光源を推定する他の光源推定方法を説明する図である。
【0295】
図17は、画像取得部51から光源推定部52に供給されるキャリブレーション用画像を示している。
【0296】
光源推定部52は、図17に示すように、例えば、キャリブレーション用画像の横と縦のそれぞれを、3等分することにより、キャリブレーション用画像を、複数である9個のブロックB#1,B#2,B#3,B#4,B#5,B#6,B#7,B#8,B#9に分割する。
【0297】
さらに、光源推定部52は、例えば、入力画像の周辺側(画枠側)のブロックB#1ないしB#8それぞれのヒストグラムを求め、ブロックB#1ないしB#8の中で、例えば、最頻値(最大の度数)の輝度(画素値)が最大のブロックを、最も明るいブロックとして検出する。
【0298】
そして、光源推定部52は、キャリブレーション用画像の中央(ブロック#9)から見て、最も明るいブロックがある方向に、光源があると推定する。
【0299】
すなわち、光源推定部52では、最も明るいブロックがブロックB#1である場合には、左上方向に、最も明るいブロックがブロックB#2である場合には、上方向に、最も明るいブロックがブロックB#3である場合には、右上方向に、最も明るいブロックがブロックB#4である場合には、左方向に、最も明るいブロックがブロックB#5である場合には、右方向に、最も明るいブロックがブロックB#6である場合には、左下方向に、最も明るいブロックがブロックB#7である場合には、下方向に、最も明るいブロックがブロックB#8である場合には、右下方向に、それぞれ、光源があると推定される。
【0300】
なお、光源推定部52において光源を推定する光源推定方法は、図16及び図17で説明した方法に限定されるものではない。
【0301】
すなわち、画像から光源分布を推定する逆問題は、inverce lighting(又はrendering)と呼ばれ、主として、物体表面で観察される鏡面反射成分に基づくアプローチ、拡散反射成分に基づくアプローチ、及び、ある物体が他の物体に投げかける影(キャストシャドウ)を利用したアプローチの3つのアプローチがあるが、光源推定部52での光源推定方法としては、このようなアプローチを採用することができる。
【0302】
また、光源推定部52では、対象物が既知の物体である場合には、例えば、図16で説明した光源推定方法で、光源の方向を推定した後に、対象物が既知の物体であることを利用して、光源の、より詳細な方向を推定することができる。
【0303】
光源推定部52で採用する光源推定方法は、特に限定されるものではないが、対象物判別の判別性能の低下を防止する観点からは、光源の詳細な方向を推定することができることが望ましい。
【0304】
[陰影領域認識部53の処理]
【0305】
図18は、図12の陰影領域認識部53が、キャリブレーション用画像において、光源からの光によって陰影が生じる陰影境界を検出する境界検出方法を説明する図である。
【0306】
陰影領域認識部53では、光源推定部52による光源の推定結果に基づいて、キャリブレーション用画像のうちのキャリブレーション用ウインドウ画像上の陰影境界が検出される。
【0307】
すなわち、光源推定部52において、例えば、図17で説明したように、光源(の方向)が推定され、光源の推定結果が、光源が右上方向にあることを表している場合、陰影領域認識部53は、図18に示すように、矩形のキャリブレーション用ウインドウ画像の左上と右下とを結ぶ対角線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の左下側の領域と右上側の領域のうちの、光源と逆側の左下側の領域を、陰影領域として認識する。
【0308】
同様に、光源の推定結果が、光源が左上方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像の左下と右上とを結ぶ対角線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の左上側の領域と右下側の領域のうちの、光源と逆側の右下側の領域を、陰影領域として認識する。
【0309】
光源の推定結果が、右下方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像の左下と右上とを結ぶ対角線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の左上側の領域と右下側の領域のうちの、光源と逆側の左上側の領域を、陰影領域として認識する。
【0310】
光源の推定結果が、左下方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像の左上と右下とを結ぶ対角線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の左下側の領域と右上側の領域のうちの、光源と逆側の右上側の領域を、陰影領域として認識する。
【0311】
光源の推定結果が、下方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像を上下に2等分する線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の上側の領域と下側の領域のうちの、光源と逆側の上側の領域を、陰影領域として認識する。
【0312】
光源の推定結果が、上方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像を上下に2等分する線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の上側の領域と下側の領域のうちの、光源と逆側の下側の領域を、陰影領域として認識する。
【0313】
光源の推定結果が、左方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像を左右に2等分する線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の左側の領域と右側の領域のうちの、光源と逆側の右側の領域を、陰影領域として認識する。
【0314】
光源の推定結果が、右方向にあることを表している場合、陰影領域認識部53は、矩形のキャリブレーション用ウインドウ画像を左右に2等分する線を陰影境界として検出する。そして、陰影領域認識部53は、その陰影境界によって分けられるキャリブレーション用ウインドウ画像の左側の領域と右側の領域のうちの、光源と逆側の左側の領域を、陰影領域として認識する。
【0315】
なお、陰影領域認識部53において、陰影境界を検出する境界検出方法(及び、陰影領域を認識する認識方法)は、図18で説明した方法に限定されるものではない。
【0316】
すなわち、例えば、光源推定部52において、例えば、図16で説明したように、光源(の方向)が推定される場合には、陰影領域認識部53では、その光源の推定結果が表す方向に、光源があると仮定した場合の、図16のフィルタ領域の境界が、陰影境界として検出されるとともに、そのフィルタ領域が、陰影領域として認識される。
【0317】
図19は、他の境界検出方法を説明する図である。
【0318】
図19Aは、キャリブレーション用ウインドウ画像の画素値を、0又は1に2値化した2値化画像を用いて、陰影境界を検出する境界検出方法を説明する図である。
【0319】
図19Aでは、陰影領域認識部53において、キャリブレーション用ウインドウ画像の画素値のヒストグラムが求められ、そのヒストグラムに基づき、例えば、画素値が0に2値化される画素の数と、画素値が1に2値化される画素の数とが、(ほぼ)同一の数になるように、2値化に用いる2値化用閾値が求められる。
【0320】
さらに、陰影領域認識部53では、キャリブレーション用ウインドウ画像の画素値が、2値化用閾値を用いた閾値処理によって2値化され、2値化画像が求められる。
【0321】
そして、陰影領域認識部53では、2値化画像を、画素値が1の画素が多い領域と、画素値が0の画素が多い領域とに分ける、例えば、光源の推定結果が表す光源の方向と直交する線形の境界線が、陰影境界として検出される。
【0322】
なお、この場合、2値化画像において、画素値が0の画素が多い領域を、陰影領域として認識することができる。
【0323】
図19Bは、3次元モデルを用いて、陰影境界を検出する境界検出方法を説明する図である。
【0324】
光源推定部52において、光源の推定結果として、光源と対象物との3次元的な位置関係を得ることができる場合には、陰影領域認識部53において、キャリブレーション用ウインドウ画像に映る対象物の3次元モデルを用い、光源と対象物との3次元的な位置関係に基づき、光源による光が、対象物の3次元モデルを、どのように照明するかのシミュレーションを行うことができる。
【0325】
そして、陰影領域認識部53では、そのシミュレーションの結果に基づいて、キャリブレーション用ウインドウ画像を、明るい領域と暗い領域とに分ける、線形又は非線形の境界である陰影境界が検出される。
【0326】
なお、この場合、キャリブレーション用ウインドウ画像の、暗い領域が、陰影領域として認識される。
【0327】
[補正情報算出部54の処理]
【0328】
図20は、図12の補正情報算出部54が補正係数k'を決定(算出)する方法を説明する図である。
【0329】
対象物判別の判別性能の低下を、より強固に防止する適切な補正係数k'は、光源の強さや、距離、方向等の環境条件により異なる。そこで、補正情報算出部54は、例えば、以下のようにして、適切な補正係数k'を決定する。
【0330】
すなわち、補正情報算出部54は、陰影領域認識部53からの陰影領域に基づき、図15で説明したように、ピクセル間差分特徴量xを求めるためのピクセル位置対である2つのピクセル位置P1及びP2のうちの、少なくとも一方が、陰影領域内にある弱識別器ht(x)を、閾値thを補正すべき弱識別器(以下、補正対象弱識別器ともいう)ht(x)として求める。
【0331】
また、補正情報算出部54は、補正対象弱識別器ht(x)の閾値thの補正を、例えば、0.1から1.0の範囲で、0.1刻みで変えた複数の補正係数k'の候補を用いて行い、複数の補正係数k'の候補それぞれについて、補正対象弱識別器ht(x)の閾値thが補正されたアンサンブル識別器であるフィルタ処理後識別器を求める。
【0332】
さらに、補正情報算出部54は、複数の補正係数k'の候補それぞれについて求められたフィルタ処理後識別器を用い、画像取得部51から陰影領域認識部53を経由して供給されるキャリブレーション用ウインドウ画像を対象としたウインドウ画像判別処理を行う。
【0333】
そして、補正情報算出部54は、ウインドウ画像判別処理の結果、キャリブレーション用ウインドウ画像がポジティブ画像であると判別されたフィルタ処理後識別器を求めるのに用いられた補正係数k'の候補が、補正係数k'に決定される。
【0334】
ここで、キャリブレーション用ウインドウ画像がポジティブ画像であると判別されたフィルタ処理後識別器が2個以上ある場合には、その2個以上のフィルタ処理後識別器を求めるのに用いられた補正係数k'の候補の、例えば、中央値(メディアン)を、補正係数k'に決定することができる。
【0335】
図20では、値が0.2,0.3,0.4,0.5,0.6の5個の補正係数k'の候補それぞれによって、補正対象弱識別器ht(x)の閾値thの補正が行われたフィルタ処理後識別器を用いた場合に、キャリブレーション用ウインドウ画像がポジティブ画像であると判別されており、その5個の補正係数k'の候補のうちの中央値である0.4が、補正係数k'に決定されている。
【0336】
なお、キャリブレーション用ウインドウ画像がポジティブ画像であると判別されたフィルタ処理後識別器が2個以上ある場合には、その2個以上のフィルタ処理後識別器を求めるのに用いられた補正係数k'の候補の、中央値の他、例えば、対象物が存在することの尤もらしさを表すスコアとしての、ウインドウ画像判別処理で求められる評価値sが最も高いフィルタ処理後識別器を求めるのに用いられた補正係数k'の候補を、補正係数k'に決定することができる。
【0337】
[キャリブレーション用画像の取得方法]
【0338】
図21は、図12の画像取得部51において、キャリブレーション用画像を取得する取得方法を説明する図である。
【0339】
画像取得部51は、図21に示すように、カメラで撮影した画像を、対象物としての人の顔が表示されるべき顔枠とともに、TV(テレビジョン受像機)等の表示装置に表示することで、例えば、所定の時間の間、顔枠内に、顔を表示させることを、ユーザに促す。
【0340】
そして、画像取得部51では、顔枠内に、顔が表示されているときに、カメラで撮影した画像が、キャリブレーション用画像として取得される。なお、キャリブレーション用画像のうちの、例えば、顔枠内の画像が、キャリブレーション用ウインドウ画像として使用される。
【0341】
以上のように、画像取得部51において、顔枠内に、顔を表示させることを、ユーザに促し、顔枠内に、顔が表示されている画像を、キャリブレーション用画像として取得することにより、適切な補正係数k'を決定することができる。
【0342】
ここで、図12の判別装置は、例えば、人の有無に応じて、動作モードを通常モード又は省電力モードに切り替える機能を有するTVやPC(Personal Computer)、カメラで撮影した画像上の人の位置に応じて、各種の処理を行うゲーム機等に適用することができる。
【0343】
図12の判別装置を適用したTVでは、キャリブレーション用画像の取得は、例えば、チャンネルスキャン等を行う初期設定時に行うことができる。また、図12の判別装置を適用したゲーム機やPCでは、キャリブレーション用画像の取得は、例えば、ゲームやPCの初期設定時に行うことができる。
【0344】
[キャリブレーション処理]
【0345】
図22は、図12の判別装置が行う、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器H(x)のキャリブレーションの処理であるキャリブレーション処理を説明するフローチャートである。
【0346】
ステップS101において、画像取得部51は、例えば、図21で説明したように、キャリブレーション用画像(キャリブレーション用の入力画像)であるポジティブ画像を取得し、光源推定部52、及び、陰影領域認識部53に供給して、処理は、ステップS102に進む。
【0347】
ステップS102では、光源推定部52は、画像取得部51からのキャリブレーション用画像から、そこに映っている対象物(人の顔)を照明する光源を推定し、その推定結果を、陰影領域認識部53に供給して、処理は、ステップS103に進む。
【0348】
ステップS103では、陰影領域認識部53は、画像取得部51からのキャリブレーション用画像(を、必要に応じてスケーリングしたスケーリング画像)から、図21の顔枠の部分を、対象物(人の顔)が映っているウインドウ画像であるキャリブレーション用ウインドウ画像として切り出し、処理は、ステップS104に進む。
【0349】
ステップS104では、陰影領域認識部53は、例えば、光源推定部52からの光源の推定結果に基づいて、キャリブレーション用ウインドウ画像において、光源からの光によって陰影が生じる陰影境界を検出する。
【0350】
さらに、陰影領域認識部53は、キャリブレーション用ウインドウ画像の、陰影境界によって分けられる2つの領域のうちの、光源推定部52からの光源の推定結果から得られる光源の位置(方向)と逆側の領域を、光源によって陰影が生じる陰影領域として認識し、補正情報算出部54に供給して、処理は、ステップS105に進む。
【0351】
ステップS105では、補正情報算出部54は、陰影領域認識部53からの陰影領域に基づき、必要に応じて、平均画像記憶部57に記憶された平均画像を用いて、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器H(x)のパラメータとしての弱識別器ht(x)の閾値thを閾値thnewに補正するための補正係数k'=1/kを決定する補正係数決定処理を行って、処理は、ステップS106に進む。
【0352】
ステップS106では、補正情報算出部54は、補正係数決定処理において得られた補正係数k'を、陰影領域認識部53からの陰影領域とともに、補正情報として、補正情報記憶部55に出力して記憶させ、キャリブレーション処理は、終了する。
【0353】
図23は、図22のステップS105において補正情報算出部54(図12)が行う補正係数決定処理を説明するフローチャートである。
【0354】
ステップS111において、補正情報算出部54は、補正係数の候補である候補係数を表す変数k'に、初期値としての、例えば、0.1をセットし、処理は、ステップS112に進む。
【0355】
ステップS112では、補正情報算出部54は、陰影領域認識部53からの陰影領域に基づき、図15で説明したように、ピクセル間差分特徴量xを求めるためのピクセル位置対である2つのピクセル位置P1及びP2のうちの、少なくとも一方が、陰影領域内にある弱識別器ht(x)を、閾値thを補正すべき弱識別器(補正対象弱識別器)ht(x)として求める。
【0356】
さらに、ステップS112では、補正情報算出部54は、図15で説明したように、補正対象弱識別器ht(x)の閾値thの補正を、候補係数k'を補正係数として用いるとともに、平均画像記憶部57に記憶された平均画像を、必要に応じて用いて行い、閾値thが閾値(補正閾値)thnewに補正されたアンサンブル識別器であるフィルタ処理後識別器を求めて、処理は、ステップS113に進む。
【0357】
ステップS113では、補正情報算出部54は、直前のステップS112で求められたフィルタ処理後識別器を用い、陰影領域認識部53において図22のステップS103で求められたキャリブレーション用ウインドウ画像を対象としたウインドウ画像判別処理(図7)を行って、処理は、ステップS114に進む。
【0358】
ステップS114では、補正情報算出部54は、候補係数k'が1.0に等しいかどうかを判定する。
【0359】
ステップS114において、候補係数k'が1.0に等しくない判定された場合、すなわち、候補係数k'が、まだ1.0未満である場合、処理は、ステップS115に進み、補正情報算出部54は、候補係数k'を、所定の値としての、例えば、0.1だけインクリメントする。
【0360】
そして、処理は、ステップS115からステップS112に戻り、以下、同様の処理が繰り返される。
【0361】
また、ステップS114において、候補係数k'が1.0に等しい判定された場合、すなわち、補正対象弱識別器ht(x)の閾値thの補正が、0.1から1.0の範囲で、0.1刻みで変えた複数の候補係数k'を用いて行われ、その複数の候補係数k'それぞれについて、補正対象弱識別器ht(x)の閾値thが補正されたアンサンブル識別器であるフィルタ処理後識別器を用いて、ウインドウ画像判別処理が行われた場合、処理は、ステップS116に進み、補正情報算出部54は、ウインドウ画像判別処理の結果、キャリブレーション用ウインドウ画像がポジティブ画像であると判別された1個以上のフィルタ処理後識別器を求めるのに用いられた1個以上の候補係数k'のうちの例えば、中央値を、補正係数k'に決定し、処理はリターンする。
【0362】
[判別処理]
【0363】
図24は、図12の判別装置が行う判別処理を説明するフローチャートである。
【0364】
ステップS130において、補正部56は、補正情報記憶部55に記憶された補正情報を読み出し、その補正情報のうちの陰影領域に基づき、図15で説明したように、ピクセル間差分特徴量xを求めるためのピクセル位置対である2つのピクセル位置P1及びP2のうちの、少なくとも一方が、陰影領域内にある弱識別器ht(x)を、閾値thを補正すべき弱識別器(補正対象弱識別器)ht(x)として求める。
【0365】
さらに、ステップS130では、補正部56は、図15で説明したように、補正対象弱識別器ht(x)の閾値thの補正を、補正情報のうちの補正係数k'を用いるとともに、平均画像記憶部57に記憶された平均画像を、必要に応じて用いて行い、閾値thが閾値(補正閾値)thnewに補正されたアンサンブル識別器であるフィルタ処理後識別器を求めて、判別処理部10の判別部13(図1)に供給する。
【0366】
その後、処理は、ステップS130からステップS131に進み、以下、ステップS131ないしS143では、図6のステップS51ないしS63とそれぞれ同様の処理が行われる。
【0367】
但し、図6のステップS54に対応する図24のステップS134のウインドウ画像判別処理では、検出辞書記憶部20に記憶された検出辞書としてのアンサンブル識別器(基準識別器)に代えて、補正部56から判別処理部10(の判別部13)に供給されたフィルタ処理後識別器が用いられる。
【0368】
したがって、図12の判別装置では、補正部56において、対象物を照明する光源に基づいて算出される補正情報を用いて、アンサンブル識別器のパラメータが補正され、判別処理部10において、パラメータの補正後のアンサンブル識別器(フィルタ処理後識別器)を用いて、ピクセル間差分特徴量に対して、弱識別器が出力する弱仮説が積算され、その弱仮説の積算値に基づいて、入力画像に、対象物が映っているか否かが判別されるので、入力画像に、所定の対象物が映っているか否かの判別の判別性能の低下を、容易に防止することができる。
【0369】
すなわち、入力画像が、例えば、図8Bに示したような、人の顔の右側が明るく、左側に陰影が生じている偏り陰影画像である場合には、入力画像から切り出されたウインドウ画像において陰影が生じている左側の部分にだけ、画素値pをk(>1)倍する輝度変換フィルタを、部分的にかけることで、判別性能の低下を防止することができる。
【0370】
しかしながら、図11で説明したように、ウインドウ画像に対して、輝度変換フィルタを、部分的にかける場合には、入力画像がスケーリングされ、そのスケーリング後のスケーリング画像から、ウインドウ画像が切り出された後、ウインドウ画像判別処理(図7)が行われる前に、ウインドウ画像に対して、輝度変換フィルタを部分的にかける部分的フィルタ処理を行う必要がある。
【0371】
したがって、1枚の入力画像について、その入力画像から生成されるすべてのスケーリング画像から切り出されるすべてのウインドウ画像に、部分的フィルタ処理を行う必要があり、判別処理で行う必要がある部分的フィルタ処理の処理コストが膨大になる。
【0372】
これに対して、図12の判別装置では、検出辞書記憶部20に記憶されたアンサンブル識別器(基準識別器)H(x)のパラメータとしての弱識別器ht(x)の閾値thを補正することで、入力画像について、その入力画像から生成されるすべてのスケーリング画像から切り出されるすべてのウインドウ画像に、部分的フィルタ処理を施す場合と同様の効果を得ることができるので、判別処理において増加する処理コストは、図24のステップS13で、フィルタ処理後識別器を求める分だけとなる。
【0373】
したがって、判別性能の低下を、容易に、すなわち、処理コストをほとんど増加させることなく、防止することができ、光源の環境に対してロバストな(頑強な)対象物判別を行うことができる。
【0374】
また、図12の判別装置が判別処理(図24)に要する処理時間は、図1の判別装置が判別処理(図6)に要する処理時間とほとんど変わらない。
【0375】
なお、本実施の形態では、平均画像に、画素値を一定値であるk'=1/k倍に増幅する輝度変換フィルタを部分的にかける部分的フィルタ処理を行うことに相当する、弱識別器ht(x)の閾値thの補正を行うこととしたが、その他、例えば、画素の位置に応じて異なる倍率k'に増幅する輝度変換フィルタを、平均画像全体にかける全体フィルタ処理を行うことに相当する、弱識別器ht(x)の閾値thの補正を行うことができる。
【0376】
図25は、画素の位置に応じて異なる倍率k'に増幅する輝度変換フィルタと、その輝度変換フィルタがかけられた平均画像とを示す図である。
【0377】
図25において、輝度変換フィルタは、画素の位置が、左端から右端に向かうにつれて、倍率k'=1/kが、1.0から0.0(0に近い微小値)に線形に変化する、いわば、倍率k'にグラディエントがついたフィルタになっている。
【0378】
画素の位置が、左端から右端に向かうにつれて線形に増加する倍率kに増幅する輝度変換フィルタを、ウインドウ画像全体にかけることによって、ウインドウ画像が適切照明画像に変換される場合に、図25に示した、倍率k'にグラディエントがついた輝度変換フィルタを平均画像全体にかける全体フィルタ処理を行うことに相当する、弱識別器ht(x)の閾値thの補正を行うことにより、光源に起因する、対象物判別の判別性能の低下を防止することができる。
【0379】
なお、フィルタ処理後識別器を求めて、対象物判別を行う図24の判別処理は、静止画の入力画像を対象として行う場合は勿論、動画を対象として行うこともできる。光源の環境がほとんど変化しなければ、動画を対象とした図24の判別処理によれば、ウインドウ画像に対して、輝度変換フィルタを部分的にかけながら、図6の判別処理を行う場合に比較して、高速に、判別性能が光源に影響しない対象物判別を行うことができる。
【0380】
ここで、図12の判別装置を、例えば、据え置き型のゲーム機や、TV,PC等の、使用される位置が、ほぼ固定されている装置に適用する場合には、キャリブレーション処理(図22)を、異なる複数の時刻に実行し、補正情報記憶部55(図12)では、キャリブレーション処理が行われた時刻と、そのキャリブレーション処理によって求められた補正情報とを対応付けて記憶しておくことができる。
【0381】
この場合、判別処理(図24)での弱識別器ht(x)の閾値thの補正(図24のステップS130)は、補正情報記憶部55に記憶された補正情報のうちの、例えば、現在時刻(判別処理が行われる時刻)に最も近い時刻に対応付けられている補正情報を用いて行うことができる。
【0382】
以上のように、現在時刻に最も近い時刻に対応付けられている補正情報を用いて、弱識別器ht(x)の閾値thの補正を行うことにより、例えば、時間帯によって、光源の環境が変化する場合であっても、判別性能の低下を防止することができる。
【0383】
その他、補正情報記憶部55(図12)では、キャリブレーション処理が行われたときの光源の推定結果を表す推定情報と、そのキャリブレーション処理によって求められた補正情報とを対応付けて記憶しておくことができる。
【0384】
そして、補正情報記憶部55に、推定情報と補正情報とのセットが、複数セット記憶されている場合には、判別処理(図24)を行うときに、光源推定部52で光源の推定を行い、その推定結果に最も近い推定情報に対応付けられている補正情報を用いて、弱識別器ht(x)の閾値thの補正を行うことができる。
【0385】
なお、本実施の形態では、光源推定部52(図12)での光源の推定にあたって、光源が、ある一方向のみ存在することを暗黙の前提としたが、その他、光源については、光源が、複数の方向のそれぞれに存在することがあり得ることを考慮して、詳細な光源の推定が可能な光源推定方法によって推定を行い、そのような光源の推定結果に基づいて、補正情報を求めることができる。
【0386】
また、弱識別器ht(x)の閾値thの補正は、判別処理(図24)において、ウインドウ画像判別処理(図7)の対象となる、入力画像から切り出されるウインドウ画像の位置に応じて、異なる補正情報を用いて行うことが可能である。
【0387】
すなわち、キャリブレーション処理では、図21で説明した顔枠を、複数の位置としての、キャリブレーション用画像としての入力画像の、例えば、図17に示したブロックB#1ないしB#9それぞれの中央に相当する位置に順次表示し、そのブロックB#1ないしB#9それぞれについて、ブロックの中央に相当する位置の顔枠に表示された顔が映っているキャリブレーション用ウインドウ画像を用いて、補正情報を求めて、補正情報記憶部55に記憶しておくことができる。
【0388】
そして、判別処理(図24)では、補正情報記憶部55に記憶された、ブロックB#1ないしB#9それぞれについての補正情報を用いて、弱識別器ht(x)の閾値thを補正閾値thnewに補正し、ブロックB#1ないしB#9それぞれについての補正閾値thnewのうちの、例えば、ウインドウ画像が占める領域が最大のブロックについての補正閾値thnewを用いて、ウインドウ画像判別処理(図7)を行うことができる。
【0389】
[本技術を適用したコンピュータの説明]
【0390】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0391】
そこで、図26は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0392】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0393】
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0394】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0395】
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0396】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0397】
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0398】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0399】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0400】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0401】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0402】
すなわち、例えば、本実施の形態では、人の顔を、対象物判別の対象物としたが、本技術は、人の顔以外を対象物とする対象物判別にも適用可能である。
【0403】
また、画像の特徴量は、ピクセル間差分特徴量に限定されるものではない。
【0404】
なお、本技術は、以下のような構成もとることができる。
【0405】
[1]
入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正する補正部と、
前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する判別部と
を備える情報処理装置。
[2]
前記補正情報を算出する補正情報算出部をさらに備える
[1]に記載の情報処理装置。
[3]
前記特徴量は、前記入力画像の2つの位置のピクセルどうしの差分であるピクセル間差分特徴量である
[1]又は[2]に記載の情報処理装置。
[4]
前記アンサンブル識別器を求めるアンサンブル学習では、前記アンサンブル識別器を構成する各弱識別器について、前記特徴量を求めるのに用いられる2つのピクセルの位置であるピクセル位置対、及び、前記弱識別器が前記特徴量と比較する閾値として、前記弱識別器の誤り率を最小にするピクセル位置対、及び、閾値が、前記アンサンブル識別器のパラメータとして求められ、
前記補正部は、前記閾値を補正する
[3]に記載の情報処理装置。
[5]
前記入力画像から、前記対象物を照明する光源を推定する光源推定部と、
前記光源の推定結果に基づいて、前記入力画像において、前記光源によって陰影が生じる陰影領域を認識する陰影領域認識部と
をさらに備え、
前記補正情報算出部は、前記アンサンブル識別器を構成する複数の弱識別器の中で、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対のうちの、少なくとも一方のピクセルの位置が、前記陰影領域内にある弱識別器の前記閾値を補正する補正係数を求め、前記補正係数と前記陰影領域とを、前記補正情報として出力する
[4]に記載の情報処理装置。
[6]
前記補正部は、前記アンサンブル識別器を構成する複数の弱識別器の中で、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対のうちの、少なくとも一方のピクセルの位置が、前記陰影領域内にある弱識別器の前記閾値を、前記補正係数によって補正する
[5]に記載の情報処理装置。
[7]
前記アンサンブル学習は、複数の学習用画像を用いて行われ、
前記複数の学習用画像は、前記対象物が映っているポジティブ画像と、前記対象物が映っていないネガティブ画像とを含み、
前記補正部は、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対のうちの、一方のピクセルの位置が、前記陰影領域内にあり、他方のピクセルの位置が前記陰影領域外にある弱識別器の前記閾値を、1から1以下の正数である補正係数を減算した減算値と、前記学習用画像に含まれる複数のポジティブ画像を平均化した平均画像の前記一方のピクセルの位置の画素値との乗算値だけ補正する
[6]に記載の情報処理装置。
[8]
前記補正部は、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対の2つのピクセルの位置が、前記陰影領域内にある弱識別器の前記閾値を、1以下の正数である補正係数倍に補正する
[6]又は[7]に記載の情報処理装置。
[9]
入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正し、
前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する
ステップを含む情報処理方法。
[10]
入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正する補正部と、
前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する判別部と
して、コンピュータを機能させるためのプログラム。
【符号の説明】
【0406】
10 判別処理部, 11 スケーリング部, 12 走査部, 13 判別部, 20 検出辞書記憶部, 31 学習用画像記憶部, 32 特徴量抽出部, 33 学習部, 51 画像取得部, 52 光源推定部, 53 陰影領域認識部, 54 補正情報算出部, 55 補正情報記憶部, 56 補正部, 57 平均画像記憶部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

【特許請求の範囲】
【請求項1】
入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正する補正部と、
前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する判別部と
を備える情報処理装置。
【請求項2】
前記補正情報を算出する補正情報算出部をさらに備える
請求項1に記載の情報処理装置。
【請求項3】
前記特徴量は、前記入力画像の2つの位置のピクセルどうしの差分であるピクセル間差分特徴量である
請求項1に記載の情報処理装置。
【請求項4】
前記アンサンブル識別器を求めるアンサンブル学習では、前記アンサンブル識別器を構成する各弱識別器について、前記特徴量を求めるのに用いられる2つのピクセルの位置であるピクセル位置対、及び、前記弱識別器が前記特徴量と比較する閾値として、前記弱識別器の誤り率を最小にするピクセル位置対、及び、閾値が、前記アンサンブル識別器のパラメータとして求められ、
前記補正部は、前記閾値を補正する
請求項3に記載の情報処理装置。
【請求項5】
前記入力画像から、前記対象物を照明する光源を推定する光源推定部と、
前記光源の推定結果に基づいて、前記入力画像において、前記光源によって陰影が生じる陰影領域を認識する陰影領域認識部と
をさらに備え、
前記補正情報算出部は、前記アンサンブル識別器を構成する複数の弱識別器の中で、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対のうちの、少なくとも一方のピクセルの位置が、前記陰影領域内にある弱識別器の前記閾値を補正する補正係数を求め、前記補正係数と前記陰影領域とを、前記補正情報として出力する
請求項4に記載の情報処理装置。
【請求項6】
前記補正部は、前記アンサンブル識別器を構成する複数の弱識別器の中で、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対のうちの、少なくとも一方のピクセルの位置が、前記陰影領域内にある弱識別器の前記閾値を、前記補正係数によって補正する
請求項5に記載の情報処理装置。
【請求項7】
前記アンサンブル学習は、複数の学習用画像を用いて行われ、
前記複数の学習用画像は、前記対象物が映っているポジティブ画像と、前記対象物が映っていないネガティブ画像とを含み、
前記補正部は、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対のうちの、一方のピクセルの位置が、前記陰影領域内にあり、他方のピクセルの位置が前記陰影領域外にある弱識別器の前記閾値を、1から1以下の正数である補正係数を減算した減算値と、前記学習用画像に含まれる複数のポジティブ画像を平均化した平均画像の前記一方のピクセルの位置の画素値との乗算値だけ補正する
請求項6に記載の情報処理装置。
【請求項8】
前記補正部は、前記ピクセル間差分特徴量を求めるのに用いるピクセル位置対の2つのピクセルの位置が、前記陰影領域内にある弱識別器の前記閾値を、1以下の正数である補正係数倍に補正する
請求項7に記載の情報処理装置。
【請求項9】
入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正し、
前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する
ステップを含む情報処理方法。
【請求項10】
入力画像から抽出された特徴量を入力として、前記入力画像に所定の対象物が映っているか否かを表す弱仮説を出力する複数の弱識別器を有するアンサンブル識別器のパラメータを補正するための補正情報であり、前記対象物を照明する光源に基づいて算出される前記補正情報を用いて、前記アンサンブル識別器のパラメータを補正する補正部と、
前記パラメータの補正後のアンサンブル識別器を用い、前記特徴量に対して、前記弱識別器が出力する弱仮説を積算し、前記弱仮説の積算値に基づいて、前記入力画像に、前記対象物が映っているか否かを判別する判別部と
して、コンピュータを機能させるためのプログラム。

【図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


【公開番号】特開2012−243179(P2012−243179A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−114378(P2011−114378)
【出願日】平成23年5月23日(2011.5.23)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】