(58)【調査した分野】(Int.Cl.,DB名)
前記主被写体判定手段は、前記第1の検出手段で検出されず前記第2の検出手段で検出された被写体に対して、過去に当該被写体が前記第1の検出手段で検出されていなければ、過去に当該被写体が前記第1の検出手段で検出されている場合よりも、前記優先度を小さくすることを特徴とする請求項1に記載の被写体領域追跡装置。
前記主被写体判定手段は、前記第1の検出手段で検出されず前記第2の検出手段で検出された被写体に対して、過去に当該被写体が前記第1の検出手段で検出されていなければ、当該被写体に対して前記主被写体であると判定しないことを特徴とする請求項1に記載の被写体領域追跡装置。
前記主被写体判定手段は、前記主被写体の候補として複数の被写体が選定された場合には、被写体の位置、大きさに基づいて、前記主被写体の候補の中から1つの被写体を前記主被写体として選定することを特徴とする請求項1〜4の何れか1項に記載の被写体領域追跡装置。
前記第1の検出手段は人物の顔領域を被写体領域として検出し、前記第2の検出手段は人物の人体領域を被写体領域として検出することを特徴とする請求項1〜5の何れか1項に記載の被写体領域追跡装置。
前記主被写体判定手段は、現在及び過去における前記第1の検出手段による被写体の検出結果が、検出の信頼度、検出の継続期間、位置、及び大きさの少なくとも1つの要素に対する条件を満たしている場合に前記主被写体の候補として選定することを特徴とする請求項1〜6の何れか1項に記載の被写体領域追跡装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態に係る被写体領域追跡装置を有する撮像装置100の構成例を示すブロック図である。本実施形態における撮像装置100は、目的とする検出対象の被写体領域を人物の顔領域とし、画像から人物の顔の領域を検出する顔検出部109と、人体の領域を検出する人体検出部110とを有する。
【0012】
撮像装置100において、被写体像を表す光は、撮像レンズを含む撮像光学系101によって集光され、撮像素子102に入射する。撮像素子102は、例えばCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。撮像素子102は、光電変換素子をそれぞれ有する複数の画素を有し、入射する光の強度に応じた電気信号を画素単位で出力する。つまり、撮像素子102から出力される電気信号は、撮像素子102が入射される被写体像を表す光を光電変換したものであり、撮像素子102で撮像された被写体像を含む画像を示すアナログの画像信号である。
【0013】
アナログ信号処理部103は、撮像素子102から出力された画像信号に対して相関二重サンプリング(CDS)等のアナログ信号処理を施す。A/D(アナログ/デジタル)変換部104は、アナログ信号処理部103から出力されたアナログの画像信号をデジタルデータの形式に変換する。A/D変換部104によって変換されたデジタル形式の画像信号は、制御部105及び画像処理部106に入力される。
【0014】
制御部105は、CPU(Central Processing Unit)やマイクロコントローラ等であり、撮像装置100の動作を中央制御する。制御部105は、図示しないROM(Read Only Memory)に記憶されたプログラムコードを図示しないRAM(Random Access Memory)の作業領域に展開して順次実行することで、撮像装置100の各機能部を制御する。
【0015】
画像処理部106は、入力されたデジタル形式の画像信号に対して、ガンマ補正やホワイトバランス処理等の画像処理を施す。なお、画像処理部106は、通常の画像処理に加え、後述する主被写体判定部112から供給される画像中の特定の被写体領域に関する情報を用いた画像処理を行う機能を有する。
【0016】
表示部107は、例えばLCD(Liquid Crystal Display)や有機EL(electroluminescence)ディスプレイであり、画像処理部106から供給される画像信号に基づいて画像を表示する。撮像装置100は、撮像素子102で時系列的に逐次撮像した画像を表示部107に表示させることで、表示部107を電子ビューファインダ(EVF)として機能させることができる。また、表示部107は、後述する主被写体判定部112により選定された被写体領域の位置等を表示可能とする。また、画像処理部106から出力された画像信号は、記録媒体108に記録可能である。記録媒体108は、例えば撮像装置100に着脱可能なメモリカードである。なお、画像信号の記録先は、撮像装置100に内蔵されたメモリであっても良いし、撮像装置100と通信可能に接続された外部装置であっても良い。
【0017】
顔検出部109は、第1の検出手段の一例である。顔検出部109は、画像処理部106から画像信号が供給され、画像中の目的とする所定の被写体を検出して被写体領域を特定する。顔検出部109は、画像から被写体領域として人物の顔領域を特定する。画像中に複数の人物の顔が存在する場合には、その人数分の領域が検出される。顔検出部109における検出方法としては、公知の顔検出方法を適用すれば良い。顔検出に係る公知技術には、例えば顔に関する知識(肌色情報、目・鼻・口などのパーツ)を利用する方法やニューラルネットに代表される学習アルゴリズムにより顔検出のための識別器を構成する方法などがある。また、顔検出では、認識率を向上させるために、これらを組み合わせて顔認識を行うのが一般的である。例えば、特開2002−251380号公報に記載のようにウェーブレット変換と画像特徴量を利用して顔検出する方法などが挙げられる。顔検出部109による検出結果は、後述する検出結果統合部111に供給される。
【0018】
人体検出部110は、第2の検出手段の一例である。人体検出部110は、画像処理部106から画像信号が供給され、目的とする被写体領域を人体の上半身領域として画像中から所定の領域を検出する。画像中に複数の人物が存在する場合には、その人数分の領域が検出される。人体検出部110における検出方法としては、例えば特開2009−211311号公報に記載されている方法などが適用可能である。本実施形態では、人体検出部110は、局所的な上半身の輪郭のエッジ強度を局所特徴量として人体の上半身領域を検出する。画像から特徴量を抽出する方法としては、Sobelフィルタ、Prewittフィルタ、Haarフィルタなど様々な方法がある。抽出された局所特徴量を人物判別器で上半身、非上半身を判別する。人物判別器における判別は、AdaBoost学習などのような機械学習に基づき実施される。人体検出部110による検出結果は、後述する検出結果統合部111に供給される。
【0019】
検出結果統合部111は、顔検出部109での検出結果と人体検出部110での検出結果とを比較して、同一の被写体に対する検出結果を統合し、その結果を主被写体判定部112に供給する。また、検出結果統合部111は、異なる時刻に対する検出結果において、同一の被写体に対する検出結果の対応付けを行う。つまり、検出結果統合部111は、時間方向で同一の被写体に対する検出結果の判定を行うことにより被写体追跡の役割を担う。検出結果統合部111の詳細に関しては、後述する。
【0020】
主被写体判定部112は、検出結果統合部111より供給される検出結果に基づいて、検出された被写体の中から主として扱う被写体(主被写体)を決定する。決定された主被写体に関する情報は、例えば制御部105や画像処理部106に供給される。主被写体判定部112は、人体検出部110のみで検出された被写体に対しては、その被写体に対する現在及び過去の顔検出の検出状況に応じて、主被写体の候補として選定するか否かを判断する。主被写体の候補が複数存在する場合には、主被写体判定部112は、検出された被写体の画像中の位置や大きさに基づき主被写体を選定する。主被写体判定部112の処理の詳細は後述する。
【0021】
制御部105は、例えば撮像素子102で撮像する際の焦点状況や露出状況等の撮像条件を制御可能である。例えば、制御部105は、A/D変換部104から出力された画像信号に基づいて、撮像光学系101の図示しない焦点制御機構や露出制御機構を制御する。例えば、焦点制御機構は撮像光学系101に含まれる撮像レンズを光軸方向へ駆動させるアクチュエータ等であり、露出制御機構は撮像光学系101に含まれる絞りやシャッタを駆動させるアクチュエータ等である。
【0022】
なお、制御部105は、この焦点制御機構や露出制御機構の制御に、主被写体判定部112から供給された被写体領域の情報を用いることが可能である。例えば、制御部105は、被写体領域のコントラスト値を用いた焦点制御や、被写体領域の輝度値を用いた露出制御を行うことができる。したがって、撮像装置100は、撮像画像における特定の被写体領域を考慮した撮像条件で撮像処理を行う機能を有する。また、制御部105は、撮像素子102の出力タイミングや出力画素など、撮像素子102の読み出し制御も行う。ここで、
図1に示した構成において、例えば画像処理部106、顔検出部109、人体検出部110、検出結果統合部111、及び主被写体判定部112により、本実施形態に係る被写体領域追跡装置としての機能が実現される。
【0023】
図2は、検出結果統合部111の構成例を示すブロック図である。検出結果統合部111は、顔検出結果取得部201、人体検出結果取得部202、領域推定部203、フレーム内相関判定部204、及びフレーム間相関判定部205を有する。
【0024】
顔検出結果取得部201は、顔検出部109により検出された検出結果を取得する。顔検出結果取得部201は、検出結果として、検出された人数と、その人数分の画像中の領域を示す位置や大きさ、検出結果の信頼度等を取得する。人体検出結果取得部202は、人体検出部110により検出された結果を取得する。人体検出結果取得部202は、検出結果として、検出された人数と、その人数分の画像中の領域を示す位置や大きさ、検出結果の信頼度等を取得する。領域推定部203は、人体検出結果取得部202により取得された検出結果から、顔検出部109による検出領域に相当する部分領域を推定する。この推定方法としては、例えば顔検出部109と人体検出部110との検出領域の関係に基づき、線形変換により推定されるものとする。
【0025】
フレーム内相関判定部204は、顔検出結果取得部201により取得された検出結果と、人体検出結果取得部202により取得され領域推定部203により推定された検出結果との位置や大きさの類似性に基づき、同一の被写体に対する検出結果を特定する。なお、顔検出部109及び人体検出部110は、同一の時刻に撮像された画像に基づいて、各々が目的とする被写体領域を検出するものとする。フレーム内相関判定部204は、顔検出部109により検出された被写体を顔検出結果とし、人体検出部110のみにより検出された被写体については領域推定部203により顔領域に相当する部分領域として推定された結果を検出結果とする。
【0026】
フレーム間相関判定部205は、現在のフレーム内相関判定部204による検出結果と、直前の検出結果統合部111による検出結果とを比較して、同一の被写体に対する検出結果を特定する。フレーム間相関判定部205は、フレーム内相関判定部204と同様にして、検出結果の位置や大きさの類似性に基づき、同一の被写体に対する検出結果を特定する。フレーム間相関判定部205による時間方向の検出結果の対応付けにより、各被写体の過去の検出状況を参照することが可能となる。
【0027】
本実施形態に係る撮像装置100での主被写体判定を中心とした処理の流れについて
図3を参照して説明する。画像処理部106は、撮像素子102を介して得られた撮像画像をA/D変換部104によりデジタル化して得られた画像を入力画像として読み込む(S301)。次に、顔検出部109は、入力画像から顔の特徴量データ(第1の特徴量)に基づき顔領域を検出し、検出データを出力する(S302)。顔検出部109による検出データとして、検出結果の個数及び各検出結果の画像中の位置、大きさ、検出結果の信頼度等が得られる。また、人体検出部110は、入力画像から人体の特徴量データ(第2の特徴量)に基づき人体領域を検出し、検出データを出力する(S303)。人体検出部110による検出データとして、検出結果の個数及び各検出結果の画像中の位置、大きさ、向き、検出結果の信頼度等が得られる。なお、
図3に示すステップS302及びステップS303の処理は順不同である。
【0028】
次に、検出結果統合部111は、同じフレーム(同一時刻の撮影画像)で取得された顔検出部109での検出結果と人体検出部110での結果とのフレーム内相関判定により2種類の検出結果を統合する(S304)。ここで、
図4を参照して、検出結果統合部111のフレーム内相関判定部204による検出結果の統合処理について説明する。
図4において、401〜405は、同一時刻の撮影画像を示し、処理過程が異なる。また、画像401から画像405においては人物を模式的に表現しており、左から順に被写体A、被写体B、被写体Cとする。また、
図4において、406〜418は、各処理過程での検出領域を示す。
【0029】
画像401は、顔検出結果取得部201により取得された顔検出結果を示している。実線の矩形406、407に示されるように、被写体A及び被写体Bは顔領域が検出され、被写体Cに関しては、後方向きであるために顔領域が検出されなかったこととする。また、画像402は、人体検出結果取得部202により取得された人体検出結果を示している。実線の矩形408、409に示されるように、被写体B及び被写体Cは人体領域が検出され、被写体Aに関しては、姿勢の影響により人体領域が検出されなかったこととする。
【0030】
画像403は、領域推定部203により、人体検出結果取得部202の結果から顔検出部109で検出される顔領域に相当する部分領域が推定された結果を示している。点線の矩形410は、実線の矩形408で示された人体領域より推定された結果を示し、点線の矩形411は、実線の矩形409で示された人体領域より推定された結果を示す。
【0031】
画像404は、フレーム内相関判定部204における処理の様子を示している。実線の矩形412、413が顔検出結果取得部201により取得された検出結果とする。また、点線の矩形414、415が人体検出結果取得部202で取得され領域推定部203により推定された検出結果とする。実線の矩形412、413で示す検出結果と点線の矩形414、415で示す検出結果において、フレーム内相関判定部204は、領域形状及び位置座標の類似度を算出する。そして、フレーム内相関判定部204は、算出した類似度が所定の閾値以上の場合には、同一の被写体に対する検出結果であると判定し、類似度が所定の閾値未満の場合には、異なる被写体に対する検出結果であると判定する。
図4に示す画像404の例では、413と414が同一の被写体に対する検出結果として判定され、その他の組み合わせでは、異なる被写体に対する結果として判定される。
【0032】
画像405は、フレーム内相関判定部204での処理の結果、顔検出と人体検出のデータを統合した結果を示す。被写体A及び被写体Bは、顔検出の結果を有するため、顔検出結果を統合データとして採用する。一方、被写体Cは、人体検出の結果のみしか検出されなかったため、人体検出結果から顔領域を推定した結果を統合データとしている。したがって、実線の矩形416、417で示す検出結果は、顔検出結果取得部201で取得された検出結果であり、実線の矩形418で示す検出結果は、領域推定部203により推定された顔領域である。
【0033】
図3に戻り、ステップS304でのフレーム内相関判定により、顔検出と人体検出のデータを統合した後に、フレーム間相関判定部205によるフレーム間相関判定を行う(S305)。フレーム間の相関判定では、直前の検出結果統合部111による検出結果と、現在のフレーム内相関判定による検出結果とにおいて、同一の被写体に対する検出結果を特定する。フレーム内相関判定部204が、同じ時刻の画像に対する異なる検出データの相関判定を行うのに対して、フレーム間相関判定部205は、異なる時刻の検出データに対する相関判定を行う。フレーム間相関判定部205は、フレーム内相関判定部204と同様にして、検出結果の位置や大きさの類似性に基づいて同一の被写体に対する検出結果を特定する。フレーム間相関判定部205でのフレーム間相関判定により、時間方向で同一の被写体を特定できる。時間方向について被写体の対応付けができていることは、言い換えると被写体を追跡していることとなる。
【0034】
次に、主被写体判定部112は、検出結果統合部111による検出データの中から主被写体の候補を選定して主被写体を決定するための主被写体判定処理を行う(S306)。そして、撮像装置100は、決定された主被写体の情報に基づき撮影制御や画像処理を実行する(S307)。続いて、新規の撮影画像が取得されると、前述したステップS301からステップS307までの処理を繰り返し実行する。
【0035】
図3に示したステップS306での主被写体判定部112による主被写体判定処理の流れについて
図5を参照して説明する。まず、主被写体判定部112は、検出結果統合部111による検出被写体のすべてに対して、主被写体判定のための優先度の計算が実施されたか否かを判定する(S501)。優先度の計算が実施されていない検出被写体が存在する場合には(S501でNOと判定)、主被写体判定部112は、その被写体の現在のフレームでの検出状況を確認する(S502)。検出状況とは、顔検出及び/又は人体検出により検出されたかを示すものとする。
【0036】
人体検出部110による人体検出のみで検出された被写体であった場合には(S502でYESと判定)、主被写体判定部112は、その被写体の過去の検出状況において顔検出部109による顔検出を含むか否かを判定する(S503)。過去において顔検出結果のない検出被写体であった場合には(S503でNOと判定)、主被写体判定部112は、その被写体の優先度を0として扱う(S504)。そして、ステップS501に戻る。一方、過去において顔検出結果を含む検出被写体であった場合には(S503でYESと判定)、主被写体判定部112は、その被写体に対して、位置や大きさ等に基づき優先度を計算する(S505)。また、現在のフレームでの検出状況が人体検出部110による人体検出のみでなかった場合には(S502でNOと判定)、主被写体判定部112は、その被写体に対して、位置や大きさ等に基づき優先度を計算する(S505)。優先度の計算を実施した後、ステップS501に戻る。
【0037】
つまり、現在及び過去において顔検出部109による顔検出での検出データを含む検出被写体である場合には、主被写体判定部112は、その検出被写体を主被写体の候補として優先度の計算を実施する。一方で、現在及び過去において顔検出部109による顔検出での検出データを含まない場合には、主被写体判定部112は、その検出被写体を主被写体の候補外として優先度を0に設定する。なお、優先度は正の値とし、0が最小値とする。
【0038】
ここで、ステップS505における優先度の算出例に関して
図6を参照して説明する。
図6(a)は、横軸が画像中心から距離、縦軸が優先度計算における位置重みを示す。画像中心と検出被写体との距離が小さいほど重みが高く、画像中心と検出被写体との距離が大きいほど重みが低くなるように優先度重みを設定している。また、
図6(b)は、横軸が検出被写体の大きさ、縦軸が優先度計算における大きさ重みを示す。画面上の検出被写体の大きさが小さいほど重みが低く、画面上の検出被写体の大きさが大きいほど重みが高くなるように優先度重みを設定している。なお、画面上の検出被写体の大きさが所定の大きさ以下である場合には、重みが一定になるようにしている。また、画面上の検出被写体の大きさが所定の大きさ以上である場合には、重みが一定になるようにしている。これらの位置重みと大きさ重みを乗じた値を優先度として扱う。なお、説明した優先度の計算は一例であって、重みの設定はこれに限るものではない。また、重みの要素として、検出の信頼度や検出の継続期間などを加えてもよい。
【0039】
図5に戻り、すべての検出被写体に対して優先度の計算が完了すれば(S501でYESと判定)、主被写体判定部112は、検出被写体の中から優先度の最も高い被写体を選定する(S506)。選定された優先度の最も高い被写体の優先度が0以外であれば(S507でYESと判定)、主被写体判定部112は、その被写体を主被写体として選定する(S508)。一方、選定された優先度の最も高い被写体の優先度が0であれば(S507でNOと判定)、主被写体判定部112は、主被写体はなしとして扱う(S509)。つまり、検出被写体のすべてが、現在及び過去において人体検出部110による人体検出のみで検出された被写体であれば、主被写体が存在しない状態となる。
【0040】
ここで、ステップS503の判定処理では、過去における顔検出部109による顔検出の有無に基づき判定すると説明した。顔検出の有無による判定だけでなく、顔検出の信頼性、連続性、位置、大きさ等を判定の条件に加えても良い。また、ステップS503において、過去において顔検出結果のない検出被写体であった場合に、その検出被写体に対する優先度を0に設定する例をあげて説明を行ったが、これに限られるものではない。過去において顔検出結果のない検出被写体に対しては、ステップS505で、過去において顔検出結果のある検出被写体のときと同様に優先度を求め、この優先度に例えば0.5などの1未満の係数を乗算したものを、最終的な優先度としてもよい。このように、過去において顔検出結果のない検出被写体であった場合に、優先度を小さな値に変更する構成とすれば、主被写体が初めから後ろ向きであった場合でも、他の被写体も後ろ向きであれば、主被写体として選択されることを可能にすることができる。
【0041】
以上のように、本実施形態によれば、顔検出の補助として人体検出を利用する被写体の検出方法において、人体検出に基づく検出データを用いる場合には、その被写体の顔検出による検出状況を加味して主被写体判定を行う。これにより、ユーザの意図しない被写体を主被写体として選定する誤りを軽減でき、検出された被写体の中から主被写体を適切に選定でき、主被写体の判定精度を向上させることができる。
【0042】
(本発明の他の実施形態)
前述した実施形態では、被写体領域追跡装置を撮像装置に適用した場合を例示したが、被写体領域追跡装置を適用する機器は撮像装置に限定しない。例えば、外部機器や記録媒体などから供給される画像(再生データ)を表示する表示装置に被写体領域追跡を行う被写体領域追跡装置を適用しても良い。この表示装置では、再生データを被写体領域追跡処理のデータとして被写体領域追跡処理が行われることとなる。この表示装置におけるマイクロコントローラなどの制御部は、被写体領域追跡処理により抽出された被写体の情報(画像中の被写体の位置、大きさなど)に基づいて、画像を表示する際の表示条件を制御する。具体的には、画像中の被写体の位置に枠などの被写体を示す情報の重畳表示や、被写体部分の輝度や色情報に応じた表示画像の輝度や色合いなどの制御を行う。
【0043】
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0044】
例えば、前述の実施形態に示した被写体領域追跡装置は、
図7に示すようなコンピュータ機能700を有し、そのCPU701により前述した実施形態での動作が実施される。
コンピュータ機能700は、
図7に示すように、CPU701と、ROM702と、RAM703とを備える。また、操作部(CONS)709のコントローラ(CONSC)705と、LCD等の表示部としてのディスプレイ(DISP)710のディスプレイコントローラ(DISPC)706とを備える。さらに、ハードディスク(HD)711、及びフレキシブルディスク等の記憶デバイス(STD)712のコントローラ(DCONT)707と、ネットワークインタフェースカード(NIC)708とを備える。それら機能部701、702、703、705、706、707、708は、システムバス704を介して互いに通信可能に接続された構成としている。
CPU701は、ROM702又はHD711に記憶されたソフトウェア、又はSTD712より供給されるソフトウェアを実行することで、システムバス704に接続された各構成部を総括的に制御する。すなわち、CPU701は、前述したような動作を行うための処理プログラムを、ROM702、HD711、又はSTD712から読み出して実行することで、前述した実施形態での動作を実現するための制御を行う。RAM703は、CPU701の主メモリ又はワークエリア等として機能する。
CONSC705は、CONS709からの指示入力を制御する。DISPC706は、DISP710の表示を制御する。DCONT707は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び前述した実施形態における前記処理プログラム等を記憶するHD711及びSTD712とのアクセスを制御する。NIC708はネットワーク713上の他の装置と双方向にデータをやりとりする。
【0045】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。