(57)【特許請求の範囲】
【請求項１】
入力された画像から被写体領域を特定する特定手段と、
前記特定手段によって特定された被写体領域の位置を代表する注目点を算出する算出手段と、
前記算出手段によって算出された注目点に基づいて前記被写体領域を追尾する追尾手段とを有し、
前記算出手段は、前記注目点を含む領域が前記被写体領域と異なる領域である場合には、前記注目点から複数の方向に向かって前記被写体領域の幅を求め、前記注目点の位置を前記被写体領域の幅が閾値以上となる方向にずらすことによって、前記注目点の位置を前記被写体領域の内部に補正し、
前記追尾手段は、前記補正された位置の注目点に基づいて前記被写体領域を追尾することを特徴とする画像認識装置。
【請求項２】
前記算出手段は、前記注目点を含む領域が前記被写体領域と異なる領域である場合には、前記注目点から複数の方向に向かって前記注目点から前記被写体領域までの幅を求め、前記注目点の位置を前記被写体領域の幅が閾値以上となる方向のうち、前記注目点から前記被写体領域までの幅が所定の条件を満たす方向にずらすことを特徴とする請求項１に記載の画像認識装置。
【請求項３】
前記算出手段は、前記注目点の位置を前記被写体領域の幅が閾値以上となる方向のうち、前記注目点から前記被写体領域までの幅が最も小さくなる方向にずらすことを特徴とする請求項２に記載の画像認識装置。
【請求項４】
前記算出手段は、前記被写体領域の幅が閾値以上となる方向のうち、前記注目点から前記被写体領域までの幅が最も小さくなる方向が２つ以上ある場合には、前記注目点の位置を前記注目点から前記被写体領域までの幅が最も小さくなる方向のうち、前記被写体領域の幅が大きい方向にずらすことを特徴とする請求項３に記載の画像認識装置。
【請求項５】
前記特定手段は、前記画像における少なくとも輝度情報、または色情報を用いて被写体領域を特定するか、または、ユーザによる操作に応じて被写体領域を特定することを特徴とする請求項１乃至４の何れか１項に記載の画像認識装置。
【請求項６】
前記算出手段により補正される前の注目点は、前記被写体領域の重心位置であることを特徴とする請求項１乃至５の何れか１項に記載の画像認識装置。
【請求項７】
前記追尾手段は、前記画像における少なくとも輝度情報、または色情報を用いて前記被写体領域を追尾することを特徴とする請求項１乃至６の何れか１項に記載の画像認識装置。
【請求項８】
前記算出手段は、少なくとも前記注目点を含む領域と前記被写体領域との輝度情報、または色情報の差分に基づいて互いに異なる領域である否かを判定することを特徴とする請求項１乃至７の何れか１項に記載の画像認識装置。
【請求項９】
前記特定手段は、前記画像における領域の位置、大きさ、及び形状から被写体らしさを表す評価値を算出し、前記算出した評価値に基づいて、前記被写体領域を特定することを特徴とする請求項１乃至８の何れか１項に記載の画像認識装置。
【請求項１０】
前記追尾手段により追尾されている被写体領域に被写体が存在する旨を前記画像とともに表示手段に表示する表示制御手段をさらに有し、
前記表示制御手段は、さらに前記算出手段により補正される前の注目点、または補正された後の注目点を用いて前記被写体が存在する旨を前記表示手段に表示することを特徴とする請求項１乃至９の何れか１項に記載の画像認識装置。
【請求項１１】
入力された画像から被写体領域を特定する特定工程と、
前記特定工程において特定された被写体領域の位置を代表する注目点を算出手段が算出する算出工程と、
前記算出工程において算出された注目点に基づいて前記被写体領域を追尾手段が追尾する追尾工程とを有し、
前記算出工程においては、前記注目点を含む領域が前記被写体領域と異なる領域である場合には、前記注目点から複数の方向に向かって前記被写体領域の幅を求め、前記注目点の位置を前記被写体領域の幅が閾値以上となる方向にずらすことによって、前記注目点の位置を前記被写体領域の内部に補正し、
前記追尾工程においては、前記補正された位置の注目点に基づいて前記被写体領域を追尾することを特徴とする画像認識方法。
【請求項１２】
入力された画像から被写体領域を特定する特定工程と、
前記特定工程において特定された被写体領域の位置を代表する注目点を算出する算出工程と、
前記算出工程において算出された注目点に基づいて前記被写体領域を追尾する追尾工程とをコンピュータに実行させ、
前記算出工程においては、前記注目点を含む領域が前記被写体領域と異なる領域である場合には、前記注目点から複数の方向に向かって前記被写体領域の幅を求め、前記注目点の位置を前記被写体領域の幅が閾値以上となる方向にずらすことによって、前記注目点の位置を前記被写体領域の内部に補正し、
前記追尾工程においては、前記補正された位置の注目点に基づいて前記被写体領域を追尾することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像認識装置、画像認識方法及びプログラムに関し、特に、特定の被写体を追尾するために用いて好適な技術に関する。
【背景技術】
【０００２】
従来、画像内の色・輝度情報等から同一の色や輝度といった同じ特徴量を持つ領域ごとに画像を分割し、その中から自動的に被写体領域を検出する被写体検出機能が知られている。また、ユーザの操作によりタッチパネル等から動画像内の一点を指定し、指定された領域の色・輝度情報等を用いてその領域を追尾する被写体追尾機能が知られている。さらにこれらを組み合わせて、被写体検出機能により検出された被写体領域内の一点を指定し、被写体追尾機能で被写体を追尾する方法も知られている。
【０００３】
例えば特許文献１には、指定したオブジェクトを追尾する方法が開示されている。具体的には、移動するオブジェクト上の追尾点に対して、ユーザが指定する方向に基づいて検出領域を設定し、その重心位置を追尾点として推定している。これにより、ユーザの操作によって、動いているオブジェクトに対して高精度に追尾点を指定してオブジェクトを追尾することができるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７２７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献１に開示された従来技術では、被写体がドーナツ型などの形状である場合、重心位置が被写体でない領域となる可能性があり、重心位置を追尾すると被写体以外のものを追尾してしまう可能性がある。
【０００６】
本発明は前述の問題点に鑑み、画像中の被写体を精度良く追尾できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明の画像認識装置は、入力された画像から被写体領域を特定する特定手段と、前記特定手段によって特定された被写体領域の位置を代表する注目点を算出する算出手段と、前記算出手段によって算出された注目点に基づいて前記被写体領域を追尾する追尾手段とを有し、前記算出手段は、前記注目点を含む領域が前記被写体領域と異なる領域である場合には、前記注目点から複数の方向に向かって前記被写体領域の幅を求め、前記注目点の位置を前記被写体領域の幅が閾値以上となる方向にずらすことによって、前記注目点の位置を前記被写体領域の内部に補正し、前記追尾手段は、前記補正された位置の注目点に基づいて前記被写体領域を追尾することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体の検出領域の重心位置が被写体でない領域であっても、被写体を精度良く追尾することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る画像認識装置の機能構成例を示すブロック図である。
【図２】被写体検出と被写体追尾との切替え手順の例を示すフローチャートである。
【図３】被写体領域を検出する処理手順の一例を示すフローチャートである。
【図４】領域分割により被写体領域を検出する手順を説明する図である。
【図５】被写体を追尾する処理手順の一例を示すフローチャートである。
【図６】注目点を算出して補正する処理手順の一例を示すフローチャートである。
【図７】注目点を補正する手順を説明する図である。
【発明を実施するための形態】
【００１０】
＜撮像装置の構成＞
以下、本発明の好ましい実施形態について、添付の図面に基づいて詳細に説明する。本実施形態では、実施形態に係る撮像装置の一例として、デジタルカメラを用いた場合について説明する。
図１は、本実施形態に係るデジタルカメラのうち、被写体検出及び追尾を行う画像認識装置１００の機能構成例を示すブロック図である。
図１において、画像信号入力部１０１は、デジタル画像信号を入力する。例えば撮像装置においては、レンズ等で構成される光学部（不図示）を介して入射される光を受け、ＣＣＤ部（不図示）で光量に応じた電荷を出力する。そして、Ａ／Ｄ変換部（不図示）でＣＣＤ部から出力されたアナログ画像信号に対して、サンプリング、ゲイン調整、Ａ／Ｄ変換等を実施したデジタル画像信号が入力される。さらに、画像処理部（不図示）を介して、画像信号入力部１０１から入力されたデジタル画像信号に対して各種の画像処理を行い、処理済みのデジタル画像信号を出力する。例えば、デジタル画像信号をＹＵＶ画像信号に変換して出力する。
【００１１】
被写体領域特定部１０２は、画像内の被写体領域を特定する。ここで被写体とは、例えば人物の顔や動物、建物等とする。被写体領域を特定する方法としては、画像内の色情報、輝度情報、コントラスト情報などを用いて特定する被写体検出がある。また、他に被写体領域を特定する方法として、撮像装置の表示面に配置されたタッチパネル（不図示）等を使用した、ユーザの操作による指定でもよい。
【００１２】
被写体領域注目点算出部１０３は、被写体領域特定部１０２により特定された被写体領域から注目点を算出する。注目点とは、例えば被写体領域の重心点とする。被写体領域注目点補正部１０４は、被写体領域注目点算出部１０３により算出された注目点の位置を補正する。補正するか否かは、例えば被写体領域の色情報と注目点周辺の色情報とを比較して、それらが異なっているかどうかにより判断する。そして、被写体領域及び注目点周辺の色情報が異なっている場合に補正を行う。補正方法の一例としては、注目点を移動させる方向を画像内における上下左右の中から決定し、被写体領域の色情報と一致する領域に注目点の位置に移動させる。
【００１３】
被写体追尾部１０５は、被写体領域注目点補正部１０４により補正されて決定した注目点の位置をもとに被写体追尾を実行する。被写体を追尾する方法としては、例えば、被写体追尾を開始する時に注目点周辺の色情報、輝度情報の分布を保持しておき、パターンマッチングによる追尾を実施することによって被写体の動きに対して注目点の位置を更新し続けるようにする。
【００１４】
被写体情報表示部１０６は、被写体追尾部１０５から出力された画像内の注目点位置に被写体を示す情報を不図示の表示部に表示する表示制御を行う。被写体を示す情報とは、例えば矩形枠を注目点周辺に表示するものとする。以上の構成により、被写体領域の形状に応じて被写体追尾を実行する時に用いる注目点を設定し、被写体を精度良く追尾することが可能となる。
【００１５】
＜被写体検出と被写体追尾との切り替え＞
次に、被写体検出と被写体追尾の切り替え方法について説明する。図２は、被写体検出と被写体追尾とを切り替える処理手順の一例を示すフローチャートである。
【００１６】
まず、ステップＳ２０１において、被写体追尾部１０５は、被写体追尾を実行可能かどうかについて判定する。後述する被写体検出の実行により被写体領域が検出された場合には、被写体追尾を実行可能とみなす。また、初めてステップＳ２０１の処理を行う場合は追尾する領域が決定されていないため、被写体追尾を実行不可能とみなす。この判定の結果、被写体追尾が実行可能である場合はステップＳ２０３へ移行し、被写体追尾が実行不可能である場合はステップＳ２０２へ移行する。
【００１７】
ステップＳ２０２においては、被写体領域特定部１０２は、被写体検出を実行し、画像内の被写体領域を検出する。そして、ステップＳ２０４において、ステップＳ２０２で実行した被写体検出の結果、被写体領域を検出したかどうかについて判定する。被写体領域を検出したかどうかは、例えば、被写体検出を実行する時に被写体らしさを表す評価値を算出し、その評価値が閾値以上であるか否かにより判定する。この判定の結果、被写体領域を検出した場合はステップＳ２０６へ移行し、被写体領域を検出しなかった場合はステップＳ２０７へ移行する。
【００１８】
一方、ステップＳ２０３においては、被写体追尾部１０５は、被写体検出により検出された被写体領域を追尾することによって被写体を追尾する。そして、ステップＳ２０５において、ステップＳ２０３で実行した被写体追尾の結果、被写体追尾に成功したかどうかを判定する。成功したかどうかは、例えば被写体追尾の実行結果に応じた追尾領域の評価値を算出し、その値が閾値以上か否かにより判定する。被写体追尾が成功した場合にはステップＳ２０８へ移行し、被写体追尾が成功しなかった場合はステップＳ２０７へ移行する。
【００１９】
ステップＳ２０６においては、被写体追尾部１０５は、被写体領域が検出されたことから被写体追尾を実行可能とみなし、注目点を算出するステップＳ２０９へ移行する。そして、ステップＳ２０９において、被写体領域注目点算出部１０３は、被写体追尾を実行する際に用いる注目点を、被写体領域から算出する。なお、この注目点の詳細な説明については後述する。
【００２０】
一方、ステップＳ２０７において、被写体追尾部１０５は、被写体検出または被写体追尾が失敗したことから被写体追尾を実行不可能とみなす。また、ステップＳ２０８においては、被写体追尾部１０５は、被写体追尾が成功したことから被写体追尾を実行可能とみなす。
【００２１】
以上のように、図２に示す処理を繰り返すことによって、被写体検出と被写体追尾とを切り替えることが可能となる。また、本実施形態では被写体検出と被写体追尾とのどちらか片方を実行する例について述べたが、被写体検出と被写体追尾とを両方同時に実行し続けるようにしてもよい。例えば、被写体追尾中に被写体検出により新たな被写体領域が検出された場合には、被写体検出及び被写体追尾の評価値に応じて、新たに検出された被写体領域における被写体を追尾する。
【００２２】
＜被写体検出の実行＞
次に、図２のステップＳ２０２における画像内から被写体領域を検出する方法について説明する。図３は、被写体領域特定部１０２により被写体領域を検出する処理手順の一例を示すフローチャートである。
まず、ステップＳ３０１において、画像内の色や輝度などの特徴量を基に、特徴量が異なる領域ごとに画像を分割する。複数の領域に分割する方法の一例について、図４を参照しながら説明する。
【００２３】
例えば図４（ａ）に示す画像を同じ色や輝度といった同一とみなす特徴量を持つ領域ごとに分割するために、まず、画像を複数のブロックに分割する。ブロック単位としては、例えば図４に示すように、画像を１６×１２のブロックに分割する。そして、隣接するブロック間の色情報や輝度情報を比較し、それらのブロックが同一の特徴を持つかどうかを判定する。隣接するブロックが同一の特徴を持つかどうかは、ブロック間の輝度値や色相値の差分の大きさにより判定する。または、画像全体で輝度値や色相値のヒストグラムを作成し、ヒストグラムの山や谷の形状から同一輝度、同一色とみなす値の範囲を設定して、隣接ブロック同士が同一範囲内の輝度値や色相値を持つかどうかにより判定する。このような領域分割により、図４（ｂ）に示すように同一の特徴量を持つ領域ごとに分割することが可能となる。
【００２４】
次に、ステップＳ３０２において、ステップＳ３０１で分割した画像内の各領域について、背景とみなす背景領域を決定し、決定した背景領域を被写体領域の候補から除去する。各領域が背景領域かどうかを判定する方法の一例として、背景らしさの評価値（以下、第１の評価値）を算出する。
【００２５】
ここで、被写体が画像内の中心付近に存在する可能性が高いとみなし、第１の評価値は、例えば領域の面積に対する画面端に接しているブロック数の割合により決定される。画面端に接しているブロック数が多い領域は、領域の面積に対して画面端に接しているブロック数の割合が大きい。そのため被写体の可能性が低く、背景らしいとみなして第１の評価値を高いものとする。一方、画面端に接しているブロック数が少ない領域は、領域の面積に対して画面端に接しているブロック数の割合が小さい。この場合は背景の可能性が低く、被写体らしいとみなして第１の評価値を低いものとする。
【００２６】
以上のようにして、例えば図４（ｃ）に示すように、画面端に接しているブロック数が多く、第１の評価値が高い領域（１）、（７）、（８）、（９）を背景とみなし、被写体領域の候補から除去することが可能となる。また、上述の方法では背景とみなす条件を画面の上下左右端で区別していないが、上下左右端それぞれで条件を異なるようにしてもよい。例えば、画面下端に接していても上・左・右端に接していない場合は背景とみなさないようにしたり、上・左・右端のうち２辺以上に接している場合は、より背景らしいとみなして第１の評価値を高くしたりしてもよい。
【００２７】
上述の方法では、画面端にブロックが接していないが、画面中心から離れている領域については背景と判断することが困難となる。そこで、第１の評価値の他の算出方法として、各領域が画面端寄りに存在するかどうかにより算出してもよい。この場合、領域を構成するブロックの配置や領域の重心位置を算出し、その結果から画面端寄りに存在する領域かどうかを判定する。画面端寄りに存在する場合は、第１の評価値を高いものとする。このようにして、図４（ｄ）に示すように画面端にブロックが接していないが画面中心から離れている領域（２）、（５）を背景とみなし、被写体領域の候補から除去することが可能となる。
【００２８】
これらの方法により各領域について第１の評価値を算出することができ、第１の評価値が高い領域を背景領域とみなすことが可能となる。さらに、背景として除去した領域と同様の色情報や輝度情報を持つ領域を背景とみなす。例えば、各領域の輝度や色相、彩度の平均値を算出し、背景除去された領域と除去されていない領域との平均値の差分を算出する。そして、この差分が小さい場合は、背景として除去されていない領域であっても背景とみなし、被写体領域の候補から除去する。
【００２９】
さらに、差分が小さいとみなす閾値を、色に応じて変更するようにしてもよい。例えば草木などの緑色は被写体よりも背景である可能性が高いとみなし、緑色の領域は差分が比較的大きくても背景とみなすように閾値を大きくする。このようにして、図４（ｅ）に示すように、画面中心付近に存在していても背景らしい領域（３）、（６）を背景とみなすことが可能となる。
【００３０】
次に、ステップＳ３０３において、ステップＳ３０２で背景として除去されていない領域の中から被写体とみなす領域を決定する。一例として、各領域において被写体らしさを表す評価値（以下、第２の評価値）を算出し、その値に応じて被写体とみなす領域を決定する方法を説明する。
【００３１】
第２の評価値としては、以下の重みWeight＿1〜Weight＿4を用いる。重みWeight＿1は画像内における領域の重心位置に応じた重みであり、重みWeight＿2は領域の大きさに応じた重みである。また、重みWeight＿3は領域の形が縦横比１：１に近いかどうかに応じた重みであり、重みWeight＿4は領域の形が円形に近いかどうかに応じた重みである。
【００３２】
例えば、領域の重心位置が画面中心に近いほど被写体らしいとみなし、重みWeight＿1の値を大きくする。また、領域が大きいほど被写体らしいとみなし、重みWeight＿2の値を大きくする。一方、領域の形が縦横比１：１に近いかどうかは次のように判定する。まず、領域の重心位置から領域の最遠点までの距離を算出し、重心位置を中心とし重心位置と最遠点とを結ぶ線分を半径とした外接円を描く。そして、この外接円の面積に対する領域の面積の割合が大きいほど被写体の縦横比が１：１に近いとみなし、重みWeight＿3の値を大きくする。また、領域の形が円形に近いかどうかは、領域の外周の長さを算出し、外周の長さに対する領域の面積の割合を計算することにより判定する。そして、面積の割合が大きい場合は円形に近いとみなし、重みWeight＿4の値を大きくする。
【００３３】
以上のように背景として除去されていない各領域について、これらの重みWeight＿1〜Weight＿4を算出する。そして、重みWeight＿1〜Weight＿4を掛け合わせたものを第２の評価値とし、各領域の中でこの第２の評価値が一番大きい領域を被写体領域と判定する。図４（ｅ）に示す例では、領域（４）、（１０）、（１１）が背景として候補から除去されていない領域である。この場合、領域（４）が領域（１０）、（１１）と比較して重心位置が画面中心に近く、領域の大きさが大きく、かつ、形状が１：１に近く、円形に近いといえる。このため、領域（４）の被写体らしさの評価値が一番高くなり、被写体領域と判定される。
【００３４】
ここで、被写体領域と判定する条件として、第２の評価値が一番高い領域という条件に、予め設定した閾値以上の第２の評価値であるという条件をさらに加えてもよい。また、複数の領域の第２の評価値を比較し、第２の評価値が一番大きい領域の評価値とそれ以外の領域の評価値とに大きく差がある場合には、他の領域と比較して突出して目立つ被写体である可能性が高い。このような場合は、第２の評価値が一番大きい領域を被写体領域とみなしやすくする。
【００３５】
また、上述した方法では、一枚の画像から被写体領域を判定しているが、時系列的に連続した複数の画像を用いて被写体領域を判定してもよい。例えば、同じ領域が連続して一番大きい第２の評価値を持つ場合に限り、被写体領域と設定する。また、同じ領域が連続して検出されるたびに第２の評価値に上昇させる重みを加えていき、設定した閾値以上となった場合に被写体領域と判定する。以上の方法により、画像内から被写体領域を検出することが可能となる。
【００３６】
＜被写体追尾の実行＞
次に、図２のステップＳ２０３における被写体を追尾する方法について説明する。図５は、被写体追尾部１０５により被写体を追尾する処理手順の一例を示すフローチャートである。
まず、ステップＳ５０１において、被写体の追尾を開始する時かどうかを判定する。この判定の結果、被写体の追尾を開始する時である場合はステップＳ５０２へ移行し、既に被写体の追尾を開始している場合はステップＳ５０３へ移行する。
【００３７】
ステップＳ５０２においては、被写体領域注目点算出部１０３により算出された注目点をもとに、被写体追尾領域を設定する。一例として、画像を１６×１２のブロックに分割した場合について説明する。まず、注目点が存在するブロックを中心に、色情報をもとに特徴色を探す。特徴色の条件としては、ある閾値の面積で色の塊を持ち、かつ同じ色のブロックが画像内に少ないという条件とする。つまり、被写体領域にのみ多く存在し、背景領域には存在しないような色情報を特徴色とする。そうすることによって、被写体以外の領域に追尾する誤追尾を抑制することができ、被写体のみを精度良く追尾することが可能となる。特徴色を探したら、特徴色を持つブロックの周辺ブロックの色情報をメモリ等（不図示）に記憶し、被写体追尾に用いる。ここで周辺ブロックとは、例えば特徴色を持つブロックの上下左右に隣接している４個のブロックとする。
【００３８】
次に、ステップＳ５０３において、追尾対象とする被写体領域をもとに被写体追尾を実行する。ここでは、ステップＳ５０２と同様に画像を複数のブロックに分割した場合について説明する。まず、画像の特定領域内において、ステップＳ５０２で算出した特徴色と一致するブロックを探す。特徴色と一致しているかどうかは、例えば特徴色と対象ブロックのＲ、Ｇ、Ｂそれぞれとの差分を算出し、これらの差分がすべて閾値以内である場合は一致しているとみなす。
【００３９】
特徴色と一致しているブロックがある場合は、さらに対象ブロックの周辺ブロック同士についてもＲ、Ｇ、Ｂの差分から一致しているかどうかを判定する。このとき、対象ブロックのＲ、Ｇ、Ｂの差分が小さいほど、また、周辺ブロックのうち一致しているブロック数が大きいほど、大きくなるように評価値を算出する。画像内の特定領域内において評価値が閾値以上のブロックを探し終えたら、前回の追尾で検出した被写体領域と閾値以上の評価値を持つ各ブロックとの距離を算出し、距離が近いほど値を大きくするような重みを評価値に掛け合わせる。そして、この重みを掛け合わせた評価値（以下、第３の評価値）が最も高いブロックを被写体領域の追尾先の領域とみなす。
【００４０】
上述した方法により被写体追尾を実行することが可能となるが、被写体の変化にも追従して精度良く被写体追尾を行うために、被写体追尾の実行中に追尾を開始した時に設定した被写体領域の色分布などの情報を更新してもよい。また、画像を複数のブロックに分割してその情報により被写体追尾を実行しているが、第３の評価値が最も高いブロックを決定してから、より高解像度の画像で追尾開始時の領域との色情報などの差分をさらに比較してもよい。このようにすることによって、被写体追尾の性能をより高精度にすることも可能となる。
【００４１】
次に、ステップＳ５０４において、ステップＳ５０３で決定した追尾先の領域について、再び被写体追尾を実施するか否かを決定する。例えば、被写体追尾により算出された追尾先の領域が被写体でない可能性が高いと判定された場合には、被写体追尾を継続しないようにする。
【００４２】
被写体追尾を実施するかどうかの判定方法の一例として、複数の項目から評価値（以下、第４の評価値）を算出し、その値に応じて判定する。第４の評価値を算出する際には、まず、追尾開始時の被写体領域と追尾中の被写体領域とのＲ、Ｇ、Ｂの差分、被写体領域の大きさ、被写体領域の画面中心からの距離、及び被写体追尾を開始してからの時間の４項目について各重みを算出する。そして、これらの４項目を足し合わせて第４の評価値を算出する。
【００４３】
例えば、色情報として追尾開始時の被写体領域と追尾中の被写体領域との間で各ブロックのＲ、Ｇ、Ｂそれぞれの差分を比較し、差分が大きいほど被写体の変動が大きく、被写体ではない領域を追尾している可能性があるため、重みを小さくする。また、画像内における被写体領域の大きさについては、被写体追尾を開始した時からの最大サイズと現在のサイズとを比較する。そして、最大サイズに対して現在のサイズが小さくなるほど、追尾を開始した時と比較して被写体領域が画像内で主要な被写体ではなくなっている可能性があるため、重みを小さくする。
【００４４】
また、被写体領域の画面中心からの距離が遠いほど、同様に主要な被写体ではなくなっている可能性があるため、重みを小さくする。さらに、被写体追尾を開始してからの時間については、時間が長くなるほど被写体を精度良く追尾できなくなっている可能性があるため、重みを小さくする。
【００４５】
以上のように、第４の評価値を算出することにより、被写体追尾を再び実行するかどうかを判定する。この第４の評価値が大きい場合には被写体追尾の精度が高く、かつ、主要な被写体であるとみなして追尾を実行し続ける。一方、第４の評価値が小さい場合には被写体追尾の精度が低く、主要な被写体でなくなっている可能性があるため、追尾を中止する。以上の方法により、被写体を追尾することが可能となる。
【００４６】
＜注目点位置の補正＞
次に、図２のステップＳ２０９において、被写体検出により検出された被写体領域の注目点を算出して補正する方法について説明する。図６は、注目点を算出して補正する処理手順の一例を示すフローチャートである。
まず、ステップＳ６０１において、被写体領域注目点算出部１０３は、被写体領域を構成するブロックから注目点を算出する。被写体領域の位置を代表する注目点としては、例えば被写体領域の重心位置を含むブロックとする。
【００４７】
次に、ステップＳ６０２において、被写体領域注目点補正部１０４は、注目点の属するブロックが被写体領域に含まれているかどうかを判定する。例えば、図７（ａ）に示す楕円形の灰色領域を被写体領域とすると、中心の黒点が重心位置となる。一方、図７（ｂ）に示すように、被写体領域の中心付近が中空になっている場合は、重心位置は中空領域に存在する。
【００４８】
ここで、重心位置を含むブロックが被写体領域に含まれているかどうかを判定するには、重心位置を含むブロックと被写体領域との色情報や輝度情報を比較する。被写体領域と重心位置を含むブロックとの輝度値、彩度値や色相値の差分が閾値以内である場合は、重心位置を含むブロックは被写体領域に含まれていると判定し、注目点の位置を補正しない。したがって、この場合はそのまま処理を終了する。一方、閾値を上回っている場合は、重心位置を含むブロックは被写体領域に含まれていないと判定し、注目点の位置が被写体領域内部に位置するように補正する必要がある。したがって、この場合はステップＳ６０３へ移行する。
【００４９】
ステップＳ６０３においては、被写体領域注目点補正部１０４は、注目点の上下左右のブロック情報を取得する処理を開始する。以下、ステップＳ６０３〜Ｓ６０５の処理は、上下左右のブロック情報をすべて取得するまで繰り返す。このように、上下左右のブロック情報を順次比較して、補正する位置を決定することになる。
【００５０】
ステップＳ６０４においては、被写体領域注目点補正部１０４は、注目点の上下左右４方向について、被写体領域でない幅OutsideLength[ n ]を算出する。図７（ｃ）に示す例では、細線の矢印で示すように注目点の上・左方向に被写体領域でないブロックが１ブロックずつ存在し、右・下方向には存在しない。つまり、OutsideLength[ 1 ]＝OutsideLength[ 3 ]＝１、OutsideLength[ 2 ]＝utsideLength[ 4 ]＝０となる。ここで、[ n ]は、上を１、下を２、左を３、右を４としている。
【００５１】
次に、ステップＳ６０５において、注目点の上下左右４方向について、被写体領域でない領域の外側の被写体領域の幅InsideLength[ n ]を算出する。図７（ｃ）に示す例では、太線の矢印で示すように注目点の上・下方向には２ブロックずつ存在し、左・右方向には３ブロックずつ存在する。つまり、InsideLength[ 1 ]＝InsideLength[ 2 ]＝２、InsideLength[ 3 ]＝InsideLength[ 4 ]＝３となる。
【００５２】
ステップＳ６０３〜Ｓ６０５の処理を繰り返して上下左右のブロック情報を取得すると、次にステップＳ６０６において、注目点の上下左右４方向について、どの方向に注目点をずらすかを決定する。ずらす方向を決定する方法としては、例えば以下のようにする。
【００５３】
まず、幅InsideLength[ n ]の値が閾値以上の方向のみを選択する。狭い被写体領域の内部を注目点として設定すると、注目点周辺の情報を用いて追尾する場合に、追尾する領域の大部分を被写体領域以外の背景部分で占めることになる。そうすると、背景部分の情報を用いて追尾する可能性があり、被写体領域以外のところへ追尾する誤追尾が発生しやすくなる。そのため、周辺に広い被写体領域がある位置が注目点となるようにする。
【００５４】
次に、選択した幅InsideLength[ n ]の値が閾値以上の方向のうち、幅OutsideLength[ n ]が一番小さい値の方向を選択する。これは、誤追尾を抑制しつつ、被写体検出により検出した位置と被写体追尾により追尾している位置とができるだけずれないようにするためである。なお、幅OutsideLength[ n ]が一番小さい方向が２つ以上ある場合は、幅InsideLength[ n ]が大きい方向を選択する。また、幅InsideLength[ n ]の値が閾値以下の方向しか存在しない場合は、被写体領域の形状が複雑である可能性がある。その場合は被写体追尾の実行が困難であるため、被写体検出を再度実行するようにする。図７（ｃ）に示す例では、幅InsideLength[ n ]の値が大きく、かつ幅OutsideLength[ n ]の値が小さい右方向を、注目点をずらす方向とする。
【００５５】
次に、ステップＳ６０７において、ステップＳ６０６で決定した方向に注目点をずらす補正を行う。図７（ｄ）に示す例の場合は、右方向に注目点を補正する。このとき、注目点の補正位置は、補正する方向に存在する被写体領域の中心ブロックとする。
【００５６】
以上の方法により本実施形態によれば、注目点の位置が検出した被写体領域の範囲外である場合は、注目点を補正するようにしたので、被写体がドーナツ型の形状であっても精度よく被写体を追尾ことが可能となる。
【００５７】
さらに、被写体情報表示部１０６により、例えば画像内に被写体領域を中心とした矩形枠など被写体を示す情報を表示するようにしたので、使用するユーザにとって追尾している領域を視覚的に表現することが可能となる。ここで、注目点の補正量が大きい場合は実際の被写体領域と被写体情報の表示位置とが大きくずれてしまうので、補正後の注目点にて被写体追尾を実行しつつ、補正量の大きさによっては補正前の注目点を用いて被写体を示す情報を表示するようにする。
【００５８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５９】
１０２  被写体領域特定部
１０３  被写体領域注目点算出部
１０４  被写体領域注目点補正部
１０５  被写体追尾部
【図１】
0005761989.tif 000002
【図２】
0005761989.tif 000003
【図３】
0005761989.tif 000004
【図４】
0005761989.tif 000005
【図５】
0005761989.tif 000006
【図６】
0005761989.tif 000007
【図７】
0005761989.tif 000008