JP2007193404A - 顔検出方法および装置並びにプログラム - Google Patents

顔検出方法および装置並びにプログラム Download PDF

Info

Publication number
JP2007193404A
JP2007193404A JP2006008417A JP2006008417A JP2007193404A JP 2007193404 A JP2007193404 A JP 2007193404A JP 2006008417 A JP2006008417 A JP 2006008417A JP 2006008417 A JP2006008417 A JP 2006008417A JP 2007193404 A JP2007193404 A JP 2007193404A
Authority
JP
Japan
Prior art keywords
face
image
detected
inclination
index value
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.)
Granted
Application number
JP2006008417A
Other languages
English (en)
Other versions
JP4657930B2 (ja
Inventor
Kensuke Terakawa
賢祐 寺川
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.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2006008417A priority Critical patent/JP4657930B2/ja
Priority to US11/580,018 priority patent/US7889892B2/en
Publication of JP2007193404A publication Critical patent/JP2007193404A/ja
Application granted granted Critical
Publication of JP4657930B2 publication Critical patent/JP4657930B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】画像上で検出すべき顔の位置および傾きを変えながら顔を検出する顔検出処理の高速化を図る。
【解決手段】検出すべき顔の位置および傾き毎に、当該位置における部分画像が当該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、この指標値が第1の閾値以上である部分画像を顔画像として抽出する顔検出処理とした上で、算出された指標値が第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の傾きを当該指標値が算出されたときの傾きに限定して行う。検出すべき顔の大きさを変える場合には、検出すべき顔の大きさを限定するようにしてもよい。
【選択図】図15

Description

本発明は、デジタル画像の中から顔画像を検出する顔検出方法および装置並びにそのためのプログラムに関するものである。
従来、デジタルカメラによって撮影されたスナップ写真における人物の顔領域の色分布を調べてその肌色を補正したり、監視システムのデジタルビデオカメラで撮影されたデジタル映像中の人物を認識したりすることが行われている。このような場合、デジタル画像中の人物の顔に対応する顔領域を検出する必要があるため、これまでに、デジタル画像中の顔を含む顔画像を検出する方法が種々提案されている。
例えば、検出対象画像上の複数の異なる位置で部分画像を切り出し、その部分画像が顔を含む画像(顔画像)であるか否かを判別して、検出対象画像上の顔画像を検出する方法が挙げられる。特に、顔の傾きが特定できない顔画像を検出しようとする場合には、検出対象画像上で検出すべき顔の位置および傾きを変えながら、検出すべき顔の位置および傾き毎に、その位置における部分画像がその傾きの顔を含む顔画像であるか否かを逐次判別することを要する。
部分画像が顔画像であるか否かを判別するには、例えば、テンプレートマッチングによる手法や、マシンラーニングの学習手法により顔の特徴を学習させた判別器モジュールを用いる手法等を用いることが考えられるが(例えば、非特許文献1、特許文献1〜3等による手法)、いずれの手法においても、この判別には、部分画像の画像パターンに基づいてその部分画像が顔画像である蓋然性を示す指標値を算出し、その指標値が所定の閾値以上である場合に、その部分画像を顔画像と判別する手法を用いるのが一般的である。
「高速全方向顔検出」,Shihong LAO他,画像の認識・理解シンポジウム(MIRU2004),2004年7月,P.II-271−II-276 特願2003−316924号 特願2003−316925号 特願2003−316926号
しかしながら、前記のような、検出すべき顔の位置および傾きを変えながら、検出すべき顔の位置および傾き毎に、その位置における部分画像がその傾きの顔を含む顔画像であるか否かを逐次判別する顔検出方法によれば、検出すべき顔の位置と傾きの組合せの数だけ前記判別を行う必要があり、この判別に要する処理量が膨大となって、顔検出処理の高速化を妨げる一要因となっている。
本発明は、前記事情に鑑み、検出対象画像上で検出すべき顔の位置および傾きを変えながら顔を検出する顔検出処理において、当該処理の高速化を実現し得る顔検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。
本発明の第1の顔検出方法は、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出することにより、前記入力画像に含まれる顔画像を検出する顔検出方法において、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きに限定して行うことを特徴とするものである。
本発明の第1の顔検出方法において、検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、前記指標値の算出を該グループ毎に行うようにしてもよい。
本発明の第2の顔検出方法は、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出することにより、前記入力画像に含まれる顔画像を検出する顔検出方法において、検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、前記指標値の算出を該グループ毎に行い、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うことを特徴とするものである。
本発明の第1および第2の顔検出方法において、前記検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定された前記傾きとは異なる傾きの顔を含む顔画像を非顔画像として削除するようにしてもよい。
また、本発明の第1および第2の顔検出方法において、前記複数のグループは、例えば、前記入力画像の天地方向を基準としたときの、0度、90度、180度および270度の傾きをそれぞれ別々に含む4つのグループからなるものとすることができる。
この場合、前記検出すべき顔の傾きを限定する前において、前記検出すべき顔の傾きを、前記180度の傾きを含むグループを最後とする所定の順序で変えることが望ましい。
本発明の第3の顔検出方法は、入力画像上で検出すべき顔の位置および大きさを変えながら、前記検出すべき顔の位置および大きさ毎に、該位置における部分画像が該大きさの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出することにより、前記入力画像に含まれる顔画像を検出する顔検出方法において、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の大きさを該指標値が算出されたときの大きさに限定して行うことを特徴とするものである。
本発明の第1の顔検出装置は、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段とを備え、前記入力画像に含まれる顔画像を検出する顔検出装置において、前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きに限定して行うものであることを特徴とするものである。
本発明の第1の顔検出装置において、前記指標値算出手段は、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行うものであってもよい。
本発明の第2の顔検出装置は、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段とを備え、前記入力画像に含まれる顔画像を検出する顔検出装置において、前記指標値算出手段が、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行い、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うものであることを特徴とするものである。
本発明の第1および第2の顔検出装置において、前記検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定された前記傾きとは異なる傾きの顔を含む顔画像を非顔画像として削除する顔画像削除手段をさらに備えるようにしてもよい。
また、本発明の第1および第2の顔検出装置において、前記複数のグループは、例えば、前記入力画像の天地方向を基準としたときの、0度、90度、180度および270度の傾きをそれぞれ別々に含む4つのグループからなるものとすることができる。
この場合、前記指標値算出手段は、前記検出すべき顔の傾きを限定する前において、前記検出すべき顔の傾きを、前記180度の傾きを含むグループを最後とする所定の順序で変えるものであることが望ましい。
本発明の第3の顔検出装置は、入力画像上で検出すべき顔の位置および大きさを変えながら、前記検出すべき顔の位置および大きさ毎に、該位置における部分画像が該大きさの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段とを備え、前記入力画像に含まれる顔画像を検出する顔検出装置において、前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の大きさを該指標値が算出されたときの大きさに限定して行うものであることを特徴とするものである。
本発明の第1のプログラムは、コンピュータを、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段として機能させることにより、該コンピュータを、前記入力画像に含まれる顔画像を検出する顔検出装置として機能させるためのプログラムにおいて、前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きに限定して行うものであることを特徴とするものである。
本発明の第1のプログラムにおいて、前記指標値算出手段は、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行うものであってもよい。
本発明の第2のプログラムは、コンピュータを、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段として機能させることにより、該コンピュータを、前記入力画像に含まれる顔画像を検出する顔検出装置として機能させるためのプログラムにおいて、前記指標値算出手段が、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行い、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うものであることを特徴とするものである。
本発明の第1および第2のプログラムにおいて、前記コンピュータを、さらに、前記検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定された前記傾きとは異なる傾きの顔を含む顔画像を非顔画像として削除する顔画像削除手段として機能させるようにしてもよい。
本発明の第1および第2のプログラムにおいて、前記複数のグループは、例えば、前記入力画像の天地方向を基準としたときの、0度、90度、180度および270度の傾きをそれぞれ別々に含む4つのグループからなるものとすることができる。
この場合、前記指標値算出手段は、前記検出すべき顔の傾きを限定する前において、前記検出すべき顔の傾きを、前記180度の傾きを含むグループを最後とする所定の順序で変えるものであることが望ましい。
本発明の第3のプログラムは、コンピュータを、入力画像上で検出すべき顔の位置および大きさを変えながら、前記検出すべき顔の位置および大きさ毎に、該位置における部分画像が該大きさの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段として機能させることにより、該コンピュータを、前記入力画像に含まれる顔画像を検出する顔検出装置として機能させるためのプログラムにおいて、前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の大きさを該指標値が算出されたときの大きさに限定して行うものであることを特徴とするものである。
本発明において、「顔画像」とは、顔を構成する画像を含む画像のことを言う。
また、「顔の傾き」とは、インプレーン(画像面内)方向での傾きを意味し、別の言い方をすれば、顔の画像上での回転位置を意味するものである。
本発明の第1の顔検出方法および装置並びにプログラムによれば、入力画像上で検出すべき顔の位置および傾きを変えながら、検出すべき顔の位置および傾き毎に、当該位置における部分画像が当該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、その指標値が第1の閾値以上である部分画像を顔画像として抽出することにより、入力画像に含まれる顔画像を検出する顔検出処理において、算出された指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の傾きを当該指標値が算出されたときの傾きに限定して行うようにしているので、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出された場合には、同一画像上に含まれる顔の傾きは略同じ傾きに揃うことが多いという経験則に基づいて、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、前記信頼性の高い顔画像の顔の傾きとは異なる顔の傾きに対する検出処理を省略することができ、顔検出処理の高速化を実現することが可能となる。
本発明の第2の顔検出方法および装置並びにプログラムによれば、入力画像上で検出すべき顔の位置および傾きを変えながら、検出すべき顔の位置および傾き毎に、当該位置における部分画像が当該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、その指標値が第1の閾値以上である部分画像を顔画像として抽出することにより、入力画像に含まれる顔画像を検出する顔検出処理において、検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、指標値の算出を当該グループ毎に行い、算出された指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の傾きを当該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うようにしているので、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出された場合には、同一画像上に含まれる顔の傾きは略同じ傾きに揃うことが多いという経験則に基づいて、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、前記信頼性の高い顔画像の顔の傾きが属するグループとは異なるグループの顔の傾きに対する検出処理を省略することができ、顔検出処理の高速化を実現することが可能となる。
この場合、前記信頼性の高い顔画像が検出された後に限定する、検出すべき顔の傾きを、前記信頼性の高い顔画像の顔の傾きだけとせず、当該顔の傾きに近接する傾きにまで幅を広げて限定するようにしているので、入力画像上に被写体の姿勢等の違いによって顔の傾きが少しずれた複数の顔が存在する場合であっても、このような顔を検出できる確率が高くなる。
なお、本発明の第1および第2の、顔検出方法および装置並びにプログラムにおいて、検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定した傾きとは異なる傾きの顔画像を非顔画像として削除するようにすれば、既に顔画像として検出された画像のうち、真の顔画像である可能性が低い画像を排除することができ、誤検出を抑制することができる。
本発明の第3の顔検出方法および装置並びにプログラムによれば、入力画像上で検出すべき顔の位置および大きさを変えながら、検出すべき顔の位置および大きさ毎に、当該位置における部分画像が当該大きさの顔を含む顔画像である蓋然性を示す指標値を算出し、その指標値が第1の閾値以上である部分画像を顔画像として抽出することにより、入力画像に含まれる顔画像を検出する顔検出処理において、算出された指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の大きさを当該指標値が算出されたときの大きさに限定して行うようにしているので、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出された場合には、同一画像上に含まれる顔の大きさは略同じ大きさに揃うことが多いという経験則に基づいて、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、前記信頼性の高い顔画像の顔の大きさとは異なる顔の大きさに対する検出処理を省略することができ、顔検出処理の高速化を実現することが可能となる。
以下、本発明の実施形態について図を参照しながら説明する。
図1は本発明の第1の実施形態である顔検出システム1の構成を示す概略ブロック図である。この顔検出システム1は、入力されたデジタル画像上の顔を含む画像(以下、顔画像という)を、顔の位置、大きさ、傾き(画像面内での回転位置)、向き(左右首振り方向での向き)によらず検出するものである。
本顔検出システム1は、特に検出精度、ロバスト性が優れているとされる顔検出の手法として、サンプル画像を用いたマシンラーニングの学習により生成された判別器モジュール(以下、単に判別器という)を用いる手法を採用したものである。この手法は、所定の傾きおよび向きの顔を表す複数の異なる顔サンプル画像と、非顔を表す複数の異なる非顔サンプル画像とを用いて、顔の特徴を学習させ、ある画像が、所定の傾きおよび向きの顔を含む顔画像であるか否かを判別できる判別器を生成して用意しておき、顔の検出対象となる画像(以下、検出対象画像という)上の異なる位置において部分画像を順次切り出し、その部分画像が顔画像である蓋然性を示す指標値を前記の判別器を用いて算出し、その指標値の大小に基づいてその部分画像が顔画像であるか否かを判別することにより、検出対象画像に含まれる顔画像を検出する手法である。
顔検出システム1は、図1に示すように、多重解像度化部10と、正規化部20と、顔検出部30と、重複検出判定部40とを備えている。
多重解像度化部10は、入力された検出対象画像S0を多重解像度化して解像度の異なる複数の画像(以下、解像度画像という)からなる解像度画像群S1を得るものである。
検出対象画像S0の画像サイズ、すなわち、解像度を変換することにより、その解像度を所定の解像度、例えば、短辺が416画素の矩形サイズの画像に規格化し、規格化済みの検出対象画像S0′を得る。そして、この規格化済みの検出対象画像S0′を基本としてさらに解像度変換を行うことにより、解像度の異なる複数の解像度画像S1_1〜S1_M(Mは解像度の段階数)を生成し、解像度画像群S1を得る。このような解像度画像群を生成する理由は、通常、検出対象画像S0に含まれる顔の大きさは不明であるが、一方、検出しようとする顔の大きさは、後述の判別器の生成方法と関連して一定の大きさに固定されるため、大きさの異なる顔を検出するためには、解像度の異なる画像上で位置をずらしながら所定サイズの部分画像をそれぞれ切り出し、その部分画像が顔画像であるか否かを判別してゆく必要があるためである。
図2は、検出対象画像S0の多重解像度化の工程を示した図である。多重解像度化、すなわち、解像度画像群の生成は、具体的には、図2に示すように、規格化済みの検出対象画像S0′を基本となる解像度画像S1_1とし、解像度画像S1_1に対して2の−1/3乗倍サイズの解像度画像S1_2と、解像度画像S1_2に対して2の−1/3乗倍サイズ(基本画像S1_1に対しては2の−2/3乗倍サイズ)の解像度画像S1_3とを先に生成し、その後、解像度画像S1_1,S1_2,S1_3のそれぞれを1/2倍サイズに縮小した解像度画像を生成し、それら縮小した解像度画像をさらに1/2倍サイズに縮小した解像度画像を生成する、といった処理を繰り返し行い、複数の解像度画像を所定の数だけ生成するようにする。このようにすることで、輝度を表す画素値の補間処理を必要としない1/2倍の縮小処理を主な処理とし、基本となる解像度画像から2の−1/3乗倍ずつサイズが縮小された複数の画像が高速に生成できる。例えば、解像度画像S1_1が短辺416画素の矩形サイズである場合、解像度画像S1_2,S1_3,・・・は、短辺がそれぞれ、330画素,262画素,208画素,165画素,131画素,104画素,82画素,65画素,・・・の矩形サイズとなり、2の−1/3乗倍ずつ縮小された複数の解像度画像を生成することができる。なお、このように画素値を補間しないで生成される画像は、元の画像パターンの特徴をそのまま担持する傾向が強いので、顔検出処理において精度向上が期待できる点で好ましい。
正規化部20は、解像度画像のコントラストが顔検出処理に適した状態となるように、解像度画像の各々に対して全体正規化処理および局所正規化処理を施し、正規化済みの複数の解像度画像S1′_1〜S1′_Mからなる解像度画像群S1′を得るものである。
まず、全体正規化処理について説明する、全体正規化処理は、解像度画像のコントラストを顔検出処理に適した所定のレベル、すなわち、後述の判別器の性能を引き出すのに適したレベルに近づけるべく、解像度画像全体の画素値をこの画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する処理である。
図3は全体正規化処理に用いる変換曲線の一例を示した図である。全体正規化処理としては、例えば、図3に示すような、画素値をsRGB空間におけるいわゆる逆ガンマ変換(=2.2乗する)した後にさらに対数をとるような変換曲線(ルックアップテーブル)にしたがって、画像全体における画素値を変換する処理を考えることができる。これは、次のような理由による。
画像として観測される光強度Iは、通常、被写体の反射率Rと光源の強度Lの積として表現される(I=R×L)。したがって、光源の強度Lが変化すると、画像として観測される光強度Iも変化することになるが、被写体の反射率Rのみを評価することができれば、光源の強度Lに依存しない、すなわち、画像の明るさの影響を受けない精度の高い顔判別を行うことができる。
ここで、光源の強度がLの場合において、被写体上で反射率がR1の部分から観測される光強度をI1、被写体上で反射率がR2の部分から観測される光強度をI2としたとき、それぞれの対数をとった空間では、下記の式が成り立つ。
Figure 2007193404
すなわち、画像における画素値を対数変換することは、反射率の比が差として表現された空間へ変換することとなり、このような空間では、光源の強度Lに依存しない被写体の反射率のみを評価することが可能となる。言い換えると、画像中の明るさによって異なるコントラスト(ここでは画素値の差分そのもの)を揃えることができる。
一方、一般的なデジタルカメラ等の機器で取得された画像の色空間はsRGBである。sRGBとは、機器間の色再現の違いを統一するために、色彩、彩度等を規定・統一した国際標準の色空間のことであり、この色空間においては、ガンマ値(γout)が2.2の画像出力機器において適正な色再現を可能にするため、画像の画素値は、入力輝度を1/γout(=0.45)乗して得られる値となっている。
そこで、画像全体における画素値を、いわゆる逆ガンマ変換、すなわち、2.2乗した後にさらに対数をとるような変換曲線にしたがって変換することにより、光源の強度に依存しない被写体の反射率のみによる評価を適正に行うことができるようになる。
なお、このような全体正規化処理は、別の言い方をすれば、画像全体における画素値を、特定の色空間を別の特性を有する色空間に変換する変換曲線にしたがって変換する処理ということができる。
このような処理を検出対象画像に施すことにより、画像中の明るさによって異なるコントラストを揃えることができ、顔検出処理の精度が向上することとなる。なお、この全体正規化処理は、処理結果が検出対象画像中の斜光や背景、入力モダリティの違いによる影響を受けやすい反面、処理時間が短いという特徴を有する。
次に、局所正規化処理について説明する。局所正規化処理は、解像度画像上の局所的な領域におけるコントラストのばらつきを抑制するための処理である。すなわち、解像度画像における各局所領域について、輝度を表す画素値の分散の程度が所定レベル以上である局所領域に対しては、この分散の程度を前記の所定レベルより高い一定レベルに近づける第1の輝度階調変換処理を施し、画素値の分散の程度が前記の所定レベル未満である局所領域に対しては、この分散の程度を前記の一定レベルより低いレベルに抑える第2の輝度階調変換処理を施すものである。なお、この局所正規化処理は、処理時間は長いが、検出対象画像中の斜光や背景、入力モダリティの違いによる判別結果への影響は小さいという特徴を有する。
図4は局所正規化処理の概念を示した図であり、図5は局所正規化処理のフローを示した図である。また、式(2),(3)は、この局所正規化処理のための画素値の階調変換の式である。
Figure 2007193404
ここで、Xは注目画素の画素値、X′は注目画素の変換後の画素値、mlocalは注目画素を中心とする局所領域における画素値の平均、Vlocalはこの局所領域における画素値の分散、SDlocalはこの局所領域における画素値の標準偏差、C1は、(C1×C1)が前記の一定レベルに対応する基準値となるような値、C2は前記の所定レベルに対応する閾値、SDcは所定の定数である。なお、本実施形態において、輝度の階調数は8bitとし、画素値の取り得る値は0から255とする。
図4に示すように、まず、解像度画像における1つの画素を注目画素として設定し(ステップST1)、この注目画素を中心とする所定の大きさ、例えば11×11画素サイズの局所領域における画素値の分散Vlocalを算出し(ステップST2)、分散Vlocalが前記所定のレベルに対応する閾値C2以上であるか否かを判定する(ステップST3)。ステップST3において、分散Vlocalが閾値C2以上であると判定された場合には、前記第1の輝度階調変換処理として、分散Vlocalが前記一定のレベルに対応する基準値(C1×C1)より大きいほど、注目画素の画素値Xと平均mlocalとの差を小さくし、分散mlocalが基準値(C1×C1)より小さいほど、注目画素の画素値Xと平均mlocalとの差を大きくする階調変換を式(2)にしたがって行う(ステップST4)。一方、ステップST3において、分散Vlocalが閾値C2未満であると判定された場合には、前記第2の輝度階調変換処理として、分散Vlocalに依らない線形な階調変換を式(3)にしたがって行う(ステップST5)。そして、ステップST1で設定した注目画素が最後の画素であるか否かを判定する(ステップST6)。ステップST6において、その注目画素が最後の画素でないと判定された場合には、ステップST1に戻り、同じ解像度画像上の次の画素を注目画素として設定する。一方、ステップST6において、その注目画素が最後の画素であると判定された場合には、その解像度画像に対する局所正規化を終了する。このように、前記ステップST1からST6の処理を繰り返すことにより、解像度画像全体に局所正規化を施すことができる。
なお、前記の所定レベルは、局所領域における全体または一部の輝度に応じて変化させるようにしてもよい。例えば、前記の、注目画素毎に階調変換を行う正規化処理において、閾値C2を注目画素の画素値に応じて変化させるようにしてもよい。すなわち、前記の所定レベルに対応する閾値C2を、注目画素の輝度が相対的に高いときにはより高く設定し、その輝度が相対的に低いときにはより低く設定するようにしてもよい。このようにすることで、輝度の低い、いわゆる暗い領域に低いコントラスト(画素値の分散が小さい状態)で存在している顔も正しく正規化することができる。
顔検出部30は、正規化部20により正規化処理がなされた解像度画像群S1′の各解像度画像S1′_m(m=1〜M)に対して、検出すべき顔の位置および傾きを所定の順序にしたがって変えながら顔検出処理を施すことにより、すべての解像度画像に含まれる顔画像S2を検出するものである。
なお、本実施例では、検出すべき顔の位置毎に検出すべき顔の傾きを変えて顔画像を検出するようにするが、検出すべき顔の傾き毎に検出すべき顔の位置を変えて顔画像を検出するようにしてもよい。
また、本実施例では、検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、後述のスコアの算出および顔画像の抽出をこのグループ毎に行う。具体的には、図12に示すように、検出すべき全ての顔の傾きを、検出対象画像S0の天地方向を基準に検出対象画像S0の画像面内において30度刻みで回転して設定される計12種類の傾きとし、検出すべき顔の傾きを所定の順序、すなわち、この傾きを検出対象画像S0の天地方向を基準に時計回りの回転角度で表すとして、上向き3方向である0度、330度、30度(第1のグループ)、右向き3方向である90度、60度、120度(第2のグループ)、左向き3方向である270度、240度、300度(第3のグループ)、そして、下向き3方向である180度、150度、210度(第4のグループ)の順序で切り替える。
顔検出部30は、図1に示すように、解像度画像選択部31と、サブウィンドウ設定部32と、判別器群33と、顔画像削除部34とから構成されている。なお、サブウィンドウ設定部32および判別器群33が本発明の第1の顔検出装置における指標値算出手段として機能し、判別器群33が本発明の第1の顔検出装置における顔画像抽出手段として機能し、顔画像削除部34が本発明の第1の顔検出装置における顔画像削除手段として機能するものである。
解像度画像選択部31は、多重解像度化部20により生成された解像度画像群S1′の中から顔検出処理に供する解像度画像をサイズの小さい順に、すなわち、解像度の粗い順に1つずつ選択するものである。なお、本実施形態における顔検出の手法が、各解像度画像上で順次切り出された同じサイズの部分画像Wについて、その部分画像Wが顔画像であるか否かを判別することにより検出対象画像S0における顔を検出する手法であるから、この解像度画像選択部31は、検出対象画像S0に対する部分画像Wの相対的な大きさ、すなわち、検出対象画像S0における検出すべき顔の大きさを大から小へ毎回変えながら設定するものと考えることができる。
サブウィンドウ設定部32は、解像度画像選択部31により選択された解像度画像において、顔画像であるか否かの判別対象となる部分画像Wを切り出すサブウィンドウを、その位置を所定幅ずつずらしながら設定するものである。
例えば、前記の選択された解像度画像において、所定のサイズ、すなわち、32×32画素サイズの部分画像Wを切り出すサブウィンドウを、所定画素数分、例えば2画素ずつ移動させながら順次設定し、その切り出された部分画像Wを判別器群33へ入力する。判別器群33を構成する各判別器は、後述のように、それぞれ、入力された部分画像Wが所定の傾きおよび向きの顔を含む顔画像であるか否かを判別するものであるから、このようにすることで、あらゆる傾きおよび向きにある顔の顔画像について判別することが可能となる。
判別器群33は、判別すべき顔の傾きおよび向きがそれぞれ異なる複数種類の判別器から構成されたものであり、各判別器は、入力された部分画像Wの画像パターンに基づいて、この部分画像Wが所定の傾きおよび向きの顔を含む顔画像である蓋然性を示すスコア(指標値)scを算出し、算出されたスコアscが第1の閾値Th1以上であるときに、その部分画像Wをその所定の傾きおよび向きの顔を含む顔画像の候補Diとして判別し抽出するものである。
図6は判別器群33の構成を示した図である。判別器群33は、図6に示すように、判別すべき顔の向きがそれぞれ異なる複数種類の判別器群、すなわち、主に正面顔を判別する正面顔判別器群33_F、主に左横顔を判別する左横顔判別器群33_Lおよび主に右横顔を判別する右横顔判別器群33_Rから構成され、さらに、これら3種の判別器群はそれぞれ、判別すべき顔の傾きが画像の天地方向を基準として30度ずつ異なる計12方向に対応した判別器、すなわち、正面顔判別器群33_Fは、判別器33_F0,33_F30,・・・,33_F330、左横顔判別器群33_Lは、判別器33_L0,33_L30,・・・,33_L330、右横顔判別器群33_Rは、判別器33_R0,33_R30,・・・,33_R330から構成されている。
なお、前記サブウィンドウ設定部32は、検出すべき顔の位置毎に検出すべき顔の傾きを前記所定の順序で切り替えるため、切り出した部分画像Wを入力する判別器を適切な順序で切り替えて選択し、部分画像Wをその選択された判別器に順次入力するようにする。すなわち、検出すべき顔の位置毎に検出すべき顔の傾きを0度、330度、30度(第1のグループ)、90度、60度、120度(第2のグループ)・・・と切り替えるため、はじめ、検出すべき顔の傾きが0度である場合に対応する判別器33_F0,33_L0,33_R0を選択して、これらの判別器に部分画像Wを入力し、次に、検出すべき顔の傾きが330度である場合に対応する判別器33_F330,33_L330,33_R330を選択して、これらの判別器に同部分画像Wを入力する。このようにして、切り出した1つの部分画像Wを所定の順序で選択された各判別器に順次入力してゆき、検出すべき全ての顔の位置および傾きについてスコア算出および判別を行うようにする。ただし、途中、いずれかの判別器によって算出されたスコアscが、第1の閾値Th1より大きい第2の閾値Th2以上であったとき、その後のスコア算出および判別を、検出すべき顔の傾きをそのスコアが算出されたときの傾きに限定して行うべく、部分画像Wを入力する判別器を、判別すべき顔の傾きがその傾きである判別器に限定する。このようにする理由は、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出されたときには、同一画像上に含まれる顔の傾きは略同じ傾きに揃うことが多いという経験則に基づき、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、その信頼性の高い顔画像の顔の傾きとは異なる顔の傾きに対する検出処理を省略して、顔検出処理の高速化を図るためである。
なお、このような手法で顔検出処理の高速化を図る場合には、できるだけ早い段階で前記信頼性の高い顔画像が検出された方がよいわけであるが、顔の傾き(天地)は、経験則上、検出対象画像S0に対して真逆になるケースが少ないので、検出すべき顔の傾きを切り替える順序は、前記のように、180度を中心とした第4のグループの傾きを最後とする順序であることが好ましい。特に、検出すべき顔の傾き毎に検出すべき顔の位置を変えて顔画像を検出するような場合に、効果が大きいと思われる。
また、前記の判別器群33は、いずれも、判別可能な主な顔の向きを正面顔、左横顔および右横顔の3種としているが、斜め向きの顔の検出精度を上げるため、右斜め顔、左斜め顔をそれぞれ判別する判別器をさらに設けるようにしてもよい。
ここで、判別器群33を構成する各判別器の構成、判別器における処理の流れおよび判別器の学習方法について説明する。
判別器は、後述の学習により多数の弱判別器WCの中から選定された判別に有効な複数の弱判別器WCを有している。弱判別器WCは、それぞれ、部分画像Wから弱判別器WC毎に固有の所定のアルゴリズムにしたがって特徴量を算出し、その特徴量と所定のスコアテーブルとしての後述の自己のヒストグラムとに基づいて、部分画像Wが所定の傾きおよび向きの顔を含む顔画像である蓋然性を示すスコアscwを求めるものである。判別器は、これら複数の弱判別器WCから得られた個々のスコアscwを合算してスコアscを求め、このスコアscが閾値Th1以上である部分画像Wをその所定の傾きおよび向きの顔を含む顔画像Diとして抽出する。
図7は1つの判別器における処理の流れを示すフローチャートである。部分画像Wが判別器に入力されると、複数の弱判別器WCにおいてそれぞれ種類の異なる特徴量xが算出される(ステップST11)。例えば、図8に示すように、所定のサイズ、例えば、32×32画素サイズの部分画像Wに対して、4近傍画素平均(画像を2×2画素サイズ毎に複数のブロックに区分し、各ブロックの4画素における画素値の平均値をそのブロックに対応する1つの画素の画素値とする処理)を段階的に行うことにより、16×16画素サイズに縮小した画像W′と、8×8画素サイズに縮小した画像W″を得、もとの画像Wを含めたこれら3つの画像の平面内に設定される所定の2点を1ペアとして、複数種類のペアからなる1つのペア群を構成する各ペアにおける2点間の画素値(輝度)の差分値をそれぞれ計算し、これらの差分値の組合せを特徴量とする。各ペアの所定の2点は、例えば、画像上の顔の濃淡の特徴が反映されるよう決められた縦方向に並んだ所定の2点や、横方向に並んだ所定の2点とする。そして、特徴量である差分値の組合せに対応する値をxとして算出する。次に、その値xに応じて所定のスコアテーブル(自己のヒストグラム)から部分画像Wが判別すべき顔(例えば、判別器33_F30の場合には「顔の向きが正面で傾きが回転角度30度の顔」)を含む顔画像である蓋然性を示すスコアscwが弱判別器毎に算出される(ステップST12)。そして、弱判別器毎に算出された個々のスコアscwを合算してスコアscが得られ(ステップST13)、このスコアscが第1の閾値Th1以上であるか否かを判定し(ステップST14)、肯定される場合に、その部分画像Wを、この判別器が判別すべき所定の傾きおよび向きの顔を含む顔画像の候補Di(i=1,2,・・・)として抽出する(ステップST15)。
次に、判別器の学習(生成)方法について説明する。
図9は判別器の学習方法を示すフローチャートである。判別器の学習には、所定のサイズ、例えば32×32画素サイズで規格化され、さらに、前述の正規化部20による正規化処理と同様の処理が施された複数のサンプル画像を用いる。サンプル画像としては、顔であることが分かっている複数の異なる顔サンプル画像(顔サンプル画像群)と、顔でないことが分かっている複数の異なる非顔サンプル画像(非顔サンプル画像群)とを用意する。
顔サンプル画像群は、1つの顔サンプル画像につき、縦および/または横を0.7倍から1.2倍の範囲にて0.1倍単位で段階的に拡縮して得られる各サンプル画像に対し、平面上±15度の範囲にて3度単位で段階的に回転させて得られる複数の変形バリエーションを用いる。なおこのとき、顔サンプル画像は、目の位置が所定の位置に来るように顔のサイズと位置を規格化し、前記の平面上の回転、拡縮は目の位置を基準として行うようにする。例えば、d×dサイズのサンプル画像の場合においては、図10に示すように、両目の位置が、サンプル画像の最左上の頂点と最右上の頂点から、それぞれ、内側に1/4d、下側に1/4d移動した各位置とに来るように顔のサイズと位置を規格化し、また、前記の平面上の回転、拡縮は、両目の中間点を中心に行うようにする。
これら各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく1に設定される(ステップST21)。
次に、サンプル画像およびその縮小画像の平面内に設定される所定の2点を1ペアとして複数のペアからなるペア群を複数種類設定したときの、この複数種類のペア群のそれぞれについて弱半別器が作成される(ステップST22)。ここで、それぞれの弱判別器とは、サブウィンドウWで切り出された部分画像とその縮小画像の平面内に設定される所定の2点を1ペアとして複数のペアからなる1つのペア群を設定したときの、この1つのペア群を構成する各ペアにおける2点間の画素値(輝度)の差分値の組合せを用いて、顔の画像と顔でない画像とを判別する基準を提供するものである。本実施形態においては、1つのペア群を構成する各ペアにおける2点間の画素値の差分値の組合せについてのヒストグラムを弱判別器のスコアテーブルの基礎として使用する。
図11はサンプル画像からヒストグラムが生成される様子を示した図である。図11の左側のサンプル画像に示すように、この判別器を作成するためのペア群を構成する各ペアの2点は、顔であることが分かっている複数のサンプル画像において、サンプル画像上の右目の中心にある点をP1、右側の頬の部分にある点をP2、眉間の部分にある点をP3、サンプル画像を4近傍画素平均で縮小した16×16画素サイズの縮小画像上の右目の中心にある点をP4、右側の頬の部分にある点をP5、さらに4近傍画素平均で縮小した8×8画素サイズの縮小画像上の額の部分にある点をP6、口の部分にある点をP7として、P1−P2、P1−P3、P4−P5、P4−P6、P6−P7の5ペアである。なお、ある判別器を作成するための1つのペア群を構成する各ペアの2点の座標位置はすべてのサンプル画像において同一である。そして顔であることが分かっているすべてのサンプル画像について前記5ペアを構成する各ペアの2点間の画素値の差分値の組合せが求められ、そのヒストグラムが作成される。ここで、画素値の差分値の組合せとしてとり得る値は、画像の輝度階調数に依存するが、仮に16ビット階調である場合には、1つの画素値の差分値につき65536通りあり、全体では階調数の(ペア数)乗、すなわち65536の5乗通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、画素値の差分値を適当な数値幅で区切って量子化し、n値化する(例えばn=100)。これにより、画素値の差分値の組合せの数はnの5乗通りとなるため、画素値の差分値の組合せを表すデータ数を低減できる。
同様に、非顔サンプル画像群についても、ヒストグラムが作成される。なお、非顔サンプル画像については、顔サンプル画像上における前記各ペアの所定の2点の位置に対応する位置(同様に参照符号P1からP7を用いる)が用いられる。これらの2つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図11の一番右側に示す、弱判別器のスコアテーブルの基礎として用いられるヒストグラムである。この弱判別器のヒストグラムが示す各縦軸の値を、以下、判別ポイントと称する。この弱判別器によれば、正の判別ポイントに対応する、画素値の差分値の組合せの分布を示す画像は顔である可能性が高く、判別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の判別ポイントに対応する画素値の差分値の組合せの分布を示す画像は顔でない可能性が高く、やはり判別ポイントの絶対値が大きいほどその可能性は高まる。ステップST22では、判別に使用され得る複数種類のペア群を構成する各ペアの所定の2点間の画素値の差分値の組合せについて、前記のヒストグラム形式の複数の弱判別器が作成される。
続いて、ステップST22で作成した複数の弱半別器のうち、画像が顔画像であるか否かを判別するのに最も有効な弱判別器が選択される。最も有効な弱判別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各弱判別器の重み付き正答率が比較され、最も高い重み付き正答率を示す弱判別器が選択される(ステップST23)。すなわち、最初のステップST23では、各サンプル画像の重みは等しく1であるので、単純にその弱判別器によって画像が顔画像であるか否かが正しく判別されるサンプル画像の数が最も多いものが、最も有効な弱判別器として選択される。一方、後述するステップST25において各サンプル画像の重みが更新された後の2回目のステップST23では、重みが1のサンプル画像、重みが1よりも大きいサンプル画像、および重みが1よりも小さいサンプル画像が混在しており、重みが1よりも大きいサンプル画像は、正答率の評価において、重みが1のサンプル画像よりも重みが大きい分多くカウントされる。これにより、2回目以降のステップST23では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく判別されることに、より重点が置かれる。
次に、それまでに選択した弱判別器の組合せの正答率、すなわち、それまでに選択した弱判別器を組み合わせて使用して(学習段階では、弱判別器は必ずしも線形に結合させる必要はない)各サンプル画像が顔画像であるか否かを判別した結果が、実際に顔画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる(ステップST24)。ここで、弱判別器の組合せの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した弱判別器を用いれば画像が顔であるか否かを十分に高い確率で判別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した弱判別器と組み合わせて用いるための追加の弱判別器を選択するために、ステップST26へと進む。
ステップST26では、直近のステップST23で選択された弱判別器が再び選択されないようにするため、その弱判別器が除外される。
次に、直近のステップST23で選択された弱判別器では顔であるか否かを正しく判別できなかったサンプル画像の重みが大きくされ、画像が顔画像であるか否かを正しく判別できたサンプル画像の重みが小さくされる(ステップST25)。このように重みを大小させる理由は、次の弱判別器の選択において、既に選択された弱判別器では正しく判別できなかった画像を重要視し、それらの画像が顔画像であるか否かを正しく判別できる弱判別器が選択されるようにして、弱判別器の組合せの効果を高めるためである。
続いて、ステップST23へと戻り、前記したように重み付き正答率を基準にして次に有効な弱判別器が選択される。
以上のステップST23からS26を繰り返して、顔画像であるか否かを判別するのに適した弱判別器として、特定のペア群を構成する各ペアの所定の2点間の画素値の差分値の組合せに対応する弱判別器が選択されたところで、ステップST24で確認される正答率が閾値を超えたとすると、顔画像であるか否かの判別に用いる弱判別器の種類と判別条件とが確定され(ステップST27)、これにより学習を終了する。なお、選択された弱判別器は、その重み付き正答率が高い順に線形結合され、1つの判別器が構成される。また、各弱判別器については、それぞれ得られたヒストグラムを基に、画素値の差分値の組合せに応じてスコアを算出するためのスコアテーブルが生成される。なお、ヒストグラム自身をスコアテーブルとして用いることもでき、この場合、ヒストグラムの判別ポイントがそのままスコアとなる。
このようにして、顔サンプル画像群と非顔サンプル画像群とを用いた学習により、判別器が生成されるわけであるが、前記のように、判別したい顔の傾きおよび向き毎に異なる複数の判別器を生成するには、顔の各傾きおよび各向きに対応した複数種類の顔サンプル画像群を用意し、その顔サンプル画像群と非顔サンプル画像群とを用いた学習を顔サンプル画像群の種類毎に行うこととなる。
すなわち、本実施形態においては、顔の向きについては、正面、左横、右横の計3種類、傾きについては、回転角度0度から330度まで30度刻みの計12種類、合計36種類の顔サンプル画像群を用意する。
前記の複数の顔サンプル画像群が得られたら、顔サンプル画像群の種類毎に、その顔サンプル画像群と非顔サンプル画像群とを用いて、前記の学習を行うことにより、判別器群33を構成する複数の判別器を生成することができる。
このように、顔の向き毎に、かつ、顔の傾き毎に学習された複数の判別器を用いることにより、多種の傾きおよび向きの顔を含む顔画像を判別することが可能となる。
なお、前記の学習手法を採用する場合において、弱判別器は、特定のペア群を構成する各ペアの所定の2点間の画素値の差分値の組合せを用いて顔の画像と顔でない画像とを判別する基準を提供するものであれば、前記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば2値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図11の中央に示した2つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
また、学習の方法としては前記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
顔画像削除部34は、前記信頼性の高い顔画像が検出されて、検出すべき顔の傾きを所定の傾きに限定した場合、判別器群33によって検出されたすべての顔画像の候補Diの中の、検出すべき傾きを限定する前に検出された顔画像の候補のうち、限定した傾きとは異なる傾きの顔画像の候補を非顔画像として削除し、残った顔画像の候補を顔画像S2として決定するものである。このようにすれば、既に顔画像の候補として検出された画像のうち、真の顔画像である可能性が低い画像を排除することができ、誤検出を抑制することができる。
重複検出判定部40は、各解像度画像上で検出された顔画像S2の各々に対して、顔画像の位置関係から、その顔画像が、検出対象画像S0上では同一の顔を表す顔画像であって解像度の隣接する複数の解像度画像上で重複して検出されたものであるか否かを判定し、重複して検出されたと認められる複数の顔画像を1つにまとめる処理を行い、重複検出のない真の顔画像S3を出力するものである。
検出対象画像S0を多重解像度化して複数の解像度画像を得る際には、顔画像の検出漏れを防ぐため、隣接する解像度画像間での解像度のギャップは、あまり大きくとることができない。また、判別器は、通常、判別可能な顔の大きさとしてある程度の許容範囲を有している。このような場合、検出対象画像S0上の同一の顔が、隣接する複数の解像度画像において重複して検出される場合がある。重複検出判定部40による前記の処理は、このような重複検出を排除し、正確な検出結果を得るために行われる処理である。
次に、第1の実施形態による顔検出システム1における処理の流れについて説明する。
図13a,13bは、第1の実施形態による顔検出システム1における処理の流れを示したフローチャートである。これらの図に示すように、本システムに検出対象画像S0が供給されると(ステップST31)、多重解像度化部10が、この検出対象画像S0の画像サイズが所定のサイズに変換された画像S0′を生成し、この画像S0′から2の−1/3乗倍ずつサイズ(解像度)が縮小された複数の解像度画像からなる解像度画像群S1が生成される(ステップST32)。そして、正規化部20が、解像度画像群S1の各解像度化像に対して、上述の全体正規化処理と局所正規化処理を施し、正規化済みの解像度画像群S1′を得る(ステップST33)。
次に、顔検出部30の解像度画像選択部31が、解像度画像群S1′の中から画像サイズの小さい順、すなわち、S1′_M,S1′_M-1,・・・,S1′_1の順に所定の解像度画像S1′_mを1つ選択する(ステップST34)。サブウィンドウ設定部32は、選択された解像度画像S1′_m上でサブウィンドウを所定のピッチ、例えば2画素間隔で移動しながら順番に設定して所定サイズの部分画像Wを切り出す(ステップST35)。そして、検出すべき顔の傾きを所定の順序で1つ設定し(ステップST36)、すなわち、判別すべき顔の傾きがこの設定された顔の傾きである所定の判別器を選択し、切り出された現在の部分画像Wをこの選択された判別器に入力する(ステップST37)。部分画像Wが入力された判別器は、複数の弱判別器を用いて、部分画像Wがその判別器に対応する所定の傾きおよび向きの顔を含む顔画像である蓋然性を示すスコアscを算出し(ステップST38)、算出されたスコアscが第1の閾値Th1以上であるときに、この部分画像Wを顔画像の候補Diとして抽出する(ステップST39)。
サブウィンドウ設定部32は、顔画像の候補Diが抽出された場合に、検出すべき顔の傾きが既に限定されているか否かを判定し(ステップST40)、検出すべき顔の傾きが既に限定されていると判定された場合には、ステップST43に移行する。一方、検出すべき顔の傾きが未だ限定されていないと判定された場合には、さらに、その算出されたスコアscが第1の閾値Th1より大きい第2の閾値Th2以上であるか否かを判定する(ステップST41)。ここで、スコアscが第2の閾値Th2以上であると判定された場合には、これ以降に設定する検出すべき顔の傾きを、当該スコアが算出されたときの特定の顔の傾きに限定する設定を行う(ステップST42)。
そして、現在設定されている検出すべき顔の傾きが、順番として最後の傾きであるか否かを判定し(ステップST43)、現在設定されている顔の傾きが最後の傾きでないと判定された場合には、ステップST36に戻り、検出すべき顔の傾きとして次の順番となる新たな傾きを設定し、すなわち、判別すべき顔の傾きがこの設定された傾きである所定の判別器を選択し、切り出された現在の部分画像Wをこの選択された判別器に入力する。一方、現在設定されている検出すべき顔の傾きが最後の傾きであると判定された場合には、ステップST44に移行する。
ステップST44では、現在の部分画像Wが現在の解像度画像上で最後の部分画像であるか否かを判定する。ここで、現在の部分画像Wが最後の部分画像でないと判定された場合には、ステップST35に戻り、現在の解像度画像上で新たな部分画像Wを切り出し、検出処理を続行する。一方、現在の部分画像Wが最後の部分画像であると判定された場合には、ステップST45に移行する。
ステップST45では、顔像度画像選択部31が、現在の解像度画像が最後の解像度画像であるか否かを判定する。ここで、現在の解像度画像が最後の解像度画像でないと判定された場合には、ステップST34に戻り、新たな解像度画像を選択し、顔画像の検出処理を続行する。一方、現在の解像度画像が最後の解像度画像であると判定された場合には、ステップST46に移行する。
ステップST46では、顔画像削除部34が、検出すべき顔の傾きが限定された場合に、検出されたすべての顔画像の候補Diの中の、検出すべき顔の傾きが限定される前に検出された顔画像の候補のうち、限定された傾きとは異なる傾きの顔を含む顔画像の候補を非顔画像として削除するとともに、残りの顔画像の候補を顔画像S2として決定する。
そして、重複検出判定部40が、検出された顔画像S2の位置関係に基づいて、顔画像S2の各々に対して、その顔画像が、入力された検出対象画像S0上では同一の顔を表す顔画像であって解像度の隣接する複数の解像度画像上で重複して検出されたものであるか否かを判定し、重複して検出されたと認められる複数の顔画像を1つにまとめる処理を行い、重複検出のない顔画像S3を得る(ステップST47)。
図14は、前記のステップST34からステップST45までを繰り返すことにより、解像度画像がサイズの小さい順に選択されて、各解像度画像S1′_m上で部分画像Wが順次切り出され、顔検出が実施される様子を示した図である。
また、図15は、解像度画像S1′_m上で各部分画像W毎に検出すべき顔の傾きを変えながら顔検出を行い、途中、スコアscが第2の閾値Th2以上である信頼性の高い顔画像の候補Diが検出されたら、それ以降、検出すべき顔の傾きをその傾きに固定して、検出処理を続行する様子の一例を示した図である。なおこの例では、各部分画像W毎に、検出すべき顔の傾きを(1)0度,(2)330度,(3)30度,・・・,(10)180度,(11)150度,(12)210度の順序で判別してゆき、途中、検出すべき顔の傾きが(3)30度のとき、sc≧Th2で顔画像の候補Diが検出され、その後、検出すべき顔の傾きを(3)30度に固定して顔検出を続行した場合を示している。
このような第1の実施形態による顔検出システムによれば、入力画像上で検出すべき顔の位置および傾きを変えながら、検出すべき顔の位置および傾き毎に、当該位置における部分画像が当該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、その指標値が第1の閾値以上である部分画像を顔画像として抽出することにより、入力画像に含まれる顔画像を検出する顔検出処理において、算出された指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の傾きを当該指標値が算出されたときの傾きに限定して行うようにしているので、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出された場合には、同一画像上に含まれる顔の傾きは略同じ傾きに揃うことが多いという経験則に基づいて、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、前記信頼性の高い顔画像の顔の傾きとは異なる顔の傾きに対する検出処理を省略することができ、顔検出処理の高速化を実現することが可能となる。
次に、本発明の第2の実施形態である顔検出システムについて説明する。
第2の実施形態による顔検出システムの構成およびその構成要素の機能は、基本的に、第1の実施形態による顔検出システムと同様であるが、サブウィンドウ設定部32の処理が若干異なるものである。
すなわち、本実施形態におけるサブウィンドウ設定部32は、第1の実施形態と同様に、切り出した1つの部分画像Wを所定の順序で選択された各判別器に順次入力してゆき、検出すべき全ての顔の位置および傾きについてスコア算出および判別を行うようにするのであるが、途中、いずれかの判別器によって算出されたスコアscが、第1の閾値Th1より大きい第2の閾値Th2以上であったとき、その後のスコア算出および判別を、検出すべき顔の傾きを“そのスコアが算出されたときの傾きが属するグループ内の傾き”に限定して行うべく、部分画像Wを入力する判別器を、判別すべき顔の傾きが“そのグループ内の傾き”である判別器に限定するものである。
この場合、第2の閾値Th2以上のスコアで顔画像の候補が検出された後、すなわち、信頼性の高い顔画像の候補が検出された後に限定する、検出すべき顔の傾きを、その信頼性の高い顔画像の候補の顔の傾きだけとせず、当該顔の傾きに近接する傾きにまで幅を広げて限定するようにしているので、入力画像上に被写体の姿勢等の違いによって顔の傾きが少しずれた複数の顔が存在する場合であっても、このような顔を検出できる確率が高くなる。
図16a,16bは、第2の実施形態による顔検出システム1における処理の流れを示したフローチャートである。これらの図に示すように、本システムに検出対象画像S0が供給されると(ステップST51)、多重解像度化部10が、この検出対象画像S0の画像サイズが所定のサイズに変換された画像S0′を生成し、この画像S0′から2の−1/3乗倍ずつサイズ(解像度)が縮小された複数の解像度画像からなる解像度画像群S1が生成される(ステップST52)。そして、正規化部20が、解像度画像群S1の各解像度化像に対して、上述の全体正規化処理と局所正規化処理を施し、正規化済みの解像度画像群S1′を得る(ステップST53)。
次に、顔検出部30の解像度画像選択部31が、解像度画像群S1′の中から画像サイズの小さい順、すなわち、S1′_M,S1′_M-1,・・・,S1′_1の順に所定の解像度画像S1′_mを1つ選択する(ステップST54)。サブウィンドウ設定部32は、選択された解像度画像S1′_m上でサブウィンドウを所定のピッチ、例えば2画素間隔で移動しながら順番に設定して所定サイズの部分画像Wを切り出す(ステップST55)。そして、検出すべき顔の傾きを前記グループ単位で設定し(ステップST56)、すなわち、判別すべき顔の傾きがこの設定されたグループに属する傾きである所定の判別器を選択し、切り出された現在の部分画像Wをこの選択された判別器に入力する(ステップST57)。部分画像Wが入力された判別器は、複数の弱判別器を用いて、部分画像Wがその判別器に対応する所定の傾きおよび向きの顔を含む顔画像である蓋然性を示すスコアscを算出し(ステップST58)、算出されたスコアscが第1の閾値Th1以上であるときに、この部分画像Wを顔画像の候補Diとして抽出する(ステップST59)。
サブウィンドウ設定部32は、顔画像の候補Diが抽出された場合に、検出すべき顔の傾きが既に限定されているか否かを判定し(ステップST60)、検出すべき顔の傾きが既に限定がされていると判定された場合には、ステップST63に移行する。一方、検出すべき顔の傾きが未だ限定されていないと判定された場合には、さらに、その算出されたスコアscが第1の閾値Th1より大きい第2の閾値Th2以上であるか否かを判定する(ステップST61)。ここで、スコアscが第2の閾値Th2以上であると判定された場合には、これ以降に設定する検出すべき顔の傾きを、現在設定されている顔の傾きのグループに限定する設定を行う(ステップST62)。
そして、現在設定されている検出すべき顔の傾きのグループが、順番として最後のグループであるか否かを判定し(ステップST63)、現在設定されているグループが最後のグループでないと判定された場合には、ステップST56に戻り、検出すべき顔の傾きのグループとして次の順番となる新たなグループを設定して、判別すべき顔の傾きがこの設定されたグループに属する傾きである所定の判別器を選択し、切り出された現在の部分画像Wをこの選択された判別器に入力する。一方、現在設定されているグループが最後のグループであると判定された場合には、ステップST64に移行する。
ステップST64では、現在の部分画像Wが現在の解像度画像上で最後の部分画像であるか否かを判定する。ここで、現在の部分画像Wが最後の部分画像でないと判定された場合には、ステップST55に戻り、現在の解像度画像上で新たな部分画像Wを切り出し、検出処理を続行する。一方、現在の部分画像Wが最後の部分画像であると判定された場合には、ステップST65に移行する。
ステップST65では、顔像度画像選択部31が、現在の解像度画像が最後の解像度画像であるか否かを判定する。ここで、現在の解像度画像が最後の解像度画像でないと判定された場合には、ステップST54に戻り、新たな解像度画像を選択し、顔画像の検出処理を続行する。一方、現在の解像度画像が最後の解像度画像であると判定された場合には、ステップST66に移行する。
ステップST66では、顔画像削除部34が、検出すべき顔の傾きがいずれかのグループに限定された場合に、検出されたすべての顔画像の候補Diの中の、検出すべき顔の傾きが限定される前に検出された顔画像のうち、限定された傾きとは異なる傾きの顔を含む顔画像の候補を非顔画像として削除するとともに、残りの顔画像の候補を顔画像S2として決定する。
そして、重複検出判定部40が、検出された顔画像S2の位置関係に基づいて、顔画像S2の各々に対して、その顔画像が、入力された検出対象画像S0上では同一の顔を表す顔画像であって解像度の隣接する複数の解像度画像上で重複して検出されたものであるか否かを判定し、重複して検出されたと認められる複数の顔画像を1つにまとめる処理を行い、重複検出のない顔画像S3を得る(ステップST67)。
図17は、解像度画像S1′_m上で各部分画像W毎に検出すべき顔の傾きをグループ単位で変えながら顔検出を行い、途中、スコアscが第2の閾値Th2以上である信頼性の高い顔画像の候補Diが検出されたら、それ以降、検出すべき顔の傾きのグループをその傾きが属するグループに限定して、検出処理を続行する様子の一例を示した図である。なおこの例では、各部分画像W毎に、検出すべき顔の傾きを第1のグループ((1)0度,(2)330度,(3)30度),・・・,第4のグループ((10)180度,(11)150度,(12)210度)の順序で判別してゆき、途中、検出すべき顔の傾きが(3)30度のとき、sc≧Th2で顔画像の候補Diが検出され、その後、検出すべき顔の傾きを(3)30度が属する第1のグループに限定して顔検出を続行した場合を示している。
このような第2の実施形態による顔検出システムによれば、入力画像上で検出すべき顔の位置および傾きを変えながら、検出すべき顔の位置および傾き毎に、当該位置における部分画像が当該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、その指標値が第1の閾値以上である部分画像を顔画像として抽出することにより、入力画像に含まれる顔画像を検出する顔検出処理において、検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、指標値の算出を当該グループ毎に行い、算出された指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の傾きを当該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うようにしているので、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出された場合には、同一画像上に含まれる顔の傾きは略同じ傾きに揃うことが多いという経験則に基づいて、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、前記信頼性の高い顔画像の顔の傾きが属するグループとは異なるグループの顔の傾きに対する検出処理を省略することができ、顔検出処理の高速化を実現することが可能となる。
次に、本発明の第3の実施形態である顔検出システムについて説明する。
第1および第2の実施形態では、検出すべき顔の位置毎に検出すべき顔の傾きを変えて顔画像を検出するようにしているが、この第3の実施形態は、検出すべき顔の傾き毎に検出すべき顔の位置を変えて、顔画像を検出するようにしたものである。
この第3の実施形態による顔検出システムは、第2の実施形態の場合と同様、図1の示すように、多重解像度化部10、正規化部20、顔検出部30、重複検出判定部40により構成されており、さらに、顔検出部30は、解像度画像選択部31、サブウィンドウ設定部32、判別器群33、顔画像削除部34により構成されるものであるが、顔検出部30における処理が、第2の実施形態とは異なるものである。
この第3の実施形態において、判別器群33は、第2の実施形態と同様に、合計36種類(顔の傾きが、0度から330度まで30度刻みの計12種類、顔の向きが、正面、左横、右横の計3種類)の判別器により構成されており、検出すべき顔の傾きについても、図12に示すように、近接する複数の異なる傾きからなる複数のグループ、すなわち、検出すべき顔の傾きが0度、330度、30度である第1のグループ、検出すべき顔の傾きが90度、60度、120度である第2のグループ、検出すべき顔の傾きが270度、240度、300度である第3のグループ、検出すべき顔の傾きが180度、150度、210度である第4のグループに分割されている。
そして、サブウィンドウ設定部32が、検出すべき顔の傾きを第1のグループから第4のグループまでグループ単位で順番に設定し、設定された検出すべき顔の傾きに対応した判別器に、解像度画像上で切り出した部分画像Wを順次入力し、部分画像Wが入力された判別器が、その部分画像Wが顔画像であるか否かを判別して顔画像の候補Diを検出する。
このとき、ある顔の傾きのグループに対応した判別器により、信頼するに足るほど十分高いスコアである第2の閾値Th2以上のスコアが算出されて信頼性の高い顔画像の候補が検出された場合には、サブウィンドウ設定部32は、以後、部分画像Wに適用する順番がそれ以降となる傾きのグループに対応する判別器については適用しないようにする。すなわち、検出すべき顔の傾きをその信頼性の高い顔画像の候補における顔の傾きと略同じ傾きに固定する。このようにする理由は、上述のように、ひとつの画像上に複数の顔が含まれる場合には、各顔の傾き(画像上の回転位置)が揃う場合が多いという経験則に基づき、用いる順番がそれ以降となるグループの判別器に対応する顔の傾きについては、顔画像の検出を省略することができ、これにより、顔検出の高速化を図ることができるからである。ただし、首をかしげている顔等にも対処するため、±30度程度の傾きのバラツキを許容できるように、上記のように、検出すべき顔の傾きを近接する複数の異なる傾きからなるグループ毎にまとめ、グループ単位で顔画像を検出するようにしている。
具体例を挙げると、例えば、第1のグループに対応した判別器を用いて顔画像の候補を検出した後、第2のグループのうち検出すべき顔の傾きが60度である場合に対応する判別器を用いて顔画像の候補を検出しているときに、第2の閾値Th2以上のスコアが算出され、信頼性の高い顔画像の候補が検出された場合には、用いる順番がそれ以降となる第3、第4のグループに対応する判別器はその後用いない。各グループについての平均的な検出処理時間を1とすると、上記のような検出すべき顔の傾きの固定を行わない場合には、1×4方向=4の時間がかかるのに対し、上記のような検出すべき顔の傾きの固定を行う場合には、各グループに対応する判別器を適用して顔画像の候補が検出される確率が顔の傾きに依らず等しいと仮定する(すなわち、各グループについて顔が検出される確率が1/4であるとする)と、計算時間の期待値は、1×1/4+2×1/4+3×1/4+4×1/4=2.5となり、上記のような検出すべき顔の傾きの固定を行う場合の方が、検出処理時間が短くより高速である。
また、信頼性の高い顔画像の候補が検出された場合には、それ以前のグループに対応する判別器を用いて検出された顔画像の候補については、誤検出とみなして削除するようにする。上記のような検出すべき顔の傾きの固定を行う場合には、例えば、第2のグループに対応する判別器を用いた際に信頼性の高い顔画像の候補が検出されて、検出すべき顔の傾きの固定が行われたときには、第3、第4のグループに対応する判別器は用いず、これらのグループに属する傾きの顔については検出が行われないため、これらの傾きの顔については誤検出が発生することはない。しかし、第1のグループに対応する判別器を用いた際には、スコアが比較的低い顔画像の候補が検出されている可能性がある。それらは誤検出である可能性が高いと考えることができるため、第1のグループに対応する判別器による検出結果は誤検出とみなして削除することで、誤検出抑制が実現できる。
次に、本発明の第4の実施形態である顔検出システムについて説明する。
第4の実施形態による顔検出システムの構成およびその構成要素の機能は、基本的に、第1の実施形態による顔検出システムと同様であるが、解像度画像選択部31の処理が若干異なるものである。
すなわち、本実施形態では、第1の実施形態と同様に、解像度画像選択部31が多重解像度化部10により生成された複数の解像度画像を1つずつ選択し、その選択された解像度画像上でサブウィンドウ設定部32が切り出した1つの部分画像Wを所定の順序で選択された各判別器に順次入力してゆき、検出すべき全ての顔の位置および傾きについてスコア算出および判別を行うようにするのであるが、途中、いずれかの判別器によって算出されたスコアscが、第1の閾値Th1より大きい第2の閾値Th2以上であったとき、その後のスコア算出および判別を、検出すべき顔の大きさ、すなわち、“そのスコアが算出されたときの顔の大きさに対応する解像度画像”に限定して行うものである。
次に、第1の実施形態による顔検出システム1における処理の流れについて説明する。
図18a,18bは、第4の実施形態による顔検出システム1における処理の流れを示したフローチャートである。これらの図に示すように、本システムに検出対象画像S0が供給されると(ステップST71)、多重解像度化部10が、この検出対象画像S0の画像サイズが所定のサイズに変換された画像S0′を生成し、この画像S0′から2の−1/3乗倍ずつサイズ(解像度)が縮小された複数の解像度画像からなる解像度画像群S1が生成される(ステップST72)。そして、正規化部20が、解像度画像群S1の各解像度化像に対して、上述の全体正規化処理と局所正規化処理を施し、正規化済みの解像度画像群S1′を得る(ステップST73)。
次に、顔検出部30の解像度画像選択部31が、解像度画像群S1′の中から画像サイズの小さい順、すなわち、S1′_M,S1′_M-1,・・・,S1′_1の順に所定の解像度画像S1′_mを1つ選択することにより、検出すべき顔の大きさを選択する(ステップST74)。サブウィンドウ設定部32は、選択された解像度画像S1′_m上でサブウィンドウを所定のピッチ、例えば2画素間隔で移動しながら順番に設定して所定サイズの部分画像Wを切り出す(ステップST75)。そして、検出すべき顔の傾きを所定の順序で1つ設定し(ステップST76)、すなわち、判別すべき顔の傾きがこの設定された顔の傾きである所定の判別器を選択し、切り出された現在の部分画像Wをこの選択された判別器に入力する(ステップST77)。部分画像Wが入力された判別器は、複数の弱判別器を用いて、部分画像Wがその判別器に対応する所定の傾きおよび向きの顔を含む顔画像である蓋然性を示すスコアscを算出し(ステップST78)、算出されたスコアscが第1の閾値Th1以上であるときに、この部分画像Wを顔画像の候補Diとして抽出する(ステップST79)。
サブウィンドウ設定部32は、顔画像の候補Diが抽出された場合に、検出すべき顔の大きさが既に限定されているか否かを判定し(ステップST80)、検出すべき顔の大きさが既に限定されていると判定された場合には、ステップST43に移行する。一方、検出すべき顔の大きさが未だ限定されていないと判定された場合には、さらに、その算出されたスコアscが第1の閾値Th1より大きい第2の閾値Th2以上であるか否かを判定する(ステップST81)。ここで、スコアscが第2の閾値Th2以上であると判定された場合には、これ以降に設定する検出すべき顔の大きさを、当該スコアが算出されたときの特定の顔の大きさと当該大きさから1段階大きい大きさに限定する設定を行う(ステップST42)。
そして、現在設定されている検出すべき顔の傾きが、順番として最後の傾きであるか否かを判定し(ステップST83)、現在設定されている顔の傾きが最後の傾きでないと判定された場合には、ステップST76に戻り、検出すべき顔の傾きとして次の順番となる新たな傾きを設定し、すなわち、判別すべき顔の傾きがこの設定された傾きである所定の判別器を選択し、切り出された現在の部分画像Wをこの選択された判別器に入力する。一方、現在設定されている検出すべき顔の傾きが最後の傾きであると判定された場合には、ステップST84に移行する。
ステップST84では、現在の部分画像Wが現在の解像度画像上で最後の部分画像であるか否かを判定する。ここで、現在の部分画像Wが最後の部分画像でないと判定された場合には、ステップST75に戻り、現在の解像度画像上で新たな部分画像Wを切り出し、検出処理を続行する。一方、現在の部分画像Wが最後の部分画像であると判定された場合には、ステップST85に移行する。
ステップST85では、顔像度画像選択部31が、現在の解像度画像が最後の解像度画像であるか否かを判定する。すなわち、既にすべての解像度画像に対して顔検出処理を行ったか、もしくは、検出すべき顔の大きさがステップ82により限定されることにより、次に顔検出処理を行うべき解像度画像があるか否かを判定する。ここで、現在の解像度画像が最後の解像度画像でないと判定された場合には、ステップST74に戻り、新たな解像度画像を選択し、顔画像の検出処理を続行する。一方、現在の解像度画像が最後の解像度画像であると判定された場合には、ステップST86に移行する。
ステップST86では、顔画像削除部34が、検出すべき顔の大きさを限定する設定がなされた場合に、検出されたすべての顔画像の候補Diの中のうち、検出すべき顔の大きさが検出すべき顔の大きさを限定する設定がなされたときに選択されていた、検出すべき顔の大きさおよび当該大きさ±1段階異なる大きさとは異なる大きさの顔を含む顔画像の候補を非顔画像として削除するとともに、残りの顔画像の候補を顔画像S2として決定する。
そして、重複検出判定部40が、検出された顔画像S2の位置関係に基づいて、顔画像S2の各々に対して、その顔画像が、入力された検出対象画像S0上では同一の顔を表す顔画像であって解像度の隣接する複数の解像度画像上で重複して検出されたものであるか否かを判定し、重複して検出されたと認められる複数の顔画像を1つにまとめる処理を行い、重複検出のない顔画像S3を得る(ステップST87)。
このような第4の実施形態による顔検出システムによれば、入力画像上で検出すべき顔の位置および大きさを変えながら、検出すべき顔の位置および大きさ毎に、当該位置における部分画像が当該大きさの顔を含む顔画像である蓋然性を示す指標値を算出し、その指標値が第1の閾値以上である部分画像を顔画像として抽出することにより、入力画像に含まれる顔画像を検出する顔検出処理において、算出された指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の指標値の算出を、検出すべき顔の大きさを当該指標値が算出されたときの大きさに限定して行うようにしているので、誤検出されたものでなく真の顔画像とみなすことができる信頼性の高い顔画像が検出された場合には、同一画像上に含まれる顔の大きさは略同じ大きさに揃うことが多いという経験則に基づいて、顔画像が検出される可能性が低くその必要性が乏しいと考えられる、前記信頼性の高い顔画像の顔の大きさとは異なる顔の大きさに対する検出処理を省略することができ、顔検出処理の高速化を実現することが可能となる。
以上、本発明の実施形態に係る顔検出システムについて説明したが、この顔検出システムのうちの本発明の顔検出装置に対応する部分における各処理をコンピュータに実行させるためのプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の1つである。
顔検出システム1の構成を示すブロック図 検出対象画像の多重解像度化の工程を示す図 全体正規化処理に用いる変換曲線の一例を示す図 局所正規化処理の概念を示す図 局所正規化処理のフローを示す図 判別器群の構成を示すブロック図 判別器における処理フローを示す図 弱判別器における特徴量の算出を説明するための図 判別器の学習方法を示すフローチャート 目の位置が所定の位置にくるように規格化された顔のサンプル画像を示す図 弱判別器のヒストグラムを導出する方法を示す図 検出すべき顔の傾きがその傾きに応じてグループ分けされる様子を示す図 第1の実施形態による顔検出システム1における処理を示すフローチャート(前半部) 第1の実施形態による顔検出システム1における処理を示すフローチャート(後半部) 顔検出対象となる解像度画像の切替えとその画像上でのサブウィンドウの移動を説明するための図 解像度画像上で信頼性の高い顔画像が検出された後、検出すべき顔の傾きをその傾きに固定して検出処理を続行する様子を示した図 第2の実施形態による顔検出システム1における処理を示すフローチャート(前半部) 第2の実施形態による顔検出システム1における処理を示すフローチャート(後半部) 解像度画像上で信頼性の高い顔画像が検出された後、検出すべき顔の傾きのグループをその傾きが属するグループに限定して検出処理を続行する様子を示した図 第4の実施形態による顔検出システム1における処理を示すフローチャート(前半部) 第4の実施形態による顔検出システム1における処理を示すフローチャート(後半部)
符号の説明
1 顔検出システム
10 多重解像度化部
20 正規化部
30 顔検出部
31 解像度画像選択部
32 サブウィンドウ設定部(指標値算出手段)
33 判別器群(指標値算出手段,顔画像抽出手段)
34 顔画像削除部(顔画像削除手段)
40 重複検出判定部

Claims (21)

  1. 入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出することにより、前記入力画像に含まれる顔画像を検出する顔検出方法において、
    算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きに限定して行うことを特徴とする顔検出方法。
  2. 検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、前記指標値の算出を該グループ毎に行うことを特徴とする請求項1記載の顔検出方法。
  3. 入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出することにより、前記入力画像に含まれる顔画像を検出する顔検出方法において、
    検出すべき全ての顔の傾きを、近接する複数の異なる傾きからなる複数のグループに分割し、前記指標値の算出を該グループ毎に行い、
    算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うことを特徴とする顔検出方法。
  4. 前記検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定された前記傾きとは異なる傾きの顔を含む顔画像を非顔画像として削除することを特徴とする請求項1、2または3記載の顔検出方法。
  5. 前記複数のグループが、前記入力画像の天地方向を基準としたときの、0度、90度、180度および270度の傾きをそれぞれ別々に含む4つのグループからなるものであることを特徴とする請求項2、3または4記載の顔検出方法。
  6. 前記検出すべき顔の傾きを限定する前において、前記検出すべき顔の傾きを、前記180度の傾きを含むグループを最後とする所定の順序で変えることを特徴とする請求項5記載の顔検出方法。
  7. 入力画像上で検出すべき顔の位置および大きさを変えながら、前記検出すべき顔の位置および大きさ毎に、該位置における部分画像が該大きさの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出することにより、前記入力画像に含まれる顔画像を検出する顔検出方法において、
    算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の大きさを該指標値が算出されたときの大きさに限定して行うことを特徴とする顔検出方法。
  8. 入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段とを備え、前記入力画像に含まれる顔画像を検出する顔検出装置において、
    前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きに限定して行うものであることを特徴とする顔検出装置。
  9. 前記指標値算出手段が、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行うものであることを特徴とする請求項8記載の顔検出装置。
  10. 入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段とを備え、前記入力画像に含まれる顔画像を検出する顔検出装置において、
    前記指標値算出手段が、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行い、
    算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うものであることを特徴とする顔検出装置。
  11. 前記検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定された前記傾きとは異なる傾きの顔を含む顔画像を非顔画像として削除する顔画像削除手段を備えたことを特徴とする請求項8、9または10記載の顔検出装置。
  12. 前記複数のグループが、前記入力画像の天地方向を基準としたときの、0度、90度、180度および270度の傾きをそれぞれ別々に含む4つのグループからなるものであることを特徴とする請求項9、10または11記載の顔検出装置。
  13. 前記指標値算出手段が、前記検出すべき顔の傾きを限定する前において、前記検出すべき顔の傾きを、前記180度の傾きを含むグループを最後とする所定の順序で変えるものであることを特徴とする請求項12記載の顔検出装置。
  14. 入力画像上で検出すべき顔の位置および大きさを変えながら、前記検出すべき顔の位置および大きさ毎に、該位置における部分画像が該大きさの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段とを備え、前記入力画像に含まれる顔画像を検出する顔検出装置において、
    前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の大きさを該指標値が算出されたときの大きさに限定して行うものであることを特徴とする顔検出装置。
  15. コンピュータを、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段として機能させることにより、該コンピュータを、前記入力画像に含まれる顔画像を検出する顔検出装置として機能させるためのプログラムにおいて、
    前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きに限定して行うものであることを特徴とするプログラム。
  16. 前記指標値算出手段が、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行うものであることを特徴とする請求項15記載のプログラム。
  17. コンピュータを、入力画像上で検出すべき顔の位置および傾きを変えながら、前記検出すべき顔の位置および傾き毎に、該位置における部分画像が該傾きの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段として機能させることにより、該コンピュータを、前記入力画像に含まれる顔画像を検出する顔検出装置として機能させるためのプログラムにおいて、
    前記指標値算出手段が、前記指標値の算出を、検出すべき全ての顔の傾きを近接する複数の異なる傾きからなる複数のグループに分割したときの該グループ毎に行い、
    算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の傾きを該指標値が算出されたときの傾きが属するグループ内の傾きに限定して行うものであることを特徴とするプログラム。
  18. 前記コンピュータを、さらに、
    前記検出すべき顔の傾きを限定する前に検出された顔画像のうち、限定された前記傾きとは異なる傾きの顔を含む顔画像を非顔画像として削除する顔画像削除手段として機能させることを特徴とする請求項15、16または17記載のプログラム。
  19. 前記複数のグループが、前記入力画像の天地方向を基準としたときの、0度、90度、180度および270度の傾きをそれぞれ別々に含む4つのグループからなるものであることを特徴とする請求項16、17または18記載のプログラム。
  20. 前記指標値算出手段が、前記検出すべき顔の傾きを限定する前において、前記検出すべき顔の傾きを、前記180度の傾きを含むグループを最後とする所定の順序で変えるものであることを特徴とする請求項19記載のプログラム。
  21. コンピュータを、入力画像上で検出すべき顔の位置および大きさを変えながら、前記検出すべき顔の位置および大きさ毎に、該位置における部分画像が該大きさの顔を含む顔画像である蓋然性を示す指標値を算出する指標値算出手段と、該指標値が第1の閾値以上である前記部分画像を顔画像として抽出する顔画像抽出手段として機能させることにより、該コンピュータを、前記入力画像に含まれる顔画像を検出する顔検出装置として機能させるためのプログラムにおいて、
    前記指標値算出手段が、算出された前記指標値が前記第1の閾値より大きい第2の閾値以上であったとき、その後の前記指標値の算出を、前記検出すべき顔の大きさを該指標値が算出されたときの大きさに限定して行うものであることを特徴とするプログラム。
JP2006008417A 2005-10-13 2006-01-17 顔検出方法および装置並びにプログラム Active JP4657930B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006008417A JP4657930B2 (ja) 2006-01-17 2006-01-17 顔検出方法および装置並びにプログラム
US11/580,018 US7889892B2 (en) 2005-10-13 2006-10-13 Face detecting method, and system and program for the methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006008417A JP4657930B2 (ja) 2006-01-17 2006-01-17 顔検出方法および装置並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007193404A true JP2007193404A (ja) 2007-08-02
JP4657930B2 JP4657930B2 (ja) 2011-03-23

Family

ID=38449086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006008417A Active JP4657930B2 (ja) 2005-10-13 2006-01-17 顔検出方法および装置並びにプログラム

Country Status (1)

Country Link
JP (1) JP4657930B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193740A (ja) * 2006-01-23 2007-08-02 Fujifilm Corp 顔検出方法および装置並びにプログラム
JP2011059897A (ja) * 2009-09-08 2011-03-24 Fujifilm Corp 画像解析装置、画像解析方法およびプログラム
JP2011086259A (ja) * 2009-10-19 2011-04-28 Canon Inc 物体識別装置及び物体識別方法
JP2013206458A (ja) * 2012-03-28 2013-10-07 Mitsubishi Electric Corp 画像における外観及びコンテキストに基づく物体分類
CN113705444A (zh) * 2021-08-27 2021-11-26 成都玻尔兹曼智贝科技有限公司 一种面部发育分析评估方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062565A (ja) * 2002-07-30 2004-02-26 Canon Inc 画像処理装置及び方法並びにプログラム記憶媒体
JP2005267512A (ja) * 2004-03-22 2005-09-29 Fuji Photo Film Co Ltd 特定領域検出方法、特定領域検出装置、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062565A (ja) * 2002-07-30 2004-02-26 Canon Inc 画像処理装置及び方法並びにプログラム記憶媒体
JP2005267512A (ja) * 2004-03-22 2005-09-29 Fuji Photo Film Co Ltd 特定領域検出方法、特定領域検出装置、およびプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193740A (ja) * 2006-01-23 2007-08-02 Fujifilm Corp 顔検出方法および装置並びにプログラム
JP4657934B2 (ja) * 2006-01-23 2011-03-23 富士フイルム株式会社 顔検出方法および装置並びにプログラム
JP2011059897A (ja) * 2009-09-08 2011-03-24 Fujifilm Corp 画像解析装置、画像解析方法およびプログラム
JP2011086259A (ja) * 2009-10-19 2011-04-28 Canon Inc 物体識別装置及び物体識別方法
US8666176B2 (en) 2009-10-19 2014-03-04 Canon Kabushiki Kaisha Object recognition apparatus and object recognition method
JP2013206458A (ja) * 2012-03-28 2013-10-07 Mitsubishi Electric Corp 画像における外観及びコンテキストに基づく物体分類
CN113705444A (zh) * 2021-08-27 2021-11-26 成都玻尔兹曼智贝科技有限公司 一种面部发育分析评估方法及系统

Also Published As

Publication number Publication date
JP4657930B2 (ja) 2011-03-23

Similar Documents

Publication Publication Date Title
JP4712563B2 (ja) 顔検出方法および装置並びにプログラム
JP4657934B2 (ja) 顔検出方法および装置並びにプログラム
JP4640825B2 (ja) 特定向き顔判定方法および装置並びにプログラム
JP4628882B2 (ja) 判別器の学習方法、顔判別方法および装置並びにプログラム
JP4619927B2 (ja) 顔検出方法および装置並びにプログラム
JP4744918B2 (ja) 顔検出方法および装置並びにプログラム
JP4708909B2 (ja) デジタル画像の対象物検出方法および装置並びにプログラム
JP4624889B2 (ja) 顔検出方法および装置並びにプログラム
JP4708948B2 (ja) 顔向き特定方法、顔判別方法および装置並びにプログラム
JP4517633B2 (ja) 対象物検出装置及び方法
JP4757598B2 (ja) 顔検出方法および装置並びにプログラム
JP2007213182A (ja) 対象物状態認識方法および装置並びにプログラム
EP2370931B1 (en) Method, apparatus and computer program product for providing an orientation independent face detector
JP2014530424A (ja) Adaboost学習アルゴリズムを使用して顔特徴点の位置を検出するための方法、装置、およびコンピュータ可読記録媒体
JP4657930B2 (ja) 顔検出方法および装置並びにプログラム
WO2014074959A1 (en) Real-time face detection using pixel pairs
JP5317934B2 (ja) オブジェクト検出装置および方法並びにプログラム
KR100664956B1 (ko) 눈 검출 방법 및 장치
JP2011170890A (ja) 顔検出方法および装置並びにプログラム
JP4749884B2 (ja) 顔判別装置の学習方法、顔判別方法および装置並びにプログラム
JP4749879B2 (ja) 顔判別方法および装置並びにプログラム
JP4795737B2 (ja) 顔検出方法および装置並びにプログラム
KR20060121503A (ko) 무인 감시 로봇에서 중요 얼굴 추적 장치 및 방법
JP2006244385A (ja) 顔判別装置およびプログラム並びに顔判別装置の学習方法
KR100590572B1 (ko) 눈 위치 검출 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101122

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: 20101130

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: 20101222

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4657930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250