(57)【要約】【課題】  主要な被写体のオブジェクト領域を検出する。【解決手段】  主要被写体検出部20は、複数の画像を有する画像群における、第一の画像以外の複数の第二の画像ごとに、第二の画像の第二の特徴点を、その特徴量に基づき、第一の画像の第一の特徴点に対応付けた特徴点対を生成する。主要被写体検出部20は、生成された特徴点対から、第二の特徴点の位置が所定領域にある特徴点対を検出し、特徴点対の検出数が所定の閾値を超える、第一の特徴点を包含する領域を抽出する。【選択図】  図2
2014197386.tif 000002
【特許請求の範囲】
【請求項１】
第一の画像群に含まれる画像から特徴点を検出し、各特徴点の近傍の画素を用いて前記特徴点の局所特徴量を算出する算出手段と、
前記第一の画像群に含まれる画像の組み合わせごとに、前記局所特徴量に基づき画像間の類似度を判定する比較手段と、
前記類似度が第一の閾値以上の前記組み合わせに対応する、前記第一の画像群に含まれる画像を、第二の画像群の画像として分離する分離手段と、
前記第二の画像群の画像の類似度に基づき、前記第二の画像群から基準画像を選択する選択手段と、
前記基準画像の特徴点ごとに、前記基準画像の特徴点に対応する特徴点を有する前記第二の画像群に含まれる画像の数を対応画像数として検出する検出手段と、
前記基準画像において、前記対応画像数が第二の閾値を超える特徴点の分布に基づき、オブジェクト領域を推定する推定手段とを有する画像処理装置。
【請求項２】
前記画像処理装置は、複数の画像に共通する被写体を検出する請求項1に記載された画像処理装置。
【請求項３】
前記算出手段は、前記特徴点について回転不変性かつ拡縮不変性を有する局所特徴量を算出する請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記比較手段は、
前記画像の組み合わせごとに、前記局所特徴量の差分に基づき、第一の画像と第二の画像の間で対応する特徴点の組み合わせを示す対応点リストを作成し、
前記対応点リストに含まれる組み合わせを形成する対応する特徴点の間の距離を算出し、前記距離が第三の閾値以下である対応する特徴点の組み合わせの数を前記類似度として判定する請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項５】
前記比較手段は、
前記対応点リストから二組の対応する特徴点を選択し、
前記二組の対応する特徴点の座標から変換行列を計算し、
前記対応点リストから、前記二組の対応する特徴点とは異なる、一組の対応する特徴点を選択し、
前記変換行列を用いて、前記一組の対応する特徴点のうち前記第二の画像の特徴点の座標を前記第一の画像上の座標に変換し、
前記一組の対応する特徴点のうち前記第一の画像の特徴点の座標と前記変換された特徴点の座標の距離を、前記対応する特徴点の間の距離として算出する請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項６】
前記比較手段は、前記距離が前記第三の閾値以下である対応する特徴点の組み合わせを示す近接対応点リストを作成する請求項4に記載された画像処理装置。
【請求項７】
前記検出手段は、前記近接対応点リストに基づき前記対応画像数を検出する請求項6に記載された画像処理装置。
【請求項８】
前記選択手段は、前記第二の画像群において、他の画像との類似度を累積した値が最大の画像を前記基準画像として選択する請求項1から請求項7の何れか一項に記載された画像処理装置。
【請求項９】
前記選択手段は、前記類似度の累積値を前記第二の画像群に含まれる画像の数で除算した値が第四の閾値未満の画像を前記第二の画像群から削除した第三の画像群を生成する請求項8に記載された画像処理装置。
【請求項１０】
前記推定手段は、前記第三の画像群に含まれる画像の数に所定の割合を乗算した値を前記第二の閾値として算出する請求項9に記載された画像処理装置。
【請求項１１】
前記推定手段は、前記対応画像数が前記第二の閾値を超える特徴点を包含する領域を前記オブジェクト領域と推定する請求項1から請求項10の何れか一項に記載された画像処理装置。
【請求項１２】
前記特徴点を包含する領域は、前記特徴点の最外接矩形または最外接多角形である請求項11に記載された画像処理装置。
【請求項１３】
前記推定手段は、前記第二の画像群に含まれる画像の数を前記第一の画像群に含まれる画像の数で除算した値を前記オブジェクト領域に対応する被写体の重要度として算出する請求項1から請求項12の何れか一項に記載された画像処理装置。
【請求項１４】
前記推定手段は、前記第三の画像群に含まれる画像の数を前記第一の画像群に含まれる画像の数で除算した値を前記オブジェクト領域に対応する被写体の重要度として算出する請求項9に記載された画像処理装置。
【請求項１５】
前記選択手段は、前記第二の画像群の画像ごとに、前記第二の画像群の他の画像との類似度が第五の閾値を超える前記他の画像の数をカウントし、前記カウント数が最大の前記第二の画像群の画像を前記基準画像として選択する請求項1から請求項14の何れか一項に記載された画像処理装置。
【請求項１６】
前記選択手段は、前記カウント数を前記第二の画像群に含まれる画像の数で除算した値が第六の閾値未満の画像を前記第二の画像群から削除した第三の画像群を生成する請求項15に記載された画像処理装置。
【請求項１７】
前記推定手段は、前記検出したオブジェクト領域が前記基準画像の許容位置にあるか否かの判定を行い、
前記許容位置の判定の結果に基づき、前記検出手段による前記検出および前記推定手段による前記推定が繰り返される請求項1から請求項16の何れか一項に記載された画像処理装置。
【請求項１８】
前記許容位置の判定は、前記オブジェクト領域の重心位置、および、前記オブジェクト領域から前記基準画像の画像端までの距離に基づき行われる請求項17に記載された画像処理装置。
【請求項１９】
前記検出手段は、前記基準画像と前記第二の画像群の各画像の間のオブジェクトの回転角度を算出し、前記回転角度に基づく条件を満たさない前記特徴点の組み合わせを前記近接対応点リストから除外する請求項6に記載された画像処理装置。
【請求項２０】
前記基準画像から切り出された前記オブジェクト領域の画像は、前記第一の画像群の画像を格納するフォルダのアイコンに利用される請求項1から請求項19の何れか一項に記載された画像処理装置。
【請求項２１】
複数の画像を有する画像群における、第一の画像以外の複数の第二の画像ごとに、前記第二の画像の第二の特徴点を、その特徴量に基づき、前記第一の画像の第一の特徴点に対応付けた特徴点対を生成する生成手段と、
前記生成された特徴点対から、前記第二の特徴点の位置が所定領域にある特徴点対を検出する検出手段と、
前記特徴点対の検出数が所定の閾値を超える、前記第一の特徴点を包含する領域を抽出する抽出手段とを有する画像処理装置。
【請求項２２】
前記画像群は、互いに類似する画像の集合である請求項21に記載された画像処理装置。
【請求項２３】
前記抽出手段は、前記領域を複数抽出した場合、領域のサイズに相当する重要度を各領域に設定する請求項21または請求項22に記載された画像処理装置。
【請求項２４】
前記抽出手段は、前記領域を複数抽出した場合、各領域に重要度を設定し、前記第一の画像の中心部を含む領域に設定される重要度は他の領域に設定される重要度よりも高い請求項21から請求項23の何れか一項に記載された画像処理装置。
【請求項２５】
前記第一の画像は、前記類似する画像の集合から、他の画像との類似度に基づき選択された画像である請求項22に記載された画像処理装置。
【請求項２６】
前記抽出手段が抽出した領域から前記第一の画像の画像端までの距離に基づき、前記領域を前記画像群に共通するオブジェクトとして採用するか否かを判断する請求項21から請求項25の何れか一項に記載された画像処理装置。
【請求項２７】
前記抽出手段は、前記特徴点対の検出数が前記所定の閾値を超える、前記第一の特徴点を包含する外接矩形または外接多角形を前記領域として抽出する請求項21から請求項26の何れか一項に記載された画像処理装置。
【請求項２８】
第一の画像群に含まれる画像から特徴点を検出し、各特徴点の近傍の画素を用いて前記特徴点の局所特徴量を算出し、
前記第一の画像群に含まれる画像の組み合わせごとに、前記局所特徴量に基づき画像間の類似度を判定し、
前記類似度が第一の閾値以上の前記組み合わせに対応する、前記第一の画像群に含まれる画像を、第二の画像群の画像として分離し、
前記第二の画像群の画像の類似度に基づき、前記第二の画像群から基準画像を選択し、
前記基準画像の特徴点ごとに、前記基準画像の特徴点に対応する特徴点を有する前記第二の画像群に含まれる画像の数を対応画像数として検出し、
前記基準画像において、前記対応画像数が第二の閾値を超える特徴点の分布に基づき、オブジェクト領域を推定する画像処理方法。
【請求項２９】
複数の画像を有する画像群における、第一の画像以外の複数の第二の画像ごとに、前記第二の画像の第二の特徴点を、その特徴量に基づき、前記第一の画像の第一の特徴点に対応付けた特徴点対を生成し、
前記生成された特徴点対から、前記第二の特徴点の位置が所定領域にある特徴点対を検出し、
前記特徴点対の検出数が所定の閾値を超える、前記第一の特徴点を包含する領域を抽出する画像処理方法。
【請求項３０】
コンピュータを請求項1から請求項27の何れか一項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項３１】
請求項30に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主要な被写体のオブジェクト領域を検出する画像処理に関する。
【背景技術】
【０００２】
画像の局所的な特徴量（以下、局所特徴量）を用いて、画像中の類似するオブジェクトを検索する技術が知られている。このような技術においては、まず、画像から特徴的な点（以下、局所特徴点）を抽出する（例えば、非特許文献1）。そして、局所特徴点とその近傍の画像情報とに基づいて、当該局所特徴点に対応する局所特徴量を算出する（例えば、非特許文献2）。画像中の類似するオブジェクトの検索は、局所特徴量同士のマッチングによって行われる。
【０００３】
局所特徴量は、一般に、回転不変性、拡縮不変性を有する複数の要素によって構成される情報として定義される。従って、回転されたり、拡大または縮小された画像であっても、局所特徴量を用いた検索が可能になる。一般に局所特徴量は、ベクトルとして表現される。ただし、局所特徴量が回転不変、拡縮不変であることはあくまでも理論上のことであって、実際のディジタル画像においては、画像の回転や拡大・縮小処理前後で局所特徴量に若干の変動が生じる。
【０００４】
回転不変の局所特徴量を抽出するために、局所特徴点周辺の局所領域の画素パターンから主方向を算出し、局所特徴量の算出時に主方向を基準に局所領域を回転させて方向の正規化を行う方法が提案されている（例えば非特許文献2）。また、拡縮不変の局所特徴量を算出するために、異なるスケールの画像を装置内部で生成し、各スケールの画像それぞれから局所特徴点の抽出と局所特徴量の算出を行う方法が提案されている。装置内部で生成された一連の、スケールが異なる画像の集合は一般に「スケールスペース」と呼ばれる。
【０００５】
画像から主要な被写体を検出することは、画像をブラウジングする際や、主要な被写体のメタデータを用いた検索において重要であるため、昨今、画像中における顔の検出や弁別を行う機能が、製品やソフトウェアに搭載されている。この場合の「顔」のような、画像認識対象として予想されるオブジェクトに関しては、画像から被写体を認識してそのメタデータを得ることができる。また、画像中に被写体が占めるサイズや被写体のアピアランスなどにより、該被写体の重要度を判定することができる。
【０００６】
また、近年、ビッグデータという、質的にも量的にもリッチなデータの集積を容易にする環境が整いつつあり、それを利用したデータのマイニング処理の需要が高まっている。画像データにおいても、上述したような画像認識が可能なオブジェクトについて、マイニング処理を行うことが可能である。
【０００７】
しかし、画像から主要な被写体を検出する技術は、画像認識対象として予想されるオブジェクトについては有効であるが、画像認識対象ではないオブジェクトの検出は非常に困難であり、そのようなオブジェクトの重要度を測ることも困難である。つまり、ビッグデータによるマイニングは、画像認識が可能なオブジェクトについて可能であるが、画像認識対象外のオブジェクトについては困難である。
【０００８】
画像全体の特徴に基づき、多次元特徴空間において、画像のクラスタリングを行う技術が知られている（例えば、特許文献4）。このクラスタリング技術をマイニングに適用することも考えられる。しかし、クラスタリング技術は、画像全体の類似性に基づくものであり、画像内容、とくに被写体に基づくものでは無い。つまり、画像全体の特徴に基づいてクラスタリングが行われ、一つの画像は一つのクラスタに属すことになる。通常、画像には複数のオブジェクトが存在し、クラスタリング技術における一つの画像に対する一意のクラスタリングを、複数のオブジェクトそれぞれに適応させることができない。
【０００９】
個人によって撮影された複数の写真画像、あるいは、多数の人間によって撮影された複数の写真画像について考えた場合、撮影者らが重要と思う被写体の撮影頻度が高くなるであろうことは、容易に推定できる。例えば、旅行において名所旧跡の写真を撮る場合、撮影者は、画角や撮影位置などを変えながら複数の撮影を行うことが多いだろう。また、複数人によってある地域の名所旧跡の撮影が行われた場合、そのオブジェクト毎の撮影頻度が人気や話題性に関連するであろうことも容易に推定できる。このような推定には、複数の画像において共通に撮影された被写体を検出する必要があり、そのための検出技術は、ビッグデータ、特に画像におけるマイニングに重要である。
【００１０】
また、複数の画像や映像から同一オブジェクトの検出を行う技術として、動画中のオブジェクトを追尾する技術がある（例えば、特許文献1）。また、三次元データのための視差画像処理（例えば、特許文献2）やパノラマステッチ（例えば、特許文献3）などが知られている。
【００１１】
オブジェクトを追跡する技術は、指定された画像（フレーム画像）に共通のオブジェクトが存在することを前提とし、指定された画像に共通のオブジェクトが存在するか否かの判定を目的とする技術ではない。例えば、動画中のオブジェクトの追跡は、オブジェクト近傍の画像ブロックを特徴探索の対象とするため、離散的な静止画シーケンスや異なるアングルから撮影した静止画シーケンスを処理すると、オブジェクトの追跡ができず共通の被写体は見付からない。
【００１２】
また、視差画像処理に関しては、視差を有する二枚の画像には必然的に共通の被写体が存在するため、視差によって生じる領域範囲内において対応点を求める処理を行えばよい。また、パノラマステッチに関しては、処理の制約が何も無ければ各画像の組み合わせごとに共通する被写体を検出する必要がある。しかし、通常は撮影順が定義されるなど、処理を簡便化し、処理精度を高めるための制約が設けられている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開2011-086111号公報
【特許文献２】特開平10-320588号公報
【特許文献３】特開2004-072685号公報
【特許文献４】特開2011-107795号公報
【非特許文献】
【００１４】
【非特許文献１】C. Harris、M. J. Stephens「A combined corner and edge detector」In Alvey Vision Conference、147-152頁、1988年
【非特許文献２】David G. Lowe「Distinctive Image Features from Scale-Invariant Keypoints」International Journal of Computer Vision、Vol. 60、No. 2(2004)、91-110頁
【非特許文献３】J. J. Koenderink、A. J. van Doorn「Representation of local geometry in the visual system」Biological Cybernetics、Vol. 55、367-375頁、1987年
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明は、主要な被写体のオブジェクト領域の検出を目的とする。
【課題を解決するための手段】
【００１６】
本発明にかかる画像処理は、第一の画像群に含まれる画像から特徴点を検出し、各特徴点の近傍の画素を用いて前記特徴点の局所特徴量を算出し、前記第一の画像群に含まれる画像の組み合わせごとに、前記局所特徴量に基づき画像間の類似度を判定し、 前記類似度が第一の閾値以上の前記組み合わせに対応する、前記第一の画像群に含まれる画像を、第二の画像群の画像として分離し、前記第二の画像群の画像の類似度に基づき、前記第二の画像群から基準画像を選択し、前記基準画像の特徴点ごとに、前記基準画像の特徴点に対応する特徴点を有する前記第二の画像群に含まれる画像の数を対応画像数として検出し、前記基準画像において、前記対応画像数が第二の閾値を超える特徴点の分布に基づき、オブジェクト領域を推定する。
【００１７】
また、複数の画像を有する画像群における、第一の画像以外の複数の第二の画像ごとに、前記第二の画像の第二の特徴点を、その特徴量に基づき、前記第一の画像の第一の特徴点に対応付けた特徴点対を生成し、前記生成された特徴点対から、前記第二の特徴点の位置が所定領域にある特徴点対を検出し、前記特徴点対の検出数が所定の閾値を超える、前記第一の特徴点を包含する領域を抽出する。
【発明の効果】
【００１８】
本発明によれば、主要な被写体のオブジェクト領域の検出が可能になる。
【図面の簡単な説明】
【００１９】
【図１】実施例における画像処理装置の構成例を示すブロック図。
【図２】オブジェクト検出処理部の構成例を示すブロック図。
【図３】データスキーマ例を示す図。
【図４】局所特徴量の算出処理例を示すフローチャート。
【図５】縮小画像の生成例を示す図。
【図６】主要被写体検出部の処理例を示すフローチャート。
【図７】類似性の比較処理例を示すフローチャート。
【図８】検出対象画像の一例を示す図。
【図９】図8に示す検出対象画像に対する類似性の比較処理結果を示す図。
【図１０】基準画像の選択処理例を示すフローチャート。
【図１１】特徴点の投票処理例を示すフローチャート。
【図１２】主要な被写体のオブジェクト領域の検出処理例を示すフローチャート。
【図１３】実施例2における画像候補の絞り込み処理例を示すフローチャート。
【図１４】実施例3における主要な被写体のオブジェクト領域の検出処理例を示すフローチャート。
【図１５】実施例4の主要被写体検出部の処理例を示すフローチャート。
【図１６】対応点の絞り込み処理の概念を説明する図。
【図１７】対応点の絞り込み処理例を示すフローチャート。
【図１８】検出したオブジェクト領域の画像をアイコンに利用する一例を示す図。
【発明を実施するための形態】
【００２０】
以下、本発明の実施例を図面を参照して説明する。なお、以下の実施例は特許請求の範囲に関わる本発明を限定するものではなく、また、実施例として説明される特徴の組み合わせのすべてが本発明における解決に必須のものとは限らない。
【実施例１】
【００２１】
実施例においては、第一の画像群において、より多く撮影されている被写体を、主要な被写体として検出するために、以下の処理を行う。なお、検出する被写体は、必ずしも、第一の画像群のすべての画像に存在するものではない。
【００２２】
まず、第一の画像群に含まれる各画像から局所特徴点を検出し、局所特徴点の近傍の画素を用いて該局所特徴点の局所特徴量を算出する。次に、第一の画像群に含まれる画像の組み合わせごとに、局所特徴量を比較して画像間の類似度を算出し、類似度が第一の閾値を超える組み合わせに対応する画像を第二の画像群として分離する。次に、第二の画像群に含まれる一つの画像を基準画像として、基準画像の局所特徴点ごとに、第二の画像群の他の画像の局所特徴点との局所特徴量の比較を行い、局所特徴量の間の距離を算出する。次に、基準画像の局所特徴点ごとに、距離が第二の閾値以下である局所特徴点を含む画像の数（以下、対応画像数）を検出する。そして、対応画像数が第三の閾値を超える特徴点を包含する、基準画像の領域を、主要な被写体のオブジェクト領域として検出する。
【００２３】
以下、このようなオブジェクト検出処理を行う実施例の構成について、詳細に説明する。
【００２４】
［装置の構成］
図1に実施例におけるオブジェクト検出処理を行う画像処理装置の構成例を示す。
【００２５】
マイクロプロセッサ(CPU)101は、各種データ処理のための数値演算、論理演算、判断などを行い、システムバス107を介して接続されている各構成を制御する。入力部102には、ユーザ指示を入力するためのキーボードやポインティングデバイス、主要な被写体の検出対象の画像を入力するカメラなどの撮像装置もしくは撮影画像を保持するメモリカードのような記録メディアが接続される。出力部103には、液晶パネルなどの各種表示装置が接続される。
【００２６】
記憶部104は、入出力データや処理プログラムなど、各種情報が格納されるハードディスクドライブやフラッシュメモリなどである。ランダムアクセスメモリ(RAM)105は、CPU101によってワークメモリとして利用され、各構成からのデータおよび演算途中のデータを一時的に記憶する。リードオンリメモリ(ROM)106は、CPU101が実行するオペレーティングシステムや制御プログラムを記憶する。以上説明した構成はすべて、システムバス107により相互に接続されている。
【００２７】
図2は実施例の画像処理装置におけるオブジェクト検出処理部の構成例を示すブロック図である。CPU101が、記憶部104などに格納されたオブジェクト検出処理用のプログラムを実行することにより、図2に示すオブジェクト検出処理部が実現される。例えば、コンピュータ機器のCPUが、記録媒体によって供給されるオブジェクト検出処理用のプログラムを実行することで、オブジェクト検出処理部の機能が実現される。
【００２８】
オブジェクト検出処理の処理構成は、局所特徴量算出部10と主要被写体検出部20に大別される。局所特徴量算出部10によって画像から取得された特徴情報は、例えばRAM105の所定領域に割り当てられた特徴インデックス206に格納される。主要被写体検出部20は、特徴インデックス206から特徴情報を読み出すことで、主要な被写体のオブジェクトを検出する。
【００２９】
また、入力部102によって入力される、主要な被写体の検出対象の画像（以下、検出対象画像）は、画像管理部205によって例えば記憶部104の所定領域へ格納される。
【００３０】
［局所特徴量算出部］
局所特徴量算出部10において、検出対象画像から局所特徴点を検出し、局所特徴点について、回転不変性、拡縮不変性を有する局所特徴量を算出する処理について説明する。
【００３１】
画像入力部201は、検出対象画像を入力する。縮小画像生成部202は、検出対象画像の縮小画像を生成する。特徴点検出部203は、縮小画像から局所特徴点を検出する。特徴量算出部204は、局所特徴点の局所特徴量を局所特徴点および局所特徴点近傍の画素を用いて算出し、局所特徴点の局所特徴量を示す特徴情報を特徴インデックス206へ格納する。
【００３２】
一般的なオブジェクト検出処理であれば、比較対象画像の局所特徴点の座標と局所特徴量（特徴情報）を予め算出し、算出した特徴情報を比較対象画像に対応付けて特徴インデックスに登録しておく。そして、オブジェクトの検出処理時に、比較対象画像の特徴情報を特徴インデックスから逐次読み出し、検出対象画像の特徴情報との比較を行い、比較結果を類似度の降順にソートした検出結果を求める。
【００３３】
●特徴インデックス
図3を用いて、実施例におけるデータスキーマについて説明する。
【００３４】
図3(A)は画像管理部205の画像管理インデックス例を示す。画像管理部205は、各検出対象画像にユニークな画像ID（整数値）を付与し、画像IDに関連付けて検出対象画像と局所特徴量を管理するためのリンク情報を保持する。検索のヒット結果はこの画像IDと類似度の対として表される。画像管理インデックスの「画像データファイル名」フィールドには、各検出対象画像の格納先のパスを含むファイル名が格納される。また、「画像特徴量」フィールドには、図3Bに示す局所特徴量の算出結果を管理する画像特徴インデックスにリンクするための画像特徴ID群が格納される。画像特徴ID群を格納するため、「画像特徴量」フィールドは可変長である。
【００３５】
図3(B)は画像IDで示される注目画像の局所特徴量を記述する画像特徴インデックス例を示す。画像特徴インデックスには、一つの局所特徴点に対する局所特徴量が1レコードとして記録される。つまり、画像特徴インデックスには図3(B)に示すように「画像特徴ID」で示される各局所特徴点について、当該局所特徴点が属す画像の「画像ID」、当該局所特徴点の「特徴点座標」、当該局所特徴点のベクトル表現の「局所特徴量」が記録される。
【００３６】
●局所特徴量の算出処理
以下、本実施例における局所特徴量の算出処理について、図4のフローチャートを用いて説明する。
【００３７】
画像入力部201は検出対象画像の画像データを読み込み、画像管理部205は検出対象画像を記憶部104の所定領域に格納する(S401)。画像入力部201は、検出対象画像の画像データから輝度成分を抽出した輝度成分画像を生成し、輝度成分画像を縮小画像生成部202に出力する(S402)。
【００３８】
縮小画像生成部202は、画像入力部201から入力された輝度成分画像を、倍率pに従って順次縮小して整数枚nの縮小画像を生成し、縮小画像を特徴点検出部203に出力する(S403)。なお、倍率pおよび縮小画像の枚数nについては予め決められているものとする。
【００３９】
図5に、縮小画像生成部202における縮小画像の生成例を示す。図5には、倍率pが2-1/4、縮小画像の枚数nが9の例を示すが、もちろん、倍率pおよび枚数nについては他の数値であってもよい。図5において、画像501は、画像入力部201から入力された輝度成分画像（以下、オリジナル画像）である。縮小画像502は、オリジナル画像から倍率pに従って四回縮小された画像であり、縮小画像503はオリジナル画像から倍率pに従って八回縮小された画像である。図5の例では、縮小画像502は、オリジナル画像501の1/2縮小画像になり、縮小画像503は、オリジナル画像501の1/4縮小画像になる。なお、縮小画像生成部202では例えば線形補間による縮小を行うが、この縮小方法については特に限定されない。
【００４０】
次に、特徴点検出部203は、縮小画像生成部202から入力されたn枚の縮小画像を用いて、画像の回転があってもロバストに検出されるような局所特徴点を検出する(S404)。なお、局所特徴点は、オリジナル画像501上の点として検出される。
【００４１】
実施例では、局所特徴点の検出方法としてHarris作用素を用いるとする。Harris作用素を作用させて得られた出力画像H上の注目画素について、注目画素および注目画素の近傍八画素（合計九画素）の画素値を調べる。そして、注目画素が局所極大になる（九画素の中で注目画素の画素値が最大になる）点を局所特徴点として検出する。ただし、注目画素が局所極大になった場合も、注目画素の値が所定の閾値以下である場合は、注目画素を局所特徴点として検出しないようにする。なお、Harris作用素を用いた局所特徴点の検出の詳細については、非特許文献1を参照されたい。また、局所特徴点を検出可能な方法であれば、Harris作用素による特徴点検出方法に限らず、どのような方法であっても適用可能である。ここで検出された局所特徴点は、特徴量算出部204に入力される。
【００４２】
特徴量算出部204は、特徴点検出部203から入力された各局所特徴点について、回転不変、拡縮不変に定義された局所特徴量を算出する(S405)。実施例では、局所特徴量の算出方法として、LocalJetおよびそれらの導関数の組み合わせを用いるとする。つまり、以下の式(1)により局所特徴量vが算出される。
┌                            ┐
│            L               │
│        LxLx + LyLy         │
v = │LxxLxLx + 2LxyLxLy + LyyLyLy│      …(1)
│        Lxx + Lyy           │
│  LxxLxx + 2LxyLxy + LyyLyy │
└                            ┘
【００４３】
式(1)の右辺で用いている記号は、以下に示す式(2)〜(7)で定義される。なお、式(2)において、右辺のG(x, y)はガウス関数、I(x, y)は画像の座標(x, y)における画素値であり、「＊」は畳み込み演算を表す。また、式(3)は式(2)で定義された変数Lのxに関する偏導関数、式(4)は当該変数Lのyに関する偏導関数である。式(5)は式(3)で定義された変数Lxのyに関する偏導関数、式(6)は式(3)で定義された変数Lxのxに関する偏導関数、式(7)は式(4)で定義されたLyのyに関する偏導関数である。
L = G(x, y)＊I(x, y)       …(2)
Lx = ∂L/∂x                …(3)
Ly = ∂L/∂y                …(4)
Lxy = ∂2L/∂x∂y            …(5)
Lxx = ∂2L/∂x2              …(6)
Lyy = ∂2L/∂y2              …(7)
【００４４】
LocalJetを用いた局所特徴量算出の詳細については、非特許文献3を参照されたい。
【００４５】
なお、回転不変性かつ拡縮不変性を有する局所特徴量を算出可能な方法であれば、LocalJetを用いた特徴量算出方法に限らず、どのような方法であっても適用可能である。ここで算出された局所特徴量は、局所特徴点の座標と関連付けられた上、局所特徴量と局所特徴点の座標の組として特徴インデックス206へ格納される。つまり、特徴インデックス206には、検出対象画像ごとに、局所特徴量および局所特徴点の座標の複数の組が格納されることになる。
【００４６】
［主要被写体検出部］
次に、主要被写体検出部20が特徴インデックス206から特徴情報を読み出し、主要な被写体のオブジェクトを検出する処理について説明する。まず、図6のフローチャートを用いて処理の概要を説明し、その後、各処理の詳細を説明する。
【００４７】
総当たり比較部207は、検出対象画像（第一の画像群）から注目画像を選択し、注目画像と、注目画像を除くすべての検出対象画像との間で類似性の比較処理を行う(S601)。この比較処理を第一の画像群の画像の全組み合わせについて行うことで、画像間において類似する部分があるか否かを示す情報が得られる。言い換えれば、第一の画像群の画像の各組み合わせにおいて、共通に撮影された被写体の存在の可能性を示す情報が類似度として得られる。
【００４８】
画像候補分離部208は、第一の画像群の中から所定の閾値以上の類似度をもつ組み合わせに対応する画像を第二の画像群として分離する(S602)。言い替えれば、主要な被写体を含む画像の候補が第二の画像群として選択される。基準画像選択部209は、第二の画像群の画像から、詳細は後述するが、第二の画像群に共通する被写体が最も好ましく撮影されている画像を基準画像として選択する(S603)。その際、詳細は後述するが、第二の画像群に共通するオブジェクトを含む画像が第三の画像群として抽出される。
【００４９】
特徴点投票部210は、基準画像の局所特徴点ごとに、当該局所特徴点が、第三の画像群の画像の局所特徴点と合致する数を累計する(S604)。主要被写体推定部211は、累計数が所定の閾値以上である局所特徴点を包含する領域を、検出対象画像に共通する主要な被写体のオブジェクト領域として検出する(S605)。
【００５０】
以下、図6のフローチャートに示す各処理について詳細に説明する。
【００５１】
●総当り比較部
総当り比較部207による類似性の比較処理(S601)について、図7のフローチャートを用いて詳細に説明する。
【００５２】
図7は、ある注目画像とある比較画像の組における類似性の比較処理を示し、この比較処理が第一の画像群の画像の全組み合わせについて行われる。以下、注目画像の局所特徴量をVq、局所特徴量Vqに関連付けられた局所特徴点をQ、その座標をQ(x', y')とする。また、比較画像の局所特徴量をVs、局所特徴量Vsに関連付けられた局所特徴点をS、その座標をS(x, y)とする。
【００５３】
総当り比較部207は、最終投票数を表す変数VoteMaxを0に初期化する(S701)。次に、総当り比較部207は、局所特徴量VqとVsの間の距離（以下、特徴量間距離）を、局所特徴量のすべての組み合わせについて算出し、特徴量間距離が最短の対応点のリスト（以下、対応点リスト）を作成する(S702)。
【００５４】
特徴量間距離は、各特徴量が回転不変、拡縮不変のベクトルで表現されているため、それらの差分をとればよい。すなわち、注目画像の局所特徴量Vqに対し、算出された特徴量間距離が閾値Tv以内で、かつ最短になるような局所特徴量Vsを対応点の局所特徴量として検出し、これら局所特徴量VqとVsの組み合わせを対応点リストに登録する。もちろん、局所特徴量Vqに対して上記条件を満たす局所特徴量Vsが存在しない場合、局所特徴量Vqは対応点リストに登録されない。
【００５５】
図3(C)に対応点リストのスキーマを示す。図3(C)に示すように、対応点リストには「注目画像ID」の画像の局所特徴量を示す「注目画像特徴ID」、「比較画像ID」の画像の局所特徴量を示す「比較画像特徴ID」が記録される。さらに、これら二つの画像間における局所特徴量を比較して得られる「特徴量間距離」が記録される。
【００５６】
以降、対応点リストに登録されたk番目の対応点について、当該対応点の注目画像の局所特徴量をVq(k)、当該対応点の比較画像の局所特徴量をVs(k)と記載する。さらに、局所特徴量Vq(k)とVs(k)に対応付けられている局所特徴点をそれぞれQk、Sk、その座標をQk(x'k, y'k)、Sk(xk, yk)と記載する。また、対応点リストに登録された対応点の数（以下、登録対応点数）をmとする（1≦k≦m）。
【００５７】
次に、総当り比較部207は、類似度算出処理の反復カウント数を表す変数Countを0に初期化する(S703)。そして、反復カウント数Countと所定の最大反復処理回数Rnを比較して(S704)、Count＜Rnの場合は投票数を表す変数Voteを0に初期化する(S705)。
【００５８】
次に、総当り比較部207は、対応点リストからランダムに二組の対応点を選択する(S706)。ここで選択される二組の対応点の座標をQ1(x'1, y'1)およびS1(x1, y1)、並びに、Q2(x'2, y'2)およびS2(x2, y2)とする。そして、座標Q1(x'1, y'1)およびS1(x1, y1)、並びに、Q2(x'2,y'2)およびS2(x2, y2)が式(8)に示す変換を満たしていると仮定して、式(8)中の変数a〜fを算出する(S707)。つまり、変数a〜dで構成される変換行列Mと、変数e、fで構成される変換行列Tが算出される。
┌   ┐ ┌   ┐┌  ┐ ┌ ┐
│x'k│=│a b││xk│+│e│
│y'k│ │c d││yk│ │f│      …(8)
└   ┘ └   ┘└  ┘ └ ┘
【００５９】
ここで、簡略化のために相似変換だけを考えると式(8)は式(9)のように書き換えられる。
┌   ┐ ┌    ┐┌  ┐ ┌ ┐
│x'k│=│a -b││xk│+│e│
│y'k│ │b  a││yk│ │f│      …(9)
└   ┘ └    ┘└  ┘ └ ┘
【００６０】
式(9)における変数a、b、e、fは、座標値x'1、y'1、x1、y1、x'2、y'2、x2、y2を使って式(10)〜(13)で表される。
a = {(x1-x2)(x'1-x'2)+(y1-y2)(y'1-y'2)}/XY        …(10)
b = {(x1-x2)(y'1-y'2)-(y1-y2)(x'1-x'2)}/XY        …(11)
e = {(y'1-y'2)(x1y2-x2y1)-(x'1+x'2)(x1x2+y1y2)+x'1(x22+y22)+x'2(x12+y12)}/XY …(12)
f = {(x'1-x'2)(y1x2-y2x1)-(y'1+y'2)(y1y2+x1x2)+y'1(y22+x22)+y'2(y12+x12)}/XY …(13)
ここで、XY=(x1-x2)2+(y1-y2)2。
【００６１】
次に、総当り比較部207は、対応点リストからランダムに選択された二組の対応点以外の対応点を選択するために、選択変数kに3を設定し(S708)、選択変数kと登録対応点数mを比較する(S709)。そして、k＞mの場合は処理をステップS716へ移すが、その場合の処理については後述する。
【００６２】
k≦mの場合、総当り比較部207は、対応点リストから、ステップS706で選択した二組の対応点以外の一組の対応点Qk、Sk（座標Qk(xk, yk)、Sk(xk, yk)）を選択する(S710)。
【００６３】
次に、総当り比較部207は、比較画像の局所特徴点Skの座標Sk(xk, yk)を式(9)により（変換行列M、Tを用いて）注目画像上の座標に変換した座標S'k(x'k, y'k)を算出する(S711)。そして、変換後の座標S'k(x'k, y'k)と注目画像の局所特徴点Qkの座標Qk(xk, yk)との幾何学的距離（ユークリッド距離D(S'k, Qk)）を算出し、距離D(S'k, Qk)が所定の閾値Td以下か否かを判定する(S712)。
【００６４】
距離D(S'k, Qk)≦Tdの場合、総当り比較部207は、二つの画像における対応点Qk(xk, yk)とS'k(x'k, y'k)の情報を近接対応点リストに記録する(S713)。そして、変数Voteをインクリメントして(S714)、処理をステップS715へ移す。また、距離D(S'k, Qk)＞Tdの場合は、何もせずに処理をステップS715へ移す。
【００６５】
二つの画像の対応点の情報を近接対応点リストに記録しておくことにより、後段のステップS604における類似特徴の投票処理（合致する特徴点の累計）を簡略化することができる。なお、近接対応点リストは、図3(C)の対応点リストと同様のスキーマを用い、RAM105などに割り当てるとよい。
【００６６】
総当り比較部207は、選択変数kをインクリメントし(S715)、処理をステップS709に戻す。つまり、選択変数kが登録対応点数mを超えるまでステップS710からS715の処理が繰り返され、選択変数kが対応点数mを超えると処理はステップS716に移る。
【００６７】
k＞mになると、総当り比較部207は、投票数を表す変数Voteと最終投票数を表す変数VoteMaxを比較し(S716)、Vote＞VoteMaxの場合はVoteMaxの値をVoteの値で置き換える(S717)。その後、反復カウント数Countをインクリメントし(S718)、処理をステップS704に戻す。一方、Vote≦VoteMaxの場合は、VoteMaxを更新せずに反復カウント数Countをインクリメントして(S718)、処理をステップS704に戻す。
【００６８】
ステップS704で反復カウント数Countが所定の最大反復処理回数Rnを超えると、総当り比較部207は、変数VoteMaxの値を比較画像に対する注目画像の類似度としてRAM105の所定領域に記録し(S719)、類似性の比較処理を終了する。また、ステップS719において、総当り比較部207は、類似性の比較処理の終了時点の変換行列M、Tを、図3(D)に示すような変換行列保持スキーマにより、RAM105の所定領域に格納する。すなわち、類似性の比較処理の終了時点で、注目画像および比較画像の画像IDに対応付られた変換行列M、Tが変換行列情報として格納される。
【００６９】
上記の類似性の比較処理においては、対応点について相似変換のみを考慮する例を示したが、アフィン変換など、他の幾何学変換を利用することができえる。その場合、ステップS707において、他の幾何学変換方法に応じた変換行列を求めればよい。例えばアフィン変換の場合、ステップS706で、ランダムに三組の対応点を抽出する。そして、ステップS707で、式(9)ではなく式(8)と三組（計六点）の対応点を使って変数a〜fを求めればよい。
【００７０】
また、上記では、ステップS719で類似度として最終投票数を表す変数VoteMaxの値を出力する例を示したが、これに限らず、他の類似性の指標を計算するようにしてもよい。例えば、ステップS703以降の処理を行わずに、ステップS702で作成された対応点リストの登録対応点数mを、そのまま類似性の指標として出力することも考えられる。この場合、一定の検索精度を保ちつつ、検索速度を向上させることが可能になる。
【００７１】
総当たり比較部207は、図7のフローチャートに示した類似性の比較処理を、比較画像を順次切り替えながら、注目画像を除く第一の画像群のすべての画像に対して行うことによって、すべての画像について総当たりの比較処理結果を得る。
【００７２】
ここで図8、図9を用いて、総当たり比較部207における比較処理結果を示す。図8は、画像ID1〜7の七枚の検出対象画像の例を示し、これら七枚の検出対象画像に対する総当たりの比較処理結果を図9(A)に示す。図9(A)は比較画像に対する注目画像の類似度を示している。なお、同一画像についての比較は行わないため、図9(A)のテーブルの対角線上には値が記録されない。図9(A)おいて、共通する被写体として「教会」のオブジェクトが含まれるID=1、2、4、5の画像について、互いの類似度が高い（80以上）。同様に、共通する被写体として「乗用車」のオブジェクトが含まれるID=1、7の画像についても、互いの類似度が高い（80以上）。
【００７３】
なお、図9(A)において、注目画像と比較画像の類似性の比較結果には対称性がない。これは、本実施例の類似性の比較処理がランダムに幾つかのサンプルを抽出するRANSAC (random sample consensus)処理によるため、対称性が期待できないからである。また、対応点リストの登録対応点数mを類似性の指標とする場合も同様に対称性は期待できない。
【００７４】
また、画像特徴の傾向が同様であるとみなせる画像を考慮して、注目画像と比較画像の最小限の組み合わせによる類似性の比較処理を行ってもよく、その場合には処理速度の向上が望める。
【００７５】
●画像候補分離部
画像候補分離部208による第二の画像群の分離処理(S602)について、詳細に説明する。
【００７６】
第二の画像群の分離処理により、所定の閾値Ts以上の類似度をもつ画像が主要な被写体を含む画像の候補として選択され、選択された画像を示す情報が例えばRAM105の所定領域に割り当てられた画像候補リストに登録される。すなわち、画像間の類似度が閾値Ts以上の場合、該類似度が算出された二画像ともに選択され、画像候補リストに登録される。図8に示す画像群における総当たりの類似性の比較処理結果に対し、閾値Tsを80とした場合の画像候補の選択結果を図9(B)に示す。図9(B)の例において、ハッチング部分が80以上の類似度であり、ID=1、2、4、5、7の画像が画像候補リストに登録される。
【００７７】
また、画像候補の選択結果をさらに詳しく検討して絞り込むことも有効である。例えば、図8に示す例において、ID=1の画像は「教会」と「乗用車」の二つのオブジェクトを含み、ID=7の画像には「乗用車」のオブジェクトのみが含まれ、ID=2、4、5の画像には「教会」のオブジェクトのみが含まれている。ID=1とID=7の画像は共通に「乗用車」オブジェクトを含むため、その類似度は80となって閾値Tsに達する。しかし、ID=1の画像と類似度が高いID=2、4、5の画像と、ID=7の画像の類似度は、共通のオブジェクトが存在しないため閾値Ts未満である。他方、ID=1、2、4、5の画像には「教会」のオブジェクトが共通に存在するので、互いに閾値Ts以上の類似度をもつ。
【００７８】
図8に示す例では、ステップS602において、ID=1、2、4、5、7の画像が画像候補として選択される。しかし、共通のオブジェクトを含む画像候補としては、ID=7の画像を除外したID=1、2、4、5の画像が選択されることが望ましい。この画像候補のさらなる選別は、後段の基準画像の選択処理において行われる。
【００７９】
●基準画像選択部
次に、基準画像選択部209による基準画像の選択処理(S603)について、図10のフローチャートを用いて詳細に説明する。ここでは、ステップS602で画像候補リストに登録された、閾値Ts以上の類似度をもつN個の画像候補の画像IDをID[i]（i=1、2、3、…、N）と表記する。
【００８０】
基準画像選択部209は、画像候補リストから画像候補の数Nと各画像候補のID、および、ID[i]とID[j]（i≠j）の画像候補の間の類似度Ri,jを読み込む(S1001)。次に、基準画像選択部209は、着目画像候補を識別するためのカウンタpを1に初期化し、他の画像候補との類似度の総和を表す累積類似度Sum[p]（p=1、2、3、…、N）を0で初期化する(S1002)。
【００８１】
次に、基準画像選択部209は、カウンタpが候補数Nを超えているか否かを判定し(S1003)、超えていなければカウンタLを1で初期化する(S1004)。カウンタLは、累積類似度Sum[p]を求める際の画像候補を表すために用いられる。そして、基準画像選択部209は、類似度の累積対象になる画像候補が残っているか否かを判定する(S1005)。画像候補が残っていれば着目画像候補ID[p]と累積対象の画像候補ID[L]の間の類似度Rp,Lを累積加算し(S1007)、カウンタLをインクリメントし(S1008)、処理をステップS1005に戻す。
【００８２】
このように、カウンタpで示される着目画像候補ID[p]と、他の画像候補ID[L]との間の類似度Rp,Lの累積加算がステップS1005〜S1008のループによって行われる。そして、ステップS1005において、カウンタLが候補数Nに達すると、カウンタpをインクリメントして(S1006)、処理をステップS1003に戻す。
【００８３】
ステップS1003〜S1008の処理が、ステップS1003でp＞Nになるまで、すなわちすべての画像候補について繰り返され、すべての画像候補について、類似度の累積値である累積類似度Sum[i]が算出される。
【００８４】
ステップS1003においてp＞Nになると、基準画像選択部209は、主要な被写体を検出する際の基準画像の選択と、主要な被写体を含まない可能性がある画像候補の削除を行う。言い替えれば、ステップS602で画像候補として選択された第二の画像群の画像から主要な被写体を含む第三の画像群の画像を抽出する。
【００８５】
まず、基準画像選択部209は、各種の初期化を行う(S1009)。着目画像候補を表すカウンタpを1に、基準画像を表すRef_IDを1に、基準画像の最大累積類似度Rmaxを0に初期化する。さらに、主要な被写体を含む画像候補の数Ncandiを全画像候補の数Nに初期化する。Ncandiは、主要な被写体を含まない可能性がある画像候補が判定された段階でデクリメントされる。
【００８６】
次に、基準画像選択部209は、カウンタpが候補数Nを超えているか否かを判定し(S1010)、超えていなければ着目画像候補の累積類似度Sum[p]と、現在の最大累積類似度Rmaxとを比較する(S1011)。比較の結果、Sum[p]≧Rmaxの場合は着目画像候補を示すカウンタpの値を基準画像を示すRef_IDにセットし、RmaxをSum[p]に更新する(S1012)。その後、カウンタpがインクリメントされて着目画像候補が次の画像候補に移動され(S1015)、処理はステップS1010に戻る。
【００８７】
一方、Sum[p]＜Rmaxの場合、基準画像選択部209は、累積類似度Sum[p]を候補数Nで除算して得られる一画像候補当りの平均類似度Rpaveが所定の閾値th1未満か否かを判定する(S1013)。
【００８８】
着目画像候補の平均類似度Rpaveは、該画像候補における全対応点のうち、何%の対応点が類似するかを示す。例えばth1=60かつRpave＜th1の場合、類似する対応点は60%未満と判定され、基準画像選択部209は、着目画像候補を画像候補リストから削除し、画像候補数Ncandiをデクリメントする(S1014)。その後、カウンタpがインクリメントされて着目画像候補が次の画像候補に移動され(S1015)、処理はステップS1010に戻る。
【００８９】
また、ステップS1013においてRpave≧th1と判定された場合は、着目画像候補の削除は行われず、カウンタpがインクリメントされて着目画像候補が次の画像候補に移動され(S1015)、処理はステップS1010に戻る。
【００９０】
そして、ステップS1010においてp＞Nになると、すべての画像候補について基準画像の選択処理が行われたと判断され、当該処理が終了する。基準画像の選択処理が終了した時点でRef_IDにセットされているIDに対応する画像候補が基準画像として選択される。また、基準画像と共通する主要な被写体を含む第三の画像群の画像候補数Ncandiが決定される。
【００９１】
先に説明した図8、図9を用いて基準画像の選択処理を説明する。図8に示すように、ID=1とID=7の画像候補は共通のオブジェクトを有するが、ID=7の画像候補とID=2、4、5の画像候補には共通のブジェクトが無いことが、図9(A)(B)の類似性の比較結果に表れている。この場合、ID=1の画像候補の累積類似度Sum[1]を候補数N=7で除算すると平均類似度R1ave=83.5が得られる。同様に、ID=2、4、5、7の画像候補の平均類似度はそれぞれ67.8、72.5、70.5、35.0になる。従って、ステップS1013およびS1014の処理により、ID=7の画像候補は削除される。そして、ID=1の画像候補の累積類似度が最も大きくなるため、ID=1の画像候補が、共通の被写体が最も好ましく撮影されている画像と推測され、基準画像Qとして選択される。
【００９２】
●特徴点投票部
次に、特徴点投票部210による、基準画像と他の画像候補との間で類似する特徴点の投票処理(S604)について、図11のフローチャートを用いて詳細に説明する。なお、特徴点の投票処理における画像候補（第三の画像群）は、基準画像の選択処理(S603)において更新された画像候補リストから読み出される。
【００９３】
特徴点投票部210は、ステップS713で作成された近接対応点リストから、基準画像Qの局所特徴点Qkの対応点である、Ncandi個の画像候補の局所特徴点S'kを読み込む(S1101)。ここで、基準画像Qの局所特徴点の数をkmaxとする。
【００９４】
図7のフローチャートにおいて説明したように、ステップS713で近接対応点リストに記録した二つの画像の対応点情報をステップS1101で参照することで、本処理の効率化が図れる。もちろん、図7のフローチャートに従って、再び類似性の比較処理を行い、基準画像の局所特徴点Qkに対応する局所特徴点S'kを求めてもよい。ステップS604の類似する特徴点の投票処理では、上記いずれの方法をとるにしても、基準画像を除く第三の画像群の画像候補との対応点情報に基づく投票を行うことになる。つまり、基準画像の局所特徴点のそれぞれについて、所定の閾値以上の類似度をもつ局所特徴点に投票行う。
【００９５】
次に、特徴点投票部210は、基準画像Qの局所特徴点Qkを識別するためのカウンタkを1に初期化する。さらに、基準画像Qにおけるkmax個の局所特徴点Qkのそれぞれに対する投票数を表す配列NVote[k](k=1、2、3、…、kmax)を0で初期化する(S1102)。
【００９６】
次に、特徴点投票部210は、カウンタkと特徴点数kmaxを比較して、基準画像Qのすべての局所特徴点Qkについて処理が終了したか否かを判定する(S1103)。終わっていなければ（k≦kmax）、画像候補を示すカウンタiを1に初期化し(S1104)、カウンタiと画像候補数Ncandiを比較して、すべての画像候補について処理が終了したか否かを判定する(S1105)。
【００９７】
ステップS1105でi≦Ncandiの場合（処理未了の画像候補あり）、特徴点投票部210は、ステップS1101で読み込んだS'kのリストを参照する。そして、基準画像Qの局所特徴点Qkに対応する局所特徴点S'kがID[i]の画像候補に存在するか否かを判定する(S1106)。局所特徴点Qkに対応する局所特徴点S'kが存在すれば、基準画像Qの局所特徴点Qkに対する投票数NVote[k]をインクリメントする(S1107)。そして、カウンタiをインクリメントして画像候補を切り替えて(S1108)、処理をステップS1105に戻す。一方、局所特徴点Qkに対応する局所特徴点S'kが存在しないと判断した場合は、投票数NVote[k]の更新を行わず、カウンタiをインクリメントして画像候補を切り替えて(S1108)、処理をステップS1105に戻す。
【００９８】
ステップS1105でi＞Ncandiになると（Ncandi個のすべての画像候補に関する投票が終了）、特徴点投票部210は、カウンタkをインクリメントして基準画像Qの局所特徴点Qkを切り替え(S1109)、処理をステップS1103に戻す。
【００９９】
そして、ステップS1103でk＞kmax（すべての局所特徴点Qkに対する投票が終了）になるまで、上記処理が継続される。これにより、基準画像Qの各局所特徴点Qkに対する投票数NVote[k]が累積投票数として取得される。
【０１００】
図11の処理は近接対応点リストを用いることで、基準画像の局所特徴点ごとに、画像候補のうち、局所特徴点Qkとの対応する位置の差分が閾値Td以下である局所特徴点S'kを有する画像候補の数がNVote[k]として検出される。NVote[k]はすなわち、局所特徴点Qkに近接する局所特徴点S'kを有する画像数（対応画像数）を示す。
【０１０１】
このように、主要な被写体を含む画像候補に基づく投票を行うことにより、基準画像の、共通のオブジェクトに関わる局所特徴点の累積投票数が、共通のオブジェクトに関わらない局所特徴点の累積投票数よりも大きくなる。後段の主要な被写体のオブジェクト領域の検出処理においては、この累積投票数の性質を利用して、基準画像上における投票数の幾何的な分布から、共通する被写体のオブジェクト領域を検出する。
【０１０２】
●主要被写体推定部
次に、主要被写体推定部211による主要な被写体のオブジェクト領域の検出処理(S605)について、図12のフローチャートを用いて詳細に説明する。主要被写体推定部211は、検出対象画像に共通する被写体のオブジェクト領域を検出する最も簡便な方法として、オブジェクト領域の最外接矩形領域を検出する。すなわち、ステップS604で算出された基準画像の局所特徴点の累計投票数を用いて、所定閾値以上の投票数をもつ局所特徴点を包含する矩形を検出する。
【０１０３】
主要被写体推定部211は、主要な被写体を含む画像候補の数Ncandiに所定の割合r（例えば50%）を乗算した閾値VTを算出する(S1201)。なお、ステップS603の基準画像の選択処理では、共通のオブジェクトを含まない画像候補を除外するために、例えば60%を類似度の閾値にする例を説明した。ステップS605のオブジェクト領域の検出処理では、ステップS603の閾値よりも低い閾値を適用することで、オブジェクト領域の検出漏れを防ぐ。なお、閾値を小さくするほどオブジェクト領域の検出漏れは起きにくくなるが、反面、オブジェクト領域が大きめに検出されることがある。
【０１０４】
次に、主要被写体推定部211は、着目する局所特徴点を識別するためのカウンタiを1に初期化し、累積投票数が閾値VTより大きい局所特徴点の数を示すカウンタjを0に初期化する(S1202)。そして、カウンタiと特徴点数kmaxを比較してに、基準画像Qのすべての局所特徴点について処理が終了したか否かを判定する(S1203)。終了していなければ（i≦kmax）、局所特徴点Qiの累積投票数NVote[i]が閾値VTより大きいか否かを判定する(S1204)。この判定は、NVote[i]に所定の係数を乗じた値と、閾値VTを比べるようにしてもよい。
【０１０５】
NVote[i]＞VTの場合、主要被写体推定部211は、カウンタiの値を配列OP[j]へ記録した後、カウンタjをインクリメントする(S1205)。そして、カウンタiをインクリメントして(S1206)、処理をステップS1203に戻す。一方、NVote[i]≦VTの場合は、カウンタiをインクリメントして(S1206)、処理をステップS1203に戻す。
【０１０６】
ステップS1203においてi≦kmaxになり、基準画像Qのすべての局所特徴点の処理が終了すると、主要被写体推定部211は、ステップS1207〜S1218において基準画像上における主要な被写体のオブジェクト領域の最外接矩形を求める。このとき、ステップS1205の処理により、配列OP[i](i=0、1、2、…、j-1)には累積投票数が閾値VTより大きい局所特徴点（以下「包含特徴点」）がリストアップされている。言い替えれば、配列OP[]は、主要な被写体のオブジェクト領域を表すために有効な局所特徴点Qの分布を表す。
【０１０７】
主要被写体推定部211は、最外接矩形の対角点を示す座標(X0, Y0)および(X1, Y1)に初期値をセットし、カウンタiを0に初期化する(S1207)。対角点を示す座標として、(X0, Y0)に検出対象画像の仕様よりも大きな座標値（例えば(65535, 65535)）をセットし、(X1, Y1)に(0, 0)をセットする。そして、カウンタiとカウンタjを比較して、包含特徴点のすべてについて処理が終了したか否かを判定する(S1208)。未処理の包含特徴点があれば（i＜j）、ステップS1209〜S1216により、包含特徴点のxy座標が、それまでに推定された最外接矩形を拡張するか否かを配列OP[i]を用いて以下のように判定し、最外接矩形を最大に拡張する。以下、配列OP[i]で示される包含特徴点をQiと表記する。
【０１０８】
主要被写体推定部211は、包含特徴点Qiのx座標xQiと対角点座標X0を比較して(S1209)、xQi＜X0であればX0の値をxQiの値で置き換える(S1210)。
【０１０９】
次に、主要被写体推定部211は、座標xQiと対角座標X1を比較して(S1211)、xQi＞X1であればX1の値をxQiの値で置き換える(S1212)。
【０１１０】
同様に、主要被写体推定部211は、包含特徴点Qiのy座標yQiと対角点座標Y0を比較して(S1213)、yQi＜Y0であればY0の値をyQiの値で置き換える(S1214)。
【０１１１】
次に、主要被写体推定部211は、座標yQiと対角座標Y1を比較して(S1215)、yQi＞Y1であればY1の値をyQiの値で置き換える(S1216)。そして、カウンタiをインクリメントして(S1217)、処理をステップS1208に戻す。
【０１１２】
ステップS1208でi=jになると（包含特徴点の全処理が終了）、主要被写体推定部211は、最終的に設定された二点(X0, Y0)、(X1, Y1)を対角点とする矩形を主要な被写体のオブジェクト領域として出力する(S1218)。そして、オブジェクト領域の検出処理を終了する。もちろん、オブジェクト領域の画像を基準画像から切り出して、切り出した画像を主要な被写体のオブジェクト画像として出力することも可能である。
【０１１３】
基準画像について主要な被写体のオブジェクト領域を検出する例を示したが、この検出処理を主要な被写体を含む画像候補のすべてに対して行うことで、検出対象画像から主要な被写体のオブジェクト領域をクロップした画像の閲覧を行うことが可能になる。そのためには、ステップS711で用いた画像間の変換行列M、Tを、基準画像と画像候補に対して改めて算出するか、あるいは、ステップS711における対応する処理時に記録しておく必要がある。基準画像の主要な被写体のオブジェクト領域に対して変換行列M、Tによる座標変換を行うことにより、主要な被写体が存在する画像候補のそれぞれから主要な被写体のオブジェクト領域を求めることができる。
【０１１４】
さらに、主要な被写体の重要度を定義し、これを主要な被写体のオブジェクト領域とともに出力することも可能である。例えば、主要な被写体のオブジェクトを含むとして選別された画像候補の数Ncandi、または、選別前の画像候補数Nを検出対象画像の数で割った値を重要度としてもよい。Ncandiを用いる場合、図8に示す画像群の例であれば、「教会」のオブジェクトが主要の被写体に対応し、その重要度は4/7=57%と算出される。
【０１１５】
このように、複数の画像においてより多く撮影されている被写体を主要な被写体とみなすことで、複数の画像に共通に存在する主要な被写体のオブジェクト領域を検出し、主要な被写体のオブジェクトを抽出することができる。さらに、主要な被写体の重要度を推定することができる。従って、多量の画像におけるオブジェクトのマイニングが可能になる。これにより、主要な被写体のオブジェクト領域をクロップした画像の閲覧や、サムネール表示や写真のクラスタリング表示の際に、主要な被写体のオブジェクトを強調した画像を使用することができ、ユーザによる画像内容の把握が容易になる。
【実施例２】
【０１１６】
以下、本発明にかかる実施例2について説明する。実施例2における画像処理装置およびオブジェクト検出処理部の構成は実施例1と同様であるため、説明を省略する。実施例2においても、実施例1と同様に、複数画像に共通する主要な被写体のオブジェクト領域の検出を行う。実施例2では、実施例1に比べて、基準画像の候補をさらに絞り込むことにより基準画像の選択精度を向上させる。
【０１１７】
以下、実施例2における基準画像の選択処理について説明する。基準画像択部209は、図13のフローチャートに従って、画像候補を互いに類似度が高い画像ペアからなる第三の画像群へ絞り込み、その後、図10のフローチャートに従って基準画像を選択する。
【０１１８】
実施例1では、ある画像候補に着目し、着目画像候補と他の画像候補との累積類似度を求めてこれを閾値処理することで、着目画像候補が基準画像として適切か否かを判断した。しかし、画像候補の数が少ない場合は類似度が低い一つの画像候補に影響されて累積類似度が低下し、本来は残るべき画像候補がステップS1014で削除されてしまう場合がある。
【０１１９】
そこで実施例2では、基準画像の選択処理の実行に先立ち、画像候補を、高い類似度をもつ画像ペアからなる第三の画像群に絞り込む処理を追加する。例えば、図8に示す七枚の画像に対する類似性の比較処理の結果を示す図9(B)において、実施例1では単に類似度が80を超えたID=1、2、4、5、7の画像を画像候補とする例を示した。実施例2では、類似度が80を超えた画像のうち、互いに良好な類似関係を満たしているID=1、2、4、5の画像を画像候補として絞り込む。
【０１２０】
例えば、ある画像に着目して、残りの画像との類似度が80以上であれば1、80未満であれば0として投票を行い、この投票を画像の全組み合わせに対して行う。そして、着目画像の累積投票数がある閾値未満の場合は着目画像を画像候補から除外する。ただし、累積投票数の閾値が大きいと、必要な画像までも除外してしまう可能性がある。そこで、低い閾値から処理を開始し、閾値を次第に上げながら上記処理を再帰的に繰り返すことで、互いに類似度が80以上の画像ペアを画像候補として絞り込む。
【０１２１】
●画像候補の絞り込み処理
図13を用いて、画像候補の絞り込み処理について詳細に説明する。なお、前段のステップS602で画像候補リストに格納された、所定閾値Ts以上の類似度をもつN個の画像候補のIDをID[i]（i=1、2、3、…、N）と表記する。
【０１２２】
基準画像選択部209は、画像候補リストから画像候補の数Nと各画像候補のID、および、ID[i]とID[j]（i≠j）の画像候補の間の類似度Ri,jを読み込む(S1301)。次に、基準画像選択部209は、着目画像候補を識別するためのカウンタpを1に初期化し、他の画像候補との総合的な類似度を表す累積投票数SumV[p]（p=1、2、3、…、N）を0で初期化する(S1302)。
【０１２３】
次に、基準画像選択部209は、カウンタpが候補数Nを超えているか否かを判定し(S1303)、超えていなければカウンタLを1で初期化する(S1004)。カウンタLは、累積投票数SumV[p]を求める際の画像候補を表すために用いられる。そして、基準画像選択部209は、投票数の累積対象になる画像候補が残っているか否かを判定する(S1305)。
【０１２４】
累積対象の画像候補が残っている場合、基準画像選択部209は、着目画像候補ID[p]と累積対象の画像候補ID[L]の間の類似度Rp,Lが所定の閾値th2（例えば80）に達しているか否かを判定する(S1307)。類似度Rp,Lが閾値th2に達していれば、累積投票数SumV[p]をインクリメントし(S1308)、カウンタLをインクリメントして(S1309)、処理をステップS1305に戻す。また、類似度Rp,Lが閾値th2に達していなければ、カウンタLをインクリメントして(S1309)、処理をステップS1305に戻す。
【０１２５】
このように、カウンタpで示される着目画像候補ID[p]と高い類似度を示す他の候補画像の数を示す累積投票数がステップS1305〜S1309のループによってカウントされる。そして、ステップS1305において、カウンタLが候補数Nに達すると、カウンタpをインクリメントして(S1306)、処理をステップS1303に戻す。
【０１２６】
ステップS1303〜S1309の処理が、ステップS1303でp＞Nになるまで、すなわちすべての画像候補について繰り返され、すべての画像候補について累積投票数SumV[i]が取得される。
【０１２７】
ステップS1303においてp＞Nになると、基準画像選択部209は、主要な被写体を検出する際の基準画像の選択と、主要な被写体を含まない可能性がある画像候補の削除を行う。
【０１２８】
まず、基準画像選択部209は、各種の初期化処理を行う(S1310)。着目画像候補を表すカウンタpを1に、基準画像を表すRef_IDを1に、最大累積投票数Vmaxを0に、主要な被写体を含む画像候補の数Ncandiを全画像候補の数Nに初期化する。前述したように、Ncandiは、主要な被写体を含まない可能性がある画像候補が判定された段階でデクリメントされる。
【０１２９】
次に、基準画像選択部209は、カウンタpが候補数Nを超えているか否かを判定し(S1311)、超えていなければ着目画像候補の累積投票数SumV[p]と、現在の最大累積投票数Vmaxとを比較する(S1312)。比較の結果、SumV[p]≧Vmaxの場合は着目画像候補を示すカウンタpの値を基準画像を示すRef_IDにセットし、VmaxをSumV[p]に更新する(S1313)。その後、カウンタpがインクリメントされて着目画像候補が次の画像候補に移動され(S1316)、処理はステップS1311に戻る。
【０１３０】
一方、SumV[p]＜Vmaxの場合、基準画像選択部209は、累積投票数SumV[p]が、候補数Nに所定の係数T1（0＜T1＜1）を乗じた値N×T1未満か否かを判定する(S1314)。SumV[p]＜N×T1であれば、画像候補リストから着目画像候補を削除し、画像候補数Ncandiをデクリメントする(S1315)。その後、カウンタpがインクリメントされて着目画像候補が次の画像候補に移動され(S1316)、処理はステップS1311に戻る。
【０１３１】
また、ステップS1314においてSumV[p]≧N×T1と判定された場合は、着目画像候補の削除は行われず、カウンタpがインクリメントされて着目画像候補が次の画像候補に移動され(S1316)、処理はステップS1311に戻る。
【０１３２】
勿論、ステップS1314の処理は、累積投票数SumV[p]を候補数Nで除算したSumV[p]/Nと、閾値としての係数T1を比較してもよい。その場合、SumV[p]/N＜T1ならば処理はステップS1315に進み、SumV[p]/N≧T1ならば処理はステップS1316に進む。
【０１３３】
そして、ステップS1311においてp＞Nになると、すべての画像候補について画像候補の絞り込み処理が行われたと判断され、画像候補の絞り込み処理が終了する。また、主要な被写体を含む第三の画像群の画像候補数Ncandiが決定される。
【０１３４】
画像候補の絞り込み処理は、係数T1を順次変化させながら再帰的に行われる。すなわち、絞り込み処理は、例えば、係数T1が低い値（例えば0.5）から開始され、係数T1を例えば0.1ずつ増やして再帰的に行われ、例えばT1=0.7で終了する。絞り込み処理の再帰時は、画像候補数Nとして直前に求められたNcandiを用いる。係数T1を次第に増加させていくことにより、類似関係を有す相手（画像候補）が少ない画像候補ほど早期に除外され、最終的に、高い類似度（例えば80以上）をもつもつ画像ペアからなる第三の画像群に収束する。すなわち、基準画像の選択処理の対象として、より適切な画像候補に絞り込むことができる。
【０１３５】
図9(B)に示す例によれば、ID=1とID=7の画像が共通のオブジェクトを有し、ID=7とID=2、4、5の画像は共通のオブジェクトが無い旨が示されている。ID=1、2、4、5、7の五枚の画像について、画像候補の絞り込み処理を行う場合について考える。まず、係数T1=0.5を初期値として処理を開始すると、候補画像数N=5であるからT1×N=5×0.5=2.5である。また、ID=1の画像の累積投票数は4、ID=2、3、5の画像の累積投票数は3、ID=7の画像の累積投票数は1になる。
【０１３６】
従って、ステップS1314、S1315において、ID=7の画像は画像候補リストから削除され、候補画像数N=4になる。続くT1=0.6〜0.7の処理ではT1×N=2.4〜2.8であり、画像候補リストから削除される画像は無いため、ID=1、2、4、5の四つの画像が最終的な画像候補として絞り込まれる。
【０１３７】
次に、図10のフローチャートに従い基準画像の選択処理が行われる。ただし、図10に示す画像候補リストから着目画像候補を削除する処理（S1013、S1014）を除いた処理が実行される。つまり、ステップS1011においてSum[p]＜Rmaxの場合、基準画像選択部209は、カウンタpをインクリメントして着目画像候補を次の画像候補に移動し(S1015)、処理をステップS1010に戻す。
【０１３８】
基準画像の選択処理により、図9の例であれば、ID=1の画像の平均類似度R1ave(=Sum[1]/N)は84.3、ID=2、4、5の画像の平均類似度Raveはそれぞれ83.3、88.3、85.0になる。この結果から、平均類似度が最も高いID=4の画像が基準画像として選択される。
【０１３９】
このように、ステップS602で選択された画像候補を、さらに、主要な被写体の存在する可能性が高い画像候補に絞り込んだ第三の画像群から基準画像を選択する。従って、基準画像の選択精度を向上することができる。
【実施例３】
【０１４０】
以下、本発明にかかる実施例3について説明する。実施例3における画像処理装置およびオブジェクト検出処理部の構成は第一実施例と同様であるため、説明を省略する。
【０１４１】
実施例1では、主要な被写体のオブジェクト領域の検出処理によって、基準画像中の主要な被写体のオブジェクト領域の最外接矩形を求める例を示した。しかし、オブジェクト領域が基準画像の四辺に近接している場合は、主要な被写体が画角外にはみ出てし、被写体の全体が写っていない可能性が有る。図8におけるID=2の画像が、この画像例に相当する。
【０１４２】
また、基準画像においては、主要な被写体のオブジェクト領域が画像端からはみ出さないことはもちろん、被写体の全体ができるだけ大きく写っていることが好ましい。これは、画像から検出される特徴点の数が画像が大きいほど多くなるためである。
【０１４３】
そこで実施例3では、主要な被写体のオブジェクト領域の検出処理を行った後、検出されたオブジェクト領域の画像端からの距離を評価する。そして、評価値が所定の条件を満たすまで、基準画像を変更しながらの主要な被写体のオブジェクト領域の検出処理を繰り返す。
【０１４４】
以下、実施例3における主要な被写体のオブジェクト領域の検出処理について、図14のフローチャートを用いて説明する。
【０１４５】
図14において、ステップS601〜S605の処理は、第一実施例で説明した図6の処理と同様であるため、詳細説明を割愛する。
【０１４６】
ステップS601〜S605の処理により、基準画像上の主要な被写体のオブジェクト領域の最外接矩形が検出されると、主要被写体推定部211は、オブジェクト領域が許容位置にあるか否かを判定する(S1501)。オブジェクト領域の全体が基準画像に収まり、かつ、そのサイズが充分な大きさである場合に、オブジェクト領域が許容位置にあると判定される。判定は、オブジェクト領域の重心位置と、オブジェクト領域と基準画像端（四辺）の間の距離（マージン）が許容位置に基づく所定の重心条件および距離条件を満たすか否かにより行われる。
【０１４７】
最外接矩形が許容位置にあると判定すると、主要被写体推定部211は、最新の最外接矩形をオブジェクト領域の検出処理の結果として(S1502)、主要な被写体のオブジェクト領域の検出処理を終了する。
【０１４８】
他方、オブジェクト領域が許容位置にないと判定した場合、主要被写体推定部211は、オブジェクト領域として検出した最外接矩形をRAM105の所定領域に格納する(S1503)。つまり、検出した最外接矩形領域のうち、最も許容位置に近いものを選択するために、距離条件または重心条件を満たさないまでも検出した最外接矩形を記憶しておく。
【０１４９】
次に、主要被写体推定部211は、基準画像として未選択の画像候補があるか否かを判定する(S1504)。未選択の画像候補がない場合は、ステップS1503で記憶した最外接矩形のうち許容位置に最も近い最外接矩形をオブジェクト領域の検出処理の結果として選択し(S1505)、主要な被写体のオブジェクト領域の検出処理を終了する。また、基準画像として未選択の画像候補がある場合は、基準画像を変更して(S1506)、処理をステップS604に戻す。
【０１５０】
このように、主要な被写体の全体が充分な大きさで写っている画像を基準画像として用いた場合のオブジェクト領域の検出結果を得ることが可能になり、主要な被写体の検出精度が向上する。
【実施例４】
【０１５１】
以下、本発明に実施例4について説明する。実施例4における画像処理装置およびオブジェクト検出処理部の構成は実施例1と同様であるため、説明を省略する。実施例4においても、実施例1と同様に、複数画像に共通する主要な被写体のオブジェクト領域の検出を行う。
【０１５２】
実施例4では、図6のフローチャートにおける特徴点の投票処理(S604)の前に処理を追加する。図15は実施例4の主要被写体検出部20の処理を示すフローチャートであり、基準画像に関する近接対応点リストに登録された対応点を有効な対応点に絞り込む処理(S611)が追加されている。この対応点の絞り込み処理により、続くステップS604の特徴点の投票処理の精度を向上させることができる。なお、ステップS601からS603、S604、S605の処理は実施例1と同様であるので、詳細説明を割愛する。
【０１５３】
●対応点の絞り込み処理の概念
図16により対応点の絞り込み処理の概念を説明する。図16(A)は基準画像を示し、主要な被写体のオブジェクトの重心G、並びに、局所特徴点P、Q、RおよびWを示す。図16(B)は比較画像を示し、主要な被写体のオブジェクトの重心G'、並びに、対応点である局所特徴点P'、Q'、R'およびW'を示す。
【０１５４】
基準画像におけるベクトルGPに対してベクトルGQとベクトルGRがなす角度は、比較画像におけるベクトルG'P'に対してベクトルG'Q'とベクトルG'R'がなす角度と等しく、それらの角度の差はほぼ零である。しかし、基準画像のベクトルGPとベクトルGWがなす角度と、比較画像のベクトルG'P'とベクトルG'W'がなす角度は大きく異なり、その角度の差も大きい。
【０１５５】
このような性質に基づき、近接対応点リストの各対応点について、基準画像と比較画像において上記の角度の差を求め、最頻角度差、平均および分散を算出する。最頻角度差は、基準画像と比較画像の間のオブジェクトの回転角度を示す。そして、最頻角度差から外れた角度の差をもつ対応点ペアは、誤った対応点である可能性が高いと判断することができる。
【０１５６】
●対応点の絞り込み処理
上記の原理に基づく対応点の絞り込み処理(S611)を図17のフローチャートを用いて説明する。
【０１５７】
特徴点投票部210（または基準画像選択部209）は、基準画像と、基準画像以外の画像候補の（比較画像）の間の対応点情報を示す近接対応点リストを読み込む(S1701)。そして、近接対応点リストに含まれる対応点のうち、類似度が高い上位S個の対応点を選択する(S1702)。選択数Sは20程度でよい。あるいは、類似度で閾値処理を行ってもよいが、その場合、選択数を20程度にする例外処理が必要になる。
【０１５８】
次に、特徴点投票部210は、基準画像において、S個の対応点（局所特徴点）によって囲まれる領域の重心Gを算出する(S1703)。重心は、主要な被写体のオブジェクトの重心であることが望ましいが、オブジェクトの正確な重心でなくともよい。続いて、特徴点投票部210は、比較先画像において、同様に重心G'を算出する(S1704)。
【０１５９】
次に、特徴点投票部210は、近接対応点リストを参照して、基準画像において、最も類似度が高い対応点（局所特徴点）Pを基準とし、ベクトルPGと、他の対応点（局所特徴点）と重心Gを結ぶベクトルがなす角度を算出する(S1705)。
【０１６０】
次に、特徴点投票部210は、近接対応点リストを参照して、比較画像において、最も類似度が高い対応点（局所特徴点）P'を基準とし、ベクトルP'G'と、他の対応点（局所特徴点）と重心G'を結ぶベクトルがなす角度を算出する(S1706)。
【０１６１】
次に、特徴点投票部210は、近接対応点リストに基づき対応点ごとにベクトルの角度の差を算出し、最頻角度差、平均および分散を算出する(S1707)。そして、角度の差が最頻角度差に所定の角度範囲を加えた許容角度差の範囲に入らない対応点を近接対応点リストから削除し(S1708)、処理をステップS1801に戻す。
【０１６２】
最頻角度差は、前述したように、基準画像と比較画像の間のオブジェクトの回転角度を示す。従って、ステップS1708の判定によって、回転角度に基づく条件を満たさない対応点を近接対応点リストから除外することができる。なお、角度範囲は経験的に決定すればよいが、例えば、許容角度差の範囲は最頻角度差±5度程度である。
【０１６３】
図16の例では、基準画像の局所特徴点Wと比較画像の局所特徴点W'の組（対応点）が近接対応点リストから削除される。
【０１６４】
次に、特徴点投票部210は、未処理の画像候補があるか否かを判定し(S1709)、未処理の画像候補があれば当該画像候補を比較画像として(S1710)、処理をステップS1701に戻す。また、未処理の画像候補がなければ対応点の絞り込み処理を終了する。
【０１６５】
この後に、図7のフローチャートに従って、局所特徴点の座標の幾何変換を含めた類似性の比較を新たに行い、注目画像の局所特徴点に対応する比較画像の局所特徴点を求めることにより、誤った対応点の検出精度を向上することが可能である。ただし、この処理は、基準画像と複数の候補画像の間で行われるため、候補画像の数分の処理コストが発生する。勿論、図17のフローチャートに示す処理だけでも、誤った対応点を充分に削減することができる。
【０１６６】
このように、誤った対応点を削除することで、主要な被写体のオブジェクトに関する対応点を絞り込むため、ステップS604以降の処理精度の向上を図ることができる。
【０１６７】
［変形例］
上記の各実施例では、検出対象画像について総当たりの比較処理を行う例を示したが、ランドマークなど、地理情報と対応付けられるブジェクトを含む画像については、事前に、比較対象の画像をグループ化する絞り込みを行ってもよい。
【０１６８】
また基準画像を選択する際に、画像候補の中から任意の画像を選択することも可能である。この場合、必ずしも最適な基準画像が選択されるとは限らないため、主要被写体オブジェクト検出の精度は劣化する可能性があるものの、処理を簡便にすることができる。
【０１６９】
また、画像候補から基準画像を選択する他の方法として、類似特徴の投票処理と同様に、特徴量間距離に基づく投票の結果を利用することも可能である。すなわち、画像候補ごとに、他の画像候補と対応する局所特徴点の特徴量間距離が所定の閾値以下（第四の閾値以下）である局所特徴点をカウントし、カウント数が最も大きい画像候補を基準画像として選択する。なお、特徴点間距離とは、局所特徴点が存在する二つの画像の何れかにおける距離である。このような方法で基準画像を選択した場合、後段の類似する特徴点の投票(S604)の際に投票数が増える可能性があるため、より高精度なオブジェクト領域の検出が望める。
【０１７０】
さらに、検出したオブジェクト領域の画像を基準画像からクロップしてアイコンやサムネールに利用することができる。オブジェクト領域の画像を画像データが格納されたフォルダのアイコンに利用する一例を図18に示す。
【０１７１】
フォルダに画像データ（検出対象画像に相当）が格納されると、画像処理装置は、上述した主要な被写体の検出処理を実行し、それら画像データに共通する被写体のオブジェクト領域を検出する。そして、基準画像からオブジェクト領域の画像を切り出し、切り出した画像を当該フォルダのアイコンに利用する。ユーザは、フォルダのアイコンを参照して、所望する被写体を含む画像に用意にアクセスすることが可能になる。
【０１７２】
また、フォルダに一意の画像データを格納することが処理精度上好ましくない場合、画像データの実体をフォルダに格納せずに、画像データへのリンク情報をフォルダに格納してもよい。とくに、複数の被写体のオブジェクトを共通に有する画像データの場合、画像データの実体を各フォルダに格納するよりも、効率のよい格納や検索が可能になる。
【０１７３】
また、主要な被写体のオブジェクト領域の検出処理(S605)に最外接矩形を用いる簡易な方法を説明したが、オブジェクト領域の外周に位置する局所特徴点を推定し、推定した局所特徴点を連結して形成される最外接多角形を検出結果としてもよい。
【０１７４】
このように、本発明において、複数の画像を有する画像群における、第一の画像以外の複数の第二の画像ごとに、第二の画像の特徴点を、その特徴量に基づき、第一の画像の特徴点に対応付けた特徴点対が生成される。次に、特徴点対の第二の画像の特徴点の位置が所定領域にある特徴点対が検出される。そして、特徴点対の検出数が閾値を超える第一の画像の特徴点を包含する領域（例えば、外接矩形または外接多角形）が抽出される。
【０１７５】
画像群は、互いに類似する画像の集合である。第一の画像は、類似する画像の集合から、他の画像との類似度に基づき選択された画像である。
【０１７６】
抽出において領域が複数抽出された場合、大きい領域の重要度、または、第一の画像の中心部を含む領域の重要度が高く設定される。
【０１７７】
抽出された領域から第一の画像の画像端までの距離に基づき、抽出された領域を画像群に共通するオブジェクトとして採用するか否かが判断される。
【０１７８】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014197386.tif 000003
【図２】
2014197386.tif 000004
【図３】
2014197386.tif 000005
【図４】
2014197386.tif 000006
【図５】
2014197386.tif 000007
【図６】
2014197386.tif 000008
【図７】
2014197386.tif 000009
【図８】
2014197386.tif 000010
【図９】
2014197386.tif 000011
【図１０】
2014197386.tif 000012
【図１１】
2014197386.tif 000013
【図１２】
2014197386.tif 000014
【図１３】
2014197386.tif 000015
【図１４】
2014197386.tif 000016
【図１５】
2014197386.tif 000017
【図１６】
2014197386.tif 000018
【図１７】
2014197386.tif 000019
【図１８】
2014197386.tif 000020