【解決手段】属性の推定をする対象に関する画像を取得する画像取得手段110と、属性特徴量を画像から求める特徴量演算手段121と、求められた属性特徴量が識別区分の各々の特徴を有する度合いを表わす属性尤度を求める第一年齢層尤度演算手段122、第二年齢層尤度演算手段123、世代尤度演算手段124と、これらによって求められた尤度を統合することによって属性特徴量が識別区分のうち重複する重複区分の特徴を有する度合いを表わす重複区分尤度を求め、重複区分尤度を用いて対象が属する属性区分を推定する統合推定手段125と、を設けた属性推定装置であり、人物の年齢を推定対象の属性に選ぶと年齢推定装置100が実現できる。
【発明を実施するための形態】
【0016】
[発明の概要説明]
具体的な人の属性についての例を示す前に、本発明の基本的な考えを説明する。
図1(a)は、本発明にかかる識別器群を模式的に示す。
【0017】
本発明では、推定対象の特徴の1つを示す属性について、当該属性を区分した属性区分のどこに属する可能性が高いかを推定する。本発明では、属性を2以上の識別器群によって推定する。各識別器群は、所定数の属性区分に対する識別器を有する。
【0018】
第一識別区分識別器群11は、識別区分識別器A〜識別区分識別器Gの7つを含む。また、第二識別区分識別器群12は、識別区分識別器H〜識別区分識別器Mの6つを含む。
【0019】
第一識別区分識別器群11に含まれる識別区分識別器Aは、属性区分が“0”と“1”のデータを正解とし、それ以外の属性区分のデータを不正解として学習処理により構築されている。識別区分識別器Bは、属性区分が“2”と“3”のデータを正解とし、それ以外の属性区分のデータを不正解として学習処理により構築されている。以下同様に、識別区分識別器Gは、属性区分が“12”と“13”のデータを正解とし、それ以外の属性区分のデータを不正解として学習処理により構築されている。
【0020】
また、第二識別区分識別器群12に含まれる識別区分識別器Hは、属性区分が“1”と“2”のデータを正解とし、それ以外の属性区分のデータを不正解として学習処理により構築されている。識別区分識別器Iは、属性区分が“3”と“4”のデータを正解とし、それ以外の属性区分のデータを不正解として学習処理により構築されている。以下同様に、識別区分識別器Mは、属性区分が“11”と“12”のデータを正解とし、それ以外の属性区分のデータを不正解として学習処理により構築されている。
【0021】
このように、第一識別区分識別器群11と第二識別区分識別器群12は、その属性区分が重複する区間(以下、重複区分という)が存在するように区分されており、それぞれの属性区分に属するデータを正解として用意された学習用データを用いた学習処理により構築されている。例えば、第一識別区分識別器群11の識別区分識別器Aの属性区分は“0”と“1”であり、第二識別区分識別器群12の識別区分識別器Hの属性区分は“1”と“2”であり、互いに属性区分“1”を重複区分としている。
【0022】
そして、
図1(b)に示すように、入力画像を第一識別区分識別器群11及び第二識別区分識別器群12に含まれる識別区分識別器に入力し、入力画像についてそれぞれの識別区分識別器がデータの特徴を学習した属性の区分(以下、識別区分という)らしさを表わすとして出力されるスコアを並べ、正規化した第一識別区分尤度分布と第二識別区分尤度分布を求める。その後、両者を統合して統合尤度分布を求める。
【0023】
第一識別区分尤度分布と第二識別区分尤度分布の統合について、
図2を用いて説明する。
図2には、入力データの属性区分が“5”の場合の第一識別区分尤度分布30と第二識別区分尤度分布31が模式的に示されている。
【0024】
入力データの正解の属性区分は“5”であるので、識別区分識別器Dが出力した尤度が高い値を示している。しかしその一方で、識別区分識別器Fが出力した尤度も高い値を示しており、識別区分識別器Cが出力した尤度より高くなっている。仮に、従来通りに第一識別区分識別器群11のみに含まれる識別区分識別器を用いた場合、入力データは最高の尤度を示す識別区分である属性区分“10”または“11”と判定される。実際には入力データの正解の属性区分は“5”であるので、これは誤りとなる。一方、第二識別区分尤度分布31を参照すると、識別区分識別器Jが最も高い尤度を示す。
【0025】
そこで本発明では、属性区分の1つ毎に、第一識別区分尤度分布30と第二識別区分尤度分布31を統合して、統合尤度分布32を求める。例えば、統合の方法は、属性区間ごとに尤度の平均を求めて、その平均の総和で除算する正規化処理をする。正規化処理を省略してもよい。この統合処理により、識別区分識別器Fが正解とする属性区分“10”と“11”の尤度は値が大きく下がり、正解とする属性区分“5”の尤度が最高値となり、入力データの属性区分は“5”と正しく求められる。
【0026】
すなわち本発明においては、重複区分を含む識別区分を学習した識別器をそれぞれ含む複数の識別区分識別器群を準備し、識別区分識別器群において求められた属性尤度を統合することによって重複区分の特徴を有する度合いを表わす重複区分尤度を求める。そして、この重複区分尤度を用いて対象が属する属性区分を推定する。これにより、何らかの原因で正解以外の属性区分で最高の尤度が算出されることで、推定結果が誤ることを防止することができる。
【0027】
[第1の実施形態(年齢推定装置)]
第1の実施形態として、本発明を年齢推定装置に適用した場合について説明する。すなわち対象は人物であり、属性は年齢であり、属性区分は年齢層となる。また、
図1で示した第一識別区分識別器群11は第一年齢層識別器群、第二識別区分識別器群12は第二年齢層識別器群となる。対象の情報は顔画像とする。
【0028】
図3に年齢推定装置100のブロック図を示す。年齢推定装置100は、入力画像、本実施の形態では人物の顔画像を取得するための撮像装置50に接続され、図示しない外部の装置へ推定結果を出力するよう構成されている。
【0029】
撮像装置50は、いわゆるカメラでありCCDやC−MOSといった撮像素子とレンズを含んで構成される。撮像装置50の解像度は、年齢推定装置100において推定対象となる属性、撮像装置50の設置環境、推定処理部120の処理能力等に応じて決定すればよく、例えば1600×1200画素とされる。撮像装置50は、年齢の推定対象の人物の顔や頭部の画像を撮影して、入力画像として年齢推定装置100に入力する。
【0030】
年齢推定装置100は、CPU/MPU、各種メモリ類、周辺回路などから構成され、撮像装置50が取得した入力画像から顔画像を抽出して、それに写っている人物の年齢を推定して出力する。年齢推定装置100は、画像取得手段110、推定処理部120、記憶部130及び出力部140を含んで構成される。
【0031】
情報取得手段として動作する画像取得手段110は、撮像装置50と接続されるインターフェース回路であり、撮像装置50によって撮影された入力画像を取得し、推定処理部120へ出力する。撮像装置50の代わりに、ハードディスク等の記憶媒体から過去に撮像されていた入力画像を取得するようにしてもよい。また、ネットワークを介して外部装置から送信されてきた入力画像を取得してもよい。
【0032】
出力部140は、推定処理部120において入力画像の人物について推定された年齢層を外部機器(不図示)に出力するためのインターフェース及びその制御回路である。外部機器は、表示装置(モニタ)でもよいし、または別途推定の履歴を記憶しておくための記憶装置でもよい。または、ネットワークを介してサーバーマシンに推定された年齢層を送信してもよい。
【0033】
記憶部130は、ROM、RAMなど半導体メモリやハードディスク等の大規模記憶手段を含んで構成され、年齢推定装置100を制御するためのプログラム(不図示)、プログラムモジュールにて実現される推定処理部120のプログラム(不図示)及び各種データを記憶し、推定処理部120との間で情報を入出力する。各種データには、少なくとも、年齢層推定モデル131が含まれる。
【0034】
図4に、年齢層推定モデル131を模式的に示す。年齢層推定モデル131は、第一年齢層識別器群132、第二年齢層識別器群133、世代識別器群134から構成される。
【0035】
第一年齢層識別器群132は、年齢層識別器A、年齢層識別器B・・・年齢層識別器Gの7つから構成される。年齢層識別器Aは、年齢10〜19歳の識別区分に該当する人物の顔画像を正解、それ以外の年齢層を不正解とした学習処理により構築される。年齢層識別器Bは、年齢20〜29歳の識別区分に該当する人物の顔画像を正解、それ以外の年齢層を不正解とした学習処理により構築される。同様に、年齢層識別器Cから年齢層識別器Gまでがそれぞれ年齢30〜39歳、40〜49歳、50〜59歳、60〜69歳、70〜79歳の識別区分に該当する人物の顔画像を正解、それ以外を不正解とした学習処理により構築される。
【0036】
第二年齢層識別器群133は、年齢層識別器H、年齢層識別器I・・・年齢層識別器Mの6つから構成される。年齢層識別器Hは、年齢15〜24歳の識別区分に該当する人物の顔画像を正解、それ以外の年齢層を不正解とした学習処理により構築される。年齢層識別器Iは、年齢25〜34歳の識別区分に該当する人物の顔画像を正解、それ以外の年齢層を不正解とした学習処理により構築される。同様に、年齢層識別器Jから年齢層識別器Mまでがそれぞれ年齢35〜44歳、45〜54歳、55〜64歳、65〜74歳の識別区分に該当する人物の顔画像を正解、それ以外を不正解とした学習処理により構築される。
【0037】
さらに、本実施の形態における年齢層推定モデル131は、世代識別器群134も備える。世代識別器群134は、若年世代識別器N、壮年世代識別器O、老年世代識別器Pから構成される。若年世代識別器Nは、年齢10〜34歳の識別区分に該当する人物の顔画像を正解、それ以外の年齢層を不正解とした学習処理により構築される。壮年世代識別器Oは、年齢35〜54歳の識別区分の人物に該当する顔画像を正解、それ以外の年齢層を不正解として学習処理により構築される。老年世代識別器Pは、年齢55〜80歳の識別区分の人物に該当する顔画像を正解、それ以外の年齢層を不正解として学習処理により構築される。世代識別器群134は、第一年齢層識別器群132及び第二年齢層識別器群133と比較すると、正解とする年齢層の幅が広く、それぞれの名称どおりに入力画像に写されている人物の世代らしさを出力する。
【0038】
第一年齢層識別器群132と第二年齢層識別器群133に加え、世代識別器群134をも併用することにより、顔が良く似た親子のように、年齢層がまったく異なるが顔つきの特徴が共通しており誤った結果を出力する可能性がある場合にも、世代識別器群134によりまずは大まかに正解の世代を特定し、加えて年齢層を推定することによって推定精度を向上させることができる。
【0039】
推定処理部120は、メモリ、その周辺回路及びそのマイクロプロセッサなどのいわゆるコンピュータにより構成され、画像取得手段110から入力された入力画像に対し各種処理を実行し、その処理結果を出力部140に出力する。
【0040】
そのために推定処理部120は、特徴量演算手段121、第一年齢層尤度演算手段122、第二年齢層尤度演算手段123、世代尤度演算手段124、統合推定手段125を有する。各手段は、マイクロプロセッサ上で動作するソフトウェアにより実現させる機能モジュールである。
【0041】
特徴量演算手段121は、画像取得手段110から入力画像を取得し、顔画像を抽出した後に、年齢層を推定するための属性特徴量を算出する。入力画像からの顔画像の抽出は周知の技術を用いればよい。例えば背景差分を施したうえで顔らしい楕円形状を検出したり、顔の特徴を学習した識別器を用意して入力画像を順次走査し顔らしい形状を検出したりすればよい。
【0042】
属性特徴量は、特に制限されるものではない。例えば、
図5に示すように、顔画像300から特徴点301を抽出の後、ハールライク(Haar-Like)特徴量302、特徴点同士の距離303、ガボール(Gabor)特徴量304、HOG(Histogram of Oriented Gradient)特徴量305、LBP(Local Binary Pattern)特徴量(不図示)から適宜選択して成分とした特徴量ベクトルとすればよい。
【0043】
特徴量演算手段121は、算出した属性特徴量を、第一年齢層尤度演算手段122、第二年齢層尤度演算手段123、世代尤度演算手段124に出力する。
【0044】
第一年齢層尤度演算手段122は、属性特徴量を用い、記憶部130に記憶されている第一年齢層識別器群132を読み出して、年齢層毎の尤度を算出して並べ、正規化した尤度分布を求める。例えば、第一年齢層識別器群132の年齢層識別器Aを用いて、属性特徴量が入力顔画像の人物の10〜19歳らしさを表わす尤度を求める。同様に、年齢層識別器B〜年齢層識別器Gによってそれぞれの年齢層らしさを表わす尤度を求める。これにより、
図6に示すように、年齢層識別器A〜年齢層識別器Gによって求められた尤度を正規化した第一年齢層尤度分布400が得られる。なお、
図6は、実際の年齢が39歳の人物の顔画像について識別区分毎に尤度を求めた結果を示している。
【0045】
同様に、第二年齢層尤度演算手段123は、第二年齢層識別器群133に含まれる年齢層識別器H〜年齢層識別器Mを用いて、属性特徴量がそれぞれの年齢層らしさを表わす尤度を求める。これにより、
図6に示すように、年齢層識別器H〜年齢層識別器Mによって求められた尤度を正規化した第二年齢層尤度分布410が得られる。
【0046】
同様に、世代尤度演算手段124は、世代識別器群134に含まれる若年世代識別器N、壮年世代識別器O及び老年世代識別器Pを用いて、属性特徴量がそれぞれの世代らしさを表わす尤度を求める。これにより、
図6に示すように、若年世代識別器N、壮年世代識別器O及び老年世代識別器Pによって求められた尤度を正規化した世代尤度分布420が得られる。
【0047】
統合推定手段125は、第一年齢層尤度分布400、第二年齢層尤度分布410及び世代尤度分布420を統合して、最も高い尤度を示した属性区分である年齢層を入力顔画像に写った人物の年齢層として推定する。統合方法は、発明の概要説明において説明した方法と同様である。
【0048】
統合推定手段125は、属性区分の1つ毎に、第一年齢層尤度分布400、第二年齢層尤度分布410及び世代尤度分布420を統合して統合尤度分布430を求める。例えば、統合の方法は、属性区分毎に第一年齢層尤度分布400、第二年齢層尤度分布410及び世代尤度分布420の尤度の平均を求めて、全ての平均の総和で除算する正規化を施して統合尤度とする。正規化処理を省略してもよい。
【0049】
なお、統合推定手段125が行う統合処理の際に、識別区分の中間の値が最高値となり、識別区分の境界に近づくほど値が小さくなるような重みを付けてもよい。これは、入力画像が識別区分の境界に近い年齢を正解とする場合には、その隣接する識別区分でも高い尤度を示すことが多く、どちらの識別区分が正しいかの、いわば信頼性が低いと考えられるからである。
【0050】
重みは、識別区分の中間における最高値が1.0、識別区分の境界に近づくほど0に近い値とするのが好適である。例えば、グラフを描画すると三角波や正規分布に似た形となるように重みを設定する。
【0051】
本実施の形態では、第一年齢層尤度分布400及び第二年齢層尤度分布410では5歳刻みの属性区分を2つ組み合わせた10歳刻みの識別区分毎の尤度を求めており、世代尤度分布420では5歳刻みの属性区分をそれぞれ5つ、4つ、5つ組み合わせた識別区分毎の尤度を求めているのに対して、統合尤度分布430では重複区分について尤度を統合することにより5歳刻みの重複区分尤度が得られる。
【0052】
第一年齢層尤度分布400では、正解となる年齢層識別器Cの尤度が高く、すぐ上の年齢層を正解とした年齢層識別器Dの尤度も高い。しかし、全く異なる年齢層を正解とする年齢層識別器Fの尤度の方が高く、第一年齢層尤度分布400のピークの尤度を参照して推定結果とすると、実際の年齢が39歳の人物が60〜69歳の年齢層として推定されてしまう。一方、第二年齢層尤度分布410では、正解となる年齢層識別器Jの尤度が最も高い。さらに、世代尤度分布420でも、正解となる世代である壮年世代識別器Oの尤度が最も高い。
【0053】
そして、第一年齢層尤度分布400、第二年齢層尤度分布410及び世代尤度分布420を統合した統合尤度分布430では、正解である35〜39歳の属性区分(年齢層)の尤度(重複区分尤度)が最大値を示しており、統合推定手段125は人物を“35〜39歳”と推定してその結果を出力部140に出力する。
【0054】
なお、統合推定手段125は、最大値の尤度を示した属性区分の中央値(ここでは“37歳”)を推定年齢として出力してもよい。また、統合推定手段125は、各属性区分の代表値を用いて、その年齢層の尤度を重みとした重み付き平均値を推定結果として出力してもよい。属性区分の代表値とは、その属性区分の上限と下限の平均値である。例えば“30〜39歳”の属性区分では代表値として34.5歳とする。さらには重み付き平均の計算においては、尤度の高い上位所定数の属性区分のみを用いてもよい。
【0055】
本実施の形態では、第一年齢層識別器群132及び第二年齢層識別器群133に含まれる年齢層識別器A〜年齢層識別器Mでは10歳幅の識別区分毎を学習領域としているが、5歳幅の重複区分を有する識別器の組を含んでいる。単純に年齢層識別器の識別区分の幅を5歳としてしまうと、それに応じて正解の学習用顔画像が少なくなってしまうので当該識別区分に該当する年齢層の顔の特徴よりも、むしろ学習用顔画像の人物自身の顔の特徴を学習した年齢層識別器が構築される傾向が避けられない。その場合、入力顔画像に写っている人物の年齢よりも、顔つきが似ている人物について学習した年齢層識別器の出力に引き摺られて、誤った属性区分(年齢層)に該当するという推定がなされる可能性が高まる。これに対して、本実施の形態では、各年齢層識別器の識別区分は10歳としつつ、重複区分を有する複数の年齢層識別器を用意して、重複区分毎に統合された尤度を求めることで、5歳刻みの属性区分における年齢の推定の確度を高めることができる。
【0056】
さらに、識別区分の幅をさらに大きくして世代毎の顔の特徴を学習した若年世代識別器N、壮年世代識別器O及び老年世代識別器Pを用意することで、10歳幅の年齢層識別器を含む第一年齢層識別器群132及び第二年齢層識別器群133の組み合わせでも抑えられないような世代を超えた誤推定を回避することができる。
【0057】
なお、属性区分は5歳刻みに限定されない。例えば、属性区分を2歳刻みとして、同様な処理によって2歳幅で年齢を推定することが可能となる。また、各年齢層識別器の識別区分を10歳幅に固定する必要はない。年齢層識別器同士の識別区分が重複区分を含むという条件下、学習に用いる顔画像の年齢層毎の数に応じて識別区分の幅を調整してもよい。例えば、識別区分毎の学習に使用する正解の顔画像の下限数(例えば、顔画像の全体数の5%)を設定しておき、正解の顔画像の数が下限数に到達しない場合には識別区分の幅を広くしてもよい。また、正解の顔画像の数が多いほど識別区分の幅を狭くするようにしてもよい。
【0058】
以上のように、年齢推定装置100の構築にあたって用意された学習用の顔画像を最大限に利用して、誤推定を回避しつつ、従来よりも細かく年齢層を推定できる。
【0059】
なお、年齢層推定モデル131として、第一年齢層識別器群132及び第二年齢層識別器群133のみを用いて、世代識別器群134を用いなくてもよい。この場合、年齢層識別器の数は減るが、第二年齢層識別器群133の年齢の刻みの幅(属性区分の刻みの幅)を、第一年齢層識別器群132よりも広くしてもよい。これにより、世代識別器群134を併用した場合と同様に、全く異なった年齢層に推定されることを防ぐことができる。すなわち、属性区分毎に用意される正解の画像が少ないと、その属性区分毎に共通した特徴より画像自体の特徴が学習される傾向があるが、属性区分の幅を広く設定することで属性区分毎の特徴を学習させることができるからである。
【0060】
また、統合推定手段125では、属性区分毎に第一年齢層尤度分布400と第二年齢層尤度分布410の平均を算出するものとしているがこれに限定されるもりではない。
【0061】
例えば、各識別器に割り当てられた属性区分の幅に応じて尤度に重み付けをして統合処理を施すことが好適である。
図7に示すように、第一年齢層識別器群132と第二年齢層識別器群150を構築した場合、統合推定手段125は属性区分151については年齢層識別器Cと年齢層識別器Qから出力される尤度を合成する。年齢層識別器Cの年齢層の範囲は10歳、年齢層識別器Qの年齢層の範囲は25歳であるので統合する際には両者の年齢層の比に応じて重み付けするのが好適である。すなわち、年齢層識別器Cが出力した尤度に対しては重み1.0、年齢層識別器Qが出力した尤度に対しては重み2.5を乗算して重み付け平均を求めればよい。同様に、属性区分152については、年齢層識別器Eの年齢層の範囲は10歳、年齢層識別器Rの年齢層の範囲は20歳であるので、年齢層識別器Eが出力した尤度に対しては重み1.0、年齢層識別器Rが出力した尤度に対しては重み2.0を乗算して重み付け平均を求めればよい。そして、統合推定手段125は、そのほかの年齢層についても同様に重み付けを考慮して尤度の重み付け平均を求め、全体について正規化することで統合尤度分布とする。
【0062】
[第2の実施形態(毛髪長推定装置)]
第二の実施形態として、本発明を毛髪長推定装置に適用した場合について説明する。すなわち推定すべき属性は人の毛髪(頭髪)の長さであり、属性区分は単位をセンチメートルとした毛髪の長さとなる。また
図1で示した第一識別区分識別器群11は第一毛髪長識別器群、第二識別区分識別器群12は第二毛髪長識別器群となる。
【0063】
図8は、毛髪の長さと属性区分との関係を示す。毛髪長の長さが0cm(すなわちスキンヘッド)から1cmの範囲では属性区分0、以下、40cm以上のロングヘアである属性区分6まで定義する。髪の長さは、頭皮上の位置に依って多少の違いはあるものの、一見した印象において支配的な部分の長さとして定義する。
【0064】
図9は、当該年齢層推定モデルに対応する毛髪長推定モデル700を模式的に示す。毛髪長推定モデル700は、第一毛髪長識別器群710と第二毛髪長識別器群720からなる。各識別器群は毛髪長に応じて、それぞれの長さの髪を持つ人物の上半身画像を正解、それ以外の長さの髪を持つ人物の上半身画像を不正解とした学習処理により構築される。
【0065】
毛髪長識別器Aは、毛髪長が0〜1cmに該当する人物の上半身画像を正解、それ以外を不正解とした学習処理により構築される。毛髪長識別器Bは、毛髪長が1〜10cmに該当する人物の上半身画像を正解、それ以外を不正解とした学習処理により構築される。同様に、毛髪長識別器C〜毛髪長識別器Hは、それぞれ毛髪長が10cm〜30cm、30cm〜50cm、0cm〜5cm、5cm〜20cm、20cm〜40cm、40cm以上に該当する人物の上半身画像を正解、それ以外を不正解として学習処理により構築される。そして、毛髪長識別器A〜毛髪長識別器Hは、入力画像中の人物の髪の長さがそれぞれの識別区分である尤度を出力する。
【0066】
次に、本実施の形態にかかる毛髪長推定装置の構成要素とその作用を説明する。毛髪長推定装置は、
図3に示した第1の実施形態の年齢推定装置にかかるブロック図において、「年齢層」を「毛髪長」に読み替え、「世代尤度演算手段」と「世代識別器群」を省略して実現される。
【0067】
推定処理部120の特徴量演算手段121は、入力画像から人物の上半身画像(胸から上)を抽出する。また、特徴量演算手段121は、顎の高さより上の頭部画像を抽出してもよい。
図10は、抽出された上半身画像600の例を示す。さらに、特徴量演算手段121は、上半身画像600から顔の特徴点601を周知な手法にて抽出し、それを基準に顔画像領域602(
図10では点線で示す)を決定して顔画像領域602の周囲に毛髪領域603を定義する。毛髪領域603の下端は女性のロングヘアを捉えられるよう顎よりも下、肩の辺りまで伸ばすように定義するのが好適である。
【0068】
次に、特徴量演算手段121は、毛髪領域603の内部の画素を用い、毛髪長推定に用いる属性特徴量を抽出する。属性特徴量としてはHOG特徴量604、ハールライク特徴量605、LBP特徴量606を成分とする特徴量ベクトルとすることが好適である。また、これらの特徴量のいずれかのみを用いてもよい。
【0069】
第一毛髪長尤度演算手段122と第二毛髪長尤度演算手段123のそれぞれは、記憶部に記憶されている第一毛髪長識別器群710と第二毛髪長識別器群720を用いて、特徴量演算手段121において得られた属性特徴量の第一毛髪長尤度分布と第二毛髪長尤度分布を求める。
【0070】
統合推定手段125は、第一毛髪長尤度分布と第二毛髪長尤度分布を統合して統合尤度分布を求め、最高の尤度を示した属性区分(毛髪長)を推定結果として出力部140に出力する。例えば、属性区分(毛髪長)が30〜40cmにおいて尤度が最高を示した場合には“セミロング”であるとの推定結果を出力する。
【0071】
以上説明してきたように、第二の実施の形態による毛髪長推定装置は、第一の実施の形態にかかる年齢推定装置と同様に、重複区分を有する識別区分について学習した毛髪長識別器の組を含む第一毛髪長識別器群710及び第二毛髪長識別器群720を用意することで、学習に用いる人の画像を増やすことなく、誤推定を回避しつつ、従来よりも細かく毛髪長を推定できる。
【0072】
なお、第一の実施の形態における世代識別器のように、より幅の広い区分けの識別区分を学習した毛髪長識別器を用意して、3種類以上の識別器群を組み合わせて尤度を統合するようにしてもよい。
【0073】
[変形例]
上記のいずれの実施の形態においても、属性の値域(第1の実施例では10〜80歳、第2の実施例では0〜50cmという最大と最小の間)の全範囲をいずれかの属性区分(第1の実施例では年齢層の区分、第2の実施例では毛髪長の区分)に割り当てたが必ずしもそれに限られない。
【0074】
例えば、
図11に示すように、第一識別区分識別器群11及び第二識別区分識別器群12を構成してもよい。第一識別区分識別器群11は、属性区分0〜5までを識別区分識別器ACに割り当て、属性区分6〜13までを識別区分識別器DGに割り当てる。一方、第二識別区分識別器群12は、属性区分5〜6を識別区分識別器Jに割り当て、他の属性区分については識別器を設けない。これは、第一の実施の形態でいうと全年齢層を均等に推定する必要が無い場合に好適な構成となる。すなわち属性区分5と属性区分6を重点的に詳細に年齢層推定をしたいが、それ以外の属性区分0〜4と属性区分7〜13は、それぞれ単に若齢と老齢と推定すれば十分という場合である。
【0075】
なお、この場合、第二識別区分識別器群12では、識別区分識別器が割り当てられていない属性区分0〜4、7〜13が存在することになる。年齢層推定装置では、年齢10〜35歳、45〜80歳の範囲には年齢層識別器が設けられないことになる。したがって、この属性区分の範囲について、統合推定手段125は、統合処理は行わず、第一識別区分識別器群11(第一年齢層識別器群132)のそれぞれの識別器が出力した尤度をそのまま統合尤度として尤度分布全体で正規化処理を行うものとする。
【0076】
また、双方の識別区分識別器群(年齢層識別器群)の属性区分の範囲を同じものとして、一方の識別区分識別器群(年齢層識別器群)が存在しない属性区分(年齢層)が無いようにすることで、属性区分の全範囲について性質が揃った尤度の統合が可能となる。
【0077】
また、いずれの実施の形態においても、識別器及びその学習手法は特に限定されるものではない。例えば、サポートベクターマシンやロジスティック回帰など2クラス識別問題でよく使われる公知の手法を採用することができる。
【0078】
サポートベクターマシンを採用する場合は、各識別器が出力する尤度をそのまま用いるのではなく、尤度を数式(1)に示すシグモイド関数に入力し、0〜1区間の値に変換してクラス事後確率とするのが望ましい。ここで、Aは勾配パラメータ、Bはバイアスパラメータと呼ばれ、シグモイド関数の形を決めるパラメータであり、検証用サンプルを用いて最適な値を求める。求める方法は、例えば、文献“Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods” In Advances in Large Margin Classifiers. MIT Press, 1999に開示されているような、公知の方法を適宜採用すればよい。
【数1】
【0079】
また、これまで述べてきた属性推定装置では、画像から抽出した特徴量であるハールライク特徴量などを採用して識別器を構築しているが画像以外の情報を用いて推定を行うこともできる。例えば、画像情報に代えて音声情報を用いても同様に属性推定装置を構築することができる。
【0080】
具体的には、年齢推定を行う場合、上記第1の実施の形態に準じて第一年齢層推定器群、第二年齢層推定器群から構成される年齢層推定モデル131を準備し、正解の年齢がわかっている話者が発声した音声データを学習データとして用意して、年齢層毎に正解の学習データを用いて年齢層推定器に学習させる。この際、推定器の構築に用いる特徴量としては周知のメル周波数ケプストラム係数(MFCC:Mel-Frequency Cepstral Coefficients)を用いることができる。すなわち、年齢層毎の推定器の学習処理においては、音声データから抽出したMFCCを特徴量とし、特徴量空間において各年齢層における混合ガウスモデル(GMM:Gaussian Mixture Model)をそれぞれについて生成する。そして入力された音声データが、それぞれの年齢層に属するかの事後確率をGMMから求め、その事後確率の値をこれまでに述べてきた属性尤度として、同様の統合処理を行えばよい。
【0081】
上記のような、正解データのみを用いて学習した推定器を構築して、各年齢層の属性尤度を用いる方法は、扱うデータを画像情報にしても同様に処理することができる。
【0082】
なお、上記実施の形態では、属性の推定対象を人としたが、これに限定されるものではなく、動物、車両、航空機等の様々な対象物の属性についてどの属性区分に属するかを推定する技術に適用することができる。属性としては、例えば、動物の毛色、車両や航空機のサイズ等の様々な属性について推定が可能である。