(57)【特許請求の範囲】
【請求項１】
画像から人物の顔領域を検出する顔検出手段と、
前記検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定手段と、
前記設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出手段と、
前記顔領域の色に基づいて前記頭部検出領域から肌色領域を検出する肌色領域検出手段と、
検出された前記肌色領域と所定の位置関係を有する領域の色分布に基づいて、前記頭部検出領域から髪色領域を検出する髪色領域検出手段と、
前記エッジ画像において、前記肌色領域と前記髪色領域との間のエッジ画素を削除するエッジ削除手段と、
前記エッジ削除手段によりエッジ画素が削除されたエッジ画像から頭部領域に対応した候補楕円を検出する楕円検出手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記楕円検出手段は、前記エッジ画素が削除されたエッジ画像についてハフ変換を行うことで得られた複数の候補楕円の中から所定の基準により１つの候補楕円を選択し頭部領域とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記肌色領域検出手段は、
前記顔検出手段により検出された顔領域内の画素の色分布を求める手段と、
前記色分布から予め定められた部分を削除して肌色分布とする手段と、
前記肌色分布を用いて前記頭部検出領域の画像から肌色領域を求める手段とを備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記髪色領域検出手段は、
前記肌色領域検出手段により検出された前記肌色領域と所定の位置関係を有する髪サンプル候補領域から髪色サンプル画素を検出する髪色サンプル画素の検出手段と、
該髪色サンプル画素の色分布を求める手段と、
前記髪色サンプル画素の色分布の範囲を用いて前記頭部検出領域から髪色領域を検出する手段とを更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記髪色サンプル画素の検出手段は、
前記肌色領域と所定の位置関係を有する前記髪サンプル候補領域を設定する手段と、
前記髪サンプル候補領域において、前記肌色領域に含まれず前記エッジ画素でもない画素から肌色画素の出現位置より下の画素を除外して髪サンプル候補画素を生成する手段と、
前記髪サンプル候補画素のうち、上隣の画素が髪サンプル候補画素ではない上から下に向かって最後の髪サンプル候補画素の位置より上の画素を除外した残りの画素を髪サンプル画素に設定する手段とを備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記エッジ削除手段は、
前記髪色領域を膨張する手段と、
前記膨張させた肌色領域と前記膨張させた髪色領域との重複領域内のエッジ画素を除去する手段とを備えることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記エッジ削除手段は、前記肌色領域の左右の所定の各画素列について、前記髪色領域の最小画素行と前記肌色領域の最大画素行との距離が所定範囲内の場合に、前記肌色領域と前記髪色領域との間のエッジ画素を削除することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記エッジ削除手段を動作させるか否かは、マニュアルにより制御されることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記エッジ画素が削除されたエッジ画像から前記楕円検出手段が検出した候補楕円に対応する頭部領域が妥当か否かを所定の判定基準により判定する妥当性判定手段を更に備え、
前記候補楕円は妥当であると前記妥当性判定手段が判断した場合に、前記エッジ削除手段を動作させることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
前記妥当性判定手段は、
前記候補楕円が顔領域または該顔領域の一部と重複するかどうかを判断する手段と、
前記候補楕円の楕円境界上のエッジ画素数が所定閾値以上であるかどうかを判断する手段と、
前記候補楕円の楕円境界上のエッジ画素が、エッジ画素左辺最低点から右辺最低点までの楕円円弧長に被さる比率が所定閾値以上であるかどうかを判断する手段と、
前記候補楕円の楕円境界上のエッジ画素が、該頭部領域の楕円円周に被さる比率が所定閾値以上であるかどうかを判断する手段と、
前記候補楕円の縦横比が所定の範囲内にあるかどうかを判断する手段と、
前記候補楕円における肌色領域の割合が所定閾値以上であるかどうかを判断する手段とのうちの、少なくとも一つの手段を備えることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
顔検出手段が、画像から人物の顔領域を検出する顔検出工程と、
頭部検出領域設定手段が、前記検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定工程と、
エッジ検出手段が、前記設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出工程と、
肌色領域検出手段が、前記顔領域の色に基づいて前記頭部検出領域から肌色領域を検出する肌色領域検出工程と、
髪色領域検出手段が、検出された前記肌色領域と所定の位置関係を有する領域の色分布に基づいて、前記頭部検出領域から髪色領域を検出する髪色領域検出工程と、
前記エッジ画像において、エッジ削除手段が、前記肌色領域と前記髪色領域との間のエッジ画素を削除するエッジ削除工程と、
頭部領域検出手段が、前記エッジ削除工程によりエッジ画素が削除されたエッジ画像から頭部領域に対応した候補楕円を検出する頭部領域検出工程と
を備えることを特徴とする画像処理方法。
【請求項１２】
請求項１１に記載された各工程をコンピュータシステムに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラなどの撮影装置により撮影された映像から人物の頭部領域を検出する装置に関する。
【背景技術】
【０００２】
近年、カメラなどの撮影装置から撮影された映像に指定された人物の位置を特定し追尾することにより、カメラのフォーカスや露出、あるいはカメラのパン、チルト、ズームなどの姿勢を自動的に制御する機能が注目されている。
【０００３】
これまでは人物の位置を特定するために、人物の顔パターンを検出しその動きを追尾することが一般的であった。このような画像中から顔を検出する技術としては、非特許文献１に各種方式が挙げられている。特に、検出の実行速度とその検出率の高さから、非特許文献２に記載のＡｄａＢｏｏｓｔベースの手法は、顔検出研究において広く使用されてきた。しかし、人物の位置を特定するのに、人物の顔パターンを検出し追尾するだけでは十分ではない。なぜなら、人物の顔が横向きになったり後ろ向きになると顔パターンが検出できない場合があるからである。
【０００４】
したがって、顔を検出する変わりに頭部領域を検出し追尾することは、顔パターン検出の欠点を補う有力な手段である。頭部領域を検出するには、非特許文献３に記載のハフ変換を用いた曲線の検出や、非特許文献４に記載の楕円検出などを用いることができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】M.H. Yang, D.J. Kriegman and N. Ahuja. "Detecting Faces in Images: A Survey," IEEE Trans. on PAMI, vol.24, no.1, pp.34-58, January, 2002.
【非特許文献２】P. Viola and M. Jones. "Robust Real-time Object Detection," in Proc. of IEEE Workshop SCTV, July, 2001.
【非特許文献３】Duda, R. O. and P. E. Hart, "Use of the Hough Transformation to Detect Lines and Curves in Pictures," Comm. ACM, Vol. 15, pp. 11-15 (January, 1972).
【非特許文献４】Stan Birchfield, "Elliptical Head Tracking Using Intensity Gradients and Color Histograms," Proc. IEEE International Conference On Computer Vision and Pattern Recognition (CVPR '98), Santa Barbara, California, pp.232-237, June 1998
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ハフ変換や非特許文献４に記載の手法を用いて頭部楕円を検出しようとしても、顔色と髪色間に頭部と背景間と同程度の強度を有するエッジが存在することが多い。このため顔色と髪色間のエッジが頭部エッジとして誤って見なされることが多くなる。この誤検出が続くと、人物の追尾に不安定を生じ、例えば、人物が後ろを向いてしまうと、追跡していた顔色と髪色間のエッジが消滅してしまい、人物をロストしてしまうという課題があった。
【０００７】
本発明はこのような課題に鑑みて成されたものであり、頭部内のエッジを頭部の境界として誤検出することを防ぎ、頭部領域を精度よく検出することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的を達成するために、本発明の画像処理装置は以下のように構成される。すなわち、画像から人物の顔領域を検出する顔検出手段と、前記検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定手段と、前記設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出手段と、前記顔領域の色に基づいて前記頭部検出領域から肌色領域を検出する肌色領域検出手段と、検出された前記肌色領域と所定の位置関係を有する領域の色分布に基づいて、前記頭部検出領域から髪色領域を検出する髪色領域検出手段と、前記エッジ画像において、前記肌色領域と前記髪色領域との間のエッジ画素を削除するエッジ削除手段と、前記エッジ削除手段によりエッジ画素が削除されたエッジ画像から頭部領域に対応した候補楕円を検出する楕円検出手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明の構成により、顔色領域と髪色領域を含む頭部領域について、頭部内のエッジに対する誤検出を防止し、頭部領域を精度よく検出することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１における人物の頭部領域を検出する装置の構成例を示すブロック図。
【図２】実施形態１の頭部楕円の検出に関するフロー図。
【図３】実施形態１における肌色ヒストグラムの取得例を示す図。
【図４】顔領域による頭部検出領域の設定例を示す図。
【図５】前フレームの頭部領域による頭部検出領域の設定例を示す図。
【図６】頭部検出領域におけるエッジ画素の抽出例を示す図。
【図７】検出された頭部検出領域と肌色領域との関係を示す図。
【図８】実施形態１と実施形態２における肌色領域膨張マスクを示す図。
【図９】ノイズエッジを削除した後のエッジ画像と候補頭部楕円とそれから選択された頭部楕円の例を示す図。
【図１０】顔領域とそれを収縮した範囲を示す図。
【図１１】肌色ヒストグラムの取得例を示す図。
【図１２】本発明におけるコンピュータの制御構成を示すブロック図。
【図１３】実施形態２における画像処理装置の構成例を示すブロック図。
【図１４】実施形態２における人物頭部領域の検出のための処理の流れを示すフロー図。
【図１５】実施形態２における髪色サンプルが取得の流れを示すフロー図。
【図１６】髪サンプル検出領域と髪サンプル候補の画素と抽出された髪サンプル画素の例を示す図。
【図１７】髪サンプル画素のヒストグラムの例を示す図。
【図１８】検出された髪色領域の例を示す図。
【図１９】肌色と髪色画素間のエッジ画素を除去した例を示す図。
【図２０】実施形態３における画像処理装置の構成例を示すブロック図。
【図２１】実施形態３における処理の流れを示すフロー図。
【図２２】候補頭部領域と顔領域またはその一部との重なりに対する基準と、楕円円周上エッジ画素の左辺最低点から右辺最低点までの楕円円弧、そして候補頭部領域に対する肌色領域の例を示す図。
【図２３】実施形態４における画像処理装置の構成例を示すブロック図。
【図２４】実施形態４における処理の流れを示すフロー図。
【発明を実施するための形態】
【００１１】
＜実施形態1＞
（構成）
以下に、図面を参照しながら、本発明の実施形態１について説明していく。
【００１２】
図１は実施形態１における人物の頭部領域を検出する装置の構成例を示すブロック図である。実施形態１において、頭部は楕円として検出するので、厳密に言うと頭部領域はその楕円領域であるが、処理を簡単にするために、頭部領域はその楕円の外接矩形とすることもある。以下の説明では、頭部楕円と頭部楕円の外接矩形は区別せず頭部領域とする。
【００１３】
まず、撮影部１０１により人物を含む画像が撮影される。画像取得部１０２は、撮影部１０１より撮影された画像をフレーム画像として取得する。フレーム画像は、一般に撮影部１０１から同軸ケーブルを介して、コンピュータのビデオインターフェースにより取得される。顔検出部１０３は、画像取得部１０２から送られる一連のフレーム画像の現在フレーム画像を解析し、顔領域を検出する。頭部検出領域設定部１０４は、顔検出部１０３で求められた顔領域、または頭部領域検出部１０９から求めた前フレームの頭部領域に基づいて、現在フレームに対して人物の頭部検出範囲を設定する。
【００１４】
エッジ検出部１０５は、前記頭部検出領域設定部１０４で設定された頭部検出領域のエッジ画像を生成する。ノイズエッジ削除部１２０は、肌色領域検出部１０６と、肌色とエッジ削除部１０８から構成される。肌色領域検出部１０６は、顔検出部１０３で求められた顔領域を利用して、肌色分布を抽出し、前記設定された頭部検出領域から肌色領域を検出する。エッジ削除部１０８は、前記肌色領域検出部１０６で求めた肌色領域を拡張して、拡張した領域内のエッジ画素を削除する。楕円検出手段である頭部領域検出部１０９は、前記肌色とエッジ削除部１０８から出力した、ノイズエッジ画素が削除されたエッジ画像を利用して、頭部楕円を検出する。
【００１５】
ノイズエッジ削除部１２０を作動させるか否かの指示をあらかじめ外部入力により行えるようにし、作動フラグ設定部１１０は、例えばマニュアルによる外部からの指示に基づき作動フラグを設定する。すなわち、エッジ検出部１０５で検出した頭部検出領域のエッジ画像を直接頭部領域検出部１０９に入力し頭部楕円を検出する場合は、作動フラグを「Ｌ」とする。作動フラグを「Ｈ」に設定することで、エッジ検出部１０５で検出した頭部検出領域のエッジ画像から肌色領域と髪色領域間エッジを削除したエッジ画像を、頭部領域検出部１０９に入力して頭部楕円が検出される。
【００１６】
（動作フロー）
図２は、実施形態１の頭部楕円の検出に関するフローチャートである。次に、このフローチャートを用いて処理の流れを説明する。ステップＳ１０１において、ノイズエッジ削除部１２０の動作・非動作を決定する作動フラグ設定部１１０の出力を設定する。作動フラグは、外部入力（不図示）により設定される。作動フラグが「Ｈ」の場合、ノイズエッジ削除部１２０の全体を動作させ、作動フラグが「Ｌ」の場合、ノイズエッジ削除部１２０を非動作にし、顔検出部１０３の出力は直接、頭部領域検出部１０９へ送られる。
【００１７】
つまり、作動フラグが「Ｈ」の場合には、肌色と髪色領域間エッジを削除し頭部楕円が検出される。作動フラグが「Ｌ」の場合、エッジ検出部１０５で検出した頭部検出領域のエッジ画像を利用して頭部楕円が検出される。ステップＳ１０２において、画像取得部１０２は、コンピュータのビデオインターフェースにより、同軸ケーブルを介して、撮影部１０１へ入力された映像をフレーム画像として取得する。
【００１８】
ステップＳ１０３において、顔検出部１０３は、ステップＳ１０２で取得したフレーム画像に対して顔検出を行い、全ての顔領域を検出する。人物の頭部領域検出手段に比べ、顔検出手段は顔という特定の領域に着目するので、小領域で各種照明条件に安定して被写体を検出できる。
ステップＳ１０４において、肌色領域検出部１０６は、ステップＳ１０３で検出した顔領域のＲＧＢ画像Ｉを、式(１)を用いてＹＵＶ画像に変換する。
0005538909.tif 000002
図３は、実施形態１における肌色ヒストグラムの取得例を示す図である。
【００１９】
ステップＳ１０３で検出した顔領域には、目、鼻の穴、唇などの領域が含まれており、これらの領域を除去して肌色の分布を作成する必要がある。実施形態１においては、肌色の分布はYUVのそれぞれの成分について求める。図３の（ａ）は、撮像された人物のフレーム像を示す。図３の（ｂ）は、検出された顔の部分のＲＧＢ画像を示す。また、図３の（ｃ）は、顔領域の肌色の画素の分布を示す。
【００２０】
図３の（ｄ）〜（ｆ）に示すように、それぞれの顔領域のＹ、Ｕ、Ｖに関する色の分布が、最大値PYmax、 PUmax、PVmaxの位置から左右へ小さくなる。そして、図３の（ｇ）〜（ｈ）に示すように、顔領域色分布が、α・PYmax、 α・PUmax、 α・PVmaxの各値に対して、初めて小さくなる位置を求める。この求められた左右の位置に挟まれた左右範囲内の顔領域色分布を肌色分布とする。ここでのα値は、例えばα=0.1としている。
【００２１】
図４は、直前フレームが存在しない場合に行われる、顔領域による頭部検出領域の設定例を示す図である。ステップＳ１０５において、頭部検出領域設定部１０４は、ステップＳ１０３で検出した顔領域が始めて検出される場合、図４に示すように、検出した顔領域の横幅wfと縦高hfに基づいて、頭部検出領域を設定する。
【００２２】
顔領域の左上端である点Ｐの座標を(xf1,yf1)とし、右下端点である点Ｑの座標を(xf3,yf3)とする。このとき、頭部検出領域の左上端点である点Ｒの座標は(xf1−c1・wf, yf1―c3・hf)、右下端点である点Ｓの座標は(xf3+c2・wf, yf1+c4・hf)で表される。ここで、c1、c2、c3およびc4は変数であり、その値は例えばc1=c2=c3=c4=1.0を用いる。
【００２３】
図５は、前フレームの頭部領域が存在する場合の頭部検出領域の設定例を示す図である。ステップＳ１０５において、頭部検出領域設定部１０４は、ステップＳ１０３で検出した顔領域が始めてではない場合、図５に示すように、後述のステップＳ１１３で検出した前フレームの頭部領域に基づいて、被写体の頭部領域のまわりに頭部検出領域を設定する。本実施形態において、前フレームの頭部領域の左上端点である点ｐの座標を(xd1,yd1)とし、右下端点である点ｑの座標を(xd3,yd3)とし、横幅はwd、縦高はhdとする。このとき、頭部検出領域の左上端点である点ｒの座標は(xd1−c5・wd, yd1−c7・hd)、右下端点である点ｓの座標は(xd3+c6・wd, yd1+c8・hd)で表される。ここで、c5、c6、c7およびc8は変数であり、これらの値は、例えばc5=c6=c7=c8=0.5を用いる。
【００２４】
また、設定された頭部検出領域に応じて、ハフ変換の変数も設定する。ハフ変換の変数は中心座標(x0,y0)に関する最小と最大値と、縦軸と横軸(b,a)に関する最大と最小値がある。縦軸と横軸(b,a)に関する最大と最小値は顔領域のサイズまたは前フレームの頭部領域のサイズに応じて設定し、中心座標(x0,y0)に関する最小と最大値は、設定された頭部検出領域とaminとbminに基づいて設定する。また、回転角度の変数θに関して最大と最小値を設定してもよい。頭部検出領域設定部１０４は、設定された頭部検出領域について、ＲＧＢ画像を取得する。
【００２５】
図６は、頭部検出領域におけるエッジ画素の抽出例を示す図である。ステップＳ１０６において、エッジ検出部１０５は、この領域内のエッジ画素を検出する。エッジ検出の方法はさまざまある。本実施例においては、ＲＧＢ画像のそれぞれの成分、Ｒ（赤），Ｇ（緑）およびＢ（黒）について、例えばＲ成分については、図６の（ａ）に示すＲ成分画像に関して処理した多値膨張画像は、図６の（ｂ）に示され、また多値収縮画像は、図６の（ｃ）に示される。図６の（ｄ）には、この求めた膨張画像と縮小画像から求めた差分画像が示される。そして、各Ｒ、Ｇ、Ｂの差分画像の輝度分布（Ｒ成分については、図６の（ｆ）参照）を生成し、累積輝度分布が所定閾値を超えるところで決定される差分画素値を二値化閾値とする。更に、各Ｒ、Ｇ、Ｂの差分画像の値を二値化閾値と比較し、Ｒ，Ｇ，Ｂに関する二値化エッジ画像を生成する。この結果は、図６の（ｅ）にＲ成分、（ｇ）にＧ成分、（ｈ）にＢ成分の二値化画像として示される。最後に、図６の（ｉ）に示すように、ＲＧＢ各成分の二値化エッジ画像をＯＲ演算して各成分二値化画像のＯＲ画像、すなわちエッジ画素を抽出する。
【００２６】
ステップＳ１０７において、ノイズエッジ削除部１２０は、作動フラグ設定部１１０で設定された作動フラグが「Ｈ」か、「Ｌ」であるかをチェックする。作動フラグが「Ｈ」の場合、後述のステップＳ１０８とステップＳ１０９の処理を行い、作動フラグが「Ｌ」の場合、後述のステップＳ１０８とステップＳ１０９までの処理を行わず、ステップＳ１１０の処理に移る。
【００２７】
図７は、（ａ）に検出された頭部検出領域と、（ｂ）に肌色領域との関係を示す。ステップＳ１０８において、肌色領域検出部１０６は、図７の（ｂ）に示されるように、ステップＳ１０４で求めた肌色分布を利用して、前記ステップＳ１０５で設定した頭部検出領域に肌色分布の範囲に含まれる画素を抽出し、肌色領域とする。肌色画素かどうかの判定は、次の式(２)により行う。式(２)を満たす画素は肌色画素とする。
0005538909.tif 000003
図８の（ａ）は、実施形態１における肌色領域のための第１の膨張マスクの例を示す。ステップＳ１０９において、肌色とエッジ削除部１０８は、前記ステップＳ１０８で求めた肌色領域について、図８の（ａ）に示す膨張マスクを利用してその肌色領域を膨張する。このようにして、膨張させた肌色領域内にあるエッジ画像におけるエッジ画素を削除する。
【００２８】
図９の（ａ）は、ノイズエッジを削除した後のエッジ画像を示す。図のように、肌色領域を膨張マスクで膨張させることで、元のエッジ画像にあった目や口、髪などによるノイズエッジ部が膨張領域に入り、その部分を削除できる。
【００２９】
一方、肌色領域が存在しない場合、前記肌色と髪色領域間エッジ画素削除処理を行わないで、ステップＳ１１０に移る。
【００３０】
ここで、膨張マスクは縦一列になっているので、肌色領域は上下へ膨張することになる。膨張マスクの縦高は、頭部検出領域の縦高により設定される。また、ステップＳ１０９において、肌色とエッジ削除部１０８は、前記ステップＳ１０５で設定された頭部検出領域を所定サイズに正規化する。この正規化したサイズで、前記肌色領域とエッジ画像を利用して、固定サイズの膨張マスクで肌色領域を膨張し、膨張した領域内のエッジ画素を削除することもできる。ステップＳ１１０において、頭部領域検出部１０９は、作動フラグが「Ｈ」の場合、ステップＳ１０９で求めたエッジ画像について、ステップＳ１０５で設定されたハフ変換の変数を利用して、ハフ変換を行う。また作動フラグが「Ｌ」の場合、ステップＳ１０６で求めたエッジ画像について、ステップＳ１０５で設定されたハフ変換の変数を利用して、ハフ変換を行い、候補頭部楕円を生成する。
【００３１】
図９の（ｂ）は、候補頭部楕円とそれから選択された頭部楕円の例を示す図である。作動フラグが「Ｈ」と「Ｌ」の各々の場合について、図に示すように、ステップ１１０において複数の候補頭部楕円を検出し、そのうち、最適と判断した楕円を選択し頭部領域とする。この判断は、例えば、楕円の縦横比率が理想的な頭部領域の比率に最も近いものを選択することで実現できる。あるいは、肌色領域の割合や、楕円円周のエッジの状態などを評価して選択してもよいし、このような複数の評価基準から総合的に判断してもよい。本実施例において、実行速度の迅速化を考慮すると、ステップＳ１０９の処理は、膨張処理を利用せず、単に、肌色領域の幅内に各列について、肌色画素の最上行から上へ所定行数以内のエッジ画素を削除してもよい。
【００３２】
また、本実施例において、ステップＳ１０４で肌色分布を求める際、各色成分の分布をそれぞれ求めず、式(３)に示すように各色成分の結合分布を求めることもできる。結合分布を求める際、各色成分の値を所定ビン数に縮退して求めてもよい。
0005538909.tif 000004
ここで、ｎは肌色の画素数であり、４は縮退ビン数である。
【００３３】
さらに、各色成分のそれぞれの分布または、結合分布を求める際、ガウスモデルなどを利用して、色分布を近似してもよい。また、本実施例において、肌色の分布はYUV表色系を用いたが他の表色系、例えば、YCｂCr、YIQ、HSV、HLS、XYZなどを利用してもよい。さらに、規格化された表色系を利用することではなく、ＲＧＢで表現した色を所定の線形変換を行い、変換した色で色分布を求めてもよい。
【００３４】
図１０は、顔領域とそれを収縮した範囲を示す図である。本実施例において、ステップＳ１０４で肌色分布を取得する際、顔領域内の全ての画素を利用することではなく、図１０に示すように所定幅を収縮した範囲内の画素を利用してもよい。
【００３５】
また、本実施例において、ステップＳ１０４で肌色分布を取得する際、顔領域が検出できたフレームについて、前述のように肌色分布求めた。しかし、求めた肌色分布を記憶しておき、顔領域が検出できなかったフレームについては、記憶された肌色分布を利用してステップＳ１０８ において肌色領域を求めてもよい。
【００３６】
図１１は、肌色ヒストグラムの処理例を示す図である。図１１の（ａ）、（ｂ）、（ｃ）には、それぞれ顔領域のＹ成分、Ｕ成分、Ｖ成分のヒストグラムが示される。（本実施形態において、ステップＳ１０４で肌色分布を取得する際、顔領域に目や鼻穴等の領域の画素を肌色分布から除外するため、顔領域色分布の最大値から左右へ所定閾値より小さくなる位置を求めた。その処理の結果である、Ｙ成分、Ｕ成分、Ｖ成分の例が、それぞれ図１１の（ｄ）、（ｅ）、（ｆ）に示される。そして肌色分布をこの範囲内に限定するように処理したが、図１１の（ａ）に示すように、顔領域の輝度Ｙ成分分布の右辺から左辺へ累積分布を求め、累積分布が所定γパーセントを超えるところを肌色のＹ成分分布としてもよい。また、本実施形態に示した頭部検出領域範囲の変数や、ハフ変換の変数や、結合分布の縮退ビン数などの変数はあくまでも本発明の処理を説明するための例であり、必要に応じて変更してもよい。
【００３７】
図１２は、図１に示した装置を実現可能なコンピュータの制御構成の一例を示すブロック図である。図１２において、ＣＰＵ１００１は、本実施形態の画像処理装置における各種制御を実行する。ＲＯＭ１００２は、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。ＲＡＭ１００３は、ＣＰＵ１００１が処理するための制御プログラムを格納するとともに、ＣＰＵ１００１が各種制御を実行する際の作業領域を提供する。キーボード１００４、マウス１００５は、ユーザによる各種入力操作環境を提供する。
【００３８】
外部記憶装置１００６は、ハードディスクやフロッピー（登録商標）ディスク、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ等で構成される。ただし、外部記憶装置１００６は、制御プログラムや各種データを全てＲＯＭ１００２に持つようにすれば、必須の構成要素ではない。表示器１００７は、ディスプレイなどで構成され、検出結果等をユーザに対して表示する。ネットワークインターフェース１００８は、必要に応じて外部機器との通信を行うインタフェースである。ビデオインターフェース１００９は、同軸ケーブルを介し、フレーム画像の取り込みを可能とする。また、バス１０１１は、上記の各構成を電気的に接続し通信を可能とする。
【００３９】
＜実施形態２＞
（構成）
図１３は実施形態２における画像処理装置の構成例を示すブロック図である。実施形態１と異なるのは、髪色領域検出部２０７が追加されている点にある。
【００４０】
図１３に示すように、ノイズエッジ削除部２２０は、肌色領域検出部１０６と、髪色領域検出部２０７と、肌色と髪色領域間エッジ削除部２０８とから構成される。肌色領域検出部１０６は、実施形態１と同じように、顔検出部１０３で求められた顔領域を利用して、肌色分布を抽出し、前記設定された頭部検出領域に肌色領域を検出する。
【００４１】
髪色領域検出部２０７は、前記肌色領域検出部１０６で求めた肌色領域と前記エッジ検出部１０５で求めたエッジ画像を利用して、肌色領域またはその肌色領域の一部の上部領域にある髪サンプル画素を求める。そして髪色分布を抽出することで、設定された頭部検出領域に髪色領域を検出する。エッジ削除部１０８は、前記肌色領域検出部１０６で求めた肌色領域と髪色領域検出部２０７で求めた髪色領域の間の領域を求め、この領域内のエッジ画素を削除する。これにより、髪色領域が検出される。
【００４２】
（動作フロー）
図１４は、実施形態２における人物頭部領域の検出のための処理の流れを示すフロー図である。この図を用いて処理の流れ説明する。
【００４３】
ステップＳ２０１からＳ２０８までの処理は、実施形態１のステップＳ１０１からステップＳ１０８までの処理は同じである。ここではステップＳ２０９より説明していく。
【００４４】
ステップＳ２０９において、髪色領域検出部２０７は、設定された頭部検出領域における髪色サンプル画素を抽出する。
【００４５】
図１５は、実施形態２における髪色サンプルが取得の流れを示すフロー図である。このフローチャートを用いて、このステップでの更に詳細な処理を説明する。
【００４６】
ステップＳ２０９１において、髪色領域検出部２０７は前記ステップＳ２０８で求めた肌色領域を取得する。
図１６の（ａ）は、髪サンプル検出領域の例を示す図である。
【００４７】
ステップＳ２０９２において、髪色領域検出部２０７は、図に示すように、所定の位置関係にある、取得した肌色領域の中央部を縦断する所定幅の領域を髪サンプル候補領域として設定する。
ステップＳ２０９３において、髪色領域検出部２０７は、髪サンプル候補領域に、肌色領域画像とステップＳ２０６で作成したエッジ画像のＯＲ画像を作成し、画素値が０と１を反転した画像を作成する。最後に、各画素列において、肌色画素が出現した位置より下の画素を全部０にする。
【００４８】
図１６の（ｂ）は、この処理が行われた、髪色サンプル画素の検出を行う例を示す図である。
ステップＳ２０９４において、髪色領域検出部２０７は、ステップＳ２０９３に作成した反転画像に、各列において、上から下へ最後の０から１へ変化する位置を探索し、上から該位置までの画素は全部０とする。残りの画素は髪サンプル画素とする。
【００４９】
図１６の（ｃ）は、この処理が行われた、抽出された髪サンプル画素の例を示す図である。
ステップＳ２１０において、髪色領域検出部２０７は、前記求めた髪サンプル画素のYUVヒストグラムを求め、非ゼロ頻度画素値の最小と最大値、Yhmin, Yhmax, Uhmin, Uhmax, Vhmin, Vhmaxを求め、髪色の範囲とする。
【００５０】
図１７は、この処理が行われた、髪サンプル画素のヒストグラムの例を示す。左から、図１７の（ａ）、（ｂ）、（ｃ）に、それぞれＹ成分、Ｕ成分、Ｖ成分の髪サンプル画素分布の例を示す。ステップＳ２１１において、髪色領域検出部２０７は、前記ステップＳ２０５で設定された頭部検出領域に、式(４)を満たす画素を探し、髪画素とする。
【００５１】
図１８は、この処理により検出された髪色領域の例を示す図である。図１８の（ａ）には、頭部検出領域、そして（ｂ）には、頭部検出領域から検出された髪色領域を示す。図８の（ｂ）と（ｃ）には、実施形態２で使用する第２の膨張マスクの例を示している。
0005538909.tif 000005
ステップＳ２１２において、エッジ削除部１０８は、前記ステップＳ２０８で求めた肌色領域とステップＳ２１１で求めた髪色領域が両方とも検出された頭部領域内に存在するか否かを判断する。両方とも存在する場合、図８の（ｂ）と（ｃ）に示す膨張マスクＩまたは膨張マスクＩＩを利用して肌色と髪色領域を膨張し、重複する領域を求め、重複領域内のエッジ画素を削除する。また同時に、前記ステップＳ２０８で求めた肌色領域内のエッジ画素も削除してもよい。ここで、実施形態１における膨張マスク（図８の（ａ））は、縦１列の形状だったのに対し、膨張マスクＩは矩形に膨張させるものであり、膨張マスクＩＩは矩形の四隅を丸めた図形に膨張させるものである。
【００５２】
一方、肌色領域のみ頭部領域内に存在する場合、実施形態１と同様に、図８に示す膨張マスクを利用して肌色領域を膨張し、膨張領域内のエッジ画素を削除すればよい。
【００５３】
髪色領域のみ頭部領域内に存在する場合、または、肌色と髪色領域両方とも検出しない場合、ノイズエッジ画素削除処理を行わないで、ステップＳ２１３に移る。
【００５４】
ステップＳ２１３において、頭部領域検出部２０９は、作動フラグが「Ｈ」の場合、ステップＳ２１２で求めたエッジ画像について、ステップＳ２０５で設定されたハフ変換の変数を利用して、ハフ変換を行う。また、作動フラグが「Ｌ」の場合、ステップＳ２０６で求めたエッジ画像について、ステップＳ２０５で設定されたハフ変換の変数を利用して、ハフ変換を行う。このハフ変換により複数の候補楕円を検出し、その中から一つ候補楕円を、所定の基準に照らして選択し、頭部領域として設定する。
【００５５】
図１９は、肌色と髪色画素間のエッジ画素を除去した例を示す図である。
本実施形態において、処理の実行速度を早くすることが望まれる場合、ステップＳ２１２における処理は、膨張処理を利用しない方法がある。すなわち、図１９に示すように、単に髪サンプル領域の幅内に各列について、髪色画素の最大行と肌色画素の最小行との間のエッジ画素を削除してもよい。この場合、髪色や肌色画素の誤検出を避けるために、髪色画素の最大行と肌色画素の最小行との間の距離に所定範囲を設定し、その所定範囲内であれば、その間のエッジ画素を削除するようにしてもよい。
【００５６】
また、本実施形態において、ステップＳ２１０で髪色分布を求める際、肌色分布と同様に、各色成分のヒストグラムをそれぞれ求めることなく、式(４)に示すように各色成分の結合ヒストグラムを求めることもできる。結合ヒストグラムを求める場合、各色成分の値を所定ビン数に縮退して求めてもよい。
【００５７】
さらに、各色成分のそれぞれの色分布または、結合分布を求める場合、ガウスモデルなどを利用して、色分布を近似してもよい。また、本実施形態において、肌色または髪色のヒストグラムはYUV表色系を用いたが他の表色系、例えば、YCｂCr、YIQ、HSV、HLS、XYZなどを利用してもよい。さらに、規格化された表色系を利用することではなく、ＲＧＢで表現した色を所定の線形変換を行い、変換した色で色分布を求めてもよい。
【００５８】
また、ステップＳ２１０で髪色ヒストグラムを求める場合、顔領域が検出できたフレームについて、前述のように髪色ヒストグラム求める。しかしこの際に、求めた髪色ヒストグラムを記憶し、顔領域が検出できなかったフレームについて、記憶された髪色ヒストグラムを利用してステップＳ２１１において髪色領域を求めてもよい。また、本実施形態に示した頭部検出領域範囲の変数や、ハフ変換の変数や、結合ヒストグラムの縮退ビン数などの変数はあくまでも本発明の処理を説明するための例であり、必要に応じて変更してもよい。
【００５９】
＜実施形態３＞
（構成）
図２０は、実施形態３における画像処理装置の構成例を示すブロック図である。実施形態３が実施形態１と比べて、作動フラグ設定部１１０の代わりに、エッジ削除妥当性判定部３１０を設けられている点が異なる。エッジ削除妥当性判定部３１０以外の部分は、実施形態１と同じである。
【００６０】
ノイズエッジ削除部１２０において、肌色領域検出部１０６と、エッジ削除部１０８と、頭部領域検出部１０９の処理が行われ、実施形態１における作動フラグ設定部１１０は、外部入力により作動フラグを設定した。これに対して、実施形態３でにおけるエッジ削除妥当性判定部３１０は、この検出された候補頭部領域が妥当であるか否かを自身で判断し、この判断に基づき作動フラグを設定する。既に述べたように、頭部領域の検出時には、髪のない人、横顔の人、金髪の人など様々な場合の頭部を検出することになる。もし検出された頭部領域が、適切なものかの判断を外部インタフェースからの入力でなく、処理装置内で行うことができれば、更に効率的な処理ができる。
【００６１】
（動作フロー）
図２１は、実施形態３におけるフロー図である。以下、本実施形態をこのフローチャートを用いて詳細に説明する。
【００６２】
ステップＳ３０１において、エッジ削除妥当性判定部３１０は、初期値の作動フラグ「Ｈ」を設定し、ノイズエッジ削除部１２０に対して作動を指示する。ステップＳ３０２からステップＳ３０９までの処理は、実施形態１のステップＳ１０２からステップＳ１０９までの処理と同じなので、ここでは、ステップ３１０から説明を行う。
【００６３】
ステップＳ３１０において、頭部領域検出部１０９は、ステップＳ３０６で求めたエッジ画像について、ステップＳ３０５で設定されたハフ変換のパラメータを利用してハフ変換を行うことで、複数の候補楕円形状を検出する。ステップＳ３１１において、エッジ削除妥当性判定部３１０は、ステップＳ３１０で検出した複数の候補頭部領域が妥当か否かの判定を行う。
【００６４】
図２２は、その妥当か否かの判断基準の例を示す図である。図２２（ａ）は、候補頭部領域と顔領域またはその一部との重なりに対する基準の一例を示す。候補頭部領域が妥当かどうかの判定を行うエッジ削除妥当性判断は、以下の所定の判定基準に基づいて判断する。
（１）候補頭部領域と顔領域またはその一部との重なりによる判断：
図２２（ａ）は、候補頭部領域と顔領域またはその一部との重なりに対する基準の例を示す図である。図２２（ａ）の（１）に示すように、候補楕円が顔領域と重なる場合、この候補楕円は妥当と判断される。例えば、図２５（ａ）の（２）に示すように、最初のフレームにおいて、人物の正面の顔でなく横顔などを検出すると、顔領域と頭部領域が同時に検出されるものの、候補頭部領域が顔領域との重なりが十分でない場合がある。この場合は、誤検出した候補領域であると判断し、この候補楕円は妥当でないと判断する。また顔領域全体の代わりに、その一部を使って候補頭部領域との重なりで妥当性を判断してもよい。
（２）候補楕円の楕円境界上のエッジ画素数が所定閾値以上であるかどうかによる判断：
例えば、図９（ｂ）の候補頭部楕円の円周上のエッジ画素数、nCntが所定の閾値以上ない場合に、妥当でないと判断する。
（３）候補楕円の楕円境界上のエッジ画素が、エッジ画素左辺最低点から右辺最低点までの楕円円弧長を被う比率は所定閾値以上であるかどうかによる判断：
図２２の（ｂ）は、楕円円周上のエッジ画素の左辺最低点から右辺最低点までの左右最低点間の楕円円弧（上部の黒太線部）を示す。図のように、候補頭部楕円上左辺のエッジ最低点から右のエッジ最低点までの円弧を、下側にも一周走査した、エッジ画素数、nCntと、楕円円弧の画素数、nCurをそれぞれカウントする。そして式(５)で表わされるその比率、R1が所定閾値より少ない場合、この候補頭部楕円は妥当でないと判断する。
0005538909.tif 000006
（４）候補楕円の楕円境界上のエッジ画素が、該頭部領域の楕円円周に被さる比率は所定閾値以上であるかどうかを判断：
図２２（ｂ）の候補頭部楕円上のエッジ画素数、nCntと、左右最低点間の楕円円弧長との率、R2が所定閾値より少ない場合、候補楕円は妥当でないと判断する。この場合、楕円円弧長は近似的に縦軸と横軸の和に比例するので、例えば、この基準は式（６）で計算できる。
0005538909.tif 000007
（５）候補楕円の縦横比が所定の範囲内にあるかどうかによる判断：
例えば図２２（ｂ）の候補楕円において、式（７）で示す候補楕円の縦軸bと横軸aの比、R3が所定範囲を超える場合、すなわち、R2＜th1または R2＞th2の場合、候補頭部領域が妥当でないと判断する。
0005538909.tif 000008
（６）候補楕円における肌色領域の割合が所定閾値以上であるかどうかによる判断：
図２２（ｃ）は、候補頭部領域に対する肌色領域を示す図である。図のように、候補頭部楕円または候補頭部楕円の外接矩形に、式（２）と同様に肌色画素を検出する。検出した肌色画素数対候補頭部領域の比率が所定閾値以下の場合、候補頭部領域が妥当でないと判断する。このように、（ｉ）〜（ｖｉ）の条件を用いて、候補楕円が妥当であるかの判断を行うことで、候補頭部領域が妥当か否かの判定が行われる。
【００６５】
ステップＳ３１１において、ステップＳ３１０に検出した複数の候補頭部領域が妥当であるものがあると判断した場合、エッジ削除妥当性判定部３１０は、作動フラグを「Ｈ」に維持する。そして後続のフレーム画像に対して、ノイズエッジ削除部３２０の処理を行い、髪色と肌色間のノイズエッジを削除してから、ハフ変換を行い、頭部領域を検出する。
【００６６】
ステップＳ３１１において、ステップＳ３１０に検出した複数の候補頭部領域が、全て妥当でないと判断した場合、ステップＳ３１２へ移る。ステップＳ３１２において、エッジ削除妥当性判定部３１０は、作動フラグは「Ｈ」の状態にあるか否か、および現在処理するフレームが最初のフレームであるか否かをチェックする。作動フラグが「Ｌ」の場合、または処理するフレームが最初のフレームでない場合、次のフレームに移り、現在の処理フローで被写体の頭部領域を検出する。
【００６７】
作動フラグは「Ｈ」で、且つ、処理するフレームが最初のフレームである場合、ステップＳ３１３へ移る。
【００６８】
ステップＳ３１３において、エッジ削除妥当性判定部３１０は、作動フラグを「Ｌ」に設定し、現在及び後続のフレーム画像に対して、ノイズエッジ削除部３２０の処理は行わない。そしてこの状態で、エッジ検出部３０５から得たエッジ画像は、直接頭部領域検出部３０９に入力され、頭部検出領域設定部３０４は、ハフ変換を行い、頭部領域を検出する。
【００６９】
以上の動作により、実施形態３では、実施形態１の特徴に加え、外部インタフェースを使用せずに、抽出した複数の候補楕円が適切であるか否かを自身で判断することにより、ノイズエッジ削除部を動作させるための作動フラグが設定されるという特徴を備える。したがって、作動フラグを撮影ごとに外部より設定する必要がなくなるので、より効率的な頭部領域の検出が可能となる。
【００７０】
＜実施形態４＞
（構成）
図２３は、実施形態４における画像処理装置の構成例を示すブロック図である。実施形態４は、実施形態２における作動フラグ設定部２１０の代わりに、エッジ削除妥当性判定部３１０を設けている点が異なる。
【００７１】
（動作フロー）
図２４は、実施形態４におけるフロー図である。
【００７２】
ステップＳ４０１において、エッジ削除妥当性判定部３１０は、初期値の作動フラグ「Ｈ」を設定し、ノイズエッジ削除部２２０に対して作動を指示する。ステップＳ４０２からステップ４０８に対応する動作は、実施形態１におけるステップＳ１０２からステップＳ１０８までの処理で説明したとおりである。ステップ４０９に対する動作は、実施形態２におけるステップＳ２０９の処理で説明したとおりである。ステップ４１０から４１３に対する動作は、実施形態３におけるステップＳ３１０から３１３までの処理で説明したとおりである。
【００７３】
以上の動作により、実施形態４では、実施形態２の特徴に加え、実施形態３の特徴を備える。つまり、外部インタフェースを使用せずに、抽出した複数の候補楕円が適切であるかを自身で判断することにより、ノイズエッジ削除部を動作させるための作動フラグが設定される。したがって、作動フラグについて一々外部から設定する必要がなくなるので、より効率的な頭部領域の検出が可能となる。
【００７４】
＜その他の実施形態＞
以上のべた実施形態の機能を実現するために、コンピュータプログラムのコードを利用しても良い。すなわち、ソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）をシステムあるいは装置に供給し、そのシステムのコンピュータが記録媒体に格納されたプログラムコードを読み出し実行することにより実施形態の機能を実現できる。この場合、そのプログラムコードを記録した記録媒体は、本発明を構成することになる。
【００７５】
また、そのプログラムコードの指示に基づき、コンピュータシステム上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
さらに、記録媒体から読み出されたコンピュータプログラムのコードは、コンピュータシステムに挿入された機能拡張カードやコンピュータシステムに接続された機能拡張ユニットに備わるメモリに格納される。その格納されたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理を行い、その処理によって前述した実施形態の機能が実現される場合も含むことは言うまでもない。
【００７７】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図１】
0005538909.tif 000009
【図２】
0005538909.tif 000010
【図３】
0005538909.tif 000011
【図４】
0005538909.tif 000012
【図５】
0005538909.tif 000013
【図６】
0005538909.tif 000014
【図７】
0005538909.tif 000015
【図８】
0005538909.tif 000016
【図９】
0005538909.tif 000017
【図１０】
0005538909.tif 000018
【図１１】
0005538909.tif 000019
【図１２】
0005538909.tif 000020
【図１３】
0005538909.tif 000021
【図１４】
0005538909.tif 000022
【図１５】
0005538909.tif 000023
【図１６】
0005538909.tif 000024
【図１７】
0005538909.tif 000025
【図１８】
0005538909.tif 000026
【図１９】
0005538909.tif 000027
【図２０】
0005538909.tif 000028
【図２１】
0005538909.tif 000029
【図２２】
0005538909.tif 000030
【図２３】
0005538909.tif 000031
【図２４】
0005538909.tif 000032