画像処理装置およびその制御方法
【課題】自動的に検出された主被写体領域を追尾するにおいて追尾性能を向上する。
【解決手段】画像処理装置は、動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出し、その主被写体領域内の特定の位置を主被写体位置として取得する。そして、画像処理装置は、追尾処理で用いられるテンプレートを生成するための参照範囲を、取得された主被写体位置に基づいて、上記主被写体領域とは無関係に、フレームにおいて設定し、設定された参照範囲の画像情報に基づいて、主被写体位置を追尾するためのテンプレートを生成する。その後、画像処理装置は、生成したテンプレートを用いて、上記フレームに後続するフレームについて追尾処理を実行する。
【解決手段】画像処理装置は、動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出し、その主被写体領域内の特定の位置を主被写体位置として取得する。そして、画像処理装置は、追尾処理で用いられるテンプレートを生成するための参照範囲を、取得された主被写体位置に基づいて、上記主被写体領域とは無関係に、フレームにおいて設定し、設定された参照範囲の画像情報に基づいて、主被写体位置を追尾するためのテンプレートを生成する。その後、画像処理装置は、生成したテンプレートを用いて、上記フレームに後続するフレームについて追尾処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。特に、画像内の被写体を自動的に検出する主被写体検出機能と、被写体の動きを捕捉し続ける被写体追尾機能を有する画像処理装置に関するものである。
【背景技術】
【0002】
デジタルカメラに代表される画像処理装置において、ユーザの関心の高い被写体に対して適切な撮像制御・画像処理を行うことは、撮影画像の品質を向上する上で非常に効果的である。そして、移動する被写体に対して上記適切な処理を行うために、パターンマッチング法などにより被写体を捕捉し続ける被写体追尾機能を有するデジタルカメラが開発されている。被写体を追尾するにおいては、追尾の対象となるべき被写体、たとえばユーザの関心の高い被写体(以降、主被写体を呼ぶ)を特定することが必要である。しかしながら、タッチパネルやボタン操作などのユーザの手動操作により主被写体領域を指定する構成では、ユーザの操作が煩雑になるという課題があった。
【0003】
上記課題に対して、近年では、特許文献1に開示されているように、主被写体を自動的に検出し背景と分離する主被写体検出機能を持つデジタルカメラが開発されている。また、主被写体検出機能に関わる画像処理技術に関しても様々な提案がなされている。
【0004】
特許文献2においては、抽出した被写体領域に基づいてニューラルネットワークを構成することにより、位置ずれに強く、且つ精度の良い被写体認識を実現することが提案されている。また、特許文献3においては、動画像において、各フレームを一定の大きさの画素ブロックに分割し、画素ブロック毎に画素データのブロック内平均値を求め、現フレームと前フレームとのブロック内平均値差を算出し、差分の大きいブロックが連続して出現する領域を被写体の動きとみなし、被写体の動き量から画像表示領域を決定している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−129310号公報
【特許文献2】特開平05−282275号公報
【特許文献3】特開2000−295517号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
主被写体検出機能及び被写体追尾機能を有するデジタルカメラにおいては、主被写体検出機能によって検出された被写体領域に対して被写体追尾機能を適用することで動きのある被写体を捕捉し続けるという方法が一般的に用いられている。しかしながら、被写体の抽出に関わる主被写体検出のアルゴリズムと、パターンマッチング法などによって移動する被写体を追尾する被写体追尾のアルゴリズムは一般には異なる。そのため、特許文献2や特許文献3のように検出した主被写体領域をそのまま被写体検出に適用した場合、追尾性能が劣化する可能性があるという課題があった。
【0007】
本発明は上記の課題に鑑みてなされたものであり、自動的に検出された主被写体領域を追尾するにおいて追尾性能を向上することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出する検出手段と、
前記フレームにおける前記主被写体領域内の特定の位置を主被写体位置として取得する取得手段と、
追尾処理で用いられるテンプレートを生成するための前記フレームにおける参照範囲を、前記取得手段で取得された前記主被写体位置に基づいて、前記主被写体領域とは無関係に設定する設定手段と、
前記設定手段で設定された前記参照範囲の画像情報に基づいて、前記主被写体位置を追尾するためのテンプレートを生成する生成手段と、
前記フレームに後続するフレームについて、前記生成手段で生成された前記テンプレートを用いて前記追尾処理を実行する追尾手段と、を備える。
【発明の効果】
【0009】
本発明によれば、ユーザによる煩雑な入力操作なしに主被写体を自動的に検出し、動きのある被写体においても、正確に被写体を追尾し、被写体に適切な撮像制御・画像処理を行うことのできる画像処理装置を提供することができる。
【図面の簡単な説明】
【0010】
【図1】実施形態によるデジタルカメラのブロック図。
【図2】実施形態による主被写体検出処理を示すフローチャート。
【図3】主被写体検出処理によるヒストグラム分割処理を説明する図。
【図4】主被写体検出処理における被写体評価値の算出に関わる説明図。
【図5】主被写体検出処理における被写体評価値の算出に関わる説明図
【図6】実施形態によるデジタルカメラの全体処理を示すフローチャート。
【図7】位置情報更新部の動作を説明する図。
【図8】被写体追尾処理を説明するフローチャート。
【図9】テンプレート選択に関わる説明図。
【図10】被写体追尾部のテンプレート選択を説明する図。
【図11】被写体追尾部における同系色画素の分布例を示す図。
【図12】被写体追尾部におけるテンプレート形状を説明する図。
【図13】実施形態における重みテーブル設計カーブの例を示す図。
【図14】実施形態における重みテーブルの例を示す図。
【図15】評価値の変換関数の例を示す図。
【発明を実施するための形態】
【0011】
以下に、本発明の好ましい一実施形態について、添付の図面に基づいて詳細に説明する。
【0012】
図1は、本発明の画像処理装置としての、デジタルカメラ100の構成例を示す図である。図1において、10は撮影レンズ、12はメカニカルシャッター、14は絞りである。16は光学像を電気信号に変換する撮像素子であり、本実施形態ではCCDが用いられている。18は撮像素子16からの出力信号にゲインをかけるゲイン回路、22はアナログ信号出力をデジタル信号に変換するA/D変換器である。また、メカニカルシャッター12以外にも、撮像素子16のリセットタイミングの制御によって、電子シャッタとして、蓄積時間を制御することが可能であり、デジタルカメラ100は動画撮影などに使用可能である。
【0013】
50は画像処理回路であり、A/D変換器22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路50は、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果をシステム制御回路60に提供する。システム制御回路60は、画像処理回路50から提供された演算結果に基づいて露光制御部、及びレンズ駆動回路42に対して制御を行い、AE処理(自動露出機能)・AF処理(自動焦点機能)を行っている。なお、露光制御部には、絞り駆動回路26、メカニカルシャッター駆動回路28、フラッシュ発光回路46が含まれる。また、画像処理回路50は、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてAWB(オートホワイトバランス)処理も行っている。なお、システム制御回路60は不図示のCPUが不図示のメモリに格納されたプログラムを実行して各種処理を実現する。後述の主被写体検出処理およびその検出結果を用いた被写体追尾処理は、システム制御回路60により実行される。
【0014】
A/D変換器22によりデジタル変換された画像データが画像処理回路50によって所望の画像データへと変換される。そして、画像データを圧縮伸長する圧縮・伸長回路32により、圧縮された画像データが画像記憶媒体I/F80を介して画像記憶媒体82に書き込まれる。
【0015】
108は画像表示部であり、VRAM34に書き込まれた表示用の画像データを表示する。画像表示部108を用いて撮像素子16により撮像された画像データを逐次表示すれば、電子ファインダー機能(EVF:Electrical Viewfinder)を実現することが可能である。このとき、AEやAFにおける測光領域情報、測距領域情報をEVFのライブ画像に重畳して表示することも可能である。さらに、被写体の認識状況を示すために、人物顔や主被写体の認識結果である被写体領域に枠をEVFのライブ画像と重畳させて表示することが可能となっている。また、画像表示部108にタッチパネルが装着されていれば、入力装置としても用いることが可能である。またデジタルカメラ100に具備される画像表示部108以外にも、画像処理回路50によって処理された画像データを、外部機器I/F84を介して接続されたTVディスプレイなどの外部装置86に表示することも可能である。
【0016】
30は一時記憶メモリであり、撮影した静止画像や動画像を格納する。一時記憶メモリ30は、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えており、システム制御回路60の作業領域としても使用することが可能である。
【0017】
メカニカルシャッター駆動回路28はメカニカルシャッター12を制御し、フラッシュ発光回路46と連動することによりフラッシュ調光機能も実現するものである。レンズ駆動回路42は撮影レンズ10のフォーカシングを制御する。システム制御回路60はデジタルカメラ100全体を制御する。70はデジタルカメラ100の操作部材からなる操作部であり、電源のON/OFF、撮影開始、撮影モードの切り替え、各種設定の変更をユーザがシステム制御回路60へ指示するために用いられる。
【0018】
操作部70のシャッタースイッチで、撮影が指示された場合、AE処理で決定された露光時間分、撮像素子16を露光させる。その後、撮像素子16から信号を読み出し、読み出された信号はA/D変換器22によりデジタル値に変換され、一時記憶メモリ30に書き込まれる。画像処理回路50での現像処理、圧縮・伸長回路32での圧縮を実行し、画像記憶媒体I/F80を介して画像記憶媒体82に画像データを書き込む記録処理を行う。尚、画像記憶媒体82はメモリカードやハードディスク等の記録媒体である。
【0019】
また、画像処理回路50は後述する主被写体判別や、被写体追尾を行うための各種信号処理回路を具備しており、画像のブロック分割、ヒストグラム算出、差分演算などの処理を高速に実行することができる。
【0020】
次に、上記構成からなるデジタルカメラにおいて、ユーザによる煩雑な操作を必要とすることなく、撮影対象である主被写体にピントや明るさを最適な条件で撮影するために、自動的に主被写体を検出する方法(主被写体検出処理)について説明する。なお、以下に説明する主被写体検出処理は、単に一例を示したものであり、周知のいかなる主被写体検出処理を用いてもよい。
【0021】
以下に図2を参照して、本実施形態による主被写体検出の処理手順について詳細に述べる。ここでは、一例として、画像内から1つまたは複数の被写体候補領域を抽出し、特徴量によってその領域の被写体らしさの評価値を算出することで被写体領域を抽出する方法について説明する。
【0022】
図2は、実施形態による主被写体検出の処理を示すフローチャートである。まず、ステップS101において、システム制御回路60は、画像内をある一定のサイズの複数のブロックに分割する。次に、ステップS102において、システム制御回路60は、分割した各ブロック内の画素における色相の平均値を算出し、各ブロックの代表値とする。ステップS103において、システム制御回路60は、ステップS102で求めた色相の代表値を要素とした色相のヒストグラムを作成する。尚、彩度の低いブロックは色相の値の信頼性が低いため、彩度が所定の閾値以上のブロックのみをヒストグラム作成に使用するようにしてもよい。ステップS104において、システム制御回路60は、色相ヒストグラムを同一色領域とみなす複数のグループに分割する。
【0023】
以下、色相ヒストグラムをn(n>1)個の同一色グループに分割する方法について図3(A),(B)を用いて説明する。まず、システム制御回路60は、ヒストグラムの全区間を走査し、最も高い山HighestPeak1を検出する。次に、システム制御回路60は、その山から左右両側の谷方向に向かって走査し、ヒストグラムの頻度がTH_Freq以下となるか、HighestPeak1からの区間の距離がTH_HueRangeに達するまでの区間を同一色領域とする。そして、システム制御回路60は、ブロックの代表値がこの範囲に含まれるブロックを同一色領域1としてグルーピングすると共に、この区間をグルーピング処理済みとして記録する。次に、システム制御回路60は、グルーピング処理済みの区間を除いたヒストグラムの全区間を再び走査し、最も高い山HighestPeak2を検出する(図3(B))。以下同様の処理を、ヒストグラム中の全区間がグルーピング処理済みとされるまで繰り返すことにより、色相ヒストグラムをn個の同一色グループに分割することができる。尚、山から谷方向に向かって走査しているとき、ヒストグラムの頻度がTH_Freq以下となる区間にたどり着く前に、グルーピング処理済みの区間にたどり着いた場合は、そこまでの区間を同一色領域の範囲とする。
【0024】
次に、ステップS105において、システム制御回路60は、全ブロックを走査し、隣接する連続した同一色領域を同一グループとし、隣接していない同一色領域を別グループとするラベリング処理を行う。このラベリング処理を複数色に対して実行することにより、同一色領域となった、離れている別の物体を、別領域と認識することが可能となる。
【0025】
次に、図2のステップS106において、システム制御回路60は、ステップS105のラベリング処理で分類された領域のそれぞれについて、被写体評価値Pを算出する。被写体評価値Pを算出する方法としては、以下のような方法を用いることができる。
・画面中心からの距離Rに応じて、評価値(中心距離評価値)を付加する方法。これは、例えば図4に示すように、画面中心からの距離が大きくなるに従って被写体評価値が低下するよう評価値を設定することがあげられる。なお、図4では、画面中心からの距離がRを超えると被写体評価値は0になる。
・同一グループ領域内のブロック数の総和をカウントすることにより領域内の面積Sを求め、領域面積に応じて高い評価値(被写体面積評価値)を付加する方法。例えば、図5の(A)に示すように、面積が大きいほど高い被写体評価値が与えられるようにする。図5(B)のような画像の場合、被写体200の面積の方が被写体201の面積よりも大きいので、被写体200の方により高い被写体評価値が与えられることになる。
・各領域内の彩度を求め、彩度に応じて高い評価値(被写体彩度評価値)を付加する方法。
・上記複数の評価値のうち少なくとも一つ以上の評価値の重み付け加算によって、例えば以下の式により被写体評価値Pを算出する方法。
p=w1×p1+w2×p2+w3×p3
w1,w2,w3:重み計数、
p1:中心距離評価値、
p2:被写体面積評価値、
p3:被写体彩度評価値
【0026】
最後に、図2のステップS107において、システム制御回路60は、ステップS106で算出された被写体評価値Pによって、主被写体領域を決定し、画像中から抽出する。主被写体領域と判定する領域は、例えば、ステップS106で算出された評価値が最も高い領域としても良いし、評価値が所定のしきい値以上となる複数の領域を組み合わせた領域としても良い。
【0027】
続いて、以下に図6、図7を用いて、上述した主被写体検出処理によって検出された主被写体領域の情報を被写体追尾処理へと伝達する処理について説明する。
【0028】
図6は本実施形態による主被写体検出処理から被写体追尾処理までを説明するフローチャートである。システム制御回路60は、上述した主被写体検出処理、後述の位置情報更新処理および追尾処理を実行する。位置情報更新処理(S302)は、主被写体検出処理(S301)によって検出された主被写体情報を元に、被写体追尾処理(S303)へと渡す被写体情報の更新を制御する。例えば、被写体追尾が行われていない状態で、前述の被写体評価値Pが充分に高い被写体(主被写体)が検出された場合、位置情報更新処理は、そのフレームにおいて主被写体領域内の特定の位置を主被写体位置として取得し、これを被写体追尾処理へ伝達する。例えば、位置情報更新部は、主被写体領域の中心または重心の位置情報(x,y)を主被写体位置として被写体追尾処理へと伝達する。なお、特定の位置の取得に用いられる主被写体領域とは、たとえば、検出された被写体領域であってもよいし、検出された被写体領域を内包する矩形であってもよい。被写体追尾処理は受け取った位置情報(主被写体位置)を元に、被写体追尾部のアルゴリズムに従って被写体追尾に最適な追尾枠を主被写体検出処理が検出した主被写体の領域とは無関係に再設定し、追尾を実行する。また既に追尾中の主被写体がある場合、位置情報更新処理は主被写体検出処理によって新たに検出された被写体の被写体評価値及び位置情報を元に情報更新すべきかどうかを判断する。
【0029】
以下に図7を用いて、位置情報更新処理における判断基準の一例について説明する。
【0030】
位置情報更新処理(S302)は、被写体追尾が行われていない場合には、上述のように主被写体の検出に応じてその位置を被写体追尾処理に提供する。被写体追尾処理が有る被写体を追尾している場合には、以下のような条件で、主被写体位置を被写体追尾処理に通知して追尾対象を変更させる。たとえば、図7(A)のように、Object1とObject2が画面内に存在する状態で、現在Object1が主被写体として判別され、被写体追尾処理によって追尾されているものとする。この状態で、以下のいずれかの条件を満たす場合は、位置情報更新部はObject2の位置情報(x2,y2)を新たな追尾対象として被写体追尾部へと伝達する。
・図7(B)のようにObject1が画面外にフレームアウトしてしまった場合。なお、フレームアウトの検出は、被写体追尾処理の追尾結果から得ることができる。
・図7(C)のようにObject1が画面の端へと移動し、Object2が画面内の中心に近い位置に存在すると共に、Object2の被写体評価値P2が所定の閾値P_Thを上回る場合(P2>P_Th)。(追尾位置が画面中心から遠く、画面中心にはobject2が存在する場合)
・Object1の評価値P1よりObject2の評価値P2が高い場合(P1<P2)。ただし、この場合、追尾中であるObject1位置(追尾位置)における重みを大きくして評価する。
【0031】
次に、被写体追尾処理について以下に詳細に説明する。上述の位置情報更新処理(S302)によって、主被写体の位置情報が更新された場合、被写体追尾処理(S303)は被写体追尾のアルゴリズムに従って被写体を追尾し、移動体を捕捉し続ける。図8は本実施形態による被写体追尾アルゴリズムを示すフローチャートである。また、図9は被写体追尾のシーンの一例として、主被写体を含む入力画像とそのブロック分割後の画像を示している。
【0032】
本実施形態による被写体追尾のアルゴリズムは、大きく分けてテンプレート(特徴画素)を決定するテンプレート設定部とテンプレートに類似する画像パターンを対象画像内から検出する追尾部に区別できる。尚、本実施形態における被写体追尾は色情報によるテンプレートマッチングによって被写体を追尾するものであり、誤追尾を抑えつつ、被写体の微小な色の変化や形状変化に耐性の強いテンプレートを適切に選択することが追尾性能を向上させる上で重要である。
【0033】
以下に、上述したテンプレート設定部の処理フローについて詳細に述べる。テンプレート設定部では、追尾処理で用いられるテンプレートを生成するための参照範囲を、主被写体検出処理によって取得された主被写体位置に基づいて、主被写体検出処理が検出した主被写体領域とは無関係に設定する。そして、テンプレート設定部は、この参照範囲の画像情報に基づいて、主被写体位置を追尾するためのテンプレートを生成する。本実施形態では、フレームを複数のブロックに分割し、これら複数のブロックから主被写体位置を含むブロックとその周囲のブロックからなる所定数のブロックの範囲を参照範囲として設定して、テンプレートの生成を行う。
【0034】
まず、ステップS401において、システム制御回路60は、画像内を複数のブロックに分割し、分割した各ブロック内の画素における画素情報平均値を算出し、各ブロックの代表値とする。以上の操作によって、図9(A)に示されるような入力画像401は、図9(b)に示されるような分解能の粗い画像403へと変換される。なお、被写体追尾処理のブロック分割(S401)と、主被写体検出処理のブロック分割(S101)は同じであっても、そうでなくてもよい。
【0035】
ここで、前述の主被写体検出処理によって検出された被写体の位置(主被写体位置)が座標402で与えられたものとする。ステップS402において、この座標402を元に、画像403上での被写体位置座標を含むブロック404及びその近傍8ブロックからなる領域405を、追尾対象の特徴候補色(参照範囲)として設定する。図10に示すように、領域405は、ブロックA〜I(ブロック404は、領域405の中心にあるブロックEに対応する)からなる9ブロックの領域である。そして、これら9つの特徴候補ブロックから追尾対象の特徴となりうる画素を抽出する作業を行う。なお、本実施形態では、一例として、図10に示したように全画面を32×24ブロックに分割している。これら9つの特徴候補ブロックから、追尾対象の特徴となりうるブロック、すなわち画像全体に対して特異性のあるブロックを抽出する作業を行う。まず、特徴候補の各ブロックと類似するブロックが画面内のどこにどの程度分布しているのかを調査する。本実施形態では、特徴候補のブロックと類似するブロックであるか否かの判定を、たとえば、特徴候補のブロックと同系色のブロックであるか否かの判定により行う。
【0036】
図11に、特徴候補画素A〜Iの類似色を画面内から抽出した結果の分布イメージを示す。図11中の網掛けで示されたブロックが各候補ブロックと類似色を有するブロックであることを示している。尚、ここでは以下の(式1)のように、特徴候補ブロックのR,G,Bの各成分の差分和のすべてが、所定の信号レベルThRGBの範囲内にあることをもって、類似色であると判断している。特徴候補ブロックのR,G,Bの各成分の差分和は、0〜255の値に設定される。
【数1】
ただし、ThRGB=30、n=特徴色(A…I)、x=水平座標(0…31)、y=垂直座標(0…23)である。
【0037】
図9に示したシーン例でボールを追尾対象としようとした場合、図11に示される分布から、ブロックB、C、Eは、周辺に類似色の分布が少ないことが分かり、特異性が大きく、ボールであることを特徴づける色と成り得ることが推測される。反面、ブロックGなどは、類似色画素が周辺に多く分布している様子が分かり、床面の色を抽出してしまっている可能性が高く、ボールの特徴と成り得るかは疑問である。よって、ブロックGを特徴候補から除外する。ここでは、特徴候補画素A〜Iから抽出された類似色画素の数に対する、画面全体から抽出された類似色画素の数の割合が、閾値以上となるブロックを特徴候補から除外する。このように9つの特徴候補ブロックのうち追尾対象として適切でないブロックを除外した上で、最終的に残ったブロック(1つまたは複数)を被写体に固有のテンプレートとして使用する。すなわち、参照範囲である所定数のブロックの各々の画像情報のフレームにおける特異性に基づいて追尾に用いるべきブロックを選択している。
【0038】
また上記の判別基準以外にも、
・同系色画素の面積が大き過ぎる特徴候補を除外する(図11(A))、
・同系色画素の一部が画面端にかかっている特徴候補は背景画像である可能性が高いと判断して候補から除外する(図11(I))、
・同系色が画面内に広く分布している特徴候補は、誤って背景を追尾してしまう誤追尾が発生しやすいと考えられるため候補から除外する(図11(D))、
といった基準のうち、少なくとも一つ以上の判別基準を組み合わせて特徴候補ブロックを抽出するようにしても良い。以上のような方法で抽出した特徴ブロックを中心(Center)として、図12のように上(U)下(D)左(L)右(R)のブロックを含めた5ブロックをテンプレート(追尾枠)と設定したテンプレートマッチングにより被写体追尾を実現する。テンプレートは、候補ブロックから追尾に適切であるものとして抽出されたブロックの数だけ生成される。尚、特徴画素が複数残る場合は、同系色の分散、面積、彩度のいずれかの情報を用いて最も適切なテンプレートを選択する。また、後述する追尾部において、最初の追尾の際に複数のテンプレートを使用してテンプレートごとにパターンマッチングを行い、被写体位置の補足精度を高めてもよい。
【0039】
次に被写体追尾処理における追尾部の動作について詳細に説明する。基本的な追尾概念は、上記テンプレート設定部において特徴ブロック(テンプレート)として記憶した特徴色RGBと類似する画素を対象画面内(後続するフレーム内)から探索し、類似度が高い画素位置を追尾対象位置とするものである。また、追尾対象と同系色の色を持つ別の追尾対象が画面内に存在する場合や、追尾対象と類似する色が背景に存在していた場合、前回の追尾対象検出位置に近い程、類似度が高くなるように前回の検出位置座標を考慮した類似度算出を行う。追尾対象の検出結果のハンチングや、同系色背景への誤追尾を防ぐためである。
【0040】
まず、図8のステップS403において、システム制御回路60は、前回の追尾対象検出位置に近い程、類似度を高くして優先的に追尾対象位置とするために、重みテーブルを生成する。重みテーブルは前回の追尾対象検出位置を基点とし、画面内の各位置において基点との距離に応じて重み量が設定されるようにするものであり、距離に応じた重みの変化量は様々な条件に応じて適応的に変化させるものとする。図13に(式2)によって求めた距離rに応じた重みテーブルの設計カーブの例を示す。
【数2】
(xt-1,yt-1):前回の追尾対象検出位置
【0041】
また図14は図13の設計カーブを元に、32×24のブロックに展開した重みテーブルの例を示している。図14中の前回検出位置を中心として距離別の重みテーブルを設定すると、ある一定以上の距離は重みが0になるため、実質探索を行う必要がない。このように重みテーブルの設計によっては、誤追尾の可能性を低減することができると共に、実質的な探索領域を狭め、マッチング演算の負荷を減らすことができる。ただし、探索領域を狭くしすぎると動きの速い物体を追尾できないなどの問題が発生するため、充分に留意して設計する必要がある。
【0042】
次に図8のステップS404において、システム制御回路60は、処理対象の画像をテンプレート生成時と同様にブロック分割し、ステップS403で定めた探索領域内を走査してテンプレートと類似度の高い追尾対象位置を探索する。図12のようにテンプレートの中心ブロック(C)とその上(U)・下(D)・左(L)・右(R)4ブロックのRGB値をそれぞれC(Rc,Gc,Bc),U(Ru,Gu,Bu),D(Rd,Gd,Bd),L(Rl,Gl,Bl),R(Rr,Gr,Br)とする。同様にマッチング対象ブロック及びその上下左右ブロックのRGB値をC'(Rc',Gc',Bc'),U'(Ru',Gu',Bu'),D'(Rd',Gd',Bd'),L'(Rl',Gl',Bl'),R'(Rr',Gr',Br')とする。すると、評価値P1は以下の(式3)で示すような各画素におけるテンプレートとのRGB値の差分和で表現することができる。
【数3】
【0043】
ここでα、β、γはRGBごとに重みを与えるものであり、α=β=γと設定することでRGBを等価に扱うことができる。評価値P1の値が小さくなるほど、その座標(x,y)における特徴色とテンプレートとの差が小さい、すなわち類似性が高いということになる。そこで、本実施形態では、式3により得られた評価値P1を図15のような変換テーブルの入力値として使用し、出力評価値P2を得る。次に、システム制御回路60は、以下の式4のように、出力評価値P2にステップS403で求めた重みテーブルにより与えられる重み値w(x,y)を乗算することにより座標(x,y)におけるテンプレートとの類似度Psを求める。
【数4】
【0044】
上記類似度Psはテンプレートとの一致度が高いほど値が大きくなるため、探索領域内のすべての画素について上記類似度を求め、最も類似度の高い座標を被写体位置として決定する。
【0045】
最後に、ステップS405において、システム制御回路60は、ステップS404で得られた追尾結果を元に露出・液晶表示などの各種情報を更新すると共に、新しい被写体座標を中心とした上下左右の画素を新たなテンプレートとして保存する。以下同様に更新されたテンプレートを元に順次フレームごとに被写体追尾を実行し、被写体を捕捉し続けることができる。以上の追尾部の処理(ステップS403〜S405)は、位置情報更新処理(S302)により新たな被写体情報が提供されるまで、あるいは、追尾の対象がフレームアウトするなどして、追尾不能となるまで繰り返される(ステップS406)。新しい被写体情報が位置情報更新処理から提供されると、被写体追尾処理では、図8に示す処理の先頭から、すなわちテンプレート設定部からの処理を実行する。
【0046】
以上のように、上記実施形態の構成によれば、自動的に主被写体を検出し、主被写体の位置情報を元に被写体追尾のテンプレートを再設定し、被写体追尾に最適なテンプレートを使用して被写体追尾が行われる。このような構成により、ユーザの関心の高い被写体が動いている場合においても、高い精度で追尾し続けることが可能である。
【0047】
また、以上に本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0048】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像処理装置に関する。特に、画像内の被写体を自動的に検出する主被写体検出機能と、被写体の動きを捕捉し続ける被写体追尾機能を有する画像処理装置に関するものである。
【背景技術】
【0002】
デジタルカメラに代表される画像処理装置において、ユーザの関心の高い被写体に対して適切な撮像制御・画像処理を行うことは、撮影画像の品質を向上する上で非常に効果的である。そして、移動する被写体に対して上記適切な処理を行うために、パターンマッチング法などにより被写体を捕捉し続ける被写体追尾機能を有するデジタルカメラが開発されている。被写体を追尾するにおいては、追尾の対象となるべき被写体、たとえばユーザの関心の高い被写体(以降、主被写体を呼ぶ)を特定することが必要である。しかしながら、タッチパネルやボタン操作などのユーザの手動操作により主被写体領域を指定する構成では、ユーザの操作が煩雑になるという課題があった。
【0003】
上記課題に対して、近年では、特許文献1に開示されているように、主被写体を自動的に検出し背景と分離する主被写体検出機能を持つデジタルカメラが開発されている。また、主被写体検出機能に関わる画像処理技術に関しても様々な提案がなされている。
【0004】
特許文献2においては、抽出した被写体領域に基づいてニューラルネットワークを構成することにより、位置ずれに強く、且つ精度の良い被写体認識を実現することが提案されている。また、特許文献3においては、動画像において、各フレームを一定の大きさの画素ブロックに分割し、画素ブロック毎に画素データのブロック内平均値を求め、現フレームと前フレームとのブロック内平均値差を算出し、差分の大きいブロックが連続して出現する領域を被写体の動きとみなし、被写体の動き量から画像表示領域を決定している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−129310号公報
【特許文献2】特開平05−282275号公報
【特許文献3】特開2000−295517号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
主被写体検出機能及び被写体追尾機能を有するデジタルカメラにおいては、主被写体検出機能によって検出された被写体領域に対して被写体追尾機能を適用することで動きのある被写体を捕捉し続けるという方法が一般的に用いられている。しかしながら、被写体の抽出に関わる主被写体検出のアルゴリズムと、パターンマッチング法などによって移動する被写体を追尾する被写体追尾のアルゴリズムは一般には異なる。そのため、特許文献2や特許文献3のように検出した主被写体領域をそのまま被写体検出に適用した場合、追尾性能が劣化する可能性があるという課題があった。
【0007】
本発明は上記の課題に鑑みてなされたものであり、自動的に検出された主被写体領域を追尾するにおいて追尾性能を向上することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出する検出手段と、
前記フレームにおける前記主被写体領域内の特定の位置を主被写体位置として取得する取得手段と、
追尾処理で用いられるテンプレートを生成するための前記フレームにおける参照範囲を、前記取得手段で取得された前記主被写体位置に基づいて、前記主被写体領域とは無関係に設定する設定手段と、
前記設定手段で設定された前記参照範囲の画像情報に基づいて、前記主被写体位置を追尾するためのテンプレートを生成する生成手段と、
前記フレームに後続するフレームについて、前記生成手段で生成された前記テンプレートを用いて前記追尾処理を実行する追尾手段と、を備える。
【発明の効果】
【0009】
本発明によれば、ユーザによる煩雑な入力操作なしに主被写体を自動的に検出し、動きのある被写体においても、正確に被写体を追尾し、被写体に適切な撮像制御・画像処理を行うことのできる画像処理装置を提供することができる。
【図面の簡単な説明】
【0010】
【図1】実施形態によるデジタルカメラのブロック図。
【図2】実施形態による主被写体検出処理を示すフローチャート。
【図3】主被写体検出処理によるヒストグラム分割処理を説明する図。
【図4】主被写体検出処理における被写体評価値の算出に関わる説明図。
【図5】主被写体検出処理における被写体評価値の算出に関わる説明図
【図6】実施形態によるデジタルカメラの全体処理を示すフローチャート。
【図7】位置情報更新部の動作を説明する図。
【図8】被写体追尾処理を説明するフローチャート。
【図9】テンプレート選択に関わる説明図。
【図10】被写体追尾部のテンプレート選択を説明する図。
【図11】被写体追尾部における同系色画素の分布例を示す図。
【図12】被写体追尾部におけるテンプレート形状を説明する図。
【図13】実施形態における重みテーブル設計カーブの例を示す図。
【図14】実施形態における重みテーブルの例を示す図。
【図15】評価値の変換関数の例を示す図。
【発明を実施するための形態】
【0011】
以下に、本発明の好ましい一実施形態について、添付の図面に基づいて詳細に説明する。
【0012】
図1は、本発明の画像処理装置としての、デジタルカメラ100の構成例を示す図である。図1において、10は撮影レンズ、12はメカニカルシャッター、14は絞りである。16は光学像を電気信号に変換する撮像素子であり、本実施形態ではCCDが用いられている。18は撮像素子16からの出力信号にゲインをかけるゲイン回路、22はアナログ信号出力をデジタル信号に変換するA/D変換器である。また、メカニカルシャッター12以外にも、撮像素子16のリセットタイミングの制御によって、電子シャッタとして、蓄積時間を制御することが可能であり、デジタルカメラ100は動画撮影などに使用可能である。
【0013】
50は画像処理回路であり、A/D変換器22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路50は、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果をシステム制御回路60に提供する。システム制御回路60は、画像処理回路50から提供された演算結果に基づいて露光制御部、及びレンズ駆動回路42に対して制御を行い、AE処理(自動露出機能)・AF処理(自動焦点機能)を行っている。なお、露光制御部には、絞り駆動回路26、メカニカルシャッター駆動回路28、フラッシュ発光回路46が含まれる。また、画像処理回路50は、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてAWB(オートホワイトバランス)処理も行っている。なお、システム制御回路60は不図示のCPUが不図示のメモリに格納されたプログラムを実行して各種処理を実現する。後述の主被写体検出処理およびその検出結果を用いた被写体追尾処理は、システム制御回路60により実行される。
【0014】
A/D変換器22によりデジタル変換された画像データが画像処理回路50によって所望の画像データへと変換される。そして、画像データを圧縮伸長する圧縮・伸長回路32により、圧縮された画像データが画像記憶媒体I/F80を介して画像記憶媒体82に書き込まれる。
【0015】
108は画像表示部であり、VRAM34に書き込まれた表示用の画像データを表示する。画像表示部108を用いて撮像素子16により撮像された画像データを逐次表示すれば、電子ファインダー機能(EVF:Electrical Viewfinder)を実現することが可能である。このとき、AEやAFにおける測光領域情報、測距領域情報をEVFのライブ画像に重畳して表示することも可能である。さらに、被写体の認識状況を示すために、人物顔や主被写体の認識結果である被写体領域に枠をEVFのライブ画像と重畳させて表示することが可能となっている。また、画像表示部108にタッチパネルが装着されていれば、入力装置としても用いることが可能である。またデジタルカメラ100に具備される画像表示部108以外にも、画像処理回路50によって処理された画像データを、外部機器I/F84を介して接続されたTVディスプレイなどの外部装置86に表示することも可能である。
【0016】
30は一時記憶メモリであり、撮影した静止画像や動画像を格納する。一時記憶メモリ30は、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えており、システム制御回路60の作業領域としても使用することが可能である。
【0017】
メカニカルシャッター駆動回路28はメカニカルシャッター12を制御し、フラッシュ発光回路46と連動することによりフラッシュ調光機能も実現するものである。レンズ駆動回路42は撮影レンズ10のフォーカシングを制御する。システム制御回路60はデジタルカメラ100全体を制御する。70はデジタルカメラ100の操作部材からなる操作部であり、電源のON/OFF、撮影開始、撮影モードの切り替え、各種設定の変更をユーザがシステム制御回路60へ指示するために用いられる。
【0018】
操作部70のシャッタースイッチで、撮影が指示された場合、AE処理で決定された露光時間分、撮像素子16を露光させる。その後、撮像素子16から信号を読み出し、読み出された信号はA/D変換器22によりデジタル値に変換され、一時記憶メモリ30に書き込まれる。画像処理回路50での現像処理、圧縮・伸長回路32での圧縮を実行し、画像記憶媒体I/F80を介して画像記憶媒体82に画像データを書き込む記録処理を行う。尚、画像記憶媒体82はメモリカードやハードディスク等の記録媒体である。
【0019】
また、画像処理回路50は後述する主被写体判別や、被写体追尾を行うための各種信号処理回路を具備しており、画像のブロック分割、ヒストグラム算出、差分演算などの処理を高速に実行することができる。
【0020】
次に、上記構成からなるデジタルカメラにおいて、ユーザによる煩雑な操作を必要とすることなく、撮影対象である主被写体にピントや明るさを最適な条件で撮影するために、自動的に主被写体を検出する方法(主被写体検出処理)について説明する。なお、以下に説明する主被写体検出処理は、単に一例を示したものであり、周知のいかなる主被写体検出処理を用いてもよい。
【0021】
以下に図2を参照して、本実施形態による主被写体検出の処理手順について詳細に述べる。ここでは、一例として、画像内から1つまたは複数の被写体候補領域を抽出し、特徴量によってその領域の被写体らしさの評価値を算出することで被写体領域を抽出する方法について説明する。
【0022】
図2は、実施形態による主被写体検出の処理を示すフローチャートである。まず、ステップS101において、システム制御回路60は、画像内をある一定のサイズの複数のブロックに分割する。次に、ステップS102において、システム制御回路60は、分割した各ブロック内の画素における色相の平均値を算出し、各ブロックの代表値とする。ステップS103において、システム制御回路60は、ステップS102で求めた色相の代表値を要素とした色相のヒストグラムを作成する。尚、彩度の低いブロックは色相の値の信頼性が低いため、彩度が所定の閾値以上のブロックのみをヒストグラム作成に使用するようにしてもよい。ステップS104において、システム制御回路60は、色相ヒストグラムを同一色領域とみなす複数のグループに分割する。
【0023】
以下、色相ヒストグラムをn(n>1)個の同一色グループに分割する方法について図3(A),(B)を用いて説明する。まず、システム制御回路60は、ヒストグラムの全区間を走査し、最も高い山HighestPeak1を検出する。次に、システム制御回路60は、その山から左右両側の谷方向に向かって走査し、ヒストグラムの頻度がTH_Freq以下となるか、HighestPeak1からの区間の距離がTH_HueRangeに達するまでの区間を同一色領域とする。そして、システム制御回路60は、ブロックの代表値がこの範囲に含まれるブロックを同一色領域1としてグルーピングすると共に、この区間をグルーピング処理済みとして記録する。次に、システム制御回路60は、グルーピング処理済みの区間を除いたヒストグラムの全区間を再び走査し、最も高い山HighestPeak2を検出する(図3(B))。以下同様の処理を、ヒストグラム中の全区間がグルーピング処理済みとされるまで繰り返すことにより、色相ヒストグラムをn個の同一色グループに分割することができる。尚、山から谷方向に向かって走査しているとき、ヒストグラムの頻度がTH_Freq以下となる区間にたどり着く前に、グルーピング処理済みの区間にたどり着いた場合は、そこまでの区間を同一色領域の範囲とする。
【0024】
次に、ステップS105において、システム制御回路60は、全ブロックを走査し、隣接する連続した同一色領域を同一グループとし、隣接していない同一色領域を別グループとするラベリング処理を行う。このラベリング処理を複数色に対して実行することにより、同一色領域となった、離れている別の物体を、別領域と認識することが可能となる。
【0025】
次に、図2のステップS106において、システム制御回路60は、ステップS105のラベリング処理で分類された領域のそれぞれについて、被写体評価値Pを算出する。被写体評価値Pを算出する方法としては、以下のような方法を用いることができる。
・画面中心からの距離Rに応じて、評価値(中心距離評価値)を付加する方法。これは、例えば図4に示すように、画面中心からの距離が大きくなるに従って被写体評価値が低下するよう評価値を設定することがあげられる。なお、図4では、画面中心からの距離がRを超えると被写体評価値は0になる。
・同一グループ領域内のブロック数の総和をカウントすることにより領域内の面積Sを求め、領域面積に応じて高い評価値(被写体面積評価値)を付加する方法。例えば、図5の(A)に示すように、面積が大きいほど高い被写体評価値が与えられるようにする。図5(B)のような画像の場合、被写体200の面積の方が被写体201の面積よりも大きいので、被写体200の方により高い被写体評価値が与えられることになる。
・各領域内の彩度を求め、彩度に応じて高い評価値(被写体彩度評価値)を付加する方法。
・上記複数の評価値のうち少なくとも一つ以上の評価値の重み付け加算によって、例えば以下の式により被写体評価値Pを算出する方法。
p=w1×p1+w2×p2+w3×p3
w1,w2,w3:重み計数、
p1:中心距離評価値、
p2:被写体面積評価値、
p3:被写体彩度評価値
【0026】
最後に、図2のステップS107において、システム制御回路60は、ステップS106で算出された被写体評価値Pによって、主被写体領域を決定し、画像中から抽出する。主被写体領域と判定する領域は、例えば、ステップS106で算出された評価値が最も高い領域としても良いし、評価値が所定のしきい値以上となる複数の領域を組み合わせた領域としても良い。
【0027】
続いて、以下に図6、図7を用いて、上述した主被写体検出処理によって検出された主被写体領域の情報を被写体追尾処理へと伝達する処理について説明する。
【0028】
図6は本実施形態による主被写体検出処理から被写体追尾処理までを説明するフローチャートである。システム制御回路60は、上述した主被写体検出処理、後述の位置情報更新処理および追尾処理を実行する。位置情報更新処理(S302)は、主被写体検出処理(S301)によって検出された主被写体情報を元に、被写体追尾処理(S303)へと渡す被写体情報の更新を制御する。例えば、被写体追尾が行われていない状態で、前述の被写体評価値Pが充分に高い被写体(主被写体)が検出された場合、位置情報更新処理は、そのフレームにおいて主被写体領域内の特定の位置を主被写体位置として取得し、これを被写体追尾処理へ伝達する。例えば、位置情報更新部は、主被写体領域の中心または重心の位置情報(x,y)を主被写体位置として被写体追尾処理へと伝達する。なお、特定の位置の取得に用いられる主被写体領域とは、たとえば、検出された被写体領域であってもよいし、検出された被写体領域を内包する矩形であってもよい。被写体追尾処理は受け取った位置情報(主被写体位置)を元に、被写体追尾部のアルゴリズムに従って被写体追尾に最適な追尾枠を主被写体検出処理が検出した主被写体の領域とは無関係に再設定し、追尾を実行する。また既に追尾中の主被写体がある場合、位置情報更新処理は主被写体検出処理によって新たに検出された被写体の被写体評価値及び位置情報を元に情報更新すべきかどうかを判断する。
【0029】
以下に図7を用いて、位置情報更新処理における判断基準の一例について説明する。
【0030】
位置情報更新処理(S302)は、被写体追尾が行われていない場合には、上述のように主被写体の検出に応じてその位置を被写体追尾処理に提供する。被写体追尾処理が有る被写体を追尾している場合には、以下のような条件で、主被写体位置を被写体追尾処理に通知して追尾対象を変更させる。たとえば、図7(A)のように、Object1とObject2が画面内に存在する状態で、現在Object1が主被写体として判別され、被写体追尾処理によって追尾されているものとする。この状態で、以下のいずれかの条件を満たす場合は、位置情報更新部はObject2の位置情報(x2,y2)を新たな追尾対象として被写体追尾部へと伝達する。
・図7(B)のようにObject1が画面外にフレームアウトしてしまった場合。なお、フレームアウトの検出は、被写体追尾処理の追尾結果から得ることができる。
・図7(C)のようにObject1が画面の端へと移動し、Object2が画面内の中心に近い位置に存在すると共に、Object2の被写体評価値P2が所定の閾値P_Thを上回る場合(P2>P_Th)。(追尾位置が画面中心から遠く、画面中心にはobject2が存在する場合)
・Object1の評価値P1よりObject2の評価値P2が高い場合(P1<P2)。ただし、この場合、追尾中であるObject1位置(追尾位置)における重みを大きくして評価する。
【0031】
次に、被写体追尾処理について以下に詳細に説明する。上述の位置情報更新処理(S302)によって、主被写体の位置情報が更新された場合、被写体追尾処理(S303)は被写体追尾のアルゴリズムに従って被写体を追尾し、移動体を捕捉し続ける。図8は本実施形態による被写体追尾アルゴリズムを示すフローチャートである。また、図9は被写体追尾のシーンの一例として、主被写体を含む入力画像とそのブロック分割後の画像を示している。
【0032】
本実施形態による被写体追尾のアルゴリズムは、大きく分けてテンプレート(特徴画素)を決定するテンプレート設定部とテンプレートに類似する画像パターンを対象画像内から検出する追尾部に区別できる。尚、本実施形態における被写体追尾は色情報によるテンプレートマッチングによって被写体を追尾するものであり、誤追尾を抑えつつ、被写体の微小な色の変化や形状変化に耐性の強いテンプレートを適切に選択することが追尾性能を向上させる上で重要である。
【0033】
以下に、上述したテンプレート設定部の処理フローについて詳細に述べる。テンプレート設定部では、追尾処理で用いられるテンプレートを生成するための参照範囲を、主被写体検出処理によって取得された主被写体位置に基づいて、主被写体検出処理が検出した主被写体領域とは無関係に設定する。そして、テンプレート設定部は、この参照範囲の画像情報に基づいて、主被写体位置を追尾するためのテンプレートを生成する。本実施形態では、フレームを複数のブロックに分割し、これら複数のブロックから主被写体位置を含むブロックとその周囲のブロックからなる所定数のブロックの範囲を参照範囲として設定して、テンプレートの生成を行う。
【0034】
まず、ステップS401において、システム制御回路60は、画像内を複数のブロックに分割し、分割した各ブロック内の画素における画素情報平均値を算出し、各ブロックの代表値とする。以上の操作によって、図9(A)に示されるような入力画像401は、図9(b)に示されるような分解能の粗い画像403へと変換される。なお、被写体追尾処理のブロック分割(S401)と、主被写体検出処理のブロック分割(S101)は同じであっても、そうでなくてもよい。
【0035】
ここで、前述の主被写体検出処理によって検出された被写体の位置(主被写体位置)が座標402で与えられたものとする。ステップS402において、この座標402を元に、画像403上での被写体位置座標を含むブロック404及びその近傍8ブロックからなる領域405を、追尾対象の特徴候補色(参照範囲)として設定する。図10に示すように、領域405は、ブロックA〜I(ブロック404は、領域405の中心にあるブロックEに対応する)からなる9ブロックの領域である。そして、これら9つの特徴候補ブロックから追尾対象の特徴となりうる画素を抽出する作業を行う。なお、本実施形態では、一例として、図10に示したように全画面を32×24ブロックに分割している。これら9つの特徴候補ブロックから、追尾対象の特徴となりうるブロック、すなわち画像全体に対して特異性のあるブロックを抽出する作業を行う。まず、特徴候補の各ブロックと類似するブロックが画面内のどこにどの程度分布しているのかを調査する。本実施形態では、特徴候補のブロックと類似するブロックであるか否かの判定を、たとえば、特徴候補のブロックと同系色のブロックであるか否かの判定により行う。
【0036】
図11に、特徴候補画素A〜Iの類似色を画面内から抽出した結果の分布イメージを示す。図11中の網掛けで示されたブロックが各候補ブロックと類似色を有するブロックであることを示している。尚、ここでは以下の(式1)のように、特徴候補ブロックのR,G,Bの各成分の差分和のすべてが、所定の信号レベルThRGBの範囲内にあることをもって、類似色であると判断している。特徴候補ブロックのR,G,Bの各成分の差分和は、0〜255の値に設定される。
【数1】
ただし、ThRGB=30、n=特徴色(A…I)、x=水平座標(0…31)、y=垂直座標(0…23)である。
【0037】
図9に示したシーン例でボールを追尾対象としようとした場合、図11に示される分布から、ブロックB、C、Eは、周辺に類似色の分布が少ないことが分かり、特異性が大きく、ボールであることを特徴づける色と成り得ることが推測される。反面、ブロックGなどは、類似色画素が周辺に多く分布している様子が分かり、床面の色を抽出してしまっている可能性が高く、ボールの特徴と成り得るかは疑問である。よって、ブロックGを特徴候補から除外する。ここでは、特徴候補画素A〜Iから抽出された類似色画素の数に対する、画面全体から抽出された類似色画素の数の割合が、閾値以上となるブロックを特徴候補から除外する。このように9つの特徴候補ブロックのうち追尾対象として適切でないブロックを除外した上で、最終的に残ったブロック(1つまたは複数)を被写体に固有のテンプレートとして使用する。すなわち、参照範囲である所定数のブロックの各々の画像情報のフレームにおける特異性に基づいて追尾に用いるべきブロックを選択している。
【0038】
また上記の判別基準以外にも、
・同系色画素の面積が大き過ぎる特徴候補を除外する(図11(A))、
・同系色画素の一部が画面端にかかっている特徴候補は背景画像である可能性が高いと判断して候補から除外する(図11(I))、
・同系色が画面内に広く分布している特徴候補は、誤って背景を追尾してしまう誤追尾が発生しやすいと考えられるため候補から除外する(図11(D))、
といった基準のうち、少なくとも一つ以上の判別基準を組み合わせて特徴候補ブロックを抽出するようにしても良い。以上のような方法で抽出した特徴ブロックを中心(Center)として、図12のように上(U)下(D)左(L)右(R)のブロックを含めた5ブロックをテンプレート(追尾枠)と設定したテンプレートマッチングにより被写体追尾を実現する。テンプレートは、候補ブロックから追尾に適切であるものとして抽出されたブロックの数だけ生成される。尚、特徴画素が複数残る場合は、同系色の分散、面積、彩度のいずれかの情報を用いて最も適切なテンプレートを選択する。また、後述する追尾部において、最初の追尾の際に複数のテンプレートを使用してテンプレートごとにパターンマッチングを行い、被写体位置の補足精度を高めてもよい。
【0039】
次に被写体追尾処理における追尾部の動作について詳細に説明する。基本的な追尾概念は、上記テンプレート設定部において特徴ブロック(テンプレート)として記憶した特徴色RGBと類似する画素を対象画面内(後続するフレーム内)から探索し、類似度が高い画素位置を追尾対象位置とするものである。また、追尾対象と同系色の色を持つ別の追尾対象が画面内に存在する場合や、追尾対象と類似する色が背景に存在していた場合、前回の追尾対象検出位置に近い程、類似度が高くなるように前回の検出位置座標を考慮した類似度算出を行う。追尾対象の検出結果のハンチングや、同系色背景への誤追尾を防ぐためである。
【0040】
まず、図8のステップS403において、システム制御回路60は、前回の追尾対象検出位置に近い程、類似度を高くして優先的に追尾対象位置とするために、重みテーブルを生成する。重みテーブルは前回の追尾対象検出位置を基点とし、画面内の各位置において基点との距離に応じて重み量が設定されるようにするものであり、距離に応じた重みの変化量は様々な条件に応じて適応的に変化させるものとする。図13に(式2)によって求めた距離rに応じた重みテーブルの設計カーブの例を示す。
【数2】
(xt-1,yt-1):前回の追尾対象検出位置
【0041】
また図14は図13の設計カーブを元に、32×24のブロックに展開した重みテーブルの例を示している。図14中の前回検出位置を中心として距離別の重みテーブルを設定すると、ある一定以上の距離は重みが0になるため、実質探索を行う必要がない。このように重みテーブルの設計によっては、誤追尾の可能性を低減することができると共に、実質的な探索領域を狭め、マッチング演算の負荷を減らすことができる。ただし、探索領域を狭くしすぎると動きの速い物体を追尾できないなどの問題が発生するため、充分に留意して設計する必要がある。
【0042】
次に図8のステップS404において、システム制御回路60は、処理対象の画像をテンプレート生成時と同様にブロック分割し、ステップS403で定めた探索領域内を走査してテンプレートと類似度の高い追尾対象位置を探索する。図12のようにテンプレートの中心ブロック(C)とその上(U)・下(D)・左(L)・右(R)4ブロックのRGB値をそれぞれC(Rc,Gc,Bc),U(Ru,Gu,Bu),D(Rd,Gd,Bd),L(Rl,Gl,Bl),R(Rr,Gr,Br)とする。同様にマッチング対象ブロック及びその上下左右ブロックのRGB値をC'(Rc',Gc',Bc'),U'(Ru',Gu',Bu'),D'(Rd',Gd',Bd'),L'(Rl',Gl',Bl'),R'(Rr',Gr',Br')とする。すると、評価値P1は以下の(式3)で示すような各画素におけるテンプレートとのRGB値の差分和で表現することができる。
【数3】
【0043】
ここでα、β、γはRGBごとに重みを与えるものであり、α=β=γと設定することでRGBを等価に扱うことができる。評価値P1の値が小さくなるほど、その座標(x,y)における特徴色とテンプレートとの差が小さい、すなわち類似性が高いということになる。そこで、本実施形態では、式3により得られた評価値P1を図15のような変換テーブルの入力値として使用し、出力評価値P2を得る。次に、システム制御回路60は、以下の式4のように、出力評価値P2にステップS403で求めた重みテーブルにより与えられる重み値w(x,y)を乗算することにより座標(x,y)におけるテンプレートとの類似度Psを求める。
【数4】
【0044】
上記類似度Psはテンプレートとの一致度が高いほど値が大きくなるため、探索領域内のすべての画素について上記類似度を求め、最も類似度の高い座標を被写体位置として決定する。
【0045】
最後に、ステップS405において、システム制御回路60は、ステップS404で得られた追尾結果を元に露出・液晶表示などの各種情報を更新すると共に、新しい被写体座標を中心とした上下左右の画素を新たなテンプレートとして保存する。以下同様に更新されたテンプレートを元に順次フレームごとに被写体追尾を実行し、被写体を捕捉し続けることができる。以上の追尾部の処理(ステップS403〜S405)は、位置情報更新処理(S302)により新たな被写体情報が提供されるまで、あるいは、追尾の対象がフレームアウトするなどして、追尾不能となるまで繰り返される(ステップS406)。新しい被写体情報が位置情報更新処理から提供されると、被写体追尾処理では、図8に示す処理の先頭から、すなわちテンプレート設定部からの処理を実行する。
【0046】
以上のように、上記実施形態の構成によれば、自動的に主被写体を検出し、主被写体の位置情報を元に被写体追尾のテンプレートを再設定し、被写体追尾に最適なテンプレートを使用して被写体追尾が行われる。このような構成により、ユーザの関心の高い被写体が動いている場合においても、高い精度で追尾し続けることが可能である。
【0047】
また、以上に本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0048】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出する検出手段と、
前記フレームにおける前記主被写体領域内の特定の位置を主被写体位置として取得する取得手段と、
追尾処理で用いられるテンプレートを生成するための前記フレームにおける参照範囲を、前記取得手段で取得された前記主被写体位置に基づいて、前記主被写体領域とは無関係に設定する設定手段と、
前記設定手段で設定された前記参照範囲の画像情報に基づいて、前記主被写体位置を追尾するためのテンプレートを生成する生成手段と、
前記フレームに後続するフレームについて、前記生成手段で生成された前記テンプレートを用いて前記追尾処理を実行する追尾手段と、を備えることを特徴とする画像処理装置。
【請求項2】
前記設定手段は、
前記フレームを複数のブロックに分割し、
前記複数のブロックから前記主被写体位置を含むブロックとその周囲のブロックからなる所定数のブロックの範囲を前記参照範囲として設定する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記生成手段は、
前記所定数のブロックの各々の画像情報の前記フレームにおける特異性に基づいて追尾に用いるべきブロックを選択し、
選択されたブロックを中心としてテンプレートを生成する、
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記テンプレートは、前記選択されたブロックと、前記選択されたブロックに隣接するブロックとで構成されることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記検出手段は、同系色の連続する領域を同じ被写体領域であると認識し、認識された被写体領域の一つを前記主被写体領域として検出し、
前記追尾手段は、前記テンプレートを用いたパターンマッチングにより被写体の追尾を実行することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記取得手段は、前記被写体領域の中心または重心を前記被写体位置として取得することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記検出手段は、
前記フレームにおいて認識された被写体領域の大きさと位置、および前記追尾処理により得られた追尾位置に基づいて主被写体が別の被写体に切り替わったか否かを判定し、
主被写体が別の被写体に切り替わったと判定された場合に、前記取得手段、前記設定手段、前記生成手段を機能させることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
画像処理装置の制御方法であって、
検出手段が、動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出する検出工程と、
取得手段が、前記フレームにおける前記主被写体領域内の特定の位置を主被写体位置として取得する取得工程と、
設定手段が、追尾処理で用いられるテンプレートを生成するための前記フレームにおける参照範囲を、前記取得工程で取得された前記主被写体位置に基づいて、前記主被写体領域とは無関係に設定する設定工程と、
生成手段が、前記設定工程で設定された前記参照範囲の画像情報に基づいて、前記主被写体位置を追尾するためのテンプレートを生成する生成工程と、
追尾手段が、前記フレームに後続するフレームについて、前記生成手段で生成された前記テンプレートを用いて前記追尾処理を実行する追尾工程と、を有することを特徴とする画像処理装置の制御方法。
【請求項9】
コンピュータを、請求項1乃至7のいずれか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項1】
動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出する検出手段と、
前記フレームにおける前記主被写体領域内の特定の位置を主被写体位置として取得する取得手段と、
追尾処理で用いられるテンプレートを生成するための前記フレームにおける参照範囲を、前記取得手段で取得された前記主被写体位置に基づいて、前記主被写体領域とは無関係に設定する設定手段と、
前記設定手段で設定された前記参照範囲の画像情報に基づいて、前記主被写体位置を追尾するためのテンプレートを生成する生成手段と、
前記フレームに後続するフレームについて、前記生成手段で生成された前記テンプレートを用いて前記追尾処理を実行する追尾手段と、を備えることを特徴とする画像処理装置。
【請求項2】
前記設定手段は、
前記フレームを複数のブロックに分割し、
前記複数のブロックから前記主被写体位置を含むブロックとその周囲のブロックからなる所定数のブロックの範囲を前記参照範囲として設定する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記生成手段は、
前記所定数のブロックの各々の画像情報の前記フレームにおける特異性に基づいて追尾に用いるべきブロックを選択し、
選択されたブロックを中心としてテンプレートを生成する、
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記テンプレートは、前記選択されたブロックと、前記選択されたブロックに隣接するブロックとで構成されることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記検出手段は、同系色の連続する領域を同じ被写体領域であると認識し、認識された被写体領域の一つを前記主被写体領域として検出し、
前記追尾手段は、前記テンプレートを用いたパターンマッチングにより被写体の追尾を実行することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記取得手段は、前記被写体領域の中心または重心を前記被写体位置として取得することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記検出手段は、
前記フレームにおいて認識された被写体領域の大きさと位置、および前記追尾処理により得られた追尾位置に基づいて主被写体が別の被写体に切り替わったか否かを判定し、
主被写体が別の被写体に切り替わったと判定された場合に、前記取得手段、前記設定手段、前記生成手段を機能させることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
画像処理装置の制御方法であって、
検出手段が、動画像のフレームからユーザの関心が高い被写体の領域である主被写体領域を検出する検出工程と、
取得手段が、前記フレームにおける前記主被写体領域内の特定の位置を主被写体位置として取得する取得工程と、
設定手段が、追尾処理で用いられるテンプレートを生成するための前記フレームにおける参照範囲を、前記取得工程で取得された前記主被写体位置に基づいて、前記主被写体領域とは無関係に設定する設定工程と、
生成手段が、前記設定工程で設定された前記参照範囲の画像情報に基づいて、前記主被写体位置を追尾するためのテンプレートを生成する生成工程と、
追尾手段が、前記フレームに後続するフレームについて、前記生成手段で生成された前記テンプレートを用いて前記追尾処理を実行する追尾工程と、を有することを特徴とする画像処理装置の制御方法。
【請求項9】
コンピュータを、請求項1乃至7のいずれか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図8】
【図12】
【図13】
【図15】
【図7】
【図9】
【図10】
【図11】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図8】
【図12】
【図13】
【図15】
【図7】
【図9】
【図10】
【図11】
【図14】
【公開番号】特開2012−138845(P2012−138845A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−291130(P2010−291130)
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]