(57)【要約】【課題】被写体の大きさが変化する場合も適切に追尾を行うこと。【解決手段】被写体追尾装置１００は、対象画像内にターゲット画像を設定するターゲット画像設定手段１０４ａと、リサイズ以外の更新が行われない初期テンプレート画像とターゲット画像との類似度、および、リサイズか否かにかかわらず更新が行われるラベリングテンプレート画像とターゲット画像との類似度を、それぞれ算出する類似度算出手段１０４ａと、算出された類似度に基づいて特定された被写体位置を中心として被写体の重心位置と大きさを推定し、推定された被写体の大きさに基づくテンプレートサイズへ初期テンプレート画像をリサイズする初期テンプレートリサイズ手段１０４ａと、対象画像に基づいて、上記推定された重心位置を中心とする上記テンプレートサイズの画像へラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段１０４ａと、を備える。【選択図】図１
2013182478.tif 000002
【特許請求の範囲】
【請求項１】
対象画像内にターゲット画像を設定するターゲット画像設定手段と、
リサイズ以外の更新が行われない初期テンプレート画像と前記ターゲット画像との類似度、および、リサイズか否かにかかわらず更新が行われるラベリングテンプレート画像と前記ターゲット画像との類似度を、それぞれ算出する類似度算出手段と、
前記類似度算出手段によって算出された前記類似度に基づいて、前記対象画像内における被写体位置を特定する被写体位置特定手段と、
前記被写体位置特定手段によって特定された被写体位置を中心として被写体候補領域を設定する被写体候補領域設定手段と、
前記被写体候補領域設定手段によって設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定手段と、
前記被写体推定手段によって推定された被写体の大きさに基づいてテンプレートサイズを算出するテンプレートサイズ算出手段と、
前記テンプレートサイズ算出手段によって算出されたテンプレートサイズへ、前記初期テンプレート画像をリサイズする初期テンプレートリサイズ手段と、
前記対象画像に基づいて、前記被写体推定手段によって推定された前記重心位置を中心とする、前記テンプレートサイズ算出手段によって算出されたテンプレートサイズの画像へ前記ラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段と、
を備えることを特徴とする被写体追尾装置。
【請求項２】
請求項１に記載の被写体追尾装置において、
前記被写体位置特定手段は、前記類似度算出手段によって最も高い類似度が演算された前記ターゲット画像の位置を、前記対象画像内における被写体位置として特定することを特徴とする被写体追尾装置。
【請求項３】
請求項１または２に記載の被写体追尾装置において、
前記被写体推定手段は、
前記対象画像に基づいて、輝度成分からなる輝度画像と色差成分からなる色差画像とを生成する輝度画像・色差画像生成手段と、
前記輝度画像・色差画像生成手段によって生成された前記輝度画像と前記色差画像とのそれぞれから、被写体を含む被写体領域を抽出する被写体領域抽出手段と、
前記被写体領域抽出手段によって前記輝度画像と前記色差画像とのそれぞれから抽出された前記被写体領域内の画素の画素値に基づいて、代表値を算出する代表値算出手段と、
前記被写体領域内の各画素の画素値から前記代表値算出手段によって算出された前記代表値を減算して、前記輝度画像と前記色差画像とのそれぞれに対応する差分画像を生成する差分画像生成手段と、
前記差分画像生成手段によって生成された前記差分画像を２値化する２値化手段と、
前記２値化手段によって２値化された前記輝度画像に対応する２値画像と、前記色差画像に対応する２値画像とを合成する合成手段と、
前記合成手段によって合成された合成画像内から白画素の塊をマスクとして抽出するマスク抽出手段と、
前記マスク抽出手段によって抽出された前記マスクに対して、前記マスクが被写体を示すマスクである可能性を示す評価値を算出する評価値算出手段と、を含み、
前記評価値算出手段によって算出された前記評価値に基づいて、前記対象画像内における被写体の重心位置と大きさを推定することを特徴とする被写体追尾装置。
【請求項４】
請求項３に記載の被写体追尾装置において、
前記差分画像生成手段によって生成された前記差分画像の各画素値に対して、前記被写体領域からの距離に応じた係数をかけて重み付けを行って、前記輝度画像と前記色差画像とのそれぞれに対応する重み付け画像を生成する重み付け画像生成手段をさらに備え、
前記２値化手段は、前記重み付け画像生成手段によって生成された前記重み付け画像を２値化することを特徴とする被写体追尾装置。
【請求項５】
請求項３または４に記載の被写体追尾装置において、
前記差分画像生成手段は、前記被写体領域内の画素の画素値の平均値、最頻値、または中央値を前記代表値として算出することを特徴とする被写体追尾装置。
【請求項６】
請求項３〜５のいずれか一項に記載の被写体追尾装置において、
前記被写体領域抽出手段は、前記対象画像上で使用者によって指定された座標を含む領域、または焦点調節処理におけるAF点を含む領域を前記被写体領域として抽出することを特徴とする被写体追尾装置。
【請求項７】
請求項６に記載の被写体追尾装置において、
前記初期テンプレート画像は、追尾開始１フレーム前の画像を対象画像とし、前記使用者によって指定された座標、または焦点調節処理におけるAF点を中心として、前記テンプレートサイズ算出手段によって算出されたテンプレートサイズのテンプレート画像を初期テンプレート画像とすることを特徴とする被写体追尾装置。
【請求項８】
請求項１〜７のいずれか一項に記載の被写体追尾装置において、
前記テンプレートサイズ算出手段は、前記被写体推定手段によって推定された被写体を包絡する矩形の短辺の長さに基づいてテンプレートサイズを算出することを特徴とする被写体追尾装置。
【請求項９】
請求項１〜８のいずれか一項に記載の被写体追尾装置において、
前記初期テンプレートリサイズ手段は、追尾を行う画像の少なくとも１フレーム前の画像を対象画像として、前記テンプレートサイズ算出手段によって算出されたテンプレートサイズへ、前記初期テンプレート画像をニアレストネイバー法、バイリニア法、または、バイキュービック法でリサイズすることを特徴とする被写体追尾装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の被写体追尾装置において、
前記ラベリングテンプレート画像更新手段は、追尾を行う画像の少なくとも１フレーム前の画像を対象画像として、前記ラベリングテンプレート画像を更新することを特徴とする被写体追尾装置。
【請求項１１】
請求項１〜１０のいずれか一項に記載の被写体追尾装置において、
前記ターゲット画像設定手段は、前記被写体位置特定手段によって特定された被写体位置と、前記被写体推定手段によって推定された被写体の重心位置とが所定値以上異なる場合、前記被写体位置特定手段によって特定された被写体位置を中心とする領域に１つ目のターゲット画像を設定し、前記被写体推定手段によって推定された被写体の重心位置を中心とした領域に２つ目のターゲット画像を設定することを特徴とする被写体追尾装置。
【請求項１２】
対象画像内にターゲット画像を設定するターゲット画像設定と、
リサイズ以外の更新が行われない初期テンプレート画像と前記ターゲット画像との類似度、およびリサイズか否かにかかわらず更新が行われるラベリングテンプレート画像と前記ターゲット画像との類似度を、それぞれ算出する類似度算出と、
前記類似度算出によって算出された前記類似度に基づいて、前記対象画像内における被写体位置を特定する被写体位置特定と、
前記被写体位置特定によって特定された被写体位置を中心として被写体候補領域を設定する被写体候補領域設定と、
前記被写体候補領域設定によって設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定と、
前記被写体推定によって推定された被写体の大きさに基づいてテンプレートサイズを算出するテンプレートサイズ算出と、
前記テンプレートサイズ算出によって算出されたテンプレートサイズへ、前記初期テンプレート画像をリサイズする初期テンプレートリサイズと、
前記対象画像に基づいて、前記被写体推定によって推定された前記重心位置を中心とする、前記テンプレートサイズ算出によって算出されたテンプレートサイズの画像へ前記ラベリングテンプレート画像を更新するラベリングテンプレート画像更新と、
を行うことを特徴とする被写体追尾方法。
【請求項１３】
請求項１〜１１のいずれか一項に記載の被写体追尾装置を搭載することを特徴とするカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体追尾装置、被写体追尾方法、およびカメラに関する。
【背景技術】
【０００２】
次のような被写体追尾装置が知られている。この被写体追尾装置は、正規化相関という演算手法を用いてテンプレートと画像間の類似度を算出して、被写体を追尾する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７６８０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、テンプレートサイズが元のままであるため、大きさが変化する被写体の追尾が困難という問題があった。
【課題を解決するための手段】
【０００５】
本発明による被写体追尾装置は、対象画像内にターゲット画像を設定するターゲット画像設定手段と、リサイズ以外の更新が行われない初期テンプレート画像とターゲット画像との類似度、および、リサイズか否かにかかわらず更新が行われるラベリングテンプレート画像とターゲット画像との類似度を、それぞれ算出する類似度算出手段と、類似度算出手段によって算出された類似度に基づいて、対象画像内における被写体位置を特定する被写体位置特定手段と、被写体位置特定手段によって特定された被写体位置を中心として被写体候補領域を設定する被写体候補領域設定手段と、被写体候補領域設定手段によって設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定手段と、被写体推定手段によって推定された被写体の大きさに基づいてテンプレートサイズを算出するテンプレートサイズ算出手段と、テンプレートサイズ算出手段によって算出されたテンプレートサイズへ、初期テンプレート画像をリサイズする初期テンプレートリサイズ手段と、対象画像に基づいて、被写体推定手段によって推定された重心位置を中心とする、テンプレートサイズ算出手段によって算出されたテンプレートサイズの画像へラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、被写体の大きさが変化する場合でも適切に追尾を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施の形態によるカメラの構成を例示するブロック図である。
【図２】被写体追尾処理の流れを示すフローチャートである。
【図３】被写体追尾処理の流れを示すフローチャートである。
【図４】被写体追尾処理の流れを示すフローチャートである。
【図５】被写体追尾処理の流れを示すフローチャートである。
【図６】被写体追尾処理の流れを示すフローチャートである。
【図７】ラベリング処理を毎フレーム行う場合の概念図である。
【図８】ラベリング処理を２フレームに１回の割合で行う場合の概念図である。
【図９】対象画像を例示する図である。
【図１０】(a)対象画像に基づいて生成したY成分の２値画像を例示する図、(b)Cb成分の２値画像を例示する図、(c)Cr成分の２値画像を例示する図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明を実施するための形態について説明する。図１は、本発明の一実施の形態によるカメラの構成を例示するブロック図である。カメラ１００は、操作部材１０１と、レンズ１０２と、撮像素子１０３と、制御装置１０４と、メモリカードスロット１０５と、表示モニタ１０６とを備えている。操作部材１０１は、ユーザーによって操作される種々の入力部材、たとえば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含む。
【０００９】
レンズ１０２は、複数の光学レンズから構成されるが、図１では代表して１枚のレンズで表している。撮像素子１０３は、たとえばＣＭＯＳイメージセンサによって構成される。撮像素子１０３は、レンズ１０２により結像された被写体像を撮像し、画像信号を制御装置１０４へ出力する。
【００１０】
制御装置１０４は、撮像素子１０３から入力された画像信号に基づいて所定の画像形式、たとえばＪＰＥＧ形式の画像データ（以下、本画像データと呼ぶ）を生成する。また、制御装置１０４は、生成した画像データに基づいて、表示用画像データ、たとえばサムネイル画像データを生成する。制御装置１０４は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成する。
【００１１】
メモリカードスロット１０５は、記憶媒体としてのメモリカードを挿入するためのスロットである。制御装置１０４は、メモリカードスロット１０５に挿入されているメモリカードへ上記生成した画像ファイルを書き込んで記録する。また、制御装置１０４は、メモリカードスロット１０５に挿入されているメモリカード内に記録されている画像ファイルを読み込む。
【００１２】
表示モニタ１０６は、カメラ１００の背面に搭載された液晶モニタ（背面モニタ）である。当該表示モニタ１０６は、メモリカードに記憶されている画像ファイルに基づく再生画像や、カメラ１００を設定するための設定メニュー画面などを表示する。また、制御装置１０４は、ユーザーによってカメラ１００のモードが撮影モードに設定されると、撮像素子１０３から時系列で取得した画像の表示用画像データを表示モニタ１０６に表示させる。これにより、表示モニタ１０６にスルー画が表示される。
【００１３】
制御装置１０４は、演算部１０４ａ、メモリ、およびその他の周辺回路により構成され、カメラ１００の動作を制御する。演算部１０４ａはＣＰＵを含む。制御装置１０４を構成するメモリには、ＳＤＲＡＭやフラッシュメモリが含まれる。ＳＤＲＡＭは揮発性のメモリであって、演算部１０４ａがプログラム実行時にプログラムを展開するためのワークメモリとして使用される。また、ＳＤＲＡＭは、データを一時的に記憶するためのバッファメモリとしても使用される。
【００１４】
一方、フラッシュメモリは不揮発性のメモリであって、演算部１０４ａが実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
【００１５】
本実施形態の演算部１０４ａは、撮像素子１０３から入力される画像の各フレームに対して、あらかじめ用意したテンプレートを用いたテンプレートマッチング（ＴＭ）処理を行うことによって、フレーム内からテンプレートと類似する画像領域を特定する。ＴＭ処理は、入力画像内の所定の位置にテンプレートと同じ大きさのターゲット枠を設定し、該ターゲット枠内のターゲット画像とテンプレートとの間の類似度を算出する。ターゲット枠を入力画像内で移動させながら類似度の大小を求めることによって入力画像内で類似度マップを作成し、類似度が高い領域（すなわち被写体領域）を特定する。そして、特定した領域をフレーム間で追跡することによって被写体を追尾する。その際、被写体の位置および大きさの変化に基づいてテンプレートを自動更新する。追跡する被写体の重心位置を中心にテンプレートを更新することで、小被写体の場合にテンプレートサイズを小さく抑え、テンプレート内の背景情報を抑える。
【００１６】
また、演算部１０４ａは、入力画像の全体ではなく入力画像に基づいて設定した所定範囲（検索エリアと呼ぶ）を対象にＴＭ処理を行う。このように検索エリアを入力画像より小さくするのは、画面全体をＴＭ処理対象とすると処理時間がかかる上、背景による擬似マッチングが起きやすいことから、これらを避けるためである。検索エリアの設定については後述する。
【００１７】
図２〜図６は、本実施の形態における被写体追尾処理の流れを示すフローチャートである。図２に示す処理は、撮像素子１０３から画像の入力が開始されると起動するプログラムとして、制御装置１０４の演算部１０４ａによって実行される。
【００１８】
図２のステップＳ１０において、演算部１０４ａは、必要とされる処理速度に合わせて、入力画像の２フレーム目以降に公知のラベリング処理を行うためのフレーム間隔を設定する。本実施形態では、ＴＭ処理に用いるテンプレートを更新するためにラベリング処理を行う。たとえば、処理速度に余裕がある場合は、ラベリング処理を毎フレーム行うように設定し、フレーム毎に１フレーム前の画像を用いたテンプレートに更新する。処理速度に余裕がない場合は、たとえば、２フレームにつき１回ラベリング処理を行うように設定し、１フレームおきに２フレーム前の画像を用いたテンプレートに更新する。図７は、ラベリング処理を毎フレーム行う場合の概念図を、図８は、２フレームに１回の割合でラベリング処理を行う場合の概念図をそれぞれ示す。
【００１９】
図７において、入力画像の１フレーム目は、操作部材１０１を介してユーザーによって指定された被写体位置（指定点）に基づいてラベリング処理を行い、初期テンプレートを取得する。入力画像の２フレーム目以降は、フレーム毎に検索エリア内の画像領域とテンプレート(初期テンプレート、後述するラベリングテンプレート)との類似度を算出し、最も類似度が高い画像領域の位置情報を取得する（ＴＭ処理）。そして、フレーム毎に上記位置情報に基づいてラベリング処理を行い、該ラベリング結果に基づいてテンプレートを更新する（ラベリングテンプレートと呼ぶ）。一方、図８の場合は、フレーム毎にＴＭ処理を行うものの、上記取得した位置情報に基づいて１フレームおきにラベリング処理を行い、該ラベリング結果に基づいてテンプレートを更新する。
【００２０】
図２のステップＳ２０において、演算部１０４ａは、画像の１フレーム目を読み込んでステップＳ３０へ進む。演算部１０４ａは、１フレーム目の画像を対象画像とする。対象画像のサイズは、たとえば、160×120ピクセルとする。演算部１０４ａは、対象画像がRGB表色系で表されている場合、次式(1)〜(3)、または、次式(4)〜(6)を用いてYCbCr色空間における輝度成分(Y成分)からなる輝度画像と色差成分(Cb成分、Cr成分)とからなる色差画像とに変換する。なお、撮像素子入力される画像データがYCbCrで表されている場合には、この変換処理は不要となる。
Y =  0.2990R + 0.5870G + 0.1140B ・・・ (1)
Cb = -0.1687R - 0.3313G + 0.5000B + 128・・・ (2)
Cr =  0.5000R - 0.4187G - 0.0813B + 128 ・・・ (3)
Y =  0.25R + 0.50G + 0.25B ・・・ (4)
Cb = -0.25R - 0.50G + 0.75B + 128 ・・・ (5)
Cr =  0.75R - 0.50G - 0.25B + 128 ・・・ (6)
【００２１】
ステップＳ３０において、演算部１０４ａは、無駄な処理やノイズを防ぐための制限値であるSmallLimitに初期値を設定し、ステップＳ４０へ進む。本実施形態では、SmallLimitの初期値を、たとえば0.0001とする。
【００２２】
ステップＳ４０において、演算部１０４ａは、被写体位置座標入力操作を受け付ける。具体的には、ユーザーが操作部材１０１を操作して入力した被写体位置（指定点）の座標を被写体位置座標として特定し、ステップＳ５０へ進む。
【００２３】
ステップＳ５０において、演算部１０４ａは、ステップＳ４０で特定した被写体位置座標を中心とした3×3ピクセルの領域を対象として、Y、Cb、Cr成分各々の平均値(Ave)を算出する。ここでは、Y、Cb、Cr成分の平均値をそれぞれaveY、aveCb、aveCrとする。
【００２４】
ステップＳ６０では、演算部１０４ａは、対象画像の標準偏差、すなわち、Y成分の標準偏差sigY、Cb成分の標準偏差sigCb、Cr成分の標準偏差sigCrをそれぞれ算出する。本実施の形態では、標準偏差の算出には対象画像の平均値ではなく、ステップＳ５０で算出した3×3ピクセル領域の平均値(aveY、aveCb、aveCr)を使用する。
【００２５】
ステップＳ７０において、演算部１０４ａは、対象画像の輝度画像(Y画像)と色差画像(Cb画像とCr画像）の各画素の値から、ステップＳ５０で算出したY、Cb、Cr成分の各々の平均値を減算し、絶対値をとった差分画像を作成する。差分画像(DiffY、DiffCb、DiffCr)は、次式(7)〜(9)により得る。
DiffY = abs(Y - aveY)                      ‥‥‥(7)
DiffCb = abs(Cb - aveCb)                   ‥‥‥(8)
DiffCr = abs(Cr - aveCr)                   ‥‥‥(9)
なお、上式(7)〜(9)においてabsは、絶対値をとる関数である。あるいは、差分値の絶対値でなく、差分値の2乗を用いてもよい。
【００２６】
ステップＳ８０において、演算部１０４ａは、ステップＳ４０で特定した被写体位置座標を中心とした所定の大きさ、たとえば30×30ピクセルの矩形からの距離に応じた距離重み付け係数Distを算出する。そして、次式(10)〜(12)に示すように、ステップＳ７０で作成したY、Cb、Cr成分の各差分画像の各画素の値に距離重み付け係数Distをかけることにより、距離重みつき差分画像DistY、DistCb、DistCrをそれぞれ作成する。このステップＳ８０の処理により、被写体位置座標から距離が離れる程、二値化の際に画素値が０になりやすくなるため、背景のノイズを除去することができる。
DistY = DiffY×Dist                        ‥‥‥(10)
DistCb = DiffCb×Dist                      ‥‥‥(11)
DistCr = DiffCr×Dist                      ‥‥‥(12)
【００２７】
ステップＳ９０において、演算部１０４ａは、ステップＳ８０で作成した距離重み付き差分画像の各成分(DistY、DistCb、DistCr)を以下に示す方法で２値化し、Y、Cb、Cr成分の２値画像をそれぞれ作成する。具体的には、Y成分の距離重み付き差分画像の各成分DistYについては、次式(13)より２値化を行う。
if  DistY < α×sigY
DistY ＝ 1
else
DistY = 0                              ‥‥‥(13)
【００２８】
Cb成分の距離重み付き差分画像の各成分DistCbについては、次式(14)、(15)により２値化を行う。
if  DistCb < α×sigCb
DistCb = 1
else
DistCb = 0                             ‥‥‥(14)
ただし、118 < aveCb < 138  かつ  sigCb < abs(aveCb−128)＋3 のとき、
if  DistCb < α×sigCb×[{abs(aveCb−128)＋3}／sigCb]1/2×[10／{abs(aveCb−128)＋0.1}]1/2
DistCb = 1
else
DistCb = 0                             ‥‥‥(15)
【００２９】
Cr成分の距離重み付き差分画像の各成分DistCrについては、次式(16)、(17)により２値化を行う。
if  DistCr < α×sigCr
DistCr = 1
else
DistCr = 0                             ‥‥‥(16)
ただし、118 < aveCr < 138  かつ  sigCr < abs(aveCr−128)＋3 のとき、
if  DistCr < α×sigCr×[{abs(aveCr−128)＋3}／sigCr]1/2×[10／{abs(aveCr−128)＋0.1}]1/2
DistCr = 1
else
DistCr = 0                             ‥‥‥(17)
なお、上式(13)〜(17)における係数αは、たとえば0.6とする。Cb成分とCr成分の2値画像作成にあたり、Cb・Crの平均値が128付近、かつ、標準偏差が小さい場合、被写体は無彩色である事が多く、通常通りの処理を行ってしまうと、上手く被写体を二値化できないという問題がある。この問題には、式(15)と(17)を用いて、Cb・Crの平均値と標準偏差に応じた重み係数を二値画像算出式に乗じることにより、対応している。
【００３０】
上式(13)〜(17)により、Y、Cb、Cr成分の距離重み付き差分画像DistY、DistCb、DistCrについて、画素値が所定範囲に入る画素を白画素、それ以外の画素を黒画素に２値化できる。図９は、対象画像を例示する図である。図１０(a)、図１０(b)、図１０(c)はそれぞれ、図９の対象画像に基づいてステップＳ９０で生成したY、Cb、Cr成分の２値画像を例示する図である。ステップＳ１００において、演算部１０４ａは、Y、Cb、Cr成分の２値画像のアンドをとって合成し、アンド画像を作成する。図１０(d)は、合成後のアンド画像を例示する図である。アンドをとることで被写体固有の色を白画素とすることができ、ノイズ（被写体以外の白画素）を減らすことができる。
【００３１】
ステップＳ１１０において、演算部１０４ａは、ステップＳ１００で生成したアンド画像からステップＳ４０で特定した被写体位置座標を中心とする所定範囲（たとえば80×60ピクセル）の領域をクロップする。このクロップ処理で得たクロップ画像を対象として以降の処理を行うことにより、処理を高速化することができる。
【００３２】
ステップＳ１２０において、演算部１０４ａは、ステップＳ１１０で取得したクロップ画像を対象に８方向のラベリング処理を行ってステップＳ１３０へ進む。あるいは、４方向のラベリング処理を行っても良い。ステップＳ１３０において、演算部１０４ａは、上記ラベリング処理で作成されたラベリング画像内から白画素の塊をマスクとして抽出し、抽出したマスクの面積を算出する。
【００３３】
ステップＳ１４０において、演算部１０４ａは、算出したマスクの面積に基づいて、主要被写体である可能性が低いマスクを除外するための足切りを行う。具体的には、次式(18)に示すように、マスク面積をアンド画像の画面面積で割った値があらかじめ設定された下限値SmallLimitより大きいマスクのみを残し、その他のマスクを以降の処理対象から除外する。ここで、SmallLimitはステップＳ３０で設定した値である。主要被写体である可能性が低い（すなわちマスク面積が小さすぎる）マスクを以降の処理対象から除外することにより、処理の高速化を図ることができる。
SmallLimit < マスク面積／画面面積          ‥‥‥(18)
【００３４】
図３のステップＳ１５０において、演算部１０４ａは、マスク（すなわち白画素の塊）が１つ以上あるか否かを判定する。演算部１０４ａは、上記足切り処理の結果としてマスクが１つでも残ればステップＳ１５０を肯定判定してステップＳ１６０へ進む。ステップＳ１６０へ進むのは追尾可能な場合である。一方、演算部１０４ａは、上記足切り処理によってマスクが１つも残らない場合はステップＳ１５０を否定判定して図３による処理を終了する。ステップＳ１５０を否定判定するのは被写体追尾ができない場合である。なお、ステップＳ１５０を否定判定した場合にステップＳ４０へ戻り、再度被写体位置座標の入力操作を受け付けるように構成してもよい。
【００３５】
ステップＳ１６０において、演算部１０４ａは、次式(19)により各マスクの慣性モーメントIM22を算出し、ステップＳ１７０へ進む。
IM22 = ΣΣ{(x−xg)2＋ (y−yg)2}            ‥‥‥(19)
ただし、上式(19)において(x,y)は各マスクの画素の座標であり、(xg, yg)はステップＳ４０で特定した被写体位置の座標である。
【００３６】
ステップＳ１７０において、演算部１０４ａは、ステップＳ１３０で算出したマスク面積とステップＳ１６０で算出した慣性モーメントIM22とに基づいて、次式(20)により各マスクの評価値を算出する。
評価値 = (マスク面積)β／IM22               ‥‥‥(20)
なお、上式(20)におけるβの値は、たとえば1.5とする。
【００３７】
ステップＳ１８０では、演算部１０４ａは、ステップＳ１７０で算出した評価値が最大であるマスクが主要被写体を示す可能性が高いマスクとして特定し、特定したマスクとその重心座標、および該マスクを包絡する（すなわち外接する）矩形の４端座標を制御装置１０４内のＳＤＲＡＭに保存する。
【００３８】
ステップＳ１９０において、演算部１０４ａは、次回のラベリング処理に用いるSmallLimitを算出して保存する。SmallLimitは、たとえば、次式(21)により算出して上記ＳＤＲＡＭに保存する。
SmallLimit = マスクの面積／画面面積 × 0.1      ‥‥‥(21)
ただし、ステップＳ３０で設定したSmallLimit = 0.0001をInitialSmallLimitとし、SmallLimit < InitialSmallLimit×0.1の関係が成り立つ場合には、SmallLimit = InitialSmallLimitとする。
【００３９】
ステップＳ２００において、演算部１０４ａは、ステップＳ１８０で保存した評価値最大のマスクを膨張させたDilationマスクを作成する。上述したように、マスクは２値画像における白画素の塊として表されているので、該白画素の塊を所定画素数膨張させる。膨張させる画素数は、毎フレームラベリング処理を行う場合に、たとえば７画素とする。
【００４０】
ステップＳ２１０において、演算部１０４ａは、ＴＭ処理用に対象画像をリサイズした画像を作成する。本実施形態では、たとえばバイリニア法により対象画像を80×60ピクセルにリサイズした画像を作成する。ステップＳ２２０では、演算部１０４ａは、ステップＳ４０で取得した被写体位置座標をリサイズ比に応じて変換する。
【００４１】
ステップＳ２３０において、演算部１０４ａは、ステップＳ１８０で保存した包絡矩形の短辺よりテンプレートサイズを算出する。たとえば、テンプレートサイズを、(包絡矩形短辺×リサイズ比)×(包絡矩形短辺×リサイズ比)とする。ただし、擬似マッチングを抑制するため、最小テンプレートサイズを6×6ピクセルとする。
【００４２】
ステップＳ２４０では、演算部１０４ａは、ステップＳ２２０で変換した被写体位置座標を中心として、ステップＳ２３０で算出したサイズの初期テンプレートを作成し、SDRAMに保存する。なお、テンプレート作成には、ステップＳ２１０で作成したリサイズ画像を用いる。ステップＳ２５０では、演算部１０４ａは、ステップＳ２４０で作成した初期テンプレートをラベリングテンプレートとしてＳＤＲＡＭに保存する。
【００４３】
ステップＳ２６０では、ステップＳ２２０で変換した被写体位置座標を中心として、ＴＭ処理の検索エリアを設定する。検索エリアの上端y座標(TM_Ystart)、下端y座標(TM_Yend)、左端x座標(TM_Xstart)、右端x座標(TM_Xend)は、次式(22)により算出する。
Search = TM_ImageWidth×Keisu
Geta1 = Geta×TM_ImageWidth/Label_ImageWidth
SearchWidth = MinZansa×Search + Geta1
TM_Ystart = ResizeY−(SearchWidth +1)−TempSize/2
TM_Yend = ResizeY + SearchWidth + TempSize/2
TM_Xstart = ResizeX−(SearchWidth +1)−TempSize/2
TM_Xend = ResizeX + SearchWidth + TempSize/2         ‥‥‥(22)
ただし、上式(22)においてTM_ImageWidthはＴＭ用画像の横幅、Label_ImageWidthはラベリング用画像の横幅、ResizeYはステップＳ２２０で座標変換した被写体位置y座標、ResizeXはステップＳ２２０で座標変換した被写体位置x座標、TempSizeはステップＳ２３０で算出したテンプレートサイズである。なお、１フレーム目にはＴＭ処理を行わないため、暫定的にMinZansa = 0.1とする。なお、本実施形態ではKeisu = 0.5、Geta = 30とする。
【００４４】
図４のステップＳ２７０において、演算部１０４ａは、次フレームを読み込んでステップＳ２８０へ進む。演算部１０４ａは、読み込んだ画像を対象画像とする。そして、対象画像を80×60ピクセルにリサイズしたＴＭ処理用画像を作成してステップＳ２９０へ進む。ステップＳ２９０において、演算部１０４ａは対象画像が２フレーム目か否かを判定する。演算部１０４ａは、対象画像が２フレーム目の場合にステップＳ２９０を肯定判定してステップＳ６２０へ進む。演算部１０４ａは、対象画像が２フレーム目でない（すなわち３フレーム目以降）場合には、ステップＳ２９０を否定判定してステップＳ３００へ進む。
【００４５】
ステップＳ３００において、演算部１０４ａは、対象画像がラベリング結果を反映させるフレームナンバーであるか否かを判定する。演算部１０４ａは、フレーム毎にラベリング結果に基づいてテンプレートを更新する場合は、各フレームでステップＳ３００を肯定判定してステップＳ３１０へ進む。演算部１０４ａは、たとえば２フレームにつき１回の割合でラベリング結果に基づいてテンプレートを更新する場合は、フレーム毎にステップＳ３００の肯定判定と否定判定とを切り替える。ステップＳ３００を否定判定する場合は、ステップＳ３３０へ進む。
【００４６】
ステップＳ３００を肯定判定した演算部１０４ａはステップＳ３１０へ進み、現在のラベリングテンプレートを後述するステップＳ６１０でSDRAMに保存しておいたラベリングテンプレートに更新し、ステップＳ３２０へ進む。ステップＳ３２０において、演算部１０４ａは、ステップＳ３１０で更新したラベリングテンプレートと同じサイズになるように、ステップＳ240でSDRAMに保存しておいた初期テンプレートをリサイズし、ステップＳ３３０へ進む。リサイズ方法は、たとえばバイリニア法を用いる。
【００４７】
ステップＳ３３０において、演算部１０４ａは、前フレームに対する処理においてステップＳ３８０で算出した最大類似度(最小残差の値)と、被写体位置座標とを用いてＴＭ処理用の検索エリアを設定する。検索エリアの上端y座標(TM_Ystart)、下端y座標(TM_Yend)、左端x座標(TM_Xstart)、右端x座標(TM_Xend)の算出には、上式(22)を用いる。ただし、ステップＳ３３０はステップＳ２６０の場合と異なり、上式(22)において、MinZansaはＳ３８０で算出した最大類似度(最小残差の値)、ResizeYはステップＳ３８０で算出した被写体位置y座標、ResizeXはステップＳ３８０で算出した被写体位置x座標、TempSizeは後述するステップＳ５９０で算出したテンプレートサイズである。
【００４８】
ステップＳ３４０では、演算部１０４ａは、前回のラベリング結果と前フレームのＴＭ処理結果とが異なるか否かを判定する。演算部１０４ａは、評価値が最大であるマスクの重心座標と、ＴＭ処理によって得た被写体位置座標との距離が所定値を超える、すなわち次式(23)を満たす場合にステップＳ３４０を肯定判定してステップＳ３５０へ進む。演算部１０４ａは、次式(23)を満たさない場合には、ステップＳ３４０を否定判定してステップＳ３６０へ進む。
{(Lab_xg−TM_xg)2 + (Lab_yg−TM_yg)2}1/2 > DistGrav     ‥‥‥(23)
ただし、上式(23)においてLab_xgはステップＳ５５０で保存した評価値最大のマスク重心x座標、Lab_ygはステップＳ５５０で保存した評価値最大のマスク重心y座標、TM_xgはステップＳ３９０で算出した被写体位置x座標、TM_ygはステップＳ３９０で算出した被写体位置y座標である。なお、本実施形態では上記所定値DistGrav = 8とする。
【００４９】
ステップＳ３４０を肯定判定する場合は、２つの検索エリアでそれぞれＴＭ処理を行う。ステップＳ３５０において、演算部１０４ａは、ステップＳ３８０で算出した最大類似度(最小残差の値)と、ステップＳ５５０で保存した評価値最大のマスクの重心座標とを用いて、２つ目となるＴＭ処理の検索エリアを設定する。検索エリアの上端y座標(TM2_Ystart)、下端y座標(TM2_Yend)、左端x座標(TM2_Xstart)、右端x座標(TM2_Xend)は、次式(24)により算出する。
Search = TM_ImageWidth×Keisu
Geta1 = Geta×TM_ImageWidth/Label_ImageWidth
SearchWidth = MinZansa×Search + Geta1
TM2_Ystart = ResizeLab_yg−(SearchWidth +1)−TempSize/2
TM2_Yend = ResizeLab_yg + SearchWidth + TempSize/2
TM2_Xstart = ResizeLab_xg−(SearchWidth +1)−TempSize/2
TM2_Xend = ResizeLab_xg + SearchWidth + TempSize/2    ‥‥‥(24)
ただし、上式(24)においてTM_ImageWidthはＴＭ用画像の横幅、Label_ImageWidthはラベリング用画像の横幅、MinZansaはＳ３８０で算出した最大類似度(最小残差の値)、ResizeLab_ygはステップＳ５５０で保存した評価値最大のマスク重心座標をＴＭ用画像サイズに応じて座標変換したy座標、ResizeLab_xgはステップＳ５５０で保存した評価値最大のマスク重心座標をＴＭ用画像サイズに応じて座標変換したx座標、TempSizeはステップＳ５９０で算出したテンプレートサイズである。なお、本実施形態ではKeisu = 0.5、Geta = 30とする。
【００５０】
ステップＳ３６０において、演算部１０４ａは、ステップＳ３１０で更新したラベリングテンプレートと、ステップＳ３２０でリサイズした初期テンプレートとを用いて、ステップＳ３３０で設定した検索エリアの類似度マップをY、Cb、Crプレーンのそれぞれにおいて作成する。すなわち、２枚のテンプレートを用いたＴＭ処理を行う。初期テンプレートもＴＭ処理に用いる理由は、初期テンプレートは被写体の変化が少ない場合の安定な追尾に寄与することと、仮に更新したラベリングテンプレートが、テンプレート内に被写体を捉えていないような信頼性の低いテンプレートであっても、初期テンプレートのマッチング処理により、被写体を追尾できる可能性があると考えたためである。なお、ステップＳ３５０で２つめの検索エリアを設定した場合には、該２つめの検索エリアの類似度マップもY、Cb、Crプレーンのそれぞれにおいて作成する。すなわち、２枚のテンプレートを用いたＴＭ処理を、２つの検索エリアにおいてそれぞれ行う。
【００５１】
ステップＳ３７０では、演算部１０４ａは、ステップＳ３３０で設定した検索エリアの類似度マップに、ステップＳ３８０で検出したマッチング位置からの距離に応じて係数を乗算する。係数は、次式(25)により算出する。
Kyori(x,y) = Kyori0 + K(|x−Mx| + |y−My|)  ‥‥‥(25)
ただし、上式(25)における(x,y)はＴＭ用画像の各画素の座標であり、MxはステップＳ３８０で選出したマッチング位置のx座標、MyはステップＳ３８０で選出したマッチング位置のy座標である。なお、本実施形態ではKyori0 = 1.0、K = 0.05とする。
【００５２】
ステップＳ３８０において、演算部１０４ａは、各テンプレート、各検索エリアで作成したY、Cb、Crプレーンの類似度マップを次式(26)により統合する。
N = TempSize×TempSize×255
SAD(x,y) = 1/N×{GainY×SADY(x,y) + GainCb×SADCb(x,y) + GainCr×SADCb(x,y)}
‥‥‥(26)
ただし、上式(26)においてＮは類似度の規格化係数、TempSizeはテンプレートサイズ、(x,y)は類似度マップの各画素の座標、SADは統合した類似度マップの座標(x,y)における類似度、SADYはプレーンYの類似度マップの座標(x,y)における類似度、SADCbはプレーンCbの類似度マップの座標(x,y)における類似度、SADCrはプレーンCrの類似度マップの座標(x,y)における類似度である。本実施形態では、GainY = 0.1、GainCb = 1.5、GainCr = 1.5とする。
【００５３】
演算部１０４ａはさらに、統合した各類似度マップの中から類似度が最大(残差が最小)となる座標(マッチング位置)を選出し、被写体位置座標を次式(27)により算出する。
Objx = Mx + TempSize/2
Objy = My + TempSize/2                     ‥‥‥(27)
ただし、上式(27)においてObjxは被写体位置x座標、Mxはマッチング位置x座標、Objyは被写体位置y座標、Myはマッチング位置y座標、TempSizeはステップＳ５９０で算出したテンプレートサイズである。
【００５４】
このように、２つの検索エリアでそれぞれＴＭ処理を行えるように構成したので、前回のラベリング結果と前フレームのＴＭ処理結果とが異なる場合でも、適切に対処できる。すなわち、各テンプレート、各検索エリアで作成したY、Cb、Crプレーンの類似度マップを統合し、統合した各類似度マップの中から類似度が最大(残差が最小)となる座標(マッチング位置)を選出するようにしたので、適切に被写体位置座標を算出できる。
【００５５】
上述したステップＳ２９０を肯定判定して進むステップＳ６２０において、演算部１０４ａは、ステップＳ２４０で作成した初期テンプレートを用いて、ステップＳ２６０で設定した検索エリアの類似度マップを作成し、ステップＳ３８０へ進む。２フレーム目の場合はラベリングテンプレート＝初期テンプレートなので、初期テンプレートのみを用いて検索エリアの類似度マップをY、Cb、Crプレーンのそれぞれにおいて作成する。
【００５６】
図５のステップＳ３９０において、演算部１０４ａは、対象画像のサイズに応じて、ステップＳ３８０で算出した被写体位置座標を変換する。
【００５７】
ステップＳ４００において、演算部１０４ａは追尾結果として被写体位置を示す表示を表示モニタ１０６に表示させる。具体的には、被写体エリアの上端y座標(Obj_Ystart)、下端y座標(Obj_Yend)、左端x座標(Obj_Xstart)、右端x座標(TM2_Xend)を、次式(28)によりそれぞれ算出し、これらの座標に基づいて被写体エリアに相当する矩形表示を行う。
Obj_Ystart = ResizeObjy−TempSize/2×Label_ImageWidth/TM_ImageWidth + 1
Obj_Yend = ResizeObjy + TempSize/2×Label_ImageWidth/TM_ImageWidth
Obj_Xstart = ResizeObjx−TempSize/2×Label_ImageWidth/TM_ImageWidth + 1
Obj_Xend = ResizeObjx + TempSize/2×Label_ImageWidth/TM_ImageWidth
‥‥‥(28)
ただし、上式(28)においてResizeObjyはステップＳ３９０で座標変換した被写体位置y座標、ResizeObjxはステップＳ３９０で座標変換した被写体位置x座標、TempSizeはステップＳ５９０で算出したテンプレートサイズ、TM_ImageWidthはＴＭ用画像の横幅、Label_ImageWidthはラベリング用画像の横幅である。
【００５８】
ステップＳ４１０において、演算部１０４ａは対象画像がラストフレームか否かを判定する。演算部１０４ａは、対象画像がラストフレームの場合にステップＳ４１０を肯定判定して図５による処理を終了する。演算部１０４ａは、対象画像がラストフレームでない場合には、ステップＳ４１０を否定判定してステップＳ４２０へ進む。
【００５９】
ステップＳ４２０において、演算部１０４ａは、対象画像にラベリングを行うか否かを判定する。演算部１０４ａは、フレーム毎にラベリング結果に基づいてテンプレートを更新する場合は、各フレームでステップＳ４２０を肯定判定してステップＳ４３０へ進む。演算部１０４ａは、たとえば２フレームにつき１回の割合でラベリング結果に基づくテンプレートを更新する場合は、フレーム毎にステップＳ４２０の肯定判定と否定判定とを切り替える。ステップＳ４２０を否定判定する場合は、以降の処理を省略して図４のステップＳ２７０へ戻り、次フレームの画像を入力する。
【００６０】
ステップＳ４２０を肯定判定した演算部１０４ａはステップＳ４３０へ進み、対象画像に対してステップＳ６０の場合と同様の処理を行い、対象画像の標準偏差、すなわち、Y成分の標準偏差sigY、Cb成分の標準偏差sigCb、Cr成分の標準偏差sigCrを算出する。
【００６１】
ステップＳ４４０では、演算部１０４ａは、ステップＳ４３０で算出した標準偏差を用いて、ステップＳ７０の場合と同様の処理を行って差分画像を作成する。なお、減算するY、Cb、Cr成分各々の平均値は、ステップＳ５０で算出した値を用いる。
【００６２】
ステップＳ４５０において、演算部１０４ａは、ステップＳ４４０で作成した差分画像に対してステップＳ９０の場合と同様の処理を行って２値化し、Y、Cb、Cr成分の２値画像をそれぞれ作成する。ただし、ステップＳ９０の場合と異なり、距離に応じた重み付け係数をかけないため、上式(13)〜(17)において、DistY = DiffY、DistCb = DiffCb、DistCr = DIffCrとする。
【００６３】
ステップＳ４６０において、演算部１０４ａは、Y、Cb、Cr成分の２値画像と、後述するステップＳ５７０(２フレーム目のみステップＳ２００)で作成したDilationマスクとのアンドをとって合成し、合成画像（アンド画像∩Dilationマスク）を作成する。Dilationマスクは、前フレームにおいて主要被写体を示す可能性が高いと考えられる評価値最大のマスクを膨張させたものである。ステップＳ４６０の場合、Y、Cb、Cr成分の２値画像に加えて、Dilationマスクもアンドをとるので、ステップＳ１００の画像合成（Y、Cb、Cr成分の２値画像のアンド合成）に比べて、さらにノイズ（類似色背景）を除去することができる。これは、類似色の背景がある場合において有効である。
【００６４】
ステップＳ４７０において、演算部１０４ａは、ステップＳ４６０で生成した合成画像（アンド画像∩Dilationマスク）からステップＳ３９０で座標変換した被写体位置座標を中心とする所定範囲（たとえば80×60ピクセル）の領域をクロップする。このクロップ処理で得たクロップ画像を対象として処理を行うことにより、処理を高速化することができる。
【００６５】
ステップＳ４８０において、演算部１０４ａは、ステップＳ４７０で取得したクロップ画像を対象に８方向のラベリング処理を行う。あるいは、4方向のラベリング処理を行っても良い。ステップＳ４９０において、演算部１０４ａは、上記ラベリング処理で作成されたラベリング画像内から白画素の塊をマスクとして抽出し、抽出したマスクの面積を算出する。
【００６６】
ステップＳ５００において、演算部１０４ａは、算出したマスクの面積に基づいて、主要被写体である可能性が低いマスクを除外するためにステップＳ１４０の場合と同様の足切りを行って図６のステップＳ５１０へ進む。
【００６７】
図６のステップＳ５１０において、演算部１０４ａは、マスクが１つ以上あるか否かを判定する。演算部１０４ａは、上記足切り処理の結果としてマスクが１つでも残ればステップＳ５１０を肯定判定してステップＳ５２０へ進む。一方、演算部１０４ａは、上記足切り処理によってマスクが１つも残らない場合はステップＳ５２０を否定判定して図４のステップＳ２７０へ戻る。ステップＳ２７０へ戻る場合は、次フレームの画像を入力する。
【００６８】
ステップＳ５２０において、演算部１０４ａは、ステップＳ１６０の場合と同様に上式(19)により各マスクの慣性モーメントIM22を算出する。ただし、上式(19)において(x,y)は、各マスクの画素の座標であり、(xg, yg)はステップＳ３９０で座標変換した被写体位置座標とする。
【００６９】
ステップＳ５３０において、演算部１０４ａは、ステップＳ４９０で算出したマスク面積と、ステップＳ５２０で算出した慣性モーメントIM22とに基づいて、上式(20)により各マスクの評価値を算出する。ステップＳ５４０において、演算部１０４ａは、ステップＳ５３０で算出した評価値最大のマスクが画面端に接するか否かを判定する。演算部１０４ａは、評価値最大のマスクの輪郭が対象画像の端から所定画素（たとえば５画素）以内に近接している場合はステップＳ５４０を肯定判定して図４のステップＳ２７０へ戻る。ステップＳ５４０を肯定判定するのは、ステップＳ５５０以降の処理を省略することによって信頼性の低いラベリングテンプレートを作成するのを防ぐためである。一方、演算部１０４ａは、評価値最大のマスクの輪郭が対象画像の端から５画素以上離れている場合には、ステップＳ５４０を否定判定してステップＳ５５０へ進む。
【００７０】
ステップＳ５５０において、演算部１０４ａは、ステップＳ５３０で算出した評価値が最大であるマスクが主要被写体を示す可能性が高いマスクとして特定し、特定したマスクとその重心座標、および該マスクを包絡する矩形の４端座標を制御装置１０４内のＳＤＲＡＭに保存する。
【００７１】
ステップＳ５６０において、演算部１０４ａは、ステップＳ１９０の場合と同様に、次回のラベリング処理に用いるSmallLimitを上式(21)により算出して上記ＳＤＲＡＭに保存する。ステップＳ５７０において、演算部１０４ａは、ステップＳ５５０で保存した評価値最大のマスクを膨張させたDilationマスクを作成する。膨張させる画素数は、毎フレームラベリングを行う場合に、たとえば７画素とする。
【００７２】
ステップＳ５８０では、演算部１０４ａは、前回評価値１位のマスク面積と今回評価値１位のマスク面積とが大きく異なるか否かを判定する。演算部１０４ａは、次式(29)の条件のうち少なくとも１つを満たす（すなわち、マスク面積（推定される被写体の大きさ）の比が所定範囲にある）場合にステップＳ５８０を肯定判定して図４のステップＳ２７０へ戻る。ステップＳ５８０を肯定判定するのは、ステップＳ５９０以降の処理を省略することによって信頼性の低いラベリングテンプレートを作成するのを防ぐためである。一方、演算部１０４ａは、次式(29)を満たさない場合には、ステップＳ５８０を否定判定してステップＳ５９０へ進む。
評価値最大マスク面積／前回ラベリング時評価値最大マスク面積 > HenkaMax
評価値最大マスク面積／前回ラベリング時評価値最大マスク面積 < HenkaMin
‥‥‥(29)
ただし、上式(29)において定数の値は、たとえばHenkaMax = 5.5、HenkaMin = 0.2とする。
【００７３】
ステップＳ５９０において、演算部１０４ａは、ステップＳ２３０の場合と同様に、ステップＳ５５０で保存した包絡矩形の短辺よりテンプレートサイズを算出する。たとえば、テンプレートサイズを、(包絡矩形短辺×リサイズ比)×(包絡矩形短辺×リサイズ比)とする。ただし、擬似マッチングを抑制するため、最小テンプレートサイズを6×6ピクセルとする。
【００７４】
ステップＳ６００では、演算部１０４ａは、ＴＭ用画像サイズに応じて、ステップＳ５５０で保存した評価値最大のマスクの重心を座標変換し、ステップＳ６１０へ進む。ステップＳ６１０において、演算部１０４ａは、ステップＳ６００で座標変換した重心座標を中心として、ステップＳ５９０で算出したサイズの更新用ラベリングテンプレートを作成し、ＳＤＲＡＭに保存する。なお、テンプレート作成には、ステップＳ２８０で作成したＴＭ用画像を用いる。テンプレートを作成した演算部１０４ａは、図４のステップＳ２７０へ戻って次フレームの画像を入力する。
【００７５】
以上説明した実施形態によれば、次の作用効果が得られる。
（１）カメラ１００は、対象画像内にターゲット画像を設定する演算部１０４ａと、リサイズ以外の更新を行わない初期テンプレートとターゲット画像との類似度、および、リサイズか否かにかかわらず更新を行うラベリングテンプレートとターゲット画像との類似度を、それぞれ算出する演算部１０４ａと、演算部１０４ａによって算出された類似度に基づいて、対象画像内における被写体位置を特定する（ＴＭ処理）演算部１０４ａと、演算部１０４ａによって特定された被写体位置を中心としてクロップ領域を設定する演算部１０４ａと、演算部１０４ａによって設定されたクロップ領域で、被写体の重心位置と大きさを推定する（アンドマスクラベリング処理）演算部１０４ａと、演算部１０４ａによって推定された被写体の大きさに基づいてテンプレートサイズを算出する演算部１０４ａと、演算部１０４ａによって算出されたテンプレートサイズへ、初期テンプレート画像をリサイズする演算部１０４ａと、対象画像に基づいて、演算部１０４ａによって推定された重心位置を中心とする、演算部１０４ａによって算出されたテンプレートサイズの画像へラベリングテンプレート画像を更新する演算部１０４ａと、を備えるように構成した。テンプレート画像をリサイズ可能に構成することにより、被写体の大きさが変化する場合でも適切に追尾を行うことができる。ここで、被写体の大きさ変化は、被写体がカメラから遠ざかったりカメラに近づいたりする場合や、ズーム操作によって撮影画角が変更された場合に生じる。追跡する被写体の重心位置を中心にテンプレートを更新するので、小被写体の場合にはテンプレートサイズが小さく抑えられるので、テンプレートサイズを小さくしないで一定に保つ場合に比べて、背景に含まれるノイズ（主要被写体以外）を低減できる。
【００７６】
また、ラベリングテンプレート画像を更新可能に構成することにより、以下のメリットが得られる。一般に、追尾対象の被写体形状は時々刻々と変化する。このため、当初用意した初期テンプレート画像をそのまま用いてＴＭ処理を行うと、徐々に類似度が低下して最終的には被写体追尾の継続が困難になるおそれがある。そこで、追尾処理しながら更新したラベリングテンプレート画像を得ることにより、時間の経過に伴って変化する被写体形状の変化に対応した追尾が可能になる。
【００７７】
さらに、２枚のテンプレート（初期テンプレート画像およびラベリングテンプレート画像）を用いたＴＭ処理を行うように構成することにより、以下のメリットも得られる。仮に、更新したラベリングテンプレート画像のみを用いてＴＭ処理を行う場合、ラベリングテンプレート画像の更新が繰り返されることにより、当初の追尾対象とは異なる被写体の画像に更新されるおそれがある。しかしながら、更新したラベリングテンプレート画像とともに初期テンプレート画像も用いることにより、当初の追尾対象を見失わないで被写体追尾を継続できる。
【００７８】
（２）上記（１）のカメラにおいて、演算部１０４ａは、最も高い類似度を演算したターゲット画像の位置を、対象画像内における被写体位置として特定するので、被写体を適切に追尾できる。
【００７９】
（３）上記（１）または（２）のカメラにおいて、演算部１０４ａは、対象画像に基づいて、輝度成分からなる輝度画像Yと色差成分からなる色差画像Cb,Crとを生成し、輝度画像Yと色差画像Cb,Crとのそれぞれから、被写体を含む被写体領域を抽出し、それぞれから抽出した被写体領域内の画素の画素値に基づいて、代表値aveY,aveCb,aveCrを算出し、被写体領域内の各画素の画素値から上記算出した代表値aveY,aveCb,aveCrを減算して、輝度画像Yと色差画像Cb,Crとのそれぞれに対応する差分画像DiffY,DiffCb,DiffCrを生成し、生成した差分画像を２値化し、２値化した輝度画像に対応する２値画像DiffYと、色差画像に対応する２値画像DiffCb,DiffCrとを合成し、合成したアンド画像内から白画素の塊をマスクとして抽出し、抽出したマスクに対して、マスクが被写体を示すマスクである可能性を示す評価値を算出し、算出した評価値に基づいて、評価値最大のマスクの重心位置を対象画像内における被写体位置として推定する。これにより、適切に被写体位置を推定できる。
【００８０】
（４）上記（３）のカメラにおいて、演算部１０４ａによって生成された差分画像DiffY,DiffCb,DiffCrの各画素値に対して、被写体位置からの距離に応じた係数をかけて重み付けを行って、輝度画像Yと色差画像Cb,Crとのそれぞれに対応する重み付け画像DistY,DistCb,DistCrを生成する演算部１０４ａをさらに備え、上記２値化は、重み付け画像DistY,DistCb,DistCrを２値化するようにした。前フレームのマッチング位置からの距離に応じた係数で重み付けすることで、類似色の背景を被写体位置として特定してしまう擬似マッチングを抑えることができる。
【００８１】
（５）上記（３）または（４）のカメラにおいて、演算部１０４ａは、対象画像上でユーザーによって指定された指定点を含む領域を被写体領域として抽出するので、ユーザーが追跡を望む被写体を適切に追尾することができる。
【００８２】
（６）上記（５）のカメラにおいて、初期テンプレート画像は、追尾開始１フレーム前の画像を対象画像とし、ユーザーによって指定された指定点を中心として、演算部１０４ａによって算出されたテンプレートサイズのテンプレート画像を初期テンプレート画像とするので、ユーザーが追跡を望む被写体を確実に含む初期テンプレート画像が得られる。
【００８３】
（７）上記（１）〜（６）のカメラにおいて、演算部１０４ａは、推定した被写体を包絡する矩形の短辺の長さに基づいてテンプレートサイズを算出するので、テンプレートを適切なサイズに変更し得る。
【００８４】
（８）上記（１）〜（７）のカメラにおいて、演算部１０４ａは、追尾を行う画像の少なくとも１フレーム前の画像を対象画像として、ラベリングテンプレート画像を更新するので、適切な間隔でラベリングテンプレート画像を更新できる。
【００８５】
（９）上記（１）〜（８）のカメラにおいて、演算部１０４ａは、ＴＭ処理で特定した被写体位置と、アンドマスクラベリング処理で推定した被写体の重心位置とが所定値以上異なる場合、上記特定した被写体位置を中心とする領域に１つ目のターゲット画像を設定し、上記推定した被写体の重心位置を中心とした領域に２つ目のターゲット画像を設定するようにした。これにより、２つの検索エリアにおいてそれぞれＴＭ処理を行えるので、前回のラベリング結果と前フレームのＴＭ処理結果とが異なる場合に適切に対処できる。
【００８６】
（変形例１）
上述した実施の形態では、演算部１０４ａは、ユーザーに対して対象画像内における被写体位置の指定を促し、ユーザーが操作部材１０１を操作して入力した位置の座標を被写体位置座標として特定する例について説明した。しかしながら、他の方法によって被写体位置座標を特定してもよい。たとえば、カメラのオートフォーカス（ＡＦ）処理によって焦点調節が行われた場合に、フォーカスポイント（ＡＦ点）の座標を被写体位置座標として特定してもよい。
【００８７】
（変形例２）
以上の説明では、演算部１０４ａは、被写体位置座標を中心とした3×3の領域を対象として、Y、Cb、Cr成分各々の平均値を算出し、Y、Cb、Cr成分各画像の各画素の値から該平均値を減算することによって差分画像を生成する例について説明した。しかしながら、上記平均値ではなく、最頻値や中央値を代表値として算出し、各画像の各画素の値から該代表値を減算することによって差分画像を生成するようにしてもよい。
【００８８】
（変形例３）
上述した実施の形態では、本発明をカメラに適用する場合について説明した。しかしながら、本発明は、動画データを読み込んで、動画中の被写体をフレーム間で追尾するための被写体追尾装置として、たとえばパソコンや携帯端末などに適用することも可能である。
【００８９】
（変形例４）
上述した説明では、リサイズ処理法としてバイリニア法を例示したが、バイリニア法以外のニアレストネイバー法、またはバイキュービック法でリサイズ処理を行ってもよい。
【００９０】
（変形例５）
上記実施形態では、前フレームにおいて主要被写体を示す可能性が高いと考えられる評価値最大のマスクを膨張させてDilationマスクを作成した。この代わりに、ＴＭ処理によって特定した被写体位置座標を中心とする所定範囲の領域を代替マスクとして用いるようにしてもよい。変形例５の演算部１０４ａは、ステップＳ４６０において、Y、Cb、Cr成分の２値画像と、代替マスクとのアンドをとって合成し、合成画像（アンド画像∩代替マスク）を作成する。このように代替マスクを用いても、ステップＳ１００の画像合成（Y、Cb、Cr成分の２値画像のアンド合成）に比べて、ノイズ（類似色背景）を除去することができる。
【００９１】
（変形例６）
上述した説明では、ステップＳ５４０およびステップＳ５８０の双方の判定処理に基づいて、アンドマスクラベリング処理による被写体の重心位置と大きさの推定結果の信頼性を判定するようにした。この代わりに、ステップＳ５４０およびステップＳ５８０の少なくとも一方の判定処理に基づいて信頼性判定を行うように構成してもよい。
【００９２】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。また、上記実施の形態と変形例を適宜組み合わせた構成としてもよい。
【符号の説明】
【００９３】
１００…カメラ
１０１…操作部材
１０２…レンズ
１０３…撮像素子
１０４…制御装置
１０４ａ…演算部
１０６…表示モニタ
【図１】
2013182478.tif 000003
【図２】
2013182478.tif 000004
【図３】
2013182478.tif 000005
【図４】
2013182478.tif 000006
【図５】
2013182478.tif 000007
【図６】
2013182478.tif 000008
【図７】
2013182478.tif 000009
【図８】
2013182478.tif 000010
【図９】
2013182478.tif 000011
【図１０】
2013182478.tif 000012