年令推定装置
【課題】年令推定結果を利用するユーザの利便性を向上するための技術を提供する。
【解決手段】年令推定装置が、画像から顔を検出する手段と、検出された顔の年令を推定する手段と、推定された推定年令の誤差を表す許容範囲を算出する手段と、前記推定年令とともに前記許容範囲を表示する手段と、を備える。
【解決手段】年令推定装置が、画像から顔を検出する手段と、検出された顔の年令を推定する手段と、推定された推定年令の誤差を表す許容範囲を算出する手段と、前記推定年令とともに前記許容範囲を表示する手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔画像から年令を推定する年令推定装置に関する。
【背景技術】
【0002】
顔画像から年令などの人物属性を推定する技術が知られている(特許文献1、2参照)。しかし、年令推定を画像処理で行う場合、100%の推定精度に到達することはできないため、ユーザが推定結果を利用する場合に、結果をどの程度信頼してよいかどうかがわからなかった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−242486号公報
【特許文献2】特開2007−128262号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、年令推定結果を利用するユーザの利便性を向上するための技術を提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するために本発明は、以下の構成を採用する。
【0006】
本発明に係る年令推定装置は、画像から顔を検出する手段と、検出された顔の年令を推定する手段と、推定された推定年令の誤差を表す許容範囲を算出する手段と、を備える。年令推定装置が、前記推定年令とともに前記許容範囲を出力する出力手段をさらに備えることが好ましい。
【0007】
前記許容範囲は、推定処理の信頼度に基づいて決定されることが好ましい。
【0008】
前記許容範囲は、前記推定年令に基づいて決定されることが好ましい。
【0009】
前記推定年令と前記許容範囲が、前記画像中の顔の近傍に表示されることが好ましい。
【0010】
本発明は、上記手段の少なくとも一部を有する年令推定装置として捉えてもよいし、上記処理の少なくとも一部を含む年令推定方法、または、かかる方法を実現するためのプログラムやそのプログラムを記録した記録媒体として捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0011】
本発明によれば、年令推定結果を利用するユーザの利便性を向上することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係る年令推定装置の構成を示すブロック図である。
【図2】年令推定装置の処理の流れを示すフローチャートである。
【図3】年令推定方法を説明する図である。
【図4】信頼度算出方法の一例を説明する図である。
【図5】信頼度算出方法の一例を説明する図である。
【図6】図2のフローチャートの変形例である。
【図7】許容範囲算出処理のフローチャートである。
【図8】分布図形式の許容範囲データの一例である。
【図9】分布図形式の許容範囲データの一例である。
【図10】テーブル形式の許容範囲データの一例である。
【図11】結果統合処理のフローチャートである。
【図12】結果表示例である。
【図13】結果表示例である。
【図14】実施例1の推定年令分布の一例である。
【図15】実施例1の信頼度算出処理を説明する図である。
【図16】実施例4の信頼度算出処理を説明する図である。
【図17】実施例5の信頼度算出処理を説明する図である。
【図18】実施例6の信頼度算出処理を説明する図である。
【図19】実施例7の信頼度算出処理を説明する図である。
【図20】実施例8の信頼度算出処理を説明する図である。
【図21】実施例9の信頼度補正処理を説明する図である。
【発明を実施するための形態】
【0013】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0014】
<装置構成>
図1は、本発明の実施形態に係る年令推定装置の構成を示すブロック図である。年令推定装置の用途としては、たとえば、(1)パチンコホール、ゲームセンタ、映画館、タバコの購入のように年令制限が課せられている場面において、人物の年令をチェックするための装置、(2)コンビニや店舗において、マーケティング情報として顧客の年令を収集するための装置、などが考えられる。
【0015】
年令推定装置は、入力部1、顔検出部2、特徴量抽出部3、属性推定部4、信頼度算出部5、信頼度記憶部6、許容範囲算出部7、許容範囲記憶部8、結果統合部9、出力部10を有している。これらの機能は、コンピュータがプログラムを実行し、メモリ、カメラ、入力装置、表示装置などのハードウエア資源を適宜制御することにより、実現されるものである。なお、年令推定装置は、単独の装置(たとえばパーソナルコンピュータとカメラの組み合わせ)として構成してもよいし、自動販売機、携帯電話、デジタルカメラ、プリンタなどの機器の組み込みモジュールとすることもできる。
【0016】
入力部1は、年令推定装置に画像を取り込む機能である。入力部1としては、光学系と撮像素子(CCD、CMOSセンサなど)を備えるカメラを好ましく適用できる。ただし、ネットワークや外部記憶媒体などから画像を取り込んでもよい。その場合は、ネットワークや外部記憶媒体とのインターフェイスが入力部1に該当する。取り込まれた画像はメモリに記憶される。
【0017】
出力部10は、年令推定結果を表示する機能である。出力部10としては、液晶ディスプレイやELディスプレイなどの表示装置を好ましく適用できる。
【0018】
信頼度記憶部6と許容範囲記憶部8は、メモリ、ハードディスクなどの不揮発性記憶媒体から構成される。信頼度記憶部6には、信頼度の算出処理に用いられる設定値やテーブルが格納されており、許容範囲記憶部8には、許容範囲の算出処理に用いられる設定値やテーブルが格納されている。
【0019】
<処理フロー>
図2は、年令推定装置の処理の流れを示すフローチャートである。以下に述べる処理は、基本的に、コンピュータ(プログラム)によって実行されるものである。
【0020】
(ステップ1:画像取得)まず、入力部1から、処理対象となる画像が取得される。
【0021】
(ステップ2:顔検出処理)顔検出部2が、画像処理によって画像から顔を検出する。顔検出部2による顔検出処理は、既存の顔検出処理のどのような技術が適用されてもよい。一例を挙げると、顔全体の輪郭に対応した基準テンプレートを用いたテンプレートマッチングによって顔を検出する手法、顔の器官(目、鼻、耳など)に基づくテンプレートマッチングによって顔を検出する手法、クロマキー処理によって頭部などの頂点を検出し、この頂点に基づいて顔を検出する手法、肌の色に近い領域を検出し、その領域を顔として検出する手法、ニューラルネットワークを使って教師信号による学習を行い、顔らしい領域を顔として検出する手法、などがある。
【0022】
(ステップ3:顔選択)画像から複数の顔が検出された場合には、顔ごとに、次に述べる属性推定および許容範囲算出の処理が実行される。
【0023】
(ステップ4:特徴量抽出)特徴量抽出部3が、顔検出部2によって検出された顔から特徴量を抽出する。たとえば、エッジ検出やパターンマッチングなどにより特徴点を検出し、特徴点近傍の濃淡値やその周期性・方向性、特徴点の位置関係などを特徴量として抽出することができる。特徴量の個数(次元)は、期待する推定精度に応じて任意に設定できる。一般的には、数十〜数百の特徴量が抽出される。
【0024】
(ステップ5:属性推定処理)属性推定部4は、顔画像から抽出された特徴量に基づいて、その顔(の人物)の年令を推定する。
【0025】
図3は、年令推定方法の一例を説明する図である。20代、30代、40代、50代の年令グループ(クラス)ごとの識別器が用意されている。各識別器は、多数のサンプル顔画像による学習によって得られたものであり、各年令クラスの顔が示す特徴量の分布を有している。本実施形態では、特徴量の分布として正規分布を利用しており、平均値は年令グループの中央値(たとえば20代なら25才)、分散値は経験的に定めた値を用いている。図3に示すように、年令クラスごとに特徴量の分布が異なっていることがわかる。
【0026】
ステップ4で得られた特徴量を、評価サンプルとして識別器に入力すると、その評価サンプルが各年令クラスに属する確率が得られる。評価サンプルがある年令クラスに属する確率は、評価サンプルが当該クラスの特徴量分布の中心に近づくほど(評価サンプルとクラス中心の距離が近いほど)、高くなる。なお、属性推定部4は、評価サンプルとクラス中心の距離から確率を算出してもよいし、クラスへの帰属確率を出力することのできる識別器を利用することで識別器の出力をそのまま確率として用いてもよい。
【0027】
そして、属性推定部4は、評価サンプルの各クラスへの帰属確率と、各クラスのクラス中心の年令とから、図3の式のように推定年齢を決定する。図3の例では、評価サンプルの年令が42才と推定されている。
【0028】
(ステップ6:属性推定信頼度算出)信頼度算出部5は、推定処理の信頼度を算出する。
【0029】
図4、図5は、信頼度算出方法の一例を説明する図である。(1)信頼度算出部5は、年令クラスの中から、確率が最大となるクラスを求める。図4の例では、40代のクラスが最大の確率(40%)を示している。(2)次に、信頼度算出部5は、確率が最大とな
るクラスの両隣のクラスのうち、確率が高い方のクラスを求める。図4の例では、30代のクラス(確率:30%)が選ばれる。(3)信頼度算出部5は、(1)と(2)で選んだ2つのクラスの確率の合計値を図5に示す確率−信頼度テーブルにマッピングし、信頼度を算出する。この確率−信頼度テーブルは、確率が高いほど信頼度が高くなるように設定されている。また、下限値(図5の例では40%)は、選択された2つのクラスは最低でもこの程度信頼してよいだろうという経験的な値に定められている。なお信頼度は0〜1000の値をとり、値が大きくなるほど信頼度が高いことを示す。図4、図5の例では、合計確率70%に対して、信頼度500が得られている。
【0030】
なお図3〜図5の年令推定方法および信頼度算出方法は一例であり、他の方法を用いてもよい。たとえば、クラスへの帰属確率はどのような方法で算出してもよい。正規分布の分散値を用いて帰属確率を算出することも好ましい。確率から信頼度への変換は、図5のようなリニアなテーブルでなく非線形なテーブルを用いてもよい。また信頼度の下限値は40%でなく、他の値でもよいし、下限値を動的に決めてもよい。また確率の高い2つのクラスの合計確率から信頼度を算出したが、最も確率の高いクラスの確率(つまり最大確率)に基づいて信頼度を算出してもよい。
【0031】
さらに、図6に示すように、属性推定の信頼度だけでなく、特徴量の信頼度を算出することも好ましい。特徴量の信頼度とは、顔画像から抽出された特徴量の値そのものの信頼度を表すものである。特徴量自体の信頼度は推定結果の信頼度に大きく影響を及ぼし得る。特徴量の信頼度を左右する要因としては、たとえば、画像中の顔の向きがある。正面向きの顔の信頼度が最も高く、顔が横を向いたり上または下を向くほど信頼度は低くなる。他の要因としては、顔器官の形状がある。たとえば、目を閉じていたり、笑っていたりすると、信頼度は低くなる。他の要因としては、照明条件がある。顔の一部が陰になっていたり、逆に白飛びしていたりすると、信頼度が低くなる。これらの特徴量の信頼度に影響を与えうる要因について、画像処理により要因の有無や程度を判定し、その判定結果に応じて特徴量の信頼度を決定するとよい。具体的な方法としては、たとえば、特開2007−128262号公報にて開示された方法を好ましく用いることができる。
【0032】
(ステップ7:許容範囲算出)許容範囲算出部7は、信頼度に基づいて、推定年齢の誤差を表す許容範囲を算出する。
【0033】
図7は、許容範囲算出処理のフローチャートである。許容範囲算出部7は、属性推定信頼度の結果と特徴量信頼度の結果(特徴量信頼度を用いるのは、図6のフローの場合のみ)を取得し、許容範囲記憶部8から許容範囲データを読み出す。そして、許容範囲データを参照して、推定年齢の許容範囲を算出する。
【0034】
図8は分布図形式の許容範囲データの一例を示している。信頼度と許容範囲(上限値と下限値)との関係が定義されており、信頼度が最も高い場合(1000)には許容範囲は±0才となり、信頼度が低くなるほど許容範囲がひろがる。たとえば、信頼度が700の場合、許容範囲は±3才となる。
【0035】
図9は分布図形式の許容範囲データの変形例を示している。図9では、推定年令が20才未満か否かで、分布を異ならせている(20才以上の分布のほうが許容範囲が広い。)。人間が年令を推定する場合の誤差幅が年令層に応じて異なることに着目したものである。すなわち、たとえば3才の幼児を人が何才か判定する場合、その誤差はせいぜい±2才程度の誤差幅しかない。一方で70才の高齢者を人が何才か判定する場合、人によって60才〜80才まで判定する年令のブレが大きい。このような人の判定結果の経験則を機械の推定結果に応用し、推定する人物の推定年令に応じて、許容範囲を設定する。
【0036】
図10はテーブル形式の許容範囲データの一例である。図10のテーブルでは、推定年齢と許容範囲(上限、下限)との対応関係が定められており、推定年齢に基づき許容範囲が決定される。たとえば、推定年齢が15才の場合、許容範囲は±4才となる。
【0037】
(ステップ8:結果統合処理)結果統合部9が、属性推定により求めた結果(推定年令)と許容範囲算出結果とを統合し、最終的な属性推定結果を算出する(図11)。
【0038】
(ステップ9:属性推定結果出力)出力部10が、最終的な属性推定結果を表示装置に出力する。図12は、結果表示例を示している。ここでは、画像中の顔の近傍に、推定年令(25才)とともに許容範囲(±3才)が表示されている。図13は、他の結果表示例である。この例では、許容範囲を年令ではなく、パーセントで示している。
【0039】
<まとめ>
上記構成によれば、推定年齢とともにその許容範囲(±X才、あるいは、Y%)が表示される。このようにすることで、推定結果の利用者に利用方法を検討する余地を与えることができるようになる。許容範囲(推定年令の信頼度)を表示することで、結果をどの程度信頼してもよいかが直感的にわかるため、たとえば最適なカメラ設置位置の選択が容易になる。またXX才±YY才という人間に分かりやすい出力方法は、推定結果をユーザが利用する場合、特に有用である。例えば、27才±5才と出力された場合、25才の区分に入れるのか、30才の区分に入れるのかユーザが選択する余地があるためである。
【0040】
すなわち本実施形態の利点をまとめると、(1)許容範囲を表示することで、結果をどの程度信頼してもよいか直感的にわかる。人が人物の年令を推定する際に持つあいまい性を、機械の結果出力にも適用することで、より人に納得させやすい結果の表示方法となる。(2)また、図6で説明した実施形態では、年令を推定する環境(画像中の顔の状態)の難易度に応じて、信頼度の出力結果が変化するので、許容範囲をより好適に算出可能である。これは、推定の簡単な状況と難しい状況(たとえば、照明変動や顔向きのバリエーションなど)があるためである。
【0041】
上述した許容範囲は、推定年令自体の信頼度を表す信頼度情報とよぶことができる。また、推定誤差の程度を表す情報とか、推定年令の不確かさ(あるいは確かさ)を表す情報、と言い換えることもできる。推定年令の信頼度の表現手法としては、「42才±5才」、「40才〜45才」、「42才±10%」、「42才(信頼度85%)」など、どのような表現手法を採用してもよい。
【0042】
<実施例>
以下、推定年令の信頼度(許容範囲)の算出方法の具体例について説明する。
【0043】
(実施例1)
実施例1は、人間による推定結果を利用する方法である。
【0044】
まず、学習データを用意する。学習データとしては、様々な年令のサンプル(人)のデータ、好ましくは、この装置が推定の対象とする全年令範囲を網羅するデータを用意する。典型的には顔、全身、又は上半身の画像データを用いるが、画像データだけでなく、音声データなど年令推定に影響を与え得る他のデータを用いることもできる。また、一人のサンプルについて、アングル、表情、髪型、服装、撮影条件等を変えた複数の画像を用意してもよい。
【0045】
これらの学習データを被験者に見せ、各サンプルの年令を推定させる。このとき、被験者による偏りをなくすため、性別や年代の異なる複数の被験者による実験を行ったり、1
つのサンプルに対して複数回の年令推定を行ったりするとよい。
【0046】
被験者実験により得られた年令推定結果から、各クラス(本実施例では年令ごとにクラス分けしている)の推定年令分布を算出する。図14は、推定年令分布の一例として、10才のクラス、42才のクラス、65才のクラスそれぞれの分布を示している。クラスごとに推定年令の分布形状(ばらつき)が異なることがわかる。一般的に、幼児や少年に対する推定年令のばらつきは小さく、40〜50代の推定年令のばらつきは大きくなる傾向にある。各クラスの推定年令分布は許容範囲記憶部8に記憶される。許容範囲記憶部8に記憶するデータは、分布をヒストグラム形式で表現したデータでもよいし、図14に示すように正規分布等の適当な分布を当てはめた場合には、分布を表現するパラメータ(正規分布の場合は分散)でもよい。
【0047】
次に、上記の推定年令分布を利用して、推定年令の信頼度を算出する処理を説明する。ここでは、属性推定部4により「42才」という推定結果が得られた場合を例に挙げる。
【0048】
許容範囲算出部7は、属性推定部4から推定年令「42才」を受け取ると、その年令の属するクラスの推定年令分布を許容範囲記憶部8から読み出す。次に、許容範囲算出部7は、図15(a)に示すように、推定年令分布の「42才」を中心とする累積確率(斜線部分に含まれるサンプルの割合)が所定の閾値α%となるときの下限及び上限を算出する。図15(a)の例では、下限「37才」、上限「47才」が得られ、推定年令「42才」の信頼度(許容範囲)は「±5才」のように求まる。
【0049】
閾値αが一定の場合、推定年令分布の形状に応じて許容範囲は変化する。たとえば、図15(a)に示す42才のクラスのように分布形状が幅広ければ、許容範囲は広くなる(信頼度が低くなる)。また図15(b)に示す5才のクラスのように分布形状が急峻であれば、許容範囲は狭くなる(信頼度が高くなる)。つまり、推定年令分布を作成するための被験者実験において誤推定が多かった年令については、信頼度が低くなり、誤推定が少なかった年令については、信頼度が高くなるのである。このように本実施例の方法によれば、人の推定誤差の傾向を反映した信頼度を得ることができるという利点がある。
【0050】
なお閾値αは、本装置の使用目的や要求精度などに応じて、適当な値に設定すればよい。典型的には1σ(約68%)などに設定すればよい。また本装置を使用するユーザがαの設定値を変更できるようにすることも好ましい。αの値を大きくするほど許容範囲は広くなる。なお、図15(a)の例では、推定年令分布の形状が左右対称のため、プラスとマイナスの誤差が同一である。しかし、推定年令分布が左右対称でない場合には、プラスの誤差とマイナスの誤差が同一の値になるとは限らない。
【0051】
本実施例では、年令ごとに推定年令分布を求めたが、必ずしも全ての年令について分布を求める必要はない。たとえば、0〜3才、4〜9才、10〜19才、20〜34才、・・・のように年齢層でクラス分けを行い、そのクラス(年齢層)ごとに推定年令分布を求めたり、あるいは、全ての年令に共通する1つの分布を求めたりするだけでもよい。年齢層で分ける場合は、幼児期や少年期のように推定誤差が小さい年令においては年齢層の幅を狭くし、相対的に、40代、50代のように推定誤差が大きい年令においては年齢層の幅を広くとるとよい。
【0052】
なお本実施例では、図15(a)に示すように、許容範囲算出部7が推定年令分布から都度許容範囲を算出している。しかし、閾値αと各クラスの推定年令分布とから、予め、クラスごと(年令ごと)の許容範囲を算出し、その値を許容範囲テーブル(図10参照)として許容範囲記憶部8に格納しておくことも好ましい。これにより、テーブル参照のみで許容範囲を得ることができ、許容範囲算出処理の高速化を図ることができる。なお閾値
αのユーザ変更を可能とした場合には、複数の閾値αについて予めテーブルを用意しておけばよい。
【0053】
(実施例2)
実施例2は、機械による推定結果を利用する方法である。実施例1では、被験者実験の結果から推定年令分布を算出したのに対し、実施例2では、機械による年令推定結果を用いる点が異なる。その他の構成は実施例1と同様である。ここで「機械」とは、学習データから自動で年令を推定する装置をさす。たとえば、本発明に係る年令推定装置を利用することができる。また推定の信頼度を向上するために、年令推定アルゴリズムが異なる複数種類の機械を利用することも好ましい。
【0054】
機械を利用した場合、人間による推定と比較して、大量サンプルの処理が可能になるため、推定年令分布の形状がより真値に近づくという利点がある。また、本発明に係る年令推定装置を推定年令分布の作成に利用した場合には、信頼度の精度が向上する。なぜなら、年令推定装置自身の推定誤差の傾向が、信頼度に反映されるからである。
【0055】
(実施例3)
実施例3は、識別器のスコアを利用する方法である。
【0056】
識別器とは、画像から抽出した特徴量(評価データ)がクラスに属する確率(帰属確率)をスコアとして出力する機械(プログラム)である。本装置の属性推定部4は、年令推定の分解能に応じた多クラス識別を行う必要がある。このような多クラス識別は、多クラス識別器を用いて実現してもよいし、複数の2クラス識別器の組み合わせにより実現してもよい。2クラス識別器としては、SVM(サポートベクタマシーン)、AdaBoost(アダブースト)、LDA(線形判別分析)など様々なものが提案されており、本発明ではいずれの識別器も用いることができる。また2クラス識別器の組み合わせ方についても従来公知の手法を採用することができる。たとえば、各年令の2クラス識別器から帰属確率を得て、最も高い帰属確率を出力した識別器の年令を採用する方法(1vsAllとよぶ)や、まず第1の識別器で30才以上か否かを判定し、30才未満であれば第2の識別器で15才以上か否かを判定し、・・・のように年令の範囲を二分する2クラス識別器を組み合わせて、徐々に年令の範囲を絞り込んでいく方法(木構造とよぶ)などがある。
【0057】
実施例3では、正解として選択されたクラス(たとえば、最も帰属確率が大きなクラス)の帰属確率を、そのまま推定年令の信頼度として用いる。たとえば、図3の例では、20代、30代、40代、50代の4つのクラスについて、それぞれ10%、30%、40%、20%という帰属確率が出力されている。許容範囲算出部7は、最も高い帰属確率である「40%」を推定年令「42才」の信頼度として採用する。この場合の推定結果の表示例を図13に示す。
【0058】
(実施例4)
実施例4も、識別器のスコアを利用する方法である。実施例3では帰属確率をそのまま推定年令の信頼度として利用したのに対し、実施例4ではテーブルを参照して帰属確率から信頼度を求める点で異なる。その他の構成は実施例3と同様である。
【0059】
図16(a)、(b)は許容範囲記憶部8に格納されているテーブルの一例を示している。図16(a)は、帰属確率を±X才形式の信頼度に変換するためのテーブルの例であり、図16(b)は、帰属確率をY%形式の信頼度に変換するためのテーブルの例である。たとえば、識別器から、年令「42才」、帰属確率「80%」という年令推定結果が得られた場合、許容範囲算出部7は、図16(a)のテーブルを参照して、−2才〜+3才という信頼度を得る。従って、推定結果の出力は、「42才(−2才〜+3才)」とか「
40才〜45才」のようになる。なお、帰属確率の値が「75%」のようにテーブルに存在しない場合には、近傍の値(たとえば70%と80%)から補間を行えばよい。
【0060】
これらのテーブルは、学習データから求めてもよいし、人為的に作成してもよい。学習データから求める場合、実施例2と同様、様々な年令のサンプルデータを用いて本装置による年令推定を行い、各サンプルの帰属確率と推定年令を求める。そして、帰属確率が約0.1(たとえば0.05〜0.15)であったサンプルについて、推定年令の分布を求め、実年令に対する推定誤差を求める。たとえば、実施例1と同じように累積確率が閾値αとなる範囲や1σの範囲などを、推定誤差として選ぶことができる。このようにして求めた推定誤差の下限値・上限値を帰属確率0.1に対応する許容範囲に設定する。以下同様に、帰属確率0.2、0.3、・・・、0.9に対応する許容範囲を求めることができる。一般に、帰属確率が低い場合には、推定年令の誤差は大きくなるため、許容範囲は大きくなり、逆に帰属確率が高いほど許容範囲は小さくなる。
【0061】
なお、クラスごとに異なるテーブルを用いることも好ましい。前述のように、年代によって推定誤差が異なるからである。
【0062】
また一つのクラスの帰属確率だけでなく、図16(c)に示すように、複数のクラスの帰属確率に基づいて信頼度を決定することもできる。図16(c)では、N個のクラスの帰属確率の組と信頼度(許容範囲)とが対応付けられている。このテーブルについても、学習データから求めてもよいし、人為的に作成してもよい。なお、信頼度の決定に、全てのクラスの帰属確率を用いる必要はない。たとえば、帰属確率が大きいものから順に2つのクラスを選択し、その2つのクラスの帰属確率の組から信頼度を求めるようにしてもよい。
【0063】
(実施例5)
実施例5も、識別器のスコアである帰属確率から信頼度を求める方法である。実施例4ではテーブルを用いたのに対し、実施例5では写像を用いて帰属確率から信頼度への変換を行う点が異なる。その他の構成は実施例4と同様である。
【0064】
図17(a)、(b)は許容範囲記憶部8に格納されている写像の一例を示している。図17(a)は、帰属確率を±X才形式の信頼度に変換するための写像の例であり、図17(b)は、帰属確率をY%形式の信頼度に変換するための写像の例である。たとえば、識別器から、年令「42才」、帰属確率「80%」という年令推定結果が得られた場合、許容範囲算出部7は、図17(a)の写像を参照して、±3才という信頼度を得る。
【0065】
図17は線形な写像を示しているが、非線形あるいは不連続な写像を用いてもよい。非線形な写像としてはシグモイド関数などが考えられる。これらの写像は、学習データから求めてもよいし、人為的に作成してもよい。学習データから求める場合、実施例4と同様にして帰属確率と推定誤差の関係を求め、それに適当な関数を当てはめればよい。なお、クラスごとに異なる写像を用いることも好ましい。
【0066】
また一つのクラスの帰属確率だけでなく、複数のクラスの帰属確率に基づいて信頼度を決定することもできる。その場合、N個の帰属確率の組(N次元ベクトル)と信頼度の関係を表す写像を用いればよい。あるいは、N個の帰属確率を1つの特徴値(スカラー)に変換し、その特徴値と信頼度との関係を表す写像を用いることもできる。
【0067】
(実施例6)
実施例6も、識別器のスコアから信頼度を求める方法である。ただし、実施例3〜5では多クラス識別の結果得られた帰属確率を用いたのに対し、実施例6では2クラス識別器
から得られるスコアから信頼度を算出する点が異なる。
【0068】
まず、各クラス(年令でも年代でもよい)について、学習データから識別スコアの分布を求める。たとえば、42才の2クラス識別器に対しては、42才のサンプルからなる多数の学習データを識別させ、図18に示すような「識別スコア−度数」の関係を求める。このスコア分布は、横軸が識別スコアの値、縦軸がその識別スコアをとるサンプルの度数(最大の度数が100%になるように規格化した値)を示す。スコア分布の形状は、ヒストグラムや分布のパラメータ(図18のような形状の場合はシグモイド関数などを用いることができる)の形式で信頼度記憶部6に格納しておく。なお、この2クラス識別器のスコアyは、−1から1の間の値をとり、サンプルがそのクラスに属する可能性が高いほど1に近い値をとり、属さない可能性が高いほど−1に近い値をとるものとする。
【0069】
続いて、推定年令の信頼度を算出する処理を説明する。ここでは、属性推定部4により「42才」という推定結果が得られた場合、つまり42才の2クラス識別器が最も大きい識別スコアを出力した場合を例に挙げる。信頼度算出部5は、属性推定部4から推定年令「42才」と識別スコア(たとえば0.7)を受け取ると、その年令のクラスのスコア分布のデータを信頼度記憶部6から読み出す。次に、信頼度算出部5は、スコア分布を参照して識別スコア0.7に対応する度数を求め、その度数を当該推定年令の信頼度とする。図18の例では、推定年令42才の信頼度は90%となる。
【0070】
なお、Y%形式の信頼度を±X才形式に変換するには、テーブルや写像(図8参照)などを用いることができる。また、2クラス識別器を組み合わせる場合、最終的に選択されたクラスの識別器で得られた信頼度のみを用いてもよいが、木構造のように複数の識別器の識別結果を経由して最終のクラスを絞り込んでいる場合は、複数の識別器が推定結果に影響を及ぼしていると考えられるため、その経路に含まれる複数の識別器の全部又は一部の信頼度の積若しくは和を用いて、最終的な信頼度を計算することも好ましい。
【0071】
(実施例7)
実施例7は、k−NN法を信頼度の算出に利用する。
【0072】
図19は、特徴量空間における各クラス(ここでは20代、30代、40代のように年代別のクラスとなっている)の分布を示している。この分布については、多数のサンプルからなる学習データから予め求めておく。
【0073】
推定処理において、信頼度算出部5は、推定対象の特徴量を図19の特徴量空間にマッピングし、推定対象データの近傍に存在するサンプル点を抽出する。このとき、近傍k個のサンプル点を抽出する設定であれば、推定対象データからの距離が近いものから順にk個のサンプル点を抽出する。あるいは、半径rの近傍空間のサンプル点を抽出する設定であれば、推定対象データを中心とする半径r内に存在する全てのサンプル点を抽出する。なお、k、rの値は任意の値に設定することができる。
【0074】
次に信頼度算出部5は、抽出したサンプル点のうち、推定対象データと同じクラス(図19では30代のクラス)に属しているサンプル点の個数を求める。抽出したサンプル点がA個、そのうち推定対象と同じクラスのサンプル点がB個とした場合、信頼度算出部5は、
信頼度(%)=B/A ×100
のように信頼度を求める。たとえば、A=11個、B=9個の場合、信頼度は約82%となる。なお、Y%形式の信頼度を±X才形式に変換するには、テーブルや写像などを用いることができる。
【0075】
(実施例8)
実施例8は、回帰写像により各クラスの信頼度を算出する方法である。
【0076】
図20(a)に示すように、多数のサンプルからなる学習データを用いて、特徴量の値xに対して推定年令yを出力する写像fを学習する。写像fの学習には、重回帰、CCA(正準相関分析)、Ridge回帰、RVM(Relevance Vector Machine)などの一般的な回帰手法を用いることができる。なお年令推定では数十から数百の特徴量が用いられるため、特徴量xは多次元ベクトルとなるが、図20では説明を簡単にするために1次元で示している。
【0077】
次に、学習データと写像fから各年令の信頼度(許容範囲の上限・下限)を算出する。たとえばβ才に対する信頼度を求める場合は、図20(a)に示すように、β才の学習データのそれぞれについて写像fにより年令推定を行い、これらの推定結果のばらつきの範囲(図20(a)ではβ−q才〜β+p才)を、β才の信頼度とする。つまり、学習データのうち推定年令が最も大きいものが許容範囲の上限となり、推定年令が最も小さいものが許容範囲の下限となる。他の年令に対する信頼度も同じように算出される。
【0078】
図20(b)は信頼度算出の変形例を示したものである。この例では、β才の学習データの一部(特徴量xの分布において分布の中心から閾値α%の範囲内にあるデータ)を用いて、写像fによる年令推定を行い、その推定結果のばらつきの範囲(β−t才〜β+s才)をβ才の信頼度とする。この方法によれば学習データの外れ値が除外されるため、より妥当な信頼度を得ることができる。
【0079】
(実施例9)
実施例9では、顔・人体の撮影条件や画像の撮影条件が悪い場合に、年令推定の信頼度を下げる処理を行う。撮影条件が悪い画像を用いた場合、得られる特徴量の信頼度が低下し、結果として年令推定結果の信頼度を低下させることとなるからである。特徴量の信頼度を低下させる要因としては、たとえば、以下のものが挙げられる。
【0080】
・顔や人体のサイズ…画像中の顔や人体のサイズが小さい場合、顔や人体から抽出できる情報量が少ないため、年令推定精度が低下する可能性がある。
・顔や人体の向き…顔が正面を向いている場合は顔器官の検出や特徴量抽出を精度よく行えるため、年令推定精度が向上する。しかし、顔が横を向いたり、上や下を向いている場合には、顔器官の隠れなどが生じ、年令推定精度が低下する可能性がある。
・器官信頼度…顔器官が変形していたり、顔器官の隠れが発生している場合などは、顔器官検出処理における器官信頼度が低下する。その場合、顔器官の位置やその部分に含まれる情報の精度が低いため、年令推定精度が低下する可能性がある。
・影、白飛び…影や白飛びにより顔画像が不鮮明な場合、顔器官の検出や特徴量の抽出の精度が低下するため、年令推定精度が低下する可能性がある。
・画像のボケ…画像のボケ量が大きいと、顔器官の検出や特徴量の抽出の精度が低下するため、年令推定精度が低下する可能性がある。
・照明条件…照明が暗すぎる場合、明るすぎる場合、(屋内でなく)屋外の場合など。
・ノイズ…画像中のノイズが多いと、顔器官の検出や特徴量の抽出の精度が低下するため、年令推定精度が低下する可能性がある。
【0081】
本実施例では、予め、複数の撮影条件に対して信頼度を設定したテーブルを用意する。たとえば、42才という推定年令に対する信頼度として、「照明条件:明るい屋内、顔サイズ:大、顔向き:正面」という撮影条件の場合は±4才、「照明条件:屋外、顔向き:右下向き」という撮影条件の場合は±7才、のように予め設定しておく。
【0082】
そして、推定対象となる画像が与えられたら、上記要因の全部又は一部について評価を行う。この評価は、画像処理によって自動で行ってもよいし、人が評価を入力してもよい。評価結果が得られたら、テーブルを参照して、該当する信頼度を求める。これにより、撮影条件を反映した信頼度を得ることができる。
【0083】
なお、信頼度を独自に算出するのではなく、信頼度算出部5により算出された信頼度を撮影条件の評価結果に応じて補正する構成も好ましい。たとえば図21に示すように、目の間隔に応じて信頼度を補正することができる。図21の例では、目の間隔が50ピクセル以上の場合は、顔サイズが十分に大きいものとして信頼度の補正を行わないが、目の間隔が50ピクセルより小さい場合には、その間隔に応じて信頼度を低下させる。目の間隔が20ピクセルの場合、±X才形式の信頼度は±(X+3)才となり、Y%形式の信頼度は(Y×0.01)%となる。同じように、顔の向きが正面の場合(角度=0度)は信頼度の補正を行わず、角度が所定値を超えると徐々に信頼度が低下するような補正を行うこともできる。
【0084】
以上、複数の実施例を挙げて本発明の信頼度(許容範囲)の具体的な算出例を述べたが、本発明はこれらの実施例に限られることはなく、その技術思想の範囲内で適宜変形することが可能である。たとえば、上述した各実施例の構成を適宜組み合わせることも可能である。
【技術分野】
【0001】
本発明は、顔画像から年令を推定する年令推定装置に関する。
【背景技術】
【0002】
顔画像から年令などの人物属性を推定する技術が知られている(特許文献1、2参照)。しかし、年令推定を画像処理で行う場合、100%の推定精度に到達することはできないため、ユーザが推定結果を利用する場合に、結果をどの程度信頼してよいかどうかがわからなかった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−242486号公報
【特許文献2】特開2007−128262号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、年令推定結果を利用するユーザの利便性を向上するための技術を提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するために本発明は、以下の構成を採用する。
【0006】
本発明に係る年令推定装置は、画像から顔を検出する手段と、検出された顔の年令を推定する手段と、推定された推定年令の誤差を表す許容範囲を算出する手段と、を備える。年令推定装置が、前記推定年令とともに前記許容範囲を出力する出力手段をさらに備えることが好ましい。
【0007】
前記許容範囲は、推定処理の信頼度に基づいて決定されることが好ましい。
【0008】
前記許容範囲は、前記推定年令に基づいて決定されることが好ましい。
【0009】
前記推定年令と前記許容範囲が、前記画像中の顔の近傍に表示されることが好ましい。
【0010】
本発明は、上記手段の少なくとも一部を有する年令推定装置として捉えてもよいし、上記処理の少なくとも一部を含む年令推定方法、または、かかる方法を実現するためのプログラムやそのプログラムを記録した記録媒体として捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0011】
本発明によれば、年令推定結果を利用するユーザの利便性を向上することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係る年令推定装置の構成を示すブロック図である。
【図2】年令推定装置の処理の流れを示すフローチャートである。
【図3】年令推定方法を説明する図である。
【図4】信頼度算出方法の一例を説明する図である。
【図5】信頼度算出方法の一例を説明する図である。
【図6】図2のフローチャートの変形例である。
【図7】許容範囲算出処理のフローチャートである。
【図8】分布図形式の許容範囲データの一例である。
【図9】分布図形式の許容範囲データの一例である。
【図10】テーブル形式の許容範囲データの一例である。
【図11】結果統合処理のフローチャートである。
【図12】結果表示例である。
【図13】結果表示例である。
【図14】実施例1の推定年令分布の一例である。
【図15】実施例1の信頼度算出処理を説明する図である。
【図16】実施例4の信頼度算出処理を説明する図である。
【図17】実施例5の信頼度算出処理を説明する図である。
【図18】実施例6の信頼度算出処理を説明する図である。
【図19】実施例7の信頼度算出処理を説明する図である。
【図20】実施例8の信頼度算出処理を説明する図である。
【図21】実施例9の信頼度補正処理を説明する図である。
【発明を実施するための形態】
【0013】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0014】
<装置構成>
図1は、本発明の実施形態に係る年令推定装置の構成を示すブロック図である。年令推定装置の用途としては、たとえば、(1)パチンコホール、ゲームセンタ、映画館、タバコの購入のように年令制限が課せられている場面において、人物の年令をチェックするための装置、(2)コンビニや店舗において、マーケティング情報として顧客の年令を収集するための装置、などが考えられる。
【0015】
年令推定装置は、入力部1、顔検出部2、特徴量抽出部3、属性推定部4、信頼度算出部5、信頼度記憶部6、許容範囲算出部7、許容範囲記憶部8、結果統合部9、出力部10を有している。これらの機能は、コンピュータがプログラムを実行し、メモリ、カメラ、入力装置、表示装置などのハードウエア資源を適宜制御することにより、実現されるものである。なお、年令推定装置は、単独の装置(たとえばパーソナルコンピュータとカメラの組み合わせ)として構成してもよいし、自動販売機、携帯電話、デジタルカメラ、プリンタなどの機器の組み込みモジュールとすることもできる。
【0016】
入力部1は、年令推定装置に画像を取り込む機能である。入力部1としては、光学系と撮像素子(CCD、CMOSセンサなど)を備えるカメラを好ましく適用できる。ただし、ネットワークや外部記憶媒体などから画像を取り込んでもよい。その場合は、ネットワークや外部記憶媒体とのインターフェイスが入力部1に該当する。取り込まれた画像はメモリに記憶される。
【0017】
出力部10は、年令推定結果を表示する機能である。出力部10としては、液晶ディスプレイやELディスプレイなどの表示装置を好ましく適用できる。
【0018】
信頼度記憶部6と許容範囲記憶部8は、メモリ、ハードディスクなどの不揮発性記憶媒体から構成される。信頼度記憶部6には、信頼度の算出処理に用いられる設定値やテーブルが格納されており、許容範囲記憶部8には、許容範囲の算出処理に用いられる設定値やテーブルが格納されている。
【0019】
<処理フロー>
図2は、年令推定装置の処理の流れを示すフローチャートである。以下に述べる処理は、基本的に、コンピュータ(プログラム)によって実行されるものである。
【0020】
(ステップ1:画像取得)まず、入力部1から、処理対象となる画像が取得される。
【0021】
(ステップ2:顔検出処理)顔検出部2が、画像処理によって画像から顔を検出する。顔検出部2による顔検出処理は、既存の顔検出処理のどのような技術が適用されてもよい。一例を挙げると、顔全体の輪郭に対応した基準テンプレートを用いたテンプレートマッチングによって顔を検出する手法、顔の器官(目、鼻、耳など)に基づくテンプレートマッチングによって顔を検出する手法、クロマキー処理によって頭部などの頂点を検出し、この頂点に基づいて顔を検出する手法、肌の色に近い領域を検出し、その領域を顔として検出する手法、ニューラルネットワークを使って教師信号による学習を行い、顔らしい領域を顔として検出する手法、などがある。
【0022】
(ステップ3:顔選択)画像から複数の顔が検出された場合には、顔ごとに、次に述べる属性推定および許容範囲算出の処理が実行される。
【0023】
(ステップ4:特徴量抽出)特徴量抽出部3が、顔検出部2によって検出された顔から特徴量を抽出する。たとえば、エッジ検出やパターンマッチングなどにより特徴点を検出し、特徴点近傍の濃淡値やその周期性・方向性、特徴点の位置関係などを特徴量として抽出することができる。特徴量の個数(次元)は、期待する推定精度に応じて任意に設定できる。一般的には、数十〜数百の特徴量が抽出される。
【0024】
(ステップ5:属性推定処理)属性推定部4は、顔画像から抽出された特徴量に基づいて、その顔(の人物)の年令を推定する。
【0025】
図3は、年令推定方法の一例を説明する図である。20代、30代、40代、50代の年令グループ(クラス)ごとの識別器が用意されている。各識別器は、多数のサンプル顔画像による学習によって得られたものであり、各年令クラスの顔が示す特徴量の分布を有している。本実施形態では、特徴量の分布として正規分布を利用しており、平均値は年令グループの中央値(たとえば20代なら25才)、分散値は経験的に定めた値を用いている。図3に示すように、年令クラスごとに特徴量の分布が異なっていることがわかる。
【0026】
ステップ4で得られた特徴量を、評価サンプルとして識別器に入力すると、その評価サンプルが各年令クラスに属する確率が得られる。評価サンプルがある年令クラスに属する確率は、評価サンプルが当該クラスの特徴量分布の中心に近づくほど(評価サンプルとクラス中心の距離が近いほど)、高くなる。なお、属性推定部4は、評価サンプルとクラス中心の距離から確率を算出してもよいし、クラスへの帰属確率を出力することのできる識別器を利用することで識別器の出力をそのまま確率として用いてもよい。
【0027】
そして、属性推定部4は、評価サンプルの各クラスへの帰属確率と、各クラスのクラス中心の年令とから、図3の式のように推定年齢を決定する。図3の例では、評価サンプルの年令が42才と推定されている。
【0028】
(ステップ6:属性推定信頼度算出)信頼度算出部5は、推定処理の信頼度を算出する。
【0029】
図4、図5は、信頼度算出方法の一例を説明する図である。(1)信頼度算出部5は、年令クラスの中から、確率が最大となるクラスを求める。図4の例では、40代のクラスが最大の確率(40%)を示している。(2)次に、信頼度算出部5は、確率が最大とな
るクラスの両隣のクラスのうち、確率が高い方のクラスを求める。図4の例では、30代のクラス(確率:30%)が選ばれる。(3)信頼度算出部5は、(1)と(2)で選んだ2つのクラスの確率の合計値を図5に示す確率−信頼度テーブルにマッピングし、信頼度を算出する。この確率−信頼度テーブルは、確率が高いほど信頼度が高くなるように設定されている。また、下限値(図5の例では40%)は、選択された2つのクラスは最低でもこの程度信頼してよいだろうという経験的な値に定められている。なお信頼度は0〜1000の値をとり、値が大きくなるほど信頼度が高いことを示す。図4、図5の例では、合計確率70%に対して、信頼度500が得られている。
【0030】
なお図3〜図5の年令推定方法および信頼度算出方法は一例であり、他の方法を用いてもよい。たとえば、クラスへの帰属確率はどのような方法で算出してもよい。正規分布の分散値を用いて帰属確率を算出することも好ましい。確率から信頼度への変換は、図5のようなリニアなテーブルでなく非線形なテーブルを用いてもよい。また信頼度の下限値は40%でなく、他の値でもよいし、下限値を動的に決めてもよい。また確率の高い2つのクラスの合計確率から信頼度を算出したが、最も確率の高いクラスの確率(つまり最大確率)に基づいて信頼度を算出してもよい。
【0031】
さらに、図6に示すように、属性推定の信頼度だけでなく、特徴量の信頼度を算出することも好ましい。特徴量の信頼度とは、顔画像から抽出された特徴量の値そのものの信頼度を表すものである。特徴量自体の信頼度は推定結果の信頼度に大きく影響を及ぼし得る。特徴量の信頼度を左右する要因としては、たとえば、画像中の顔の向きがある。正面向きの顔の信頼度が最も高く、顔が横を向いたり上または下を向くほど信頼度は低くなる。他の要因としては、顔器官の形状がある。たとえば、目を閉じていたり、笑っていたりすると、信頼度は低くなる。他の要因としては、照明条件がある。顔の一部が陰になっていたり、逆に白飛びしていたりすると、信頼度が低くなる。これらの特徴量の信頼度に影響を与えうる要因について、画像処理により要因の有無や程度を判定し、その判定結果に応じて特徴量の信頼度を決定するとよい。具体的な方法としては、たとえば、特開2007−128262号公報にて開示された方法を好ましく用いることができる。
【0032】
(ステップ7:許容範囲算出)許容範囲算出部7は、信頼度に基づいて、推定年齢の誤差を表す許容範囲を算出する。
【0033】
図7は、許容範囲算出処理のフローチャートである。許容範囲算出部7は、属性推定信頼度の結果と特徴量信頼度の結果(特徴量信頼度を用いるのは、図6のフローの場合のみ)を取得し、許容範囲記憶部8から許容範囲データを読み出す。そして、許容範囲データを参照して、推定年齢の許容範囲を算出する。
【0034】
図8は分布図形式の許容範囲データの一例を示している。信頼度と許容範囲(上限値と下限値)との関係が定義されており、信頼度が最も高い場合(1000)には許容範囲は±0才となり、信頼度が低くなるほど許容範囲がひろがる。たとえば、信頼度が700の場合、許容範囲は±3才となる。
【0035】
図9は分布図形式の許容範囲データの変形例を示している。図9では、推定年令が20才未満か否かで、分布を異ならせている(20才以上の分布のほうが許容範囲が広い。)。人間が年令を推定する場合の誤差幅が年令層に応じて異なることに着目したものである。すなわち、たとえば3才の幼児を人が何才か判定する場合、その誤差はせいぜい±2才程度の誤差幅しかない。一方で70才の高齢者を人が何才か判定する場合、人によって60才〜80才まで判定する年令のブレが大きい。このような人の判定結果の経験則を機械の推定結果に応用し、推定する人物の推定年令に応じて、許容範囲を設定する。
【0036】
図10はテーブル形式の許容範囲データの一例である。図10のテーブルでは、推定年齢と許容範囲(上限、下限)との対応関係が定められており、推定年齢に基づき許容範囲が決定される。たとえば、推定年齢が15才の場合、許容範囲は±4才となる。
【0037】
(ステップ8:結果統合処理)結果統合部9が、属性推定により求めた結果(推定年令)と許容範囲算出結果とを統合し、最終的な属性推定結果を算出する(図11)。
【0038】
(ステップ9:属性推定結果出力)出力部10が、最終的な属性推定結果を表示装置に出力する。図12は、結果表示例を示している。ここでは、画像中の顔の近傍に、推定年令(25才)とともに許容範囲(±3才)が表示されている。図13は、他の結果表示例である。この例では、許容範囲を年令ではなく、パーセントで示している。
【0039】
<まとめ>
上記構成によれば、推定年齢とともにその許容範囲(±X才、あるいは、Y%)が表示される。このようにすることで、推定結果の利用者に利用方法を検討する余地を与えることができるようになる。許容範囲(推定年令の信頼度)を表示することで、結果をどの程度信頼してもよいかが直感的にわかるため、たとえば最適なカメラ設置位置の選択が容易になる。またXX才±YY才という人間に分かりやすい出力方法は、推定結果をユーザが利用する場合、特に有用である。例えば、27才±5才と出力された場合、25才の区分に入れるのか、30才の区分に入れるのかユーザが選択する余地があるためである。
【0040】
すなわち本実施形態の利点をまとめると、(1)許容範囲を表示することで、結果をどの程度信頼してもよいか直感的にわかる。人が人物の年令を推定する際に持つあいまい性を、機械の結果出力にも適用することで、より人に納得させやすい結果の表示方法となる。(2)また、図6で説明した実施形態では、年令を推定する環境(画像中の顔の状態)の難易度に応じて、信頼度の出力結果が変化するので、許容範囲をより好適に算出可能である。これは、推定の簡単な状況と難しい状況(たとえば、照明変動や顔向きのバリエーションなど)があるためである。
【0041】
上述した許容範囲は、推定年令自体の信頼度を表す信頼度情報とよぶことができる。また、推定誤差の程度を表す情報とか、推定年令の不確かさ(あるいは確かさ)を表す情報、と言い換えることもできる。推定年令の信頼度の表現手法としては、「42才±5才」、「40才〜45才」、「42才±10%」、「42才(信頼度85%)」など、どのような表現手法を採用してもよい。
【0042】
<実施例>
以下、推定年令の信頼度(許容範囲)の算出方法の具体例について説明する。
【0043】
(実施例1)
実施例1は、人間による推定結果を利用する方法である。
【0044】
まず、学習データを用意する。学習データとしては、様々な年令のサンプル(人)のデータ、好ましくは、この装置が推定の対象とする全年令範囲を網羅するデータを用意する。典型的には顔、全身、又は上半身の画像データを用いるが、画像データだけでなく、音声データなど年令推定に影響を与え得る他のデータを用いることもできる。また、一人のサンプルについて、アングル、表情、髪型、服装、撮影条件等を変えた複数の画像を用意してもよい。
【0045】
これらの学習データを被験者に見せ、各サンプルの年令を推定させる。このとき、被験者による偏りをなくすため、性別や年代の異なる複数の被験者による実験を行ったり、1
つのサンプルに対して複数回の年令推定を行ったりするとよい。
【0046】
被験者実験により得られた年令推定結果から、各クラス(本実施例では年令ごとにクラス分けしている)の推定年令分布を算出する。図14は、推定年令分布の一例として、10才のクラス、42才のクラス、65才のクラスそれぞれの分布を示している。クラスごとに推定年令の分布形状(ばらつき)が異なることがわかる。一般的に、幼児や少年に対する推定年令のばらつきは小さく、40〜50代の推定年令のばらつきは大きくなる傾向にある。各クラスの推定年令分布は許容範囲記憶部8に記憶される。許容範囲記憶部8に記憶するデータは、分布をヒストグラム形式で表現したデータでもよいし、図14に示すように正規分布等の適当な分布を当てはめた場合には、分布を表現するパラメータ(正規分布の場合は分散)でもよい。
【0047】
次に、上記の推定年令分布を利用して、推定年令の信頼度を算出する処理を説明する。ここでは、属性推定部4により「42才」という推定結果が得られた場合を例に挙げる。
【0048】
許容範囲算出部7は、属性推定部4から推定年令「42才」を受け取ると、その年令の属するクラスの推定年令分布を許容範囲記憶部8から読み出す。次に、許容範囲算出部7は、図15(a)に示すように、推定年令分布の「42才」を中心とする累積確率(斜線部分に含まれるサンプルの割合)が所定の閾値α%となるときの下限及び上限を算出する。図15(a)の例では、下限「37才」、上限「47才」が得られ、推定年令「42才」の信頼度(許容範囲)は「±5才」のように求まる。
【0049】
閾値αが一定の場合、推定年令分布の形状に応じて許容範囲は変化する。たとえば、図15(a)に示す42才のクラスのように分布形状が幅広ければ、許容範囲は広くなる(信頼度が低くなる)。また図15(b)に示す5才のクラスのように分布形状が急峻であれば、許容範囲は狭くなる(信頼度が高くなる)。つまり、推定年令分布を作成するための被験者実験において誤推定が多かった年令については、信頼度が低くなり、誤推定が少なかった年令については、信頼度が高くなるのである。このように本実施例の方法によれば、人の推定誤差の傾向を反映した信頼度を得ることができるという利点がある。
【0050】
なお閾値αは、本装置の使用目的や要求精度などに応じて、適当な値に設定すればよい。典型的には1σ(約68%)などに設定すればよい。また本装置を使用するユーザがαの設定値を変更できるようにすることも好ましい。αの値を大きくするほど許容範囲は広くなる。なお、図15(a)の例では、推定年令分布の形状が左右対称のため、プラスとマイナスの誤差が同一である。しかし、推定年令分布が左右対称でない場合には、プラスの誤差とマイナスの誤差が同一の値になるとは限らない。
【0051】
本実施例では、年令ごとに推定年令分布を求めたが、必ずしも全ての年令について分布を求める必要はない。たとえば、0〜3才、4〜9才、10〜19才、20〜34才、・・・のように年齢層でクラス分けを行い、そのクラス(年齢層)ごとに推定年令分布を求めたり、あるいは、全ての年令に共通する1つの分布を求めたりするだけでもよい。年齢層で分ける場合は、幼児期や少年期のように推定誤差が小さい年令においては年齢層の幅を狭くし、相対的に、40代、50代のように推定誤差が大きい年令においては年齢層の幅を広くとるとよい。
【0052】
なお本実施例では、図15(a)に示すように、許容範囲算出部7が推定年令分布から都度許容範囲を算出している。しかし、閾値αと各クラスの推定年令分布とから、予め、クラスごと(年令ごと)の許容範囲を算出し、その値を許容範囲テーブル(図10参照)として許容範囲記憶部8に格納しておくことも好ましい。これにより、テーブル参照のみで許容範囲を得ることができ、許容範囲算出処理の高速化を図ることができる。なお閾値
αのユーザ変更を可能とした場合には、複数の閾値αについて予めテーブルを用意しておけばよい。
【0053】
(実施例2)
実施例2は、機械による推定結果を利用する方法である。実施例1では、被験者実験の結果から推定年令分布を算出したのに対し、実施例2では、機械による年令推定結果を用いる点が異なる。その他の構成は実施例1と同様である。ここで「機械」とは、学習データから自動で年令を推定する装置をさす。たとえば、本発明に係る年令推定装置を利用することができる。また推定の信頼度を向上するために、年令推定アルゴリズムが異なる複数種類の機械を利用することも好ましい。
【0054】
機械を利用した場合、人間による推定と比較して、大量サンプルの処理が可能になるため、推定年令分布の形状がより真値に近づくという利点がある。また、本発明に係る年令推定装置を推定年令分布の作成に利用した場合には、信頼度の精度が向上する。なぜなら、年令推定装置自身の推定誤差の傾向が、信頼度に反映されるからである。
【0055】
(実施例3)
実施例3は、識別器のスコアを利用する方法である。
【0056】
識別器とは、画像から抽出した特徴量(評価データ)がクラスに属する確率(帰属確率)をスコアとして出力する機械(プログラム)である。本装置の属性推定部4は、年令推定の分解能に応じた多クラス識別を行う必要がある。このような多クラス識別は、多クラス識別器を用いて実現してもよいし、複数の2クラス識別器の組み合わせにより実現してもよい。2クラス識別器としては、SVM(サポートベクタマシーン)、AdaBoost(アダブースト)、LDA(線形判別分析)など様々なものが提案されており、本発明ではいずれの識別器も用いることができる。また2クラス識別器の組み合わせ方についても従来公知の手法を採用することができる。たとえば、各年令の2クラス識別器から帰属確率を得て、最も高い帰属確率を出力した識別器の年令を採用する方法(1vsAllとよぶ)や、まず第1の識別器で30才以上か否かを判定し、30才未満であれば第2の識別器で15才以上か否かを判定し、・・・のように年令の範囲を二分する2クラス識別器を組み合わせて、徐々に年令の範囲を絞り込んでいく方法(木構造とよぶ)などがある。
【0057】
実施例3では、正解として選択されたクラス(たとえば、最も帰属確率が大きなクラス)の帰属確率を、そのまま推定年令の信頼度として用いる。たとえば、図3の例では、20代、30代、40代、50代の4つのクラスについて、それぞれ10%、30%、40%、20%という帰属確率が出力されている。許容範囲算出部7は、最も高い帰属確率である「40%」を推定年令「42才」の信頼度として採用する。この場合の推定結果の表示例を図13に示す。
【0058】
(実施例4)
実施例4も、識別器のスコアを利用する方法である。実施例3では帰属確率をそのまま推定年令の信頼度として利用したのに対し、実施例4ではテーブルを参照して帰属確率から信頼度を求める点で異なる。その他の構成は実施例3と同様である。
【0059】
図16(a)、(b)は許容範囲記憶部8に格納されているテーブルの一例を示している。図16(a)は、帰属確率を±X才形式の信頼度に変換するためのテーブルの例であり、図16(b)は、帰属確率をY%形式の信頼度に変換するためのテーブルの例である。たとえば、識別器から、年令「42才」、帰属確率「80%」という年令推定結果が得られた場合、許容範囲算出部7は、図16(a)のテーブルを参照して、−2才〜+3才という信頼度を得る。従って、推定結果の出力は、「42才(−2才〜+3才)」とか「
40才〜45才」のようになる。なお、帰属確率の値が「75%」のようにテーブルに存在しない場合には、近傍の値(たとえば70%と80%)から補間を行えばよい。
【0060】
これらのテーブルは、学習データから求めてもよいし、人為的に作成してもよい。学習データから求める場合、実施例2と同様、様々な年令のサンプルデータを用いて本装置による年令推定を行い、各サンプルの帰属確率と推定年令を求める。そして、帰属確率が約0.1(たとえば0.05〜0.15)であったサンプルについて、推定年令の分布を求め、実年令に対する推定誤差を求める。たとえば、実施例1と同じように累積確率が閾値αとなる範囲や1σの範囲などを、推定誤差として選ぶことができる。このようにして求めた推定誤差の下限値・上限値を帰属確率0.1に対応する許容範囲に設定する。以下同様に、帰属確率0.2、0.3、・・・、0.9に対応する許容範囲を求めることができる。一般に、帰属確率が低い場合には、推定年令の誤差は大きくなるため、許容範囲は大きくなり、逆に帰属確率が高いほど許容範囲は小さくなる。
【0061】
なお、クラスごとに異なるテーブルを用いることも好ましい。前述のように、年代によって推定誤差が異なるからである。
【0062】
また一つのクラスの帰属確率だけでなく、図16(c)に示すように、複数のクラスの帰属確率に基づいて信頼度を決定することもできる。図16(c)では、N個のクラスの帰属確率の組と信頼度(許容範囲)とが対応付けられている。このテーブルについても、学習データから求めてもよいし、人為的に作成してもよい。なお、信頼度の決定に、全てのクラスの帰属確率を用いる必要はない。たとえば、帰属確率が大きいものから順に2つのクラスを選択し、その2つのクラスの帰属確率の組から信頼度を求めるようにしてもよい。
【0063】
(実施例5)
実施例5も、識別器のスコアである帰属確率から信頼度を求める方法である。実施例4ではテーブルを用いたのに対し、実施例5では写像を用いて帰属確率から信頼度への変換を行う点が異なる。その他の構成は実施例4と同様である。
【0064】
図17(a)、(b)は許容範囲記憶部8に格納されている写像の一例を示している。図17(a)は、帰属確率を±X才形式の信頼度に変換するための写像の例であり、図17(b)は、帰属確率をY%形式の信頼度に変換するための写像の例である。たとえば、識別器から、年令「42才」、帰属確率「80%」という年令推定結果が得られた場合、許容範囲算出部7は、図17(a)の写像を参照して、±3才という信頼度を得る。
【0065】
図17は線形な写像を示しているが、非線形あるいは不連続な写像を用いてもよい。非線形な写像としてはシグモイド関数などが考えられる。これらの写像は、学習データから求めてもよいし、人為的に作成してもよい。学習データから求める場合、実施例4と同様にして帰属確率と推定誤差の関係を求め、それに適当な関数を当てはめればよい。なお、クラスごとに異なる写像を用いることも好ましい。
【0066】
また一つのクラスの帰属確率だけでなく、複数のクラスの帰属確率に基づいて信頼度を決定することもできる。その場合、N個の帰属確率の組(N次元ベクトル)と信頼度の関係を表す写像を用いればよい。あるいは、N個の帰属確率を1つの特徴値(スカラー)に変換し、その特徴値と信頼度との関係を表す写像を用いることもできる。
【0067】
(実施例6)
実施例6も、識別器のスコアから信頼度を求める方法である。ただし、実施例3〜5では多クラス識別の結果得られた帰属確率を用いたのに対し、実施例6では2クラス識別器
から得られるスコアから信頼度を算出する点が異なる。
【0068】
まず、各クラス(年令でも年代でもよい)について、学習データから識別スコアの分布を求める。たとえば、42才の2クラス識別器に対しては、42才のサンプルからなる多数の学習データを識別させ、図18に示すような「識別スコア−度数」の関係を求める。このスコア分布は、横軸が識別スコアの値、縦軸がその識別スコアをとるサンプルの度数(最大の度数が100%になるように規格化した値)を示す。スコア分布の形状は、ヒストグラムや分布のパラメータ(図18のような形状の場合はシグモイド関数などを用いることができる)の形式で信頼度記憶部6に格納しておく。なお、この2クラス識別器のスコアyは、−1から1の間の値をとり、サンプルがそのクラスに属する可能性が高いほど1に近い値をとり、属さない可能性が高いほど−1に近い値をとるものとする。
【0069】
続いて、推定年令の信頼度を算出する処理を説明する。ここでは、属性推定部4により「42才」という推定結果が得られた場合、つまり42才の2クラス識別器が最も大きい識別スコアを出力した場合を例に挙げる。信頼度算出部5は、属性推定部4から推定年令「42才」と識別スコア(たとえば0.7)を受け取ると、その年令のクラスのスコア分布のデータを信頼度記憶部6から読み出す。次に、信頼度算出部5は、スコア分布を参照して識別スコア0.7に対応する度数を求め、その度数を当該推定年令の信頼度とする。図18の例では、推定年令42才の信頼度は90%となる。
【0070】
なお、Y%形式の信頼度を±X才形式に変換するには、テーブルや写像(図8参照)などを用いることができる。また、2クラス識別器を組み合わせる場合、最終的に選択されたクラスの識別器で得られた信頼度のみを用いてもよいが、木構造のように複数の識別器の識別結果を経由して最終のクラスを絞り込んでいる場合は、複数の識別器が推定結果に影響を及ぼしていると考えられるため、その経路に含まれる複数の識別器の全部又は一部の信頼度の積若しくは和を用いて、最終的な信頼度を計算することも好ましい。
【0071】
(実施例7)
実施例7は、k−NN法を信頼度の算出に利用する。
【0072】
図19は、特徴量空間における各クラス(ここでは20代、30代、40代のように年代別のクラスとなっている)の分布を示している。この分布については、多数のサンプルからなる学習データから予め求めておく。
【0073】
推定処理において、信頼度算出部5は、推定対象の特徴量を図19の特徴量空間にマッピングし、推定対象データの近傍に存在するサンプル点を抽出する。このとき、近傍k個のサンプル点を抽出する設定であれば、推定対象データからの距離が近いものから順にk個のサンプル点を抽出する。あるいは、半径rの近傍空間のサンプル点を抽出する設定であれば、推定対象データを中心とする半径r内に存在する全てのサンプル点を抽出する。なお、k、rの値は任意の値に設定することができる。
【0074】
次に信頼度算出部5は、抽出したサンプル点のうち、推定対象データと同じクラス(図19では30代のクラス)に属しているサンプル点の個数を求める。抽出したサンプル点がA個、そのうち推定対象と同じクラスのサンプル点がB個とした場合、信頼度算出部5は、
信頼度(%)=B/A ×100
のように信頼度を求める。たとえば、A=11個、B=9個の場合、信頼度は約82%となる。なお、Y%形式の信頼度を±X才形式に変換するには、テーブルや写像などを用いることができる。
【0075】
(実施例8)
実施例8は、回帰写像により各クラスの信頼度を算出する方法である。
【0076】
図20(a)に示すように、多数のサンプルからなる学習データを用いて、特徴量の値xに対して推定年令yを出力する写像fを学習する。写像fの学習には、重回帰、CCA(正準相関分析)、Ridge回帰、RVM(Relevance Vector Machine)などの一般的な回帰手法を用いることができる。なお年令推定では数十から数百の特徴量が用いられるため、特徴量xは多次元ベクトルとなるが、図20では説明を簡単にするために1次元で示している。
【0077】
次に、学習データと写像fから各年令の信頼度(許容範囲の上限・下限)を算出する。たとえばβ才に対する信頼度を求める場合は、図20(a)に示すように、β才の学習データのそれぞれについて写像fにより年令推定を行い、これらの推定結果のばらつきの範囲(図20(a)ではβ−q才〜β+p才)を、β才の信頼度とする。つまり、学習データのうち推定年令が最も大きいものが許容範囲の上限となり、推定年令が最も小さいものが許容範囲の下限となる。他の年令に対する信頼度も同じように算出される。
【0078】
図20(b)は信頼度算出の変形例を示したものである。この例では、β才の学習データの一部(特徴量xの分布において分布の中心から閾値α%の範囲内にあるデータ)を用いて、写像fによる年令推定を行い、その推定結果のばらつきの範囲(β−t才〜β+s才)をβ才の信頼度とする。この方法によれば学習データの外れ値が除外されるため、より妥当な信頼度を得ることができる。
【0079】
(実施例9)
実施例9では、顔・人体の撮影条件や画像の撮影条件が悪い場合に、年令推定の信頼度を下げる処理を行う。撮影条件が悪い画像を用いた場合、得られる特徴量の信頼度が低下し、結果として年令推定結果の信頼度を低下させることとなるからである。特徴量の信頼度を低下させる要因としては、たとえば、以下のものが挙げられる。
【0080】
・顔や人体のサイズ…画像中の顔や人体のサイズが小さい場合、顔や人体から抽出できる情報量が少ないため、年令推定精度が低下する可能性がある。
・顔や人体の向き…顔が正面を向いている場合は顔器官の検出や特徴量抽出を精度よく行えるため、年令推定精度が向上する。しかし、顔が横を向いたり、上や下を向いている場合には、顔器官の隠れなどが生じ、年令推定精度が低下する可能性がある。
・器官信頼度…顔器官が変形していたり、顔器官の隠れが発生している場合などは、顔器官検出処理における器官信頼度が低下する。その場合、顔器官の位置やその部分に含まれる情報の精度が低いため、年令推定精度が低下する可能性がある。
・影、白飛び…影や白飛びにより顔画像が不鮮明な場合、顔器官の検出や特徴量の抽出の精度が低下するため、年令推定精度が低下する可能性がある。
・画像のボケ…画像のボケ量が大きいと、顔器官の検出や特徴量の抽出の精度が低下するため、年令推定精度が低下する可能性がある。
・照明条件…照明が暗すぎる場合、明るすぎる場合、(屋内でなく)屋外の場合など。
・ノイズ…画像中のノイズが多いと、顔器官の検出や特徴量の抽出の精度が低下するため、年令推定精度が低下する可能性がある。
【0081】
本実施例では、予め、複数の撮影条件に対して信頼度を設定したテーブルを用意する。たとえば、42才という推定年令に対する信頼度として、「照明条件:明るい屋内、顔サイズ:大、顔向き:正面」という撮影条件の場合は±4才、「照明条件:屋外、顔向き:右下向き」という撮影条件の場合は±7才、のように予め設定しておく。
【0082】
そして、推定対象となる画像が与えられたら、上記要因の全部又は一部について評価を行う。この評価は、画像処理によって自動で行ってもよいし、人が評価を入力してもよい。評価結果が得られたら、テーブルを参照して、該当する信頼度を求める。これにより、撮影条件を反映した信頼度を得ることができる。
【0083】
なお、信頼度を独自に算出するのではなく、信頼度算出部5により算出された信頼度を撮影条件の評価結果に応じて補正する構成も好ましい。たとえば図21に示すように、目の間隔に応じて信頼度を補正することができる。図21の例では、目の間隔が50ピクセル以上の場合は、顔サイズが十分に大きいものとして信頼度の補正を行わないが、目の間隔が50ピクセルより小さい場合には、その間隔に応じて信頼度を低下させる。目の間隔が20ピクセルの場合、±X才形式の信頼度は±(X+3)才となり、Y%形式の信頼度は(Y×0.01)%となる。同じように、顔の向きが正面の場合(角度=0度)は信頼度の補正を行わず、角度が所定値を超えると徐々に信頼度が低下するような補正を行うこともできる。
【0084】
以上、複数の実施例を挙げて本発明の信頼度(許容範囲)の具体的な算出例を述べたが、本発明はこれらの実施例に限られることはなく、その技術思想の範囲内で適宜変形することが可能である。たとえば、上述した各実施例の構成を適宜組み合わせることも可能である。
【特許請求の範囲】
【請求項1】
画像から顔を検出する手段と、
検出された顔の年令を推定する手段と、
推定された推定年令の誤差を表す許容範囲を算出する手段と、を備えることを特徴とする年令推定装置。
【請求項2】
前記推定年令とともに前記許容範囲を出力する出力手段をさらに備えたことを特徴とする請求項1に記載の年令推定装置。
【請求項3】
前記許容範囲は、推定処理の信頼度に基づいて決定されることを特徴とする請求項2に記載の年令推定装置。
【請求項4】
前記許容範囲は、前記推定年令に基づいて決定されることを特徴とする請求項2または3に記載の年令推定装置。
【請求項5】
前記推定年令と前記許容範囲が、前記画像中の顔の近傍に表示されることを特徴とする請求項2〜4のいずれかに記載の年令推定装置。
【請求項1】
画像から顔を検出する手段と、
検出された顔の年令を推定する手段と、
推定された推定年令の誤差を表す許容範囲を算出する手段と、を備えることを特徴とする年令推定装置。
【請求項2】
前記推定年令とともに前記許容範囲を出力する出力手段をさらに備えたことを特徴とする請求項1に記載の年令推定装置。
【請求項3】
前記許容範囲は、推定処理の信頼度に基づいて決定されることを特徴とする請求項2に記載の年令推定装置。
【請求項4】
前記許容範囲は、前記推定年令に基づいて決定されることを特徴とする請求項2または3に記載の年令推定装置。
【請求項5】
前記推定年令と前記許容範囲が、前記画像中の顔の近傍に表示されることを特徴とする請求項2〜4のいずれかに記載の年令推定装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2009−230751(P2009−230751A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2009−39276(P2009−39276)
【出願日】平成21年2月23日(2009.2.23)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願日】平成21年2月23日(2009.2.23)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]