(57)【要約】【課題】フレーム間で被写体を追尾すること。【解決手段】制御装置１０４は、動き探索処理を行なって、時系列で入力されるフレーム間の情報に基づいて被写体の遷移先を特定し、テンプレートマッチングを行って、フレーム内の各画素と被写体追尾用のテンプレートとの第１の類似度を算出する。そして、動き探索処理によって特定された被写体の遷移先からの距離に応じて、各画素の前記第１の類似度に対して重み付けを行って第２の類似度を算出し、第２の類似度に基づいて、フレーム内における被写体位置を特定する。【選択図】図１
2011090488.tif 000002
【特許請求の範囲】
【請求項１】
時系列で入力されるフレーム間の情報に基づいて、被写体の遷移先を特定する遷移先特定手段と、
テンプレートマッチングを行って、フレーム内の各画素と被写体追尾用のテンプレートとの第１の類似度を算出する第１の類似度算出手段と、
前記遷移先特定手段により特定された前記被写体の遷移先からの距離に応じて、前記第１の類似度算出手段によって算出された各画素の前記第１の類似度に対して重み付けを行って、第２の類似度を算出する第２の類似度算出手段と、
前記第２の類似度算出手段によって算出された前記第２の類似度に基づいて、フレーム内における被写体位置を特定する被写体位置特定手段とを備えることを特徴とする被写体追尾装置。
【請求項２】
請求項１に記載の被写体追尾装置において、
前記遷移先特定手段は、フレーム間での被写体の動きを示す動きベクトルを算出することによって、前記被写体の遷移先を特定することを特徴とする被写体追尾装置。
【請求項３】
請求項２に記載の被写体追尾装置において、
前記被写体位置特定手段によって特定された被写体位置近傍領域内の画像を用いて前記動きベクトルを算出するための動き探索用のテンプレートを更新するテンプレート更新手段をさらに備えることを特徴とする被写体追尾装置。
【請求項４】
請求項３に記載の被写体追尾装置において、
前記遷移先特定手段は、同一フレームに基づいて異なる解像度の複数枚の画像を生成し、低解像度の画像から順番に前記動き探索用のテンプレートを用いたテンプレートマッチング処理を行って前記動きベクトルを算出することを特徴とする被写体追尾装置。
【請求項５】
コンピュータに、
時系列で入力されるフレーム間の情報に基づいて、被写体の遷移先を特定する遷移先特定手順と、
テンプレートマッチングを行って、フレーム内の各画素と被写体追尾用のテンプレートとの第１の類似度を算出する第１の類似度算出手順と、
前記遷移先特定手順で特定した前記被写体の遷移先からの距離に応じて、前記第１の類似度算出手順で算出した各画素の前記第１の類似度に対して重み付けを行って、第２の類似度を算出する第２の類似度算出手順と、
前記第２の類似度算出手順で算出した前記第２の類似度に基づいて、フレーム内における被写体位置を特定する被写体位置特定手順とを実行させるための被写体追尾プログラム。
【請求項６】
請求項１〜４のいずれか一項に記載の被写体追尾装置を備えたカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体追尾装置、被写体追尾プログラム、およびカメラに関する。
【背景技術】
【０００２】
次のような追跡装置が知られている。この追跡装置は、過去の被写体の動き情報等から、次フレームの被写体位置を予測して被写体を追跡する（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−４２０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の追跡装置では、低フレームレートで隣接フレーム間の相関が乏しい場合には、被写体位置の予測精度が低下して、追跡性能が低下する可能性があった。
【課題を解決するための手段】
【０００５】
本発明による被写体追尾装置は、時系列で入力されるフレーム間の情報に基づいて、被写体の遷移先を特定する遷移先特定手段と、テンプレートマッチングを行って、フレーム内の各画素と被写体追尾用のテンプレートとの第１の類似度を算出する第１の類似度算出手段と、遷移先特定手段により特定された被写体の遷移先からの距離に応じて、第１の類似度算出手段によって算出された各画素の第１の類似度に対して重み付けを行って、第２の類似度を算出する第２の類似度算出手段と、第２の類似度算出手段によって算出された第２の類似度に基づいて、フレーム内における被写体位置を特定する被写体位置特定手段とを備えることを特徴とする。
本発明では、遷移先特定手段は、フレーム間での被写体の動きを示す動きベクトルを算出することによって、被写体の遷移先を特定するようにしてもよい。
被写体位置特定手段によって特定された被写体位置近傍領域内の画像を用いて動きベクトルを算出するための動き探索用のテンプレートを更新するテンプレート更新手段をさらに備えるようにしてもよい。
遷移先特定手段は、同一フレームに基づいて異なる解像度の複数枚の画像を生成し、低解像度の画像から順番に動き探索用のテンプレートを用いたテンプレートマッチング処理を行って動きベクトルを算出するようにしてもよい。
本発明による被写体追尾プログラムは、コンピュータに、時系列で入力されるフレーム間の情報に基づいて、被写体の遷移先を特定する遷移先特定手順と、テンプレートマッチングを行って、フレーム内の各画素と被写体追尾用のテンプレートとの第１の類似度を算出する第１の類似度算出手順と、遷移先特定手順で特定した被写体の遷移先からの距離に応じて、第１の類似度算出手順で算出した各画素の前記第１の類似度に対して重み付けを行って、第２の類似度を算出する第２の類似度算出手順と、第２の類似度算出手順で算出した第２の類似度に基づいて、フレーム内における被写体位置を特定する被写体位置特定手順とを実行させることを特徴とする。
本発明によるカメラは、上記いずれかの被写体追尾装置を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、高精度に被写体位置を特定することができる。
【図面の簡単な説明】
【０００７】
【図１】カメラ１００の一実施の形態の構成を示すブロック図である。
【図２】被写体追尾処理の流れを示すフローチャート図である。
【図３】動きベクトルの検出例を示す図である。
【図４】動き探索処理の方法を模式的に示した図である。
【図５】動き探索処理から第２類似度の算出までのイメージを示した図である。
【発明を実施するための形態】
【０００８】
図１は、本実施の形態におけるカメラの一実施の形態の構成を示すブロック図である。カメラ１００は、操作部材１０１と、レンズ１０２と、撮像素子１０３と、制御装置１０４と、メモリカードスロット１０５と、モニタ１０６とを備えている。操作部材１０１は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
【０００９】
レンズ１０２は、複数の光学レンズから構成されるが、図１では代表して１枚のレンズで表している。撮像素子１０３は、例えばＣＣＤやＣＭＯＳなどのイメージセンサーであり、レンズ１０２により結像した被写体像を撮像する。そして、撮像によって得られた画像信号を制御装置１０４へ出力する。
【００１０】
制御装置１０４は、ＣＰＵ、メモリ、およびその他の周辺回路により構成され、カメラ１００を制御する。なお、制御装置１０４を構成するメモリには、ＳＤＲＡＭやフラッシュメモリが含まれる。ＳＤＲＡＭは、揮発性のメモリであって、ＣＰＵがプログラム実行時にプログラムを展開するためのワークメモリとして使用されたり、データを一時的に記録するためのバッファメモリとして使用される。また、フラッシュメモリは、不揮発性のメモリであって、制御装置１０４が実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
【００１１】
この制御装置１０４は、撮像素子１０３から入力された画像信号に基づいて所定の画像形式、例えばＪＰＥＧ形式の画像データ（以下、「本画像データ」と呼ぶ）を生成する。また、制御装置１０４は、生成した本画像データに基づいて、表示用画像データ、例えばサムネイル画像データを生成する。制御装置１０４は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成してメモリカードスロット１０５へ出力する。
【００１２】
メモリカードスロット１０５は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置１０４から出力された画像ファイルをメモリカードに書き込んで記録する。また、メモリカードスロット１０５は、制御装置１０４からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込む。
【００１３】
モニタ１０６は、カメラ１００の背面に搭載された液晶モニタ（背面モニタ）であり、当該モニタ１０６には、メモリカードに記憶されている画像やカメラ１００を設定するための設定メニューなどが表示される。また、制御装置１０４は、使用者によってカメラ１００のモードが撮影モードに設定されると、撮像素子１０３から時系列で取得した画像信号に基づいて生成した表示用画像データをモニタ１０６に出力する。これによってモニタ１０６にはスルー画が表示される。
【００１４】
本実施の形態におけるカメラ１００では、制御装置１０４は、撮像素子１０３から入力されるスルー画の各フレーム（フレーム画像）に対して、あらかじめ用意したテンプレート画像を用いたテンプレートマッチング処理を行うことによって、フレーム内からテンプレート画像と類似する画像領域を特定する。そして、制御装置１０４は、特定した領域をフレーム間で追跡することによって、被写体追尾を行う。
【００１５】
本実施の形態では、制御装置１０４は、テンプレートマッチングを行うに当たって、被写体のフレーム間での動きを探索する動き探索用のテンプレートと、被写体追尾用のテンプレートとの２つのテンプレートを用いて、被写体追尾を行う。以下、本実施の形態における被写体追尾処理の詳細を図２に示すフローチャートを用いて説明する。なお、図２に示す処理は、撮像素子１０３から画像信号の入力が開始されると起動するプログラムとして、制御装置１０４によって実行される。
【００１６】
ステップＳ１において、制御装置１０４は、撮像素子１０３から入力されるフレーム画像を取り込んで、ステップＳ２へ進む。ステップＳ２では、制御装置１０４は、ステップＳ１で取り込んだフレーム画像内から、所定範囲内の画像を動き探索用のテンプレート、および被写体追尾用のテンプレートを取得する。なお、動き探索用のテンプレート、および被写体追尾用のテンプレートは、ステップＳ１で取り込んだフレーム画像内において、使用者によって指定された範囲内の画像を切り出すことによって取得される。また、ステップＳ２で取得される初期の動き探索用のテンプレート、および被写体追尾用のテンプレートは、同じ画像であってもよいし、異なる画像であってもよい。
【００１７】
その後、ステップＳ３へ進み、制御装置１０４は、ステップＳ１で取りこんだフレーム画像を対象として、ステップＳ２で取得した動き探索用のテンプレートを用いた動き探索処理を行う。例えば、制御装置１０４は、時系列で入力されるフレーム間の情報に基づいて、被写体の遷移先を特定する。具体的には、フレーム画像を対象として、テンプレートマッチング（ブロックマッチング）や勾配法等の方法により、動き探索用のテンプレートを用いた動き探索処理を行う。
【００１８】
この動き探索処理によって、フレーム間での被写体の遷移を示す動きベクトルが検出される。例えば、図３（ａ）に示すｉフレーム目のフレーム画像における被写体２ａが、図３（ｂ）に示すｉ＋１フレーム目のフレーム画像に示す位置に移動した場合には、動き探索処理によってフレーム間での被写体の動きを示す動きベクトル２ｂが検出される。
【００１９】
なお、本実施の形態における動き探索処理では、制御装置１０４は、図４に示すように、階層的なテンプレートマッチング処理によって動きベクトルを検出することにより、動き探索処理を行う。具体的には、制御装置１０４は、任意の隣接フレーム、例えばｉフレームとｉ＋１フレームにおいて、図４に示すような階層構造の画像を作成する。この階層は２つ以上であり、図４に示す例では、ｉフレームが階層４ａ〜４ｃ、ｉ＋１フレームが階層４ｄ〜４ｆとそれぞれ３階層になっている。また、高解像側（４ｃ側、４ｆ側）からＮ番目の階層画像の１辺のサイズ比は１／２Ｎとなる。
【００２０】
この場合、テンプレートはｉフレームから抽出するものとし、具体的には、ｉフレームにおいて、点線の枠で示したように各階層でテンプレートが抽出される。このそれぞれのテンプレートを用いて、最も低解像な階層の画像、すなわちｉ＋１フレームにおける画像４ｆから順番にテンプレートマッチング処理を行う。ここで、Ｌ−１階層でマッチングした座標値を２倍した座標をＬ階層の探索初期値にする。これは、マッチング座標をＸｅｎｄ、探索初期座標をＸｉｎｉとすると、次式（１）により表すことができる。
【数１】
2011090488.tif 000003
【００２１】
このような階層的なテンプレートマッチングを行うことにより、各階層で探索エリアを小さくしても、被写体の大きな動きを正確かつ高速に検出することができる。その後、ステップＳ４へ進む。
【００２２】
ステップＳ４では、制御装置１０４は、被写体追尾用のテンプレートを用いて、フレーム画像を対象としたテンプレートマッチングを行い、フレーム画像の各画素に対して被写体追尾用のテンプレートとの類似度を算出する。本実施の形態では、このステップＳ４で各画素について算出される類似度を第１類似度と呼ぶ。なお、被写体追尾用のテンプレートを用いたテンプレートマッチングの方法は公知であるため詳細な説明は省略するが、一般的には、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）等の方法が用いられる。
【００２３】
その後、ステップＳ５へ進み、制御装置１０４は、ステップＳ３における動き探索処理によって得られた主要被写体の遷移先からの距離に応じて、各画素の第１類似度の重み付けを行うことにより、第２類似度を算出する。具体的には、制御装置１０４は、次式（２）によって第２類似度を算出する。
第２類似度  ＝  第１類似度×距離情報による重み  ・・・（２）
【００２４】
なお、式（２）において、距離情報による重み付けとしては、次式（３）に示すガウシアン関数や、次式（４）に示す線形関数を用いた重み付けが挙げられる。
【数２】
2011090488.tif 000004
【数３】
2011090488.tif 000005
【００２５】
ここで、ステップＳ３における動き探索処理からステップＳ５における第２類似度の算出までのイメージを図５を用いて説明する。図５（ａ）に示すように、ステップＳ３における動き探索処理によって、追尾対象である被写体５ａの動きベクトル５ｂが算出される。なお、図５（ａ）に示す例では、被写体５ａのｉフレームにおける被写体位置が点線で示す枠内であったのに対して、ｉ＋１フレームでは実線で示す枠内に移動したことにより、動きベクトル５ｂが算出されている。
【００２６】
図５（ｂ）は、ステップＳ５で、ステップＳ３における動き探索処理によって得られた主要被写体の遷移先５ｃからの距離に応じて、各画素の第１類似度の重み付けを行う場合の重み付けイメージを示す図である。この図５（ｂ）に示す主要被写体の遷移先５ｃは、図５（ａ）に示したｉ＋１フレームにおける被写体５ａの位置に相当し、この遷移先５ｃを中心に近い画素ほど重みを高くし、中心から遠ざかるに従って重みを低くする。すなわち、図５（ｂ）に示す例では、色が濃いほど重みが高く、色が薄くなるに従って重みが低くなっている。
【００２７】
図５（ｃ）は、ステップＳ４で算出される第１類似度のイメージを示した図である。この例では、図５（ａ）における追尾対象の被写体５ａに対応する第１類似度成分５ｅに加えて、他の被写体５ｃに対応する第１類似度成分５ｆや被写体５ｄに対応する第１類似度成分５ｇが算出されている。
【００２８】
図５（ｄ）は、ステップＳ５において、第１類似度成分を動き探索処理によって得られた主要被写体の遷移先からの距離に応じて重み付けを行うことによって算出される第２類似度のイメージを示した図である。この図５（ｄ）に示す例では、図５（ｂ）に示した重み付けに基づいて、主要被写体の遷移先５ｃからの距離が近い、追尾対象の被写体５ａに対応する第１類似度成分５ｅに対して大きな重み付けがなされた結果、被写体５ａに対応する第２類似度成分５ｈが算出されている。
【００２９】
その後、ステップＳ６へ進み、制御装置１０４は、フレーム画像内でステップＳ５で算出した第２類似度の値が最小となる位置、すなわち第２類似度が最も高い位置を特定して抽出する。制御装置１０４は、ここで抽出した位置をフレーム画像内における追尾対象の被写体位置として特定することにより、フレーム間での被写体追尾を行う。その後、ステップＳ７へ進む。
【００３０】
ステップＳ７では、制御装置１０４は、次のフレーム画像に対する動き探索処理のために、ステップＳ６で抽出した第２類似度が最も高い位置の近傍領域から新たな動き探索用テンプレートを取得して、動き探索用のテンプレートの更新を行なって、ステップＳ８へ進む。
【００３１】
ステップＳ８では、制御装置１０４は、ステップＳ６で特定した最も高い第２類似度、すなわち最良類似度があらかじめ定められた所定の閾値より大きいか否かを判断する。ステップＳ８で肯定判断した場合には、ステップＳ９へ進み、制御装置１０４は、次のフレーム画像に対するテンプレートマッチング処理のために、ステップＳ６で抽出した第２類似度が最も高い位置の近傍領域から新たな被写体追尾用のテンプレートを取得して、被写体追尾用のテンプレートの更新を行なって、ステップＳ１０へ進む。これに対して、ステップＳ８で否定判断した場合には、そのままステップＳ１０へ進む。
【００３２】
このように、本実施の形態では、動き探索用のテンプレートは毎フレーム更新を行なうのに対して、被写体追尾用のテンプレートは、毎フレーム更新を行なうとは限らず、ステップＳ８の条件を満たしたときのみ更新を行なうこととする。これによって、動き探索用のテンプレートは、常に最新の被写体の形状を反映させたテンプレートとすることができるため、最新の被写体の形状を捉えて動きベクトルを算出できる。一方、被写体追尾用のテンプレートは、類似度が高い場合にのみ更新を行うため、誤マッチングの場合にテンプレートが更新されるのを防ぐことができ、高い精度でテンプレートマッチングを継続することができる。
【００３３】
ステップＳ１０では、制御装置１０４は、処理を終了するか否かを判断する。例えば、制御装置１０４は、撮像素子１０３からのフレーム画像の入力が停止したときに、処理を終了すると判断する。ステップＳ１０で否定判断した場合には、ステップＳ３へ戻って処理を繰り返す。これに対して、ステップＳ１０で肯定判断した場合には、処理を終了する。
【００３４】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）制御装置１０４は、動き探索処理を行なって、時系列で入力されるフレーム間の情報に基づいて被写体の遷移先を特定し、テンプレートマッチングを行って、フレーム内の各画素と被写体追尾用のテンプレートとの第１の類似度を算出する。そして、動き探索処理によって特定された被写体の遷移先からの距離に応じて、各画素の第１の類似度に対して重み付けを行って第２の類似度を算出し、第２の類似度に基づいて、フレーム内における被写体位置を特定するようにした。このように、被写体の遷移先からの距離に応じて第１の類似度を重み付けして得た第２の類似度に基づいて被写体位置を特定することにより、精度高く被写体位置を特定することができる。
【００３５】
（２）制御装置１０４は、フレーム間での被写体の動きを示す動きベクトルを算出することによって被写体の遷移先を特定するようにした。これによって、被写体の遷移先を精度高く特定することができる。
【００３６】
（３）制御装置１０４は、第２類似度が最も高い位置の近傍領域から新たな動き探索用テンプレートを取得して、動き探索用のテンプレートの更新を行なうようにした。これによって、動き探索用のテンプレートは、常に最新の被写体の形状を反映させたテンプレートとすることができるため、最新の被写体の形状を捉えて動きベクトルを算出できる。
【００３７】
（４）制御装置１０４は、動き探索処理では、階層的なテンプレートマッチング処理によって動きベクトルを検出することにより、動き探索処理を行うようにした。これによって、各階層で探索エリアを小さくしても、被写体の大きな動きを正確かつ高速に検出することができる。
【００３８】
―変形例―
なお、上述した実施の形態のカメラは、以下のように変形することもできる。
（１）上述した実施の形態では、制御装置１０４は、スルー画を対象として被写体追尾を行う例について説明した。しかしながら、カメラ１００が動画撮影機能を備えている場合には、制御装置１０４は、スルー画ではなく、撮影済みの動画のフレーム間で被写体追尾を行うようにしてもよい。
【００３９】
（２）上述し実施の形態では、カメラ１００が供える制御装置１０４がテンプレートマッチング処理を行って被写体追尾を行う例について説明した。しかしながら、テンプレートマッチング処理を実行するためのプログラムをパソコンなどその他の端末に記録して、それらの端末上で処理を実行することも可能である。この場合、カメラで撮影した動画像データを被写体追尾装置として機能する端末側に取り込んで、これを対象に処理を行うようにすれば、動画のフレーム間で被写体追尾を行うことが可能となる。また、本発明はカメラ付き携帯電話などに適用することも可能である。
【００４０】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【符号の説明】
【００４１】
１００  カメラ、１０１  操作部材、１０２  レンズ、１０３  撮像素子、１０４  制御装置、１０５  メモリカードスロット、１０６  モニタ
【図１】
2011090488.tif 000006
【図２】
2011090488.tif 000007
【図３】
2011090488.tif 000008
【図４】
2011090488.tif 000009
【図５】
2011090488.tif 000010