説明

検出装置およびその方法

【課題】頭部内のエッジを頭部の境界として誤検出することを防ぎ、頭部領域を精度よく検出する画像処理装置を提供する。
【解決手段】画像処理装置は、画像から人物の顔領域を検出する顔検出手段と、検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定手段と、設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出手段と、顔領域の色に基づいて頭部検出領域の画像において、肌色領域を検出する肌色領域検出手段と、エッジ画像において、前記肌色領域を膨張させ、膨張した肌色領域に存在するエッジを削除するエッジ削除手段と、エッジ削除手段によりエッジが削除された画像から頭部領域に対応した候補楕円を検出する楕円検出手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラなどの撮影装置により撮影された映像から人物の頭部領域を検出する装置に関する。
【背景技術】
【0002】
近年、カメラなどの撮影装置から撮影された映像に指定された人物の位置を特定し追尾することにより、カメラのフォーカスや露出、あるいはカメラのパン、チルト、ズームなどの姿勢を自動的に制御する機能が注目されている。
【0003】
これまでは人物の位置を特定するために、人物の顔パターンを検出しその動きを追尾することが一般的であった。このような画像中から顔を検出する技術としては、非特許文献1に各種方式が挙げられている。特に、検出の実行速度とその検出率の高さから、非特許文献2に記載のAdaBoostベースの手法は、顔検出研究において広く使用されてきた。しかし、人物の位置を特定するのに、人物の顔パターンを検出し追尾するだけでは十分ではない。なぜなら、人物の顔が横向きになったり後ろ向きになると顔パターンが検出できない場合があるからである。
【0004】
したがって、顔を検出する変わりに頭部領域を検出し追尾することは、顔パターン検出の欠点を補う有力な手段である。頭部領域を検出するには、非特許文献3に記載のハフ変換を用いた曲線の検出や、非特許文献4に記載の楕円検出などを用いることができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】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.
【非特許文献2】P. Viola and M. Jones. "Robust Real-time Object Detection," in Proc. of IEEE Workshop SCTV, July, 2001.
【非特許文献3】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).
【非特許文献4】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
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ハフ変換や非特許文献4に記載の手法を用いて頭部楕円を検出しようとしても、顔色と髪色間に頭部と背景間と同程度の強度を有するエッジが存在することが多い。このため顔色と髪色間のエッジが頭部エッジとして誤って見なされることが多くなる。この誤検出が続くと、人物の追尾に不安定を生じ、例えば、人物が後ろを向いてしまうと、追跡していた顔色と髪色間のエッジが消滅してしまい、人物をロストしてしまうという課題があった。
【0007】
本発明はこのような課題に鑑みて成されたものであり、頭部内のエッジを頭部の境界として誤検出することを防ぎ、頭部領域を精度よく検出することを目的とする。
【課題を解決するための手段】
【0008】
本発明の目的を達成するために、本発明の画像処理装置は以下のように構成される。すなわち、画像から人物の顔領域を検出する顔検出手段と、前記検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定手段と、前記設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出手段と、前記顔領域の色に基づいて前記頭部検出領域の画像において、肌色領域を検出する肌色領域検出手段と、前記エッジ画像において、前記肌色領域を膨張させ、該膨張した肌色領域に存在するエッジを削除するエッジ削除手段と、前記エッジ削除手段によりエッジが削除された画像から頭部領域に対応した候補楕円を検出する楕円検出手段とを備えることを特徴とする。
【発明の効果】
【0009】
本発明の構成により、顔色領域と髪色領域を含む頭部領域について、頭部内のエッジに対する誤検出を防止し、頭部領域を精度よく検出することができる。
【図面の簡単な説明】
【0010】
【図1】実施形態1における人物の頭部領域を検出する装置の構成例を示すブロック図。
【図2】実施形態1の頭部楕円の検出に関するフロー図。
【図3】実施形態1における肌色ヒストグラムの取得例を示す図。
【図4】顔領域による頭部検出領域の設定例を示す図。
【図5】前フレームの頭部領域による頭部検出領域の設定例を示す図。
【図6】頭部検出領域におけるエッジ画素の抽出例を示す図。
【図7】検出された頭部検出領域と肌色領域との関係を示す図。
【図8】実施形態1と実施形態2における肌色領域膨張マスクを示す図。
【図9】ノイズエッジを削除した後のエッジ画像と候補頭部楕円とそれから選択された頭部楕円の例を示す図。
【図10】顔領域とそれを収縮した範囲を示す図。
【図11】肌色ヒストグラムの取得例を示す図。
【図12】本発明におけるコンピュータの制御構成を示すブロック図。
【図13】実施形態2における画像処理装置の構成例を示すブロック図。
【図14】実施形態2における人物頭部領域の検出のための処理の流れを示すフロー図。
【図15】実施形態2における髪色サンプルが取得の流れを示すフロー図。
【図16】髪サンプル検出領域と髪サンプル候補の画素と抽出された髪サンプル画素の例を示す図。
【図17】髪サンプル画素のヒストグラムの例を示す図。
【図18】検出された髪色領域の例を示す図。
【図19】肌色と髪色画素間のエッジ画素を除去した例を示す図。
【図20】実施形態3における画像処理装置の構成例を示すブロック図。
【図21】実施形態3における処理の流れを示すフロー図。
【図22】候補頭部領域と顔領域またはその一部との重なりに対する基準と、楕円円周上エッジ画素の左辺最低点から右辺最低点までの楕円円弧、そして候補頭部領域に対する肌色領域の例を示す図。
【図23】実施形態4における画像処理装置の構成例を示すブロック図。
【図24】実施形態4における処理の流れを示すフロー図。
【発明を実施するための形態】
【0011】
<実施形態1>
(構成)
以下に、図面を参照しながら、本発明の実施形態1について説明していく。
【0012】
図1は実施形態1における人物の頭部領域を検出する装置の構成例を示すブロック図である。実施形態1において、頭部は楕円として検出するので、厳密に言うと頭部領域はその楕円領域であるが、処理を簡単にするために、頭部領域はその楕円の外接矩形とすることもある。以下の説明では、頭部楕円と頭部楕円の外接矩形は区別せず頭部領域とする。
【0013】
まず、撮影部101により人物を含む画像が撮影される。画像取得部102は、撮影部101より撮影された画像をフレーム画像として取得する。フレーム画像は、一般に撮影部101から同軸ケーブルを介して、コンピュータのビデオインターフェースにより取得される。顔検出部103は、画像取得部102から送られる一連のフレーム画像の現在フレーム画像を解析し、顔領域を検出する。頭部検出領域設定部104は、顔検出部103で求められた顔領域、または頭部領域検出部109から求めた前フレームの頭部領域に基づいて、現在フレームに対して人物の頭部検出範囲を設定する。
【0014】
エッジ検出部105は、前記頭部検出領域設定部104で設定された頭部検出領域のエッジ画像を生成する。ノイズエッジ削除部120は、肌色領域検出部106と、肌色とエッジ削除部108から構成される。肌色領域検出部106は、顔検出部103で求められた顔領域を利用して、肌色分布を抽出し、前記設定された頭部検出領域から肌色領域を検出する。エッジ削除部108は、前記肌色領域検出部106で求めた肌色領域を拡張して、拡張した領域内のエッジ画素を削除する。楕円検出手段である頭部領域検出部109は、前記肌色とエッジ削除部108から出力した、ノイズエッジ画素が削除されたエッジ画像を利用して、頭部楕円を検出する。
【0015】
ノイズエッジ削除部120を作動させるか否かの指示をあらかじめ外部入力により行えるようにし、作動フラグ設定部110は、例えばマニュアルによる外部からの指示に基づき作動フラグを設定する。すなわち、エッジ検出部105で検出した頭部検出領域のエッジ画像を直接頭部領域検出部109に入力し頭部楕円を検出する場合は、作動フラグを「L」とする。作動フラグを「H」に設定することで、エッジ検出部105で検出した頭部検出領域のエッジ画像から肌色領域と髪色領域間エッジを削除したエッジ画像を、頭部領域検出部109に入力して頭部楕円が検出される。
【0016】
(動作フロー)
図2は、実施形態1の頭部楕円の検出に関するフローチャートである。次に、このフローチャートを用いて処理の流れを説明する。ステップS101において、ノイズエッジ削除部120の動作・非動作を決定する作動フラグ設定部110の出力を設定する。作動フラグは、外部入力(不図示)により設定される。作動フラグが「H」の場合、ノイズエッジ削除部120の全体を動作させ、作動フラグが「L」の場合、ノイズエッジ削除部120を非動作にし、顔検出部103の出力は直接、頭部領域検出部109へ送られる。
【0017】
つまり、作動フラグが「H」の場合には、肌色と髪色領域間エッジを削除し頭部楕円が検出される。作動フラグが「L」の場合、エッジ検出部105で検出した頭部検出領域のエッジ画像を利用して頭部楕円が検出される。ステップS102において、画像取得部102は、コンピュータのビデオインターフェースにより、同軸ケーブルを介して、撮影部101へ入力された映像をフレーム画像として取得する。
【0018】
ステップS103において、顔検出部103は、ステップS102で取得したフレーム画像に対して顔検出を行い、全ての顔領域を検出する。人物の頭部領域検出手段に比べ、顔検出手段は顔という特定の領域に着目するので、小領域で各種照明条件に安定して被写体を検出できる。
ステップS104において、肌色領域検出部106は、ステップS103で検出した顔領域のRGB画像Iを、式(1)を用いてYUV画像に変換する。

図3は、実施形態1における肌色ヒストグラムの取得例を示す図である。
【0019】
ステップS103で検出した顔領域には、目、鼻の穴、唇などの領域が含まれており、これらの領域を除去して肌色の分布を作成する必要がある。実施形態1においては、肌色の分布はYUVのそれぞれの成分について求める。図3の(a)は、撮像された人物のフレーム像を示す。図3の(b)は、検出された顔の部分のRGB画像を示す。また、図3の(c)は、顔領域の肌色の画素の分布を示す。
【0020】
図3の(d)〜(f)に示すように、それぞれの顔領域のY、U、Vに関する色の分布が、最大値PYmax、 PUmax、PVmaxの位置から左右へ小さくなる。そして、図3の(g)〜(h)に示すように、顔領域色分布が、α・PYmax、 α・PUmax、 α・PVmaxの各値に対して、初めて小さくなる位置を求める。この求められた左右の位置に挟まれた左右範囲内の顔領域色分布を肌色分布とする。ここでのα値は、例えばα=0.1としている。
【0021】
図4は、直前フレームが存在しない場合に行われる、顔領域による頭部検出領域の設定例を示す図である。ステップS105において、頭部検出領域設定部104は、ステップS103で検出した顔領域が始めて検出される場合、図4に示すように、検出した顔領域の横幅wfと縦高hfに基づいて、頭部検出領域を設定する。
【0022】
顔領域の左上端である点Pの座標を(xf1,yf1)とし、右下端点である点Qの座標を(xf3,yf3)とする。このとき、頭部検出領域の左上端点である点Rの座標は(xf1−c1・wf, yf1―c3・hf)、右下端点である点Sの座標は(xf3+c2・wf, yf1+c4・hf)で表される。ここで、c1、c2、c3およびc4は変数であり、その値は例えばc1=c2=c3=c4=1.0を用いる。
【0023】
図5は、前フレームの頭部領域が存在する場合の頭部検出領域の設定例を示す図である。ステップS105において、頭部検出領域設定部104は、ステップS103で検出した顔領域が始めてではない場合、図5に示すように、後述のステップS113で検出した前フレームの頭部領域に基づいて、被写体の頭部領域のまわりに頭部検出領域を設定する。本実施形態において、前フレームの頭部領域の左上端点である点pの座標を(xd1,yd1)とし、右下端点である点qの座標を(xd3,yd3)とし、横幅はwd、縦高はhdとする。このとき、頭部検出領域の左上端点である点rの座標は(xd1−c5・wd, yd1−c7・hd)、右下端点である点sの座標は(xd3+c6・wd, yd1+c8・hd)で表される。ここで、c5、c6、c7およびc8は変数であり、これらの値は、例えばc5=c6=c7=c8=0.5を用いる。
【0024】
また、設定された頭部検出領域に応じて、ハフ変換の変数も設定する。ハフ変換の変数は中心座標(x0,y0)に関する最小と最大値と、縦軸と横軸(b,a)に関する最大と最小値がある。縦軸と横軸(b,a)に関する最大と最小値は顔領域のサイズまたは前フレームの頭部領域のサイズに応じて設定し、中心座標(x0,y0)に関する最小と最大値は、設定された頭部検出領域とaminとbminに基づいて設定する。また、回転角度の変数θに関して最大と最小値を設定してもよい。頭部検出領域設定部104は、設定された頭部検出領域について、RGB画像を取得する。
【0025】
図6は、頭部検出領域におけるエッジ画素の抽出例を示す図である。ステップS106において、エッジ検出部105は、この領域内のエッジ画素を検出する。エッジ検出の方法はさまざまある。本実施例においては、RGB画像のそれぞれの成分、R(赤),G(緑)およびB(黒)について、例えばR成分については、図6の(a)に示すR成分画像に関して処理した多値膨張画像は、図6の(b)に示され、また多値収縮画像は、図6の(c)に示される。図6の(d)には、この求めた膨張画像と縮小画像から求めた差分画像が示される。そして、各R、G、Bの差分画像の輝度分布(R成分については、図6の(f)参照)を生成し、累積輝度分布が所定閾値を超えるところで決定される差分画素値を二値化閾値とする。更に、各R、G、Bの差分画像の値を二値化閾値と比較し、R,G,Bに関する二値化エッジ画像を生成する。この結果は、図6の(e)にR成分、(g)にG成分、(h)にB成分の二値化画像として示される。最後に、図6の(i)に示すように、RGB各成分の二値化エッジ画像をOR演算して各成分二値化画像のOR画像、すなわちエッジ画素を抽出する。
【0026】
ステップS107において、ノイズエッジ削除部120は、作動フラグ設定部110で設定された作動フラグが「H」か、「L」であるかをチェックする。作動フラグが「H」の場合、後述のステップS108とステップS109の処理を行い、作動フラグが「L」の場合、後述のステップS108とステップS109までの処理を行わず、ステップS110の処理に移る。
【0027】
図7は、(a)に検出された頭部検出領域と、(b)に肌色領域との関係を示す。ステップS108において、肌色領域検出部106は、図7の(b)に示されるように、ステップS104で求めた肌色分布を利用して、前記ステップS105で設定した頭部検出領域に肌色分布の範囲に含まれる画素を抽出し、肌色領域とする。肌色画素かどうかの判定は、次の式(2)により行う。式(2)を満たす画素は肌色画素とする。

図8の(a)は、実施形態1における肌色領域のための第1の膨張マスクの例を示す。ステップS109において、肌色とエッジ削除部108は、前記ステップS108で求めた肌色領域について、図8の(a)に示す膨張マスクを利用してその肌色領域を膨張する。このようにして、膨張させた肌色領域内にあるエッジ画像におけるエッジ画素を削除する。
【0028】
図9の(a)は、ノイズエッジを削除した後のエッジ画像を示す。図のように、肌色領域を膨張マスクで膨張させることで、元のエッジ画像にあった目や口、髪などによるノイズエッジ部が膨張領域に入り、その部分を削除できる。
【0029】
一方、肌色領域が存在しない場合、前記肌色と髪色領域間エッジ画素削除処理を行わないで、ステップS110に移る。
【0030】
ここで、膨張マスクは縦一列になっているので、肌色領域は上下へ膨張することになる。膨張マスクの縦高は、頭部検出領域の縦高により設定される。また、ステップS109において、肌色とエッジ削除部108は、前記ステップS105で設定された頭部検出領域を所定サイズに正規化する。この正規化したサイズで、前記肌色領域とエッジ画像を利用して、固定サイズの膨張マスクで肌色領域を膨張し、膨張した領域内のエッジ画素を削除することもできる。ステップS110において、頭部領域検出部109は、作動フラグが「H」の場合、ステップS109で求めたエッジ画像について、ステップS105で設定されたハフ変換の変数を利用して、ハフ変換を行う。また作動フラグが「L」の場合、ステップS106で求めたエッジ画像について、ステップS105で設定されたハフ変換の変数を利用して、ハフ変換を行い、候補頭部楕円を生成する。
【0031】
図9の(b)は、候補頭部楕円とそれから選択された頭部楕円の例を示す図である。作動フラグが「H」と「L」の各々の場合について、図に示すように、ステップ110において複数の候補頭部楕円を検出し、そのうち、最適と判断した楕円を選択し頭部領域とする。この判断は、例えば、楕円の縦横比率が理想的な頭部領域の比率に最も近いものを選択することで実現できる。あるいは、肌色領域の割合や、楕円円周のエッジの状態などを評価して選択してもよいし、このような複数の評価基準から総合的に判断してもよい。本実施例において、実行速度の迅速化を考慮すると、ステップS109の処理は、膨張処理を利用せず、単に、肌色領域の幅内に各列について、肌色画素の最上行から上へ所定行数以内のエッジ画素を削除してもよい。
【0032】
また、本実施例において、ステップS104で肌色分布を求める際、各色成分の分布をそれぞれ求めず、式(3)に示すように各色成分の結合分布を求めることもできる。結合分布を求める際、各色成分の値を所定ビン数に縮退して求めてもよい。

ここで、nは肌色の画素数であり、4は縮退ビン数である。
【0033】
さらに、各色成分のそれぞれの分布または、結合分布を求める際、ガウスモデルなどを利用して、色分布を近似してもよい。また、本実施例において、肌色の分布はYUV表色系を用いたが他の表色系、例えば、YCbCr、YIQ、HSV、HLS、XYZなどを利用してもよい。さらに、規格化された表色系を利用することではなく、RGBで表現した色を所定の線形変換を行い、変換した色で色分布を求めてもよい。
【0034】
図10は、顔領域とそれを収縮した範囲を示す図である。本実施例において、ステップS104で肌色分布を取得する際、顔領域内の全ての画素を利用することではなく、図10に示すように所定幅を収縮した範囲内の画素を利用してもよい。
【0035】
また、本実施例において、ステップS104で肌色分布を取得する際、顔領域が検出できたフレームについて、前述のように肌色分布求めた。しかし、求めた肌色分布を記憶しておき、顔領域が検出できなかったフレームについては、記憶された肌色分布を利用してステップS108 において肌色領域を求めてもよい。
【0036】
図11は、肌色ヒストグラムの処理例を示す図である。図11の(a)、(b)、(c)には、それぞれ顔領域のY成分、U成分、V成分のヒストグラムが示される。(本実施形態において、ステップS104で肌色分布を取得する際、顔領域に目や鼻穴等の領域の画素を肌色分布から除外するため、顔領域色分布の最大値から左右へ所定閾値より小さくなる位置を求めた。その処理の結果である、Y成分、U成分、V成分の例が、それぞれ図11の(d)、(e)、(f)に示される。そして肌色分布をこの範囲内に限定するように処理したが、図11の(a)に示すように、顔領域の輝度Y成分分布の右辺から左辺へ累積分布を求め、累積分布が所定γパーセントを超えるところを肌色のY成分分布としてもよい。また、本実施形態に示した頭部検出領域範囲の変数や、ハフ変換の変数や、結合分布の縮退ビン数などの変数はあくまでも本発明の処理を説明するための例であり、必要に応じて変更してもよい。
【0037】
図12は、図1に示した装置を実現可能なコンピュータの制御構成の一例を示すブロック図である。図12において、CPU1001は、本実施形態の画像処理装置における各種制御を実行する。ROM1002は、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。RAM1003は、CPU1001が処理するための制御プログラムを格納するとともに、CPU1001が各種制御を実行する際の作業領域を提供する。キーボード1004、マウス1005は、ユーザによる各種入力操作環境を提供する。
【0038】
外部記憶装置1006は、ハードディスクやフロッピー(登録商標)ディスク、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ等で構成される。ただし、外部記憶装置1006は、制御プログラムや各種データを全てROM1002に持つようにすれば、必須の構成要素ではない。表示器1007は、ディスプレイなどで構成され、検出結果等をユーザに対して表示する。ネットワークインターフェース1008は、必要に応じて外部機器との通信を行うインタフェースである。ビデオインターフェース1009は、同軸ケーブルを介し、フレーム画像の取り込みを可能とする。また、バス1011は、上記の各構成を電気的に接続し通信を可能とする。
【0039】
<実施形態2>
(構成)
図13は実施形態2における画像処理装置の構成例を示すブロック図である。実施形態1と異なるのは、髪色領域検出部207が追加されている点にある。
【0040】
図13に示すように、ノイズエッジ削除部220は、肌色領域検出部106と、髪色領域検出部207と、肌色と髪色領域間エッジ削除部208とから構成される。肌色領域検出部106は、実施形態1と同じように、顔検出部103で求められた顔領域を利用して、肌色分布を抽出し、前記設定された頭部検出領域に肌色領域を検出する。
【0041】
髪色領域検出部207は、前記肌色領域検出部106で求めた肌色領域と前記エッジ検出部105で求めたエッジ画像を利用して、肌色領域またはその肌色領域の一部の上部領域にある髪サンプル画素を求める。そして髪色分布を抽出することで、設定された頭部検出領域に髪色領域を検出する。エッジ削除部108は、前記肌色領域検出部106で求めた肌色領域と髪色領域検出部207で求めた髪色領域の間の領域を求め、この領域内のエッジ画素を削除する。これにより、髪色領域が検出される。
【0042】
(動作フロー)
図14は、実施形態2における人物頭部領域の検出のための処理の流れを示すフロー図である。この図を用いて処理の流れ説明する。
【0043】
ステップS201からS208までの処理は、実施形態1のステップS101からステップS108までの処理は同じである。ここではステップS209より説明していく。
【0044】
ステップS209において、髪色領域検出部207は、設定された頭部検出領域における髪色サンプル画素を抽出する。
【0045】
図15は、実施形態2における髪色サンプルが取得の流れを示すフロー図である。このフローチャートを用いて、このステップでの更に詳細な処理を説明する。
【0046】
ステップS2091において、髪色領域検出部207は前記ステップS208で求めた肌色領域を取得する。
図16の(a)は、髪サンプル検出領域の例を示す図である。
【0047】
ステップS2092において、髪色領域検出部207は、図に示すように、所定の位置関係にある、取得した肌色領域の中央部を縦断する所定幅の領域を髪サンプル候補領域として設定する。
ステップS2093において、髪色領域検出部207は、髪サンプル候補領域に、肌色領域画像とステップS206で作成したエッジ画像のOR画像を作成し、画素値が0と1を反転した画像を作成する。最後に、各画素列において、肌色画素が出現した位置より下の画素を全部0にする。
【0048】
図16の(b)は、この処理が行われた、髪色サンプル画素の検出を行う例を示す図である。
ステップS2094において、髪色領域検出部207は、ステップS2093に作成した反転画像に、各列において、上から下へ最後の0から1へ変化する位置を探索し、上から該位置までの画素は全部0とする。残りの画素は髪サンプル画素とする。
【0049】
図16の(c)は、この処理が行われた、抽出された髪サンプル画素の例を示す図である。
ステップS210において、髪色領域検出部207は、前記求めた髪サンプル画素のYUVヒストグラムを求め、非ゼロ頻度画素値の最小と最大値、Yhmin, Yhmax, Uhmin, Uhmax, Vhmin, Vhmaxを求め、髪色の範囲とする。
【0050】
図17は、この処理が行われた、髪サンプル画素のヒストグラムの例を示す。左から、図17の(a)、(b)、(c)に、それぞれY成分、U成分、V成分の髪サンプル画素分布の例を示す。ステップS211において、髪色領域検出部207は、前記ステップS205で設定された頭部検出領域に、式(4)を満たす画素を探し、髪画素とする。
【0051】
図18は、この処理により検出された髪色領域の例を示す図である。図18の(a)には、頭部検出領域、そして(b)には、頭部検出領域から検出された髪色領域を示す。図8の(b)と(c)には、実施形態2で使用する第2の膨張マスクの例を示している。

ステップS212において、エッジ削除部108は、前記ステップS208で求めた肌色領域とステップS211で求めた髪色領域が両方とも検出された頭部領域内に存在するか否かを判断する。両方とも存在する場合、図8の(b)と(c)に示す膨張マスクIまたは膨張マスクIIを利用して肌色と髪色領域を膨張し、重複する領域を求め、重複領域内のエッジ画素を削除する。また同時に、前記ステップS208で求めた肌色領域内のエッジ画素も削除してもよい。ここで、実施形態1における膨張マスク(図8の(a))は、縦1列の形状だったのに対し、膨張マスクIは矩形に膨張させるものであり、膨張マスクIIは矩形の四隅を丸めた図形に膨張させるものである。
【0052】
一方、肌色領域のみ頭部領域内に存在する場合、実施形態1と同様に、図8に示す膨張マスクを利用して肌色領域を膨張し、膨張領域内のエッジ画素を削除すればよい。
【0053】
髪色領域のみ頭部領域内に存在する場合、または、肌色と髪色領域両方とも検出しない場合、ノイズエッジ画素削除処理を行わないで、ステップS213に移る。
【0054】
ステップS213において、頭部領域検出部209は、作動フラグが「H」の場合、ステップS212で求めたエッジ画像について、ステップS205で設定されたハフ変換の変数を利用して、ハフ変換を行う。また、作動フラグが「L」の場合、ステップS206で求めたエッジ画像について、ステップS205で設定されたハフ変換の変数を利用して、ハフ変換を行う。このハフ変換により複数の候補楕円を検出し、その中から一つ候補楕円を、所定の基準に照らして選択し、頭部領域として設定する。
【0055】
図19は、肌色と髪色画素間のエッジ画素を除去した例を示す図である。
本実施形態において、処理の実行速度を早くすることが望まれる場合、ステップS212における処理は、膨張処理を利用しない方法がある。すなわち、図19に示すように、単に髪サンプル領域の幅内に各列について、髪色画素の最大行と肌色画素の最小行との間のエッジ画素を削除してもよい。この場合、髪色や肌色画素の誤検出を避けるために、髪色画素の最大行と肌色画素の最小行との間の距離に所定範囲を設定し、その所定範囲内であれば、その間のエッジ画素を削除するようにしてもよい。
【0056】
また、本実施形態において、ステップS210で髪色分布を求める際、肌色分布と同様に、各色成分のヒストグラムをそれぞれ求めることなく、式(4)に示すように各色成分の結合ヒストグラムを求めることもできる。結合ヒストグラムを求める場合、各色成分の値を所定ビン数に縮退して求めてもよい。
【0057】
さらに、各色成分のそれぞれの色分布または、結合分布を求める場合、ガウスモデルなどを利用して、色分布を近似してもよい。また、本実施形態において、肌色または髪色のヒストグラムはYUV表色系を用いたが他の表色系、例えば、YCbCr、YIQ、HSV、HLS、XYZなどを利用してもよい。さらに、規格化された表色系を利用することではなく、RGBで表現した色を所定の線形変換を行い、変換した色で色分布を求めてもよい。
【0058】
また、ステップS210で髪色ヒストグラムを求める場合、顔領域が検出できたフレームについて、前述のように髪色ヒストグラム求める。しかしこの際に、求めた髪色ヒストグラムを記憶し、顔領域が検出できなかったフレームについて、記憶された髪色ヒストグラムを利用してステップS211において髪色領域を求めてもよい。また、本実施形態に示した頭部検出領域範囲の変数や、ハフ変換の変数や、結合ヒストグラムの縮退ビン数などの変数はあくまでも本発明の処理を説明するための例であり、必要に応じて変更してもよい。
【0059】
<実施形態3>
(構成)
図20は、実施形態3における画像処理装置の構成例を示すブロック図である。実施形態3が実施形態1と比べて、作動フラグ設定部110の代わりに、エッジ削除妥当性判定部310を設けられている点が異なる。エッジ削除妥当性判定部310以外の部分は、実施形態1と同じである。
【0060】
ノイズエッジ削除部120において、肌色領域検出部106と、エッジ削除部108と、頭部領域検出部109の処理が行われ、実施形態1における作動フラグ設定部110は、外部入力により作動フラグを設定した。これに対して、実施形態3でにおけるエッジ削除妥当性判定部310は、この検出された候補頭部領域が妥当であるか否かを自身で判断し、この判断に基づき作動フラグを設定する。既に述べたように、頭部領域の検出時には、髪のない人、横顔の人、金髪の人など様々な場合の頭部を検出することになる。もし検出された頭部領域が、適切なものかの判断を外部インタフェースからの入力でなく、処理装置内で行うことができれば、更に効率的な処理ができる。
【0061】
(動作フロー)
図21は、実施形態3におけるフロー図である。以下、本実施形態をこのフローチャートを用いて詳細に説明する。
【0062】
ステップS301において、エッジ削除妥当性判定部310は、初期値の作動フラグ「H」を設定し、ノイズエッジ削除部120に対して作動を指示する。ステップS302からステップS309までの処理は、実施形態1のステップS102からステップS109までの処理と同じなので、ここでは、ステップ310から説明を行う。
【0063】
ステップS310において、頭部領域検出部109は、ステップS306で求めたエッジ画像について、ステップS305で設定されたハフ変換のパラメータを利用してハフ変換を行うことで、複数の候補楕円形状を検出する。ステップS311において、エッジ削除妥当性判定部310は、ステップS310で検出した複数の候補頭部領域が妥当か否かの判定を行う。
【0064】
図22は、その妥当か否かの判断基準の例を示す図である。図22(a)は、候補頭部領域と顔領域またはその一部との重なりに対する基準の一例を示す。候補頭部領域が妥当かどうかの判定を行うエッジ削除妥当性判断は、以下の所定の判定基準に基づいて判断する。
(1)候補頭部領域と顔領域またはその一部との重なりによる判断:
図22(a)は、候補頭部領域と顔領域またはその一部との重なりに対する基準の例を示す図である。図22(a)の(1)に示すように、候補楕円が顔領域と重なる場合、この候補楕円は妥当と判断される。例えば、図25(a)の(2)に示すように、最初のフレームにおいて、人物の正面の顔でなく横顔などを検出すると、顔領域と頭部領域が同時に検出されるものの、候補頭部領域が顔領域との重なりが十分でない場合がある。この場合は、誤検出した候補領域であると判断し、この候補楕円は妥当でないと判断する。また顔領域全体の代わりに、その一部を使って候補頭部領域との重なりで妥当性を判断してもよい。
(2)候補楕円の楕円境界上のエッジ画素数が所定閾値以上であるかどうかによる判断:
例えば、図9(b)の候補頭部楕円の円周上のエッジ画素数、nCntが所定の閾値以上ない場合に、妥当でないと判断する。
(3)候補楕円の楕円境界上のエッジ画素が、エッジ画素左辺最低点から右辺最低点までの楕円円弧長を被う比率は所定閾値以上であるかどうかによる判断:
図22の(b)は、楕円円周上のエッジ画素の左辺最低点から右辺最低点までの左右最低点間の楕円円弧(上部の黒太線部)を示す。図のように、候補頭部楕円上左辺のエッジ最低点から右のエッジ最低点までの円弧を、下側にも一周走査した、エッジ画素数、nCntと、楕円円弧の画素数、nCurをそれぞれカウントする。そして式(5)で表わされるその比率、R1が所定閾値より少ない場合、この候補頭部楕円は妥当でないと判断する。

(4)候補楕円の楕円境界上のエッジ画素が、該頭部領域の楕円円周に被さる比率は所定閾値以上であるかどうかを判断:
図22(b)の候補頭部楕円上のエッジ画素数、nCntと、左右最低点間の楕円円弧長との率、R2が所定閾値より少ない場合、候補楕円は妥当でないと判断する。この場合、楕円円弧長は近似的に縦軸と横軸の和に比例するので、例えば、この基準は式(6)で計算できる。

(5)候補楕円の縦横比が所定の範囲内にあるかどうかによる判断:
例えば図22(b)の候補楕円において、式(7)で示す候補楕円の縦軸bと横軸aの比、R3が所定範囲を超える場合、すなわち、R2<th1または R2>th2の場合、候補頭部領域が妥当でないと判断する。

(6)候補楕円における肌色領域の割合が所定閾値以上であるかどうかによる判断:
図22(c)は、候補頭部領域に対する肌色領域を示す図である。図のように、候補頭部楕円または候補頭部楕円の外接矩形に、式(2)と同様に肌色画素を検出する。検出した肌色画素数対候補頭部領域の比率が所定閾値以下の場合、候補頭部領域が妥当でないと判断する。このように、(i)〜(vi)の条件を用いて、候補楕円が妥当であるかの判断を行うことで、候補頭部領域が妥当か否かの判定が行われる。
【0065】
ステップS311において、ステップS310に検出した複数の候補頭部領域が妥当であるものがあると判断した場合、エッジ削除妥当性判定部310は、作動フラグを「H」に維持する。そして後続のフレーム画像に対して、ノイズエッジ削除部320の処理を行い、髪色と肌色間のノイズエッジを削除してから、ハフ変換を行い、頭部領域を検出する。
【0066】
ステップS311において、ステップS310に検出した複数の候補頭部領域が、全て妥当でないと判断した場合、ステップS312へ移る。ステップS312において、エッジ削除妥当性判定部310は、作動フラグは「H」の状態にあるか否か、および現在処理するフレームが最初のフレームであるか否かをチェックする。作動フラグが「L」の場合、または処理するフレームが最初のフレームでない場合、次のフレームに移り、現在の処理フローで被写体の頭部領域を検出する。
【0067】
作動フラグは「H」で、且つ、処理するフレームが最初のフレームである場合、ステップS313へ移る。
【0068】
ステップS313において、エッジ削除妥当性判定部310は、作動フラグを「L」に設定し、現在及び後続のフレーム画像に対して、ノイズエッジ削除部320の処理は行わない。そしてこの状態で、エッジ検出部305から得たエッジ画像は、直接頭部領域検出部309に入力され、頭部検出領域設定部304は、ハフ変換を行い、頭部領域を検出する。
【0069】
以上の動作により、実施形態3では、実施形態1の特徴に加え、外部インタフェースを使用せずに、抽出した複数の候補楕円が適切であるか否かを自身で判断することにより、ノイズエッジ削除部を動作させるための作動フラグが設定されるという特徴を備える。したがって、作動フラグを撮影ごとに外部より設定する必要がなくなるので、より効率的な頭部領域の検出が可能となる。
【0070】
<実施形態4>
(構成)
図23は、実施形態4における画像処理装置の構成例を示すブロック図である。実施形態4は、実施形態2における作動フラグ設定部210の代わりに、エッジ削除妥当性判定部310を設けている点が異なる。
【0071】
(動作フロー)
図24は、実施形態4におけるフロー図である。
【0072】
ステップS401において、エッジ削除妥当性判定部310は、初期値の作動フラグ「H」を設定し、ノイズエッジ削除部220に対して作動を指示する。ステップS402からステップ408に対応する動作は、実施形態1におけるステップS102からステップS108までの処理で説明したとおりである。ステップ409に対する動作は、実施形態2におけるステップS209の処理で説明したとおりである。ステップ410から413に対する動作は、実施形態3におけるステップS310から313までの処理で説明したとおりである。
【0073】
以上の動作により、実施形態4では、実施形態2の特徴に加え、実施形態3の特徴を備える。つまり、外部インタフェースを使用せずに、抽出した複数の候補楕円が適切であるかを自身で判断することにより、ノイズエッジ削除部を動作させるための作動フラグが設定される。したがって、作動フラグについて一々外部から設定する必要がなくなるので、より効率的な頭部領域の検出が可能となる。
【0074】
<その他の実施形態>
以上のべた実施形態の機能を実現するために、コンピュータプログラムのコードを利用しても良い。すなわち、ソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)をシステムあるいは装置に供給し、そのシステムのコンピュータが記録媒体に格納されたプログラムコードを読み出し実行することにより実施形態の機能を実現できる。この場合、そのプログラムコードを記録した記録媒体は、本発明を構成することになる。
【0075】
また、そのプログラムコードの指示に基づき、コンピュータシステム上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0076】
さらに、記録媒体から読み出されたコンピュータプログラムのコードは、コンピュータシステムに挿入された機能拡張カードやコンピュータシステムに接続された機能拡張ユニットに備わるメモリに格納される。その格納されたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理を行い、その処理によって前述した実施形態の機能が実現される場合も含むことは言うまでもない。
【0077】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。

【特許請求の範囲】
【請求項1】
画像から人物の顔領域を検出する顔検出手段と、
前記検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定手段と、
前記設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出手段と、
前記顔領域の色に基づいて前記頭部検出領域の画像において、肌色領域を検出する肌色領域検出手段と、
前記エッジ画像において、前記肌色領域を膨張させ、該膨張した肌色領域に存在するエッジを削除するエッジ削除手段と、
前記エッジ削除手段によりエッジが削除された画像から頭部領域に対応した候補楕円を検出する楕円検出手段とを備えることを特徴とする画像処理装置。
【請求項2】
前記楕円検出手段は、前記エッジが削除された画像についてハフ変換を行うことで得られた複数の候補楕円の中から所定の基準により1つの候補楕円を選択し頭部領域とすることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記肌色領域検出手段は、前記エッジ検出手段により生成されたエッジ画像から顔領域の検出を行う手段と、
前記検出された顔領域内の画素の色分布を求める手段と、
前記色分布から予め定められた部分を削除して肌色分布とする手段と、
前記肌色分布を用いて前記頭部検出領域の画像から肌色領域を求める手段とを備えることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記肌色領域検出手段により検出された前記肌色領域と所定の位置関係を有する髪サンプル候補領域から髪色サンプル画素を検出する髪色サンプル画素の検出手段と、
該髪色サンプル画素の色分布を求める手段と、
前記髪色サンプル画素の色分布の範囲を用いて前記頭部検出領域に髪色領域を検出する手段と、
前記肌色領域と前記髪色領域との間のエッジ画素を削除する手段とを更に備えることを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記髪色サンプル画素の検出手段は、
前記前記肌色領域と所定の位置関係を有する前記髪サンプル候補領域を設定する手段と、
前記髪サンプル候補領域から肌色画素を除外して髪サンプルの候補を生成する手段と、
前記髪サンプルの候補から前記肌色領域の上部領域を検出し該上部領域の画素を髪サンプル画素に設定する手段とを備えることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記エッジ削除手段は、
前記髪色領域を膨張する手段と、
前記膨張させた肌色領域と前記膨張させた髪色領域との重複領域内のエッジ画素を除去する手段とを備えることを特徴とする請求項4に記載の画像処理装置。
【請求項7】
前記肌色領域と前記髪色領域との間のエッジ画素を削除する手段は、前記肌色領域の左右の所定の各列について、前記髪色領域の最小行と前記肌色領域の最大行との距離が所定範囲内の場合に、該エッジ画素を削除することを特徴とする請求項4に記載の画像処理装置。
【請求項8】
前記エッジ削除手段を動作させるか否かは、マニュアルにより制御されることを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
【請求項9】
前記エッジが削除された画像から検出した頭部領域に対し、前記楕円検出手段がハフ変換を行って生成した候補楕円につき該候補楕円が妥当か否かを所定の判定基準により判定する妥当性判定手段を更に備え、
前記候補楕円は妥当であると前記妥当性判定手段が判断した場合に、前記エッジ削除手段を動作させることを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
【請求項10】
前記妥当性判定手段は、
前記候補楕円が顔領域または該顔領域の一部と重複するかどうかを判断する手段と、
前記候補楕円の楕円境界上のエッジ画素数が所定閾値以上であるかどうかを判断する手段と、
前記候補楕円の楕円境界上のエッジ画素が、エッジ画素左辺最低点から右辺最低点までの楕円円弧長に被さる比率は所定閾値以上であるかどうかを判断する手段と、
前記候補楕円の楕円境界上のエッジ画素が、該頭部領域の楕円円周に被さる比率は所定閾値以上であるかどうかを判断する手段と、
前記候補楕円の縦横比が所定の範囲内にあるかどうかを判断する手段と、
前記候補楕円における肌色領域の割合が所定閾値以上であるかどうかを判断する手段とのうちの、少なくとも一つの手段を備えることを特徴とする請求項9に記載の画像処理装置。
【請求項11】
顔検出手段が、画像から人物の顔領域を検出する顔検出工程と、
頭部検出領域設定手段が、前記検出された人物の顔領域に基づいて頭部検出領域を設定する頭部検出領域設定工程と、
エッジ検出手段が、前記設定された頭部検出領域のエッジを検出してエッジ画像を生成するエッジ検出工程と、
肌色領域検出手段が、前記顔領域の色に基づいて前記頭部検出領域の画像において、肌色領域を検出する肌色領域検出工程と、
前記エッジ画像において、エッジ削除手段が、前記肌色領域を膨張させ該膨張した肌色領域に存在するエッジを削除するエッジ削除工程と、
頭部領域検出手段が、前記エッジ削除工程によりエッジが削除された画像から頭部領域に対応した候補楕円を検出する頭部領域検出工程と
を備えることを特徴とする画像処理方法。
【請求項12】
請求項11に記載された各工程をコンピュータシステムに実行させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2011−141622(P2011−141622A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−793(P2010−793)
【出願日】平成22年1月5日(2010.1.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】