(57)【特許請求の範囲】
【請求項１】
表示された画像の少なくとも一点を指示するための指示手段と、
前記指示手段により指示された点を含む、画像領域を検索する範囲を設定し、前記指示点およびその近傍の画素集合の位置にある複数の画素、または、前記設定した検索範囲に含まれる複数の画素から画像特性を設定し、前記検索範囲から前記画像特性をもつ画像領域を検出する検出手段と、
前記検出手段により検出された画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定する判定手段とを有し、
前記判定手段は、検出継続と判定した場合、前記検出手段に検索範囲を拡大させ、前記検出手段は、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再設定することを特徴とする画像処理装置。
【請求項２】
前記検出手段は、前記検索範囲を拡大した後、前記拡大した検索範囲に含まれる前記再設定した画像特性をもつ画像領域の検出を継続することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記画像特性は画像の色であり、前記検出手段は前記画像の色との色差が所定のしきい値以下である画素を検出すべき画像領域の画素と判定することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
さらに、設定された検索範囲の大きさに基づき、前記検出手段が色差の判定に用いるしきい値を設定するしきい値設定手段を有することを特徴とする請求項3に記載された画像処理装置。
【請求項５】
さらに、設定された検索範囲の大きさに基づき、前記検出手段が色差の判定を行う際の色差の演算に用いる重みを設定する重み設定手段を有することを特徴とする請求項3に記載された画像処理装置。
【請求項６】
前記重み設定手段は、前記検索範囲の大きさに基づき輝度情報に関する重みを変更することを特徴とする請求項5に記載された画像処理装置。
【請求項７】
表示された画像の一部の範囲を指示する指示手段と、
前記指示手段により指示された範囲を含む、画像領域を検索する範囲を設定し、前記指示範囲に含まれる画素から画像特性を取得し、前記検索範囲から前記画像特性をもつ画像領域を検出する検出手段と、
前記検出手段により検出された画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定する判定手段とを有し、
前記判定手段は、検出継続と判定した場合、前記検出手段に検索範囲を拡大させ、前記検出手段は、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再取得することを特徴とする画像処理装置。
【請求項８】
前記検出手段は、前記検索範囲を拡大した後、前記拡大した検索範囲に含まれる前記再取得した画像特性をもつ画像領域の検出を継続することを特徴とする請求項7に記載された画像処理装置。
【請求項９】
表示された画像の少なくとも一点を指示させ、
前記指示点を含む、画像領域を検索する範囲を設定し、
前記指示点およびその近傍の画素集合の位置にある複数の画素、または、前記設定した検索範囲に含まれる複数の画素から画像特性を設定し、
前記検索範囲から前記画像特性をもつ画像領域を検出し、
前記検出した画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定し、
前記検出を継続すると判定した場合は、前記検索範囲を拡大し、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再設定することを特徴とする画像処理方法。
【請求項１０】
表示された画像の一部の範囲を指示させ、
前記指示範囲を含む、画像領域を検索する範囲を設定し、
前記指示範囲に含まれる画素から画像特性を取得し、
前記検索範囲から前記画像特性をもつ画像領域を検出し、
前記検出した画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定し、
前記検出を継続すると判定した場合は、前記検索範囲を拡大し、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再取得することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、画像から所望する画像領域を検出する画像処理装置およびその方法に関するものである。
【０００２】
【従来の技術】
ディジタルカメラで撮影したディジタル画像データ、あるいは、銀塩カメラで撮影されたフィルムをスキャンして得たディジタル画像データに特定の処理を施して、例えば、写っている人物を識別したり、人物の顔画像を加工するなどの処理が行われる。
【０００３】
【発明が解決しようとする課題】
しかし、上述した技術においては、次のような問題点がある。上記の処理を行う際には、マウスなどのポインティングデバイスにより顔や目の輪郭をトレースして、顔や目の画像領域を指定する必要がある。しかし、顔などの輪郭をトレースするには時間がかかり、オペレータの負荷が大きいという問題がある。そこで、顔などの画像領域を正確に検出する処理が望まれる。
【０００４】
本発明は、上述の問題を解決するためのものであり、オペレータの負荷を軽減して、所望する画像領域を正確かつ短時間に検出することができる画像処理装置およびその方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００６】
本発明にかかる画像処理装置は、表示された画像の少なくとも一点を指示するための指示手段と、前記指示手段により指示された点を含む、画像領域を検索する範囲を設定し、前記指示点およびその近傍の画素集合の位置にある複数の画素、または、前記設定した検索範囲に含まれる複数の画素から画像特性を設定し、前記検索範囲から前記画像特性をもつ画像領域を検出する検出手段と、前記検出手段により検出された画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定する判定手段とを有し、前記判定手段は、検出継続と判定した場合、前記検出手段に検索範囲を拡大させ、前記検出手段は、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再設定することを特徴とする。
【０００７】
また、表示された画像の一部の範囲を指示する指示手段と、前記指示手段により指示された範囲を含む、画像領域を検索する範囲を設定し、前記指示範囲に含まれる画素から画像特性を取得し、前記検索範囲から前記画像特性もつ画像領域を検出する検出手段と、前記検出手段により検出された画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定する判定手段とを有し、前記判定手段は、検出継続と判定した場合、前記検出手段に検索範囲を拡大させ、前記検出手段は、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再取得することを特徴とする。
【０００８】
本発明にかかる画像処理方法は、表示された画像の少なくとも一点を指示させ、前記指示点を含む、画像領域を検索する範囲を設定し、前記指示点およびその近傍の画素集合の位置にある複数の画素、または、前記設定した検索範囲に含まれる複数の画素から画像特性を設定し、前記検索範囲から前記画像特性ををもつ画像領域を検出し、前記検出した画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定し、前記検出を継続すると判定した場合は、前記検索範囲を拡大し、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再設定することを特徴とする。
【０００９】
また、表示された画像の一部の範囲を指示させ、前記指示範囲を含む、画像領域を検索する範囲を設定し、前記指示範囲に含まれる画素から画像特性を取得し、前記検索範囲から前記画像特性もつ画像領域を検出し、前記検出した画像領域と前記検索範囲の関係に基づき、前記画像領域の検出の終了または継続を判定し、前記検出を継続すると判定した場合は、前記検索範囲を拡大し、前記検索範囲を拡大した後、拡大した検索範囲に含まれる複数の画素から前記画像特性を再取得することを特徴とする。
【００１０】
【発明の実施の形態】
顔の画像領域を検出する方法として、事前に肌の色を設定して、設定された色に近い色を有する領域を画像の中から抽出する方法がある。
【００１１】
しかし、人の肌の色は多種多様であり、例え同じ人物であっても、照明などの周囲環境、体調や化粧、撮影システムの状態などにより、画像として得られる肌の色は大きく変わってしまう。従って、肌の色を設定する方法では、抽出する色の範囲を広くしなければならず、その結果、顔以外の領域も顔の画像領域として検出してしまうことが多い。
【００１２】
また、フラッシュ撮影された画像は、フラッシュの光が反射して肌の色が飛ぶ所謂「てかり」が生じ、同じ人物の顔にもかかわらず部分によって色が異なっていることがある。こうした色の異なる領域をまとめて、一つの顔の画像領域として検出することには困難がある。さらに、上記の方法は、画像全体について顔の画像領域の検出を行うため、演算時間が長くなるという問題がある。
【００１３】
以下では、これらの問題を解決した本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【００１４】
【第１実施形態】
図8は第1実施形態の画像処理装置の構成例を示すブロック図である。
【００１５】
同図において、マイクロプロセッサ(CPU)101は、ROM102や記憶部104に予め格納されたソフトウェアを実行し、バス109を介して装置全体の制御を行う。RAM103は、CPU101のワークメモリとして、あるいは、画像データを一時的に記憶するメモリとして利用される。
【００１６】
記憶部104は、例えば、ハードディスクや光磁気ディスクなどの記憶媒体を用いた記憶装置で、後述する画像処理のソフトウェアや、画像データの記憶に利用される。入力・操作部110は、CPU101に指示やデータを入力するためのものであり、例えば、キーボード、マウスやディジタイザなどのポインティングデバイスである。モニタ106は、例えば、CRTやLCDなどのディスプレイであり、CPU101により、ビデオインタフェイス105を介して送られてくる画像データに基づく画像を表示する。画像入力装置108は、例えば、ディジタルカメラ、フィルムスキャナ、イメージリーダなど、ディジタル画像データを出力するデバイスである。画像入力装置108から出力される画像データは、CPU101により、外部インタフェイス107を介してRAM103や記憶部104に格納される。
【００１７】
なお、図9に示す画像処理装置は、例えば、パーソナルコンピュータにモニタ106や画像入力装置108を接続することにより構成することができる。また、外部インタフェイス107は汎用のインタフェイスであり、例えば、SCSI、GPIB、セントロニクスなどのパラレルインタフェイスや、RS232、RS422、IEEE1394などのシリアルインタフェイスを用いることができる。
【００１８】
図1は本実施形態の画像処理ソフトウェアの機能構成例を示すための図である。
【００１９】
同図において、検出部1は、例えば顔の画像領域を検出する機能ブロックであり、CPU1と、CPU1によって実行されるソフトウェアに対応する。検出部1は、基準色設定部5、検索範囲設定・拡大部6、肌領域検出部7、終了判定部8などを含むが、それらの詳細は後述する。
【００２０】
また、画像表示部2はモニタ106に、座標入力部3は入力・操作部110に、画像記憶部4はRAM103および記憶部104に、それぞれ対応する。
【００２１】
図2は本実施形態における画像領域の検出処理例を示すフローチャートで、CPU101によって実行される処理であり、画像記憶部4に記憶されている処理対象の画像データにより表される画像から、顔の画像領域を検出する処理を説明するものである。
【００２２】
ステップS101で、オペレータの指示に従い、処理対象の画像データを画像表示部2に表示する（図3A）。ステップS102で、オペレータは座標入力部3を用いて、画像領域を検出しようとする顔の一点、図に示す点Aを指示する（図3B）。
【００２３】
ステップS103で、検索範囲設定・拡大部6により画像領域の検索範囲Bを初期設定する。検索範囲Bは点Aを含むように設定される（図3C）。ここで、いきなり広範囲を検索範囲Bに設定すると、画像領域の検索に時間がかかるだけでなく、探索対象の画像が画像全体に占める割合が小さい場合、無駄な範囲を探索することになるので、初期の検索範囲Bは、比較的小さな範囲に設定することが望ましい。また、検索範囲Bは矩形である必要はなく、どのような形状でもよい。
【００２４】
ステップS104で、基準色設定部5により後述する肌領域の検出に用いる基準色を設定する。この基準色とは、検出しようとする顔の画像領域の基本的な色、つまり肌の色のことで、基準色設定部5は、点A周辺の画素の色、あるいは、検索範囲Bの全部または一部の画素の色を参照して基準色を設定する。例えば、図3Dに示すように、検索範囲Bを拡大した場合に、点Aからの距離が所定値以内（例えば点Aを中心とする半径が所定値の円内）の近傍画素の集合Cに含まれる画素を参照し、それら画素の値の例えば平均値を基準色にする。また、図3Eに示すように、点Aを例えば中心とする矩形の画素集合Dに含まれる画素の色を参照して基準色を決定してもよい。
【００２５】
基準色を決定するための色空間は、モニタ画面の表示に用いられているRGB色空間でも、テレビ放送で用いられるYIQ色空間、画像圧縮などに用いられるYCbCr色空間など、どのような色空間であってもよいが、後に、複数画素間の色差を評価することを考慮すると、人間の視覚特性に近い色差を表現できる色空間が望ましく、例えば、CIEにより定義されるLab色空間またはLuv色空間などの均等色空間が望ましい。
【００２６】
また、指定された点Aが顔の画像領域のエッジに近い場合、領域Cや領域Dには顔の画像領域ではない背景などが含まれる可能性があるし、ノイズなどの影響で肌の色とは異なる色の画素が領域Cや領域Dに存在する可能性もある。このような場合、背景色やノイズによって生じる色の影響を受けて、基準色が本来の肌の色とは異なった色になることもある。このような基準色のずれを考慮すると、肌の色の色相は、多くの場合、赤の近傍にあるという性質を利用して、領域Cまたは領域Dの画素の内、色相が赤から離れた画素を基準色の算出対象から外すのが望ましい。このようにすれば、背景色やノイズの影響を低減して、より正しく肌の色を表す基準色を得ることができる。
【００２７】
次に、ステップS105で、肌領域検出部7により肌領域を検出する。例えば、検索範囲Bのすべての画素の色と基準色を比較し、それらの色差が所定のしきい値Tdより小さい画素の集合を、肌を構成する画素群にする。Luv色空間において、基準色が(L0,a0,b0)であり、画素の色が(L1,a1,b1)であるとすると、色差dは次の演算により得られる。
d = √{(L1 - L0)^2 + (u1 - u0)^2 + (v1 - v0)^2}         …(1)
ただし、a^2はaの二乗を表す
【００２８】
(1)式により得られる式差dは、視覚的に感じられる色の差に比例した値を表す。
【００２９】
前述したように色差の評価は、均等色空間で行うことが望ましいが、原画像が他の色空間のデータで表されていて、その色空間から均等色空間への変換に時間がかかる場合などは、原画像の色空間で色差dを算出してもよい。例えば、原画像がRGB色空間で表されている場合、基準色が(R0,G0,B0)、画素の色が(R1,G1,B1)であるとすると、色差dは次の演算により得られる。
d = √{(R1 - R0)^2 + (G1 - G0)^2 + (B1 - B0)^2}         …(2)
【００３０】
(2)式の結果は、均等色空間などで算出した色差dに比べて、人間の視覚特性からずれたものになるが、演算時間を短縮したい場合などには有効である。
【００３１】
図3Fは検索範囲Bを拡大した図で、この場合は領域Eが肌領域として検出される。
【００３２】
ステップS106で、終了判定部8により肌領域の拡大もしくは処理の終了を判定する。この判定は、検索範囲Bと肌領域Eとの重なりを判定することにより行う。図3Fを例にとると、矩形の検索範囲Bの四辺それぞれについて、肌領域Eがどれだけ重なっているかを評価する。図3Fの場合、検索範囲Bの左辺は肌領域Eに完全に重なるので重なり率を100%とし、同様に、上辺の重なり率は80%、下辺の重なり率は50%、右辺の重なり率は0%とする。そして、所定のしきい値Tpより重なり率が大きい辺を検出した場合、終了判定部8は肌領域の拡大を指示するために終了判定フラグを‘0’にする。また、しきい値Tpより重なり率が大きい辺を検出しなかった場合、終了判定部8は処理の終了を指示するために終了判定フラグを‘1’にする。しきい値Tpは、検出精度と検出時間との兼ね合いから設定されるが、例えば5%に設定される。図3Fの例では左辺、上辺および右辺の重なり率が5%を超えるので、終了判定フラグは‘0’に設定される。
【００３３】
次に、ステップS107で、終了判定フラグを判定し、‘1’であれば処理を終了し、‘0’であればステップS103に戻り、顔の画像領域の検索を続行する。
【００３４】
ステップS103に処理が戻った場合、次の手順で検索範囲Bを拡大する。つまり、しきい値Tpを超える重なり率をもつ辺の情報が、終了判定部8から検索範囲設定・拡大部6に伝達される。検索範囲設定・拡大部6は、終了判定部8から指示された辺、つまり重なり率がTpより大きかった辺の方向に検索範囲Bを拡大する。図3Fの場合は、右辺を除く方向に検索範囲Bが拡大され、図3Gに示す領域B'が新たな検索範囲になる。
【００３５】
ここで、範囲Bを範囲B'に拡大する率は、固定値、重なり率に比例した値にする、など様々な方法が考えられるが、例えば、元の検索範囲Bの幅がW、高さがHの場合、左および/または右方向へW×S、上および/または下方向へH×S、検索範囲を広げて領域B'とする。ここで、Sは一次元の拡大率であり、零より大きい値を有する。Sが0.5の場合、左および/または右へ0.5W、上および/または下へ0.5H、検索範囲は拡大される。なお、このような方法で検索範囲Bを拡大する場合、検出する顔の画像領域の中心近傍に点Aを指定させた方が、検出時間を短縮することができる。従って、ステップS102で点Aの指定を受ける際に「検出する画像の中心付近を指定してください」などのメッセージを表示して、オペレータに注意を促すのが好ましい。
【００３６】
処理は、次にステップS104に移るが、既に基準色が決っているので何も行わずステップS105に移る。そして、ステップS105で、新たな検索範囲B'に対して肌領域の検出を行う。ただし、前回肌領域の検出を行った範囲Bに対して肌領域の検出を行う必要はない。そして、ステップS106で前回と同様の拡大/終了判定を行う。以上の処理を繰返すことにより、検索範囲Bは徐々に拡大され、顔の画像領域を囲むようになるまで拡大され、肌領域E、つまり顔の画像領域が検出される。
【００３７】
また、再びステップS104に処理が移動した際に、拡大された検索範囲B'に対して、初回と同様の手続により、再度、基準色を設定してもよいし、検出された肌領域Eの画素全体の平均値を新しい基準色として設定してもよい。検索範囲Bが拡大される毎に基準色を更新すれば、画像領域の一部における局所的な色の変動の影響を低減し、正確な基準色を常に維持することができる。
【００３８】
通常、検索範囲Bの拡大は画像全体の四辺で制限されるが、画像の撮影条件が限定され被写体の撮影倍率が所定値以上にならないことが分かっている場合は検索範囲に上限を設け、可能性として最も大きい顔の画像領域を検索範囲の上限としてもよい。また、ステップS102で、顔の画像全体を含む矩形領域を、点Aとともにオペレータに指定させ、指定された矩形領域を検索範囲の上限としてもよい。このようにして、検索範囲の上限を設け、終了判定部8で検索範囲が上限に達したか否かを判定すれば、必要以上に検索範囲が拡がってしまうケースを低減することができる。
【００３９】
以上説明したように、本実施形態によれば、オペレータに指示された画像の一点を基準に、検索範囲を徐々に拡大することで、画像全体に検索を行う必要がなく、短時間に所望の画像領域を検出することができる。
【００４０】
また、指示された画像の一点の近傍画素から例えば肌の色を表す基準色を設定し、この基準色により所望の画像領域を検出するので、例えば、照明などの周囲環境、体調や化粧、撮影システムの状態などによる影響を低減して、多種多様な肌の色をもつ人の顔の画像領域を正確に検出することができる。
【００４１】
【第２実施形態】
以下、本発明にかかる第2実施形態の画像処理装置を説明する。なお、第2実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００４２】
本実施形態における画像領域の検出処理は、図1に示した機能構成および図2に示した処理に基づいて実施されるが、各ステップにおける処理内容が第1実施形態と異なる。従って、以下では、処理の異なるステップだけを詳細に説明する。
【００４３】
ステップS102で、オペレータにより検出する画像領域の一部を中心近傍に含んだ領域Rが指定される（図4A）。オペレータは、領域のほぼ中央に顔画像の一部が入るように領域Rを指定すればよい。また、領域Rを、顔の肌領域の輪郭にほぼ一致させれば、後の処理を短時間に終了させることもできる。
【００４４】
次に、ステップS103で、検索範囲設定・拡大部6により画像領域の検索範囲Bを初期設定する。ここで、検索範囲Bは領域Rを含むように設定すればよいが、いきなり広範囲を検索範囲Bに設定すると、画像領域の検索に時間がかかるだけでなく、探索対象の画像が画像全体に占める割合が小さい場合、無駄な範囲を探索することになるので、初期の検索範囲Bは、領域Rとほぼ同じ大きさの範囲に設定するのが好ましい。図4Bは検出範囲Bを示す図であるが、この例では、オペレータにより指定された領域Rを最初の検索範囲Bにしている。また、検索範囲Bは矩形である必要はなく、どのような形状でもよい。
【００４５】
ステップS104で、第1実施形態と同様の方法で、肌領域の検出に用いる基準色を設定する。ただし、横長な領域Rが指定された場合など、検索範囲Bの一端または両端が顔の画像領域からはみ出していることもあるので、図3Dや3Eに示した領域Cや領域Dを領域Bの中心近傍に縮小するなど、領域Rの形状に応じて参照領域の形状やサイズを変更することも、基準色を正確に求めるためには有効である。
【００４６】
次に、ステップS105で、第1実施形態と同様に、検出範囲B内の肌領域を検出する。図4Cは検索範囲Bを拡大した図で、この場合は領域Eが肌領域として検出される。
【００４７】
次に、ステップS106で、第1実施形態と同様に、肌領域の拡大もしくは処理の終了を判定する。図4Cの場合は、左辺を除く方向に検索範囲Bが拡大されることになり、新たな検索範囲B'は図4Dに示すようになる。なお、図4Dの例の場合、拡大率Sは0.3である。
【００４８】
検索範囲Bの上限は、領域Rの大きさに基づいて設定してもよい。すなわち、撮影倍率が大きく顔の描画面積が大きい場合、オペレータに指定される領域Rのサイズも大きく、また描画面積が小さければ小さな領域Rが指定される傾向を利用して、検索範囲Bの上限を、指定された領域Rの例えば約二倍に設定すればよい。
【００４９】
以上説明したように、本実施形態によれば、第1実施形態と同様の効果が期待できるが、オペレータに指定された領域を基準に、検索範囲を徐々に拡大することで、画像全体に検索を行う必要がなく、短時間に所望の画像領域を検出することができる。また、指定された領域Rが所望の画像領域の輪郭に近いほど短時間に画像領域を決定することができる。
【００５０】
【第３実施形態】
以下、本発明にかかる第3実施形態の画像処理装置を説明する。なお、第3実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５１】
図5は本発明の第3実施形態にかかる画像処理ソフトウェアの機能構成例を示すための図で、色差のしきい値を設定するための色差しきい値設定部10以外は図1に示した構成と同じである。
【００５２】
また、本実施形態における画像領域の検出処理は、図5に示す機能構成および図2に示した処理に基づいて実施されるが、各ステップにおける処理内容が第1実施形態と異なる。従って、以下では、処理の異なるステップだけを詳細に説明する。
【００５３】
ステップS102で、オペレータは座標入力部3を用いて、画像領域を検出しようとする領域Sを指示する（図6A）。なお、本実施形態では、図6Aに示すように、円を含む楕円形状の領域Sにより画像検出領域が指定される例について説明する。オペレータは、領域Sのほぼ中央に検出しようとする画像領域の一部が入るように、領域Sを指定すればよい。また、顔などの画像の輪郭にほぼ沿って、楕円形状の領域Sを指定することにより、後の処理をより短時間に終了させることができる。
【００５４】
次に、ステップS103で、検索範囲設定・拡大部6により画像領域の検索範囲Bを初期設定する。ここで、検索範囲Bは領域Rを含むように設定すればよいが、いきなり広範囲を検索範囲Bに設定すると、画像領域の検索に時間がかかるだけでなく、探索対象の画像が画像全体に占める割合が小さい場合、無駄な範囲を探索することになるので、初期の検索範囲Bは、領域Sとほぼ同じ大きさの範囲に設定するのが好ましい。図6Bは検出範囲Bを示す図であるが、この例では、オペレータにより指定された領域Sを最初の検索範囲Bにしている。また、検索範囲Bは楕円である必要はなく、どのような形状でもよい。
【００５５】
ステップS104で、第1実施形態と同様の方法で、肌領域の検出に用いる基準色を設定する。ただし、横長な領域Sが指定された場合など、検索範囲Bの一端または両端が顔の画像領域からはみ出していることもあるので、図6Cに示す領域Cを領域Bの中心近傍に縮小するなど、領域Sの形状に応じて参照領域の形状やサイズを変更することも、基準色を正確に求めるためには有効である。勿論、領域Cは楕円である必要はなく、どのような形状でもよい。
【００５６】
次に、ステップS105で、第1実施形態と同様に、検出範囲B内の肌領域を検出する。図6Dは検索範囲Bを拡大した図で、この場合は領域Eが肌領域として検出される。なお、本実施形態では、検索範囲B内のすべての画素と基準色とを比較し、それらの色差dが色差しきい値設定部10により設定されるしきい値Tdより小さい画素の集合を肌領域Eにする。
【００５７】
肌領域Eの検出を正確に行うためには、検索範囲Bの大きさに応じてしきい値Tdを大きくすることが有効である。これは、撮影倍率が小さい場合は肌領域の色変化は少なく、撮影倍率が大きい場合は影やてかりなどにより、同一人物の顔の画像であっても色の変動が大きくなることによるもので、フラッシュを用いて撮影した画像などで顕著である。従って、色差しきい値設定部10により、検索範囲Bが大きくなるにつれて、撮影倍率が大きくなるにしたがって、しきい値Tdを大きく設定するのが好ましい。これにより、撮影倍率が小さい画像においては背景との分離が正確かつ容易になり、撮影倍率が大きい画像においては局所的に色が異なっていても一つの画像として正確に検出することができるようになる。
【００５８】
次に、ステップS106で、第1実施形態と同様に、肌領域の拡大もしくは処理の終了を判定する。ただし、本実施形態においては、検索範囲Bの円弧と肌領域Eの重なり具合により判定を行う。つまり、図6Dに示すように、検索領域Eと重なる検索範囲Bの円弧H（点Fから点G）について、ここで検索範囲Bの周と円弧Hの比を重なり率にする。
【００５９】
さらに、ステップS106において楕円を拡大すべき方向が、終了判定部8から検索範囲設定・拡大部6に伝達される。具体的には、円弧Hの略中点方向に検索範囲を拡大するように情報が伝達され、検索範囲設定・拡大部6は、伝達された拡大方向に検索範囲Bを広げて検索範囲B'にする（図6F）。検索範囲の拡大率は、固定値、重なり率に比例した値など様々な方法が考えられるが、例えば、重なり率がx%だとすると、新たな検索範囲B'の面積が検索範囲Bの面積の(1 + x/100)倍になるように拡大すればよい。
【００６０】
また、検索範囲Bの周を上下左右四つ円弧に分割して、それぞれの円弧について重なり率を判定してもよい。この場合、例えば右側の円弧の重なり率が大きい場合、検索範囲Bを右方向に拡大するように楕円の離心率を変更してもよい。
【００６１】
また、図5に示す色差しきい値設定部10を、図7に示す重み設定部11に置き換えることもできる。この場合、基本的な構成と動作は第3実施形態に準ずるが、色差の評価方法が異なる。
【００６２】
重み設定部11は、検索範囲Bの大きさ（面積As）に基づき重みWを決定して肌領域検出部7に送る。なお、kは所定の定数である。
W = k / As      …(3)
【００６３】
肌領域検出部7では、局所的な色の変動は主に輝度成分の変動によることが多い性質を利用して、次式により色差の演算を行う。
d = √{W×(L1 - L0)^2 + (u1 - u0)^2 + (v1 - v0)^2}      …(4)
【００６４】
つまり、明度Lの差に関する項に重みを変えることにより、検索範囲Bが大きいときは色差評価における明度Lの重みを低くするといった制御を行う。これにより、撮影倍率が小さいときは背景と肌領域とを明瞭に分離し、撮影倍率が大きい場合は局所的に色が異なっていても一つの画像領域として正確に検出できるようになる。
【００６５】
以上説明したように、本発明の各実施形態によれば、終了判定部8により検出終了と判定するまで、検索範囲を拡大しながら画像領域の検出を行うので、オペレータに指定された点を中心に徐々に検索範囲を拡げて、検出対象の画像領域のエッジ近傍まで検出処理を行えばよいので、演算時間を短縮することができる。また、オペレータは検出しようとする画像領域の一点、または、その画像領域を含む範囲を指定するだけでよく、オペレータの負荷を低減することができる。また、オペレータに指定された点周辺または範囲内の色情報に基づき画像領域の検出を行うので、例えば人物の顔画像を検出する場合、肌の色、環境や周辺の状況、人物のコンディションや化粧、撮影システムなどの影響を受けずに、顔画像の領域を正確に検出することができる。従って、自然画像の中から特定の人物の顔画像の領域を正確かつ短時間に検出し、オペレータの負荷を低減することができる。
【００６６】
また、基準色設定部5は、検出された画像領域に含まれる画素も基準色の決定に利用することにより、検索範囲の拡大につれて基準色を更新する。従って、例えばフラッシュ撮影などにより顔にてかりが生じている場合などでも、人物の顔画像の領域を正確に検出することができる。
【００６７】
また、画像領域の検出は、基準色決定部5により決定された基準色との色差が所定値以下である画素を画像領域の画素と判定するので、例えば人物の顔画像を検出する場合、環境や周囲の状況、人物のコンディションや化粧、撮影システムなどに影響されず、常に安定な画像領域の検出を行うことができる。
【００６８】
また、本発明の第3実施形態によれば、検索範囲の大きさに基づき、画像領域の画素を判定する際に用いる色差のしきい値の大きさを変更するので、例えば人物の顔画像を検出する場合、環境や周囲の状況、人物のコンディションや化粧、撮影システムの影響などにより顔画像の領域内で色の変化が大きい場合でも、常に安定かつ正確に画像領域を検出することができる。
【００６９】
また、検索範囲の大きさに基づき、色差を求める演算に用いる、輝度情報に関する重みを変更するので、例えば人物の顔画像を検出する場合、環境や周囲の状況、人物のコンディションや化粧、撮影システムの影響などにより顔画像の領域内で輝度の変化が大きい場合でも、常に安定かつ正確に画像領域を検出することができる。
【００７０】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００７１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，CD-ROM，CD-R，磁気テープ，不揮発性のメモリカード，ROMなどを用いることができる。
【００７２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図9のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。すなわち、少なくとも「指示」および「検索」の各モジュール、好ましくは、さらに「画像特性取得」「検索範囲設定・拡大」および「検索範囲拡大/検出終了」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【００７５】
【発明の効果】
以上説明したように、本発明によれば、オペレータの負荷を軽減して、所望する画像領域を正確かつ短時間に検出する画像処理装置およびその方法を提供することができる。
【図面の簡単な説明】
【図１】第1実施形態の画像処理ソフトウェアの機能構成例を示すための図、
【図２】本発明における画像領域の検出処理例を示すフローチャート、
【図３Ａ】第1実施形態の処理を説明するための図、
【図３Ｂ】第1実施形態の処理を説明するための図、
【図３Ｃ】第1実施形態の処理を説明するための図、
【図３Ｄ】第1実施形態の処理を説明するための図、
【図３Ｅ】第1実施形態の処理を説明するための図、
【図３Ｆ】第1実施形態の処理を説明するための図、
【図３Ｇ】第1実施形態の処理を説明するための図、
【図４Ａ】第2実施形態の処理を説明するための図、
【図４Ｂ】第2実施形態の処理を説明するための図、
【図４Ｃ】第2実施形態の処理を説明するための図、
【図４Ｄ】第2実施形態の処理を説明するための図、
【図５】第3実施形態の画像処理ソフトウェアの機能構成例を示すための図、
【図６Ａ】第3実施形態の処理を説明するための図、
【図６Ｂ】第3実施形態の処理を説明するための図、
【図６Ｃ】第3実施形態の処理を説明するための図、
【図６Ｄ】第3実施形態の処理を説明するための図、
【図６Ｅ】第3実施形態の処理を説明するための図、
【図７】第3実施形態の画像処理ソフトウェアの機能構成の変形例を示すための図、
【図８】本発明の画像処理装置の構成例を示すブロック図、
【図９】本発明にかかるプログラムコードを格納した記憶媒体のメモリマップ例を示す図である。
【図１】
0003754786.tif 000002
【図２】
0003754786.tif 000003
【図３Ａ】
0003754786.tif 000004
【図３Ｂ】
0003754786.tif 000005
【図３Ｃ】
0003754786.tif 000006
【図３Ｄ】
0003754786.tif 000007
【図３Ｅ】
0003754786.tif 000008
【図３Ｆ】
0003754786.tif 000009
【図３Ｇ】
0003754786.tif 000010
【図４Ａ】
0003754786.tif 000011
【図４Ｂ】
0003754786.tif 000012
【図４Ｃ】
0003754786.tif 000013
【図４Ｄ】
0003754786.tif 000014
【図５】
0003754786.tif 000015
【図６Ａ】
0003754786.tif 000016
【図６Ｂ】
0003754786.tif 000017
【図６Ｃ】
0003754786.tif 000018
【図６Ｄ】
0003754786.tif 000019
【図６Ｅ】
0003754786.tif 000020
【図７】
0003754786.tif 000021
【図８】
0003754786.tif 000022
【図９】
0003754786.tif 000023