(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】学習装置、検索装置、学習方法、検索方法、学習プログラム、及び検索プログラム
(51)【国際特許分類】
G06F 16/53 20190101AFI20221213BHJP
G06T 7/00 20170101ALI20221213BHJP
【FI】
G06F16/53
G06T7/00 350C
(21)【出願番号】P 2021528077
(86)(22)【出願日】2019-06-17
(86)【国際出願番号】 JP2019023976
(87)【国際公開番号】W WO2020255227
(87)【国際公開日】2020-12-24
【審査請求日】2021-11-01
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】渡邉 之人
(72)【発明者】
【氏名】梅田 崇之
(72)【発明者】
【氏名】島村 潤
(72)【発明者】
【氏名】嵯峨田 淳
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2018-147392(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算する第一検索部と、
前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算する第二検索部と、
前記第一検索部によって計算された前記第一類似度と、前記第二検索部によって計算された前記第二類似度とを統合した統合類似度を計算する統合部と、を含み、
前記第一検索部の特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている検索装置。
【請求項2】
ラベルが付与された参照画像の各々についての特徴量ベクトルとは異なる特徴に関する情報を用いて、前記参照画像間の組み合わせについて、前記特徴に関する情報を用いた類似度である第二類似度を計算する第二検索部と、
前記参照画像のうち、前記ラベルの基準とする基準画像、前記基準画像に類似する前記参照画像を類似画像、及び前記基準画像に類似しない前記参照画像を非類似画像として、
所定の画像を入力として特徴量ベクトルを出力するニューラルネットワークから出力される、前記基準画像の特徴量ベクトルと前記類似画像の特徴量ベクトルとの第一類似度及び前記基準画像の特徴量ベクトルと前記非類似画像の特徴量ベクトルとの第一類似度と、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンとを含む損失関数を用いて、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、マージンが大きくなるように、前記ニューラルネットワークのパラメータを更新するパラメータ更新部と、
を含む学習装置。
【請求項3】
前記パラメータ更新部は、前記基準画像、前記類似画像、及び前記非類似画像の3つ組について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が閾値以上であって、かつ、前記マージンが閾値以上である前記組のみを用いた、前記損失関数により前記ニューラルネットワークのパラメータを更新する請求項2に記載の学習装置。
【請求項4】
検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算し、
前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、
前記計算された前記第一類似度と、前記計算された前記第二類似度とを統合した統合類似度を計算し、
前記特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている、
ことを含む処理をコンピュータが実行することを特徴とする検索方法。
【請求項5】
ラベルが付与された参照画像の各々についての特徴量ベクトルとは異なる特徴に関する情報を用いて、前記参照画像間の組み合わせについて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、
前記参照画像のうち、前記ラベルの基準とする基準画像、前記基準画像に類似する前記参照画像を類似画像、及び前記基準画像に類似しない前記参照画像を非類似画像として、
所定の画像を入力として特徴量ベクトルを出力するニューラルネットワークから出力される、前記基準画像の特徴量ベクトルと前記類似画像の特徴量ベクトルとの第一類似度及び前記基準画像の特徴量ベクトルと前記非類似画像の特徴量ベクトルとの第一類似度と、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンとを含む損失関数を用いて、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、マージンが大きくなるように、前記ニューラルネットワークのパラメータを更新する、
ことを含む処理をコンピュータが実行することを特徴とする学習方法。
【請求項6】
検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算し、
前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、
前記計算された前記第一類似度と、前記計算された前記第二類似度とを統合した統合類似度を計算し、
前記特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている、
ことをコンピュータに実行させる検索プログラム。
【請求項7】
ラベルが付与された参照画像の各々についての特徴量ベクトルとは異なる特徴に関する情報を用いて、前記参照画像間の組み合わせについて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、
前記参照画像のうち、前記ラベルの基準とする基準画像、前記基準画像に類似する前記参照画像を類似画像、及び前記基準画像に類似しない前記参照画像を非類似画像として、
所定の画像を入力として特徴量ベクトルを出力するニューラルネットワークから出力される、前記基準画像の特徴量ベクトルと前記類似画像の特徴量ベクトルとの第一類似度及び前記基準画像の特徴量ベクトルと前記非類似画像の特徴量ベクトルとの第一類似度と、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンとを含む損失関数を用いて、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、マージンが大きくなるように、前記ニューラルネットワークのパラメータを更新する、
ことをコンピュータに実行させる学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、学習装置、検索装置、学習方法、検索方法、学習プログラム、及び検索プログラムに関する。
【背景技術】
【0002】
スマートフォン等の小型撮像デバイスの普及に伴い、様々な場所及び環境で任意の対象を撮影したような画像中に写る物体を認識する技術への要望が高まってきている。
【0003】
従来、画像中の物体を認識する種々の技術が開示されているが、画像の検索に基づく典型的な手続きを特許文献1に従って概説する。まず、画像から特徴的な部分領域を多数検出し、各部分領域の特徴を実数値又は整数値からなる特徴量ベクトルとして表現する。この特徴量ベクトルは、一般には、「局所特徴量」と呼ばれる。局所特徴量としては、非特許文献1に記載のScale Invariant Feature Transform (SIFT)が用いられることが多い。次に、互いに異なる二つの画像に含まれる部分領域について特徴量ベクトルを比較し、同一性を判定する。同一な物の数が多ければ、この二枚の画像は類似しており同一の物体を含む可能性が高く、小さければ低いと言える。認識したい物体を含む画像を参照画像として参照画像データベースを構築し、新たに入力された画像をクエリ画像として同一の物体が写っている参照画像を検索することにより、クエリ画像中に存在する物体を特定することができる。
【0004】
他にも、非特許文献2には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いる方法が開示されている。画像からCNNを用いて特徴量ベクトルを抽出する。次に、互いに異なる二つの画像に含まれる特徴量ベクトル同士の類似度としてコサイン類似度などを計算することで検索を行う。基準画像、基準画像と類似する画像、及び、基準画像と類似しない画像からなる3つ組の学習データを用いてCNNの学習を行う。CNNの学習は、類似する画像の特徴量ベクトル間の距離dpと、類似しない画像の特徴量ベクトル間の距離dnとから求める損失関数1/2×max(0,dp-dn+m)が小さくなるように行う。mは距離の差であるマージンを表す固定値のパラメータである。
【0005】
また、前述の複数の検索方法による検索結果を統合することにより検索を行う方法が一般的に知られている。例えば、クエリ画像と参照画像との間の類似度において、局所特徴量を用いて算出した類似度xと、CNNを用いて算出した類似度yを、双方の類似度の重み付き線形和ax+byで統合して最終的な類似度を算出し、最終的な類似度に応じた検索結果を出力する。相補的となる複数の検索方法を統合することによる精度向上効果が広く知られている。
【先行技術文献】
【非特許文献】
【0006】
【文献】D.G.Lowe. Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, pp.91-110, 2004.
【文献】A. Gordo, J. Almazan, J. Revaud, and D. Larlus. End-to-endlearning of deep visual representations for image retrieval, IJCV,pp.1-18, 2017.
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献2に記載されるCNNを用いる方法は、CNN単体での検索を前提としたものであり、特許文献1などの他の検索方法との統合を考慮していない。そのため、CNNによる検索を含む複数の検索方法を統合しても、各検索方法が不得手とする物体画像が一致した場合、異なる物体が検索されてしまい、検索精度が低下するという課題がある。
【0009】
開示の技術は、上記事情を鑑みて成されたものであり、複数の画像検索方法を相補的に統合することで画像に含まれる物体を精度よく検索することができる検索装置、検索方法、及び検索プログラムを提供することを目的とする。
【0010】
また、複数の画像検索方法を相補的に統合することで画像に含まれる物体を精度よく検索するためのニューラルネットワークを学習することができる学習装置、学習方法、及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本開示の第1態様は、検索装置であって、検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算する第一検索部と、前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算する第二検索部と、前記第一検索部によって計算された前記第一類似度と、前記第二検索部によって計算された前記第二類似度とを統合した統合類似度を計算する統合部と、を含み、前記第一検索部の特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている。
【0012】
本開示の第2態様は、学習装置であって、ラベルが付与された参照画像の各々についての特徴量ベクトルとは異なる特徴に関する情報を用いて、前記参照画像間の組み合わせについて、前記特徴に関する情報を用いた類似度である第二類似度を計算する第二検索部と、前記参照画像のうち、前記ラベルの基準とする基準画像、前記基準画像に類似する前記参照画像を類似画像、及び前記基準画像に類似しない前記参照画像を非類似画像として、所定の画像を入力として特徴量ベクトルを出力するニューラルネットワークから出力される、前記基準画像の特徴量ベクトルと前記類似画像の特徴量ベクトルとの第一類似度及び前記基準画像の特徴量ベクトルと前記非類似画像の特徴量ベクトルとの第一類似度と、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンとを含む損失関数を用いて、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、マージンが大きくなるように、前記ニューラルネットワークのパラメータを更新するパラメータ更新部と、を含む。
【0013】
本開示の第3態様は、検索方法であって、検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算し、前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、前記計算された前記第一類似度と、前記計算された前記第二類似度とを統合した統合類似度を計算し、前記特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている、ことを含む処理をコンピュータが実行することを特徴とする。
【0014】
本開示の第4態様は、学習方法であって、ラベルが付与された参照画像の各々についての特徴量ベクトルとは異なる特徴に関する情報を用いて、前記参照画像間の組み合わせについて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、前記参照画像のうち、前記ラベルの基準とする基準画像、前記基準画像に類似する前記参照画像を類似画像、及び前記基準画像に類似しない前記参照画像を非類似画像として、所定の画像を入力として特徴量ベクトルを出力するニューラルネットワークから出力される、前記基準画像の特徴量ベクトルと前記類似画像の特徴量ベクトルとの第一類似度及び前記基準画像の特徴量ベクトルと前記非類似画像の特徴量ベクトルとの第一類似度と、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンとを含む損失関数を用いて、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、マージンが大きくなるように、前記ニューラルネットワークのパラメータを更新する、ことを含む処理をコンピュータが実行することを特徴とする。
【0015】
本開示の第5態様は、検索プログラムであって、第3態様の検索方法と同様の処理をコンピュータに実行させる。
【0016】
本開示の第6態様は、学習プログラムであって、第4態様の学習方法と同様の処理をコンピュータに実行させる。
【発明の効果】
【0017】
開示の技術の検索装置、検索方法、及び検索プログラムによれば、複数の画像検索方法を相補的に統合することで画像に含まれる物体を精度よく検索することができる、という効果が得られる。
【0018】
開示の技術の学習装置、学習方法、及び学習プログラムによれば、複数の画像検索方法を相補的に統合することで画像に含まれる物体を精度よく検索するためのニューラルネットワークを学習することができる、という効果が得られる。
【図面の簡単な説明】
【0019】
【
図1】本実施形態の学習装置の構成を示すブロック図である。
【
図2】学習装置及び検索装置のハードウェア構成を示すブロック図である。
【
図3】本実施形態の検索装置の構成を示すブロック図である。
【
図4】学習装置による学習処理の流れを示すフローチャートである。
【
図5】検索装置による検索処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0021】
以下、本実施形態の構成及び作用について説明する。
【0022】
<学習装置の構成>
図1は、本実施形態の学習装置の構成を示すブロック図である。
【0023】
図1に示すように、学習装置1は、第二検索部11と、パラメータ更新部12と、記憶部13とを含んで構成されている。第二検索部11は、後述する検索装置の第一検索部及び第二検索部のうちの第二検索部に対応しており、特徴量ベクトルとは異なる特徴に関する情報を用いて第二類似度計算する処理を行う。
【0024】
学習装置1は、データベース2と通信手段を介して接続されて相互に情報通信する。データベース2は、例えば、一般的な汎用コンピュータに実装されているファイルシステムによって構成できる。本実施形態では、一例としてデータベース2には、画像集合3の参照画像、及び参照画像に関する各種データが予め格納されている。本実施形態では、画像集合3の各参照画像それぞれを一意に識別可能な、通し番号によるID(Identification)やユニークな画像ファイル名等の識別子が与えられている。また、データベース2は、各々の参照画像について、当該参照画像の識別子と、当該参照画像の画像データとを関連づけて記憶している。あるいは、データベース2は、同様に、RDBMS(Relational Database Management System)等で実装、構成されていても構わない。データベース2が記憶する情報は、その他、メタデータとして、例えば参照画像の内容を表現する情報(参照画像のタイトル、概要文、又はキーワード等)、参照画像のフォーマットに関する情報(参照画像のデータ量、サムネイル等のサイズ)等を含んでいても構わない。ただし、これらの情報の記憶は本開示の実施においては必須ではない。
【0025】
データベース2は、学習装置1の内部及び外部の何れに設けられていても構わず、通信手段は任意の公知の手法を用いる。なお、本実施形態では、データベース2は、学習装置1の外部に設けられている。データベース2は、インターネット、及びTCP/IP(Transmission Control Protocol/Internet Protocol)等のネットワークを通信手段として学習装置1と通信可能に接続されている。
【0026】
画像集合3は、参照画像に含まれる特定対象物を表すラベルが付与された参照画像群である。ラベルは、例えば、整数とし、参照画像に含まれる特定対象物が同一であるものは同じ整数を割り当てればよい。また、画像集合3は、各々のラベルが付与された参照画像が少なくとも2枚は含まれて構成されているものとする。以下の処理において、画像集合3の各参照画像はデータベース2から読み出される。
【0027】
次に、学習装置1のハードウェア構成を説明する。
図2は、学習装置1のハードウェア構成を示すブロック図である。
【0028】
図2に示すように、学習装置1は、CPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、ストレージ24、入力部25、表示部26及び通信インタフェース(I/F)27を有する。各構成は、バス29を介して相互に通信可能に接続されている。
【0029】
CPU21は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU21は、ROM22又はストレージ24からプログラムを読み出し、RAM23を作業領域としてプログラムを実行する。CPU21は、ROM22又はストレージ24に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM22又はストレージ24には、学習プログラムが格納されている。
【0030】
ROM22は、各種プログラム及び各種データを格納する。RAM23は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ24は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0031】
入力部25は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0032】
表示部26は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部26は、タッチパネル方式を採用して、入力部25として機能してもよい。
【0033】
通信インタフェース27は、端末等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0034】
次に、学習装置1の各機能構成について説明する。各機能構成は、CPU21がROM22又はストレージ24に記憶された学習プログラムを読み出し、RAM23に展開して実行することにより実現される。
【0035】
記憶部13には、ニューラルネットワークとして、所定の画像を入力として特徴量ベクトルを出力するCNN、及びCNNのパラメータを格納しておく。本実施形態のCNNは、画像を入力として固定次元の特徴量ベクトルを出力するものであれば限定されず、各層の構成は任意の公知の物を用いてよい。例えば、非特許文献2に記載のVGG16、ResNet101などから全結合層を取り除いた構成を用いればよい。また、既存の適当な学習パラメータ、又はその一部を、CNNのパラメータの初期値として用いてもよい。以下、CNNに関する処理は記憶部13のCNNについて読み出し及び更新される。
【0036】
第二検索部11は、ラベルが付与された参照画像の各々についての特徴量ベクトルとは異なる特徴に関する情報を用いて、参照画像間の組み合わせについて、特徴に関する情報を用いた類似度である第二類似度を計算する。特徴に関する情報における特徴は、以下に説明するように特徴量ベクトルとは異なる特徴である。
【0037】
第二検索部11は、データベース2に記憶されている画像集合3の各参照画像を読み出して、各参照画像ペア間の類似度を算出して第二類似度として出力する。類似度としては、任意の手法で求めることができる。例えば、非特許文献1に記載されるSIFTのような局所特徴量を画像集合3の各参照画像から算出し、特許文献1に記載される局所特徴量のマッチングによる類似度の算出を行ってもよい。また、画像集合3の各参照画像がメタデータを持つ場合、それらを用いて類似度の算出を行ってもよい。例えば、付与されたキーワードの関連度や、概要文の類似度などを利用可能である。これらの局所特徴量などは、特徴量ベクトルとは異なる特徴であり、これらを特徴に関する情報として用いる。
【0038】
パラメータ更新部12は、損失関数を用いて、基準画像と類似画像との第二類似度に対する、基準画像と非類似画像との第二類似度が大きくなるほど、マージンが大きくなるように、CNNのパラメータを更新する。ここで、各参照画像は、基準画像、基準画像に類似する類似画像、及び基準画像に類似しない非類似画像は分けられる。基準画像、類似画像、及び非類似画像は、参照画像のラベルから判別され、基準画像と同一のラベルの参照画像を類似画像とし、同一でないラベルの参照画像を非類似画像とする。以下、第二検索部11の具体的な手法を説明する。以下、パラメータ更新部12の具体的な手法を説明する。
【0039】
パラメータ更新部12は、各参照画像を読み出してCNNへの入力として、CNNのパラメータを用いた畳み込みを行い、固定の次元を持つ特徴量ベクトルを抽出して獲得する。そして、参照画像間の特徴ベクトルの類似度を第一類似度として算出する。ここで獲得する第一類似度は、基準画像の特徴量ベクトルと類似画像の特徴量ベクトルとの第一類似度、及び基準画像の特徴量ベクトルと非類似画像の特徴量ベクトルとの第一類似度である。
【0040】
損失関数は、基準画像の特徴量ベクトルと類似画像の特徴量ベクトルとの第一類似度及び基準画像の特徴量ベクトルと非類似画像の特徴量ベクトルとの第一類似度と、マージンとを含む。マージンは、後述する式(2)で示される、基準画像と類似画像との第二類似度、及び基準画像と非類似画像との第二類似度に基づくマージンである。
【0041】
損失関数は、以下式(1)に示すように、マージンmを含む任意の関数を用いればよい。本実施形態においては、式(1)で表される非特許文献2に記載のTriplet Lossを用いる場合を説明する。
【数1】
・・・(1)
【0042】
d
pは基準画像の特徴量ベクトルと、基準画像と類似する類似画像の特徴量ベクトルとの距離、d
nは基準画像の特徴量ベクトルと、基準画像と類似しない非類似画像の特徴量ベクトルとの距離である。距離としては、L1距離、L2距離など特徴量ベクトル間の距離を測る任意の尺度を用いればよい。mは距離の差であるマージンを表し、本実施形態においては、例えば下記式(2)で求められる。
【数2】
・・・(2)
【0043】
spは基準画像と類似画像との第二類似度、snは基準画像と非類似画像との第二類似度である。m0はマージンの基準となる基準マージンであり、例えば、0.1などとすればよい。λは第二類似度の影響度合いを表すパラメータで、第二類似度に合わせてチューニングする。例えば、第二類似度が-1.0~1.0の値域で、m0が0.1であれば、λ=0.05などとすればよい。
【0044】
パラメータ更新部12は、基準画像、類似画像、及び非類似画像の3つ組ごとに式(2)で求めたマージンmを用いた式(1)の損失関数を用いて、CNNのパラメータを最適化する。これにより、基準画像と非類似画像との第二類似度が高い場合にはマージンを大きく、低い場合にはマージンを小さくすることが可能となり、第二類似度と相補的になるようCNNのパラメータを更新することができる。
【0045】
また、CNN以外の方法による類似度は複数あってもよく、式(2)の1項と同様の項を式(2)追加することで対応可能である。
【0046】
また、基準画像、類似画像、及び非類似画像の3つ組ごとに式(2)で求めたマージンを用いるのではなく、基準画像に付与されたラベル毎に上記マージンを平均化して用いても良い。この場合、第二類似度の外れ値に対して頑健に学習することができる。
【0047】
また、必ずしも全ての3つ組に対して式(1)の損失関数で学習する必要はなく、基準画像と非類似画像の第二類似度が大きい組のみを用いて学習を行っても良い。例えば、3つ組について、第二類似度spに対する、第二類似度snが事前に定めた閾値以上であって、かつ、式(2)のマージンmが閾値以上の場合に、当該3つ組のみを用いて、損失関数により学習を行う、などとしてもよい。
【0048】
パラメータ更新部12は、上記の損失関数を最適化するように、CNNのパラメータに逆伝搬することによりCNNのパラメータを学習し、更新したパラメータを記憶部13へ格納する。
【0049】
<検索装置の構成>
次に、本実施形態に係る検索装置の構成について説明する。検索装置は、検索対象のクエリ画像を検索キーとして参照画像との類似度を算出する。
【0050】
図3は、本実施形態の検索装置の構成を示すブロック図である。
【0051】
図3に示すように、検索装置101は、第一検索部110と、第二検索部111と、統合部112と、記憶部113とを含んで構成されている。
【0052】
検索装置101は、データベース102と通信手段を介して接続されて相互に情報通信する。データベース102は、上記データベース2と同様の構成であり、ラベルが付与された参照画像である画像集合104を記憶している。また、参照画像として画像集合104の画像を用いる必要は必ずしもなく、別途参照画像とする画像を格納してもよい。
【0053】
記憶部113には、上記の学習装置1で学習されたCNNのパラメータが記憶されている。本実施形態の検索装置101で用いるCNNは、上述した学習装置1について説明したCNNである。CNNは第一検索部110で用いられ、パラメータの学習によって、第二検索部111が算出する第二類似度と相補的になるよう学習された学習済みニューラルネットワークである。予め学習された、特徴量ベクトルを出力する特徴抽出処理が、所定の画像を入力として特徴量ベクトルを出力するCNNのパラメータである。
【0054】
なお、検索装置101も学習装置1と同様のハードウェア構成によって構成できる。
図2に示すように、検索装置101は、CPU31、ROM32、RAM33、ストレージ34、入力部35、表示部36及び通信I/F37を有する。各構成は、バス39を介して相互に通信可能に接続されている。ROM32又はストレージ34には、検索プログラムが格納されている。
【0055】
第一検索部110は、検索対象のクエリ画像103を入力として、クエリ画像103から抽出される特徴量ベクトルと、参照画像の各々から抽出される特徴量ベクトルとの、第一類似度を計算する。第一類似度は、学習装置1と同様に特徴ベクトル間の類似度である。特徴ベクトルは、予め学習されたCNNの処理によって抽出する。CNNの処理が、予め学習された特徴抽出処理の一例である。第一検索部110で用いるCNNの処理は、基準画像と、類似画像と、非類似画像との間の類似度について、基準画像と類似画像との第二類似度に対する、基準画像と非類似画像との第二類似度が大きくなるほど、マージンが大きくなるように学習されている。また、CNNの処理は、上述したように、閾値を用いて組を絞り込んで学習される態様もある。以下に第一類似度の計算態様を説明する。
【0056】
第一検索部110は、データベース102に格納された画像集合104の各参照画像と、クエリ画像103とを受け取ったもとで、記憶部113に記憶されたCNNのパラメータを用いて特徴量ベクトルを抽出する。特徴量ベクトルの抽出は、上述した学習装置1について説明したパラメータ更新部12における特徴量ベクトルの抽出と同様の手法を用いる。そして、第一検索部110は、クエリ画像103の特徴量ベクトルと、画像集合104の各参照画像の特徴量ベクトルとの類似度を算出し、第一類似度として出力する。類似度の算出は、特徴量ベクトル間の類似度を算出する任意の尺度を用いてよい。例えば、コサイン類似度などを用いる。また、各参照画像の特徴量ベクトルは、データベース102に格納された画像集合104の各参照画像の特徴量ベクトルを事前に抽出し、データベース102に格納しておき、それを用いても良い。
【0057】
第二検索部111は、クエリ画像103の特徴に関する情報と、参照画像の各々の特徴に関する情報とに基づいて、第二類似度を計算する。特徴に関する情報は、特徴量ベクトルとは異なる特徴に関する情報を用いた類似度であり、例えば、特徴に関する情報として、上述したSIFT等の局所特徴量を用いる。以下に第二類似度の計算態様を説明する。
【0058】
第二検索部111は、データベース102に格納された画像集合104の各参照画像と、クエリ画像103とを受け取ったもとで、クエリ画像103と、画像集合104の各画像との類似度を算出して第二類似度として出力する。類似度としては、上述した学習装置1について説明した第二検索部11における類似度と同様、例えばSIFTのような局所特徴量を用いる。各参照画像の第二類似度は、局所特徴量を用いる場合、データベース102に格納された画像集合104の各参照画像の局所特徴量を事前に抽出し、データベース102に格納しておき、それを用いても良い。
【0059】
統合部112は、第一検索部110によって計算された第一類似度と、第二検索部111によって計算された第二類似度とを統合した統合類似度を計算し、検索結果105として出力する。具体的には、第一類似度xと、第二類似度yを、双方の類似度の重み付き線形和ax+byで統合した類似度を統合類似度とする。統合類似度は、クエリ画像103と参照画像の各々とについて計算し、統合類似度が閾値以上の参照画像を検索結果105とすればよい。また、類似度の統合は任意の方法で代替可能である。例えば、SVMやRank-SVMで結合することで類似度を統合してもよい。上記統合類似度と、対応する参照画像に紐付く情報(通し番号によるIDなど)を、検索結果105として出力する。
【0060】
<学習装置の作用>
次に、学習装置1の作用について説明する。
【0061】
図4は、学習装置1による学習処理の流れを示すフローチャートである。CPU21がROM22又はストレージ24から学習プログラムを読み出して、RAM23に展開して実行することにより、学習処理が行なわれる。
【0062】
ステップS100で、CPU21は、ラベルが付与された参照画像の各々についての特徴に関する情報を用いて、参照画像間の組み合わせについて、特徴に関する情報を用いた類似度である第二類似度を計算する。特徴に関する情報における特徴は、特徴量ベクトルとは異なる特徴であり、例えば、SFIT等の局所特徴量を用いる。
【0063】
ステップS102において、CPU21は、損失関数を用いて、基準画像と類似画像との第二類似度に対する、基準画像と非類似画像との第二類似度が大きくなるほど、マージンが大きくなるように、CNNのパラメータを更新する。損失関数は、基準画像の特徴量ベクトルと類似画像の特徴量ベクトルとの第一類似度及び基準画像の特徴量ベクトルと非類似画像の特徴量ベクトルとの第一類似度と、マージンとを含む。マージンは、基準画像と類似画像との第二類似度、及び基準画像と非類似画像との第二類似度に基づくマージンである。
【0064】
以上説明したように本実施形態の学習装置1によれば、複数の画像検索方法を相補的に統合することで画像に含まれる物体を精度よく検索するためのニューラルネットワークを学習することができる。
【0065】
<検索装置の作用>
次に、検索装置101の作用について説明する。
【0066】
図5は、検索装置101による学習処理の流れを示すフローチャートである。CPU31がROM32又はストレージ34から学習プログラムを読み出して、RAM33に展開して実行することにより、学習処理が行なわれる。
【0067】
ステップS200で、CPU31は、検索対象のクエリ画像103を入力として、クエリ画像103から抽出される特徴量ベクトルと、参照画像の各々から抽出される特徴量ベクトルとの、第一類似度を計算する。特徴ベクトルは、予め学習されたCNNの処理によって抽出する。ここで用いるCNNの処理は、基準画像と、類似画像と、非類似画像との間の類似度について、基準画像と類似画像との第二類似度に対する、基準画像と非類似画像との第二類似度が大きくなるほど、マージンが大きくなるように学習されている。
【0068】
ステップS202で、CPU31は、クエリ画像103の特徴に関する情報と、参照画像の各々の特徴に関する情報とに基づいて、第二類似度を計算する。特徴に関する情報における特徴は、特徴量ベクトルとは異なる特徴であり、例えば、SIFT等の局所特徴量を用いる。
【0069】
ステップS204で、CPU31は、ステップS200で計算された第一類似度と、ステップS202で計算された第二類似度とを統合した統合類似度を計算し、検索結果105として出力する。
【0070】
以上説明したように本実施形態の検索装置101によれば、複数の画像検索方法を相補的に統合することで画像に含まれる物体を精度よく検索することができる。
【0071】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した学習処理又は検索処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、学習処理又は検索処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0072】
また、上記各実施形態では、学習プログラムがストレージ24に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。検索プログラムに関しても同様である。
【0073】
以上の実施形態に関し、更に以下の付記を開示する。
【0074】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算し、
前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、
前記第一検索部によって計算された前記第一類似度と、前記第二検索部によって計算された前記第二類似度とを統合した統合類似度を計算し、
前記特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている、
ように構成されている検索装置。
【0075】
(付記項2)
検索対象のクエリ画像を入力として、予め学習された、特徴量ベクトルを出力する特徴抽出処理によって前記クエリ画像から抽出される特徴量ベクトルと、前記特徴抽出処理によってラベルが付与された参照画像の各々から抽出される特徴量ベクトルとの、特徴ベクトル間の類似度である第一類似度を計算し、
前記クエリ画像の前記特徴量ベクトルとは異なる特徴に関する情報と、前記参照画像の各々の前記特徴に関する情報とに基づいて、前記特徴に関する情報を用いた類似度である第二類似度を計算し、
前記第一検索部によって計算された前記第一類似度と、前記第二検索部によって計算された前記第二類似度とを統合した統合類似度を計算し、
前記特徴抽出処理は、前記参照画像の各々における基準画像と、前記基準画像に類似する類似画像と、前記基準画像に類似しない非類似画像との間の類似度について、前記基準画像と前記類似画像との前記第二類似度に対する、前記基準画像と前記非類似画像との前記第二類似度が大きくなるほど、前記基準画像と前記類似画像との第二類似度及び前記基準画像と前記非類似画像との第二類似度に基づくマージンが大きくなるように、少なくとも学習されている、
ことをコンピュータに実行させる検索プログラムを記憶した非一時的記憶媒体。
【符号の説明】
【0076】
1 学習装置
2 データベース
3 画像集合
11 第二検索部
12 パラメータ更新部
13 記憶部
101 検索装置
102 データベース
103 クエリ画像
104 画像集合
105 検索結果
110 第一検索部
111 第二検索部
112 統合部
113 記憶部