(57)【特許請求の範囲】
【請求項１】
入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出ステップと、該候補が真の顔画像であるか否かを判別する判別ステップとからなる顔検出方法において、
前記判別ステップが、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きと略同じ傾きであり顔の向きが第２の向きである前記顔画像の候補を真の顔画像と判別するものであることを特徴とする顔検出方法。
【請求項２】
入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出ステップと、該候補が真の顔画像であるか否かを判別する判別ステップとからなる顔検出方法において、
前記判別ステップが、前記抽出されたすべての候補のうち前記算出された指標値が第２の閾値以上であるものを真の顔画像と判別するものであって、
顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きと略同じ傾きであり顔の向きが第２の向きである前記顔画像の候補に対する前記第２の閾値を低くして判別するものであることを特徴とする顔検出方法。
【請求項３】
前記評価値が、顔の向きが前記第１の向きである前記顔画像の候補の数であり、前記所定の閾値が２以上の整数であることを特徴とする請求項１または２記載の顔検出方法。
【請求項４】
前記評価値が、顔の向きが前記第１の向きである前記顔画像の候補における前記指標値の総和であることを特徴とする請求項１または２記載の顔検出方法。
【請求項５】
前記第１の向きと前記第２の向きが同じ向きであることを特徴とする請求項１、２または３記載の顔検出方法。
【請求項６】
前記第１および第２の向きが複数の異なる向きを含むものであることを特徴とする請求項５記載の顔検出方法。
【請求項７】
前記第１の向きが正面、前記第２の向きが横または斜め横であることを特徴とする請求項１、２または３記載の顔検出方法。
【請求項８】
入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段とを備えた顔検出装置において、
前記判別手段が、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きと略同じ傾きであり顔の向きが第２の向きである前記顔画像の候補を真の顔画像と判別するものであることを特徴とする顔検出装置。
【請求項９】
入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段とを備えた顔検出装置において、
前記判別手段が、前記抽出されたすべての候補のうち前記算出された指標値が第２の閾値以上であるものを真の顔画像と判別するものであって、
顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きと略同じ傾きであり顔の向きが第２の向きである前記顔画像の候補に対する前記第２の閾値を低くして判別するものであることを特徴とする顔検出装置。
【請求項１０】
前記評価値が、顔の向きが前記第１の向きである前記顔画像の候補の数であり、前記所定の閾値が２以上の整数であることを特徴とする請求項８または９記載の顔検出装置。
【請求項１１】
前記評価値が、顔の向きが前記第１の向きである前記顔画像の候補における前記指標値の総和であることを特徴とする請求項８または９記載の顔検出装置。
【請求項１２】
前記第１の向きと前記第２の向きが同じ向きであることを特徴とする請求項８、９または１０記載の顔検出装置。
【請求項１３】
前記第１および第２の向きが複数の異なる向きを含むものであることを特徴とする請求項１２記載の顔検出装置。
【請求項１４】
前記第１の向きが正面、前記第２の向きが横または斜め横であることを特徴とする請求項８、９または１０記載の顔検出装置。
【請求項１５】
コンピュータを、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段として機能させることにより、該コンピュータを顔検出装置として機能させるためのプログラムにおいて、
前記判別手段が、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きと略同じ傾きであり顔の向きが第２の向きである前記顔画像の候補を真の顔画像と判別するものであることを特徴とするプログラム。
【請求項１６】
コンピュータを、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段として機能させることにより、該コンピュータを顔検出装置として機能させるためのプログラムにおいて、
前記判別手段が、前記抽出されたすべての候補のうち前記算出された指標値が第２の閾値以上であるものを真の顔画像と判別するものであって、
顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きと略同じ傾きであり顔の向きが第２の向きである前記顔画像の候補に対する前記第２の閾値を低くして判別するものであることを特徴とするプログラム。
【請求項１７】
前記評価値が、顔の向きが前記第１の向きである前記顔画像の候補の数であり、前記所定の閾値が２以上の整数であることを特徴とする請求項１５または１６記載のプログラム。
【請求項１８】
前記評価値が、顔の向きが前記第１の向きである前記顔画像の候補における前記指標値の総和であることを特徴とする請求項１５または１６記載のプログラム。
【請求項１９】
前記第１の向きと前記第２の向きが同じ向きであることを特徴とする請求項１５、１６または１７記載のプログラム。
【請求項２０】
前記第１および第２の向きが複数の異なる向きを含むものであることを特徴とする請求項１９記載のプログラム。
【請求項２１】
前記第１の向きが正面、前記第２の向きが横または斜め横であることを特徴とする請求項１５、１６または１７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像に含まれる顔を検出する顔検出方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来、特に、画像補正処理、セキュリティシステム、デジタルカメラ制御等の分野において、デジタル画像に含まれる顔を検出する顔検出方法が研究されており、種々の顔検出方法が提案されている。その方法の１つとして、デジタル画像上でサブウィンドウを走査しながら、このサブウィンドウの画像が顔を含む顔画像であるか否かを、判別器を用いて順次判別することにより、このデジタル画像に含まれる顔を検出する顔検出方法が提案されている（例えば、非特許文献１，特許文献１）。
【０００３】
ところで、顔画像には、主に、正面を向いた正面顔を含む正面顔画像と、横を向いた横顔を含む横顔画像とがあり、それぞれ画像上の特徴が異なる。そこで、検出対象画像上でこれら正面顔画像と横顔画像とをともに検出する場合には、一般的に、正面顔画像の判別と横顔画像の判別とで別々の判別器を用いる。例えば、正面顔画像を判別するための判別器には、正面顔を表す複数の異なるサンプル画像により正面顔の特徴を学習した判別器を用い、横顔画像を判別するための判別器には、横顔を表す複数の異なるサンプル画像により横顔の特徴を学習した判別器を用いる。
【非特許文献１】「高速全方向顔検出」，Shihong LAO他，画像の認識・理解シンポジウム（MIRU2004），２００４年７月，P.II-271−II-276
【特許文献１】ＵＳ２００２／０１０２０２４ Ａ１（米国特許出願公開公報）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の判別器を用いた顔検出方法において、検出対象画像上に顔の特徴に類似した非顔のパターンが存在する場合には、その非顔の画像を顔画像であると誤検出してしまう場合がある。特に、横顔は、正面顔と比べて、顔を構成する顔部品が少なく顔の面積が小さいため画像上に現れる顔としての特徴が少なく、また、顔の構造が複雑であり、さらに左向きの横顔と右向きの横顔の両方を検出する必要があることから、横顔画像の誤検出率は、正面顔画像の誤検出率に比べて高い傾向にある。
【０００５】
このように、画像に含まれる顔を、顔の画像上の特徴を手がかり検出しようとする場合には、少なくとも誤検出が生じる可能性があり、できるだけ誤検出を抑えて顔を検出することが望まれる。また、その誤検出率は一般的に顔の向きによって異なるため、誤検出率の高い顔の向きについても、その誤検出をより抑えることが望まれる。
【０００６】
本発明は、上記事情に鑑み、誤検出をより抑制することが可能な顔検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の顔検出方法は、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出ステップと、該候補が真の顔画像であるか否かを判別する判別ステップとからなる顔検出方法において、前記判別ステップが、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きであり顔の向きが第２の向きである前記顔画像の候補を真の顔画像と判別するものであることを特徴とするものである（第１の顔検出方法）。
【０００８】
本発明の顔検出方法は、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出ステップと、該候補が真の顔画像であるか否かを判別する判別ステップとからなる顔検出方法において、前記判別ステップが、前記抽出されたすべての候補のうち前記算出された指標値が第２の閾値以上であるものを真の顔画像と判別するものであって、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きであり顔の向きが第２の向きである前記顔画像の候補に対する前記第２の閾値を低くして判別するものであることを特徴とするものである（第２の顔検出方法）。
【０００９】
本発明の顔検出装置は、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段とを備えた顔検出装置において、前記判別手段が、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きであり顔の向きが第２の向きである前記顔画像の候補を真の顔画像と判別するものであることを特徴とするものである（第１の顔検出装置）。
【００１０】
本発明の顔検出装置は、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段とを備えた顔検出装置において、前記判別手段が、前記抽出されたすべての候補のうち前記算出された指標値が第２の閾値以上であるものを真の顔画像と判別するものであって、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きであり顔の向きが第２の向きである前記顔画像の候補に対する前記第２の閾値を低くして判別するものであることを特徴とするものである（第２の顔検出装置）。
【００１１】
本発明のプログラムは、コンピュータを、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段として機能させることにより、該コンピュータを顔検出装置として機能させるためのプログラムにおいて、前記判別手段が、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きであり顔の向きが第２の向きである前記顔画像の候補を真の顔画像と判別するものであることを特徴とするものである（第１のプログラム）。
【００１２】
本発明のプログラムは、コンピュータを、入力画像上で検出すべき顔の位置、傾きおよび向きを変えながら、前記検出すべき顔の位置、傾きおよび向き毎に、該位置における部分画像が該傾きおよび該向きの顔を含む顔画像である蓋然性を示す指標値を算出し、該指標値が第１の閾値以上である前記部分画像を前記顔画像の候補としてすべて抽出する顔候補抽出手段と、該候補が真の顔画像であるか否かを判別する判別手段として機能させることにより、該コンピュータを顔検出装置として機能させるためのプログラムにおいて、前記判別手段が、前記抽出されたすべての候補のうち前記算出された指標値が第２の閾値以上であるものを真の顔画像と判別するものであって、顔の傾きが所定の傾きであり顔の向きが第１の向きである前記顔画像の候補の信頼度を表す所定の評価値が所定の閾値以上であるとき、顔の傾きが前記所定の傾きであり顔の向きが第２の向きである前記顔画像の候補に対する前記第２の閾値を低くして判別するものであることを特徴とするものである（第２のプログラム）。
【００１３】
本発明において、「顔の傾き」とは、いわゆるインプレーン（画像面内）方向での傾きを意味し、別の言い方をすれば、顔の画像上での回転位置を意味するものである。また、「顔の向き」とは、いわゆるアウトプレーン（画像面外）方向での向きを意味し、別の言い方をすれば、顔の左右首振り方向での向きを意味するものである。
【００１４】
また、「所定の傾きと略同じ傾き」とは、例えば、所定の傾きからの角度が±１５度以内の角度とすることができる。
【００１５】
本発明において、前記評価値は、顔の向きが前記第１の向きである前記顔画像の候補の数であり、前記所定の閾値は２以上の整数であってもよい。
【００１６】
また、前記評価値は、顔の向きが前記第１の向きである前記顔画像の候補における前記指標値の総和であってもよい。
【００１７】
また、前記第１の向きと前記第２の向きは同じ向きであってもよい。この場合、前記第１および第２の向きは、複数の異なる向きを含むものであってもよい。
【００１８】
また、前記第１の向きは正面、前記第２の向きは横または斜め横であってもよい。
【００１９】
本発明において、前記指標値の算出は、顔の向きおよび傾きが所定の向きおよび傾きである顔を表す複数の異なるサンプル画像を用いたマシンラーニングの手法により、その顔の特徴を学習してなる判別器による算出であってもよい。
【００２０】
前記マシンラーニングの手法としては、例えば、ブースティング（Ｂｏｏｓｔｉｎｇ）、ニューラルネットワーク等を考えることができる。
【発明の効果】
【００２１】
本発明の顔検出方法および装置並びにそのためのプログラムによれば、入力画像において、ある傾きの顔の候補が検出された場合に、その候補の信頼度を表す所定の評価値がある閾値を超えたときに、顔の傾きがその候補の顔の傾きと同じである別の候補に対して、真の顔として受け入れる、あるいは、真の顔として受け入れるか否かの受入れ閾値を低くする処理を行うので、同一画像上に含まれる複数の顔はほぼ同じ傾きであることが多いという事実を利用して、誤検出である可能性が低い候補を真の顔として受け入れる傾向を強めることができ、顔の誤検出をより抑制することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態について説明する。
【００２３】
図１は本発明の実施形態による顔検出システム１の構成を示す概略ブロック図である。この顔検出システム１は、デジタル画像において正面顔を含む正面顔画像と横顔を含む横顔画像（以下、これらの画像を単に顔画像ともいう）とを、その顔の位置や大きさ、顔の傾き（インプレーン方向での傾き）によらず検出するものである。本顔検出システム１は、特に検出精度、ロバスト性が優れているとされる顔検出の手法として、サンプル画像を用いたマシンラーニングの学習により生成された判別器モジュール（以下、単に判別器という）を用いる手法を採用したものである。この手法は、顔の傾きおよび向きが略揃った複数の異なる顔サンプル画像からなる顔サンプル画像群と、顔でないことが分かっている複数の異なる非顔サンプル画像からなる非顔サンプル画像群とを用いて、顔の特徴を学習させ、ある画像が所定の傾きと向きを持つ顔の画像であるか否かを判別できる判別器を生成して用意しておき、顔画像の検出対象となる画像（以下、検出対象画像という）において部分画像を順次切り出し、その部分画像が顔画像であるか否かを上記の判別器を用いて判別することにより、検出対象画像上の顔画像を検出する手法である。
【００２４】
顔検出システム１は、図１に示すように、多重解像度化部１０、正規化部２０、顔候補検出部３０、重複検出判定部４０、判別部５０を備えている。顔候補検出部３０は、さらに、解像度画像選択部３１、サブウィンドウ設定部３２、判別器群３３を備えている。
【００２５】
多重解像度化部１０は、顔を検出する対象となる入力画像Ｓ０を多重解像度化して解像度の異なる複数の画像（Ｓ１＿１，Ｓ１＿２，・・・，Ｓ１＿ｎ；以下、解像度画像という）からなる解像度画像群Ｓ１を得るものである。すなわち、多重解像度化部１０は、入力画像Ｓ０の解像度（画像サイズ）を変換することにより、その解像度を所定の解像度、例えば、短辺が４１６画素の矩形サイズの画像に規格化し、規格化済みの入力画像Ｓ０′を得、この規格化済みの入力画像Ｓ０′を基本としてさらに解像度変換を行うことにより、解像度の異なる複数の解像度画像を生成し、解像度画像群Ｓ１を得るものである。
【００２６】
このような解像度画像群を生成する理由は、通常、入力画像に含まれる顔の大きさは不明であるが、一方、検出しようとする顔の大きさ（画像サイズ）は、後述の判別器の生成方法と関連して一定の大きさに固定されるため、大きさの異なる顔を検出するためには、解像度の異なる画像上で位置をずらしながら所定サイズの部分画像をそれぞれ切り出し、その部分画像が顔画像であるか否かを判別してゆく必要があるためである。
【００２７】
図２は、入力画像の多重解像度化の工程を示した図である。多重解像度化、すなわち、解像度画像群の生成は、具体的には、図２に示すように、規格化済みの入力画像Ｓ０′を基本となる解像度画像Ｓ１＿１とし、解像度画像Ｓ１＿１に対して２の−１／３乗倍サイズの解像度画像Ｓ１＿２と、解像度画像Ｓ１＿２に対して２の−１／３乗倍サイズ（基本画像Ｓ１＿１に対しては２の−２／３乗倍サイズ）の解像度画像Ｓ１＿３とを先に生成し、その後、解像度画像Ｓ１＿１，Ｓ１＿２，Ｓ１＿３のそれぞれを１／２倍サイズに縮小した解像度画像を生成し、それら縮小した解像度画像をさらに１／２倍サイズに縮小した解像度画像を生成する、といった処理を繰り返し行い、複数の解像度画像を所定の数だけ生成するようにする。このようにすることで、輝度を表す画素値の補間処理を必要としない１／２倍の縮小処理を主な処理とし、基本となる解像度画像から２の−１／３乗倍ずつサイズが縮小された複数の画像が高速に生成できる。例えば、解像度画像Ｓ１＿１が短辺４１６画素の矩形サイズである場合、解像度画像Ｓ１＿２，Ｓ１＿３，・・・は、短辺がそれぞれ、３３０画素，２６２画素，２０８画素，１６５画素，１３１画素，１０４画素，８２画素，６５画素，・・・の矩形サイズとなり、２の−１／３乗倍ずつ縮小された複数の解像度画像を生成することができる。なお、このように画素値を補間しないで生成される画像は、元の画像パターンの特徴をそのまま担持する傾向が強いので、顔検出処理において精度向上が期待できる点で好ましい。
【００２８】
正規化部２０は、解像度画像のコントラストの状態が、後に実行される顔検出処理に適した状態となるように、解像度画像の各々に対して全体正規化処理および局所正規化処理を施し、正規化済みの複数の解像度画像（Ｓ１′＿１，Ｓ１′＿２，・・・，Ｓ１′＿ｎ）からなる解像度画像群Ｓ１′を得るものである。
【００２９】
まず、全体正規化処理について説明する。全体正規化処理は、解像度画像のコントラストを顔検出処理に適した所定のレベル、すなわち、後述の判別器の性能を引き出すのに適したレベルに近づけるべく、解像度画像全体の画素値をこの画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する処理である。
【００３０】
図３は全体正規化処理に用いる変換曲線の一例を示した図である。全体正規化処理としては、例えば、図３に示すような、画素値をｓＲＧＢ空間におけるいわゆる逆ガンマ変換（＝２．２乗する）した後にさらに対数をとるような変換曲線（ルックアップテーブル）にしたがって、画像全体における画素値を変換する処理を考えることができる。これは、次のような理由による。
【００３１】
画像として観測される光強度Ｉは、通常、被写体の反射率Ｒと光源の強度Ｌの積として表現される（Ｉ＝Ｒ×Ｌ）。したがって、光源の強度Ｌが変化すると、画像として観測される光強度Ｉも変化することになるが、被写体の反射率Ｒのみを評価することができれば、光源の強度Ｌに依存しない、すなわち、画像の明るさの影響を受けない精度の高い顔判別を行うことができる。
【００３２】
ここで、光源の強度がＬの場合において、被写体上で反射率がＲ１の部分から観測される光強度をＩ１、被写体上で反射率がＲ２の部分から観測される光強度をＩ２としたとき、それぞれの対数をとった空間では、下記の式が成り立つ。  
ｌｏｇ（Ｉ１）−ｌｏｇ（Ｉ２）＝ｌｏｇ（Ｒ１×Ｌ）−ｌｏｇ（Ｒ２×Ｌ）＝ｌｏｇ（Ｒ１）＋ｌｏｇ（Ｌ）−（ｌｏｇ（Ｒ２）＋ｌｏｇ（Ｌ））＝ｌｏｇ（Ｒ１）−ｌｏｇ（Ｒ２）＝ｌｏｇ（Ｒ１／Ｒ２）
【００３３】
すなわち、画像における画素値を対数変換することは、反射率の比が差として表現された空間へ変換することとなり、このような空間では、光源の強度Ｌに依存しない被写体の反射率のみを評価することが可能となる。言い換えると、画像中の明るさによって異なるコントラスト（ここでは画素値の差分そのもの）を揃えることができる。
【００３４】
一方、一般的なデジタルカメラ等の機器で取得された画像の色空間はｓＲＧＢである。ｓＲＧＢとは、機器間の色再現の違いを統一するために、色彩、彩度等を規定・統一した国際標準の色空間のことであり、この色空間においては、ガンマ値（γout）が２．２の画像出力機器において適正な色再現を可能にするため、画像の画素値は、入力輝度を１／γout（＝０．４５）乗して得られる値となっている。
【００３５】
そこで、画像全体における画素値を、いわゆる逆ガンマ変換、すなわち、２．２乗した後にさらに対数をとるような変換曲線にしたがって変換することにより、光源の強度に依存しない被写体の反射率のみによる評価を適正に行うことができるようになる。
【００３６】
なお、このような全体正規化処理は、別の言い方をすれば、画像全体における画素値を、特定の色空間を別の特性を有する色空間に変換する変換曲線にしたがって変換する処理ということができる。
【００３７】
このような処理を検出対象画像に施すことにより、画像中の明るさによって異なるコントラストを揃えることができ、顔検出処理の精度が向上することとなる。なお、この全体正規化処理は、処理結果が検出対象画像中の斜光や背景、入力モダリティの違いによる影響を受けやすい反面、処理時間が短いという特徴を有する。
【００３８】
次に、局所正規化処理について説明する。局所正規化処理とは、解像度画像上の局所的な領域におけるコントラストのばらつきを抑制するための処理である。すなわち、解像度画像に対して、この解像度画像における各局所領域について、輝度を表す画素値の分散の程度が所定レベル以上である局所領域に対して、この分散の程度を上記の所定レベルより高い一定レベルに近づける第１の輝度階調変換処理を施し、画素値の分散の程度が上記の所定レベル未満である局所領域に対して、この分散の程度を上記の一定レベルより低いレベルに抑える第２の輝度階調変換処理を施すものである。なお、この局所正規化処理は、処理時間は長いが、検出対象画像中の斜光や背景、入力モダリティの違いによる判別結果への影響は小さいという特徴を有する。
【００３９】
図４は局所正規化処理の概念を示した図であり、図５は局所正規化処理のフローを示した図である。また、式（１），（２）は、この局所正規化処理のための画素値の階調変換の式である。
【数１】
0004657934.tif 000002
【００４０】
ここで、Ｘは注目画素の画素値、Ｘ′は注目画素の変換後の画素値、ｍlocalは注目画素を中心とする局所領域における画素値の平均、Ｖlocalはこの局所領域における画素値の分散、ＳＤlocalはこの局所領域における画素値の標準偏差、（Ｃ１×Ｃ１）は上記の一定レベルに対応する基準値、Ｃ２は上記の所定レベルに対応する閾値、ＳＤｃは所定の定数である。なお、本実施形態において、輝度の階調数は８ｂｉｔとし、画素値の取り得る値は０から２５５とする。
【００４１】
図４に示すように、まず、部分画像Ｗ２における１つの画素を注目画素として設定し（ステップＳＴ１）、この注目画素を中心とする所定の大きさ、例えば１１×１１画素サイズの局所領域における画素値の分散Ｖlocalを算出し（ステップＳＴ２）、分散Ｖlocalが上記所定のレベルに対応する閾値Ｃ２以上であるか否かを判定する（ステップＳＴ３）。ステップＳＴ３において、分散Ｖlocalが閾値Ｃ２以上であると判定された場合には、上記第１の輝度階調変換処理として、分散Ｖlocalが上記一定のレベルに対応する基準値（Ｃ１×Ｃ１）より大きいほど、注目画素の画素値Ｘと平均ｍlocalとの差を小さくし、分散ｍlocalが基準値（Ｃ１×Ｃ１）より小さいほど、注目画素の画素値Ｘと平均ｍlocalとの差を大きくする階調変換を式（１）にしたがって行う（ステップＳＴ４）。一方、ステップＳＴ３において、分散Ｖlocalが閾値Ｃ２未満であると判定された場合には、上記第２の輝度階調変換処理として、分散Ｖlocalに依らない線形な階調変換を式（２）にしたがって行う（ステップＳＴ５）。そして、ステップＳＴ１で設定した注目画素が最後の画素であるか否かを判定する（ステップＳＴ６）。ステップＳＴ６において、その注目画素が最後の画素でないと判定された場合には、ステップＳＴ１に戻り、同じ部分画像上の次の画素を注目画素として設定する。一方、ステップＳＴ６において、その注目画素が最後の画素であると判定された場合には、その部分画像に対する局所正規化を終了する。このように、上記ステップＳＴ１からＳ６の処理を繰り返すことにより、解像度画像全体に局所正規化を施すことができる。
【００４２】
なお、上記の所定レベルは、局所領域における全体または一部の輝度に応じて変化させるようにしてもよい。例えば、上記の、注目画素毎に階調変換を行う正規化処理において、閾値Ｃ２を注目画素の画素値に応じて変化させるようにしてもよい。すなわち、上記の所定レベルに対応する閾値Ｃ２を、注目画素の輝度が相対的に高いときにはより高く設定し、その輝度が相対的に低いときにはより低く設定するようにしてもよい。このようにすることで、輝度の低い、いわゆる暗い領域に低いコントラスト（画素値の分散が小さい状態）で存在している顔も正しく正規化することができる。
【００４３】
なお、ここでは、検出すべき顔の傾きを、入力画像Ｓ０の天地方向を基準に入力画像Ｓ０の画像面内において３０度刻みで回転して設定される計１２種類の傾きとし、検出すべき顔の傾きの順序が初期設定として予め所定の順序で設定されている。例えば、入力画像Ｓ０の天地方向を基準に時計回りの回転角度で表すとして、上向き３方向である０度、３３０度、３０度、右向き３方向である９０度、６０度、１２０度、左向き３方向である２７０度、２４０度、３００度、そして、下向き３方向である１８０度、１５０度、２１０度の順序とする。
【００４４】
顔候補検出部３０は、正規化部２０により正規化処理がなされた解像度画像群Ｓ１′の各解像度画像に対して、検出すべき顔の傾きを予め設定された順序にしたがって変えながら顔検出処理を施すことにより、各解像度画像に含まれる顔画像の候補Ｓ２を所定数検出するものであり、上述のように、解像度画像選択部３１、サブウィンドウ設定部３２、判別器群３３とから構成されている。
【００４５】
解像度画像選択部３１は、解像度画像群Ｓ１′の中から顔検出処理に供する解像度画像をサイズの小さい順に（解像度の粗い順に）順次選択するものである。なお、本実施形態における顔検出の手法が、各解像度画像上で順次切り出された同じサイズの部分画像Ｗについてその部分画像Ｗが顔画像であるか否かを判別することにより入力画像Ｓ０における顔画像を検出する手法であるから、この解像度画像選択部３１は、入力画像Ｓ０における検出すべき顔の大きさを毎回変えながら設定するものであって、検出すべき顔の大きさを大から小へ変えながら設定するものと同等なものということができる。
【００４６】
サブウィンドウ設定部３２は、解像度画像選択部３１により選択された解像度画像において、顔画像であるか否かの判別対象となる部分画像Ｗを切り出すサブウィンドウを、その位置をずらしながら順次設定するものである。例えば、上記の選択された解像度画像において、所定のサイズすなわち３２×３２画素サイズの部分画像Ｗを切り出すサブウィンドウを、所定画素数分、例えば１画素ずつ移動させながら順次設定し、その切り出された部分画像Ｗを判別器群３３へ入力する。判別器群を構成する各判別器は、後述のように、それぞれ、ある画像が所定の傾きおよび向きの顔を含む顔画像であるか否かを判別するものであるから、このようにすることで、あらゆる向きにある顔の判別をすることが可能となる。
【００４７】
判別器群３３は、サブウィンドウによって切り出された部分画像Ｗが顔画像であるか否かを判別するものである。
【００４８】
図６は判別器群３３の構成を示した図である。判別器群３３は、図６に示すように、判別可能な顔の向きがそれぞれ異なる複数種類の判別器群、すなわち、主に正面顔画像を判別する正面顔判別器群３３＿Ｆ、主に左横顔画像を判別する左横顔判別器群３３＿Ｌおよび主に右横顔画像を判別する右横顔判別器群３３＿Ｒが並列に接続された構成である。さらに、これら３種の判別器群はそれぞれ、判別可能な顔の傾きが上記の部分画像の天地方向を基準として３０度ずつ異なる計１２方向に対応した判別器、すなわち、正面顔判別器群３３＿Ｆは、判別器３３＿Ｆ０，３３＿Ｆ３０，・・・，３３＿Ｆ３３０、左横顔判別器群３３＿Ｌは、判別器３３＿Ｌ０，３３＿Ｌ３０，・・・，３３＿Ｌ３３０、右横顔判別器群３３＿Ｒは、判別器３３＿Ｒ０，３３＿Ｒ３０，・・・，３３＿Ｒ３３０から構成されている。
【００４９】
なお、上記の各判別器は、図６に示すように、複数の弱判別器ＷＣが線形に結合したカスケード構造を有しており、弱判別器は、部分画像Ｗの画素値（輝度）の分布に係る少なくとも１つの特徴量を算出し、この特徴量を用いてこの部分画像Ｗが顔画像であるか否かを判別するものである。
【００５０】
また、判別器群３３は、いずれも、判別可能な主な顔の画像面外の向きを正面顔、左横顔および右横顔の３種としているが、斜め向きの顔の検出精度を上げるため、右斜め顔、左斜め顔をそれぞれ判別する判別器をさらに設けるようにしてもよい。
【００５１】
重複検出判定部４０は、顔検出部３０によって検出された顔画像の候補Ｓ２の位置情報に基づいて、解像度画像群Ｓ１′の各解像度画像上で検出された顔画像の候補のうち同一の顔を表す画像、すなわち重複して検出された顔画像の候補をそれぞれ１つの顔画像の候補としてまとめる処理を行い、入力画像Ｓ０において検出された重複のない顔画像の候補Ｓ３を出力する。判別器は、学習方法にもよるが、一般的に部分画像Ｗのサイズに対して検出できる顔の大きさにはある程度幅があるので、解像度レベルが隣接する複数の解像度画像において、同一の顔を表す画像が重複して検出される場合があるからである。
【００５２】
ここで、判別器群を構成する各判別器の構成、判別器における処理の流れおよび判別器の学習方法について説明する。
【００５３】
判別器は、図６に示すように、複数の弱判別器ＷＣからなり、後述の学習により多数の弱判別器ＷＣの中から選定された判別に有効な弱判別器ＷＣをその有効な順に直列に接続したものである。弱判別器ＷＣは、それぞれ、部分画像Ｗから弱判別器毎に固有の所定のアルゴリズムにしたがって特徴量を算出し、その特徴量と所定のスコアテーブル（後述の自己のヒストグラム）とに基づいて、部分画像Ｗが所定の傾きおよび向きにある顔画像であることの蓋然性を示すスコアを求めるものである。判別器は、これら複数の弱判別器ＷＣの全部または一部から得られたスコアを評価して、部分画像Ｗが所定の傾きおよび向きにある顔画像であるか否かの判別結果Ｒを得る。
【００５４】
図７は１つの判別器における処理の流れを示すフローチャートである。部分画像Ｗが判別器に入力されると、第１番目の弱判別器ＷＣにおいて特徴量ｘが算出される（ステップＳＴ１１）。例えば、図８に示すように、所定のサイズ、例えば、３２×３２画素サイズの部分画像Ｗに対して、４近傍画素平均（画像を２×２画素サイズ毎に複数のブロックに区分し、各ブロックの４画素における画素値の平均値をそのブロックに対応する１つの画素の画素値とする処理）を段階的に行うことにより、１６×１６画素サイズの画像Ｗ′と、８×８画素サイズの縮小した画像Ｗ″を得、もとの画像を含めたこれら３つの画像の平面内に設定される所定の２点を１ペアとして、複数種類のペアからなる１つのペア群を構成する各ペアにおける２点間の画素値（輝度）の差分値をそれぞれ計算し、これらの差分値の組合せを特徴量とする。各ペアの所定の２点は、例えば、画像上の顔の濃淡の特徴が反映されるよう決められた縦方向に並んだ所定の２点や、横方向に並んだ所定の２点とする。そして、特徴量である差分値の組合せに対応する値をｘとして算出する。次に、その値ｘに応じて所定のスコアテーブル（自己のヒストグラム）から部分画像Ｗが判別すべき顔（例えば、判別器３３＿Ｆ３０の場合には「顔の向きが正面で傾きが回転角度３０度の顔」）を表す画像であることの蓋然性を示すスコアが求められる（ステップＳＴ１２）。次に、１つ前の弱判別器ＷＣから引き渡されたスコアにそのスコアを加算して累積スコアＳＣを算出するのであるが、第１番目の弱判別器ＷＣの場合には、引き渡されるスコアが存在しないので、この場合には、求めたスコアをそのまま累積スコアＳＣとする（ステップＳＴ１３）。次に、その累積スコアＳＣが予め決められた所定の閾値Ｔｈ１を超えたか否か、および、その累積スコアＳＣが予め決められた所定の閾値Ｔｈ２を下回ったか否かを判定する（ステップＳＴ１４）。すなわち、ＳＣ＞Ｔｈ１という条件、もしくは、ＳＣ＜Ｔｈ２という条件のいずれかを満たすか否かを判定する。これらの条件を満たすと判定された場合には、ＳＣ＞Ｔｈ１のときに部分画像Ｗが判別すべき顔を表す「顔画像」であると判別し、ＳＣ＜Ｔｈ２のときに部分画像Ｗが「非顔画像」であると判別し、処理を終了する（ステップＳＴ１５）。一方、ステップＳＴ１４において、上記の条件を満たさないと判定された場合には、次の弱判別器ＷＣがあるか否かを判定し（ステップＳＴ１６）、ここで、次の弱判別器ＷＣがあると判定されたときには、累積スコアＳＣを次の弱判別器ＷＣに引き渡して、その次の弱判別器ＷＣの処理に移行する（ステップＳＴ１８）。一方、ステップＳＴ１６において、次の弱判別器ＷＣがないと判定された場合には、算出されたスコアの大小に基づいて、部分画像Ｗが判別すべき顔を表す「顔画像」、「非顔画像」のいずれかとして判別し処理を終了する（ステップＳＴ１７）。
【００５５】
次に、判別器の学習（生成）方法について説明する。
【００５６】
図９は判別器の学習方法を示すフローチャートである。判別器の学習には、所定のサイズ、例えば３２×３２画素サイズで規格化され、さらに、前述の正規化部２０による正規化処理と同様の処理が施された複数のサンプル画像を用いる。サンプル画像としては、顔であることが分かっている複数の異なる顔サンプル画像からなる顔サンプル画像群と、顔でないことが分かっている複数の異なる非顔サンプル画像からなる非顔サンプル画像群とを用意する。
【００５７】
顔サンプル画像群は、１つの顔サンプル画像につき、縦および／または横を０．７倍から１．２倍の範囲にて０．１倍単位で段階的に拡縮して得られる各サンプル画像に対し、平面上±１５度の範囲にて３度単位で段階的に回転させて得られる複数の変形バリエーションを用いる。なおこのとき、顔サンプル画像は、目の位置が所定の位置に来るように顔のサイズと位置を規格化し、上記の平面上の回転、拡縮は目の位置を基準として行うようにする。例えば、ｄ×ｄサイズのサンプル画像の場合においては、図１０に示すように、両目の位置が、サンプル画像の最左上の頂点と最右上の頂点から、それぞれ、内側に１／４ｄ、下側に１／４ｄ移動した各位置とに来るように顔のサイズと位置を規格化し、また、上記の平面上の回転、拡縮は、両目の中間点を中心に行うようにする。
【００５８】
これら各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（ステップＳＴ２１）。
【００５９】
次に、サンプル画像およびその縮小画像の平面内に設定される所定の２点を１ペアとして複数のペアからなるペア群を複数種類設定したときの、この複数種類のペア群のそれぞれについて弱半別器が作成される（ステップＳＴ２２）。ここで、それぞれの弱判別器とは、サブウィンドウＷで切り出された部分画像とその縮小画像の平面内に設定される所定の２点を１ペアとして複数のペアからなる１つのペア群を設定したときの、この１つのペア群を構成する各ペアにおける２点間の画素値（輝度）の差分値の組合せを用いて、顔の画像と顔でない画像とを判別する基準を提供するものである。本実施形態においては、１つのペア群を構成する各ペアにおける２点間の画素値の差分値の組合せについてのヒストグラムを弱判別器のスコアテーブルの基礎として使用する。
【００６０】
図１１はサンプル画像からヒストグラムが生成される様子を示した図である。図１１の左側のサンプル画像に示すように、この判別器を作成するためのペア群を構成する各ペアの２点は、顔であることが分かっている複数のサンプル画像において、サンプル画像上の右目の中心にある点をＰ１、右側の頬の部分にある点をＰ２、眉間の部分にある点をＰ３、サンプル画像を４近傍画素平均で縮小した１６×１６画素サイズの縮小画像上の右目の中心にある点をＰ４、右側の頬の部分にある点をＰ５、さらに４近傍画素平均で縮小した８×８画素サイズの縮小画像上の額の部分にある点をＰ６、口の部分にある点をＰ７として、Ｐ１−Ｐ２、Ｐ１−Ｐ３、Ｐ４−Ｐ５、Ｐ４−Ｐ６、Ｐ６−Ｐ７の５ペアである。なお、ある判別器を作成するための１つのペア群を構成する各ペアの２点の座標位置はすべてのサンプル画像において同一である。そして顔であることが分かっているすべてのサンプル画像について上記５ペアを構成する各ペアの２点間の画素値の差分値の組合せが求められ、そのヒストグラムが作成される。ここで、画素値の差分値の組合せとしてとり得る値は、画像の輝度階調数に依存するが、仮に１６ビット階調である場合には、１つの画素値の差分値につき６５５３６通りあり、全体では階調数の（ペア数）乗、すなわち６５５３６の５乗通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、画素値の差分値を適当な数値幅で区切って量子化し、ｎ値化する（例えばｎ＝１００）。これにより、画素値の差分値の組合せの数はｎの５乗通りとなるため、画素値の差分値の組合せを表すデータ数を低減できる。
【００６１】
同様に、顔でないことが分かっている複数の非顔サンプル画像についても、ヒストグラムが作成される。なお、非顔サンプル画像については、顔であることが分かっている顔サンプル画像上における上記各ペアの所定の２点の位置に対応する位置（同様に参照符号Ｐ１からＰ７を用いる）が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１１の一番右側に示す、弱判別器のスコアテーブルの基礎として用いられるヒストグラムである。この弱判別器のヒストグラムが示す各縦軸の値を、以下、判別ポイントと称する。この弱判別器によれば、正の判別ポイントに対応する、画素値の差分値の組合せの分布を示す画像は顔である可能性が高く、判別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の判別ポイントに対応する画素値の差分値の組合せの分布を示す画像は顔でない可能性が高く、やはり判別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳＴ２２では、判別に使用され得る複数種類のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せについて、上記のヒストグラム形式の複数の弱判別器が作成される。
【００６２】
続いて、ステップＳＴ２２で作成した複数の弱半別器のうち、画像が顔であるか否かを判別するのに最も有効な弱判別器が選択される。最も有効な弱判別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各弱判別器の重み付き正答率が比較され、最も高い重み付き正答率を示す弱判別器が選択される（ステップＳＴ２３）。すなわち、最初のステップＳＴ２３では、各サンプル画像の重みは等しく１であるので、単純にその弱判別器によって画像が顔であるか否かが正しく判別されるサンプル画像の数が最も多いものが、最も有効な弱判別器として選択される。一方、後述するステップＳＴ１５において各サンプル画像の重みが更新された後の２回目のステップＳＴ２３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳＴ２３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく判別されることに、より重点が置かれる。
【００６３】
次に、それまでに選択した弱判別器の組合せの正答率、すなわち、それまでに選択した弱判別器を組み合わせて使用して（学習段階では、弱判別器は必ずしも線形に結合させる必要はない）各サンプル画像が顔の画像であるか否かを判別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（ステップＳＴ２４）。ここで、弱判別器の組合せの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した弱判別器を用いれば画像が顔であるか否かを十分に高い確率で判別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した弱判別器と組み合わせて用いるための追加の弱判別器を選択するために、ステップＳＴ２６へと進む。
【００６４】
ステップＳＴ２６では、直近のステップＳＴ２３で選択された弱判別器が再び選択されないようにするため、その弱判別器が除外される。
【００６５】
次に、直近のステップＳＴ２３で選択された弱判別器では顔であるか否かを正しく判別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく判別できたサンプル画像の重みが小さくされる（ステップＳＴ２５）。このように重みを大小させる理由は、次の弱判別器の選択において、既に選択された弱判別器では正しく判別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく判別できる弱判別器が選択されるようにして、弱判別器の組合せの効果を高めるためである。
【００６６】
続いて、ステップＳＴ２３へと戻り、上記したように重み付き正答率を基準にして次に有効な弱判別器が選択される。
【００６７】
以上のステップＳＴ２３からＳ２６を繰り返して、顔であるか否かを判別するのに適した弱判別器として、特定のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せに対応する弱判別器が選択されたところで、ステップＳＴ２４で確認される正答率が閾値を超えたとすると、顔であるか否かの判別に用いる弱判別器の種類と判別条件とが確定され（ステップＳＴ２７）、これにより学習を終了する。なお、選択された弱判別器は、その重み付き正答率が高い順に線形結合され、１つの判別器が構成される。また、各弱判別器については、それぞれ得られたヒストグラムを基に、画素値の差分値の組合せに応じてスコアを算出するためのスコアテーブルが生成される。なお、ヒストグラム自身をスコアテーブルとして用いることもでき、この場合、ヒストグラムの判別ポイントがそのままスコアとなる。
【００６８】
このようにして、顔サンプル画像群と非顔サンプル画像群とを用いた学習により、判別器が生成されるわけであるが、上記のように、判別したい顔の傾きおよび向きが異なる複数の判別器を生成するには、それらの各傾きや向きに対応した顔サンプル画像群を用意し、その顔サンプル画像群と非顔サンプル画像群とを用いた学習を顔サンプル画像群の種類毎に行うこととなる。
【００６９】
すなわち、本実施形態においては、顔の向きについては、正面、左横、右横の計３種類、顔の傾きについては、回転角度０度から３３０度まで３０度刻みの計１２種類、合計３６種類の顔サンプル画像群を用意する。
【００７０】
上記の複数の顔サンプル画像群が得られたら、顔サンプル画像群の種類毎に、その顔サンプル画像群と非顔サンプル画像群とを用いて、上記の学習を行うことにより、判別器群３３を構成する複数の判別器を生成することができる。
【００７１】
このように、顔の向き毎に、かつ、顔の傾き毎に学習された複数の判別器を用いることにより、あらゆる向きや傾きの顔を判別することが可能となる。
【００７２】
なお、上記の学習手法を採用する場合において、弱判別器は、特定のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せを用いて顔の画像と顔でない画像とを判別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１１の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００７３】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００７４】
判別部５０は、各顔画像の候補毎に、その顔画像の候補が検出されたときのスコアＳＣを参照し、そのスコアＳＣがＴｈ２より大きい閾値Ｔｈ３以上であるものを真の顔画像として判別する。一方、そのスコアＳＣが閾値Ｔｈ３未満であるものについては、以下の処理を行う。
【００７５】
すなわち、注目している顔画像の候補の顔の傾きを求め、顔の傾きがその傾きと同じである別の顔画像の候補があるかを調べる。同じ傾きの顔の候補の数が、注目している顔画像の候補を含めて２以上ある場合には、その注目している顔画像の候補を真の顔画像として判別する。
【００７６】
なお、重複検出判定部４０において重複した顔画像の候補が１つにまとめられた顔画像の候補に対するスコアＳＣついては、まとめられる前の複数の顔画像の候補に対するスコアのうち最も高いスコアを、そのまとめた後の顔画像の候補に対するスコアとする。
【００７７】
本実施形態において、顔検出部３０および重複検出判定部４０が、本発明における顔画像候補抽出手段として機能するものであり、判別部５０が、本発明における判別手段として機能するものである。
【００７８】
次に、顔検出システム１における処理の流れについて説明する。上記顔検出システムにおける処理は大きく分けて、顔候補の検出処理と真の顔の検出処理がある。
【００７９】
図１２は顔候補の検出処理の流れを示したフローチャートであり、図１３は真の顔の検出処理の流れを示したフローチャートである。
【００８０】
まず、顔候補の検出処理について説明する。多重解像度化部１０に入力画像Ｓ０が供給されると（ステップＳＴ３１）、この入力画像Ｓ０の画像サイズが所定のサイズに変換された画像Ｓ０′が生成され、この画像Ｓ０′から２の−１／３乗倍ずつサイズ（解像度）が縮小された複数の解像度画像からなる解像度画像群Ｓ１が生成される（ステップＳＴ３２）。そして、正規化部２０において、解像度画像群Ｓ１の各解像度化像に対して、上述の全体正規化処理と局所正規化処理が施され、正規化済みの解像度画像群Ｓ１′が得られる（ステップＳＴ３３）。顔候補検出部３０においては、解像度画像選択部３１が、解像度画像群Ｓ１′の中から画像サイズの小さい順、すなわち、Ｓ１′＿ｎ，Ｓ１′＿ｎ−１，・・・，Ｓ１′＿１の順に所定の解像度画像Ｓ１′＿ｉを１つ選択する（ステップＳＴ３４）。次に、サブウィンドウ設定部３２が、選択された解像度画像Ｓ１′＿ｉ上でサブウィンドウを設定して所定サイズの部分画像Ｗを切り出し（ステップＳＴ３５）、その部分画像Ｗを判別器群３３に入力する。そして、判別器群３３を構成する各判別器は、その部分画像Ｗが顔の傾きおよび向きが所定の傾きおよび向きである顔の顔画像である蓋然性を示すスコアＳＣを算出し（ステップＳＴ３６）、そのスコアＳＣが閾値Ｔｈ２以上である場合に、その部分画像Ｗを顔の傾きおよび向きがその所定の傾きおよび向きである顔の顔画像と判別し、そのスコアＳＣが閾値Ｔｈ２未満である場合には、顔画像でないと判別する（ステップＳＴ３７）。このとき、部分画像Ｗが顔画像であると判別された場合には、その部分画像Ｗは顔画像の候補Ｓ２として重複検出判定部４０に送られる。ここで、サブウィンドウ設定部３２は、次に切り出すべき部分画像Ｗが存在するか否かを判定する（ステップＳＴ３８）。そして、次に切り出すべき部分画像Ｗが存在すると判定された場合には、ステップＳＴ３５に戻り、新たなサブウィンドウを前回設定した位置から１画素分移動して設定し、新たな部分画像Ｗを切り出す。一方、次に切り出すべき部分画像Ｗが存在しないと判定された場合には、解像度画像選択部３１が、次に選択すべき解像度画像が存在するか否かを判定する（ステップＳＴ３９）。そして、次に選択すべき解像度画像が存在すると判定された場合には、ステップＳＴ３４に戻り、画像サイズが前回選択した解像度画像より１段階小さい新たな解像度画像を選択する。一方、次に選択すべき解像度画像が存在しない場合には、重複検出判定部４０が、検出された顔画像の候補の位置情報に基づいて、同一の顔が重複して検出された複数の顔画像の候補を１つの候補にまとめ直し、重複のない顔画像の候補Ｓ３が判別部５０に送り（ステップＳＴ４０）、顔候補の検出処理を終了する。
【００８１】
次に、真の顔の検出処理について説明する。判別部５０は、検出された顔画像の候補Ｓ３の１つを注目候補として設定し（ステップＳＴ４１）、その注目候補が検出されたときのスコアＳＣが閾値Ｔｈ３以上であるか否かを判定する（ステップＳＴ４２）。ここでそのスコアＳＣが閾値Ｔｈ３以上であると判定された場合に、その注目候補を真の顔画像として判別する（ステップＳＴ４３）。一方、そのスコアＳＣが閾値Ｔｈ３未満であるものについては、注目候補の顔の傾きと同じ傾きの顔の候補の数が、注目候補を含めて２以上あるか否かを判定する（ステップＳＴ４４）。その候補の数が２以上あると判定された場合には、その注目候補を真の顔画像として判別し（ステップＳＴ４３）、２以上ないと判定された場合には、その注目候補を真の顔画像でないと判別する（ステップＳＴ４５）。そして、次の注目候補として設定すべき顔画像の候補があるか否かを判定し（ステップＳＴ４６）、設定すべき候補があると判定された場合には、ステップＳＴ４１に戻って処理を続行する。一方、設定すべき候補がないと判定された場合には、真の顔画像Ｓ４を出力して、真の顔の検出処理を終了する。
【００８２】
図１４は、上記のステップＳＴ３４からステップＳＴ３９までを繰り返すことにより、解像度画像がサイズの小さい順に選択されて、各解像度画像上で部分画像Ｗが順次切り出され、顔候補の検出が実施される様子を示した図である。
【００８３】
図１５は、本顔検出システム１による顔画像の検出結果が反映された入力画像Ｓ０の一例を示した図である。図１５に示す入力画像Ｓ０は、人物の顔画像である正面顔画像Ｆ１および右横顔画像Ｆ２と背景の画像とを含む写真画像であり、この背景の画像には右横顔に類似した非顔画像ＮＦ１が含まれている。ここで、正面顔画像Ｆ１と右横顔画像Ｆ２の顔の傾きはいずれも同じで入力画像Ｓ０の天地方向に沿った傾きであるが、非顔画像ＮＦ１に現れる偽顔の傾きはこれとは異なる傾きを有している。また、正面顔画像Ｆ１に対して算出されたスコアは、受入れ閾値Ｔｈ３以上であり、右横顔画像Ｆ２および非顔画像ＮＦ１に対して算出されたスコアはＴｈ２以上、Ｔｈ３未満である。すなわち、右横顔画像Ｆ２および非顔画像ＮＦ１は候補としては検出されるが、そのままでは真の顔画像として受け入れられない。しかし、本発明の実施形態である顔検出システム１によれば右横顔画像Ｆ２の顔の傾きは正面顔画像Ｆ１と同じであることから、同じ傾きの顔画像の候補が２つ存在することになり、この右横顔画像Ｆ２は顔画像として検出される。一方、非顔画像ＮＦ１の偽顔の傾きは正面顔画像Ｆ１と異なるため、誤検出に該当すると判別され、顔画像としては検出されない。
【００８４】
このように、本実施形態による顔検出システムによれば、入力画像において、ある傾きの顔の候補が検出された場合に、その候補の信頼度を表す所定の評価値としての、顔の傾きがその候補と同じである候補の数がある閾値を超えたときに、顔の傾きがその候補の顔の傾きと同じである別の候補に対して、真の顔として受け入れる、あるいは、真の顔として受け入れるか否かの受入れ閾値を低くする処理を行うので、同一画像上に含まれる複数の顔はほぼ同じ傾きであることが多いという事実を利用して、誤検出である可能性が低い候補を真の顔として受け入れる傾向を強めることができ、顔の誤検出をより抑制することが可能となる。
【００８５】
例えば、デジタルカメラによる撮影では、複数の被写体の天地方向が同じ方向に揃うので、カメラが被写体に対して水平または垂直な状態の場合はもちろん、カメラが被写体に対して傾いた状態で撮影されたとしても、取得した写真画像上の複数の被写体の天地方向は一定の方向に揃うことが多い。すなわち、被写体の姿勢が自然な立位や座位にあるときには、同一画像上にある複数の顔の傾きは、正面顔であるか横顔であるかに依らず、略同じ傾きに揃うことが多い。したがって、本発明のように、同じ傾きの顔が真の顔としてより受け入れられるようにすることで、誤検出を抑制することが可能となる。
【００８６】
なお、本実施形態では、判別部５０は、スコアＳＣが所定の閾値Ｔｈ３未満であった顔画像の候補に対して、同じ傾きの顔の候補の数が、その注目している顔画像の候補を含めて２以上ある場合には、その注目している顔画像の候補を真の顔画像として判別するようにしているが、別の方法として、次のような方法を採用してもよい。
【００８７】
すなわち、注目している顔画像の候補の顔の傾きを求め、顔の傾きがその傾きと同じである別の顔画像の候補があるかを調べる。同じ傾きの顔の候補に対するスコアＳＣの総和が、注目している顔画像の候補を含めて所定の閾値Ｔｈ４以上ある場合には、その注目している顔画像の候補を真の顔画像として判別する。
【００８８】
また、候補の数またはスコアの総和は、重み付けされた候補の数またはスコアを用いるようにしてもよい。例えば、横顔は正面顔より信頼度が低いので、正面顔の候補の数＋（横顔の候補の数）×０．５を候補の数としたり、正面顔の候補のスコア＋（横顔の候補のスコア）×０．５をスコアの総和としたりしてもよい。
【００８９】
また、候補の数とスコアの総和に基づいて総合的なポイントを算出し、その総合的なポイントが所定の閾値以上である場合に、それらの候補を真の顔画像として受け入れる、あるいは、その受入れ閾値Ｔｈ３を低くするようにしてもよい。
【００９０】
また、判別部５０は、検出された顔画像の候補Ｓ３について、正面顔の候補と横顔の候補とを比較し、横顔の候補のうち、横顔の傾きが正面顔の候補における正面顔の傾きと略同じ所定範囲内の傾き、例えば、正面顔の傾きとのずれが回転角度±３０度以内である傾きを有する横顔の候補のみを真の顔画像とし、それ以外の横顔の候補は誤検出されたものとみなして排除し、最終的に残った正面顔の候補と横顔の候補を真の顔画像として出力するようにしてもよい。
【００９１】
以上、本発明の実施形態に係る顔検出システムについて説明したが、この顔検出システムにおける各処理をコンピュータに実行させるためのプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の１つである。
【図面の簡単な説明】
【００９２】
【図１】顔検出システム１の構成を示すブロック図
【図２】検出対象画像の多重解像度化の工程を示す図
【図３】全体正規化処理に用いる変換曲線の一例を示す図
【図４】局所正規化処理の概念を示す図
【図５】局所正規化処理のフローを示す図
【図６】判別器群の構成を示すブロック図
【図７】判別器における処理フローを示す図
【図８】弱判別器における特徴量の算出を説明するための図
【図９】判別器の学習方法を示すフローチャート
【図１０】目の位置が所定の位置にくるように規格化された顔のサンプル画像を示す図
【図１１】弱判別器のヒストグラムを導出する方法を示す図
【図１２】顔検出システム１において行われる顔候補の検出処理を示すフローチャート
【図１３】顔検出システム１において行われる真の顔の検出処理を示すフローチャート
【図１４】顔検出対象となる解像度画像の切替えとその画像上でのサブウィンドウの移動を説明するための図
【図１５】顔検出システム１による顔画像の検出結果が反映された入力画像Ｓ０の一例を示す図
【符号の説明】
【００９３】
１  顔検出システム
１０  多重解像度化部
２０  正規化部
３０  顔候補検出部（顔候補抽出手段）
３１  解像度画像選択部
３２  サブウィンドウ設定部
３３  判別器群
３３＿Ｆ  正面顔判別器群
３３＿Ｌ  左横顔判別器群
３３＿Ｒ  右横顔判別器群
４０  重複検出判定部（顔候補抽出手段）
５０  判別部（判別手段）
【図１】
0004657934.tif 000003
【図２】
0004657934.tif 000004
【図３】
0004657934.tif 000005
【図４】
0004657934.tif 000006
【図５】
0004657934.tif 000007
【図６】
0004657934.tif 000008
【図７】
0004657934.tif 000009
【図８】
0004657934.tif 000010
【図９】
0004657934.tif 000011
【図１０】
0004657934.tif 000012
【図１１】
0004657934.tif 000013
【図１２】
0004657934.tif 000014
【図１３】
0004657934.tif 000015
【図１４】
0004657934.tif 000016
【図１５】
0004657934.tif 000017