JP2013182479A - 被写体追尾装置、被写体追尾方法およびカメラ - Google Patents
被写体追尾装置、被写体追尾方法およびカメラ Download PDFInfo
- Publication number
- JP2013182479A JP2013182479A JP2012046705A JP2012046705A JP2013182479A JP 2013182479 A JP2013182479 A JP 2013182479A JP 2012046705 A JP2012046705 A JP 2012046705A JP 2012046705 A JP2012046705 A JP 2012046705A JP 2013182479 A JP2013182479 A JP 2013182479A
- Authority
- JP
- Japan
- Prior art keywords
- subject
- image
- tracking device
- target image
- labeling
- 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
Links
Images
Landscapes
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】適切にテンプレート画像の更新を行うこと。
【解決手段】被写体追尾装置100は、対象画像内にターゲット画像を設定し、更新が行われるラベリングテンプレート画像とターゲット画像との類似度を算出する類似度算出手段104aと、算出された類似度に基づいて、対象画像内における被写***置を特定する被写***置特定手段104aと、特定された被写***置を中心として設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定手段104aと、対象画像に基づいて、推定された重心位置を中心とする画像へラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段104aと、被写体推定手段104aによる推定結果の信頼性の有無を判定する信頼性判定手段104aと、を備え、信頼性判定手段104aにより信頼性有りが判定された場合にラベリングテンプレート画像を更新する。
【選択図】図1
【解決手段】被写体追尾装置100は、対象画像内にターゲット画像を設定し、更新が行われるラベリングテンプレート画像とターゲット画像との類似度を算出する類似度算出手段104aと、算出された類似度に基づいて、対象画像内における被写***置を特定する被写***置特定手段104aと、特定された被写***置を中心として設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定手段104aと、対象画像に基づいて、推定された重心位置を中心とする画像へラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段104aと、被写体推定手段104aによる推定結果の信頼性の有無を判定する信頼性判定手段104aと、を備え、信頼性判定手段104aにより信頼性有りが判定された場合にラベリングテンプレート画像を更新する。
【選択図】図1
Description
本発明は、被写体追尾装置、被写体追尾方法、およびカメラに関する。
次のような被写体追尾装置が知られている。この被写体追尾装置は、被写体変化に対応するために、テンプレート画像とターゲット画像の類似度がある判定閾値よりも大きければ、最大類似度となる位置の画像を用いてテンプレート画像の更新を行う(特許文献1参照)。
しかしながら、類似度に基づいたテンプレート画像の更新は、擬似マッチングを起こしている場合でも類似度が判定閾値より大きければテンプレート画像を更新するので、当初の追尾対象とは異なる被写体の画像に更新されるおそれがあった。
本発明による被写体追尾装置は、対象画像内にターゲット画像を設定するターゲット画像設定手段と、更新を行うラベリングテンプレート画像とターゲット画像との類似度を算出する類似度算出手段と、類似度算出手段によって算出された類似度に基づいて、対象画像内における被写***置を特定する被写***置特定手段と、被写***置特定手段によって特定された被写***置を中心として被写体候補領域を設定する被写体候補領域設定手段と、被写体候補領域設定手段によって設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定手段と、対象画像に基づいて、被写体推定手段によって推定された重心位置を中心とする画像へラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段と、被写体推定手段による推定結果の信頼性の有無を判定する信頼性判定手段と、を備え、ラベリングテンプレート画像更新手段は、信頼性判定手段により信頼性有りが判定された場合にラベリングテンプレート画像を更新することを特徴とする。
本発明によれば、適切にテンプレート画像の更新を行うことができる。
以下、図面を参照して本発明を実施するための形態について説明する。図1は、本発明の一実施の形態によるカメラの構成を例示するブロック図である。カメラ100は、操作部材101と、レンズ102と、撮像素子103と、制御装置104と、メモリカードスロット105と、表示モニタ106とを備えている。操作部材101は、ユーザーによって操作される種々の入力部材、たとえば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含む。
レンズ102は、複数の光学レンズから構成されるが、図1では代表して1枚のレンズで表している。撮像素子103は、たとえばCMOSイメージセンサによって構成される。撮像素子103は、レンズ102により結像された被写体像を撮像し、画像信号を制御装置104へ出力する。
制御装置104は、撮像素子103から入力された画像信号に基づいて所定の画像形式、たとえばJPEG形式の画像データ(以下、本画像データと呼ぶ)を生成する。また、制御装置104は、生成した画像データに基づいて、表示用画像データ、たとえばサムネイル画像データを生成する。制御装置104は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成する。
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットである。制御装置104は、メモリカードスロット105に挿入されているメモリカードへ上記生成した画像ファイルを書き込んで記録する。また、制御装置104は、メモリカードスロット105に挿入されているメモリカード内に記録されている画像ファイルを読み込む。
表示モニタ106は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)である。当該表示モニタ106は、メモリカードに記憶されている画像ファイルに基づく再生画像や、カメラ100を設定するための設定メニュー画面などを表示する。また、制御装置104は、ユーザーによってカメラ100のモードが撮影モードに設定されると、撮像素子103から時系列で取得した画像の表示用画像データを表示モニタ106に表示させる。これにより、表示モニタ106にスルー画が表示される。
制御装置104は、演算部104a、メモリ、およびその他の周辺回路により構成され、カメラ100の動作を制御する。演算部104aはCPUを含む。制御装置104を構成するメモリには、SDRAMやフラッシュメモリが含まれる。SDRAMは揮発性のメモリであって、演算部104aがプログラム実行時にプログラムを展開するためのワークメモリとして使用される。また、SDRAMは、データを一時的に記憶するためのバッファメモリとしても使用される。
一方、フラッシュメモリは不揮発性のメモリであって、演算部104aが実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
本実施形態の演算部104aは、撮像素子103から入力される画像の各フレームに対して、あらかじめ用意したテンプレートを用いたテンプレートマッチング(TM)処理を行うことによって、フレーム内からテンプレートと類似する画像領域を特定する。TM処理は、入力画像内の所定の位置にテンプレートと同じ大きさのターゲット枠を設定し、該ターゲット枠内のターゲット画像とテンプレートとの間の類似度を算出する。ターゲット枠を入力画像内で移動させながら類似度の大小を求めることによって入力画像内で類似度マップを作成し、類似度が高い領域(すなわち被写体領域)を特定する。そして、特定した領域をフレーム間で追跡することによって被写体を追尾する。その際、被写体の位置および大きさの変化に基づいてテンプレートを自動更新する。追跡する被写体の重心位置を中心にテンプレートを更新することで、小被写体の場合にテンプレートサイズを小さく抑え、テンプレート内の背景情報を抑える。
また、演算部104aは、入力画像の全体ではなく入力画像に基づいて設定した所定範囲(検索エリアと呼ぶ)を対象にTM処理を行う。このように検索エリアを入力画像より小さくするのは、画面全体をTM処理対象とすると処理時間がかかる上、背景による擬似マッチングが起きやすいことから、これらを避けるためである。検索エリアの設定については後述する。
図2〜図6は、本実施の形態における被写体追尾処理の流れを示すフローチャートである。図2に示す処理は、撮像素子103から画像の入力が開始されると起動するプログラムとして、制御装置104の演算部104aによって実行される。
図2のステップS10において、演算部104aは、必要とされる処理速度に合わせて、入力画像の2フレーム目以降に公知のラベリング処理を行うためのフレーム間隔を設定する。本実施形態では、TM処理に用いるテンプレートを更新するためにラベリング処理を行う。たとえば、処理速度に余裕がある場合は、ラベリング処理を毎フレーム行うように設定し、フレーム毎に1フレーム前の画像を用いたテンプレートに更新する。処理速度に余裕がない場合は、たとえば、2フレームにつき1回ラベリング処理を行うように設定し、1フレームおきに2フレーム前の画像を用いたテンプレートに更新する。図7は、ラベリング処理を毎フレーム行う場合の概念図を、図8は、2フレームに1回の割合でラベリング処理を行う場合の概念図をそれぞれ示す。
図7において、入力画像の1フレーム目は、操作部材101を介してユーザーによって指定された被写***置(指定点)に基づいてラベリング処理を行い、初期テンプレートを取得する。入力画像の2フレーム目以降は、フレーム毎に検索エリア内の画像領域とテンプレート(初期テンプレート、後述するラベリングテンプレート)との類似度を算出し、最も類似度が高い画像領域の位置情報を取得する(TM処理)。そして、フレーム毎に上記位置情報に基づいてラベリング処理を行い、該ラベリング結果に基づいてテンプレートを更新する(ラベリングテンプレートと呼ぶ)。一方、図8の場合は、フレーム毎にTM処理を行うものの、上記取得した位置情報に基づいて1フレームおきにラベリング処理を行い、該ラベリング結果に基づいてテンプレートを更新する。
図2のステップS20において、演算部104aは、画像の1フレーム目を読み込んでステップS30へ進む。演算部104aは、1フレーム目の画像を対象画像とする。対象画像のサイズは、たとえば、160×120ピクセルとする。演算部104aは、対象画像が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)
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)
ステップS30において、演算部104aは、無駄な処理やノイズを防ぐための制限値であるSmallLimitに初期値を設定し、ステップS40へ進む。本実施形態では、SmallLimitの初期値を、たとえば0.0001とする。
ステップS40において、演算部104aは、被写***置座標入力操作を受け付ける。具体的には、ユーザーが操作部材101を操作して入力した被写***置(指定点)の座標を被写***置座標として特定し、ステップS50へ進む。
ステップS50において、演算部104aは、ステップS40で特定した被写***置座標を中心とした3×3ピクセルの領域を対象として、Y、Cb、Cr成分各々の平均値(Ave)を算出する。ここでは、Y、Cb、Cr成分の平均値をそれぞれaveY、aveCb、aveCrとする。
ステップS60では、演算部104aは、対象画像の標準偏差、すなわち、Y成分の標準偏差sigY、Cb成分の標準偏差sigCb、Cr成分の標準偏差sigCrをそれぞれ算出する。本実施の形態では、標準偏差の算出には対象画像の平均値ではなく、ステップS50で算出した3×3ピクセル領域の平均値(aveY、aveCb、aveCr)を使用する。
ステップS70において、演算部104aは、対象画像の輝度画像(Y画像)と色差画像(Cb画像とCr画像)の各画素の値から、ステップS50で算出した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乗を用いてもよい。
DiffY = abs(Y - aveY) ‥‥‥(7)
DiffCb = abs(Cb - aveCb) ‥‥‥(8)
DiffCr = abs(Cr - aveCr) ‥‥‥(9)
なお、上式(7)〜(9)においてabsは、絶対値をとる関数である。あるいは、差分値の絶対値でなく、差分値の2乗を用いてもよい。
ステップS80において、演算部104aは、ステップS40で特定した被写***置座標を中心とした所定の大きさ、たとえば30×30ピクセルの矩形からの距離に応じた距離重み付け係数Distを算出する。そして、次式(10)〜(12)に示すように、ステップS70で作成したY、Cb、Cr成分の各差分画像の各画素の値に距離重み付け係数Distをかけることにより、距離重みつき差分画像DistY、DistCb、DistCrをそれぞれ作成する。このステップS80の処理により、被写***置座標から距離が離れる程、二値化の際に画素値が0になりやすくなるため、背景のノイズを除去することができる。
DistY = DiffY×Dist ‥‥‥(10)
DistCb = DiffCb×Dist ‥‥‥(11)
DistCr = DiffCr×Dist ‥‥‥(12)
DistY = DiffY×Dist ‥‥‥(10)
DistCb = DiffCb×Dist ‥‥‥(11)
DistCr = DiffCr×Dist ‥‥‥(12)
ステップS90において、演算部104aは、ステップS80で作成した距離重み付き差分画像の各成分(DistY、DistCb、DistCr)を以下に示す方法で2値化し、Y、Cb、Cr成分の2値画像をそれぞれ作成する。具体的には、Y成分の距離重み付き差分画像の各成分DistYについては、次式(13)より2値化を行う。
if DistY < α×sigY
DistY = 1
else
DistY = 0 ‥‥‥(13)
if DistY < α×sigY
DistY = 1
else
DistY = 0 ‥‥‥(13)
Cb成分の距離重み付き差分画像の各成分DistCbについては、次式(14)、(15)により2値化を行う。
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)
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)により2値化を行う。
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の平均値と標準偏差に応じた重み係数を二値画像算出式に乗じることにより、対応している。
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について、画素値が所定範囲に入る画素を白画素、それ以外の画素を黒画素に2値化できる。図9は、対象画像を例示する図である。図10(a)、図10(b)、図10(c)はそれぞれ、図9の対象画像に基づいてステップS90で生成したY、Cb、Cr成分の2値画像を例示する図である。ステップS100において、演算部104aは、Y、Cb、Cr成分の2値画像のアンドをとって合成し、アンド画像を作成する。図10(d)は、合成後のアンド画像を例示する図である。アンドをとることで被写体固有の色を白画素とすることができ、ノイズ(被写体以外の白画素)を減らすことができる。
ステップS110において、演算部104aは、ステップS100で生成したアンド画像からステップS40で特定した被写***置座標を中心とする所定範囲(たとえば80×60ピクセル)の領域をクロップする。このクロップ処理で得たクロップ画像を対象として以降の処理を行うことにより、処理を高速化することができる。
ステップS120において、演算部104aは、ステップS110で取得したクロップ画像を対象に8方向のラベリング処理を行ってステップS130へ進む。あるいは、4方向のラベリング処理を行っても良い。ステップS130において、演算部104aは、上記ラベリング処理で作成されたラベリング画像内から白画素の塊をマスクとして抽出し、抽出したマスクの面積を算出する。
ステップS140において、演算部104aは、算出したマスクの面積に基づいて、主要被写体である可能性が低いマスクを除外するための足切りを行う。具体的には、次式(18)に示すように、マスク面積をアンド画像の画面面積で割った値があらかじめ設定された下限値SmallLimitより大きいマスクのみを残し、その他のマスクを以降の処理対象から除外する。ここで、SmallLimitはステップS30で設定した値である。主要被写体である可能性が低い(すなわちマスク面積が小さすぎる)マスクを以降の処理対象から除外することにより、処理の高速化を図ることができる。
SmallLimit < マスク面積/画面面積 ‥‥‥(18)
SmallLimit < マスク面積/画面面積 ‥‥‥(18)
図3のステップS150において、演算部104aは、マスク(すなわち白画素の塊)が1つ以上あるか否かを判定する。演算部104aは、上記足切り処理の結果としてマスクが1つでも残ればステップS150を肯定判定してステップS160へ進む。ステップS160へ進むのは追尾可能な場合である。一方、演算部104aは、上記足切り処理によってマスクが1つも残らない場合はステップS150を否定判定して図3による処理を終了する。ステップS150を否定判定するのは被写体追尾ができない場合である。なお、ステップS150を否定判定した場合にステップS40へ戻り、再度被写***置座標の入力操作を受け付けるように構成してもよい。
ステップS160において、演算部104aは、次式(19)により各マスクの慣性モーメントIM22を算出し、ステップS170へ進む。
IM22 = ΣΣ{(x−xg)2+ (y−yg)2} ‥‥‥(19)
ただし、上式(19)において(x,y)は各マスクの画素の座標であり、(xg, yg)はステップS40で特定した被写***置の座標である。
IM22 = ΣΣ{(x−xg)2+ (y−yg)2} ‥‥‥(19)
ただし、上式(19)において(x,y)は各マスクの画素の座標であり、(xg, yg)はステップS40で特定した被写***置の座標である。
ステップS170において、演算部104aは、ステップS130で算出したマスク面積とステップS160で算出した慣性モーメントIM22とに基づいて、次式(20)により各マスクの評価値を算出する。
評価値 = (マスク面積)β/IM22 ‥‥‥(20)
なお、上式(20)におけるβの値は、たとえば1.5とする。
評価値 = (マスク面積)β/IM22 ‥‥‥(20)
なお、上式(20)におけるβの値は、たとえば1.5とする。
ステップS180では、演算部104aは、ステップS170で算出した評価値が最大であるマスクが主要被写体を示す可能性が高いマスクとして特定し、特定したマスクとその重心座標、および該マスクを包絡する(すなわち外接する)矩形の4端座標を制御装置104内のSDRAMに保存する。
ステップS190において、演算部104aは、次回のラベリング処理に用いるSmallLimitを算出して保存する。SmallLimitは、たとえば、次式(21)により算出して上記SDRAMに保存する。
SmallLimit = マスクの面積/画面面積 × 0.1 ‥‥‥(21)
ただし、ステップS30で設定したSmallLimit = 0.0001をInitialSmallLimitとし、SmallLimit < InitialSmallLimit×0.1の関係が成り立つ場合には、SmallLimit = InitialSmallLimitとする。
SmallLimit = マスクの面積/画面面積 × 0.1 ‥‥‥(21)
ただし、ステップS30で設定したSmallLimit = 0.0001をInitialSmallLimitとし、SmallLimit < InitialSmallLimit×0.1の関係が成り立つ場合には、SmallLimit = InitialSmallLimitとする。
ステップS200において、演算部104aは、ステップS180で保存した評価値最大のマスクを膨張させたDilationマスクを作成する。上述したように、マスクは2値画像における白画素の塊として表されているので、該白画素の塊を所定画素数膨張させる。膨張させる画素数は、毎フレームラベリング処理を行う場合に、たとえば7画素とする。
ステップS210において、演算部104aは、TM処理用に対象画像をリサイズした画像を作成する。本実施形態では、たとえばバイリニア法により対象画像を80×60ピクセルにリサイズした画像を作成する。ステップS220では、演算部104aは、ステップS40で取得した被写***置座標をリサイズ比に応じて変換する。
ステップS230において、演算部104aは、ステップS180で保存した包絡矩形の短辺よりテンプレートサイズを算出する。たとえば、テンプレートサイズを、(包絡矩形短辺×リサイズ比)×(包絡矩形短辺×リサイズ比)とする。ただし、擬似マッチングを抑制するため、最小テンプレートサイズを6×6ピクセルとする。
ステップS240では、演算部104aは、ステップS220で変換した被写***置座標を中心として、ステップS230で算出したサイズの初期テンプレートを作成し、SDRAMに保存する。なお、テンプレート作成には、ステップS210で作成したリサイズ画像を用いる。ステップS250では、演算部104aは、ステップS240で作成した初期テンプレートをラベリングテンプレートとしてSDRAMに保存する。
ステップS260では、ステップS220で変換した被写***置座標を中心として、TM処理の検索エリアを設定する。検索エリアの上端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はTM用画像の横幅、Label_ImageWidthはラベリング用画像の横幅、ResizeYはステップS220で座標変換した被写***置y座標、ResizeXはステップS220で座標変換した被写***置x座標、TempSizeはステップS230で算出したテンプレートサイズである。なお、1フレーム目にはTM処理を行わないため、暫定的にMinZansa = 0.1とする。なお、本実施形態ではKeisu = 0.5、Geta = 30とする。
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はTM用画像の横幅、Label_ImageWidthはラベリング用画像の横幅、ResizeYはステップS220で座標変換した被写***置y座標、ResizeXはステップS220で座標変換した被写***置x座標、TempSizeはステップS230で算出したテンプレートサイズである。なお、1フレーム目にはTM処理を行わないため、暫定的にMinZansa = 0.1とする。なお、本実施形態ではKeisu = 0.5、Geta = 30とする。
図4のステップS270において、演算部104aは、次フレームを読み込んでステップS280へ進む。演算部104aは、読み込んだ画像を対象画像とする。そして、対象画像を80×60ピクセルにリサイズしたTM処理用画像を作成してステップS290へ進む。ステップS290において、演算部104aは対象画像が2フレーム目か否かを判定する。演算部104aは、対象画像が2フレーム目の場合にステップS290を肯定判定してステップS620へ進む。演算部104aは、対象画像が2フレーム目でない(すなわち3フレーム目以降)場合には、ステップS290を否定判定してステップS300へ進む。
ステップS300において、演算部104aは、対象画像がラベリング結果を反映させるフレームナンバーであるか否かを判定する。演算部104aは、フレーム毎にラベリング結果に基づいてテンプレートを更新する場合は、各フレームでステップS300を肯定判定してステップS310へ進む。演算部104aは、たとえば2フレームにつき1回の割合でラベリング結果に基づいてテンプレートを更新する場合は、フレーム毎にステップS300の肯定判定と否定判定とを切り替える。ステップS300を否定判定する場合は、ステップS330へ進む。
ステップS300を肯定判定した演算部104aはステップS310へ進み、現在のラベリングテンプレートを後述するステップS610でSDRAMに保存しておいたラベリングテンプレートに更新し、ステップS320へ進む。ステップS320において、演算部104aは、ステップS310で更新したラベリングテンプレートと同じサイズになるように、ステップS240でSDRAMに保存しておいた初期テンプレートをリサイズし、ステップS330へ進む。リサイズ方法は、たとえばバイリニア法を用いる。
ステップS330において、演算部104aは、前フレームに対する処理においてステップS380で算出した最大類似度(最小残差の値)と、被写***置座標とを用いてTM処理用の検索エリアを設定する。検索エリアの上端y座標(TM_Ystart)、下端y座標(TM_Yend)、左端x座標(TM_Xstart)、右端x座標(TM_Xend)の算出には、上式(22)を用いる。ただし、ステップS330はステップS260の場合と異なり、上式(22)において、MinZansaはS380で算出した最大類似度(最小残差の値)、ResizeYはステップS380で算出した被写***置y座標、ResizeXはステップS380で算出した被写***置x座標、TempSizeは後述するステップS590で算出したテンプレートサイズである。
ステップS340では、演算部104aは、前回のラベリング結果と前フレームのTM処理結果とが異なるか否かを判定する。演算部104aは、評価値が最大であるマスクの重心座標と、TM処理によって得た被写***置座標との距離が所定値を超える、すなわち次式(23)を満たす場合にステップS340を肯定判定してステップS350へ進む。演算部104aは、次式(23)を満たさない場合には、ステップS340を否定判定してステップS360へ進む。
{(Lab_xg−TM_xg)2 + (Lab_yg−TM_yg)2}1/2 > DistGrav ‥‥‥(23)
ただし、上式(23)においてLab_xgはステップS550で保存した評価値最大のマスク重心x座標、Lab_ygはステップS550で保存した評価値最大のマスク重心y座標、TM_xgはステップS390で算出した被写***置x座標、TM_ygはステップS390で算出した被写***置y座標である。なお、本実施形態では上記所定値DistGrav = 8とする。
{(Lab_xg−TM_xg)2 + (Lab_yg−TM_yg)2}1/2 > DistGrav ‥‥‥(23)
ただし、上式(23)においてLab_xgはステップS550で保存した評価値最大のマスク重心x座標、Lab_ygはステップS550で保存した評価値最大のマスク重心y座標、TM_xgはステップS390で算出した被写***置x座標、TM_ygはステップS390で算出した被写***置y座標である。なお、本実施形態では上記所定値DistGrav = 8とする。
ステップS340を肯定判定する場合は、2つの検索エリアでそれぞれTM処理を行う。ステップS350において、演算部104aは、ステップS380で算出した最大類似度(最小残差の値)と、ステップS550で保存した評価値最大のマスクの重心座標とを用いて、2つ目となるTM処理の検索エリアを設定する。検索エリアの上端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はTM用画像の横幅、Label_ImageWidthはラベリング用画像の横幅、MinZansaはS380で算出した最大類似度(最小残差の値)、ResizeLab_ygはステップS550で保存した評価値最大のマスク重心座標をTM用画像サイズに応じて座標変換したy座標、ResizeLab_xgはステップS550で保存した評価値最大のマスク重心座標をTM用画像サイズに応じて座標変換したx座標、TempSizeはステップS590で算出したテンプレートサイズである。なお、本実施形態ではKeisu = 0.5、Geta = 30とする。
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はTM用画像の横幅、Label_ImageWidthはラベリング用画像の横幅、MinZansaはS380で算出した最大類似度(最小残差の値)、ResizeLab_ygはステップS550で保存した評価値最大のマスク重心座標をTM用画像サイズに応じて座標変換したy座標、ResizeLab_xgはステップS550で保存した評価値最大のマスク重心座標をTM用画像サイズに応じて座標変換したx座標、TempSizeはステップS590で算出したテンプレートサイズである。なお、本実施形態ではKeisu = 0.5、Geta = 30とする。
ステップS360において、演算部104aは、ステップS310で更新したラベリングテンプレートと、ステップS320でリサイズした初期テンプレートとを用いて、ステップS330で設定した検索エリアの類似度マップをY、Cb、Crプレーンのそれぞれにおいて作成する。すなわち、2枚のテンプレートを用いたTM処理を行う。初期テンプレートもTM処理に用いる理由は、初期テンプレートは被写体の変化が少ない場合の安定な追尾に寄与することと、仮に更新したラベリングテンプレートが、テンプレート内に被写体を捉えていないような信頼性の低いテンプレートであっても、初期テンプレートのマッチング処理により、被写体を追尾できる可能性があると考えたためである。なお、ステップS350で2つめの検索エリアを設定した場合には、該2つめの検索エリアの類似度マップもY、Cb、Crプレーンのそれぞれにおいて作成する。すなわち、2枚のテンプレートを用いたTM処理を、2つの検索エリアにおいてそれぞれ行う。
ステップS370では、演算部104aは、ステップS330で設定した検索エリアの類似度マップに、ステップS380で検出したマッチング位置からの距離に応じて係数を乗算する。係数は、次式(25)により算出する。
Kyori(x,y) = Kyori0 + K(|x−Mx| + |y−My|) ‥‥‥(25)
ただし、上式(25)における(x,y)はTM用画像の各画素の座標であり、MxはステップS380で選出したマッチング位置のx座標、MyはステップS380で選出したマッチング位置のy座標である。なお、本実施形態ではKyori0 = 1.0、K = 0.05とする。
Kyori(x,y) = Kyori0 + K(|x−Mx| + |y−My|) ‥‥‥(25)
ただし、上式(25)における(x,y)はTM用画像の各画素の座標であり、MxはステップS380で選出したマッチング位置のx座標、MyはステップS380で選出したマッチング位置のy座標である。なお、本実施形態ではKyori0 = 1.0、K = 0.05とする。
ステップS380において、演算部104aは、各テンプレート、各検索エリアで作成した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)においてNは類似度の規格化係数、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とする。
N = TempSize×TempSize×255
SAD(x,y) = 1/N×{GainY×SADY(x,y) + GainCb×SADCb(x,y) + GainCr×SADCb(x,y)}
‥‥‥(26)
ただし、上式(26)においてNは類似度の規格化係数、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とする。
演算部104aはさらに、統合した各類似度マップの中から類似度が最大(残差が最小)となる座標(マッチング位置)を選出し、被写***置座標を次式(27)により算出する。
Objx = Mx + TempSize/2
Objy = My + TempSize/2 ‥‥‥(27)
ただし、上式(27)においてObjxは被写***置x座標、Mxはマッチング位置x座標、Objyは被写***置y座標、Myはマッチング位置y座標、TempSizeはステップS590で算出したテンプレートサイズである。
Objx = Mx + TempSize/2
Objy = My + TempSize/2 ‥‥‥(27)
ただし、上式(27)においてObjxは被写***置x座標、Mxはマッチング位置x座標、Objyは被写***置y座標、Myはマッチング位置y座標、TempSizeはステップS590で算出したテンプレートサイズである。
このように、2つの検索エリアでそれぞれTM処理を行えるように構成したので、前回のラベリング結果と前フレームのTM処理結果とが異なる場合でも、適切に対処できる。すなわち、各テンプレート、各検索エリアで作成したY、Cb、Crプレーンの類似度マップを統合し、統合した各類似度マップの中から類似度が最大(残差が最小)となる座標(マッチング位置)を選出するようにしたので、適切に被写***置座標を算出できる。
上述したステップS290を肯定判定して進むステップS620において、演算部104aは、ステップS240で作成した初期テンプレートを用いて、ステップS260で設定した検索エリアの類似度マップを作成し、ステップS380へ進む。2フレーム目の場合はラベリングテンプレート=初期テンプレートなので、初期テンプレートのみを用いて検索エリアの類似度マップをY、Cb、Crプレーンのそれぞれにおいて作成する。
図5のステップS390において、演算部104aは、対象画像のサイズに応じて、ステップS380で算出した被写***置座標を変換する。
ステップS400において、演算部104aは追尾結果として被写***置を示す表示を表示モニタ106に表示させる。具体的には、被写体エリアの上端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はステップS390で座標変換した被写***置y座標、ResizeObjxはステップS390で座標変換した被写***置x座標、TempSizeはステップS590で算出したテンプレートサイズ、TM_ImageWidthはTM用画像の横幅、Label_ImageWidthはラベリング用画像の横幅である。
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はステップS390で座標変換した被写***置y座標、ResizeObjxはステップS390で座標変換した被写***置x座標、TempSizeはステップS590で算出したテンプレートサイズ、TM_ImageWidthはTM用画像の横幅、Label_ImageWidthはラベリング用画像の横幅である。
ステップS410において、演算部104aは対象画像がラストフレームか否かを判定する。演算部104aは、対象画像がラストフレームの場合にステップS410を肯定判定して図5による処理を終了する。演算部104aは、対象画像がラストフレームでない場合には、ステップS410を否定判定してステップS420へ進む。
ステップS420において、演算部104aは、対象画像にラベリングを行うか否かを判定する。演算部104aは、フレーム毎にラベリング結果に基づいてテンプレートを更新する場合は、各フレームでステップS420を肯定判定してステップS430へ進む。演算部104aは、たとえば2フレームにつき1回の割合でラベリング結果に基づくテンプレートを更新する場合は、フレーム毎にステップS420の肯定判定と否定判定とを切り替える。ステップS420を否定判定する場合は、以降の処理を省略して図4のステップS270へ戻り、次フレームの画像を入力する。
ステップS420を肯定判定した演算部104aはステップS430へ進み、対象画像に対してステップS60の場合と同様の処理を行い、対象画像の標準偏差、すなわち、Y成分の標準偏差sigY、Cb成分の標準偏差sigCb、Cr成分の標準偏差sigCrを算出する。
ステップS440では、演算部104aは、ステップS430で算出した標準偏差を用いて、ステップS70の場合と同様の処理を行って差分画像を作成する。なお、減算するY、Cb、Cr成分各々の平均値は、ステップS50で算出した値を用いる。
ステップS450において、演算部104aは、ステップS440で作成した差分画像に対してステップS90の場合と同様の処理を行って2値化し、Y、Cb、Cr成分の2値画像をそれぞれ作成する。ただし、ステップS90の場合と異なり、距離に応じた重み付け係数をかけないため、上式(13)〜(17)において、DistY = DiffY、DistCb = DiffCb、DistCr = DIffCrとする。
ステップS460において、演算部104aは、Y、Cb、Cr成分の2値画像と、後述するステップS570(2フレーム目のみステップS200)で作成したDilationマスクとのアンドをとって合成し、合成画像(アンド画像∩Dilationマスク)を作成する。Dilationマスクは、前フレームにおいて主要被写体を示す可能性が高いと考えられる評価値最大のマスクを膨張させたものである。ステップS460の場合、Y、Cb、Cr成分の2値画像に加えて、Dilationマスクもアンドをとるので、ステップS100の画像合成(Y、Cb、Cr成分の2値画像のアンド合成)に比べて、さらにノイズ(類似色背景)を除去することができる。これは、類似色の背景がある場合において有効である。
ステップS470において、演算部104aは、ステップS460で生成した合成画像(アンド画像∩Dilationマスク)からステップS390で座標変換した被写***置座標を中心とする所定範囲(たとえば80×60ピクセル)の領域をクロップする。このクロップ処理で得たクロップ画像を対象として処理を行うことにより、処理を高速化することができる。
ステップS480において、演算部104aは、ステップS470で取得したクロップ画像を対象に8方向のラベリング処理を行う。あるいは、4方向のラベリング処理を行っても良い。ステップS490において、演算部104aは、上記ラベリング処理で作成されたラベリング画像内から白画素の塊をマスクとして抽出し、抽出したマスクの面積を算出する。
ステップS500において、演算部104aは、算出したマスクの面積に基づいて、主要被写体である可能性が低いマスクを除外するためにステップS140の場合と同様の足切りを行って図6のステップS510へ進む。
図6のステップS510において、演算部104aは、マスクが1つ以上あるか否かを判定する。演算部104aは、上記足切り処理の結果としてマスクが1つでも残ればステップS510を肯定判定してステップS520へ進む。一方、演算部104aは、上記足切り処理によってマスクが1つも残らない場合はステップS520を否定判定して図4のステップS270へ戻る。ステップS270へ戻る場合は、次フレームの画像を入力する。
ステップS520において、演算部104aは、ステップS160の場合と同様に上式(19)により各マスクの慣性モーメントIM22を算出する。ただし、上式(19)において(x,y)は、各マスクの画素の座標であり、(xg, yg)はステップS390で座標変換した被写***置座標とする。
ステップS530において、演算部104aは、ステップS490で算出したマスク面積と、ステップS520で算出した慣性モーメントIM22とに基づいて、上式(20)により各マスクの評価値を算出する。ステップS540において、演算部104aは、ステップS530で算出した評価値最大のマスクが画面端に接するか否かを判定する。演算部104aは、評価値最大のマスクの輪郭が対象画像の端から所定画素(たとえば5画素)以内に近接している場合はステップS540を肯定判定して図4のステップS270へ戻る。ステップS540を肯定判定するのは、ステップS550以降の処理を省略することによって信頼性の低いラベリングテンプレートを作成するのを防ぐためである。一方、演算部104aは、評価値最大のマスクの輪郭が対象画像の端から5画素以上離れている場合には、ステップS540を否定判定してステップS550へ進む。
ステップS550において、演算部104aは、ステップS530で算出した評価値が最大であるマスクが主要被写体を示す可能性が高いマスクとして特定し、特定したマスクとその重心座標、および該マスクを包絡する矩形の4端座標を制御装置104内のSDRAMに保存する。
ステップS560において、演算部104aは、ステップS190の場合と同様に、次回のラベリング処理に用いるSmallLimitを上式(21)により算出して上記SDRAMに保存する。ステップS570において、演算部104aは、ステップS550で保存した評価値最大のマスクを膨張させたDilationマスクを作成する。膨張させる画素数は、毎フレームラベリングを行う場合に、たとえば7画素とする。
ステップS580では、演算部104aは、前回評価値1位のマスク面積と今回評価値1位のマスク面積とが大きく異なるか否かを判定する。演算部104aは、次式(29)の条件のうち少なくとも1つを満たす(すなわち、マスク面積(推定される被写体の大きさ)の比が所定範囲にある)場合にステップS580を肯定判定して図4のステップS270へ戻る。ステップS580を肯定判定するのは、ステップS590以降の処理を省略することによって信頼性の低いラベリングテンプレートを作成するのを防ぐためである。一方、演算部104aは、次式(29)を満たさない場合には、ステップS580を否定判定してステップS590へ進む。
評価値最大マスク面積/前回ラベリング時評価値最大マスク面積 > HenkaMax
評価値最大マスク面積/前回ラベリング時評価値最大マスク面積 < HenkaMin
‥‥‥(29)
ただし、上式(29)において定数の値は、たとえばHenkaMax = 5.5、HenkaMin = 0.2とする。
評価値最大マスク面積/前回ラベリング時評価値最大マスク面積 > HenkaMax
評価値最大マスク面積/前回ラベリング時評価値最大マスク面積 < HenkaMin
‥‥‥(29)
ただし、上式(29)において定数の値は、たとえばHenkaMax = 5.5、HenkaMin = 0.2とする。
ステップS590において、演算部104aは、ステップS230の場合と同様に、ステップS550で保存した包絡矩形の短辺よりテンプレートサイズを算出する。たとえば、テンプレートサイズを、(包絡矩形短辺×リサイズ比)×(包絡矩形短辺×リサイズ比)とする。ただし、擬似マッチングを抑制するため、最小テンプレートサイズを6×6ピクセルとする。
ステップS600では、演算部104aは、TM用画像サイズに応じて、ステップS550で保存した評価値最大のマスクの重心を座標変換し、ステップS610へ進む。ステップS610において、演算部104aは、ステップS600で座標変換した重心座標を中心として、ステップS590で算出したサイズの更新用ラベリングテンプレートを作成し、SDRAMに保存する。なお、テンプレート作成には、ステップS280で作成したTM用画像を用いる。テンプレートを作成した演算部104aは、図4のステップS270へ戻って次フレームの画像を入力する。
以上説明した実施形態によれば、次の作用効果が得られる。
(1)カメラ100は、対象画像内にターゲット画像を設定する演算部104aと、更新を行うラベリングテンプレートとターゲット画像との類似度を算出する演算部104aと、演算部104aによって算出された類似度に基づいて、対象画像内における被写***置を特定する(TM処理)演算部104aと、演算部104aによって特定された被写***置を中心としてクロップ領域を設定する演算部104aと、演算部104aによって設定されたクロップ領域で、被写体の重心位置と大きさを推定する(アンドマスクラベリング処理)演算部104aと、対象画像に基づいて、演算部104aによって推定された重心位置を中心とする画像へラベリングテンプレート画像を更新する演算部104aと、演算部104aによる推定結果の信頼性の有無を判定する演算部104aとを備え、上記信頼性有りを判定した場合にラベリングテンプレート画像を更新するように構成した。被写体の重心位置および大きさの推定結果に信頼性を有する場合にのみラベリングテンプレート画像の更新をすることで、適切にテンプレート画像の更新を行うことができる。具体的には、当初の追尾対象とは異なる被写体の画像に更新されるおそれが低減されるので、被写体を見失うことなく追尾を継続できる。
(1)カメラ100は、対象画像内にターゲット画像を設定する演算部104aと、更新を行うラベリングテンプレートとターゲット画像との類似度を算出する演算部104aと、演算部104aによって算出された類似度に基づいて、対象画像内における被写***置を特定する(TM処理)演算部104aと、演算部104aによって特定された被写***置を中心としてクロップ領域を設定する演算部104aと、演算部104aによって設定されたクロップ領域で、被写体の重心位置と大きさを推定する(アンドマスクラベリング処理)演算部104aと、対象画像に基づいて、演算部104aによって推定された重心位置を中心とする画像へラベリングテンプレート画像を更新する演算部104aと、演算部104aによる推定結果の信頼性の有無を判定する演算部104aとを備え、上記信頼性有りを判定した場合にラベリングテンプレート画像を更新するように構成した。被写体の重心位置および大きさの推定結果に信頼性を有する場合にのみラベリングテンプレート画像の更新をすることで、適切にテンプレート画像の更新を行うことができる。具体的には、当初の追尾対象とは異なる被写体の画像に更新されるおそれが低減されるので、被写体を見失うことなく追尾を継続できる。
また、ラベリングテンプレート画像を更新可能に構成することにより、以下のメリットが得られる。一般に、追尾対象の被写体形状は時々刻々と変化する。このため、当初用意した初期テンプレート画像をそのまま用いてTM処理を行うと、徐々に類似度が低下して最終的には被写体追尾の継続が困難になるおそれがある。そこで、追尾処理しながら更新したラベリングテンプレート画像を得ることにより、時間の経過に伴って変化する被写体形状の変化に対応した追尾が可能になる。
(2)上記(1)のカメラにおいて、演算部104aは、最も高い類似度を演算したターゲット画像の位置を、対象画像内における被写***置として特定するので、被写体を適切に追尾できる。
(3)上記(1)または(2)のカメラにおいて、演算部104aは、対象画像に基づいて、輝度成分からなる輝度画像Yと色差成分からなる色差画像Cb,Crとを生成し、輝度画像Yと色差画像Cb,Crとのそれぞれから、被写体を含む被写体領域を抽出し、それぞれから抽出した被写体領域内の画素の画素値に基づいて、代表値aveY,aveCb,aveCrを算出し、被写体領域内の各画素の画素値から上記算出した代表値aveY,aveCb,aveCrを減算して、輝度画像Yと色差画像Cb,Crとのそれぞれに対応する差分画像DiffY,DiffCb,DiffCrを生成し、生成した差分画像を2値化し、2値化した輝度画像に対応する2値画像DiffYと、色差画像に対応する2値画像DiffCb,DiffCrとを合成し、合成したアンド画像内から白画素の塊をマスクとして抽出し、抽出したマスクに対して、マスクが被写体を示すマスクである可能性を示す評価値を算出し、算出した評価値に基づいて、評価値最大のマスクの重心位置を対象画像内における被写***置として推定する。これにより、適切に被写***置を推定できる。
(4)上記(3)のカメラにおいて、演算部104aによって生成された差分画像DiffY,DiffCb,DiffCrの各画素値に対して、被写***置からの距離に応じた係数をかけて重み付けを行って、輝度画像Yと色差画像Cb,Crとのそれぞれに対応する重み付け画像DistY,DistCb,DistCrを生成する演算部104aをさらに備え、上記2値化は、重み付け画像DistY,DistCb,DistCrを2値化するようにした。前フレームのマッチング位置からの距離に応じた係数で重み付けすることで、類似色の背景を被写***置として特定してしまう擬似マッチングを抑えることができる。
(5)上記(3)または(4)のカメラにおいて、演算部104aは、対象画像上でユーザーによって指定された指定点を含む領域を被写体領域として抽出するので、ユーザーが追跡を望む被写体を適切に追尾することができる。
(6)上記(1)〜(5)のカメラにおいて、演算部104aは、評価値最大のマスクが対象画像の端から5画素以上離れている場合に信頼性有りを判定するようにした。一般に、画面端(対象画像の端)に位置するマスクは、適切にラベリングを行うことが困難になる。上述したように構成することにより、ラベリング結果が不適切なおそれがある状態ではラベリングテンプレート画像の更新を避けることができる。
(7)上記(1)〜(6)のカメラにおいて、演算部104aは、異なるフレームの対象画像に基づいてそれぞれ推定した評価値最大のマスクの面積比が所定の範囲にある場合に信頼性有りを判定するようにした。一般に、主要被写体が当初のものから変わってしまうと、上記マスクの面積比は所定の範囲から外れる。上述したように構成することにより、主要被写体を示す可能性が高いマスクが得られない状態ではラベリングテンプレート画像の更新を避けることができる。
(8)上記(1)〜(7)のカメラにおいて、演算部104aは、TM処理で特定した被写***置と、アンドマスクラベリング処理で推定した被写体の重心位置とが所定値以上異なる場合、上記特定した被写***置を中心とする領域に1つ目のターゲット画像を設定し、上記推定した被写体の重心位置を中心とした領域に2つ目のターゲット画像を設定するようにした。これにより、2つの検索エリアにおいてそれぞれTM処理を行えるので、前回のラベリング結果と前フレームのTM処理結果とが異なる場合に適切に対処できる。
(9)上記(1)〜(7)のカメラにおいて、演算部104aは、推定された被写体の大きさに応じたサイズの画像へ、ラベリングテンプレート画像を更新するようにした。テンプレート画像をリサイズ可能に構成することにより、被写体の大きさが変化する場合でも適切に追尾を行うことができる。ここで、被写体の大きさ変化は、被写体がカメラから遠ざかったりカメラに近づいたりする場合や、ズーム操作によって撮影画角が変更された場合に生じる。追跡する被写体の重心位置を中心にテンプレートを更新するので、とくに小被写体の場合には、テンプレートサイズが小さく抑えられる。
(10)上記(1)〜(7)のカメラにおいて、演算部104aはさらに、リサイズ以外の更新を行わない初期テンプレート画像とターゲット画像との類似度、および、リサイズか否かにかかわらず更新を行うラベリングテンプレート画像とターゲット画像との類似度をそれぞれ算出し、信頼性有りが判定された場合に、推定された被写体の大きさに応じて初期テンプレート画像をリサイズする演算部104aをさらに備えるようにした。推定結果に信頼性を有する場合にのみ初期テンプレート画像をリサイズすることで、適切に初期テンプレート画像の更新を行うことができる。
さらに、2枚のテンプレート(初期テンプレート画像およびラベリングテンプレート画像)を用いたTM処理を行うように構成することにより、以下のメリットが得られる。仮に、更新したラベリングテンプレート画像のみを用いてTM処理を行う場合、ラベリングテンプレート画像の更新が繰り返されることにより、当初の追尾対象とは異なる被写体の画像に更新されるおそれがある。しかしながら、更新したラベリングテンプレート画像とともに初期テンプレート画像も用いることで、当初の追尾対象を見失わないで被写体追尾を継続できる。
(変形例1)
上述した実施の形態では、演算部104aは、ユーザーに対して対象画像内における被写***置の指定を促し、ユーザーが操作部材101を操作して入力した位置の座標を被写***置座標として特定する例について説明した。しかしながら、他の方法によって被写***置座標を特定してもよい。たとえば、カメラのオートフォーカス(AF)処理によって焦点調節が行われた場合に、フォーカスポイント(AF点)の座標を被写***置座標として特定してもよい。
上述した実施の形態では、演算部104aは、ユーザーに対して対象画像内における被写***置の指定を促し、ユーザーが操作部材101を操作して入力した位置の座標を被写***置座標として特定する例について説明した。しかしながら、他の方法によって被写***置座標を特定してもよい。たとえば、カメラのオートフォーカス(AF)処理によって焦点調節が行われた場合に、フォーカスポイント(AF点)の座標を被写***置座標として特定してもよい。
(変形例2)
以上の説明では、演算部104aは、被写***置座標を中心とした3×3の領域を対象として、Y、Cb、Cr成分各々の平均値を算出し、Y、Cb、Cr成分各画像の各画素の値から該平均値を減算することによって差分画像を生成する例について説明した。しかしながら、上記平均値ではなく、最頻値や中央値を代表値として算出し、各画像の各画素の値から該代表値を減算することによって差分画像を生成するようにしてもよい。
以上の説明では、演算部104aは、被写***置座標を中心とした3×3の領域を対象として、Y、Cb、Cr成分各々の平均値を算出し、Y、Cb、Cr成分各画像の各画素の値から該平均値を減算することによって差分画像を生成する例について説明した。しかしながら、上記平均値ではなく、最頻値や中央値を代表値として算出し、各画像の各画素の値から該代表値を減算することによって差分画像を生成するようにしてもよい。
(変形例3)
上述した実施の形態では、本発明をカメラに適用する場合について説明した。しかしながら、本発明は、動画データを読み込んで、動画中の被写体をフレーム間で追尾するための被写体追尾装置として、たとえばパソコンや携帯端末などに適用することも可能である。
上述した実施の形態では、本発明をカメラに適用する場合について説明した。しかしながら、本発明は、動画データを読み込んで、動画中の被写体をフレーム間で追尾するための被写体追尾装置として、たとえばパソコンや携帯端末などに適用することも可能である。
(変形例4)
上述した説明では、リサイズ処理法としてバイリニア法を例示したが、バイリニア法以外のニアレストネイバー法、またはバイキュービック法でリサイズ処理を行ってもよい。
上述した説明では、リサイズ処理法としてバイリニア法を例示したが、バイリニア法以外のニアレストネイバー法、またはバイキュービック法でリサイズ処理を行ってもよい。
(変形例5)
上記実施形態では、前フレームにおいて主要被写体を示す可能性が高いと考えられる評価値最大のマスクを膨張させてDilationマスクを作成した。この代わりに、TM処理によって特定した被写***置座標を中心とする所定範囲の領域を代替マスクとして用いるようにしてもよい。変形例5の演算部104aは、ステップS460において、Y、Cb、Cr成分の2値画像と、代替マスクとのアンドをとって合成し、合成画像(アンド画像∩代替マスク)を作成する。このように代替マスクを用いても、ステップS100の画像合成(Y、Cb、Cr成分の2値画像のアンド合成)に比べて、ノイズ(類似色背景)を除去することができる。
上記実施形態では、前フレームにおいて主要被写体を示す可能性が高いと考えられる評価値最大のマスクを膨張させてDilationマスクを作成した。この代わりに、TM処理によって特定した被写***置座標を中心とする所定範囲の領域を代替マスクとして用いるようにしてもよい。変形例5の演算部104aは、ステップS460において、Y、Cb、Cr成分の2値画像と、代替マスクとのアンドをとって合成し、合成画像(アンド画像∩代替マスク)を作成する。このように代替マスクを用いても、ステップS100の画像合成(Y、Cb、Cr成分の2値画像のアンド合成)に比べて、ノイズ(類似色背景)を除去することができる。
(変形例6)
上述した説明では、ステップS540およびステップS580の双方の判定処理に基づいて、アンドマスクラベリング処理による被写体の重心位置と大きさの推定結果の信頼性を判定するようにした。この代わりに、ステップS540およびステップS580の少なくとも一方の判定処理に基づいて信頼性判定を行うように構成してもよい。
上述した説明では、ステップS540およびステップS580の双方の判定処理に基づいて、アンドマスクラベリング処理による被写体の重心位置と大きさの推定結果の信頼性を判定するようにした。この代わりに、ステップS540およびステップS580の少なくとも一方の判定処理に基づいて信頼性判定を行うように構成してもよい。
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。また、上記実施の形態と変形例を適宜組み合わせた構成としてもよい。
100…カメラ
101…操作部材
102…レンズ
103…撮像素子
104…制御装置
104a…演算部
106…表示モニタ
101…操作部材
102…レンズ
103…撮像素子
104…制御装置
104a…演算部
106…表示モニタ
Claims (13)
- 対象画像内にターゲット画像を設定するターゲット画像設定手段と、
更新が行われるラベリングテンプレート画像と前記ターゲット画像との類似度を算出する類似度算出手段と、
前記類似度算出手段によって算出された前記類似度に基づいて、前記対象画像内における被写***置を特定する被写***置特定手段と、
前記被写***置特定手段によって特定された被写***置を中心として被写体候補領域を設定する被写体候補領域設定手段と、
前記被写体候補領域設定手段によって設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定手段と、
前記対象画像に基づいて、前記被写体推定手段によって推定された前記重心位置を中心とする画像へ前記ラベリングテンプレート画像を更新するラベリングテンプレート画像更新手段と、
前記被写体推定手段による推定結果の信頼性の有無を判定する信頼性判定手段と、を備え、
前記ラベリングテンプレート画像更新手段は、前記信頼性判定手段により信頼性有りが判定された場合に前記ラベリングテンプレート画像を更新することを特徴とする被写体追尾装置。 - 請求項1に記載の被写体追尾装置において、
前記被写***置特定手段は、前記類似度算出手段によって最も高い類似度が演算された前記ターゲット画像の位置を、前記対象画像内における被写***置として特定することを特徴とする被写体追尾装置。 - 請求項1または2に記載の被写体追尾装置において、
前記被写体推定手段は、
前記対象画像に基づいて、輝度成分からなる輝度画像と色差成分からなる色差画像とを生成する輝度画像・色差画像生成手段と、
前記輝度画像・色差画像生成手段によって生成された前記輝度画像と前記色差画像とのそれぞれから、被写体を含む被写体領域を抽出する被写体領域抽出手段と、
前記被写体領域抽出手段によって前記輝度画像と前記色差画像とのそれぞれから抽出された前記被写体領域内の画素の画素値に基づいて、代表値を算出する代表値算出手段と、
前記被写体領域内の各画素の画素値から前記代表値算出手段によって算出された前記代表値を減算して、前記輝度画像と前記色差画像とのそれぞれに対応する差分画像を生成する差分画像生成手段と、
前記差分画像生成手段によって生成された前記差分画像を2値化する2値化手段と、
前記2値化手段によって2値化された前記輝度画像に対応する2値画像と、前記色差画像に対応する2値画像とを合成する合成手段と、
前記合成手段によって合成された合成画像内から白画素の塊をマスクとして抽出するマスク抽出手段と、
前記マスク抽出手段によって抽出された前記マスクに対して、前記マスクが被写体を示すマスクである可能性を示す評価値を算出する評価値算出手段と、を含み、
前記評価値算出手段によって算出された前記評価値に基づいて、前記対象画像内における被写体の重心位置を推定することを特徴とする被写体追尾装置。 - 請求項3に記載の被写体追尾装置において、
前記差分画像生成手段によって生成された前記差分画像の各画素値に対して、前記被写体領域からの距離に応じた係数をかけて重み付けを行って、前記輝度画像と前記色差画像とのそれぞれに対応する重み付け画像を生成する重み付け画像生成手段をさらに備え、
前記2値化手段は、前記重み付け画像生成手段によって生成された前記重み付け画像を2値化することを特徴とする被写体追尾装置。 - 請求項3または4に記載の被写体追尾装置において、
前記差分画像生成手段は、前記被写体領域内の画素の画素値の平均値、最頻値、または中央値を前記代表値として算出することを特徴とする被写体追尾装置。 - 請求項3〜5のいずれか一項に記載の被写体追尾装置において、
前記被写体領域抽出手段は、前記対象画像上で使用者によって指定された座標を含む領域、または焦点調節処理におけるAF点を含む領域を前記被写体領域として抽出することを特徴とする被写体追尾装置。 - 請求項1〜6のいずれか一項に記載の被写体追尾装置において、
前記信頼性判定手段は、前記被写体推定手段で推定された被写体が対象画像の端から所定距離以上離れている場合に信頼性有りを判定することを特徴とする被写体追尾装置。 - 請求項1〜7のいずれか一項に記載の被写体追尾装置において、
前記信頼性判定手段は、異なるフレームの対象画像に基づいて前記被写体推定手段でそれぞれ推定された被写体の大きさの比が所定の範囲にある場合に信頼性有りを判定することを特徴とする被写体追尾装置。 - 請求項1〜8のいずれか一項に記載の被写体追尾装置において、
前記ターゲット画像設定手段は、前記被写***置特定手段によって特定された被写***置と、前記被写体推定手段によって推定された被写体の重心位置とが所定値以上異なる場合、前記被写***置特定手段によって特定された被写***置を中心とする領域に1つ目のターゲット画像を設定し、前記被写体推定手段によって推定された被写体の重心位置を中心とした領域に2つ目のターゲット画像を設定することを特徴とする被写体追尾装置。 - 請求項1〜9のいずれか一項に記載の被写体追尾装置において、
前記ラベリングテンプレート画像更新手段は、前記被写体推定手段によって推定された被写体の大きさに応じたサイズの画像へ、前記ラベリングテンプレート画像を更新することを特徴とする被写体追尾装置。 - 請求項1〜10のいずれか一項に記載の被写体追尾装置において、
前記類似度算出手段はさらに、リサイズ以外の更新が行われない初期テンプレート画像と前記ターゲット画像との類似度、および、リサイズか否かにかかわらず更新が行われるラベリングテンプレート画像と前記ターゲット画像との類似度をそれぞれ算出し、
前記信頼性判定手段により信頼性有りが判定された場合に、前記被写体推定手段によって推定された被写体の大きさに応じて前記初期テンプレート画像をリサイズする初期テンプレート画像リサイズ手段をさらに備えることを特徴とする被写体追尾装置。 - 対象画像内にターゲット画像を設定するターゲット画像設定と、
更新が行われるラベリングテンプレート画像と前記ターゲット画像との類似度を算出する類似度算出と、
前記類似度算出によって算出された前記類似度に基づいて、前記対象画像内における被写***置を特定する被写***置特定と、
前記被写***置特定によって特定された被写***置を中心として被写体候補領域を設定する被写体候補領域設定と、
前記被写体候補領域設定によって設定された被写体候補領域で、被写体の重心位置と大きさを推定する被写体推定と、
前記被写体推定による推定結果の信頼性の有無を判定する信頼性判定と、
前記信頼性判定により信頼性有りが判定された場合に、前記対象画像に基づいて、前記被写体推定によって推定された前記重心位置を中心とする画像へ前記ラベリングテンプレート画像を更新するラベリングテンプレート画像更新と、
を行うことを特徴とする被写体追尾方法。 - 請求項1〜11のいずれか一項に記載の被写体追尾装置を搭載することを特徴とするカメラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012046705A JP2013182479A (ja) | 2012-03-02 | 2012-03-02 | 被写体追尾装置、被写体追尾方法およびカメラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012046705A JP2013182479A (ja) | 2012-03-02 | 2012-03-02 | 被写体追尾装置、被写体追尾方法およびカメラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013182479A true JP2013182479A (ja) | 2013-09-12 |
Family
ID=49273075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012046705A Pending JP2013182479A (ja) | 2012-03-02 | 2012-03-02 | 被写体追尾装置、被写体追尾方法およびカメラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013182479A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2020137069A1 (ja) * | 2018-12-28 | 2021-10-14 | 株式会社Nttドコモ | 位置推定システム |
WO2023090213A1 (ja) * | 2021-11-18 | 2023-05-25 | ソニーグループ株式会社 | 情報処理装置、情報処理方法及びプログラム |
-
2012
- 2012-03-02 JP JP2012046705A patent/JP2013182479A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2020137069A1 (ja) * | 2018-12-28 | 2021-10-14 | 株式会社Nttドコモ | 位置推定システム |
JP7085646B2 (ja) | 2018-12-28 | 2022-06-16 | 株式会社Nttドコモ | 位置推定システム |
WO2023090213A1 (ja) * | 2021-11-18 | 2023-05-25 | ソニーグループ株式会社 | 情報処理装置、情報処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6763417B2 (ja) | 電子機器 | |
US8254630B2 (en) | Subject extracting method and device by eliminating a background region using binary masks | |
JP4678603B2 (ja) | 撮像装置及び撮像方法 | |
JP2010118862A (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
JP5246078B2 (ja) | 被写***置特定用プログラム、およびカメラ | |
JP2007194794A (ja) | 撮影装置、撮影画像の画像処理方法及びプログラム | |
CN110796041B (zh) | 主体识别方法和装置、电子设备、计算机可读存储介质 | |
JP2011040993A (ja) | 被写体追尾プログラム、およびカメラ | |
JP2009111716A (ja) | 撮像装置、プログラムおよびテンプレート生成方法 | |
JP2017229061A (ja) | 画像処理装置およびその制御方法、ならびに撮像装置 | |
JP5949559B2 (ja) | 画像処理装置、撮像装置および画像処理プログラム | |
JP5691617B2 (ja) | 被写体特定装置、および被写体追尾装置 | |
WO2012014946A1 (ja) | 画像処理装置、および画像処理プログラム | |
JP2009260671A (ja) | 画像処理装置及び撮像装置 | |
JP2012039210A (ja) | 被写体特定用プログラム、およびカメラ | |
JP4807582B2 (ja) | 画像処理装置、撮像装置及びそのプログラム | |
JP6172973B2 (ja) | 画像処理装置 | |
JP2013182479A (ja) | 被写体追尾装置、被写体追尾方法およびカメラ | |
JP2013182478A (ja) | 被写体追尾装置、被写体追尾方法およびカメラ | |
JP6444981B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP4632417B2 (ja) | 撮像装置、及びその制御方法 | |
KR20130098675A (ko) | 얼굴 검출 처리 회로 및 이를 포함하는 촬상 장치 | |
JP6099973B2 (ja) | 被写体領域追跡装置、その制御方法及びプログラム | |
JP6044123B2 (ja) | 被写体追尾装置および電子カメラ並びに被写体追尾プログラム | |
JP7458723B2 (ja) | 画像処理装置、撮像装置、制御方法、およびプログラム |