被写体追跡プログラムおよび被写体追跡装置
【課題】時系列に入力されるフレーム画像において適切に主要被写体を追跡すること。
【解決手段】被写体追跡プログラムは、時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数の要素画像を生成する要素画像生成処理と、複数の要素画像をそれぞれ2値化して複数の2値化要素画像を生成する2値化要素画像生成処理と、複数の2値化要素画像を論理積演算する論理積演算処理と、論理積演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定する特定処理と、特定処理で特定された範囲と所定範囲との論理積演算に基づいて特定された範囲を縮小する縮小処理と、前フレーム画像において縮小処理で縮小された範囲を膨張させて所定範囲を得るモルフォロジー処理と、をコンピュータに実行させる。
【解決手段】被写体追跡プログラムは、時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数の要素画像を生成する要素画像生成処理と、複数の要素画像をそれぞれ2値化して複数の2値化要素画像を生成する2値化要素画像生成処理と、複数の2値化要素画像を論理積演算する論理積演算処理と、論理積演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定する特定処理と、特定処理で特定された範囲と所定範囲との論理積演算に基づいて特定された範囲を縮小する縮小処理と、前フレーム画像において縮小処理で縮小された範囲を膨張させて所定範囲を得るモルフォロジー処理と、をコンピュータに実行させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体追跡プログラムおよび被写体追跡装置に関する。
【背景技術】
【0002】
時系列に入力されるフレーム画像内でテンプレート画像と類似度が高い画像の位置を探索することにより、各フレームにおいて主要被写体の位置を特定する被写体追跡技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−299834号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、特定した位置に主要被写体以外の背景部分が含まれるため、被写体の位置が不明確になるという問題があった。
【課題を解決するための手段】
【0005】
本発明による被写体追跡プログラムは、コンピュータに、時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数の要素画像を生成する要素画像生成処理と、複数の要素画像をそれぞれ2値化して複数の2値化要素画像を生成する2値化要素画像生成処理と、複数の2値化要素画像を論理積演算する論理積演算処理と、論理積演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定する特定処理と、特定処理で特定された範囲と所定範囲との論理積演算に基づいて特定された範囲を縮小する縮小処理と、前フレーム画像において縮小処理で縮小された範囲を膨張させて所定範囲を得るモルフォロジー処理と、を実行させることを特徴とする。
本発明による被写体追跡プログラムは、コンピュータに、テンプレート内の主要被写体の2値化画像を膨張させるモルフォロジー処理と、モルフォロジー処理による膨張後の2値化画像を包絡する範囲を探索領域に決定する探索領域決定処理と、時系列で入力される各フレーム画像のうち探索領域内で探索枠を移動させながら、各探索枠位置における探索枠内の画像とテンプレートとの類似度を算出する類似度算出処理と、類似度が最も高い探索枠の位置を主要被写体の位置として特定する特定処理と、を実行させることを特徴とする。
【発明の効果】
【0006】
本発明によれば、時系列に入力されるフレーム画像において適切に主要被写体を追跡できる。
【図面の簡単な説明】
【0007】
【図1】第一の実施形態におけるカメラの構成を例示するブロック図である。
【図2】第一の実施形態における制御装置の処理を示すフローチャートである。
【図3】2値化したYプレーン画像を例示する図である。
【図4】2値化したCbプレーン画像を例示する図である。
【図5】2値化したCrプレーン画像を例示する図である。
【図6】第一のAND演算後の2値化画像を例示する図である。
【図7】従来技術による2値化画像を例示する図である。
【図8】膨張処理後の2値化画像を例示する図である。
【図9】第二のAND演算後の2値化画像を例示する図である。
【図10】フレーム画像に表示したターゲット枠を例示する図である。
【図11】主要被写体を含むを含む範囲を例示する図である。
【図12】テンプレートを例示する図である。
【図13】テンプレートマッチングを説明する図である。
【図14】背景ノイズを例示する図である。
【図15】膨張マスクDを例示する図である。
【図16】背景ノイズカットを説明する図である。
【図17】膨張マスクDを包絡する枠を探索領域を説明する図である。
【図18】探索領域内での最初のテンプレートの位置を示す図である。
【図19】探索領域内での最後のテンプレートの位置を示す図である。
【図20】1回のマッチング演算時のテンプレートの移動量を示す図である。
【図21】第二の実施形態における制御装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明を実施するための形態について説明する。
(第一の実施形態)
図1は、第一の実施形態における被写体追跡装置としてカメラを使用した場合の一実施の形態の構成を例示するブロック図である。第一の実施形態では、ラベリング手法を用いて被写体を追跡する。カメラ100は、操作部材101と、レンズ102と、撮像素子103と、制御装置104と、メモリカードスロット105と、モニタ106とを備えている。操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズスイッチ、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含む。
【0009】
レンズ102は、複数の光学レンズ群から構成されるが、図1では代表して1枚のレンズで表している。撮像素子103は、例えばCCDやCMOSイメージセンサによって構成され、レンズ102により結像した被写体像を撮像して画像を取得する。そして、取得した画像のデータ(画像データ)を制御装置104へ出力する。制御装置104は、撮像素子103で取得された画像データを所定の画像形式、例えばJpeg形式に圧縮し、Exif(Exchangeable Image File Format for Digital Still Camera)等の所定の形式の画像ファイルを生成してメモリカードスロット105へ出力する。
【0010】
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置104から出力された画像ファイルをメモリカードに書き込んで記録する。また、制御装置104からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込む。
【0011】
モニタ106は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)であり、当該モニタ106には、メモリカードに記憶されている画像やカメラ100を設定するための設定メニューなどが表示される。また、制御装置104は、撮像素子103から時系列で画像を取得してモニタ106に出力する。これによって、モニタ106には、各フレームの画像が所定時間間隔で順番に表示される。すなわちモニタ106には画像が表示される。
【0012】
制御装置104は、CPU、メモリ、およびその他の周辺回路により構成され、後述する演算部104aを機能的に備えている。なお、制御装置104を構成するメモリには、プログラムを格納するメモリ、ワークメモリ、バッファメモリとして使用するメモリを含む。例えばフラッシュメモリや、RAM、SDRAMなどである。
【0013】
図2は、第一の実施形態におけるカメラ100の処理を示すフローチャートである。図2に示す処理は、撮像素子103から画像の入力が開始されると起動するプログラムとして、制御装置104内の演算部104aによって実行される。
【0014】
図2のステップS51において、制御装置104の演算部104aは、フレーム画像を読み込んでステップS52へ進む。ステップS52において、演算部104aは、使用者からの指示に基づいて、読み込んだフレーム画像から所定範囲内の画像を抽出し、ステップS53へ進む。
【0015】
ステップS53において、演算部104aは、抽出画像に基づいてYCbCr形式の画像を算出し、Y成分の画像(Yプレーン画像)、Cr成分の画像(Crプレーン画像)、および、Cb成分の画像(Cbプレーン画像)をそれぞれ生成する。具体的には、RGB表色系で表されている対象画像を次式(1)〜(3)を用いてYCbCr色空間における輝度成分(Y成分)からなる輝度画像と色差成分(Cb成分、Cr成分)とからなる色差画像とに変換する。
【0016】
すなわち、演算部104aは、抽出画像から次式(1)を用いてY成分からなる輝度画像をYプレーン画像として生成する。演算部104aはさらに、抽出画像から次式(2)および(3)を用いてCb成分からなる色差画像とCr成分からなる色差画像とをそれぞれCbプレーン画像、およびCrプレーン画像として生成し、ステップS54へ進む。
Y = 0.299R+0.587G+0.114B ・・・(1)
Cb=−0.169R−0.332G+0.500B ・・・(2)
Cr= 0.500R−0.419G−0.081B ・・・(3)
【0017】
ステップS54では、演算部104aは2値化演算を行う。演算部104aは、Yプレーン画像、Cbプレーン画像、およびCrプレーン画像において、たとえば、各々の平均値を閾値として2値化した2値化画像を算出し、ステップS55へ進む。図3は、2値化したYプレーン画像を例示する図である。図4は、2値化したCbプレーン画像を例示する図である。図5は、2値化したCrプレーン画像を例示する図である。なお、2値化に用いる閾値は、各々の平均値に標準偏差σに係数を掛けたものを加減算したものでもよい。
【0018】
ステップS55において、演算部104aは第一のAND演算を行う。具体的には、2値化後の各プレーン画像を画素ごとに論理積演算してステップS56へ進む。図6は、2値化したYプレーン画像、Cbプレーン画像、およびCrプレーン画像を第一のAND演算した2値化画像を例示する図である。
【0019】
ステップS56において、演算部104aは、第一のAND演算後の2値化画像に対し、公知のラベリング処理を行い白画素で構成されるラベリング領域を「島」として認識する。選択処理は、上記抽出したラベリング領域のうち、所定の評価処理によって被写体により近い島を選択する。
【0020】
ステップS57において、演算部104aは、最初のフレームか否かを判定する。演算部104aは、最初のフレームでない(すなわち2フレーム目以降である)場合はステップS57を否定判定してステップS58へ進む。演算部104aは、最初のフレームの場合はステップS57を肯定判定してステップS59へ進む。
【0021】
ステップS58において、演算部104aは第二のAND演算を行う。具体的には、ラベリング、選択処理後の2値化画像と、前フレームで膨張処理した2値化画像(図8)とを論理積演算してステップS59へ進む。図9は、第二のAND演算後の2値化画像を例示する図である。図9において白画素のまとまりを囲む枠は、主要被写体が存在する範囲を明示するためのターゲット枠である。
【0022】
ステップS59において、演算部104aは、第二のAND後の2値化画像に対してモルフォロジーによる膨張処理を行う。図8は、膨張処理後の2値化画像を例示する図である。なお、ステップS57を肯定判定した場合の演算部104aは、最初のフレームの2値化画像に対してモルフォロジーによる膨張処理を行う。
【0023】
ステップS60において、演算部104aは、上記ターゲット枠をフレーム画像上に表示し、ステップS61へ進む。図10は、フレーム画像上のターゲット枠151を例示する図である。ターゲット枠151は、2値化画像において主要被写体を示す「島」である白領域を囲む包絡枠に相当する。第一の実施形態では、ターゲット枠151で囲まれる範囲が追跡結果(主要被写体が存在する範囲)となる。
【0024】
ステップS61において、演算部104aは、フレーム終了か否かを判定する。演算部104aは、画像の入力が終了した場合にステップS61を肯定判定して図2による処理を終了する。演算部104aは、画像の入力が終了していない場合には、ステップS61を否定判定してステップS51へ戻る。ステップS51へ戻る場合は次フレームの読込みを行って上述した処理を繰り返す。
【0025】
以上説明した第一の実施形態によれば、以下のような作用効果を得ることができる。
(1)カメラ100は、時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数のプレーン画像Y、Cb、Crを生成する要素画像生成処理と、複数のプレーン画像Y、Cb、Crをそれぞれ2値化して複数の2値化プレーン画像を生成する2値化演算処理と、複数の2値化プレーン画像を論理積演算する第1のAND演算処理と、第1のAND演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定するラベリング、選択処理と、ラベリング、選択処理で特定された範囲と所定範囲との論理積演算に基づいて特定された範囲を縮小する第2のAND演算処理と、前フレーム画像において縮小処理で縮小された範囲を膨張させて所定範囲を得る膨張処理と、を演算部104aに実行させる被写体追跡プログラムを搭載したので、時系列に入力されるフレーム画像において適切に主要被写体を追跡できる。
【0026】
上述した第二のAND演算後の2値化画像(図9)と、第二のAND演算を行わない場合との比較例を説明する。図7は、第1のAND演算後の2値化画像(図6)に対してラベリング、選択処理を施す従来技術による2値化画像を例示する図である。図7と図9とを比較すると、第二のAND演算後の2値化画像(図9)の方が主要被写体が存在する範囲(すなわち、白画素のまとまり)が小さく、精度よく主要被写体を追跡できることがわかる。主要被写体が存在する範囲(すなわち、白画素のまとまり)を小さくできるので、主要被写体以外の背景ノイズなどを含む可能性が低く抑えられる。
【0027】
(2)上記(1)の被写体追跡プログラムにおいて、要素画像生成処理は、輝度画像Yおよび色差画像Cb、Crをそれぞれ生成するので、主要被写体追跡に適した要素画像が得られる。
【0028】
(第二の実施形態)
第二の実施形態では、制御部104aが撮像素子103から入力される各フレーム画像に対してテンプレートマッチング処理を行って、フレーム画像内で主要被写体が写っている領域を特定する。そして、特定した領域をフレーム間で追跡する。具体的には、次のように処理する。
【0029】
図11は、モニタ106に表示されたフレーム画像を例示する図である。例えば、使用者は、最初のフレーム画像のスルー画がモニタ106に表示されたときに、操作部材101を操作して、最初のフレーム内で、フレーム間で追跡したい被写体(主要被写体Aと呼ぶ)を含む範囲Eを指定する。演算部104aは、使用者によって指定された範囲E内の画像を抽出し、テンプレートTとしてメモリに記憶する。図12は、テンプレートTを例示する図である。
【0030】
演算部104aは、図13に例示するように、テンプレートTと撮像素子103から時系列で入力される各フレームの画像データ(ターゲット画像Iと呼ぶ)との間でマッチング演算を行う。具体的には、テンプレートTを用いてターゲット画像I内における主要被写体位置を特定する。
【0031】
テンプレートマッチングの手法は公知であるため詳細な説明は省略するが、類似度の算出は、たとえば次式(4)に示す残差和や次式(5)に示す正規化相関により算出できる。次式(4)に示す残差和により類似度を算出した場合は、算出されるrが小さいほどテンプレートTとターゲット画像Iとの類似度が高いことを示している。一方、次式(5)に示す正規化相関により類似度を算出した場合は、算出されるrが大きいほどテンプレートTとターゲット画像Iとの類似度が高いことを示している。
【数1】
【数2】
【0032】
演算部104aは、撮像素子103からの画像の入力が開始されると、各フレーム(コマ)の画像をターゲット画像Iとし、当該ターゲット画像I上の所定の位置にテンプレートTと同じ大きさの探索枠Bを設定する。演算部104aは、設定した探索枠Bをターゲット画像I内で移動させながら、各位置における探索枠B内の画像と、テンプレートTとのマッチング演算を行なう。マッチング演算の結果、テンプレートTとの間で最も類似度の高い探索枠Bの位置を被写体位置として特定する。
【0033】
なお、第二の実施形態の演算部104aは、ターゲット画像Iの全体ではなく、フレーム画像内からテンプレートTを抽出した範囲Eを含む所定範囲(探索領域S2と呼ぶ)を対象にテンプレートマッチングを行う。このように探索領域S2のサイズをターゲット画像Iより小さくするのは、画面全体を追尾対象とすると処理時間がかかる上、背景による擬似マッチングが起きやすいことから、これらを避けるためである。探索領域S2のサイズの決め方は後述する。
【0034】
ところで、図12のような主要被写体A以外の部分を多く含むテンプレートTでは、マッチング演算時に使用するターゲット画像Iの状態によっては図14のように背景ノイズが混入しやすくマッチング精度が出ないことが多い。そのため図15に示すような、主要被写体Aに公知のモルフォロジー(数理形態学)の膨張処理を施した膨張マスクDを設定する。すなわち、テンプレートTを2値化し、該2値化画像を膨張させて膨張マスクDを得る。膨張マスクDは、図15に示すように内側の画素がすべて1、外側がすべて0にしてある。この膨張マスクDと、ターゲット画像IをAND演算することにより、ターゲット画像Iに含まれる背景ノイズをカットする。図16は、背景ノイズカットを説明する図である。図16によれば、ターゲット画像Iのうち膨張マスクDの内部(画素1)の画像のみが残り、外部(画素0)の背景ノイズを含む画像が消去される。
【0035】
膨張マスクDを採用する場合の演算部104aは、図17に示すように、主要被写体Aを中心として膨張マスクDを包絡する枠を探索領域S2とする。図18は探索領域S2内での最初のテンプレートTの位置を示し、図19は探索領域S2内での最後のテンプレートTの位置を示す。テンプレートT内において膨張マスクDの外側に相当する部分、つまりテンプレートTの右下と左上の部分は、マッチング演算の対象から除外できる。
【0036】
図20に、1回のマッチング演算時のテンプレートTの移動量X2、Y2を示す。膨張マスクDを採用する第二の実施形態では、探索領域S2のサイズは一意的に決まる。また、膨張マスクDによる探索領域S2のサイズは、従来のマッチング演算で用いた探索領域より小さくなることが多いことが実験で示されている。このように膨張マスクDを導入することで、背景ノイズの削減だけでなくマッチング演算の短縮も可能となる。
【0037】
演算部104aは、上述した処理を、入力される各フレーム画像に対して実行する。演算部104aは、マッチング演算によって特定された主要被写体位置のうち、マッチング時の類似度が最も高い位置を被写体位置とする。そして、この被写体位置を追跡対象としてターゲット枠を表示し、各フレーム間で被写体追跡を行うことができる。
【0038】
図21は、第二の実施形態におけるカメラ100の処理を示すフローチャートである。図21に示す処理は、撮像素子103から画像の入力が開始されると起動するプログラムとして、制御装置104の演算部104aによって実行される。
【0039】
図21のステップS11において、演算部104aは、フレーム画像を読み込んで、ステップS12へ進む。ステップS12では、演算部104aは、使用者からの指示に基づいて、フレーム画像から所定範囲内の画像を抽出し、ステップS13へ進む。
【0040】
ステップS13において、演算部104aは、最初のフレームか否かを判定する。演算部104aは、最初のフレームでない(すなわち2フレーム目以降である)場合はステップS13を否定判定してステップS14へ進む。演算部104aは、最初のフレームの場合はステップS13を肯定判定してステップS18へ進む。
【0041】
ステップS14において、演算部104aは2値化演算を行う。演算部104aは、上記所定範囲内の画像を2値化した2値化画像を算出し、ステップS15へ進む。ステップS15において、演算部104aは、2値化画像に対してモルフォロジーによる膨張処理を行い、膨張マスクDを設定してステップS16へ進む。ステップS16において、演算部104aは 膨張マスクDを包絡する枠を探索領域S2としてステップS17へ進む。ステップS17において、演算部104aはマッチング演算を行ってステップS18へ進む。
【0042】
ステップS18において、演算部104aは、主要被写体が存在する範囲を明示するためのターゲット枠をフレーム画像上に表示し、ステップS19へ進む。ステップS19において、演算部104aは、フレーム終了か否かを判定する。演算部104aは、画像の入力が終了した場合にステップS19を肯定判定して図21による処理を終了する。演算部104aは、画像の入力が終了していない場合には、ステップS19を否定判定してステップS11へ戻る。ステップS11へ戻る場合は次フレームの読込みを行って上述した処理を繰り返す。
【0043】
以上説明した第二の実施形態によれば、以下のような作用効果を得ることができる。
(1)カメラ100は、テンプレートT内の主要被写体Aの2値化画像を膨張させるモルフォロジー処理と、モルフォロジー処理による膨張後の2値化画像を包絡する範囲を探索領域S2に決定する探索領域決定処理と、時系列で入力される各フレーム画像のうち探索領域S2内で探索枠Bを移動させながら、各探索枠位置における探索枠B内の画像とテンプレートTとの類似度を算出する類似度算出処理と、類似度が最も高い探索枠Bの位置を主要被写体の位置として特定する特定処理と、を制御装置104に実行させる被写体追跡プログラムを搭載したので、時系列に入力されるフレーム画像において適切に主要被写体を追跡できる。
【0044】
(2)上記(1)の被写体追跡プログラムにおいて、フレーム画像から膨張後の2値化画像に基づいて画像を抽出する膨張マスク処理をさらに備え、類似度算出処理は、時系列で入力される各フレーム画像のうち探索領域S2内で探索枠Bを移動させながら、各探索枠位置における探索枠B内で膨張マスク処理後の画像とテンプレートTとの類似度を算出するようにしたので、フレーム画像において仮に主要被写体A以外の背景ノイズが含まれる場合でも、この背景ノイズをカットして適切に主要被写体Aを追跡できる。
【0045】
(変形例)
上述した実施形態では、カメラ100の制御装置104が被写体追跡処理を行う例を説明したが、被写体追跡処理をコンピュータに行わせるように構成するようにしてもよい。図2、図21に例示したフローチャートに基づく処理を行うプログラムをコンピュータに実行させることにより、被写体追跡装置を構成する。プログラムをコンピュータに取込んで使用する場合には、コンピュータのデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させる。
【0046】
コンピュータに対するプログラムのローディングは、プログラムを格納したCD−ROMなどの記憶媒体をコンピュータにセットして行ってもよいし、ネットワークなどの通信回線を経由する方法でコンピュータへローディングしてもよい。通信回線を経由する場合は、通信回線に接続されたサーバー(コンピュータ)のストレージ装置などにプログラムを格納しておく。プログラムは、記憶媒体や通信回線を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【0047】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。
【符号の説明】
【0048】
100…カメラ
101…操作部材
104…制御装置
104a…演算部
106…モニタ
【技術分野】
【0001】
本発明は、被写体追跡プログラムおよび被写体追跡装置に関する。
【背景技術】
【0002】
時系列に入力されるフレーム画像内でテンプレート画像と類似度が高い画像の位置を探索することにより、各フレームにおいて主要被写体の位置を特定する被写体追跡技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−299834号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、特定した位置に主要被写体以外の背景部分が含まれるため、被写体の位置が不明確になるという問題があった。
【課題を解決するための手段】
【0005】
本発明による被写体追跡プログラムは、コンピュータに、時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数の要素画像を生成する要素画像生成処理と、複数の要素画像をそれぞれ2値化して複数の2値化要素画像を生成する2値化要素画像生成処理と、複数の2値化要素画像を論理積演算する論理積演算処理と、論理積演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定する特定処理と、特定処理で特定された範囲と所定範囲との論理積演算に基づいて特定された範囲を縮小する縮小処理と、前フレーム画像において縮小処理で縮小された範囲を膨張させて所定範囲を得るモルフォロジー処理と、を実行させることを特徴とする。
本発明による被写体追跡プログラムは、コンピュータに、テンプレート内の主要被写体の2値化画像を膨張させるモルフォロジー処理と、モルフォロジー処理による膨張後の2値化画像を包絡する範囲を探索領域に決定する探索領域決定処理と、時系列で入力される各フレーム画像のうち探索領域内で探索枠を移動させながら、各探索枠位置における探索枠内の画像とテンプレートとの類似度を算出する類似度算出処理と、類似度が最も高い探索枠の位置を主要被写体の位置として特定する特定処理と、を実行させることを特徴とする。
【発明の効果】
【0006】
本発明によれば、時系列に入力されるフレーム画像において適切に主要被写体を追跡できる。
【図面の簡単な説明】
【0007】
【図1】第一の実施形態におけるカメラの構成を例示するブロック図である。
【図2】第一の実施形態における制御装置の処理を示すフローチャートである。
【図3】2値化したYプレーン画像を例示する図である。
【図4】2値化したCbプレーン画像を例示する図である。
【図5】2値化したCrプレーン画像を例示する図である。
【図6】第一のAND演算後の2値化画像を例示する図である。
【図7】従来技術による2値化画像を例示する図である。
【図8】膨張処理後の2値化画像を例示する図である。
【図9】第二のAND演算後の2値化画像を例示する図である。
【図10】フレーム画像に表示したターゲット枠を例示する図である。
【図11】主要被写体を含むを含む範囲を例示する図である。
【図12】テンプレートを例示する図である。
【図13】テンプレートマッチングを説明する図である。
【図14】背景ノイズを例示する図である。
【図15】膨張マスクDを例示する図である。
【図16】背景ノイズカットを説明する図である。
【図17】膨張マスクDを包絡する枠を探索領域を説明する図である。
【図18】探索領域内での最初のテンプレートの位置を示す図である。
【図19】探索領域内での最後のテンプレートの位置を示す図である。
【図20】1回のマッチング演算時のテンプレートの移動量を示す図である。
【図21】第二の実施形態における制御装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明を実施するための形態について説明する。
(第一の実施形態)
図1は、第一の実施形態における被写体追跡装置としてカメラを使用した場合の一実施の形態の構成を例示するブロック図である。第一の実施形態では、ラベリング手法を用いて被写体を追跡する。カメラ100は、操作部材101と、レンズ102と、撮像素子103と、制御装置104と、メモリカードスロット105と、モニタ106とを備えている。操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズスイッチ、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含む。
【0009】
レンズ102は、複数の光学レンズ群から構成されるが、図1では代表して1枚のレンズで表している。撮像素子103は、例えばCCDやCMOSイメージセンサによって構成され、レンズ102により結像した被写体像を撮像して画像を取得する。そして、取得した画像のデータ(画像データ)を制御装置104へ出力する。制御装置104は、撮像素子103で取得された画像データを所定の画像形式、例えばJpeg形式に圧縮し、Exif(Exchangeable Image File Format for Digital Still Camera)等の所定の形式の画像ファイルを生成してメモリカードスロット105へ出力する。
【0010】
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置104から出力された画像ファイルをメモリカードに書き込んで記録する。また、制御装置104からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込む。
【0011】
モニタ106は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)であり、当該モニタ106には、メモリカードに記憶されている画像やカメラ100を設定するための設定メニューなどが表示される。また、制御装置104は、撮像素子103から時系列で画像を取得してモニタ106に出力する。これによって、モニタ106には、各フレームの画像が所定時間間隔で順番に表示される。すなわちモニタ106には画像が表示される。
【0012】
制御装置104は、CPU、メモリ、およびその他の周辺回路により構成され、後述する演算部104aを機能的に備えている。なお、制御装置104を構成するメモリには、プログラムを格納するメモリ、ワークメモリ、バッファメモリとして使用するメモリを含む。例えばフラッシュメモリや、RAM、SDRAMなどである。
【0013】
図2は、第一の実施形態におけるカメラ100の処理を示すフローチャートである。図2に示す処理は、撮像素子103から画像の入力が開始されると起動するプログラムとして、制御装置104内の演算部104aによって実行される。
【0014】
図2のステップS51において、制御装置104の演算部104aは、フレーム画像を読み込んでステップS52へ進む。ステップS52において、演算部104aは、使用者からの指示に基づいて、読み込んだフレーム画像から所定範囲内の画像を抽出し、ステップS53へ進む。
【0015】
ステップS53において、演算部104aは、抽出画像に基づいてYCbCr形式の画像を算出し、Y成分の画像(Yプレーン画像)、Cr成分の画像(Crプレーン画像)、および、Cb成分の画像(Cbプレーン画像)をそれぞれ生成する。具体的には、RGB表色系で表されている対象画像を次式(1)〜(3)を用いてYCbCr色空間における輝度成分(Y成分)からなる輝度画像と色差成分(Cb成分、Cr成分)とからなる色差画像とに変換する。
【0016】
すなわち、演算部104aは、抽出画像から次式(1)を用いてY成分からなる輝度画像をYプレーン画像として生成する。演算部104aはさらに、抽出画像から次式(2)および(3)を用いてCb成分からなる色差画像とCr成分からなる色差画像とをそれぞれCbプレーン画像、およびCrプレーン画像として生成し、ステップS54へ進む。
Y = 0.299R+0.587G+0.114B ・・・(1)
Cb=−0.169R−0.332G+0.500B ・・・(2)
Cr= 0.500R−0.419G−0.081B ・・・(3)
【0017】
ステップS54では、演算部104aは2値化演算を行う。演算部104aは、Yプレーン画像、Cbプレーン画像、およびCrプレーン画像において、たとえば、各々の平均値を閾値として2値化した2値化画像を算出し、ステップS55へ進む。図3は、2値化したYプレーン画像を例示する図である。図4は、2値化したCbプレーン画像を例示する図である。図5は、2値化したCrプレーン画像を例示する図である。なお、2値化に用いる閾値は、各々の平均値に標準偏差σに係数を掛けたものを加減算したものでもよい。
【0018】
ステップS55において、演算部104aは第一のAND演算を行う。具体的には、2値化後の各プレーン画像を画素ごとに論理積演算してステップS56へ進む。図6は、2値化したYプレーン画像、Cbプレーン画像、およびCrプレーン画像を第一のAND演算した2値化画像を例示する図である。
【0019】
ステップS56において、演算部104aは、第一のAND演算後の2値化画像に対し、公知のラベリング処理を行い白画素で構成されるラベリング領域を「島」として認識する。選択処理は、上記抽出したラベリング領域のうち、所定の評価処理によって被写体により近い島を選択する。
【0020】
ステップS57において、演算部104aは、最初のフレームか否かを判定する。演算部104aは、最初のフレームでない(すなわち2フレーム目以降である)場合はステップS57を否定判定してステップS58へ進む。演算部104aは、最初のフレームの場合はステップS57を肯定判定してステップS59へ進む。
【0021】
ステップS58において、演算部104aは第二のAND演算を行う。具体的には、ラベリング、選択処理後の2値化画像と、前フレームで膨張処理した2値化画像(図8)とを論理積演算してステップS59へ進む。図9は、第二のAND演算後の2値化画像を例示する図である。図9において白画素のまとまりを囲む枠は、主要被写体が存在する範囲を明示するためのターゲット枠である。
【0022】
ステップS59において、演算部104aは、第二のAND後の2値化画像に対してモルフォロジーによる膨張処理を行う。図8は、膨張処理後の2値化画像を例示する図である。なお、ステップS57を肯定判定した場合の演算部104aは、最初のフレームの2値化画像に対してモルフォロジーによる膨張処理を行う。
【0023】
ステップS60において、演算部104aは、上記ターゲット枠をフレーム画像上に表示し、ステップS61へ進む。図10は、フレーム画像上のターゲット枠151を例示する図である。ターゲット枠151は、2値化画像において主要被写体を示す「島」である白領域を囲む包絡枠に相当する。第一の実施形態では、ターゲット枠151で囲まれる範囲が追跡結果(主要被写体が存在する範囲)となる。
【0024】
ステップS61において、演算部104aは、フレーム終了か否かを判定する。演算部104aは、画像の入力が終了した場合にステップS61を肯定判定して図2による処理を終了する。演算部104aは、画像の入力が終了していない場合には、ステップS61を否定判定してステップS51へ戻る。ステップS51へ戻る場合は次フレームの読込みを行って上述した処理を繰り返す。
【0025】
以上説明した第一の実施形態によれば、以下のような作用効果を得ることができる。
(1)カメラ100は、時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数のプレーン画像Y、Cb、Crを生成する要素画像生成処理と、複数のプレーン画像Y、Cb、Crをそれぞれ2値化して複数の2値化プレーン画像を生成する2値化演算処理と、複数の2値化プレーン画像を論理積演算する第1のAND演算処理と、第1のAND演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定するラベリング、選択処理と、ラベリング、選択処理で特定された範囲と所定範囲との論理積演算に基づいて特定された範囲を縮小する第2のAND演算処理と、前フレーム画像において縮小処理で縮小された範囲を膨張させて所定範囲を得る膨張処理と、を演算部104aに実行させる被写体追跡プログラムを搭載したので、時系列に入力されるフレーム画像において適切に主要被写体を追跡できる。
【0026】
上述した第二のAND演算後の2値化画像(図9)と、第二のAND演算を行わない場合との比較例を説明する。図7は、第1のAND演算後の2値化画像(図6)に対してラベリング、選択処理を施す従来技術による2値化画像を例示する図である。図7と図9とを比較すると、第二のAND演算後の2値化画像(図9)の方が主要被写体が存在する範囲(すなわち、白画素のまとまり)が小さく、精度よく主要被写体を追跡できることがわかる。主要被写体が存在する範囲(すなわち、白画素のまとまり)を小さくできるので、主要被写体以外の背景ノイズなどを含む可能性が低く抑えられる。
【0027】
(2)上記(1)の被写体追跡プログラムにおいて、要素画像生成処理は、輝度画像Yおよび色差画像Cb、Crをそれぞれ生成するので、主要被写体追跡に適した要素画像が得られる。
【0028】
(第二の実施形態)
第二の実施形態では、制御部104aが撮像素子103から入力される各フレーム画像に対してテンプレートマッチング処理を行って、フレーム画像内で主要被写体が写っている領域を特定する。そして、特定した領域をフレーム間で追跡する。具体的には、次のように処理する。
【0029】
図11は、モニタ106に表示されたフレーム画像を例示する図である。例えば、使用者は、最初のフレーム画像のスルー画がモニタ106に表示されたときに、操作部材101を操作して、最初のフレーム内で、フレーム間で追跡したい被写体(主要被写体Aと呼ぶ)を含む範囲Eを指定する。演算部104aは、使用者によって指定された範囲E内の画像を抽出し、テンプレートTとしてメモリに記憶する。図12は、テンプレートTを例示する図である。
【0030】
演算部104aは、図13に例示するように、テンプレートTと撮像素子103から時系列で入力される各フレームの画像データ(ターゲット画像Iと呼ぶ)との間でマッチング演算を行う。具体的には、テンプレートTを用いてターゲット画像I内における主要被写体位置を特定する。
【0031】
テンプレートマッチングの手法は公知であるため詳細な説明は省略するが、類似度の算出は、たとえば次式(4)に示す残差和や次式(5)に示す正規化相関により算出できる。次式(4)に示す残差和により類似度を算出した場合は、算出されるrが小さいほどテンプレートTとターゲット画像Iとの類似度が高いことを示している。一方、次式(5)に示す正規化相関により類似度を算出した場合は、算出されるrが大きいほどテンプレートTとターゲット画像Iとの類似度が高いことを示している。
【数1】
【数2】
【0032】
演算部104aは、撮像素子103からの画像の入力が開始されると、各フレーム(コマ)の画像をターゲット画像Iとし、当該ターゲット画像I上の所定の位置にテンプレートTと同じ大きさの探索枠Bを設定する。演算部104aは、設定した探索枠Bをターゲット画像I内で移動させながら、各位置における探索枠B内の画像と、テンプレートTとのマッチング演算を行なう。マッチング演算の結果、テンプレートTとの間で最も類似度の高い探索枠Bの位置を被写体位置として特定する。
【0033】
なお、第二の実施形態の演算部104aは、ターゲット画像Iの全体ではなく、フレーム画像内からテンプレートTを抽出した範囲Eを含む所定範囲(探索領域S2と呼ぶ)を対象にテンプレートマッチングを行う。このように探索領域S2のサイズをターゲット画像Iより小さくするのは、画面全体を追尾対象とすると処理時間がかかる上、背景による擬似マッチングが起きやすいことから、これらを避けるためである。探索領域S2のサイズの決め方は後述する。
【0034】
ところで、図12のような主要被写体A以外の部分を多く含むテンプレートTでは、マッチング演算時に使用するターゲット画像Iの状態によっては図14のように背景ノイズが混入しやすくマッチング精度が出ないことが多い。そのため図15に示すような、主要被写体Aに公知のモルフォロジー(数理形態学)の膨張処理を施した膨張マスクDを設定する。すなわち、テンプレートTを2値化し、該2値化画像を膨張させて膨張マスクDを得る。膨張マスクDは、図15に示すように内側の画素がすべて1、外側がすべて0にしてある。この膨張マスクDと、ターゲット画像IをAND演算することにより、ターゲット画像Iに含まれる背景ノイズをカットする。図16は、背景ノイズカットを説明する図である。図16によれば、ターゲット画像Iのうち膨張マスクDの内部(画素1)の画像のみが残り、外部(画素0)の背景ノイズを含む画像が消去される。
【0035】
膨張マスクDを採用する場合の演算部104aは、図17に示すように、主要被写体Aを中心として膨張マスクDを包絡する枠を探索領域S2とする。図18は探索領域S2内での最初のテンプレートTの位置を示し、図19は探索領域S2内での最後のテンプレートTの位置を示す。テンプレートT内において膨張マスクDの外側に相当する部分、つまりテンプレートTの右下と左上の部分は、マッチング演算の対象から除外できる。
【0036】
図20に、1回のマッチング演算時のテンプレートTの移動量X2、Y2を示す。膨張マスクDを採用する第二の実施形態では、探索領域S2のサイズは一意的に決まる。また、膨張マスクDによる探索領域S2のサイズは、従来のマッチング演算で用いた探索領域より小さくなることが多いことが実験で示されている。このように膨張マスクDを導入することで、背景ノイズの削減だけでなくマッチング演算の短縮も可能となる。
【0037】
演算部104aは、上述した処理を、入力される各フレーム画像に対して実行する。演算部104aは、マッチング演算によって特定された主要被写体位置のうち、マッチング時の類似度が最も高い位置を被写体位置とする。そして、この被写体位置を追跡対象としてターゲット枠を表示し、各フレーム間で被写体追跡を行うことができる。
【0038】
図21は、第二の実施形態におけるカメラ100の処理を示すフローチャートである。図21に示す処理は、撮像素子103から画像の入力が開始されると起動するプログラムとして、制御装置104の演算部104aによって実行される。
【0039】
図21のステップS11において、演算部104aは、フレーム画像を読み込んで、ステップS12へ進む。ステップS12では、演算部104aは、使用者からの指示に基づいて、フレーム画像から所定範囲内の画像を抽出し、ステップS13へ進む。
【0040】
ステップS13において、演算部104aは、最初のフレームか否かを判定する。演算部104aは、最初のフレームでない(すなわち2フレーム目以降である)場合はステップS13を否定判定してステップS14へ進む。演算部104aは、最初のフレームの場合はステップS13を肯定判定してステップS18へ進む。
【0041】
ステップS14において、演算部104aは2値化演算を行う。演算部104aは、上記所定範囲内の画像を2値化した2値化画像を算出し、ステップS15へ進む。ステップS15において、演算部104aは、2値化画像に対してモルフォロジーによる膨張処理を行い、膨張マスクDを設定してステップS16へ進む。ステップS16において、演算部104aは 膨張マスクDを包絡する枠を探索領域S2としてステップS17へ進む。ステップS17において、演算部104aはマッチング演算を行ってステップS18へ進む。
【0042】
ステップS18において、演算部104aは、主要被写体が存在する範囲を明示するためのターゲット枠をフレーム画像上に表示し、ステップS19へ進む。ステップS19において、演算部104aは、フレーム終了か否かを判定する。演算部104aは、画像の入力が終了した場合にステップS19を肯定判定して図21による処理を終了する。演算部104aは、画像の入力が終了していない場合には、ステップS19を否定判定してステップS11へ戻る。ステップS11へ戻る場合は次フレームの読込みを行って上述した処理を繰り返す。
【0043】
以上説明した第二の実施形態によれば、以下のような作用効果を得ることができる。
(1)カメラ100は、テンプレートT内の主要被写体Aの2値化画像を膨張させるモルフォロジー処理と、モルフォロジー処理による膨張後の2値化画像を包絡する範囲を探索領域S2に決定する探索領域決定処理と、時系列で入力される各フレーム画像のうち探索領域S2内で探索枠Bを移動させながら、各探索枠位置における探索枠B内の画像とテンプレートTとの類似度を算出する類似度算出処理と、類似度が最も高い探索枠Bの位置を主要被写体の位置として特定する特定処理と、を制御装置104に実行させる被写体追跡プログラムを搭載したので、時系列に入力されるフレーム画像において適切に主要被写体を追跡できる。
【0044】
(2)上記(1)の被写体追跡プログラムにおいて、フレーム画像から膨張後の2値化画像に基づいて画像を抽出する膨張マスク処理をさらに備え、類似度算出処理は、時系列で入力される各フレーム画像のうち探索領域S2内で探索枠Bを移動させながら、各探索枠位置における探索枠B内で膨張マスク処理後の画像とテンプレートTとの類似度を算出するようにしたので、フレーム画像において仮に主要被写体A以外の背景ノイズが含まれる場合でも、この背景ノイズをカットして適切に主要被写体Aを追跡できる。
【0045】
(変形例)
上述した実施形態では、カメラ100の制御装置104が被写体追跡処理を行う例を説明したが、被写体追跡処理をコンピュータに行わせるように構成するようにしてもよい。図2、図21に例示したフローチャートに基づく処理を行うプログラムをコンピュータに実行させることにより、被写体追跡装置を構成する。プログラムをコンピュータに取込んで使用する場合には、コンピュータのデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させる。
【0046】
コンピュータに対するプログラムのローディングは、プログラムを格納したCD−ROMなどの記憶媒体をコンピュータにセットして行ってもよいし、ネットワークなどの通信回線を経由する方法でコンピュータへローディングしてもよい。通信回線を経由する場合は、通信回線に接続されたサーバー(コンピュータ)のストレージ装置などにプログラムを格納しておく。プログラムは、記憶媒体や通信回線を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【0047】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。
【符号の説明】
【0048】
100…カメラ
101…操作部材
104…制御装置
104a…演算部
106…モニタ
【特許請求の範囲】
【請求項1】
コンピュータに、
時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数の要素画像を生成する要素画像生成処理と、
前記複数の要素画像をそれぞれ2値化して複数の2値化要素画像を生成する2値化要素画像生成処理と、
前記複数の2値化要素画像を論理積演算する論理積演算処理と、
前記論理積演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定する特定処理と、
前記特定処理で特定された範囲と所定範囲との論理積演算に基づいて前記特定された範囲を縮小する縮小処理と、
前フレーム画像において前記縮小処理で縮小された範囲を膨張させて前記所定範囲を得るモルフォロジー処理と、
を実行させることを特徴とする被写体追跡プログラム。
【請求項2】
請求項1に記載の被写体追跡プログラムにおいて、
前記要素画像生成処理は、輝度画像および色差画像をそれぞれ生成することを特徴とする被写体追跡プログラム。
【請求項3】
コンピュータに、
テンプレート内の主要被写体の2値化画像を膨張させるモルフォロジー処理と、
前記モルフォロジー処理による膨張後の2値化画像を包絡する範囲を探索領域に決定する探索領域決定処理と、
時系列で入力される各フレーム画像のうち前記探索領域内で探索枠を移動させながら、各探索枠位置における前記探索枠内の画像と前記テンプレートとの類似度を算出する類似度算出処理と、
前記類似度が最も高い前記探索枠の位置を前記主要被写体の位置として特定する特定処理と、
を実行させることを特徴とする被写体追跡プログラム。
【請求項4】
請求項3に記載の被写体追跡プログラムにおいて、
前記フレーム画像から前記膨張後の2値化画像に基づいて画像を抽出する膨張マスク処理をさらに備え、
前記類似度算出処理は、時系列で入力される各フレーム画像のうち前記探索領域内で探索枠を移動させながら、各探索枠位置における前記探索枠内で前記膨張マスク処理後の画像と前記テンプレートとの類似度を算出することを特徴とする被写体追跡プログラム。
【請求項5】
請求項1〜4のいずれか一項に記載の被写体追跡プログラムを実行する実行手段を備えることを特徴とする被写体追跡装置。
【請求項1】
コンピュータに、
時系列で入力される各フレーム画像の色情報および輝度情報に基づいて複数の要素画像を生成する要素画像生成処理と、
前記複数の要素画像をそれぞれ2値化して複数の2値化要素画像を生成する2値化要素画像生成処理と、
前記複数の2値化要素画像を論理積演算する論理積演算処理と、
前記論理積演算後の2値論理積画像に対するラベリング処理に基づいて、各フレーム画像における主要被写体の位置を特定する特定処理と、
前記特定処理で特定された範囲と所定範囲との論理積演算に基づいて前記特定された範囲を縮小する縮小処理と、
前フレーム画像において前記縮小処理で縮小された範囲を膨張させて前記所定範囲を得るモルフォロジー処理と、
を実行させることを特徴とする被写体追跡プログラム。
【請求項2】
請求項1に記載の被写体追跡プログラムにおいて、
前記要素画像生成処理は、輝度画像および色差画像をそれぞれ生成することを特徴とする被写体追跡プログラム。
【請求項3】
コンピュータに、
テンプレート内の主要被写体の2値化画像を膨張させるモルフォロジー処理と、
前記モルフォロジー処理による膨張後の2値化画像を包絡する範囲を探索領域に決定する探索領域決定処理と、
時系列で入力される各フレーム画像のうち前記探索領域内で探索枠を移動させながら、各探索枠位置における前記探索枠内の画像と前記テンプレートとの類似度を算出する類似度算出処理と、
前記類似度が最も高い前記探索枠の位置を前記主要被写体の位置として特定する特定処理と、
を実行させることを特徴とする被写体追跡プログラム。
【請求項4】
請求項3に記載の被写体追跡プログラムにおいて、
前記フレーム画像から前記膨張後の2値化画像に基づいて画像を抽出する膨張マスク処理をさらに備え、
前記類似度算出処理は、時系列で入力される各フレーム画像のうち前記探索領域内で探索枠を移動させながら、各探索枠位置における前記探索枠内で前記膨張マスク処理後の画像と前記テンプレートとの類似度を算出することを特徴とする被写体追跡プログラム。
【請求項5】
請求項1〜4のいずれか一項に記載の被写体追跡プログラムを実行する実行手段を備えることを特徴とする被写体追跡装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2013−37522(P2013−37522A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−172896(P2011−172896)
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]