(57)【要約】【課題】画像に写る物体を精度よく検索するためのニューラルネットワークのパラメータを学習することができる。【解決手段】所定の解像度の第一の画像からなる第一画像集合に属する第一の画像の各々を、第一の畳み込みニューラルネットワークによって変換し、第二画像集合に属する第二の画像の各々を、第二の畳み込みニューラルネットワークによって変換し、第一画像集合に属する第一の画像の各々と、第二画像集合に属する第二の画像の各々と、変換された第一の画像の各々の変換画像の各々と、変換された第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出し、画像の各々の特徴量ベクトルと変換画像の各々の特徴量ベクトルとの間の誤差に基づいて、第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータを更新する。【選択図】図１
2019211912.tif 000002
【特許請求の範囲】
【請求項１】
所定の解像度の第一の画像からなる第一画像集合に属する前記第一の画像の各々を、第一の畳み込みニューラルネットワークによって前記第一の画像よりも高解像度であって、第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換する第一変換部と、
前記第二画像集合に属する前記第二の画像の各々を、第二の畳み込みニューラルネットワークによって前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換する第二変換部と、
前記第一画像集合に属する前記第一の画像の各々と、前記第二画像集合に属する前記第二の画像の各々と、前記第一変換部により変換された前記第一の画像の各々の変換画像の各々と、前記第二変換部により変換された前記第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する特徴量抽出部と、
前記特徴量抽出部により抽出された、前記第一画像集合に属する前記第一の画像の各々の特徴量ベクトルと前記第二変換部により変換された前記第二の画像の各々の変換画像の各々の特徴量ベクトルとの間の誤差、
及び前記第二画像集合に属する前記第二の画像の各々の特徴量ベクトルと前記第一変換部により変換された前記第一の画像の各々の変換画像の各々の特徴量ベクトルとの誤差に基づいて、前記第一の畳み込みニューラルネットワーク及び前記第二の畳み込みニューラルネットワークのパラメータを更新するパラメータ更新部と、
を含む学習装置。
【請求項２】
前記第一変換部は、前記第二変換部で変換された第二の画像の各々の変換画像の各々を、前記第二画像集合に属する第二の画像の解像度に対応する解像度となるように再変換画像の各々として更に変換し、
前記第二変換部は、前記第一変換部で変換された第一の画像の各々の変換画像の各々を、前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように再変換画像の各々として更に変換し、
前記パラメータ更新部は、前記第二変換部で更に変換された前記第一の画像の各々の再変換画像の各々と前記第一画像集合に属する前記第一の画像の各々との誤差、及び前記第一変換部で更に変換された前記第二の画像の各々の再変換画像の各々と前記第二画像集合に属する前記第二の画像の各々との誤差を更に用いて、前記第一の畳み込みニューラルネットワーク及び前記第二の畳み込みニューラルネットワークのパラメータを更新する請求項１に記載の学習装置。
【請求項３】
前記パラメータ更新部は、更に、
前記第一の畳み込みニューラルネットワークと、前記第一変換部で変換された第一の画像の各々の変換画像の各々が、前記第一画像集合に属する前記第一の画像、及び前記第二画像集合に属する前記第二の画像の何れであるかを識別する識別用ニューラルネットワークとについて、前記第一の畳み込みニューラルネットワークと、前記識別用ニューラルネットワークとが、互いに競合することを表す損失関数を用いて、前記第一の畳み込みニューラルネットワーク及び前記識別用ニューラルネットワークのパラメータを更新すると共に、
前記第二の畳み込みニューラルネットワークと、前記第二変換部で変換された第二の画像の各々の変換画像の各々が、前記第一画像集合に属する前記第一の画像、及び前記第二画像集合に属する前記第二の画像の何れであるかを識別する前記識別用ニューラルネットワークとについて、前記第二の畳み込みニューラルネットワークと、前記識別用ニューラルネットワークとが、互いに競合することを表す損失関数を用いて、前記第二の畳み込みニューラルネットワーク及び前記識別用ニューラルネットワークのパラメータを更新する
請求項１又は２に記載の学習装置。
【請求項４】
請求項１〜請求項３の何れか１項に記載の学習装置によってパラメータが学習された第一の畳み込みニューラルネットワークを用いて、任意の画像を前記第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換する検索第一変換部と、
前記任意の画像の変換画像と、第三の画像からなる第三画像集合の前記第三の画像の各々とから特徴量ベクトルを抽出する検索特徴量抽出部と、
前記検索特徴量抽出部で抽出された前記変換画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の特徴量ベクトルとの組を用いた類似度に基づいて、前記任意の画像と前記第三の画像とを照合し、照合結果を出力する照合部と、
を含む検索装置。
【請求項５】
請求項１〜請求項３の何れか１項に記載の学習装置によってパラメータが学習された前記第二の畳み込みニューラルネットワークを用いて、第三の画像からなる第三画像集合の前記第三の画像の各々を前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換する検索第二変換部と、
任意の画像と、前記第三画像集合の前記第三の画像の各々の変換画像とから特徴量ベクトルを抽出する検索特徴量抽出部と、
前記検索特徴量抽出部で抽出された前記任意の画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の変換画像の特徴量ベクトルとの組を用いた類似度に基づいて、前記任意の画像と前記第三の画像とを照合し、照合結果を出力する照合部と、
を含む検索装置。
【請求項６】
前記第一の畳み込みニューラルネットワークを用いて、前記任意の画像を前記第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換する検索第一変換部を更に含み、
前記検索特徴量抽出部は、更に、前記任意の画像の変換画像と、前記第三画像集合の前記第三の画像の各々とから特徴量ベクトルを抽出し、
前記照合部は、前記検索特徴量抽出部で抽出された前記任意の画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の変換画像の特徴量ベクトルとの組を用いた類似度、及び前記任意の画像の変換画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の特徴量ベクトルとの組を用いた類似度に基づいて、前記任意の画像と前記第三の画像とを照合し、照合結果を出力する請求項５記載の検索装置。
【請求項７】
第一変換部が、所定の解像度の第一の画像からなる第一画像集合に属する前記第一の画像の各々を、第一の畳み込みニューラルネットワークによって前記第一の画像よりも高解像度であって、第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換するステップと、
第二変換部が、前記第二画像集合に属する前記第二の画像の各々を、第二の畳み込みニューラルネットワークによって前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換するステップと、
特徴量抽出部が、前記第一画像集合に属する前記第一の画像の各々と、前記第二画像集合に属する前記第二の画像の各々と、前記第一変換部により変換された前記第一の画像の各々の変換画像の各々と、前記第二変換部により変換された前記第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出するステップと、
パラメータ更新部が、前記特徴量抽出部により抽出された、前記第一画像集合に属する前記第一の画像の各々の特徴量ベクトルと前記第二変換部により変換された前記第二の画像の各々の変換画像の各々の特徴量ベクトルとの間の誤差、
及び前記第二画像集合に属する前記第二の画像の各々の特徴量ベクトルと前記第一変換部により変換された前記第一の画像の各々の変換画像の各々の特徴量ベクトルとの誤差に基づいて、前記第一の畳み込みニューラルネットワーク及び前記第二の畳み込みニューラルネットワークのパラメータを更新するステップと、
を含む学習方法。
【請求項８】
コンピュータを、請求項１〜請求項３の何れか１項に記載の学習装置、又は請求項４〜６の何れか１項に記載の検索装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、検索装置、方法、及びプログラムに係り、特に、画像中に写る物体を検索するための学習装置、検索装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
スマートフォン等の小型撮像デバイスの普及に伴い、様々な場所や環境で任意の対象を撮影したような画像中に写る物体を検索する技術への要望が高まってきている。
【０００３】
従来、画像中の物体を検索する種々の技術が発明され開示されているが、典型的な手続きを、特許文献１に記載の技術に従って説明する。まず、畳み込みニューラルネットワーク（ＣＮＮ）を用いて画像から特徴量ベクトルを抽出する。次に、互いに異なる二つの画像について特徴量ベクトル同士の内積を計算する。内積の値が大きいほど、同一の物体が写っているとみなす。予め、認識したい物体を含む画像（参照画像）によりあらかじめ参照画像データベースを構築し、新たに入力された画像（クエリ画像）と同一の物体が写っているものを検索することにより、クエリ画像中に存在する物体を特定することができる。
【０００４】
他にも特許文献１には、画像から抽出した多数の特徴量ベクトルを用いて物体を検索する方法が開示されている。画像から特徴的であるような微小領域を多数検出し、各領域から特徴量ベクトルを抽出する。次に、互いに異なる二つの画像の各々に含まれる微小領域について特徴量ベクトル同士のユークリッド距離等を計算し、対応する部分領域の個数を算出する。この個数が多いほど類似度が大きくなるため、二つの画像には、同一の物体が写っているとみなせる。
【０００５】
しかしながら、上記物体検索の手続きにも重大な問題がある。クエリ画像と参照画像に写る物体の解像度に乖離がある場合、たとえ同じ物体同士であっても異なる特徴量ベクトルが得られてしまうような場合が多い。結果として、異なる物体が検索されてしまうことがあるのである。なお、解像度とは画素数を指すものとして説明する。
【０００６】
例えば、物体が大きく高解像度に写る参照画像に対して、物体が小さく低解像度に写る画像をクエリ画像として検索するようなケースでは、クエリ画像中の物体から高周波成分が失われていることが多く、前述の問題が発生しやすい典型例といえる。
【０００７】
以上の問題を鑑み、クエリ画像と参照画像の解像度の乖離を防止して検索を実現するための、解像度変換技術が望まれる。
【０００８】
以上の問題に対して、従来いくつかの発明がなされ、開示されてきている。
【０００９】
非特許文献２には、画像ペアに基づく学習型超解像の方法が開示されている。低解像度画像をＢｉｃｕｂｉｃ法によって拡大し、ＣＮＮを用いて変換することで、高解像度画像を獲得する方法である。事前に低解像度画像と高解像度画像のペアを用いてＣＮＮを学習することで、低解像度画像に含まれない高周波成分を高精度に復元することができる。低解像度画像を高解像度に変換した後に特徴量ベクトルを抽出して検索することで、結果として、検索精度の改善が期待できる。
【００１０】
非特許文献３には、画像集合ペアに基づく学習型画像変換の方法が開示されている。２つの集合間の変換を学習によって獲得するものであり、より具体的には、画像集合Ｘを画像集合Ｙに変換する変換器、及び、変換された画像と画像集合Ｙに属する画像とを見分ける識別器、並びに、画像集合Ｙを画像集合Ｘに変換する変換器、及び、変換された画像と画像集合Ｘに属する画像とを見分ける識別器からなる。画像集合Ｘに属する画像を画像集合Ｙへ変換後、Ｘへ再度変換した際の再構築誤差を用いることで、１対１で対応する画像ペアがなくとも、２つの画像集合間の変換を実現できる。例えば、一方の画像集合を低解像度画像の集合、他方を高解像度画像の集合とすることで、解像度の変換器を獲得し、クエリ画像と参照画像の乖離を防ぐことができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１７−１６５０１号公報
【非特許文献】
【００１２】
【非特許文献１】G. Tolias, R. Sicre, and H. Jegou, Particular Object Retrieval with Integral Max-Pooling of CNN Activations, In ICLR, 2016.
【非特許文献２】C. Dong, C. C. Loy, K. He, and X. Tang, Image super-resolution using deep convolutional networks, In CVPR, 2014.
【非特許文献３】J. Zhu, T. Park, P. Isola, and A. A. Efros, Unpaired image-to-image translation using cycle-consistent adversarial networks, In ICCV, 2017.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
非特許文献２のように画像ペアに基づいてそれらの変換を学習する方法は、画像ペアの準備方法が問題となる。非特許文献２では、高解像度画像と、当該高解像度画像をＢｉｃｕｂｉｃ法によって低解像度にした画像とをペアとして学習が行われている。この場合、Ｂｉｃｕｂｉｃ法によって高解像度画像を低解像度に変換した画像と、撮像した画像中に低解像度に写りこむ物体との乖離による検索精度の劣化が発生してしまう。また、同一物体画像を同一条件下で高解像度および低解像度に撮像して解像度の異なる画像ペアを準備することは難しく、学習データとして多量のペアを集めることは非効率的である。
【００１４】
また、非特許文献３のように画像集合ペアに基づいてそれらの変換を学習する方法は、ある集合に属する画像を他方の集合に属する画像となるよう変換し、再度元の集合に属する画像へと変換した際に同一の画像へと戻るように学習を行う。そのため、各々の変換自体は見た目が大きく乖離する画像への変換となる可能性があり、結果として、検索精度の重大な劣化を引き起こす可能性がある。
【００１５】
さらに、前述の方法のどちらにも共通し、物体検索の特徴量ベクトルについては考慮していない点が問題となる。非特許文献２の方法では、低解像度画像の変換後の画像が高解像度画像と近くなるように学習されるが、特徴量ベクトルが一致するとは限らない。非特許文献３の方法も同様に、変換前後の特徴量ベクトルが一致するとは限らない。
【００１６】
以上のように、現在に至るまで、クエリ画像と参照画像間に解像度の乖離が存在する場合に、高精度に物体を検索できる検索技術は発明されていなかった。
【００１７】
本発明は、上記問題点を解決するために成されたものであり、画像に写る物体を精度よく検索するためのニューラルネットワークのパラメータを学習することができる学習装置、方法、及びプログラムを提供することを目的とする。
【００１８】
また、画像に写る物体を精度よく検索することができる検索装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するために、第１の発明に係る学習装置は、所定の解像度の第一の画像からなる第一画像集合に属する前記第一の画像の各々を、第一の畳み込みニューラルネットワークによって前記第一の画像よりも高解像度であって、第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換する第一変換部と、前記第二画像集合に属する前記第二の画像の各々を、第二の畳み込みニューラルネットワークによって前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換する第二変換部と、前記第一画像集合に属する前記第一の画像の各々と、前記第二画像集合に属する前記第二の画像の各々と、前記第一変換部により変換された前記第一の画像の各々の変換画像の各々と、前記第二変換部により変換された前記第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する特徴量抽出部と、前記特徴量抽出部により抽出された、前記第一画像集合に属する前記第一の画像の各々の特徴量ベクトルと前記第二変換部により変換された前記第二の画像の各々の変換画像の各々の特徴量ベクトルとの間の誤差、及び前記第二画像集合に属する前記第二の画像の各々の特徴量ベクトルと前記第一変換部により変換された前記第一の画像の各々の変換画像の各々の特徴量ベクトルとの誤差に基づいて、前記第一の畳み込みニューラルネットワーク及び前記第二の畳み込みニューラルネットワークのパラメータを更新するパラメータ更新部と、を含んで構成されている。
【００２０】
また、第１の発明に係る学習装置において、前記第一変換部は、前記第二変換部で変換された第二の画像の各々の変換画像の各々を、前記第二画像集合に属する第二の画像の解像度に対応する解像度となるように再変換画像の各々として更に変換し、前記第二変換部は、前記第一変換部で変換された第一の画像の各々の変換画像の各々を、前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように再変換画像の各々として更に変換し、前記パラメータ更新部は、前記第二変換部で更に変換された前記第一の画像の各々の再変換画像の各々と前記第一画像集合に属する前記第一の画像の各々との誤差、及び前記第一変換部で更に変換された前記第二の画像の各々の再変換画像の各々と前記第二画像集合に属する前記第二の画像の各々との誤差を更に用いて、前記第一の畳み込みニューラルネットワーク及び前記第二の畳み込みニューラルネットワークのパラメータを更新するようにしてもよい。
【００２１】
また、第１の発明に係る学習装置において、前記パラメータ更新部は、更に、前記第一の畳み込みニューラルネットワークと、前記第一変換部で変換された第一の画像の各々の変換画像の各々が、前記第一画像集合に属する前記第一の画像、及び前記第二画像集合に属する前記第二の画像の何れであるかを識別する識別用ニューラルネットワークとについて、前記第一の畳み込みニューラルネットワークと、前記識別用ニューラルネットワークとが、互いに競合することを表す損失関数を用いて、前記第一の畳み込みニューラルネットワーク及び前記識別用ニューラルネットワークのパラメータを更新するようにしてもよい。
【００２２】
また、第２の発明に係る検索装置は、上記第１の発明に係る学習装置によってパラメータが学習された第一の畳み込みニューラルネットワークを用いて、任意の画像を前記第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換する検索第一変換部と、前記任意の画像の変換画像と、第三の画像からなる第三画像集合の前記第三の画像の各々とから特徴量ベクトルを抽出する検索特徴量抽出部と、前記検索特徴量抽出部で抽出された前記変換画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の特徴量ベクトルとの組を用いた類似度に基づいて、前記任意の画像と前記第三の画像とを照合し、照合結果を出力する照合部と、を含んで構成されている。
【００２３】
また、第３の発明に係る検索装置は、上記第１の発明に係る学習装置によってパラメータが学習された前記第二の畳み込みニューラルネットワークを用いて、第三の画像からなる第三画像集合の前記第三の画像の各々を前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換する検索第二変換部と、任意の画像と、前記第三画像集合の前記第三の画像の各々の変換画像とから特徴量ベクトルを抽出する検索特徴量抽出部と、前記検索特徴量抽出部で抽出された前記任意の画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の変換画像の特徴量ベクトルとの組を用いた類似度に基づいて、前記任意の画像と前記第三の画像とを照合し、照合結果を出力する照合部と、を含んで構成されている。
【００２４】
また、第３の発明に係る検索装置において、前記第一の畳み込みニューラルネットワークを用いて、前記任意の画像を前記第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換する検索第一変換部を更に含み、前記検索特徴量抽出部は、更に、前記任意の画像の変換画像と、前記第三画像集合の前記第三の画像の各々とから特徴量ベクトルを抽出し、前記照合部は、前記検索特徴量抽出部で抽出された前記任意の画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の変換画像の特徴量ベクトルとの組を用いた類似度、及び前記任意の画像の変換画像の特徴量ベクトルと前記第三画像集合の前記第三の画像の各々の特徴量ベクトルとの組を用いた類似度に基づいて、前記任意の画像と前記第三の画像とを照合し、照合結果を出力するようにしてもよい。
【００２５】
第４の発明に係る学習方法は、第一変換部が、所定の解像度の第一の画像からなる第一画像集合に属する前記第一の画像の各々を、第一の畳み込みニューラルネットワークによって前記第一の画像よりも高解像度であって、第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換するステップと、第二変換部が、前記第二画像集合に属する前記第二の画像の各々を、第二の畳み込みニューラルネットワークによって前記第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換するステップと、特徴量抽出部が、前記第一画像集合に属する前記第一の画像の各々と、前記第二画像集合に属する前記第二の画像の各々と、前記第一変換部により変換された前記第一の画像の各々の変換画像の各々と、前記第二変換部により変換された前記第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出するステップと、パラメータ更新部が、前記特徴量抽出部により抽出された、前記第一画像集合に属する前記第一の画像の各々の特徴量ベクトルと前記第二変換部により変換された前記第二の画像の各々の変換画像の各々の特徴量ベクトルとの間の誤差、及び前記第二画像集合に属する前記第二の画像の各々の特徴量ベクトルと前記第一変換部により変換された前記第一の画像の各々の変換画像の各々の特徴量ベクトルとの誤差に基づいて、前記第一の畳み込みニューラルネットワーク及び前記第二の畳み込みニューラルネットワークのパラメータを更新するステップと、を含んで実行することを特徴とする。
【００２６】
第５の発明に係るプログラムは、コンピュータを、第１の発明に係る学習装置、又は第２若しくは第３の発明に係る検索装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２７】
本発明の学習装置、方法、及びプログラムによれば、所定の解像度の第一の画像からなる第一画像集合に属する第一の画像の各々を、第一の畳み込みニューラルネットワークによって第一の画像よりも高解像度であって、第二画像集合に属する第二の画像の解像度に対応する解像度となるように変換し、第二画像集合に属する第二の画像の各々を、第二の畳み込みニューラルネットワークによって第一画像集合に属する第一の画像の解像度に対応する解像度となるように変換し、第一画像集合に属する第一の画像の各々と、第二画像集合に属する第二の画像の各々と、変換された第一の画像の各々の変換画像の各々と、変換された第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出し、画像の各々の特徴量ベクトルと変換画像の各々の特徴量ベクトルとの間の誤差に基づいて、第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータを更新することにより、画像に写る物体を精度よく検索するためのニューラルネットワークのパラメータを学習することができる、という効果が得られる。
【００２８】
また、本発明の検索装置、方法、及びプログラムによれば、学習されたパラメータを用いた第一の畳み込みニューラルネットワークによって画像を変換し、学習されたパラメータを用いた第二の畳み込みニューラルネットワークによって、参照画像である第三の画像の各々を変換し、変換画像から特徴量ベクトルを抽出し、特徴量ベクトルの組を用いた類似度を照合し、照合した結果を出力することで、画像に写る物体を精度よく検索することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係る学習装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る検索装置の構成を示すブロック図である。
【図３】本発明の実施形態に係る学習装置における学習処理ルーチンを示すフローチャートである。
【図４】本発明の実施形態に係る検索装置における検索処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００３１】
本実施形態に係る学習装置、及び検索装置は、特定の対象となる物体（以下、特定対象物と呼ぶ）が写ったクエリ画像と参照画像との解像度が大きく乖離する場合であっても、高精度に検索結果を得るための学習装置、及び検索装置である。
【００３２】
＜本発明の実施形態に係る学習装置の構成＞
【００３３】
次に、本発明の実施形態に係る学習装置の構成について説明する。図１に示す学習装置１０は、特定の対象となる物体（以下、特定対象物と呼ぶ）が写ったクエリ画像と参照画像との解像度が大きく乖離する場合であっても、高精度に検索結果を得るための学習装置である。学習装置１０は、ＣＰＵと、ＲＡＭと、後述する学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この学習装置１０は、機能的には図１に示すように第一変換部２１と、第二変換部２２と、特徴量抽出部２３と、パラメータ更新部２４と、記憶部２９とを備えている。なお、以降では画像５がクエリ画像に対応し、第三画像集合６が１枚以上の参照画像からなる画像集合に対応するものとし、クエリ画像が低解像度に、参照画像が高解像度に特定対象物を写しているものとして説明する。また、解像度とは画像の総画素数を指すものとして説明する。
【００３４】
学習装置１０には、データベース２に格納された、１枚以上の低解像度な画像に対応する第一の画像からなる第一画像集合３、および、１枚以上の高解像度な画像に対応する第二の画像からなる第二画像集合４が入力される。なお、畳み込みニューラルネットワークは、入力された画像が変換された画像か参照画像であるかを判別するものを用いるため、第一画像集合３と第二画像集合４とで画像間の対応が取れている必要はないものとする。また、低解像度な画像に対応する第一の画像は、Ｂｉｃｕｂｉｃ法などによって拡大され、高解像度な画像に対応する第二の画像と画素数を揃えているものとする。
【００３５】
学習装置１０は、データベース２と通信手段（図示省略）を介して相互に情報を通信する。
【００３６】
データベース２は、例えば、一般的な汎用コンピュータに実装されているファイルシステムによって構成できる。本実施形態では、一例としてデータベース２には、第一画像集合３、及び、第二画像集合４の画像データが予め格納されているものとする。本実施形態では、各画像それぞれを一意に識別可能な、通し番号によるＩＤ（Identification）やユニークな画像ファイル名等の識別子が与えられているものとしている。また、データベース２は、各々の画像について、当該画像の識別子と、当該画像の画像データとを関連づけて記憶しているものとする。あるいは、データベース２は、同様に、ＲＤＢＭＳ（Relational Database Management System）等で実装及び構成されていても構わない。データベース２が記憶する情報は、その他、メタデータとして、例えば画像の内容を表現する情報（画像のタイトル、概要文、またはキーワード等）、画像のフォーマットに関する情報（画像のデータ量、サムネイル等のサイズ）等を含んでいても構わないが、これらの情報の記憶は本開示の実施においては必須ではない。
【００３７】
データベース２は、学習装置１０の内部及び外部の何れに設けられていても構わず、通信手段は任意の公知ものを用いることができる。なお、本実施形態では、データベース２は、学習装置１０の外部に設けられているものとし、インターネット、及びＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）等のネットワークを通信手段として学習装置１０と通信可能に接続されているものとする。
【００３８】
また、学習装置１０が備える各部及びデータベース２は、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit)等の演算処理装置や、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、及びＨＤＤ（Hard Disk Drive）等の記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは学習装置１０が備える上記記憶装置に予め記憶されていてもよいし、磁気ディスク、光ディスク、及び半導体メモリ等の記録媒体に格納して提供することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現しても構わない。
【００３９】
次に、本実施形態における学習装置１０の各部の機能について説明する。
【００４０】
第一変換部２１は、データベース２に格納された第一画像集合３に属する第一の画像の各々を、第一の畳み込みニューラルネットワークによって第一の画像よりも高解像度であって、第二画像集合４に属する第二の画像の解像度に対応する解像度となるように変換する。また、第一変換部２１は、第二変換部２２で変換された第二の画像の各々の変換画像の各々を、第一の畳み込みニューラルネットワークによって第二画像集合４に属する第二の画像の解像度に対応する解像度となるように再変換画像の各々として変換する。
【００４１】
本実施形態では、第一変換部２１の変換は低解像度画像から高解像度画像への変換を想定する。画像の変換で用いる第一の畳み込みニューラルネットワークは、ニューラルネットワークを用いて畳み込む方法であれば限定されない。本実施形態では、非特許文献３に記載の、ダウンサンプリングを行うストライド２の畳み込み層、residual block、アップサンプリングを行うストライド１／２の畳み込み層からなる９層の畳み込みニューラルネットワーク（ＣＮＮ:Convolutional Neural Network）によって畳み込むことで変換を実施する。
【００４２】
第二変換部２２は、データベース２に格納された第二画像集合４に属する第二の画像の各々を、第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように変換する。また、第二変換部２２は、第一変換部２１で変換された第一の画像の各々の変換画像の各々を、第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように再変換画像の各々として変換する。
【００４３】
特徴量抽出部２３は、第一画像集合３に属する第一の画像の各々と、第二画像集合４に属する第二の画像の各々と、第一変換部２１により変換された第一の画像の各々の変換画像の各々と、第二変換部２２により変換された第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する。
【００４４】
特徴量ベクトルの抽出処理には、ニューラルネットワークを用いて固定の次元を持つベクトルとして表現できるものを用いればよいが、例えば、非特許文献４に記載の方法を用いることで抽出できる。当該方法によれば、ＣＮＮの一種であるＶＧＧ１６、あるいは、ＲｅｓＮｅｔ１０１というニューラルネットワークに画像を入力した際の全結合層への入力に該当する特徴マップ（高さ、横幅、及び、チャネル数によって特徴マップの大きさが規定される）に関し、まず、様々な大きさの矩形を規定し、チャネルごとに矩形内の値の最大値を求めることで、矩形数×チャネル数のベクトルを得る。当該ベクトル群を正規化し、同一チャネルの値を足し合わせて再度正規化することで、一枚の画像をチャネル数の次元を持つ特徴量ベクトルによって表現することができる。正規化は、公知の方法を用いれば良いが、Ｌ２正規化が好適である。
【００４５】
[非特許文献４]A. Gordo, J. Almaz´an, J. Revaud, and D. Larlus, End-to-End learning  of deep visual representations for image retrieval, IJCV, 2017.
【００４６】
パラメータ更新部２４は、特徴量ベクトル間の誤差、変換前と再変換後の画像間の誤差、及び損失関数に基づいて、第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータを更新し、記憶部２９に格納する。
【００４７】
具体的には、特徴量ベクトル間の誤差は、第一画像集合３に属する第一の画像の各々の特徴量ベクトルと第二変換部２２により変換された第二の画像の各々の変換画像の各々の特徴量ベクトルとの間の誤差、及び第二画像集合４に属する前記第二の画像の各々の特徴量ベクトルと第一変換部２１により変換された第一の画像の各々の変換画像の各々の特徴量ベクトルとの誤差である。
【００４８】
変換前と再変換後の画像間の誤差は、第二変換部２２で更に変換された第一の画像の各々の再変換画像の各々と第一画像集合３に属する第一の画像の各々との誤差、及び第一変換部２１で更に変換された第二の画像の各々の再変換画像の各々と第二画像集合４に属する第二の画像の各々との誤差である。
【００４９】
損失関数は、第一の畳み込みニューラルネットワークと、第一変換部２１で変換された第一の画像の各々の変換画像の各々が、第一画像集合３に属する第一の画像、及び第二画像集合４に属する第二の画像の何れであるかを識別する識別用ニューラルネットワークとについて、第一の畳み込みニューラルネットワークと、識別用ニューラルネットワークとが、互いに競合することを表す損失関数と、第二の畳み込みニューラルネットワークと、第二変換部２２で変換された第二の画像の各々の変換画像の各々が、第一画像集合３に属する第一の画像、及び第二画像集合４に属する第二の画像の何れであるかを識別する識別用ニューラルネットワークとについて、第二の畳み込みニューラルネットワークと、識別用ニューラルネットワークとが、互いに競合することを表す損失関数とである。
【００５０】
パラメータ更新部２４は、以上の特徴量ベクトル間の誤差、変換前と再変換後の画像間の誤差、及び損失関数に基づいて、第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータを更新する。誤差の算出には、任意の公知の損失関数を用いて構わないが、例えば、変換前後の特徴量ベクトル間の２乗誤差によって求められる。また特徴量ベクトル間の誤差に加えて、非特許文献３に記載のAdversarial Lossの損失関数、および、Cycle Consistency Lossの画像間の誤差を足し合わせて用いてもよい。
【００５１】
Adversarial Lossは、上述した損失関数を用いて、第一の畳み込みニューラルネットワークと、識別用ニューラルネットワークとを交互に学習する。変換された第一の画像の変換画像が第一の画像であると識別されなくなるほど、損失関数の値が減少する。損失関数の値が減少するように、第一の畳み込みニューラルネットワーク及び識別用ニューラルネットワークのパラメータを更新する。つまり、識別用ニューラルネットワークが、変換画像を見分けることができなくなるように第一ニューラルネットワークのパラメータの学習を行う。また、同様に、上述した損失関数を用いて、第二の畳み込みニューラルネットワークと、識別用ニューラルネットワークとを交互に学習する。変換された第二の画像の変換画像が第二の画像であると識別されなくなるほど、損失関数の値が減少する。損失関数の値が減少するように、第二の畳み込みニューラルネットワーク及び識別用ニューラルネットワークのパラメータを更新する。
【００５２】
Cycle Consistency Lossは、第一画像集合３に属する第一の画像を第一変換部２１により変換した第一の画像の各々の変換画像の各々を、第二変換部２２により更に変換した再変換画像の各々と、変換前の第一の画像の各々との誤差、及び、第二画像集合４に属する第二の画像を第二変換部２２により変換した第二の画像の各々の変換画像の各々を、第一変換部２１により更に変換した再変換画像の各々と、変換前の第二の画像の各々との誤差によって構成される。
【００５３】
パラメータの更新方法は限定されないが、例えば、誤差逆伝播法を用いてパラメータを更新してもよい。誤差逆伝播法は、ニューラルネットワークの出力から入力に向かって各ニューロンのパラメータを局所誤差が小さくなるように修正する方法である。なお、上記の更新においては、特徴量ベクトル間の誤差及び変換前と再変換後の画像間の誤差を用いた更新と、損失関数を用いた更新とを交互に行えばよい。
【００５４】
＜本発明の実施形態に係る検索装置の構成＞
【００５５】
次に、本発明の実施形態に係る検索装置の構成について説明する。
【００５６】
本実施形態では、検索装置１１が低解像度なクエリ画像を高解像度に変換する、あるいは、高解像度な参照画像を低解像度に変換する、あるいは、どちらの変換も実施した後に特徴量ベクトルを抽出し照合することで、解像度が乖離する画像間の高精度な検索が可能となる。
【００５７】
図２に示す検索装置１１は、ＣＰＵと、ＲＡＭと、後述する学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この学習装置１０は、機能的には図２に示すように検索第一変換部３１と、検索第二変換部３２と、検索特徴量抽出部３３と、照合部３５と、記憶部３９とを備えている。
【００５８】
記憶部３９には、上記学習装置１０で学習された第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータが格納されている。
【００５９】
検索第一変換部３１は、照合対象の画像５を、記憶部３９に格納されたパラメータを用いた第一の畳み込みニューラルネットワークによって第一の画像よりも高解像度であって、第二画像集合４に属する第二の画像の解像度に対応する解像度となるように変換する。
【００６０】
検索第二変換部３２は、参照画像である第三の画像からなる第三画像集合６に属する第三の画像の各々を、記憶部３９に格納されたパラメータを用いた第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように変換する。なお、第三画像集合６は、第二画像集合４と同様のものであってもよい。
【００６１】
検索特徴量抽出部３３は、画像５と、検索第一変換部３１により変換された画像５の変換画像と、第三画像集合６に属する第三の画像の各々と、第三画像集合６に属する第三の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する。
【００６２】
照合部３５は、検索特徴量抽出部３３で抽出された画像５の特徴量ベクトルと検索第二変換部３２で変換された第三画像集合６に属する第三の画像の各々の特徴量ベクトルとの組、及び変換された画像５の特徴量ベクトルと第三画像集合６に属する第三の画像の各々の特徴量ベクトルとの組を用いた類似度を照合し、照合した結果を検索結果７として出力する。なお、類似度の照合は上記二つの組のうちの少なくとも一方の組であってもよい。
【００６３】
照合は、例えば、特徴量ベクトル間の内積を計算し、当該値を画像間の類似度とし、第三画像集合６の類似度の高い上位Ｎ枚を検索結果７として出力すればよい。Ｎは１以上第三画像集合６の画像枚数以下の整数である。
【００６４】
また、照合部３５に入力される画像５に関する特徴量ベクトルは１枚の画像５につき１つである必要は必ずしもなく、複数であるように構成できる。例えば、画像５から抽出した特徴量ベクトル、及び、検索第一変換部３１で変換された画像５から抽出した特徴量ベクトルを検索クエリとして、第三画像集合６に属する第三の画像の各々から抽出した特徴量ベクトル、及び、検索第二変換部３２で変換された第三画像集合６に属する第三の画像の各々から抽出した特徴量ベクトルから検索を行ってもよい。この場合、１枚の画像５につき２つの特徴量ベクトルが入力されるため、画像毎に２つの特徴量ベクトルを足し合わせ、正規化した後に、類似度を算出すればよい。正規化は、公知の方法を用いれば良いが、Ｌ２正規化が好適である。
【００６５】
＜本発明の実施形態に係る学習装置の作用＞
【００６６】
次に、本発明の実施形態に係る学習装置１０の作用について説明する。学習装置１０は、図３に示す学習処理ルーチンを実行する。
【００６７】
まず、ステップＳ２０１では、第一変換部２１が、データベース２に格納された第一画像集合３に属する第一の画像の各々を、第一の畳み込みニューラルネットワークによって第一の画像よりも高解像度であって、第二画像集合４に属する第二の画像の解像度に対応する解像度となるように変換する。
【００６８】
次に、ステップＳ２０２では、第二変換部２２が、データベース２に格納された第二画像集合４に属する第二の画像の各々を、第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように変換する。
【００６９】
ステップＳ２０３では、特徴量抽出部２３が、第一画像集合３に属する第一の画像の各々と、ステップＳ２０２で変換された第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する。
【００７０】
ステップＳ２０４では、特徴量抽出部２３が、第二画像集合４に属する第二の画像の各々と、ステップＳ２０１で変換された第一の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する。
【００７１】
ステップＳ２０５では、第一変換部２１が、ステップＳ２０２で変換された第二の画像の各々の変換画像の各々を、第一の畳み込みニューラルネットワークによって第二画像集合４に属する第二の画像の解像度に対応する解像度となるように再変換画像の各々として変換する。
【００７２】
ステップＳ２０６では、第二変換部２２が、ステップＳ２０１で変換された第一の画像の各々の変換画像の各々を、第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように再変換画像の各々として変換する。
【００７３】
ステップＳ２０７では、変換前と再変換後の変換前後の画像間の誤差として、第二変換部２２で更に変換された第一の画像の各々の再変換画像の各々と第一画像集合３に属する第一の画像の各々との誤差、及び第一変換部２１で更に変換された第二の画像の各々の再変換画像の各々と第二画像集合４に属する第二の画像の各々との誤差を算出し、特徴量ベクトル間の誤差として、第一画像集合３に属する第一の画像の各々の特徴量ベクトルと第二変換部２２により変換された第二の画像の各々の変換画像の各々の特徴量ベクトルとの間の誤差、及び第二画像集合４に属する第二の画像の各々の特徴量ベクトルと第一変換部２１により変換された第一の画像の各々の変換画像の各々の特徴量ベクトルとの誤差を算出し、算出した誤差、及び第一の畳み込みニューラルネットワークと識別用ニューラルネットワークとが互いに競合することを表す損失関数に基づいて第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータを更新し、記憶部２９に格納する。
【００７４】
以上説明したように、本発明の実施形態に係る学習装置によれば、所定の解像度の第一の画像からなる第一画像集合３に属する第一の画像の各々を、第一の畳み込みニューラルネットワークによって第一の画像よりも高解像度であって、第二画像集合４に属する第二の画像の解像度に対応する解像度となるように変換し、第二画像集合４に属する第二の画像の各々を、第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように変換し、第一画像集合３に属する第一の画像の各々と、第二画像集合４に属する第二の画像の各々と、変換された第一の画像の各々の変換画像の各々と、変換された第二の画像の各々の変換画像の各々とから特徴量ベクトルを抽出し、画像の各々の特徴量ベクトルと変換画像の各々の特徴量ベクトルとの間の誤差、画像の各々と変換画像の各々との誤差、及び第一の畳み込みニューラルネットワークと識別用ニューラルネットワークとが互いに競合することを表す損失関数に基づいて、第一の畳み込みニューラルネットワーク及び第二の畳み込みニューラルネットワークのパラメータを更新することにより、画像に写る物体を精度よく検索するためのニューラルネットワークのパラメータを学習することができる。
【００７５】
＜本発明の実施形態に係る検索装置の作用＞
【００７６】
次に、本発明の実施形態に係る検索装置１１の作用について説明する。検索装置１１は、図４に示す検索処理ルーチンを実行する。
【００７７】
まず、ステップＳ３０１では、検索第一変換部３１が、照合対象の画像５を、記憶部３９に格納されたパラメータを用いた第一の畳み込みニューラルネットワークによって第一の画像よりも高解像度であって、第二画像集合４に属する第二の画像の解像度に対応する解像度となるように変換する。
【００７８】
次に、ステップＳ３０２では、検索第二変換部３２が、参照画像である第三の画像からなる第三画像集合６に属する第三の画像の各々を、記憶部３９に格納されたパラメータを用いた第二の畳み込みニューラルネットワークによって第一画像集合３に属する第一の画像の解像度に対応する解像度となるように変換する。
【００７９】
ステップＳ３０３では、検索特徴量抽出部３３が、画像５と、検索第一変換部３１により変換された画像５の変換画像と、第三画像集合６に属する第三の画像の各々と、第三画像集合６に属する第三の画像の各々の変換画像の各々とから特徴量ベクトルを抽出する。
【００８０】
ステップＳ３０４では、検索特徴量抽出部３３で抽出された画像５の特徴量ベクトルと検索第二変換部３２で変換された第三画像集合６に属する第三の画像の各々の特徴量ベクトルとの組、及び変換された画像５の特徴量ベクトルと第三画像集合６に属する第三の画像の各々の特徴量ベクトルとの組を用いた類似度を照合し、照合した結果を検索結果７として出力する。
【００８１】
以上説明したように、本発明の実施形態に係る検索装置によれば、学習されたパラメータを用いた第一の畳み込みニューラルネットワークによって画像を変換し、学習されたパラメータを用いた第二の畳み込みニューラルネットワークによって、参照画像である第三の画像の各々を変換し、変換画像から特徴量ベクトルを抽出し、特徴量ベクトルの組を用いた類似度を照合し、照合した結果を出力することで、画像に写る物体を精度よく検索することができる。
【００８２】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８３】
以上、図面を参照して本発明の実施形態を説明してきたが、上記実施形態は本発明の例示に過ぎず、本発明が上記実施形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【００８４】
例えば、参照画像（第三画像集合６）のデータベースを構築し、第二変換部２２による画像の変換、及び、特徴量抽出部２３による特徴量ベクトルの抽出を実施の上データベースに格納しておき、クエリ画像（画像５）については適宜問い合わせのタイミングで外部から入力を受け付けて処理を行い、照合部３５がデータベースから参照画像の特徴量ベクトルを取得して類似度を算出してもよい。
【００８５】
また、必ずしも画像５および第三画像集合６のどちらの画像も変換する必要はなく、例えば、第三画像集合６を第二変換部２２で変換した第三の画像の各々の変換画像の各々から抽出した特徴量ベクトルと、画像５を変換せずに抽出した特徴量ベクトルとから照合を行ってもよい。この場合には、検索装置を、検索第二変換部と、検索特徴量抽出部と、照合部とを備えるように構成すればよい。このように構成することで、画像５を受け付けてから検索結果７を求めるまでに必要な時間の短縮効果が得られる。
【００８６】
また、例えば、第三画像集合６に属する第三の画像の各々から抽出した特徴量ベクトルと、画像５を変換した変換画像の特徴量ベクトルとから照合を行ってもよい。検索装置を、検索第一変換部と、検索特徴量抽出部と、照合部とを備えるように構成すればよい。このように構成することで、画像５を受け付けてから検索結果７を求めるまでに必要な時間の短縮効果が得られる。
【符号の説明】
【００８７】
３     第一画像集合
４     第二画像集合
５     画像
６     第三画像集合
７     検索結果
１０   学習装置
１１   検索装置
２１   第一変換部
２２   第二変換部
２３   特徴量抽出部
２４   パラメータ更新部
２９、３９    記憶部
３１   検索第一変換部
３２   検索第二変換部
３３   検索特徴量抽出部
３５   照合部
【図１】
2019211912.tif 000003
【図２】
2019211912.tif 000004
【図３】
2019211912.tif 000005
【図４】
2019211912.tif 000006