JP2014036429A - 被写体追尾装置、およびカメラ - Google Patents

被写体追尾装置、およびカメラ Download PDF

Info

Publication number
JP2014036429A
JP2014036429A JP2012178568A JP2012178568A JP2014036429A JP 2014036429 A JP2014036429 A JP 2014036429A JP 2012178568 A JP2012178568 A JP 2012178568A JP 2012178568 A JP2012178568 A JP 2012178568A JP 2014036429 A JP2014036429 A JP 2014036429A
Authority
JP
Japan
Prior art keywords
image
subject
tracking
control device
template image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012178568A
Other languages
English (en)
Inventor
Hiroshi Kinto
浩史 金藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nikon Corp
Original Assignee
Nikon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nikon Corp filed Critical Nikon Corp
Priority to JP2012178568A priority Critical patent/JP2014036429A/ja
Publication of JP2014036429A publication Critical patent/JP2014036429A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】追尾被写体がロストした場合には自動で被写体追尾処理を停止し、追尾被写体が画面に戻ってきた場合には自動で被写体追尾処理を再開すること。
【解決手段】被写体追尾装置は、初期テンプレート画像と入力画像との類似度、および更新テンプレート画像と入力画像との類似度に基づいて、追尾被写体位置を特定する被写体追尾手段と、追尾被写体位置における初期テンプレート画像との類似度に基づいて、入力画像から追尾被写体が検出されるかを判定する第1の判定手段と、追尾被写体が検出されない場合には、初期テンプレート画像と第2の探索領域内の画像との類似度に基づいて、入力画像内に追尾被写体が戻ってきたかを判定する第2の判定手段と、を備え、被写体追尾手段は、追尾被写体が検出されない場合には、追尾被写体位置の特定を停止し、追尾被写体が戻ってきた場合には、追尾被写体位置の特定を再開する。
【選択図】図1

Description

本発明は、被写体追尾装置、およびカメラに関する。
次のような物体追跡装置が知られている。この物体追跡装置は、被写体の変化に対応するために、異なる複数のテンプレート画像を用いてテンプレートマッチングを行い、類似度が最も高いテンプレート画像を用いてテンプレート画像の更新を行う(例えば、特許文献1)。
特許第3768073号公報
従来技術では、追尾被写体がフレームアウトしたり遮蔽物により遮蔽されたりして画面内からいなくなった(すなわちロストした)場合でも、ロスト前と変わらずに被写体追尾処理を続けてしまうという問題があった。
(1)請求項1に記載の発明による被写体追尾装置は、入力画像内に第1の探索領域を設定し、画像内容の更新を行わない初期テンプレート画像と第1の探索領域内の画像との類似度、および画像内容の更新を行う更新テンプレート画像と第1の探索領域内の画像との類似度をそれぞれ演算し、これらの類似度に基づいて、入力画像内における追尾被写体位置を特定する被写体追尾手段と、更新テンプレート画像を更新するか否かを判定し、更新すると判定した場合には、入力画像における被写体追尾手段により特定された追尾被写体位置を含む画像に基づいて、更新テンプレート画像を更新する更新手段と、入力画像の被写体追尾手段により特定された追尾被写体位置における初期テンプレート画像との類似度に基づいて、入力画像から追尾被写体が検出されるか否かを判定する第1の判定手段と、第1の判定手段により入力画像から追尾被写体が検出されないと判定された場合には、入力画像内に第2の探索領域を設定し、初期テンプレート画像と第2の探索領域内の画像との類似度を演算し、この類似度に基づいて、入力画像内に追尾被写体が戻ってきたか否かを判定する第2の判定手段と、を備え、被写体追尾手段は、第1の判定手段により入力画像から追尾被写体が検出されないと判定された場合には、追尾被写体位置の特定を停止し、第2の判定手段により入力画像内に追尾被写体が戻ってきたと判定された場合には、追尾被写体位置の特定を再開することを特徴とする。
(2)請求項8に記載の発明によるカメラは、請求項1〜7のいずれか一項に記載の被写体追尾装置を備えることを特徴とする。
本発明によれば、追尾被写体がロストした場合には自動で被写体追尾処理を停止し、追尾被写体が画面に戻ってきた場合には自動で被写体追尾処理を再開することができる。
本発明の一実施の形態によるカメラの構成例を説明するブロック図である。 被写体追尾処理の流れを示すフローチャートである。 図2に続くフローチャートである。 テンプレート画像生成処理の詳細を示すフローチャートである。 図4に続くフローチャートである。 2値画像およびアンド画像を説明する図である。 初期テンプレート画像の生成を説明する図である。 リサイズ判定用テンプレート画像の生成を説明する図である。 リサイズ判定用テンプレート画像の生成を説明する図である。 追尾被写体位置特定処理の詳細を示すフローチャートである。 合成テンプレート画像更新処理の詳細を示すフローチャートである。 テンプレートサイズ更新処理の詳細を示すフローチャートである。 図12に続くフローチャートである。 リサイズ判定用テンプレート画像についてのマッチング位置と被写体の大きさとの関係を説明する図である。 ロスト判定時用処理の詳細を示すフローチャートである。
以下、図面を参照して本発明を実施するための形態について説明する。図1は、本実施の形態におけるカメラの一実施の形態の構成を示すブロック図である。カメラ100は、操作部材101と、レンズ102と、撮像素子103と、制御装置104と、メモリカードスロット105と、モニタ106とを備えている。操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
レンズ102は、複数の光学レンズから構成されるが、図1では代表して1枚のレンズで表している。撮像素子103は、例えばCMOSなどのイメージセンサであり、レンズ102により結像した被写体像を撮像する。そして、撮像によって得られた画像信号を制御装置104へ出力する。
制御装置104は、CPU、メモリ、およびその他の周辺回路により構成され、カメラ100を制御する。なお、制御装置104を構成するメモリには、SDRAMやフラッシュメモリが含まれる。SDRAMは、揮発性のメモリであって、CPUがプログラム実行時にプログラムを展開するためのワークメモリとして使用されたり、データを一時的に記録するためのバッファメモリとして使用されたりする。また、フラッシュメモリは、不揮発性のメモリであって、制御装置104が実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
制御装置104は、撮像素子103から入力された画像信号に基づいて所定の画像形式、例えばJPEG形式の画像データ(以下、「本画像データ」と呼ぶ)を生成する。また、制御装置104は、生成した画像データに基づいて、表示用画像データ、例えばサムネイル画像データを生成する。制御装置104は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成してメモリカードスロット105へ出力する。本実施の形態では、本画像データとサムネイル画像データとは、いずれもRGB表色系で表された画像データであるものとする。
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットである。制御装置104は、画像ファイルを上記メモリカードに書き込んで記録する。また制御装置104は、上記メモリカード内に記憶されている画像ファイルを読み込む。
モニタ106は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)であり、当該モニタ106には、メモリカードに記憶されている画像やカメラ100を設定するための設定メニューなどが表示される。また、制御装置104は、使用者によってカメラ100のモードが撮影モードに設定されると、撮像素子103から時系列で取得した画像の表示用画像データをモニタ106に出力する。これによってモニタ106にはスルー画が表示される。
図2および図3は、本実施の形態における被写体追尾処理の流れを示すフローチャートである。図2および図3に示す処理は、撮像素子103からスルー画の入力が開始されると起動するプログラムとして、制御装置104によって実行される。
図2のステップS10において制御装置104は、撮像素子103から入力されるフレーム画像(1フレーム目の画像)を読み込んで、ステップS20へ進む。読み込むフレーム画像のサイズは、例えば、360×240画素とする。また、制御装置104は、RGB表色系で表されたフレーム画像を、YCbCr色空間における輝度成分(Y成分)からなる輝度画像と色差成分(Cb成分、Cr成分)とからなる色差画像とに変換する。なお、撮像素子103から入力されるフレーム画像がYCbCrで表されている場合には、この変換処理は不要となる。
ステップS20において制御装置104は、テンプレート画像生成処理を実行する。ここで、テンプレート画像生成処理の詳細について図4および図5を用いて説明する。図4のステップS201において制御装置104は、フレーム画像内における追尾対象の被写体(追尾被写体)の位置を特定し、ステップS202へ進む。本実施の形態では、使用者に対してフレーム画像内における追尾被写体位置の指定を促し、使用者が操作部材101を操作して入力した位置を追尾被写体位置として特定する。
ステップS202において制御装置104は、上記追尾被写体位置を中心とした3×3画素の領域において、Y成分の平均値、Cb成分の平均値、Cr成分の平均値をそれぞれ算出する。また制御装置104は、フレーム画像全体において、Y成分の標準偏差、Cb成分の標準偏差、Cr成分の標準偏差をそれぞれ算出する。尚、本実施の形態では、これらの標準偏差の算出には、フレーム画像全体の平均値ではなく、上記追尾被写体位置を中心とした3×3画素の領域において算出した平均値を用いる。
その後ステップS203へ進み、制御装置104は、フレーム画像の輝度画像(Y画像)と色差画像(Cb画像およびCr画像)の各画素の値から、ステップS202で算出したY成分、Cb成分、Cr成分各々の平均値を減算し、絶対値をとった差分画像をそれぞれ作成する。
また制御装置104は、上記追尾被写体位置を中心とした所定の大きさ(例えば30×30画素)の矩形からの距離に応じた距離重み付け係数を算出する。なお、距離重み付け係数は、当該矩形からの距離が長くなるほど(すなわち上記追尾被写体位置から離れるほど)大きくなるように算出される。そして制御装置104は、Y成分、Cb成分、Cr成分の各差分画像の各画素の値に当該距離重み付け係数を乗算することにより、Y成分、Cb成分、Cr成分の距離重みつき差分画像をそれぞれ作成する。この処理により、背景のノイズを除去することができる。その後、ステップS204へ進む。
ステップS204において制御装置104は、ステップS203で生成した距離重み付き差分画像に対して2値化処理を行い、図6に示すように、Y成分、Cb成分、Cr成分の2値画像3b〜3dをそれぞれ生成する。
具体的には、Y成分の距離重み付き差分画像に対する2値化処理では、ステップS202で算出したY成分の標準偏差に所定係数(例えば0.6)をかけた値を閾値とする。そして、画素値が閾値よりも小さい画素を黒画素とし、それ以外の画素を白画素として2値画像を生成する。
Cb成分の距離重み付き差分画像に対する2値化処理は、Y成分の場合と同様に行う。ただし、ステップS202で算出したCb成分の平均値aveCbおよび標準偏差sigCbが次式(1)および(2)の両方を満たす場合には、2値化処理において、次式(3)により算出した閾値thCbを用いる。これは、無彩色シーンに対応するためである。
118 < aveCb < 138 ・・・(1)
sigCb < abs(aveCb-128)+3 ・・・(2)
thCb = α×sigCb×[{abs(aveCb−128)+3}/sigCb]1/2×[10/{abs(aveCb-128)+0.1}]1/2 ・・・(3)
なお、式(2)および(3)において、absは絶対値をとる関数である。また、式(3)において、αは例えば0.6とする。
また、Cr成分の距離重み付き差分画像に対する2値化処理は、Cb成分の場合と同様に行う。
その後、ステップS205へ進み、制御装置104は、ステップS204で生成したY成分、Cb成分、Cr成分の2値画像3b〜3dのアンドをとって合成し、アンド画像(合成画像)3eを生成して、ステップS206へ進む。
ステップS206において、制御装置104は、上記アンド画像において、追尾被写体位置を中心とした所定範囲、例えば180×180画素の大きさの領域をクロップする。このクロップ処理によって得られたクロップ画像を対象として後の処理を行うことにより、処理を高速化することができる。そして制御装置104は、クロップした画像に対して8方向のラベリング処理を行うことによりラベリング画像を生成して、ステップS207へ進む。
ステップS207において、制御装置104は、上記ラベリング処理で作成されたラベリング画像内から白画素の塊をマスクとして抽出し、抽出したマスクの面積を算出して、ステップS208へ進む。
ステップS208において制御装置104は、上記マスクの面積に基づいて、追尾被写体である可能性が低いマスクを除外するための足切りを行う。具体的には、マスク面積を上記アンド画像の画面面積で割った値が、所定の下限値(例えば0.0001)より大きいマスクのみを残し、その他を以降の処理対象から除外する。これにより、追尾被写体である可能性が低いマスクを以降の処理対象から除外して、処理の高速化を図ることができる。
その後ステップS209へ進み、制御装置104は、ステップS208で除外されなかったマスク(すなわち残されたマスク)が1つ以上あるか否かを判定する。残されたマスクの数が0であることは、追尾被写体である可能性が高いマスクを検出できなかったことを意味する。この場合、制御装置104は、ステップS209を否定判定してステップS201へ戻り、再度、使用者に追尾被写体位置を入力させる。尚、この場合、追尾不能として被写体追尾処理を終了するようにしてもよい。一方、残されたマスクの数が1以上である場合には、制御装置104は、ステップS209を肯定判定してステップS210へ進む。
ステップS210において制御装置104は、残された各マスクの慣性モーメントIMを、それぞれ次式(4)により算出する。
IM=ΣΣ{(x−x)+(y−y) ・・・(4)
なお、式(4)において、(x,y)は、マスクの画素の座標であり、(x,y)は、追尾被写体位置の座標である。
そして制御装置104は、上記慣性モーメントIMとステップS207で算出したマスク面積とに基づいて、残された各マスクの評価値を、それぞれ次式(5)により算出する。
評価値=(マスク面積)β/IM ・・・(5)
なお、式(5)においては、βの値は1より大きな値が好ましく、例えば1.5とする。
その後、図5のステップS211へ進み、制御装置104は、上記評価値が最大であるマスクを、追尾被写体を示す可能性が高いマスクとして特定する。そして制御装置104は、図7(A)に示す、この特定したマスクMaを包絡する矩形の短辺Rectに基づいて、追尾被写体の大きさを示す値(以下、オブジェクトサイズ(Objectsize)と呼ぶ)を設定する。具体的に、Rect>240の場合はRect=240とし、Rect<9の場合は、Rect=6とする。そして次式(6)によりオブジェクトサイズを算出することにより、オブジェクトサイズを短辺Rectに近い3の倍数の値とする。これは、後述する処理において、オブジェクトサイズに基づいてサイズが設定されるリサイズ判定用テンプレート画像を3×3のブロックに分割するためである。
Objectsize=floor(Rect/3)×3 ・・・(6)
なお、式(6)において、floorは小数点以下の切り捨てを行う関数である。
その後、ステップS212へ進み、制御装置104は、ステップS211で決定したオブジェクトサイズが所定値(本実施形態では24画素)よりも大きいか否かを判定する。なお、この所定値は、テンプレートマッチング処理において扱えるテンプレート画像の大きさの最大値であり、例えば、制御装置104に関するハードウェアの制約などによって決められている。制御装置104は、オブジェクトサイズが所定値よりも大きい場合には、ステップS212を肯定判定してステップS218へ進む。一方、オブジェクトサイズが所定値以下の場合には、ステップS212を否定判定してステップS213へ進む。
ステップS213において制御装置104は、フレーム画像の縮小倍率Shukuを1倍に設定し、縮小倍率を不図示のメモリに記録した後、ステップS214へ進む。
ステップS214において制御装置104は、ステップS10で読み込んだフレーム画像において、図7(B)に示すように、上記追尾被写体位置Ptを中心としたObjectsize×Objectsizeの画像を、初期テンプレート画像Tsとして生成し、不図示のメモリに記録した後、ステップS215へ進む。なお、初期テンプレート画像Tsは、後述するようにサイズの変更は行うが、画像内容の更新は行わないテンプレート画像である。
ステップS215において制御装置104は、初期テンプレート画像Tsと同一の画像を合成テンプレート画像Tgとして生成し、ステップS216へ進む。なお、合成テンプレート画像Tgは、初期テンプレート画像と異なり、画像内容の更新を行うテンプレート画像である。この更新については後述する。また、初期テンプレート画像および合成テンプレート画像は、追尾被写体位置を特定するための追尾用テンプレート画像である。
ステップS216において制御装置104は、テンプレート画像をリサイズするか否かを判定するためのリサイズ判定用テンプレート画像を生成する。具体的には、図8(A)に示すように、ステップS215で生成した合成テンプレート画像Tgを3×3のブロックB1〜B9に分割し、各ブロックB1〜B9の中心位置P1〜P9を算出する。そして制御装置104は、図9(A)に示すように、ブロックB1の中心位置P1を中心とした、Objectsize×Objectsizeである画像を、第1リサイズ判定用テンプレート画像Tr1として生成する。ブロックB2〜B9の中心位置P2〜P9についても同様にして、図9(B)〜(I)に示すように第2〜第9リサイズ判定用テンプレート画像Tr2〜Tr9を生成する。なお、本実施形態では、分割した9つのブロックのうち、中央のブロックB5の中心位置(=追尾被写体位置)P5を中心とする第5リサイズ判定用テンプレート画像Tr5は、合成テンプレート画像Tgと同一の画像となる。
その後ステップS217へ進み、制御装置104は、図8(B)に示すように、第1〜第4、第6〜第9リサイズ判定用テンプレート画像Tr1〜Tr4、Tr6〜Tr9の中心位置P1〜P4、P6〜P9について、それぞれ、第5リサイズ判定用テンプレート画像Tr5の中心位置(=追尾被写体位置)P5からの距離L1〜L4、L6〜L9を初期状態の距離(初期距離)として算出する。本実施の形態において、距離の算出には、例えばユークリッド距離を用いる。制御装置104は、算出した初期距離L1〜L4、L6〜L9を不図示のメモリに記録する。その後、制御装置104は、図5の処理を終了し、図2の処理に復帰する。
一方、上述したステップS212を肯定判定して進むステップS218において、制御装置104は、次式(7)によりフレーム画像の縮小倍率Shukuを算出し、不図示のメモリに記録する。
Shuku=24/ObjectSize ・・・(7)
そして制御装置104は、ステップS10で読み込んだフレーム画像を、上記縮小倍率Shukuを用いてリサイズし、ステップS219へ進む。本実施の形態では、画像のリサイズ方法として、例えばバイリニア法を用いる。また、このリサイズに合わせて、追尾被写体位置の座標を変換する。
ステップS219において制御装置104は、上記リサイズしたフレーム画像において、上記追尾被写体位置を中心とした24×24画素の画像を初期テンプレート画像として生成し、不図示のメモリに記録した後、ステップS220へ進む。なお、上記リサイズ前のフレーム画像に対する初期テンプレート画像のサイズは、Objectsize×Objectsizeである。
ステップS220において制御装置104は、ステップS219で生成した初期テンプレート画像と同一の画像を合成テンプレート画像として生成し、ステップS221へ進む。
ステップ221において制御装置104は、ステップS220で生成した合成テンプレート画像を3×3のブロックに分割し、各ブロックの中心位置を算出する。そして制御装置104は、上述したステップS216の場合と同様に、各ブロックの中心位置を中心とした、サイズが24×24画素である画像を、第1〜第9リサイズ判定用テンプレート画像として生成する。なお、分割した9つのブロックのうち、中央のブロックの中心位置(すなわち追尾被写体位置)を中心とする第5リサイズ判定用テンプレート画像は、ステップS220で生成した合成テンプレート画像と同一の画像となる。
このように本実施の形態では、上記ステップS211で設定したオブジェクトサイズが24画素よりも大きい場合には、リサイズしたフレーム画像において24×24画素のテンプレート画像(初期テンプレート画像、合成テンプレート画像および第1〜第9リサイズ判定用テンプレート画像)を生成する。尚、これら24×24画素のテンプレート画像が、元の(リサイズ前の)フレーム画像において、サイズがObjectsize×Objectsizeのテンプレート画像を生成した場合と同じ画像内容となるように、上記ステップS218においてフレーム画像の縮小倍率Shukuが算出される。そして後述する追尾被写体位置特定処理(図10)では、リサイズしたフレーム画像に対して24×24画素のテンプレート画像を用いてテンプレートマッチング処理を行う。これにより、テンプレートマッチング処理において扱えるテンプレート画像のサイズが24×24画素までと限られていても、元のフレーム画像において24×24画素よりも大きいサイズの被写体を追尾することができる。
その後ステップS222へ進み、制御装置104は、第1〜第4、第6〜第9リサイズ判定用テンプレート画像の中心位置について、それぞれ第5リサイズ判定用テンプレート画像の中心位置からの距離を初期距離として算出する。制御装置104は、算出した距離を不図示のメモリに記録する。その後、制御装置104は、図5の処理を終了し、図2の処理に復帰する。
制御装置104は、上述したように図2のステップS20のテンプレート画像生成処理を完了するとステップS30へ進み、2フレーム目のテンプレートマッチング処理における探索エリアを設定する。ここで制御装置104は、上記追尾被写体位置を中心とし、テンプレート画像のサイズ(Tempsize)に基づいて定められるサイズのエリアを探索エリアとして設定する。具体的には、探索エリアの上端y座標(TM_Ystart)、下端y座標(TM_Yend)、左端x座標(TM_Xstart)、右端y座標(TM_Xend)を、次式(8)〜(15)により算出する。なお次式(8)〜(15)において、TM_ImageWidthはフレーム画像の横幅に上記縮小倍率をかけたもの、ObjectYは追尾被写体位置のy座標、ObjectXは追尾被写体位置のx座標、MinZansa=0.1、Keisu=0.5である。また、次式(12)〜(15)において、Objectsizeが24画素以下の場合はTempsize=Objectsizeであり、Objectsizeが24画素よりも大きい場合はTempsize=24である。さらに、次式(12)〜(15)において、Objectsizeが24画素よりも大きい場合には、ObjectX、ObjectYについては、ステップS218でリサイズに合わせて変換した座標を用いる。
Search=TM_ImageWidth×Keisu ・・・(8)
If(ObjectSize>=60) →Geta=50
else Geta=24 ・・・(9)
Geta1=Geta×Shuku ・・・(10)
SearchWidth=Minzansa×Search+Geta1 ・・・(11)
TM_Ystart=ObjectY−(SearchWidth+1)−TempSize/2 ・・・(12)
TM_Yend=ObjectY+SearchWidth+TempSize/2 ・・・(13)
TM_Xstart=ObjectX−(SearchWidth+1)−TempSize/2 ・・・(14)
TM_Xend=ObjectX+SearchWidth+TempSize/2 ・・・(15)
その後ステップS40へ進み、制御装置104は、追尾被写体を見失ったか否かを示すロスト判定用フラグを初期値であるOFFに設定して、ステップS50へ進む。ロスト判定用フラグは、「ON」の場合は追尾被写体がロストしたことを示し、「OFF」の場合は追尾被写体がロストしていないことを示す。なお、追尾被写体がロストした状態とは、追尾被写体がフレームアウトしたり、遮蔽物に遮蔽されたりするなどして、フレーム画像内(画面内)からいなくなった状態であり、フレーム画像から追尾被写体が検出されない状態である。一方、追尾被写体がロストしていない状態とは、追尾被写体がフレーム画像内にいる状態である。
ステップS50において、制御装置104は、撮像素子103から入力されるフレーム画像(2フレーム目以降の画像)を読み込み、上述したステップS10と同様に、RGB表色系で表されたフレーム画像を、輝度画像(Y画像)と色差画像(Cb、Cr)とに変換する。そして制御装置104は、上記ステップS213もしくはS218、または後述するステップS810もしくはS815で設定した縮小倍率Shukuに基づいて、ステップS40で読み込んだフレーム画像をリサイズし、ステップS60へ進む。
ステップS60において、制御装置104は、ロスト判定用フラグが「ON」に設定されているか否かを判定する。制御装置104は、ロスト判定用フラグが「ON」に設定されている場合、ステップS60を肯定判定してステップS150(後述する)へ進み、「OFF」に設定されている場合、ステップS60を否定判定してステップS70へ進む。
ステップS70において制御装置104は、追尾被写体位置特定処理を実行する。ここで、追尾被写体位置特定処理の詳細について図10を用いて説明する。図10のステップS701において制御装置104は、ステップS50でリサイズしたフレーム画像において、探索エリア内の画像と初期テンプレート画像との類似度、および探索エリア内の画像と合成テンプレート画像との類似度を、それぞれ演算する。ここで、類似度の演算方法としては、絶対差分和(SAD:Sum of Absolute Difference)を用いる。絶対差分和は、その値が小さいほど類似度が高いことを示し、その値が大きいほど類似度が低いことを示す。
具体的に制御装置104は、探索エリア内で、初期テンプレート画像と同一サイズの探索枠を1画素ずつ移動させながら、探索枠内の画像と初期テンプレート画像との絶対差分和を、Y成分、Cb成分、Cr成分それぞれにおいて演算する。合成テンプレート画像についても同様に、探索枠を1画素ずつ移動させながら、探索枠内の画像と合成テンプレート画像との絶対差分和を演算する。そして、初期テンプレート画像および合成テンプレート画像のそれぞれについて、各探索枠位置における絶対差分和を2次元化して表した類似度マップを、Y成分、Cb成分、Cr成分ごとに生成する。
その後ステップS702へ進み、制御装置104は、ステップS40で読み込んだフレーム画像が2フレーム目であるか否かを判定する。制御装置104は、2フレーム目である場合にはステップS704へ進み、3フレーム目以降である場合にはステップS703へ進む。
ステップS703において制御装置104は、ステップS701で生成した類似度マップごとに、前フレームにおける追尾被写体位置特定処理で特定した追尾被写体位置からの距離に応じた係数Kyoriを乗算して、ステップS704へ進む。なお、この係数Kyoriは、次式(16)により算出される。すなわち、この係数は、前フレームにおける追尾被写体位置から離れるほど大きくなるように算出される。
Kyori(x,y)=Kyori+K(|x−Mx×Shuku|+|y−My×Shuku|) ・・・(16)
なお、式(16)において、(x,y)は、探索エリア内の各画素の座標であり、Mxは前フレームで特定された追尾被写体位置のx座標、Myは前フレームで特定された追尾被写体位置のy座標である。また、本実施形態では、Kyori=1.0、K=0.05とする。
ステップS704において制御装置104は、初期テンプレート画像および合成テンプレート画像のそれぞれについて、Y成分、Cb成分、Cr成分の類似度マップSADY、SADCb、SADCrを次式(17)により統合し、統合類似度マップSADallを生成する。
SADall=1/N(GainY×SADY+GainCb×SADCb+GainCr×SADCb) ・・・(17)
なお、式(17)において、本実施形態では、GainY=0.1、GainCb=1.5、GainCr=1.5とする。また、NはSADの正規化係数であり、N=Tempsize×Tempsize×255とする。
そして制御装置104は、初期テンプレート画像の統合類似度マップ、および合成テンプレート画像の統合類似度マップの中から、最大類似度(すなわち最小絶対差分和)が算出された探索枠位置を、マッチング位置として選出する。すなわち、初期テンプレート画像との最大類似度が合成テンプレート画像との最大類似度よりも高い場合には、初期テンプレート画像との最大類似度が算出された探索枠位置がマッチング位置となり、合成テンプレート画像との最大類似度が初期テンプレート画像との最大類似度よりも高い場合には、合成テンプレート画像との最大類似度が算出された探索枠位置がマッチング位置となる。制御装置104は、マッチング位置における探索枠内の領域をマッチング領域として特定し、マッチング領域の中心位置を追尾被写体位置として特定する。
具体的には、制御装置104は、次式(18)および(19)により、追尾被写体位置の座標(Objx,Objy)を算出する。
Objx=Mx+Tempsize/2 ・・・(18)
Objy=My+Tempsize/2 ・・・(19)
また制御装置104は、次式(20)〜(23)により、マッチング領域の4隅の座標((x1, y1)、(x2, y2)、(x3, y3)、(x4, y4))を算出する。そしてステップS705へ進む。
(x1, y1) = (Mx, My) ・・・(20)
(x2, y2) = (Mx + TempSize - 1, My) ・・・(21)
(x3, y3) = (Mx + TempSize - 1, My + TempSize - 1) ・・・(22)
(x4, y4) = (Mx, My + TempSize - 1) ・・・(23)
ステップS705において、制御装置104は、ステップS704で特定したマッチング位置と追尾被写体位置の座標を、縮小倍率Shukuでリサイズする前のフレーム画像サイズに合わせて変換する。そして、制御装置104は、次式(24)〜(27)により、追尾被写体エリアの上端y座標(Obj_YStart)、下端y座標(Obj_YEnd)、左端x座標(Obj_XStart)、右端x座標(Obj_XEnd)を算出する。
Obj_YStart=My/Shuku ・・・(24)
Obj_YEnd=(My+Tempsize−1)/Shuku ・・・(25)
Obj_XStart=Mx/Shuku ・・・(26)
Obj_XEnd=(Mx+Tempsize−1)/Shuku ・・・(27)
そして制御装置104は、モニタ106に表示されたフレーム画像上に、追尾被写体エリアおよび追尾被写体位置を表示して、図10の処理を終了し、図2の処理に復帰する。
制御装置104は、上述したように図2のステップS70の追尾被写体位置特定処理を完了するとステップS80へ進む。ステップS80において、制御装置104は、初期テンプレート画像と、ステップS704で特定したマッチング領域内の画像との類似度を、追尾被写体がロストしたか否かを判定するためのロスト判定用類似度として算出する。ロスト判定用類似度を算出するには、例えば、上述したステップS701、S703、S704と同様の方法を用いる。具体的に、制御装置104は、ステップS704で特定したマッチング領域内の画像と初期テンプレート画像との絶対差分和(SAD)を、Y成分、Cb成分、Cr成分ごとに演算する。そして、演算した絶対差分和に対して、上記式(16)により、前フレームにおける追尾被写体位置特定処理で特定した追尾被写体位置からの距離に応じた係数Kyoriを乗算する。そして、この係数Kyoriを乗算した後のY成分、Cb成分、Cr成分の絶対差分和を上記式(17)により統合した値を、ロスト判定用類似度とする。
初期テンプレート画像のみを用いてロスト判定用類似度を算出する理由は以下の通りである。合成テンプレート画像には、前回までに追尾被写体エリアとして特定した画像の情報が含まれている。したがって追尾被写体を捉えられていない場合にも、合成テンプレート画像と今回特定したマッチング領域内の画像との類似度が高くなり、追尾被写体を見失ったことを判定できない可能性が高い。そこで確実に追尾被写体画像の情報が含まれている初期テンプレート画像を用いてロスト判定用類似度を算出することで、追尾被写体がロストしたか否かを精度よく判定することができる。
このようにロスト判定用類似度を算出すると、制御装置104は、ステップS90へ進む。ステップS90において、制御装置104は、連続してnフレーム以上(本実施形態では、例えばn=10)、ロスト判定用類似度が次式(28)により算出される閾値(LostThresh)以下であるか否かを判定する。
If(ObjectSize≧90) → LostThresh=1/Zansa1
elseif(ObjectSize≧30) → LostThresh=1/Zansa2
else →LostThresh=1/Zansa3 ・・・(28)
なお、式(28)において、Zansa1、Zansa2、Zansa3は、SADを使って類似度を算出する場合、1より小さい値が好ましく、また、ObjectSizeが大きい程、大きい値を設定するのが好ましい。本実施の形態では、例えば、Zansa1=0.20、Zansa2=0.10、Zansa3=0.08とする。なお、式(28)では、3つの場合に分けて閾値を設定しているが、もっと細かくObjectSize毎に閾値を設定してもよいし、反対に、ObjectSizeによらず閾値を1つだけ設定してもよい。もちろん、90や30以外のObjectSizeを基準として閾値を設定しても良い。
制御装置104は、連続してnフレーム以上ロスト判定用類似度が閾値(LostThresh)以下であった場合には、追尾被写体がロストしたと判定し、ステップS90を肯定判定してステップS140へ進む。ステップS140において、制御装置104は、ロスト判定用フラグを「ON」に設定して、ステップS170(後述する)へ進む。
一方、連続してnフレーム以上ロスト判定用類似度が閾値(LostThresh)以下である場合以外には、制御装置104は、追尾被写体がロストしていないと判定し、ステップS90を否定判定してステップS100へ進む。
ステップS100において、制御装置104は、ステップS50で読み込んだフレーム画像が最終フレームか否かを判定する。制御装置104は、最終フレームである場合、ステップS100を肯定判定して図2の処理を終了し、最終フレームではない場合、ステップS100を否定判定してステップS110(図3)へ進む。
図3のステップS110において制御装置104は、合成テンプレート画像更新処理を実行する。ここで、合成テンプレート画像更新処理の詳細について図11を用いて説明する。図11のステップS1101において制御装置104は、合成テンプレート画像を更新するか否かを判定する。このとき制御装置104は、以下の条件(1)および条件(2)を満たす場合に、合成テンプレート画像の更新条件を満たすと判断する。
条件(1)・・・上記最小絶対差分和があらかじめ設定されている判定閾値よりも小さい(すなわち最大類似度が所定以上の高さである)こと
条件(2)・・・所定の回数(例えば3回)以上連続して、同じテンプレート画像から生成された類似度マップから最大類似度が算出されたこと
そこで制御装置104は、上記更新条件を満たすと判断した場合にはステップS1101を肯定判定してステップS1102へ進む。一方、上記更新条件を満たさないと判断した場合にはステップS1101を否定判定し、合成テンプレート画像を更新せずに図11の処理を終了して、図3の処理に復帰する。
ステップS1102において制御装置104は、最大類似度が算出されたのは、初期テンプレート画像による類似度マップであるか、合成テンプレート画像による類似度マップであるかを判定する。制御装置104は、合成テンプレート画像による類似度マップであると判定した場合にはステップS1103へ進み、初期テンプレート画像による類似度マップであると判定した場合にはステップS1104へ進む。
ステップS1103において制御装置104は、第1の重み係数を乗じたマッチング領域内の画像の画素情報と、第2の重み係数を乗じた初期テンプレート画像の画素情報とを加算、すなわち合成して新たな合成テンプレート画像を生成する。制御装置104は、この生成した画像を新たな合成テンプレート画像として更新して図11の処理を終了し、図3の処理に復帰する。
ここで、マッチング領域内の画像と初期テンプレート画像とは、いずれも追尾すべき被写体から切り出されたデータであるため、全く異なる情報量を有するものではない。よって、これら2つの画像を合成すれば、追尾被写体に類似する画像が生成されることになる。このように合成した画像を新たな合成テンプレート画像として用いるメリットは、例えば、被写体の動きが激しい場合には、複数の被写体情報を含んだ合成テンプレート画像を用いることにより、多少の被写体変化でもロバストに追尾することが可能になる。なお、第1の重み係数と第2の重み係数は、その和が1になるように設定し、それぞれの重み係数の値は、例えば、第1の重み係数=0.6、第2の重み係数=0.4とする。すなわち、最大類似度が算出されたのが合成テンプレート画像である場合には、現在の被写体の形状は、初期テンプレート画像における被写体の形状から大きく変化している可能性が高いため、合成テンプレート画像の画素情報に乗じる第1の重み係数を大きく設定することによって、現在の被写体の形状を強く反映させた新たな合成テンプレート画像を生成することができる。また、この場合であっても、初期テンプレート画像の画素情報に、値を小さく設定した第2の重み係数を乗じて足し込むことにより、新たな合成テンプレート画像が初期テンプレート画像から大きく離れ過ぎないようにすることができる。
一方、ステップS1104において、制御装置104は、第3の重み係数を乗じたマッチング領域内の画像の画素情報と、第4の重み係数を乗じた初期テンプレート画像の画素情報とを加算、すなわち合成して新たな合成テンプレート画像を生成する。制御装置104は、この生成した画像を新たな合成テンプレート画像として更新して図11の処理を終了し、図3の処理に復帰する。
この場合、第3の重み係数と第4の重み係数は、その和が1になるように設定し、それぞれの重み係数の値は、例えば、第3の重み係数=0.4、第4の重み係数=0.6とする。すなわち、最大類似度が算出されたのが初期テンプレート画像による類似度マップである場合、現在の被写体の形状は、初期テンプレート画像における被写体の形状からそれほど変化していない可能性が高いため、初期テンプレート画像の画素情報に乗じる第4の重み係数を大きく設定することにより、新たに生成する合成テンプレート画像を初期テンプレート画像に近づくようにする。また、この場合であっても、マッチング領域内の画像の画素情報に、値を小さく設定した第3の重み係数を乗じて足し込むことにより、時間経過に伴う被写体形状の変化の影響も加味した新たな合成テンプレート画像を生成することができる。
制御装置104は、上述したようにステップS110の合成テンプレート画像更新処理を完了するとステップS120へ進み、テンプレート画像サイズ変更処理を実行する。ここで、テンプレート画像サイズ変更処理の詳細について図12および図13を用いて説明する。図12のステップS1201において制御装置104は、上記ステップS701において述べた初期テンプレート画像および合成テンプレート画像の場合と同様に、探索エリア内の画像と第1〜第9リサイズ判定用テンプレート画像との類似度をそれぞれ演算する。そして、第1〜第9リサイズ判定用テンプレート画像のそれぞれについて、Y成分、Cb成分、Cr成分ごとに類似度マップを生成する。
その後ステップS1202へ進み、制御装置104は、ステップS50で読み込んだフレーム画像が2フレーム目であるか否かを判定する。制御装置104は、2フレーム目である場合にはステップS1204へ進み、3フレーム目以降である場合にはステップS1203へ進む。
ステップS1203において制御装置104は、上記ステップS703と同様に、上記式(16)を用いて係数Kyoriを算出する。なお、上記式(16)におけるMxとMyは、前フレームにおけるステップS704またはS1504で特定したマッチング位置の座標を用いる。そして、制御装置104は、ステップS1201で生成した第5リサイズ判定用テンプレート画像における類似度マップに係数Kyoriを乗算して、ステップS1204へ進む。
ステップS1204において制御装置104は、第1〜第9リサイズ判定用テンプレート画像のそれぞれについて、上記ステップS704と同様に、Y成分、Cb成分、Cr成分の類似度マップを上記式(17)により統合し、統合類似度マップを生成する。そして制御装置104は、第1〜第9リサイズ判定用テンプレート画像の統合類似度マップのそれぞれにおいて、最大類似度である(すなわち最小絶対差分和である)探索枠位置をマッチング位置として特定して、ステップS1205へ進む。すなわち、第1〜第9リサイズ判定用テンプレート画像のそれぞれについて、マッチング位置を特定する。
ステップS1205において制御装置104は、第5リサイズ判定用テンプレート画像による統合類似度マップの最小絶対差分和が、あらかじめ設定されている判定閾値よりも小さい(すなわち最大類似度が所定以上の高さである)か否かを判定する。制御装置104は、上記最小絶対差分和が上記判定閾値よりも小さい場合には、ステップS1205を肯定判定してステップS1206へ進む。一方、制御装置104は、上記最小絶対差分和が上記判定閾値以上である場合(すなわち最大類似度が所定よりも低い場合)には、ステップS1205を否定判定し、テンプレート画像のサイズを変更せずに図12の処理を終了して、図3の処理に復帰する。
ステップS1206において制御装置104は、第1〜第4および第6〜第9リサイズ判定用テンプレート画像において、最小絶対差分和があらかじめ設定されている判定閾値よりも小さい(すなわち最大類似度が所定以上の高さである)ものを選択する。そして制御装置104は、選択したリサイズ判定用テンプレート画像についてのマッチング位置と、第5リサイズ判定用テンプレート画像についてのマッチング位置(=合成テンプレート画像についてのマッチング位置)との距離(現在距離)をそれぞれ算出し、ステップS1207へ進む。
ここで図14を用いて、第1〜第9リサイズ判定用テンプレート画像についてのマッチング位置M1〜M9と、追尾被写体Hsの大きさとの関係を説明する。図14(B)は、初期距離、すなわち第1〜第4、第6〜第9リサイズ判定用テンプレート画像の中心位置P1〜P4、P6〜P9のそれぞれにおける、第5リサイズ判定用テンプレート画像の中心位置P5からの距離を説明する図である。
図14(B)の状態から図14(A)の状態に変化した場合、すなわちフレーム画像上で追尾被写体Hsが小さくなった場合には、第1〜第5リサイズ判定用テンプレート画像のマッチング位置M1〜M9の位置関係は、図14(B)に示す場合と比較して密度が高くなる。すなわち、第1〜第4、第6〜第9リサイズ判定用テンプレート画像のマッチング位置M1〜M4、M6〜M9のそれぞれにおける、第5リサイズ判定用テンプレート画像のマッチング位置M5からの距離(現在距離)が、それぞれに対応する初期距離と比べて短くなる。また、追尾被写体Hsが小さくなるほど、現在距離が初期距離と比べてより短くなる。
図14(B)の状態から図14(C)の状態に変化した場合、すなわちフレーム画像上で追尾被写体Hsが大きくなった場合には、第1〜第5リサイズ判定用テンプレート画像のマッチング位置M1〜M9の位置関係は、図14(B)に示す場合と比較して密度が低くなる(まばらになる)。すなわち、第1〜第4、第6〜第9リサイズ判定用テンプレート画像のマッチング位置M1〜M4、M6〜M9のそれぞれにおける、第5リサイズ判定用テンプレート画像のマッチング位置M5からの距離(現在距離)が、それぞれに対応する初期距離と比べて長くなる。また、追尾被写体Hsが大きくなるほど、現在距離が初期距離と比べてより長くなる。
なお、追尾被写体Hsのサイズが変わらない場合には、第1〜第4、第6〜第9リサイズ判定用テンプレート画像のマッチング位置M1〜M4、M6〜M9のそれぞれにおける、第5リサイズ判定用テンプレート画像のマッチング位置M5からの距離は、それぞれに対応する初期距離からあまり変化しない。
そこでステップS1207において、制御装置104は、ステップS1206で算出した距離(現在距離と呼ぶ)において、上記ステップS217もしくはステップS222、または後述するステップS1214もしくはステップS1219で算出した初期距離からの変化が大きいか否かを判定する。具体的には、ステップS1206で算出した現在距離のうち過半数以上において、現在距離/初期距離≧1.2、または、現在距離/初期距離≦0.76となる場合に現在距離において初期距離からの変化が大きいと判断し、これ以外の場合は現在距離において初期距離からの変化が小さいと判断する。現在距離において初期距離からの変化が大きい場合には、追尾被写体のサイズが大きく変化した可能性が高い。したがって制御装置104は、当該変化が大きいと判断した場合にはステップS1207を肯定判定して、ステップS1208へ進む。一方、制御装置104は、当該変化が小さいと判断した場合にはステップS1207を否定判定し、テンプレート画像のサイズを変更せずに図12の処理を終了して、図3の処理に復帰する。
図13のステップS1208において、制御装置104は、現在距離が初期距離と比較して長くなった場合にはオブジェクトサイズを大きくし、現在距離が初期距離と比較して短くなった場合にはオブジェクトサイズを小さくする。また、制御装置104は、変更前のオブジェクトサイズが大きいほどサイズの変更量を大きくし、変更前のオブジェクトサイズが小さいほどサイズの変更量を小さくする。具体的には、現在距離/初期距離≧1.2の場合は次式(29)を用いて、現在距離/初期距離≦0.76の場合は次式(30)を用いて、オブジェクトサイズ(Objectsize)を更新する。
(1)現在距離/初期距離≧1.2の場合
If(ObjectSize≧240) → ObjectSize=240
elseif(ObjectSize≧120) → ObjectSize=ObjectSize+15
elseif(ObjectSize≧60) → ObjectSize=ObjectSize+12
elseif(ObjectSize≧48) → ObjectSize=ObjectSize+9
elseif(ObjectSize≧27) → ObjectSize=ObjectSize+6
else →ObjectSize=ObjectSize+3 ・・・(29)
(2)現在距離/初期距離≦0.76の場合
If(ObjectSize≧105) → ObjectSize=ObjectSize−15
elseif(ObjectSize≧72) → ObjectSize=ObjectSize−12
elseif(ObjectSize≧33) → ObjectSize=ObjectSize−9
elseif(ObjectSize≧24) → ObjectSize=ObjectSize−6
elseif(ObjectSize≦6) → ObjectSize=6
else →ObjectSize=ObjectSize−3 ・・・(30)
その後、ステップS1209へ進み、制御装置104は、ステップS1208で更新したオブジェクトサイズが所定値(本実施形態では24画素)よりも大きいか否かを判定する。制御装置104は、オブジェクトサイズが所定値よりも大きい場合には、ステップS1209を肯定判定してステップS1215へ進む。一方、オブジェクトサイズが所定値以下の場合には、ステップS1209を否定判定してステップS1210へ進む。
ステップS1210において制御装置104は、フレーム画像の縮小倍率Shukuを1倍に設定し、ステップS1211へ進む。
ステップS1211において制御装置104は、ステップS214またはS219で不図示のメモリに記録した初期テンプレート画像のサイズを、ステップS213またはS218で不図示のメモリに保存した縮小倍率Shukuの逆数を用いてリサイズする。そして制御装置104は、このリサイズした初期テンプレート画像を、ステップS1208で更新したオブジェクトサイズObjectsize×Objectsizeとなるようにリサイズして、ステップS1212へ進む。
ステップS1212において制御装置104は、ステップS50で読み込んだフレーム画像において、ステップS70で特定した追尾被写体位置を中心とし、サイズがステップS1208で更新したオブジェクトサイズObjectsize×Objectsizeである画像を、合成テンプレート画像として更新して、ステップS1213へ進む。
ステップS1213において制御装置104は、ステップS1213で生成した合成テンプレート画像を3×3のブロックに分割し、各ブロックの中心位置を算出する。そして制御装置104は、上述したステップS216の場合と同様に、各ブロックの中心位置を中心とし、ステップS1208で更新したオブジェクトサイズObjectsize×Objectsizeである画像を、第1〜第9リサイズ判定用テンプレート画像として更新する。
このように上記ステップS1211〜S1213において、制御装置104は、現在距離が初期距離と比較して長くなった場合には、テンプレート画像のサイズを大きくし、現在距離が初期距離と比較して短くなった場合にはテンプレート画像のサイズを小さくする。
その後ステップS1214へ進み、制御装置104は、ステップ1213で更新した第1〜第4、第6〜第9リサイズ判定用テンプレート画像の中心位置について、それぞれ第5リサイズ判定用テンプレート画像の中心位置からの距離を初期距離として算出する。制御装置104は、算出した距離を不図示のメモリに記録する。その後、制御装置104は、図13の処理を終了し、図3の処理に復帰する。
一方、上述したステップS1209を肯定判定して進むステップS1215において、制御装置104は、上記ステップS1208で更新したオブジェクトサイズObjectsizeを用いて、上記式(7)によりフレーム画像の縮小倍率Shukuを算出する。そして制御装置104は、ステップS50で読み込んだフレーム画像を当該算出した縮小倍率Shukuを用いてリサイズし、ステップS1216へ進む。なお、このリサイズに合わせて、ステップS70で特定した追尾被写体位置の座標を変換する。
ステップS1216において制御装置104は、ステップS214またはS219で不図示のメモリに記録した初期テンプレート画像のサイズを、ステップS213またはS218で不図示のメモリに記録した縮小倍率Shukuの逆数を用いてリサイズする。そして制御装置104は、このリサイズした初期テンプレート画像を、ステップS1208で更新したオブジェクトサイズObjectsize×Objectsizeとなるようにリサイズする。さらに制御装置104は、このリサイズした初期テンプレート画像を、上記ステップS1215で算出した縮小倍率Shukuを用いてリサイズすることにより、初期テンプレート画像のサイズを24×24画素として、ステップS1217へ進む。
ステップS1217において制御装置104は、ステップS1215でリサイズしたフレーム画像において、上記追尾被写体位置を中心とし、サイズが24×24画素である画像を、合成テンプレート画像として更新して、ステップS1218へ進む。
ステップ1218において制御装置104は、ステップS1217で生成した合成テンプレート画像を3×3のブロックに分割し、各ブロックの中心位置を算出する。そして制御装置104は、上述したステップS221の場合と同様に、各ブロックの中心位置を中心とし、サイズが24×24画素である画像を、新たな第1〜第9リサイズ判定用テンプレート画像として更新する。
このように上記ステップS1209で更新したオブジェクトサイズが24画素よりも大きい場合の上記ステップS1215〜S1218において、制御装置104は、現在距離が初期距離と比較して長くなった場合には、フレーム画像に対するテンプレート画像のサイズを大きくし、現在距離が初期距離と比較して短くなった場合にはフレーム画像に対するテンプレート画像のサイズを小さくする。なお、本説明において、テンプレート画像のサイズを変更するとは、フレーム画像のサイズに対するテンプレート画像のサイズの倍率を変更することを含むものとする。
その後ステップS1219へ進み、制御装置104は、ステップS1218で更新した第1〜第4、第6〜第9リサイズ判定用テンプレート画像の中心位置について、それぞれ第5リサイズ判定用テンプレート画像の中心位置からの距離を初期距離として算出する。制御装置104は、算出した距離を不図示のメモリに記録する。その後、制御装置104は、図13の処理を終了し、図3の処理に復帰する。
制御装置104は、上述したように図3のステップS120のテンプレートサイズ変更処理を完了するとステップS130へ進み、次フレームのテンプレートマッチング処理における探索エリアを設定する。ここで制御装置104は、上記追尾被写体位置を中心とし、テンプレートサイズおよびステップS704で算出した最小絶対差分和(すなわち最大類似度)に基づいて定められるサイズのエリアを探索エリアとして設定する。具体的には、上記ステップS30と同様に、探索エリアの上端y座標(TM_Ystart)、下端y座標(TM_Yend)、左端x座標(TM_Xstart)、右端y座標(TM_Xend)を、上記式(8)〜(15)により算出する。なお上記式(11)において、MinZansaは、ステップS704で算出した最小絶対差分和を用いる。
このようにして次フレームにおける探索エリアを設定すると、制御装置104は、ステップS50(図2)に戻る。
一方、ロスト判定用フラグが「ON」に設定されている場合にステップS60を肯定判定して進むステップS150において、制御装置104は、追尾被写体がロストしたと判定した時用の処理であるロスト判定時用処理を実行する。ここで、ロスト判定時用処理の詳細について図15を用いて説明する。図15のステップS1501において制御装置104は、探索エリアを設定する。ここで制御装置104は、ロスト判定フラグをONに設定する直前にステップS70で特定された追尾被写体位置を中心とし、テンプレート画像のサイズ(Tempsize)に基づいて定められるサイズのエリアを探索エリアとして設定する。
具体的には、上記ステップS30と同様に、探索エリアの上端y座標(TM_Ystart)、下端y座標(TM_Yend)、左端x座標(TM_Xstart)、右端y座標(TM_Xend)を、上記式(8)〜(15)により算出する。なお、上記式(11)において、MinZansa=0.1とする。また、上記式(8)のSearch = TM_ImageWidth×Keisuについては、Search = γ×TM_ImageWidth×Keisuに変更する。γは1より大きい値が好ましく、例えばγ=3とする。この変更により、ロスト判定用フラグを「OFF」に設定している場合と比較して、探索エリアを広く設定できるため、追尾被写体がフレームアウトした位置から離れた位置にフレームインしてくる場合も、追尾被写体を検出することができる。
このようにして探索エリアを設定するとステップS1502へ進み、制御装置104は、ステップS1501で設定した探索エリア内の画像と初期テンプレート画像および合成テンプレート画像との類似度をそれぞれ演算する。そして、初期テンプレート画像および合成テンプレート画像のそれぞれについて、Y成分、Cb成分、Cr成分ごとに類似度マップを生成する。
その後ステップS1503へ進み、制御装置104は、上記ステップS703と同様に、上記式(16)を用いて係数Kyoriを算出し、ステップS1501で生成した類似度マップごとに係数Kyoriを乗算する。なお、式(16)におけるMxとMyは、ロスト判定フラグをONに設定する直前にステップS70で特定された追尾被写体位置の座標を用いる。また、Kは、ロスト判定用フラグを「OFF」に設定している場合よりも、小さい値を設定することが望ましく、例えば、本実施の形態では、K=0.01とする。これにより、ステップS1501で設定した探索エリア内に追尾被写体に類似した色の背景が存在する場合、擬似マッチングを抑制することができ、且つ、追尾被写体がフレームアウトした位置から離れた位置にフレームインしてくる場合にも、追尾被写体を検出することができる。
その後ステップS1504へ進み、制御装置104は、初期テンプレート画像について、上記ステップS704と同様に、Y成分、Cb成分、Cr成分の類似度マップを上記式(17)により統合し、統合類似度マップを生成する。そして制御装置104は、初期テンプレート画像の統合類似度マップにおいて、最大類似度である(すなわち最小絶対差分和である)探索枠位置をマッチング位置として特定して、ステップS1505へ進む。
ステップS1505において、制御装置104は、ステップS1504で算出した最大類似度が、次式(31)により算出される閾値(ObjectThresh)以上であるか否かを判定する。
If (ObjectSize≧90) → ObjectThresh =1/Zansa4
elseif(ObjectSize≧30) → ObjectThresh =1/Zansa5
else →ObjectThresh =1/Zansa6 ・・・(31)
なお、式(31)において、Zansa4、Zansa5、Zansa6は、SADを使って類似度を算出する場合、1より小さい値が好ましく、また、ObjectSizeが大きい程、大きい値を設定するのが好ましい。本実施の形態では、例えば、Zansa4=0.15、Zansa5=0.069、Zansa3=0.060とする。なお、式(31)では、3つの場合に分けて閾値を設定しているが、もっと細かくObjectSize毎に閾値を設定しても良いし、反対に、ObjectSizeによらず閾値を1つだけ設定しても良い。もちろん、90や30以外のObjectSizeを基準として閾値を設定しても良い。
制御装置104は、ステップS1504で算出した最大類似度が閾値(ObjectThresh)以上である場合には、追尾被写体がフレーム画像内に戻ってきたと判定し、ステップS1505を肯定判定して、ステップS1506へ進む。一方、制御装置104は、ステップS1504で算出した最大類似度が閾値(ObjectThresh)未満である場合には、追尾被写体がロスト状態であると判定し、ステップS1505を肯定判定して図15の処理を終了し、図3の処理に復帰する。
ステップS1506において、制御装置104は、ステップS1504で特定したマッチング位置から、ステップS704と同様に式(18)および(19)を用いて追尾被写体位置を算出する。さらに制御装置104は、ステップS705と同様にマッチング位置と追尾被写体位置の座標を、縮小倍率Shukuでリサイズする前のフレーム画像サイズに合わせて変換し、式(24)〜(27)を用いて追尾被写体エリアを算出する。制御装置104は、モニタ106に表示されたフレーム画像上に、当該算出した追尾被写体位置および追尾被写体エリアを表示して、ステップS1507へ進む。
ステップS1507において、制御装置104は、ロスト判定用フラグを「OFF」に設定して、図15の処理を終了し、図3の処理に復帰する。
制御装置104は、上述したように図3のステップS150のロスト判定時用処理を完了するとステップS160へ進む。ステップS160において制御装置104は、初期テンプレート画像および合成テンプレート画像のそれぞれについて、上記ステップS704と同様に、Y成分、Cb成分、Cr成分の類似度マップを上記式(17)により統合し、統合類似度マップを生成する。そして制御装置104は、初期テンプレート画像の統合類似度マップ、および合成テンプレート画像の統合類似度マップの中から、最大類似度(すなわち最小絶対差分和)が算出された探索枠位置を、マッチング位置として選出する。
ステップS170において制御装置104は、ステップS160での処理結果を用いて、合成テンプレート画像更新処理を実行する。この合成テンプレート画像更新処理は、上述したステップS110の合成テンプレート画像更新処理と同一の処理であるため、説明を省略する。
その後ステップS180へ進み、制御装置104は、ステップS50で読み込んだフレーム画像が最終フレームか否かを判定する。制御装置104は、最終フレームである場合、ステップS180を肯定判定して図3の処理を終了し、最終フレームではない場合、ステップS180を否定判定してステップS50(図2)へ戻る。
このように、制御装置104は、ステップS50〜S180の処理を繰り返すことにより、次々に読み込まれるフレーム画像において追尾被写体を追尾して、その位置をモニタ106に表示する。また、制御装置104は、追尾被写体がロストしたと判定した場合には、追尾被写体の追尾を停止して追尾被写体位置のモニタ106への表示を停止し、追尾被写体がフレーム画像内に戻ってきたか否かを判定するロスト判定時用処理を開始する。そして制御装置104は、追尾被写体がフレーム画像内に戻ってきたと判定した場合には、追尾被写体の追尾を再開する。
以上説明した実施形態によれば、次の作用効果が得られる。
(1)カメラ100は、入力画像(フレーム画像)内に第1の探索領域を設定し、画像内容の更新を行わない初期テンプレート画像と第1の探索領域内の画像との類似度、および画像内容の更新を行う更新テンプレート画像(合成テンプレート画像)と第1の探索領域内の画像との類似度をそれぞれ演算し、これらの類似度に基づいて、入力画像内における追尾被写体位置を特定する制御装置104と、合成テンプレート画像を更新するか否かを判定し、更新すると判定した場合には、入力画像における追尾被写体位置を含む画像に基づいて、合成テンプレート画像を更新する制御装置104と、入力画像の追尾被写体位置における初期テンプレート画像との類似度に基づいて、入力画像から追尾被写体がロストしたか否か(検出されるか否か)を判定する制御装置104と、入力画像から追尾被写体がロストした(検出されない)と判定した場合には、入力画像内に第2の探索領域を設定し、初期テンプレート画像と第2の探索領域内の画像との類似度を演算し、この類似度に基づいて、入力画像内に追尾被写体が戻ってきたか否かを判定する制御装置104と、を備え、制御装置104は、入力画像から追尾被写体がロストした(検出されない)と判定した場合には、追尾被写体位置の特定を停止し、入力画像内に追尾被写体が戻ってきたと判定した場合には、追尾被写体位置の特定を再開する。これにより、追尾被写体がロストした場合には自動で被写体追尾処理を停止し、追尾被写体が画面に戻ってきた場合には自動で被写体追尾処理を再開することができる。また、初期テンプレート画像を用いて、追尾被写体がロストしたか否かの判定、および追尾被写体が画面内に戻ってきたか否かの判定を行うので、精度よくこれらの判定を行うことができる。
(2)上記(1)のカメラ100において、制御装置104は、上記第2の探索領域を、上記第1の探索領域よりも広く設定するように構成した。このように被写体追尾処理における探索領域と比較して、追尾被写体が画面内に戻ってきたか否かの判定処理における探索領域を広く設定することで、追尾被写体がフレームアウトした位置から離れた位置にフレームインしてくる場合も、追尾被写体を検出することができる。
(3)上記(1)または(2)のカメラ100において、制御装置104は、追尾被写体位置における初期テンプレート画像との類似度が所定閾値以下である入力画像が所定数(nフレーム)以上連続した場合に、入力画像から追尾被写体がロストしたと判定するように構成した。これにより、追尾被写体がロストしたか否かの判定を精度よく行うことができる。
(4)上記(1)〜(3)のカメラ100において、制御装置104は、初期テンプレート画像と第2の探索領域内の画像との類似度における最大類似度が所定閾値以上である場合に、入力画像内に追尾被写体が戻ってきたと判定するように構成した。これにより、追尾被写体が画面内に戻ってきたか否かの判定を精度よく行うことができる。
(5)上記(1)〜(3)のカメラ100において、制御装置104は、初期テンプレート画像と第1の探索領域内の画像との類似度、および合成テンプレート画像と第1の探索領域内の画像との類似度に、それぞれ、前フレームにおける追尾被写体位置からの距離に応じた第1の係数(Kyori)を乗算し、この乗算後の類似度に基づいて、入力画像内における追尾被写体位置を特定し、初期テンプレート画像と第2の探索領域内の画像との類似度に、入力画像から追尾被写体がロストしたと判定される直前に特定した追尾被写体位置からの距離に応じた第2の係数(Kyori)を乗算し、この乗算後の類似度に基づいて、入力画像内に追尾被写体が戻ってきたか否かを判定し、第2の係数は、第1の係数よりも小さいように構成した。このように、被写体追尾処理の際と比較して、追尾被写体が画面内に戻ってきたか否かの判定処理の際における、追尾被写体位置からの距離に応じた係数を小さくすることにより、追尾被写体が画面内に戻ってきたか否かの判定処理の際、擬似マッチングを抑制すると共に、追尾被写体がフレームアウトした位置から離れた位置にフレームインしてくる場合にも、追尾被写体を検出することができる。
(6)上記(4)のカメラ100において、制御装置104は、初期テンプレート画像と第2の探索領域内の画像との類似度における最大類似度が所定閾値以上である場合、当該最大類似度が算出された位置を追尾被写体位置として特定するように構成した。これにより、追尾被写体が画面内に戻ってきた場合に、すぐに追尾被写体位置を特定することができる。
(7)上記(1)〜(6)のカメラ100において、制御装置104は、入力画像から追尾被写体がロストしたと判定される直前に被写体追尾手段により特定された追尾被写体位置に基づいて第2の探索領域を設定するように構成した。これにより、追尾被写体の遮蔽によってロスト判定されたあと、追尾被写体の遮蔽がなくなった場合にすぐに追尾被写体が画面内に戻ってきたことを判定できる。
(変形例1)
上述した実施の形態では、リサイズ判定用テンプレート画像を用いてテンプレート画像サイズ変更処理を行う例について説明したが、この処理を行わなくてもよい。
(変形例2)
上述した実施の形態では、ステップS110において上記条件(1)および(2)を満たす場合に合成テンプレート画像の更新条件を満たすと判断する例について説明したが、合成テンプレート画像の更新条件はこれに限らなくてもよい。
(変形例3)
上述した実施の形態では、ステップS110においてマッチング領域内の画像と初期テンプレート画像とを重み付けして合成することにより合成テンプレート画像を更新する例について説明したが、合成テンプレート画像の更新方法は、これに限らなくてもよい。例えば、マッチング領域内の画像と初期テンプレート画像とを常に1対1で合成するようにしてもよい。
(変形例4)
上述した実施の形態では、追尾被写体の大きさを示すオブジェクトサイズが24画素よりも大きい場合は、縮小倍率Shukuで縮小したフレーム画像において24×24画素のテンプレート画像を生成する例について説明した。しかしながら、テンプレートマッチング処理で扱えるテンプレート画像の大きさの最大値に制限がない場合には、オブジェクトサイズの大きさに係らず、Objectsize×Objectsizeのテンプレート画像を生成するようにしてもよい。
(変形例5)
上述した実施の形態では、制御装置104は、フレーム画像に対して行った2値化処理およびラベリング処理の結果を用いて、初期テンプレート画像を生成する例について説明した。しかしながら、他の方法によって初期テンプレート画像を生成してもよい。例えば、制御装置104は、使用者に対してフレーム画像内における追尾被写体エリアの指定を促し、使用者が操作部材101を操作して入力したエリア内の画像を切り出すことにより、初期テンプレート画像を生成してもよい。
(変形例6)
上述した実施の形態では、画像のリサイズ方法としてバイリニア法を用いる例について説明した。しかしながら、画像のリサイズ方法として、ニアリストネイバー法、またはバイキュービック法などを用いるようにしてもよい。
(変形例7)
上述した実施の形態では、制御装置104は、スルー画を対象として被写体追尾を行う例について説明した。しかしながら、カメラ100が動画撮影機能を備えている場合には、制御装置104は、スルー画ではなく、撮影済みの動画のフレーム間で被写体追尾を行うようにしてもよい。
(変形例8)
上述した実施の形態では、カメラ100が備える制御装置104が図2および図3に示す処理を実行して被写体追尾を行う例について説明した。しかしながら、図2および図3に示す処理を実行するためのプログラムをパソコンなどその他の端末に記録して、当該端末上で処理を実行することも可能である。この場合、カメラで撮影した動画像データを端末側に取り込んで、これを対象に処理を行うようにすれば、動画のフレーム間で被写体追尾を行うことが可能となる。また、本発明はカメラ付き携帯電話などに適用することも可能である。
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。また、上記実施形態に各変形例の構成を適宜組み合わせてもかまわない。
100…カメラ、101…操作部材、102…レンズ、103…撮像素子、104…制御装置、105…メモリカードスロット、106…モニタ

Claims (8)

  1. 入力画像内に第1の探索領域を設定し、画像内容の更新を行わない初期テンプレート画像と前記第1の探索領域内の画像との類似度、および画像内容の更新を行う更新テンプレート画像と前記第1の探索領域内の画像との類似度をそれぞれ演算し、これらの類似度に基づいて、前記入力画像内における追尾被写体位置を特定する被写体追尾手段と、
    前記更新テンプレート画像を更新するか否かを判定し、更新すると判定した場合には、前記入力画像における前記被写体追尾手段により特定された前記追尾被写体位置を含む画像に基づいて、前記更新テンプレート画像を更新する更新手段と、
    前記入力画像の前記被写体追尾手段により特定された追尾被写体位置における前記初期テンプレート画像との類似度に基づいて、前記入力画像から追尾被写体が検出されるか否かを判定する第1の判定手段と、
    前記第1の判定手段により前記入力画像から追尾被写体が検出されないと判定された場合には、入力画像内に第2の探索領域を設定し、前記初期テンプレート画像と前記第2の探索領域内の画像との類似度を演算し、この類似度に基づいて、前記入力画像内に追尾被写体が戻ってきたか否かを判定する第2の判定手段と、
    を備え、
    前記被写体追尾手段は、前記第1の判定手段により前記入力画像から追尾被写体が検出されないと判定された場合には、前記追尾被写体位置の特定を停止し、前記第2の判定手段により前記入力画像内に追尾被写体が戻ってきたと判定された場合には、前記追尾被写体位置の特定を再開することを特徴とする被写体追尾装置。
  2. 請求項1に記載の被写体追尾装置において、
    前記第2の判定手段は、前記第2の探索領域を、前記第1の探索領域よりも広く設定することを特徴とする被写体追尾装置。
  3. 請求項1または2に記載の被写体追尾装置において、
    前記第1の判定手段は、前記追尾被写体位置における前記初期テンプレート画像との類似度が所定閾値以下である入力画像が所定数以上連続した場合に、前記入力画像から追尾被写体が検出されないと判定することを特徴とする被写体追尾装置。
  4. 請求項1〜3のいずれか一項に記載の被写体追尾装置において、
    前記第2の判定手段は、初期テンプレート画像と前記第2の探索領域内の画像との類似度における最大類似度が所定閾値以上である場合に、前記入力画像内に追尾被写体が戻ってきたと判定することを特徴とする被写体追尾装置。
  5. 請求項1〜4のいずれか一項に記載の被写体追尾装置において、
    前記被写体追尾手段は、前記初期テンプレート画像と前記第1の探索領域内の画像との類似度、および前記更新テンプレート画像と前記第1の探索領域内の画像との類似度に、それぞれ、前フレームにおける追尾被写体位置からの距離に応じた第1の係数を乗算し、この乗算後の類似度に基づいて、前記入力画像内における追尾被写体位置を特定し、
    前記第2の判定手段は、初期テンプレート画像と前記第2の探索領域内の画像との類似度に、前記第1の判定手段により前記入力画像から追尾被写体が検出されないと判定される直前に前記被写体追尾手段により特定された追尾被写体位置からの距離に応じた第2の係数を乗算し、この乗算後の類似度に基づいて、前記入力画像内に追尾被写体が戻ってきたか否かを判定し、
    前記第2の係数は、前記第1の係数よりも小さいことを特徴とする被写体追尾装置。
  6. 請求項4に記載の被写体追尾装置において、
    前記第2の判定手段は、初期テンプレート画像と前記第2の探索領域内の画像との類似度における最大類似度が所定閾値以上である場合、当該最大類似度が算出された位置を追尾被写体位置として特定することを特徴とする被写体追尾装置。
  7. 請求項1〜6のいずれか一項に記載の被写体追尾装置において、
    前記第2の判定手段は、前記第1の判定手段により前記入力画像から追尾被写体が検出されないと判定される直前に前記被写体追尾手段により特定された追尾被写体位置に基づいて前記第2の探索領域を設定することを特徴とする被写体追尾装置。
  8. 請求項1〜7のいずれか一項に記載の被写体追尾装置を備えるカメラ。
JP2012178568A 2012-08-10 2012-08-10 被写体追尾装置、およびカメラ Pending JP2014036429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012178568A JP2014036429A (ja) 2012-08-10 2012-08-10 被写体追尾装置、およびカメラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012178568A JP2014036429A (ja) 2012-08-10 2012-08-10 被写体追尾装置、およびカメラ

Publications (1)

Publication Number Publication Date
JP2014036429A true JP2014036429A (ja) 2014-02-24

Family

ID=50285131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012178568A Pending JP2014036429A (ja) 2012-08-10 2012-08-10 被写体追尾装置、およびカメラ

Country Status (1)

Country Link
JP (1) JP2014036429A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018117280A (ja) * 2017-01-19 2018-07-26 キヤノン株式会社 画像処理装置、画像処理方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018117280A (ja) * 2017-01-19 2018-07-26 キヤノン株式会社 画像処理装置、画像処理方法、プログラム

Similar Documents

Publication Publication Date Title
JP6763417B2 (ja) 電子機器
KR101036787B1 (ko) 움직임 벡터 연산 방법과 이 방법을 이용한 손 떨림 보정장치, 촬상 장치, 및 동영상 생성 장치
KR101134668B1 (ko) 화상 생성 방법, 장치 및 그 프로그램과 프로그램을 기록한 기록매체
US11758082B2 (en) System for automatic video reframing
JP4798259B2 (ja) 被写体追尾装置、およびカメラ
KR102141290B1 (ko) 화상 처리 장치, 화상 처리 방법, 화상 처리 프로그램 및 기억 매체
US10708505B2 (en) Image processing apparatus, method, and storage medium
US20110080463A1 (en) Image processing apparatus, method, and recording medium
JP2017229061A (ja) 画像処理装置およびその制御方法、ならびに撮像装置
JP5691617B2 (ja) 被写体特定装置、および被写体追尾装置
JP2010020602A (ja) 画像マッチング装置、およびカメラ
CN115546027B (zh) 图像缝合线确定方法、装置以及存储介质
JP2014036429A (ja) 被写体追尾装置、およびカメラ
JP4212430B2 (ja) 多重画像作成装置、多重画像作成方法、多重画像作成プログラム及びプログラム記録媒体
JP4926877B2 (ja) 画像処理装置及び方法、並びにプログラム
JP5029647B2 (ja) 被写体追尾装置、およびカメラ
JP4967938B2 (ja) プログラム、画像処理装置および画像処理方法
JP2013182478A (ja) 被写体追尾装置、被写体追尾方法およびカメラ
JP2013182479A (ja) 被写体追尾装置、被写体追尾方法およびカメラ
JP2012123721A (ja) 画像処理装置及び画像処理方法
JP2005252803A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
WO2013125239A1 (ja) 画像処理装置、撮像装置及び画像処理プログラム
JP2016103807A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2013254386A (ja) 被写体追尾装置および電子カメラ並びに被写体追尾プログラム
JP2014053022A (ja) 画像表示方法、プログラム、画像表示装置、及び、撮像装置