(57)【要約】      （修正有）【課題】人物の姿勢情報そのものを画像の検索クエリとして利用する画像検索装置、画像検索方法及び設定画面を提供する。【解決手段】画像検索システム１００において画像検索装置１０４は、入力画像から複数の特徴点で構成される検索対象の姿勢情報を認識する姿勢推定部１０６と、姿勢情報と入力画像から特徴量を抽出する特徴量抽出部１０７と、特徴量を入力画像と関連付けて蓄積する画像データベース１０８と、ユーザが指定した姿勢情報から検索クエリを生成するクエリ生成部１１０と、検索クエリに従って類似した姿勢を含む画像を画像データベースから検索する画像検索部１１２を備える。【選択図】図１
2019091138.tif 000002
【特許請求の範囲】
【請求項１】
画像検索装置であって、
入力画像から複数の特徴点で構成される検索対象の姿勢情報を認識する姿勢推定部と、
前記姿勢情報と前記入力画像から特徴量を抽出する特徴量抽出部と、
前記特徴量を前記入力画像と関連付けて蓄積する画像データベースと、
ユーザが指定した姿勢情報から検索クエリを生成するクエリ生成部と、
前記検索クエリに従って類似した姿勢を含む画像を前記画像データベースから検索する画像検索部、を備えることを特徴とする画像検索装置。
【請求項２】
請求項１に記載の画像検索装置であって、
前記姿勢推定部は、前記入力画像から検索対象の領域を検出し、各領域に含まれる検索対象の姿勢情報を推定し、
前記特徴量抽出部は、前記検索対象の領域から画像特徴量を抽出し、前記姿勢情報に欠損があった場合、姿勢情報を補完し、該補完済みの姿勢情報から姿勢特徴量を抽出し、前記入力画像、前記姿勢情報、前記画像特徴量、前記姿勢特徴量を関連付けて前記画像データベースに登録することを特徴とする画像検索装置。
【請求項３】
請求項１に記載の画像検索装置であって、
前記特徴量抽出部は、前記検索対象の画像の特徴量をクエリとして、前記画像データベースから類似画像を検索し、該類似画像から該当する特徴点の座標を取得し、該取得した座標の集合から欠損特徴点の座標を推定し、前記姿勢情報の補完を行なうことを特徴とする画像検索装置。
【請求項４】
請求項１に記載の画像検索装置であって、
前記クエリ生成部は、ユーザが指定した姿勢情報を姿勢特徴量に変換し、
前記画像検索部は、前記姿勢特徴量に従って、前記画像データベースに蓄積された特徴量から類似画像を検索し、該検索された類似画像の元の画像情報を前記画像データベースから取得することを特徴とする画像検索装置。
【請求項５】
請求項４に記載の画像検索装置であって、
前記クエリ生成部は、前記姿勢情報以外の検索条件を取得し、
前記画像検索部は、前記姿勢特徴量と前記検索条件に従って、前記画像データベースから類似画像を検索し、該検索された類似画像の元の画像情報を前記画像データベースから取得することを特徴とする画像検索装置。
【請求項６】
請求項１に記載の画像検索装置であって、
前記クエリ生成部は、ユーザが指定した姿勢情報をフィルタ用の姿勢特徴量に変換し、
前記画像検索部によって検索された類似画像の元の画像情報を前記画像データベースから取得し表示装置に表示する検索結果表示部を有し、
該検索結果表示部は、前記画像データベースから前記検索対象が映っていない画像を背景画像として取得し、
前記画像検索部は、編集対象の画像の前記検索対象の姿勢特徴量を前記画像データベースから取得し、前記フィルタ用の姿勢特徴量と前記検索対象の姿勢特徴量の類似度を計算し、該類似度が所定値以上であれば、前記背景画像に前記検索対象の画像を合成し、前記類似度が前記所定値以上でなければ前記背景画像に前記検索対象の姿勢情報を可視化して描画することを特徴とする画像検索装置。
【請求項７】
請求項１に記載の画像検索装置であって、
前記クエリ生成部は、ユーザが入力した３Ｄモデルの視点を変更し、平面に投影した場合の特徴点座標を取得し姿勢情報を得、該姿勢情報から姿勢特徴量を生成し、
前記画像検索部は、前記クエリ生成部で生成した姿勢特徴量をクエリとして、前記画像データベースから類似画像を取得することを特徴とする画像検索装置。
【請求項８】
請求項１に記載の画像検索装置であって、
前記特徴量抽出部は、画像間の検索対象の同一性を表す追跡ＩＤが同一の姿勢情報を一定の時間区間において取得し、該姿勢情報を時系列で並び替え、時系列に並んだ複数の姿勢情報から該当する特徴点の座標を取り出し動線を生成し、該生成した動線から前記検索対象の動線の特徴量を算出し、
前記画像データベースは、該検索対象の動線の特徴量を検索対象の画像と関連付けて蓄積し、
前記クエリ生成部は、ユーザが指定した時系列に並んだ複数の姿勢情報から動線の姿勢特徴量に変換し、
前記画像検索部は、前記動線の姿勢特徴量に従って、前記画像データベースに蓄積された動線の特徴量から類似画像を検索し、該検索された類似画像の元の画像情報を前記画像データベースから取得することを特徴とする画像検索装置。
【請求項９】
請求項１に記載の画像検索装置であって、
前記姿勢推定部は、前記入力画像から姿勢情報を推定し、
前記特徴量抽出部は、該姿勢情報から画像全体の特徴量を抽出し、該画像全体の特徴量と前記入力画像とを関連付けて前記画像データベースに登録し、
前記クエリ生成部は、ユーザが指定した画像からクエリを生成し、
前記画像検索部は、前記クエリに従って、前記画像データベースに蓄積された画像全体の特徴量から類似画像を検索し、該検索された類似画像の元の画像情報を前記画像データベースから取得することを特徴とする画像検索装置。
【請求項１０】
画像検索方法であって、
入力画像から複数の特徴点で構成される検索対象の姿勢情報を認識し、
前記姿勢情報と前記入力画像から特徴量を抽出し、
前記特徴量を前記入力画像と関連付けて蓄積し、
ユーザが指定した姿勢情報から検索クエリを生成し、
前記検索クエリに従って類似した姿勢を含む画像を前記蓄積した特徴量から検索することを特徴とする画像検索方法。
【請求項１１】
請求項１０に記載の画像検索方法であって、
ユーザが指定した前記姿勢情報を姿勢特徴量に変換し、
該姿勢特徴量に従って、前記蓄積された特徴量から類似画像を検索し、該検索された類似画像の元の画像情報を前記蓄積された入力画像から取得することを特徴とする画像検索方法。
【請求項１２】
請求項１０に記載の画像検索方法であって、
ユーザが入力した３Ｄモデルの視点を変更し、平面に投影した場合の特徴点座標を取得し姿勢情報を得、該姿勢情報から姿勢特徴量を生成し、
前記姿勢特徴量をクエリとして、前記蓄積された入力画像から類似画像を取得することを特徴とする画像検索方法。
【請求項１３】
請求項１０記載の画像検索方法であって、
画像間の検索対象の同一性を表す追跡ＩＤが同一の姿勢情報を一定の時間区間において取得し、該姿勢情報を時系列で並び替え、時系列に並んだ複数の姿勢情報から該当する特徴点の座標を取り出し動線を生成し、該生成した動線から前記検索対象の動線の特徴量を算出し、
該検索対象の動線の特徴量を検索対象の画像と関連付けて蓄積し、
ユーザが指定した時系列に並んだ複数の姿勢情報から動線の姿勢特徴量に変換し、
前記動線の姿勢特徴量に従って、前記蓄積された動線の特徴量から類似画像を検索し、該検索された類似画像の元の画像情報を前記蓄積された入力画像から取得することを特徴とする画像検索方法。
【請求項１４】
請求項１０記載の画像検索方法であって、
前記入力画像から姿勢情報を推定し、
該姿勢情報から画像全体の特徴量を抽出し、該画像全体の特徴量と前記入力画像とを関連付けて蓄積し、
ユーザが指定した画像からクエリを生成し、
前記クエリに従って、前記蓄積した画像全体の特徴量から類似画像を検索し、該検索された類似画像の元の画像情報を前記蓄積した入力画像から取得することを特徴とする画像検索方法。
【請求項１５】
画像検索装置の設定画面であって、
複数の特徴点で構成される検索対象の座標を入力する姿勢入力領域と、
検索条件を入力する検索条件入力領域と、
検索結果を表示する検索結果表示領域を有することを特徴とする画像検索装置の設定画面。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検索装置、及び、画像検索方法に関する。
【背景技術】
【０００２】
テレビ映像のデジタルアーカイブ化やインターネット上の動画配信サービスの普及により、大規模な画像データを高速に検索・分類する必要性が増加している。また、セキュリティ向けに蓄積された監視画像の解析に対する期待が高まっている。これらの膨大な画像に対して人手で検索用のメタデータ情報を付与することが困難なことから、画像特徴量による類似画像検索が求められている。類似画像検索を用いると、例えば、監視画像から自動的に抽出された画像特徴量を用いて、クエリで指定した色や形状に類似する人物を検索することができる。
【０００３】
例えば、特許文献１では、入力画像の人物領域を特定し、人物領域を複数の部分領域に分割し、部分領域それぞれを複数の小領域に分割し、部分領域それぞれにおいて、小領域のクラスタを形成し、クラスタの属性に基づき、クエリ候補となるクラスタを選択し、選択されたクラスタの小領域からクエリ要素を生成し、クエリ要素を組み合わせて人物を検索するための検索クエリを生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１６２４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、姿勢情報を背景情報（人物領域以外の領域）の除外に利用する手法が開示されているが、人物の姿勢情報そのものを検索クエリとして利用する構成については開示されていない。
【課題を解決するための手段】
【０００６】
本発明は、上記背景技術及び課題に鑑み、その一例を挙げるならば、画像検索装置であって、入力画像から複数の特徴点で構成される検索対象の姿勢情報を認識する姿勢推定部と、姿勢情報と入力画像から特徴量を抽出する特徴量抽出部と、特徴量を入力画像と関連付けて蓄積する画像データベースと、ユーザが指定した姿勢情報から検索クエリを生成するクエリ生成部と、検索クエリに従って類似した姿勢を含む画像を画像データベースから検索する画像検索部を備える。
【発明の効果】
【０００７】
本発明によれば、検索対象の姿勢情報を反映した検索クエリを生成することにより、検索精度および検索効率を向上することができる画像検索装置、及び、画像検索方法を提供できる。
【図面の簡単な説明】
【０００８】
【図１】実施例１における画像検索システムの構成を示すブロック図である。
【図２】実施例１における画像検索システムのハードウェア構成を示すブロック図である。
【図３】実施例１における画像データベースの構成を示す説明図である。
【図４】実施例１における画像からの姿勢情報の推定処理を説明する図である。
【図５】実施例１におけるデータベース登録処理を示すフローチャートである。
【図６】実施例１における欠損のある姿勢情報の補完処理を説明する図である。
【図７】実施例１における姿勢情報の補完処理を示すフローチャートである。
【図８】実施例１における姿勢情報を用いた画像検索を説明する図である。
【図９】実施例１における画像検索処理を示すフローチャートである。
【図１０】実施例１における姿勢情報を用いた検索画面を示す図である。
【図１１】実施例１における姿勢情報と画像特徴を用いた検索画面を示す図である。
【図１２】実施例１におけるシステム全体の処理を示すシーケンス図である。
【図１３】実施例２における姿勢情報による画像編集を説明する図である。
【図１４】実施例２における姿勢情報による画像編集処理を示すフローチャートである。
【図１５】実施例３における複数クエリを用いた検索を説明する図である。
【図１６】実施例３における複数クエリを用いた検索処理を示すフローチャートである。
【図１７】実施例４における動線を用いた動作認識を説明する図である。
【図１８】実施例４における動線を用いた動作認識処理を示すフローチャートである。
【図１９】実施例５における姿勢情報を用いた画像全体からの特徴量抽出を説明する図である。
【図２０】実施例５における姿勢情報を用いた画像全体からの特徴量抽出処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施例について図面を参照して説明する。
【実施例１】
【００１０】
図１は、本実施例における画像検索システム１００の構成例を示すブロック図である。画像検索システム１００のユースケースとしては、（１）監視映像解析用途：警察組織職員が特定の駅構内の監視カメラ画像内から不審行動をとる人物の探索を実施したい場合、大規模商業施設管理会社社員等のユーザが施設内の監視カメラ画像内から顧客行動を分析する場合、介護施設の職員が入館者のうずくまりや倒れ込みなどの異常行動を発見する等、（２）コーチング用途：競技スポーツやダンス、舞踊の振り付けを検索、（３）コンテンツ検索用途：映画やテレビ番組、Ｗｅｂ上の画像から特定のポーズをとっている人物の画像や映像を検索する、等が考えられるが、これに限定されるものではない。また、上記は人物に関する例であるが、特徴点の集合である姿勢情報が定義できれば、任意の物体を対象として画像検索システム１００を実施することができる。以下では、検索対象を「人物」とし、（１）の監視映像解析用途を例にあげ、各構成につき説明する。
【００１１】
なお、ここでいう「姿勢」とは、対象の物体に共通に存在する特徴点の集合を指し、例えば人物の場合は、{頭部、首、右肩、右肘、右手首、左肩、左肘、左手首、右腰、右膝、右足首、左腰、左膝、左足首}、という特徴点の集合により姿勢を定義することができる。特徴点は画像認識処理により検出され、画像中の座標と信頼度の情報を持つ。ここでいう「信頼度」は、該当特徴点が検出された座標に存在する確率を示す値であり、統計情報に基づき算出される。
【００１２】
また、以下「画像」といったときは動画または静止画を示す情報を意味し、「映像」といったときは画像以外の音声データ等も含む情報を意味するものとする。
【００１３】
図１において、画像検索システム１００は、ユーザが検索条件として入力した姿勢情報を用いて画像データベース１０８を検索することで、類似した姿勢の物体が含まれる画像を効率的に検索する。画像検索システム１００は、画像記憶装置１０１、入力装置１０２、表示装置１０３、及び画像検索装置１０４から構成される。また、画像検索装置１０４は、画像入力部１０５、姿勢推定部１０６、特徴量抽出部１０７、画像データベース１０８、姿勢入力部１０９、クエリ生成部１１０、画像検索部１１１、検索結果表示部１１２から構成される。
【００１４】
画像記憶装置１０１は、静止画データまたは動画データを保存する記憶媒体であり、コンピュータ内蔵のハードディスクドライブ、または、ＮＡＳ（Network Attached Storage）もしくはＳＡＮ（Storage Area Network）などのネットワークで接続されたストレージシステムを用いて構成される。また、画像記憶装置１０１は、カメラから継続的に入力される画像データを一時的に保持するキャッシュメモリであってもよい。
【００１５】
入力装置１０２は、マウス、キーボード、タッチデバイスなどの、ユーザの操作を画像検索装置１０４に伝えるための入力インターフェースである。また、姿勢情報をシステムに伝える専用の装置であってもよい。例えば、距離センサのデータを解析して対象物の特徴点の情報を入力可能な装置や、関節に角度センサを有する人型の装置、人体の関節に加速度センサをとりつけて姿勢を取得する装置、などを使用することができる。表示装置１０３は、液晶ディスプレイなどの出力インターフェースであり、画像検索装置１０４の検索結果の表示、ユーザとの対話的操作などのために用いられる。
【００１６】
画像検索装置１０４は、検索に必要な情報を抽出しデータベース化するための登録処理、及び登録されたデータを用いた検索処理を行う装置である。以下、登録処理について説明する。なお、登録処理の詳細は図５のフローチャートでも説明する。
【００１７】
登録処理では、新規に登録する画像から物体の姿勢情報を認識し、画像情報と姿勢情報を関連付けて画像データベース１０８に登録する。すなわち、画像記憶装置１０１に蓄積された静止画データまたは動画データから、必要に応じて認識対象領域を抽出し、抽出された領域から画像認識処理によって姿勢情報を取得し、画像データベース１０８に登録する。姿勢情報は１つ以上の特徴点の集合であり、各特徴点は画像中の座標と、信頼度の数値で表現される。特徴点の信頼度は、０以上１以下の実数値で与えられ、１に近いほど特徴点が正しい座標である確率が高いことを示す。また登録処理では、画像の見た目の特徴を数値化した特徴量や、画像認識処理によって識別した属性の情報を抽出し、姿勢情報と関連付けて画像データベース１０８に登録する。
【００１８】
また、画像検索装置１０４は、ユーザが入力装置１０２から指定した検索条件を用いて、画像データベース１０８から検索条件に合致する画像を検索し、表示装置１０３に情報提示するための、検索処理を行う。検索処理において、ユーザは姿勢情報を検索条件として指定する。ユーザは、例えば、表示装置１０３に表示される特徴点を移動させることで、検索に使用する姿勢情報を決定する。詳細は図１０で後述する。なお、使用する姿勢情報を特定することができれば、前述の専用装置や、文章や音声で入力してもよい。姿勢情報を用いた画像検索によりユーザは、指定した姿勢情報に合致する物体を含む画像を得ることができる。すなわち、ユーザは所望の画像を検索する際に、場所や時刻などのメタデータや、画像の見た目の特徴だけでなく、物体の姿勢情報を入力することで、類似する姿勢を含む画像を見つけることができるため、画像検索の精度が向上する。また、姿勢情報だけでなく、画像特徴や属性を条件に加えることで、ユーザの検索意図に近い検索結果を効率的に提示することができる。
【００１９】
画像入力部１０５は、画像記憶装置１０１から、静止画データまたは動画データの入力を受け付け、データを画像検索装置１０４内部で使用するデータ形式に変換する。例えば、画像入力部１０５が受け付けたデータが動画データであった場合には、画像入力部１０５は、フレーム（静止画データ形式）に分解する動画デコード処理を行う。
【００２０】
姿勢推定部１０６は、入力された画像に含まれる姿勢情報を認識する。姿勢推定処理は、システムに規定された物体単位で行う。例えば、人物を一つの物体として扱うシステムであれば、まず画像に含まれる人物を検出し領域検出処理を行ない、検出された領域毎に姿勢認識処理を行う。検出処理は公知の手法を用いることができる。また、姿勢推定の手法によっては、画像に含まれる複数の物体の特徴点を検出して姿勢推定に利用することで精度を高める方法もあり、このような姿勢推定手法を用いる場合には事前の領域検出処理を省略することができる。また、入力されたデータが動画であった場合は、フレーム間で同一の物体に対して追跡処理を行っても良い。
【００２１】
姿勢推定を行うためには、物体の特徴点の座標を出力する回帰モデルを用意しておく必要がある。入力画像から複数の座標値を出力する回帰モデルは、大量の訓練データと深層学習などの機械学習手法を用いることで構築することができる。訓練データは画像と正解ラベルのペアで構成される。訓練データの画像に映る物体の種類を変えたり、正解ラベルとして与える特徴点の定義を変えたりすることにより、任意の物体に対する任意の特徴点からなる姿勢情報を推定する回帰モデルを用意することができる。
【００２２】
特徴量抽出部１０７は、姿勢情報から画像検索に用いる特徴量を抽出する。特徴量は姿勢情報を表すものであれば任意の方法で抽出することができる。以下では姿勢情報から計算された特徴量を「姿勢特徴量」、それ以外の画像の見た目を表す特徴量を「画像特徴量」として区別する。すなわち、画像特徴量は、画像の色や形状などの特徴を示す画像間で比較可能な値である。いずれの特徴量も画像間で類似性を比較可能な値であり、例えば、固定長のベクトルで表現される。姿勢特徴量は、例えば、姿勢情報に含まれる各特徴点の座標を並べたものとしてもよい。座標を特徴点として使用する場合は、物体のサイズや中心座標を用いて正規化処理を行うことで、見た目のサイズの異なる物体や異なる座標に存在する物体についても類似する姿勢特徴量を得ることができる。座標値を直接使う方法の他に、例えば、特徴点の座標を用いてレンダリングされた模擬物体から抽出された画像特徴量や、特徴点間の距離や角度のデータなどを姿勢特徴量として用いることができる。
【００２３】
本実施例では、姿勢特徴量を検索用に用いているが、典型的な姿勢の特徴量を集めて機械学習により姿勢識別器を学習させることができる。特徴量抽出部１０７では、学習済み姿勢識別器を用いて姿勢を識別し、人物情報と関連付けて画像データベース１０８に登録しても良い。
【００２４】
また、特徴量抽出部１０７は、姿勢特徴量に加えて画像の見た目を表す画像特徴量を抽出する。これにより、姿勢情報だけでなく画像の見た目を条件にして検索することができる。画像特徴量は、物体領域全体から抽出してもよいし、特徴点付近の領域ごとに抽出してもよい。特徴量抽出部１０７は、画像に映る物体の種類を認識し、属性情報を抽出してもよい。属性認識処理は事前に学習された属性認識用のモデルによって行われる。
【００２５】
画像データベース１０８は、登録処理によって得られた、画像情報と人物情報とを保持する。画像データベース１０８は、画像検索装置１０４の各部の問合わせに対して、与えられた条件を満たす登録データを検索したり、指定されたＩＤのデータを読み出したりすることができる。画像データベース１０８の構造の詳細は図３で後述する。
【００２６】
以上が、画像検索装置１０４の登録処理における各部の動作である。次に、画像検索装置１０４の検索処理における各部の動作を説明する。なお、検索処理の詳細は図９のフローチャートでも説明する。
【００２７】
姿勢入力部１０９は、ユーザが入力装置１０２を介して入力した姿勢情報を受け付ける。前述の通り、姿勢情報は複数の特徴点の集合から構成され、特徴点は座標と信頼度を持つが、このとき受け付ける情報には信頼度の情報がなくても構わない。座標情報は、画面上に入力フォームを用意しても良いし、特徴点を描画して直感的に入力できるようにしても良い。また、事前に特徴的な姿勢をテンプレート化しておき、ユーザに選択させても良い。さらに、画面を用いずに専用装置から直接データを入力しても良いし、音声やテキストを入力として音声認識や自然言語処理を行うことで、該当するテンプレートを選択するインターフェースを用意しても良い。
【００２８】
クエリ生成部１１０は、姿勢入力部１０９で得られた姿勢情報を検索クエリに変換する。検索クエリは特徴量であり、例えば、固定長の数値ベクトルで表現される。姿勢情報から検索クエリへの変換は、特徴量抽出部１０７と同等の手段で行われる。また、クエリ生成部１１０は、複数の姿勢特徴量や画像特徴量によるマルチクエリを生成することもできる。さらに、検索条件として属性や時刻、場所などのメタデータを加えることもできる。
【００２９】
画像検索部１１１は、クエリ生成部１１０で得られたクエリベクトルを用いて画像データベース１０８から該当する登録データを取得する。検索処理では、クエリベクトルと、登録データのベクトル間の距離を計算し、距離の近い順に並び替えて一定数を出力する。距離計算には平方ユークリッド距離が用いられる。例えばクエリベクトルがＶｑ＝（ｑ１，ｑ２，ｑ３、・・・）、登録データのベクトルがＶｐ＝（ｐ１，ｐ２，ｐ３、・・・）とすると、平方ユークリッド距離ｄ（Ｖｐ，Ｖｑ）は、ｄ（Ｖｐ，Ｖｑ）＝（ｐ１―ｑ１）＾２＋（ｐ２―ｑ２）＾２＋（ｐ３―ｑ３）＾２＋・・・で計算される。ここで「＾２」は２乗を意味する。平方ユークリッド距離が小さいほど、検索条件に合致する登録データに近い画像と考えることができる。この例では画像間の類似度の指標として平方ユークリッド距離を用いる例を説明したが、クエリと登録データの合致性を評価できる計算方法であれば、任意の指標を用いてデータを検索することができる。
【００３０】
検索結果表示部１１２は、画像検索部１１１の検索処理によって得られた登録データを表示装置１０３に表示する。検索処理で取得されるデータは物体に関するものであるため、必要に応じて物体が検出された元の画像の情報を画像データベース１０８から取得したり、画像を加工したりすることでユーザに必要な画面を生成する。
【００３１】
以上が画像検索装置１０４の検索処理における各部の動作である。なお、画像検索装置１０４の登録処理と検索処理は、同時に実行することもできる。例えば、予め検索クエリを設定しておき、定期的に検索処理を実行することで、新規に入力された画像に特定の姿勢が含まれている場合に画面に通知する機能を持つリアルタイムシステムに応用できる。
【００３２】
図２は、本実施例における画像検索システム１００のハードウェア構成例を示すブロック図である。図２において、画像検索装置１０４は、相互に接続されたプロセッサ２０１及び記憶装置２０２を備える。記憶装置２０２は、任意の種類の記憶媒体によって構成される。記憶装置２０２は、半導体メモリと、ハードディスクドライブとの組み合わせによって構成される。
【００３３】
なお、図１に示した画像入力部１０５、姿勢推定部１０６、特徴量抽出部１０７、姿勢入力部１０９、クエリ生成部１１０、画像検索部１１１、検索結果表示部１１２といった機能部は、プロセッサ２０１が記憶装置２０２に格納された処理プログラム２０３を実行することによって実現される。言い換えると、各機能部が実行する処理は、処理プログラム２０３に基づいて、プロセッサ２０１により実行される。また、画像データベース１０８のデータは、記憶装置２０２に格納される。なお、処理負荷分散などを目的として画像検索システム１００を複数の装置で構成する場合は、画像データベース１０８を備える装置と処理プログラム２０３を実行する装置とは、ネットワークで接続された物理的に異なる装置であってもよい。
【００３４】
画像検索装置１０４は、さらに、プロセッサ２０１に接続されたネットワークインターフェース装置（ＮＩＦ）２０４を含む。画像記憶装置１０１は、ネットワークインターフェース装置２０４を介して画像検索装置１０４に接続された、ＮＡＳまたはＳＡＮであることが想定される。なお、画像記憶装置１０１は、記憶装置２０２に含まれてもよい。
【００３５】
図３は、本実施例における画像データベース１０８の構成及びデータ例を示す説明図である。なお、本実施例において、システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。図３はテーブル形式の例を示しているが、例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【００３６】
図３において、画像データベース１０８は、例えば、画像情報を保持する画像テーブル３００と、人物情報を保持する人物テーブル３１０と、を含む。図３の各テーブル構成及び各テーブルのフィールド構成は一例であり、例えばアプリケーションに応じてテーブル及びフィールドが追加されてもよい。また、同様の情報を保持していれば、テーブル構成を変えてもよい。例えば、画像テーブル３００と人物テーブル３１０とが結合されひとつのテーブルであってもよい。
【００３７】
画像テーブル３００は、画像ＩＤフィールド３０１、画像データフィールド３０２、時刻フィールド３０３、場所フィールド３０４、及び画像特徴量フィールド３０５から構成される。
【００３８】
画像ＩＤフィールド３０１は、各画像情報の識別番号を保持する。画像データフィールド３０２は、検索結果を表示する際に用いられる画像データを保持する。時刻フィールド３０３は画像が取得された時刻データを保持する。場所フィールド３０４は、画像が取得された場所の情報を保持する。画像特徴量フィールド３０５は、画像全体の特徴を表す数値ベクトルを保持する。例えば、赤色成分の割合いや、エッジ情報等を保持する。
【００３９】
人物テーブル３１０は、人物ＩＤフィールド３１１、画像ＩＤフィールド３１２、特徴点Ｘ座標フィールド３１３、特徴点Ｙ座標フィールド３１４、特徴点信頼度フィールド３１５、人物姿勢特徴量フィールド３１６、人物画像特徴量フィールド３１７、追跡ＩＤフィールド３１８から構成される。
【００４０】
人物ＩＤフィールド３１１は、各人物情報の識別番号を保持する。画像ＩＤフィールド３１２は、人物が検出された元の画像への参照であり、画像テーブル３００で管理される画像ＩＤを保持する。特徴点Ｘ座標フィールド３１３は、人物の特徴点の水平方向座標（Ｘ座標）を、全特徴点について順番に並べたベクトルデータを保持する。座標値は、例えば、画像領域内で０から１の値をとるように正規化して保存しても良い。特徴点Ｙ座標フィールド３１４は、人物の特徴点の垂直方向座標（Ｙ座標）を、全特徴点について順番に並べたベクトルデータを保持する。特徴点信頼度フィールド３１５は、人物の特徴点の信頼度を、全特徴点について順番に並べたベクトルデータを保持する。人物姿勢特徴量フィールド３１６は、人物の姿勢情報から計算された特徴量のベクトルデータを保持する。人物画像特徴量フィールド３１７は、人物の画像から計算された特徴量のベクトルデータを保持する。追跡ＩＤフィールド３１８は、画像間の人物の同一性を表すＩＤを保持する。
【００４１】
本実施例における画像検索装置１０４は、入力された画像から物体の姿勢情報を抽出することで、ユーザは画像の見た目だけでなく、姿勢が類似した画像を検索することができる。検索対象となる画像に対しては、事前に画像検索装置１０４に入力し、データベース登録処理を実行しておく必要がある。画像検索装置１０４は、入力された画像に対して画像認識処理により姿勢情報を抽出する。
【００４２】
図４は、画像検索装置１０４で実行される画像認識処理の結果を説明するための図である。複数の人物が映る入力画像４０１を入力すると、人物ごとの領域とその姿勢が認識される。画像４０２は、認識結果を重畳表示した画像である。例えば、入力画像４０１に現れる人物４０３については、領域４０４及び姿勢４０５が得られる。姿勢情報は特徴点の集合で与えられ、特徴点間の接続関係を定義しておけば、姿勢４０５のように点と線によって可視化することができる。
【００４３】
入力画像の認識処理およびデータベース登録処理は、図３で説明したデータベースの構成例の情報が蓄積されていれば登録時の手順は任意で良いが、例えば、後述する図５のフローチャートに示す手順を用いることができる。
【００４４】
図５は、本実施例におけるデータベース登録の処理フローチャートである。以下、図５の各ステップについて説明する。なお、データ登録処理フローのトリガーは、ユーザが所定のシーンにおける画像データ群を要求すること等である。トリガーの詳細は、登録処理および検索処理の全体シーケンス図である図１２で後述する。
【００４５】
図５において、画像入力部１０５は、画像記憶装置１０１から画像データを取得し、取得した画像データを必要に応じてシステム内部で利用可能な形式に変換する（Ｓ５０１）。例えば、動画データの入力を受け付けた場合には、動画データをフレーム（静止画データ形式）に分解する動画デコード処理等が変換処理に該当する。また、姿勢情報で検索する場合、地面に対して画像が傾いている場合やレンズ歪がある場合は、検索精度が低くなる可能性があるため、傾き補正や歪補正などの変換処理を行う。また、必要に応じて画像全体の類似性で検索するための画像特徴量を抽出する。
【００４６】
姿勢推定部１０６は、入力された画像から人物領域を検出し、各領域に含まれる人物の姿勢を推定する（Ｓ５０２）。検出処理には公知の人検出アルゴリズムを用いることができる。姿勢推定処理は、入力画像から特徴点の座標値を出力する回帰モデルにより実行される。回帰モデルは深層学習などの公知の機械学習手法と訓練データを用意することで事前に学習しておき、通常、システムの実行時は学習済みのモデルを使用する。ステップＳ５０２の結果、検出された人物ごとに、特徴点の集合からなる姿勢情報が得られる。特徴点は、座標値と信頼度のデータを持つ。
【００４７】
画像検索装置１０４は、ステップＳ５０２で検出された各人物に関して、ステップＳ５０４からステップＳ５０６を実行する（Ｓ５０３）。
【００４８】
特徴量抽出部１０７は、ステップＳ５０２で得られた人物の領域から画像特徴量を抽出する（Ｓ５０４）。人物の領域は、例えば、全ての特徴点を含む領域を抽出することによって得られる。
【００４９】
特徴量抽出部１０７は、ステップＳ５０２で得られた人物の姿勢情報に欠損があった場合や特徴点の信頼度が極端に低い場合、特徴点を補完する（Ｓ５０５）。ステップＳ５０２の姿勢推定処理では、画像が不明瞭である場合や遮蔽物により人物が隠れている場合に、特徴点が欠損する可能性がある。画像検索装置１０４は、欠損のある人物画像からも検索可能な特徴量を抽出するために、姿勢情報の補完処理を行う。補完処理の詳細については、図６、図７で後述する。
【００５０】
特徴量抽出部１０７は、ステップＳ５０５で得られた補完済みの姿勢情報から、姿勢特徴量を抽出する（Ｓ５０６）。姿勢特徴量は、姿勢情報を反映した数値ベクトルであり、例えば、特徴点の座標を並べたデータ、特徴点を可視化した画像から抽出した画像特徴量、特徴点間の距離や角度の数値データ、などによって計算することができる。
【００５１】
特徴量抽出部１０７は、以上の処理で得られた画像情報、物体の姿勢情報、画像特徴量、姿勢特徴量を関連付けて画像データベース１０８に登録する（Ｓ５０７）。この時、特徴量について、高速検索を実現するためのデータクラスタリング処理を実施してもよい。
監視カメラなど継続的に新しいデータが画像記憶装置１０１に記録される場合は、新しいデータが記憶されるまで待ってからステップＳ５０１に戻り登録処理を繰り返す。
【００５２】
図６は、本実施例における欠損のある姿勢情報の補完処理を説明するための図である。画像認識による姿勢推定処理では、全ての特徴点が認識できない場合がある。図６において、例えば、膝に手をついて座っている人物画像６０２の場合、姿勢情報６０１のように姿勢推定処理によって得られる特徴点には欠損が生じる。そこで、画像検索装置１０４は、画像データベース１０８から類似画像（６０３、６０４、６０５）を取得し、類似画像の姿勢情報から欠損特徴点の位置情報を補完する（姿勢情報６０６）。類似性の計算には、例えば人物画像の画像特徴量を用いても良いし、欠損箇所以外の特徴点から計算した姿勢特徴量を用いても良い。また、時間や場所が、画像中の位置、人物の属性、追跡ＩＤなどの条件で絞り込むことにより、適切な類似画像を取得することができる。検索対象は、画像データベース１０８に登録済みの過去の画像であってもよいし、システム設計時に予め入力された典型的な姿勢のテンプレートであってもよい。なお、隣接する特徴点からルールベースで容易に座標が推定できる場合は、検索を用いずに補完処理を行っても良い。
【００５３】
図７は、本実施例における欠損情報の補完の処理フローチャートである。図７の処理フローは、図５の処理フローのステップＳ５０５に相当する。図７において、特徴量抽出部１０７は、処理対象の人物画像の特徴量をクエリとして、画像データベース１０８から類似画像を検索する（Ｓ７０１）。
【００５４】
特徴量抽出部１０７は、欠損特徴点について、ステップＳ７０３からステップＳ７０４を実行する（Ｓ７０２）。なお、欠損特徴点は姿勢推定処理の結果、座標が推定できなかった特徴点や、座標の推定はできたが信頼度が所定値より低い特徴点である。
【００５５】
特徴量抽出部１０７は、ステップＳ７０１で取得した類似画像から該当する特徴点の座標と信頼度を取得する（Ｓ７０３）。
【００５６】
特徴量抽出部１０７は、ステップ７０３で取得した座標の集合から、欠損特徴点の座標を推定する（Ｓ７０４）。欠損特徴点の座標は、例えば、座標値の平均値、中央値などで計算できる。また、類似度に応じて重みをつけて計算しても良い。
【００５７】
特徴量抽出部１０７は、全ての欠損特徴量について、補完が完了したら処理を終了する（Ｓ７０５）。
【００５８】
以上が本実施例における画像検索装置１０４の登録処理に関する説明である。以下では、本実施例における画像検索装置１０４の検索処理について図８と図９を用いて説明する。
【００５９】
画像検索装置１０４は、ユーザが入力した姿勢情報をクエリとして、類似する姿勢の人物を含む画像を検索することができる。図８は検索処理の入出力の例である。図８において、ユーザがクエリとして姿勢情報８０１を入力すると、画像検索装置１０４は検索結果８０２を出力する。検索結果は複数の人物データ（８０３、８０４、８０５）のリストであり、例えば、類似度順にソーティングされて出力される。また、各人物データに対応する画像データを出力しても良い。図８の画像データ８０６、８０７、８０８はそれぞれ、人物データ８０３、８０４、８０５が抽出された元画像である。
【００６０】
図９は本実施例における画像検索処理のフローチャートである。図９において、姿勢入力部１０９は、ユーザが入力した姿勢情報を受け付ける（Ｓ９０１）。姿勢情報は特徴点の集合であり、特徴点は座標値で与えられる。例えばユーザは表示装置１０３に表示された特徴点を操作することで座標値を入力する。または専用装置から直接入力しても良いし、音声やテキストを処理することで、姿勢情報に変換しても良い。
【００６１】
クエリ生成部１１０は、ステップＳ９０１で入力された姿勢情報を姿勢特徴量に変換する（Ｓ９０２）。変換処理は、登録時の処理（図５のステップＳ５０６）と同等の手段で行う。
【００６２】
また、クエリ生成部１１０は、必要に応じて姿勢情報以外の検索条件を取得する（Ｓ９０３）。例えば、画像特徴量や人物の属性、時刻や場所などを条件として取得することができる。
【００６３】
画像検索部１１１は、ステップＳ９０２で得られた姿勢特徴量と、ステップＳ９０３で得られた検索条件に従って、画像データベース１０８から類似画像を検索する（Ｓ９０４）。検索処理では、図１で前述したとおり、データベースに登録されている比較対象の人物の特徴量と、クエリの特徴量との平方ユークリッド距離を計算し、距離の小さい順に所定数のデータを取得する。検索条件が与えられた場合は、検索条件に一致する人物のみが比較対象となる。また画像特徴量が与えられた場合は、画像特徴量の距離と姿勢特徴量の距離を統合し、並び替えて出力する。距離の統合方法は、単純に２つの距離を足し合わせても良いし、距離を正規化したり重みをつけたりしても良い。
【００６４】
画像検索部１１１は、ステップＳ９０４で得られた検索結果について、人物が検出された元の画像情報を画像データベース１０８から取得する（Ｓ９０５）。
【００６５】
検索結果表示部１１２は、ステップＳ９０４で得られた検索結果とステップＳ９０５で得られた画像情報から生成した検索結果画面を表示装置１０３に表示して、処理を終了する（Ｓ９０６）。
【００６６】
図１０は、本実施例における画像検索装置１０４を用いて画像検索を行うための操作画面の構成例を示す図である。また、同様に図１１は属性や画像特徴量を条件に追加して画像検索を行う操作画面である。まず図１０について説明する。
【００６７】
図１０において、操作画面は、表示装置１０３上でユーザに提示される。ユーザは、入力装置１０２（キーボードやマウス等）を用いて、画面上に表示されたカーソル１０００を操作することで、画像検索装置１０４に処理の指示を与える。なお、図１０の例は、据え置き型の操作端末であるが、入力と表示が可能なデバイスであれば、様々な形態をとりうる。例えば、スマートフォンやタブレットのように、タッチ操作を用いても良い。また、ヘッドマウント型のディスプレイや、情報表示可能なメガネ型のデバイスを表示装置として用い、音声入力やジェスチャを受け付ける入力装置を使用しても良い。姿勢情報を入力するための専用装置からの入力を画面に反映させるようにしても良い。
【００６８】
操作画面は、姿勢入力領域１００１、検索条件入力領域１００２、検索ボタン１００３、検索結果表示領域１００４を含む。
【００６９】
姿勢入力領域１００１に表示される情報は、姿勢入力部１０９によって表示装置１０３に出力される。検索結果表示領域１００４に表示される情報は、検索結果表示部１１２によって表示装置１０３に出力される。
【００７０】
ユーザは、姿勢入力領域１００１に表示された基本姿勢の特徴点をドラッグアンドドロップすることで、特徴点の座標を決定する（ステップＳ９０１に相当）。図中の特徴点は、例えば、０：頭部、１：首、２：右肩、３：右肘、４：右手首、５：左肩、６：左肘、７：左手首、８：右腰、９：右膝、１０：右足首、１１：左腰、１２：左膝、１３：左足首、に対応する。姿勢情報を入力する際は、特徴点を独立に動かせるようにしても良いし、接続関係を考慮して複数の特徴点を連動して動かすようにしてもよい。また、特徴点以外の制御点などを追加しても良い。
【００７１】
姿勢情報を入力した後、ユーザは検索条件入力領域１００２に場所や時間などの検索条件を入力する（ステップＳ９０３に相当）。
【００７２】
ユーザが検索ボタン１００３をクリックすると検索が実行される（ステップＳ９０４に相当）。なお、動作速度の問題がなければ、明示的に検索ボタンを押すことなく、姿勢情報や検索条件が変更された時点で自動的に検索を実行するように変えても良い。
【００７３】
検索結果は、検索結果表示部１１２によって適切な情報を含む画面に変換され、検索結果表示領域１００４に表示される（ステップＳ９０６に相当）。
【００７４】
図１１は、本実施例における検索条件に画像の属性や画像特徴量を指定するための操作画面例である。図１１は、図１０の画面に、属性入力領域１１０１と画像選択ボタン１１０２が追加されている。
【００７５】
図１１において、ユーザは、属性入力領域１１０１に表示された属性のチェックボックスをクリックすることで、対応する人物の属性を検索条件に加える。また、画像選択ボタンをクリックして、画像記憶装置１０１に保存されている任意の画像を選択することで、選択された画像から抽出された画像特徴量を検索条件に加えることができる。画像の選択操作は、例えば、ドラックアンドドロップで画面に追加するインターフェースにしても良い。このとき、人物画像を入力することで人物全身の画像特徴量を比較するようにしても良いし、姿勢入力領域１００１で特徴点を指定することで、指定した特徴点の周辺の画像特徴量のみを比較するようにしても良い。例えば、図１１は、右手を上げた姿勢で左手に手提げバッグを持った20代の髪の長い女性を検索する様子を表している。
【００７６】
図１２は、本実施例における画像検索システム１００の処理の一例を説明するシーケンス図である。図１２は、具体的には前述した画像検索システム１００の画像登録及び画像検索処理における、ユーザ１２００、画像記憶装置１０１、計算機１２０１、及び画像データベース１０８間の処理シーケンスを示す。なお、計算機１２０１は、画像検索装置１０４を実現する計算機である。
【００７７】
図１２において、Ｓ１２１０は登録処理を、Ｓ１２２０は検索処理を示す。登録処理Ｓ１２１０は、ステップＳ１２１１〜ステップＳ１２１９に示す処理を含む。ユーザ１２００が登録要求を出すと（Ｓ１２１１）、登録処理が開始される。Ｓ１２１１の具体的なユースケースは、後述する。登録処理は、図５で説明した処理に相当し、ユーザが指定したファイル数や所定時間、繰り返し実行される。計算機１２０１は画像記憶装置１０１に画像データ取得要求を出し、画像記憶装置１０１から画像データを取得する（Ｓ１２１２）。計算機１２０１は、取得した画像情報を画像データベース１０８に登録し（Ｓ１２１３）、画像中の人物に対して姿勢推定を行い（Ｓ１２１４）、各人物に対して一連の処理を実施する（Ｓ１２１５）。一連の処理では、姿勢情報を補完し（Ｓ１２１６）、特徴量を抽出し（Ｓ１２１７）、画像データベース１０８に人物情報を登録する（Ｓ１２１８）。全ての登録処理が完了したら、ユーザに登録完了を通知する（Ｓ１２１９）。
【００７８】
検索処理Ｓ１２２０は、ステップＳ１２２１〜ステップＳ１２２５に示す処理を含む。  ユーザ１２００が、計算機１２０１に対して姿勢情報や検索条件を入力すると（Ｓ１２２１）、計算機１２０１は、入力された姿勢情報や画像を特徴量に変換することでクエリを生成し（Ｓ１２２２）、画像データベース１０８から類似画像を取得する（Ｓ１２２３）。計算機１２０１は、必要な情報を含む画面を生成し（Ｓ１２２４）、ユーザ１２００に検索結果を提示する（Ｓ１２２５）。
【００７９】
ここで、ユースケース毎の、Ｓ１２１１の位置付けについて説明する。例えば、警察組織職員が特定の駅構内の監視カメラ画像内から特定の不審人物の探索を実施したい場合を想定すると、Ｓ１２１１は、画像記憶装置１０１に相当する駅サーバに対して、不審人物が映っていると思しき画像データ群を要求する処理に該当する。また、大規模商業施設管理会社社員等のユーザが施設内の監視カメラ画像内から異常行動を発見したい場合を想定すると、Ｓ１２１１は、画像記憶装置１０１に相当する施設内サーバに対して、迷子や遺失物等が映っていると思しき画像データ群を要求する処理に該当する。なお、Ｓ１２１１の際、ユーザが具体的に日付や時間帯等を指定することで、取得するデータ群の母数を絞り込むこともできる。
【００８０】
なお、図１２では、登録処理Ｓ１２１０が完了した後に、検索処理Ｓ１２２０を実行しているが、同時に実行されても良い。例えば、監視カメラから継続的に入力される画像に対して常に登録処理を実行し、ユーザは随時、検索処理を実行して監視画像中から人物を検索可能なシステムとしても良い。また、撮像された画像は、当該画像を撮像した監視カメラのＩＤと対応付けて管理してもよい。これにより、検索により発見された人物等を撮像した時刻および撮像位置を特定することが容易となり、検索対象物のトレース効率を向上することが可能となる。
【００８１】
以上述べたように、本実施例における画像検索システムによれば、多様なユースケースにおいて、ユーザの検索意図に則した画像検索が可能となる。
【実施例２】
【００８２】
多数の人物が映る監視カメラ映像に対しては、混雑緩和やマーケティング解析など安全性や利便性の向上のために映像を活用したいというニーズがある一方、プライバシー保護等の観点から、オリジナルの画像を公開することが難しいケースが存在する。本実施例では、画像検索装置１０４を画像編集に応用する方法について述べる。
【００８３】
図１３は、本実施例における姿勢情報を用いた画像編集を表す図である。図１３において、入力されたオリジナル画像１３０１に対して姿勢推定処理を行うことで、画面上の人物の位置とその姿勢を得ることができる。これに対して、特定の姿勢をフィルタ条件にして（１３０２）、類似する姿勢の人物のみを実画像で表示し、それ以外の人物は姿勢情報のみを表示する、という編集画像１３０３を生成することができる。ユーザは、フィルタ条件に指定した姿勢を要確認人物（例：しゃがみこんでいる人物）については実画像を見て対応することができるし、それ以外の人物についても可視化された姿勢情報によりシーン全体の様子を把握することができる。なお、人物の表示方法は映像の使用条件によって様々な形態をとりうる。例えば、実画像の公開が全く禁止されている場合は、フィルタ条件に一致する人物に関しても姿勢情報のみを、他とは異なるデザインで表示する。また、個人が特定できる部位（頭部）のみをぼかして表示しても良い。
【００８４】
図１４は、本実施例における姿勢情報を用いた画像編集の処理フローチャートである。編集対象の画像は予め画像データベース１０８に登録済みであるものとする。図１４において、姿勢入力部１０９は、フィルタ条件となる姿勢情報を入力装置１０２から取得する(Ｓ１４０１)。クエリ生成部１１０は、ステップＳ１４０１で取得された姿勢情報を姿勢特徴量に変換する（Ｓ１４０２）。検索結果表示部１１２は、画像データベース１０８から人物が映っていない画像を背景画像として取得する（Ｓ１４０３）。ここでは、編集対象の画像と同じ場所の画像を取得する際の検索条件とする。人物が映っていない画像が見つからない場合、複数の画像を合成することで背景画像を生成する。画像検索部１１１は、編集対象の画像の人物の姿勢特徴量を画像データベース１０８から取得する（Ｓ１４０４）。
【００８５】
画像検索装置１０４は、ステップＳ１４０２で取得された各人物に関して、ステップＳ１４０６からステップＳ１４０９を実行する（Ｓ１４０５）。画像検索部１１１は、ステップＳ１４０２で得られたフィルタ用の姿勢特徴量と処理対象の人物の姿勢特徴量の類似度を計算する（Ｓ１４０６）。画像検索装置１０４は、ステップＳ１４０６で得られた類似度が所定値以上であれば、ステップＳ１４０８を実行し、そうでなければステップＳ１４０９を実行する（Ｓ１４０７）。検索結果表示部１１２は、ステップＳ１４０３で取得した背景画像に人物画像を合成する（Ｓ１４０８）。検索結果表示部１１２は、ステップＳ１４０３で取得した背景画像に姿勢情報を可視化して描画する（Ｓ１４０９）。検索結果表示部１１２は、すべての画像中の人物に関して描画が完了したら、表示装置１０３に編集画像を表示して処理を終了する（Ｓ１４１１）。
【００８６】
本実施例によれば、画像情報と姿勢情報が検索可能な状態で保存されている画像データベース１０８を用いることで、入力画像に対して自動編集を行うシステムを構築することができる。
【実施例３】
【００８７】
実施例１の画像検索装置１０４は、類似した姿勢を含む画像を検索することができるが、同じ姿勢であっても撮影された向きが異なる場合は、画面上の特徴点の座標が異なるため、検索することができない。本実施例では、複数のクエリを使用することで、異なる向きで取得された姿勢を検索する方法について説明する。
【００８８】
図１５は、本実施例における複数のクエリを使用した類似姿勢の検索を表す説明図である。図１５に示すように、姿勢入力部１０９において３次元座標情報を持つインターフェースによって姿勢情報を入力する（１５０１）。３次元空間上で視点を変更することにより、平面に投影した場合の姿勢情報を複数得ることができる（１５０２）。得られた姿勢情報をクエリに変換し、各クエリに対応する類似画像を画像データベース１０８から検索する（１５０６）。図１５では、クエリ１５０３に対応する類似画像１５０７と１５０８、クエリ１５０４に対応する類似画像１５０９と１５１０、クエリ１５０５に対応する類似画像１５１１が検索され、複数の向きで類似した姿勢を含む画像が得られている。
【００８９】
図１６は、本実施例における複数クエリを用いた類似姿勢検索の処理フローチャートである。図１６において、姿勢入力部１０９は、ユーザが入力装置１０２によって入力した３Ｄモデルを取得する（Ｓ１６０１）。画像検索装置１０４は、複数の視点に関してステップＳ１６０３からステップＳ１６０６を実行する（Ｓ１６０２）。
【００９０】
クエリ生成部１１０は、３Ｄモデルの視点を変更する（Ｓ１６０３）。また、クエリ生成部１１０は、平面に投影した場合の特徴点座標を取得し、姿勢情報を得る（Ｓ１６０４）。さらに、クエリ生成部１１０は、ステップＳ１６０４で取得した姿勢情報から姿勢特徴量を生成する（Ｓ１６０５）。
【００９１】
画像検索部１１１は、ステップＳ１６０５で生成した特徴量をクエリとして、画像データベース１０８から類似画像を取得する（Ｓ１６０６）。検索結果表示部１１２は、各視点におけるステップＳ１６０６で取得した全ての検索結果をまとめて表示装置１０３に検索結果を表示し、処理を終了する（Ｓ１６０８）。
【００９２】
本実施例によれば、複数のクエリを使用することで、異なる向きで取得された姿勢を検索することができる。
【実施例４】
【００９３】
実施例１の画像検索装置１０４は、姿勢情報から生成した特徴量を用いることで、類似した姿勢を含む静止画を検索することできるが、その瞬間は同一の姿勢であっても動作が異なる場合がある。例えば、図１７の姿勢情報１７０３と１７１３は、同様に右手を上げているため、高い類似度で検索される。しかし、連続する画像での姿勢情報をみると、１７０１から１７０３は「右手を上げて振っている」動作であり、１７１１から１７１３は、「携帯電話を確認して電話をかける」動作であることがわかる。これらを区別するために、例えば、実施例３の複数クエリ検索を応用して、連続するフレームで複数回検索をかけて、結果を統合してもよい。これに対して、本実施例では、各特徴点の動線を保存しておき、図１７の１７０４や１７１４のような動線情報によって検索する方法について説明する。
【００９４】
図１８は、本実施例における特徴点の動線を用いた姿勢特徴量抽出の処理フローチャートである。図１８において、特徴量抽出部１０７は、図３で示した同一追跡ＩＤ３１８の姿勢情報を一定の時間区間において取得する（Ｓ１８０１）。また、特徴量抽出部１０７は、姿勢情報を時系列で並び替える（Ｓ１８０２）。
【００９５】
特徴量抽出部１０７は、各特徴点についてステップＳ１８０４〜Ｓ１８０５を実行する（Ｓ１８０３）。特徴量抽出部１０７は、時系列に並んだ複数の姿勢情報から該当する特徴点の座標を取り出し、動線を生成する（Ｓ１８０４）。また、特徴量抽出部１０７は、ステップＳ１８０４で生成した動線から、動線の特徴量を計算する（Ｓ１８０５）。動線の特徴量は、類似した動線を見つけるための数値データであり、例えば、画像に動線を描画し、その画像特徴量を抽出しても良いし、単位時間あたりの移動量や向きを数値化したベクトルデータを用いても良い。動線の特徴量は、人物情報の特徴量として人物テーブル３１０に追加しても良いし、追跡情報を管理する新しいテーブルを画像データベース１０８に用意しても良い。
【００９６】
動線を用いた検索は、使用する特徴量が上記の動線に基づく特徴量である点を除けば、図９で示した内容と同様であるため割愛する。
【００９７】
本実施例では、動線特徴量を検索用に用いているが、典型的な動線の特徴量を集めて機械学習により動作識別器を学習させることができる。特徴量抽出部１０７では、学習済み動作識別器を用いて動作を識別し、人物情報と関連付けて画像データベース１０８に登録しても良い。
【００９８】
以上のように、本実施例によれば、動線情報によって検索することで高い類似度で検索することができる。
【実施例５】
【００９９】
実施例１の画像検索装置１０４は、画面内の一人の人物の姿勢に着目して検索していた。本実施例では、画面中の複数の人物の姿勢情報を用いて類似したシーンを検索する方法について説明する。
【０１００】
図１９は、本実施例における複数の人物の姿勢情報からシーンの特徴量を抽出する方法を説明するための図である。本実施例における特徴量抽出部１０７では、姿勢情報全体からではなく、特徴点毎または特徴点の部分集合から、局所姿勢特徴量を抽出する。多数の画像に対してこれらの局所姿勢特徴量をクラスタリングすることにより、図１９に示すように特徴量のコードブック１９０１を生成しておく。新規の局所姿勢特徴量に対してコードブックにおける所属するクラスタを探索することで、ベクトルデータをコード（ｖｗ：Ｖｉｓｕａｌ  Ｗｏｒｄ）に変換することができる。画像中の全ての局所姿勢特徴量について、コードの頻度を集計することでヒストグラム１９０３を得ることができ、このヒストグラムを姿勢情報が反映された画像全体の特徴量として用いることができる。図１９では、例えば「指を差している」特徴量成分がヒストグラムのコードｖｗ５に対応していることを示しており、「しゃがみこんでいる人を数人が指差している」画像１９０２、１９０４について、同様の特徴量のヒストグラム１９０３、１９０５が抽出されているため、この特徴量で検索することで類似したシーンを検索することができる。なお、ヒストグラム化することで人物の配置の情報が失われてしまうため、例えば、画面を分割して各領域からヒストグラムを計算すれば位置情報をある程度保持した特徴量にすることができる。
【０１０１】
図２０は、本実施例における姿勢情報を反映した画像全体の特徴量抽出の処理フローを表す図である。図２０において、姿勢推定部１０６は、画像から姿勢情報を推定する（Ｓ２００１）。本処理は、図５のステップＳ５０２と同じである。
【０１０２】
特徴量抽出部１０７は、ステップＳ２００１で検出された全ての人物の特徴点についてステップＳ２００３〜Ｓ２００５を実行する（Ｓ２００２）。
【０１０３】
特徴量抽出部１０７は、特徴点から特徴量を抽出する（Ｓ２００３）。特徴点の特徴量は、例えば、特徴点周辺の画像特徴量であっても良いし、隣接する特徴点との距離や角度などを姿勢特徴量化しても良い。また、特徴点毎に抽出するのではなく姿勢の部分集合毎に姿勢特徴量を抽出しても良い。例えば、「頭部肩＝{頭部、首、右肩、左肩}」、「右上半身＝{右肩、右肘、右手首}」、「左上半身＝{左肩、左肘、左手首}」、「胴体＝{首、左腰、右腰}」、「右下半身＝{右腰、右膝、右足首}」、「左下半身＝{左腰、左膝、左足首}」のような姿勢の部分集合を用いることができる。また、画像の部分集合毎に画像特徴量を抽出しても良い。特徴量抽出部１０７は、ステップＳ２００３で得られた特徴量をコードに変換する（Ｓ２００４）。特徴量からコードへの変換は、図１９で説明したように、事前に構築しておいたコードブックを用いて行うことができる。また、特徴点毎、姿勢の部分集合毎に異なるコードブックを用いても良い。
【０１０４】
特徴量抽出部１０７は、ステップＳ２００４で得られたコードのヒストグラム上の頻度を更新する（Ｓ２００５）。
【０１０５】
特徴量抽出部１０７は、画像中の全ての特徴量についてステップＳ２００３〜Ｓ２００５が完了したら、ヒストグラムを特徴量化し、画像データベース１０８に登録し、処理を終了する（Ｓ２００７）。このとき、特徴点の総数などに応じて値を正規化しても良い。
【０１０６】
以上のように、本実施例によれば、ユーザがクエリとなる画像を指定することで、画像データベースに蓄積された上記の画像全体の特徴量を比較し、類似するシーンを検索することができる。
【０１０７】
以上、実施例について述べたが、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能は、それらの一部又は全部を、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。
【符号の説明】
【０１０８】
１００：画像検索システム、１０１：画像記憶装置、１０２：入力装置、１０３：表示装置、１０４：画像検索装置、１０５：画像入力部、１０６：姿勢推定部、１０７：特徴量抽出部、１０８：画像データベース、１０９：姿勢入力部、１１０：クエリ生成部、１１１：画像検索部、１１２：検索結果表示部、３００：画像テーブル、３１０：人物テーブル、６０１、８０１：姿勢情報、６０２：人物画像、６０３、６０４、６０５：類似画像、８０２：検索結果、８０６、８０７、８０８：画像データ、１００１：姿勢入力領域、１００２：検索条件入力領域、１００３：検索ボタン、１００４：検索結果表示領域、１１０１：属性入力領域、１１０２：画像選択ボタン、１７０３、１７１３：姿勢情報、１７０４、１７１４：動線情報、１９０１：コードブック、１９０３、１９０５：ヒストグラム
【図１】
2019091138.tif 000003
【図２】
2019091138.tif 000004
【図３】
2019091138.tif 000005
【図４】
2019091138.tif 000006
【図５】
2019091138.tif 000007
【図６】
2019091138.tif 000008
【図７】
2019091138.tif 000009
【図８】
2019091138.tif 000010
【図９】
2019091138.tif 000011
【図１０】
2019091138.tif 000012
【図１１】
2019091138.tif 000013
【図１２】
2019091138.tif 000014
【図１３】
2019091138.tif 000015
【図１４】
2019091138.tif 000016
【図１５】
2019091138.tif 000017
【図１６】
2019091138.tif 000018
【図１７】
2019091138.tif 000019
【図１８】
2019091138.tif 000020
【図１９】
2019091138.tif 000021
【図２０】
2019091138.tif 000022