JP4803148B2 - 人物顔面画像についての両眼位置検出方法および検出装置 - Google Patents

人物顔面画像についての両眼位置検出方法および検出装置 Download PDF

Info

Publication number
JP4803148B2
JP4803148B2 JP2007253367A JP2007253367A JP4803148B2 JP 4803148 B2 JP4803148 B2 JP 4803148B2 JP 2007253367 A JP2007253367 A JP 2007253367A JP 2007253367 A JP2007253367 A JP 2007253367A JP 4803148 B2 JP4803148 B2 JP 4803148B2
Authority
JP
Japan
Prior art keywords
image
row
face
pixel
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007253367A
Other languages
English (en)
Other versions
JP2009086834A (ja
Inventor
聡 田端
靖寿 松葉
徹太郎 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2007253367A priority Critical patent/JP4803148B2/ja
Publication of JP2009086834A publication Critical patent/JP2009086834A/ja
Application granted granted Critical
Publication of JP4803148B2 publication Critical patent/JP4803148B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、デジタルデータとして与えられた人物の顔面画像について、その両眼の位置を自動的に検出する技術に関する。
人物の顔面画像に基づいて様々な処理を実行する場合、その両眼の位置を検出することは非常に重要である。たとえば、セキュリティの分野では、人物の顔面画像に対して、当該画像が特定個人の顔画像であることを認証するための処理が行われる。また、顔画像から特定の個人を認識する処理は、セキュリティの分野のみならず、ロボットビジョン、人工知能の分野などにおいても有用である。更に、リアルタイムで得られる動画画像に基づいて、特定の人物を追跡したり、特定の人物の行動を解析したりする場合にも、顔画像から特定の個人を認識する処理が必要になる。このような顔認証の処理では、両眼の位置を自動的に検出する技術が不可欠である。
また、デジタルカメラなどでは、人物の赤目補正や肌領域の明るさ補正など、様々な画像補正処理が利用されているが、このような人物に関する写真補正処理を行う際にも、顔面画像から両眼の位置を検出することが重要になる。その他、Webを利用した人相占い、趣向診断などの分野においても、顔面画像から両眼の位置を検出する技術が必要とされている。
一般に、人物の顔面画像の特徴を分析する手法としては、標準となるテンプレート画像との類似度を演算する手法が知られている。たとえば、下記の特許文献1には、顔面画像とテンプレート画像とを色分布のヒストグラムで比較し、類似度を演算することにより、顔領域および目や口の領域を特定する方法が開示されている。また、特許文献2には、ビデオ画像の中から、人物の顔となる領域を自動検出する手法が開示されており、色成分に基づいて目の領域を特定する方法が開示されている。一方、特許文献3には、人物写真の赤目補正のために、2種類のテンプレート画像との類似度を演算することにより、目の位置を検出する技術が示されている。更に、特許文献4には、二値化された顔面画像に対する分析によって目候補を選出した上で、もとの多値画像を用いて細線部分を抽出することにより、より正確な位置検出を行う技術が開示されている。
特開平8−63597号公報 特開2000−82147号公報 特開2000−278510号公報 特開2000−331172号公報
上述したとおり、人物の顔面画像について、その両眼の位置を自動的に検出する方法としては、これまでにも様々な手法が提案されてきている。しかしながら、いずれの手法を用いても、正しい両眼の位置を正確に検出することは困難である。顔面画像から両眼の位置を検出する場合、通常は、テンプレート画像との類似度の比較を行うことになる。しかしながら、デジタルカメラなどで撮影された任意の顔面画像には、照明環境をはじめとする撮影条件の多様性によって、様々な陰影が生じることになるので、たまたまテンプレート画像に対して高い類似度を示す結果が得られたとしても、当該結果は、両眼ではない別な対象物に基づく結果であることも少なくない。また、顔面画像のスケーリングが適正でないと、テンプレート画像に示されている眼の画像上での寸法と、顔面画像に含まれている眼の画像上での寸法とに大きな食い違いが生じる可能性があり、このようなスケーリング上のミスマッチにより、正しい検出が妨げられることも少なくない。このため、従来の手法で得られた検出結果は、必ずしも信頼できるものではなく、精度の低いものにならざるを得ない。
そこで本発明は、人物の顔面画像について、その両眼の位置を正確に、かつ、高い信頼性をもって自動検出することが可能な人物顔面画像についての両眼位置検出方法および検出装置を提供することを目的とする。
(1) 本発明の第1の態様は、人物の顔面画像について両眼の位置を検出する人物顔面画像についての両眼位置検出方法において、
コンピュータ内に、両眼の基準として用いる左右の区別がない基準単眼画像を準備する基準単眼画像準備段階と、
コンピュータ内に、検出の対象となる人物の顔面画像を準備する顔面画像準備段階と、
コンピュータが、顔面画像の上の所定の重畳位置に基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第1次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算段階と、
コンピュータが、第1次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第2次候補とするしきい値未満除外段階と、
コンピュータが、第2次候補の各重畳位置について、顔面画像上での水平方向に関する類似度の変動を調べ、第2次候補の中から、類似度が極大値をとる候補を第3次候補として抽出する極大抽出段階と、
コンピュータが、第3次候補の中から、類似度の大きい所定数の重畳位置を第4次候補として選択する上位候補選択段階と、
コンピュータが、第4次候補の中から、次の2条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定段階と、
(条件1)基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
(条件2)基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
コンピュータが、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力段階と、
を行うようにしたものである。
(2) 本発明の第2の態様は、上述の第1の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像を準備し、
顔面画像準備段階で、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像を準備し、
類似度演算段階で、基準単眼画像の第0列第0行目の画素を、顔面画像上の第i列第j行目の画素に重ねるような配置を行い、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第1次候補となる合計(M−m+1)×(N−n+1)通りの重畳位置についての類似度を求めるようにしたものである。
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像を準備し、
顔面画像準備段階で、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像を準備し、
類似度演算段階で、基準単眼画像の第0列第0行目の画素を、顔面画像上の第i列第j行目(但し、i=0〜(M−m),j=0〜(N−n))の画素に重ねるような配置を行った際の類似度R(i,j)を、
R(i,j)=
Σβ=0,n−1(Σα=0,m−1(F(i+α,j+β)・E(α,β)))
(但し、F(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の所定色の画素値、E(α,β)は基準単眼画像の第α列第β行目の当該所定色の画素値)
なる演算式を用いて求めるようにしたものである。
(4) 本発明の第4の態様は、上述の第3の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、赤緑青の3原色の画素値Er,Eg,Ebをもつ画素の集合からなる基準単眼画像を準備し、
顔面画像準備段階で、赤緑青の3原色の画素値Fr,Fg,Fbをもつ画素の集合からなる顔面画像を準備し、
類似度演算段階で、
R(i,j)=1/3・
(Σβ=0,n−1(Σα=0,m−1(Fr(i+α,j+β)・Er(α,β)))
+Σβ=0,n−1(Σα=0,m−1(Fg(i+α,j+β)・Eg(α,β)))
+Σβ=0,n−1(Σα=0,m−1(Fb(i+α,j+β)・Eb(α,β))))
(但し、Fr(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の赤色の画素値、Er(α,β)は基準単眼画像の第α列第β行目の赤色の画素値、Fg(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の緑色の画素値、Eg(α,β)は基準単眼画像の第α列第β行目の緑色の画素値、Fb(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の青色の画素値、Eb(α,β)は基準単眼画像の第α列第β行目の青色の画素値)
なる演算式を用いて類似度R(i,j)を求めるようにしたものである。
(5) 本発明の第5の態様は、上述の第3の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、赤色の画素値Erをもつ画素の集合からなる基準単眼画像を準備し、
顔面画像準備段階で、赤緑青の3原色の画素値Fr,Fg,Fbをもつ画素の集合からなる顔面画像を準備し、
類似度演算段階で、赤色の画素値のみの類似度を考慮して、
R(i,j)=
Σβ=0,n−1(Σα=0,m−1(Fr(i+α,j+β)・Er(α,β)))
(但し、Fr(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の赤色の画素値、Er(α,β)は基準単眼画像の第α列第β行目の赤色の画素値)
なる演算式を用いて類似度R(i,j)を求めるようにしたものである。
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る人物顔面画像についての両眼位置検出方法において、
極大抽出段階で、水平方向に隣接して配列された第2次候補の各重畳位置について、隣接位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を類似度が極大値をとる第3次候補として抽出するようにしたものである。
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る人物顔面画像についての両眼位置検出方法において、
上位候補選択段階で、第3次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第4次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる1つのみを第4次候補として残し、それ以外を第4次候補から除外するようにしたものである。
(8) 本発明の第8の態様は、上述の第1〜第7の態様に係る人物顔面画像についての両眼位置検出方法において、
最終候補決定段階で、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、他方の画像枠の中心点から顔中心線へ下ろした垂線の足との距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断するようにしたものである。
(9) 本発明の第9の態様は、上述の第1〜第8の態様に係る人物顔面画像についての両眼位置検出方法において、
最終候補決定段階で、2条件を満たす関係にある一対の重畳位置が複数組存在する場合には、一対の重畳位置についての大きい方の類似度もしくは一対の重畳位置についての類似度の合計値が最大となる1組のみを最終候補と決定するようにしたものである。
(10) 本発明の第10の態様は、上述の第1〜第8の態様に係る人物顔面画像についての両眼位置検出方法において、
最終候補決定段階で、2条件を満たす関係にある一対の重畳位置が複数組存在する場合には、当該複数組の一対の重畳位置をいずれも最終候補と決定し、
検出結果出力段階で、最終候補として決定された複数組の一対の重畳位置に基準単眼画像を配置したときの両画像枠内の代表点の位置を、それぞれ複数組の両眼の位置の検出結果として出力するようにしたものである。
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る人物顔面画像についての両眼位置検出方法において、
検出結果出力段階で、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力するようにしたものである。
(12) 本発明の第12の態様は、上述の第1〜第11の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、実在の人物の顔写真の眼の部分から切り出した画像に対して修正を加えることにより、基準単眼画像を準備するようにしたものである。
(13) 本発明の第13の態様は、上述の第1〜第12の態様に係る人物顔面画像についての両眼位置検出方法において、
顔面画像準備段階を、
実在の人物の顔写真を所定の背景を用いて撮影し、背景部分を示す背景画素と人物部分を示す人物画素とによって構成される二次元画素配列からなる撮影原画像をコンピュータに与える画像入力段階と、
コンピュータが、二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第1反転部として認識するとともに、一方の走査経路とは逆の走査経路に沿って走査対象行に所属する各画素を調べ、背景画素から人物画素に転じる反転部を第2の反転部と認識する行走査段階と、
コンピュータが、二次元画素配列の最上行から下へ向かって1行ずつ順番に走査対象行を更新しながら、行走査段階を繰り返し実行する繰り返し走査段階と、
コンピュータが、繰り返し走査段階において、初めて反転部の認識がなされた行を頭頂行と認定し、頭頂行以下の各行については、第1反転部から第2反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Wmaxと定める最大顔幅決定段階と、
コンピュータが、最大顔幅Wmaxに基づく倍率により、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とする画像変倍段階と、
によって構成し、
繰り返し走査段階では、頭頂行から数えて第Wmax行目の行を走査最終行として、第1行目から走査最終行に至るまで行走査段階を繰り返し実行し、
画像変倍段階では、走査最終行の走査が完了した時点における最大顔幅Wmaxと、基準単眼画像のサイズに応じて予め定義された基準顔面顔幅Gと、の比によって定まる倍率G/Wmaxを用いて、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とするようにしたものである。
(14) 本発明の第14の態様は、上述の第13の態様に係る人物顔面画像についての両眼位置検出方法において、
画像変倍段階では、走査最終行の走査が完了した時点における最大顔幅Wmaxをもつ行についての第1反転部となる画素が位置する列から第2反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Wmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにG/Wmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とするようにしたものである。
(15) 本発明の第15の態様は、上述の第13または第14の態様に係る人物顔面画像についての両眼位置検出方法において、
行走査段階を行う前に、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させ、フィルタ処理後の画像を用いて反転部の認識を行うようにしたものである。
(16) 本発明の第16の態様は、人物の顔面画像について両眼の位置を検出する人物顔面画像についての両眼位置検出装置において、
実在の人物の顔写真を撮影することにより得られる二次元画素配列データからなる撮影原画像を格納する撮影原画像格納手段と、
撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させるフィルタ処理手段と、
フィルタ処理手段による処理後のデータに基づいて、人物の顔の最大幅と推定される最大顔幅Wmaxを求める最大顔幅認識手段と、
最大顔幅Wmaxの値と予め定義された基準顔面顔幅Gとの比によって定まる倍率G/Wmaxを用いて、撮影原画像を拡大もしくは縮小し、顔面画像を得る画像変倍手段と、
基準顔面顔幅Gをもった基準顔面の両眼として適した大きさを有し左右の区別がない基準単眼画像を格納した基準単眼画像格納手段と、
顔面画像の上の所定の重畳位置に基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第1次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算手段と、
第1次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第2次候補とするしきい値未満除外手段と、
第2次候補の各重畳位置について、顔面画像上での水平方向に関する類似度の変動を調べ、第2次候補の中から、類似度が極大値をとる候補を第3次候補として抽出する極大抽出手段と、
第3次候補の中から、類似度の大きい所定数の重畳位置を第4次候補として選択する上位候補選択手段と、
第4次候補の中から、次の2条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定手段と、
(条件1)基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
(条件2)基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力手段と、
を設けるようにしたものである。
(17) 本発明の第17の態様は、上述の第16の態様に係る人物顔面画像についての両眼位置検出装置において、
最大顔幅認識手段を、
フィルタ処理手段による処理後のデータを構成する二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定する反転判定部と、
所定の行走査対象行について、反転判定部に、第1の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第1反転部として認識するとともに、第1の走査経路とは逆の第2の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第2反転部として認識する行走査制御部と、
二次元画素配列の最上行から下へ向かって1行ずつ順番に走査対象行を更新しながら、行走査制御部に繰り返し走査を実行させる繰り返し制御部と、
繰り返し走査において、初めて反転部の認識がなされた行を頭頂行と認定し、頭頂行以下の各行については、第1反転部から第2反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Wmaxと定める最大顔幅決定部と、
によって構成し、
繰り返し制御部が、頭頂行から数えて第Wmax行目の行を走査最終行として、第1行目から走査最終行に至るまで1行ずつ順番に走査対象行を更新しながら、行走査制御部に繰り返し走査を実行させるようにしたものである。
(18) 本発明の第18の態様は、上述の第17の態様に係る人物顔面画像についての両眼位置検出装置において、
画像変倍手段は、走査最終行の走査が完了した時点における最大顔幅Wmaxをもつ行についての第1反転部となる画素が位置する列から第2反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Wmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにG/Wmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とするようにしたものである。
(19) 本発明の第19の態様は、上述の第16〜第18の態様に係る人物顔面画像についての両眼位置検出装置において、
基準単眼画像格納手段が、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像を格納し、
画像変倍手段が、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像を求め、
類似度演算手段が、基準単眼画像の第0列第0行目の画素を、顔面画像上の第i列第j行目の画素に重ねるような配置を行い、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第1次候補となる合計(M−m+1)×(N−n+1)通りの重畳位置についての類似度を求めるようにしたものである。
(20) 本発明の第20の態様は、上述の第19の態様に係る人物顔面画像についての両眼位置検出装置において、
類似度演算手段が、基準単眼画像の第0列第0行目の画素を、顔面画像上の第i列第j行目(但し、i=0〜(M−m),j=0〜(N−n))の画素に重ねるような配置を行った際の類似度R(i,j)を、
R(i,j)=
Σβ=0,n−1(Σα=0,m+1(F(i+α,j+β)・E(α,β)))
(但し、F(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の所定色の画素値、E(α,β)は基準単眼画像の第α列第β行目の当該所定色の画素値)
なる演算式を用いて求めるようにしたものである。
(21) 本発明の第21の態様は、上述の第16〜第20の態様に係る人物顔面画像についての両眼位置検出装置において、
上位候補選択手段が、第3次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第4次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる1つのみを第4次候補として残し、それ以外を第4次候補から除外するようにしたものである。
(22) 本発明の第22の態様は、上述の第16〜第20の態様に係る人物顔面画像についての両眼位置検出装置において、
最終候補決定手段が、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、他方の画像枠の中心点から顔中心線へ下ろした垂線の足と、の距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断するようにしたものである。
(23) 本発明の第23の態様は、上述の第16〜第22の態様に係る人物顔面画像についての両眼位置検出装置において、
検出結果出力手段が、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力するようにしたものである。
(24) 本発明の第24の態様は、上述の第16〜第23の態様に係る人物顔面画像についての両眼位置検出装置を、コンピュータにプログラムを組み込むことにより構成したものである。
本発明に係る両眼位置検出方法および検出装置によれば、人物の顔面画像について、その両眼の位置を正確に、かつ、高い信頼性をもって自動検出することが可能になる。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.本発明の基本概念 >>>
はじめに、本発明に係る両眼位置検出方法の基本概念を説明する。ここでは、図1に示すような顔面画像(本願では、Faceの頭文字をとって符号Fを付す)を検出対象とする場合を考えよう。この顔面画像Fは、人物の顔を含むデジタル画像であり、たとえば、デジタルカメラで撮影した人物写真をそのまま用いることもできるし、銀塩写真上の人物像をスキャナで取り込んだものを用いることもできる。もちろん、動画の1フレームを構成する画像であってもかまわない。
この顔面画像Fは、人物の顔を含んでいれば、多少斜めを向いていたり、全身像のようなものであってもかまわないが、実用上は、ある程度の検出精度を確保するため、証明写真などに利用可能な画像、すなわち、「正面を向いた顔を主体とする画像」を用いるのが好ましい。眼鏡を着用した画像であっても、検出は可能であるが、正しい検出を行う上では、眼鏡を外した状態の画像を用いるのが好ましい。また、誤った検出を避けるためには、背景が無地となるような環境で撮影された画像を用いるのが好ましい。なお、顔面画像Fは、カラー画像であっても、モノクロ画像であってもよい。
本発明の目的は、このような顔面画像Fに基づいて、この人物の両眼の位置を自動的に検出することにある。両眼の位置は、その代表点の位置座標として検出することができる。図2は、図1に示す顔面画像Fについて検出された両眼位置P1,P2を示す平面図である。なお、図が繁雑になるのを避けるため、図2以降では、顔面画像Fには濃淡情報の表現を省略し、顔面の特徴部分のみが示された単純な線画を描くことにする。
実際には、顔面画像Fは、二次元マトリックス状に配置された多数の画素の集合体を示すデジタルデータとして与えられる。ここでは、横方向にX軸、縦方向にY軸を定義し、XY二次元座標系上に画素が配列されているものとし、画像上の任意の位置を(x,y)座標で示すことにする。図2では、両眼位置がP1(x1,y1),P2(x2,y2)なる座標値で示されている。ここで、位置P1(x1,y1)は人物の右眼の瞳のほぼ中心位置を示しており、位置P2(x2,y2)は、人物の左眼の瞳のほぼ中心位置を示している。
既に述べたとおり、このような両眼位置を検出できれば、赤目補正、肌領域の明るさ補正、人相占い、趣向診断などの分野に利用することができる。また、両眼位置に基づいて、更に、鼻の位置、口の位置などの検出技術へと連携させることにより、特定個人の顔であるとの認証が可能になるので、セキュリティ、ロボットビジョン、人工知能などの分野においても、両眼位置の検出は重要な技術になる。
通常、任意の顔面画像Fについて眼の位置を検出する場合、予め基準となる眼の画像(一般に、テンプレートと呼ばれている画像)を用意しておき、この眼の画像を顔面画像F上の様々な位置に重ねてゆき、類似度の高い位置を探し出す、という手法(テンプレートを用いたマッチング手法)が採られる。前掲の各特許文献に開示されている従来の方法においても、このようなマッチング手法が用いられている。本発明も、基本的には、このテンプレートを用いたマッチング手法により、両眼位置の検出を行うことになるが、その具体的な手法の部分に固有の特徴を有している。
図3は、本発明においてテンプレートとして利用される眼の画像の一例を示す平面図である。本発明の特徴のひとつは、テンプレートとして、左右の区別がない共通した単眼画像を用いる点である。ここでは、このテンプレートとして用いる眼の画像を、「基準単眼画像」と呼ぶことにする(以下、Eyeの頭文字をとって符号Eを付す)。実際には、人間の右眼と左眼とでは、その形状や特徴が異なっているため、右眼用のテンプレートと左眼用のテンプレートを別個に用意し、それぞれを別個に検出するという手法を採ることも可能であるが、本発明では、左右の眼に対して共通のテンプレートを用いたマッチング手法を採ることになる。
本発明で用いる基準単眼画像Eは、両眼の基準として用いる左右の区別がない眼の画像であれば、どのような画像を用いてもかまわないが、ここに示す実施形態では、図3に示すように、横方向に細長い矩形状の単眼画像枠Ef内の領域にほぼいっぱいに広がるように割り付けられた眼の画像として、基準単眼画像Eを用意している。もちろん、単眼画像枠Efは必ずしも矩形である必要はなく、楕円形や任意の形状であってもかまわない。ただ、実用上は、類似度演算の便宜を考慮して、矩形にするのが好ましい。また、図示の例では、左右対称の画像が用いられているが、基準単眼画像Eは必ずしも左右対称にする必要はない。ただ、左右両眼について共通に利用されるテンプレートなので、実用上は、左右対称の画像を用いるのが好ましい。
この基準単眼画像Eは、コンピュータの作画ソフトウエアなどを利用して、一から作成することも可能であるが、実際には、実在の人物の顔写真の眼の部分から切り出した画像(どの範囲内の部分を切り出すかも任意である)に対して修正を加えることにより作成することができる。もちろん、標準的な顔をもった人物の顔写真の右眼もしくは左眼から切り出した画像をそのまま基準単眼画像Eとして利用することも可能であるが、左右対称の画像にするには、画像レタッチソフトウエアなどを利用して、切り出した一方の眼の画像の左右いずれか半分を反転させて合成するような処理を施せばよい。
この基準単眼画像Eも、カラー画像であってもよいし、モノクロ画像であってもよい。ただ、検出対象となる顔面画像Fがカラー画像の場合には、基準単眼画像Eもカラー画像にするのが好ましく、検出対象となる顔面画像Fがモノクロ画像の場合には、基準単眼画像Eもモノクロ画像にするのが好ましい。また、カラー画像を利用する場合、人種によって眼の各部の色調が異なるので、必要に応じて、様々な人種ごとに専用の基準単眼画像Eを用意しておき、検出処理を行う際に、検出対象となる顔面画像Fに写っている人物の人種を指定してもらい、当該人種専用の基準単眼画像Eを利用して検出処理を行うことも可能である。
さて、図1に示すような顔面画像Fと図3に示すような基準単眼画像Eとが準備できたら、この基準単眼画像Eをテンプレートとしたマッチング度合いを調べる手順を実行する。すなわち、顔面画像Fの上の様々な重畳位置に基準単眼画像Eを重ねて配置し、重なった部分の両画像の類似度を求める処理が行われる。
図4は、図1に示す顔面画像F上のいくつかの重畳位置に、図3に示す基準単眼画像Eを配置させた状態を示す平面図である。ここでは、説明の便宜上、図3に示すように、単眼画像枠Efの左上隅に位置基準点Qを定め、顔面画像F上における位置基準点Qが配置される地点を重畳位置と呼ぶことにする(もちろん、位置基準点Qは、単眼画像枠Efの中心点など、別な位置に定義してもかまわない。)。図4に示す顔面画像F上の点Q1〜Q5は、それぞれ異なる重畳位置を示しており、各点Q1〜Q5を左上隅点とする矩形Efは、当該重畳位置に配置された基準単眼画像Eの単眼画像枠Efを示している。
図4には、5箇所の重畳位置Q1〜Q5のみが例示されているが、もちろん実際には、よりきめの細かい多数の重畳位置(後述する例の場合、縦横1画素ごと)が定義され、個々の重畳位置に基準単眼画像Eを配置したときのマッチング度合い(重なった部分の両画像E,Fの類似度)がそれぞれ求められる。
図5は、このような類似度の算出原理を示す平面図である。上段に示す図5(a) は、図3に示す基準単眼画像Eの具体的な画素構成を示す平面図である。図示の例では、基準単眼画像Eは、m列n行からなる画素配列によって構成されている。なお、本発明は、コンピュータを用いて実施することを前提としているため、画素配列の列番号および行番号が、コンピュータ処理の慣習に従って、いずれも第0番から始まるものとして以下の説明を行うことにする。したがって、図5(a) に示す基準単眼画像Eは、第0列目〜第(m−1)列目、および第0行目〜第(n−1)行目までに配列された合計m×n個の画素によって構成されることになる。ここでは、このような画素配列における第α列第β行目に位置する画素(図にハッチングを施して示す画素)を画素E(α,β)と呼ぶことにし、当該画素の画素値も同じ符号E(α,β)を用いて表すことにする。なお、図5(a) に示された点Pは、単眼画像枠Efを構成する矩形の中心点であり、基準単眼画像Eの代表点となる。
一方、下段に示す図5(b) は、図1に示す顔面画像Fの具体的な画素構成を示す平面図(左上の一部分のみが示されている)である。図示の例では、顔面画像Fは、M列N行からなる画素配列によって構成されており、第0列目〜第(M−1)列目、および第0行目〜第(N−1)行目までに配列された合計M×N個の画素によって構成されることになる。
図4に示す例では、単眼画像枠Efの左上隅に定義された位置基準点Qを重ねる位置として重畳位置Q1〜Q5を例示したが、図5に示す例の場合、図5(a) に示す基準単眼画像Eの第0列第0行目の画素(左上隅の星印の画素)を重ねる位置として、図5(b) に示すように、顔面画像F上の第i列第j行目の画素(同じく星印の画素)の位置を指定することにする。別言すれば、ここで述べる実施形態の場合、基準単眼画像Eを顔面画像F上に重ねる際の特定の重畳位置を示すために、顔面画像Fを構成する画素配列における特定の列番号iおよび特定の行番号jを指定することにする。図5(b) に太線で示す枠は、(i,j)で示される重畳位置に基準単眼画像Eを重畳して配置した場合の単眼画像枠Efを示している。
もちろん、重畳位置を示す情報としては、必ずしも基準単眼画像Eの第0列第0行目の画素(左上隅の画素)を重ねる位置を用いる必要はない。たとえば、図5(a) に示す代表点Pが、顔面画像F上におけるどの位置に重ねられるか、を示す情報を、重畳位置を示す情報として用いることも可能である。ただ、ここでは、説明の便宜上、図5(a) に星印で示す左上隅の画素が重ねられることになる「顔面画像F上の特定の画素」の列番号および行番号を用いて、(i,j)のような形式で重畳位置を表現することにする。
なお、基準単眼画像Eを顔面画像F上に重ねる際には、縦横の位置関係を維持したまま、別言すれば、画像を回転させることなく正則な状態のまま重ねることを前提とする。したがって、基準単眼画像Eも顔面画像Fも、正立顔面画像を前提とした画像となっている必要がある。このため、人物が横向きに写っているような写真(たとえば、頭部が左、顎部が左になっているような写真)を用いるような場合は、事前に当該写真を90°回転させ、正立顔面画像からなる顔面画像Fが用意されるようにする。
ここで述べる実施形態の場合、基準単眼画像Eを顔面画像F上の特定の重畳位置に重ねたときの両画像の類似度は、1対1に対応する画素の画素値の類似性に基づいて求められる。たとえば、図5に示す例のように、基準単眼画像Eを顔面画像F上の特定の重畳位置(i,j)に重ねたときの両画像の類似度は、基準単眼画像E上の画素E(α,β)の画素値と、顔面画像F上の画素F(i+α,j+β)の画素値との類似性に基づいて求められる。ここで、画素E(α,β)と画素F(i+α,j+β)とは、互いに重なり合う位置に配置された画素である。
具体的な類似度算出の演算式は、§2において説明するが、何らかの演算式を定義して類似度を算出するようにすれば、個々の重畳位置ごとに、それぞれ類似度が数値として求められることになる。したがって、たとえば、図4に示す例の場合、重畳位置Q1〜Q5のそれぞれについて、何らかの類似度が数値として与えられる。この場合、個々の類似度は、顔面画像F内の重畳領域内の画像と基準単眼画像Eとの類似性を定量的に示すパラメータということになるので、類似度が高ければ、当該重畳位置に眼が存在する可能性が高くなる。
図4に示す例の場合、重畳位置Q3,Q4についての類似度は、重畳位置Q1,Q2についての類似度に比べると、かなり高くなることが予測される。ただ、この人物の唇部分の特徴が基準単眼画像Eの特徴に類似していた場合、重畳位置Q5についての類似度も、ある程度高くなる可能性がある。また、重畳位置Q2のように、眼や唇とは全く無関係な領域であっても、髪形や撮影時の照明環境といった要因により、その特徴が基準単眼画像Eの特徴に類似してしまうケースもあり、このようなケースでは、重畳位置Q2についての類似度もある程度高くなる可能性がある。更に、顔面画像Fのスケーリングが適正でないと、基準単眼画像E内の眼の画像上での寸法(画素数)と、顔面画像に含まれている眼の画像上での寸法(画素数)とに食い違いが生じ、類似性の正しい比較を行うことができない場合もある。
もちろん、一般論としては、図4に示すような5通りの重畳位置Q1〜Q5についての類似度を相互に比較すれば、重畳位置Q3,Q4についての類似度が最も高くなることが予想される。しかしながら、実際には、上述した様々な要因により、必ずしも重畳位置Q3,Q4についての類似度が最も高い値を示すとは限らない。これは裏を返せば、類似度が最も大きな重畳位置と2番目に大きな重畳位置とを選択して両眼位置を定める、という単純なアルゴリズムを適用した場合、両眼位置の誤検出が行われる可能性があることを示している。従来の手法で得られた検出結果が、必ずしも信頼できるものにならない原因は、このような誤検出に対する対処が不十分であるためと考えられる。
そこで、本発明では、類似度の大きさのみに基づいて候補の選択を行うことをせずに、固有の選抜アルゴリズムに基づいて、徐々に候補を絞り込む方法を採っている。この固有の選抜アルゴリズムについての詳細は、§2で説明するが、その概要は、次のとおりである。
まず、所定密度(ここに示す実施形態の場合は、顔面画像Fの画素の密度)で多数の重畳位置を第1次候補と定め、この第1次候補となる各重畳位置のそれぞれについて類似度を算出する。続いて、類似度がしきい値未満となる重畳位置を除外し、残りを第2次候補とする。更に、この第2次候補として残った個々の重畳位置について、その水平方向に関する類似度の変動を調べ、極大値となる候補を第3次候補として抽出する。次に、この第3次候補の中から類似度の大きい順に所定個を選択して第4次候補とする。最後に、この第4次候補の中から、顔の中心線に関する単眼画像枠の対称性が所定の基準以上であり、かつ、互いに単眼画像枠が重ならない一対の候補を最終候補として決定する。
このような選抜アルゴリズムを実行すると、たとえば、図4に示す例の場合、重畳位置Q3,Q4が一対の最終候補として選抜されることになる。この場合、重畳位置Q3,Q4に、基準単眼画像Eを配置したときの単眼画像枠Efの代表点(中心点)の位置P1(x1,y1),P2(x2,y2)が、最終的に得られる両眼の検出位置ということになる(図2参照)。このような手法を採れば、両眼の位置を正確に、かつ、高い信頼性をもって自動検出することが可能になる。
<<< §2.本発明に係る検出方法の基本的な処理手順 >>>
続いて、本発明の一実施形態に係る人物顔面画像についての両眼位置検出方法の基本的な処理手順を、図6の流れ図を参照しながら説明する。本発明は、基本的に、コンピュータを利用して実施する技術であるから、図6の流れ図に示す各ステップは、コンピュータを利用して実行されることになる。別言すれば、図6の流れ図に示す各ステップは、予め用意されたコンピュータプログラムに基づいて、コンピュータが実行する処理ということになる。
まず、ステップS1の基準単眼画像準備段階では、コンピュータ内に、両眼の基準として用いる左右の区別がない基準単眼画像Eを準備する処理が行われる。§1で述べた例の場合、この基準単眼画像Eは、たとえば、図3に示すような画像であり、図5(a) に示すように、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)からなる画像になる。したがって、このステップS1の処理は、このような画像ファイルを作成し、コンピュータ内の所定の格納場所へ格納することによって行われる。
既に述べたとおり、このような基準単眼画像Eは、実用上は、実在の人物の顔写真の眼の部分から切り出した画像に対して、画像レタッチソフトウエアなどを利用して、修正を加えることにより作成することができる。また、必要に応じて、様々な人種ごとに専用の基準単眼画像Eを用意しておいてもよい。
続いて、ステップS2の顔面画像準備段階では、コンピュータ内に、検出の対象となる人物の顔面画像Fを準備する処理が行われる。具体的には、デジタルカメラなどで撮影した人物の画像ファイルを、コンピュータに取り込む作業を行えばよい。§1で述べたとおり、実際には、ある程度の検出精度を確保するため、証明写真などに利用可能な「正面を向いた顔を主体とする画像」を顔面画像Fとして取り込むのがよい。また、実用上は、デジタルカメラなどで人物の顔を撮影した撮影原画像に対して、トリミングおよび変倍処理を施したものを顔面画像Fとして用いるのが好ましい。このようなトリミングおよび変倍処理の詳細については、§3で述べることにする。
§1で述べた例の場合、この顔面画像Fは、たとえば、図1に示すような画像であり、図5(b) に示すように、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)からなる画像になる。したがって、このステップS2の処理は、このような画像ファイルをコンピュータ内の所定の格納場所へ格納することによって行われる。
こうして、コンピュータ内に、基準単眼画像Eおよび顔面画像Fが準備できたら、続くステップS3の類似度演算段階において、顔面画像Fの上の所定の重畳位置に基準単眼画像Eを重ねて配置し、重なった部分の両画像E,Fの類似度を求める演算を、第1次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める処理が行われる。ここで、第1次候補となる重畳位置は、顔面画像F上に所定密度でほぼ一様に分布している複数通りの位置であれば、どのような位置を定義してもかまわないが、ここに示す実施形態の場合、M×Nの大きさの顔面画像Fを構成する個々の画素の位置(但し、基準単眼画像Eを重ねた場合に、その一部が顔面画像Fから食み出してしまうような位置を除く)を第1次候補となる重畳位置と定めている。
図5を参照して説明したとおり、ここで述べる実施形態では、図5(a) の基準単眼画像Eの左上隅の画素(星印で示す第0列第0行目の画素)を位置の基準として、当該画素が重ねられることになる「顔面画像F上の特定の画素」の列番号iおよび行番号jを用いて、(i,j)のような形式で重畳位置が表現される。そして、ステップS3の類似度演算段階では、図5(b) に示すように、基準単眼画像Eの第0列第0行目の画素を、顔面画像F上の第i列第j行目の画素に重ねるような配置を行い、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた組み合わせの各位置について、それぞれ類似度を求める演算を実行し、第1次候補となる合計(M−m+1)×(N−n+1)通りの重畳位置についての類似度を求める演算が行われる。
ここで、iの範囲を0〜(M−m)とし、jの範囲を0〜(N−n)とするのは、重ねた基準単眼画像Eが顔面画像Fから食み出さないような重畳位置のみを考慮するためである。もちろん、本発明を実施する上では、i,jの値を必ずしも1ずつ変える必要はなく、たとえば、i=0,2,4,6,...と2ずつ変え、j=0,2,4,6,...と2ずつ変えた組み合わせを第1次候補としてもかまわない。
既に述べたとおり、ここに示す実施形態では、基準単眼画像Eを顔面画像F上の特定の重畳位置に重ねたときの両画像の類似度は、両画像において1対1に対応する画素の画素値の類似性に基づいて求められる。たとえば、図5(b) に示す顔面画像F上の太線で囲った領域内に基準単眼画像Eを重ねたときの基準単眼画像Eと顔面画像Fとの類似度は、この太線で囲った領域内で互いに同位置にある対応画素の画素値の類似性に基づいて求められる。具体的には、図5(b) に示す例の場合、α=0〜(m−1)、β=0〜(n−1)に変化させたそれぞれの場合について、基準単眼画像E上の画素E(α,β)の画素値と顔面画像F上の画素F(i+α,j+β)の画素値との類似性を定量的に評価し、これらの評価を総合することにより、重畳位置(i,j)についての類似度を求めることができる。
ここでは、このような類似度を算出するために利用可能な具体的な演算式の一例を示しておこう。図7は、2つの関数F(k),E(k)の類似度を示す相関係数Rの一般的な定義方法の一例を示す図である。いま、図7の上段のグラフに示されているように、変数kによって定義される2つの関数F(k),E(k)が存在する場合を考える。ここで、変数kが、0≦k≦K−1という範囲内のK通りの整数値をとるものとすると、両関数F(k),E(k)のユークリッド距離dは、図7にも示されているように、k=0,1,2,...,K−1における各関数値の差の2乗和の平方根をとることにより、次のような式(1) によって定義できる。
d=√(Σk=0,K−1(F(k)−E(k))) (1)
この式(1) の両辺を2乗して展開すると、式(2) を得る。
=Σk=0,K−1F(k)+Σk=0,K−1E(k)
−2Σk=0,K−1F(k)・E(k) (2)
ここで、ユークリッド距離dの値が0に近ければ近いほど、両関数F(k),E(k)の類似性は高いことになる。したがって、上記式(2) において、2乗累積の項(右辺の第1項および第2項)が一定であると仮定すると、右辺第3項が大きければ大きいほど、両関数F(k),E(k)の類似性は高いことになる。このため、一般に、両関数F(k),E(k)の類似度を示す相関係数Rは、式(2) の右辺第3項を、第1項および第2項の大きさで正規化することにより、次のような式(3) で表現される。
R=Σk=0,K−1F(k)・E(k)/
(√(Σk=0,K−1F(k))・√(Σk=0,K−1E(k))) (3)
この式(3) は、一次元の変数kで定義される両関数F(k),E(k)の相関係数Rを示すものであるが、これを二次元画素配列をもつ2つの画像の類似度を示す係数に拡張すれば、図8にも示すように、次のような式(4) が得られる。
R(i,j)=
Σβ=0,n−1(Σα=0,m−1(F(i+α,j+β)・E(α,β))) (4)
この式(4) で示される相関係数R(i,j)は、図5に示す例のように、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像Eを、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像F上に、基準単眼画像Eの第0列第0行目の画素を、顔面画像F上の第i列第j行目(但し、i=0〜(M−m),j=0〜(N−n))の画素に重ねるような配置を行った際の類似度を示すパラメータということになる。ここで、F(i+α,j+β)は顔面画像Fの第(i+α)列第(j+β)行目の画素の画素値、E(α,β)は基準単眼画像の第α列第β行目の画素値である。
別言すれば、式(4) で定義された相関係数R(i,j)は、図5(b) に示す太線枠内において、互いに同じ位置に重なっている2つの画素の画素値の積(F(i+α,j+β)・E(α,β))の総和ということになる。そして、相関係数R(i,j)の値が大きければ大きいほど、類似度は高いことになり、顔面画像Fの太線枠内の画像は基準単眼画像Eに類似していることになる。
なお、顔面画像Fおよび基準単眼画像Eとして、カラー画像を用いた場合、各画像の画素は、色別に複数の画素値を有していることになる。このように、カラー画像に本発明を適用する場合の第1のアプローチは、すべての色の画素値を考慮した取り扱いを行うことである。
たとえば、ステップS1の基準単眼画像準備段階で、赤緑青の3原色の画素値Er,Eg,Ebをもつ画素の集合からなる基準単眼画像Eを準備し、顔面画像準備段階で、赤緑青の3原色の画素値Fr,Fg,Fbをもつ画素の集合からなる顔面画像を準備した場合を考えよう。この場合、ステップS3の類似度演算段階では、図9の上段にも示すように、
R(i,j)=1/3・
(Σβ=0,n−1(Σα=0,m−1(Fr(i+α,j+β)・Er(α,β))))
+Σβ=0,n−1(Σα=0,m−1(Fg(i+α,j+β)・Eg(α,β))))
+Σβ=0,n−1(Σα=0,m−1(Fb(i+α,j+β)・Eb(α,β))))
(5)
なる演算式に基づく演算により、類似度を示す相関係数R(i,j)を求めればよい。
ここで、Fr(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の赤色の画素値、Er(α,β)は基準単眼画像の第α列第β行目の赤色の画素値、Fg(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の緑色の画素値、Eg(α,β)は基準単眼画像の第α列第β行目の緑色の画素値、Fb(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の青色の画素値、Eb(α,β)は基準単眼画像の第α列第β行目の青色の画素値であり、3つの色ごとの類似度の平均値として、相関係数R(i,j)が得られることになる。
ただ、本願発明者が実験を行った結果、上記式(5) の代わりに、図9の下段にも示すように、
R(i,j)=Σβ=0,n−1(Σα=0,m−1
(Fr(i+α,j+β)・Er(α,β))) (6)
なる演算式に基づく演算により、類似度を示す相関係数R(i,j)を求めた場合でも、上記式(5) を用いた場合に比べて遜色のない結果を得ることができた。
この式(6) は、赤色の画素値のみについての類似度を求める式であり、Fr(i+α,j+β)は顔面画像Fの第(i+α)列第(j+β)行目の画素の赤色の画素値、Er(α,β)は基準単眼画像Eの第α列第β行目の赤色の画素値である。このように、ステップS3の類似度演算段階で、赤色の画素値のみの類似度を考慮した類似度演算を行っても大きな支障が生じない理由は、人間の肌の部分には赤色成分が多く含まれているのに対して、人間の眼の部分には赤色成分が少ないため、赤色成分のみを考慮した類似度演算を行っても、眼の部分に関する類似/非類似の判定結果が正しく得られるためであると考えられる。
このように、式(6) を用いて、赤色の画素値のみの類似度を考慮した類似度演算を行うのであれば、基準単眼画像Eとしては、赤緑青の3原色の画素値Er,Eg,Ebのうち、赤色の画素値Erのみをもつ画素の集合からなる画像を用意しておけば足りる。もちろん、デジタルカメラなどを用いたカラー撮影により得られる顔面画像Fは、赤緑青の3原色の画素値Fr,Fg,Fbをもつ画素の集合からなる画像になるが、ステップS3の類似度演算では、このうち画素値Frのみを利用した演算を行えば足りる。式(6) を用いた演算は、式(5) を用いた演算に比べて演算負担が軽減されるので、実用上は、式(6) を用いた演算を行えば十分である。
以上、図6の流れ図のステップS3において実行される類似度演算に用いる具体的な演算式の例を述べたが、もちろん、本発明を実施する上で利用可能な類似度演算の演算式は上例の式に限定されるものではない。要するに、基準単眼画像Eを顔面画像F上の特定の領域上に重ねたときに、重畳部分に関する両画像の類似性を定量的に示すことができる演算式であれば、どのような式を用いて類似度演算を行ってもかまわない。
続いて、図6のステップS4では、類似度がしきい値未満の重畳位置を候補から除外する処理が行われる。本願では、ステップS3で類似度演算が行われた個々の重畳位置を、第1次候補の重畳位置と呼んでいる。図5に示す例の場合、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた合計(M−m+1)×(N−n+1)通りの重畳位置が第1次候補となり、これらの候補のそれぞれについて、類似度を求める演算が行われる。ステップS4のしきい値未満除外段階は、この第1次候補となる重畳位置のうち、類似度がしきい値未満の候補を除外し、残りの候補を第2次候補とする処理が行われる。
図10は、ステップS3に示す類似度演算の結果を示すグラフである。このグラフの横軸は、第1次候補となる各重畳位置(i,j)を示し、縦軸は、各重畳位置について演算された類似度R(i,j)の値(たとえば、式(7) で求めた相関係数値)を示している。ここで、重畳位置(i,j)は、顔面画像Fを構成する二次元画素配列上の第i列第j行目の画素位置として、二次元的に定義されるパラメータであるが、図10のグラフでは、便宜上、第j行目の右隣に第(j+1)行目を配置するようにして、一次元の横軸上に、各重畳位置(i,j)を並べて配置して示している。たとえば、第j行目の第(M−m)列目の画素位置(第j行目の最も右に位置する重畳位置)として定義される重畳位置(M−m,j)の右隣には、その1行下の左端の画素位置、すなわち、第(j+1)行目の第0列目の画素位置として定義される重畳位置(0,j+1)が配置されている。
この図10のグラフにプロットされた個々の黒点は、各重畳位置について演算された類似度R(i,j)の値を示しており、図では、隣接する黒点間に連結線を描くことにより、折れ線グラフが示されている。なお、この折れ線グラフは、後述するステップS5の極大抽出段階の処理説明を容易にするための便宜で示したものである。図には、このような折れ線グラフの一部分の区間(第j行目〜第(j+1)行目にかかる区間)のみしか示されていないが、実際には、このグラフの左端の部分には第0行目に属する重畳位置についての黒点がプロットされ、右端の部分には第(N−n)行目に属する重畳位置についての黒点がプロットされている。そして、このグラフの横軸の全区間に配置された重畳位置が、第1次候補の重畳位置ということになる。
ステップS4のしきい値未満除外段階では、この第1次候補となる重畳位置のうち、類似度が所定のしきい値T未満の候補を除外し、残りの候補を第2次候補とする処理が行われる。図10のグラフに一点鎖線で示すラインは、このしきい値Tを示すラインであり、このラインより上方に黒点がプロットされている重畳位置のみが、第2次候補として選抜されることになる。
図11は、このステップS4に示す除外処理の結果を示すグラフである。図に第2次候補として示されている黒点は、いずれもしきい値T以上の類似度をもつ重畳位置を示している。このように、類似度がしきい値T未満の候補を除外して、第2次候補を選抜するのは、類似度がしきい値T未満となる重畳位置に実際に眼が存在する可能性は極めて小さいと考えられるからである。
続くステップS5の極大抽出段階では、この第2次候補として残った各重畳位置について、顔面画像F上での水平方向に関する類似度の変動を調べ、第2次候補の中から、類似度が極大値をとる候補を第3次候補として抽出する処理が行われる。図11に丸印を付して示した2つの黒丸は、こうして抽出された第3次候補となる重畳位置を示している。この第3次候補が極大値をとる候補であることは、図示された折れ線グラフを参照すれば直観的に理解できよう。
このような第3次候補を抽出する最も単純な方法は、水平方向に隣接して配列された第2次候補の各重畳位置について、隣接位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を第3次候補として抽出する方法である。
たとえば、図11に示す例の場合、折れ線グラフ上の黒点を左側から順に追いながら、類似度の増減を調べてゆくと、左側の山の場合、1つ目、2つ目、3つ目までは増加しているのに、4つ目から減少に転じているので、減少に転じる直前の3つ目の重畳位置が第3次候補として抽出されることになる。同様に、右側の山の場合、1つ目、2つ目、3つ目、4つ目までは増加しているのに、5つ目から減少に転じているので、減少に転じる直前の4つ目の重畳位置が第3次候補として抽出されることになる。
もちろん、類似度が極大値をとる位置を求める方法としては、図11に示すグラフを横軸方向位置について微分し、微分値が0に近い重畳位置を第3次候補として抽出するような方法を採ることも可能である。
前述したとおり、このグラフの横軸は、顔面画像Fの行方向の画素配列を示しており、折れ線グラフの上がり下がりは、顔面画像F上での水平方向に関する類似度の変動を示すことになる。したがって、ここで第3次候補として抽出された重畳位置は、水平方向に関して局所的に類似度がピークを示す位置ということになる。
このように、ステップS5の極大抽出段階において、水平方向に関する類似度の変動に関して極大値をとる候補を第3次候補として抽出するのは、水平方向に関して極大値をとる候補の重畳位置には、実際に眼が存在する可能性が高いと考えられるためである。その理由を、図12を参照しながら説明しよう。
図12は、人間の一般的な眼の領域構成を示す平面図である。図示のとおり、人間の眼は、中央の瞳領域A1と、その左右両脇に配置された白目領域A2とを有しており、更にその外側に眼外領域A3(肌の領域)が位置することになる。そして、東洋人の場合、瞳領域A1は黒っぽい領域となり、白目領域A2は白っぽい領域となり、眼外領域A3は肌色っぽい領域となる。西洋人や黒人の場合、各領域の色味は若干異なるが、やはりこの3つの領域は、互いに異なる色調をもった領域となる。
いま、図12に一点鎖線で示すような水平線を定義し、この水平線に沿った一次元方向(水平方向)に関する領域分布B1(図12の下段)を考えてみる。更に、図示のとおり、この領域分布B1を若干左方向にずらした別な領域分布B2を考え、両者の一次元方向(水平方向)に関する同じ位置の類似度を求めてみる。すると、水平方向に関して、瞳領域A1、白目領域A2、眼外領域A3は、部分的に重なりを生じており、この重なり部分に応じた類似度が得られることになる。
ここで、この領域分布B2を、図示の位置から徐々に右側へと移動させていった場合に、類似度がどのように変遷するかを考えてみよう。すると、領域分布B2の右方向への移動により、瞳領域A1、白目領域A2、眼外領域A3の重なり部分は徐々に増加してゆくため、類似度も徐々に増加してゆくことがわかる。そして、領域分布B2が領域分布B1の真下に来た時点で、類似度は極大値をとり、その後、類似度は徐々に減少してゆくことになる。
このように、人間の眼は、中央の瞳領域A1と、その左右両脇に配置された白目領域A2とを有しており、更にその外側に眼外領域A3(肌の領域)が位置するという特性を有しているため、テンプレートとなる基準単眼画像Eの重畳位置を顔面画像F上で水平方向に徐々に移動させてゆくと、テンプレートが顔面画像F上の眼の位置を通過する前後において、類似度が徐々に増加し、その後、徐々に減少する、という現象が生じることになる。このような理由から、水平方向に関して極大値をとる候補の重畳位置には、実際に眼が存在する可能性が高いと判断できる。ステップS5の極大抽出段階は、このような理由に基づいて、第3次候補を抽出するための処理である。
次のステップS6の上位候補選択段階では、第3次候補の中から、類似度の大きい所定数の重畳位置を第4次候補として選択する処理が行われる。具体的には、予め所定数を設定しておき、第3次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が設定した所定数に達するもしくは所定数を越えるまで繰り返し実行すればよい。たとえば、所定数=10に設定した場合、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が10に達するもしくは10を越えるまで続行すればよい。等しい類似度をもつ候補が複数存在した場合には、候補数が10を越える場合もあり得るが、いずれにしても、類似度が大きい上位のいくつかの候補を第4次候補として選択することができる。
図13は、ステップS5に示す極大値抽出処理の結果として得られた第3次候補の中から、ステップS6に示す上位候補選択処理によって第4次候補を選択する処理の一例を示す表である。前述したとおり、ここに示す実施形態では、各重畳位置は、「顔面画像F上の特定の画素」の列番号iおよび行番号jを用いて、(i,j)のような形式で示される。図13の表は、このような(i,j)で示される個々の重畳位置(第3次候補として抽出された重畳位置)についての類似度R(i,j)の値を示す表であり、類似度R(i,j)の大きさの降順にソートした結果を示すものである。たとえば、表の第1行目は、顔面画像Fを構成する画素配列の第132列第241行目の画素を重畳位置として基準単眼画像Eを重ねた場合、類似度R(132,241)=0.683であり、当該類似度の値が最も大きいことを示している。
たとえば、ステップS6の上位候補選択段階で、所定数=10に設定したとすると、図13に示すように、順位1〜10までの重畳位置が第4次候補として選択されることになる。この上位候補選択段階での所定数は、任意の値に設定することが可能であるが、本願発明者が様々な条件で本発明を実施した経験によれば、ほぼ10程度に設定すると、最も好ましい結果が得られた。
続いて、ステップS7では、ステップS6で選択された候補の中から、位置の近いものを1つに統合する処理が行われる。すなわち、ここで述べる実施形態の場合、各重畳位置は「顔面画像F上の特定の画素」の位置として定義されるが、顔面画像F上で互いに近接した複数の画素がステップS6で選択された場合には、これらの画素を1つに統合する処理が行われる。
一対の画素が近接しているか否かは、両画素間のユークリッド距離Dが所定のしきい値以下か否かによって判定することが可能である。すなわち、図14に示すように、顔面画像F上の第i1列第j1行目に位置する第1の画素(i1,j1)と、第i2列第j2行目に位置する第2の画素(i2,j2)との間のユークリッド距離Dは、D=√((i1−i2)+(j1−j2))なる式によって求めることができる。
そこで、図13に示す第4次候補として選択された10個の重畳位置のそれぞれについて、他の9個の重畳位置との間のユークリッド距離Dを計算し、所定のしきい値以下のユークリッド距離Dをもった一対の候補については、一方(たとえば、類似度の低い方)を除外する処理を行うようにすればよい。もちろん、3つ以上の候補が相互に近接していた場合には、いずれか1つの候補のみを残し、他の候補を除外すればよい。
このステップS7の処理を、具体例に即して説明しよう。図15は、図13の表の一部を抜き出したものである。ここで、順位第2位の候補と第4位の候補とに注目すると、第2位の候補の重畳位置は、i=243,j=239であるのに対して、第4位の候補の重畳位置は、i=242,j=238である。したがって、この2つの重畳位置について、上述の式で定義されるユークリッド距離Dを求めると、D=√2となり、画素ピッチのわずか√2の距離であることがわかる。このように、互いに近接する候補については、1つに統合する処理を行えばよい。
たとえば、類似度の低い方を除外して、類似度の高い方に統合するようにするのであれば、図13の表における第4位の候補を除外すればよい。図16は、このような統御処理を行った後の第4次候補を示す表である。第4位の候補は除外され、最終的な第4次候補は9個になる。第4位の候補は除外されたものの、第2位の候補が第4位の候補の役割を担うことになり、実質的には、第4位の候補は第2位の候補に統合されたことになる。
このように、ステップS7で行われる統合処理の意味は、顔面画像F上の同一の眼の位置を示す複数の候補があった場合には、これを1つに統合しておき、後の各ステップにおける無駄な処理を省くようにすることにある。図15に示す例の場合、第2位の候補の重畳位置(i=243,j=239)は、第4位の候補の重畳位置(i=242,j=238)の1行下の位置であり、列方向にも1画素分しかずれていない位置である。したがって、実質的に、顔面画像F上の同一の眼にマッチングした結果を示すものと考えられる。このように、実質的に同一の眼を示す位置候補は、1つだけあれば十分であり、残りは候補から除外しても問題はない。ステップS7の処理は、このような理由により、不要な候補を除外するための処理である。
もっとも、このステップS7の処理は、本発明を実施する上で必須の処理ではない。たとえば、図15に示す例において、第2位の候補と第4位の候補との双方を第4次候補として残しておいたとしても、後述するステップS8以降の処理に支障が生じることはない。すなわち、ステップS7の処理を省くと、後に、無用な処理が増えるために演算効率が低下することはあるかもしれないが、原理的には何ら支障は生じない。したがって、個々の候補間についてユークリッド距離Dを求める演算負担の方がかえって重くなるような場合には、ステップS7の処理は省略することができる。その場合は、ステップS6で選択された候補がそのまま第4次候補ということになる。
一方、ステップS7の処理を実行する場合には、ステップS6で選択された候補は、暫定的な第4次候補ということになる。ステップS7では、この暫定的な第4次候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる1つのみを第4次候補として残し、それ以外を第4次候補から除外する処理が行われる。
続く、ステップS8の最終候補決定段階では、第4次候補の中から、顔の中心線に関する単眼画像枠の対称性が所定の基準以上であり、かつ、互いに単眼画像枠が重ならない一対の候補を最終候補と決定する処理が行われる。この最終候補決定処理の基本概念を、図17を参照しながら説明しよう。
図17において、C1〜C9は、第4次候補として残った9つの重畳位置に配置された単眼画像枠を示している。もちろん、この図17を人間が観察すれば、C4およびC5が、最終候補とすべき一対の候補に対応する単眼画像枠であることが一目で把握できる。しかしながら、コンピュータ処理上は、C1〜C9に関して与えられた情報は、図16の表に示されているとおり、類似度R(i,j)とその位置(i,j)だけである。そして、類似度R(i,j)に基づく候補選択は、既に、ステップS6において実行済みである。そこで、このステップS8では、位置(i,j)の情報に基づいて、最終候補の選抜を行う。
図17に示すC1〜C9の画像枠は、いずれもその内部に、基準単眼画像Eに類似する画像が存在することを示す画像枠である。ただ、各画像枠C1〜C9の内部に存在する画像が、本当にこの人物の眼の画像であるのかどうかは定かではない。
そこで、このステップS8における最終候補決定処理では、「人間の顔がほぼ左右対称である」という対称性が利用される。すなわち、人間の顔には左右一対の眼があり、両眼の配置は、顔中心線Lについて左右対称になる、という特徴を利用することになる。図17に示す例の場合、9つの画像枠C1〜C9の中から2つの画像枠を取り出したときに、もし、当該2つの画像枠内の画像が、この人物の左眼と右眼の画像であったとしたら、当該2つの画像枠は、顔中心線Lについて左右対称の位置に配置されているはずである。もちろん、人間の左眼と右眼とが空間的に重なっていることは有り得ないから、当該2つの画像枠が、顔中心線Lについて左右対称の位置に配置されていたとしても、当該2つの画像枠の一部が重なり合っている場合には、当該2つの画像枠の組み合わせは、この人物の左眼と右眼の位置を示すものにはならない。
結局、9つの画像枠C1〜C9の中から2つの画像枠を取り出したときに、当該両画像枠について、顔の中心線に関する対称性が所定の基準以上であり、かつ、互いに重ならない場合には、当該2つの画像枠は、この人物の左眼と右眼の位置に配置された画像枠である、と推定することができる。これがステップS8における最終候補決定処理の基本原理である。
図17に示す例の場合、9つの画像枠C1〜C9の中から2つを取り出す全組み合わせについて、上記条件を満たすか否かを調べ、上記条件を満たす組み合わせがあれば、当該組み合わせに係る2つを最終候補と決定すればよい。たとえば、まず、画像枠C1に着目して、この画像枠C1に対して、上記条件を満たす別な画像枠があるかどうかを調べてみる。図示のとおり、顔中心線Lに関して、画像枠C1と対称になる位置に存在する別な画像枠はないので、画像枠C1は、最終候補としての資格は有していない。同様に、画像枠C2,C3も最終候補にはならない。ところが、一対の画像枠C4,C5の組み合わせは、上記条件を満たすことになる。したがって、図17に示す例の場合、9つの画像枠C1〜C9の中から、画像枠C4,C5が最終候補として決定されることになる。
なお、図17における一対の画像枠C6,C7は、「顔中心線Lに関して互いにほぼ対称になる」という条件は満たすものの、「互いに重ならない」という条件を満たしていないため、最終候補としての資格は有していない。また、図17における画像枠C9は、それ自身は「顔中心線Lに関してほぼ対称」となる位置に配置されているが、上記条件を満たす一対の画像枠ではないので、やはり最終候補としての資格は有していない。したがって、図17に示す例の場合、9つの画像枠C1〜C9の中から最終候補として残るのは、画像枠C4,C5の組み合わせのみということになる。
上記条件は、位置(i,j)で表現される個々の重畳位置(第4次候補)について、下記の2条件として表現することができ、ステップS8では、下記の2条件を満たす関係にある一対の重畳位置が最終候補と決定される。
(条件1)基準単眼画像Eを当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像Fを左右に二等分する縦方向に伸びる顔中心線Lに関する対称性」が所定の基準以上であること、
(条件2)基準単眼画像Eを当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
ここで、(条件1)についての具体的な判断は、図18に示すように、一方の画像枠Caの中心点Paと顔中心線Lとの距離Daと、他方の画像枠Cbの中心点Pbと顔中心線Lとの距離Dbとの差が、所定の範囲D1内の値となり、かつ、一方の画像枠Caの中心点Paから顔中心線Lへ下ろした垂線の足Laと、他方の画像枠Cbの中心点Pbから顔中心線Lへ下ろした垂線の足Lbと、の距離Dcが、所定の範囲D2内の値となる場合に、「顔中心線Lに関する対称性が所定の基準以上である」と判断するようにすればよい。
すなわち、図18において、「Da−Db」の絶対値≦D1、かつ、Dc≦D2の場合に、「顔中心線Lに関する対称性が所定の基準以上である」との判断がなされることになる。ここで、所定の範囲D1,D2は、対称性判断の基準を定めるパラメータであり、大きな値に設定すると、対称性の判断基準が下がり、(条件1)を満足する一対の重畳位置が増える傾向になり、逆に小さな値に設定すると、対称性の判断基準が上がり、(条件1)を満足する一対の重畳位置が減る傾向になる。理想的には、ステップS8で決定される最終候補は1組の重畳位置対のみになるのが好ましい。したがって、実用上は、そのような理想的な結果が得られるように、範囲D1,D2を最適な値に設定するようにする。
一方、(条件2)についての具体的な判断は、画像枠のサイズが既知(m×n画素)であるため、個々の重畳位置に基づく単純な幾何学的演算によって行うことができる。
なお、上述の実施形態の場合、顔面画像Fを左右に二等分する縦方向に伸びる線を顔中心線Lとして用いているが、このように、画像の横幅を二等分にする線は、必ずしも、人物の顔の中心線(たとえば、鼻筋の位置を通る線)に一致しているわけではない。しかしながら、デジタルカメラなどを用いて人物の顔を撮影する場合に、ほぼ中央に顔が写るような構図にすれば、実用上、支障は生じない。
すなわち、図17に示す顔中心線Lが、この人物の顔の正確な中心線でなかったとしても、所定の範囲D1にある程度の余裕をもたせておくことにより、図17における一対の画像枠C6,C7は、「顔中心線Lに関して互いに対称になる」という条件を満たすものとして取り扱われることになる。同様に、人物の顔を撮影する場合に、人物像が多少斜めに傾いて写ってしまったとしても、所定の範囲D2にある程度の余裕をもたせておくことにより、図17における一対の画像枠C6,C7は、やはり「顔中心線Lに関して互いに対称になる」という条件を満たすものとして取り扱われることになる。
こうして、ステップS8における最終候補決定段階が終了すると、最後に、ステップS9の検出結果出力段階が行われる。すなわち、ステップS8において最終候補として決定された一対の重畳位置に基準単眼画像Eを配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置が、両眼の位置の検出結果として出力される。ここに示す実施形態の場合、図5(a) に示すように、基準単眼画像Eの画像枠Efの中心点Pをその代表点と定めているので、最終候補として決定された一対の重畳位置に基準単眼画像Eを配置したときの両画像枠の中心点(たとえば、図2に示す点P1(x1,y1)および点P(x2,y2))の位置座標が両眼の位置の検出結果として出力されることになる。
なお、ステップS8の最終候補決定段階で、上記2条件を満たす関係にある一対の重畳位置が複数組存在する場合には、一対の重畳位置についての大きい方の類似度もしくは一対の重畳位置についての類似度の合計値が最大となる1組のみを最終候補と決定するようにすればよい。
あるいは、2条件を満たす関係にある一対の重畳位置が複数組存在する場合には、当該複数組の一対の重畳位置をいずれも最終候補と決定し、ステップS9の検出結果出力段階で、最終候補として決定された複数組の一対の重畳位置に基準単眼画像Eを配置したときの両画像枠内の代表点の位置を、それぞれ複数組の両眼の位置の検出結果として出力することもできる。この場合、コンピュータによる一対の重畳位置についての最終的な絞り込みは留保され、両眼位置を示す複数通りの結果が提示されることになり、正しい結果がどれであるかは、人間の判断に委ねられることになる。
<<< §3.顔面画像のトリミング・変倍処理 >>>
さて、§2では、図6の流れ図に基づいて、本発明に係る検出方法の基本的な処理手順を説明したが、ここでは、この処理手順におけるステップS2で準備される顔面画像Fを得るためのトリミング・変倍処理について述べることにする。
本発明を実施する場合、顔面画像Fは、通常、デジタルカメラなどで人物の顔を撮影することにより得られる。この場合、撮影によって得られた撮影原画像上の人物の大きさや位置は、撮影条件によって様々であるが、§2で説明した両眼位置検出プロセスの精度に大きな影響を与える要因になる。
たとえば、ステップS8で最終候補を決定する場合、図18に示すような条件判断を行うために、顔面画像Fを左右に二等分する縦方向に伸びる線を顔中心線Lとして用いた処理を行っている。ところが、この画像の横幅を二等分にする線は、必ずしも、人物の顔の中心線には一致しない。すなわち、人物の顔写真撮影時に、人物の顔が正確に中央に配置されるような構図をとらない限り、正しい顔中心線Lを用いた処理を行うことはできない。もちろん、顔中心線Lが多少不正確でも、所定の範囲D1にある程度の余裕をもたせておけば、対称性の判断に大きな支障は生じないが、検出精度を向上させる上では、顔面画像Fを左右に二等分する線(すなわち、図18の条件判断において、顔中心線Lとして利用される線)が、人物の正しい顔中心線に一致するのが好ましい。
また、ステップS1で準備された基準単眼画像Eのサイズと、ステップS2で準備された顔面画像Fのサイズとの間に、整合性がないと、ステップS3における類似度演算の結果が正しいものにならない。たとえば、図4に示す例の場合、単眼画像枠Efのサイズと、顔面画像F上の人物の眼のサイズとが、ほぼ等しいサイズとなっているため、重畳位置Q3,Q4についての類似度は比較的高いものとなり、正しい両眼位置の検出が可能になる。ところが、単眼画像枠Efのサイズが図示の1/2しかなかったり、図示の2倍であったりすると、比較対象となる眼の画像サイズに整合性がなくなり、類似性を正しく判定することはできなくなる。
このような理由から、ステップS2において顔面画像Fを準備する際には、デジタルカメラなどによる撮影で得られた撮影原画像に対してトリミング処理および変倍処理を施し、処理後の画像を顔面画像Fとして用いるようにするのが好ましい。
もちろん、本発明を実施する上で、このようなトリミング処理および変倍処理は必須のものではない。たとえば、人物画像を撮影する際に、使用するカメラ、ズーム倍率、被写体までの距離、ファインダー上での被写体の位置などの撮影条件を常に一定にするようにしておき、ステップS2では、このような特定の撮影条件の下で得られた撮影原画像をそのまま顔面画像Fとして用いるようにし、ステップS1では、そのような顔面画像F上の眼に適したサイズの基準単眼画像Eを準備しておくようにすれば、十分な精度で両眼位置の検出が可能である。ただ、実用上は、必ずしも常に同一の撮影条件で顔写真が撮影されるとは限らないので、様々な撮影条件で撮影された任意の顔写真にも対応できるようにするためには、次に述べるようなトリミング処理および変倍処理を施すようにするのが好ましい。
以下、図19および図20に示す流れ図を参照しながら、トリミング処理および変倍処理を含む顔面画像準備段階(図6のステップS2)の詳細手順を説明する。
まず、図19のステップS11において、撮影原画像を準備する。この撮影原画像は、トリミング処理および変倍処理を行う前の人物の顔画像であり、たとえば、デジタルカメラを用いて任意の撮影条件で実在の人物の顔を撮影することにより、撮影原画像を準備することができる。もちろん、銀塩写真をスキャナで取り込むような方法で、撮影原画像を準備してもかまわない。
なお、以下の処理を正確に行うことができるようにするために、実在の人物の顔写真を撮影する際には、できるだけ無地の背景を用いた環境で撮影を行うようにするのが好ましい。もちろん、一般の証明写真と同様に、正面を向き、脱帽した状態の人物を撮影するのが好ましい。
こうして撮影された撮影原画像は、図21に示すように、背景部分(図の白地部分)を示す背景画素と人物部分を示す人物画素(図のハッチング部分)とによって構成される二次元画素配列からなる。以下のプロセスでは、この背景画素と人物画素とを識別する必要がある。図21では、説明の便宜上、背景部分を白地で示し、人物部分を斜線ハッチングで示したが、実際の撮影原画像は、このような二値画像ではなく、背景部分も人物部分も様々な画素値をもった画素の集合から構成されている。ただ、撮影時に、できるだけ無地の背景を用いた環境で撮影を行えば、画素値の特性の違いから、背景画素と人物画素とを識別することが可能になる。たとえば、青地のスクリーンを背景にしてカラー撮影を行えば、青色の画素値が所定値以上の画素を背景画素、所定値未満の画素を人物画素と識別する処理が可能である。
後述するように、ここで行うプロセスでは、背景部分と人物部分との境界線(人物部分の輪郭線)が認識できればよい。そのため、図21に一点鎖線で示すように、撮影原画像を構成する二次元画素配列上に所定の走査対象行Uj(第j行目の行)を定義し、まず、この走査対象行Ujに所属する各画素を、左端から右へと向かう走査経路に沿って順に調べてゆき、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第1反転部として認識する。たとえば、図21に示す例の場合、点Z1の位置が第1反転部として認識される。
こうして、第1反転部Z1が認識できたら、今度は、この走査対象行Ujに所属する各画素を、右端から左へと向かう逆向きの走査経路に沿って順に調べてゆき、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第2反転部として認識する。たとえば、図21に示す例の場合、点Z2の位置が第2反転部として認識される。
このような行走査段階を、二次元画素配列上のすべての行について行えば、第1反転部および第2反転部として認識された各点の集合体として、人物部分の輪郭線を把握することが可能になる。もちろん、上述の行走査段階とは逆に、右端から左へと向かう走査を先に行って反転部Z2を認識した後、左端から右へと向かう走査を行って反転部Z1を認識する、という順序で走査を行ってもかまわない。
前述したように、人物の顔の撮影時に、青地のスクリーンを背景にしてカラー撮影を行ったような場合は、背景画素から人物画素に転じる反転部の認識は比較的容易である。ただ、実際には、様々な背景を用いて撮影が行われることが想定され、更に、実際の写真画像には、通常、様々なノイズ成分が含まれている。このため、実用上は、上述した行走査段階を行う前に、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させ、フィルタ処理後の画像を用いて反転部の認識を行うようにするのが好ましい。図19のステップS12に示すフィルタ処理は、このように、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させる処理である。
具体的には、エッジ抽出用の画像フィルタとしては、ラプラシアンフィルタと二値化フィルタとの組み合わせが広く利用されており、ノイズ除去用の画像フィルタとしては、メディアンフィルタや孤立点除去フィルタなどが広く利用されている。このような画像フィルタを用いた処理は既に公知の技術であるため、ここでは当該処理の詳細についての説明は省略する。
図22は、撮影原画像に対して、このような画像フィルタを適用することにより得られたフィルタ処理画像の一例を示す図である。この画像は、既に二値化フィルタを通した二値化処理が行われているため、白画素および黒画素からなる二値画像になっている。エッジ抽出用の画像フィルタを通すと、様々な構成要素の輪郭線が強調されることになるので、図示されている黒画素部分は、必ずしも人物部分の輪郭線とは限らないが、上述した行走査段階によって、人物部分の輪郭線の認識が可能である。
なお、このようなフィルタ処理画像は、撮影原画像に対して施すトリミング処理および変倍処理に用いるパラメータを抽出するために利用する画像であり、図6のステップS3で行われる類似度演算の対象になる画像ではない。類似度演算に利用される顔面画像Fは、フィルタ処理前の撮影原画像に対してトリミング処理および変倍処理を施すことにより得られる画像である。
さて、図22に示すようなフィルタ処理画像についての人物部分の輪郭線の認識は、次のような方法によって行うことができる。たとえば、図22に一点鎖線で示す走査対象行Ujに沿って、左端から右へと向かう走査経路に沿って順に調べてゆけば、白画素から黒画素に転じる部分として第1反転部Z1を認識することができ、逆に、右端から左へと向かう走査経路に沿って順に調べてゆけば、白画素から黒画素に転じる部分として第2反転部Z2を認識することができる。このように、特定の走査対象行Ujについて、第1反転部Z1と第2反転部Z2とが認識できれば、これら両反転部Z1,Z2間の距離(具体的には、画素数)を、当該走査対象行Ujにおける人物の顔幅Wjと認識することができる。
図19のステップS13〜S26の処理は、ステップS12におけるフィルタ処理後の画像について、個々の行ごとの顔幅を求める処理である。すなわち、まず、ステップS13において、行番号を示すパラメータjを初期値0に設定し、各時点で認識されている顔幅についての最大値を示す最大顔幅Wmaxを初期値0に設定する処理が行われる。続く、ステップS14では、列番号を示すパラメータiを初期値0に設定する処理が行われ、ステップS15において、第j行第i列目の画素が反転部か否かの判断がなされる。図22に示す例の場合、第j行第i列目の画素が黒画素であれば、反転部である旨の判定がなされる。反転部でなかった場合は、ステップS16へ進み、iが最大値「M−1」に達していなければ、ステップS17において、iの値を1だけ増加させた後、ステップS15の判断処理が繰り返される。これは、第j行目の画素を左端から右へと向かう走査経路に沿って順に調べてゆく処理に相当する。
もし、ステップS16において、「i=M−1である」との判断がなされると、第j行の左端から右端までの全画素にわたっての走査を完了した結果、当該行には反転部が存在しなかったことになる。この場合は、ステップS18において、jの値を1だけ増加させた後、ステップS14からの処理が繰り返される。
一方、ステップS15において、「反転部である」との判断がなされると、ステップS19へと進み、第j行の第i列目の画素を第1反転部とする処理が行われる。そして、ステップS20において、iの値を最大値「M−1」に設定し、ステップS21において、第j行第i列目の画素が反転部か否かの判断がなされる。図22に示す例の場合、やはり第j行第i列目の画素が黒画素であれば、反転部である旨の判定がなされる。反転部でなかった場合は、ステップS22へ進み、iが最小値「0」に達していなければ、ステップS23において、iの値を1だけ減少させた後、ステップS21の判断処理が繰り返される。これは、第j行目の画素を右端から左へと向かう走査経路に沿って順に調べてゆく処理に相当する。
もし、ステップS22において、「i=0である」との判断がなされると、ステップS24のエラー処理に移行する。これは、左端から右へと向かう走査経路に沿って調べた結果、第1反転部Z1が認識できたのに、逆に、右端から左へと向かう走査経路に沿って調べた場合に、第2反転部Z2が認識できないのは、何らかの論理的な誤りが生じていると考えられるためである。
ステップS21において、「反転部である」との判断がなされると、ステップS25へと進み、第j行の第i列目の画素を第2反転部とする処理が行われる。そして、ステップS26において、第1反転部〜第2反転部までの画素数を、第j行目の顔幅Wjとする処理が行われる。
図23は、上述したステップS13〜S25の手順を説明するためのフィルタ処理後の撮影原画像を示す平面図である。図では、説明の便宜上、上部6行の部分のみ、画素配列の形式で画像を示している。図にハッチングを施した画素が人物部分を構成する人物画素であり、白地の画素が背景部分を構成する背景画素である。図22に示すように、背景画素はいずれも白画素によって構成されており、人物部分の輪郭付近に位置する人物画素は黒画素によって構成されている。
図19の手順によれば、まず、j=0,i=0に設定され、ステップS15の判定処理が実行される。図23に示す例の場合、j=0,i=0で示される画素は白画素であるから、「反転部ではない」との判断がなされ、ステップS16,S17を経て、i=1,2,3,...と更新されながら、ステップS15の判断が繰り返される。図23に示すとおり、第0行目には黒画素は存在しないから、最終的に、i=M−1に到達し、ステップS16からステップS18へと進み、j=1に更新された後、ステップS14からの処理が繰り返される。
図23に示すとおり、第1行目にも黒画素は存在しないから、最終的に、j=1,i=M−1に到達し、ステップS16からステップS18へと進み、j=2に更新された後、ステップS14からの処理が繰り返される。すると、j=2,i=12になった時点で、黒画素が判断対象となるため、ステップS15において、「反転部である」との判断がなされ、続くステップS19において、第2行第12列目の画素の位置が第1反転部として認識される。
今度は、ステップS20において、i=M−1に設定され、第2行目を右端から左へ向かって調べる走査処理が行われる。すると、j=2,i=14になった時点で、黒画素が判断対象となるため、ステップS21において、「反転部である」との判断がなされ、続くステップS25において、第2行第14列目の画素の位置が第2反転部として認識される。そして、ステップS26において、第12列目〜第14列目までの画素数=3が、第2行目の顔幅W2と認定される。
さて、ステップS26において、第j行目の顔幅Wjの認定がなされると、図20のステップS27において、頭頂行は決定済みか否かが判断され、決定済みでなかった場合には、ステップS28において、第j行目が頭頂行と認定される。更に、ステップS29では、第j行目の顔幅Wjと、その時点での最大顔幅Wmaxとが比較され、Wj>Wmaxであった場合には、ステップS30において、Wjを新たな最大顔幅Wmaxとする処理が行われる。
続いて、ステップS31,32を経て(これらの処理は後述する)、ステップS33へと至り、jの値を1だけ増加させた後、ステップS14からの処理が繰り返される。
図23に示す例の場合、j=2の時点では、まだ頭頂行は決定されていないので、ステップS27からステップS28へと進み、第2行目が頭頂行と決定される。この頭頂行は、文字どおり、「人物の頭の頂点が位置する行」を示すものである。そして、この時点では、最大顔幅Wmaxは初期設定の0の状態であるから、ステップS29では、Wj>Wmaxと判断され、ステップS30において、W2=3を新たな最大顔幅Wmaxとする処理が行われる。すなわち、この時点で、最大顔幅Wmax=3になる。
以下、ステップS33において、jの値が1ずつ更新され、第3行目、第4行目、第5行目、と各行ごとの行走査段階が実行される。図23に示す例の場合、第3行目については、第9列目の画素の位置が第1反転部、第17列目の画素の位置が第2反転部、として認識されるので、ステップS26において、第9列目〜第17列目までの画素数=9が、第3行目の顔幅W3と認定される。同様に、第4行目の顔幅W4=12、第5行目の顔幅W5=16との認定がなされ、その都度、最大顔幅Wmaxが更新されてゆく。j=5についての処理が完了した時点における最大顔幅は、Wmax=16である。
このような処理を続けてゆけば、やがて最大顔幅Wmaxの値は、この人物の真の最大顔幅に一致することになる。一般的な撮影原画像の場合、各行の顔幅は、頭頂行から徐々に増加してゆき、耳の高さあたりで最大値に達し、その後、減少に転じることが多い。図20の流れ図では、ステップS29において、Wj>Wmaxであると判断された場合にのみ、ステップS30における、Wjを新たな最大顔幅Wmaxとする処理が行われるので、最大顔幅Wmaxは、常に、その時点までに認識された各行の顔幅の中の最大の値を示すことになる。したがって、行走査段階を耳の高さあたりまで繰り返してゆけば、最大顔幅Wmaxの値は、この人物の真の最大顔幅に一致するはずである。
但し、jの値を無制限に更新しつづけると、好ましからざる事態が生じるおそれがある。たとえば、図23に示す例の場合、人物部分は、人物の顔の部分のみならず、上半身の一部分までも含んでいる。したがって、ステップS33におけるjの値の更新を無制限に行い、人物の上半身の部分に相当する行についてまで行走査段階を実行すると、ステップS29,S30において、人物の上半身部分の幅の値が最大顔幅Wmaxとして取り扱われてしまうことになる。図20のステップS31,S32の処理は、このような弊害を避けるため、jの値更新を制限するためのものである。
ここで重要な事項は、「jの値更新を打ち切るタイミング」である。撮影原画像に対して、上の行から下の行に向かって順に行走査段階(各行の顔幅の認識と、最大顔幅Wmaxの値更新)を進める場合に、一番下の行まで続けてしまうと、上述したように、人物の上半身部分の幅の値が最大顔幅Wmaxになってしまう。しかし逆に、人物の真の最大顔幅に相当する行に到達する前に打ち切ってしまうと、最大顔幅Wmaxは正しい値にはならない。たとえば、図23に示す例の場合、j=5の時点で処理を打ち切ってしまうと、最大顔幅Wmax=16という結果が得られるが、これは正しい最大顔幅ではない。
結局、「jの値更新を打ち切るタイミング」は、「人物の真の最大顔幅に相当する行(通常は耳の付近)」を過ぎており、「人物の上半身部分に相当する行」には到達していない適当なタイミング、に設定する必要がある。本願発明者は、様々な撮影原画像について調査した結果、このようなタイミングとして、「頭頂行から、その時点での最大顔幅Wmaxに等しい距離だけ下がった位置」を設定すると、ほとんどの撮影原画像について良好な結果が得られることを確認した。
いま、図24に示すような撮影原画像に対して、図19,図20の流れ図に示す処理を施す場合を考える。この場合、まず、図示の位置に頭頂行が認識され、やがて最大顔幅Wmaxが次々と増加更新されてゆき、図示の最大幅行において、最大顔幅Wmaxの増加更新は一旦終了し、以後の行走査段階で得られる顔幅は、最大顔幅Wmaxよりも小さいものになる。別言すれば、図示の最大幅行以降は、最大顔幅Wmaxの値は、しばらく一定の値を維持することになる。そこで、jの値を更新する際に、当該第j番目の行が、「頭頂行から、その時点での最大顔幅Wmaxに等しい距離だけ下がった位置」に到達しているか否かを判断するようにし、もし到達していたら、jの値の更新を中止し、そこで処理を打ち切るようにするのである。図24に示す例の場合、「頭頂行から、最大顔幅Wmaxに等しい距離だけ下がった位置」に描かれた走査最終行についての行走査段階が完了した時点で、jの値の更新が中止されることになる。
要するに、頭頂行〜走査最終行の長さが、最大幅行の幅(最大顔幅Wmax)に等しくなるように、走査最終行を決定することになる。人間の顔の形状には個人差があり、丸顔の人もいれば、細長い顔の人もおり、最大幅の位置も人によって様々である。しかしながら、本願発明者が多数の人の顔写真について実験したところ、上記方法で走査最終行を決定するようにすると、当該走査最終行は、ほとんどのケースにおいて、「顔の最大幅の位置よりも下、かつ、上半身部分よりも上」という条件を満たすことが判明した。
図20のステップS31,S32の処理は、このような考え方に基づいて、「jの値更新を打ち切るタイミング」を設定するための処理である。すなわち、ステップS31では、頭頂行から第j行目までの縦方向の画素数を縦方向幅Hjとして求める処理が行われ、続くステップS32では、この縦方向幅Hjがその時点での最大顔幅Wmax以上であるか否かが判断される。Hj<Wmaxの場合には、ステップS33へと進み、jの値を更新してステップS14からの処理を繰り返し実行する処理が行われるが、Hj≧Wmaxの場合には、第j行目が走査最終行であると判断し、ステップS34へと進むことになる。
たとえば、図23に示す例の場合、j=2の行走査段階において、最大顔幅Wmax=3に設定されるが、j=2に相当する行が頭頂行になるため、ステップS31で求まる縦方向幅はHj=1になり、Hj<Wmaxであるから、ステップS32からステップS33へと進み、j=3に更新する処理が行われる。そして、j=3の行走査段階では、最大顔幅Wmax=9に設定されるので、ステップS31で求まる縦方向幅Hj=2との比較により、Hj<Wmaxとなり、ステップS32からステップS33へと進み、j=4に更新する処理が行われる。かくして、結局、図24に示す走査最終行まで、jの値の更新が実行されることになる。
さて、こうして、最大幅行において最大顔幅Wmaxが得られた後、走査最終行まで行走査段階が実行されると、ステップS11で準備された元の撮影原画像(ステップS12のフィルタ処理が施される前の画像)に対して、ステップS34のトリミング処理およびステップS35の変倍処理が実行される。
ステップS34のトリミング処理は、元の撮影原画像から、縦横Wmaxの画素からなる正方画素配列の部分を切り出す処理である。ここで、切り出すべき領域は、縦方向に関しては、図24に示す頭頂行〜走査最終行に至るまでの長さWmaxに相当する領域であり、横方向に関しては、図24に示す最大幅行において最大顔幅Wmaxをもつ区間に相当する領域である。図25(a) は、このようなトリミング処理によって切り出された画像を示している。この画像は、一辺がWmaxの寸法(画素数で示される寸法)をもった正方形の画像であり、Wmax×Wmaxの二次元画素配列から構成される。
続くステップS35の変倍処理は、切り出した画像を縦横ともにG/Wmax倍に拡大・縮小して、これを顔面画像Fとする処理である。ここで、値Gは、予め想定した基準顔面の顔幅である。図25(b) は、このような基準顔面の一例を示す図である。この基準顔面は、図6のステップS1で準備する基準単眼画像Eのサイズ(画素数)に適した顔幅(画素数)をもった仮想の顔面であり、基準顔面顔幅Gを定義するための概念的な顔面である。したがって、実際に基準顔面に相当する画像を用意する必要はない。
さて、図25(b) に示すように、基準単眼画像Eのサイズに適した顔幅をもった仮想の基準顔面の顔幅がGであったとすれば、顔面画像Fのスケーリングも、この基準顔面顔幅Gに基づいて行えばよい。そこで、ステップS35では、図25(a) に示すトリミング後の画像を、縦横ともにG/Wmax倍に拡大・縮小して、これを顔面画像Fとする処理が行われる。図26(a) は、このような変倍処理によって得られた顔面画像Fである。変倍処理によって、顔面画像Fの一辺は基準顔面顔幅Gと等しくなっており、基準単眼画像Eのサイズに適した顔幅をもつ画像になっている。もちろん、このような変倍処理を行うには、画素の間引きや補間処理が必要になるが、画像の変倍処理は公知の技術であるため、ここでは変倍処理の具体的手法の説明は省略する。
ステップS2で準備される顔面画像Fを、上述のような方法で作成すれば、基準単眼画像Eとの間にサイズ(画素数)に関する整合性が確保されることになる。しかも、最大顔幅の部分を切り出すトリミングがなされているため、この顔面画像Fの横幅を二等分にする線は、ほぼ人物の正しい顔中心線に一致する。
もちろん、実際には、こうしてトリミングされた顔面画像Fは、髪の毛の部分を含めた領域を顔面部分と認識することにより得られた画像になるので、人物の本来の顔幅(髪の毛を含まない部分の顔幅)に基づいたトリミング画像にはなっていない。したがって、たとえば、ボリュームのある髪形をした女性の顔写真などを撮影原画像として用いた場合、最終的に得られる顔面画像Fは、このボリュームある髪の毛の部分までを含めた画像になり、基準単眼画像Eのサイズとの関係において、若干縮小された画像になる。また、髪形の左右が非対称であった場合、得られた顔面画像Fの横幅を二等分にする線は、人物の正しい顔中心線から外れてしまう可能性がある。
このように、図19,図20の流れ図に示す手順に従って用意された顔面画像Fは、必ずしも理想的な顔面画像にはならないが、本発明の最終目的は、両眼位置を検出することにあるので、必ずしも理想的な顔面画像Fが用意できなくても重大な支障にはならない。ただ、より精度の高い検出を行うためには、写真撮影時に、長い髪の毛は後ろで束ねる、等の配慮を行うのが好ましい。
最後に、この§3で述べた顔面画像の変倍処理の手順をまとめると、次のような各段階から構成されることになる。
(1) 実在の人物の顔写真を無地の背景を用いて撮影し、背景部分を示す背景画素と人物部分を示す人物画素とによって構成される二次元画素配列からなる撮影原画像をコンピュータに与える画像入力段階
(2) コンピュータが、二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第1反転部として認識するとともに、上記一方の走査経路とは逆の走査経路に沿って走査対象行に所属する各画素を調べ、背景画素から人物画素に転じる反転部を第2の反転部と認識する行走査段階
(3) コンピュータが、二次元画素配列の最上行から下へ向かって1行ずつ順番に走査対象行を更新しながら、行走査段階を繰り返し実行する繰り返し走査段階
(4) コンピュータが、この繰り返し走査段階において、初めて反転部の認識がなされた行を頭頂行と認定し、頭頂行以下の各行については、第1反転部から第2反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Wmaxと定める最大顔幅決定段階
(5) コンピュータが、最大顔幅Wmaxに基づく倍率により、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像Fとする画像変倍段階
但し、上記(3) の繰り返し走査段階では、頭頂行から数えて第Wmax行目の行を走査最終行として、第1行目から走査最終行に至るまで行走査段階を繰り返し実行するようにし、上記(5) の画像変倍段階では、走査最終行の走査が完了した時点における最大顔幅Wmaxと、基準単眼画像Eのサイズに応じて予め定義された基準顔面顔幅Gと、の比によって定まる倍率G/Wmaxを用いて、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像Fとする。
そして、更にトリミング処理を行う場合には、上記(5) の画像変倍段階において、走査最終行の走査が完了した時点における最大顔幅Wmaxをもつ行についての第1反転部となる画素が位置する列から第2反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Wmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにG/Wmax倍に拡大もしくは縮小することにより得られる画像を顔面画像Fとすればよい。
<<< §4.本発明に係る検出装置の構成および動作 >>>
これまで、§1〜§3にわたって、本発明に係る人物顔面画像についての両眼位置検出方法の実施形態を説明した。この検出方法は、実際には、前述したとおり、コンピュータを用いた演算処理によって実施されることになる。そこで、ここでは、コンピュータを利用して構成した本発明に係る検出装置の構成および動作を述べることにする。
図27は、本発明の一実施形態に係る人物顔面画像についての両眼位置検出装置の構成を示すブロック図である。この装置は、人物の顔面画像について両眼の位置を検出する機能をもった装置であるが、実際にはコンピュータに専用のプログラムを組み込むことにより実現される装置であり、個々のブロック構成要素は、実際には、コンピュータのハードウエアとソフトウエアとの組み合わせによって実現されることになる。
まず、撮影原画像格納手段10は、実在の人物の顔写真を撮影することにより得られる二次元画素配列データからなる撮影原画像を格納する構成要素であり、実際には、コンピュータの記憶装置によって実現される。前述したとおり、デジタルカメラなどで撮影された実在の人物の顔写真が、3原色R,G,Bの各画素値をもった画素の集合体からなる撮影原画像として、撮影原画像格納手段10内に格納される。
フィルタ処理手段20は、撮影原画像格納手段10内に格納されている撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させる構成要素である。具体的には、既に述べたとおり、エッジ抽出用の画像フィルタとしては、ラプラシアンフィルタと二値化フィルタとの組み合わせが利用され、ノイズ除去用の画像フィルタとしては、メディアンフィルタや孤立点除去フィルタなどが利用される。
最大顔幅認識手段30は、フィルタ処理手段20による処理後のデータに基づいて、人物の顔の最大幅と推定される最大顔幅Wmaxを求める構成要素である。最大顔幅Wmaxを求めるアルゴリズムは、既に§3で述べたとおりであるが、このアルゴリズムを実施するために、最大顔幅認識手段30は、反転判定部31、行走査制御部32、繰り返し制御部33、最大顔幅決定部34を有している。
反転判定部31は、フィルタ処理手段20による処理後のデータを構成する二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定する機能有している。フィルタ処理手段20による処理後の画像が、たとえば、図22に示すような二値画像になっている場合、個々の画素が黒画素か否かを判定することにより、反転部の認識が可能になる。
行走査制御部32は、所定の行走査対象行について、反転判定部31に、第1の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第1反転部として認識するとともに、第1の走査経路とは逆の第2の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第2反転部として認識する処理を行う構成要素である。
繰り返し制御部33は、この二次元画素配列の最上行から下へ向かって1行ずつ順番に走査対象行を更新しながら、行走査制御部32に繰り返し走査を実行させる構成要素である。
最大顔幅決定部34は、上記繰り返し走査において、初めて反転部の認識がなされた行を頭頂行と認定し、この頭頂行以下の各行については、第1反転部から第2反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Wmaxと定める構成要素である。
ここで、繰り返し制御部33は、頭頂行から数えて第Wmax行目の行を走査最終行として、第1行目から走査最終行に至るまで1行ずつ順番に走査対象行を更新しながら、行走査制御部32に繰り返し走査を実行させる機能を果たす。
画像変倍手段40は、最大顔幅認識手段30によって認識された最大顔幅Wmaxの値と予め定義された基準顔面顔幅Gとの比によって定まる倍率G/Wmaxを用いて、撮影原画像格納手段内に格納されている撮影原画像を拡大もしくは縮小する変倍処理を行う機能をもった構成要素である。また、この画像変倍手段40は、走査最終行の走査が完了した時点における最大顔幅Wmaxをもつ行についての第1反転部となる画素が位置する列から第2反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Wmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出すトリミング処理機能も有しており、この切り出した画像を縦横ともにG/Wmax倍に拡大もしくは縮小する変倍処理を行うことにより得られる画像を顔面画像Fとして出力する。
基準単眼画像格納手段50は、この基準顔面顔幅Gをもった基準顔面の両眼として適した大きさを有し左右の区別がない基準単眼画像Eを格納する構成要素であり、実際には、コンピュータの記憶装置によって実現される。§2で述べたとおり、ここに示す実施形態の場合、赤色の画素値のみをもった画素からなる基準単眼画像Eが用意されている。
類似度演算手段60は、画像変倍手段40から出力されたトリミング・変倍処理済みの顔面画像Fの上の所定の重畳位置に、基準単眼画像格納手段50に格納されている基準単眼画像Eを重ねて配置した場合に、重なった部分の両画像の類似度を求める演算を、第1次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める構成要素であり、図6のステップS3の処理を実行する。
具体的には、基準単眼画像格納手段50内に格納されている基準単眼画像Eが、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)から構成され、画像変倍手段40から出力された顔面画像Fが、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)から構成されていた場合に、基準単眼画像Eの第0列第0行目の画素を、顔面画像F上の第i列第j行目の画素に重ねるような配置を行い、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた組み合わせの各位置について、それぞれ類似度を求める演算を実行し、第1次候補となる合計(M−m+1)×(N−n+1)通りの重畳位置についての類似度を求める処理が行われる。
ここに示す実施形態の場合、顔面画像Fは、R,G,Bの3原色の画素値をもったカラー画像であるが、基準単眼画像Eは、赤色の画素値のみをもった画素からなる画像である。そのため、基準単眼画像Eの第0列第0行目の画素を、顔面画像F上の第i列第j行目(但し、i=0〜(M−m),j=0〜(N−n))の画素に重ねるような配置を行った際の類似度R(i,j)は、
R(i,j)=
Σβ=0,n−1(Σα=0,m+1(F(i+α,j+β)・E(α,β)))
なる演算式によって算出される。ここで、F(i+α,j+β)は顔面画像Fの第(i+α)列第(j+β)行目の画素の赤色の画素値、E(α,β)は基準単眼画像の第α列第β行目の赤色の画素値である。
もちろん、赤色の画素値の代わりに、青色の画素値や緑色の画素値を用いて類似度R(i,j)を算出するようにしてもよいし、3原色のそれぞれを用いて算出した類似度の平均値を最終的な類似度R(i,j)とするようにしてもかまわない。
しきい値未満除外手段70は、類似度演算手段60が類似度の演算を行った第1次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第2次候補とする構成要素であり、図6のステップS4の処理を実行する。すなわち、しきい値未満除外手段70は、類似度について所定のしきい値Tを記憶しており、第1次候補となる個々の重畳位置について、類似度演算手段60が求めた類似度をしきい値Tと比較し、類似度がしきい値T以上となる候補のみを第2次候補として記録する処理を行う。
極大抽出手段80は、この第2次候補の各重畳位置について、顔面画像F上での水平方向に関する類似度の変動を調べ、第2次候補の中から、類似度が極大値をとる候補を第3次候補として抽出する構成要素であり、図6のステップS5の処理を実行する。具体的には、しきい値未満除外手段70から与えられる第2次候補の各重畳位置について、行方向に隣接する位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を類似度が極大値をとる第3次候補として抽出する処理が行われる。
上位候補選択手段90は、この第3次候補の中から、類似度の大きい所定数の重畳位置を第4次候補として選択し、これを記録する構成要素であり、図6のステップS6およびステップS7の処理を実行する。具体的には、極大抽出手段80から与えられる第3次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第4次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる1つのみを第4次候補として残し、それ以外を第4次候補から除外する処理を実行する。
最終候補決定手段100は、この第4次候補の中から、次の2条件を満たす関係にある一対の重畳位置を最終候補と決定する構成要素であり、図6のステップS8の処理を実行する。
(条件1)基準単眼画像Eを当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像Fを左右に二等分する縦方向に伸びる顔中心線Lに関する対称性」が所定の基準以上であること、
(条件2)基準単眼画像Eを当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
ここで、(条件1)についての判断は、具体的には、図18に示すように、一方の画像枠Caの中心点Paと顔中心線Lとの距離Daと、他方の画像枠Cbの中心点Pbと顔中心線Lとの距離Dbとの差が、所定の範囲D1内の値となり、かつ、一方の画像枠Caの中心点Paから顔中心線Lへ下ろした垂線の足Laと、他方の画像枠Cbの中心点Pbから顔中心線Lへ下ろした垂線の足Lbと、の距離Dcが、所定の範囲D2内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」とする。
検出結果出力手段110は、最終候補決定手段100によって最終候補として決定された一対の重畳位置に、基準単眼画像Eを配置したときの当該一対の重畳位置に配置された各基準単眼画像Eの画像枠Ef内の代表点の位置を両眼の位置の検出結果として出力する構成要素であり、図6のステップS9の処理を実行する。ここに述べる実施形態の場合、画像枠の中心点Pをその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像Eを配置したときの両画像枠Efの中心点の位置座標P1(x1,y1),P2(x2,y2)を両眼の位置の検出結果として出力する。
両眼位置の検出対象となる顔面画像Fの一例を示す平面図である。 図1に示す顔面画像Fについて検出された両眼位置P1,P2を示す平面図である(顔面画像の濃淡情報は図示省略)。 本発明においてテンプレートとして利用される基準単眼画像Eの一例を示す平面図である。 図1に示す顔面画像F上の様々な重畳位置に、図3に示す基準単眼画像Eを配置させた状態を示す平面図である。 上段(a) は、図3に示す基準単眼画像Eの具体的な画素構成を示す平面図であり、下段(b) は、図1に示す顔面画像F上の所定の重畳位置に、上段(a) に示す基準単眼画像Eを配置した場合の具体的な画素の対応関係を示す平面図である。 本発明の一実施形態に係る両眼位置検出方法の具体的な処理手順を示す流れ図である。 2つの関数F(k),E(k)の類似度を示す相関係数Rの一般的な定義方法を示す図である。 本発明に係る両眼位置検出方法で利用可能な相関関数Rの定義例を示す図である。 カラー画像に本発明を適用する場合に利用可能な相関関数Rの定義例を示す図である。 図6のステップS3に示す類似度演算の結果(第1次候補となる各重畳位置およびその類似度)を示すグラフである。 図6のステップS4に示す除外処理の結果(第2次候補となる各重畳位置およびその類似度)ならびにステップS5に示す極大値抽出処理の結果(第3次候補となる各重畳位置およびその類似度)を示すグラフである。 図6のステップS5において、極大値抽出を行う技術的意味を説明する図である。 図6のステップS5に示す極大値抽出処理の結果(第3次候補となる各重畳位置およびその類似度)ならびにステップS6に示す上位候補選択処理の結果(第4次候補となる各重畳位置および類似度)を示す表である。 図6のステップS7に示す統合処理の原理を示す図である。 図6のステップS7に示す統合処理の原理を示す表である。 図6のステップS7に示す統合処理の結果(一部を統合した第4次候補の各重畳位置およびその類似度)を示す表である。 図6のステップS8に示す最終候補決定処理の基本概念を説明する平面図である。 図17に示す最終候補決定プロセスの詳細手順を説明する平面図である。 図6のステップS2に示す顔面画像準備段階の詳細手順を説明する流れ図(前半)である。 図6のステップS2に示す顔面画像準備段階の詳細手順を説明する流れ図(後半)である。 図19のステップS11で準備される撮影原画像の画素構成を示す平面図である。 図19のステップS12に示されるフィルタ処理後の画像の一例を示す平面図である。 図19のステップS13〜S26の手順を説明するための撮影原画像を示す平面図である。 図19のステップS27〜S33の手順を説明するための撮影原画像を示す平面図である。 図19のステップS34〜S35の手順を説明するための撮影原画像(a) および基準顔面画像(b) を示す平面図である。 図19のステップS35の手順を説明するための顔面画像(a) および基準顔面画像(b) を示す平面図である。 本発明の一実施形態に係る人物顔面画像についての両眼位置検出装置の構成を示すブロック図である。
符号の説明
10:撮影原画像格納手段
20:フィルタ処理手段
30:最大顔幅認識手段
31:反転判定部
32:行走査制御部
33:繰り返し制御部
34:最大顔幅決定部
40:画像変倍手段
50:基準単眼画像格納手段
60:類似度演算手段
70:しきい値未満除外手段
80:極大抽出手段
90:上位候補選択手段
100:最終候補決定手段
110:検出結果出力手段
A1:瞳領域
A2:白目領域
A3:眼外領域
B1,B2:水平方向に関する領域分布
C1〜C9,Ca,Cb:候補となる重畳位置に配置された単眼画像枠
D:2画素間のユークリッド距離
Da,Db,Dc:距離
d:両関数E(k),F(k)のユークリッド距離
E:基準単眼画像
E(α,β):基準単眼画像を構成する画素/その画素値
Ef:単眼画像枠
E(k):第1の関数
Er,Eg,Eb:基準単眼画像の各色プレーン
F:顔面画像
F(i+α,j+β):顔面画像を構成する画素/その画素値
F(k):第2の関数
Fr,Fg,Fb:顔面画像の各色プレーン
G:基準顔面の顔幅
i:画素配列の列番号
j:画素配列の行番号
K:サンプル総数
k:サンプル番号
L:顔中心線(顔面画像Fの縦方向中心線)
La,Lb:垂線の足
M:顔面画像Fの列数
m:基準単眼画像Eの列数
N:顔面画像Fの行数
n:基準単眼画像Eの行数
P:単眼画像枠内の代表点(中心点)
P1(x1,y1),P2(x1,y1):両眼の位置を示す点
Pa,Pb:単眼画像枠の中心点
Q:位置基準点
Q1〜Q5:重畳位置
R:両関数の相関係数
R(i,j):重畳位置(i,j)に配置したときの相関係数(類似度)
S1〜S35:流れ図の各ステップ
T:しきい値
Uj:走査対象行
Wmax:最大顔幅
x1,x2:横方向の座標値
y1,y2:縦方向の座標値
Z1,Z2:反転部
α:画素配列の列番号
β:画素配列の行番号

Claims (24)

  1. 人物の顔面画像について両眼の位置を検出する方法であって、
    コンピュータ内に、両眼の基準として用いる左右の区別がない基準単眼画像を準備する基準単眼画像準備段階と、
    コンピュータ内に、検出の対象となる人物の顔面画像を準備する顔面画像準備段階と、
    コンピュータが、前記顔面画像の上の所定の重畳位置に前記基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第1次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算段階と、
    コンピュータが、前記第1次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第2次候補とするしきい値未満除外段階と、
    コンピュータが、前記第2次候補の各重畳位置について、前記顔面画像上での水平方向に関する類似度の変動を調べ、前記第2次候補の中から、類似度が極大値をとる候補を第3次候補として抽出する極大抽出段階と、
    コンピュータが、前記第3次候補の中から、類似度の大きい所定数の重畳位置を第4次候補として選択する上位候補選択段階と、
    コンピュータが、前記第4次候補の中から、次の2条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定段階と、
    (条件1)前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「前記顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
    (条件2)前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
    コンピュータが、前記最終候補として決定された一対の重畳位置に前記基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力段階と、
    を有することを特徴とする人物顔面画像についての両眼位置検出方法。
  2. 請求項1に記載の検出方法において、
    基準単眼画像準備段階で、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像を準備し、
    顔面画像準備段階で、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像を準備し、
    類似度演算段階で、前記基準単眼画像の第0列第0行目の画素を、前記顔面画像上の第i列第j行目の画素に重ねるような配置を行い、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第1次候補となる合計(M−m+1)×(N−n+1)通りの重畳位置についての類似度を求めることを特徴とする人物顔面画像についての両眼位置検出方法。
  3. 請求項1または2に記載の検出方法において、
    基準単眼画像準備段階で、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像を準備し、
    顔面画像準備段階で、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像を準備し、
    類似度演算段階で、前記基準単眼画像の第0列第0行目の画素を、前記顔面画像上の第i列第j行目(但し、i=0〜(M−m),j=0〜(N−n))の画素に重ねるような配置を行った際の類似度R(i,j)を、
    R(i,j)=
    Σβ=0,n−1(Σα=0,m−1(F(i+α,j+β)・E(α,β)))
    (但し、F(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の所定色の画素値、E(α,β)は基準単眼画像の第α列第β行目の当該所定色の画素値)
    なる演算式を用いて求めることを特徴とする人物顔面画像についての両眼位置検出方法。
  4. 請求項3に記載の検出方法において、
    基準単眼画像準備段階で、赤緑青の3原色の画素値Er,Eg,Ebをもつ画素の集合からなる基準単眼画像を準備し、
    顔面画像準備段階で、赤緑青の3原色の画素値Fr,Fg,Fbをもつ画素の集合からなる顔面画像を準備し、
    類似度演算段階で、
    R(i,j)=1/3・
    (Σβ=0,n−1(Σα=0,m−1(Fr(i+α,j+β)・Er(α,β)))
    +Σβ=0,n−1(Σα=0,m−1(Fg(i+α,j+β)・Eg(α,β)))
    +Σβ=0,n−1(Σα=0,m−1(Fb(i+α,j+β)・Eb(α,β))))
    (但し、Fr(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の赤色の画素値、Er(α,β)は基準単眼画像の第α列第β行目の赤色の画素値、Fg(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の緑色の画素値、Eg(α,β)は基準単眼画像の第α列第β行目の緑色の画素値、Fb(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の青色の画素値、Eb(α,β)は基準単眼画像の第α列第β行目の青色の画素値)
    なる演算式を用いて類似度R(i,j)を求めることを特徴とする人物顔面画像についての両眼位置検出方法。
  5. 請求項3に記載の検出方法において、
    基準単眼画像準備段階で、赤色の画素値Erをもつ画素の集合からなる基準単眼画像を準備し、
    顔面画像準備段階で、赤緑青の3原色の画素値Fr,Fg,Fbをもつ画素の集合からなる顔面画像を準備し、
    類似度演算段階で、赤色の画素値のみの類似度を考慮して、
    R(i,j)=
    Σβ=0,n−1(Σα=0,m−1(Fr(i+α,j+β)・Er(α,β)))
    (但し、Fr(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の赤色の画素値、Er(α,β)は基準単眼画像の第α列第β行目の赤色の画素値)
    なる演算式を用いて類似度R(i,j)を求めることを特徴とする人物顔面画像についての両眼位置検出方法。
  6. 請求項1〜5のいずれかに記載の検出方法において、
    極大抽出段階で、水平方向に隣接して配列された第2次候補の各重畳位置について、隣接位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を類似度が極大値をとる第3次候補として抽出することを特徴とする人物顔面画像についての両眼位置検出方法。
  7. 請求項1〜6のいずれかに記載の検出方法において、
    上位候補選択段階で、第3次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第4次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる1つのみを第4次候補として残し、それ以外を第4次候補から除外することを特徴とする人物顔面画像についての両眼位置検出方法。
  8. 請求項1〜7のいずれかに記載の検出方法において、
    最終候補決定段階で、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、前記一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、前記他方の画像枠の中心点から顔中心線へ下ろした垂線の足との距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断することを特徴とする人物顔面画像についての両眼位置検出方法。
  9. 請求項1〜8のいずれかに記載の検出方法において、
    最終候補決定段階で、2条件を満たす関係にある一対の重畳位置が複数組存在する場合には、一対の重畳位置についての大きい方の類似度もしくは一対の重畳位置についての類似度の合計値が最大となる1組のみを最終候補と決定することを特徴とする人物顔面画像についての両眼位置検出方法。
  10. 請求項1〜8のいずれかに記載の検出方法において、
    最終候補決定段階で、2条件を満たす関係にある一対の重畳位置が複数組存在する場合には、当該複数組の一対の重畳位置をいずれも最終候補と決定し、
    検出結果出力段階で、前記最終候補として決定された複数組の一対の重畳位置に前記基準単眼画像を配置したときの両画像枠内の代表点の位置を、それぞれ複数組の両眼の位置の検出結果として出力することを特徴とする人物顔面画像についての両眼位置検出方法。
  11. 請求項1〜10のいずれかに記載の検出方法において、
    検出結果出力段階で、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力することを特徴とする人物顔面画像についての両眼位置検出方法。
  12. 請求項1〜11のいずれかに記載の検出方法において、
    基準単眼画像準備段階で、実在の人物の顔写真の眼の部分から切り出した画像に対して修正を加えることにより、基準単眼画像を準備することを特徴とする人物顔面画像についての両眼位置検出方法。
  13. 請求項1〜12のいずれかに記載の検出方法において、
    顔面画像準備段階が、
    実在の人物の顔写真を所定の背景を用いて撮影し、前記背景部分を示す背景画素と前記人物部分を示す人物画素とによって構成される二次元画素配列からなる撮影原画像をコンピュータに与える画像入力段階と、
    コンピュータが、前記二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第1反転部として認識するとともに、前記一方の走査経路とは逆の走査経路に沿って前記走査対象行に所属する各画素を調べ、背景画素から人物画素に転じる反転部を第2の反転部と認識する行走査段階と、
    コンピュータが、前記二次元画素配列の最上行から下へ向かって1行ずつ順番に走査対象行を更新しながら、前記行走査段階を繰り返し実行する繰り返し走査段階と、
    コンピュータが、前記繰り返し走査段階において、初めて反転部の認識がなされた行を頭頂行と認定し、前記頭頂行以下の各行については、第1反転部から第2反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Wmaxと定める最大顔幅決定段階と、
    コンピュータが、前記最大顔幅Wmaxに基づく倍率により、前記撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とする画像変倍段階と、
    を有し、
    前記繰り返し走査段階では、前記頭頂行から数えて第Wmax行目の行を走査最終行として、第1行目から前記走査最終行に至るまで前記行走査段階を繰り返し実行し、
    画像変倍段階では、前記走査最終行の走査が完了した時点における最大顔幅Wmaxと、基準単眼画像のサイズに応じて予め定義された基準顔面顔幅Gと、の比によって定まる倍率G/Wmaxを用いて、前記撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とすることを特徴とする人物顔面画像についての両眼位置検出方法。
  14. 請求項13に記載の検出方法において、
    画像変倍段階では、前記走査最終行の走査が完了した時点における最大顔幅Wmaxをもつ行についての第1反転部となる画素が位置する列から第2反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、前記頭頂行から前記走査最終行に至るまでの合計Wmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにG/Wmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とすることを特徴とする人物顔面画像についての両眼位置検出方法。
  15. 請求項13または14に記載の検出方法において、
    行走査段階を行う前に、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させ、フィルタ処理後の画像を用いて反転部の認識を行うことを特徴とする人物顔面画像についての両眼位置検出方法。
  16. 人物の顔面画像について両眼の位置を検出する装置であって、
    実在の人物の顔写真を撮影することにより得られる二次元画素配列データからなる撮影原画像を格納する撮影原画像格納手段と、
    前記撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させるフィルタ処理手段と、
    前記フィルタ処理手段による処理後のデータに基づいて、前記人物の顔の最大幅と推定される最大顔幅Wmaxを求める最大顔幅認識手段と、
    前記最大顔幅Wmaxの値と予め定義された基準顔面顔幅Gとの比によって定まる倍率G/Wmaxを用いて、前記撮影原画像を拡大もしくは縮小し、顔面画像を得る画像変倍手段と、
    前記基準顔面顔幅Gをもった基準顔面の両眼として適した大きさを有し左右の区別がない基準単眼画像を格納した基準単眼画像格納手段と、
    前記顔面画像の上の所定の重畳位置に前記基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第1次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算手段と、
    前記第1次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第2次候補とするしきい値未満除外手段と、
    前記第2次候補の各重畳位置について、前記顔面画像上での水平方向に関する類似度の変動を調べ、前記第2次候補の中から、類似度が極大値をとる候補を第3次候補として抽出する極大抽出手段と、
    前記第3次候補の中から、類似度の大きい所定数の重畳位置を第4次候補として選択する上位候補選択手段と、
    前記第4次候補の中から、次の2条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定手段と、
    (条件1)前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「前記顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
    (条件2)前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
    前記最終候補として決定された一対の重畳位置に前記基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力手段と、
    を備えることを特徴とする人物顔面画像についての両眼位置検出装置。
  17. 請求項16に記載の検出装置において、
    最大顔幅認識手段が、
    フィルタ処理手段による処理後のデータを構成する二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定する反転判定部と、
    所定の行走査対象行について、前記反転判定部に、第1の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第1反転部として認識するとともに、第1の走査経路とは逆の第2の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第2反転部として認識する行走査制御部と、
    前記二次元画素配列の最上行から下へ向かって1行ずつ順番に走査対象行を更新しながら、前記行走査制御部に繰り返し走査を実行させる繰り返し制御部と、
    前記繰り返し走査において、初めて反転部の認識がなされた行を頭頂行と認定し、前記頭頂行以下の各行については、第1反転部から第2反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Wmaxと定める最大顔幅決定部と、
    を有し、
    前記繰り返し制御部は、前記頭頂行から数えて第Wmax行目の行を走査最終行として、第1行目から前記走査最終行に至るまで1行ずつ順番に走査対象行を更新しながら、前記行走査制御部に繰り返し走査を実行させることを特徴とする人物顔面画像についての両眼位置検出装置。
  18. 請求項17に記載の検出装置において、
    画像変倍手段は、走査最終行の走査が完了した時点における最大顔幅Wmaxをもつ行についての第1反転部となる画素が位置する列から第2反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、前記頭頂行から前記走査最終行に至るまでの合計Wmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにG/Wmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とすることを特徴とする人物顔面画像についての両眼位置検出装置。
  19. 請求項16〜18のいずれかに記載の検出装置において、
    基準単眼画像格納手段が、m列n行の二次元画素配列(第0列〜第(m−1)列、第0行〜第(n−1)行の行列)をもった基準単眼画像を格納し、
    画像変倍手段が、M列N行の二次元画素配列(但し、M>m、N>nであり、第0列〜第(M−1)列、第0行〜第(N−1)行の行列)をもった顔面画像を求め、
    類似度演算手段が、前記基準単眼画像の第0列第0行目の画素を、前記顔面画像上の第i列第j行目の画素に重ねるような配置を行い、iを0〜(M−m)まで1ずつ変え、jを0〜(N−n)まで1ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第1次候補となる合計(M−m+1)×(N−n+1)通りの重畳位置についての類似度を求めることを特徴とする人物顔面画像についての両眼位置検出装置。
  20. 請求項19に記載の検出装置において、
    類似度演算手段が、基準単眼画像の第0列第0行目の画素を、顔面画像上の第i列第j行目(但し、i=0〜(M−m),j=0〜(N−n))の画素に重ねるような配置を行った際の類似度R(i,j)を、
    R(i,j)=
    Σβ=0,n−1(Σα=0,m+1(F(i+α,j+β)・E(α,β)))
    (但し、F(i+α,j+β)は顔面画像の第(i+α)列第(j+β)行目の画素の所定色の画素値、E(α,β)は基準単眼画像の第α列第β行目の当該所定色の画素値)
    なる演算式を用いて求めることを特徴とする人物顔面画像についての両眼位置検出装置。
  21. 請求項16〜20のいずれかに記載の検出装置において、
    上位候補選択手段が、第3次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第4次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる1つのみを第4次候補として残し、それ以外を第4次候補から除外することを特徴とする人物顔面画像についての両眼位置検出装置。
  22. 請求項16〜21のいずれかに記載の検出装置において、
    最終候補決定手段が、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、前記一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、前記他方の画像枠の中心点から顔中心線へ下ろした垂線の足と、の距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断することを特徴とする人物顔面画像についての両眼位置検出装置。
  23. 請求項16〜22のいずれかに記載の検出装置において、
    検出結果出力手段が、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力することを特徴とする人物顔面画像についての両眼位置検出装置。
  24. 請求項16〜23のいずれかに記載の検出装置としてコンピュータを機能させるためのプログラム。
JP2007253367A 2007-09-28 2007-09-28 人物顔面画像についての両眼位置検出方法および検出装置 Expired - Fee Related JP4803148B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007253367A JP4803148B2 (ja) 2007-09-28 2007-09-28 人物顔面画像についての両眼位置検出方法および検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007253367A JP4803148B2 (ja) 2007-09-28 2007-09-28 人物顔面画像についての両眼位置検出方法および検出装置

Publications (2)

Publication Number Publication Date
JP2009086834A JP2009086834A (ja) 2009-04-23
JP4803148B2 true JP4803148B2 (ja) 2011-10-26

Family

ID=40660211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007253367A Expired - Fee Related JP4803148B2 (ja) 2007-09-28 2007-09-28 人物顔面画像についての両眼位置検出方法および検出装置

Country Status (1)

Country Link
JP (1) JP4803148B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104846B (zh) * 2019-10-16 2022-08-30 平安科技(深圳)有限公司 数据检测方法、装置、计算机设备和存储介质
WO2023220870A1 (zh) * 2022-05-16 2023-11-23 威盛电子股份有限公司 摄影装置的调整提示系统

Also Published As

Publication number Publication date
JP2009086834A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
CN106909875B (zh) 人脸脸型分类方法和系统
JP5432714B2 (ja) 構図解析方法、構図解析機能を備えた画像装置、構図解析プログラム及びコンピュータ読み取り可能な記録媒体
KR100617390B1 (ko) 얼굴 식별 장치, 얼굴 식별 방법 및 기록매체
EP1810245B1 (en) Detecting irises and pupils in human images
EP2151801B1 (en) Image processing device, method, and storage medium
JP5538909B2 (ja) 検出装置およびその方法
US20030123713A1 (en) Face recognition system and method
CN107852533A (zh) 三维内容生成装置及其三维内容生成方法
JP4597391B2 (ja) 顔領域検出装置およびその方法並びにコンピュータ読み取り可能な記録媒体
EP1970859B1 (en) Detecting method and detecting system for positions of face parts
JP2014048766A (ja) 画像生成装置、画像生成方法及びプログラム
JP2004005384A (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体、自動トリミング装置、並びに肖像写真撮影装置
JP2008220617A (ja) 画像解析システム、及び画像解析プログラム
JP4803148B2 (ja) 人物顔面画像についての両眼位置検出方法および検出装置
CN112861588B (zh) 一种活体检测的方法、装置
CN106446859B (zh) 利用手机前置摄像头自动识别人眼中黑点和血丝的方法
JP6068896B2 (ja) 画像処理装置およびプログラム
JP6197063B2 (ja) 画像処理装置、重要人物判定方法、画像レイアウト方法ならびにプログラムおよび記録媒体
JP5419777B2 (ja) 顔画像合成装置
JP2014102713A (ja) 顔構成部抽出装置、顔構成部抽出方法及びプログラム
KR101513931B1 (ko) 구도의 자동보정 방법 및 이러한 구도의 자동보정 기능이 탑재된 영상 장치
JP2005332382A (ja) 画像処理方法および装置並びにプログラム
JP2008084109A (ja) 目開閉判定装置及び目開閉判定方法
WO2005055144A1 (ja) 人物顔のあご検出方法及びあご検出システム並びにあご検出プログラム
JP4493448B2 (ja) 対象物識別装置および方法並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees