(57)【要約】【課題】  画像中の被写体を高速、且つ高精度に検出するための技術を提供すること。【解決手段】  輝度画像の縮小画像内における目候補領域の位置を検出し（Ｓ１０４）、検出した位置のうち２つを包含し、且つこの２つの位置で規定される顔候補領域が顔パターンではない場合には、この顔候補領域内のそれぞれの目候補領域の位置近傍に近傍領域を設定し（Ｓ１０７）、一方の近傍領域内で取りうる第１の位置と、他方の近傍領域内で取りうる第２の位置とを包含し、且つ第１，２の位置で規定される顔候補領域が顔パターンであるのかを判別する（Ｓ１１０）。【選択図】  図２
2007025900.tif 000002
【特許請求の範囲】
【請求項１】
画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像内における前記所定の被写体の部分的な特徴の候補としての特徴候補領域の位置を検出する第１の検出工程と、
前記第１の検出工程で検出した位置のうち２つを包含し、且つ当該２つの位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第１の判別工程と、
前記第１の判別工程で前記所定の被写体の領域ではないと判別された被写体候補領域内のそれぞれの特徴候補領域の位置近傍に近傍領域を設定する設定工程と、
一方の近傍領域内で取りうる第１の位置と、他方の近傍領域内で取りうる第２の位置とを包含し、且つ当該第１，２の位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第２の判別工程と、
前記第１の判別工程、前記第２の判別工程のそれぞれで、前記所定の被写体の領域であると判断された被写体候補領域のうち一部若しくは全部のデータを出力する出力工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記第２の判別工程では、
それぞれの近傍領域を複数の矩形に分割する工程と、
一方の近傍領域内の矩形位置と、他方の近傍領域内の矩形位置との組み合わせを順次選択する工程と、
選択された組み合わせにおける一方の矩形位置と、他方の矩形位置とを包含し、且つ当該２つの矩形位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する工程と
を備えることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記出力工程では、前記第１の判別工程、前記第２の判別工程のそれぞれで、前記所定の被写体の領域であると判別された被写体候補領域のうち、当該判別の際に求めた値が最も大きい被写体候補領域のデータを出力することをことを特徴とする請求項１又は２に記載の画像処理方法。
【請求項４】
前記所定の被写体は人の顔であることを特徴とする請求項１乃至３の何れか１項に記載の画像処理方法。
【請求項５】
前記所定の被写体の部分的な特徴は目であることを特徴とする請求項１乃至４の何れか１項に記載の画像処理方法。
【請求項６】
画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像内における前記所定の被写体の部分的な特徴の候補としての特徴候補領域の位置を検出する第１の検出手段と、
前記第１の検出手段が検出した位置のうち２つを包含し、且つ当該２つの位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第１の判別手段と、
前記第１の判別手段によって前記所定の被写体の領域ではないと判別された被写体候補領域内のそれぞれの特徴候補領域の位置近傍に近傍領域を設定する設定手段と、
一方の近傍領域内で取りうる第１の位置と、他方の近傍領域内で取りうる第２の位置とを包含し、且つ当該第１，２の位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第２の判別手段と、
前記第１の判別手段、前記第２の判別手段のそれぞれで、前記所定の被写体の領域であると判断された被写体候補領域のうち一部若しくは全部のデータを出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項７】
コンピュータに請求項１乃至５の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中における顔を検出するための技術に関するものである。
【背景技術】
【０００２】
画像から特定の被写体パターンを自動的に検出する画像処理方法は非常に有用であり、例えば人間の顔の判定に利用することができる。このような方法は、通信会議、マン・マシン・インタフェース、セキュリティ、人間の顔を追跡するためのモニタ・システム、画像圧縮などの多くの分野で使用することができる。このような画像中から顔を検出する技術としては、例えば、非特許文献１に各種方式が挙げられている。その中では、いくつかの顕著な特徴（２つの目、口、鼻など）とその特徴間の固有の幾何学的位置関係とを利用するか、又は人間の顔の対称的特徴、人間の顔色の特徴、テンプレート・マッチング、ニューラル・ネットワークなどを利用することによって、人間の顔を検出する方式が示されている。
【０００３】
前者の例としては、非特許文献２で、blobおよびstreakの検出をもとに画像中から顔を検出する方式が提案されている。すなわち、目は暗い特徴（dark blob）、頬や鼻は明るい特徴（light blob）、眉、口、顔の輪郭は線状のエッジ（streak）であることを利用して、それらの特徴を画像中から検出し、幾何学的な位置関係を考慮して顔の検出を行っている。また、比較的簡単な特徴であるblobを低解像度の画像から検出して、その検出結果にもとづいて高解像度の画像からblobおよびstreakを精度よく検出するようにして、処理の高速化を図っている。しかしながら、このような特徴の検出にもとづく方法では、被写体の姿勢、照明条件、画像のノイズなどの変化に検出結果が影響されやすく、このような条件下において高精度に検出を行うことは困難である。
【０００４】
一方、非特許文献３で提案されている方式は、ニューラル・ネットワークにより画像中の顔パターンを検出する方法である。以下、非特許文献３による顔検出の方法について簡単に説明する。
【０００５】
まず、顔を含む画像データをメモリに読み込み、顔と照合する所定の領域を画像中から切り出す。そして、切り出した領域の画素値の分布を入力としてニューラル・ネットワークによる演算で一つの出力を得る。このとき、ニューラル・ネットワークの重み、閾値が膨大な顔画像パターンと非顔画像パターンによりあらかじめ学習されており、例えば、ニューラル・ネットワークの出力が０以上なら顔、それ以外は非顔であると判別する。
【０００６】
そして、ニューラル・ネットワークの入力である顔と照合する画像パターンの切り出し位置を、例えば、図３に示すように画像全域から縦横順次に走査していくことにより、画像中から顔を検出する。また、様々な大きさの顔の検出に対応するため、図３に示すように読み込んだ画像を所定の割合で順次縮小し、それに対して前述した顔検出の走査を行うようにしている。このような被写体パターンの照合にもとづく方法は、学習サンプルや前処理に工夫を行うことで被写体の姿勢、照明条件、画像のノイズなどの変化に比較的強い検出を行うことができるものの、画像中から切り出したパターンの照合を網羅的に行うため、膨大な計算時間が必要であった。
【０００７】
以上のことから、両者の長所を組み合わせて被写体の検出を行う方法が考えられる。例えば、検出の最初のステップで非特許文献２に係る方法でもって目の候補を画像中から抽出し、目の候補から選択した２つの目を両眼として顔の候補を設定する。そして、設定した顔候補を画像パターンとして切り出し、非特許文献３に係る方法でもってニューラル・ネットワークにより顔の判定を行う。
【０００８】
この処理方法による顔の検出を図６に示す。（ａ）は入力画像の一部である顔画像であり、ここからまず目の位置ａ１、ａ２が抽出される。そして、ａ１、ａ２と顔全体の位置関係から顔領域ｂが設定され、この顔領域ｂが（ｂ）に示すような画像パターンとして切り出され、照合が行われる。しかしながら、例えば、（ｃ）に示すように被写体の視線がずれているような場合には、目の位置としてｃ１、ｃ２が抽出されるので、（ｄ）に示す如く顔領域が設定され、設定された顔領域が（ｄ）に示すような画像パターンとして切り出されることになるので、切り出したこのような画像パターンでもって照合が行われることになる。
【０００９】
この場合、照合パターンでの顔の位置がずれてしまうので、顔パターンと認識されず、正しく顔が検出されない可能性がある。なお、このような状況は、被写体の視線がずれている場合に限らず、例えば、照明の影響によって暗い部分の検出位置がずれたり、眉毛、めがねのフレームを目と誤ったりする場合にも発生する可能性がある。
【００１０】
したがって、従来例では、画像から被写体パターンを検出する処理において精度と計算時間を両立できないといった問題点があった。また、従来例を単純に組み合わせた場合においても、被写体パターンの検出精度が悪くなるといった問題点があった。
【非特許文献１】IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.24 , NO.1, JANUARY 2002、”Detecting Faces in Images: A Survey”
【非特許文献２】Theoretical Foundations of Computer Vision, vol.69, 1993、”Multiresolution Face Detection”
【非特許文献３】IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.20 , NO.1, JANUARY 1998、”Neural network-based face detection”
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は以上の問題に鑑みて成されたものであり、画像中の被写体を高速、且つ高精度に検出するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１３】
即ち、画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像内における前記所定の被写体の部分的な特徴の候補としての特徴候補領域の位置を検出する第１の検出工程と、
前記第１の検出工程で検出した位置のうち２つを包含し、且つ当該２つの位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第１の判別工程と、
前記第１の判別工程で前記所定の被写体の領域ではないと判別された被写体候補領域内のそれぞれの特徴候補領域の位置近傍に近傍領域を設定する設定工程と、
一方の近傍領域内で取りうる第１の位置と、他方の近傍領域内で取りうる第２の位置とを包含し、且つ当該第１，２の位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第２の判別工程と、
前記第１の判別工程、前記第２の判別工程のそれぞれで、前記所定の被写体の領域であると判断された被写体候補領域のうち一部若しくは全部のデータを出力する出力工程と
を備えることを特徴とする。
【００１４】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１５】
即ち、画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像内における前記所定の被写体の部分的な特徴の候補としての特徴候補領域の位置を検出する第１の検出手段と、
前記第１の検出手段が検出した位置のうち２つを包含し、且つ当該２つの位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第１の判別手段と、
前記第１の判別手段によって前記所定の被写体の領域ではないと判別された被写体候補領域内のそれぞれの特徴候補領域の位置近傍に近傍領域を設定する設定手段と、
一方の近傍領域内で取りうる第１の位置と、他方の近傍領域内で取りうる第２の位置とを包含し、且つ当該第１，２の位置で規定される被写体候補領域が、前記所定の被写体の領域であるのかを判別する第２の判別手段と、
前記第１の判別手段、前記第２の判別手段のそれぞれで、前記所定の被写体の領域であると判断された被写体候補領域のうち一部若しくは全部のデータを出力する出力手段と
を備えることを特徴とする。
【発明の効果】
【００１６】
本発明の構成により、画像中の被写体を高速、且つ高精度に検出することができる。
【発明を実施するための最良の形態】
【００１７】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１８】
［第１の実施形態］
本実施形態に係る画像処理装置は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータにより構成されており、ディジタルカメラなどの撮像装置から入力した画像、インターネットなどのネットワークを介して外部機器からダウンロードした画像、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体からの読み出しにより入力した画像など、様々な入力形態で入力した画像中に含まれている所定の被写体を検出する。なお、本実施形態では被写体として人間の顔を用いるが、その他の被写体を用いても良い。
【００１９】
先ず、このような処理を行う本実施形態に係る画像処理装置について説明する。図１０は、本実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成を示す図である。
【００２０】
２０１はＣＰＵで、ＲＡＭ２０２やＲＯＭ２０３に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、コンピュータが行う後述の各処理を実行する。
【００２１】
２０２はＲＡＭで、外部記憶装置２０７や記憶媒体ドライブ装置２０８から読み出したプログラムやデータを一時的に記憶するためのエリア、Ｉ／Ｆ２０９を介して外部から受信したデータを一時的に記憶する為のエリア、ＣＰＵ２０１が各種の処理を実行する為に用いるワークエリア等、各種のエリアを適宜提供することができる。
【００２２】
２０３はＲＯＭで、ここにブートプログラムや本コンピュータの設定データなどを格納する。
【００２３】
２０４、２０５は夫々キーボード、マウスで、コンピュータの操作者が操作することで各種の指示をＣＰＵ２０１に対して入力することができる。
【００２４】
２０６は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を文字や画像等でもって表示する。
【００２５】
２０７は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにＯＳ（オペレーティングシステム）や、コンピュータが行う後述の各処理をＣＰＵ２０１に実行させるためのプログラムやデータが格納されており、これらはＣＰＵ２０１による制御に従って適宜ＲＡＭ２０２に読み出される。
【００２６】
２０８は記憶媒体ドライブ装置で、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているプログラムやデータを読み出して、ＲＡＭ２０２や外部記憶装置２０７等に出力する。なお、上記外部記憶装置２０７に記憶されているプログラムやデータの一部を上記記憶媒体に記録しておいても良く、その場合には、これら記憶されているプログラムやデータを使用する際に、記憶媒体ドライブ装置２０８がこの記憶媒体に記録されているプログラムやデータを読み出して、ＲＡＭ２０２に出力する。
【００２７】
２０９はＩ／Ｆ（インターフェース）で、ここにディジタルカメラやインターネットやＬＡＮのネットワーク回線等を接続することができる。
【００２８】
２１０は上述の各部を繋ぐバスである。
【００２９】
なお、コンピュータへの画像の入力形態については特に限定するものではなく、様々な形態が考えられる。
【００３０】
図１は、本実施形態に係る画像処理装置に適用可能なコンピュータの機能構成を示すブロック図である。同図に示す如く、本実施形態に係る画像処理装置は、画像入力部１０、画像メモリ２０、画像縮小部３０、目候補抽出部４０、照合パターン抽出部５０、顔判別部６０、顔領域出力部７０、再探索候補設定部８０により構成されている。
【００３１】
画像入力部１０は、例えばディジタルスチルカメラ、フィルムスキャナーなどの装置から出力された画像データを受け、後段の画像メモリ２０に出力するものである。なお、上述の通り、画像の入力形態については特に限定するものではない。
【００３２】
画像メモリ２０は、画像入力部１０から出力される画像データを格納するためのメモリである。
【００３３】
画像縮小部３０は、先ず、画像メモリ２０から受けた画像データの輝度成分で構成される輝度画像を生成する。そして、生成した輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する。生成したそれぞれの縮小画像（画像メモリ２０から受けた画像データに基づいて生成したオリジナルの輝度画像も１／１の縮小画像と解釈すれば、このオリジナルもまた、縮小画像に含めることができる）は順次後段の目候補抽出部４０に出力する。
【００３４】
目候補抽出部４０は、画像縮小部３０から受けた縮小画像内で目の候補としての領域（目候補領域）を抽出し、抽出した領域の位置を求める。
【００３５】
照合パターン抽出部５０は、目候補抽出部４０が求めた縮小画像上における目候補領域の位置を受けると、２つの位置を用いて、この縮小画像上における所定領域を以下の処理で用いる照合対象パターンとして抽出する。このような処理は、画像縮小部２０から受けたそれぞれの縮小画像について行う。
【００３６】
顔判別部６０は、照合パターン抽出部５０から受けた照合対象パターンが顔パターンであるか、それとも非顔パターンであるのかを判別する処理を行う。
【００３７】
顔領域出力部７０は、顔判別部６０が顔パターンであると判別した照合対象パターンを出力する。
【００３８】
再探索候補設定部８０は、顔判別部６０が顔パターンではないと判別した場合に動作するものであり、照合パターン抽出部５０が照合対象パターンを抽出する為に用いた２つの目候補領域の位置のそれぞれの近傍に近傍領域を設定し、設定したそれぞれの近傍領域内で再度、目候補領域の位置を探索する。探索の結果、取得した２つの目候補領域の位置は照合パターン抽出部５０に出力する。
【００３９】
以上の各部は、例えば、ＣＰＵ２０１の一機能として動作するものである。
【００４０】
次に、ＣＰＵ２０１が図１に示した各部として動作することでなされる処理、即ち、画像中に含まれている被写体を検出するための処理について、同処理のフローチャートを示す図２を用いて以下説明する。なお、同図のフローチャートに従った処理をＣＰＵ２０１に実行させるためのプログラムやデータは外部記憶装置２０７（もしくは記憶媒体ドライブ装置２０８が読み取り可能な記憶媒体）に保存されており、これをＣＰＵ２０１の制御に従って適宜ＲＡＭ２０２にロードし、ＣＰＵ２０１がこれを用いて処理を実行することで、コンピュータは以下説明する各処理を実行することになる。
【００４１】
外部記憶装置２０７や、Ｉ／Ｆ２０９を介して外部から画像データが入力されると、ＣＰＵ２０１は、これをＲＡＭ２０２内の上記画像メモリ２０に相当するエリアに一時的に格納する（ステップＳ１０１）。なお、本コンピュータに入力した画像が圧縮されている場合には、これを伸張してからＲＡＭ２０２に一時的に格納する。
【００４２】
本実施形態では、入力された画像データを構成する各画素は、Ｒ、Ｇ、Ｂで表現されるものであるとする。従って、ＣＰＵ２０１は、ステップＳ１０１でＲＡＭ２０２に格納した画像データに基づいて、この画像の輝度成分で構成される画像（輝度画像）、即ち、この画像を構成する各画素の値をこの画素の輝度値に変換した画像を生成する（ステップＳ１０２）。しかし、ステップＳ１０１でＲＡＭ２０２に格納した画像データを構成する各画素がＹＣｒＣｂで表現されるものである場合には、ステップＳ１０２では、Ｙ成分のみを用いて輝度画像を生成する。
【００４３】
次に、ＣＰＵ２０１は、生成した輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する（ステップＳ１０３）。例えば、ステップＳ１０２で生成した輝度画像（以下の説明上、縮小画像１と呼称する）の縦横のサイズを１／１．２倍した縮小画像２を生成し、次に縮小画像２の縦横のサイズを１／１．２倍した縮小画像３を生成する、というように、複数枚の縮小画像を生成する。これは、以後の処理で目の候補を抽出する際に様々な大きさの目の検出に対応するため複数のサイズの画像データに対して順次検出を行うようにしたためである。なお、生成する縮小画像の枚数については特に限定するものではない。
【００４４】
そして、ステップＳ１０４以降では、生成したそれぞれの縮小画像について処理を行う。即ち、ステップＳ１０４以降の処理は、生成した縮小画像の数だけ繰り返し行うことになる。
【００４５】
以降の説明では、生成した縮小画像はサイズの大きい順に縮小画像１、縮小画像２、、、、縮小画像Ｎと呼称するものとし、先ず、縮小画像１について以降の処理を行うものとする。なお、処理の対象として選択する順番については特に限定するものではない。
【００４６】
先ず、ＣＰＵ２０１は、縮小画像１を所定のサイズの部分領域毎に参照し、参照した部分領域内で局所的に暗い領域を目の候補領域（目候補領域）として抽出し、抽出した目候補領域の位置を取得する（ステップＳ１０４）。
【００４７】
より詳しくは、先ず、輝度画像１から所定のサイズ（例えば５×５画素）のブロックを縦横順次切り出していく。なお、各ブロックは隣接するブロックと多少重なり合うように切り出す方がよい。次にブロック内の輝度データを照合パターンとし、あらかじめ多数の目の輝度分布から得られた標準のテンプレートとの照合を行う。ここでは、照合パターンとテンプレートとの相関演算（入力輝度で正規化された相関演算がより望ましい）を行い、相関値が所定の閾値を越えた場合、そのブロックの中心位置を目候補領域の位置（目の特徴点）として抽出する。このような処理は照合に必要な部分領域が小さいので、直接顔の照合を行う場合に比べるとより少ない演算回数で処理を行うことができる。
【００４８】
次に、ＣＰＵ２０１は、ステップＳ１０４で取得した目候補領域の位置を用いて、輝度画像１上における顔の候補領域を抽出する（ステップＳ１０５）。
【００４９】
ステップＳ１０５における処理についてより詳細に説明すべく、図７を用いて説明する。図７は、顔候補領域を設定する処理を説明する図である。同図ではｅ１，ｅ２が目候補領域の位置（特徴点の位置）である。
【００５０】
先ず、ステップＳ１０４で取得した目候補領域の位置を、２つの位置毎に用いる。そして２つの位置を用いて１つの矩形を規定する。例えば、図７の場合、２つの位置ｅ１，ｅ２を通る直線方向にこの２つの位置間をＡ倍した長さを有する一辺（第１の辺）と、２つの位置ｅ１，ｅ２を通る直線に対して垂直な直線方向にこの２つの位置間をＢ倍した長さを有する一辺（第２の辺）とを有する矩形７００を、２つの位置の中点から第２の辺方向に距離Ｃだけ移動した位置がこの矩形７００の中心位置となるような矩形７００を規定する。よって、２以上の目候補領域の位置が存在する場合には複数の矩形を設定することになる。
【００５１】
この矩形内の領域が顔の候補領域（顔候補領域）である。よって、ステップＳ１０５では、この矩形を規定すると共に、この矩形内における顔候補領域を抽出する。なお、図７ではｅ１を右目、ｅ２を左目として顔候補領域を設定したが、ｅ１を左目、ｅ２を右目として顔候補領域を設定してもよいし、２つの顔候補領域を設定してもよい。
【００５２】
図２に戻って、次に、ステップＳ１０５で抽出した顔候補領域の輝度パターンが顔のパターンであるのかを判別する（ステップＳ１０６）。より詳しくは、先ず、ステップＳ１０５で抽出した顔候補領域内の各画素の輝度分布を正規化する処理を行う。例えば、ヒストグラム平滑化などの輝度補正を行う。これは、撮像される被写体パターンはその照明条件によって輝度分布が変わるので被写体照合の精度が劣化するのを抑制するためである。そして、正規化された輝度パターンが顔のパターンであるのかを判別する。
【００５３】
図４は、所定領域内のパターンを識別する為のニューラルネットワークの動作について示した図である。同図においてＲは、例えば画像上で識別する領域を示すものであり、本実施形態ではこの領域Ｒを同図に示す如く、３種類の方法にてさらに領域分割し、各ニューロン（Ｎで示す）への受容野とする。そして、分割された領域の輝度分布を各ニューロンに入力し、中間層での出力が得られる。そして、各ニューロンの出力を出力層のニューロンの入力として最終出力が得られる。
【００５４】
ここで、各ニューロンでは予め学習によって得られた重みと輝度分布との積和演算およびその結果のシグモイド関数による演算が行われる。本実施形態では、出力層のニューロンの出力値と所定の閾値との比較を行い、閾値を越える出力のパターンを顔、それ以外を顔でない（非顔）とした（ニューラル・ネットワークの詳細および学習の方法については、上記非特許文献３を参照されたい）。なお、輝度分布が正規化されたパターンが顔パターンであるか否かを判別する処理（ステップＳ１０６における処理）についてはこれに限定するものではなく、所定の入力パターンに対して被写体の判別を行い、顔パターンと非顔パターンとの判別が可能な値を出力するようなものであればよい。例えば、入力である部分領域を図５に示す如く顔の輪郭、眼、鼻、口、頬の位置関係にもとづいて分割するように受容野を設定してもよい。図５は、顔の各部分を示す図である。
【００５５】
また、ニューラル・ネットワークによる判別に限らず、例えば、Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2001に”Rapid Object Detection using a Boosted Cascade of Simple Features”と題するViolaとJonesによる報告で提案されているAdaBoostによる方式を用いてもよい。
【００５６】
そして、ステップＳ１０５で抽出した顔候補領域が顔パターンと判別された場合には（正確には、この顔候補領域の輝度分布を正規化したパターンが顔パターンと判別された場合）、処理をステップＳ１１２に進め、この顔候補領域内の画像データを、顔領域のデータとして出力する（ステップＳ１１２）。出力先については特に限定するものではないが、ＲＡＭ２０２内の所定のエリアであっても良いし、外部記憶装置２０７やＩ／Ｆ２０９を介してデータ通信可能な外部の装置であっても良い。
【００５７】
そして次に、全ての顔候補領域についてステップＳ１０６以降の処理を行ったのかを判別し（ステップＳ１１３）、行っていない場合には未だ処理対象となっていない顔候補領域についてステップＳ１０６以降の処理を行う。一方、全ての顔候補領域についてステップＳ１０６以降の処理を行ったのであれば、処理をステップＳ１１４に進め、全ての縮小画像について以上の処理を行ったのかを判断し（ステップＳ１１４）、まだ処理対象となっていない縮小画像がある場合には処理をステップＳ１０４に戻し、次の縮小画像についてステップＳ１０４以降の処理を行う。本実施形態では現在縮小画像１について処理を行ったので、次は縮小画像２について処理を行う。
【００５８】
一方、ステップＳ１０５で抽出した顔候補領域が顔パターンと判別されなかった場合には（正確には、この顔候補領域の輝度分布を正規化したパターンが顔パターンと判別されなかった場合）、処理をステップＳ１０７に進め、以降の処理を行う。
【００５９】
ここで、ステップＳ１０５で抽出した顔候補領域が実際には顔パターンであるのに、顔パターン中の目の位置がずれているだけで、顔パターンと判別されない場合がある。従って、本実施形態では、ステップＳ１０５で抽出した顔候補領域が顔パターンではないと判別されても、この顔候補領域内の目候補領域の位置を再度検討し、検討した目候補領域の位置で規定される顔候補領域について再度、この顔候補領域が顔パターンであるのか否かを判別する。これにより、例え被写体の右目、左目がどのような方向を向いていたとしても、その目の位置ずれを許容して顔検出を行うことができる。
【００６０】
先ず、ステップＳ１０５で抽出した顔候補領域内における２つの目候補領域の位置のそれぞれについて、図８（ａ）に示す如く、その位置の近傍に近傍領域（図８（ａ）ではＥ１，Ｅ２）を設定する（ステップＳ１０７）。図８（ａ）は近傍領域の設定例を示す図である。
【００６１】
即ち、一方の目候補領域の位置を包含し、この位置を中心とする所定サイズの領域を、一方の目候補領域に対する近傍領域として設定すると共に、他方の目候補領域の位置を包含し、この位置を中心とする所定サイズの領域を、他方の目候補領域に対する近傍領域として設定する。
【００６２】
次に、ステップＳ１０８において以下に説明する処理を行う。先ず、それぞれの近傍領域を複数の矩形に分割する。図８（ｂ）は近傍領域Ｅ１（Ｅ２）を３×３の矩形に分割した例を示す図である。
【００６３】
ここで、以下の説明のために便宜上、近傍領域Ｅ１内の各矩形（９個の矩形）をそれぞれＢ１１，Ｂ１２，，，Ｂ１９と呼称する。一方、近傍領域Ｅ２内の各矩形（９個の矩形）をそれぞれＢ２１，Ｂ２２，，，Ｂ２９と呼称する。
【００６４】
よって、ステップＳ１０８では、次に、近傍領域Ｅ１内の矩形位置（矩形の中心位置）と、近傍領域Ｅ２内の矩形位置との組み合わせを選択する。即ち、Ｂ１１の位置とＢ２１の位置との組み合わせ、Ｂ１１の位置とＢ２２の位置との組み合わせ、、、、、というように、この場合８１通りの組み合わせがあるが、それぞれの近傍領域の中心の矩形同士の組み合わせについては既に処理済みであるので、実際には８０通りの組み合わせについて順次選択する。
【００６５】
そして、ステップＳ１０８で選択された組み合わせにおける一方の位置と他方の位置とを用いてステップＳ１０５と同様の処理を行うことで、ステップＳ１０８で選択された組み合わせにおける一方の位置と他方の位置とを２つの目候補領域の位置とした場合の顔候補領域を規定し、これを抽出する（ステップＳ１０９）。図８（ｃ）は抽出された顔パターンの一例を示す図である。
【００６６】
そして、ステップＳ１０６と同様に、この顔候補領域が顔パターンであるのか否かを判別し、顔パターンである場合には処理をステップＳ１１２に進め、この顔パターンを出力するのであるが、顔パターンではないと判別された場合には処理をステップＳ１１１に進め、ステップＳ１０９で全ての組み合わせについて処理を行ったかを判別し、全ての組み合わせについて行っていない場合には処理をステップＳ１０８に戻し、次の組み合わせを選択し、選択した組み合わせについて以降の処理を行う。
【００６７】
なお、以上の繰り返し処理において、出力された顔候補が画像上で重なり合う場合には、例えば、ステップＳ１０６やステップＳ１１１で用いた上記ニューラルネットワークの出力層のニューロンの出力値が最も高い顔候補領域の顔パターンを出力するようにする。
【００６８】
以上の説明により、本実施形態によって、被写体の目が様々な方向を向いていることにより目の位置がずれているような場合であっても、精度良く画像から顔の領域を抽出することができる。
【００６９】
なお、本実施形態では、被写体の顔の部分的な特徴として目を用いたがその他のものを用いても良い。
【００７０】
［第２の実施形態］
本実施形態では、顔候補領域が顔パターンであるのかを２段階で判別する。従って、本実施形態に係る画像処理装置に適用可能なコンピュータの機能構成は図９に示す如く、図１に示した機能構成において、顔判別部６０が２つ（第１の顔判別部６１、第２の顔判別部６２）に分かれている。
【００７１】
図９は、本実施形態に係る画像処理装置に適用可能なコンピュータの機能構成を示すブロック図である。なお、同図において図１と同じ部分については同じ番号を付けており、その説明は省略する。
【００７２】
以下、この２段階の顔判別処理について説明する。
【００７３】
第１の顔判別部６１は、顔判別部６０と基本的には同様の処理を行うのであるが、第１の顔判別部６１は、比較的幅広く顔パターンを検出するように（顔パターンが顔でないと判別しないように）あらかじめ学習されている。従って、学習の際に例えば図６（ｄ）に示すようなパターンも顔として判別されるよう考慮されている。よって、少なくとも、第１の顔判別部６１により顔パターンであると判別された顔候補領域しか、以降の処理では意味を成さない。そこで、第１の顔判別部６１で顔パターンと判別された顔候補領域についてのみ、以降の処理対象となる。即ち、画像中に多数の顔候補領域が存在しても第１の顔判別部６１により、少なくとも顔パターンとは見なされないのものは以降の処理対象とは成らないので、全体の処理効率を上げることができると共に、顔検出の精度を高めることができる。
【００７４】
第２の顔判別部６２は、比較的確度の高い顔パターンのみを検出するようにあらかじめ学習されている。第２の顔判別部６２は、第１の顔判別部６１によって顔パターンであると判別された顔候補領域について、顔判別部６０と同様の処理を行い、この顔候補領域が顔パターンであるのかを判別する。以降の処理については第１の実施形態と同じである。
【００７５】
このような処理により、図２のステップＳ１０７以降の処理を行う必要のある顔候補領域の数を軽減させることができ、より効率よく顔の探索を行うことができる。
【００７６】
なお、本実施形態において、第１の顔判別部６１による処理を処理時間を重視して比較的簡単な演算で行い、第２の顔判別部６２による処理を判別精度を重視してより複雑な演算で行うように構成すれば、より効率よく顔の探索を行うことができる。
【００７７】
以上、目の候補から選択した２つの目を両眼として顔の候補を設定し、設定した顔候補を画像パターンとして切り出して、顔の判定を行う方式において、一旦、非顔と判別した場合に目の近傍領域において再探索候補を設定して判別を行う上記方式は、被写体の視線がずれている場合や照明の影響によって暗い部分の検出位置がずれたり、眉毛、めがねのフレームを目と誤ったりするような目の抽出位置ずれに強いものであることを示した。
【００７８】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００７９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８２】
【図１】本発明の第１の実施形態に係る画像処理装置に適用可能なコンピュータの機能構成を示すブロック図である。
【図２】画像中に含まれている被写体を検出するための処理のフローチャートである。
【図３】様々なサイズの縮小画像について、被写体パターンの照合を行う処理を説明する図である。
【図４】所定領域内のパターンを識別する為のニューラルネットワークの動作について示した図である。
【図５】顔の各部分を示す図である。
【図６】従来の顔検出について説明する図である。
【図７】顔候補領域を設定する処理を説明する図である。
【図８】ステップＳ１０７〜ステップＳ１０９における処理を説明する図である。
【図９】本発明の第２の実施形態に係る画像処理装置に適用可能なコンピュータの機能構成を示すブロック図である。
【図１０】本発明の第１の実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成を示す図である。
【図１】
2007025900.tif 000003
【図２】
2007025900.tif 000004
【図３】
2007025900.tif 000005
【図４】
2007025900.tif 000006
【図５】
2007025900.tif 000007
【図６】
2007025900.tif 000008
【図７】
2007025900.tif 000009
【図８】
2007025900.tif 000010
【図９】
2007025900.tif 000011
【図１０】
2007025900.tif 000012