(57)【要約】【課題】検索精度を向上させる検索クエリを生成する。【解決手段】画像処理装置は、入力画像において人物を含む人物領域を特定し、前記人物領域を複数の部分領域に分割し、前記複数の部分領域それぞれを、複数の小領域に分割し、前記複数の部分領域それぞれにおいて、前記複数の小領域をクラスタリングしてクラスタを形成し、前記複数の部分領域それぞれにおいて、前記クラスタの属性に基づき、前記クラスタからクエリ候補のクラスタを選択し、前記複数の部分領域それぞれにおいて、前記選択したクラスタの小領域からクエリ要素を生成し、前記複数の部分領域のクエリ要素を組み合わせて前記人物を検索するための検索クエリを生成する。【選択図】図１
2016162414.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを格納するメモリ装置と、
前記プログラムに従って動作する演算装置と、
入出力装置と、を含む画像処理装置であって、
前記演算装置は、
入力画像において人物を含む人物領域を特定し、
前記人物領域を複数の部分領域に分割し、
前記複数の部分領域それぞれを、複数の小領域に分割し、
前記複数の部分領域それぞれにおいて、前記複数の小領域をクラスタリングしてクラスタを形成し、
前記複数の部分領域それぞれにおいて、前記クラスタの属性に基づき、前記クラスタからクエリ候補のクラスタを選択し、
前記複数の部分領域それぞれにおいて、前記選択したクラスタの小領域からクエリ要素を生成し、
前記複数の部分領域のクエリ要素を組み合わせて前記人物を検索するための検索クエリを生成する、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記演算装置は、前記複数の部分領域それぞれにおいて、前記クラスタを構成する小領域の数に基づき、前記クラスタからクエリ候補のクラスタを選択する、画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置であって、
前記演算装置は、前記人物領域にマスクを重ね、前記マスクの透過領域から露出する領域を複数の部分領域に分割する、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記メモリ装置は、人物の異なる姿勢に対応する複数のマスクを含む、マスクデータベースをさらに含み、
前記演算装置は、前記人物領域における前記人物の姿勢を推定し、前記姿勢に応じたマスクを前記マスクデータベースから選択する、画像処理装置。
【請求項５】
請求項１又は２に記載の画像処理装置であって、
前記演算装置は、
前記複数の部分領域それぞれにおいて、前記選択したクラスタの小領域から一部の小領域を選択し、
前記一部の小領域の前記部分領域における位置関係に応じて、前記一部の小領域を前記クエリ要素において配置する、画像処理装置。
【請求項６】
請求項１又は２に記載の画像処理装置であって、
前記演算装置は、
前記入出力装置において、前記入力画像を表示し、
前記入出力装置から、表示された前記入力画像に対する前記人物領域の枠の指定を受信し、
前記入出力装置において、前記枠内に人型の領域を表示し、
前記入出力装置から、前記人型を含む前記枠の変更を受信し、
前記入出力装置から決定の入力を受信した枠により画定される前記人物領域を、前記複数の部分領域に分割する、画像処理装置。
【請求項７】
画像を検索する検索クエリの生成方法であって、
入力画像において人物を含む人物領域を特定し、
前記人物領域を複数の部分領域に分割し、
前記複数の部分領域それぞれを、複数の小領域に分割し、
前記複数の部分領域それぞれにおいて、前記複数の小領域をクラスタリングしてクラスタを形成し、
前記複数の部分領域それぞれにおいて、前記クラスタの属性に基づき、前記クラスタからクエリ候補のクラスタを選択し、
前記複数の部分領域それぞれにおいて、前記選択したクラスタの小領域からクエリ要素を生成し、
前記複数の部分領域のクエリ要素を組み合わせて前記人物を検索するための検索クエリを生成する、ことを含む方法。
【請求項８】
請求項７に記載の方法であって、
前記複数の部分領域それぞれにおいて、前記クラスタを構成する小領域の数に基づき、前記クラスタからクエリ候補のクラスタを選択する、方法。
【請求項９】
請求項７又は８に記載の方法であって、
前記人物領域にマスクを重ね、前記マスクの透過領域から露出する領域を複数の部分領域に分割する、方法。
【請求項１０】
請求項９に記載の方法であって、
前記人物領域における前記人物の姿勢を推定し、
前記姿勢に応じたマスクを、異なる姿勢に対応する複数のマスクからから選択する、方法。
【請求項１１】
請求項７又は８に記載の方法であって、
前記複数の部分領域それぞれにおいて、前記選択したクラスタの小領域から一部の小領域を選択し、
前記一部の小領域の部分領域における位置関係応じて前記一部の小領域を前記クエリ要素において配置する、方法。
【請求項１２】
請求項７又は８に記載の方法であって、
前記入力画像を表示し、
表示された前記入力画像に対する前記人物領域の枠の指定を受信し、
前記枠内に人型の領域を表示し、
前記人型を含む前記枠の変更を受信し、
決定の入力を受信した枠により画定される前記人物領域を、前記複数の部分領域に分割する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のための検索クエリの生成に関する。
【背景技術】
【０００２】
画像データや映像データを対象に人物を検索する場合に、人物の服装や持ち物の特徴を一つずつ選択し、複数の検索クエリを指定して、全クエリの検索結果を統合して人物を検索する方法が提案されている。ユーザが検索クエリを指定する場合において、服装の色などの特徴を選択するには目視確認が必要となり、ユーザの主観で決定することが多かった。手動で選択するクエリは、ユーザによって入力内容にバラツキがあり、ターゲットとする人物を見つけられないという問題があった。
【０００３】
特許文献１は、自動的に検索クエリを決定するシステムを開示する。具体的には、「ユーザによって指定された画像に類似する画像を検索する画像検索システムであって、カメラによって撮影された映像などから取得した画像を所定の大きさのブロックに分割し、色ヒストグラムに基づいて、ブロックの特徴量を抽出し、画像の識別子と、ブロックがどの位置にあるかを示す情報と、ブロックの特徴量と、の対応関係を示す第１の情報を作成し、第１の情報に基づいて、分割されたブロックのうち、ユーザによって選択された少なくとも一つのブロックを第１の検索キーとし、第１の検索キーの特徴量と他のブロックの特徴量とを比較することによって、第１の検索キーに類似する所定の数のブロックを検索結果として検出し、検索結果を含む画像をユーザに表示する」（要約）構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１８２３８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
公知例の自動的な人物特徴の登録や検索クエリを決定する方法においては、人物と推定される領域を複数に分割して、複数の全領域を活用しているため、人物以外に背景など他の物体が混在し、検索精度が悪くなるという問題があった。背景差分による人物検知は、環境が悪い場所において、照明変動や人の影などの領域が簡単に残ってしまうため、この方法のみで背景を分離することは難しい。
【０００６】
したがって、検索精度を向上させることができる検索クエリの生成方法が望まれる。
【課題を解決するための手段】
【０００７】
本発明の代表的な一例は、プログラムを格納するメモリ装置と、前記プログラムに従って動作する演算装置と、入出力装置と、を含む画像処理装置であって、前記演算装置は、入力画像において人物を含む人物領域を特定し、前記人物領域を複数の部分領域に分割し、前記複数の部分領域それぞれを、複数の小領域に分割し、前記複数の部分領域それぞれにおいて、前記複数の小領域をクラスタリングしてクラスタを形成し、前記複数の部分領域それぞれにおいて、前記クラスタの属性に基づき、前記クラスタからクエリ候補のクラスタを選択し、前記複数の部分領域それぞれにおいて、前記選択したクラスタの小領域からクエリ要素を生成し、前記複数の部分領域のクエリ要素を組み合わせて前記人物を検索するための検索クエリを生成する。
【発明の効果】
【０００８】
本発明の一態様によれば、検索精度を向上させる検索クエリを生成することができる。上記以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】画像検索装置の構成例を示す。
【図２】画像検索装置の他の構成例を示す。
【図３Ａ】入力画像において指定された人物画像から検索クエリを生成し、生成した検索クエリを使用して人物検索を実行する処理のフローチャートを示す。
【図３Ｂ】図３Ａに示すフローチャートにおける、クエリ設定処理のフローチャートを示す。
【図３Ｃ】図３Ｂに示すフローチャートにおける、クエリ生成処理のフローチャートを示す。
【図４Ａ】人物領域がユーザによって決定されてから検索用クエリがセットされるまでの例を示す。
【図４Ｂ】部分領域における小領域の配置と検索クエリにおける小領域の配置との関係例を示す。
【図５Ａ】一つの部分領域から生成されたクラスタの例を示す。
【図５Ｂ】検索クエリ生成のための候補として選択されたクラスタと、ノイズクラスタとして除去されるクラスタとを示す。
【図５Ｃ】特徴量空間におけるノイズ基準領域の例を示す。
【図６Ａ】人型マスクの例を示す。
【図６Ｂ】ブロック型マスクの例を示す。
【図６Ｃ】人物領域内の人物画像に沿ってマスクを形成する例を示す。
【図７】人物領域の部分領域への分割において、複数のマスクから一つのマスクを選択する処理を示す。
【図８】人物領域及びマスクの決定のためのナビゲーション画像を示す。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付与されている。
【００１１】
図１は、画像処理装置である画像検索装置の構成例を示す。画像検索装置１０１は、一般的な計算機のハードウェア構成を有する。具体的には、画像検索装置１０１は、インタフェース（Ｉ／Ｆ）１９０と、ＣＰＵ１９１と、メモリ１９２と、入出力装置１９３とを含み、これらはバスにより相互接続されている。
【００１２】
Ｉ／Ｆ１９０はネットワークと接続し、ネットワークを介して、外部装置からデータを受信し、外部装置にデータを送信する。入出力装置１９３は、ユーザが画像検索装置１０１に指示を与えるための入力装置及びユーザに情報を出力するための出力装置を含む。入力装置は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、出力装置は、例えば、モニタディスプレイ、プリンタ等である。
【００１３】
メモリ１９２は、ＣＰＵ１９１が実行するプログラムを格納している。具体的には、メモリ１９２は、画像入力プログラム１１１、人物領域特定プログラム１１２、部分領域分割プログラム１２１、小領域特定プログラム１２２、画像検索プログラム１３１、検索結果表示プログラム１３２を格納している。メモリ１９２は、さらに、画像データベース１４１を格納している。
【００１４】
画像検索装置１０１は、不揮発性記憶媒体を含む不図示の補助記憶装置を含み、メモリ１９２にロードされるプログラム及びデータを格納してもよい。メモリ１９２が格納するプログラム及びデータは、Ｉ／Ｆ１９０を介して外部装置から取得されてもよい。
【００１５】
演算装置であるＣＰＵ１９１は、メモリ装置であるメモリ１９２に格納されるプログラムに従って動作する。プログラムはＣＰＵ１９１によって実行されることで、定められた処理を行う。従って、本開示において、プログラムを主語とする説明は、ＣＰＵ（プロセッサ）を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機及び計算機システムが行う処理である。
【００１６】
プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部（手段）として動作する。例えば、ＣＰＵ１９１は、人物領域特定プログラム１１２、部分領域分割プログラム１２１、小領域特定プログラム１２２のそれぞれに従って動作することで、人物領域特定部、部分領域分割部、小領域特定部として機能する。以上の点は、他のプログラム及び他の計算機についても同様である。
【００１７】
画像入力プログラム１１１は、外部装置又は画像データベース１４１から、検索クエリを生成するための画像データ１００を取得する。画像入力プログラム１１１が取得する画像データ１００は、静止画像又は動画像である。画像入力プログラム１１１は、取得した画像データ１００を、人物領域特定プログラム１１２に出力する。
【００１８】
人物領域特定プログラム１１２は、画像データ１００から静止画の画像データを抽出し、一人の人物の全体像を含む人物領域を特定する。人物領域特定プログラム１１２は、当該特定した人物領域のデータを部分領域分割プログラム１２１に出力する。
【００１９】
部分領域分割プログラム１２１は、人物領域を複数の部分領域に分割し、複数の部分領域それぞれのデータを、小領域特定プログラム１２２に出力する。小領域特定プログラム１２２は、複数の部分領域それぞれを、複数の小領域に分割する。さらに、小領域特定プログラム１２２は、各部分領域において、小領域をクラスタリングし、クラスタリングの結果に基づいて、各部分領域においてクエリに用いる小領域を選択する。部分領域に分割することで、より適切に、クラスタリングによりノイズを除去できる。
【００２０】
小領域特定プログラム１２２は、各部分領域において選択された小領域のデータを、小領域統合プログラム１２３に出力する。小領域統合プログラム１２３は、各部分領域においてクエリ用に選択された小領域を統合し、各部分領域に対応するクエリ要素を生成する。画像検索用クエリは、全ての部分領域のクエリ要素で構成される。
【００２１】
画像検索プログラム１３１は、生成された検索クエリを用いて、画像データベース１４１において画像検索を行い、検索結果を検索結果表示プログラム１３２に出力する。検索結果表示プログラム１３２は、検索結果を示す画像データを生成し、入出力装置１９３の表示装置において、検索結果を表示する。
【００２２】
画像データベース１４１は、画像データベース１４１内の人物画像から生成され、検索クエリと同構成のデータを格納している。当該データを検索エントリとも呼ぶ。画像入力プログラム１１１は、画像データベース１４１から取得した複数静止画像を人物領域特定プログラム１１２に出力する。人物領域特定プログラム１１２は、各静止画において、所定の人物検出アルゴリズムに従って人物画像を抽出する。
【００２３】
部分領域分割プログラム１２１、小領域特定プログラム１２２、小領域統合プログラム１２３は、抽出された人物画像それぞれにから、検索クエリと同様の方法で、検索エントリを生成する。画像データベース１４１は、生成された検索エントリを人物画像と関連づけて格納する。画像検索プログラム１３１は、検索クエリと画像データベース１４１内の検索エントリとを比較して、検索クエリが示す人物画像を検索する。
【００２４】
上述のように、検索エントリは検索クエリと同法の方法で生成できるため、以下においては、検索クエリの生成について説明を行う。図２は、画像検索装置１０１の他の構成例を示す。画像検索装置１０１は、複数の計算機を含んで構成されている。図２の例において、画像検索装置１０１は、複数のユーザ操作部１０２、クエリ生成部１０３、及び検索部１０４を含み、これらは不図示のネットワークを介して相互接続されている。
【００２５】
ユーザ操作部１０２は、検索クエリを生成するための画像データ１００を受信し、さらに、ユーザからの検索クエリについての入力受け付け、ユーザに対して検索結果を提示する。クエリ生成部１０３は、画像データ１００から抽出された人物画像から検索クエリを生成する。検索部１０４は、検索クエリに従って画像データベース１４１を検索し、検索結果をユーザ操作部１０２に送信する。
【００２６】
ユーザ操作部１０２、クエリ生成部１０３、及び検索部１０４は、それぞれ、１台の計算機で構成されている。複数のユーザ操作部１０２（計算機）により、複数のユーザが、画像検索装置１０１を利用することができる。複数の計算機による分散処理により、効率的な検索クエリの作成及び検索処理を実現できる。
【００２７】
ユーザ操作部１０２、クエリ生成部１０３、及び検索部１０４は、一般的な計算機構成を有している。具体的には、ユーザ操作部１０２は、ＣＰＵ２０１、メモリ２０２、Ｉ／Ｆ２０３、及び入出力装置２０４を含む。クエリ生成部１０３は、ＣＰＵ２０５、メモリ２０６、及びＩ／Ｆ２０７を含む。検索部１０４は、ＣＰＵ２０８、メモリ２０９、及びＩ／Ｆ２１０を含む。ＣＰＵ２０１、２０５、及び２０８は、画像検索装置１０１における演算装置であり、メモリ２０２、２０６、及び２０９は、画像検索装置１０１におけるメモリ装置である。
【００２８】
ユーザ操作部１０２のメモリ２０２は、画像入力プログラム１１１、人物領域特定プログラム１１２、及び人物領域送信プログラム１５１を格納している。画像入力プログラム１１１及び人物領域特定プログラム１１２の動作は、上述の通りである。人物領域送信プログラム１５１は、人物領域特定プログラム１１２から人物領域の画像データを取得し、Ｉ／Ｆ２０３を介して、クエリ生成部１０３に送信する。
【００２９】
クエリ生成部１０３のメモリ２０６は、人物領域受信プログラム１５２、部分領域分割プログラム１２１、小領域特定プログラム１２２、小領域統合プログラム１２３、及びクエリ送信プログラム１５３を格納している。人物領域受信プログラム１５２は、ユーザ操作部１０２から、Ｉ／Ｆ２０７を介して、人物領域の画像データを受信し、部分領域分割プログラム１２１に出力する。
【００３０】
部分領域分割プログラム１２１、小領域特定プログラム１２２及び小領域統合プログラム１２３の動作は、上述の通りである。クエリ送信プログラム１５３は、小領域統合プログラム１２３から生成された検索クエリ取得し、検索部１０４に対してＩ／Ｆ２０７を介して送信する。
【００３１】
検索部１０４のメモリ２０９は、クエリ受信プログラム１５４、画像検索プログラム１３１、検索結果表示プログラム１３２、及び画像データベース１４１を格納している。クエリ受信プログラム１５４は、Ｉ／Ｆ２１０を介して、クエリ生成部１０３から検索クエリを受信し、画像検索プログラム１３１に出力する。
【００３２】
画像検索プログラム１３１及び検索結果表示プログラム１３２の動作、並びに画像データベース１４１が格納するデータは上述の通りである。検索結果表示プログラム１３２は、検索結果をユーザ操作部１０２に送信し、ユーザ操作部１０２は、入出力装置２０４において、検索結果をユーザに提示する。
【００３３】
図３Ａは、入力画像において指定された人物画像から検索クエリを生成し、生成した検索クエリを使用して人物検索を実行する処理のフローチャートを示す。図３Ｂは、図３Ａに示すフローチャートにおける、クエリ設定処理Ｓ１２のフローチャートを示す。図３Ｃは、図３Ｂに示すフローチャートにおける、クエリ生成処理Ｓ２２のフローチャートを示す。以下の説明においては、図１に示す画像検索装置１０１の構成を参照する。
【００３４】
図３Ａにおいて、画像入力プログラム１１１は、新しい画像データ１００を外部装置又は画像データベース１４１から取得する（Ｓ１１）。画像入力プログラム１１１は、入力された画像データ１００における静止画を、入出力装置１９３において表示する。表示されている画像に対し、検索クエリ設定処理が実行される（Ｓ１２）。クエリ設定処理Ｓ１２は、図３Ｂを参照して後述する。
【００３５】
画像検索プログラム１３１は、設定された検索クエリを使用して、検索処理を実行する（Ｓ１３）。画像検索プログラム１３１は、画像データベース１４１から、検索クエリに類似する人物画像を検索する。画像検索プログラム１３１は、検索クエリと人物画像との間の類似度を算出し、類似度が閾値より大きい画像データを選択する。類似度は、特徴量空間における、検索クエリと人物画像の検索エントリとの間の距離から算出できる。
【００３６】
検索結果表示プログラム１３２は、検索処理Ｓ１３において選択された人物画像、又は当該人物画像を含む静止画若しくは動画を、検索クエリに対する類似度が大きい順番に、入出力装置１９３において表示する。
【００３７】
ユーザは入出力装置１９３により表示された検索結果を参照する。表示された静止画又は動画において、さらに検索を行う人物が存在する場合（Ｓ１５：ＹＥＳ）、ユーザは、入出力装置１９３から当該人物を指定する。入出力装置１９３は、当該ユーザ指定を、人物領域特定プログラム１１２に送信する。指定された人物画像について、ステップＳ１２〜Ｓ１５が繰り返される。新たな人物が指定されなかった場合（Ｓ１５：ＮＯ）、本処理が終了する。
【００３８】
図３Ｂを参照して、検索クエリの設定処理Ｓ１２を説明する。人物領域特定プログラム１１２は、入出力装置１９３において表示されている画像における、人物を含む人物領域のユーザ指定を、入出力装置１９３から受信する（Ｓ２１）。
【００３９】
例えば、ユーザは、入出力装置１９３のマウスやタッチパネルを使用して、表示されている画像において、目的の人物を含む領域を矩形で囲むことで、人物領域を指定する。または、人物領域特定プログラム１１２は、所定の人物検知アルゴリズムに従って、表示画像内に人物領域を示し、入出力装置１９３からのユーザによる人物領域の選択を受け付けてもよい。
【００４０】
人物領域特定プログラム１１２は、指定された人物領域の画像データを、部分領域分割プログラム１２１に出力する。部分領域分割プログラム１２１、小領域特定プログラム１２２、及び小領域統合プログラム１２３は、人物領域の画像データから、検索クエリを生成する（Ｓ２２）。小領域統合プログラム１２３は、生成した検索クエリを画像検索プログラム１３１に設定する（Ｓ２３）。
【００４１】
図３Ｃを参照して、検索クエリの生成処理Ｓ２２を説明する。部分領域分割プログラム１２１は、人物領域を複数の部分領域に分割する（Ｓ３１）。小領域特定プログラム１２２は、各部分領域を小領域に分割する（Ｓ３２）。小領域特定プログラム１２２は、各部分領域において、小領域をクラスタリングによりグルーピングする。さらに、小領域特定プログラム１２２は、生成したクラスタから、背景を含むノイズに相当する不要なクラスタを除去する（Ｓ３４）。小領域特定プログラム１２２は、クラスタのサイズ（小領域数）、色、テクスチャ等のクラスタの属性に基づき、当該クラスタがノイズクラスタであるか否か判定する。
【００４２】
小領域統合プログラム１２３は、各部分領域において、ノイズ除去後に残された小領域を、特徴量の代表値、中心値、平均値等の統計値を使用して統合し、各部分領域に対応するクエリ要素を生成する。小領域統合プログラム１２３は、全ての部分領域のクエリ要素を組み合わせて、検索クエリを生成する。
【００４３】
以下において、図３Ａ〜３Ｃを参照して説明した処理のステップの詳細を説明する。図４Ａは、人物領域がユーザによって決定されてから検索用クエリがセットされるまでの例を示す。ユーザインターフェースＦ０１と内部処理Ｆ０２に分けて説明する。ユーザインターフェースＦ０１は、入力画像Ｆ１１を表示する。ユーザインターフェースＦ０１は、入出力装置１９３により提供される。
【００４４】
入力画像Ｆ１１において、人物領域Ｆ１２が指定されている。ユーザは目標人物を決定し、例えば、ポインティングデバイスを使用して矩形を描くことによって、人物領域Ｆ１２を入力画像Ｆ１１上で指定する。
【００４５】
人物領域特定プログラム１１２は、ユーザにより指定された人物領域Ｆ２をユーザインターフェースＦ０から取得する。上述のように、人物領域特定プログラム１１２は、時運物検出アルゴリズムによって、入力画像Ｆ１１における人物を検出し、各人物を囲む人物領域を提示してもよい。ユーザは、提示された人物領域の中から、目的人物を含む人物領域を選択する。
【００４６】
人物領域特定プログラム１１２は、機械学習手法に基づき学習した識別器を使用して、人物を検出する。識別器は多数のサンプルから抽出された特徴量から、人物を識別するための基準を学習する。人物領域特定プログラム１１２は、入力画像Ｆ１１内で検出ウィンドウを設定し、検出ウィンドウを入力画像Ｆ１１内で移動しながら特徴量を抽出して、人物を検出する。
【００４７】
人物検出のために特徴量としては、例えば、エッジ情報に関する特徴量である、輝度勾配方向ヒストグラム（ＨＯＧ）を使用することができる。このほか、色情報や動き情報に基づく特徴量を使用してもよい。様々な人物検出の手法が知られており、ここでは詳細な説明を省略する。
【００４８】
内部処理Ｆ０２に与えられる人物領域Ｆ１２は、入力画像Ｆ１１から切り出された領域である。人物領域Ｆ１２は、規定のサイズに拡大／縮小されてもよい。部分領域分割プログラム１２１は、人物領域Ｆ１２を複数の部分領域Ｆ１３に分割する。図４Ａの例において、人物領域Ｆ１２、頭、上半身、下半身の部位に対応する、Ｔｏｐ、Ｕｐｐｅｒ、Ｂｏｔｔｏｍの部分領域Ｆ１３に分割される。
【００４９】
部分領域分割プログラム１２１は、例えば、人物領域Ｆ１２を予め設定されている比率で、人物領域Ｆ１２を上下方向において三つの部分領域Ｆ１３に分割する。上下方向に三つに分割することで、部分領域Ｆ１３のそれぞれに、頭部、Ｔｏｐス、及びＢｏｔｔｏｍスを個別に含めることができる。これら部位の特徴量は大きく異なることが多く、各部位内での特徴量は類似することが多い。
【００５０】
隣接する部分領域Ｆ１３は、一部が互いに重複してもよいし、完全に異なる領域であってもよい。隣接する部分領域Ｆ１３が一部重複することで、部分領域Ｆ１３に、各部位の全体をより確実に含めることができる。
【００５１】
図４Ａに示す分割方法は一例であって、人物領域Ｆ１２は他の方法で分割されてもよい。人物領域Ｆ１２は左右方向において分割されてもよいし、２又は４以上の部分領域Ｆ１３に分割されてもよい。図４Ａの例において、部分領域Ｆ１３は矩形であるが、部分領域Ｆ１３の形状はこれに限定されない。
【００５２】
次に、小領域特定プログラム１２２は、部分領域Ｆ１３のそれぞれを、複数の小領域Ｆ１４に分割する。例えば、小領域Ｆ１４の形状及びサイズは予め決められている。小領域特定プログラム１２２は、人物領域Ｆ１２のサイズに応じて、人物領域Ｆ１２のサイズを決定してもよい。小領域Ｆ１４のサイズ又は形状は、部分領域Ｆ１３毎に設定されてもよい。図４Ａの例において、小領域Ｆ１４は矩形であるが、小領域Ｆ１４の形状はこれに限定されない。
【００５３】
部分領域Ｆ１３と対応する小領域Ｆ１４とは、関連付けてメモリ１９２内に保持される。小領域特定プログラム１２２は、各部分領域Ｆ１３において、分割した小領域Ｆ１４をクラスタリングによりグループ化する。小領域特定プログラム１２２は、各小領域Ｆ１４の特徴ベクトルを算出し、当該特徴ベクトルのベクトル空間において、クラスタリングを行う。特徴量は、色情報やエッジ情報から得られる値を使用することができ、例えば、特徴量は、小領域Ｆ１４の画素のＲＧＢ値から決まる平均色を含んでもよい。
【００５４】
小領域Ｆ１４のクラスタリングにため、小領域特定プログラム１２２は、任意のクラスタリングアルゴリズムを採用することができる。例えば、小領域特定プログラム１２２は、ｋ平均法を使用してもよい。小領域特定プログラム１２２は、決められたクラスタ数ｎの仮クラスタ中心点を特徴量空間においてランダムに配置し、各点を最も近い仮クラスタ中心点と関連づける。各仮クラスタ中心点に関連づけられた点が各仮クラスタを構成する。
【００５５】
小領域特定プログラム１２２は、さらに、仮クラスタそれぞれにおける重心（座標平均）を算出し、これらを新たな仮クラスタ中心点と決定し、新たな仮クラスタ中心点によって、新たな仮クラスタを生成する。小領域特定プログラム１２２は、仮クラスタ中心点及び仮クラスタの生成を繰り返し、最終的なクラスタを決定する。
【００５６】
小領域特定プログラム１２２は、生成したクラスタから、ノイズに相当するクラスタを除去し、検索クエリの生成に使用する候補のクラスタを選択する。図５Ａは、一つの部分領域Ｆ１３から生成されたクラスタの例を示す。三つのクラスタが生成されており、クラスタ１は三つの小領域Ａ〜Ｃで構成され、クラスタ２は一つの小領域Ｄで構成され、クラスタ３は二つの小領域Ｅ及びＦで構成されている。
【００５７】
小領域特定プログラム１２２は、クラスタを構成する小領域数に基づき、ノイズクラスタを除去する。これにより、ノイズクラスを適切に排除できる。例えば、クラスタの構成小領域数が閾値以下であるとき、当該クラスタをノイズクラスタと判定する。図５Ｂは、検索クエリ生成のための候補（クエリ候補クラスタ）として選択されたクラスタと、ノイズクラスタとして除去されるクラスタとを示す。本例において、小領域数が２以上のクラスタが、検索クエリ生成のための候補として選択される。
【００５８】
小領域特定プログラム１２２は、ノイズ判定のための閾値のユーザ設定を受け付けてもよい。ユーザは、入出力装置１９３を介して閾値を入力し、小領域特定プログラム１２２は、当該閾値に従ってノイズクラスタを除去する。
【００５９】
小領域特定プログラム１２２は、構成小領域数が大きいクラスタから、予め定められた数のクラスタを検索クエリ生成のための候補として選択してもよく、構成小領域数が小さいクラスタから、予め定められた数のクラスタをノイズとして除去してもよい。
【００６０】
他の例において、小領域特定プログラム１２２は、特徴空間におけるクラスタの位置に基づいて、ノイズクラスタを除去してもよい。特徴空間におけるクラスタの位置は、クラスタの属性を示す。小領域特定プログラム１２２は、学習データから、ノイズクラスタの重心が属するノイズ基準領域を決定する。図５Ｃは、特徴量空間におけるノイズ基準領域５０１の例を示す。小領域特定プログラム１２２は、クラスタの重心位置を計算し、当該重心位置がノイズ基準領域５０１に含まれる場合、当該クラスタをノイズクラスタと判定する。
【００６１】
小領域特定プログラム１２２は、ノイズ基準領域５０１からの距離に基づき、ノイズクラスタを判定してもよい。例えば、小領域特定プログラム１２２は、ノイズ基準領域５０１と重心位置との最短距離が大きいクラスタから、予め定められた数のクラスタを検索クエリ生成のための候補として選択してもよい。
【００６２】
小領域特定プログラム１２２は、ノイズ領域内の特定の点からの距離に基づき、ノイズクラスタを判定してもよい。例えば、小領域特定プログラム１２２は、ノイズ領域内の特定の点と重心位置との距離が大きいクラスタから、予め定められた数のクラスタを検索クエリ生成のための候補として選択してもよい。小領域特定プログラム１２２は、複数のノイズ基準点を用意し、クラスタを構成する点それぞれと、ノイズ基準点それぞれとの距離に基づき、ノイズクラスタを判定してもよい。
【００６３】
小領域特定プログラム１２２は、人物領域Ｆ１２において、予め定められている部分をノイズとして除去してもよい。例えば、人物領域Ｆ１２における端の領域の一部をノイズ領域として除去する。
【００６４】
図４Ａに戻って、領域Ｆ１５において、ノイズクラスタに属する小領域Ｆ１４にはクロスが付されている。小領域統合プログラム１２３は、各部分領域Ｆ１３において、クエリ候補として選択された小領域Ｆ１４の全部又は一部から、色情報やテクスチャ情報の特徴ベクトルを計算する。当該特徴ベクトルは、検索クエリＦ１７において、部分領域に対応するクエリ要素Ｆ１６である。特徴ベクトルの各要素の値は、小領域Ｆ１４の特徴量の代表値、中心値、平均値等である。
【００６５】
小領域統合プログラム１２３は、部分領域Ｆ１３から一部のクエリ候補小領域Ｆ１４を選択し、空間的に配置することでクエリ要素Ｆ１６を生成してもよい。図４Ａにおいて、四つの小領域Ｆ１４で構成された矩形画像がクエリ要素Ｆ１６である。クエリ要素Ｆ１６から算出される色情報やテクスチャ情報の特徴ベクトルを使用して、人物検索（画像検索）が行われる。
【００６６】
部分領域Ｆ１３から一部のクエリ候補小領域Ｆ１４を選択する場合、小領域統合プログラム１２３は、例えば、特徴量空間におけるクエリ候補小領域Ｆ１４の重心点に近い小領域から、規定数の小領域Ｆ１４を選択する。または、小領域統合プログラム１２３は、部分領域Ｆ１３における小領域Ｆ１４の配置に基づき、一部の小領域Ｆ１４を選択してもよい。
【００６７】
例えば、小領域統合プログラム１２３は、特徴量空間におけるクエリ候補小領域Ｆ１４の重心点に最も近いクエリ候補小領域Ｆ１４、又は部分領域Ｆ１３の中心位置に最も近いクエリ候補小領域Ｆ１４を選択し、部分領域Ｆ１３において選択したクエリ候補小領域Ｆ１４に最も近いクエリ候補小領域Ｆ１４から、クエリ要素の生成に使用するクエリ候補小領域Ｆ１４を選択する。
【００６８】
小領域統合プログラム１２３は、クエリ要素Ｆ１６において、選択した小領域Ｆ１４をクエリ要素Ｆ１６（検索クエリＦ１７）に配置する。クエリ要素Ｆ１６において、選択された小領域Ｆ１４は規定形状に再配置されてもよく、選択した小領域Ｆ１４の部分領域Ｆ１３における形状（配置）がそのまま維持されてもよい。
【００６９】
小領域統合プログラム１２３は、部分領域Ｆ１３における小領域Ｆ１４の配置に応じて、クエリ要素Ｆ１６において小領域を配置する。これにより、より精度の高い検索を可能とする検索クエリを生成できる。図４Ｂは、部分領域における小領域Ｆ１４の配置と、クエリ要素Ｆ１６における小領域Ｆ１４の配置との関係例を示す。
【００７０】
部分領域Ｆ１３から、クエリ要素生成のため、四つの小領域Ａ〜Ｄが選択される。クエリ要素Ｆ１６Ａにおいて、小領域Ａ〜Ｄは、矩形を形成するように配置される。小領域統合プログラム１２３は、クエリ要素Ｆ１６Ａにおいて、部分領域Ｆ１３における小領域Ａ〜Ｄの相対的位置関係を維持するように、小領域Ａ〜Ｄを配置する。つまり、部分領域１１３及びクエリ要素Ｆ１６Ａにおいて、小領域Ａ、Ｂ、Ｃ、Ｄはそれぞれ、左上、右上、右下、左下に配置されている。
【００７１】
クエリ要素Ｆ１６Ｂにおいて、小領域Ａ〜Ｄは、部分領域Ｆ１３における配置と同様の位置関係を有する。例えば、検索ウィンドウ１６１において、小領域Ａ〜Ｄから特徴ベクトルが生成され、検索ウィンドウ１６１内の他の領域は、特徴ベクトル生成において参照されない。
【００７２】
クエリ要素Ｆ１６Ａのように、小領域Ｆ１４がクエリ要素Ｆ１６において規定形状に再配置される場合、小領域統合プログラム１２３は、クエリ要素Ｆ１６の規定形状に合わせて小領域Ｆ１４を選択してもよい。例えば、小領域統合プログラム１２３は、クエリ要素Ｆ１６の一つの小領域Ｆ１４に対応するクエリ候補小領域Ｆ１４を部分領域Ｆ１３から選択し、クエリ要素Ｆ１６における他の小領域Ｆ１４それぞれの相対位置に最も近いクエリ候補小領域Ｆ１４を部分領域Ｆ１３から選択する。
【００７３】
例えば、図４Ａの例において、最初に選択したクエリ候補小領域Ｆ１４がクエリ要素Ｆ１６の左下の小領域Ｆ１４に対応し、選択したクエリ候補小領域Ｆ１４の右、左及び右上方向において最も近いクエリ候補小領域Ｆ１４が、さらに、部分領域Ｆ１３から選択される。
【００７４】
小領域統合プログラム１２３は、部分領域Ｆ１３それぞれのクエリ要素Ｆ１６を組み合わせ、検索クエリＦ１７を生成する。検索クエリＦ１７において、クエリ要素Ｆ１６はそれぞれ対応する部分領域Ｆ１３に関連づけられている。小領域統合プログラム１２３は、さらに、検索クエリＦ１７から検索クエリ画像Ｆ１８を生成し、ユーザインターフェースＦ０１（入出力装置１９３）において表示する。
【００７５】
ユーザは、検索指示を入力する前に、検索クエリ画像Ｆ１８を確認できる。画像検索プログラム１３１は、ユーザインターフェースＦ０１（入出力装置１９３）から検索指示を受け取ると、生成された検索クエリＦ１７を使用して、画像データベース１４１において、人物を検索する。検索クエリ画像Ｆ１８は表示しなくてもよく、画像検索プログラム１３１は、ユーザ指示を受けることなく、生成された検索クエリＦ１７を使用して人物を検索してもよい。
【００７６】
図６Ａ〜６Ｃは、人物領域１２を複数の部分領域１３に分割する方法を示す。部分領域分割プログラム１２１は、マスクを使用して人物領域１２を複数の部分領域１３に分割してもよい。マスクを使用することで、背景ノイズを効果的に除去することができる。
【００７７】
図６Ａは、人型マスクＦ２１の例を示す。部分領域分割プログラム１２１は、人物領域Ｆ１２を受け取ると、当該人物領域Ｆ１２の外形に合わせて、人型マスクＦ２１を変形する。この点は他のマスクについて同様である。
【００７８】
人型マスクＦ２１は、人型の透過領域と当該透過領域を囲む遮蔽領域とで構成される。透過領域は、三つの透過領域Ｆ２１１〜Ｆ２１３に分割されている。透過領域Ｆ２１１〜Ｆ２１３は、それぞれ、Ｔｏｐ、Ｕｐｐｅｒ、Ｂｏｔｔｏｍの部分領域Ｆ１３に対応する。透過領域Ｆ２１２は、隣接する透過領域Ｆ２１１及び透過領域Ｆ２１３それぞれと、一部重複してもよい。
【００７９】
透過領域Ｆ２１１〜Ｆ２１３と重なり、露出する、つまり、透過領域Ｆ２１１〜Ｆ２１３に含まれる領域が、人物領域Ｆ１２の部分領域Ｆ１３として抽出される。小領域特定プログラム１２２は、人物領域Ｆ１２において、透過領域Ｆ２１１〜Ｆ２１３内の部分領域Ｆ１３を、それぞれ、複数の小領域Ｆ１４に分割する。
【００８０】
図６Ｂは、ブロック型マスクＦ２２の例を示す。マスクＦ２２において、透過領域は複数の矩形透過領域で構成されている。具体的には、透過領域は、三つの透過領域Ｆ２２１〜Ｆ２２３で構成されている。透過領域Ｆ２２１〜Ｆ２２３は、それぞれ、Ｔｏｐ、Ｕｐｐｅｒ、Ｂｏｔｔｏｍの部分領域Ｆ１３に対応する。透過領域Ｆ２２１〜Ｆ２２３の周囲は遮蔽領域である。
【００８１】
透過領域Ｆ２２２は、隣接する透過領域Ｆ２２１及び透過領域Ｆ２２３それぞれと、一部重複する。これにより、人物により変化するボトムスやトップス等の部位全体を、透過領域２２１〜２２３それぞれに含めることができる。透過領域２２１〜２２３は完全に分離されていてもよい。
【００８２】
図６Ｃは、人物領域Ｆ１２内の人物画像に沿ってマスクＦ３１を形成する例を示す。これにより、人物領域Ｆ１２内のより多くのノイズをクラスタリング前に除去することができる。除去図６Ｃにおいて、透過領域Ｆ３１１〜Ｆ３１３は、それぞれ、Ｔｏｐ、Ｕｐｐｅｒ、Ｂｏｔｔｏｍの部分領域Ｆ１３に対応する。
【００８３】
部分領域分割プログラム１２１は、例えば、人型マスクＦ２１又はブロック型マスクＦ２２を人物領域に重ねる。部分領域分割プログラム１２１は、Ｔｏｐ、Ｕｐｐｅｒ、Ｂｏｔｔｏｍの透過領域内の画像それぞれにおいて、画像のエッジ情報から、人物の外形を特定する。例えば、部分領域分割プログラム１２１は、画像の輝度勾配の情報から、Ｗａｔｅｒｓｈｅｄアルゴリズムを使用してエッジを特定し、人体形状モデルと比較して透過領域Ｆ３１１〜Ｆ３１３を切り出す。
【００８４】
人物画像に沿ってマスクＦ３１を形成することで、人物領域Ｆ１２内のより多くのノイズをクラスタリング前に除去することができる。なお、人物領域Ｆ１２にユーザがマスク領域を指定すれば、事前にマスクデータがなくてもＷａｔｅｒｓｈｅｄアルゴリズムを使用したエッジと人体モデルとを比較して、各部位を決定できる。
【００８５】
図７は、人物領域Ｆ１２の部分領域Ｆ１３への分割において、複数のマスクから一つのマスクを選択する処理を示す。メモリ１９２は、姿勢・マスクデータベース５７を格納している。部分領域分割プログラム１２１は、人物領域Ｆ１２内の人物の姿勢を特定し、姿勢・マスクデータベース５７から人物の姿勢に対応したマスクを選択する。これにより、人物以外の領域をより適切に人物領域Ｆ１２から除去することができる。
【００８６】
姿勢・マスクデータベース５７は、複数のマスクと、各マスクに関連付けられた特徴ベクトルを格納している。特徴ベクトルは、人体の異なる姿勢に対応した姿勢特徴ベクトルである。姿勢特徴ベクトルは、人体モデル又は多くの学習データから抽出できる。
【００８７】
部分領域分割プログラム１２１は、人物領域Ｆ１２における人体画像を抽出し、当該人体画像の特徴ベクトルを算出する。算出する特徴ベクトルは、例えば、ＨＯＧ特徴ベクトルである。部分領域分割プログラム１２１は、算出した特徴ベクトルを姿勢特徴ベクトルに変換して、人物領域Ｆ１２の姿勢特徴を抽出する（Ｓ５１）。
【００８８】
部分領域分割プログラム１２１は、計算した姿勢特徴ベクトルと、姿勢・マスクデータベース５７内の各姿勢特徴ベクトルを比較する（Ｓ５２）。部分領域分割プログラム１２１は、姿勢・マスクデータベース５７内の最も類似する（最も距離が小さい）姿勢特徴ベクトルに対応するマスクを選択する（Ｓ５３）。部分領域分割プログラム１２１は、選択したマスクを使用して、人物領域Ｆ１２を部分領域Ｆ１３に分割する。
【００８９】
姿勢・マスクデータベース５７は、姿勢特徴ベクトルから変換された特徴ベクトルを格納してもよい。人物領域Ｆ１２から計算される特徴ベクトルを姿勢特徴ベクトルに変換不要である。部分領域分割プログラム１２１は、ユーザによるマスクの選択を受け付けてもよい。部分領域分割プログラム１２１は、ユーザに選択されたマスクを使用して、人物領域Ｆ１２を部分領域Ｆ１３に分割する。
【００９０】
図８は、人物領域Ｆ１２及びマスクの決定のためのナビゲーション画像を示す。ナビゲーション画像は、入力画像を表示する入力画像表示領域８０と、選択可能なマスクを表示するマスク表示領域８１を含む。マスクは、人物領域Ｆ１２の分割において使用される。ユーザは、入力画像表示領域８０において、人物領域を画定する枠８２を入力する。
【００９１】
人物領域特定プログラム１１２は、ユーザが人物領域Ｆ１２を決定する際に、ユーザにより入力された枠８２内にマスク、より具体的には、マスクの透過領域の外形８３を表示する。人物領域特定プログラム１１２は、登録されたマスクから選択された一つのマスクを、ユーザ入力された枠に応じて変形して表示する。
【００９２】
ユーザがマスク表示領域８１からマスクを選択すると、人物領域特定プログラム１１２は、選択されたマスクを枠８２内に表示する。ユーザが枠８２の形状を変化させると、人物領域特定プログラム１１２は、変形された枠８２に応じて枠内のマスク８３の形状を変化させる。
【００９３】
ユーザが決定ボタン８４を選択すると、人物領域特定プログラム１１２は、決定ボタン５８が選択された時の枠８２で決まる人物領域Ｆ１２と選択されたマスクの情報を、部分領域分割プログラム１２１に出力する。当該ナビケーションによって、ユーザが適切と判定した人物領域及びマスクを使用して検索クエリを生成することができる。
【００９４】
なお、ナビゲーション画像において、マスク表示領域８１は省略されてもよい。人物領域特定プログラム１１２は、マスク外形８３のような、予め登録されている人型を枠８２内に表示する。ユーザが枠８２の形状を変化させると、人物領域特定プログラム１１２は、変形された枠８２に応じて枠内の人型の形状を変化させる。
【００９５】
上述のように、本開示の画像検索装置は、検索クエリを自動生成すると共に、検索精度を向上させることができる。本開示の画像検索装置は、目標人物を含む領域を複数の領域に分割し、背景を含むノイズを除去することで、精度良く検索できる検索クエリを自動的に生成する。
【００９６】
本開示の画像検索装置においては、簡素化された入力操作により操作時間を削減でき、服装の柄や色の組合せが増えても、手動での入力する必要がない。本開示の画像検索装置は、実データから検索クエリを自動的に生成可能なため、検索クエリの正確性を向上し、目標人物を見逃すリスクを軽減できる。なお、本開示の画像検索装置は、目標人物の検索に好適であるが、他の対象の検索に適用してもよい。
【００９７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９８】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【００９９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１００】
１００…入力画像データ、１０１…画像検索装置、１０２…ユーザ操作部、１０３…クエリ生成部、１０４…検索部、１１１…画像入力プログラム、１１２…人物領域特定プログラム、１２１…部分領域分割プログラム、１２２…小領域特定プログラム、１２３…小領域統合部、１３１…画像検索プログラム、１３２…検索結果表示プログラム、１４１…画像データベース、１５１…人物領域送信プログラム、１５２…人物領域受信プログラム、１５３…クエリ送信プログラム、１５４…クエリ受信プログラム、１９０、２０３、２０７、２１０…インタフェース、１９１、２０１、２０５、２０８…ＣＰＵ、１９２、２０２、２０６、２０９…メモリ、１９３、２０４…入出力装置
【図１】
2016162414.tif 000003
【図２】
2016162414.tif 000004
【図３Ａ】
2016162414.tif 000005
【図３Ｂ】
2016162414.tif 000006
【図３Ｃ】
2016162414.tif 000007
【図４Ｂ】
2016162414.tif 000008
【図５Ｂ】
2016162414.tif 000009
【図５Ｃ】
2016162414.tif 000010
【図４Ａ】
2016162414.tif 000011
【図５Ａ】
2016162414.tif 000012
【図６Ａ】
2016162414.tif 000013
【図６Ｂ】
2016162414.tif 000014
【図６Ｃ】
2016162414.tif 000015
【図７】
2016162414.tif 000016
【図８】
2016162414.tif 000017