(57)【要約】【課題】プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができるようにする。【解決手段】パラメータ学習部１３０は、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルを出力する全畳み込み層と、特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、特徴テンソルと、重み行列とに基づいて、入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成される畳み込みニューラルネットワークを適用して得られる、適合画像である第１の画像の第１の特徴ベクトルと第２の画像の第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、畳み込みニューラルネットワークの各層のパラメータを学習する。【選択図】図２
2019219712.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像、第２の画像、及び前記第１の画像と前記第２の画像とが適合画像か否かを示すラベルの組である訓練データに基づいて、入力画像の特徴ベクトルを抽出する畳み込みニューラルネットワークを学習する画像特徴学習装置であって、
前記訓練データの入力を受け付ける入力部と、
前記畳み込みニューラルネットワークを、
前記入力画像に対して畳み込みを行うことにより、前記入力画像の特徴テンソルを出力する全畳み込み層と、
前記特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、
前記特徴テンソルと、前記重み行列とに基づいて、前記入力画像の特徴ベクトルを抽出するプーリング層と、
を含んで構成されるものとし、
前記訓練データに含まれる前記第１の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第１の特徴ベクトルと、前記訓練データに含まれる前記第２の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第２の特徴ベクトルと、前記訓練データに含まれる前記ラベルとに基づいて、適合画像である前記第１の画像の前記第１の特徴ベクトルと前記第２の画像の前記第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、前記畳み込みニューラルネットワークの各層のパラメータを学習するパラメータ学習部と、
を含む画像特徴学習装置。
【請求項２】
前記特徴テンソルは、前記入力画像の高さ、幅、及びチャネルに対応する３次元のテンソルであり、
前記重み行列推定層は、前記特徴テンソルを入力として、前記入力画像の高さ及び幅に対応する２次元の要素毎の重みを示す前記重み行列を推定し、
前記プーリング層は、前記入力画像のチャネル毎に、前記特徴テンソルの３次元の要素のうち、前記チャネルに対する、高さ及び幅に対応する２次元の要素と、前記重み行列の要素との加重一般化平均を計算して、前記チャネル毎に計算された計算値からなる前記特徴ベクトルを抽出する
請求項１記載の画像特徴学習装置。
【請求項３】
複数の倍率の各々について、前記訓練データに含まれる前記第１の画像及び前記第２の画像を、前記倍率を用いて拡大又は縮小したサイズに変換した複数の前記第１の画像及び複数の前記第２の画像を生成するサイズ画像生成部
を更に含み、
前記サイズ画像生成部によって生成された複数の前記第１の画像の各々を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた複数の前記第１の特徴ベクトルを統合した第１の統合特徴ベクトルと、前記サイズ画像生成部によって生成された複数の前記第２の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた複数の前記第２の特徴ベクトルを統合した第２の統合特徴ベクトルと、前記訓練データに含まれる前記ラベルとに基づいて、適合画像である前記第１の画像の前記第１の統合特徴ベクトルと前記第２の画像の前記第２の統合特徴ベクトルとの距離を用いて表される前記損失関数を計算して得られる損失関数値が小さくなるように、前記畳み込みニューラルネットワークの各層のパラメータを学習する
請求項１又は２記載の画像特徴学習装置。
【請求項４】
入力画像を受け付ける入力部と、
請求項１乃至３の何れか１項記載の画像特徴学習装置により学習された前記畳み込みニューラルネットワークを用いて、前記入力画像の特徴ベクトルを抽出する画像特徴抽出部と、
を含む画像特徴抽出装置。
【請求項５】
複数の倍率の各々について、前記入力画像を、前記倍率を用いて拡大又は縮小したサイズに変換した複数の前記入力画像を生成するサイズ画像生成部と、
を更に含み、
前記画像特徴抽出部は、前記複数の前記入力画像の各々について、前記畳み込みニューラルネットワークを用いて、特徴ベクトルを抽出し、前記複数の前記入力画像の各々について抽出された特徴ベクトルを統合したベクトルを、前記入力画像の特徴ベクトルとする
請求項４記載の画像特徴抽出装置。
【請求項６】
第１の画像、第２の画像、及び前記第１の画像と前記第２の画像とが適合画像か否かを示すラベルの組である訓練データに基づいて、入力画像の特徴ベクトルを抽出する畳み込みニューラルネットワークを学習する画像特徴学習方法であって、
入力部が、前記訓練データの入力を受け付け、
パラメータ学習部が、
前記畳み込みニューラルネットワークを、
前記入力画像に対して畳み込みを行うことにより、前記入力画像の特徴テンソルを出力する全畳み込み層と、
前記特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、
前記特徴テンソルと、前記重み行列とに基づいて、前記入力画像の特徴ベクトルを抽出するプーリング層と、
を含んで構成されるものとし、
前記訓練データに含まれる前記第１の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第１の特徴ベクトルと、前記訓練データに含まれる前記第２の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第２の特徴ベクトルと、前記訓練データに含まれる前記ラベルとに基づいて、適合画像である前記第１の画像の前記第１の特徴ベクトルと前記第２の画像の前記第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、前記畳み込みニューラルネットワークの各層のパラメータを学習する
画像特徴学習方法。
【請求項７】
入力部が、入力画像を受け付け、
画像特徴抽出部が、請求項６項記載の画像特徴学習方法により学習された前記畳み込みニューラルネットワークを用いて、前記入力画像の特徴ベクトルを抽出する
を含む画像特徴抽出方法。
【請求項８】
コンピュータを、請求項１乃至３の何れか１項記載の画像特徴学習装置、又は請求項４若しくは５記載の画像特徴抽出装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像特徴学習装置、画像特徴学習方法、画像特徴抽出装置、画像特徴抽出方法、及びプログラムに係り、特に画像の特徴を抽出するための画像特徴学習装置、画像特徴学習方法、画像特徴抽出装置、画像特徴抽出方法、及びプログラムに関する。
【背景技術】
【０００２】
画像特徴抽出は、画像の関心部分をコンパクトな特徴ベクトルとして効率的に表現する、一種の次元削減である。この方法は、画像のサイズが大きく、画像の認識やマッチング、探索などのタスクを素早く実行するために簡潔な特徴表現が必要な時に便利である。
【０００３】
近年、深層学習に基づく画像特徴抽出が注目を集めている。深層学習以前は、画像特徴抽出器は、試行錯誤で人間の専門家が設計していた。
【０００４】
深層学習では、畳み込みニューラルネットワーク（ＣＮＮ）を画像特徴抽出器として用い、それをデータから学習させることができる。
【０００５】
図１２は、画像特徴学習のために用いられるＣＮＮの構造の一例を示している。これは、画像のマッチング・探索をタスクとした時によく用いられる構造である。
【０００６】
学習時には、２枚の画像とそれらが適合画像か否かを示すラベルの組を訓練データとして入力し、損失関数値を出力する。多数の訓練データを与え、損失関数値を最小化することでＣＮＮのパラメータを学習する。
【０００７】
このＣＮＮは、全畳み込み層、プーリング層、損失関数値計算層で構成される。全畳み込み層は、画像を入力とし、３次元の特徴テンソルを出力する。この３次元は、入力画像の高さと幅に対応する第１と第２の次元と特徴テンソルのチャネル数に対応する第３の次元で構成される。
【０００８】
プーリング層は、特徴テンソルを入力とし、一次元の特徴ベクトルを出力する。損失関数値計算層は、２枚の画像から抽出された２個の特徴ベクトルと前記ラベルを入力とし、損失関数値を出力する。
【０００９】
学習済みのＣＮＮを画像特徴抽出器として用いる時には、一枚の画像を入力とし、プーリング層の出力である特徴ベクトルを抽出し、画像のマッチング・探索に用いる。
【００１０】
ＣＮＮに基づく画像特徴学習においてより良い性能を実現するためには、データに良くはまったプーリング層の設計が重要である。
【００１１】
非特許文献１では、ＣＮＮによく用いられている全結合層がプーリング層として用いられている。
【００１２】
非特許文献２では、プーリング層は、特徴テンソルの３次元の中で入力画像の高さと幅に対応する第１と第２の次元に対して作用し、その２次元に沿った特徴テンソルの要素の和を計算することで、特徴ベクトルを計算している。ここでは、要素がベクトルとして扱われる。また、プーリング層が作用した２次元のサイズは全て１になり、残っている一次元のサイズは変化しない。
【００１３】
非特許文献３の方法では、プーリング層は、前記特徴テンソルの要素の和を特徴テンソルの最大要素に取り換えて特徴ベクトルを計算している。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】Artem Babenko, Anton Slesarev, Alexander Chigorin, and Victor S. Lempitsky, Neural codes for image retrieval, In ECCV, 2014, pp. 584-599.
【非特許文献２】Artem Babenko and Victor S. Lempitsky, Aggregating local deep features for image retrieval, In ICCV, 2015, pp. 1269-1277.
【非特許文献３】Filip Radenovic, Giorgos Tolias, and Ondrej Chum, “CNN image retrieval learns from BoW: Unsupervised fine-tuning with hard examples,” in ECCV, 2016, pp. 3-20.
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、非特許文献１の方法は、プーリング層のパラメータ数が膨大で、パラメータの最適化が困難である、という問題があった。
【００１６】
また、非特許文献２、３の方法は、入力画像の高さと幅に対応する第１と第２の次元に沿った特徴テンソルの要素を等しく扱うため、画像特徴学習の性能が識別力のない画像領域から悪影響を受けてしまう、という問題があった。
【００１７】
本発明は上記の点に鑑みてなされたものであり、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができる画像特徴学習装置、画像特徴学習方法、及びプログラムを提供することを目的とする。
【００１８】
また、本発明は、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出することができる画像特徴抽出装置、画像特徴抽出方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明に係る画像特徴学習装置は、第１の画像、第２の画像、及び前記第１の画像と前記第２の画像とが適合画像か否かを示すラベルの組である訓練データに基づいて、入力画像の特徴ベクトルを抽出する畳み込みニューラルネットワークを学習する画像特徴学習装置であって、前記訓練データの入力を受け付ける入力部と、前記畳み込みニューラルネットワークを、前記入力画像に対して畳み込みを行うことにより、前記入力画像の特徴テンソルを出力する全畳み込み層と、前記特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、前記特徴テンソルと、前記重み行列とに基づいて、前記入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成されるものとし、前記訓練データに含まれる前記第１の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第１の特徴ベクトルと、前記訓練データに含まれる前記第２の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第２の特徴ベクトルと、前記訓練データに含まれる前記ラベルとに基づいて、適合画像である前記第１の画像の前記第１の特徴ベクトルと前記第２の画像の前記第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、前記畳み込みニューラルネットワークの各層のパラメータを学習するパラメータ学習部と、を備えて構成される。
【００２０】
また、本発明に係る画像特徴学習方法は、第１の画像、第２の画像、及び前記第１の画像と前記第２の画像とが適合画像か否かを示すラベルの組である訓練データに基づいて、入力画像の特徴ベクトルを抽出する畳み込みニューラルネットワークを学習する画像特徴学習方法であって、入力部が、前記訓練データの入力を受け付け、パラメータ学習部が、前記畳み込みニューラルネットワークを、前記入力画像に対して畳み込みを行うことにより、前記入力画像の特徴テンソルを出力する全畳み込み層と、前記特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、前記特徴テンソルと、前記重み行列とに基づいて、前記入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成されるものとし、前記訓練データに含まれる前記第１の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第１の特徴ベクトルと、前記訓練データに含まれる前記第２の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた第２の特徴ベクトルと、前記訓練データに含まれる前記ラベルとに基づいて、適合画像である前記第１の画像の前記第１の特徴ベクトルと前記第２の画像の前記第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、前記畳み込みニューラルネットワークの各層のパラメータを学習する。
【００２１】
本発明に係る画像特徴学習装置及び画像特徴学習方法によれば、入力部が、訓練データの入力を受け付け、パラメータ学習部が、畳み込みニューラルネットワークを、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルを出力する全畳み込み層と、特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、特徴テンソルと、重み行列とに基づいて、入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成されるものとする。
【００２２】
そして、パラメータ学習部が、訓練データに含まれる第１の画像を入力画像として畳み込みニューラルネットワークを適用して得られた第１の特徴ベクトルと、訓練データに含まれる第２の画像を入力画像として畳み込みニューラルネットワークを適用して得られた第２の特徴ベクトルと、訓練データに含まれるラベルとに基づいて、適合画像である第１の画像の第１の特徴ベクトルと第２の画像の第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、畳み込みニューラルネットワークの各層のパラメータを学習する。
【００２３】
このように、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルを出力する全畳み込み層と、特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、特徴テンソルと、重み行列とに基づいて、入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成される畳み込みニューラルネットワークを適用して得られる、適合画像である第１の画像の第１の特徴ベクトルと第２の画像の第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、畳み込みニューラルネットワークの各層のパラメータを学習することにより、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができる。
【００２４】
また、本発明に係る画像特徴学習装置の前記特徴テンソルは、前記入力画像の高さ、幅、及びチャネルに対応する３次元のテンソルであり、前記重み行列推定層は、前記特徴テンソルを入力として、前記入力画像の高さ及び幅に対応する２次元の要素毎の重みを示す前記重み行列を推定し、前記プーリング層は、前記入力画像のチャネル毎に、前記特徴テンソルの３次元の要素のうち、前記チャネルに対する、高さ及び幅に対応する２次元の要素と、前記重み行列の要素との加重一般化平均を計算して、前記チャネル毎に計算された計算値からなる前記特徴ベクトルを抽出することができる。
【００２５】
また、本発明に係る画像特徴学習装置は、複数の倍率の各々について、前記訓練データに含まれる前記第１の画像及び前記第２の画像を、前記倍率を用いて拡大又は縮小したサイズに変換した複数の前記第１の画像及び複数の前記第２の画像を生成するサイズ画像生成部を更に含み、前記サイズ画像生成部によって生成された複数の前記第１の画像の各々を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた複数の前記第１の特徴ベクトルを統合した第１の統合特徴ベクトルと、前記サイズ画像生成部によって生成された複数の前記第２の画像を前記入力画像として前記畳み込みニューラルネットワークを適用して得られた複数の前記第２の特徴ベクトルを統合した第２の統合特徴ベクトルと、前記訓練データに含まれる前記ラベルとに基づいて、適合画像である前記第１の画像の前記第１の統合特徴ベクトルと前記第２の画像の前記第２の統合特徴ベクトルとの距離を用いて表される前記損失関数を計算して得られる損失関数値が小さくなるように、前記畳み込みニューラルネットワークの各層のパラメータを学習することができる。
【００２６】
本発明に係る画像特徴抽出装置は、入力画像を受け付ける入力部と、上記の画像特徴学習装置により学習された前記畳み込みニューラルネットワークを用いて、前記入力画像の特徴ベクトルを抽出する画像特徴抽出部と、を備えて構成される。
【００２７】
また、本発明に係る画像特徴抽出方法は、入力部が、入力画像を受け付け、画像特徴抽出部が、上記の画像特徴学習方法により学習された前記畳み込みニューラルネットワークを用いて、前記入力画像の特徴ベクトルを抽出する。
【００２８】
本発明に係る画像特徴抽出装置及び画像特徴抽出方法によれば、入力部が、入力画像を受け付け、画像特徴抽出部が、上記の画像特徴学習装置又は画像特徴学習方法により学習された畳み込みニューラルネットワークを用いて、当該入力画像の特徴ベクトルを抽出する。
【００２９】
このように、上記の画像特徴学習装置又は画像特徴学習方法により学習された畳み込みニューラルネットワークを用いて、入力画像の特徴ベクトルを抽出することにより、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出することができる。
【００３０】
また、本発明に係る画像特徴抽出装置は、複数の倍率の各々について、前記入力画像を、前記倍率を用いて拡大又は縮小したサイズに変換した複数の前記入力画像を生成するサイズ画像生成部と、を更に含み、前記画像特徴抽出部は、前記複数の前記入力画像の各々について、前記畳み込みニューラルネットワークを用いて、特徴ベクトルを抽出し、前記複数の前記入力画像の各々について抽出された特徴ベクトルを統合したベクトルを、前記入力画像の特徴ベクトルとすることができる。
【００３１】
本発明に係るプログラムは、上記の画像特徴学習装置又は画像特徴抽出装置の各部として機能させるためのプログラムである。
【発明の効果】
【００３２】
本発明の画像特徴学習装置、画像特徴学習方法、及びプログラムによれば、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができる。
【００３３】
本発明の画像特徴抽出装置、画像特徴抽出方法、及びプログラムによれば、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に係るＣＮＮの構成の例を示すイメージ図である。
【図２】本発明の第１及び第２の実施の形態に係る画像特徴学習装置の構成を示すブロック図である。
【図３】本発明の第１及び第２の実施の形態に係る画像特徴学習装置の学習処理ルーチンを示すフローチャートである。
【図４】本発明の第１及び第２の実施の形態に係る画像特徴抽出装置の構成を示すブロック図である。
【図５】本発明の第１及び第２の実施の形態に係る画像特徴抽出装置の抽出処理ルーチンを示すフローチャートである。
【図６】本発明の第２の実施の形態に係る画像特徴抽出装置の実験結果を示す図である。
【図７】本発明の第２の実施の形態に係る画像特徴抽出装置の実験結果を示す図である。
【図８】本発明の第３の実施の形態に係る画像特徴学習装置の構成を示すブロック図である。
【図９】本発明の第３の実施の形態に係る画像特徴学習装置の学習処理ルーチンを示すフローチャートである。
【図１０】本発明の第３の実施の形態に係る画像特徴抽出装置の構成を示すブロック図である。
【図１１】本発明の第３の実施の形態に係る画像特徴抽出装置の抽出処理ルーチンを示すフローチャートである。
【図１２】従来技術のＣＮＮの構成の例を示すイメージ図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施の形態について図面を用いて説明する。
【００３６】
＜本発明の第１の実施の形態に係る画像特徴学習装置の概要＞
まず、第１の実施の形態に係る画像特徴学習装置の概要について説明する。
【００３７】
本実施形態に係る画像特徴学習装置では、従来の画像特徴学習のＣＮＮの構成（図１２）と異なり、特徴テンソルを入力とし、特徴テンソルの要素の重みである重み行列を出力する重み行列推定層を含む畳み込みニューラルネットワーク（ＣＮＮ）を用い、特徴テンソルの要素の重みを推定する（図１）。
【００３８】
そして、重み行列を用いて、特徴テンソルの各要素においてその要素のプーリングに対する作用を制御しながら、特徴テンソルを特徴ベクトルに変換する。制御の方法はプーリング方法によって異なるが、どのようなプーリング方法を用いるかは問わない。
【００３９】
このＣＮＮの各層で用いるパラメータを、訓練データを用いて学習する。
【００４０】
図１は、本実施形態に係る画像特徴学習装置が用いるＣＮＮの構造の一例を示している。これは、画像のマッチング・探索をタスクとした場合を例にした構造である。
【００４１】
ＣＮＮの各層で用いるパラメータを学習する時には、２枚の画像と、それらが適合画像か否かを示すラベルとの組を訓練データとして入力し、損失関数値を出力する。
【００４２】
そして、多数の訓練データを与え、損失関数値を最小化することでＣＮＮのパラメータを学習する。
【００４３】
このＣＮＮは、全畳み込み層、重み行列推定層、プーリング層、損失関数値計算層で構成される。
【００４４】
全畳み込み層は、画像を入力とし、３次元の特徴テンソルを出力する。重み行列推定層は、特徴テンソルを入力とし、特徴テンソルの要素の重みを格納する重み行列を出力する。プーリング層は、特徴テンソルと重み行列を入力とし、一次元の特徴ベクトルを出力する。損失関数値計算層は、２枚の画像から抽出された２個の特徴ベクトルとラベルを入力とし、損失関数値を出力する。
【００４５】
また、学習済みのＣＮＮを画像特徴抽出器として用いる時には、一枚の画像を入力とし、プーリング層の出力である特徴ベクトルを抽出し、画像のマッチング・探索に用いる。
【００４６】
特徴テンソルの要素をプーリングする時に、「どの要素の作用を強調すべきか」、「どの要素の作用を抑制すべきか」等を重みとして自動的に推定し、これらの重みを用いて各要素の作用を制御することで、特徴ベクトルを抽出する際に、識別力のない画像領域から受ける悪影響を軽減させることが可能とする。
【００４７】
また、重みを推定する方法としてＣＮＮを採用し、そのＣＮＮのパラメータを訓練データから学習させることで、入力画像に適応した重みの推定と要素の制御が可能となる。
【００４８】
その結果、特徴ベクトルを抽出する際に、識別力のない画像領域に対して頑健性の高い画像特徴抽出器の学習が可能となる。
【００４９】
＜本発明の第１の実施の形態に係る画像特徴学習装置の構成＞
図２を参照して、本発明の実施の形態に係る画像特徴学習装置１０の構成について説明する。図２は、本発明の実施の形態に係る画像特徴学習装置１０の構成を示すブロック図である。
【００５０】
画像特徴学習装置１０は、ＣＰＵと、ＲＡＭと、後述する学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００５１】
図２に示すように、本実施形態に係る画像特徴学習装置１０は、入力部１００と、画像特徴抽出部１１０と、ＣＮＮ記憶部１２０と、パラメータ学習部１３０とを備えて構成される。
【００５２】
入力部１００は、第１の画像、第２の画像、及び第１の画像と第２の画像とが適合画像か否かを示すラベルの組である訓練データの入力を受け付ける。
【００５３】
具体的には、入力部１００は、第１の画像Ｉｉ、第２の画像Ｉｊ、及びそれらが適合画像か否かを示すラベル
2019219712.tif 000003
の組の複数を訓練データとして入力を受け付ける。
【００５４】
そして、入力部１００は、受け付けた複数の訓練データに含まれる第１の画像Ｉｉ及び第２の画像Ｉｊを、画像特徴抽出部１１０に、受け付けた複数の訓練データに含まれるラベルｚｉ，ｊを、パラメータ学習部１３０に渡す
【００５５】
画像特徴抽出部１１０は、第１の画像Ｉｉ及び第２の画像Ｉｊの特徴ベクトルを抽出する。
【００５６】
具体的には、画像特徴抽出部１１０は、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルＸを出力する全畳み込み層を用いて、第１の画像Ｉｉ及び第２の画像Ｉｊの特徴テンソルＸｉ及びＸｊを求める。
【００５７】
ここで、特徴テンソルＸは、３次元の特徴テンソル（
2019219712.tif 000004
）であり、Ｈは画像の高さに対応し、Ｗは画像の幅に対応し、Ｋは画像のチャネル数に対応する。
【００５８】
具体的には、画像特徴抽出部１１０は、ＣＮＮ記憶部１２０に記憶された全畳み込み層のパラメータを取得し、第１の画像Ｉｉ及び第２の画像Ｉｊに対し、全畳み込み層を適用する。
【００５９】
全畳み込み層の構造の一例として、ＶＧＧ（非特許文献３）や、ＲｅｓＮｅｔ１０１等を用いることができる。ここで、ＶＧＧ等を全畳み込み層として用いる場合に、最後のＲｅＬＵ層以降の層（全結合層等）を取り除く。すなわち、全畳み込み層の出力する特徴テンソルの要素の値が非負であるようにする。
［参考文献１］Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, “Deep residual learning for image recognition,” in CVPR, 2016, pp. 770-778.
【００６０】
画像特徴抽出部１１０は、特徴テンソルＸの各要素の重みを示す重み行列Ωを推定する重み行列推定層を用いて、特徴テンソルＸｉの各要素の重みを示す重み行列Ωｉ、及び特徴テンソルＸｊの各要素の重みを示す重み行列Ωｊを求める。
【００６１】
ここで、重み行列
2019219712.tif 000005
であり、画像の高さ及び幅に対応する２次元の要素毎の重みからなる行列である。
【００６２】
具体的には、画像特徴抽出部１１０は、ＣＮＮ記憶部１２０に記憶された重み行列推定層のパラメータを取得し、特徴テンソルＸｉ及び特徴テンソルＸｊに対し、重み行列推定層を適用する。
【００６３】
重み行列推定層は、Ｈ×Ｗ×Ｋの非負テンソルを入力とし、Ｈ×Ｗの非負行列を出力するといった条件を満たす任意のＣＮＮを用いてよい。例えば、３×３×Ｋ×１のカーネルを用いる畳み込み層とＳｏｆｔｍａｘ層を組み合わせたＣＮＮを用いることができる。
【００６４】
ここで、重み行列推定層のパラメータを初期化する場合、ランダムに初期化してもよく、重み行列Ωの全ての要素の値が同じになるように初期化しても良い。
【００６５】
前述した例では、３×３×Ｋ×１のカーネルの全ての要素の値を０に初期化し、バイアスの値も０に初期化すれば、Ｎ＝Ｈ×Ｗとした時に重み行列の全ての要素の値が１／Ｎになる。
【００６６】
また、重み行列推定層のパラメータの学習率を、全畳み込み層より高い値にした方が、より良い性能を導く場合があり、例えば全畳み込み層のパラメータの学習率の１０倍とすることができる。
【００６７】
画像特徴抽出部１１０は、特徴テンソルＸと、重み行列Ωとに基づいて、入力画像の特徴ベクトル
2019219712.tif 000006
を抽出するプーリング層を用いて、特徴テンソルＸｉと重み行列Ωｉとに基づく第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000007
、及び特徴テンソルＸｊと重み行列Ωｊとに基づく第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000008
、を求める。
【００６８】
ここで、特徴ベクトル
2019219712.tif 000009
は、１次元の特徴ベクトル（
2019219712.tif 000010
）である。
【００６９】
具体的には、画像特徴抽出部１１０は、ＣＮＮ記憶部１２０に記憶されたプーリング層のパラメータを取得し、特徴テンソルＸｉ及び重み行列Ωｉと、特徴テンソルＸｊ及び重み行列Ωｊとの各々に対し、プーリング層を適用する。
【００７０】
プーリング層は、特徴テンソルＸと重み行列Ωとを入力とし、重み行列Ωを用いて特徴テンソルＸの各要素のプーリングに対する作用を制御しながら、３次元のテンソルである特徴テンソルＸを１次元のベクトルである特徴ベクトル
2019219712.tif 000011
に変換する。
【００７１】
ここで、特徴テンソルＸをＫ個のＨ×Ｗの特徴行列の集合とみなし、ｋ番目のチャネルに対応する特徴行列を
2019219712.tif 000012
とし、
2019219712.tif 000013
とする。
【００７２】
Ｎ＝Ｈ×Ｗとした時に、重み行列Ωを、
2019219712.tif 000014
とみなし、ｘｋを
2019219712.tif 000015
とみなすことができる。
【００７３】
プーリング層は、まず、重み行列Ωと特徴テンソルＸとを用いて、１次元の特徴ベクトル
2019219712.tif 000016
を計算する。
【００７４】
１次元の特徴ベクトルｙの計算方法は、例えば下記式（１）や式（２）等を用いることができる。
【００７５】
【数１】
2019219712.tif 000017
【００７６】
次に、プーリング層は、１次元の特徴ベクトルｙをＬ２正規化し、正規化された特徴ベクトルを特徴ベクトル
2019219712.tif 000018
として出力する。
【００７７】
そして、画像特徴抽出部１１０は、得られた第１の特徴ベクトル
2019219712.tif 000019
、及び第２の特徴ベクトル
2019219712.tif 000020
を、パラメータ学習部１３０に渡す。
【００７８】
ＣＮＮ記憶部１２０は、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルを出力する全畳み込み層と、特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、特徴テンソルと、重み行列とに基づいて、入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成されるＣＮＮの各層のパラメータを格納する。
【００７９】
パラメータ学習部１３０は、訓練データに含まれる第１の画像Ｉｉを入力画像としてＣＮＮを適用して得られた第１の特徴ベクトル
2019219712.tif 000021
と、訓練データに含まれる第２の画像Ｉｊを入力画像としてＣＮＮを適用して得られた第２の特徴ベクトル
2019219712.tif 000022
と、訓練データに含まれるラベルｚｉ，ｊとに基づいて、適合画像である第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000023
と第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000024
との距離を用いて表される損失関数を計算して得られる損失関数値Ｌｉ，ｊが小さくなるように、ＣＮＮの各層のパラメータを学習する。
【００８０】
具体的には、パラメータ学習部１３０は、適合画像である第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000025
と第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000026
との距離を用いて表される損失関数を、下記式（３）を用いて計算して、損失関数値Ｌｉ，ｊを算出する（非特許文献３参照）。
【００８１】
【数２】
2019219712.tif 000027
【００８２】
ここで、τはハイパーパラメータであり、例えば、
2019219712.tif 000028
の範囲から値を選ぶことができる。
【００８３】
次に、パラメータ学習部１３０は、得られた損失関数値Ｌｉ，ｊが最小となるように、ＣＮＮの各層のパラメータを学習する。
【００８４】
学習方法としては、損失関数を最適化する方法としての勾配法を用いる。例えば、確率的勾配降下法やＡｄａｍ（参考文献２）等が挙げられる。
［参考文献２］Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015.
【００８５】
Ａｄａｍを用いる場合は、例えばｌ０＝１０−６とした時に、ｓ番目のエポックの学習率をｌ０ｅ−０．１ｓにすることができる。
【００８６】
また、学習時の訓練データの与え方としてミニバッチ学習等が挙げられる。例えば、２枚の画像と１個のラベルを一組とした時に、ミニバッチのサイズを３０にし、ミニバッチ毎に３０組の訓練データを与えることができる。
【００８７】
そして、パラメータ学習部１３０は、学習したＣＮＮの各層のパラメータを、ＣＮＮ記憶部１２０に格納する。
【００８８】
＜本発明の第１の実施の形態に係る画像特徴学習装置の作用＞
図３は、本発明の実施の形態に係る学習処理ルーチンを示すフローチャートである。
【００８９】
入力部１００に訓練データが入力されると、画像特徴学習装置１０において、図３に示す学習処理ルーチンが実行される。
【００９０】
まず、ステップＳ１００において、入力部１００が、第１の画像、第２の画像、及び第１の画像と第２の画像とが適合画像か否かを示すラベルの組である訓練データの入力を受け付ける。
【００９１】
ステップＳ１１０において、画像特徴抽出部１１０は、第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000029
と第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000030
とを抽出する。
【００９２】
ステップＳ１２０において、パラメータ学習部１３０は、訓練データに含まれる第１の画像Ｉｉを入力画像としてＣＮＮを適用して得られた第１の特徴ベクトル
2019219712.tif 000031
と、訓練データに含まれる第２の画像Ｉｊを入力画像としてＣＮＮを適用して得られた第２の特徴ベクトル
2019219712.tif 000032
と、訓練データに含まれるラベルｚｉ，ｊとに基づいて、適合画像である第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000033
と第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000034
との距離を用いて表される損失関数を計算して得られる損失関数値Ｌｉ，ｊを計算する。
【００９３】
ステップＳ１３０において、パラメータ学習部１３０は、上記ステップＳ１２０により得られた損失関数値Ｌｉ，ｊが小さくなるように、ＣＮＮの各層のパラメータを更新する。
【００９４】
ステップＳ１４０において、パラメータ学習部１３０は、終了条件を満たすか否かを判定する。
【００９５】
終了条件を満たさない場合（ステップＳ１４０のＮＯ）、ステップＳ１００に戻り、訓練データの入力を受け付け、再度ステップＳ１００〜ステップＳ１３０の処理を繰り返す。
【００９６】
一方、終了条件を満たす場合（ステップＳ１４０のＹＥＳ）、ステップＳ１５０において、パラメータ学習部１３０は、ＣＮＮ記憶部１２０に格納されているＣＮＮの各層のパラメータを、最終的に学習したＣＮＮの各層のパラメータで更新し、処理を終了する。
【００９７】
以上説明したように、本発明の実施形態に係る画像特徴学習装置によれば、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルを出力する全畳み込み層と、特徴テンソルの各要素の重みを示す重み行列を推定する重み行列推定層と、特徴テンソルと、重み行列とに基づいて、入力画像の特徴ベクトルを抽出するプーリング層と、を含んで構成される畳み込みニューラルネットワークを適用して得られる、適合画像である第１の画像の第１の特徴ベクトルと第２の画像の第２の特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、畳み込みニューラルネットワークの各層のパラメータを学習することにより、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができる。
【００９８】
＜本発明の第１の実施の形態に係る画像特徴抽出装置の概要＞
本発明の実施の形態に係る画像特徴抽出装置の概要について説明する。
【００９９】
本実施形態に係る画像特徴抽出装置は、一枚の画像を画像特徴学習装置により学習済みのＣＮＮの入力とし、プーリング層の出力である特徴ベクトルを抽出し、画像のマッチング・探索に用いる。
【０１００】
＜本発明の第１の実施の形態に係る画像特徴抽出装置の構成＞
本発明の実施の形態に係る画像特徴抽出装置２０の構成について説明する。なお、第１の実施の形態に係る画像特徴学習装置１０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１０１】
画像特徴抽出装置２０は、ＣＰＵと、ＲＡＭと、後述する抽出処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１０２】
図４に示すように、本実施形態に係る画像特徴抽出装置２０は、入力部２００と、画像特徴抽出部１１０と、ＣＮＮ記憶部１２０と、探索部２４０と、特徴ベクトルＤＢ２５０と、出力部２６０とを備えて構成される。
【０１０３】
入力部２００は、入力画像Ｉの入力を受け付け、受け付けた入力画像Ｉを画像特徴抽出部１１０に渡す。
【０１０４】
画像特徴抽出部１１０は、画像特徴学習装置１０により学習されたＣＮＮを用いて、入力画像Ｉの特徴ベクトル
2019219712.tif 000035
を抽出する。
【０１０５】
すなわち、ＣＮＮ記憶部１２０には、画像特徴学習装置１０により学習されたＣＮＮの各層のパラメータが格納されている。
【０１０６】
特徴ベクトルＤＢ２５０には、参照画像の特徴ベクトルと、当該参照画像の情報とが紐づけて格納されている。参照画像の特徴ベクトルは、画像特徴学習装置１０により学習されたＣＮＮを用いて抽出されたものである。
【０１０７】
そして、画像特徴抽出部１１０は、抽出した入力画像Ｉの特徴ベクトル
2019219712.tif 000036
を、探索部２４０に渡す。
【０１０８】
探索部２４０は、画像特徴抽出部１１０により得られた入力画像Ｉの特徴ベクトル
2019219712.tif 000037
を用いて、特徴ベクトルＤＢ２５０に格納された参照画像の特徴ベクトルとのマッチングを行い、最も類似する特徴ベクトルを探索する。
【０１０９】
そして、探索部２４０は、得られた特徴ベクトルに紐づく参照画像の情報を、出力部２６０に渡す。
【０１１０】
出力部２６０は、探索部２４０により得られた参照画像の情報を出力する。
【０１１１】
＜本発明の第１の実施の形態に係る画像特徴抽出装置の作用＞
図５は、本発明の第１の実施の形態に係る抽出処理ルーチンを示すフローチャートである。
【０１１２】
入力部２００に入力画像Ｉが入力されると、画像特徴抽出装置２０において、図５に示す抽出処理ルーチンが実行される。
【０１１３】
まず、ステップＳ２００において、入力部２００が、入力画像Ｉの入力を受け付ける。
【０１１４】
ステップＳ２１０において、画像特徴抽出部１１０は、入力画像Ｉの特徴ベクトル
2019219712.tif 000038
を求める。
【０１１５】
ステップＳ２２０において、探索部２４０は、上記ステップＳ２３０により得られた入力画像Ｉの特徴ベクトル
2019219712.tif 000039
を用いて、特徴ベクトルＤＢ２５０に格納された参照画像の特徴ベクトルとのマッチングを行い、最も類似する特徴ベクトルを探索する。
【０１１６】
ステップＳ２３０において、出力部２６０は、上記ステップＳ２２０により得られた特徴ベクトルに紐づく参照画像の情報を出力する。
【０１１７】
以上説明したように、本実施形態に係る画像特徴抽出装置によれば、画像特徴学習装置により学習された畳み込みニューラルネットワークを用いて、入力画像の特徴ベクトルを抽出することにより、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出することができる。
【０１１８】
＜本発明の第２の実施の形態に係る画像特徴学習装置の概要＞
本発明の第２の実施形態の概要について説明する。
【０１１９】
本実施形態では、特徴テンソルの要素の重みを用いて、プーリング層が、特徴テンソルの３次元の中で入力画像の高さと幅に対応する第１と第２の次元に対して作用し、その２次元に沿った特徴テンソルの要素の加重一般化平均を計算し、得られた計算値からなるベクトルを特徴ベクトルとして出力する。
【０１２０】
このような構成を採ることにより、特徴テンソルの要素をプーリングする方法として加重一般化平均を採用し、加重一般化平均のパラメータと一部のパラメータ（重み）を訓練データから学習させることで、データに良く適応したプーリング方法の実現が可能となる。
【０１２１】
その結果、識別力のない画像領域に対してより頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができる。
【０１２２】
＜本発明の第２の実施の形態に係る画像特徴学習装置の構成＞
本発明の第２の実施の形態に係る画像特徴学習装置１０に係る画像特徴抽出部１１０について説明する。なお、プーリング層以外の構成は、第１の実施の形態に係る画像特徴学習装置１０と同様であるため、詳細な説明は省略する。
【０１２３】
画像特徴抽出部１１０は、入力画像のチャネル毎に、特徴テンソルＸの３次元の要素のうち、当該チャネルに対する、高さ及び幅に対応する２次元の各要素と、重み行列Ωの各要素との加重一般化平均を計算して、チャネル毎に計算された計算値からなる特徴ベクトル
2019219712.tif 000040
を抽出するプーリング層を用いて、特徴テンソルＸｉと重み行列Ωｉとに基づく第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000041
、及び特徴テンソルＸｊと重み行列Ωｊとに基づく第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000042
、を求める。
【０１２４】
具体的には、画像特徴抽出部１１０は、ＣＮＮ記憶部１２０に記憶されたプーリング層のパラメータを取得し、特徴テンソルＸｉ及び重み行列Ωｉと、特徴テンソルＸｊ及び重み行列Ωｊとの各々に対し、プーリング層を適用する。
【０１２５】
プーリング層は、まず、重み行列Ωと特徴テンソルＸとを用いて、１次元の特徴ベクトル
2019219712.tif 000043
を計算する。
【０１２６】
本実施形態では、１次元の特徴ベクトルｙの計算方法は、下記式（４）を用いる。
【０１２７】
【数３】
2019219712.tif 000044
【０１２８】
次に、プーリング層は、１次元の特徴ベクトルｙをＬ２正規化し、正規化された特徴ベクトルを特徴ベクトル
2019219712.tif 000045
として出力する。
【０１２９】
ここで、ｐは、プーリング層のパラメータであり、全畳み込み層や重み行列推定層のパラメータと共に、パラメータ学習部１３０により学習される。
【０１３０】
ｐを初期化するときに、例えば
2019219712.tif 000046
の範囲から値を選ぶことができる。
【０１３１】
また、ｐの学習率を全畳み込み層より高い値にした方がより良い性能を導く場合があり、例えば全畳み込み層のパラメータの学習率の１０倍にすることができる。また、ｐの荷重減衰は０にする。
【０１３２】
そして、画像特徴抽出部１１０は、得られた第１の特徴ベクトル
2019219712.tif 000047
、及び第２の特徴ベクトル
2019219712.tif 000048
を、パラメータ学習部１３０に渡す。
【０１３３】
＜本発明の第２の実施の形態に係る画像特徴学習装置の作用＞
図３を参照して、本発明の第２の実施の形態に係る学習処理ルーチンについて説明する。なお、第１の実施の形態に係る学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１３４】
ステップＳ１１０において、画像特徴抽出部１１０は、第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000049
と第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000050
とを抽出する。
【０１３５】
この場合、画像特徴抽出部１１０は、入力画像のチャネル毎に、特徴テンソルＸの３次元の要素のうち、当該チャネルに対する、高さ及び幅に対応する２次元の各要素と、重み行列Ωの各要素との加重一般化平均を上記式（４）に従って計算して、チャネル毎に計算された計算値からなる特徴ベクトル
2019219712.tif 000051
を抽出するプーリング層を用いて、特徴テンソルＸｉと重み行列Ωｉとに基づく第１の画像Ｉｉの第１の特徴ベクトル
2019219712.tif 000052
、及び特徴テンソルＸｊと重み行列Ωｊとに基づく第２の画像Ｉｊの第２の特徴ベクトル
2019219712.tif 000053
、を求める。
【０１３６】
以上説明したように、本実施形態に係る画像特徴学習装置によれば、プーリング層が、入力画像のチャネル毎に、特徴テンソルの３次元の要素のうち、当該チャネルに対する、高さ及び幅に対応する２次元の要素と、重み行列の要素との加重一般化平均を計算して、チャネル毎に計算された計算値からなる特徴ベクトルを抽出してＣＮＮの各層のパラメータを学習するため、識別力のない画像領域に対してより頑健性の高い画像の特徴を抽出するためのニューラルネットワークを学習することができる。
【０１３７】
＜本発明の第２の実施の形態に係る画像特徴抽出装置の構成＞
本発明の第２の実施の形態に係る画像特徴抽出装置は、第１の実施の形態に係る画像特徴抽出装置に、第２の実施の形態に係る画像特徴学習装置１０の画像特徴抽出部１１０を適用したものであるため、詳細な説明は省略する。
【０１３８】
＜本発明の第２の実施の形態に係る画像特徴抽出装置の作用＞
本発明の第２の実施の形態に係る抽出処理ルーチンは、第１の実施の形態に係る抽出処理ルーチンに、第２の実施の形態に係る学習処理ルーチンのステップＳ１１０を適用したものであるため、詳細な説明は省略する。
【０１３９】
＜本発明の第２の実施の形態に係る画像特徴抽出装置の実験結果＞
ここで、本実施の形態に係る画像特徴抽出装置を用いた実験結果について説明する。
【０１４０】
＜＜実験準備＞＞
本実験では、ＣＮＮの全畳み込み層の初期値に、ＲｅｓＮｅｔ１０１（参考文献１）を用いた。
【０１４１】
また、非特許文献３、参考文献３のように、本実施形態に係るＣＮＮのパラメータは、１６３Ｋ以上の画像から得られた画像の組の訓練データセットを使用して訓練した。
［参考文献３］Filip Radenovic, Giorgos Tolias, and Ondrej Chum, “Finetuning CNN image retrieval with no human annotation,” CoRR, 2017.
【０１４２】
パラメータ学習は、３０エポックで実施され、最良のＣＮＮはバリデーションデータセット上のＭＡＰ（平均精度）に基づいて選択した。また、各エポック毎に、約６Ｋと１．７Ｋタプルを学習とバリデーションのために選択した。各タプルには、１つのクエリ、１つの正のイメージ、及び５つの負のイメージが含まれる。
【０１４３】
Ａｄａｍ（参考文献２）を、初期学習率ｌ０＝１０−６、エポックｓの指数関数的減衰ｌ０ｅ−０．１ｓ、及び５つのタプルのバッチサイズで使用した。
【０１４４】
式（３）のハイパーパラメータτは、０．８５に設定した。２Ｄマスクを生成する３×３畳み込み層に関しては、最初の反復で重み行列Ωに属する全てのωｉが同一となるように、フィルタの重みとバイアスの両方を０で初期化した。
【０１４５】
バリデーションのために、インスタンスレベルの画像検索で広く使用されている３つのベンチマーク（Ｏｘｆｏｒｄ５Ｋ（参考文献４）、Ｏｘｆｏｒｄ１０５Ｋ（参考文献４）、及びＰａｒｉｓ６Ｋ（参考文献５））を使用した。
［参考文献４］James Philbin, Ondrej Chum, Michael Isard, Josef Sivic, and Andrew Zisserman, “Object retrieval with large vocabularies and fast spatial matching,” in CVPR, 2007.
［参考文献５］James Philbin, Ondrej Chum, Michael Isard, Josef Sivic, and Andrew Zisserman, “Lost in quantization: Improving particular object retrieval in large scale image databases,” in CVPR, 2008.
【０１４６】
ＭＡＰは、全ての訓練データセットのパフォーマンス測定値として使用した
【０１４７】
＜＜実験結果＞＞
最初に、ＧｅＭ（参考文献３）と比較することによって本実施形態に係るＣＮＮのパフォーマンスを分析した。
【０１４８】
式（４）において、ｐは様々な方法で構成することができる。例えば、（１）全てのチャネルで共有されるｐを使用する、（２）
2019219712.tif 000054
を有するチャネルに依存するｐｋを使用する、（３）ｐをハイパーパラメータとして使用する等様々な方法で構成することができる。
【０１４９】
参考文献３と同じ戦略を採用し、ｐについて異なる初期値を用いて実験した結果を図６に示す。
【０１５０】
図６では、本実施形態は、ｐの何れの初期値においても、Ｐａｒｉｓ６ＫにおいてはＧｅＭとの差はほとんどなかったものの、Ｏｘｆｏｒｄ５Ｋにおいては一貫してＧｅＭよりも優れた結果を示した。
【０１５１】
次に、本実施形態の手法を深層画像検索に広く利用されているクエリ拡張（ＱＥ）（参考文献６）と組み合わせた。
［参考文献６］Ondrej Chum, James Philbin, Josef Sivic, Michael Isard, and Andrew Zisserman, “Total recall: Automatic query expansion with a generative feature model for object retrieval,” in ICCV, 2007, pp. 1-8.
【０１５２】
本実験では、Ｏｘｆｏｒｄ５ＫとＯｘｆｏｒｄ１０５ＫではｎＱＥ＝１０、Ｐａｒｉｓ６ＫではｎＱＥ＝５０と設定した。
【０１５３】
図７に示すように、ＱＥと組み合わせた後、本実施形態に係るＣＮＮは、パフォーマンスを更に向上させ、全てのデータセットの技術と比較して優れていることが分かった。
【０１５４】
以上説明したように、本実施形態に係る画像特徴抽出装置によれば、第２の実施の形態に係る画像特徴学習装置により学習された畳み込みニューラルネットワークを用いて、入力画像の特徴ベクトルを抽出することにより、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対してより頑健性の高い画像の特徴を抽出することができる。
【０１５５】
＜本発明の第３の実施の形態に係る画像特徴学習装置の概要＞
本発明の実施の形態に係る画像特徴学習装置の概要について説明する。
【０１５６】
本実施形態では、複数の倍率を用いて第１の画像及び第２の画像のサイズを変更し、得られた複数の第１の画像及び複数の第２の画像の各々について特徴ベクトルを抽出する。
【０１５７】
この時、サイズが異なる複数の第１の画像の特徴ベクトルを統合した第１の統合特徴ベクトルを計算し、第１の画像の特徴ベクトルとする。また、サイズが異なる複数の第２の画像の特徴ベクトルを統合した第２の統合特徴ベクトルを計算し、第２の画像の特徴ベクトルとする。
【０１５８】
このような構成により、より精度良くＣＮＮの学習を実現することが可能となる。
【０１５９】
＜本発明の第３の実施の形態に係る画像特徴学習装置の構成＞
本発明の第３の実施の形態に係る画像特徴学習装置３０の構成について説明する。なお、第１又は第２の実施の形態に係る画像特徴学習装置１０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１６０】
画像特徴学習装置３０は、ＣＰＵと、ＲＡＭと、後述する学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１６１】
図８に示すように、本実施形態に係る画像特徴学習装置３０は、入力部１００と、サイズ画像生成部３００と、画像特徴抽出部１１０と、ＣＮＮ記憶部１２０と、パラメータ学習部３３０とを備えて構成される。
【０１６２】
サイズ画像生成部３００は、複数の倍率ｒの各々について、訓練データに含まれる第１の画像Ｉｉ及び第２の画像Ｉｊを、当該倍率ｒを用いて拡大又は縮小したサイズに変換した複数の第１の画像Ｉｉ及び複数の第２の画像Ｉｊを生成する。
【０１６３】
具体的には、サイズ画像生成部３００は、予め定めた複数の倍率ｒの各々について、入力部１００が受け付けた第１の画像Ｉｉ及び第２の画像Ｉｊを、当該倍率ｒを用いて拡大又は縮小したサイズに変換する。
【０１６４】
ｓ個の倍率ｒをｒ＝｛ｒ１，...，ｒｓ｝と表す。例えば、ｓ＝３であり、ｒ＝｛０．５，１．０，２．０｝とすると、当該倍率ｒを用いて拡大又は縮小したサイズの第１の画像Ｉｉは、画像Ｉｉ，１、Ｉｉ，２、Ｉｉ，３と表すことができ、画像Ｉｉ，１は、第１の画像Ｉｉの高さ及び幅をそれぞれ０．５倍に縮小したサイズの画像であり、画像Ｉｉ，２は、第１の画像Ｉｉの高さ及び幅をそれぞれ１倍したサイズの画像であり（すなわち、変換しない画像）、画像Ｉｉ，３は、第１の画像Ｉｉの高さ及び幅をそれぞれ２倍に拡大したサイズの画像である。
【０１６５】
そして、サイズ画像生成部３００は、変換した複数の第１の画像Ｉｉ及び複数の第２の画像Ｉｊを画像特徴抽出部１１０に渡す。
【０１６６】
画像特徴抽出部１１０は、サイズ画像生成部３００によって生成された複数の第１の画像Ｉｉの各々を入力画像としてＣＮＮを適用して得られた複数の第１の特徴ベクトル
2019219712.tif 000055
を求め、第１の画像Ｉｉの複数の第１の特徴ベクトル
2019219712.tif 000056
を統合した第１の統合特徴ベクトルを算出する。
【０１６７】
また、画像特徴抽出部１１０は、サイズ画像生成部３００によって生成された複数の第２の画像Ｉｊを入力画像としてＣＮＮを適用して得られた複数の第２の特徴ベクトル
2019219712.tif 000057
を求め、第２の画像Ｉｊの複数の第２の特徴ベクトル
2019219712.tif 000058
を統合した第２の統合特徴ベクトルを算出する。
【０１６８】
統合する方法としては、複数の特徴ベクトルの平均を取る方法、要素毎の最大値若しくは最小値を選択する方法、又は一般化平均を計算する方法等を用いることができる。一般化平均を計算する場合には、一般化平均のパラメータｐも学習する構成とする。
【０１６９】
ここで、以下では便宜上、第１の統合特徴ベクトルを、
2019219712.tif 000059
を用いて表し、第２の統合特徴ベクトルを、
2019219712.tif 000060
を用いて表す。
【０１７０】
そして、画像特徴抽出部１１０は、算出した第１の統合特徴ベクトル
2019219712.tif 000061
及び第２の統合特徴ベクトル
2019219712.tif 000062
を、パラメータ学習部３００に渡す。
【０１７１】
パラメータ学習部３３０は、サイズ画像生成部３００によって生成された複数の第１の画像Ｉｉの各々を入力画像としてＣＮＮを適用して得られた複数の第１の特徴ベクトル
2019219712.tif 000063
を統合した第１の統合特徴ベクトルと、サイズ画像生成部３００によって生成された複数の第２の画像Ｉｊを入力画像としてＣＮＮを適用して得られた複数の第２の特徴ベクトル
2019219712.tif 000064
を統合した第２の統合特徴ベクトルと、訓練データに含まれるラベルｚｉ，ｊとに基づいて、適合画像である第１の画像Ｉｉの第１の統合特徴ベクトルと第２の画像Ｉｊの第２の統合特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、ＣＮＮの各層のパラメータを学習する。
【０１７２】
具体的には、パラメータ学習部３３０は、適合画像である第１の画像Ｉｉの第１の統合特徴ベクトル
2019219712.tif 000065
と第２の画像Ｉｊの第２の統合特徴ベクトル
2019219712.tif 000066
との距離を用いて表される損失関数を計算して、損失関数値Ｌｉ，ｊを算出する。
【０１７３】
次に、パラメータ学習部３３０は、得られた損失関数値Ｌｉ，ｊが最小となるように、ＣＮＮの各層のパラメータを学習する。学習方法は、第１の実施形態と同様の方法を採用することができる。
【０１７４】
そして、パラメータ学習部３３０は、学習したＣＮＮの各層のパラメータを、ＣＮＮ記憶部１２０に格納する。
【０１７５】
＜本発明の第３の実施の形態に係る画像特徴学習装置の作用＞
図９は、本発明の第３の実施の形態に係る学習処理ルーチンを示すフローチャートである。なお、第１の実施の形態に係る学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１７６】
ステップＳ３０５において、サイズ画像生成部３００は、複数の倍率ｒの各々について、訓練データに含まれる第１の画像Ｉｉ及び第２の画像Ｉｊを、当該倍率ｒを用いて拡大又は縮小したサイズに変換した複数の第１の画像Ｉｉ及び複数の第２の画像Ｉｊを生成する。
【０１７７】
ステップＳ３１５において、画像特徴抽出部１１０は、適合画像である第１の画像Ｉｉの複数の第１の特徴ベクトル
2019219712.tif 000067
を統合した第１の統合特徴ベクトルと、第２の画像Ｉｊの複数の第２の特徴ベクトル
2019219712.tif 000068
を統合した第２の統合特徴ベクトルを算出する。
【０１７８】
ステップＳ３２０において、パラメータ学習部３３０は、適合画像である第１の画像Ｉｉの第１の統合特徴ベクトル
2019219712.tif 000069
と第２の画像Ｉｊの第２の統合特徴ベクトル
2019219712.tif 000070
との距離を用いて表される損失関数を計算して、損失関数値Ｌｉ，ｊを算出する。
【０１７９】
以上説明したように、本実施形態に係る画像特徴学習装置によれば、複数の倍率の各々について、訓練データに含まれる第１の画像を、当該倍率を用いて拡大又は縮小したサイズに変換して生成した複数の第１の画像の各々を入力画像として畳み込みニューラルネットワークを適用して得られた複数の第１の特徴ベクトルを統合した第１の統合特徴ベクトルと、複数の倍率の各々について、訓練データに含まれる第２の画像を、当該倍率を用いて拡大又は縮小したサイズに変換して生成した複数の第２の画像の各々を入力画像として畳み込みニューラルネットワークを適用して得られた複数の第２の特徴ベクトルを統合した第２の統合特徴ベクトルと、訓練データに含まれるラベルとに基づいて、適合画像である第１の画像の第１の統合特徴ベクトルと第２の画像の前記第２の統合特徴ベクトルとの距離を用いて表される損失関数を計算して得られる損失関数値が小さくなるように、畳み込みニューラルネットワークの各層のパラメータを学習するため、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴を抽出するためのニューラルネットワークを精度良く学習することができる。
【０１８０】
＜本発明の第３の実施の形態に係る画像特徴抽出装置の概要＞
本発明の実施の形態に係る画像特徴抽出装置の概要について説明する。
【０１８１】
画像認識では、同じ物体を撮影した画像でも撮影距離や焦点の当て方によって、画像に写っている目標物体のサイズが異なったり、ぼかし度合い等の見た目が異なったりする場合がある。
【０１８２】
本実施形態では、複数の倍率を用いて入力画像のサイズを変更し、得られた複数の入力画像から学習済みＣＮＮを用いて複数の特徴ベクトルを抽出する。これらの特徴ベクトルを統合した統合特徴ベクトルを計算し、入力画像の特徴ベクトルとする。
【０１８３】
このような構成により、サイズが異なった場合により生じる画像認識の性能に対する影響を軽減することができ、より精度良く画像の特徴ベクトルを抽出することができる。
【０１８４】
＜本発明の第３の実施の形態に係る画像特徴抽出装置の構成＞
本発明の実施の形態に係る画像特徴抽出装置４０の構成について説明する。なお、第１の実施の形態に係る画像特徴抽出装置２０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１８５】
画像特徴抽出装置４０は、ＣＰＵと、ＲＡＭと、後述する学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１８６】
図１０に示すように、本実施形態に係る画像特徴抽出装置４０は、入力部１００と、サイズ画像生成部３００と、画像特徴抽出部４１０と、ＣＮＮ記憶部１２０と、探索部２４０と、特徴ベクトルＤＢ２５０と、出力部２６０とを備えて構成される。
【０１８７】
サイズ画像生成部３００は、複数の倍率ｒの各々について、入力画像Ｉを、当該倍率ｒを用いて拡大又は縮小したサイズに変換した複数の入力画像Ｉを生成する。
【０１８８】
具体的には、サイズ画像生成部３００は、予め定めた複数の倍率ｒの各々について、入力部２００が受け付けた入力画像Ｉを、当該倍率ｒを用いて拡大又は縮小したサイズに変換する。
【０１８９】
このサイズの変換については、画像特徴学習装置３０のサイズ画像生成部３００と同様である。
【０１９０】
そして、サイズ画像生成部３００は、変換した複数の入力画像Ｉを画像特徴抽出部１１０に渡す。
【０１９１】
ＣＮＮ記憶部１２０は、画像特徴学習装置３０により学習されたＣＮＮの各層のパラメータを格納している。
【０１９２】
画像特徴抽出部４１０は、複数の入力画像Ｉの各々について、畳み込みニューラルネットワークを用いて、特徴ベクトル
2019219712.tif 000071
を抽出し、複数の入力画像Ｉの各々について抽出された特徴ベクトル
2019219712.tif 000072
を統合したベクトルを、入力画像Ｉの特徴ベクトル
2019219712.tif 000073
とする。
【０１９３】
具体的には、画像特徴抽出部４１０は、入力画像に対して畳み込みを行うことにより、入力画像の特徴テンソルＸを出力する全畳み込み層を用いて、サイズ画像生成部３００によって生成された複数の入力画像Ｉの各々について、当該入力画像Ｉの特徴テンソルＸを求める。
【０１９４】
画像特徴抽出部４１０は、特徴テンソルＸの各要素の重みを示す重み行列Ωを推定する重み行列推定層を用いて、複数の特徴テンソルＸの各々について、当該特徴テンソルＸの各要素の重みを示す重み行列Ωを求める。
【０１９５】
画像特徴抽出部４１０は、特徴テンソルＸと、重み行列Ωとに基づいて、入力画像の特徴ベクトルを抽出するプーリング層を用いて、複数の入力画像Ｉの各々について、当該入力画像Ｉの特徴テンソルＸと重み行列Ωとに基づく入力画像Ｉの特徴ベクトル
2019219712.tif 000074
を求め、入力画像Ｉの複数の特徴ベクトル
2019219712.tif 000075
を統合した統合特徴ベクトル
2019219712.tif 000076
を算出する。
【０１９６】
統合する方法としては、複数の特徴ベクトルの平均を取る方法、要素毎の最大値若しくは最小値を選択する方法、又は一般化平均を計算する方法等を用いることができる。一般化平均を計算する場合には、一般化平均のパラメータｐも学習する構成とする。
【０１９７】
る。
【０１９８】
ここで、特徴ベクトル
2019219712.tif 000077
を統合する方法としては、複数の特徴ベクトルの平均を取る方法、要素毎の最大値若しくは最小値を選択する方法、又は一般化平均を計算する方法等を用いることができる。一般化平均を計算する場合には、学習された一般化平均のパラメータｐ（ＣＮＮ記憶部１２０に格納される）を用いる。
【０１９９】
そして、画像特徴抽出部４１０は、抽出した入力画像Ｉの特徴ベクトル
2019219712.tif 000078
を、探索部２４０に渡す。
【０２００】
特徴ベクトルＤＢ２５０には、参照画像の特徴ベクトルと、当該参照画像の情報とが紐づけて格納されている。参照画像の特徴ベクトルは、画像特徴学習装置１０により学習されたＣＮＮを用いて抽出されたものであり、当該参照画像を縮小又は拡大した複数の画像について抽出された特徴ベクトルを統合したものである。
【０２０１】
＜本発明の第３の実施の形態に係る画像特徴抽出装置の作用＞
図１１は、本発明の第３の実施の形態に係る抽出処理ルーチンを示すフローチャートである。なお、第１の実施の形態に係る抽出処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０２０２】
ステップＳ４０５において、サイズ画像生成部３００は、複数の倍率ｒの各々について、入力画像Ｉを、当該倍率ｒを用いて拡大又は縮小したサイズに変換した複数の入力画像Ｉを生成する。
【０２０３】
ステップＳ４１５において、画像特徴抽出部４１０は、入力画像Ｉの複数の特徴ベクトル
2019219712.tif 000079
を統合した統合特徴ベクトルを算出する。
【０２０４】
以上説明したように、本実施形態に係る画像特徴抽出装置によれば、複数の倍率の各々について、入力画像を、当該倍率を用いて拡大又は縮小したサイズに変換した複数の入力画像を生成するサイズ画像生成部を更に含み、複数の入力画像の各々について、畳み込みニューラルネットワークを用いて、特徴ベクトルを抽出し、複数の入力画像の各々について抽出された特徴ベクトルを統合したベクトルを、入力画像の特徴ベクトルとするため、プーリング層のパラメータ数を最小限に抑えつつ、識別力のない画像領域に対して頑健性の高い画像の特徴をより精度良く抽出することができる。
【０２０５】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０２０６】
例えば、パラメータ学習部１３０は、バリデーションデータを用意しておき、学習に用いてもよい。例えば、エポック数を３０にし、訓練データを３０回繰り返してＣＮＮの各層のパラメータを学習させることができる。その結果、３０個の学習済みＣＮＮを得ることができる。
【０２０７】
この時、各学習済みのＣＮＮをバリデーションデータで検証し、性能の良いＣＮＮを結果とする。訓練データとバリデーションデータとの割合は、例えば、３．５：１等とすることができる。
【０２０８】
また、第３の実施形態において、画像特徴学習装置３０は、適合画像である第１の画像Ｉｉ及び第２の画像Ｉｊの各々について、統合特徴ベクトルに複数の特徴ベクトルを統合してから損失関数値を計算して、ＣＮＮの各層のパラメータの学習を行ったが、これに限定されるものではなく、統合せずに、適合画像である第１の画像Ｉｉ及び第２の画像Ｉｊの各々の特徴ベクトルを用いて損失関数値を計算し、この損失関数値が最小になるようにＣＮＮの各層のパラメータを学習する構成としてもよい。
【０２０９】
また、画像特徴学習装置３０は、適合画像である第１の画像Ｉｉ及び第２の画像Ｉｊについて画像サイズを変更せずに、上記第１の実施の形態と同様に、ＣＮＮの各層のパラメータを学習する構成としてもよい。
【０２１０】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０２１１】
１０   画像特徴学習装置
２０   画像特徴抽出装置
３０   画像特徴学習装置
４０   画像特徴抽出装置
１００ 入力部
１１０ 画像特徴抽出部
１２０ ＣＮＮ記憶部
１３０ パラメータ学習部
２００ 入力部
２４０ 探索部
２５０ 特徴ベクトルＤＢ
２６０ 出力部
３００ サイズ画像生成部
３３０ パラメータ学習部
４１０ 画像特徴抽出部
【図１】
2019219712.tif 000080
【図２】
2019219712.tif 000081
【図３】
2019219712.tif 000082
【図４】
2019219712.tif 000083
【図５】
2019219712.tif 000084
【図６】
2019219712.tif 000085
【図７】
2019219712.tif 000086
【図８】
2019219712.tif 000087
【図９】
2019219712.tif 000088
【図１０】
2019219712.tif 000089
【図１１】
2019219712.tif 000090
【図１２】
2019219712.tif 000091