説明

画像処理方法および画像処理装置

【課題】画像データから人の顔に相当する領域を検出する顔認識処理を行う画像処理方法および装置において、ユーザーの属性や嗜好に即した顔認識技術を提供する。
【解決手段】ユーザーインターフェース用の言語を設定する言語設定工程と、言語設定工程において設定された設定言語に基づいて顔認識処理に用いる認識パラメータの値を設定するパラメータ設定工程と、パラメータ設定工程において設定された認識パラメータに基づいて顔認識処理を実行する顔認識処理工程と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理方法および画像処理装置に関するものであり、特に画像データから人の顔に相当する領域を検出する顔認識技術に関する。
【背景技術】
【0002】
被写体を撮影して画像データを生成するデジタルカメラや、該画像データを表示または印刷するプリンターなどの出力装置では、画像内に含まれる人の顔に相当する領域を検出する顔認識機能を持つものが実用化されている。例えば、特許文献1に記載の技術においては、デジタルカメラ等で撮影された画像のExif(Exchangeable Image File Format)ファイルから当該画像が縦長か横長かを判定し、その判定結果に基づき顔認識に用いる認識パラメータを設定する。より具体的には、横長画像では複数の人物が含まれるケースが多いことから顔の検索サイズを小さく、認識する顔の数を多くする一方、縦長画像では被写体が1人であるケースが多いことから顔の検索サイズを大きく、認識数を少なくするように、認識パラメータを設定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−090399号公報(例えば、図2)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、本願発明者の調査によれば、一般的に撮影者がどのような構図を好むかについては万国共通というわけではなく、国や地域によって異なる傾向があることがわかってきた。より具体的には、撮影者が人物を含む写真を撮影しようとするとき、被写体人物をどのような配置で画像に収めようとするかについては、撮影者の属性、特に当該撮影者を取り巻く文化的環境の影響が見られる。しかしながら、このような知見をユーザーの利便性向上のために利用した技術や製品はこれまで実用化されるに至っていない。すなわち、従来の技術においては、どのようなユーザーに対しても画一的な顔認識技術が提供されており、顔認識処理の内容および結果は必ずしもそのユーザーの属性に対して好適なものとはなっていない場合があった。
【0005】
この発明にかかるいくつかの態様は、画像データから人の顔に相当する領域を検出する顔認識処理を行う画像処理方法および装置において、上記課題を解決し、よりユーザーの嗜好に即した顔認識技術を提供するものである。
【課題を解決するための手段】
【0006】
この発明にかかる画像処理方法の一の態様は、画像データから人の顔に相当する領域を検出する顔認識処理を実行する画像処理方法において、上記課題を解決するため、ユーザーインターフェース用の言語を設定する言語設定工程と、前記言語設定工程において設定された設定言語に基づいて、前記顔認識処理に用いる認識パラメータの値を設定するパラメータ設定工程と、前記パラメータ設定工程において設定された前記認識パラメータに基づいて、前記顔認識処理を実行する顔認識処理工程とを備えることを特徴としている。
【0007】
また、この発明にかかる画像処理装置の一の態様は、上記課題を解決するため、ユーザーインターフェース用の言語設定を受け付ける受付手段と、画像データから人の顔に相当する領域を検出する顔認識処理を実行する処理手段とを備え、前記処理手段は、前記言語設定において設定される設定言語に応じて、前記顔認識処理に用いる認識パラメータの値を異ならせることを特徴としている。
【0008】
これらの発明では、ユーザーインターフェース用に設定された設定言語に応じて、顔認識処理における認識パラメータの値を異ならせている。国または地域ごとの文化の違いに対応するために、当該技術を搭載した製品の仕向け地ごとに認識パラメータの設定を変えることも考えられるが、それがユーザーの属性と合致する可能性は必ずしも高くない。これに対して、ユーザーインターフェース用の言語設定における設定内容は、ユーザーの属性により密接に関係するものである。上記発明では、ユーザーインターフェース用の設定言語に応じて設定した認識パラメータを用いて顔認識処理を行うことにより、よりユーザーの属性や嗜好に即した顔認識処理技術を提供することが可能となっている。なお、一般的にはユーザーインターフェース用の言語設定は頻繁に変更されるものではないので、言語設定工程およびパラメータ設定工程については、いったん設定されれば顔認識処理を実行する都度実行される必要はない。
【0009】
その一例として、本願発明者は、カメラやプリンターなどの画像処理装置の使用実態について日本および世界各国で種々の調査を行い、その結果として次のような知見を得た。すなわち、人物を被写体として写真を撮影するとき、日本では、周りの風景を含みなるべく人物の全身が入るような構図が好まれ、また1枚の写真に多数の人物が写り込んだ集合写真が多くなる傾向がある。このため、1人の人物の顔のサイズは小さくなる一方、より多くの人物を画像に収めることが可能である。一方、日本以外の地域では、人物のみをクローズアップした写真が好まれ、被写体もより少人数となる傾向が強い。このため、1人の人物の顔のサイズは大きくなるが、1つの画像に含まれる人数は少ない。
【0010】
このことから、例えば、画像データ内で検索する顔のサイズである検索サイズに関する認識パラメータの値を、設定言語が日本語であるときと日本語以外であるときとで異ならせ、設定言語が日本語であるときには他の言語であるときよりも検索サイズを小さくするようにしてもよい。また、例えば、画像データから検出すべき顔の数に関する認識パラメータの値を、設定言語が日本語であるときと日本語以外であるときとで異ならせ、設定言語が日本語であるときには他の言語であるときよりも検出すべき顔の数を多くするようにしてもよい。こうすることにより、日本や他の国・地域のユーザーに対して、それぞれの好みに応じた顔認識処理を提供することが可能となる。
【0011】
この発明においては、例えば、ユーザーからのユーザーインターフェース用の言語についての設定入力を受け付けて、該設定入力に応じて設定言語を設定するようにしてもよい。このようにユーザー自身により設定された言語に応じて認識パラメータを設定することにより、さらに確実に、その好みに即した顔認識処理技術を各ユーザーに提供することができる。
【0012】
また、例えば、顔認識処理の処理結果に応じた態様で画像データを補正するようにしてもよい。このようにすることで、ユーザーに対してより利便性に優れた画像処理技術を提供することが可能となる。
【0013】
また、この発明にかかる画像処理装置においては、例えば、設定言語で表記された所定のメッセージを表示する表示手段を備えるようにしてもよい。このような表示手段を備える装置では、ユーザーに応じた表示言語でメッセージを表示させることができ、しかも当該ユーザーに好適な顔認識処理を提供することが可能である。
【図面の簡単な説明】
【0014】
【図1】本発明にかかる画像処理装置の一実施形態を用いた印刷システムを示す図。
【図2】図1の印刷装置で実行される画像処理動作を示すフローチャート。
【図3】図1の印刷装置で実行される印刷動作を示すフローチャート。
【図4】印刷装置に表示される設定画面の一例を示す図。
【図5】モード設定処理の一例を示すフローチャート。
【図6】人物を含む写真の構図の典型例を示す図。
【図7】顔認識用のテンプレートを模式的に示す図。
【発明を実施するための形態】
【0015】
図1は、本発明にかかる画像処理装置の一実施形態を用いた印刷システムを示す図である。この印刷システムは、デジタルカメラ200の撮影により取得された画像データを、メモリカードM、USB(Universal Serial Bus)ケーブルや無線LAN(Local Area Network)等によって印刷装置100に転送し、印刷装置100で印刷するものである。すなわち、ここではユーザーがデジタルカメラ200で画像を撮影して画像データを生成し、その画像データをそのまま印刷装置100で読み込んで印刷する、いわゆるダイレクト印刷を想定しているが、本発明を適用可能な印刷システムはこれに限定されるものではない。つまり、デジタルカメラ200で生成した画像データをパーソナルコンピューターや携帯電話などに取り込み、パーソナルコンピューターから印刷装置100に画像データを送信して印刷する印刷システムにも本発明を適用することが可能である。さらに、このような印刷装置100を備えるシステムに限定されず、画像データに対して種々の処理を施す画像処理装置全般に対して、本発明を適用可能である。
【0016】
デジタルカメラ200では、同図に示すように、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、CCD(Charge Coupled Device)204、グラフィックプロセッサー(Graphic Processor;GP)205およびインターフェース(Interface;I/F)206がバス207を介して相互に接続され、これらの間で情報の授受が可能となっている。そして、CPU201はROM202に格納されているプログラムに応じて各種演算処理を実行しながらデジタルカメラ200の制御を行う。このとき一時的に必要となるデータはRAM203に格納される。また、CCD204は、光学系208によって集光された被写体からの光学像を電気信号に変換して出力する。この光学系208は、複数のレンズおよびアクチュエータによって構成されており、アクチュエータによってフォーカス等を調整しながら被写体の光学像を複数のレンズによってCCD204の受光面に結像する。さらに、GP205は、CPU201から供給される表示命令に基づいて表示用の画像処理を実行し、得られた表示用画像データを液晶ディスプレイ(Liquid Crystal Display;LCD)209に供給して表示させる。
【0017】
I/F206はデジタルカメラ200の入出力機能を提供するものであり、操作ボタン210、ジャイロセンサー211およびカードI/F回路212の間で情報を授受する際に、データの表現形式を適宜変換する装置である。I/F206に接続される操作ボタン210には、電源、モード切替え、シャッターなどのボタンや、各種機能を設定できる入力手段があり、これらによってユーザーはデジタルカメラ200を任意に制御して動作させることが可能となっている。また、ジャイロセンサー211はデジタルカメラ200によって被写体を撮影した際のカメラ本体の角度(水平面に対する角度)を示す信号を生成して出力する。デジタルカメラ200は、上記したカメラ本体の角度を含め、撮影時における種々の情報(例えば、露光、被写体等に関する情報)を生成する。
【0018】
なお、本実施形態では、デジタルカメラ200は、撮影情報をExif(Exchangeable Image File Format)情報に記載し、画像データに付加した画像ファイルを生成することができる構造となっている。このExif画像ファイルの構造は、基本的には通常のJPEG(Joint Photographic Experts Group)画像形式そのものであり、その中にサムネイル画像や撮影関連データ等のデータをJPEGの規約に準拠した形で埋め込んだものである。これらのデータ規格はいずれも公開されたものであるので、ここでは詳しい説明を省略する。
【0019】
また、カードI/F回路212はカードスロット213に挿入されたメモリカードMとの間で情報を読み書きするためのインタフェースである。さらに、I/F206は図示を省略するUSB、無線LANなどの外部機器との接続機能も有しており、有線または無線にて印刷装置100との間で画像ファイルの授受が可能となっている。
【0020】
印刷装置100はデジタルカメラ200で撮像された画像を印刷する装置であり、次のように構成されている。印刷装置100では、CPU101、ROM102、RAM103、EEPROM(Electrically Erasable and Programmable ROM)104、GP105およびI/F106がバス107を介して相互に接続され、これらの間で情報の授受が可能となっている。CPU101はROM102およびEEPROM104に格納されているプログラムに応じて各種演算処理を実行するとともに印刷装置100の各部を制御する。また、CPU101が実行対象とするプログラムやデータについてはRAM103に一時的に格納される一方、印刷装置の電源が切断された後も保持しておくデータ等についてはEEPROM104に格納される。さらに、CPU101は必要に応じてGP105に対して表示命令を与え、この表示命令に応じてGP105が表示用の画像処理を実行し、その処理結果をLCD108に供給して表示させる。
【0021】
I/F106は、操作ボタン109、カードI/F回路110およびプリンターエンジンコントローラー111の間で情報を授受する際に、データの表現形式を適宜変換する装置である。印刷装置100では、操作ボタン109は印刷装置100のメニュー選択等を行う時に押されるように構成されている。また、カードI/F回路110は、カードスロット112と接続されており、このカードスロット112に挿入されたメモリカードMからデジタルカメラ200によって生成された画像ファイルを読み出す。なお、I/F106は、図示を省略するUSB、無線LANなどの外部機器との接続機能も有しており、有線通信または無線通信にてデジタルカメラ200との間で画像ファイルの授受が可能となっている。
【0022】
そして、印刷装置100は、メモリカードMを介して、あるいはデータ通信により画像データを受け取ると、CPU101により種々の処理を行うとともにプリンターエンジンコントローラー111によりプリンターエンジン113を制御し、これによって画像データに対応する画像を印刷する。以下、本実施形態における画像処理動作および印刷動作について、図2ないし図7を参照しつつ詳述する。
【0023】
図2および図3は図1の印刷装置で実行される画像処理および印刷動作を示すフローチャートである。ユーザーが印刷装置100のカードスロット112にメモリカードMを挿入し、操作ボタン109を操作して印刷指令を与えると、CPU101がROM102に格納されているプログラムにしたがって装置各部を制御して以下の画像処理および印刷動作を実行する。
【0024】
まず、CPU101は、印刷の対象となる画像ファイルをメモリカードMから取得し、ハフマン解凍処理を実行し、量子化DCT(Discrete Cosine Transform)係数を得る(ステップS10)。より具体的には、CPU101は、メモリカードMから取得した画像ファイルからエントロピー符号化テーブルを取得し、圧縮データに含まれているY(輝度)成分、Cr(色差成分)、および、Cb(色差成分)のそれぞれのブロックのDC係数と、AC係数とを復号する。なお、この際、最小符号化単位であるMCU(Minimum Coded Unit)単位で復号を行う。
【0025】
また、CPU101は、ステップS10において得られた量子化DCT係数を逆量子化する(ステップS11)。具体的には、CPU101は、画像ファイルから量子化テーブルを取得し、ステップS10において得られた量子化DCT係数に乗じることにより(逆量子化することにより)、DCT係数を得る。
【0026】
次に、CPU101は、画像を回転させるために必要な情報(ローテート情報)を、例えばRAM103にキャッシュする(ステップS12)。具体的には、JPEG方式によって圧縮された画像を回転させる場合、MCUのDC成分(直流成分)とAC成分(交流成分)のそれぞれを一度ハフマン展開しなければならない。ここで、DC成分については隣接するDC成分値の差分をハフマン符号化することから、隣接するMCUとの相関関係が問題となる。また、AC成分ではハフマン符号化処理によりそのデータ長が各MCUで一定にならず、JPEGデータのビットストリーム中のどのデータが求めるMCUのAC成分値であるかが不明となることが問題となる。そこで、ステップS12では、各MCUのDC成分値とAC成分のアドレスを求めてキャッシュしておくことにより、ローテート処理を可能とする。
【0027】
そして、CPU101はステップS11で得られたDCT係数に対して逆DCT演算を施すことによりもとの画素値を得る(ステップS13)。また、CPU101は、ステップS13の処理によって得られたYCC空間の画像をRGB(Red Green Blue)空間の画像と、HSB(Hue Saturation Brightness)空間の画像に変換する(ステップS14)。
【0028】
そして、CPU101はステップS13およびステップS14の処理において得られたYCC,RGB,HSBのそれぞれの画像をRAM103に格納して保持する。なお、このとき、データ量を削減するために画素を所定の割合で間引きし画像を縮小した後にRAM103に格納してもよい(ステップS15)。ここでは、元の画像サイズに関わらず、QVGA(Quarter Video Graphics Array)サイズに相当する(320×240)ピクセルの画像に正規化するものとする。
【0029】
また、CPU101は、ステップS15においてRAM103に格納されたYCC,RGB,HSBそれぞれの画像の成分について、ヒストグラムを計算する(ステップS16)。具体的には、RGB画像については、R,G,Bそれぞれの画像についてヒストグラムを計算する。その結果、画像を構成する各成分の分布を得る。
【0030】
上記したように、本実施形態では、ステップS10〜16の処理はMCU単位で行われており、CPU101は、全てのMCUについての処理が終了したことを確認するまで、ステップS10に戻って処理を繰り返して実行する。一方、全てのMCUについての処理が終了した場合には、次のステップS17に進み、顔認識処理の主要部に相当する処理を実行する。
【0031】
この実施形態の印刷装置100では、装置の稼動状況や操作方法の説明など、必要に応じてユーザー向けの種々のメッセージをLCD108に表示させるユーザーインターフェース機能を有しており、次に説明するように、これらのメッセージをどの言語で表示させるかについて、ユーザー自身が選択することができるように構成されている。
【0032】
図4は印刷装置に表示される設定画面の一例を示す図であり、図5はモード設定処理の一例を示すフローチャートである。この印刷装置100では、通常の使用状態では所定のメニュー画面がユーザーインターフェースとしてのLCD108に表示されており、ユーザーは操作ボタン109を操作することで該メニュー画面に表示されたメニューから希望のものを選択し印刷装置100に実行させることができる。このようなメニューの中には印刷装置100の動作モードをユーザーの好みに応じて設定するためのモード設定に関するものがある。
【0033】
図4はこのようなモード設定画面の一例としての言語設定メニュー画面を示しており、同図に示されるように、ユーザーは当該装置がどの地域で使用されているのか、またメッセージの表示言語をどの言語にするかについて、表示されたプルダウンメニューから選択することができるようになっている。このようにすることで、周辺機器に関する各種の規格等が国・地域によって異なっていたとしても、同一の装置をそれらの地域での使用に対応させることが可能となる。また、ユーザーが選択した言語によってメッセージを表示することにより、ユーザーにとってより使いやすい装置とすることができる。
【0034】
図5のフローチャートはモード設定処理の一部を示しており、同図に示されるように、モード設定処理の中では、図4に示すような言語設定メニュー画面が表示される(ステップS01)。そして、ユーザーにより地域および言語が設定され、「OK」または「Cancel」が選択されるまで待つ(ステップS02、S03)。「OK」が選択されると、選択された使用地域および表示言語をRAM103に記憶させる(ステップS04、S05)。一方、「Cancel」が選択された場合にはこれらの記憶処理をスキップする。以後のメッセージは選択された表示言語を用いてLCD108に表示される。
【0035】
ところで、本願発明者の知見によれば、写真撮影時に好まれる構図には撮影者の文化的背景の影響が強く反映されることがわかっている。例えば日本人は、他の地域の出身者に比べて集合写真、すなわち複数の人物が1枚の画像に写り込んだ構図を好む傾向が強い。
【0036】
図6は人物を含む写真の構図の典型例を示す図である。風景と共に人物を含めた写真を撮影するとき、図6(a)に示すように、日本人の撮影者では、風景および被写体人物の全身を1枚の画像に収めようとする傾向がある。また、被写体人物の数も多い。このため、1枚の画像に含まれる顔の1つ1つが小さい一方、その数が多いケースが多い。一方、他の地域の出身者では、図6(b)に示すように、比較的人物を主体として撮影するケースが多く、1枚の画像に含まれる顔の数が少なく、ただし1つ1つの顔が大きくなる傾向が見られる。このような傾向を顔認識処理に反映させることができれば、よりユーザーの嗜好に即した顔認識処理の結果をユーザーに提供することができる。
【0037】
そこで、この実施形態では、ユーザーインターフェース用の表示言語の設定内容と、顔認識処理における認識パラメータとを連動させることで、上記知見を顔認識処理の結果に反映させるようにしている。ここで、例えば製品の仕向け地やユーザにより設定された「使用地域」ではなく、「表示言語」の設定内容に認識パラメータを連動させているのは、ユーザーが自国以外で装置を使用するケースがあることに対応するためである。すなわち、ここで必要な情報は、装置が「どのような状況で使用されるか」ではなく「どのようなユーザーにより使用されるか」、つまりユーザー自身の属性に関する情報であり、このような情報を用いることで、ユーザーの嗜好により即した顔認識結果を提供することが可能となる。
【0038】
図2に戻って、このような機能を付加した顔認識処理の具体的内容について説明する。ステップS16までの処理によって1つの画像について画像データの復元が終了すると、ユーザーにより設定されている、ユーザーインターフェース(UI)用表示言語に関する情報をRAM103から取得し(ステップS17)、該表示言語が日本語であるか、それ以外であるかを判定する(ステップS18)。
【0039】
顔認識処理に用いる認識パラメータのうち、この実施形態において表示言語に応じて変更するのは、当該画像において人の顔として取り得ると考えられる最も小さいサイズに対応するパラメータである最小顔サイズSmin、当該画像において人の顔として取り得ると考えられる最も大きいサイズに対応するパラメータである最大顔サイズSmax、および、当該画像から検出すべき顔の最大数に対応するパラメータの最大顔個数Nmaxの3種類である。以下において最小および最大顔サイズの数値は画素数で表されている。
【0040】
表示言語が日本語であったときには、最小および最大顔サイズを小さくする一方、最大顔個数を大きくする。具体的には、
最小顔サイズSmin=20、
最大顔サイズSmax=100、
最大顔個数Nmax=10、
とする(ステップS19)。この場合の顔認識処理は、「比較的小さな顔を数多く検索する」という動作となる。
【0041】
一方、表示言語が日本語以外であった場合には、最小および最大顔サイズを大きくする一方、最大顔個数を小さくする。具体的には、
最小顔サイズSmin=30、
最大顔サイズSmax=200、
最大顔個数Nmax=5、
とする(ステップS20)。この場合の顔認識処理は、「比較的大きな顔を少ない数で検索する」という動作となる。このような動作の差異は上記した撮影者の属性に沿ったものであり、このようにすることで、画像の中から検出対象となる顔を効率よく、短時間で検出することが可能となる。
【0042】
続いて、CPU101は、検出された顔の個数に関する内部パラメータNを0にリセットし(ステップS21)、顔認識に用いるテンプレートの顔サイズSを最大顔サイズSmaxに設定して(ステップS22)、そのテンプレートをQVGAサイズに縮小された処理対象画像の原点(X=0,Y=0)に位置させる(ステップS23、S24)。
【0043】
図7は顔認識用のテンプレートを模式的に示す図である。図7に示すように、画像の横方向の座標軸をX座標、縦方向の座標軸をY座標としたとき、この実施形態では、画像幅が320ピクセル、画像高さが240ピクセルのQVGAサイズに縮小された画像内において、CPU101が、所定の顔サイズを有する顔認識用のテンプレートTPを適用し、テンプレートTPのサイズと画像内での位置とにより定まる検索領域を画像内で適宜に移動設定しながら当該検索領域内の画像が人の顔としての特徴を備えるか否かを判定することにより顔認識を行う。なお、顔認識アルゴリズムとしては公知のものを適用可能であるので、ここでは詳しい説明を省略する。
【0044】
具体的には、まず当該検索領域内に、既に印刷装置100による顔認識の結果として登録された顔情報があるか否かを判別する(ステップS25)。当該検索領域で既に顔情報が登録されている場合(ステップS25において「YES」)には、顔認識処理(S26〜S32)をパスする。このように、無駄となる顔認識処理を実行しないことで印刷装置100での顔認識に要する時間の短縮を図っている。
【0045】
一方、テンプレートが位置する検索領域に登録された顔情報が存在しない場合(ステップS25で「NO」)、CPU101はステップS15で保持した画像データに対してテンプレートを適用して顔認識処理を行い(ステップS26〜S29)、顔を発見した場合には(ステップS30)、当該領域の位置とサイズに関する情報、例えば矩形領域の4つの頂点座標を顔情報として、例えばRAM103に設けた顔登録リストに追加登録する(ステップS31)。このとき、登録済みの顔個数に関するパラメータNをインクリメントする。
【0046】
ここで、CPU101は、保持した画像データを90゜、180゜および270゜回転させて顔認識処理を行う(ステップS34〜S36)。顔認識アルゴリズムにおいて、テンプレートに対して回転角度±45°の範囲で顔認識を行えるようにしておけば、このように90度ずつ画像を回転させてその都度テンプレートとのマッチングによる顔認識を行うことで、任意の角度を向いた顔を検出することが可能となる。顔を検出した場合には、その顔領域の位置とサイズを示す顔情報を顔登録リストに順次追加登録する。なお、本実施形態では画像データを回転させて顔認識を行っているが、テンプレートを回転させて顔認識を行ってもよい。
【0047】
検出された顔の個数Nが先に設定された最大顔個数Nmaxに達していた場合には(ステップS32)、顔認識処理を終了する。一方、検出された顔の個数Nが最大顔個数Nmaxに達していなければ、テンプレートTPをX方向に所定量ΔXだけ移動させて(ステップS33)、テンプレートがX方向における画像の端部に到達するまで(ステップS34)、上記したステップS25〜S33の処理を繰り返す。
【0048】
X方向の1ラインの顔認識が完了すると、CPU101はテンプレートTPをY方向にΔYだけ移動させる(ステップS35)。そして、テンプレートTPがY方向の端部まで移動するまでの間(ステップS36)、上記したステップS23〜S35の処理を繰り返して行う。これにより、処理対象画像の全体について、顔サイズSのテンプレートTPを用いた顔認識処理が実行される。
【0049】
なお、CPU101は、上記した一連の顔認識処理(ステップS23〜S36)が完了する毎にテンプレートTPの顔サイズSをΔSだけ小さくし(ステップS37)、顔サイズSが最小顔サイズSminを下回るまでステップS23に戻って上記した一連の顔認識処理を繰り返して行う(ステップS38)。こうすることで、画像内の種々のサイズの顔を検出することが可能となる。このとき、顔として認識される領域の最小・最大サイズSmin・Smaxおよび最大顔個数Nmaxをユーザーインターフェース用の表示言語に対応させて設定しているので、ユーザーの嗜好を加味した顔認識処理を実行することができる。
【0050】
こうして、印刷装置100による顔認識処理が行われると、次のステップS40(図3)では、CPU101は顔登録リストに顔情報が登録されている否かを判別する。そして、顔情報が登録されている場合(ステップS40で「YES」)には、CPU101は、顔登録リストに登録された顔情報に基づいて全ての顔位置を計算し、さらに顔の平均顔色を取得した(ステップS41)後、顔色が最適になるようにエンハンスパラメータを計算する(ステップS42)。なお、エンハンスパラメータ計算の詳細については省略するが、RAM103に記憶したRGBヒストグラムに基づきコントラスト、明度、彩度、シャープネスなどの各画質パラメータの特徴量を抽出し、抽出した特徴量が所定の画質パラメータの特徴量に近づくようエンハンスのパラメータを設定する。
【0051】
一方、顔登録リストに顔情報が登録されていない場合(ステップS40で「NO」)、つまり当該画像内で人の顔が検出されなかった場合には、CPU101は画像全体が最適になるようにエンハンスパラメータを計算する(ステップS43)。
【0052】
続いて、CPU101は、印刷対象となる画像ファイルにおいて、解凍処理の対象となる位置を示すファイルポインタをリセットし(ステップS44)、処理位置を画像ファイルの先頭に復元する。そして、CPU101は、以下のステップS45〜S52を繰り返して画像データに基づいて画像を印刷する。
【0053】
CPU101は、RAM103にキャッシュされた1MCUライン分の画像データにハフマン解凍処理を施し、量子化DCT係数を得る(ステップS45)。ここで、1MCUラインとは、画像を回転させる場合には、画像を構成する列方向に1列のMCU群をいい、回転させない場合には、画像を構成する行方向に1列のMCU群をいう。そして、CPU101は、ステップS45の処理において得られた量子化DCT係数を逆量子化し(ステップS46)、さらにステップS45で得られたDCT係数に対して逆DCT演算を施すことによりもとのデータを得る(ステップS47)。
【0054】
こうして得られたYCC空間の画像を、CPU101はRGB空間の画像に変換する(ステップS48)。そして、CPU101は、RGB空間の画像を構成する各画素に対してステップS42またはS43において算出したエンハンスパラメータを適用することにより、印刷される画像を最適な色合いに補正し(ステップS49)、次のステップS50に進む。
【0055】
CPU101は、こうして補正された画像データに対して、リサイズ、回転などのレイアウト処理を施し(ステップS50)、プリンターエンジンコントローラー111の図示せぬバンドバッファに供給する。これを受けたプリンターエンジンコントローラー111は、プリンターエンジン113の各部を制御して画像データに対応する画像を印刷する(ステップS51)。そして、印刷処理が完了すると、CPU101はRAM103のキャッシュ状態を更新する(ステップS52)。そして、全MCUライン分について上記ステップS45〜S52が完了すると、一連の処理を終了する。
【0056】
以上のように、本実施形態によれば、画像内において人の顔に相当する領域を検索する顔認識処理を行うのに際して、顔認識用の認識パラメータの値を、ユーザーインターフェース用の表示言語の設定内容に関連付けて設定するようにしている。こうすることで、国・地域ごとの文化の違いに起因して好まれる構図が異なるという知見を処理に反映させて、よりユーザーの嗜好に即した顔認識技術をユーザーに提供することができる。
【0057】
より具体的には、日本人が他の地域の出身者に比べて集合写真を好むという調査結果に基づき、印刷装置100における表示言語として日本語が設定されているときには、それ以外の言語が設定されている場合に対して、認識すべき顔のサイズを小さく、数を多くするようにしている。こうすることで、表示言語として日本語が設定された状態では集合写真に適した顔認識処理が、他の言語が設定された状態ではポートレート写真に適した顔認識処理が実行されることになり、それぞれのユーザーの嗜好に応じた顔認識結果を得ることができる。
【0058】
ここで、装置の仕向け地や使用場所ではなく、ユーザー自身により選択されたユーザーインターフェース用の言語設定の内容に基づいて認識パラメータを設定することにより、よりユーザーの属性に即した顔認識結果を提供することが可能となる。
【0059】
以上説明したように、上記実施形態の印刷システムにおいては、印刷装置100が本発明の「画像処理装置」として機能しており、CPU101が本発明の「処理手段」に相当している。また、操作ボタン109が本発明の「受付手段」として機能する一方、LCD108が本発明の「表示手段」として機能している。
【0060】
また、上記実施形態の処理動作においては、図5に示す言語設定処理が本発明の「言語設定工程」に相当している。また、図2の画像処理動作におけるステップS18〜S20が本発明の「パラメータ設定工程」に相当しており、最小顔サイズSminおよび最大顔サイズSmaxが本発明の「検索サイズに関する認識パラメータ」に相当するとともに、最大顔個数Nmaxが本発明の「検出すべき顔の数に関する認識パラメータ」に相当している。また、ステップS21〜S38が本発明の「顔認識処理工程」に相当している。さらに、図3の処理におけるステップS40〜S43が本発明の「補正工程」に相当している。
【0061】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、印刷システムの構成要素である印刷装置100におけるユーザーインターフェース言語設定の設定内容に基づいて顔認識処理時の認識パラメータを設定しているが、デジタルカメラ200側において撮影者の属性に関する情報を登録する機能を持たせ、印刷装置100がデジタルカメラ200から与えられた撮影者の属性に関する情報に基づいて認識パラメータの設定を行うようにしてもよい。このようにすると、印刷装置100のユーザーではなく当該画像の撮影者の属性に即した顔認識処理結果が提供されることとなる。この場合には、デジタルカメラ200からのデータを受け取る印刷装置100のインターフェース106が本発明の「受付手段」として機能することになる。
【0062】
また、上記実施形態では、表示言語の設定が日本語である場合とそれ以外の言語である場合とで認識パラメータの設定を変えているが、これは一例を示したものに過ぎず、例えば選択可能な表示言語ごとに認識パラメータが異なるようにしてもよい。また、表示言語と認識パラメータとの組み合わせについては固定的なものとせず、例えばファームウェアのアップデートにより随時変更・追加が可能となるようにしてもよい。
【0063】
また、上記実施形態では、表示言語の設定に応じて、認識パラメータのうち検索サイズと検出すべき顔の数とを共に異ならせているが、いずれか一方のみでもよい。また、上記実施形態では検索サイズに関する認識パラメータとして最小顔サイズSminおよび最大顔サイズSmaxを用い、これらの両方を表示言語の設定に応じて変更しているが、いずれか一方のみを変更するようにしてもよい。また、表示言語の設定に応じて変更される認識パラメータの種類はこれらに限定されるものではなく、例えば画像内における顔の検索範囲や開始位置などを変更するようにしてもよい。
【0064】
また、上記実施形態では、ユーザー設定によって表示言語の設定が行われるが、これに限定されず、製品の出荷時に仕向け値に応じて予め表示言語がプリセットされるようにしてもよく、この場合には、当該プリセット作業時に本発明の「言語設定工程」が実行されることになるが、このような態様も本発明に包含される。この場合においても、ユーザーが事後的に言語設定を変更できるようにするのが好ましく、該変更に対しても本発明を適用して、認識パラメータの変更設定を行うことが好ましい。
【0065】
また、上記実施形態では、ユーザーインターフェース用の言語設定の内容のみに基づいて認識パラメータの設定を行っているが、これに限定されず、例えばユーザーインターフェース用の言語設定と、使用地域の設定との組み合わせに応じて認識パラメータを設定するようにしてもよい。
【0066】
また、上記実施形態では、本発明にかかる画像処理装置および方法を印刷装置100に適用しているが、複数の電子機器から構成される印刷システムにも、また印刷装置以外の1つの電子機器(例えば複合機、ファクシミリ装置など)にも適用可能である。またデジタルカメラ200に上記のような画像処理機能を設けるようにしてもよい。
【0067】
また、上記実施形態にかかる画像処理方法を実行する制御プログラムを、CD−ROM、光ディスク、光磁気ディスク、不揮発性メモリカードなどの記憶媒体に記憶させ、この記憶媒体からプログラムをコードとして読み出し、コンピューターにおいて実行してもよい。つまり、上記プログラムを記憶した記憶媒体、制御プログラム自体も本発明の一実施形態に含まれる。
【符号の説明】
【0068】
100…印刷装置(画像処理装置)、 101…CPU(処理手段)、 102…ROM、 103…RAM、 104…EEPROM、 108…LCD(表示手段)、 109…操作ボタン(受付手段)、 200…デジタルカメラ、 M…メモリカード

【特許請求の範囲】
【請求項1】
画像データから人の顔に相当する領域を検出する顔認識処理を実行する画像処理方法において、
ユーザーインターフェース用の言語を設定する言語設定工程と、
前記言語設定工程において設定された設定言語に基づいて、前記顔認識処理に用いる認識パラメータの値を設定するパラメータ設定工程と、
前記パラメータ設定工程において設定された前記認識パラメータに基づいて、前記顔認識処理を実行する顔認識処理工程と
を備えることを特徴とする画像処理方法。
【請求項2】
前記パラメータ設定工程では、前記画像データ内で検索する顔のサイズである検索サイズに関する前記認識パラメータの値を、前記設定言語が日本語であるときと前記設定言語が日本語以外であるときとで異ならせ、しかも、前記設定言語が日本語であるときには前記設定言語が日本語以外であるときよりも前記検索サイズを小さくする請求項1に記載の画像処理方法。
【請求項3】
前記パラメータ設定工程では、前記画像データから検出すべき顔の数に関する前記認識パラメータの値を、前記設定言語が日本語であるときと前記設定言語が日本語以外であるときとで異ならせ、しかも、前記設定言語が日本語であるときには前記設定言語が日本語以外であるときよりも検出すべき顔の数を多くする請求項1または2に記載の画像処理方法。
【請求項4】
前記言語設定工程では、ユーザーからの前記ユーザーインターフェース用の言語についての設定入力を受け付けて、該設定入力に応じて前記設定言語を設定する請求項1ないし3のいずれかに記載の画像処理方法。
【請求項5】
前記顔認識処理工程における処理結果に応じた態様で、前記画像データを補正する補正工程を備える請求項1ないし4のいずれかに記載の画像処理方法。
【請求項6】
ユーザーインターフェース用の言語設定を受け付ける受付手段と、
画像データから人の顔に相当する領域を検出する顔認識処理を実行する処理手段と
を備え、
前記処理手段は、前記言語設定において設定される設定言語に応じて、前記顔認識処理に用いる認識パラメータの値を異ならせる
ことを特徴とする画像処理装置。
【請求項7】
前記設定言語で表記された所定のメッセージを表示する表示手段を備える請求項6に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−108763(P2012−108763A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−257693(P2010−257693)
【出願日】平成22年11月18日(2010.11.18)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】