(57)【要約】【課題】精度よく被写体の追尾を行うことが可能な被写体追尾装置およびカメラを提供する。【解決手段】被写体追尾装置は、追尾被写体の基準データに基づき追尾被写体の位置を検出する検出手段と、検出手段により検出された追尾被写体の少なくとも一部の位置が、入力画像の所定位置である場合には、基準データを更新せず、追尾被写体の少なくとも一部の位置が入力画像の所定位置でない場合には、入力画像に基づき基準データを更新する更新手段と、を備える。【選択図】図５
2015230515.tif 000002
【特許請求の範囲】
【請求項１】
追尾被写体の基準データに基づき前記追尾被写体の位置を検出する検出手段と、
前記検出手段により検出された前記追尾被写体の少なくとも一部の位置が、入力画像の所定位置である場合には、前記基準データを更新せず、前記追尾被写体の少なくとも一部の位置が前記入力画像の所定位置でない場合には、前記入力画像に基づき前記基準データを更新する更新手段と、
を備える被写体追尾装置。
【請求項２】
請求項１に記載の被写体追尾装置において、
前記入力画像の所定位置は、前記入力画像の端部近傍の位置である被写体追尾装置。
【請求項３】
請求項２に記載の被写体追尾装置において、
前記端部近傍は、前記入力画像の上端と左右端とを含み、前記入力画像の下端を含まず、
前記更新手段は、前記検出手段により検出された前記追尾被写体の位置が、前記入力画像の下端近傍であった場合には、前記入力画像に基づき前記基準データを更新する被写体追尾装置。
【請求項４】
請求項３に記載の被写体追尾装置において、
前記追尾被写体の像を撮像して前記入力画像を作成する撮像手段と、
前記撮像手段の姿勢に関する情報に基づき、前記入力画像の下端を特定する特定手段と、
を備える被写体追尾装置。
【請求項５】
請求項１〜４のいずれか一項に記載の被写体追尾装置において、
前記更新手段は、前記入力画像における前記追尾被写体の特徴を前記基準データに反映することにより前記基準データを更新する被写体追尾装置。
【請求項６】
請求項１〜５のいずれか一項に記載の被写体追尾装置を備えるカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体追尾装置およびカメラに関する。
【背景技術】
【０００２】
従来、テンプレート画像をターゲット画像に基づき更新することにより、目的の被写体（追尾被写体）の追尾を行う被写体追尾用装置が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７６８０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術には、追尾被写体の位置によっては、追尾精度が低下するという問題があった。
【課題を解決するための手段】
【０００５】
請求項１に記載の被写体追尾装置は、追尾被写体の基準データに基づき前記追尾被写体の位置を検出する検出手段と、前記検出手段により検出された前記追尾被写体の少なくとも一部の位置が、入力画像の所定位置である場合には、前記基準データを更新せず、前記追尾被写体の少なくとも一部の位置が前記入力画像の所定位置でない場合には、前記入力画像に基づき前記基準データを更新する更新手段と、を備える。
請求項６に記載のカメラは、請求項１〜５のいずれか一項に記載の被写体追尾装置を備える。
【発明の効果】
【０００６】
本発明によれば、精度よく被写体の追尾を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施の形態に係る撮像装置の構成を示すブロック図である。
【図２】被写体追尾処理の説明図である。
【図３】被写体追尾処理の説明図である。
【図４】被写体追尾処理の説明図である。
【図５】被写体追尾処理の説明図である。
【図６】被写体追尾処理のフローチャートである。
【図７】初期化処理のフローチャートである。
【図８】テンプレート更新処理のフローチャートである。
【発明を実施するための形態】
【０００８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る撮像装置の構成を示すブロック図である。撮像装置１は、レンズ一体型のいわゆるコンパクトタイプのデジタルカメラである。撮像装置１は、制御部１０、撮影光学系１１、撮像素子１２、液晶モニタ１３、メモリカード１４、操作部１５、ＤＲＡＭ１６、フラッシュメモリ１７、および姿勢センサ１８を備える。
【０００９】
撮影光学系１１は、複数のレンズから構成され、撮像素子１２の撮像面に被写体像を結像させる。撮影光学系１１は焦点距離が可変に構成された、いわゆるズームレンズである。制御部１０は不図示のアクチュエータを駆動させることにより、撮影光学系１１のズームアップおよびズームダウンを行うことができる。なお図１では、撮影光学系１１を１枚のレンズとして図示している。
【００１０】
撮像素子１２は例えばＣＭＯＳやＣＣＤ等の撮像素子であり、撮影光学系１１により結像された被写体像を撮像して撮像信号を出力する。制御部１０は、撮像装置１の各部を制御する電子回路であり、ＣＰＵとその周辺回路とから構成される。不揮発性の記憶媒体であるフラッシュメモリ１７には、予め所定の制御プログラムが書き込まれている。制御部１０は、フラッシュメモリ１７から制御プログラムを読み込んで実行することにより、各部の制御を行う。この制御プログラムは、揮発性の記憶媒体であるＤＲＡＭ１６を作業用領域として使用する。
【００１１】
液晶モニタ１３は、液晶パネルを利用した表示装置である。制御部１０は、所定周期（例えば６０分の１秒）ごとに撮像素子１２に繰り返し被写体像を撮像させる。そして、撮像素子１２から出力された撮像信号に種々の画像処理を施していわゆるスルー画を作成し、液晶モニタ１３に表示する。液晶モニタ１３には、上記のスルー画以外に、例えば撮影パラメータを設定する設定画面等が表示される。
【００１２】
姿勢センサ１８は、鉛直方向に対する撮像装置１の姿勢を検出し、当該姿勢に関する情報（例えば、撮像素子１２の四辺のうちどの辺の方向が鉛直方向であるか等を表す情報）を制御部１０に出力する。
【００１３】
制御部１０は、撮像素子１２から出力された撮像信号に種々の画像処理を施して撮影画像データを作成し、可搬性の記憶媒体であるメモリカード１４に画像データを記憶する。操作部１５は、プッシュボタン等の種々の操作部材を有し、それら操作部材が操作されたことに応じて制御部１０に操作信号を出力する。制御部１０は、操作信号に応じて、例えば撮影光学系１１のズームアップ、ズームダウン、自動焦点調節、メモリカード１４への画像データの記憶等を行う。
【００１４】
制御部１０はソフトウェア形態により検出部１０ａ、更新部１０ｂ、特定部１０ｃを備える。これらの各部は、制御部１０がフラッシュメモリ１７に格納されている所定の制御プログラムを実行することにより、ソフトウェア的に実現される。なお、これらの各部を電子回路として構成することも可能である。
【００１５】
検出部１０ａは、追尾被写体の基準データに基づき追尾被写体の位置を検出する。更新部１０ｂは、検出部１０ａにより検出された追尾被写体の少なくとも一部の位置が、入力画像の所定位置（例えば端部近傍）である場合には、基準データを更新せず、追尾被写体の少なくとも一部の位置が入力画像の所定位置でない場合には、入力画像に基づき基準データを更新する。特定部１０ｃは、姿勢センサ１８により出力された撮像装置１の姿勢に関する情報に基づき、入力画像の下端を特定する。
【００１６】
次に、制御部１０による被写体追尾処理について詳述する。被写体追尾処理は、撮影画面内における追尾対象の被写体（以下、追尾被写体と称する）を追尾する処理である。制御部１０は、自動焦点調節を行う際に被写体追尾処理を実行し、追尾被写体にピントが合った状態を維持する。
【００１７】
制御部１０は、自動焦点調節処理の実行中、所定周期（例えば６０分の１秒）ごとに撮像素子１２に繰り返し被写体像を撮像させる。そして、撮像素子１２から出力された撮像信号に種々の画像処理を施して、被写体追尾処理の処理対象となる入力画像（以下、フレームと呼ぶことがある）を作成する。制御部１０は、このフレームに対してテンプレート画像（以下、単にテンプレートと称する）によるパターンマッチングを行うことにより、撮影画面内における追尾被写体の位置を検出する。
【００１８】
例えば、図２に示すフレームＦ０には、一人の人物である追尾被写体４０が写り込んでいる。制御部１０は、初期テンプレート４３と合成テンプレート４４の２種類のテンプレートを用いて、フレームＦ０から追尾被写体４０の位置を検出することにより、被写体追尾を行う。初期テンプレート４３と合成テンプレート４４は、いずれも追尾被写体４０の基準データである。基準データとは、追尾被写体４０の特徴（例えば追尾被写体４０の輪郭や造作に関する形状、追尾被写体４０の色合いなど）を表現したデータであり、入力画像から追尾被写体４０を発見する手がかりとなるデータである。本実施形態において、基準データは追尾被写体４０の画像そのものであり、例示した追尾被写体４０の輪郭や造作に関する形状、追尾被写体４０の色合いなどを全て含むデータである。
【００１９】
初期テンプレート４３は、被写体追尾処理の開始時点における追尾被写体４０の画像である。初期テンプレート４３は、被写体追尾処理の実行中に一切更新されない。従って、例えば追尾被写体４０が被写体追尾処理の開始時とは異なる方向を向いたり、被写体追尾処理の開始時とは異なる姿勢をとったりした場合、初期テンプレート４３によるテンプレートマッチングは失敗する可能性がある。
【００２０】
合成テンプレート４４は、追尾中の追尾被写体４０に対応する画像である。合成テンプレート４４には、後に詳述するように、被写体追尾処理の実行中に、追尾被写体４０の最新の画像が随時反映される。従って、追尾被写体４０が被写体追尾処理の開始時とは異なる方向を向いたり、被写体追尾処理の開始時とは異なる姿勢をとったりした場合には、合成テンプレート４４は初期テンプレート４３よりもテンプレートマッチングを良好に行える可能性が高い。
【００２１】
制御部１０は、被写体追尾処理の開始時に、追尾被写体４０が写り込んだ初期フレームＦ０を用いて初期化処理を実行する。初期化処理において制御部１０は、初期フレームＦ０から初期テンプレート４３および合成テンプレート４４を作成する。具体的には、ユーザに追尾被写体４０を含む被写体領域４１を指定させ、指定された被写体領域４１を初期フレームＦ０から切り出して初期テンプレート４３および合成テンプレート４４とする。つまり、被写体追尾処理の開始時点では、初期テンプレート４３と合成テンプレート４４は同一の画像である。なお、以下で説明する被写体追尾処理では、被写体領域４１を追尾被写体４０の位置として扱う。
【００２２】
初期化処理が終了した後、撮像素子１２は、所定時間ごとに撮像を行い、撮像信号を出力する。制御部１０は、この撮像信号からフレームを作成する。以下、作成した各フレームに対して制御部１０が実行する処理を、図３〜図５の説明図を用いて説明する。
【００２３】
初期化処理の直後、図３に示すフレームＦ１が作成されたものとする。フレームＦ１において、追尾被写体４０は紙面右方向に少しだけ移動している。また、追尾被写体４０の姿勢は、図２に示した初期フレームＦ０から少し変化している。
【００２４】
制御部１０は、フレームＦ１において、フレームＦ０における被写体領域４１を四方に所定量だけ拡大した範囲を設定する。この拡大した範囲を、検索領域４５と称する。制御部１０は、フレームＦ１の検索領域４５内で、マッチングさせる位置（範囲）を少しずつ変化させながら、当該位置（範囲）の画像と初期テンプレート４３との一致度合いを算出する。この、検索領域４５内のある範囲の画像とテンプレート画像との一致度合いのことを類似度と呼ぶ。テンプレート画像とよりよく一致するほど類似度は高くなる。つまり、類似度の高い位置（範囲）は、追尾被写体４０が存在する可能性が高い位置（範囲）である。
【００２５】
類似度は、例えば次式（１）〜（４）を用いて算出することが可能である。
【数１】
2015230515.tif 000003
【００２６】
ここで、Ｈｉ、Ｓｉ、Ｖｉはそれぞれ入力画像の色相（Ｈｕｅ）、彩度（Ｓａｔｕｒａｔｉｏｎ）、明度（Ｖａｌｕｅ）であり、Ｈｔ、Ｓｔ、Ｖｔはそれぞれテンプレート画像の色相、彩度、明度である。つまり、上式（２）〜（４）により算出されるＳＡＤＨ、ＳＡＤＳ、ＳＡＤＶはそれぞれ色相、彩度、明度における入力画像とテンプレート画像との絶対差分和である。また、ＴＨ、ＴＷはそれぞれテンプレート画像の縦幅、横幅であり、ＳＡＤが色相、彩度、明度における絶対差分和を統合した絶対差分和である。本実施形態では、この絶対差分和ＳＡＤを類似度として扱う。なお、絶対差分和以外の周知の演算によって類似度を決定してもよい。
【００２７】
なお、本実施形態では、絶対差分和ＳＡＤを類似度として扱う関係上、大小関係が逆転することに注意を要する。つまり、入力画像とテンプレート画像とがよく一致する場合、類似度は高いということになるが、絶対差分和ＳＡＤは逆に小さくなる。換言すると、絶対差分和ＳＡＤが小さいほど、類似度は高い。以下の説明において、単に「類似度が高い」と述べた場合、それは「絶対差分和が小さい」ことを意味する。同様に、「類似度が低い」と述べた場合、それは「絶対差分和が大きい」ことを意味する。
【００２８】
制御部１０は、検索領域４５内のあらゆる位置で初期テンプレート４３についての類似度を算出して、検索領域４５内の位置（範囲）と類似度とを関連付けた第１類似度マップ４６を作成する。換言すると、初期テンプレート４３が検索領域４５内に収まる範囲で、初期テンプレート４３を少しずつずらしながら繰り返し類似度を算出する。制御部１０は、更に合成テンプレート４４についても同様に類似度を算出することにより、第２類似度マップ４７を作成する。
【００２９】
図３に、第１類似度マップ４６の一部４６ａを拡大して示す。この一部４６ａには、左から右方向に「８，５，９」と類似度が並んでいる行４６ｂが存在する。これは、ある位置で類似度を演算すると（テンプレートマッチングを行うと）「８」という類似度が得られ、その１つ右の位置で類似度を演算すると「５」という類似度が得られ、その更に１つ右の位置で類似度を演算すると「９」という類似度が得られたことを意味している。このように、第１類似度マップ４６は、テンプレートマッチングを行った位置に応じて、当該テンプレートマッチングにより得られた類似度を配列した（マップした）データである。
【００３０】
制御部１０は、上式（１）〜（４）により算出された絶対差分和ＳＡＤに対して、更に前フレームにおける被写体位置に基づく距離補正を施す。ここで距離補正とは、前フレームにおける被写体位置から遠ざかるほど、類似度が低く（絶対差分和が大きく）なるような補正である。このような補正を施すことで、追尾被写体４０とは全く関係ない位置で偶然絶対差分和ＳＡＤが小さくなってしまった場合であっても、そのような位置を被写体位置の候補から排除することが可能になる。これは、連続する２フレーム間で追尾被写体４０が大きく移動することは考えにくいことに拠る。
【００３１】
制御部１０は、次式（５）により距離補正を行う。
ＳＡＤ’（ｘ，ｙ）＝ＳＡＤ（ｘ，ｙ）×（１＋ｋ（｜ｘ−Ｍｘ｜＋｜ｙ−Ｍｙ｜））
・・・（５）
ここで、ＳＡＤ（ｘ，ｙ）は、検索領域４５内の座標（ｘ，ｙ）における絶対差分和である。また、Ｍｘ、Ｍｙはそれぞれ前フレームの被写体位置のｘ座標およびｙ座標であり、ｋは所定の係数である。上式（５）により得られた補正後の絶対差分和ＳＡＤ’（ｘ，ｙ）が、最終的な類似度に相当する値である。
【００３２】
次に制御部１０は、第１類似度マップ４６と第２類似度マップ４７に含まれる全ての類似度の中から、最も高い類似度（最高類似度）を特定する。最高類似度に対応する位置（範囲）は、追尾被写体４０が存在する可能性が最も高い位置（範囲）であるということができる。換言すれば、追尾被写体４０が存在する位置（範囲）の類似度が最高類似度であると推定することができる。
【００３３】
制御部１０は、図４に示すように、最高類似度に対応する位置（範囲）を新たな被写体位置（被写体領域４１）に設定する。新たに設定された被写体領域４１は、フレームＦ１における追尾被写体４０をちょうど囲むように設定されている。
【００３４】
次に制御部１０は、最新の被写体領域４１が後述する所定条件を満たしているか否かを判定する。ここで所定条件が満たされている場合、制御部１０は、合成テンプレート４４を更新する。合成テンプレート４４の更新手順は以下の通りである。
【００３５】
制御部１０は、まずフレームＦ１全体のうち、被写体領域４１に相当する部分画像を切り出す。これにより切り出された部分画像を、追尾被写体画像４８と称する。制御部１０は、所定の重みβに基づき、追尾被写体画像４８をβ、初期テンプレート４３を（１−β）の割合で加重平均することにより、新たな合成テンプレート４４を作成して既存の合成テンプレート４４を置き換える。すなわち制御部１０は、追尾被写体画像４８と初期テンプレート４３とに基づき、既存の合成テンプレート４４を更新する。これにより、合成テンプレート４４は、最新の追尾被写体画像４８、すなわち最新の追尾被写体４０の状態（向き、姿勢など）を反映したテンプレート画像になる。
【００３６】
なお、制御部１０は、最高類似度が第１類似度マップ４６に含まれていた場合には重みβを相対的に高い値（例えば０．６）に設定し、最高類似度が第２類似度マップ４７に含まれていた場合には重みβを相対的に低い値（例えば０．４）に設定する。つまり、現在の追尾被写体４０が初期テンプレート４３に近い状態である場合には、合成テンプレート４４に初期テンプレート４３を大きく反映させ、現在の追尾被写体４０が合成テンプレート４４に近い状態である場合には、合成テンプレート４４に最新の追尾被写体画像４８を大きく反映させる。
【００３７】
制御部１０は、以上に述べた処理を繰り返し実行することにより、追尾被写体４０の追尾を行う。これにより、自動焦点調節において、撮影画面内を移動する追尾被写体４０にピントが合った状態を維持することができる。
【００３８】
次に、合成テンプレート４４を更新するための所定条件について、図５を用いて説明する。制御部１０は、初期化処理において、撮影画面に更新領域５０を設定する。更新領域５０は、撮影画面を左端から右方向にα１だけ縮め、上端から下方向にα２だけ縮め、右端から左方向にα３だけ縮めた矩形領域である。つまり、撮影画面は、撮影画面の上端近傍および左右端近傍を含まない更新領域５０と、上端近傍および左右端近傍を含む非更新領域４９とに分けられる。
【００３９】
図５に示すフレームＦ２において、追尾被写体４０は撮影画面の右端近傍に位置しており、被写体領域４１は更新領域５０に収まっていない。換言すると、被写体領域４１は、その一部が非更新領域４９と重複している。このように、被写体領域４１が更新領域５０に収まっていない場合、すなわち追尾被写体４０が撮影画面の所定位置（本実施形態では、下端を除く端部近傍）に位置している場合、更新部１０ｂは、合成テンプレート４４を更新しない。
【００４０】
このようにしたのは、追尾被写体４０が撮影画面内に収まっていない場合にも合成テンプレート４４が更新されてしまうのを防ぐためである。例えば、図５において、追尾被写体４０が更に画面右方向に移動し、半身が撮影画面から逸脱した状態を考える。このとき、被写体領域４１は右辺が撮影画面の右端に接触するように設定され、撮影画面の右端から左側に位置する追尾被写体４０の半身（すなわち追尾被写体４０の一部）のみが含まれる。つまり、追尾被写体４０とは異なる像（例えば背景の建物や地面等の物体）が被写体領域４１の大部分を占めることになる。このような被写体領域４１に基づいて合成テンプレート４４を更新してしまうと、合成テンプレート４４は追尾被写体４０でなく、背景の建物や地面等の物体にマッチングするものとなってしまう。換言すると、合成テンプレート４４が本来追尾したい被写体ではなく、無関係な被写体の特徴を多く含むようになってしまう。従って、その後、追尾被写体４０が撮影画面内に復帰したとき、追尾被写体４０の追尾を継続することが困難になってしまう。
【００４１】
本実施形態では、追尾被写体４０が撮影画面の端部近傍に位置していることがわかったとき、合成テンプレート４４の更新を行わないので、合成テンプレート４４が常に追尾被写体４０を大きく含む状態を維持することができる。
【００４２】
なお、α１、α２、α３は、理論上は１画素分でもよいが、テンプレートマッチングにより検出される追尾被写体４０の位置は、実際の位置からずれることもあるので、多少の余裕をもって設定することが望ましい。例えば、α１〜α３を、それぞれ１０画素分の長さに設定する。
【００４３】
また、更新部１０ｂは、追尾被写体４０が撮影画面の下端近傍に位置している場合には、合成テンプレート４４を更新する。換言すると、更新部１０ｂは、更新領域５０を、撮影画面の下端近傍の領域を含むように設定する。このようにしたのは、撮影時に主要被写体（すなわち追尾被写体４０）が撮影画面の下端から逸脱する構図となることが多いためである。
【００４４】
例えば追尾被写体４０が人物であり、その人物のバストアップ写真を撮影する場合を考える。このとき、ユーザはまず撮影光学系１１を広角側にズームアウトして追尾被写体４０の全身を捉え、その後、追尾処理を開始し、撮影光学系１１を望遠側にズームインして追尾被写体４０の上半身のみを画角に入れ、最終的な構図を決定すると推定される。このように、ズーム操作等により、追尾中に追尾被写体４０が撮影画面の下端から逸脱することは十分に考えられる。このとき、合成テンプレート４４は、最初は被写体人物の全身を含み、ズームインに伴い追尾被写体４０の上半身を含むようにすることが望ましい。その一方で、追尾被写体４０が撮影画面の左右端や上端からはみ出した状態で撮影を行うことは考えづらい。
【００４５】
そこで本実施形態では、更新部１０ｂが「撮影画面の端部近傍」として扱うのは、撮影画面の上端および左右端の近傍であり、撮影画面の下端ではないものとした。つまり、追尾被写体４０が撮影画面の下端近傍に位置している場合、更新部１０ｂは合成テンプレート４４の更新を行うものとした。このようにしたので、合成テンプレート４４は、最初は被写体人物の全身を含み、ズームインに伴い追尾被写体４０の上半身を含むようになり、追尾被写体４０を的確に追尾することが可能となる。
【００４６】
なお、撮影画面の下端は、いわゆる縦位置や横位置など、ユーザの撮像装置１の構え方によって変化しうる。そこで本実施形態では、初期化処理において、姿勢センサ１８により提供される情報に基づいて、特定部１０ｃが、撮影画面の四辺のうち撮影画面の下端となる一辺を特定する。そして更新部１０ｂが、特定部１０ｃにより特定された下端を含むように更新領域５０を設定する。従って、撮像装置１がどのような姿勢で構えられたとしても、適切に更新領域５０を設定することが可能となっている。
【００４７】
図６は、制御部１０が実行する被写体追尾処理のフローチャートである。この処理は、制御部１０が実行する制御プログラムに含まれている。まずステップＳ１０で制御部１０は、図７に示す初期化処理を実行する。
【００４８】
以下、図７を参照して、初期化処理を説明する。まずステップＳ２１０で制御部１０は、撮像素子１２に被写体像を撮像させ、初期フレームＦ０を作成してＤＲＡＭ１６に記憶する。ステップＳ２２０で制御部１０は、操作部１５から入力される操作信号（例えば、ユーザの追尾被写体４０を指定する操作に対応する操作信号）に基づき、追尾被写体４０を特定する。
【００４９】
ステップＳ２３０で制御部１０は、初期フレームＦ０から被写体領域４１を切り出し、初期テンプレート４３としてＤＲＡＭ１６に記憶する。ステップＳ２４０で制御部１０は、ステップＳ２３０と同様に、初期フレームＦ０から被写体領域４１を切り出し、合成テンプレート４４としてＤＲＡＭ１６に記憶する。ステップＳ２５０で特定部１０ｃは、姿勢センサ１８が出力した撮像装置１の姿勢に関する情報に基づき、撮影画面の四辺から下端である一辺を特定する。ステップＳ２６０で更新部１０ｂは、撮影画面内に更新領域５０を設定する。ステップＳ２７０で制御部１０は、ロストフラグを「ＯＦＦ」に初期化する。ロストフラグは、追尾被写体４０を見失ったか否かを表すフラグである。制御部１０は、被写体追尾処理の実行中に、例えば追尾被写体４０が検索領域４５の外に移動したり、追尾被写体４０が撮影画面の外に移動したりすることによって追尾被写体４０を見失うと、ロストフラグを「ＯＮ」に設定する。
【００５０】
図６に戻り、初期化処理を実行完了した後の処理（ステップＳ２０以降の処理）について説明する。ステップＳ２０で制御部１０は、撮像素子１２に被写体像を撮像させ、新たなフレームを作成してＤＲＡＭ１６に記憶する。ステップＳ３０で制御部１０は、ロストフラグの値を判定する。
【００５１】
ステップＳ３０においてロストフラグが「ＯＦＦ」である場合、すなわち追尾被写体４０の位置を正しく認識している場合、制御部１０は処理をステップＳ４０に進める。ステップＳ４０で制御部１０は、被写体領域４１を上下左右に所定量だけ拡大した検索領域４５を設定する。ここで設定される検索領域４５のサイズは、ロストフラグが「ＯＮ」である場合に設定される検索領域４５と比べて、相対的に小さい。ステップＳ５０で制御部１０は、変数ｋに所定の値（例えば０．０５）を設定し、処理をステップＳ８０に進める。ここで設定される変数ｋの値は、ロストフラグが「ＯＮ」である場合に設定される値と比べて、相対的に大きい。
【００５２】
他方、ステップＳ３０においてロストフラグが「ＯＮ」である場合、すなわち追尾被写体４０の位置を正しく認識できていない（見失っている）場合、制御部１０は処理をステップＳ６０に進める。ステップＳ６０で制御部１０は、被写体領域４１を上下左右に所定量だけ拡大した検索領域４５を設定する。ここで設定される検索領域４５のサイズは、ロストフラグが「ＯＦＦ」である場合に設定される検索領域４５と比べて、相対的に大きい。ステップＳ７０で制御部１０は、変数ｋに所定の値（例えば０．０２）を設定し、処理をステップＳ８０に進める。ここで設定される変数ｋの値は、ロストフラグが「ＯＦＦ」である場合に設定される値と比べて、相対的に小さい。
【００５３】
ステップＳ８０で検出部１０ａは、検索領域４５に対して初期テンプレート４３によるテンプレートマッチングを行い、第１類似度マップ４６を作成する。ステップＳ９０で検出部１０ａは、検索領域４５に対して合成テンプレート４４によるテンプレートマッチングを行い、第２類似度マップ４７を作成する。
【００５４】
ステップＳ１００で検出部１０ａは、変数ｋを用いて、第１類似度マップ４６および第２類似度マップ４７に対して上式（５）の距離補正を行う。すなわち、現在の被写体領域４１から遠い座標に対応する類似度ほど当該類似度を小さくする補正を行う。この距離補正では、変数ｋが大きいほど、被写体位置からの距離に応じた類似度の減少を大きくする。つまり、変数ｋが大きいほど、被写体位置からの距離が類似度に与える影響を大きくする。
【００５５】
ステップＳ１１０で検出部１０ａは、第１類似度マップ４６から最も大きな類似度を選択すると共に、第２類似度マップ４７からも最も大きな類似度を選択する。そして、それら２つの類似度のうち大きい方を最大類似度として特定すると共に、その最大類似度が算出された座標、すなわちテンプレートと最もよく一致した位置を特定する。
【００５６】
ステップＳ１２０で制御部１０は、最大類似度が所定量以上の大きさであるか否かを判定する。前述の通り、類似度は絶対差分和であるので、ステップＳ１２０は絶対差分和の値が所定のしきい値以下であるかを判定する処理となる。最大類似度が所定量未満である場合、すなわち絶対差分和が所定のしきい値を上回っている場合、制御部１０は処理をステップＳ１６０に進める。ステップＳ１６０で制御部１０は、ロストフラグを「ＯＮ」に設定し、処理をステップＳ１７０に進める。他方、ステップＳ１２０において、絶対差分和が所定のしきい値を上回っている場合、制御部１０は処理をステップＳ１３０に進める。
【００５７】
ステップＳ１３０で制御部１０は、ロストフラグを「ＯＦＦ」に設定する。ステップＳ１３５で制御部１０は、被写体の位置（被写体領域４１）を、ステップＳ１１０で特定した座標に対応する位置（範囲）に更新する。すなわち、被写体を追尾する。ステップＳ１４０で更新部１０ｂは、被写体領域４１が更新領域５０内に収まっているか否か、つまり追尾被写体４０が撮影画面の端部（上端および左右端）近傍ではない位置に存在するか否かを判定する。被写体領域４１が更新領域５０内に収まっている場合、つまり追尾被写体４０が撮影画面の端部近傍ではない位置に存在する場合、更新部１０ｂは処理をステップＳ１５０に進める。ステップＳ１５０で更新部１０ｂは、後述するテンプレート更新処理を実行し、処理をステップＳ１７０に進める。
【００５８】
他方、ステップＳ１４０において被写体領域４１が更新領域５０内に収まっていない場合、つまり追尾被写体４０が撮影画面の端部近傍に位置する場合、更新部１０ｂは処理をステップＳ１７０に進める。つまりステップＳ１４０において追尾被写体４０が撮影画面の端部近傍に位置する場合、更新部１０ｂは後述するテンプレート更新処理を実行しない。
【００５９】
ステップＳ１７０で制御部１０は、所定の終了条件（例えばユーザが操作部１５を用いて自動焦点調節の終了操作を行った等）が満たされたか否かを判定する。終了条件が満たされていなかった場合、制御部１０は処理をステップＳ２０に進め、次のフレームの処理に移る。他方、終了条件が満たされていた場合、制御部１０は図６に示す被写体追尾処理を終了する。
【００６０】
図８を用いて、テンプレート更新処理を説明する。まずステップＳ３１０で更新部１０ｂは、最大類似度が第１類似度マップ４６および第２類似度マップ４７のどちらに含まれていたかを判定する。
【００６１】
最大類似度が第１類似度マップ４６に含まれていた場合、つまり合成テンプレート４４よりも初期テンプレート４３の方がよりよくマッチングできていた場合、更新部１０ｂは処理をステップＳ３２０に進める。ステップＳ３２０で更新部１０ｂは、変数βに所定の値（例えば０．６）を設定する。ここで設定されるβの値は、最大類似度が第２類似度マップ４７に含まれていた場合、すなわち初期テンプレート４３よりも合成テンプレート４４の方がよりよくマッチングできていた場合に比べて、相対的に大きい。
【００６２】
他方、最大類似度が第２類似度マップ４７に含まれていた場合、つまり初期テンプレート４３よりも合成テンプレート４４の方がよりよくマッチングできていた場合、更新部１０ｂは処理をステップＳ３３０に進める。ステップＳ３３０で更新部１０ｂは、変数βに所定の値（例えば０．４）を設定する。ここで設定されるβの値は、最大類似度が第１類似度マップ４６に含まれていた場合、すなわち合成テンプレート４４よりも初期テンプレート４３の方がよりよくマッチングできていた場合に比べて、相対的に小さい。
【００６３】
ステップＳ３４０で更新部１０ｂは、フレームから切り出した被写体領域４１の画像（追尾被写体画像４８）と初期テンプレート４３との各画素について、変数βに基づく加重平均を演算することにより、新たな合成テンプレート４４を作成して、ＤＲＡＭ１６に更新記憶する。つまり、追尾被写体４０の特徴を基準データに反映させる。ここで、変数βが大きいほど、新たな合成テンプレート４４における初期テンプレート４３の影響が大きくなる。なお、ステップＳ３１０において、第１類似度マップ４６に含まれる最も大きな類似度と、第２類似度マップ４７に含まれる最も大きな類似度が等しい場合は、ステップＳ３３０に処理を分岐させればよい。
【００６４】
上述した第１の実施の形態による撮像装置によれば、次の作用効果が得られる。
（１）検出部１０ａは、追尾被写体４０の基準データである合成テンプレート４４に基づき、追尾被写体４０の位置（被写体領域４１）を検出する。更新部１０ｂは、検出部１０ａにより検出された追尾被写体４０の少なくとも一部の位置が、入力画像（撮影画面）の所定位置（非更新領域４９）である場合には、合成テンプレート４４を更新せず、追尾被写体４０の少なくとも一部の位置が入力画像の所定位置（非更新領域４９）でない場合には、入力画像に基づき合成テンプレート４４を更新する。このようにしたので、追尾被写体の位置による追尾精度の低下を抑止し、精度よく被写体の追尾を行うことができる。
【００６５】
（２）非更新領域４９を、入力画像の端部近傍の位置に設定した。このようにしたので、追尾被写体が撮影画面の端部から逸脱している場合であっても追尾精度が低下せず、精度よく被写体の追尾を行うことができる。
【００６６】
（３）更新部１０ｂは、入力画像の上端と左右端との近傍を端部近傍として扱い、入力画像の下端の近傍は端部近傍として扱わない。すなわち、更新部１０ｂは、検出部１０ａにより検出された追尾被写体４０の位置が、入力画像の下端近傍であった場合には、入力画像に基づき合成テンプレート４４を更新する。このようにしたので、追尾被写体４０が入力画像の下端からはみ出している場合であっても精度よく被写体の追尾を行うことができる。
【００６７】
（４）特定部１０ｃは、姿勢センサ１８が出力した撮像装置１の姿勢に関する情報に基づき、入力画像の下端を特定する。このようにしたので、いわゆる縦位置や横位置などの撮像装置１の姿勢（構え方）に応じて適切な下端の扱いを行うことができる。
【００６８】
（５）更新部１０ｂは、入力画像における追尾被写体４０の特徴を合成テンプレート４４に反映することにより、合成テンプレート４４を更新する。このようにしたので、追尾中に追尾被写体４０の姿勢等が変化しても精度よく被写体の追尾を継続することができる。
【００６９】
次のような変形も本発明の範囲内であり、変形例の一つ、もしくは複数を上述の実施形態と組み合わせることも可能である。
【００７０】
（変形例１）
上述した実施形態では、更新領域５０を初期化処理において設定していたが、追尾中に随時更新領域５０を設定するようにしてもよい。つまり、更新領域５０を追尾中に変化させてもよい。例えば、動きセンサ等によって、撮像装置１が上下方向に動かされた（振られた）ことが検出された場合には、一時的に下端近傍を含まない更新領域５０を設定するようにしてもよい。
【００７１】
（変形例２）
テンプレート更新処理（図８）におけるβの値を、種々の情報に基づき適宜変更してもよい。例えば、追尾被写体４０が撮影画面の端部近傍に位置している場合には、βを相対的に大きな値に設定してもよい。具体的には、図８のステップＳ３４０を実行する直前に、追尾被写体４０の位置を判定してβの値を変化させる処理を導入すればよい。このような処理を実行すると、追尾被写体４０が撮影画面から逸脱しそうな場合には、合成テンプレート４４が初期テンプレート４３の内容を大きく反映したものになる。
【００７２】
（変形例３）
上述した実施形態において述べた数値は一例であり、適宜変更してもよい。例えば上式（１）における１．５や０．１といった数値、図８のテンプレート更新処理におけるβの値、図５に示したα１〜α３の値、図６のステップＳ５０やＳ７０で設定される変数ｋの値などは、発明の趣旨を逸脱しない範囲で適宜設定すればよい。
【００７３】
（変形例４）
上述した実施形態では、レンズ一体型のデジタルカメラにおける自動焦点調節に本発明を適用した例について説明したが、本発明はこのような実施形態に限定されない。例えば、自動焦点調節以外の目的で被写体追尾を行うようにしてもよいし、レンズ交換型のデジタルカメラに本発明を適用してもよい。
【００７４】
（変形例５）
追尾被写体４０の基準データとして、追尾被写体４０の画像そのものでなく、追尾被写体４０の形状だけ、あるいは追尾被写体４０の色合いだけ、または周知の方法により求めた特徴量等を利用してもよい。また、テンプレート更新処理における基準データの更新方法は、上述した実施形態と異なっていてもよい。
【００７５】
本発明の特徴を損なわない限り、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。
【符号の説明】
【００７６】
１…撮像装置、１０…制御部、１０ａ…検出部、１０ｂ…更新部、１０ｃ…特定部、１１…撮影光学系、１２…撮像素子、１３…液晶モニタ、１４…メモリカード、１５…操作部、１６…ＤＲＡＭ、１７…フラッシュメモリ、１８…姿勢センサ
【図１】
2015230515.tif 000004
【図２】
2015230515.tif 000005
【図３】
2015230515.tif 000006
【図４】
2015230515.tif 000007
【図５】
2015230515.tif 000008
【図６】
2015230515.tif 000009
【図７】
2015230515.tif 000010
【図８】
2015230515.tif 000011