(57)【要約】【課題】  画像の解像度の違いに起因する言語表現の変化を考慮した画像の検索を可能にするための技術を提供すること。【解決手段】  第１の画像から、該第１の画像よりも低解像度の第２の画像を生成し、第１の画像の内容を言語で表現した言語表現と、第２の画像の内容を言語で表現した言語表現と、の関係を取得する。第１の画像の特徴量と第１の画像の言語表現の特徴量とが対応づけてマッピングされた空間に、第２の画像の特徴量と第２の画像の言語表現の特徴量とが上記の関係に従ってマッピングされるように、学習する。【選択図】  図１
2019204183.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像から、該第１の画像よりも低解像度の第２の画像を生成する生成手段と、
前記第１の画像の内容を言語で表現した言語表現と、前記第２の画像の内容を言語で表現した言語表現と、の関係を取得する取得手段と、
前記第１の画像の特徴量と前記第１の画像の言語表現の特徴量とが対応づけてマッピングされた空間に、前記第２の画像の特徴量と前記第２の画像の言語表現の特徴量とが前記関係に従ってマッピングされるように、学習する学習手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は更に、言語表現であるクエリを取得するクエリ取得手段と、
前記学習手段で学習したマッピングで複数の画像の特徴量をマッピングした前記空間で該特徴量と前記クエリの特徴量とのマッチングを行うことで前記クエリに対応する画像を検索するマッチング手段と
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記マッチング手段は、マッチングを行う対象の画像の解像度に応じた空間で前記マッチングを行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記クエリ取得手段は、前記クエリが表現する解像度を取得し、
前記マッチング手段は、前記クエリが表現する解像度に応じて前記検索の範囲を変更することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記関係は、言語表現として類似していることを示す請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
請求項１乃至５の何れか１項に記載の情報処理装置を有する撮像装置。
【請求項７】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の生成手段が、第１の画像から、該第１の画像よりも低解像度の第２の画像を生成する生成工程と、
前記情報処理装置の取得手段が、前記第１の画像の内容を言語で表現した言語表現と、前記第２の画像の内容を言語で表現した言語表現と、の関係を取得する取得工程と、
前記情報処理装置の学習手段が、前記第１の画像の特徴量と前記第１の画像の言語表現の特徴量とが対応づけてマッピングされた空間に、前記第２の画像の特徴量と前記第２の画像の言語表現の特徴量とが前記関係に従ってマッピングされるように、学習する学習工程と
を備えることを特徴とする情報処理方法。
【請求項８】
コンピュータを、請求項１乃至５の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索のための技術に関するものである。
【背景技術】
【０００２】
近年の監視カメラシステムの普及により、多くの施設や街頭で多数の人物などのオブジェクトを撮影するケースが増加している。また、これらの撮影した画像から所望の画像を検索する技術がある。このとき、検索したい対象の画像が得られている場合は、画像の特徴の類似性を見て検索すれば良い。しかし、検索したい対象の画像が初めから得られるとは限らず、目撃者による目撃証言のような画像以外の情報が検索クエリとなることも多い。画像とは異なるモダリティ（言語など）で画像を検索する場合は、それぞれのデータが示す内容が共通であることを認識する必要がある。近年では、深層学習の研究が進み、データが表現しているクラスや概念によって分類するタスクを学習することで、データからクラス識別可能な特徴量を抽出することが高精度にできるようになりつつある。この技術を応用し、個々のモダリティの同じ内容を表すデータから得られた特徴量を、共通の空間上に揃えるようにマッピングする処理に深層学習を適用する方法等が考えられている。以下では、異なるモダリティの特徴量を共通の空間上で揃えることを「アラインメント」と称する。共通空間でアラインメントすることにより、一方のモダリティの特徴量で、他方の近傍にある特徴量を検索することができる（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models”  Deep Learning and Representation Workshop: NIPS 2014年11月10日
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実際には、カメラがとらえた画像の特徴と人が「見た」特徴とは、一方の解像度が高く、他方の解像度が低いような場合、一致しないことも多い。しかし、従来技術では、画像にあらかじめ付与された、該画像を説明する言語的情報を利用して、画像特徴と言語特徴をアラインメントする。そのため、解像度の違いによって生じる見え方の違いに起因するような言語表現の変化を捉えるような学習は行われない。よって、同一対象に対する言語的な表現と画像特徴とにずれが生じてしまうと、検索したい対象から漏れてしまう。本発明では、画像の解像度の違いに起因する言語表現の変化を考慮した画像の検索を可能にするための技術を提供する。
【課題を解決するための手段】
【０００５】
本発明の一様態は、第１の画像から、該第１の画像よりも低解像度の第２の画像を生成する生成手段と、前記第１の画像の内容を言語で表現した言語表現と、前記第２の画像の内容を言語で表現した言語表現と、の関係を取得する取得手段と、前記第１の画像の特徴量と前記第１の画像の言語表現の特徴量とが対応づけてマッピングされた空間に、前記第２の画像の特徴量と前記第２の画像の言語表現の特徴量とが前記関係に従ってマッピングされるように、学習する学習手段とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明の構成によれば、画像の解像度の違いに起因する言語表現の変化を考慮した画像の検索を可能にする。
【図面の簡単な説明】
【０００７】
【図１】コンピュータ装置のハードウェア構成例を示すブロック図。
【図２】コンピュータ装置１００の機能構成例を示すブロック図。
【図３】学習に利用する情報の準備に関する処理のフローチャート。
【図４】抽出部２０５に元画像を入力した場合に行う学習処理のフローチャート。
【図５】抽出部２０５に生成画像を入力した場合に行う学習処理のフローチャート。
【図６】検索に係る処理のフローチャート。
【図７】元画像及び生成画像の言語表現の関係を概念的に示した図。
【図８】共通空間における特徴量の分布例を示す図。
【図９】共通空間における特徴量の分布例を示す図。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【０００９】
［第１の実施形態］
先ず、本実施形態に係る情報処理装置としてのコンピュータ装置のハードウェア構成例について、図１のブロック図を用いて説明する。図１のコンピュータ装置１００には、ＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット型端末装置等が適用可能である。また、コンピュータ装置１００は、撮像装置などの装置に組み込む込み込み装置にも適用可能である。また、コンピュータ装置１００は、１台の装置で構成しても良いし、２台以上の装置で構成しても良い。コンピュータ装置１００を２台以上の装置で構成する場合、それぞれの装置は、互いに通信可能なようにLocal Area Network（ＬＡＮ）などのネットワークを介して接続され、該ネットワークを介した協調動作により所望のタスクを達成する。
【００１０】
ＣＰＵ（Central Processing Unit）１０１は、ＲＡＭ（Random Access Memory）１０３に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ１０１は、コンピュータ装置１００全体の動作制御を行うと共に、コンピュータ装置１００が行うものとして後述する各処理を実行若しくは制御する。
【００１１】
ＲＯＭ１０２には、起動プログラムや設定データなど、書換不要の情報が格納されている。ＲＡＭ１０３は、ＲＯＭ１０２や外部記憶装置１０４からロードされたコンピュータプログラムやデータを格納するためのエリア、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリア、を有する。このようにＲＡＭ１０３は、各種のエリアを適宜提供することができる。
【００１２】
外部記憶装置１０４は、ハードディスクドライブ装置やフラッシュメモリドライブなどの大容量情報記憶装置である。外部記憶装置１０４には、ＯＳ（オペレーティングシステム）や、コンピュータ装置１００が行うものとして後述する各処理をＣＰＵ１０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置１０４に保存されているデータには、以下の説明において既知の情報として取り扱う情報も含まれている。外部記憶装置１０４に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０３にロードされ、ＣＰＵ１０１による処理対象となる。外部記憶装置１０４に適用可能なメモリ装置には、コンピュータ装置１００に対して着脱可能な光ディスク、磁気や光カード、ＩＣカード、メモリカード等を含む、処理結果を永続化したり、大規模データを保存したりするためのメモリ装置が適用可能である。
【００１３】
入力Ｉ／Ｆ（InterFace）１０５には入力デバイス１０８が接続されている。入力デバイス１０８は、キーボードやマウスなどのユーザインターフェースであり、ユーザが操作することで、各種の指示をＣＰＵ１０１に対して入力することができる。
【００１４】
出力Ｉ／Ｆ１０６には出力デバイス１０９が接続されている。出力デバイス１０９は、ＣＰＵ１０１による処理結果を画像や文字などでもって表示する表示装置である。表示装置には、液晶画面やタッチパネル画面、入力された情報を投影する投影装置などが適用可能である。ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、外部記憶装置１０４、入力Ｉ／Ｆ１０５，出力Ｉ／Ｆ１０６は何れも、システムバス１０７に接続されている。
【００１５】
次に、コンピュータ装置１００の機能構成例について、図２のブロック図を用いて説明する。なお、以下では、図２の機能部を処理の主体として説明するが、実際には、該機能部の機能をＣＰＵ１０１に実行若しくは制御させるためのコンピュータプログラムをＣＰＵ１０１が実行することで該機能部の機能が実現される。なお、図２の各機能部はハードウェアで実装しても良い。
【００１６】
本実施形態に係るコンピュータ装置１００は、検索処理のための事前準備および特徴量抽出の学習を実施する学習処理を行う機能（学習機能）と、入力されたクエリに該当する画像を検索する検索処理を行う機能（検索機能）と、を有する。学習機能に係る学習部２０９は、画像生成部２０１、取得部２０２、関係取得部２０３、保管部２０４、抽出部２０５を有する。また、検索機能に係る検索処理部２１０は、抽出部２０５、クエリ取得部２０６、保管部２０７、マッチング部２０８を有する。
【００１７】
先ず、学習部２０９について説明する。画像生成部２０１は、外部記憶装置１０４に保存されている画像（元画像）から、該画像よりも解像度が低い画像（低解像度画像、生成画像）を１枚以上生成する。
【００１８】
取得部２０２は、元画像の内容を言語でもって表現した言語表現、該元画像から生成した生成画像の内容を言語でもって表現した言語表現、を外部記憶装置１０４から取得する。元画像及び生成画像のそれぞれの画像の言語表現は、該画像を見た人があらかじめ付与したものであり、該画像と関連づけて外部記憶装置１０４に保存されている。このとき、画像中の領域を限定し、領域毎の言語表現を取得するようにしても良い。たとえば、人物画像であれば、着ている服装の上下や靴、鞄といった領域毎に、種類や色といった言語表現を取得しても良い。この場合、領域毎に後述する共通空間を用意して、検索時には各領域を限定した上で、該共通空間を検索するようにしても良い。
【００１９】
関係取得部２０３は、元画像の言語表現と、生成画像の言語表現と、の関係を取得する。より詳しくは、関係取得部２０３は、共通の言語表現に対応する生成画像に対応する元画像の言語表現を取得することで、解像度の違いによる言語表現の関係を取得する。図７は、元画像及び生成画像のそれぞれから得られる言語表現の関係を概念的に図示したものである。元画像は解像度が高いため、元画像の言語表現として、より詳細な言語表現７０１が得られる。一方、元画像の解像度を落とした生成画像の言語表現としては、元画像の言語表現７０１に含まれる複数の言語表現の共通概念を表す言語表現７０２が現れることがある。言語表現７０１に対応する元画像を目撃した場合には、該言語表現７０１と、言語表現７０２に対応する生成画像と、をマッチングすることになるため、このような元画像と生成画像との間の言語表現の関係を取得して外部記憶装置１０４で管理する。
【００２０】
保管部２０４は、外部記憶装置１０４に保存されている学習用の画像（元画像）およびそれに付随する情報を管理する。ここで管理する学習用の画像は、検索したい対象を含む画像であり、たとえば、人物を検索するのであれば、大量の人物画像を学習用の画像として外部記憶装置１０４に保存しておく。また、保管部２０４は、各画像に対する言語表現やその対応関係も管理する。これらの画像や対応する言語表現は、あらかじめ収集しておく必要があるが、その収集方法については特定の収集方法に限らない。たとえば、あらかじめ人物の画像を撮影し、該画像およびその生成画像を人に提示することで、言語表現を付与させるような作業を実施することで得ても良い。あるいは、実際の過去の事例などから抽出しても良い。たとえば、人物の検索であれば、解決済みの人物捜索で収集した画像や目撃情報等の事後情報から、学習用の情報を得ても構わない。
【００２１】
抽出部２０５は、画像の特徴量と、該画像に対応する言語表現の特徴量と、を、共通の空間にアラインメントしてマッピングする変換を行う。本実施形態では、抽出部２０５は先ず、画像の特徴量と、該画像に対応する言語表現の特徴量と、を既知の特徴抽出技術によって取得する。たとえば、深層学習で画像のクラス識別を最適化する学習済みのニューラルネットワークに画像を入力した場合における該ネットワークの中間層の出力を、該画像の特徴量として取得する。言語表現の特徴量についても、ニューラルネットワークの仕組みを用いて抽出（取得）した分散表現を「言語表現の特徴量」として利用すれば良い。そして抽出部２０５は、それらの出力（画像及び言語表現のそれぞれの特徴量）を、上で述べた言語表現の関係に応じて、共通空間でアラインメントするような変換モデルを学習する。本実施形態では、この学習にも深層学習を利用する。通常、画像の特徴量と、該画像の言語表現の特徴量が最も距離が近く、それ以外の距離がある一定距離以上離れるように学習をする。この場合、１対１での検索は可能であるが、解像度の違いに起因するような表現の違いを考慮した検索は困難となる。この学習時の距離の評価に、関係取得部２０３で得た言語表現の関係を利用する。クエリとしてマッチングするべき言語表現でもある程度の距離でアラインメントするように学習を行う。詳しくは後述する。なお、距離尺度は特定の距離尺度に限らない。以下では一例として、特徴量は共通空間が表現する次元のベクトルであるものとし、この場合はベクトル間の距離が算出できるユークリッド距離等を用いれば良い。学習部２０９の一部として動作する場合における抽出部２０５は、外部記憶装置１０４に保存されている各画像および該画像に対応する言語表現を入力とする。そして、学習部２０９の一部として動作する場合における抽出部２０５は、関係取得部２０３で取得した言語表現の関係に合うように、画像の特徴量および言語表現の特徴量が共通空間でアラインメントするように学習を行う。
【００２２】
このような学習を行った抽出部２０５が検索処理部２１０の一部として動作する場合、該抽出部２０５は、入力した検索対象の画像と言語表現のクエリとを共通空間上にマッピングした特徴量をそれぞれ抽出する処理を行う。
【００２３】
なお、本実施形態では、抽出部２０５は、入力された画像が高解像画像であるのか低解像画像であるのかを識別するものとする。入力された画像が高解像画像であるのか低解像画像であるのかを識別する方法には様々な方法がある。本実施形態では、抽出部２０５は、入力された画像の解像度を判定し、該解像度が規定値以上であれば該画像を高解像画像（高解像）と判断し、該解像度が規定値未満であれば該画像を低解像画像（低解像）と判断し、アラインメントする共通空間を切り替える。学習時は元画像を高解像画像、生成画像を低解像画像として判定してそれぞれ学習を行う。検索時の入力画像の解像度の判定は、既知の人体検出処理によって人物の画像領域を抽出するものとし、たとえば該抽出した領域（すなわち人物領域）のpixelサイズで解像度の判定を行っても良い。あるいは、解像度の目安として、高周波成分の量を利用して判定しても良い。あるいは、画像を撮影したカメラのカメラ情報（カメラパラメータや内蔵するイメージセンサの情報等）および設置情報（画角や伏角、設置高さ等）を予め取得しておき、およその解像度と該情報との対応を機械学習等により得ることで判定するようにしても良い。
【００２４】
まず、高解像の画像特徴（元画像の特徴量）については、学習時では、元画像の特徴量と該元画像の言語表現の特徴量とを個々にアラインメントするように学習を行う。これにより、検索処理時に高解像に対応したクエリ表現が取得できた場合は、誤りの少ない画像の検索が実現できる。ただし、クエリは常に高解像に対応したものとは限らない。目撃者が遠くから見ていたり、細かく見ることができなかったりした場合には、クエリが表現しているイメージの解像度は低下する。そのような解像度が低下したクエリ表現で、高解像の画像特徴の検索を実現するために、共通の低解像の言語表現（生成画像の言語表現）の関係がある場合に、該低解像の言語表現の画像特徴の近傍に高解像の画像特徴がマッピングされるように学習する。そして、検索処理時には、クエリ表現の解像度の低下度合いを与えることで、該度合いに応じた範囲のマッチングを実施する。例えば、高解像情報に対応したクエリ表現であることを示す入力があれば、探索する範囲を絞り込む（変更する）ことで、ノイズを抑制できる。一方で、解像度が低下したクエリ表現であることを示す入力がある場合は、探索範囲を拡大する（変更する）ことで、漏れを抑制できる。クエリ表現の解像度の低下度合いは、クエリ取得部２０６で取得し、また、上述したマッチング処理は、マッチング部２０８で実施する。
【００２５】
次に、低解像の画像特徴（生成画像の特徴量）については、学習時には、生成画像の画像特徴を、該生成画像の言語表現の特徴量とアラインメントするように学習する。このとき、該生成画像の言語表現が共通の元画像群の各言語表現をクエリとした場合にも、該生成画像の特徴量と合致するようにアラインメントする。具体的には、言語表現の特徴量を共通空間にマッピングする際の射影を学習する際、関係取得部２０３で取得した関係にある場合、該関係の言語表現と生成画像の言語表現とが、共通空間上の近傍にマップされるように学習する。そして、検索処理時は、カメラによる撮影画像が高解像の場合と同様、クエリとして得られた言語表現の特徴量を、学習済みの共通空間へマッピングすることで近傍特徴量とのマッチングを行う。言語表現の解像度による探索範囲の拡縮も高解像度の場合と同様に行えばよい。
【００２６】
次に、検索処理部２１０について説明する（検索処理部２１０の一部として機能する場合の抽出部２０５の動作については上記の通りである）。クエリ取得部２０６は、検索対象を問い合わせるための情報をクエリとして取得する。クエリは、例えばユーザが入力デバイス１０８を操作することで入力するので、クエリ取得部２０６は、このユーザ操作に応じて入力されたクエリを取得する。本実施形態ではクエリとして言語表現を入力するものとする。また、先に述べたとおり、本実施形態では、解像度の低下度合いを合わせて入力する。解像度の低下度合いもまたユーザが入力デバイス１０８を操作して入力するので、クエリ取得部２０６は、このユーザ操作に応じて入力された解像度の低下度合いを取得する。ここでは、目撃情報が十分に詳細な情報を捉えているとユーザが判断した場合は、解像度の低下は無いものとして扱い、そうでない場合は、解像度は低下しているものとして扱う。入力は２値である必要はなく、たとえば、スライドバーなどのユーザインターフェースを出力デバイス１０９に表示し、ユーザが入力デバイス１０８を操作して、クエリの解像度の低下度合いを入力できるようにしても良い。その場合、検索処理部２１０は、スライドバーが高解像に近いほど探索範囲を狭くし、逆に、低解像であるほど探索範囲を広くするようにしてマッチングを行うようにすればよい。
【００２７】
保管部２０７は、外部記憶装置１０４に保存されている「撮影システム２１１が撮像した撮像画像のうち検索対象となる検索対象画像」を管理する。本実施形態では、撮影システム２１１は、監視カメラと、該監視カメラによる撮像画像から人物が写っている領域内の画像（人物画像）を検索対象画像として抽出して外部記憶装置１０４に登録する機器と、を含む監視システムであるものとする。よって、本実施形態では、検索対象画像は、様々な解像度の人物画像であるものとするが、撮像画像から人物画像を抽出するための方法は特定の方法に限らず、既存のオブジェクト領域特定技術を利用して良い。たとえば、深層学習によって、領域発見と認識処理をend-to-endで学習する仕組みが提案されているが、該領域発見の技術を利用するなどすれば良い。あるいは、顔や頭部の検出技術を利用して、およその人物位置を特定するなどしてもかまわない。
【００２８】
マッチング部２０８は、各検索対象画像と、クエリ取得部２０６で取得したクエリと、を、学習済みの抽出部２０５によってそれぞれ共通空間にマッピングした特徴量でマッチングを行う。本実施形態ではマッチング部２０８は、共通空間でクエリの特徴量の距離近傍の検索対象画像の特徴量を検索するものとする。距離尺度は、一般的に知られた距離尺度を想定するが、これに限るものではない。本実施形態では、抽出部２０５で学習したアラインメントを行う際に利用したユークリッド距離を用いれば良い。
【００２９】
次に、学習に係る処理のうち、学習に利用する情報の準備に関する処理について、同処理のフローチャートを示す図３に従って説明する。ステップＳ３０１では、画像生成部２０１は、外部記憶装置１０４に保存されている（保管部２０４によって管理されている）元画像のうち未だ選択していない元画像を選択元画像として選択する。そしてステップＳ３０２では、画像生成部２０１は、ステップＳ３０１で選択した選択元画像から生成画像を生成する。
【００３０】
ステップＳ３０３では、取得部２０２は、ステップＳ３０１で選択した選択元画像の言語表現を外部記憶装置１０４から取得する。またステップＳ３０４では、取得部２０２は、ステップＳ３０２で生成した生成画像の言語表現を外部記憶装置１０４から取得する。ステップＳ３０３で選択元画像における部分領域（顔、服などの部分領域）の言語表現を取得した場合、ステップＳ３０４では、生成画像において該部分領域に対応する領域の言語表現を取得する。
【００３１】
ステップＳ３０５では、画像生成部２０１は、外部記憶装置１０４に保存されている全ての元画像を選択元画像として選択したか否かを判断する。この判断の結果、外部記憶装置１０４に保存されている全ての元画像を選択元画像として選択した場合には、処理はステップＳ３０６に進む。一方、外部記憶装置１０４に保存されている元画像のうち未だ選択元画像として選択していない元画像が残っている場合には、処理はステップＳ３０１に戻る。
【００３２】
ステップＳ３０６では、関係取得部２０３は、ステップＳ３０２で生成した生成画像群から、共通の表現に対応する言語表現の生成画像のグループ（生成画像グループ）を選択する（未選択の生成画像グループを選択する）。生成画像グループを選択するための処理には様々な処理がある。例えば、同じグループと見なしても良い言語表現（共通の表現に対応する言語表現）の集合を予め外部記憶装置１０４に登録しておく。そして、ステップＳ３０２で生成した生成画像群から、同じ集合に属する言語表現に対応する生成画像のグループを生成画像グループとして選択するようにしても良い。
【００３３】
ステップＳ３０７では、関係取得部２０３は、生成画像グループに属するそれぞれの生成画像について、該生成画像に対応する元画像の言語表現を取得する。ステップＳ３０８では、関係取得部２０３は、生成画像グループに属する生成画像の言語表現と、該生成画像に対応する元画像の言語表現と、の間に画像の解像度の変化による言語表現の対応関係があるものとし、該対応関係を外部記憶装置１０４に登録する。この対応関係には、生成画像グループに属する生成画像の言語表現と、該生成画像に対応する元画像の言語表現と、の対が含まれており、保管部２０４によって管理される。
【００３４】
ステップＳ３０９では、関係取得部２０３は、ステップＳ３０２で生成した生成画像群から全ての生成画像グループを選択したか否かを判断する。この判断の結果、ステップＳ３０２で生成した生成画像群から全ての生成画像グループを選択した場合には、図３のフローチャートに従った処理は終了する。一方、ステップＳ３０２で生成した生成画像群から未だ選択していない生成画像グループが残っている場合には、処理はステップＳ３０６に戻る。
【００３５】
次に、学習に係る処理のうち、抽出部２０５に元画像を入力した場合に行う学習処理について、同処理のフローチャートを示す図４に従って説明する。ステップＳ４０１では、抽出部２０５は、外部記憶装置１０４に保存されている元画像と該元画像の言語表現とを取得する。ステップＳ４０２では、抽出部２０５は、上記のステップＳ３０７において外部記憶装置１０４に登録された対応関係を取得し、該対応関係に生成画像の言語表現が予め定められた量だけ元画像の言語表現として含まれているか否かを判断する。この判断の結果、対応関係に生成画像の言語表現が予め定められた量だけ元画像の言語表現として含まれていない場合には、処理はステップＳ４０３に進む。一方、対応関係に生成画像の言語表現が予め定められた量だけ元画像の言語表現として含まれている場合には、処理はステップＳ４０４に進む。例えば、対応関係において、生成画像の言語表現としては含まれているものの、元画像の言語表現としては含まれていない言語表現がある場合には、処理はステップＳ４０３に進み、そうでない場合は、処理はステップＳ４０４に進む。
【００３６】
ステップＳ４０３で抽出部２０５は、対応関係において、生成画像の言語表現としては含まれているものの、元画像の言語表現としては含まれていない言語表現（不足言語表現）がある場合、不足言語表現に対応するＮ枚の生成画像を複製する。学習サンプル数にバラつきがあると収束しにくいので、Ｎは、他の不足していない言語表現と同等の数（例えば平均の数）とする。そして抽出部２０５は、該複製したＮ枚の生成画像を元画像として外部記憶装置１０４に登録する。この処理により、検索時に入力するクエリの言語表現が低解像度に応じた言語表現であった場合にもマッチングできるように、学習サンプルを加える。
【００３７】
ステップＳ４０４では抽出部２０５は、ステップＳ４０１で取得した元画像及び該元画像の言語表現のそれぞれの特徴量を取得する。そしてステップＳ４０５では抽出部２０５は、ステップＳ４０４で取得した元画像の特徴量を上記の共通空間にマッピングし、ステップＳ４０６では抽出部２０５は、ステップＳ４０４で取得した言語表現の特徴量を上記の共通空間にマッピングする。個々の特徴量を、上述した共通空間へマッピングする各変換モデルを、少なくとも当該処理では学習する。
【００３８】
ステップＳ４０７では、抽出部２０５は、共通空間上におけるそれぞれの元画像の特徴量とそれぞれの言語表現の特徴量との間の距離を求める。そしてステップＳ４０８では、抽出部２０５は、ステップＳ４０７で距離を求めた元画像と言語表現とが対応するペアであったか否かを判断する。元画像Ａと言語表現Ｂとが対応するペアであるとは、元画像Ａの言語表現が言語表現Ｂであることを指す。この判断の結果、ステップＳ４０７で距離を求めた元画像と言語表現とが対応するペアであった場合には、処理はステップＳ４０９に進む。一方、ステップＳ４０７で距離を求めた元画像と言語表現とが対応するペアではなかった場合には、処理はステップＳ４１０に進む。
【００３９】
ステップＳ４０９では、抽出部２０５は、「より近い距離を入力するとより小さい損失評価（損失量）を出力する関数」にステップＳ４０７で求めた距離を入力した場合の該関数の出力値を、ステップＳ４０７で求めた距離に対応する損失量として求める。
【００４０】
ステップＳ４１０では、抽出部２０５は、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現であるか否かを判断する。この判断の結果、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現である場合には、処理はステップＳ４１１に進む。一方、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現ではない場合には、処理はステップＳ４１２に進む。
【００４１】
ステップＳ４１１で抽出部２０５は、「入力した距離が予め定めた中間距離αに分布する場合に損失評価として規定の小さい値を出力する関数」にステップＳ４０７で求めた距離を入力した場合の該関数の出力値を、ステップＳ４０７で求めた距離に対応する損失量として求める。
【００４２】
ステップＳ４１２では、抽出部２０５は、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現と共通であるか否かを判断する。生成画像の言語表現が共通の元画像同士を近づける。例えば、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が「白黒チェック柄」、生成画像の言語表現が「灰色」であったとする。このとき、言語表現「白黒ボーダー柄」に対応する元画像から生成された生成画像の言語表現も「灰色」であった場合、「ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現と共通である」と判断される。このような関係は、先に述べた図３のフローチャートにおいて関係取得部２０３で取得した関係をたどることで、容易に判定することができる。
【００４３】
この判定結果、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現と共通である場合には、処理はステップＳ４１３に進む。一方、ステップＳ４０７で距離を求めた元画像と言語表現において、該言語表現が生成画像の言語表現と共通ではない場合には、処理はステップＳ４１４に進む。
【００４４】
ステップＳ４１３では、抽出部２０５は、「入力した距離が予め定めた中間距離βに分布する場合に損失評価として規定の小さい値を出力する関数」にステップＳ４０７で求めた距離を入力した場合の該関数の出力値を、ステップＳ４０７で求めた距離に対応する損失量として求める。中間距離βは中間距離αと同じであっても良いが、ステップＳ４０９で定めている距離よりは大きく、後述するステップＳ４１５で定めた距離よりも近いものとする。
【００４５】
ステップＳ４１４では、抽出部２０５は、ステップＳ４０７で距離を求めた元画像と言語表現が、上述したステップＳ４０８，Ｓ４１０，Ｓ４１２のいずれの判定にも適合しないものであることから、負例の学習事例としての処理を行う。即ち抽出部２０５は「予め定めた中間距離よりも大きいマージンを超える距離を入力すると規定の小さい値をとる損失評価（損失量）を出力する関数」にステップＳ４０７で求めた距離を入力することで得られる出力値を、該距離に対応する損失量として求める。
【００４６】
上記のステップＳ４０７では、それぞれの元画像の特徴量とそれぞれの言語表現の特徴量との間の距離を求め、ステップＳ４０８〜Ｓ４１４の処理は、ステップＳ４０７で求めたそれぞれの距離について行うことになる。
【００４７】
ステップＳ４１５では、抽出部２０５は、ステップＳ４０７で求めた距離全体の損失量を最小化するように、マッピングする変換モデルのパラメータを更新する学習を繰り返す。本実施形態では、マッピングする変換モデルはニューラルネットワークであることを想定しており、この場合、損失量を最小化するように学習する手法としては、勾配降下法がよく知られている。これらの既知の手法を利用して、変換モデルのパラメータを更新すればよい。
【００４８】
以上説明した図４のフローチャートに従った処理を行うことにより、共通空間で特徴量が図８のように分布するように学習を行う。図８は共通空間を２次元平面として概念的に示したものである。黒三角８０７が元画像の言語表現の特徴量であり、丸８０４の範囲に該元画像の特徴量が分布する。黒四角８０６は、黒三角８０７に対応する言語表現と関係がある共通の言語表現の特徴量であり、黒四角８０６に対応する言語表現に対応する元画像の特徴量は丸８０３の範囲に分布する。この時、黒四角８０６に対応する言語表現と関係のある言語表現が、丸８０１の内側且つ丸８０２の外側の範囲（中間距離部分）に分布するように学習する。丸８０５は、黒四角８０６に対応する言語表現と関係のない言語表現に対応する元画像の特徴量が分布する範囲（黒四角８０６に対応する言語表現と関係のない言語表現の特徴量（白三角））を示しており、これらは、中間距離よりも遠くなるように学習する。
【００４９】
次に、学習に係る処理のうち、抽出部２０５に生成画像を入力した場合に行う学習処理について、同処理のフローチャートを示す図５に従って説明する。ステップＳ５０１では、抽出部２０５は、外部記憶装置１０４に保存されている生成画像と該生成画像の言語表現とを取得する。ステップＳ５０２では、抽出部２０５は、外部記憶装置１０４に登録している対応関係を参照して、ステップＳ５０１で取得した生成画像の言語表現に対応する元画像の言語表現を外部記憶装置１０４から取得する。本フローチャートに従った処理では、ここで得た元画像での言語表現でも、低解像の言語表現（低解像度の画像に対応する言語表現）に対応する画像をマッチングすることを目的としている。そのため、検索時のクエリの表現として入力されうる表現として、元画像に対応する言語表現、すなわち高解像の言語表現を取得する。
【００５０】
ステップＳ５０３では抽出部２０５は、ステップＳ５０１で取得した生成画像及び該生成画像の言語表現のそれぞれの特徴量を取得する。またステップＳ５０４では抽出部２０５は、ステップＳ５０２で取得した元画像の言語表現の特徴量を取得する。そしてステップＳ５０５では、抽出部２０５は、ステップＳ５０３で取得した生成画像の特徴量を上記の共通空間にマッピングし、ステップＳ５０６では抽出部２０５は、ステップＳ５０３で取得した言語表現の特徴量を上記の共通空間にマッピングする。またステップＳ５０７では抽出部２０５は、ステップＳ５０４で取得した元画像の特徴量を上記の共通空間にマッピングする。個々の特徴量を、上述した共通空間へマッピングする各変換モデルを、少なくとも当該処理では学習する。
【００５１】
ステップＳ５０８では、抽出部２０５は、共通空間上におけるそれぞれの生成画像の特徴量とそれぞれの言語表現の特徴量との間の距離を求める。そしてステップＳ５０９では、抽出部２０５は、ステップＳ５０８で距離を求めた生成画像と言語表現とが対応するペアであったか否かを判断する。生成画像Ａと言語表現Ｂとが対応するペアであるとは、生成画像Ａの言語表現が言語表現Ｂであることを指す。この判断の結果、ステップＳ５０８で距離を求めた生成画像と言語表現とが対応するペアであった場合には、処理はステップＳ５１０に進む。一方、ステップＳ５０８で距離を求めた生成画像と言語表現とが対応するペアではなかった場合には、処理はステップＳ５１１に進む。
【００５２】
ステップＳ５１０では、抽出部２０５は、「入力した距離が一定範囲内の距離であれば損失評価として規定の小さい値を出力する関数」にステップＳ５０８で求めた距離を入力した場合の該関数の出力値を、ステップＳ５０８で求めた距離に対応する損失量として求める。本実施形態では、低解像画像を対象とすることで、画像特徴の表現に、高解像での特徴量よりも一定の幅を持たせるために、一定範囲内の距離であれば、損失評価が小さくなるようにしている。
【００５３】
ステップＳ５１１では、抽出部２０５は、ステップＳ５０８で距離を求めた生成画像と言語表現において、該言語表現が該生成画像に対応する元画像の言語表現であるか否かを判断する。この判断の結果、ステップＳ５０８で距離を求めた生成画像と言語表現において、該言語表現が該生成画像に対応する元画像の言語表現である場合には、処理はステップＳ５１２に進む。一方、ステップＳ５０８で距離を求めた生成画像と言語表現において、該言語表現が該生成画像に対応する元画像の言語表現ではない場合には、処理はステップＳ５１３に進む。
【００５４】
ステップＳ５１２では、抽出部２０５は、「入力した距離がステップＳ５１０で定めた一定範囲の距離よりも大きく、別途定めた中間距離内であれば、損失評価として規定の小さい値を出力する関数」にステップＳ５０８で求めた距離を入力した場合の該関数の出力値を、ステップＳ５０８で求めた距離に対応する損失量として求める。
【００５５】
ステップＳ５１３では、抽出部２０５は、ステップＳ５０８で距離を求めた生成画像と言語表現が、上述したステップＳ５０９，Ｓ５１１のいずれの判定にも適合しないものであることから、負例の学習事例としての処理を行う。即ち抽出部２０５は「ステップＳ５１２で予め定めた中間距離よりも大きいマージンを超える距離を入力すると規定の小さい値をとる損失評価（損失量）を出力する関数」にステップＳ５０８で求めた距離を入力することで得られる出力値を、該距離に対応する損失量として求める。
【００５６】
上記のステップＳ５０８では、それぞれの生成画像の特徴量とそれぞれの言語表現の特徴量との間の距離を求め、ステップＳ５０９〜Ｓ５１３の処理は、ステップＳ５０８で求めたそれぞれの距離について行うことになる。
【００５７】
ステップＳ５１４では、抽出部２０５は、ステップＳ５０８で求めた距離全体の損失量を最小化するように、マッピングする変換モデルのパラメータを更新する学習を繰り返す。ここでは、図４のステップＳ４１５と同様に、マッピングする変換モデルはニューラルネットワークであるとし、損失量を最小化するように学習する手法として勾配降下法等の既知の手法を利用して、変換モデルのパラメータを更新する。
【００５８】
以上説明した図５のフローチャートに従った処理により、共通空間で特徴量が図９のように分布するように学習を行う。図９は共通空間を２次元平面として概念的に示したものである。黒四角９０２が生成画像の言語表現の特徴量であり、丸９０１の範囲に該生成画像の特徴量が分布する。黒三角９０３は、黒四角９０２に対応する言語表現の生成画像に対応する元画像の言語表現の特徴量である。この時、これらの特徴量が、丸９０４の内側の範囲（中間距離部分）に分布するように学習する。白三角９０５は、黒四角９０２に対応する言語表現と関係のない言語表現の特徴量を示しており、これらは、丸（中間距離）９０４から遠くなるように学習する。
【００５９】
次に、検索に係る処理について、同処理のフローチャートを示す図６に従って説明する。ステップＳ６０１では、抽出部２０５は、外部記憶装置１０４から検索対象画像を取得する。そしてステップＳ６０２では抽出部２０５は、ステップＳ６０１で取得した検索対象画像の解像度を評価し、該評価に応じた共通空間を選択する。本実施形態では、検索対象画像の解像度が高解像の場合に選択される共通空間と、検索対象画像の解像度が低解像の場合に選択される共通空間、の２つがあり、検索対象画像の解像度の評価に応じて何れかの共通空間を選択する。高解像、低解像の定義については特定の定義に限らず、例えば、規定値以上の解像度であれば高解像、規定値未満の解像度であれば低解像、としても良い。
【００６０】
ステップＳ６０３では、抽出部２０５は、ステップＳ６０２で選択した共通空間に、ステップＳ６０１で取得した検索対象画像の特徴量を、対応する変換モデルでマッピングする（学習済みの抽出部２０５によってそれぞれ共通空間にマッピングする）。検索対象画像の特徴量についても上記の元画像や生成画像の特徴量と同様の方法で取得する。
【００６１】
ステップＳ６０４では、抽出部２０５は、外部記憶装置１０４に保存されている全ての検索対象画像を取得したか否かを判断する。この判断の結果、外部記憶装置１０４に保存されている全ての検索対象画像を取得した場合には、処理はステップＳ６０５に進む。一方、外部記憶装置１０４に保存されている検索対象画像のうち未だ取得していない検索対象画像が残っている場合には、処理はステップＳ６０１に戻る。
【００６２】
なお、ステップＳ６０１〜Ｓ６０４の処理は検索対象画像の特徴量を抽出する処理に該当する。この処理は、検索対象画像の範囲が限定的であれば、図６のフローチャートのようにステップＳ６０５以降の処理と同期的に逐次実施しても構わない。一方、大量の検索対象画像がある場合は、逐次実施すると処理コストが高い。そのため、検索対象画像が撮影システム２１１から外部記憶装置１０４に登録される毎に、該検索対象画像から特徴量を抽出して外部記憶装置１０４に登録し、非同期的にステップＳ６０５以降の処理を実施しても構わない。これにより、逐次実施時の処理コスト増を抑制できる。
【００６３】
ステップＳ６０５では、クエリ取得部２０６は、ユーザが入力デバイス１０８を用いて入力したクエリを取得する。そしてステップＳ６０６では、抽出部２０５は、ステップＳ６０５で取得したクエリの特徴量を、対応する変換モデルで各共通空間へマッピングする。クエリの特徴量は、上記の言語表現の特徴量を取得する方法と同様の方法で取得すればよい。
【００６４】
ステップＳ６０７では、クエリ取得部２０６は、ユーザが入力デバイス１０８を用いて入力した「クエリ（ステップＳ６０５で取得したクエリ）の解像度の低下度合い」を取得する。そしてステップＳ６０８ではクエリ取得部２０６は、ステップＳ６０７で取得した「クエリの解像度の低下度合い」を参照する。そしてステップＳ６０７で取得した「クエリの解像度の低下度合い」が「クエリが表現する解像度が高解像度（低下があまり無いという入力）」であれば、処理はステップＳ６１０に進む。一方、ステップＳ６０７で取得した「クエリの解像度の低下度合い」が「クエリが表現する解像度が低解像度（低下があるという入力）」であれば、処理はステップＳ６０９に進む。
【００６５】
ステップＳ６０９では、クエリ取得部２０６は、探索範囲を広めにして漏れを抑制するように予め定めた値に設定する。一方、ステップＳ６１０では、クエリ取得部２０６は、探索範囲を限定的な範囲にとどまる予め定めた値に設定する。なお、探索範囲は距離の閾値などであれば良い。
【００６６】
ステップＳ６１１では、マッチング部２０８は、各共通空間上でクエリの特徴量の近傍の特徴量を取得する。この時、マッチング部２０８は探索範囲に含まれる結果のみを取得しても構わないし、提示する検索数に至るまで近傍探索し、その結果のいずれが探索範囲に収まるかを区別して出力デバイス１０９に表示しても良い。探索範囲はクエリの解像度に合った検索結果がどの範囲に分布しているかの目安であるため、該範囲以内に含まれる結果がいずれであるかを示すことができれば、どのように利用しても良い。
【００６７】
ステップＳ６１２では、マッチング部２０８は、ステップＳ６１１で取得した検索結果に対応する画像を検索結果として取得して出力デバイス１０９に表示する。これにより、クエリに合致する画像をユーザは検索できる。ステップＳ６０３で検索対象画像の特徴量を共通空間にマッピングする際、該検索対象画像に該検索対象画像を識別可能な情報を付帯しておけば、該情報を参照することで、検索対象画像を外部記憶装置１０４から取得できる。
【００６８】
このように、本実施形態によれば、目撃者が見た対象とカメラが捉えた対象の解像度の違いに起因する、目撃者の言語表現とカメラ画像との特徴量のずれによって生じる検索漏れを抑制することができる。
【００６９】
［第２の実施形態］
第１の実施形態では、解像度に起因する言語表現の違いの例として、柄と色の関係を挙げたが、この関係に限るものではない。ある共通の背景知識を持つ人の間では、元画像に対する詳細な言語表現が出現するかもしれないが、事例として得られるのであれば、このような表現を含めても構わない。たとえば、野球帽をかぶっていた場合に、柄や色で表現する場合や、チーム名で表現する場合などがあっても良い。他にも、Tシャツの柄として、キャラクターが描かれているような場合に、そのクラス名で表現したり、キャラクター名で表現したりといった違いがあっても良い。あるいは、ブランド品の模様の具体名と幾何学的な名称等の違いがあっても良い。上述したように、取得部２０２で、低解像度の画像になった場合にどう見えるか、を取得し、関係取得部２０３で該関係を取得できるものであれば構わない。
【００７０】
このように、事例で得られるのであれば、解像度に起因する言語表現の違いは様々なケースに対応可能であり、実際に目撃情報として得られる表現のバリエーションに対しロバストになる。
【００７１】
［第３の実施形態］
第１の実施形態では、学習時の処理の流れを、全体を一度に更新するようなバッチ学習的なアルゴリズムとして記述したが、これに限るものではない。例えば、オンライン的に正例・負例のペアをマッピングしながら、逐次パラメータを更新しても構わない。あるいはその中間的な手法として知られる、ミニバッチ学習であっても構わない。共通の特徴量空間への変換パラメータを学習できれば良い。都度適した学習手法を選択することで、学習効率や精度が改善する。
【００７２】
［第４の実施形態］
第１の実施形態では、抽出部２０５における検索対象画像の解像度の評価は、高解像か低解像かを判定するものであったが、これに限るものではない。例えば、検索対象画像の解像度が厳密に高解像、低解像の何れであるのかを特定せず、中間ぐらいだった場合には、複数の空間に登録しても構わない。第１の実施形態に記載の例であれば高解像と低解像の両方の共通空間へマッピングしても良い。その場合、検索結果を取得したときに、両方の共通空間上でヒットするケースも生じるため、検索結果の画像が同一であった場合には、それらをマージするような処理をマッチング部２０８で行うなどして結果を出せば良い。これにより、解像度による学習の方針が異なる共通空間であっても、漏れを少なく検索することができる。
【００７３】
［第５の実施形態］
第１の実施形態では、クエリが表現する解像度は、検索時にユーザが入力デバイス１０８を操作して入力するものとしたが、これに限るものではない。例えば、クエリが目撃者の言語表現として得られるような場合、曖昧な情報である可能性を証言などの表現から判定するようにしても良い。たとえば、わずかな時間しか見られなかったような言及であったり、遠距離であった、記憶が薄れてきている、といった言及であったりといった場合が考えられる。それぞれその表現方法は異なるため、これについても、大量の既知の対話コーパスなどから学習しても良いし、辞書を事前に作るなどしても良い。曖昧であるか否かは、言語表現の変換の頻度や、証言として出現するまでの時間など、表現以外の情報からも得られるため、これらの情報を併用するなどして判定しても良い。およその判定を自動ですることで、検索時の操作を簡便にすることができるようになる。
【００７４】
［第６の実施形態］
第１の実施形態では、学習部２０９および検索処理部２１０が同一の装置（コンピュータ装置１００）に含まれている例を挙げたが、学習部２０９を有する装置と検索処理部２１０を有する装置とを別個の装置としても良い。その場合、それぞれの装置で抽出部２０５を規定するパラメータ（学習パラメータ）を共有するようにすれば良い。
【００７５】
［第７の実施形態］
第１の実施形態では、人物が検索対象である例を述べたが、これに限定しない。例えば、監視カメラが撮影する人物以外のオブジェクト（人物の所有物、動物、建物、乗り物など）を検索対象にしても構わない。その場合は、このようなオブジェクトの画像や該画像に対応する言語表現を学習データとして外部記憶装置１０４に登録しておき、該学習データを用いて抽出部２０５を学習する。こうして学習した後、第１の実施形態と同様に、このようなオブジェクトの言語表現での検索が可能となる。これにより、人物以外の対象についても、同様に検索が可能となる。
【００７６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
２０１：画像生成部  ２０２：取得部  ２０３：関係取得部  ２０４：保管部  ２０５：抽出部  ２０６：クエリ取得部  ２０７：保管部  ２０８：マッチング部
【図１】
2019204183.tif 000003
【図２】
2019204183.tif 000004
【図３】
2019204183.tif 000005
【図４】
2019204183.tif 000006
【図５】
2019204183.tif 000007
【図６】
2019204183.tif 000008
【図７】
2019204183.tif 000009
【図８】
2019204183.tif 000010
【図９】
2019204183.tif 000011