(57)【特許請求の範囲】
【請求項１】
個人とリンクした複数の顔画像から、顔画像を指定する指定手段と、
顔位置入力領域内における前記指定された顔画像の位置を指定する位置指定手段と、
検索対象画像に含まれる画像中の顔の位置と前記位置指定手段によって指定された顔画像の位置に従い、前記検索対象画像に前記指定された顔画像と類似する画像が存在するか判定する判定手段と、
前記判定手段により存在すると判定された画像を表示装置に表示させる処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記検索対象画像は選択されたフォルダの複数の画像であり、前記判定手段は前記複数の画像に対して前記判定を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定の結果、類似度の高い順に画像は前記表示装置に表示されることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記指定された顔画像の傾きを調整する調整手段をさらに有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
検索条件として、さらに画像中に存在する顔数を指定する顔数指定手段をさらに有し、
前記判定手段は前記検索対象画像に前記指定された顔数が存在するか判定することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
コンピュータを、
個人とリンクした複数の顔画像から、顔画像を指定する指定手段、
顔位置入力領域内における前記指定された顔画像の位置を指定する位置指定手段、
検索対象画像に含まれる画像中の顔の位置と前記位置指定手段によって指定された顔画像の位置に従い、前記検索対象画像に前記指定された顔画像と類似する画像が存在するか判定する判定手段、
前記判定手段により存在すると判定された画像を表示装置に表示させる処理手段
として機能させるためのプログラム。
【請求項７】
前記検索対象画像は選択されたフォルダの複数の画像であり、前記判定手段は前記複数の画像に対して前記判定を行うことを特徴とする請求項６に記載のプログラム。
【請求項８】
前記判定の結果、類似度の高い順に画像は前記表示装置に表示されることを特徴とする請求項６に記載のプログラム。
【請求項９】
コンピュータをさらに、
前記指定された顔画像の傾きを調整する調整手段として機能させることを特徴とする請求項６に記載のプログラム。
【請求項１０】
コンピュータをさらに、
検索条件として、さらに画像中に存在する顔数を指定する顔数指定手段として機能させ、
前記判定手段は前記検索対象画像に前記指定された顔数が存在するか判定することを特徴とする請求項６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検索用の特徴量を入力し、この特徴量に対する検索条件に合致した画像を検索する画像処理装置およびプログラムに関するものである。
【背景技術】
【０００２】
現在、デジタルカメラや、カメラ付き携帯電話が普及したため、デジタル画像を撮影する機会が増えてきている。一方で、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）（登録商標）カード、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）（登録商標）カード、メモリースティック（登録商標）といった不揮発性ＲＡＭを使用した記憶メディアの大容量化が進んでいる。これにともない、メディアに格納される画像の枚数が増えている。また、撮影した画像を、所有しているＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などに取り込んで、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）装置に格納し、閲覧、印刷すると言った使用環境が整ってきている。
【０００３】
また、最近では、画像管理ソフトウェアとして、画像の閲覧や画像の選択操作をサポートするアプリケーションが増えてきている。その中には、ＪＥＩＤＡによって規格化されているＥｘｉｆ（Ｅｘｃｈａｎｇｅａｂｌｅ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）（登録商標）を使ったファイル管理機能を提供しているものがある。
【０００４】
Ｅｘｉｆでは、撮影時の情報をＥｘｉｆ  Ｔａｇという形式で保管する機能を提供している。このＥｘｉｆ  ｔａｇを使うことで、撮影時間、露出量、焦点距離、ＷＢ（Ｗｈｔｉｔｅ  Ｂａｌａｎｃｅ）などの情報を後で知ることが可能になっている。  
例えば、撮影時間で管理している画像をソートして、カレンダーとリンクさせることで簡単に撮影時間による画像の検索を行えるＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供しているものがある。
【０００５】
また別の機能として、ユーザが任意のｔａｇ情報を付加できる機能を提供している画像管理ソフトウェアも存在する。こういった画像管理ソフトウェアでは、ユーザが選択した一枚ないし複数の画像にキーワードを付加することができる。キーワードはどんな文字列でもよく、例えば、結婚式、入学式などをキーワードとして入れることが可能である。
【０００６】
このようにキーワードを予め画像に付加しておくことで、ユーザは、結婚式、入学式といったキーワードを入力することで検索を行うことができる。  
しかしながら、画像の枚数が増えてくると、様々な文字列のキーワードを画像に付加していくことはユーザの負担が大きくなり、なかなか画像を簡単に分類できるようなキーワードの付加ができなくなる。
【０００７】
また、キーワードで画像を検索する場合、その画像を特定するようなキーワードは、長くなるか、複数の文字列を組み合わせたものとなる。  
例えば、図１０に示すような画像１００１を検索して見つけたい場合を想定する。予め画像１００１には”Ａさん”、”Ｂさん”というキーワードがＴａｇ情報１００２として付加されている。しかし、その他の画像１００３にも同じキーワードがＴａｇ情報１００４として付加されている。
【０００８】
このような状態で、”Ａさん”、”Ｂさん”というキーワードで検索を行うと、２つの画像１００１，１００３が検索結果として求められる。  
しかし、実際には、画像１００１は、この画像に向かって左側にＡさん、右側にＢさんが同じ大きさで写っている画像であるのに対し、画像１００３は、二人の配置と顔の大きさが異なっている画像である。
【０００９】
従って、画像１００１のみを検索したい場合は、より詳しく、”Ａさん”、”Ｂさん”、”Ａさんは向かって右”といった構図に関する情報を追加する必要がある。ただし、構図に関する表現は個人でも、ｔａｇの付加時に統一的に付けることが必要である。また他の人が検索を行う様な場合には、キーワードの付け方が統一されていないと、キーワードの解析自体と検索自体が行えなくなる。
【００１０】
さらにはそれぞれの顔の大きさといった情報がｔａｇに付加されていなければ、検索結果を限定していくことが困難である。  
このようにキーワードで画像を検索するには、統一的なキーワードを付加すること、および、より詳細な構図情報を付加することが求められる。このようなことを一般のユーザが定常的に行うことは困難である。
【００１１】
以上に説明したような、キーワードによる画像の検索の問題を解決するための発明が、例えば特許文献１、特許文献２に開示されている。  
特許文献１では、ユーザが描画した画像の特徴量を求めて、その特徴量と類似度の高い画像を検索結果として表示する方法が開示されている。この方法は、ユーザが検索条件をイラストとして入力できるので、キーワードよりも、検索のための高い表現能力を与えることが可能である。  
また、特許文献２では、円形、三角形、四角形といった単純な図形を入力し、画像中の被写体との一致度を求めることで画像検索を行う方法が開示されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０００−０７６２６８号公報
【特許文献２】特開２００１−０８４２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１、特許文献２共に、ユーザが入力するイラスト画像の特徴量を求め、その特徴量と類似度が高い画像を画像データベース（以下画像ＤＢと記す）から検索し、その検索結果を表示するものである。  
デジタルカメラなどの撮影機器で撮影された画像は、図１０に示したように、横撮りの画像１００１や縦撮り１００３の画像が混在している。特に縦撮り１００３の場合、ユーザが撮影機器を時計回りに９０°回転させて撮影した場合と、反時計回りに９０°回転させて撮影した場合とがある。
【００１４】
通常の場合、画像データとして保存される撮影データは、撮影機器の撮像素子が横長の場合が多いため、撮影時の向きにかかわらず一般的に横長のデータとして保存される。従って、縦撮り画像１００３は、横取り画像１００１と同じ横長な画像として＋９０°または−９０°回転した画像として保存される。図１０に、時計回りに＋９０°回転した画像１００３’を示す。
【００１５】
従って、特許文献１、特許文献２のような方法で画像検索を行う場合、ユーザが入力した条件をそのまま画像データに適用するだけでは所望の結果を得ることができない問題がある。  
つまり、二人が並んでいる画像を検索する場合に限定された画像の縦横アスペクト比のまま検索条件を入力しても、画像１００１、１００３’を同時に検索することはできない。また画像１００３’を回転して上下左右を合わせた後で保存して画像１００３とした場合でも、これら３枚の画像を検索することができない。
【００１６】
このように従来の方法では、複数のアスペクト比、横撮り、縦撮りなどの複数の様々な条件で撮影された画像を一括に選択して検索する場合に、すべての画像に適合した検索条件を指定することができないため、意図した検索ができないという問題があった。
【課題を解決するための手段】
【００１７】
上記問題を解決するために、本発明の画像検索装置は、個人とリンクした複数の顔画像から、顔画像を指定する指定手段と、顔位置入力領域内における前記指定された顔画像の位置を指定する位置指定手段と、検索対象画像に含まれる画像中の顔の位置と前記位置指定手段によって指定された顔画像の位置に従い、前記検索対象画像に前記指定された顔画像と類似する画像が存在するか判定する判定手段と、前記判定手段により存在すると判定された画像を表示装置に表示させる処理手段とを有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、複数のアスペクト比、横撮り、縦撮りなどの様々な複数の条件で撮影された画像を一括に選択して検索を行う場合に、一回の検索条件の指定だけで検索可能な画像処理装置およびプログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明による第１の実施形態の画像検索装置のブロック図である。
【図２】同実施形態における画像検索のフローチャートである。
【図３】同実施形態における画像検索アプリケーションのＵＩの一例である。
【図４】同実施形態における検索条件入力ダイアログのＵＩと検索条件入力座標系の一例を示す図である。
【図５】同実施形態における顔アイコンの変更方法を説明する図である。
【図６】同実施形態における画像の座標系の変換を説明する図である。
【図７】同実施形態における画像の座標系の変換を説明する図である。
【図８】同実施形態における画像の座標系の変換を説明する図である。
【図９】同実施形態における画像の座標系の変換を説明する図である。
【図１０】従来のキーワードによる画像検索の例を示す図である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００２１】
<第１の実施形態>
図１に、本発明の一実施形態である画像検索装置のブロック図を示す。  
ここでは、画像検索装置としてＰＣを使用すると想定して説明するが、ＰＣ以外の単体または複数の汎用コンピュータや専用装置を使用することもできる。また、以下では、画像を検索する条件として、写真の主要な被写体の１つである人物、特に顔を検索条件とする画像検索に関して説明する。
【００２２】
ＣＰＵ １０１は、中央演算ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）であり、他の機能ブロックや装置の制御を行う。ブリッジ部１０２は、ＣＰＵ １０１と他の機能ブロックのデータのやり取りを制御する機能を提供している。  
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３は読み込み専用の不揮発性メモリであり、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）と呼ばれるプログラムが格納されている。ＢＩＯＳは画像検索装置が起動したときに最初に実行されるプログラムであり、２次記憶装置１０５、出力装置１０７、入力装置１０９などの周辺機器を制御するものである。  
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４は、高速の読み／書き可能な記憶領域を提供する。
【００２３】
２次記憶装置１０５は、大容量の記憶領域を提供するＨＤＤである。ＢＩＯＳが実行されると、ＨＤＤに格納されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が実行される。ＯＳはすべてのアプリケーションで利用可能な基本的な機能や、アプリケーションの管理、基本ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する。アプリケーションは、ＯＳが提供するＧＵＩを組み合わせることで、アプリケーション独自の機能を実現するＵＩを提供できる。ＯＳや、他のアプリケーションの実行プログラムや、作業用に使用しているデータは、必要に応じてＲＡＭ １０４または２次記憶装置１０５に格納される。
【００２４】
表示制御部１０６は、ＯＳやアプリケーションに対して行われるユーザの操作の結果をＧＵＩの画像データとして生成し、表示装置１０７で表示するための制御を行う。表示装置１０７には液晶ディスプレイや、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイが使用できる。
【００２５】
Ｉ／Ｏ制御部１０８は、複数の入力装置１０９とのインターフェースを提供するものである。代表的なインターフェースとして、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＰＳ／２（Ｐｅｒｓｏｎａｌ  Ｓｙｓｔｅｍ／２）がある。  
入力装置１０９には、キーボード、マウスといったユーザの意志に基づく指示を画像検索装置に入力するものがある。さらに、デジタルカメラや、ＵＳＢメモリといった記憶装置などを接続することで、画像データを転送することも可能である。
【００２６】
図２に本発明のフローチャートを示す。  
本実施形態の画像検索装置による画像検索機能を、アプリケーションのＧＵＩの一機能として提供する場合について説明する。従って、ユーザの指示がマウスやキーボードなどの入力装置１０９から入力されるため、インタラクティブな動作となる。図２に示した処理フローは、ユーザが画像を検索する際のフローの一例であるが、実際にはインタラクティブな動作となるためフローの途中から最初に戻るなど指示が行われても良い。ここでは説明を簡単にするために、典型的な操作フローについてのみ説明する。
【００２７】
図３に画像検索装置で実行される画像検索アプリケーション３０１の起動時のＵＩを示す。はじめに、図３を参照し、図２のＳ０１の画像選択ステップで画像を選択する操作を説明する。
【００２８】
画像検索アプリケーション３０１（検索対象画像指定手段）は、フォルダー選択ＵＩ ３０２、画像一覧ＵＩ ３０３、選択画像一覧ＵＩ ３０４の３つの領域で構成されている。ポインティングＵＩ ３０６（いわゆる、ポインタ）は、マウスなどの入力装置１０９の操作に応じて可動し、ユーザの操作を画像検索アプリケーション３０１に入力するためのＵＩである。
【００２９】
フォルダー選択ＵＩ ３０２は、画像検索装置に格納されている画像データの保管場所を選択できる機能を提供している。図３ではポインティングＵＩ ３０６によって、ある保管場所が指定された状態を示している。  
画像一覧ＵＩ ３０３は、フォルダー選択ＵＩ ３０２で選択された保管場所にある画像データの一覧を表示している。選択画像一覧ＵＩ ３０４は、ユーザが選択した画像、またはユーザの指定によって検索された画像のみを表示する領域である。
【００３０】
Ｓ０１で、ユーザが、ポインティングＵＩ ３０６を移動させて、フォルダー選択ＵＩ ３０２で希望するフォルダーを選択すると、そのフォルダー内に格納されている画像の一覧が、画像一覧ＵＩ ３０３に表示される。  
検索を行わずに次の処理対象にしたい画像をポインティングＵＩ ３０６で選択すると、選択された画像が選択画像一覧ＵＩ ３０４に表示される。例えばＩｍａｇｅ１ ３０５を選択した場合、Ｉｍａｇｅ１ ３０５が選択画像一覧ＵＩ ３０４に表示される。このとき、内部的にはＩｍａｇｅ１ ３０５が次の処理の対象画像としてリストに登録される。表示はしていないが、フォルダー内の画像を全選択するボタンを用意することも可能である。また、異なるフォルダーを指定して、その中にある画像を追加して選択できる。
【００３１】
しかし、後で説明する検索を行う場合、はじめに複数のフォルダーを選択する。選択が完了したらＳ０２の検索条件の入力に移る。検索条件の入力に移るには、検索アプリケーション３０１の検索メニュー３０７、または検索ボタン３０８を選択することで、図４に示した検索ダイアログ４０１（検索条件入力手段の表示要素）が表示される。  
ここでは、画像を検索する際に注目する主要被写体を、人物の顔として説明を続ける。人物の顔は、写真で最も撮影頻度の高い被写体である。従って、画像を検索する際にも、人物が画像中に存在するか？何人存在するか？画像のどこに存在するか？は、非常に有効な検索条件となる。
【００３２】
次に、図４を参照して、図２のＳ０２で実行される検索条件の入力方法を説明する。  
検索ダイアログ４０１では顔数４０２と顔位置４０３を指定することが可能になっている。顔数４０２のチェックボックスがチェックされていると、画像中に存在する顔の数を指定することができる。ここで最大顔数、最小顔数を入力することで、
最小顔数 ≦ 画像中の顔数 ≦ 最大顔数
となる条件を設定することができる。
【００３３】
次に、顔位置４０３のチェックボックスがチェックされると、顔の位置を指定することができる。追加ボタン４０４を選択すると、顔位置入力領域４０８に顔アイコン４０９が表示される。顔アイコン４０９は、ポインティングＵＩ ４１０によって選択することで顔位置入力領域４０８内での位置を変更することも可能である。
【００３４】
追加ボタン４０４を複数回選択することで、顔アイコン４０８を複数個設定することも可能である。また不必要と思われた顔アイコン４０８はポインティングＵＩ ３０６で選択して、削除ボタン４０５を選択することですることで顔位置入力領域４０８から取り除くことも可能である。
【００３５】
さらに、図５に示すように、顔アイコン５０１には２つのクリップポイント５０２，５０３が付いている。クリップポイント５０２は、顔アイコン５０１の大きさを調整するために使用する。クリップポイント５０３は、顔アイコン５０１の傾き調整するために使用する。
【００３６】
図５（ａ）には、クリップポイント５０２をポインティングＵＩ ５０４で選択し、ポインティングＵＩ ５０４を右下に移動させることで顔アイコン５０１を拡大している様子を示したものである。同様に図５（ｂ）には、クリップポイント５０３をポインティングＵＩ ５０４で選択し、ポインティングＵＩ ５０４を右斜め下に移動させることで顔アイコン５０１を時計回りに回転している様子を示したものである。
【００３７】
以上に説明したような機能を提供することで、例えば、図４（ｂ）に示す様な、画像中の向かって左の方に、指定した大きさの顔があり、顔数は１から２０までの画像といった複雑な検索条件を簡単に指定することができる。  
顔位置入力領域４０８の中は、４００に示すような座標系が規定されている｛を採用している｝。この座標系では、画面に向かって、原点が中止点（ｘ，ｙ） ＝ （０，０）、上辺ｙ ＝ −１００、下辺ｙ ＝ １００、左辺ｘ ＝ −１００、右辺ｘ ＝ １００となる。
【００３８】
従って、顔アイコン４０９で指定された顔は、中心が（ｘ，ｙ） ＝ （−６０，０）にあって、顔の大きさ８０、傾きが０°の顔となる。ここで顔の大きさとは顔アイコン４０９の矩形領域の一辺の長さとする。回転角は、紙面に向かって、上方向を基準として時計回り方向への回転角を正とする。  
すべての指定を終えたらＯＫボタン４０６を選択することで、条件が確定しＳ０３へ進む。また、Ｃａｎｃｅｌボタン４０７を選択すると、検索条件の指定を止めてＳ０１に戻ることも可能である。
【００３９】
次いで、図２のＳ０３（特徴量抽出工程）では、Ｓ０１で選択された検索対象画像に含まれる主要被写体の特徴量の算出が行われる。ここで特徴量とは、Ｓ０２で指定された画像中の顔の位置と大きさと傾きである。
【００４０】
画像中の顔の検出方法は、従来より様々な方法が提案されている。例えば本出願人による特開２００２−１８３７３１号公報に開示の発明がある。これによれば、まず、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。そして、この顔候補領域に対して、画素毎の階調分布の勾配、および階調分布の勾配に基づく重みを算出する。これらの値と、あらかじめ設定されている理想的な顔基準画像の階調分布の勾配、階調分布の勾配に基づく重みを用いて顔候補領域と顔基準画像を比較する。これらの勾配間の角度の平均値または重みつき平均値が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【００４１】
また、特開２００３−３０６６７号公報では、まず画像中から肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。  
さらに、特開平８−６３５９７号公報では、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算し、マッチング度が最も高いテンプレートを選択する。そして、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域としている。このようにして、上記テンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【００４２】
さらに、特開２０００−１０５８２９号公報では、まず、鼻画像パターンをテンプレートとし、画像全体あるいは画像中の指定された領域を走査し、最もマッチする位置を鼻の位置として出力する。次いで、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、人の顔の器官位置の検出が可能であるとしている。
【００４３】
その他、顔および顔内の器官位置を検出する方法としては、数多くの手法が提案されている。例えば、特開平８−７７３３４号公報、特開２００１−２１６５１５号公報、特開平５−１９７７９３号公報、特開平１１−５３５２５号公報などに提案されている。また、特開２０００−１３２６８８号公報、特開２０００−２３５６４８号公報、特開平１１−２５０２６７号公報、特登録２５４１６８８号公報などにも提案されている。本発明においてはそれらのうちどのような手法を用いても良い。また、顔および顔内の器官位置の検出法については、上記記載に限定されることはなく、その他のどのような手法を用いても構わない。なお、顔および顔内の器官位置の検出に関しては、従来方法が様々な文献および特許で開示されているため、ここでの詳細な説明は省略する。
【００４４】
上述のような方法によって元画像データの中にある人物の顔の数と顔領域の座標が得られ、この検出結果の顔座標データが得られる。ここでは、検出結果として顔領域を矩形領域とし、その４頂点の座標が出力されるものとする。顔検出を、図２のＳ０１で選択された画像に対して行って顔検出結果を格納する。顔検出結果は複数個であることもある。当然ながら、Ｓ０１で検出された顔座標は選択されたそれぞれの画像における座標となっている。そこで、この座標をＳ０２で使用した検索ダイアログ４０１で指定された顔位置入力領域４０８の座標系と対応させる必要がある。
【００４５】
このため、Ｓ０４では、検索条件に適合するように、Ｓ０３で検出された顔検出座標を顔位置入力領域４０８の座標系に変換する処理が行われる。その変換の方法を、図６，７を参照して説明する。  
図６は横長の画像の例であり、図７は縦長の画像の例である。それぞれ２次元で表現され、６０４，７０４に示す方向にＸ，Ｙの座標軸をもつ。座標系６０１，７０１は検索ダイアログ４０１の座標系である。座標系６０１，７０１は、中心を原点とし、ｘ，ｙ共に−１００から１００間の値を取れる。
【００４６】
座標系６０２，７０２は、横、縦の画素数がそれぞれＷ，Ｈである画像の座標系である。座標系６０２，７０２は、左上の点を原点（０，０）とし、右下の（Ｗ，Ｈ）までの値を取り得る座標系である。座標系６０３，７０３は、座標系６０１，７０１と同様に、中心を原点とし、Ｘ，Ｙ共に−１００から１００間での値を取る座標系を画像に当てはめたものである。  
座標系６０２，７０２で表現される任意の点Ｐ（ｘ，ｙ）が、相対的に同じ位置にある座標系６０３，７０３上での点Ｐ’（ｘ’，ｙ’）で表される。このときの変換式は、ｘが式（１）、ｙが式（２）で示される。
【００４７】
【数１】
0005214043.tif 000002
【００４８】
【数２】
0005214043.tif 000003
【００４９】
この変換式（１），（２）を使って、Ｓ０３で検出されたすべての顔の座標値を変換する。  
次に、Ｓ０５では、Ｓ０２で指定された検索条件と、Ｓ０４で変換された顔の座標から求められる情報との類似度を計算する。検索条件は、画像中に存在する顔の個数（顔数４０２で指定された値）と顔アイコン４０９の座表値（顔位置４０３で指定）である。ここで、顔アイコン４０９は複数指定されていても良い。
【００５０】
最初にＳ０３で検出された顔数が、Ｓ０２で指定された顔数を満たすか判定し、条件を満たせば、すべての顔検出結果の座標と顔アイコン４０９の座標の類似度を計算する。類似度は、顔アイコン４０９と顔検出結果の、対応する４頂点の距離の和、または、各４頂点から計算できる中心点と矩形の大きさと矩形の角度（傾き）の一致度などを使うことができる。
【００５１】
Ｓ０６では顔数が条件を満たし、かつ類似すると判定された顔が存在したか判定する。すなわち、上記変換後の特徴量が検索条件と合致するか判定する。判定は、所定の閾値を予め決めておき、その値とＳ０５で計算した類似度と比較して行う。ここで、閾値を超える類似度の顔が存在すればＳ０７に進み、そこで画像がリストに登録される。一方、存在しない場合は、Ｓ０８へ進む。
【００５２】
Ｓ０８では、Ｓ０１で選択されたすべての画像に対し処理を行ったか判定し、まだ終了していなければＳ０３へ進み、次の画像を処理する。すべての画像に対し処理が終了した場合、Ｓ０９へ進み、これまでの検索結果を、表示装置１０７で表示する。
【００５３】
検索結果は、画像検索アプリケーション３０１の中の選択画像一覧ＵＩ ３０４の表示を更新することで実現できる。このとき、Ｓ０７において、類似度に応じて検索結果をソートすることで、選択画像一覧ＵＩ ３０４に表示される結果を、類似度の高い順に表示することも可能である。
【００５４】
以上、人物の顔を検索条件として使用する画像検索装置を説明してきたが、検索条件は他のものであっても良い。例えば、個人を認識可能な個人認識方法を採用することでさらに付加価値の高い検索も可能になる。個人認識を利用する場合は、Ｓ０２で、追加ボタン４０４で顔アイコン４０９を追加するときに、あらかじめ個人とリンクさせた顔アイコン４０９を複数選択しておき、その中から検索したい個人のアイコンを指定できるようにしておけばよい。
【００５５】
また、顔、個人に限らず、注目被写体として何らかの物体（オブジェクト）を指定できるようにしても良い。例えば、車、建物といったものが考えられる。それぞれのオブジェクトを検出できる検出器または検出方法を使用することで、顔の場合と同様に検索を行うことが可能になる。
【００５６】
また、ある種の撮影機器は、撮影時の傾きを検出してＥｘｉｆ  Ｔａｇに書き込めるものがある。このＴａｇ情報はＯｒｉｅｎｔａｔｉｏｎと呼ばれるもので、この情報を解析することで、画像データの上下左右方向を合わせて表示することができる。検索時に、この情報を活用するかしないかを、ユーザに選択させることで、さらに画像の方向を意識しないで検索条件をそろえて検索することが可能になる。
【００５７】
本実施形態の画像検索装置において、Ｓ０２で入力した検索条件による画像検索結果が表示されるＳ０９の後で、その検索結果がユーザの意図した結果ではないこともあり得る。このとき、検索結果を良くするために、絞り込み検索を提供することも可能である。絞り込み検索とは、ある検索結果に対して、さらに検索条件を追加して検索する方法である。検索ダイアログ４０１に、図示していないが、絞り込み検索というチェックボックスを設けておき、さらに顔検出アイコン４０９を追加する、顔数４０２の指定を変更するなどして検索条件を追加、修正する。この後で、前の検索結果の画像に対して検索を再度行って意図した検索結果が得られるまで繰り返すようにしても良い。
【００５８】
この時に、図示はしていないが、絞り込み検索チェックボックスがチェックされた場合に、「顔数は合っていますか？」、「顔の方向は合っていますか？」などの補助的なメッセージを表示することで検索を助ける機能を設けても良い。
【００５９】
<その他の実施形態>
上述した第１の実施形態では、アスペクト比が異なる撮影画像から注目被写体を含む撮影画像の検索を行う場合で、アスペクト比の固定された顔位置入力領域４０８に顔アイコン４０９を配置することで検索条件を入力できる実施形態を説明した。しかし、画像のＸ，Ｙ軸を、顔位置入力領域４０８のアスペクト比にそれぞれあわせる方法を採用しているために、Ｘ，Ｙ軸での拡大、縮小率が異なってしまう。したがって一致するのは、中心点のみしかなく、その他の領域は必ずずれてしまう。
【００６０】
一般的に、中心付近の検索精度が高く、周辺において荒い検索条件の指定であっても実用上は問題ない。そのため、他の実施形態として、図８に示すような座標変換を行うことでより効果的な検索受験の入力が可能になる。
【００６１】
画像の座標系８０１は、横、縦の画素数がそれぞれＷ，Ｈである画像の座標系である。この座標系８０１は、左上の点を原点（０，０）とし、右下の（Ｗ，Ｈ）までの値を取り得る座標系である。  
【００６２】
上記画像の座標系８０１を、検索ダイアログ４０１の座標系と同じ中心が原点で、Ｘ，Ｙ共に−１００から１００間での値をとる座標系に８０２に変換する。  
変換後の座標系８０２では、画像の横、または縦の画素数の少ない方（短辺方向）が、第１の実施形態と同じ変換が行われる。図８では、縦の画素数が横の画素数よりも少ないため、Ｙ軸の座標が式（２）で変換される。
【００６３】
一方、画素数が多い長辺方向であるＸ軸方向の座標の間隔は、ある所定の範囲、ここでは±６０までは、Ｙ軸と同じ座標間隔になるように変換される。図８では８０３の領域に当たる。その外側は、周辺に向かうほど間隔が広がり、両端が±１００となるようにしている。変換前のｘと、変換後のｘ’の関係は式（３），（４），（５）で表される。
【００６４】
【数３】
0005214043.tif 000004
【００６５】
【数４】
0005214043.tif 000005
【００６６】
【数５】
0005214043.tif 000006
【００６７】
このときのｘとｘ’の対応関係をグラフとして図９に示している。このように、座標系の中心付近は縦横が等倍で、端部付近は変倍されたような変換を行うことで顔位置入力領域４０８のアスペクト比と検索対象となる画像のアスペクト比が異なっていても検索条件が直感的に入力しやすい環境を提供できる。当然のことながら、縦が長い画像の場合にはＸ軸とＹ軸の変換を入れ変えればよい。
【００６８】
また、Ｓ０６の類似度の判定において、周辺付近に行くほど判定の許容度を大きく、つまり指定された検索条件と、顔位置、大きさ、角度など前述した特徴量を比較した場合の差の判定をゆるくする。これによって周辺ほど大きくなる検索条件の入力誤差を加味した検索が可能になる。
【００６９】
また本発明の目的は、上述した諸実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がそのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコードによって上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記録または記憶したコンピュータ読取可能な記憶媒体も本発明の一つを構成することになる。
【００７０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。  
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行う場合も含まれる。
【００７１】
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
【符号の説明】
【００７２】
１０１…ＣＰＵ
１０２…ブリッジ部
１０３…ＲＯＭ
１０４…ＲＡＭ
１０５…２次記憶装置
１０６…表示制御部
１０７…表示装置
１０８…Ｉ／Ｏ制御部
１０９…入力装置
３０１…画像検索ＵＩ
３０２…フォルダー選択ＵＩ
３０３…画像一覧ＵＩ
３０４…選択画像一覧ＵＩ
３０５…画像
３０６，４１０，５０４…ポインティングＵＩ
３０６…検索メニュー
３０７…検索ボタン
４０１…検索ダイアログ
４０２…顔数入力
４０３…顔位入力
４０４…追加ボタン
４０５…削除ボタン
４０６…ＯＫボタン
４０７…Ｃａｎｃｅｌボタン
４０８…顔位置入力領域
４０９，５０１，５０３…顔アイコン
【図１】
0005214043.tif 000007
【図２】
0005214043.tif 000008
【図３】
0005214043.tif 000009
【図４】
0005214043.tif 000010
【図５】
0005214043.tif 000011
【図６】
0005214043.tif 000012
【図７】
0005214043.tif 000013
【図８】
0005214043.tif 000014
【図９】
0005214043.tif 000015
【図１０】
0005214043.tif 000016