(57)【要約】【課題】画像データから人の顔に相当する領域を検出する顔認識処理を行う画像処理方法および装置において、顔認識処理を効率よく短時間で行うことのできる技術を提供する。【解決手段】画像ファイルに含まれる画像の方向に関する方向情報を取得する情報取得工程と、方向情報に基づいて画像のうちの一部領域を検索領域として設定する検索領域設定工程と、検索領域設定工程において設定された検索領域内で、所定の適合条件に適合する領域を顔領域として検出する顔認識処理を実行する顔認識処理工程とを備え、検索領域設定工程では、画像の方向に応じて検索領域を異ならせる。【選択図】図２
2012118896.tif 000002
【特許請求の範囲】
【請求項１】
画像ファイルに含まれる画像から人の顔に相当する顔領域を検索する顔認識処理を実行する画像処理方法において、
前記画像ファイルに含まれる前記画像の方向に関する方向情報を取得する情報取得工程と、
前記方向情報に基づいて、前記画像のうちの一部領域を検索領域として設定する検索領域設定工程と、
前記検索領域設定工程において設定された前記検索領域内で、所定の適合条件に適合する領域を前記顔領域として検出する前記顔認識処理を実行する顔認識処理工程と
を備え、
前記検索領域設定工程では、前記画像の方向に応じて前記検索領域を異ならせる
ことを特徴とする画像処理方法。
【請求項２】
前記検索領域設定工程では、前記画像の方向が縦長画像に対応するものであるとき、前記画像の方向が横長画像に対応するものであるときよりも前記検索領域を狭くする請求項１に記載の画像処理方法。
【請求項３】
前記検索領域設定工程では、前記適合条件としての第１適合条件に対応する前記検索領域を第１検索領域として、前記第１適合条件よりも適合範囲の狭い前記適合条件としての第２適合条件に対応する前記検索領域を第２検索領域としてそれぞれ設定し、前記第１検索領域および前記第２検索領域の少なくとも一方を、前記画像の方向に応じて異ならせる請求項１または２に記載の画像処理方法。
【請求項４】
前記第２検索領域が前記第１検索領域の周囲を取り囲むように設定される請求項３に記載の画像処理方法。
【請求項５】
前記顔認識処理工程では、前記検索領域内において前記適合条件に対する適合度の高い領域を候補領域として検出するとともに当該候補領域の画像が人の顔である確率を算出し、該確率が所定の閾値よりも大きいときに当該候補領域を前記顔領域とし、しかも、前記第１検索領域に対応する前記閾値よりも、前記第２検索領域に対応する前記閾値を高く設定する請求項３または４に記載の画像処理方法。
【請求項６】
画像ファイルに含まれる画像の方向に関する方向情報を取得する情報取得工程と、
前記方向情報に基づき、前記画像のうち前記画像の方向に応じた一部領域を検索領域として設定する検索領域設定工程と、
前記画像のうち前記検索領域設定工程において設定された前記検索領域内で、人の顔に対応する所定の適合条件に適合する領域を顔領域として検出する顔認識処理を実行する顔認識処理工程と
をコンピューターに実行させることを特徴とする制御プログラム。
【請求項７】
画像を取得する画像取得手段と、
前記画像の方向に関する方向情報を取得する方向情報取得手段と、
前記画像から人の顔に相当する顔領域を検索する顔認識処理を実行する処理手段と
を備え、
前記処理手段は、前記方向情報に基づいて、前記画像のうち前記画像の方向に応じた一部領域を検索領域として、該検索領域内で人の顔に対応する所定の適合条件に適合する領域を顔領域として検出する処理を、前記顔認識処理として実行する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理方法および画像処理装置に関するものであり、特に画像から人の顔に相当する領域を検出する顔認識技術に関する。
【背景技術】
【０００２】
被写体を撮影して画像データを生成するデジタルカメラや、該画像データを表示または印刷するプリンターなどの出力装置では、画像内に含まれる人の顔に相当する領域を検出する顔認識機能を持つものが実用化されている。例えば、特許文献１に記載の技術においては、デジタルカメラ等で撮影された画像のＥｘｉｆ（Exchangeable Image File Format）ファイルから当該画像が縦長か横長かを判定し、その判定結果に基づき顔認識に用いる認識パラメータを設定する。より具体的には、横長画像では複数の人物が含まれるケースが多いことから顔の検索サイズを小さく、認識する顔の数を多くする一方、縦長画像では被写体が１人であるケースが多いことから顔の検索サイズを大きく、認識数を少なくするように、認識パラメータを設定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０９０３９９号公報（例えば、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願発明者の調査によれば、縦長画像（いわゆるポートレート画像）と横長画像（いわゆるランドスケープ画像）とでは、上記のような被写体人物の数やサイズのみでなく、人物の顔の位置分布にもそれぞれ特有の傾向があることがわかってきた。しかしながら、上記従来技術では、このような顔の位置分布を考慮していないため、顔認識処理に長い時間を要する場合があった。
【０００５】
この発明にかかるいくつかの態様は、画像データから人の顔に相当する領域を検出する顔認識処理を行う画像処理方法および装置において、上記課題を解決し、顔認識処理をより効率よく短時間で行うことのできる技術を提供するものである。
【課題を解決するための手段】
【０００６】
この発明の一の態様は、画像ファイルに含まれる画像から人の顔に相当する顔領域を検索する顔認識処理を実行する画像処理方法であって、上記課題を解決するため、前記画像ファイルに含まれる前記画像の方向に関する方向情報を取得する情報取得工程と、前記方向情報に基づいて、前記画像のうちの一部領域を検索領域として設定する検索領域設定工程と、前記検索領域設定工程において設定された前記検索領域内で、所定の適合条件に適合する領域を前記顔領域として検出する前記顔認識処理を実行する顔認識処理工程とを備え、前記検索領域設定工程では、前記画像の方向に応じて前記検索領域を異ならせることを特徴としている。
【０００７】
また、この発明の他の態様は、上記各工程をコンピューターに実行させることを特徴とする制御プログラムである。
【０００８】
これらの発明では、画像内の全領域を検索対象とするのではなく、画像の方向に応じて設定した一部領域を検索領域としているので、検索範囲が限定されており、より短時間で顔認識処理を行うことが可能である。ここで、検索領域については一義的に決めるのではなく画像の方向に応じて設定するようにしているので、上記のような顔の位置分布の傾向を反映させてより効率よく短時間で顔認識処理を行うことが可能となっている。
【０００９】
ここで、検索領域設定工程では、例えば、検索領域の位置を画像の方向に応じて設定するようにしてもよい。また例えば、検索領域のサイズを画像の方向に応じて設定するようにしてもよい。例えば画像の方向が縦長画像に対応するものであるとき、画像の方向が横長画像に対応するものであるときよりも検索領域を狭くするようにすると、次のような作用効果が得られる。すなわち、本願発明者の知見によれば、ポートレート画像に代表される縦長画像では、被写体人物の顔が左右方向において画像の中央部かつ上下方向において中央よりやや上寄りの位置にある場合が多い。したがって、このような位置を中心にした比較的狭い領域について顔認識処理を行うことにより、画像内の顔を効率よく短時間で検出することができる。これに対して、ランドスケープ画像に代表される横長画像では、被写体人物の顔はより広い範囲に分散する傾向がある。そこで、より広い領域について顔認識処理を行うことにより、本来顔として検出すべき領域を見落とすという誤認識を低減させることができる。
【００１０】
また、例えば、検索領域設定工程では、所定の第１適合条件に対応する検索領域を第１検索領域として、また第１適合条件よりも適合範囲の狭い第２適合条件に対応する検索領域を第２検索領域としてそれぞれ設定し、該第１検索領域および第２検索領域の少なくとも一方を、画像の方向に応じて異ならせるようにしてもよい。顔が含まれる可能性の高い領域においては比較的緩やかな適合条件（第１適合条件）で顔認識処理を行う一方、顔が含まれる可能性がより低い領域のみについてより厳しい適合条件（第２適合条件）を適用することで、短時間で効率よく、しかも誤検出の少ない顔認識を行うことができる。そして、前記したように、画像内における顔の位置分布は画像の方向ごとに一定の傾向がみられるから、このような異なる適合条件を適用する領域を画像の方向に応じて設定することで、顔の位置分布に関する知見を反映させてさらに効率よく顔認識を行うことが可能である。
【００１１】
この場合において、第２検索領域が第１検索領域の周囲を取り囲むように設定されてもよい。一般的には、画像の中央部分に顔が含まれる確率が高く、周辺部ほどその確率は低下すると考えられる。そこで、顔が含まれる可能性が高いとみられる第１検索領域の周囲をより厳しい適合条件を適用する第２検索領域とすることで、効率よく顔認識を行うことができる。
【００１２】
より具体的には、顔認識処理工程では、例えば検索領域内において適合条件に対する適合度の高い領域を候補領域として検出するとともに当該候補領域の画像が人の顔である確率を算出し、該確率が所定の閾値よりも大きいときに当該候補領域を顔領域とし、しかも、第１検索領域に対応する閾値よりも第２検索領域に対応する閾値を高く設定することができる。このようにすると、第１検索領域ではより低い閾値が設定されて比較的緩やかな条件で顔領域が検出される一方、第２検索領域ではより厳しい条件で顔領域の検出が行われることになり、上記した顔の位置分布に関する知見を反映させた顔認識処理を行うことができる。
【００１３】
また、この発明にかかる他の態様は、画像を取得する画像取得手段と、前記画像の方向に関する方向情報を取得する方向情報取得手段と、前記画像から人の顔に相当する顔領域を検索する顔認識処理を実行する処理手段とを備え、前記処理手段は、前記方向情報に基づいて、前記画像のうち前記画像の方向に応じた一部領域を検索領域として、該検索領域内で人の顔に対応する所定の適合条件に適合する領域を顔領域として検出する処理を、前記顔認識処理として実行することを特徴とする画像処理装置である。
【００１４】
このように構成された発明では、上記した画像処理方法の発明と同様に、画像の方向に応じて設定した一部領域を検索領域としているので、短時間で顔認識処理を行うことが可能である。検索領域を画像の方向に応じて設定することで、顔の位置分布の傾向に関する知見を反映させた顔認識処理を効率よく短時間で行うことが可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明にかかる画像処理装置の一実施形態を用いた印刷システムを示す図。
【図２】図１の印刷装置で実行される画像処理動作を示すフローチャート。
【図３】図１の印刷装置で実行される印刷動作を示すフローチャート。
【図４】人物を含む横長画像および縦長画像の例を示す図。
【図５】横長画像および縦長画像における顔検出頻度の統計を示す図。
【図６】この実施形態における検索領域を示す図。
【図７】横長画像および縦長画像における検索領域の設定例を示す図。
【発明を実施するための形態】
【００１６】
図１は、本発明にかかる画像処理装置の一実施形態を用いた印刷システムを示す図である。この印刷システムは、デジタルカメラ２００の撮影により取得された画像データを、メモリカードＭ、ＵＳＢ（Universal Serial Bus）ケーブルや無線ＬＡＮ（Local Area Network）等によって印刷装置１００に転送し、印刷装置１００で印刷するものである。すなわち、ここではユーザーがデジタルカメラ２００で画像を撮影して画像データを生成し、その画像データをそのまま印刷装置１００で読み込んで印刷する、いわゆるダイレクト印刷を想定しているが、本発明を適用可能な印刷システムはこれに限定されるものではない。つまり、デジタルカメラ２００で生成した画像データをパーソナルコンピューターや携帯電話などに取り込み、パーソナルコンピューターから印刷装置１００に画像データを送信して印刷する印刷システムにも本発明を適用することが可能である。さらに、このような印刷装置１００を備えるシステムに限定されず、画像データに対して種々の処理を施す画像処理装置全般に対して、本発明を適用可能である。
【００１７】
デジタルカメラ２００では、同図に示すように、ＣＰＵ（Central Processing Unit）２０１、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、ＣＣＤ（Charge Coupled Device）２０４、グラフィックプロセッサー（Graphic Processor；ＧＰ）２０５およびインターフェース（Interface；Ｉ／Ｆ）２０６がバス２０７を介して相互に接続され、これらの間で情報の授受が可能となっている。そして、ＣＰＵ２０１はＲＯＭ２０２に格納されているプログラムに応じて各種演算処理を実行しながらデジタルカメラ２００の制御を行う。このとき一時的に必要となるデータはＲＡＭ２０３に格納される。また、ＣＣＤ２０４は、光学系２０８によって集光された被写体からの光学像を電気信号に変換して出力する。この光学系２０８は、複数のレンズおよびアクチュエータによって構成されており、アクチュエータによってフォーカス等を調整しながら被写体の光学像を複数のレンズによってＣＣＤ２０４の受光面に結像する。さらに、ＧＰ２０５は、ＣＰＵ２０１から供給される表示命令に基づいて表示用の画像処理を実行し、得られた表示用画像データを液晶ディスプレイ（Liquid Crystal Display；ＬＣＤ）２０９に供給して表示させる。
【００１８】
Ｉ／Ｆ２０６はデジタルカメラ２００の入出力機能を提供するものであり、操作ボタン２１０、ジャイロセンサー２１１およびカードＩ／Ｆ回路２１２の間で情報を授受する際に、データの表現形式を適宜変換する装置である。Ｉ／Ｆ２０６に接続される操作ボタン２１０には、電源、モード切替え、シャッターなどのボタンや、各種機能を設定できる入力手段があり、これらによってユーザーはデジタルカメラ２００を任意に制御して動作させることが可能となっている。また、ジャイロセンサー２１１はデジタルカメラ２００によって被写体を撮影した際のカメラ本体の角度（水平面に対する角度）を示す信号を生成して出力する。デジタルカメラ２００は、上記したカメラ本体の角度を含め、撮影時における種々の情報（例えば、露光、被写体等に関する情報）を生成する。
【００１９】
なお、本実施形態では、デジタルカメラ２００は、撮影情報をＥｘｉｆ（Exchangeable Image File Format）情報に記載し、画像データに付加した画像ファイルを生成することができる構造となっている。このＥｘｉｆ画像ファイルの構造は、基本的には通常のＪＰＥＧ（Joint Photographic Experts Group）画像形式そのものであり、その中にサムネイル画像や撮影関連データ等のデータをＪＰＥＧの規約に準拠した形で埋め込んだものである。これらのデータ規格はいずれも公開されたものであるので、ここでは詳しい説明を省略する。
【００２０】
また、カードＩ／Ｆ回路２１２はカードスロット２１３に挿入されたメモリカードＭとの間で情報を読み書きするためのインタフェースである。さらに、Ｉ／Ｆ２０６は図示を省略するＵＳＢ、無線ＬＡＮなどの外部機器との接続機能も有しており、有線または無線にて印刷装置１００との間で画像ファイルの授受が可能となっている。
【００２１】
印刷装置１００はデジタルカメラ２００で撮像された画像を印刷する装置であり、次のように構成されている。印刷装置１００では、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）１０４、ＧＰ１０５およびＩ／Ｆ１０６がバス１０７を介して相互に接続され、これらの間で情報の授受が可能となっている。ＣＰＵ１０１はＲＯＭ１０２およびＥＥＰＲＯＭ１０４に格納されているプログラムに応じて各種演算処理を実行するとともに印刷装置１００の各部を制御する。また、ＣＰＵ１０１が実行対象とするプログラムやデータについてはＲＡＭ１０３に一時的に格納される一方、印刷装置の電源が切断された後も保持しておくデータ等についてはＥＥＰＲＯＭ１０４に格納される。さらに、ＣＰＵ１０１は必要に応じてＧＰ１０５に対して表示命令を与え、この表示命令に応じてＧＰ１０５が表示用の画像処理を実行し、その処理結果をＬＣＤ１０８に供給して表示させる。
【００２２】
Ｉ／Ｆ１０６は、操作ボタン１０９、カードＩ／Ｆ回路１１０およびプリンターエンジンコントローラー１１１の間で情報を授受する際に、データの表現形式を適宜変換する装置である。印刷装置１００では、操作ボタン１０９は印刷装置１００のメニュー選択等を行う時に押されるように構成されている。また、カードＩ／Ｆ回路１１０は、カードスロット１１２と接続されており、このカードスロット１１２に挿入されたメモリカードＭからデジタルカメラ２００によって生成された画像ファイルを読み出す。なお、Ｉ／Ｆ１０６は、図示を省略するＵＳＢ、無線ＬＡＮなどの外部機器との接続機能も有しており、有線通信または無線通信にてデジタルカメラ２００との間で画像ファイルの授受が可能となっている。
【００２３】
そして、印刷装置１００は、メモリカードＭを介して、あるいはデータ通信により画像データを受け取ると、ＣＰＵ１０１により種々の処理を行うとともにプリンターエンジンコントローラー１１１によりプリンターエンジン１１３を制御し、これによって画像データに対応する画像を印刷する。以下、本実施形態における画像処理動作および印刷動作について、図２ないし図７を参照しつつ詳述する。
【００２４】
図２および図３は図１の印刷装置で実行される画像処理および印刷動作を示すフローチャートである。ユーザーが印刷装置１００のカードスロット１１２にメモリカードＭを挿入し、操作ボタン１０９を操作して印刷指令を与えると、ＣＰＵ１０１がＲＯＭ１０２に格納されているプログラムにしたがって装置各部を制御して以下の画像処理および印刷動作を実行する。
【００２５】
まず、ＣＰＵ１０１は、印刷の対象となる画像ファイルをメモリカードＭから取得し、ハフマン解凍処理を実行し、量子化ＤＣＴ（Discrete Cosine Transform）係数を得る（ステップＳ１０）。より具体的には、ＣＰＵ１０１は、メモリカードＭから取得した画像ファイルからエントロピー符号化テーブルを取得し、圧縮データに含まれているＹ（輝度）成分、Ｃｒ（色差成分）、および、Ｃｂ（色差成分）のそれぞれのブロックのＤＣ係数と、ＡＣ係数とを復号する。なお、この際、最小符号化単位であるＭＣＵ（Minimum Coded Unit）単位で復号を行う。
【００２６】
また、ＣＰＵ１０１は、ステップＳ１０において得られた量子化ＤＣＴ係数を逆量子化する（ステップＳ１１）。具体的には、ＣＰＵ１０１は、画像ファイルから量子化テーブルを取得し、ステップＳ１０において得られた量子化ＤＣＴ係数に乗じることにより（逆量子化することにより）、ＤＣＴ係数を得る。
【００２７】
次に、ＣＰＵ１０１は、画像を回転させるために必要な情報（ローテート情報）を、例えばＲＡＭ１０３にキャッシュする（ステップＳ１２）。具体的には、ＪＰＥＧ方式によって圧縮された画像を回転させる場合、ＭＣＵのＤＣ成分（直流成分）とＡＣ成分（交流成分）のそれぞれを一度ハフマン展開しなければならない。ここで、ＤＣ成分については隣接するＤＣ成分値の差分をハフマン符号化することから、隣接するＭＣＵとの相関関係が問題となる。また、ＡＣ成分ではハフマン符号化処理によりそのデータ長が各ＭＣＵで一定にならず、ＪＰＥＧデータのビットストリーム中のどのデータが求めるＭＣＵのＡＣ成分値であるかが不明となることが問題となる。そこで、ステップＳ１２では、各ＭＣＵのＤＣ成分値とＡＣ成分のアドレスを求めてキャッシュしておくことにより、ローテート処理を可能とする。
【００２８】
そして、ＣＰＵ１０１はステップＳ１１で得られたＤＣＴ係数に対して逆ＤＣＴ演算を施すことによりもとの画素値を得る（ステップＳ１３）。また、ＣＰＵ１０１は、ステップＳ１３の処理によって得られたＹＣＣ空間の画像をＲＧＢ（Red Green Blue）空間の画像と、ＨＳＢ（Hue Saturation Brightness）空間の画像に変換する（ステップＳ１４）。
【００２９】
そして、ＣＰＵ１０１はステップＳ１３およびステップＳ１４の処理において得られたＹＣＣ，ＲＧＢ，ＨＳＢのそれぞれの画像をＲＡＭ１０３に格納して保持する。なお、このとき、データ量を削減するために画素を所定の割合で間引きし画像を縮小した後にＲＡＭ１０３に格納してもよい（ステップＳ１５）。ここでは、元の画像サイズに関わらず、ＱＶＧＡ（Quarter Video Graphics Array）サイズに相当する（３２０×２４０）ピクセルの画像に正規化するものとする。
【００３０】
また、ＣＰＵ１０１は、ステップＳ１５においてＲＡＭ１０３に格納されたＹＣＣ，ＲＧＢ，ＨＳＢそれぞれの画像の成分について、ヒストグラムを計算する（ステップＳ１６）。具体的には、ＲＧＢ画像については、Ｒ，Ｇ，Ｂそれぞれの画像についてヒストグラムを計算する。その結果、画像を構成する各成分の分布を得る。
【００３１】
上記したように、本実施形態では、ステップＳ１０〜１６の処理はＭＣＵ単位で行われており、ＣＰＵ１０１は、全てのＭＣＵについての処理が終了したことを確認するまで、ステップＳ１０に戻って処理を繰り返して実行する。一方、全てのＭＣＵについての処理が終了した場合には、次のステップＳ１７に進み、顔認識処理の主要部に相当する処理を実行する。
【００３２】
ステップＳ１７では、メモリカードＭから取得した画像ファイルに含まれる、当該画像撮像時のデジタルカメラ２００のオリエンテーション情報を読み出し（ステップＳ１７）、当該画像が横長画像であるか縦長画像であるかを判別する（ステップＳ１８）。デジタルカメラ２００では、ジャイロセンサー２１１からの出力に基づき、撮像時のカメラの水平方向に対する向きを把握することが可能であり、例えば光軸周りのカメラの回転角に応じて０°、９０°、１８０°、２７０°の４段階に分けて表すことができる。本来横長であるＪＰＥＧ方式の画像データでは、回転角０°および１８０°の画像は横方向を長辺とする画像であり「横長画像」であると言える。一方、回転角９０°および２７０°の画像は縦方向を長辺とする「縦長画像」である。Ｅｘｉｆ画像ファイルでは、このような画像方向（オリエンテーション）に関するタグがヘッダ情報として記録されており、上記したオリエンテーション情報としてはこのタグを用いることが可能である。
【００３３】
続く処理では、画像が横長画像であるか縦長画像であるかに応じて、顔認識のための以下の認識パラメータ、すなわち検索上端Ｙmin、検索下端Ｙmax、検索左端Ｘmin、検索右端Ｘmax、閾値上端ＴＹmin、閾値下端ＴＹmax、閾値左端ＴＸmin、閾値右端ＴＸmaxの値をそれぞれ個別に設定する。これらのパラメータの意味について、次に説明する。
【００３４】
図４は人物を含む横長画像および縦長画像の例を示す図である。図４（ａ）に示すように、被写体として人物を含む横長画像ＩＴは、人物と共に風景を含んだいわゆるランドスケープ画像であったり、多数の人物が並んだ画像である場合が多い。すなわち、画像に含まれる顔の１つ１つは比較的小さく、数が多い。これに対して、図４（ｂ）に示すように、人物を含む縦長画像ＩＬでは、少人数で各人の顔を比較的大きく撮ったポートレート画像であることが多い。すなわち、画像に含まれる顔の１つ１つが大きく、数が少ない。前掲の特許文献１では、この点に着目して、画像方向に応じて、顔認識におけるテンプレートのサイズおよび認識する顔の数を異ならせていた。一方、本願発明者は人物を含む種々の画像をさらに解析して次のような知見を得た。
【００３５】
図５は横長画像および縦長画像における顔検出頻度の統計を示す図である。より具体的には、図５（ａ）は種々の横長画像について顔認識を行ったときに、画像内のどの位置で顔が検出されたかを統計的に示している。また、図５（ｂ）は縦長画像で同様の統計を取った結果を示している。横長画像ＩＴでは、図５（ａ）に示すように、顔が検出された位置は概ね中央付近やや上寄りに分布の盛り上がりがみられるが比較的ばらつきが大きい。これに対して、縦長画像ＩＬでは、図５（ｂ）に示すように、中央上寄りの位置により明確な分布のピークが見られる。上記した特許文献１の技術では、このような統計的な顔位置の分布に対する知見は考慮されていなかったため、十分に効率的な処理を行えず、顔認識処理に時間がかかってしまう可能性があった。
【００３６】
これに対して、本実施形態では、上記知見に鑑みて次のような顔認識処理を行うことにより、より短時間で効率よく顔認識を行えるようにしている。すなわち、画像全体を処理対象とするのではなく、上記知見から顔認識を行う蓋然性が低い領域を除外して顔認識を行うことにより、処理対象領域を限定して処理時間を短縮する。ここでいう「蓋然性が低い領域」とは、統計的にみて顔がある確率が低く、主要な顔はこれ以外の領域にあると考えられるような領域であり（つまり、この領域に顔があったとしても顔認識における重要度が低い）、画像の端部付近が該当する。
【００３７】
また、上記したように顔検出頻度は画像の中央付近で高く、この領域において検出される「顔に似た領域」が実際に顔である確率は、周辺部よりも高い。このことから、テンプレートとのマッチングによる顔の検索においては、このように顔検出頻度の高い領域では比較的緩やかな適合条件を用いることで処理時間を短縮することができる。その一方、より周辺部に近い領域では、顔と紛らわしい他の画像を顔として誤検出することがないように比較的厳しい適合条件を適用することが考えられる。このように、画像の顔検出頻度に応じてマッチングにおける適合条件に差をつけることで、誤認識の確率を低く抑えながら、短時間で効率よく顔認識を行うことができる。
【００３８】
より具体的には、画像内で顔の検索を行う処理対象領域（検索領域）を設定するに当たって、比較的緩やかな適合条件（第１適合条件）でテンプレートとのマッチングを行う領域（第１検索領域）と、より厳しい適合条件（第２適合条件）でマッチングを行う領域（第２検索領域）とをそれぞれ設定して顔認識を行う。そして、上記したように画像が横長であるか縦長であるかによって顔検出頻度の分布が異なるから、この実施形態では、第１検索領域および第２検索領域を画像方向に応じて個別に設定するようにしている。
【００３９】
図６はこの実施形態における検索領域を示す図である。ＱＶＧＡサイズ（３２０×２４０ピクセル）で表現された処理対象画像ＩＭ内に、上記した２種類の検索領域を設定する。図６において二点鎖線で囲まれた領域Ｒ２が上記した「第２検索領域」であり、これよりも外側の領域Ｒ３は顔の検索が行われない「非検索領域」である。また、第２検索領域Ｒ２の内部で一点鎖線で囲まれた領域Ｒ１が「第１検索領域」であり、第１検索領域Ｒ１はその周囲を第２検索領域Ｒ２に囲まれており、後述するように第２検索領域Ｒ２よりも緩やかな適合条件で検索が行われる。
【００４０】
先に挙げた各認識パラメータは、画像内における第１および第２検索領域の外縁を規定するパラメータである。具体的には、図６に示すように、画像の左上を原点として、検索上端Ｙminおよび検索下端Ｙmaxは、第２検索領域Ｒ２のＹ方向における上端（Ｙの値が小さい側の端部）および下端（Ｙの値が大きい側の端部）をそれぞれ表している。また、検索左端Ｘminおよび検索右端Ｘmaxは、第２検索領域Ｒ２の左端（Ｘの値が小さい側の端部）および右端（Ｘの値が大きい側の端部）をそれぞれ表している。さらに、閾値上端ＴＹminおよび閾値下端ＴＹmaxは第１検索領域Ｒ１のＹ方向における上端および下端を、閾値左端ＴＸminおよび閾値右端ＴＸmaxは第１検索領域Ｒ１のＸ方向における左端および右端を、それぞれ表している。なお、以下においては、これらの各値はＱＶＧＡサイズ画像におけるピクセル数によって表される。
【００４１】
図２のステップＳ１９に示すように、画像が横長画像であった場合には、各認識パラメータの値をそれぞれ、
検索上端Ｙmin＝０、
検索下端Ｙmax＝２１０、
検索左端Ｘmin＝３０、
検索右端Ｘmax＝２９０、
閾値上端ＴＹmin＝３０、
閾値下端ＴＹmax＝１４０、
閾値左端ＴＸmin＝６０、
閾値右端ＴＸmax＝２６０、
に設定する。一方、画像が縦長画像であった場合には（ステップＳ２０）、
検索上端Ｙmin＝０、
検索下端Ｙmax＝２３０、
検索左端Ｘmin＝３０、
検索右端Ｘmax＝２１０、
閾値上端ＴＹmin＝３０、
閾値下端ＴＹmax＝１６０、
閾値左端ＴＸmin＝６０、
閾値右端ＴＸmax＝１８０、
に設定する。
【００４２】
図７は横長画像および縦長画像における検索領域の設定例を示す図である。図７（ａ）は、横長画像において上記した数値例により設定される第１および第２検索領域Ｒ１，Ｒ２の位置および大きさを示しており、図７（ｂ）は縦長画像において上記した数値例により設定される第１および第２検索領域Ｒ１，Ｒ２の位置および大きさを示している。これらの設定値には、図５に示す顔の位置分布に関する知見が反映されている。
【００４３】
すなわち、図７（ａ）に示すように、画像の長辺方向（Ｘ方向）を横方向とする横長画像では、第１検索領域Ｒ１、第２検索領域Ｒ２が比較的広く設定される。また、第１検索領域Ｒ１は画像の上下方向において中央よりやや上寄りで、しかも左右方向には比較的広い範囲に設定され、第２検索領域はこれを取り囲むように設定される。一方、図７（ｂ）に示すように、画像の長辺方向（Ｘ方向）を縦方向とする縦長画像では、第１検索領域Ｒ１、第２検索領域Ｒ２がより狭く、特に第１検索領域Ｒ１は画像の中央上寄り位置に絞って設定される。
【００４４】
図２に戻って、こうして検索領域を設定して行う顔認識処理の具体的内容について説明する。なお、以下において単に「検索領域」という場合、当該語句は第１領域Ｒ１と第２検索領域Ｒ２とを合わせた領域を示すものとする。ＣＰＵ１０１は、顔認識に用いるテンプレートの顔サイズＳを所定の初期値、この例では２４０に設定して（ステップＳ２１）、そのテンプレートをＱＶＧＡサイズに縮小された処理対象画像内の検索領域の左上隅（Ｘ＝Ｘmin，Ｙ＝Ｙmin）に位置させる（ステップＳ２２、Ｓ２３）。
【００４５】
そして、ＣＰＵ１０１は、テンプレートを検索領域内で適宜に移動設定しながら、当該検索領域内に人の顔としての特徴を備える領域があるか否かを判定することにより顔認識を行う。なお、顔認識アルゴリズムとしては公知のものを適用可能であるので、ここでは詳しい説明を省略する。
【００４６】
ここで、ＣＰＵ１０１は、保持した画像データを９０゜、１８０゜および２７０゜回転させて顔認識処理を行う（ステップＳ２４〜Ｓ２６）。顔認識アルゴリズムにおいて、テンプレートに対して回転角度±４５°の範囲で顔認識を行えるようにしておけば、このように９０度ずつ画像を回転させてその都度テンプレートとのマッチングによる顔認識を行うことで、任意の角度を向いた顔を検出することが可能となる。なお、本実施形態では画像データを回転させて顔認識を行っているが、テンプレートを回転させて顔認識を行ってもよい。
【００４７】
テンプレートとのマッチングの結果、現在テンプレートのある領域が人の顔である可能性が高いと判断されたときには、当該領域を候補領域として、その候補領域がどの程度の確率で人の顔であるかを示す「顔信頼度」を算出する。ここではその確率を０〜１０００の数値で表し、数値が大きいほど確率が高いものとする。この顔信頼度に対して所定の閾値を設定しておき、候補領域の顔信頼度がその閾値よりも大きければ、当該候補領域を人の顔である可能性が極めて高い「顔領域」であると判定する。
【００４８】
ここで、顔信頼度に対して設定される閾値が、第１検索領域Ｒ１と第２検索領域Ｒ２とで異なるようにする。すなわち、第２検索領域Ｒ２に対して適用する閾値を、第１検索領域Ｒ１に対して適用する閾値よりも大きな値とする。これにより、第２検索領域Ｒ２においては第１検索領域Ｒ１よりも厳しい適合条件が与えられることになる。具体的には次のような処理を行う。
【００４９】
ステップＳ２８では、現在テンプレートのある位置が第１検索領域Ｒ１内であるか否かを、その座標位置（Ｘ，Ｙ）から判断する。ステップＳ２８の条件、
ＴＹmin＜Ｙ＜ＴＹmax、かつ、ＴＸmin＜Ｘ＜ＴＸmax
が成立するとき、テンプレートは第１検索領域Ｒ１内にある。そこで、この条件が成立するときには（ステップＳ２８において「ＹＥＳ」）、顔信頼度に対する閾値を比較的低い値、例えば４００に設定し（第１検索条件）、これより高い顔信頼度であれば当該領域が顔であると判断する（ステップＳ２９）。一方、上記条件が成立しなければ（ステップＳ２８において「ＮＯ」）、テンプレートは第２検索領域Ｒ２内にある。そこで、このとき顔信頼度の閾値をより大きな値、例えば８００に設定し（第２検索条件）、これより高い顔信頼度であれば当該領域が顔であると判断する（ステップＳ３０）。
【００５０】
当該領域が顔であると判断されたときには（ステップＳ２９またはＳ３０において「ＹＥＳ」）、当該領域の位置およびサイズに関する情報、例えば矩形領域の４つの頂点座標を顔情報として、例えばＲＡＭ１０３に設けた顔登録リストに登録する（ステップＳ３１）。そして、テンプレートをＸ方向に所定量ΔＸだけ移動させて（ステップＳ３２）、テンプレートがＸ方向における画像の端部に到達するまで（ステップＳ３３）、上記したステップＳ２３〜Ｓ３１の処理を繰り返す。
【００５１】
Ｘ方向の１ラインの顔認識が完了すると、ＣＰＵ１０１はテンプレートをＹ方向にΔＹだけ移動させる（ステップＳ３４）。そして、テンプレートがＹ方向の端部まで移動するまでの間（ステップＳ３５）、上記したステップＳ２３〜Ｓ３３の処理を繰り返して行う。これにより、処理対象画像の全体について、顔サイズＳのテンプレートを用いた顔認識処理が実行される。
【００５２】
なお、ＣＰＵ１０１は、上記した一連の顔認識処理（ステップＳ２２〜Ｓ３５）が完了する毎にテンプレートの顔サイズＳをΔＳだけ小さくし（ステップＳ３６）、顔サイズＳが所定の有効最小顔サイズ、例えば２０を下回るまでステップＳ２２に戻って上記した一連の顔認識処理を繰り返して行う（ステップＳ３７）。こうすることで、画像内の種々のサイズの顔を検出することが可能となる。
【００５３】
こうして、印刷装置１００による顔認識処理が行われると、次のステップＳ４０（図３）では、ＣＰＵ１０１は顔登録リストに顔情報が登録されている否かを判別する。そして、顔情報が登録されている場合（ステップＳ４０で「ＹＥＳ」）には、ＣＰＵ１０１は、顔登録リストに登録された顔情報に基づいて全ての顔位置を計算し、さらに顔の平均顔色を取得した（ステップＳ４１）後、顔色が最適になるようにエンハンスパラメータを計算する（ステップＳ４２）。なお、エンハンスパラメータ計算の詳細については省略するが、ＲＡＭ１０３に記憶したＲＧＢヒストグラムに基づきコントラスト、明度、彩度、シャープネスなどの各画質パラメータの特徴量を抽出し、抽出した特徴量が所定の画質パラメータの特徴量に近づくようエンハンスのパラメータを設定する。
【００５４】
一方、顔登録リストに顔情報が登録されていない場合（ステップＳ４０で「ＮＯ」）、つまり当該画像内で人の顔が検出されなかった場合には、ＣＰＵ１０１は画像全体が最適になるようにエンハンスパラメータを計算する（ステップＳ４３）。
【００５５】
続いて、ＣＰＵ１０１は、印刷対象となる画像ファイルにおいて、解凍処理の対象となる位置を示すファイルポインタをリセットし（ステップＳ４４）、処理位置を画像ファイルの先頭に復元する。そして、ＣＰＵ１０１は、以下のステップＳ４５〜Ｓ５２を繰り返して画像データに基づいて画像を印刷する。
【００５６】
ＣＰＵ１０１は、ＲＡＭ１０３にキャッシュされた１ＭＣＵライン分の画像データにハフマン解凍処理を施し、量子化ＤＣＴ係数を得る（ステップＳ４５）。ここで、１ＭＣＵラインとは、画像を回転させる場合には、画像を構成する列方向に１列のＭＣＵ群をいい、回転させない場合には、画像を構成する行方向に１列のＭＣＵ群をいう。そして、ＣＰＵ１０１は、ステップＳ４５の処理において得られた量子化ＤＣＴ係数を逆量子化し（ステップＳ４６）、さらにステップＳ４５で得られたＤＣＴ係数に対して逆ＤＣＴ演算を施すことによりもとのデータを得る（ステップＳ４７）。
【００５７】
こうして得られたＹＣＣ空間の画像を、ＣＰＵ１０１はＲＧＢ空間の画像に変換する（ステップＳ４８）。そして、ＣＰＵ１０１は、ＲＧＢ空間の画像を構成する各画素に対してステップＳ４２またはＳ４３において算出したエンハンスパラメータを適用することにより、印刷される画像を最適な色合いに補正し（ステップＳ４９）、次のステップＳ５０に進む。
【００５８】
ＣＰＵ１０１は、こうして補正された画像データに対して、リサイズ、回転などのレイアウト処理を施し（ステップＳ５０）、プリンターエンジンコントローラー１１１の図示せぬバンドバッファに供給する。これを受けたプリンターエンジンコントローラー１１１は、プリンターエンジン１１３の各部を制御して画像データに対応する画像を印刷する（ステップＳ５１）。そして、印刷処理が完了すると、ＣＰＵ１０１はＲＡＭ１０３のキャッシュ状態を更新する（ステップＳ５２）。そして、全ＭＣＵライン分について上記ステップＳ４５〜Ｓ５２が完了すると、一連の処理を終了する。
【００５９】
以上のように、本実施形態によれば、画像から人の顔に相当する顔領域を検索するのに際して、画像のうちの一部領域を検索領域として当該検索領域内のみ検索を行い、しかも、検索領域については画像の方向に応じてその設定を異ならせている。こうすることにより、画像方向と顔の位置分布との相関性に関する知見を処理に反映させて、短時間で効率よく顔認識処理を行うことが可能となっている。
【００６０】
より具体的には、画像が横長画像であるときには顔の位置が比較的広い範囲に分散する傾向がある一方、縦長画像であるときには顔の位置が中央付近に集中しているという統計的知見に基づき、横長画像では比較的広い検索領域を設定する一方、縦長画像ではより狭い検索領域を設定している。またそれぞれの検索領域の位置についても、統計的に顔検出頻度が高かった位置に設定されるようにしている。
【００６１】
また、統計的には顔の検出頻度が画像の中央部分で特に高くなっていることに鑑み、画像の中央部分では比較的緩い適合条件を適用して顔認識を行うことで、処理時間の短縮を図っている。一方、周辺部分ではより厳しい適合条件を適用することで、「顔に似た特徴を有するが顔ではない」領域を顔として誤認識する確率を低減させている。こうすることで、誤認識を抑えながら、短時間で効率よく顔認識を行うことができる。
【００６２】
以上説明したように、上記実施形態の印刷システムにおいては、印刷装置１００が本発明の「画像処理装置」として機能しており、ＣＰＵ１０１が本発明の「処理手段」に相当している。また、デジタルカメラ２００からメモリカードＭを介して画像ファイルを受け取るカードＩ／Ｆ回路１１０およびインターフェース１０６が、本発明の「画像取得手段」および「方向情報取得手段」として機能している。すなわち、この実施形態では、画像ファイルに含まれるオリエンテーション情報（Ｅｘｉｆにおけるオリエンテーションタグ）が、本発明の「方向情報」に相当している。
【００６３】
また、この実施形態の画像処理動作（図２）においては、ステップＳ１７が本発明の「情報取得工程」に相当し、ステップＳ１８〜Ｓ２０が本発明の「検索領域設定工程」に相当している。さらに、この処理では、ステップＳ２１〜Ｓ３７が本発明の「顔認識処理工程」に相当している。
【００６４】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、画像データに方向座標などを付加した画像ファイルをメモリカードＭに記録し、当該メモリカードＭを介して印刷装置１００に供給して印刷しているが、有線または無線通信により画像ファイルが印刷装置１００に供給される場合も、本発明を適用することで上記した実施形態と同様の作用効果が得られる。
【００６５】
また、上記実施形態において設定される第１検索領域および第２検索領域のサイズや位置は単なる一例を開示したものにすぎず、これらのサイズおよび位置については上記したものに限定されず適宜に設定してよい。また、サイズおよび位置のうち一方のみを画像方向に応じて変更するようにしてもよい。
【００６６】
また、上記実施形態では、画像内に２段階の検索領域（第１検索領域，第２検索領域）を設定し、それぞれの領域において異なる適合条件を適用して顔認識を行っているが、このように２段階の適合条件を用いることは必須の要件というわけではない。また、例えば中央付近で顔が検出される蓋然性の高い縦長画像においては上記実施形態のように２段階の適合条件に基づく顔認識を行う一方、顔の位置が分散する傾向のある横長画像については単一の適合条件に基づく顔認識を行うようにしてもよい。また、上記実施形態では画像の方向に応じて第１検索領域、第２検索領域とも変更しているが、いずれか一方のみを変更しても構わない。
【００６７】
また、上記実施形態では、本発明にかかる画像処理装置および方法を印刷装置１００に適用しているが、複数の電子機器から構成される印刷システムにも、また印刷装置以外の１つの電子機器（例えば複合機、ファクシミリ装置など）にも適用可能である。
【００６８】
またデジタルカメラ２００に上記のような画像処理機能を設け、デジタルカメラ２００を本発明の「画像処理装置」として機能させるようにしてもよい。この場合、ＣＣＤ２０４から出力される画像信号から所定フォーマット（例えばＥｘｉｆ）の画像ファイルが作成されるよりも前の処理工程にも本発明を適用することが可能であり、例えば、ジャイロセンサー２１１を本発明の「方向情報取得手段」として機能させ、該センサーからの出力自体、あるいは該出力に基づき得られる当該カメラの方向に関する情報を本発明の「方向情報」として用いることが可能である。この場合には、ＣＣＤ２０４が本発明の「画像取得手段」として機能することとなる。
【００６９】
また、上記実施形態にかかる画像処理方法を実行する制御プログラムを、ＣＤ−ＲＯＭ、光ディスク、光磁気ディスク、不揮発性メモリカードなどの記憶媒体に記憶させ、この記憶媒体からプログラムをコードとして読み出し、コンピューターにおいて実行してもよい。つまり、上記プログラムを記憶した記憶媒体、制御プログラム自体も本発明の一実施形態に含まれる。例えば、デジタルカメラで撮像された画像をパーソナルコンピューターもしくはワークステーション上で編集処理するためのアプリケーションソフトウェアにも、本発明を適用することが可能である。
【符号の説明】
【００７０】
１００…印刷装置（画像処理装置）、  １０１…ＣＰＵ（処理手段）、  １０２…ＲＯＭ、  １０３…ＲＡＭ、  １０４…ＥＥＰＲＯＭ、  １０６…インターフェース（画像取得手段、方向情報取得手段）、  ２００…デジタルカメラ、  Ｍ…メモリカード
【図１】
2012118896.tif 000003
【図２】
2012118896.tif 000004
【図３】
2012118896.tif 000005
【図４】
2012118896.tif 000006
【図６】
2012118896.tif 000007
【図７】
2012118896.tif 000008
【図５】
2012118896.tif 000009