説明

情報処理装置および方法、並びにプログラム

【課題】簡単に有効な特徴量を抽出できるようにする。
【解決手段】 入力画像101から顔が検出され、顔領域111が設定される。顔領域111を基準として注目領域112が設定される。入力画像101から手が検出され、手領域121,122が設定される。顔領域111と手領域121,122を基準として、制限領域131乃至134が設定される。ユーザの姿勢の推定に、注目領域112のうちの、制限領域131乃至134を除く領域の特徴量が用いられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および方法、並びにプログラムに関し、特に簡単に有効な特徴量を抽出できるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
テレビジョン受像機の動作を制御する場合、リモートコントローラが用いられる。リモートコントローラのボタンが操作されると、操作されたボタンに対応する赤外線信号が、制御対象のテレビジョン受像機に送信される。テレビジョン受像機は、受信された赤外線信号に対応するコマンドに基づいて各種の動作を制御する。
【0003】
しかしながら、リモートコントローラは、テーブル、ソファー等に載置されるが、その載置場所が不明となることがある。このような場合、ユーザはリモートコントローラを探さなければならず、不便である。
【0004】
そこで、ユーザがジェスチャによりコマンドを入力することも提案されている。ジェスチャを検出するには、所定のアルゴリズム(例えば非特許文献1)を用いて、人の姿勢を推定する必要がある。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】A Local Basis Representation for Estimating Human Pose from Cluttered Images, Ankur Agarwal and Bill Triggs, To appear in Proceedings of the 7th Asian Conference on Computer Vision, 2006
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記アルゴリズムでは、Ridge Regression という重回帰分析を用いて、注目領域内で抽出したSIFTと呼ばれる局所特徴量と人体の関節の3次元座標との間の非線形写像を求めることで、人体姿勢が推定される。
【0007】
そして推定精度の向上を図るため、注目領域内の人体以外の背景部分の特徴量を抑制する処理が行われる。具体的には、NMFという手法を用いて求められた背景の特徴量の基底を用いて背景部分が特定され、その特徴量が抑制される。
【0008】
しかしながら、効率的に有効な特徴量を抽出することは困難である。
【0009】
本発明はこのような状況に鑑みてなされたものであり、簡単に有効な特徴量を抽出できるようにするものである。
【課題を解決するための手段】
【0010】
本発明の一側面は、画像を入力する入力手段と、入力された画像から被写体の部位を検出する検出手段と、検出された部位から注目領域を設定する注目領域設定手段と、検出された部位から制限領域を設定する制限領域設定手段と、制限領域により制限された注目領域の特徴量を抽出する抽出手段とを備える情報処理装置である。
【0011】
制限領域を設定する部位は、注目領域を設定する部位と異なる部位を含むことができる。
【0012】
被写体は人であり、注目領域を設定する部位は、人の顔であり、制限領域を設定する部位は、人の手と人の顔の一方または両方とすることができる。
【0013】
抽出手段は、注目領域の特徴量を演算する特徴量演算手段と、演算された注目領域の特徴量から、制限領域の特徴量を制限する制限手段と備えることができる。
【0014】
抽出手段は、注目領域から制限領域を除去する制限手段と、制限領域が除去された注目領域の特徴量を演算する特徴量演算手段と備えることができる。
請求項3に記載の情報処理装置。
【0015】
制限領域により制限された注目領域の特徴量から、人の姿勢を推定する推定手段をさらに備えることができる。
【0016】
推定された人の姿勢からコマンドを検知する検知手段をさらに備えることができる。
【0017】
検知されたコマンドに応じて動作を制御する制御手段をさらに備えることができる。
【0018】
本発明の一側面においては、入力手段が画像を入力し、検出手段が入力された画像から被写体の部位を検出し、注目領域設定手段が検出された部位から注目領域を設定し、制限領域設定手段が検出された部位から制限領域を設定し、抽出手段が制限領域により制限された注目領域の特徴量を抽出する。
【0019】
本発明の一側面の情報処理方法及びプログラムは、上述した本発明の一側面の情報処理装置に対応する方法及びプログラムである。
【発明の効果】
【0020】
以上のように、本発明の一側面によれば、簡単に有効な特徴量を抽出できる。
【図面の簡単な説明】
【0021】
【図1】本発明の情報処理装置の一実施の形態の構成を示すブロック図である。
【図2】制御処理を説明するフローチャートである。
【図3】注目領域の例を示す図である。
【図4】手領域の例を示す図である。
【図5】制限領域の例を示す図である。
【図6】特徴量を抽出する範囲を示す図である。
【図7】制限領域学習処理を説明するフローチャートである。
【図8】制限領域学習処理を説明する図である。
【図9】特徴量演算部の構成を示すブロック図である。
【図10】学習装置の構成を示すブロック図である。
【図11】服装識別器生成部の詳細な構成例を示すブロック図である。
【図12】輪郭特徴量計算部の詳細な構成例を示すブロック図である。
【図13】ステアラブルフィルタについて説明する図である。
【図14】画像に対してフィルタ処理を行った結果を示す図である。
【図15】学習処理を説明するフローチャートである。
【図16】服装識別器生成処理を説明するフローチャートである。
【図17】輪郭特徴量計算処理を説明するフローチャートである。
【図18】服装特徴点の抽出について説明する図である。
【図19】服装特徴量を説明する図である。
【図20】服装特徴点のペア毎の服装特徴量のサンプリングについて説明する図である。
【図21】弱識別器の設定について説明する図である。
【図22】服装特徴点のペアについて説明する図である。
【図23】輪郭特徴点の抽出について説明する図である。
【図24】認識装置の構成を示すブロック図である。
【図25】人検出処理を説明するフローチャートである。
【図26】識別器を生成する原理を示す図である。
【図27】本発明の情報処理装置の他の実施の形態の構成を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、発明を実施するための形態(以下、実施の形態と称する)について、以下の順番で説明する。
<第1の実施の形態>
[情報処理装置の構成]
[制御処理]
[学習処理]
[特徴量演算部の構成]
[学習装置の構成]
[服装識別器生成部の構成]
[輪郭特徴量計算部の構成]
[識別器和生成のための学習処理]
[服装識別器生成処理]
[輪郭特徴量計算処理]
[認識装置の構成]
[認識処理]
[識別器の原理]
<第2の実施の形態>
<変形例>
<本発明のプログラムへの適用>
<その他>
【0023】
<第1の実施の形態>
[情報処理装置の構成]
【0024】
図1は、本発明の情報処理装置の一実施の形態の構成を示すブロック図である。情報処理装置1は、画像入力部11、検出部12、領域設定部13、特徴量抽出部14、領域設定部15、姿勢推定部16、検知部17、および制御部18により構成されている。
【0025】
情報処理装置1は、例えばテレビジョン受像機により構成される。画像入力部11は、例えばビデオカメラであり、テレビジョン受像機のディスプレイ(図示せず)の上に取り付けられ、ユーザを撮像する。
【0026】
検出部12は、被写体であるユーザの部位を検出する。検出部12の顔検出部21は、画像入力部11から供給された画像から、ユーザの部位として顔を検出する。検出部12の手検出部22は、画像入力部11から供給された画像から、ユーザの部位として手を検出する。
【0027】
注目領域を設定する領域設定部13は、顔領域設定部31と注目領域設定部32を有している。顔領域設定部31は、顔検出部21により検出された顔を基準として、顔が位置する領域である顔領域を設定する。注目領域設定部32は、顔領域設定部31により設定された顔領域を基準として、特徴量を抽出する領域である注目領域を設定する。
【0028】
有効な特徴量を抽出する特徴量抽出部14は、特徴量演算部41と特徴量制限部42とを有している。特徴量演算部41は、注目領域設定部32により設定された注目領域の特徴量を演算する。特徴量制限部42は、特徴量演算部41により演算された特徴量から、制限領域の特徴量を制限し、注目領域の中の有効な範囲の特徴量を抽出する。
【0029】
領域設定部15は、手領域設定部51、制限領域設定部52、記憶部53、および入力部54を有している。手領域設定部51は、手検出部22により検出された手を基準として、手が位置する領域である手領域を設定する。制限領域設定部52は、顔領域設定部31により設定された顔領域と手領域設定部51により設定された手領域の一方または両方を基準として、制限領域を設定する。記憶部53は、顔領域と手領域の一方または両方と、制限領域との関係を記憶する。制限領域設定部52は、記憶部53の記憶に基づいて、顔領域と手領域の一方または両方により規定される制限領域を設定する。入力部54は、ユーザの指示に基づいて制限領域等のデータを入力する。
【0030】
姿勢推定部16は、特徴量制限部42により抽出された特徴量に基づいてユーザの姿勢を推定する。検知部17は、姿勢推定部17により推定された姿勢に基づいて、対応するコマンドを検出する。制御部18は、検知部17により検知されたコマンドに基づいて所定の制御処理を実行する。
【0031】
[制御処理]
【0032】
図2は、制御処理を説明するフローチャートである。以下この図2を参照して、情報処理装置1の制御処理を説明する。なお、図2の処理は、情報処理装置1の電源がオンされているとき、繰り返し実行される。
【0033】
ステップS1において画像入力部11は、画像を入力する。すなわち情報処理装置1のディスプレイを見ているユーザが撮像され、その画像が入力される。ステップS2において顔検出部21は、入力された画像から顔を検出する。ステップS3において顔領域設定部31は、検出された顔を基準とする所定の範囲に、顔領域を設定する。ステップS4において注目領域設定部32は、ステップS3で設定された顔領域を基準とする所定の範囲に、注目領域を設定する。
【0034】
図3は、注目領域の例を示す図である。図3に示されるように、入力された画像101のうちの検出された顔を含む所定の領域が、顔領域として設定される。図3の例においては、検出された顔を含む4角形の領域が、顔領域111として設定されている。
【0035】
また、図3の例においては、顔領域111を内部に含む4角形が注目領域112として設定されている。すなわち、顔領域111の上辺が、注目領域112の上辺の中央に接している。顔領域111の横方向の長さをWhとするとき、顔領域111の右側の辺から注目領域112の右側の辺までの長さは、長さWhの約4/3倍の長さとされている。同様に、顔領域111の左側の辺から注目領域112の左側の辺までの長さは、長さWhの約4/3倍の長さとされている。つまり、注目領域112の横方向の長さは、顔領域111の横方向の長さの、約4倍とされている。
【0036】
顔領域111の縦方向の長さは、縦方向の長さと同じWhとされている。注目領域112の縦方向の長さは、長さWhの約3倍の長さとされている。
【0037】
ステップS5において特徴量演算部41は、注目領域42の特徴量を演算する。なお、特徴量の演算については、図24と図25を参照して後述する。
【0038】
なお、特徴量の演算には、人を検出するための公知の種々のアルゴリズムを利用することができる。
【0039】
ステップS6において手検出部22は、入力された画像101から手を検出する。ステップS7において手領域検出部51は、検出された手を基準として所定の範囲に、手領域を設定する。
【0040】
図4は、手領域の例を示す図である。入力された画像101のうちの検出された手を含む所定の領域が、手領域として設定される。図4の例においては、検出された右手と左手を含む4角形の領域が、それぞれ、手領域121,122として設定されている。
【0041】
なお、ステップS2における顔の検出と、ステップS6における手の検出には、公知の種々のアルゴリズムを利用することができる。例えば肌色、顔や手の一般的な形状といった特徴から、顔や手を検出することができる。
【0042】
ステップS8において制限領域設定部52は、注目領域112内の、顔領域111と手領域121,122を除く所定の領域に、制限領域を設定する。つまり、人体の部位が存在しないと推定される領域が制限領域として設定される。顔領域111および手領域121,122の相対的位置と大きさと、それに対応する制限領域の関係が予め学習され、記憶部53に記憶されている。この関係を参照することで、所定の相対的位置と大きさの顔領域111および手領域121,122が与えられた場合に、対応する制限領域を設定することができる。
【0043】
なお、制限領域の設定には、顔領域111と手領域121,122の両方を用いるのではなく、一方だけ、すなわち顔領域111だけ、または手領域121,122だけを用いることも可能である。しかし、両方を用いた方が、より正確な設定が可能になる。
【0044】
図5は、制限領域の例を示す図である。図5の例においては、右手の手領域121と顔領域111が、ほぼ同じ高さに位置している。従って、手領域121と顔領域111の間の領域には、人体の部位は存在しないと推定される。さらに手が上を指向しているので、手領域121の上方の領域には、人体の部位は存在しないと推定される。そこで、手領域121と顔領域111の間とその上の領域は、制限領域131とされている。
【0045】
左手の手領域122と顔領域111の関係も、右手の手領域121と顔領域111の関係と同様である。そこで、手領域122と顔領域111の間とその上の領域は、制限領域132とされている。
【0046】
人体の構造上、顔領域111の下側の所定の幅の領域には、胴体が位置していると推定される。また、人体の手から肘までの最大の長さをLとすると、右手が上を指向しているので、手領域121から長さL以上離れた下の領域には、人体の部位は存在しないと推定される。従って、これらの関係が満足される領域には、制限領域133が設定されている。
【0047】
同様に、左手も上を指向しているので、左手の手領域122から長さL以上離れた下の領域には、人体の部位は存在しないと推定される。従って、これらの関係が満足される領域には、制限領域134が設定されている。
【0048】
図6は、特徴量を抽出する範囲を示す図である。以上のようにして、注目領域112から制限領域131乃至134を除いた、図6に示される領域141(顔領域111と手領域121,122を含む)が、人体の部位が存在する領域と推定される。
【0049】
顔領域111および手領域121,122の相対位置および大きさと制限領域との関係は、回帰分析、ニューラルネットワークなどの関数近似手法を用いて学習し、非線形写像として求めることができる。この学習については、図7を参照して後述する。
【0050】
ステップS9において特徴量制限部42は、制限領域131乃至134の領域の特徴量を制限する。すなわち、ステップS5で演算された特徴量のうち、制限領域131乃至134の分が、除去される。つまり、人体の部位が存在する領域と推定される領域141の特徴量だけが抽出される。
【0051】
ステップS10において姿勢推定部16は、姿勢を推定する。つまり、ステップS9で制限された、人体の部位が存在する領域と推定される領域141だけの特徴量を用いて、ユーザの姿勢が推定される。取得された画像101のうち、背景画像の特徴量は制限され、姿勢の推定には用いられない。その結果、より正確かつ迅速な姿勢の推定が可能となる。姿勢推定部16が人体を検出する処理については、図10乃至図25を参照して後述する。
【0052】
ステップS11において検知部17は、コマンドを検知する。すなわち、ユーザは、人体の部位を使ってコマンドを入力する。部位のジェスチャとコマンドは予め対応付けられている。検知部17はこの対応関係に基づいて、ユーザのジェスチャに対応するコマンドを検知する。
【0053】
ステップS12において制御部18は、動作を制御する。すなわち、検知されたコマンドに基づいて、例えばテレビジョン受像機のチャンネルが切り換えられたり、音量が調整されたり、電源がオフされたりする。
【0054】
[学習処理]
【0055】
図7は、制限領域学習処理を説明するフローチャートである。以下、この図7を参照して、制限領域の学習処理について説明する。
【0056】
ステップS31において画像入力部11は、画像を入力する。すなわち情報処理装置1のディスプレイを見ているユーザが撮像され、その画像が入力される。ステップS32において顔検出部21は、入力された画像から顔を検出する。ステップS33において顔領域設定部31は、検出された顔を基準とする所定の範囲に、顔領域を設定する。
【0057】
この場合も、上述したステップS3の場合と同様に、検出された顔を含む4角形の領域が、顔領域111として設定される。
【0058】
ステップS34において注目領域設定部32は、ステップS4における場合と同様に、顔領域111を基準とする所定の範囲に、注目領域を設定する。
【0059】
ステップS35において手検出部22は、入力された画像101から手を検出する。ステップS36において手領域検出部51は、ステップS7における場合と同様に、入力された画像101のうちの検出された手を含む所定の領域を、手領域として設定する。
【0060】
ステップS37において入力部54は、制限領域設定部52に、制限領域を入力する。すなわち、いまステップS33,S36で設定された顔領域111と手領域121,122に対応する正しい制限領域が、制限領域設定部52に入力される。
【0061】
ステップS38において制限領域設定部52は、顔領域111および手領域121,122と、制限領域との関係を学習する。この学習は、顔領域111および手領域121,122の相対的位置と大きさを、さまざまに変化させることで行われる。ステップS39において記憶部53は、学習結果を記憶する。
【0062】
図8は、制限領域学習処理を説明する図である。このように、学習を行うことで、例えば図8に示されるように、所定の相対的位置と大きさの顔領域111および手領域121,122と、それに対応する制限領域131乃至134の関係が学習され、記憶される。その結果、この関係を参照することで、所定の相対的位置と大きさの顔領域111および手領域121,122が与えられた場合、それに対応する制限領域131乃至134を設定することが可能になる。
【0063】
[特徴量演算部の構成]
【0064】
次に、特徴量演算部41についてさらに説明する。図9は、特徴量演算部41の概念的構成を示すブロック図である。
【0065】
特徴量演算部41は、複数の認識器152−1乃至152−N(以下、これらを個々に区別する必要がない場合、単に認識器152と記述する。他の要素についても同様とする。)により構成されている。各認識器152−1乃至152−Nは、それぞれ割り当てられた対象の異なる状態を認識する。従って、認識器152−1乃至152−Nは、全体として、N個の状態を認識する。つまり、この実施の形態の場合、人のN種類の姿勢が識別される。
【0066】
認識器152−1乃至152−Nは、注目領域設定部32から入力された入力画像151に含まれる人の姿勢を認識し、認識した結果を、検出結果153−1乃至153−Nとして出力する。制限部154は、検出結果153−1乃至153−Nのうち、制限領域における認識結果を制限する。つまり、制限部154は、図1の特徴量制限部42に対応する機能を実行する。
【0067】
最大値出力認識器155は、制限部154により制限された検出結果153−1乃至153−Nの中から、最大の検出結果を抽出する。これにより、認識器152−1乃至152−Nにより認識された姿勢のうち、最も確からしい姿勢が選択される。つまり、最大値出力認識器155は、図1の姿勢推定部16に対応する機能を実行する。
【0068】
[学習装置の構成]
【0069】
次に、認識器152について説明する。図10は、認識器152を生成する学習装置211の構成を示すブロック図である。
【0070】
学習装置211は、入力された学習画像に基づいて、認識装置212(図24を参照して後述する)において画像上における対象物体の有無を識別する処理を行うときに用いられる、識別用特徴量および識別器和を生成し、認識装置212の識別器和記録部236(図24を参照して後述する)に記録させる。
【0071】
学習装置211は、ピラミッド画像生成部220、服装特徴点抽出部221、服装特徴量計算部222、服装識別器生成部223、輪郭特徴点抽出部224、輪郭特徴量計算部225、輪郭識別器生成部226、および識別器和生成部227から構成される。
【0072】
ピラミッド画像生成部220は、入力された学習画像から、互いに解像度の異なる複数の画像を生成し、それらの画像をピラミッド画像として服装特徴点抽出部221と輪郭特徴点抽出部224に供給する。例えば、レベルL1乃至レベルL8までの8つの解像度の階層のピラミッド画像が生成され、レベルL1のピラミッド画像が最も解像度が高く、レベルL1からレベルL8まで順番にピラミッド画像の解像度が低くなるものとする。
【0073】
服装特徴点抽出部221は、ピラミッド画像生成部220で生成されたピラミッド画像を構成する各画像(この各画像も、学習画像と記述する)から、その学習画像の画素のいくつかを服装識別器を生成するときに用いられる服装特徴点として抽出する。その抽出された服装特徴点は、学習画像とともに服装特徴量計算部222に供給される。ここで、服装識別器とは、統計学習により生成された、複数の弱識別器からなる強い識別器であり、人の服装の特徴を利用して、入力された画像中に人の画像の領域が存在するか否かを識別するときに用いられる。
【0074】
服装特徴量計算部222は、服装特徴点抽出部221からの各服装特徴点について、所定の服装特徴点と、他の服装特徴点とを1つのペアとするペアリングを行う。また、服装特徴量計算部222は、服装特徴点抽出部221からの学習画像に基づいて、服装特徴点のペア毎に、任意の2つの領域のテクスチャの距離を示す服装特徴量を計算し、求められた服装特徴量と学習画像とを服装識別器生成部223に供給する。
【0075】
服装識別器生成部223は、服装特徴量計算部222から供給された学習画像および服装特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、対象物体である人を認識する服装識別器を生成する。また、服装識別器生成部223は、生成した服装識別器を識別器和生成部227に供給する。
【0076】
輪郭特徴点抽出部224は、ピラミッド画像生成部220で生成されたピラミッド画像を構成する各画像(これも学習画像である)から、その学習画像の画素のいくつかを輪郭識別器を生成するときに用いられる輪郭特徴点として抽出し、抽出した輪郭特徴点と学習画像とを輪郭特徴量計算部225に供給する。ここで、輪郭識別器とは、統計学習により生成された、複数の弱識別器からなる強い識別器であり、人の輪郭を利用して、入力された画像中に人の画像の領域が存在するか否かを識別するときに用いられる。
【0077】
輪郭特徴量計算部225は、輪郭特徴点抽出部224からの学習画像に基づいて、例えばステアラブルフィルタ(Steerable Filter)を用いたフィルタ処理により、輪郭特徴点毎に、抽出された輪郭を示す輪郭特徴量を計算し、求められた輪郭特徴量と学習画像とを輪郭識別器生成部226に供給する。輪郭識別器生成部226は、輪郭特徴量計算部225から供給された学習画像および輪郭特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、対象物体である人を認識する輪郭識別器を生成する。また、輪郭識別器生成部226は、生成した輪郭識別器を識別器和生成部227に供給する。
【0078】
識別器和生成部227は、服装識別器生成部223からの服装識別器と、輪郭識別器生成部226からの輪郭識別器とを統合して識別器和を生成し、生成した識別器和を後述する認識装置212の識別器和記録部236に供給して記録させる。また、識別器和生成部227は、識別器和を用いて対象物体の認識を行うときに用いられる服装特徴点のペアの服装特徴量、および輪郭特徴点の輪郭特徴量を、識別用特徴量として識別器和記録部236に供給し、記録させる。
【0079】
[服装識別器生成部の構成]
【0080】
図11は、図10の服装識別器生成部223のより詳細な構成例を示すブロック図である。服装識別器生成部223は、サンプリング部251、重み設定部252、並び替え部253、識別器設定部254、識別器選択部255、および重み更新部256から構成される。
【0081】
サンプリング部251は、重み設定部252により設定される学習画像単位の重みに応じて、服装特徴点のペア毎に、複数の学習画像のそれぞれの同じ位置の服装特徴点のペアの服装特徴量から、M個の服装特徴量をサンプリングして並び替え部253に供給する。
【0082】
並び替え部253は、各服装特徴点のペアについて、サンプリングされたM個の服装特徴量を昇べきの順、または降べきの順に並び替えて識別器設定部254に供給する。
【0083】
識別器設定部254は、服装特徴量が抽出された学習画像に認識しようとする対象物体が含まれているか否かを示す正誤情報に基づいて、昇順、または降順に並び替えられた各ペアの服装特徴量のそれぞれについて、閾値を変化させながら誤り率計算部254aを制御して、誤り率を計算させ、誤り率が最小となるように閾値を設定する(この閾値が、弱識別器として設定される)。さらに、識別器設定部254は、弱識別器毎の誤り率を識別器選択部255に供給する。
【0084】
学習画像には、その学習画像に対象物体が含まれているか否かを示す正誤情報(ラベル)が付加されており、識別器設定部254は、服装特徴量計算部222から供給された学習画像に付加されている正誤情報に基づいて、弱識別器の設定を行う。
【0085】
識別器選択部255は、弱識別器のうち、誤り率が最小となる弱識別器を選択して、弱識別器からなる服装識別器を更新し、最終的な服装識別器および各弱識別器に対応する服装特徴量を識別器和生成部227に供給する。さらに、識別器選択部255は、選択した弱識別器の誤り率に基づいて信頼度を計算し、重み更新部256に供給する。
【0086】
重み更新部256は、供給された信頼度に基づいて学習画像毎の重みを再計算するとともに、重みを正規化して更新し、更新結果を重み設定部252に供給する。重み設定部252は、重み更新部256より供給されてくる重みの更新結果に基づいて、学習画像単位の重みを設定する。
【0087】
[輪郭特徴量計算部の構成]
【0088】
図12は、図10の輪郭特徴量計算部225のより詳細な構成例を示す図である。輪郭特徴量計算部225は、1次フィルタ処理部261、2次フィルタ処理部262、3次フィルタ処理部263、および特徴量生成部264から構成される。また、輪郭特徴点抽出部224からの学習画像は、1次フィルタ処理部261乃至特徴量生成部264に供給され、輪郭特徴点は、1次フィルタ処理部261乃至3次フィルタ処理部263に供給される。
【0089】
1次フィルタ処理部261は、供給された輪郭特徴点毎に、輪郭特徴点に対してガウス関数Gの1次微分関数G1によりフィルタ処理を施して特徴量を抽出し、特徴量生成部264に供給する。ここで、ガウス関数G、および1次微分関数G1は、次式(1)および式(2)により示される。
【0090】
【数1】

【0091】
【数2】

【0092】
式(1)において、σはガウス幅を示している。式(2)において、θは任意の角度を示し、計算したいフィルタの方向を示している。
【0093】
例えば、1次フィルタ処理部261は、ガウス関数Gのガウス幅σを3つの所定値(例えば、ガウス幅σ1,σ2,σ3=1,2,4)に変化させ、ガウス幅σ毎に所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について式(2)を計算する。
【0094】
なお、方向θは4方向に限らず、8方向、例えばπを8方向に等分したときの各方向などとしてもよい。また、従来は、上記したように、複数のガウス幅を用いて処理を行っていたが、本実施の形態においては、後述するように、ガウス幅は1つだけ用意しておけば良い。換言すれば、ガウス幅を変化させる必要がない。よって、上記では、“ガウス幅を3つの所定値に変化させ、ガウス幅σ毎に所定の4方向について式(2)を計算する”と記載したが、本実施の形態においては、設定されているガウス幅σにおいて所定の方向の4方向について式(2)を計算するだけでよい。
【0095】
よって、複数のガウス幅毎に計算する必要がないため、計算量を低減させることが可能となる。このようなことは、他のフィルタ、例えば、2次フィルタ処理部262、3次フィルタ処理部263においても同様である。
【0096】
2次フィルタ処理部262は、供給された輪郭特徴点毎に、輪郭特徴点に対してガウス関数Gの2次微分関数G2によりフィルタ処理を施して特徴量を抽出し、特徴量生成部264に供給する。次式(3)は、2次微分関数G2を示しており、式(3)においてθは任意の角度を示している。
【0097】
【数3】

【0098】
また、式(3)における係数k2i(θ)(但し、i=1,2,3)は、次式(4)で示される関数である。
【0099】
【数4】

【0100】
例えば、2次フィルタ処理部262は、ガウス関数Gの所定のガウス幅σにおいて、所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について式(3)を計算する。
【0101】
3次フィルタ処理部263は、供給された輪郭特徴点毎に、輪郭特徴点に対してガウス関数Gの3次微分関数G3によりフィルタ処理を施して特徴量を抽出し、特徴量生成部264に供給する。次式(5)は、3次微分関数G3を示しており、式(5)においてθは任意の角度を示している。
【0102】
【数5】

【0103】
また、式(5)における係数k3i(θ)(但し、i=1,2,3)は、次式(6)で示される関数である。
【0104】
【数6】

【0105】
例えば、3次フィルタ処理部263は、ガウス関数Gの所定のガウス幅σにおいて、所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について、式(5)を計算する。
【0106】
特徴量生成部264は、1次フィルタ処理部261、2次フィルタ処理部262、および3次フィルタ処理部263のそれぞれから供給された、4つの方向θについて計算された各輪郭特徴点の特徴量の供給を受け、供給された合計12個(=3(次数)×4(方向))の特徴量を並べて輪郭特徴点における輪郭特徴量とする。
【0107】
また、各フィルタ処理部には、ピラミッド画像生成部220から異なる解像度の複数の画像が供給されるため、各画像から4つの方向θについて計算された各輪郭特徴点の特徴量も供給される。この供給される特徴量は、ピラミッド画像生成部220が生成する画像の枚数に依存し、例えば、レベル1からレベル8までの8枚の画像が生成される場合、8枚分の4つの方向θについて計算された各輪郭特徴点の特徴量が供給されることになる。
【0108】
また、特徴量生成部264は、生成した輪郭特徴量と、供給された学習画像とを輪郭識別器生成部226に供給する。
【0109】
このように、輪郭特徴量計算部225では、ガウス関数を微分して得られる、方向θに選択性を持つフィルタ(基底関数)が用いられて、微分の次数毎に異なる特徴量(輪郭)が抽出され、輪郭特徴量とされている。
【0110】
輪郭特徴量の抽出にステアラブルフィルタを用いる場合、図13に示すように、方向θおよびガウス幅σの異なるフィルタを用意すれば、それらのフィルタの線形結合により、任意の方向θのフィルタ、すなわちガウス関数Gの微分関数Gn(但し、n=1,2,3)を表現することができる。
【0111】
また、図中、右側の横方向の列のうちの一番上の列の画像は、図中、左側から順番に、ガウス幅σ=1である場合における1次微分関数G1(θ)のθを0,1/8π,2/8π,3/8π,4/8π,5/8π,6/8π,7/8πとしたものを表している。
【0112】
同様に、図中、右側の横方向の各列の画像は、図中、上から二番目から下方向に順番に、ガウス幅σ=2である場合における1次微分関数G1(θ)、ガウス幅σ=4である場合における1次微分関数G1(θ)、ガウス幅σ=1である場合における2次微分関数G2(θ)、ガウス幅σ=2である場合における2次微分関数G2(θ)、ガウス幅σ=4である場合における2次微分関数G2(θ)、ガウス幅σ=1である場合における3次微分関数G3(θ)、ガウス幅σ=2である場合における3次微分関数G3(θ)、およびガウス幅σ=4である場合における3次微分関数G3(θ)を示している。そして、それらの各列の画像は、図中、左側から順番に微分関数の方向θを0,1/8π,2/8π,3/8π,4/8π,5/8π,6/8π,7/8πとしたものを表している。
【0113】
例えば、図中、左側のフィルタである1次微分関数G1(0°)および1次微分関数G1(90°)を用いることで、図中、右側の上から二番目の列の各方向θにおける1次微分関数G1(θ)を表すことができる。同様に、図中、左側の2次微分関数G2を用いて、図中、右側の上から5番目の列に示す各方向θにおける2次微分関数G2(θ)を表すことができ、図中、左側の3次微分関数G3を用いて、図中、右側の上から8番目の列に示す各方向θにおける3次微分関数G3(θ)を表すことができる。すなわち、各次元の任意の方向の微分関数は、その次元より1だけ多い数の基底関数があれば、それらの基底関数の線形結合により表現することができる。
【0114】
図14に、ガウス関数Gの微分関数により、人が写っている画像に対してフィルタ処理を行うことで得られた結果を示す。図14において、図中、左側にはフィルタ処理の対象となる画像が示され、中央には、フィルタが示され、右側にはフィルタ処理後の画像が示されている。
【0115】
図14の左側に示した画像は、ピラミッド画像を構成する2枚の画像であり、異なる解像度の画像である。上記したようにピラミッド画像生成部220は、例えば、レベルL1乃至L8までの異なる解像度の画像を生成する。そのうちの例えば、レベルL1の画像301とレベルL2の画像302を、図14の左側に示している。
【0116】
図14の中央に示したフィルタは、1次微分関数G1、2次微分関数G2、および3次微分関数G3のガウス幅σがσ=1のフィルタの一例を示している。この図14の中央に示したフィルタは、図13に示したフィルタの一部分を抜き出し、例示したものである。
【0117】
図14の左側に示した画像に対して、図14の中央に示したフィルタのうち、例えば、3次微分関数G3のフィルタを用いて、フィルタ処理した場合、図14の右側に示した画像が生成される。すなわち、画像301に対して、3次微分関数G3のフィルタでフィルタ処理を行うと、画像311−1乃至311−4が生成される。また、画像302に対して、3次微分のフィルタでフィルタ処理を行うと、画像312−1乃至312−4が生成される。
【0118】
画像311−1乃至311−4は、それぞれガウス幅σが1(σ=1)の3次微分関数G3のフィルタを用いて、フィルタ処理を行ったため、ガウス幅σが1のフィルタでフィルタ処理が行われたときの画像となる。
【0119】
同様に、画像312−1乃至312−4は、それぞれガウス幅σが1(σ=1)の3次微分関数G3のフィルタを用いて、フィルタ処理を行ったため、ガウス幅σが1のフィルタでフィルタ処理が行われたときの画像となる。
【0120】
しかしながら、画像312−1乃至312−4は、画像302をフィルタ処理した画像である。画像302は、画像301を縮小した画像である。このような場合、画像312−1乃至312−4は、ガウス幅σが2(σ=2)の3次微分関数G3のフィルタを用いてフィルタ処理を行った結果、生成される画像に相当する画像とすることができる。換言すれば、画像301に対して、ガウス幅σが2(σ=2)の3次微分関数G3のフィルタを用いてフィルタ処理したときに生成される画像に相当する画像が、画像312−1乃至312−4である。
【0121】
すなわち、ピラミッド画像に対して、フィルタ処理を行うことで、異なるガウス幅のフィルタを用いて、フィルタ処理したときと同等の画像を得ることが可能となる。例えば、ガウス幅毎にフィルタを予め用意し、フィルタ処理を行うときの演算量や処理負担と比較し、上記したように1つのガウス幅のフィルタを予め用意し、ピラミッド画像にフィルタ処理を行うときの演算量や処理負担は大幅に軽減されたものとなる。
【0122】
すなわち、ピラミッド画像を生成し、1つのガウス幅でフィルタ処理を行うことで、処理時間を大幅に短縮することが可能となる。よって、このような手法で、画像から人などの対象物を検出するようにした場合、処理時間が短くなることで、リアルタイムに画像から対象物を検出することが可能となる。
【0123】
輪郭特徴量計算部225は、このようにして、異なるガウス幅σのフィルタでフィルタ処理したときに相当する複数の画像を、さらに平均して得られる画像を生成する。その生成された平均の画像からは、人の輪郭を確認することができ、各フィルタを用いたフィルタ処理によって、画像から適切に人の輪郭が抽出される。
【0124】
[識別器和生成のための学習処理]
【0125】
次に、学習装置211で行われる学習処理について、図15乃至図17のフローチャートを参照して説明する。学習装置211に学習画像が入力され、識別器和の生成が指示されると、学習装置211は、学習処理を開始して統計学習により識別器和を生成する。図15は、学習処理を説明するフローチャートであり、図16は、服装識別器生成処理を説明するフローチャートであり、図17は、輪郭特徴量計算処理を説明するフローチャートである。
【0126】
図15のステップS110において、ピラミッド画像生成部220は、入力された学習画像から、ピラミッド画像を生成する。上記したように、ピラミッド画像生成部220は、例えば、レベルL1乃至レベルL8までの8つの解像度の階層のピラミッド画像を生成し、その生成した画像を服装特徴点抽出部221と輪郭特徴点抽出部224に供給する。服装特徴点抽出部221と輪郭特徴点抽出部224は、それぞれ、供給されるピラミッド画像(異なる解像度の複数の画像)のうちの1つの画像を、処理対象の学習画像として、ステップS111以下の処理を実行する。他の画像についてもステップS111以下の処理が同様に実行される。
【0127】
ステップS111において、服装特徴点抽出部221は、供給された学習画像から服装特徴点を抽出して、抽出した服装特徴点および学習画像を服装特徴量計算部222に供給する。
【0128】
ステップS112において、服装特徴量計算部222は、服装特徴点抽出部221から供給された服装特徴点と学習画像とに基づいて、各服装特徴点について、服装特徴点のペアリングを行う。
【0129】
ステップS113において、服装特徴量計算部222は、ペアリングによりペアとされた服装特徴点の各ペアについて服装特徴量を計算し、これにより得られた服装特徴量を服装識別器生成部223に供給する。
【0130】
例えば、図18に示す学習画像が服装特徴点抽出部221に入力された場合、服装特徴点抽出部221は、予め定められたマージン(のりしろ)と、サンプリングスキップ数とに基づいて、学習画像から服装特徴点を抽出する。なお、図18において、学習画像上の円は、服装特徴点とされた画素を示している。
【0131】
ここで、マージンとは、学習画像において、学習画像の端から服装特徴点の抽出の対象となる領域までの画素数である。また、サンプリングスキップ数とは、服装特徴点とされる学習画像上の画素と画素との間隔である。
【0132】
従って、例えばマージンが5画素であり、サンプリングスキップ数が5画素である場合、服装特徴点抽出部221は、学習画像の端から5画素以内の位置にある画素からなる領域を学習画像から除外し、残りの領域E11を服装特徴点の抽出の対象とする。そして、服装特徴点抽出部221は、領域E11内の画素のうち、互いに5画素だけ離れている位置の画素を服装特徴点として抽出する。すなわち、図中、縦方向または横方向に互いに隣り合う服装特徴点間の距離は5画素とされ、各服装特徴点は、領域E11内の画素とされる。
【0133】
次に、服装特徴量計算部222は、予め定められた最小半径および最大半径に基づいて、各服装特徴点のペアリングを行う。例えば、最小半径がR11であり、最大半径がR12である場合、所定の服装特徴点KT1に注目したとき、服装特徴量計算部222は、服装特徴点KT1からの距離が、最小半径R11以上であり、かつ最大半径R12以内である全ての服装特徴点について、その服装特徴点と、服装特徴点KT1とを1つのペアとする。
【0134】
例えば、服装特徴点KT1からの距離が、最小半径R11以上であり、かつ最大半径R12以内である服装特徴点がN個存在する場合、N個の服装特徴点のペアが得られることになる。服装特徴量計算部222は、全ての服装特徴点について、他の服装特徴点とのペアリングを行う。
【0135】
さらに、服装特徴量計算部222は、ペアリングにより得られた服装特徴点の各ペアについて、ペアとなる各服装特徴点を中心とする所定の形の所定の大きさの領域同士のテクスチャの距離を服装特徴量として計算する。
【0136】
例えば、図18に示す服装特徴点KT1と服装特徴点KT2とのペアについての服装特徴量をSSD(Sum of Square Distance)により求める場合、服装特徴量計算部222は、服装特徴点KT1を中心とする所定の領域を領域TX1とし、服装特徴点KT2を中心とする領域TX1と同じ大きさの領域を領域TX2とする。そして、服装特徴量計算部222は、領域TX1内の画素の画素値と、その画素に対応する領域TX2内の画素の画素値との差分の絶対値和を求め、求められた差分の絶対値和を服装特徴量とする。
【0137】
なお、服装特徴量は、SSDに限らず、SAD(Sum of Absolute Distance)や、正規化相関などとされてもよい。
【0138】
このようにして、服装特徴量計算部222は、学習画像から抽出された服装特徴点の各ペアについて、服装特徴量を求める。より詳細には、学習装置211には、対象物体が含まれているいくつかの学習画像と、対象物体が含まれていないいくつかの学習画像とからなる複数の学習画像が入力される。そして、入力された学習画像毎に、服装特徴点の抽出および服装特徴量の計算が行われる。
【0139】
例えば、M個(但し、Mは自然数)の学習画像PI1乃至学習画像PIMが学習装置211に入力された場合、図19に示すように、M個の学習画像PIi(但し、1≦i≦M)について、服装特徴点のペア毎の服装特徴量が得られる。
【0140】
図19では、1つの四角形は、1つの服装特徴点のペアの服装特徴量を表している。また、図中、縦方向に並べられた四角形の列は、学習画像PIi(但し、1≦i≦M)から得られた服装特徴量の列を表している。1つの列には、学習画像PIiから得られた服装特徴点のペアの数だけ服装特徴量が並んでいる。すなわち、学習画像PIiから得られた服装特徴点のペアの数が、その学習画像PIiの服装特徴量の次元となる。
【0141】
学習画像は、上記したようにピラミッド画像の各画像のことを示している。図19は、1枚の画像から3枚のピラミッド画像が生成され、それらの3枚のピラミッド画像がそれぞれ処理されたときを示している。すなわち、多重解像度のレベルを3に設定したときの学習時の特徴量ベクトルを、わかりやすく図示したのが図19である。
【0142】
図19において、スケールとは、スケール係数を表す。スケール係数とは、次のレベルで画像のサイズをどのくらいにするかという縮小率を表す。例えば、スケール1とは、スケール係数が1であることを示す。図19の1つの列には、ピラミッド画像を構成する複数の学習画像PIiから、それぞれ得られた服装特徴点のペアの数だけ服装特徴量が並んでいる。
【0143】
さらに、各学習画像PIiの服装特徴量の列の図19中、下側には、その学習画像PIiに対象物体が含まれているか否かを示すラベル(正誤情報)が示されている。例えば、学習画像PI1の服装特徴量の列の図中、下側に示されるラベル「+1」は、学習画像PI1に対象物体が含まれることを表しており、学習画像PIMの服装特徴量の列の図中、下側に示されるラベル「−1」は、学習画像PIMに対象物体が含まれていないことを表している。
【0144】
図15のフローチャートの説明に戻り、ステップS113において、服装特徴量が求められると、ステップS114において、服装識別器生成部223は、服装識別器生成処理を行って、服装識別器を生成する。
【0145】
[服装識別器生成処理]
【0146】
ここで、図16のフローチャートを参照して、図15のステップS114の処理に対応する服装識別器生成処理について説明する。
【0147】
図16のステップS151において、図12の重み設定部252は、例えば、図19で示される学習画像PIi(1≦i≦M)毎の重みWiを全て1/Mに初期化し、識別器選択部255は、カウンタjを1に、弱識別器の和からなる服装識別器R(x)を0にそれぞれ初期化する。
【0148】
ここで、iは、図19における学習画像PIiを識別するものであり、1≦i≦Mである。ステップS151の処理により、全ての学習画像PIiの重みWiは、いずれも正規化された同一の重み(=1/M)とされる。また、カウンタjは、予め定められた、服装識別器R(x)を更新する回数を示している。
【0149】
ステップS152において、サンプリング部251は、各服装特徴点のペア毎に、複数の学習画像PIiのそれぞれの同じ位置の服装特徴点のペアの服装特徴量から、学習画像PIiの重みWiに応じて、M個の服装特徴量を選択し、並び替え部253に供給する。
【0150】
例えば、服装特徴量計算部222からサンプリング部251に、図20に示すように、M個の学習画像PI1乃至学習画像PIMの服装特徴量が供給されたとする。図20では、図中、横方向に学習画像PIi(但し、1≦i≦M)から得られた服装特徴量が並べられており、学習画像を表す文字PIiの図中、左側の数字「+1」または「−1」は、その学習画像PIiに付加されたラベル(正誤情報)を示している。
【0151】
すなわち、図中、一番上側に横方向に並んでいる(A1,A2,A3,・・・,AN)は、学習画像PI1の服装特徴点の各ペアの服装特徴量のそれぞれを表しており、学習画像PI1を示す文字「PI1」の図中、左側の文字「+1」は、学習画像PI1に対象物体が含まれている旨のラベルを表している。
【0152】
同様に、図中、上から二番目の横方向に並んでいる(B1,B2,B3,・・・,BN)は、学習画像PI2の服装特徴点の各ペアの服装特徴量のそれぞれを表しており、学習画像PI2を示す文字「PI2」の図中、左側の文字「+1」は、学習画像PI2に対象物体が含まれている旨のラベルを表している。
【0153】
また、図中、上から三番目の横方向に並んでいる(C1,C2,C3,・・・,CN)は、学習画像PI3の服装特徴点の各ペアの服装特徴量のそれぞれを表しており、文字「PI3」の図中、左側の文字「−1」は、学習画像PI3に対象物体が含まれていない旨のラベルを表している。さらに、図中、上からM番目の横方向に並んでいる(M1,M2,M3,・・・,MN)は、学習画像PIMの服装特徴点の各ペアの服装特徴量のそれぞれを表しており、文字「PIM」の図中、左側の文字「−1」は、学習画像PIMに対象物体が含まれていない旨のラベルを表している。
【0154】
このように、図20の例では、1つの学習画像PIiからは、服装特徴点のN個のペアのそれぞれの服装特徴量が得られる。また、図20では、縦方向に並んだM個の服装特徴量Ak乃至服装特徴量Mk(但し、1≦k≦N)が1つのグループGrkとされており、このグループGrkに属す服装特徴量は、各学習画像PIiにおける同じ位置の服装特徴点のペアの服装特徴量とされている。
【0155】
例えば、グループGr1は、縦方向に並んだ服装特徴量A1乃至服装特徴量M1からなり、服装特徴量A1が求められる学習画像PI1のペアとなる2つの服装特徴点と、グループGr1に属す他の服装特徴量、例えば服装特徴量M1が求められる学習画像PIMのペアとなる2つの服装特徴点とは、学習画像上の同じ位置にある。なお、以下において、各学習画像PIiにおける服装特徴点のペアであって、グループGrk(1≦k≦N)に属す服装特徴量が求まめられるペアをペアkと称する。
【0156】
サンプリング部251に、図20に示される学習画像PIi毎の服装特徴量が供給された場合、サンプリング部251は、ペアk毎、すなわちグループGrk毎に、そのグループに属す服装特徴量から学習画像PIiの重みWiに応じて、M個の服装特徴量を抽選で選択する。例えば、サンプリング部251は、重みWiに応じて、グループGr1に属す服装特徴量A1乃至服装特徴量M1から、M個の服装特徴量を選択する。なお、最初の処理においては、いずれの重みWiも1/Mであり、等しいため、M個が抽選されると、確率的には全ての服装特徴量が選択されることになる。そのため、ここでは、最初の処理では各グループGrkにおいて、全ての服装特徴量が選択されたものとする。もちろん、実際には、同一の服装特徴量が重複して選択されることもある。
【0157】
なお、重みWiは、服装特徴点のペア毎のエラー計算に用いることもできる。この場合、データ重み係数(重みWi)がエラー値に掛け合わされてエラー計算が行われる。
【0158】
ステップS153において、並び替え部253は、N個のグループGrkのそれぞれについて、グループGrk、すなわちペアk毎に選択されたM個の服装特徴量を昇べきの順、または降べきの順に並び替えて、識別器設定部254に供給する。例えば、図20のグループGr1に属す服装特徴量から選択された、M個の服装特徴量が順番に並び替えられる。
【0159】
ステップS154において、識別器設定部254は、服装特徴量計算部222から供給された学習画像に付加されている正誤情報(ラベル)に基づいて、グループGrk毎、すなわち服装特徴点のペアk毎に、閾値を変化させながら誤り率計算部254aを制御して、以下の式(7)で示すように誤り率ejkを計算させ、誤り率ejkが最小となるように閾値を設定する。
【0160】
ここで、服装特徴点のペアk毎の閾値thjkが、1個の弱識別器fjkとなる。識別器設定部254は、弱識別器fjkごとの誤り率ejkを識別器選択部255に供給する。すなわち、N個のペアkのそれぞれに対して、N個の弱識別器fjkのそれぞれが設定され、N個の弱識別器fjkのそれぞれについて誤り率ejkが求められることになる。なお、弱識別器fjkは、認識しようとする対象物体を含む場合「+1」を出力し、認識しようとする対象物体を含まない場合「−1」を出力する関数である。
【0161】
例えば、図21に示すように、j=1であって、服装特徴点のペアk=1の服装特徴量がL1,A1,C1,B1,・・・,M1に昇べき、または、降べきの順に並べられた場合、閾値th11が服装特徴量A1とC1の間に設定される。そして、閾値th11より小さい範囲では、認識しようとする対象物体がないと認識され(「−1」で示されている範囲)、閾値th11より大きい範囲では、認識しようとする対象物体があると認識される(「+1」で示されている範囲)とき、図中の点線で囲まれた服装特徴量A1は、認識しようとする対象物体が含まれた学習画像の服装特徴量であるので、エラーであるとみなされる。また、服装特徴量C1,M1は、逆に、認識しようとする対象物体が含まれていない学習画像の服装特徴量であるので、エラーであるとみなされる。
【0162】
図21の例では、閾値th11は、誤り率ejkが最小となる位置に設定されている。例えば、図21に示す閾値th11が、誤り率ejkの最小となる位置ではない場合には、識別器設定部254は、閾値th11の位置を変化させて、各位置における誤り率ejkを参照しながら、誤り率ejkが最小となる閾値th11の位置を探し出し、その位置を閾値th11の位置とする。
【0163】
誤り率計算部254aは、以下の式(7)で示されるように、学習画像の正誤情報(ラベル)に基づいて、エラーであるとみなされた服装特徴量が抽出された学習画像の重みWiを加算し、誤り率ejkを計算する。
【0164】
【数7】

【0165】
ここで、y≠fjkはエラーとなっている服装特徴点のペアkの条件を示しており、Ewは、エラーの発生したペアkにおける重みが加算されることを示している。
【0166】
ステップS155において、識別器選択部255は、識別器設定部254から供給されたペアk毎のN個の誤り率ejkに基づいて、N個の弱識別器fjkのうち、誤り率ejkが最小となる弱識別器fjkを選択する。そして、識別器選択部255は、識別器設定部254から選択した弱識別器fjkを取得する。
【0167】
ステップS156において、識別器選択部255は、選択した弱識別器fjkの誤り率ejkに基づいて、以下の式(8)で示される信頼度cjを計算し、計算結果を重み更新部256に供給する。
【0168】
【数8】

【0169】
なお、式(8)において、ejは、誤り率ejkのうち、選択された弱識別器fjkの誤り率ejk、すなわちN個の誤り率ejkのうちの最小の誤り率ejkを示している。また、以下において、ステップS155の処理において選択されたペアkの弱識別器を、弱識別器fjとも称し、その弱識別器fjの誤り率ejkを誤り率ejとも称する。
【0170】
ステップS157において、重み更新部256は、供給された信頼度cjに基づいて、以下の式(9)を計算することで、学習画像PIi毎に重みWiを再計算するとともに、全ての重みWiを正規化して更新し、更新結果を重み設定部252に供給する。重み設定部252は、重み更新部256より供給されてくる重みの更新結果に基づいて、学習画像毎の重みを設定する。
【0171】
【数9】

式(9)においては、エラーの発生した服装特徴量を含む学習画像の重みWiが大きくなることが示されている。
【0172】
ステップS158において、識別器選択部255は、新たに求められた弱識別器fjを用いて、保持している服装識別器R(x)を更新する。すなわち、識別器選択部255は、次式(10)を計算することで服装識別器R(x)を更新する。
【0173】
R(x)=R’(x)+cj×fj(x) ・・・(10)
【0174】
式(10)において、R’(x)は、識別器選択部255が保持している更新前の服装識別器を表しており、fj(x)は、新たに求められた弱識別器fjを表している。すなわち、識別器選択部255は、保持している服装識別器に、信頼度cjが乗算されて重み付けされた、新たに求められた弱識別器を加算することで服装識別器を更新する。
【0175】
ステップS159において、識別器選択部255は、誤り率ejkが最小となる弱認識器fjkに対応する服装特徴点のペアkの服装特徴量を、識別用特徴量として保持する。
【0176】
ステップS160において、識別器選択部255は、カウンタjがL以上であるか否かを判定する。ステップS160において、カウンタjがL以上でないと判定された場合、ステップS161において、識別器選択部255は、カウンタjを1だけインクリメントする。そして、その後、処理はステップS152に戻り、上述した処理が繰り返される。
【0177】
すなわち、新たに設定された学習画像毎の重みWiが用いられて、N個のペアkについて、新たな弱識別器fjkが設定され、それらの弱識別器fjkから誤り率ejkが最小となる弱認識器fjkが選択される。そして、選択された弱認識器fjkにより、服装識別器が更新される。
【0178】
これに対して、ステップS160において、カウンタjがL以上であると判定された場合、ステップS162において、識別器選択部255は、保持している服装識別器および識別用特徴を識別器和生成部227に出力する。そして、その後、処理は図15のステップS115に進む。
【0179】
以上の処理により、L個の比較的誤り率の低い弱識別器fj(1≦j≦L)からなる服装識別器が識別器和生成部227に供給されるとともに、それぞれの弱識別器fjで使用されるべき服装特徴点のペアkの服装特徴量が識別器和生成部227に供給される。ここでLは、L≦Nである。
【0180】
なお、式(10)の服装識別器を用いて、服装特徴量を代入した服装識別器が正である場合に「+1」を出力し、服装識別器が負である場合に「−1」を出力する識別器(関数)を生成すると、その識別器は、L個の弱識別器の多数決により、認識しようとする対象物体の有無を出力する関数であると言える。また、図16のフローチャートを参照して説明した弱識別器を学習処理により重み付けしつつ付加することを繰り返し、識別器を生成する学習処理は、Descrete Adaboost Algorithmと呼ばれている。
【0181】
すなわち、以上の服装識別器生成処理により、誤り率の高い学習画像の服装特徴量の重みが順次大きくなり、誤り率の低い服装特徴量の重みが小さくなるように、服装特徴点のペア毎に弱識別器と誤り率が計算される処理が繰り返されることになる。従って、繰り返し処理(ステップS152乃至S161の処理)の中で、弱識別器を設定する際に選択される服装特徴量(ステップS152で選択される服装特徴量)は、徐々に誤り率の高いものが選択されやすくなるので、認識し難い服装特徴量が繰り返されるほどに選択されて学習が繰り返されることになるため、認識し難い学習画像の服装特徴量がより多く選択されることになり、最終的に高い認識率にすることが可能となる。
【0182】
また、繰り返し処理(ステップS152乃至S161の処理)の中で、識別器選択部255は、常に誤り率の最も低いペアに対応する弱識別器を選択することになるので、学習処理の繰り返しにより、常に信頼度の最も高い服装特徴点のペアについての弱識別器が選択されて服装識別器に加算されることになり、繰り返される毎に精度の高い弱識別器が順次加算されることになる。
【0183】
さらに、服装識別器は、服装特徴量を用いて画像に対象物体としての人が含まれているか否かを識別する識別器である。そして、服装識別器を構成する各弱識別器に代入される服装特徴量に対応する服装特徴点のペアは、服装特徴点のペアのうち、入力された画像から対象物体を検出するのに適したペアである。
【0184】
例えば、服装識別器に代入される服装特徴量に対応するペアは、図22に示すように、画像中の対象物体としての人の周囲にある服装特徴点のペアとされている。図22では、点線の直線は、ペアとなる2つの服装特徴点を結ぶ直線を表しており、その点線の端を中心とする四角形は、服装特徴量を求めるときに用いられるテクスチャの領域を表している。
【0185】
図22の例では、画像上の人が身に着けている、その人の上半身の洋服内にある2つの服装特徴点からなり、テクスチャ間の距離、すなわち服装特徴量が小さくなるペアや、人の洋服内の服装特徴点と、人ではなく背景上の服装特徴点とからなり、服装特徴量が大きくなるペアなどが選択されていることがわかる。
【0186】
図15のフローチャートの説明に戻り、ステップS114の服装識別器生成処理の後、ステップS115において、輪郭特徴点抽出部224は、入力された学習画像から輪郭特徴点を抽出する。
【0187】
例えば、輪郭特徴点抽出部224に図23Aに示す学習画像が入力された場合、輪郭特徴点抽出部224は、図23Bに示すように、学習画像において所定の間隔で並んでいる画素を、輪郭特徴点として抽出する。なお、図23Bにおいて、学習画像上の円は輪郭特徴点とされた画素を表している。
【0188】
図23Aおよび図23Bに示す学習画像は、図中、横方向に32画素、縦方向に64画素からなる学習画像であり、輪郭特徴点抽出部224は、学習画像上の画素を、横方向および縦方向に2画素おきに輪郭特徴点とする画素として選択する。これにより、学習画像において、図中、横方向に12画素、縦方向に28画素、合計336(=12×28)画素が輪郭特徴点として選択される。
【0189】
輪郭特徴点抽出部224は、学習画像から輪郭特徴点を抽出すると、抽出した輪郭特徴点と、入力された学習画像とを輪郭特徴量計算部225に供給する。
【0190】
ステップS116において、輪郭特徴量計算部225は、輪郭特徴量計算処理を行い、輪郭特徴点抽出部224から供給された輪郭特徴点および学習画像に基づいて、各輪郭特徴点の輪郭特徴量を計算する。
【0191】
[輪郭特徴量計算処理]
【0192】
ここで、図17のフローチャートを参照して、図15のステップS116の処理に対応する輪郭特徴量計算処理について説明する。
【0193】
ステップS201において、輪郭特徴量計算部225、より詳細には、図12に示される輪郭特徴量計算部225の1次フィルタ処理部261、2次フィルタ処理部262、および3次フィルタ処理部263は、それぞれ輪郭特徴点抽出部224から供給されてきた輪郭特徴点のうち、未処理の輪郭特徴点の1つを注目画素として選択する。
【0194】
ステップS202において、輪郭特徴量計算部225は、方向θqを示すカウンタqを1とする。これにより、方向θqはθ1とされる。
【0195】
ステップS203において、1次フィルタ処理部261は、1次フィルタ処理を行う。すなわち、1次フィルタ処理部261は、処理対象となる注目画素の画素値に基づいて、ガウス幅をσ=1とし、かつ方向をθqとして式(2)を演算し、フィルタ処理した結果を特徴量生成部264に供給する。すなわち、式(2)における方向θがθqとされて演算が行われ、輪郭が抽出される。
【0196】
なお、“ガウス幅をσ=1として”と記述したが、本実施の形態の場合、ガウス幅は、σ=1と固定されている(予め1つのガウス幅のフィルタが設定されている)ため、この“ガウス幅をσ=1として”という処理は省略することが可能である。すなわち、本実施の形態においては、ガウス幅σが1のフィルタの方向をθqとして式(2)を演算するという処理が、ステップS203において実行されることになる。また、ここでは、ガウス幅σをσ=1として説明を続けるが、予め用意されているフィルタのガウス幅は、σ=1以外のガウス幅でも勿論良い。
【0197】
ステップS204において、2次フィルタ処理部262は、2次フィルタ処理を行う。すなわち、2次フィルタ処理部262は、注目画素の画素値に基づいて、ガウス幅σ=1のフィルタの方向をθqとして式(3)を演算し、フィルタ処理した結果を特徴量生成部264に供給する。すなわち、式(3)における方向θがθqとされて演算が行われ、輪郭が抽出される。
【0198】
ステップS205において、3次フィルタ処理部263は、3次フィルタ処理を行う。すなわち、3次フィルタ処理部263は、注目画素の画素値に基づいて、ガウス幅σ=1のフィルタの方向をθqとして式(5)を演算し、フィルタ処理した結果を特徴量生成部264に供給する。すなわち、式(5)における方向θがθqとされて演算が行われ、輪郭が抽出される。
【0199】
ステップS206において、輪郭特徴量計算部225は、方向θqがθ4であるか否か、すなわちカウンタq=4であるか否かを判定する。ステップS206において、方向θqがθ4でないと判定された場合、ステップS207において、輪郭特徴量計算部225は、カウンタqを1だけインクリメントする。例えば、カウンタq=1であった場合、カウンタqが1だけインクリメントされてq=2とされ、これにより方向θqはθ2とされる。カウンタqがインクリメントされると、処理はステップS203に戻り、上述した処理が繰り返される。
【0200】
これに対して、ステップS206において、方向θqがθ4であると判定された場合、ステップS208において、特徴量生成部264は、1次フィルタ処理部261、2次フィルタ処理部262、および3次フィルタ処理部263から供給された演算結果を輪郭特徴量として合成し、1つの輪郭特徴点に対する輪郭特徴量を生成する。
【0201】
輪郭特徴量は、以下の式(11)または式(12)で求められる。
【数10】

【数11】

【0202】
式(11)、式(12)において、Gd,θは、式(2)などと同じく、任意の角度θにおけるガウス関数Gのd次微分関数である。また、I(xi,yi,si)のうち、(xi,yi)は、処理対象とされている輪郭特徴点の画像内での座標を表し、(si)は、ピラミッド画像を構成する画像のうち、処理対象とされている画像のスケールを表す。
【0203】
式(11)は、任意の角度θにおけるガウス関数Gのd次微分関数と輪郭特徴量を畳込み演算し、その絶対値をΣで総和を演算する式である。式(12)は、任意の角度θにおけるガウス関数Gのd次微分関数と輪郭特徴量を畳込み演算し、その絶対値をmaxで最大値をとる式である。
【0204】
式(11)と式(12)は、ともに、特徴量を算出する式であるが、式(11)は、局所的なエネルギーを計算する式であり、式(12)は、局所的な最大値を計算する式である。ここで、この式の意味ついて説明を加える。
【0205】
上記したような処理により、任意の角度における関数とスケールで抽出されたフィルタ係数を特徴量として、教師あり統計学習を行い、人などの対象物を検出する検出識別器を生成できる。しかしながら、この検出識別器では、例えば、人の着ている服装と背景の関係に依存する特徴量となってしまう。また、人のように歪みや変形の大きな認証対象に関しては、特徴量として選択性がありすぎる。よって、これらのことを吸収して処理する必要があり、それぞれの特徴量を不変性のある特徴量にする必要がある。
【0206】
“人の着ている服装と背景に関係に依存する特徴量”を、不変性のある特徴量にするには、フィルタ処理後の出力値の絶対値を演算することで解決することができる。絶対値を演算することで、人の輪郭に近い特徴量が抽出できる。さらに本実施の形態においては、1次微分関数、2次微分関数、さらに3次微分関数を演算し、それぞれ絶対値の演算を行っている。よって、1次微分関数による絶対値だけで演算を行う場合に比べて、はるかに精度を良くすることができ、不変性を有する特徴量を算出できるようになる。
【0207】
また、“人のように歪みや変形の大きな認証対象に関しては、特徴量として選択性がありすぎる”といったことに対しては、位置ずれによる不変演算を行うことで、そのようなことを吸収した特徴量を演算できるようになる。位置ずれによる不変演算とは、例えば、人の顔の輪郭を検出したとき、顔の形によらずその輪郭の長さはほぼ同じになるといったことを利用した演算である。換言すれば、輪郭の所定の部分に注目したとき、その部分が位置的にずれても、例えば、ほぼ丸顔の人の輪郭が位置的に移動し、細長い顔の人の輪郭に重なるようにしたときに、位置がずれただけで、その長さなどの値は不変であるとみなせる演算である。
【0208】
このような演算として、式(11)のように、総和が演算される。総和を演算することにより、例えば、人の顔の輪郭の総和が演算されることになる。または、式(12)のように、最大値が演算される。最大値を演算することにより、例えば、人の顔の輪郭のうちの最大値が演算されることになる。
【0209】
ここでは、総和と最大値という2つの演算を示した。換言すれば、上記したように、式(11)に基づき、局所的なエネルギーを計算する演算か、式(12)に基づき、局所的な最大値を計算する演算を示した。この他にも、局所的な最大値を有する点の周辺の局所的なエネルギーを計算する演算が行われるようにしても良い。これは、式(12)の演算結果を受けて、式(11)の演算を行うようなイメージである。または、局所的なエネルギーの周辺の最大値を計算する演算が行われるようにしても良い。これは、式(11)の演算結果を受けて、式(12)の演算を行うようなイメージである。具体的な式は示さないが、このような演算で特徴量が算出されるようにしても良い。
【0210】
このような演算により、各輪郭特徴点から特徴点が算出される。そして、ステップS209において、輪郭特徴量計算部225は、全ての輪郭特徴点について処理が終了したか否かを判定する。例えば、輪郭特徴点抽出部224から供給された全ての輪郭特徴点について、輪郭特徴量が求められた場合、処理が終了したと判定される。
【0211】
ステップS209において、全ての輪郭特徴点について処理が終了していないと判定された場合、処理はステップS201に戻り、次の輪郭特徴点が注目画素として選択される。
【0212】
これに対して、ステップS209において、全ての輪郭特徴点について処理が終了したと判定された場合、特徴量生成部264は、輪郭特徴点抽出部224から供給された学習画像と、生成された各輪郭特徴点の輪郭特徴量とを輪郭識別器生成部226に供給する。そして、その後、処理は図15のステップS117に進む。
【0213】
なお、学習画像からの輪郭特徴量の抽出には、ステアラブルフィルタに限らず、ガボアフィルタなどが用いられるようにしてもよい。
【0214】
図15のフローチャートの説明に戻り、ステップS116で各輪郭特徴点の輪郭特徴量が求められると、次にステップS117において、輪郭識別器生成部226は、輪郭特徴量計算部225から供給された学習画像および輪郭特徴量に基づいて、輪郭識別器生成処理を行い、輪郭識別器を生成する。なお、この輪郭識別器生成処理は、図16を参照して説明した服装識別器生成処理と同様であるので、その説明は省略する。
【0215】
すなわち、服装識別器生成処理と輪郭識別器生成処理とは、処理対象となる特徴量が服装特徴量であるか、または輪郭特徴量であるかという点のみが異なる。従って、輪郭識別器生成処理においては、最も誤り率の低い輪郭特徴点の輪郭特徴量に対応する弱識別器の和から輪郭識別器が生成される。輪郭識別器生成部226は、生成した輪郭識別器および識別用特徴を識別器和生成部227に出力する。
【0216】
ステップS118において、識別器和生成部227は、服装識別器生成部223から供給された服装識別器と、輪郭識別器生成部226から供給された輪郭識別器とを統合して識別器和を生成する。
【0217】
例えば、Adaboostによる統計学習処理により得られた識別器は、弱識別器の線形結合により表現されるので、識別器和生成部227は、服装識別器と輪郭識別器とをLate Fusion方式により統合する。
【0218】
すなわち、識別器和生成部227は、次式(13)を計算することで、服装識別器R(x)と、輪郭識別器T(x)との識別器和U(x)を求める。すなわち、服装識別器R(x)と、輪郭識別器T(x)との線形結合により、識別器和U(x)が求められる。
【0219】
U(x)=α・R(x)+β・T(x) ・・・(13)
【0220】
なお、式(13)において、αおよびβは所定の定数、すなわちチューニングパラメータであり、例えば統計学習処理に用いられる学習画像に対する識別率などにより求められる。また、輪郭識別器T(x)は、式(10)により示される服装識別器R(x)と同様に、信頼度が乗算された弱識別器の和とされる。
【0221】
このようにして、識別器和が生成されると、識別器和生成部227は、生成した識別器和を識別器和記録部236に供給して記録させる。また、識別器和生成部227は、服装識別器生成部223から供給された識別用特徴量に、輪郭識別器生成部226から供給された識別用特徴量を付加して最終的な識別用特徴量とし、最終的な識別用特徴量を識別器和記録部236に供給して記録させ、学習処理は終了する。
【0222】
この学習処理は、判定する姿勢(ジェスチャ)毎に行われ、複数の姿勢を判定する識別器和が識別器和記録部236に記録される。
【0223】
以上のようにして、学習装置211は、学習画像から服装特徴点を抽出して、服装特徴点のペアの服装特徴量を求め、統計学習により服装識別器を生成するとともに、学習画像から輪郭特徴点を抽出して輪郭特徴量を求め、統計学習により輪郭識別器を生成する。そして、学習装置211は、服装識別器と輪郭識別器とを線形結合により統合して、識別器和を生成する。
【0224】
このように、服装識別器と輪郭識別器とを統合して識別器和を生成することで、画像からより確実に対象物体を検出できる識別器和を提供することができる。すなわち、識別器和は、対象物体の服装の特徴を利用した服装識別器と、対象物体の輪郭を利用した輪郭識別器とが統合されたものであるので、入力された画像から、少なくとも一方の特徴量を充分に抽出することができれば、画像から対象物体を検出することができる。
【0225】
画像から対象物体としての人を検出する場合、対象物体としての人は、服装が変化しても、人として検出されるべきである。そのため、従来は、人の服装の輝度によらない特徴量として、輪郭だけが用いられて画像からの人の検出が行われていた。
【0226】
これに対して、学習装置211では、人の服装の特徴を利用した、人の服装のパターンの変化に対して不変な服装特徴量を画像からの人の検出に用いている。この服装特徴量は、統計的に、人が上半身(シャツ)で同じテクスチャの繰り返しのパターンであり、下半身(ズボン)で同じテクスチャの繰り返しのパターンである洋服を着用することが多いことに着目し、新たに定義された特徴量である。
【0227】
すなわち、服装特徴量は、画像上の任意の2つの領域のテクスチャ、すなわち輝度のパターンの似ている度合い(類似度)を示している。例えば、人の上半身の2つの領域間のテクスチャの類似度は高く、上半身と下半身や、人の服装と背景とのテクスチャの類似度は低い。学習装置211では、このような2つの領域のテクスチャの類似度を利用して、画像から人を検出する服装識別器が用いられ、識別器和が生成される。
【0228】
従って、例えば、入力された画像から輪郭が充分に抽出できなくても、画像から2つの領域のテクスチャの類似の特徴を充分に抽出できれば、識別器和を用いて、画像から人を検出することができる。逆に、画像中において、人の着用している洋服が繰り返しでないパターンの服であったり、バッグなどで洋服が部分的に隠れていたりする場合には、画像からテクスチャの類似の特徴を充分に抽出できない恐れがあるが、画像から輪郭を充分に抽出することができれば、識別器和により画像から人を検出することができる。
【0229】
[認識装置の構成]
【0230】
図24は、認識装置212の構成を示すブロック図である。図9に示される認識器152−1乃至152−Nは、具体的には、図24に示される認識装置212により構成される。認識装置212は、識別器和記録部236に記録されている複数の識別用特徴量および識別器和を用いて、入力された入力画像に対象物体である人の所定の姿勢の画像が存在するか否かを識別し、その識別結果を出力する。
【0231】
認識装置212は、ピラミッド画像生成部230、服装特徴点抽出部231、服装特徴量計算部232、輪郭特徴点抽出部233、輪郭特徴量計算部234、識別計算部235、および識別器和記録部236から構成される。認識装置212のピラミッド画像生成部230、服装特徴点抽出部231、服装特徴量計算部232、輪郭特徴点抽出部233、および輪郭特徴量計算部234のそれぞれは、対象物体を認識しようとする入力画像に対して、図10の学習装置211のピラミッド画像生成部220、服装特徴点抽出部221、服装特徴量計算部222、輪郭特徴点抽出部224、および輪郭特徴量計算部225のそれぞれと同様の処理を行うものである。従って、その詳細な説明は省略する。
【0232】
識別計算部235は、識別器和記録部236に記録されている複数の識別用特徴量および識別器和のうちの所定のものを読み出す。また、識別計算部235は、服装特徴量計算部232からの服装特徴量、および輪郭特徴量計算部234からの輪郭特徴量のうちの識別用特徴量に対応するものを、読み出した識別器和に代入して演算を行う。
【0233】
[認識処理]
【0234】
次に、認識装置212が、例えば、人などの対象物を検出(認識)するときの処理について、図25のフローチャートを参照して説明する。認識装置212に図1の注目領域設定部32から入力画像が入力されると、認識装置212は、人検出処理を開始して、入力画像から対象物体の姿勢を検出する。
【0235】
なお、図25のステップS250乃至ステップS253の処理のそれぞれは、図15のステップS110乃至ステップS113の処理のそれぞれと同様である。
【0236】
すなわち、ステップS250においてピラミッド画像生成部230は、入力された画像から、ピラミッド画像を生成する。なお、ピラミッド画像生成部230でピラミッド画像を生成するとき、学習装置211のピラミッド画像生成部220が生成するピラミッド画像と同じスケール(解像度)の画像を生成するようにする。このように学習時のスケール係数と、認識時のスケール係数を合わせておくことで、認識時に効率の良いスキャンを行うことが可能となる。
【0237】
ステップS251において、服装特徴点抽出部231は、供給された学習画像から服装特徴点を抽出して、抽出した服装特徴点および学習画像を服装特徴量計算部232に供給する。
【0238】
ステップS252において、服装特徴量計算部232は、服装特徴点抽出部231から供給された服装特徴点と入力画像とに基づいて、各服装特徴点について、服装特徴点のペアリングを行う。
【0239】
ステップS253において、服装特徴量計算部232は、ペアリングによりペアとされた服装特徴点の各ペアについて服装特徴量を計算し、これにより得られた服装特徴量を識別計算部235に供給する。
【0240】
ステップS254において、輪郭特徴点抽出部233は、図15のステップS115の処理と同様の処理を行い、入力された入力画像から輪郭特徴点を抽出し、入力画像とともに輪郭特徴量計算部234に供給する。
【0241】
ステップS255において、輪郭特徴量計算部234は、輪郭特徴点抽出部233からの入力画像および輪郭特徴点に基づいて、輪郭特徴量計算処理を行い、各輪郭特徴点の輪郭特徴量を計算する。そして、輪郭特徴量計算部234は、求められた輪郭特徴量を識別計算部235に供給する。なお、この輪郭特徴量計算処理は、図17を参照して説明した輪郭特徴量計算処理と同様の処理であるため、その説明は省略する。
【0242】
ステップS256において、識別計算部235は、識別器和記録部236から識別用特徴量および識別器和を読み出して、読み出した識別器和に特徴量を代入して計算する。すなわち、識別計算部235は、服装特徴量計算部232からの服装特徴量、および輪郭特徴量計算部234からの輪郭特徴量のうちの識別用特徴量に対応するものを、式(13)の識別器和U(x)に代入して、その値を計算する。
【0243】
ここで、識別器和を構成する弱識別器に代入される特徴量は、識別用特徴量とされた特徴量が求められた、学習画像の服装特徴点のペアまたは輪郭特徴点と同じ位置にある、入力画像上の服装特徴点のペアまたは輪郭特徴点から求められた特徴量である。また、識別用特徴量とされる特徴量は、統計学習処理時において、識別器和を構成する弱識別器の設定に用いられた特徴量である。
【0244】
このようにして計算された各認識器152毎の識別器和U(x)の演算結果のうち、図9の制限部154により、制限領域の値が除去される。そして最大値出力認識器155は、最大の識別器和U(x)の演算結果に対応する認識器152を選択することで、その認識器152に割り当てられている姿勢を選択する。これにより、ユーザの姿勢、つまりジェスチャが検出される。
【0245】
以上においては、Descrete Adaboost Algorithmに基づいて、統計学習処理を実行する例について説明してきたが、それ以外のBoosting Algorithmを適用するようにしてもよく、例えば、Gentle Adaboost Algorithmを用いるようにしてもよい。Descrete Adaboost Algorithmと、Gentle Adaboost Algorithmとは、前者の識別器の出力結果が離散変量であるのに対して、後者は、連続変量である点で異なる。しかしながら、前者においては、信頼度が乗じられるため、出力結果は、実質的に連続変量として扱われており、本質的に処理の違いはない。
【0246】
さらに、その他、SVM(Support Vector Machine)やBaysianなどにより統計学習処理を行い、服装識別器や輪郭識別器を生成するようにしてもよい。なお、統計学習処理において、Adaboostなどで特徴量(服装特徴量または輪郭特徴量)を選択するようにすると、特徴量演算部41における識別器和を用いた人の検出時に、より高速に処理を行うことができるようになる。
【0247】
また、以上においては、服装識別器と輪郭識別器とを生成し、それらの識別器を統合して識別器和を生成すると説明したが、服装識別器および輪郭識別器を生成せずに、服装特徴量および輪郭特徴量から、直接、識別器和が生成されるようにしてもよい。
【0248】
上述したように、入力された画像を、異なる解像度の画像(ピラミッド画像)にし、その異なる解像度の画像に対してフィルタ処理を施すことにより、計算効率を向上させることが可能となり、処理速度を向上させることが可能となる。よって、例えば、リアルタイムに人などの対象物を認識することが可能となる。
【0249】
例えば、複数のスケールの画像に、複数のフィルタを用いた処理を行うと、多くのフィルタ演算を必要とし、処理時間や処理能力が増大してしまう可能性があった。しかしながら本実施の形態のように、複数のスケールの画像に、1つのフィルタを用いた処理を行うため、換言すれば、畳み込みが1スケールですむため、多くの演算を必要とせず処理を行えるため、処理速度を向上させることが可能となる。
【0250】
また、マルチスケールフィルタの場合、周波数が低くなる(ガウス幅σが大きくなる)と、畳み込み演算に時間がかかるが、本実施の形態によれば、上記したように、1つのガウス幅でフィルタを構成することが可能であり、複数のガウス幅のフィルタを用意する必要がなく、複数のガウス幅のフィルタで演算する必要がない。よって、本実施の形態によれば、仮に、最も高周波のフィルタを1つだけ用意して処理したとしても、マルチスケールフィルタの場合に比べて、はるかに処理速度を向上させることが可能となる。
【0251】
[識別器の原理]
【0252】
識別器152を生成する原理をまとめると、次のようになる。図26は、識別器152を生成する原理を示す図である。
【0253】
上記した実施の形態においては、対象物として人を検出する場合を例にあげて説明した。人を検出するために、学習装置211での学習時には、所定の姿勢の人が撮像されている画像と、そうでない画像とが用いられて学習が行われる。図26に示されるように、姿勢画像401−1乃至401−Mと自然画像(姿勢画像でない画像)402−1乃至402−Nを用いて、学習装置211で学習を行えば、所定の姿勢の検出対象を識別(検出)することができる識別器和を生成することが可能である。
【0254】
テレビジョン受像機のチャンネルを切り替えるときのジェスチャを識別するための識別器和を生成する場合、そのジェスチャの画像が含まれる姿勢画像401が、M枚用いられて学習が行われる。自然画像として学習装置211に入力されるのは、そのジェスチャが写っていないような画像である。そのような自然画像が、N枚用いられて学習が行われる。
【0255】
(M+N)枚の姿勢画像401と自然画像402が学習装置211に入力され、学習されることで、所定のジェスチャを識別する識別器和が生成され、識別器和記録部212に記録される。その識別器和は、入力された画像から、所定のジェスチャの画像と、そのジェスチャでない画像とを識別することができる識別器和である。さらに、姿勢画像401として、例えば、電源をオフするときのジェスチャの画像を用いて学習させたときには、電源をオフするときのジェスチャを識別する識別器和が生成される。
【0256】
すなわち、学習させたときに用いられた姿勢画像401のジェスチャにより、識別するジェスチャに適した識別器和を生成することができる。
【0257】
このように生成された所定の姿勢を識別する識別器和によれば、精度良く姿勢を識別することができる。また、その識別のために行われる計算の計算効率は良いため、処理速度を向上させることができる。
【0258】
<第2の実施の形態>
【0259】
図27は、本発明の情報処理装置の他の実施の形態の構成を示すブロック図である。この実施の形態においては、特徴量抽出部14が、背景制限部71と特徴量演算部41により構成されている。その他の構成は、図1の実施の形態の場合と同様である。
【0260】
背景制限部71は、注目領域から背景領域を除外する処理を行う。すなわち、背景制限部71は、注目領域32により設定された注目領域112から、制限領域設定部52により設定された制限領域131乃至134を除外し、領域141を抽出する。特徴量演算部41は、背景制限部71により抽出された領域141について、特徴量を演算し、特徴量演算部41に出力する。その他の動作は、図1の実施の形態の場合と同様である。
【0261】
このように、注目領域111全体ではなく、そこから制限領域131乃至134を除外した領域141の特徴量を演算した方が、演算量を少なくすることができる。
【0262】
<変形例>
【0263】
以上においては、人体の部位として、顔と手を利用するようにしたが、その他の部位を利用することも可能である。
【0264】
<本発明のプログラムへの適用>
【0265】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
【0266】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0267】
<その他>
【0268】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0269】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0270】
1 情報処理装置, 11 画像入力部, 12 検出部, 13 領域設定部, 14特徴量抽出部,15 領域設定部15, 16 姿勢推定部, 17 検知部, 18 制御部

【特許請求の範囲】
【請求項1】
画像を入力する入力手段と、
入力された前記画像から被写体の部位を検出する検出手段と、
検出された前記部位から注目領域を設定する注目領域設定手段と、
検出された前記部位から制限領域を設定する制限領域設定手段と、
前記制限領域により制限された前記注目領域の特徴量を抽出する抽出手段と
を備える情報処理装置。
【請求項2】
前記制限領域を設定する前記部位は、前記注目領域を設定する前記部位と異なる部位を含む
請求項1に記載の情報処理装置。
【請求項3】
前記被写体は人であり、
前記注目領域を設定する前記部位は、前記人の顔であり、
前記制限領域を設定する前記部位は、前記人の手と前記人の顔の一方または両方である
請求項2に記載の情報処理装置。
【請求項4】
前記抽出手段は、
前記注目領域の前記特徴量を演算する特徴量演算手段と、
演算された前記注目領域の前記特徴量から、前記制限領域の前記特徴量を制限する制限手段と
備える請求項3に記載の情報処理装置。
【請求項5】
前記抽出手段は、
前記注目領域から前記制限領域を除去する制限手段と、
前記制限領域が除去された前記注目領域の前記特徴量を演算する特徴量演算手段と
備える請求項3に記載の情報処理装置。
【請求項6】
前記制限領域により制限された前記注目領域の特徴量から、前記人の姿勢を推定する推定手段を
さらに備える請求項4に記載の情報処理装置。
【請求項7】
推定された前記人の姿勢からコマンドを検知する検知手段
をさらに備える請求項6に記載の情報処理装置。
【請求項8】
検知された前記コマンドに応じて動作を制御する制御手段を
さらに備える請求項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

【図27】
image rotate


【公開番号】特開2012−53606(P2012−53606A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−194821(P2010−194821)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】