追尾装置およびその制御方法
【課題】追尾対象の特徴をもとに追尾を行う際に、誤追尾の発生を高精度に検出可能な追尾装置および方法を提供する。
【解決手段】動画像において追尾対象の位置を追尾する追尾装置は、現在の処理対象のフレーム画像に対して前記追尾対象の特徴情報を用いた被写体の追尾処理を実行することにより、今回の追尾対象位置を検出し、当該処理対象のフレーム画像から今回の追尾対象位置と前回の追尾対象位置との間にある画像を抽出し、抽出された画像と特徴情報との類似度に基づいて検出された追尾対象位置が追尾対象外であるか否かを判定する。追尾装置は、検出された追尾対象位置が追尾対象外でないと判定された場合には、上記今回の追尾対象位置を、上記判定で使用される前回の追尾対象位置として保持する。
【解決手段】動画像において追尾対象の位置を追尾する追尾装置は、現在の処理対象のフレーム画像に対して前記追尾対象の特徴情報を用いた被写体の追尾処理を実行することにより、今回の追尾対象位置を検出し、当該処理対象のフレーム画像から今回の追尾対象位置と前回の追尾対象位置との間にある画像を抽出し、抽出された画像と特徴情報との類似度に基づいて検出された追尾対象位置が追尾対象外であるか否かを判定する。追尾装置は、検出された追尾対象位置が追尾対象外でないと判定された場合には、上記今回の追尾対象位置を、上記判定で使用される前回の追尾対象位置として保持する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、指定された追尾対象を追尾するための装置および方法に関する。
【背景技術】
【0002】
任意の対象物を追尾する方法として、
・記憶したテンプレート画像、もしくは追尾実施時に逐次更新されるテンプレート画像との一致度の高い領域を探すパターンマッチング法、
・現フレームと前フレームとの画像差分から対象位置を探す相対差分法、
・対象物から単一あるいは複数の色や輝度、もしくはヒストグラムを抽出し、それらと一致度の高い領域を探索する色・輝度一致法、などが知られている。
【0003】
パターンマッチング法は、静止物へのサーチに関しては高い精度が実現できる反面、対象物と追尾装置との距離変化、対象物の回転、追尾装置自体の縦横方向などの姿勢変化、などの動きのある状況での追尾性能が十分ではなかった。相対差分法は、対象の前に他の物体が横切ったり、対象が完全にフレームアウトした後に追尾できなくなるという欠点があった。色・輝度一致法は、追尾対象の動きにはある程度対応できるが、色や輝度の分布だけでは対象を特定する能力が低く、類似する色や輝度が背景に多く分布する状況での性能が十分ではなかった。
【0004】
また、各種追尾方法の追尾性能には限界があり、追尾できなくなる場合が存在するが、追尾対象が画角内から消失したのか、追尾性能限界により他の物体へ誤追尾したのか、など、現在の追尾状況を正しく把握することも困難な場合があった。
【0005】
このような課題に対し、追尾性能を向上させる様々な提案がなされている。追尾対象以外の物体との交差による追尾対象の消失に関して、特許文献1は、追尾対象消失直前の特徴を記憶し、その特徴を用いて追尾対象再出現時の追尾を可能とした構成を記載している。また、特許文献1では、複数の移動体の総面積の時間変化により、他の物体との接触の有無、交差、などの状態判断を行っている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特願平4−320254号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、追尾対象の特徴を記憶し、その特徴に基づいて追尾を行う際、追尾対象と類似する特徴を持つ他の物体との接近、接触、交差などにより、他の物体を誤って追尾しはじめてしまう場合があった。また、誤追尾していることも認識できないためそのまま他の物体を追尾し、さらに、追尾対象と他の物体の位置が離れた後も、正常に追尾対象に復帰できずにいた。すなわち、追尾性能を向上する提案はあるものの、依然として追尾性能に限界があることは事実である。したがって、このような追尾性能の限界を踏まえ、誤追尾が発生した時点でこれを適切に検出し、自動的に追尾を中断したり、誤追尾が発生した可能性が高い旨を警告表示するといった処置が求められている。
【0008】
本発明は上記課題に鑑みてなされたものであり、追尾対象の特徴をもとに追尾を行う際に、誤追尾の発生を高精度に検出可能な追尾装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するための本発明による追尾装置は、以下の構成を備える。すなわち、
動画像のフレーム画像に追尾処理を実行することにより、追尾対象の位置を該追尾対象の特徴情報に基づいて追尾する追尾装置であって、
今回の追尾処理の対象のフレーム画像を複数のブロックに分割し、前記複数のブロックの各々について前記特徴情報との類似度を算出する類似度算出手段と、
前記類似度算出手段で算出された類似度が最も高いブロックを今回の追尾対象位置として検出する検出手段と、
前記検出手段により検出された前記今回の追尾対象位置と、前回の追尾処理の結果として得られた前回の追尾対象位置とを結ぶ線分が通るブロックを、前記対象のフレーム画像から得られた前記複数のブロックから抽出する抽出手段と、
前記抽出手段により抽出されたブロックの前記類似度算出手段により算出された類似度に基づいて前記検出手段が検出した追尾対象位置が追尾対象外であると判定する判定手段と、を備える。
【発明の効果】
【0010】
追尾対象の特徴を元に追尾を行う際、誤追尾の発生を精度良く、かつ簡易な構成で検出する。誤追尾の検出が可能となることで、追尾の自動中断、操作者への警告表示なども可能となる。
【図面の簡単な説明】
【0011】
【図1】実施形態によるデジタルカメラ100の全体ブロック図。
【図2】デジタルカメラ100の外観図。
【図3】実施形態による対象の追尾方法を説明する図。
【図4】実施形態による対象の追尾方法を説明する図。
【図5】類似度分布の一例を示す図。
【図6】追尾対象の別の例を示す図。
【図7】重みテーブルを説明する図。
【図8】重みテーブルの作用による類似度分布の変化を説明する図。
【図9】図8(c)の類似度分布を数値により示した図。
【図10】誤追尾が発生する類似度分布を説明する図。
【図11】図10(c)の類似度分布を数値により示した図。
【図12】誤追尾の検出方法を説明する図。
【図13】誤追尾が発生する類似度分布の他の例を示す図。
【図14】図13(c)の類似度分布を数値により示した図。
【図15】誤追尾の検出方法を説明する図。
【図16】実施形態による追尾処理を説明するフローチャート。
【図17】実施形態による追尾処理を説明するフローチャート。
【発明を実施するための形態】
【0012】
以下、添付の図面に沿って本発明の好適な一実施形態を説明する。図1は、実施形態によるデジタルカメラ100(以下、カメラ100)のシステム全体の構成例を示すブロック図である。
【0013】
レンズ10により外光を集光する。レンズ駆動回路42にてレンズ10の位置を光軸に沿って前後に動かすことで焦点を調節したり、画角を調節したりする。手ブレ補正回路40は、ブレ量検知回路44で測定したカメラのブレ量を元にレンズ10を駆動し、手ブレをキャンセルするようにレンズ10の位置を光軸に沿って変化させることで光学的な手ブレ補正を行う構成となっている。ブレ量検知回路44には、ジャイロセンサーが含まれている。なお、図1ではレンズを駆動することで手ブレ補正を実現しているが、撮像素子16を駆動することで同様に手ブレを補正することも可能である。レンズ10を含む鏡筒部を繰り出し及び繰り込みさせる方式とし、カメラ未使用時の本体体積を小さくして携帯性を高めるようにしてもよい。レンズ10を通過した光は絞り14により、その光量が調節される。システム制御部60は、絞り制御情報を絞り駆動回路26に伝達することで、絞り14を制御する。絞り14には、複数枚の羽から構成された虹彩絞りや、あらかじめ板を様々な径で穴を打ち抜いた丸絞りなど、周知のいかなる絞りが用いられてもよい。システム制御部60はこれらの絞り14と絞り駆動回路26を用い、被写体輝度が高い場合は絞りを絞って光量を落とすように制御し、被写体輝度が低い場合は絞りを開放にして光を多く取り込むように制御する。また、光路上にNDフィルタを挿抜できる構成として絞りと同様に光量を調節するようにすることもできる。また、システム制御部60は、メカニカルシャッター制御情報をメカニカルシャッター駆動回路28に伝達することで、メカニカルシャッター12を制御することが可能である。静止画撮影時の露光時間は、メカニカルシャッター12の開閉時間により決定され、この時間はシステム制御部60が時間を判断し、メカニカルシャッター駆動回路28に指示を出す。
【0014】
レンズ10、メカニカルシャッター12、絞り14を通過した光は撮像素子16に受光される。システム制御部60は、撮像素子制御信号をタイミング発生器(以下、TG(Timing Generator))24に伝達することで、撮像素子16を制御することができる。TG24は、システム制御部60から受信した制御情報をもとに撮像素子16を駆動する。撮像素子16は素子への露光と、露光したデータの読み出し作業を周期的に行っており、この作業はTG24からの駆動信号を基準に行われる。撮像素子16で露光したデータのうち、特定のラインや特定の領域のみを読み出してくることが可能である。これは、TG24から出力される読み出し制御パルスにより読み出し方を変更することで実現できる。システム制御部60は状況に応じて最適な読み出し方式を決定し、TG24に指示する。例えば、静止画撮影時は高解像度が要求されるため撮像素子16の全データを読み出し、電子ビューファインダ時や動画撮影時は30fps/60fpsなどの高いフレームレートが要求されるため特定のラインだけ間引いて読み出す、といった使い分けを行う。なお、電子ビューファインダは、EVF(Electrical Viewfinder)とも称する。またTG24は、撮像素子16の露光時間を制御することが可能である。任意のタイミングで、素子がチャージした電荷を開放するように、TG24から撮像素子16へ駆動信号を出すことでこれを可能としている。
【0015】
撮像素子16から読み出された画像データは、CDS(Correlated DoubleSampler)回路18を通過する。CDS回路18は相関二重サンプリング方式により画像データのノイズ成分を除去することを主な役割とする。その後、画像データはPGA(Programmable Gain Amplifier)20に入力される。PGA20は、入力された画像データの画像データレベルを減衰/増幅することができる。システム制御部60は、増幅レベルをPGA20に伝達することで、増幅量を制御することができる。通常、撮像素子16の露出を適正にするには、絞り14で撮像素子16への露光量を適切に設定すると共に、シャッターにより露光時間を適切に設定することで実現される。デジタルカメラ100では、これに加えて、PGA20で画像データ信号を減衰/増幅することで、擬似的に画像データの露出を変える役割を担うことができる。これは、絞りやシャッター速度と並ぶ撮影時の露出条件の一つとして、感度という概念でユーザに機能提供される。
【0016】
画像データはA/D(Analog/Digital Converter)回路22にてアナログ信号からデジタル信号へ変換される。デバイスにより、デジタル信号のビット幅は10ビット、12ビット、14ビットなどがあり、後段の画像処理回路50は、複数種類のビット幅に対応可能である。図では、CDS回路18、PGA20、A/D22、TG24をそれぞれ別のブロックとして表現しているが、一つのICパッケージにこれらの機能を搭載したものを採用することも可能である。
【0017】
A/D22からデジタル化された画像データは画像処理回路50へ入力される。画像処理回路50は複数のブロックから構成され、さまざまな機能を実現している。
【0018】
撮像素子16はカラーフィルタを通して各画素ごとに特定の色成分を抽出するのが一般的である。A/D22からの画像信号は撮像素子16の画素及びカラーフィルタ配置に対応したデータ形式になっており、輝度成分のみを評価して露出制御を行う自動露出制御(AE: Auto Exposure Control)で使用するには適さない形式である。画像処理回路50は、画像信号から色情報を排除し、輝度情報のみを抜き出す機能を備えている。逆に、色情報のみを抽出する機能も備え、被写体の光源色を特定し、色を適切に調節するホワイトバランス処理に使用することができる。
【0019】
さらに、画像処理回路50は、撮像素子16から読み出された信号の周波数成分のみを抜き出す機能を備え、抜き出された周波数成分信号は自動フォーカス合わせ制御(AF: Auto Focus)時に使用することができる。また、画像処理回路50は、撮像素子16から読み出されたデータのどの領域の周波数成分を抽出するかを設定したり、また、領域内を分割設定したりする機能を備えている。また、AF処理時には、撮像素子16の駆動を測距に適した駆動にすることが可能である。撮像素子16を使用したテレビAFの場合、撮像素子16の駆動レート(フレームレート)に同期してフォーカスレンズを駆動する必要があるため、撮像素子16の駆動レートが高いほうが、フォーカスレンズを速く動かすことができる。このため、AF時のみ速い駆動レートになるように撮像素子16を駆動することができる。逆にフレームレートを遅くし、撮像素子16からより多くの画素データを読み出すようにすることで、画像処理回路50で周波数解析可能なデータが増え、より正確な測距が可能になるという面もある。このような撮像素子16の使い方は、カメラ100の撮影モードや、被写体の明るさに応じて適応的に決めることが可能である。
【0020】
さらに、画像処理回路50は、A/D22によりデジタル化された画像信号のレベルの増減、画像の色効果などを操作する機能を備え、撮影画像の画質を調節するという役割も担っている。画像信号のレベルに関しては、
・画像全体に一律の増幅率でレベルを増減させる機能、
・元の信号レベルの大小に応じて信号レベルを変換するトーンカーブ(ガンマ)機能、
・画面内の領域ごとの周波数成分に応じた増幅率でレベルを増減させる機能、
など、様々な画像信号レベル調節が可能となっている。
【0021】
A/D22からデジタル化された画像データは画像処理回路50へ入力すると同時に、一時記憶メモリ30に記憶することができる。一旦、一時記憶メモリ30に記憶した画像データは再度読み出すことができ、システム制御部60から画像データを参照したり、読み出した画像データを画像処理回路50に入力したりすることが可能である。さらに、画像処理回路50で画像処理した画像データを一時記憶メモリ30に書き戻したり、システム制御部60から任意のデータを一時記憶メモリ30に書き込んだりすることも可能である。
【0022】
画像処理回路50で適切に処理された画像データは、画像認識回路38に入力される。画像認識回路38は、入力された画像の明るさ状況、ピント合焦状況、色状況の認識に加え、人物の顔認識とその表情、文字がある場合はその文字情報を認識することが可能である。画像認識回路38には複数の画像を入力することが可能となっており、例えば2つの画像を入力し、その2つの画像の特徴を比較することで、同一の画像かどうかを判定することが可能となっている。画像認識回路38で画像を認識する方法に加え、システム制御部60でも画像認識処理を行うことができる。システム制御部60はCPU上であらかじめコーディングされたコンピュータプログラムを実行することができるが、一時記憶メモリ30に記憶された画像データをシステム制御部60から読み出し、その画像データを解析してシーンの状況を認識することができる。
【0023】
LCDなどの画像表示装置108に出力する場合、画像処理回路50で画像処理を行った画像データをVRAM34上に展開しておき、それをD/A36にてアナログデータに変換して画像表示装置108に表示する。電子ビューファインダは、撮像素子16から読み出される連続した画像を順次に画像表示装置108に表示更新していくことで実現される。VRAM34上に画像データを展開する際、1つの画像データを画像表示装置108に最も大きくなるように、または複数の画像をマルチ画面表示するように、など、様々な表示形態に対応するようにVRAM34上に展開することができる。
【0024】
画像表示装置108には、画像だけでなく任意の情報を単独、もしくは画像と共に表示することが可能である。カメラの状態表示や、ユーザが選択あるいはカメラが決定したシャッター速度や絞り値、感度情報などの文字情報や、画像処理回路50で測定した輝度分布のようなグラフや、顔認識結果、シーン認識結果等も表示可能である。情報の表示位置、表示色も任意に選択可能である。これら様々な情報を表示することで、ユーザインターフェースをとることが可能となる。また、画像表示装置108には、画像記憶媒体82に記憶されている画像データを表示することも可能である。画像データが圧縮されている場合、圧縮伸張ブロック32にて伸張し、VRAM34にデータを展開する。このデータをD/A34にてアナログデータに変換して出力する。
【0025】
画像記憶媒体82は不揮発性であり、主に撮影した画像データを記憶することが可能である。画像データの記憶に関しては、フォルダ階層を持たせたり、撮影した順にフォルダやファイル名が昇順に命名されるようにしたりすることが可能である。各画像データには、絞り値やシャッター速度、ISO感度などの撮影情報や、撮影した時刻などを付加することができ、それらを画像データと共に記憶することが可能となっている。さらに、記憶した画像データの読み出しはもちろん、画像の複製、移動、消去も可能となっている。ストロボ発光回路46は、システム制御部60の指示によりストロボユニット90を発光駆動する。操作部70は、図2により後述する各種操作スイッチを具備する。
【0026】
図2に、実施形態によるカメラ100の外観図を示す。カメラ100の前面にはレンズ10が配置され、被写体像をとらえることができる。レンズ10の同一面にストロボユニット90が配置されている。主被写体が暗い場合にストロボユニット90を発光させることで十分な光量を得ることができ、暗い中でも速いシャッター速度を保ち、好適な画像を得ることができる。図2ではレンズ10とストロボユニット90が同一面に配置されているがこの限りではなく、ストロボ光が直接主被写体に当たることを避けるために、ストロボがカメラ上部に向くように配置することも可能である。暗い環境下で人物をストロボ撮影した際、人物の目が赤く写ってしまう赤目現象が知られている。これは、暗い環境下では目の瞳孔が大きくなりやすく、その状態でストロボを発光するとストロボ光が網膜に映りこみ、それが写真として赤く写ってしまう現象である。この赤目現象を軽減するために、撮影前にストロボユニット90や他の投光装置をプリ発光させ、ここは明るい環境だと勘違いさせることで瞳孔を閉じさせることが可能となっている。
【0027】
カメラ背面に画像表示装置108が配置されている。前述したように、画像表示装置108には画像のみならず、文字情報やグラフ、アイコンなどを表示することができ、ユーザとインターフェースをとる重要な部材となっている。近年デジタルカメラでは電子ビューファインダが主流となっており、画像表示装置108に出力される連続画像を参照することで被写体を捕らえ、ファインダとして使用している。このとき、AEやAFにおける測光領域情報、測距領域情報をライブ画像に重畳して表示することも可能である。さらに、被写体の認識状況として、人物顔を認識した結果を人物顔に枠を重畳させて表示したり、青空、夕陽、逆光など、背景シーンの状況を認識してアイコンで表示したりすることなどが可能となっている。また、従来からの光学ファインダー106を併設する構成とすることも可能である。電子ビューファインダは、高い視野率を実現し易い、画像表示装置108の大きさによっては被写体を大きく見易い、撮影画像とファインダー画像の画角差(パララックス)が無い、などのメリットがある。またその反面、撮像素子16や画像表示装置108を動作させるための電力が必要となり、電池の消耗が懸念される。このため、電池の消耗を避けて多くの撮影枚数が望まれる場合には、電子ビューファインダ機能をOFFし、光学ファインダー106を使用するという使い方も可能である。
【0028】
電源投入ボタン102は、カメラ100の電源オン/オフ操作を行うためのスイッチである。モード切替スイッチ110は、静止画撮影モード、動画撮影モード、再生モードなどのカメラ動作モードを切り替えることができる。図では、数モードを切り替え可能な部材として表現しているが、撮影する特定のシーンに最適化した、風景撮影モードや人物撮影モードなどの多くの静止画モードを備えることも可能である。
【0029】
パラメータ選択スイッチ151,153,155,157,159により、測距領域や測光モードをはじめとする撮影時の撮影条件の選択や、撮影画像再生時のページ送り、カメラの動作設定全般などをユーザが選択することができる。さらに前述の電子ファインダーのOn/Offを選択することもできる。また、画像表示装置108は画像を表示すると共に、タッチパネルとして入力装置となる構成とすることもできる。
【0030】
カメラ上部に撮影準備&開始ボタン104が配置されている。撮影準備&開始ボタン104は一つの操作部材であるが、ボタンを浅く押下する場合(SW1動作)と深く押下する場合(SW2動作)の2段階の押下操作を実現可能である。カメラで自動露出制御や自動ピント制御を行うカメラの場合、撮影準備&開始ボタン104を浅く押すことで撮影準備として自動露出制御とピント制御が行われ、深く押すことで静止画撮影や画像認識の指示を行う操作が実現可能である。
【0031】
自動露出制御は、モード切替スイッチ110で選択されている撮影モードで好適な露出を得るように動作する。撮影モードには、ポートレートモードや風景モード、夜景モード、といった特定の被写体に特化したものや、オートモードといった汎用的なモードがある。また、シャッター速度優先モードや絞り優先モードなど、撮影時のシャッター速度や絞り値をあらかじめユーザが指定しておくモードもある。これらのモードでは、PGA20で設定する撮影感度を自動で好適に選択設定することや、あらかじめユーザが感度を指定することが可能である。ユーザがあらかじめ感度を指定する際、撮影感度を上げるほど画像信号のS/Nが低下するため、画質を優先したいユーザは低感度を選択することが想定される。またAF制御は、各撮影モードで好適なピンと合わせが可能なように動作を切り替えることができる。
【0032】
以上のような構成からなるカメラ100において、撮影対象となる主被写体のピントや明るさを好適な条件で撮影するために、主被写体として指定された追尾対象の追尾を実現する方法について述べる。以下、システム制御部60において、不図示のコンピュータが不図示のメモリに格納されたコンピュータプログラムを実行することで追尾処理を実行するものとして説明する。なお、追尾処理は、動画像として取得されたすべてのフレームについて実行されてもよいし、1フレームおきといったように、選択されたフレームについて実行されてもよい。
【0033】
図3(a)にこれから撮影しようとするシーンの一例を示す。画面301の中央に人物303が位置し、この人物がボール305で遊んでいる様子を示している。このようなシーンのピントや明るさが好適になるように撮影するには、たとえば、
・人物顔検出機能により検出された顔検出結果を用い、顔の位置やサイズに合わせて測距領域や測光領域を顔近傍に設定し、
・設定された測距領域や測光領域から得られた距離情報や輝度情報を用いてAF、AEを行う、
というような形態が知られている。また、顔検出機能が搭載されていない場合、画面内に測距領域を複数設定し、それぞれから得られた距離情報を総合的に判断し、たとえば近距離側を優先してAF制御を行うといった形態が知られている。
【0034】
これに対し、特定の対象や、その対象のある部位に対してピントを合わせ続けたい場合、その位置を指定可能な形態とし、かつその位置を追尾し続けることが望まれる。図3(a)では、画面301の中央に追尾対象指定枠(以下、指定枠311)が表示されている様子を示している。ユーザが任意のタイミングで操作部材153、撮影準備&開始ボタン104を押下した際、システム制御部60(追尾処理)はこの指定枠311を追尾対象指定の指示として解釈する。そして、システム制御部60は、指定枠311の内側あるいは近傍に存在する物体を追尾対象として記憶し、これ以降、当該追尾対象を追尾し続ける。また、画像表示装置108をタッチパネルとし、画面301内を押下されたタイミングを追尾対象指定の指示として解釈し、押下位置313の近傍に存在する物体を追尾対象として記憶、追尾し続けるようにすることもできる。タッチパネル搭載の場合、あらかじめ指定枠311を表示したり、ユーザが指定枠311内に追尾対象が入るように位置合わせしたりする必要がないといったメリットがある。
【0035】
図3(b)は、撮像した画像301を画像処理して画面内を均等に、複数の小領域(32×24)に分割した様子を示している。以下、このような小領域への分割をブロック分割といい、これら小領域の各々をブロックと称する。本実施形態ではこれ以降、図3(b)のようにブロック分割した低解像度画像を用いて追尾を実現する方法を説明する。
【0036】
操作者により、図3(a)の押下位置313が指定され、ボール305が追尾対象として指定されたものとする。この指定位置は、図3(b)に示した画面内ブロック分割イメージではブロック315に相当する(座標は(13,19))。システム制御部60は、このブロック315、あるいはその周辺のブロックから特徴情報を抽出しメモリ(例えば、一時記憶メモリ30)に記憶する。本実施形態では、特徴情報として画像情報が用いられ、たとえば、輝度情報、色情報、コントラスト情報、エッジ情報、などがあり、これらを単体あるいは複数抽出する。
【0037】
例として、RGB形式にて特徴情報を抽出して記憶した様子を図4(b)に示す。特徴色は複数記憶することができる(図4の(b)ではn個の特徴色を記憶している)。たとえば、図3(b)のブロック分割イメージにおいて、座標(13,19)のRGB、座標(14,19)のRGB、座標(13,20)のRGB、…、といったように複数色を記憶できる。特徴情報の抽出にあたっては、あらかじめ指定されたブロック315の周辺の色分状況を確認し、分布が多い色は背景色の可能性が高いとして追尾対象特徴色から除外するなどの処理を行うことが好ましい。また、特徴となりうる色が複数あった場合、いずれの特徴色を優先して追尾するかを順位づけし、図4(b)の記憶領域に優先度順に記憶することもできる。複数色の優先度順位付けの一つの方法としては、指定されたブロック315付近に分布する色のうち、面積の小さいモノを優先することがあげられる。これは、追尾対象が持つ色の中で、面積の小さい色ほど追尾対象を特徴づける重要な色になりうる、という考えに基づいたものである。またカメラ100が自動で複数の特徴色を抽出するのではなく、操作者が追尾対象内の複数の位置を指定できるようにし、優先度順とともに追尾対象の特徴色を複数記憶可能とする形態としてもよい。
【0038】
システム制御部60は、以上のようにして追尾対象の特徴情報を抽出すると、追尾動作に入る。被写体の動画像を構成するフレーム画像は所定周期で順次生成され続けており、システム制御部60は、これらフレーム画像の中から追尾対象の特徴と類似する領域を探索し、類似度が高い領域を追尾対象とする作業を行う。まず、システム制御部60は、図3(b)のように、画面内をブロック分割し、各ブロックごとに記憶した特徴との類似度を算出していく。(式1)(式2)(式3)に、本実施形態の追尾処理が類似度算出時に用いる式を示す。
【0039】
(式1)では、記憶済みの特徴色R(N)、G(N)、B(N)と、画面内の各ブロックの色R(X,Y)、G(X,Y)、B(X,Y)の差分値ΔR(X,Y)、ΔG(X,Y)、ΔB(X,Y)を算出している。
【数1】
ここで、N=特徴色番号(1〜n)、X=水平ブロック数、Y=垂直ブロック数である。
【0040】
本実施例では、RGB形式を用いて特徴色を表現しているため、3要素についてそれぞれ差分値を求める。追尾対象の特徴色がn個記憶されている場合、式中のNが1〜nのそれぞれについて演算が行われる。こうして、同一ブロックに対して1つまたは複数の(n個の)特徴色との差分値を算出していく。複数の特徴色を記憶した際、どの特徴色の差分値を採用するかの決定方法には様々な方式がある。例えば、図4(b)に示した優先順に応じて差分値を算出していき、差分値が所定未満のものが見つかり次第その特徴色を採用する方式や、全ての特徴色との差分値を全て算出したのち、最も差分値が小さい特徴色を採用する方式もある。
【0041】
続いて、(式1)にて算出された差分値が所定値ThRGB未満であるかを以下の(式2)にてチェックする。
【数2】
ここで、ThRGB=所定値である。
【0042】
これは、ブロックの色と特徴色との色差分値が少なくともThRGB未満であることをもって、色が類似していることを判断するものである。本実施形態ではThRGBは所定値としているが、状況に応じてThRGBを適応的に変化させることも可能である。例えば、追尾対象の特徴色と類似する色が画面内に多く分布している場合、追尾対象と背景を見分けることが困難となる。そのため、このような場合にThRGBをより小さく設定して色の差分条件をより厳格に設定すれば、誤追尾の発生を軽減することが可能となる。
【0043】
色差分値が(式2)の条件を満たしたブロックに対し、以下の(式3)を用いて各ブロックの色類似度を算出する。
【数3】
【0044】
色類似度は、各色差分値ΔR、ΔG、ΔBがThRGBの範囲内でどの程度似ているかを混合したものとなる。ΔR、ΔG、ΔBの最小値を0、最大値を255で表すものとした場合、例えば、ThRGB=40、ΔR、ΔG、ΔBの3色が共に20の場合、そのブロックの色類似度は50%となる。同様に、ΔR、ΔG、ΔBがすべてゼロの場合、特徴色と完全一致していることとなりそのブロックの色類似度は100%となる。これに対してΔR、ΔG、ΔBがすべて40の場合、ThRGBの範囲では全く似ていないこととなり色類似度は0%となる。ちなみに、(式2)の条件を満たさない場合も全く似ていないこととし、該当ブロックの色類似度はゼロとする。
【0045】
このように画面内の各ブロックごとに色類似度を算出した結果、例えば図5(b)に示す類似度分布が得られ、図3で指定した追尾対象であるボールの領域にのみ類似度が高く出る様子が分かる。図5(a)に示した類似度の数値詳細例からは、類似度が100%となっているブロック321が画面内における最高類似度を示していることが分かり、このブロック位置が追尾対象位置であると判断される。この検出結果として追尾対象位置をユーザに示す場合、最高類似度ブロック位置を点としてそのまま表示しても良いが、類似度がある程度高いブロックからなる連続領域を追尾対象領域として矩形枠で囲むように画像に重畳表示しても良い。その際、どのブロックが追尾対象領域に含まれるかを算出する必要がある。本実施形態では画面内の最高類似度に所定係数ThRatioを乗じた有効色類似度を上回っているか否かでそれを判断する。
【0046】
【数4】
ここで、ThRatio=所定値である。
(式4)によれば、最高評価値が100%、ThRatioが40%の場合、有効色類似度は40%となり、類似度が40%以上の連続領域が追尾対象領域となる。図5(a)の例では網掛けで示した連続領域がそれに該当し、この連続領域を囲ったもの(本実施形態では、連続領域を内包する矩形)が表示すべき追尾対象領域317となる。この追尾対象領域を画像に重畳表示したイメージが図3(c)となる。
【0047】
以上のように、記憶した追尾対象の特徴との類似性の高い領域を探索することで追尾を実現するが、追尾対象以外に類似性の高い他の物体が画面内に現れた場合、誤追尾が発生することがある。本実施形態では色の類似度を用いる方式で説明しているが、例えばコントラスト情報や画素パターンによる類似度算出を行ったとしてもやはり追尾性能には限界があり、いずれの追尾方式を用いても他の類似物体への誤追尾の懸念は存在する。そのため、誤追尾が発生したことを検出することが望まれている。
【0048】
以下、図6(a)〜(c)を参照して誤追尾発生の一例を説明する。図6(a)の画面401において、追尾対象として真っ白なボールの位置411が指定され、追尾対象領域421が検出されて追尾が正常に開始されたものとする。しかしその後、図6(b)、(c)に示されるように、ボールが位置413,位置415へと転がり、ボールと類似する色を持つ真っ白な壁417との距離が近づいてくると、追尾処理は壁417が追尾対象だと勘違いして誤追尾が発生してしまう場合がある。すなわち、追尾対象領域が421→423→425→427のように認識され、図6(c)に示すように位置419にあるボールを追尾しなくなる場合がある。
【0049】
このような誤追尾の発生を軽減するために、現在検出できている追尾対象位置を基点に、算出した各ブロックの色類似度に対して重みをかける方法がある。たとえば、現在検出できている追尾対象位置付近には重みを強めにかけ、画面端に向けて距離が離れるほど重みを軽くする。こうすることで、離れた位置に現れた類似度の高い他の物体の類似度を低下させ、画面内に現れた他の類似物体へ急に追尾対象領域が乗り移ってしまわないようにすることを実現する。
【0050】
図7(a)に重みの算出例を示す。図中のTargetPos501は、現在検出できている追尾対象位置である。このTargetPos501を基点に、2つの関数曲線WeightRatioIn523と、WeightRatioOut533を繋げ、画面端に向けて重みが軽くなる曲線を構成する。
【0051】
【数5】
X=水平ブロック数、Y=垂直ブロック数である。
【0052】
WeightRatioIn523は、TargetPos501から距離DistDown511だけ離れた位置までの曲線を形成する。このとき係数WeightDownRatio503により、WeightRatioIn523の端点となるDistDown511においてどの程度重みを下げるかを任意に設定する。例えば、背景を含む画面内の色分布状況に応じて可変させることが可能であある。より具体的には、追尾対象と同系色の色が画面内に多く分布している場合、DistDownより画面端側の重みが軽くなるように係数WeightDownRatio503を設定し、背景への誤追尾発生を軽減する設定にすることが可能である。続いて、DistDown511以降からDistZero513までの領域は、WeightRatioOut533により徐々に重みが低下する曲線を描く。これらの曲線に基づいて各ブロック位置(X,Y)の重み値を算出していく。
【0053】
図7(b)に、さらに単純な重みの算出例をもう一つ示す。図7(b)に示されているのは、TargetPos501を基点に、重み下げ位置DistZero513まで直線でつなぎ、各ポジションの重みを算出するといった方法である。ただし、このような単純な線分の場合、現在の追尾対象位置TargetPos501に対して追尾対象が移動した場合、TargetPos501から少し距離が離れただけで、高い類似度が出ていても類似度が低下してしまう。このため、追尾性能が低下してしまうという懸念があり、設定する線分の傾きには注意しなければならない。
【0054】
図6で示した誤追尾例に対し、たとえば図7(a)で示した重み処理がどのように有効に作用するかを説明する。
【0055】
図6(a)においてボールが位置411にある場合に算出された類似度の分布を図8(a)に示す。家の白い壁に、類似度が高くかつ大面積の領域が存在している。これに対し、ボールは追尾対象ではあるものの、追尾開始時点から遠方へ転がることで類似度が低くなっている様子を示している。このように、追尾開始後に追尾対象の移動、回転、環境光の変化、などにより、類似度が低下する現象はしばしば発生し、このような状態において類似度の高い他の物体が現れた場合、そちらへ誤追尾する可能性がより高くなってしまう。そこで、図7(a)で示した重み算出により、現在の追尾対象位置である位置411を基点とする図8(b)に示した重みテーブルを求める。この重み分布により、ボール位置付近の重みが強く、画面端に向かって重みがかからなくなる様子が分かる。図8(a)の類似度分布と、図8(b)の重みテーブルを掛け合わせた結果、図8(c)の分布イメージとなる。重みづけ前は図8(a)のように家の壁が最も類似度が高い領域となっていたが、重み付けにより家の壁の類似度が低下し、図8(c)に示すようにボール付近(位置411付近)の類似度が画面内で最も高い領域となったことが分かる。図9は、図8(c)に対応する詳細な類似度の数値分布を示したものであるが、画面内で最も類似度が高いブロックは位置601のあるボール位置となる。さらに、ThRatio=40%として(式4)を適用すれば、有効色類似度は28%=70*40/100となり、類似度が28%以上の図中網掛けの領域が追尾対象領域として検出されることとなり、家の壁417への誤追尾を防ぐことができたことを示している。
【0056】
しかしながら重みづけを行っても、追尾対象と他の類似物体の距離が近づきすぎると、誤追尾が発生することがある。たとえば、図6(b)のようにボールが位置413にある場合に算出された類似度の分布を図10(a)に示す。家の白い壁417と位置413にあるボールの領域に類似度が分布しているのが分かる。これに対し、図10(b)に示したように位置413を基点とした重みを算出し、類似度分布に掛け合わせ、誤追尾を防ぐように図10(c)の分布を生成する。図10(c)をみると、重み付けを行ったものの画面内で最も類似度が高い領域は家の壁417となってしまい、この時点で誤追尾が発生してしまうこととなる。図11に詳細な重み付け後の類似度分布(図10(c)に対応する類似度の数値分布)を示す。画面内で最も類似度が高いブロックはブロック701となり、今まで追尾していたボールの位置(ブロック711)から、追尾対象位置が移動してしまう(723)。さらに、ThRatio=40%として(式4)を適用すれば、有効色類似度は26%=67*40/100となり、類似度が26%以上の図中網掛けの領域が追尾対象領域703として検出されてしまう。
【0057】
追尾対象がボールの部分であるブロック711(追尾対象位置の移動元)から家の壁の部分であるブロック701(追尾対象位置の移動先)へ乗り替わる際の移動間(線分723)の類似度の状況から、他の物体への誤追尾が発生したことを推測できる。図12に、図11に示したボール位置(ブロック711)と家の壁(ブロック701)を結ぶ線分723上のブロックの類似度の分布を示す。ボール位置(ブロック711)の座標(18,14)から家の壁701の座標(14,10)を結ぶ線分723には、座標(17,13),(16,12),(15,11)の3ブロックが存在している。これらブロックの各々の類似度は、たとえば、先に(式4)にて算出した有効類似度26%と比較すると、座標(18,14)と、座標(16,12)(15,11)(14,10)はいずれも有効類似度を上回っていることが分かる。また、これに対して、座標(17,13)のブロックの類似度は有効類似度を下回っていることが分かる。このことから、ブロック711の位置とブロック701の位置との間には背景等の追尾対象以外の領域が存在することが推測され、さらにブロック711の位置とブロック701の位置は別々の物体である可能性が高いことが推測される。このように、追尾対象位置の移動元、移動先が共に有効類似度以上であり、かつ、移動元と移動先を結ぶ線分上に存在するブロックのいずれかが有効類似度を下回っていることをもって、誤追尾が発生した可能性が高いことを検出することが可能となる。
【0058】
また、移動元と移動先の間の類似度分布(追尾対象位置の移動間の類似度分布)に基づく誤追尾の判定方法は、上述のような有効類似度を用いた判定に限定されるものではない。たとえば、移動元が第1の所定値以上、且つ、移動先が第2の所定値以上、且つ、移動間の線分上のブロックのいずれかが第3の所定値未満、というように、所定の値を用いて類似の判定を行うようにすることも可能である。なお、第1〜第3の所定値は適宜設定すればよく、それらすべてが同じ値であってもよいし、そうでなくてもよい。或いは、移動基と移動先における類似度と、移動間に存在するブロックの類似度のうちの最低の類似度との比が所定値を超える場合に誤追尾が発生したとする判定条件を用いることも可能である。
【0059】
上述した方法は、追尾対象と他の類似物体との接近速度がある程度遅い場合に有効に作用するが、接近速度が速い場合にこの方法により誤追尾が検出できない場合がある。なぜなら、上述の方法は追尾対象位置の移動間に背景等が存在することを検出できなければならないからである。このため、早い速度で急速に他の類似物体と接近して、移動間の背景を検出する間もなく追尾対象と他の類似物体が接触したり、あるいは交差したりしてしまった場合、誤追尾したことの検出が困難となる。
【0060】
その様子を図13に示す。図13(a)は、図6(c)のようにボールが位置415にあり、家の壁417と接触してしまった場合の類似度分布である。家の壁417とボールには類似度が分布しているが、お互いが接触しており、ボールの位置415を基点とした図13(b)の重み付けを行ったとしても、図13(c)に示すように、最高類似度は家の壁417の位置となってしまう。図13(c)に対応する詳細な類似度の数値分布を図14に示す。この場合、今まで、ボール位置であるブロック811を追尾していたところ、画面内の最高評価値が家の壁(ブロック801)となったことで、追尾対象位置がブロック811からブロック801へ移ってしまう。また、追尾対象領域を求めるために(式4)を用いて有効類似度=34%(=87*40/100)を算出すると、図中で網掛けで示した領域が有効類似度を持つと判定される。この結果、家の壁417はもとより、ボール(領域813)も含めた領域803が追尾対象領域として検出されてしまう。このように、他の類似物体と接触した場合、追尾対象と他の類似物体の類似度は一体化し、誤追尾となってしまう。
【0061】
この誤追尾発生の瞬間を捕えるために、図12と同様に、移動元、移動先、移動間の類似度の分布状況を検査してみる。図15に類似度分布を示す。図15からは、移動間の線分上に存在するブロック(15,12)(15,11)の類似度は高く、図12のように異なる物体間の移動であることを推測するのは困難な状況である。そこで、追尾対象位置の移動距離と、追尾対象領域サイズの変化に着目する。
【0062】
追尾対象位置は座標(16,13)から座標(14,10)へ3ブロックも移動しており、かつ、追尾対象領域サイズは、ボールを囲う領域813のサイズから、家とボールを共に囲う領域803のサイズへ大きく変化している。もし追尾対象が、例えば遠くから近くへ寄ってくる距離方向への移動を行っている場合、サイズは急に大きくならずに徐々に大きくなることが想定され、また、追尾対象位置の変化と同時にサイズ変化が急激に発生することは通常考えづらい。そこで、追尾対象位置の移動距離が所定以上、追尾対象領域サイズの変化量が所定以上であることをもって、他の物体への誤追尾が発生したことが推測可能となる。
【0063】
このとき、追尾対象領域サイズの変化は、領域の面積としても良いし、領域が矩形であれば水平サイズや垂直サイズの変化量、または対角線長の変化量をもって、追尾対象領域サイズの変化量としても良い。
【0064】
このように、追尾対象と追尾対象と類似する他の物体が急速に接近し、接触、交差が発生した場合であっても、追尾対象位置と追尾対象領域の変化量を監視することで誤追尾の発生を検出することが可能となる。
【0065】
以下に追尾動作、および誤追尾検出の流れをフローチャートで示していく。
【0066】
図16は本実施例の追尾方法を搭載したカメラ100の全体フローである。カメラ100の電源投入ボタン102が押下されてから、システム制御部60におけるCPU起動、メモリ等への電源供給が行われ、カメラシステム(システム制御部60)が起動する(S101)。その後、カメラでの撮影動作に必要なレンズ10(鏡筒部)の繰り出し処理や、メカニカルシャッター12、メカ絞り14といった各種デバイス、撮像素子16、画像表示装置108などのデバイスが起動される(S103)。カメラ起動直後から画像表示装置に被写体像のライブビュー表示を行う場合、システム制御部60は、ライブビューに表示される画像の露出、色、ピントが適切になるように、AE/AWB/AF処理を開始する(S105)。その後、画像表示装置108にライブ画像が出力され始める(S107)。
【0067】
システム制御部60は、ライブビュー表示中にカメラ操作者により、本実施形態の被写体追尾機能を発動するか否かの指示がなされているかをチェックする(S109)。追尾対象の指示は、図3において上述したように、
・あらかじめ画像表示装置に指定枠311を表示し、指示ボタンが押下された時点の指定枠内に存在する物体を追尾対象とする、
・タッチパネル式の画像表示装置において、画面の任意の位置を押下することでその位置(たとえば押下位置313)の物体を追尾対象とする、
などにより行うことができる。追尾対象指定がある場合、システム制御部60は追尾対象の特徴抽出処理を行い(S110)、図4(b)に示したように追尾対象の特徴をメモリ(たとえば一時記憶メモリ30)に記憶する。ライブビュー表示中、システム制御部60は、ライブ画像の露出、色、ピントを被写体に合わせ続けるためのAE/AWB/AF処理を行う(S113,S115,S117)。また、これらと並行して、追尾が開始されていれば(S111、YES)、システム制御部60は、図17の追尾対象探索処理を実行し(S201)、その追尾結果はたとえばAF処理でのピント合わせ処理や、AE処理に用いられる。
【0068】
システム制御部60は、撮影準備指示としてのSW1ボタンの押下を検出すると(S121)、静止画撮影のための絞り値やシャッター速度、ISO感度を決定するためのAE、主被写体にピントを合わせるためのAFを行う(S123、S125)。通常、SW1押下をもって静止画撮影の準備が整ったとし、撮影開始指示としてSW2が押下されることを待つばかりとなる。しかしながら、被写体追尾が発動されている場合には動体被写体である場合が多いため、システム制御部60は、SW1ボタンを保持している間にも追尾対象探索処理を行う(S201)。また、システム制御部60が、その追尾結果を用いて被写体の変化に応じてAE、AFを行うように構成しても良い(S133,S135)。システム制御部60は、SW2が押下されたことを検出すると(S141)、撮影処理を行う(S161)。ただし、低照度環境下での撮影や逆光シーンでの撮影で、ストロボ発光が有効な場合にはストロボ発光量を決定するための調光動作が撮影前に行われる(S153)。撮影が行われた後は、SW1ボタン、SW2ボタンの押下状況に応じて、ライブビュー処理が再開される。
【0069】
図17に、本実施形態による誤追尾検出を含む追尾対象探索の処理を示す。
【0070】
まず最初に、システム制御部60は、前回の追尾処理の実行時の追尾対象情報として追尾対象の位置PreTargetPosX,Y、領域サイズPreTargetSizeX,Y、前回の追尾対象位置の類似度PreTargetEvaを取得する(S203)。なお、「前回の追尾処理」とは処理の対象となっている現在の処理対象のフレームよりも過去のフレームの画像に対する追尾処理のうち、もっとも最近の追尾処理である。また、フローチャート中に記載している評価値とは、“類似度”と同義である。このとき、追尾開始後の初めての追尾であれば前回の値が存在しないため、初期情報として追尾対象位置には追尾対象指定位置、領域サイズおよび類似度にはそれぞれ所定値が用いられるものとしておく。
【0071】
次に、システム制御部60は、追尾対象位置PreTargetPosX,Yを基点として、図7(a)または(b)で説明した重みテーブルを生成する(S205)。続いて、システム制御部60は、図16のS110において記憶した追尾対象の特徴色と各ブロックの類似度を算出していく(S207)。このとき、先のS205で算出しておいた重みテーブルを参照し、重み値がある程度大きい値を持っているブロックについてのみ類似度を算出するようにしても良い。これは、重み付け後の類似度が所定値を下回っているブロックはそもそも追尾対象とは成り得ないため、無駄な類似度算出処理を省くためにも実施したほうがよい。
【0072】
次に、システム制御部60は、算出した類似度への重み付けを行う(S209)。これは、図8、図10、図13において、(a)に示す重み付け前類似度分布と(b)に示す重みテーブルを用いて、(c)に示す重み付け後類似度分布を生成する処理に相当する。続いて、システム制御部60は、重み付けを行った類似度分布内から最高評価値を抽出し(S211)、その最高評価値が所定値ThTargetEva1を上回っているかを確認する(S213)。所定値ThTargetEva1を下回っていた場合、システム制御部60は、記憶した追尾対象の特徴色と類似するブロックが画面内に見つからなかったと判断し、追尾結果として“LOST”と判定する(S215)。
【0073】
一方、最高評価値が所定値を上回っていた場合、システム制御部60は、その最高評価値位置を今回の追尾対象位置TargetPosX,Yとして仮確定する(S217)。ここで仮確定と表記したのは、このあとに行う誤追尾検出により追尾対象位置が採用されない可能性があるためである。さらに、システム制御部60は、TargetPosX,Yのブロックを含み、所定値以上の類似度を持つブロックが連続した領域を含む矩形領域を追尾対象領域TargetSizeX,Yとして検出する(S219)。ここで連続領域判定に使用する所定値は式4で算出した有効色類似度を用いても良い。
【0074】
システム制御部60は、新たな追尾対象位置TargetPosX,Yが仮確定したのち、誤追尾が発生していないかを検査する。まずは追尾対象から他の類似物体への乗り移りがチェックされる。このため、システム制御部60は、図12で説明したように、前回の追尾対象位置PreTargetPosX,Yと、今回の追尾によるTargetPosX,Yの移動間に存在するブロックの類似度分布をとる。そして、この類似度分布から、移動間の最小評価値MinEvaを抽出するS221。
【0075】
システム制御部60は、追尾対象と類似する色を持つ他の物体への誤追尾が発生していないかをチェックするための条件として、
・今回の追尾対象位置の類似度MaxEvaが第1の所定値ThTop1超であること、
・前回の追尾対象位置の類似度PreTargetEvaが第2の所定値ThTop2超であること、
・追尾対象位置の移動間の最小評価値MinEvaが第3の所定値ThBottom未満であること、
の3つが成り立つことをもって、他の物体への誤追尾発生と判断する(S223)。なお、この判断条件は一例にすぎず、「追尾対象位置の移動間の最小評価値MinEvaが第3の所定値ThBottom未満であること」のみをもってご追尾の発生を判定するようにしてもよい。誤追尾発生と判断された場合、すなわち、ステップS217で仮確定された追尾対象位置が追尾対象外であると判定する。誤追尾発生が検出された場合には、ただちに当該追尾対象に関する追尾処理を中止するようにしてもよいが、以下のような更に2つの選択肢を設ける処理を行ってもよい。すなわち、システム制御部60が、前回の追尾対象位置の類似度が所定値ThTargetEva2より大きいか否か、換言すれば、前回の追尾位置のままでもある程度の類似度を持っているか否かを判断する。そして、前回の追尾位置のままでもある程度の類似度を持つと判断したならば、システム制御部60は、新たに検出した追尾対象位置へ移動することなく、前回の追尾位置を保持する。すなわち、S217で仮確定したTargetPosX,Yに、前回の追尾対象位置PreTargetPosX,Yを書き戻すことで追尾位置を保持するようにする(S229,S231)。他方、S225にて類似度が所定値ThTargetEva2を下回っている場合、システム制御部60は、前回の追尾対象位置には類似する物体が既にいなくなっている判断し、追尾を中断するために“LOST”と判定する(S227)。
【0076】
S223にて異なる物体への乗り移りではないと判断された場合、システム制御部60は、異なる物体との接触、交差が発生していないかを検査する。システム制御部60は、誤追尾判断材料として、前回との追尾対象位置からの移動量を算出し(S233)、前回の追尾対象領域サイズからの追尾対象領域サイズの変化量を算出する(S235)。そして、システム制御部60は、移動量ΔPosが第4の所定値ThPosを上回っているか、サイズ変化量ΔSizeが第5の所定値ThSizeを上回っているかをチェックする。移動量、サイズ変化量ともに所定値を上回っている場合、システム制御部60は、図14に示したような他の物体との接触による誤追尾が発生したと判断する(S237)。システム制御部60は、S237で誤追尾発生を検出した場合は、追尾結果として、追尾を中断する意味で“LOST”と判定する(S239)。システム制御部60は、S237で誤追尾が検出されなかったことをもって追尾が成功したと判断し、その追尾結果として追尾対象位置TargetrPosX,Y、追尾対象領域TargetSizeX,Yを検出したことが確定“FIND”する(S241)。
【0077】
S231,S241にて追尾対象位置と領域が確定した結果は、画像表示装置に表示するライブ画像に追尾枠を重畳描画して、操作者に視覚的に提供されることとなる。なお、S227,S239にて誤追尾の発生が検出された場合、追尾動作を自動的に中断して追尾枠情報の描画も消去し、さらに追尾中断の旨を画像表示装置に表示したり警告音で知らせる形態としてもよい。
【0078】
なお、S233〜S237の処理において、サイズの変化量と追尾対象位置の移動量を用いたが、サイズの変化量のみを用いるようにしてもよい。追尾対象位置の移動量は、フレームの取得タイミングに左右されるためである。
【0079】
以上のように、追尾対象特徴との類似度を用いた追尾を逐次実行する際、同時に誤追尾検出処理も行い、追尾結果の更新/保持/中断を正しく判断することが可能となる。
【0080】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0081】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、指定された追尾対象を追尾するための装置および方法に関する。
【背景技術】
【0002】
任意の対象物を追尾する方法として、
・記憶したテンプレート画像、もしくは追尾実施時に逐次更新されるテンプレート画像との一致度の高い領域を探すパターンマッチング法、
・現フレームと前フレームとの画像差分から対象位置を探す相対差分法、
・対象物から単一あるいは複数の色や輝度、もしくはヒストグラムを抽出し、それらと一致度の高い領域を探索する色・輝度一致法、などが知られている。
【0003】
パターンマッチング法は、静止物へのサーチに関しては高い精度が実現できる反面、対象物と追尾装置との距離変化、対象物の回転、追尾装置自体の縦横方向などの姿勢変化、などの動きのある状況での追尾性能が十分ではなかった。相対差分法は、対象の前に他の物体が横切ったり、対象が完全にフレームアウトした後に追尾できなくなるという欠点があった。色・輝度一致法は、追尾対象の動きにはある程度対応できるが、色や輝度の分布だけでは対象を特定する能力が低く、類似する色や輝度が背景に多く分布する状況での性能が十分ではなかった。
【0004】
また、各種追尾方法の追尾性能には限界があり、追尾できなくなる場合が存在するが、追尾対象が画角内から消失したのか、追尾性能限界により他の物体へ誤追尾したのか、など、現在の追尾状況を正しく把握することも困難な場合があった。
【0005】
このような課題に対し、追尾性能を向上させる様々な提案がなされている。追尾対象以外の物体との交差による追尾対象の消失に関して、特許文献1は、追尾対象消失直前の特徴を記憶し、その特徴を用いて追尾対象再出現時の追尾を可能とした構成を記載している。また、特許文献1では、複数の移動体の総面積の時間変化により、他の物体との接触の有無、交差、などの状態判断を行っている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特願平4−320254号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、追尾対象の特徴を記憶し、その特徴に基づいて追尾を行う際、追尾対象と類似する特徴を持つ他の物体との接近、接触、交差などにより、他の物体を誤って追尾しはじめてしまう場合があった。また、誤追尾していることも認識できないためそのまま他の物体を追尾し、さらに、追尾対象と他の物体の位置が離れた後も、正常に追尾対象に復帰できずにいた。すなわち、追尾性能を向上する提案はあるものの、依然として追尾性能に限界があることは事実である。したがって、このような追尾性能の限界を踏まえ、誤追尾が発生した時点でこれを適切に検出し、自動的に追尾を中断したり、誤追尾が発生した可能性が高い旨を警告表示するといった処置が求められている。
【0008】
本発明は上記課題に鑑みてなされたものであり、追尾対象の特徴をもとに追尾を行う際に、誤追尾の発生を高精度に検出可能な追尾装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するための本発明による追尾装置は、以下の構成を備える。すなわち、
動画像のフレーム画像に追尾処理を実行することにより、追尾対象の位置を該追尾対象の特徴情報に基づいて追尾する追尾装置であって、
今回の追尾処理の対象のフレーム画像を複数のブロックに分割し、前記複数のブロックの各々について前記特徴情報との類似度を算出する類似度算出手段と、
前記類似度算出手段で算出された類似度が最も高いブロックを今回の追尾対象位置として検出する検出手段と、
前記検出手段により検出された前記今回の追尾対象位置と、前回の追尾処理の結果として得られた前回の追尾対象位置とを結ぶ線分が通るブロックを、前記対象のフレーム画像から得られた前記複数のブロックから抽出する抽出手段と、
前記抽出手段により抽出されたブロックの前記類似度算出手段により算出された類似度に基づいて前記検出手段が検出した追尾対象位置が追尾対象外であると判定する判定手段と、を備える。
【発明の効果】
【0010】
追尾対象の特徴を元に追尾を行う際、誤追尾の発生を精度良く、かつ簡易な構成で検出する。誤追尾の検出が可能となることで、追尾の自動中断、操作者への警告表示なども可能となる。
【図面の簡単な説明】
【0011】
【図1】実施形態によるデジタルカメラ100の全体ブロック図。
【図2】デジタルカメラ100の外観図。
【図3】実施形態による対象の追尾方法を説明する図。
【図4】実施形態による対象の追尾方法を説明する図。
【図5】類似度分布の一例を示す図。
【図6】追尾対象の別の例を示す図。
【図7】重みテーブルを説明する図。
【図8】重みテーブルの作用による類似度分布の変化を説明する図。
【図9】図8(c)の類似度分布を数値により示した図。
【図10】誤追尾が発生する類似度分布を説明する図。
【図11】図10(c)の類似度分布を数値により示した図。
【図12】誤追尾の検出方法を説明する図。
【図13】誤追尾が発生する類似度分布の他の例を示す図。
【図14】図13(c)の類似度分布を数値により示した図。
【図15】誤追尾の検出方法を説明する図。
【図16】実施形態による追尾処理を説明するフローチャート。
【図17】実施形態による追尾処理を説明するフローチャート。
【発明を実施するための形態】
【0012】
以下、添付の図面に沿って本発明の好適な一実施形態を説明する。図1は、実施形態によるデジタルカメラ100(以下、カメラ100)のシステム全体の構成例を示すブロック図である。
【0013】
レンズ10により外光を集光する。レンズ駆動回路42にてレンズ10の位置を光軸に沿って前後に動かすことで焦点を調節したり、画角を調節したりする。手ブレ補正回路40は、ブレ量検知回路44で測定したカメラのブレ量を元にレンズ10を駆動し、手ブレをキャンセルするようにレンズ10の位置を光軸に沿って変化させることで光学的な手ブレ補正を行う構成となっている。ブレ量検知回路44には、ジャイロセンサーが含まれている。なお、図1ではレンズを駆動することで手ブレ補正を実現しているが、撮像素子16を駆動することで同様に手ブレを補正することも可能である。レンズ10を含む鏡筒部を繰り出し及び繰り込みさせる方式とし、カメラ未使用時の本体体積を小さくして携帯性を高めるようにしてもよい。レンズ10を通過した光は絞り14により、その光量が調節される。システム制御部60は、絞り制御情報を絞り駆動回路26に伝達することで、絞り14を制御する。絞り14には、複数枚の羽から構成された虹彩絞りや、あらかじめ板を様々な径で穴を打ち抜いた丸絞りなど、周知のいかなる絞りが用いられてもよい。システム制御部60はこれらの絞り14と絞り駆動回路26を用い、被写体輝度が高い場合は絞りを絞って光量を落とすように制御し、被写体輝度が低い場合は絞りを開放にして光を多く取り込むように制御する。また、光路上にNDフィルタを挿抜できる構成として絞りと同様に光量を調節するようにすることもできる。また、システム制御部60は、メカニカルシャッター制御情報をメカニカルシャッター駆動回路28に伝達することで、メカニカルシャッター12を制御することが可能である。静止画撮影時の露光時間は、メカニカルシャッター12の開閉時間により決定され、この時間はシステム制御部60が時間を判断し、メカニカルシャッター駆動回路28に指示を出す。
【0014】
レンズ10、メカニカルシャッター12、絞り14を通過した光は撮像素子16に受光される。システム制御部60は、撮像素子制御信号をタイミング発生器(以下、TG(Timing Generator))24に伝達することで、撮像素子16を制御することができる。TG24は、システム制御部60から受信した制御情報をもとに撮像素子16を駆動する。撮像素子16は素子への露光と、露光したデータの読み出し作業を周期的に行っており、この作業はTG24からの駆動信号を基準に行われる。撮像素子16で露光したデータのうち、特定のラインや特定の領域のみを読み出してくることが可能である。これは、TG24から出力される読み出し制御パルスにより読み出し方を変更することで実現できる。システム制御部60は状況に応じて最適な読み出し方式を決定し、TG24に指示する。例えば、静止画撮影時は高解像度が要求されるため撮像素子16の全データを読み出し、電子ビューファインダ時や動画撮影時は30fps/60fpsなどの高いフレームレートが要求されるため特定のラインだけ間引いて読み出す、といった使い分けを行う。なお、電子ビューファインダは、EVF(Electrical Viewfinder)とも称する。またTG24は、撮像素子16の露光時間を制御することが可能である。任意のタイミングで、素子がチャージした電荷を開放するように、TG24から撮像素子16へ駆動信号を出すことでこれを可能としている。
【0015】
撮像素子16から読み出された画像データは、CDS(Correlated DoubleSampler)回路18を通過する。CDS回路18は相関二重サンプリング方式により画像データのノイズ成分を除去することを主な役割とする。その後、画像データはPGA(Programmable Gain Amplifier)20に入力される。PGA20は、入力された画像データの画像データレベルを減衰/増幅することができる。システム制御部60は、増幅レベルをPGA20に伝達することで、増幅量を制御することができる。通常、撮像素子16の露出を適正にするには、絞り14で撮像素子16への露光量を適切に設定すると共に、シャッターにより露光時間を適切に設定することで実現される。デジタルカメラ100では、これに加えて、PGA20で画像データ信号を減衰/増幅することで、擬似的に画像データの露出を変える役割を担うことができる。これは、絞りやシャッター速度と並ぶ撮影時の露出条件の一つとして、感度という概念でユーザに機能提供される。
【0016】
画像データはA/D(Analog/Digital Converter)回路22にてアナログ信号からデジタル信号へ変換される。デバイスにより、デジタル信号のビット幅は10ビット、12ビット、14ビットなどがあり、後段の画像処理回路50は、複数種類のビット幅に対応可能である。図では、CDS回路18、PGA20、A/D22、TG24をそれぞれ別のブロックとして表現しているが、一つのICパッケージにこれらの機能を搭載したものを採用することも可能である。
【0017】
A/D22からデジタル化された画像データは画像処理回路50へ入力される。画像処理回路50は複数のブロックから構成され、さまざまな機能を実現している。
【0018】
撮像素子16はカラーフィルタを通して各画素ごとに特定の色成分を抽出するのが一般的である。A/D22からの画像信号は撮像素子16の画素及びカラーフィルタ配置に対応したデータ形式になっており、輝度成分のみを評価して露出制御を行う自動露出制御(AE: Auto Exposure Control)で使用するには適さない形式である。画像処理回路50は、画像信号から色情報を排除し、輝度情報のみを抜き出す機能を備えている。逆に、色情報のみを抽出する機能も備え、被写体の光源色を特定し、色を適切に調節するホワイトバランス処理に使用することができる。
【0019】
さらに、画像処理回路50は、撮像素子16から読み出された信号の周波数成分のみを抜き出す機能を備え、抜き出された周波数成分信号は自動フォーカス合わせ制御(AF: Auto Focus)時に使用することができる。また、画像処理回路50は、撮像素子16から読み出されたデータのどの領域の周波数成分を抽出するかを設定したり、また、領域内を分割設定したりする機能を備えている。また、AF処理時には、撮像素子16の駆動を測距に適した駆動にすることが可能である。撮像素子16を使用したテレビAFの場合、撮像素子16の駆動レート(フレームレート)に同期してフォーカスレンズを駆動する必要があるため、撮像素子16の駆動レートが高いほうが、フォーカスレンズを速く動かすことができる。このため、AF時のみ速い駆動レートになるように撮像素子16を駆動することができる。逆にフレームレートを遅くし、撮像素子16からより多くの画素データを読み出すようにすることで、画像処理回路50で周波数解析可能なデータが増え、より正確な測距が可能になるという面もある。このような撮像素子16の使い方は、カメラ100の撮影モードや、被写体の明るさに応じて適応的に決めることが可能である。
【0020】
さらに、画像処理回路50は、A/D22によりデジタル化された画像信号のレベルの増減、画像の色効果などを操作する機能を備え、撮影画像の画質を調節するという役割も担っている。画像信号のレベルに関しては、
・画像全体に一律の増幅率でレベルを増減させる機能、
・元の信号レベルの大小に応じて信号レベルを変換するトーンカーブ(ガンマ)機能、
・画面内の領域ごとの周波数成分に応じた増幅率でレベルを増減させる機能、
など、様々な画像信号レベル調節が可能となっている。
【0021】
A/D22からデジタル化された画像データは画像処理回路50へ入力すると同時に、一時記憶メモリ30に記憶することができる。一旦、一時記憶メモリ30に記憶した画像データは再度読み出すことができ、システム制御部60から画像データを参照したり、読み出した画像データを画像処理回路50に入力したりすることが可能である。さらに、画像処理回路50で画像処理した画像データを一時記憶メモリ30に書き戻したり、システム制御部60から任意のデータを一時記憶メモリ30に書き込んだりすることも可能である。
【0022】
画像処理回路50で適切に処理された画像データは、画像認識回路38に入力される。画像認識回路38は、入力された画像の明るさ状況、ピント合焦状況、色状況の認識に加え、人物の顔認識とその表情、文字がある場合はその文字情報を認識することが可能である。画像認識回路38には複数の画像を入力することが可能となっており、例えば2つの画像を入力し、その2つの画像の特徴を比較することで、同一の画像かどうかを判定することが可能となっている。画像認識回路38で画像を認識する方法に加え、システム制御部60でも画像認識処理を行うことができる。システム制御部60はCPU上であらかじめコーディングされたコンピュータプログラムを実行することができるが、一時記憶メモリ30に記憶された画像データをシステム制御部60から読み出し、その画像データを解析してシーンの状況を認識することができる。
【0023】
LCDなどの画像表示装置108に出力する場合、画像処理回路50で画像処理を行った画像データをVRAM34上に展開しておき、それをD/A36にてアナログデータに変換して画像表示装置108に表示する。電子ビューファインダは、撮像素子16から読み出される連続した画像を順次に画像表示装置108に表示更新していくことで実現される。VRAM34上に画像データを展開する際、1つの画像データを画像表示装置108に最も大きくなるように、または複数の画像をマルチ画面表示するように、など、様々な表示形態に対応するようにVRAM34上に展開することができる。
【0024】
画像表示装置108には、画像だけでなく任意の情報を単独、もしくは画像と共に表示することが可能である。カメラの状態表示や、ユーザが選択あるいはカメラが決定したシャッター速度や絞り値、感度情報などの文字情報や、画像処理回路50で測定した輝度分布のようなグラフや、顔認識結果、シーン認識結果等も表示可能である。情報の表示位置、表示色も任意に選択可能である。これら様々な情報を表示することで、ユーザインターフェースをとることが可能となる。また、画像表示装置108には、画像記憶媒体82に記憶されている画像データを表示することも可能である。画像データが圧縮されている場合、圧縮伸張ブロック32にて伸張し、VRAM34にデータを展開する。このデータをD/A34にてアナログデータに変換して出力する。
【0025】
画像記憶媒体82は不揮発性であり、主に撮影した画像データを記憶することが可能である。画像データの記憶に関しては、フォルダ階層を持たせたり、撮影した順にフォルダやファイル名が昇順に命名されるようにしたりすることが可能である。各画像データには、絞り値やシャッター速度、ISO感度などの撮影情報や、撮影した時刻などを付加することができ、それらを画像データと共に記憶することが可能となっている。さらに、記憶した画像データの読み出しはもちろん、画像の複製、移動、消去も可能となっている。ストロボ発光回路46は、システム制御部60の指示によりストロボユニット90を発光駆動する。操作部70は、図2により後述する各種操作スイッチを具備する。
【0026】
図2に、実施形態によるカメラ100の外観図を示す。カメラ100の前面にはレンズ10が配置され、被写体像をとらえることができる。レンズ10の同一面にストロボユニット90が配置されている。主被写体が暗い場合にストロボユニット90を発光させることで十分な光量を得ることができ、暗い中でも速いシャッター速度を保ち、好適な画像を得ることができる。図2ではレンズ10とストロボユニット90が同一面に配置されているがこの限りではなく、ストロボ光が直接主被写体に当たることを避けるために、ストロボがカメラ上部に向くように配置することも可能である。暗い環境下で人物をストロボ撮影した際、人物の目が赤く写ってしまう赤目現象が知られている。これは、暗い環境下では目の瞳孔が大きくなりやすく、その状態でストロボを発光するとストロボ光が網膜に映りこみ、それが写真として赤く写ってしまう現象である。この赤目現象を軽減するために、撮影前にストロボユニット90や他の投光装置をプリ発光させ、ここは明るい環境だと勘違いさせることで瞳孔を閉じさせることが可能となっている。
【0027】
カメラ背面に画像表示装置108が配置されている。前述したように、画像表示装置108には画像のみならず、文字情報やグラフ、アイコンなどを表示することができ、ユーザとインターフェースをとる重要な部材となっている。近年デジタルカメラでは電子ビューファインダが主流となっており、画像表示装置108に出力される連続画像を参照することで被写体を捕らえ、ファインダとして使用している。このとき、AEやAFにおける測光領域情報、測距領域情報をライブ画像に重畳して表示することも可能である。さらに、被写体の認識状況として、人物顔を認識した結果を人物顔に枠を重畳させて表示したり、青空、夕陽、逆光など、背景シーンの状況を認識してアイコンで表示したりすることなどが可能となっている。また、従来からの光学ファインダー106を併設する構成とすることも可能である。電子ビューファインダは、高い視野率を実現し易い、画像表示装置108の大きさによっては被写体を大きく見易い、撮影画像とファインダー画像の画角差(パララックス)が無い、などのメリットがある。またその反面、撮像素子16や画像表示装置108を動作させるための電力が必要となり、電池の消耗が懸念される。このため、電池の消耗を避けて多くの撮影枚数が望まれる場合には、電子ビューファインダ機能をOFFし、光学ファインダー106を使用するという使い方も可能である。
【0028】
電源投入ボタン102は、カメラ100の電源オン/オフ操作を行うためのスイッチである。モード切替スイッチ110は、静止画撮影モード、動画撮影モード、再生モードなどのカメラ動作モードを切り替えることができる。図では、数モードを切り替え可能な部材として表現しているが、撮影する特定のシーンに最適化した、風景撮影モードや人物撮影モードなどの多くの静止画モードを備えることも可能である。
【0029】
パラメータ選択スイッチ151,153,155,157,159により、測距領域や測光モードをはじめとする撮影時の撮影条件の選択や、撮影画像再生時のページ送り、カメラの動作設定全般などをユーザが選択することができる。さらに前述の電子ファインダーのOn/Offを選択することもできる。また、画像表示装置108は画像を表示すると共に、タッチパネルとして入力装置となる構成とすることもできる。
【0030】
カメラ上部に撮影準備&開始ボタン104が配置されている。撮影準備&開始ボタン104は一つの操作部材であるが、ボタンを浅く押下する場合(SW1動作)と深く押下する場合(SW2動作)の2段階の押下操作を実現可能である。カメラで自動露出制御や自動ピント制御を行うカメラの場合、撮影準備&開始ボタン104を浅く押すことで撮影準備として自動露出制御とピント制御が行われ、深く押すことで静止画撮影や画像認識の指示を行う操作が実現可能である。
【0031】
自動露出制御は、モード切替スイッチ110で選択されている撮影モードで好適な露出を得るように動作する。撮影モードには、ポートレートモードや風景モード、夜景モード、といった特定の被写体に特化したものや、オートモードといった汎用的なモードがある。また、シャッター速度優先モードや絞り優先モードなど、撮影時のシャッター速度や絞り値をあらかじめユーザが指定しておくモードもある。これらのモードでは、PGA20で設定する撮影感度を自動で好適に選択設定することや、あらかじめユーザが感度を指定することが可能である。ユーザがあらかじめ感度を指定する際、撮影感度を上げるほど画像信号のS/Nが低下するため、画質を優先したいユーザは低感度を選択することが想定される。またAF制御は、各撮影モードで好適なピンと合わせが可能なように動作を切り替えることができる。
【0032】
以上のような構成からなるカメラ100において、撮影対象となる主被写体のピントや明るさを好適な条件で撮影するために、主被写体として指定された追尾対象の追尾を実現する方法について述べる。以下、システム制御部60において、不図示のコンピュータが不図示のメモリに格納されたコンピュータプログラムを実行することで追尾処理を実行するものとして説明する。なお、追尾処理は、動画像として取得されたすべてのフレームについて実行されてもよいし、1フレームおきといったように、選択されたフレームについて実行されてもよい。
【0033】
図3(a)にこれから撮影しようとするシーンの一例を示す。画面301の中央に人物303が位置し、この人物がボール305で遊んでいる様子を示している。このようなシーンのピントや明るさが好適になるように撮影するには、たとえば、
・人物顔検出機能により検出された顔検出結果を用い、顔の位置やサイズに合わせて測距領域や測光領域を顔近傍に設定し、
・設定された測距領域や測光領域から得られた距離情報や輝度情報を用いてAF、AEを行う、
というような形態が知られている。また、顔検出機能が搭載されていない場合、画面内に測距領域を複数設定し、それぞれから得られた距離情報を総合的に判断し、たとえば近距離側を優先してAF制御を行うといった形態が知られている。
【0034】
これに対し、特定の対象や、その対象のある部位に対してピントを合わせ続けたい場合、その位置を指定可能な形態とし、かつその位置を追尾し続けることが望まれる。図3(a)では、画面301の中央に追尾対象指定枠(以下、指定枠311)が表示されている様子を示している。ユーザが任意のタイミングで操作部材153、撮影準備&開始ボタン104を押下した際、システム制御部60(追尾処理)はこの指定枠311を追尾対象指定の指示として解釈する。そして、システム制御部60は、指定枠311の内側あるいは近傍に存在する物体を追尾対象として記憶し、これ以降、当該追尾対象を追尾し続ける。また、画像表示装置108をタッチパネルとし、画面301内を押下されたタイミングを追尾対象指定の指示として解釈し、押下位置313の近傍に存在する物体を追尾対象として記憶、追尾し続けるようにすることもできる。タッチパネル搭載の場合、あらかじめ指定枠311を表示したり、ユーザが指定枠311内に追尾対象が入るように位置合わせしたりする必要がないといったメリットがある。
【0035】
図3(b)は、撮像した画像301を画像処理して画面内を均等に、複数の小領域(32×24)に分割した様子を示している。以下、このような小領域への分割をブロック分割といい、これら小領域の各々をブロックと称する。本実施形態ではこれ以降、図3(b)のようにブロック分割した低解像度画像を用いて追尾を実現する方法を説明する。
【0036】
操作者により、図3(a)の押下位置313が指定され、ボール305が追尾対象として指定されたものとする。この指定位置は、図3(b)に示した画面内ブロック分割イメージではブロック315に相当する(座標は(13,19))。システム制御部60は、このブロック315、あるいはその周辺のブロックから特徴情報を抽出しメモリ(例えば、一時記憶メモリ30)に記憶する。本実施形態では、特徴情報として画像情報が用いられ、たとえば、輝度情報、色情報、コントラスト情報、エッジ情報、などがあり、これらを単体あるいは複数抽出する。
【0037】
例として、RGB形式にて特徴情報を抽出して記憶した様子を図4(b)に示す。特徴色は複数記憶することができる(図4の(b)ではn個の特徴色を記憶している)。たとえば、図3(b)のブロック分割イメージにおいて、座標(13,19)のRGB、座標(14,19)のRGB、座標(13,20)のRGB、…、といったように複数色を記憶できる。特徴情報の抽出にあたっては、あらかじめ指定されたブロック315の周辺の色分状況を確認し、分布が多い色は背景色の可能性が高いとして追尾対象特徴色から除外するなどの処理を行うことが好ましい。また、特徴となりうる色が複数あった場合、いずれの特徴色を優先して追尾するかを順位づけし、図4(b)の記憶領域に優先度順に記憶することもできる。複数色の優先度順位付けの一つの方法としては、指定されたブロック315付近に分布する色のうち、面積の小さいモノを優先することがあげられる。これは、追尾対象が持つ色の中で、面積の小さい色ほど追尾対象を特徴づける重要な色になりうる、という考えに基づいたものである。またカメラ100が自動で複数の特徴色を抽出するのではなく、操作者が追尾対象内の複数の位置を指定できるようにし、優先度順とともに追尾対象の特徴色を複数記憶可能とする形態としてもよい。
【0038】
システム制御部60は、以上のようにして追尾対象の特徴情報を抽出すると、追尾動作に入る。被写体の動画像を構成するフレーム画像は所定周期で順次生成され続けており、システム制御部60は、これらフレーム画像の中から追尾対象の特徴と類似する領域を探索し、類似度が高い領域を追尾対象とする作業を行う。まず、システム制御部60は、図3(b)のように、画面内をブロック分割し、各ブロックごとに記憶した特徴との類似度を算出していく。(式1)(式2)(式3)に、本実施形態の追尾処理が類似度算出時に用いる式を示す。
【0039】
(式1)では、記憶済みの特徴色R(N)、G(N)、B(N)と、画面内の各ブロックの色R(X,Y)、G(X,Y)、B(X,Y)の差分値ΔR(X,Y)、ΔG(X,Y)、ΔB(X,Y)を算出している。
【数1】
ここで、N=特徴色番号(1〜n)、X=水平ブロック数、Y=垂直ブロック数である。
【0040】
本実施例では、RGB形式を用いて特徴色を表現しているため、3要素についてそれぞれ差分値を求める。追尾対象の特徴色がn個記憶されている場合、式中のNが1〜nのそれぞれについて演算が行われる。こうして、同一ブロックに対して1つまたは複数の(n個の)特徴色との差分値を算出していく。複数の特徴色を記憶した際、どの特徴色の差分値を採用するかの決定方法には様々な方式がある。例えば、図4(b)に示した優先順に応じて差分値を算出していき、差分値が所定未満のものが見つかり次第その特徴色を採用する方式や、全ての特徴色との差分値を全て算出したのち、最も差分値が小さい特徴色を採用する方式もある。
【0041】
続いて、(式1)にて算出された差分値が所定値ThRGB未満であるかを以下の(式2)にてチェックする。
【数2】
ここで、ThRGB=所定値である。
【0042】
これは、ブロックの色と特徴色との色差分値が少なくともThRGB未満であることをもって、色が類似していることを判断するものである。本実施形態ではThRGBは所定値としているが、状況に応じてThRGBを適応的に変化させることも可能である。例えば、追尾対象の特徴色と類似する色が画面内に多く分布している場合、追尾対象と背景を見分けることが困難となる。そのため、このような場合にThRGBをより小さく設定して色の差分条件をより厳格に設定すれば、誤追尾の発生を軽減することが可能となる。
【0043】
色差分値が(式2)の条件を満たしたブロックに対し、以下の(式3)を用いて各ブロックの色類似度を算出する。
【数3】
【0044】
色類似度は、各色差分値ΔR、ΔG、ΔBがThRGBの範囲内でどの程度似ているかを混合したものとなる。ΔR、ΔG、ΔBの最小値を0、最大値を255で表すものとした場合、例えば、ThRGB=40、ΔR、ΔG、ΔBの3色が共に20の場合、そのブロックの色類似度は50%となる。同様に、ΔR、ΔG、ΔBがすべてゼロの場合、特徴色と完全一致していることとなりそのブロックの色類似度は100%となる。これに対してΔR、ΔG、ΔBがすべて40の場合、ThRGBの範囲では全く似ていないこととなり色類似度は0%となる。ちなみに、(式2)の条件を満たさない場合も全く似ていないこととし、該当ブロックの色類似度はゼロとする。
【0045】
このように画面内の各ブロックごとに色類似度を算出した結果、例えば図5(b)に示す類似度分布が得られ、図3で指定した追尾対象であるボールの領域にのみ類似度が高く出る様子が分かる。図5(a)に示した類似度の数値詳細例からは、類似度が100%となっているブロック321が画面内における最高類似度を示していることが分かり、このブロック位置が追尾対象位置であると判断される。この検出結果として追尾対象位置をユーザに示す場合、最高類似度ブロック位置を点としてそのまま表示しても良いが、類似度がある程度高いブロックからなる連続領域を追尾対象領域として矩形枠で囲むように画像に重畳表示しても良い。その際、どのブロックが追尾対象領域に含まれるかを算出する必要がある。本実施形態では画面内の最高類似度に所定係数ThRatioを乗じた有効色類似度を上回っているか否かでそれを判断する。
【0046】
【数4】
ここで、ThRatio=所定値である。
(式4)によれば、最高評価値が100%、ThRatioが40%の場合、有効色類似度は40%となり、類似度が40%以上の連続領域が追尾対象領域となる。図5(a)の例では網掛けで示した連続領域がそれに該当し、この連続領域を囲ったもの(本実施形態では、連続領域を内包する矩形)が表示すべき追尾対象領域317となる。この追尾対象領域を画像に重畳表示したイメージが図3(c)となる。
【0047】
以上のように、記憶した追尾対象の特徴との類似性の高い領域を探索することで追尾を実現するが、追尾対象以外に類似性の高い他の物体が画面内に現れた場合、誤追尾が発生することがある。本実施形態では色の類似度を用いる方式で説明しているが、例えばコントラスト情報や画素パターンによる類似度算出を行ったとしてもやはり追尾性能には限界があり、いずれの追尾方式を用いても他の類似物体への誤追尾の懸念は存在する。そのため、誤追尾が発生したことを検出することが望まれている。
【0048】
以下、図6(a)〜(c)を参照して誤追尾発生の一例を説明する。図6(a)の画面401において、追尾対象として真っ白なボールの位置411が指定され、追尾対象領域421が検出されて追尾が正常に開始されたものとする。しかしその後、図6(b)、(c)に示されるように、ボールが位置413,位置415へと転がり、ボールと類似する色を持つ真っ白な壁417との距離が近づいてくると、追尾処理は壁417が追尾対象だと勘違いして誤追尾が発生してしまう場合がある。すなわち、追尾対象領域が421→423→425→427のように認識され、図6(c)に示すように位置419にあるボールを追尾しなくなる場合がある。
【0049】
このような誤追尾の発生を軽減するために、現在検出できている追尾対象位置を基点に、算出した各ブロックの色類似度に対して重みをかける方法がある。たとえば、現在検出できている追尾対象位置付近には重みを強めにかけ、画面端に向けて距離が離れるほど重みを軽くする。こうすることで、離れた位置に現れた類似度の高い他の物体の類似度を低下させ、画面内に現れた他の類似物体へ急に追尾対象領域が乗り移ってしまわないようにすることを実現する。
【0050】
図7(a)に重みの算出例を示す。図中のTargetPos501は、現在検出できている追尾対象位置である。このTargetPos501を基点に、2つの関数曲線WeightRatioIn523と、WeightRatioOut533を繋げ、画面端に向けて重みが軽くなる曲線を構成する。
【0051】
【数5】
X=水平ブロック数、Y=垂直ブロック数である。
【0052】
WeightRatioIn523は、TargetPos501から距離DistDown511だけ離れた位置までの曲線を形成する。このとき係数WeightDownRatio503により、WeightRatioIn523の端点となるDistDown511においてどの程度重みを下げるかを任意に設定する。例えば、背景を含む画面内の色分布状況に応じて可変させることが可能であある。より具体的には、追尾対象と同系色の色が画面内に多く分布している場合、DistDownより画面端側の重みが軽くなるように係数WeightDownRatio503を設定し、背景への誤追尾発生を軽減する設定にすることが可能である。続いて、DistDown511以降からDistZero513までの領域は、WeightRatioOut533により徐々に重みが低下する曲線を描く。これらの曲線に基づいて各ブロック位置(X,Y)の重み値を算出していく。
【0053】
図7(b)に、さらに単純な重みの算出例をもう一つ示す。図7(b)に示されているのは、TargetPos501を基点に、重み下げ位置DistZero513まで直線でつなぎ、各ポジションの重みを算出するといった方法である。ただし、このような単純な線分の場合、現在の追尾対象位置TargetPos501に対して追尾対象が移動した場合、TargetPos501から少し距離が離れただけで、高い類似度が出ていても類似度が低下してしまう。このため、追尾性能が低下してしまうという懸念があり、設定する線分の傾きには注意しなければならない。
【0054】
図6で示した誤追尾例に対し、たとえば図7(a)で示した重み処理がどのように有効に作用するかを説明する。
【0055】
図6(a)においてボールが位置411にある場合に算出された類似度の分布を図8(a)に示す。家の白い壁に、類似度が高くかつ大面積の領域が存在している。これに対し、ボールは追尾対象ではあるものの、追尾開始時点から遠方へ転がることで類似度が低くなっている様子を示している。このように、追尾開始後に追尾対象の移動、回転、環境光の変化、などにより、類似度が低下する現象はしばしば発生し、このような状態において類似度の高い他の物体が現れた場合、そちらへ誤追尾する可能性がより高くなってしまう。そこで、図7(a)で示した重み算出により、現在の追尾対象位置である位置411を基点とする図8(b)に示した重みテーブルを求める。この重み分布により、ボール位置付近の重みが強く、画面端に向かって重みがかからなくなる様子が分かる。図8(a)の類似度分布と、図8(b)の重みテーブルを掛け合わせた結果、図8(c)の分布イメージとなる。重みづけ前は図8(a)のように家の壁が最も類似度が高い領域となっていたが、重み付けにより家の壁の類似度が低下し、図8(c)に示すようにボール付近(位置411付近)の類似度が画面内で最も高い領域となったことが分かる。図9は、図8(c)に対応する詳細な類似度の数値分布を示したものであるが、画面内で最も類似度が高いブロックは位置601のあるボール位置となる。さらに、ThRatio=40%として(式4)を適用すれば、有効色類似度は28%=70*40/100となり、類似度が28%以上の図中網掛けの領域が追尾対象領域として検出されることとなり、家の壁417への誤追尾を防ぐことができたことを示している。
【0056】
しかしながら重みづけを行っても、追尾対象と他の類似物体の距離が近づきすぎると、誤追尾が発生することがある。たとえば、図6(b)のようにボールが位置413にある場合に算出された類似度の分布を図10(a)に示す。家の白い壁417と位置413にあるボールの領域に類似度が分布しているのが分かる。これに対し、図10(b)に示したように位置413を基点とした重みを算出し、類似度分布に掛け合わせ、誤追尾を防ぐように図10(c)の分布を生成する。図10(c)をみると、重み付けを行ったものの画面内で最も類似度が高い領域は家の壁417となってしまい、この時点で誤追尾が発生してしまうこととなる。図11に詳細な重み付け後の類似度分布(図10(c)に対応する類似度の数値分布)を示す。画面内で最も類似度が高いブロックはブロック701となり、今まで追尾していたボールの位置(ブロック711)から、追尾対象位置が移動してしまう(723)。さらに、ThRatio=40%として(式4)を適用すれば、有効色類似度は26%=67*40/100となり、類似度が26%以上の図中網掛けの領域が追尾対象領域703として検出されてしまう。
【0057】
追尾対象がボールの部分であるブロック711(追尾対象位置の移動元)から家の壁の部分であるブロック701(追尾対象位置の移動先)へ乗り替わる際の移動間(線分723)の類似度の状況から、他の物体への誤追尾が発生したことを推測できる。図12に、図11に示したボール位置(ブロック711)と家の壁(ブロック701)を結ぶ線分723上のブロックの類似度の分布を示す。ボール位置(ブロック711)の座標(18,14)から家の壁701の座標(14,10)を結ぶ線分723には、座標(17,13),(16,12),(15,11)の3ブロックが存在している。これらブロックの各々の類似度は、たとえば、先に(式4)にて算出した有効類似度26%と比較すると、座標(18,14)と、座標(16,12)(15,11)(14,10)はいずれも有効類似度を上回っていることが分かる。また、これに対して、座標(17,13)のブロックの類似度は有効類似度を下回っていることが分かる。このことから、ブロック711の位置とブロック701の位置との間には背景等の追尾対象以外の領域が存在することが推測され、さらにブロック711の位置とブロック701の位置は別々の物体である可能性が高いことが推測される。このように、追尾対象位置の移動元、移動先が共に有効類似度以上であり、かつ、移動元と移動先を結ぶ線分上に存在するブロックのいずれかが有効類似度を下回っていることをもって、誤追尾が発生した可能性が高いことを検出することが可能となる。
【0058】
また、移動元と移動先の間の類似度分布(追尾対象位置の移動間の類似度分布)に基づく誤追尾の判定方法は、上述のような有効類似度を用いた判定に限定されるものではない。たとえば、移動元が第1の所定値以上、且つ、移動先が第2の所定値以上、且つ、移動間の線分上のブロックのいずれかが第3の所定値未満、というように、所定の値を用いて類似の判定を行うようにすることも可能である。なお、第1〜第3の所定値は適宜設定すればよく、それらすべてが同じ値であってもよいし、そうでなくてもよい。或いは、移動基と移動先における類似度と、移動間に存在するブロックの類似度のうちの最低の類似度との比が所定値を超える場合に誤追尾が発生したとする判定条件を用いることも可能である。
【0059】
上述した方法は、追尾対象と他の類似物体との接近速度がある程度遅い場合に有効に作用するが、接近速度が速い場合にこの方法により誤追尾が検出できない場合がある。なぜなら、上述の方法は追尾対象位置の移動間に背景等が存在することを検出できなければならないからである。このため、早い速度で急速に他の類似物体と接近して、移動間の背景を検出する間もなく追尾対象と他の類似物体が接触したり、あるいは交差したりしてしまった場合、誤追尾したことの検出が困難となる。
【0060】
その様子を図13に示す。図13(a)は、図6(c)のようにボールが位置415にあり、家の壁417と接触してしまった場合の類似度分布である。家の壁417とボールには類似度が分布しているが、お互いが接触しており、ボールの位置415を基点とした図13(b)の重み付けを行ったとしても、図13(c)に示すように、最高類似度は家の壁417の位置となってしまう。図13(c)に対応する詳細な類似度の数値分布を図14に示す。この場合、今まで、ボール位置であるブロック811を追尾していたところ、画面内の最高評価値が家の壁(ブロック801)となったことで、追尾対象位置がブロック811からブロック801へ移ってしまう。また、追尾対象領域を求めるために(式4)を用いて有効類似度=34%(=87*40/100)を算出すると、図中で網掛けで示した領域が有効類似度を持つと判定される。この結果、家の壁417はもとより、ボール(領域813)も含めた領域803が追尾対象領域として検出されてしまう。このように、他の類似物体と接触した場合、追尾対象と他の類似物体の類似度は一体化し、誤追尾となってしまう。
【0061】
この誤追尾発生の瞬間を捕えるために、図12と同様に、移動元、移動先、移動間の類似度の分布状況を検査してみる。図15に類似度分布を示す。図15からは、移動間の線分上に存在するブロック(15,12)(15,11)の類似度は高く、図12のように異なる物体間の移動であることを推測するのは困難な状況である。そこで、追尾対象位置の移動距離と、追尾対象領域サイズの変化に着目する。
【0062】
追尾対象位置は座標(16,13)から座標(14,10)へ3ブロックも移動しており、かつ、追尾対象領域サイズは、ボールを囲う領域813のサイズから、家とボールを共に囲う領域803のサイズへ大きく変化している。もし追尾対象が、例えば遠くから近くへ寄ってくる距離方向への移動を行っている場合、サイズは急に大きくならずに徐々に大きくなることが想定され、また、追尾対象位置の変化と同時にサイズ変化が急激に発生することは通常考えづらい。そこで、追尾対象位置の移動距離が所定以上、追尾対象領域サイズの変化量が所定以上であることをもって、他の物体への誤追尾が発生したことが推測可能となる。
【0063】
このとき、追尾対象領域サイズの変化は、領域の面積としても良いし、領域が矩形であれば水平サイズや垂直サイズの変化量、または対角線長の変化量をもって、追尾対象領域サイズの変化量としても良い。
【0064】
このように、追尾対象と追尾対象と類似する他の物体が急速に接近し、接触、交差が発生した場合であっても、追尾対象位置と追尾対象領域の変化量を監視することで誤追尾の発生を検出することが可能となる。
【0065】
以下に追尾動作、および誤追尾検出の流れをフローチャートで示していく。
【0066】
図16は本実施例の追尾方法を搭載したカメラ100の全体フローである。カメラ100の電源投入ボタン102が押下されてから、システム制御部60におけるCPU起動、メモリ等への電源供給が行われ、カメラシステム(システム制御部60)が起動する(S101)。その後、カメラでの撮影動作に必要なレンズ10(鏡筒部)の繰り出し処理や、メカニカルシャッター12、メカ絞り14といった各種デバイス、撮像素子16、画像表示装置108などのデバイスが起動される(S103)。カメラ起動直後から画像表示装置に被写体像のライブビュー表示を行う場合、システム制御部60は、ライブビューに表示される画像の露出、色、ピントが適切になるように、AE/AWB/AF処理を開始する(S105)。その後、画像表示装置108にライブ画像が出力され始める(S107)。
【0067】
システム制御部60は、ライブビュー表示中にカメラ操作者により、本実施形態の被写体追尾機能を発動するか否かの指示がなされているかをチェックする(S109)。追尾対象の指示は、図3において上述したように、
・あらかじめ画像表示装置に指定枠311を表示し、指示ボタンが押下された時点の指定枠内に存在する物体を追尾対象とする、
・タッチパネル式の画像表示装置において、画面の任意の位置を押下することでその位置(たとえば押下位置313)の物体を追尾対象とする、
などにより行うことができる。追尾対象指定がある場合、システム制御部60は追尾対象の特徴抽出処理を行い(S110)、図4(b)に示したように追尾対象の特徴をメモリ(たとえば一時記憶メモリ30)に記憶する。ライブビュー表示中、システム制御部60は、ライブ画像の露出、色、ピントを被写体に合わせ続けるためのAE/AWB/AF処理を行う(S113,S115,S117)。また、これらと並行して、追尾が開始されていれば(S111、YES)、システム制御部60は、図17の追尾対象探索処理を実行し(S201)、その追尾結果はたとえばAF処理でのピント合わせ処理や、AE処理に用いられる。
【0068】
システム制御部60は、撮影準備指示としてのSW1ボタンの押下を検出すると(S121)、静止画撮影のための絞り値やシャッター速度、ISO感度を決定するためのAE、主被写体にピントを合わせるためのAFを行う(S123、S125)。通常、SW1押下をもって静止画撮影の準備が整ったとし、撮影開始指示としてSW2が押下されることを待つばかりとなる。しかしながら、被写体追尾が発動されている場合には動体被写体である場合が多いため、システム制御部60は、SW1ボタンを保持している間にも追尾対象探索処理を行う(S201)。また、システム制御部60が、その追尾結果を用いて被写体の変化に応じてAE、AFを行うように構成しても良い(S133,S135)。システム制御部60は、SW2が押下されたことを検出すると(S141)、撮影処理を行う(S161)。ただし、低照度環境下での撮影や逆光シーンでの撮影で、ストロボ発光が有効な場合にはストロボ発光量を決定するための調光動作が撮影前に行われる(S153)。撮影が行われた後は、SW1ボタン、SW2ボタンの押下状況に応じて、ライブビュー処理が再開される。
【0069】
図17に、本実施形態による誤追尾検出を含む追尾対象探索の処理を示す。
【0070】
まず最初に、システム制御部60は、前回の追尾処理の実行時の追尾対象情報として追尾対象の位置PreTargetPosX,Y、領域サイズPreTargetSizeX,Y、前回の追尾対象位置の類似度PreTargetEvaを取得する(S203)。なお、「前回の追尾処理」とは処理の対象となっている現在の処理対象のフレームよりも過去のフレームの画像に対する追尾処理のうち、もっとも最近の追尾処理である。また、フローチャート中に記載している評価値とは、“類似度”と同義である。このとき、追尾開始後の初めての追尾であれば前回の値が存在しないため、初期情報として追尾対象位置には追尾対象指定位置、領域サイズおよび類似度にはそれぞれ所定値が用いられるものとしておく。
【0071】
次に、システム制御部60は、追尾対象位置PreTargetPosX,Yを基点として、図7(a)または(b)で説明した重みテーブルを生成する(S205)。続いて、システム制御部60は、図16のS110において記憶した追尾対象の特徴色と各ブロックの類似度を算出していく(S207)。このとき、先のS205で算出しておいた重みテーブルを参照し、重み値がある程度大きい値を持っているブロックについてのみ類似度を算出するようにしても良い。これは、重み付け後の類似度が所定値を下回っているブロックはそもそも追尾対象とは成り得ないため、無駄な類似度算出処理を省くためにも実施したほうがよい。
【0072】
次に、システム制御部60は、算出した類似度への重み付けを行う(S209)。これは、図8、図10、図13において、(a)に示す重み付け前類似度分布と(b)に示す重みテーブルを用いて、(c)に示す重み付け後類似度分布を生成する処理に相当する。続いて、システム制御部60は、重み付けを行った類似度分布内から最高評価値を抽出し(S211)、その最高評価値が所定値ThTargetEva1を上回っているかを確認する(S213)。所定値ThTargetEva1を下回っていた場合、システム制御部60は、記憶した追尾対象の特徴色と類似するブロックが画面内に見つからなかったと判断し、追尾結果として“LOST”と判定する(S215)。
【0073】
一方、最高評価値が所定値を上回っていた場合、システム制御部60は、その最高評価値位置を今回の追尾対象位置TargetPosX,Yとして仮確定する(S217)。ここで仮確定と表記したのは、このあとに行う誤追尾検出により追尾対象位置が採用されない可能性があるためである。さらに、システム制御部60は、TargetPosX,Yのブロックを含み、所定値以上の類似度を持つブロックが連続した領域を含む矩形領域を追尾対象領域TargetSizeX,Yとして検出する(S219)。ここで連続領域判定に使用する所定値は式4で算出した有効色類似度を用いても良い。
【0074】
システム制御部60は、新たな追尾対象位置TargetPosX,Yが仮確定したのち、誤追尾が発生していないかを検査する。まずは追尾対象から他の類似物体への乗り移りがチェックされる。このため、システム制御部60は、図12で説明したように、前回の追尾対象位置PreTargetPosX,Yと、今回の追尾によるTargetPosX,Yの移動間に存在するブロックの類似度分布をとる。そして、この類似度分布から、移動間の最小評価値MinEvaを抽出するS221。
【0075】
システム制御部60は、追尾対象と類似する色を持つ他の物体への誤追尾が発生していないかをチェックするための条件として、
・今回の追尾対象位置の類似度MaxEvaが第1の所定値ThTop1超であること、
・前回の追尾対象位置の類似度PreTargetEvaが第2の所定値ThTop2超であること、
・追尾対象位置の移動間の最小評価値MinEvaが第3の所定値ThBottom未満であること、
の3つが成り立つことをもって、他の物体への誤追尾発生と判断する(S223)。なお、この判断条件は一例にすぎず、「追尾対象位置の移動間の最小評価値MinEvaが第3の所定値ThBottom未満であること」のみをもってご追尾の発生を判定するようにしてもよい。誤追尾発生と判断された場合、すなわち、ステップS217で仮確定された追尾対象位置が追尾対象外であると判定する。誤追尾発生が検出された場合には、ただちに当該追尾対象に関する追尾処理を中止するようにしてもよいが、以下のような更に2つの選択肢を設ける処理を行ってもよい。すなわち、システム制御部60が、前回の追尾対象位置の類似度が所定値ThTargetEva2より大きいか否か、換言すれば、前回の追尾位置のままでもある程度の類似度を持っているか否かを判断する。そして、前回の追尾位置のままでもある程度の類似度を持つと判断したならば、システム制御部60は、新たに検出した追尾対象位置へ移動することなく、前回の追尾位置を保持する。すなわち、S217で仮確定したTargetPosX,Yに、前回の追尾対象位置PreTargetPosX,Yを書き戻すことで追尾位置を保持するようにする(S229,S231)。他方、S225にて類似度が所定値ThTargetEva2を下回っている場合、システム制御部60は、前回の追尾対象位置には類似する物体が既にいなくなっている判断し、追尾を中断するために“LOST”と判定する(S227)。
【0076】
S223にて異なる物体への乗り移りではないと判断された場合、システム制御部60は、異なる物体との接触、交差が発生していないかを検査する。システム制御部60は、誤追尾判断材料として、前回との追尾対象位置からの移動量を算出し(S233)、前回の追尾対象領域サイズからの追尾対象領域サイズの変化量を算出する(S235)。そして、システム制御部60は、移動量ΔPosが第4の所定値ThPosを上回っているか、サイズ変化量ΔSizeが第5の所定値ThSizeを上回っているかをチェックする。移動量、サイズ変化量ともに所定値を上回っている場合、システム制御部60は、図14に示したような他の物体との接触による誤追尾が発生したと判断する(S237)。システム制御部60は、S237で誤追尾発生を検出した場合は、追尾結果として、追尾を中断する意味で“LOST”と判定する(S239)。システム制御部60は、S237で誤追尾が検出されなかったことをもって追尾が成功したと判断し、その追尾結果として追尾対象位置TargetrPosX,Y、追尾対象領域TargetSizeX,Yを検出したことが確定“FIND”する(S241)。
【0077】
S231,S241にて追尾対象位置と領域が確定した結果は、画像表示装置に表示するライブ画像に追尾枠を重畳描画して、操作者に視覚的に提供されることとなる。なお、S227,S239にて誤追尾の発生が検出された場合、追尾動作を自動的に中断して追尾枠情報の描画も消去し、さらに追尾中断の旨を画像表示装置に表示したり警告音で知らせる形態としてもよい。
【0078】
なお、S233〜S237の処理において、サイズの変化量と追尾対象位置の移動量を用いたが、サイズの変化量のみを用いるようにしてもよい。追尾対象位置の移動量は、フレームの取得タイミングに左右されるためである。
【0079】
以上のように、追尾対象特徴との類似度を用いた追尾を逐次実行する際、同時に誤追尾検出処理も行い、追尾結果の更新/保持/中断を正しく判断することが可能となる。
【0080】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0081】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
動画像において追尾対象の位置を追尾する追尾装置であって、
現在の処理対象のフレーム画像に対して前記追尾対象の特徴情報を用いた被写体の追尾処理を実行することにより、今回の追尾対象位置を検出する検出手段と、
前記処理対象のフレーム画像から、前回の追尾対象位置と前記今回の追尾対象位置との間にある画像を抽出する抽出手段と、
前記抽出手段により抽出された画像と前記特徴情報との類似度に基づいて、前記検出手段が検出した前記今回の追尾対象位置が追尾対象外であるか否かを判定する判定手段と、
前記検出手段が検出した前記今回の追尾対象位置が追尾対象外でないと判定された場合に、前記今回の追尾対象位置を前記判定手段が使用する前回の追尾対象位置として保持する保持手段と、を備えることを特徴とする追尾装置。
【請求項2】
前記検出手段は、
前記現在の処理対象のフレーム画像を複数のブロックに分割し、前記複数のブロックの各々について前記特徴情報との類似度を算出する類似度算出手段と、
前記類似度算出手段で算出された類似度が最も高いブロックを前記今回の追尾対象位置として検出する手段とを有し、
前記抽出手段は、
前記今回の追尾対象位置と、前記前回の追尾対象位置とを結ぶ線分が通るブロックを、前記処理対象のフレーム画像から得られた前記複数のブロックから抽出し、
前記判定手段は、
前記抽出手段により抽出されたブロックの前記類似度算出手段により算出された類似度に基づいて前記検出手段が検出した追尾対象位置が追尾対象外であると判定する、
ことを特徴とする請求項1に記載の追尾装置。
【請求項3】
前記判定手段は、前記抽出されたブロックの前記類似度算出手段により算出された類似度の少なくとも一つが第1の所定値よりも小さい場合に、前記検出手段が検出した追尾対象位置が追尾対象外であると判定することを特徴とする請求項2に記載の追尾装置。
【請求項4】
前記判定手段は、
前記抽出されたブロックの前記類似度算出手段により算出された類似度の少なくとも一つが第1の所定値よりも小さく、
前記対象のフレーム画像から得られた前記複数のブロックのうちの、前記今回の追尾対象位置と前記前回の追尾対象位置の各々に対応するブロックについて前記類似度算出手段が算出した類似度が、それぞれ第2の所定値と第3の所定値よりも大きい、
場合に、前記検出手段が検出した追尾対象位置が追尾対象外であると判定することを特徴とする請求項2に記載の追尾装置。
【請求項5】
前記検出手段は、更に前記今回の追尾対象位置の周辺のブロックの類似度に基づいて該今回の追尾対象位置を含む1つまたは複数のブロックからなる追尾対象領域を検出し、
前記判定手段は、更に、前記前回の追尾処理において検出された前回の追尾対象領域と前記今回の追尾対象領域とのサイズの変化量が第4の所定値よりも大きい場合に、前記検出手段が検出した追尾対象位置が追尾対象外であると判定することを特徴とする請求項3または4に記載の追尾装置。
【請求項6】
前記判定手段は、前記前回の追尾対象位置から前記今回の追尾対象位置への移動量が第5の所定値を超えている場合に前記サイズの変化量による判定を行うことを特徴とする請求項5に記載の追尾装置。
【請求項7】
前記判定手段は、前記抽出されたブロックのすべての類似度が前記第1の所定値以上である場合に、前記サイズの変化量による判定を行うことを特徴とする請求項5または6に記載の追尾装置。
【請求項8】
前記特徴情報は、追尾対象の輝度情報、色情報、コントラスト情報、エッジ情報の少なくともいずれかであることを特徴とする請求項1乃至7のいずれか1項に記載の追尾装置。
【請求項9】
前記判定手段により前記検出手段が検出した追尾対象位置が追尾対象外であると判定された場合、前記追尾対象に関する追尾処理を中止することを特徴とする請求項1乃至8のいずれか1項に記載の追尾装置。
【請求項10】
前記判定手段により前記検出手段が検出した追尾対象位置が追尾対象外であると判定された場合、前記前回の追尾位置が今回の追尾位置として決定されることを特徴とする請求項1乃至9のいずれか1項に記載の追尾装置。
【請求項11】
動画像において追尾対象の位置を追尾する追尾装置の制御方法であって、
検出手段が、現在の処理対象のフレーム画像に対して前記追尾対象の特徴情報を用いた被写体の追尾処理を実行することにより、今回の追尾対象位置を検出する検出工程と、
抽出手段が、前記処理対象のフレーム画像から、前回の追尾対象位置と前記今回の追尾対象位置との間にある画像を抽出する抽出工程と、
判定手段が、前記抽出工程により抽出された画像と前記特徴情報との類似度に基づいて、前記検出工程で検出された前記今回の追尾対象位置が追尾対象外であるか否かを判定する判定工程と、
更新手段が、前記検出工程で検出された前記今回の追尾対象位置が追尾対象外でないと判定された場合に、前記今回の追尾対象位置を前記判定工程で使用される前回の追尾対象位置としてメモリに保持する保持工程と、を有することを特徴とする追尾装置の制御方法。
【請求項12】
コンピュータを、請求項1乃至9のいずれか1項に記載された追尾装置の各手段として機能させるコンピュータプログラム。
【請求項1】
動画像において追尾対象の位置を追尾する追尾装置であって、
現在の処理対象のフレーム画像に対して前記追尾対象の特徴情報を用いた被写体の追尾処理を実行することにより、今回の追尾対象位置を検出する検出手段と、
前記処理対象のフレーム画像から、前回の追尾対象位置と前記今回の追尾対象位置との間にある画像を抽出する抽出手段と、
前記抽出手段により抽出された画像と前記特徴情報との類似度に基づいて、前記検出手段が検出した前記今回の追尾対象位置が追尾対象外であるか否かを判定する判定手段と、
前記検出手段が検出した前記今回の追尾対象位置が追尾対象外でないと判定された場合に、前記今回の追尾対象位置を前記判定手段が使用する前回の追尾対象位置として保持する保持手段と、を備えることを特徴とする追尾装置。
【請求項2】
前記検出手段は、
前記現在の処理対象のフレーム画像を複数のブロックに分割し、前記複数のブロックの各々について前記特徴情報との類似度を算出する類似度算出手段と、
前記類似度算出手段で算出された類似度が最も高いブロックを前記今回の追尾対象位置として検出する手段とを有し、
前記抽出手段は、
前記今回の追尾対象位置と、前記前回の追尾対象位置とを結ぶ線分が通るブロックを、前記処理対象のフレーム画像から得られた前記複数のブロックから抽出し、
前記判定手段は、
前記抽出手段により抽出されたブロックの前記類似度算出手段により算出された類似度に基づいて前記検出手段が検出した追尾対象位置が追尾対象外であると判定する、
ことを特徴とする請求項1に記載の追尾装置。
【請求項3】
前記判定手段は、前記抽出されたブロックの前記類似度算出手段により算出された類似度の少なくとも一つが第1の所定値よりも小さい場合に、前記検出手段が検出した追尾対象位置が追尾対象外であると判定することを特徴とする請求項2に記載の追尾装置。
【請求項4】
前記判定手段は、
前記抽出されたブロックの前記類似度算出手段により算出された類似度の少なくとも一つが第1の所定値よりも小さく、
前記対象のフレーム画像から得られた前記複数のブロックのうちの、前記今回の追尾対象位置と前記前回の追尾対象位置の各々に対応するブロックについて前記類似度算出手段が算出した類似度が、それぞれ第2の所定値と第3の所定値よりも大きい、
場合に、前記検出手段が検出した追尾対象位置が追尾対象外であると判定することを特徴とする請求項2に記載の追尾装置。
【請求項5】
前記検出手段は、更に前記今回の追尾対象位置の周辺のブロックの類似度に基づいて該今回の追尾対象位置を含む1つまたは複数のブロックからなる追尾対象領域を検出し、
前記判定手段は、更に、前記前回の追尾処理において検出された前回の追尾対象領域と前記今回の追尾対象領域とのサイズの変化量が第4の所定値よりも大きい場合に、前記検出手段が検出した追尾対象位置が追尾対象外であると判定することを特徴とする請求項3または4に記載の追尾装置。
【請求項6】
前記判定手段は、前記前回の追尾対象位置から前記今回の追尾対象位置への移動量が第5の所定値を超えている場合に前記サイズの変化量による判定を行うことを特徴とする請求項5に記載の追尾装置。
【請求項7】
前記判定手段は、前記抽出されたブロックのすべての類似度が前記第1の所定値以上である場合に、前記サイズの変化量による判定を行うことを特徴とする請求項5または6に記載の追尾装置。
【請求項8】
前記特徴情報は、追尾対象の輝度情報、色情報、コントラスト情報、エッジ情報の少なくともいずれかであることを特徴とする請求項1乃至7のいずれか1項に記載の追尾装置。
【請求項9】
前記判定手段により前記検出手段が検出した追尾対象位置が追尾対象外であると判定された場合、前記追尾対象に関する追尾処理を中止することを特徴とする請求項1乃至8のいずれか1項に記載の追尾装置。
【請求項10】
前記判定手段により前記検出手段が検出した追尾対象位置が追尾対象外であると判定された場合、前記前回の追尾位置が今回の追尾位置として決定されることを特徴とする請求項1乃至9のいずれか1項に記載の追尾装置。
【請求項11】
動画像において追尾対象の位置を追尾する追尾装置の制御方法であって、
検出手段が、現在の処理対象のフレーム画像に対して前記追尾対象の特徴情報を用いた被写体の追尾処理を実行することにより、今回の追尾対象位置を検出する検出工程と、
抽出手段が、前記処理対象のフレーム画像から、前回の追尾対象位置と前記今回の追尾対象位置との間にある画像を抽出する抽出工程と、
判定手段が、前記抽出工程により抽出された画像と前記特徴情報との類似度に基づいて、前記検出工程で検出された前記今回の追尾対象位置が追尾対象外であるか否かを判定する判定工程と、
更新手段が、前記検出工程で検出された前記今回の追尾対象位置が追尾対象外でないと判定された場合に、前記今回の追尾対象位置を前記判定工程で使用される前回の追尾対象位置としてメモリに保持する保持工程と、を有することを特徴とする追尾装置の制御方法。
【請求項12】
コンピュータを、請求項1乃至9のいずれか1項に記載された追尾装置の各手段として機能させるコンピュータプログラム。
【図1】
【図2】
【図7】
【図12】
【図15】
【図16】
【図17】
【図3】
【図4】
【図5】
【図6】
【図8】
【図9】
【図10】
【図11】
【図13】
【図14】
【図2】
【図7】
【図12】
【図15】
【図16】
【図17】
【図3】
【図4】
【図5】
【図6】
【図8】
【図9】
【図10】
【図11】
【図13】
【図14】
【公開番号】特開2012−138013(P2012−138013A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−291128(P2010−291128)
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]