(57)【要約】【課題】フレーム内の被写体位置を特定して被写体追尾を行うこと。【解決手段】制御装置１０４は、フレーム内に各粒子の散布位置に基づいて設定した探索枠内を対象としてテンプレートマッチング処理を行うことによってフレーム内における被写体位置を推定し、推定した被写体位置に仮の被写体枠を表示する。そして、制御装置１０４は、推定した被写体位置に基づいて設定した探索枠内を対象としてテンプレートマッチング処理を行うことによってフレーム内における被写体位置を特定し、特定した被写体位置に被写体枠を表示する。【選択図】図１
2011040993.tif 000002
【特許請求の範囲】
【請求項１】
時系列で入力される複数フレーム間で被写体追尾を行うための被写体追尾プログラムであって、
コンピュータに、
前記フレームから抽出した複数の部分領域のそれぞれを対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を推定する推定手順と、
前記推定手順が推定した被写体位置に仮の被写体枠を表示する第１の表示手順と、
前記推定手順が推定した被写体位置を含んだ部分領域を対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を特定する特定手順と、
前記特定手順が特定した被写体位置に被写体枠を表示する第２の表示手順と、
前記特定手順が特定した被写体位置を前記複数フレーム間で追尾する追尾手順とを実行させるための被写体追尾プログラム。
【請求項２】
請求項１に記載の被写体追尾プログラムにおいて、
前記推定手順は、前のフレームで前記推定手順が推定した被写体位置に基づいて、前記フレームからの前記複数の部分領域の抽出位置を決定することを特徴とする被写体追尾プログラム。
【請求項３】
請求項１または２に記載の被写体追尾プログラムにおいて、
前記推定手順は、パーティクルフィルタを用いて被写体位置を推定することを特徴とする被写体追尾プログラム。
【請求項４】
請求項１〜３のいずれか一項に記載の被写体追尾プログラムを実行する実行手段を備えることを特徴とするカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体追尾プログラム、およびカメラに関する。
【背景技術】
【０００２】
次のような侵入物体追跡方法が知られている。この方法では、テンプレート画像を用いたテンプレートマッチングを行うことにより、撮像視野内の進入物体を検出し、検出結果を表示する（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１１１０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の侵入物体追跡方法によれば、撮像視野内の全体を対象としたテンプレートマッチングが終了した後でないと検出結果を表示できないため、検出結果の表示に遅れが生じるという問題があった。
【課題を解決するための手段】
【０００５】
本発明による被写体追尾プログラムは、コンピュータに、フレームから抽出した複数の部分領域のそれぞれを対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を推定する推定手順と、推定手順が推定した被写体位置に仮の被写体枠を表示する第１の表示手順と、推定手順が推定した被写体位置を含んだ部分領域を対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を特定する特定手順と、特定手順が特定した被写体位置に被写体枠を表示する第２の表示手順と、特定手順が特定した被写体位置を複数フレーム間で追尾する追尾手順とを実行させることを特徴とする。
本発明では、推定手順は、前のフレームで推定手順が推定した被写体位置に基づいて、フレームからの複数の部分領域の抽出位置を決定するようにしてもよい。
推定手順は、パーティクルフィルタを用いて被写体位置を推定するようにしてもよい。
本発明によるカメラは、上記いずれかの被写体追尾プログラムを実行する実行手段を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、仮被写体枠を高速に表示することができる。
【図面の簡単な説明】
【０００７】
【図１】カメラの一実施の形態の構成を示すブロック図である。
【図２】被写体追尾処理の流れを示すフローチャート図である。
【図３】パーティクルフィルタを用いた被写体位置の推定方法を模式的に示す図である。
【発明を実施するための形態】
【０００８】
図１は、本実施の形態におけるカメラの一実施の形態の構成を示すブロック図である。カメラ１００は、操作部材１０１と、レンズ１０２と、撮像素子１０３と、制御装置１０４と、メモリカードスロット１０５と、モニタ１０６とを備えている。操作部材１０１は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
【０００９】
レンズ１０２は、複数の光学レンズから構成されるが、図１では代表して１枚のレンズで表している。撮像素子１０３は、例えばＣＣＤやＣＭＯＳなどのイメージセンサーであり、レンズ１０２により結像した被写体像を撮像する。そして、撮像によって得られた画像信号を制御装置１０４へ出力する。
【００１０】
制御装置１０４は、撮像素子１０３から入力された画像信号に基づいて所定の画像形式、例えばＪＰＥＧ形式の画像データ（以下、「本画像データ」と呼ぶ）を生成する。また、制御装置１０４は、生成した画像データに基づいて、表示用画像データ、例えばサムネイル画像データを生成する。制御装置１０４は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成してメモリカードスロット１０５へ出力する。本実施の形態では、本画像データとサムネイル画像データとは、いずれもＲＧＢ表色系で表された画像データであるものとする。
【００１１】
メモリカードスロット１０５は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置１０４から出力された画像ファイルをメモリカードに書き込んで記録する。また、メモリカードスロット１０５は、制御装置１０４からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込む。
【００１２】
モニタ１０６は、カメラ１００の背面に搭載された液晶モニタ（背面モニタ）であり、当該モニタ１０６には、メモリカードに記憶されている画像やカメラ１００を設定するための設定メニューなどが表示される。また、制御装置１０４は、使用者によってカメラ１００のモードが撮影モードに設定されると、撮像素子１０３から時系列で取得した画像の表示用画像データをモニタ１０６に出力する。これによってモニタ１０６にはスルー画が表示される。
【００１３】
制御装置１０４は、ＣＰＵ、メモリ、およびその他の周辺回路により構成され、カメラ１００を制御する。なお、制御装置１０４を構成するメモリには、ＳＤＲＡＭやフラッシュメモリが含まれる。ＳＤＲＡＭは、揮発性のメモリであって、ＣＰＵがプログラム実行時にプログラムを展開するためのワークメモリとして使用されたり、データを一時的に記録するためのバッファメモリとして使用される。また、フラッシュメモリは、不揮発性のメモリであって、制御装置１０４が実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
【００１４】
本実施の形態では、制御装置１０４は、撮像素子１０３から入力されるスルー画の各フレームに対して、あらかじめ用意したテンプレート画像を用いたテンプレートマッチング処理を行うことによって、フレーム内からテンプレート画像と類似する画像領域を被写体位置として特定する。そして、制御装置１０４は、モニタ１０６に表示しているスルー画上で特定した被写体位置を枠で囲うことによって被写体位置を使用者に明示するとともに、特定した被写体位置をフレーム間で追尾することによって、被写体追尾処理を行う。
【００１５】
なお、ここで用いるテンプレート画像は、あらかじめ使用者からの指示に基づいて取得される。例えば、使用者は、スルー画の最初のフレームがモニタ１０６に表示されたときに、操作部材１０１を操作して、最初のフレーム内で、フレーム間で追尾したい被写体を含む範囲を指定する。制御装置１０４は、使用者によって指定された範囲内の画像をテンプレート画像として抽出して、ＳＤＲＡＭに記憶する。このように、使用者が追尾したい被写体を含んだテンプレート画像を用いてテンプレートマッチング処理を行い、特定した被写体位置をフレーム間で追尾することにより、使用者が指定した追尾対象を追尾することができる。
【００１６】
ここで、スルー画上に被写体位置を示す枠（被写体枠）を表示するに当たって、上述したように、フレーム全体を対象としてテンプレートマッチング処理を行って正確な被写体位置を特定した後に、被写体枠を表示するようにした場合には、テンプレートマッチング処理が完了するまで被写体枠を表示することができず、被写体枠の表示に遅れが生じてしまう。本実施の形態では、このような問題点を解消するために、フレーム内の一部を対象としてテンプレートマッチング処理を行って被写体位置を推定して、推定位置に仮の被写体枠を表示するようにする。
【００１７】
具体的には、制御装置１０４は、次のように処理を行う。図２は、本実施の形態における被写体追尾処理の流れを示すフローチャートである。なお、図２に示す処理は、撮像素子１０３からのスルー画の入力が開始されると起動するプログラムとして、制御装置１０４によって実行される。
【００１８】
ステップＳ１０において、制御装置１０４は、パーティクルフィルタを用いた被写体位置の推定を行う。パーティクルフィルタとは、時系列フィルタの一種であって、多数のパーティクル（粒子）を用いて、前状態と現在の観測情報から現在の状態を推定するために用いられる。このパーティクルフィルタを用いた被写体位置の推定方法について、図３を用いて説明する。なお、図３は、パーティクルフィルタを用いた被写体位置の推定方法を模式的に示した図であり、説明の簡略化のために１次元で表している。
【００１９】
パーティクルフィルタを用いた被写体位置の推定方法においては、図３に示すように、各フレームに対して、予測３ａ、観測３ｂ、対象推定３ｃ、選択３ｄという４つの操作を行う。具体的には、制御装置１０４は、次のように処理を行う。まず、上記４つの操作のうち、予測３ａ、観測３ｂ、対象推定３ｃまでの操作がフレーム内における被写体位置を推定するための操作であるため、これらの操作について説明する。
【００２０】
予測３ａにおいては、制御装置１０４は、フレーム内のある点、例えば、使用者によって指定されたフレーム上の点や、フレームの中心点等を基準点として、この基準点から乱数Ｇを用いてあらかじめ設定された数の粒子をフレーム内に散布する。図３に示す例では、散布する粒子の数が７個の場合を示しており、上記散布の結果、粒子３１〜３７がフレーム上に散布されている。なお、上述したように、図３は１次元で表しているが、実際に被写体位置を推定する画像は２次元であるため、上述した粒子は２次元空間上に散布される。また、図３に示す例では、説明の簡略化のために、散布する粒子の数を７個に限定してあるが、散布する粒子の数は７個に限定されない。制御装置１０４は、フレーム内におけるこれらの粒子の散布位置を被写体位置と予測して、これら散布位置を対象として以下に説明する観察３ｂを行う。
【００２１】
観察３ｂにおいては、制御装置１０４は、複数の粒子を散布することによって抽出したフレーム内の複数の点、すなわち各粒子の散布位置を中心とした部分領域を囲んだ探索枠を設定し、この探索枠内で上述したテンプレート画像を移動させながら探索枠内の画像とテンプレート画像のマッチング処理を行うことによりテンプレートマッチング処理を行って、各粒子の散布位置におけるテンプレート画像との類似度を算出する。なお、類似度の算出方法については、公知の処理のため詳細な説明は省略するが、例えば、探索枠内の画像とテンプレート画像との差分値、または相関値に基づいて算出される。
【００２２】
制御装置１０４は、算出した類似度に基づいて次式（１）により尤度を算出し、算出した尤度に基づいて、被写体位置を推定する際に用いる重み値を、各々の尤度を全尤度加算値で割ることにより正規化した尤度として次式（２）により算出する。
【数１】
2011040993.tif 000003
【数２】
2011040993.tif 000004
【００２３】
なお、式（１）および（２）においては、πは尤度を、ｗは重み値を、ｔは時刻を、ｉは粒子ナンバーをそれぞれ表す。すなわち、式（１）により、粒子ナンバーｉ（例えば１〜７）のときの時刻ｔにおける尤度πｔ（ｉ）が算出される。また、式（２）により、粒子ナンバーｉ（例えば１〜７）のときの時刻ｔにおける重み値ｗｔ（ｉ）が算出される。この重み値ｗｔ（ｉ）は、テンプレート画像との類似度が高い粒子位置ほど値は大きくなる。
【００２４】
その後、制御装置１０４は、対象推定３ｃにおいて、観察３ｂで算出した重み値ｗｔ（ｉ）と、時刻（ｔ）において散布された各粒子のフレーム内における位置Ｘｔ（ｉ）とを用いて、次式（３）により時刻ｔにおけるフレーム内での被写体の中心位置Ｐｔを算出する。この次式（３）により算出された被写体の中心位置Ｐｔが、フレーム内における被写体の推定位置となる。
【数３】
2011040993.tif 000005
【００２５】
以上説明した、予測３ａ、観測３ｂ、対象推定３ｃの操作により、フレーム内における被写体位置の推定を行うことができる。
【００２６】
図３では、式（３）により算出した重み値ｗｔ（ｉ）と、各粒子位置Ｘｔ（ｉ）との積算結果の大きさを粒子の大きさを変えて表すことによって模式的に示している。すなわち、図３に示す例では、粒子３４の粒子位置Ｘｔ（ｉ）における積算結果が最も大きく、次に粒子３３及び３５の粒子位置Ｘｔ（ｉ）における積算結果が大きく、その次に粒子３２及び３６の粒子位置Ｘｔ（ｉ）における積算結果が大きく、粒子３１及び３７の粒子位置Ｘｔ（ｉ）における積算結果が最も小さいことを示している。
【００２７】
その後、ステップＳ２０へ進み、制御装置１０４は、上述したステップＳ１０における処理によって推定した被写体位置、すなわち対象推定３ｃにおいて算出した被写体の中心位置Ｐｔを中心とした所定範囲を囲むように、仮の被写体枠を表示する。これによって、制御装置１０４は、フレーム全体を対象としてテンプレートマッチング処理を行うことなく、高速に仮の被写体枠を表示することができる。
【００２８】
その後、ステップＳ３０へ進み、制御装置１０４は、ステップＳ１０で推定した被写体位置を含んだフレーム内の部分領域を囲んだ探索枠を設定して、ステップＳ４０へ進む。ステップＳ４０では、制御装置１０４は、ステップＳ３０で設定した探索枠内を対象として、上述したテンプレートマッチング処理を行う。その後、ステップＳ５０へ進み、制御装置１０４は、ステップＳ４０でのテンプレートマッチング処理の結果に基づいて、フレーム内における正確な被写体位置を特定して、ステップＳ６０へ進む。
【００２９】
ステップＳ６０では、制御装置１０４は、フレーム内のステップＳ５０で特定した正確な被写体位置に正確な被写体枠を表示して、ステップＳ７０へ進む。ステップＳ７０では、制御装置１０４は、スルー画の入力が終了したか否かを判断する。ステップＳ７０で否定判断した場合には、ステップＳ１０へ戻り、次フレームを対象として上述したステップＳ１０からステップＳ７０の処理を繰り返す。一方、ステップＳ７０で否定判断した場合には、処理を終了する。
【００３０】
なお、次フレームを対象としてステップＳ１０の処理を実行する場合には、予測３ａにおいて、前フレームを対象として実行したステップＳ１０の対象推定３ｃの結果に基づいて、決められた数の粒子を散布することになる。この場合、制御装置１０４は、上述した対象推定３ｃでの積算結果が最も大きかった粒子３４の粒子位置において、粒子の散布位置Ｘｔ−１（ｉ）と被写体の移動速度νｔ−１と乱数Ｇとを用いて７つの粒子の散布を次式（４）または（５）により行う。
【数４】
2011040993.tif 000006
【数５】
2011040993.tif 000007
【００３１】
なお、被写体の移動速度νｔ−１は、１フレーム前の被写体の中心位置Ｐｔ−１と２フレーム前の被写体の中心位置Ｐｔ−２との単位時間ｔ当たりの位置変化に基づいて、次式（６）により算出される。
【数６】
2011040993.tif 000008
【００３２】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）制御装置１０４は、フレーム内に各粒子の散布位置に基づいて設定した探索枠内を対象としてテンプレートマッチング処理を行うことによってフレーム内における被写体位置を推定し、推定した被写体位置に仮の被写体枠を表示するようにした。また、制御装置１０４は、推定した被写体位置に基づいて設定した探索枠内を対象としてテンプレートマッチング処理を行うことによってフレーム内における被写体位置を特定し、特定した被写体位置に被写体枠を表示するようにした。これによって、フレーム内全体を対象としたテンプレートマッチング処理を実行することなく、簡易なテンプレートマッチング処理によって仮の被写体枠を表示することができるため、被写体枠を高速に表示させることができる。
【００３３】
（２）制御装置１０４は、前のフレームで推定した被写体位置に基づいて、次フレームにおいて粒子を散布する基準点を設定するようにした。これによって、被写体が存在している可能性が高い位置を基準点として粒子を散布することができ、次フレームにおける被写体位置の推定精度を向上することができる。
【００３４】
（３）制御装置１０４は、パーティクルフィルタを被写体位置の推定用に用いるようにした。このように、高い精度を要求されない被写体位置の推定のためにパーティクルフィルタを用いる場合には、数百といった大量の粒子を使用せずに、少量の粒子の使用で足りるため、短い処理時間で被写体位置の推定を行うことができる。
【００３５】
―変形例―
なお、上述した実施の形態のカメラは、以下のように変形することもできる。
（１）上述した実施の形態では、制御装置１０４は、スルー画を対象として被写体追尾を行う例について説明した。しかしながら、カメラ１００が動画撮影機能を備えている場合には、制御装置１０４は、スルー画ではなく、撮影済みの動画のフレーム間で被写体追尾を行うようにしてもよい。
【００３６】
（２）上述した実施の形態では、本発明をカメラ１００に適用する場合について説明した。しかしながら、撮影機能を備えた他の機器、例えばカメラ付き携帯電話機やビデオカメラ等にも本発明は適用可能である。
【００３７】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【符号の説明】
【００３８】
１００  カメラ、１０１  操作部材、１０２  レンズ、１０３  撮像素子、１０４  制御装置、１０５  メモリカードスロット、１０６  モニタ
【図１】
2011040993.tif 000009
【図２】
2011040993.tif 000010
【図３】
2011040993.tif 000011
【手続補正書】
【提出日】平成22年8月4日(2010.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
時系列で入力される複数フレーム間で被写体追尾を行うための被写体追尾プログラムであって、
コンピュータに、
前記フレーム内にランダムに設定した位置の複数の部分領域のそれぞれを対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を推定する推定手順と、
前記推定手順が推定した被写体位置を含んだ推定被写体領域を対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を特定する特定手順と、
前記特定手順が特定した被写体位置に被写体枠を表示する被写体枠表示手順と、
前記特定手順が特定した被写体位置を前記複数フレーム間で追尾する追尾手順とを実行させるための被写体追尾プログラム。
【請求項２】
請求項１に記載の被写体追尾プログラムにおいて、
前記推定手順が推定した被写体位置に仮の被写体枠を表示する仮被写体枠表示手順をさらに有することを特徴とする被写体追尾プログラム。
【請求項３】
請求項１または２に記載の被写体追尾プログラムにおいて、
前記推定手順は、前のフレームで前記推定手順が推定した被写体位置に基づいて、前記フレーム内への前記複数の部分領域の設定位置を決定することを特徴とする被写体追尾プログラム。
【請求項４】
請求項１〜３のいずれか一項に記載の被写体追尾プログラムにおいて、
前記推定手順は、パーティクルフィルタを用いて、前記フレーム内に前記複数の部分領域を設定することを特徴とする被写体追尾プログラム。
【請求項５】
請求項１〜４のいずれか一項に記載の被写体追尾プログラムを実行する実行手段を備えることを特徴とするカメラ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明による被写体追尾プログラムは、コンピュータに、フレーム内にランダムに設定した位置の複数の部分領域のそれぞれを対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を推定する推定手順と、推定手順が推定した被写体位置を含んだ推定被写体領域を対象としてテンプレートマッチング処理を行うことによって、フレーム内における被写体位置を特定する特定手順と、特定手順が特定した被写体位置に被写体枠を表示する被写体枠表示手順と、特定手順が特定した被写体位置を複数フレーム間で追尾する追尾手順とを実行させることを特徴とする。
本発明では、推定手順が推定した被写体位置に仮の被写体枠を表示する仮被写体枠表示手順をさらに有するようにしてもよい。
推定手順は、前のフレームで推定手順が推定した被写体位置に基づいて、フレーム内への複数の部分領域の設定位置を決定するようにしてもよい。
推定手順は、パーティクルフィルタを用いてフレーム内に複数の部分領域を設定するようにしてもよい。
本発明によるカメラは、上記いずれかの被写体追尾プログラムを実行する実行手段を備えることを特徴とする。