JP7111088B2 - 画像検索装置、学習方法及びプログラム - Google Patents

画像検索装置、学習方法及びプログラム Download PDF

Info

Publication number
JP7111088B2
JP7111088B2 JP2019217687A JP2019217687A JP7111088B2 JP 7111088 B2 JP7111088 B2 JP 7111088B2 JP 2019217687 A JP2019217687 A JP 2019217687A JP 2019217687 A JP2019217687 A JP 2019217687A JP 7111088 B2 JP7111088 B2 JP 7111088B2
Authority
JP
Japan
Prior art keywords
learning
image
image data
correct label
classifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019217687A
Other languages
English (en)
Other versions
JP2020119508A (ja
JP2020119508A5 (ja
Inventor
義裕 手島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to US16/741,795 priority Critical patent/US11250295B2/en
Priority to AU2020200338A priority patent/AU2020200338B2/en
Priority to EP20152903.9A priority patent/EP3699820A3/en
Publication of JP2020119508A publication Critical patent/JP2020119508A/ja
Publication of JP2020119508A5 publication Critical patent/JP2020119508A5/ja
Priority to US17/569,598 priority patent/US20220129702A1/en
Application granted granted Critical
Publication of JP7111088B2 publication Critical patent/JP7111088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • G06V10/464Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、画像検索装置、学習方法及びプログラムに関する。
畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)等による分類器を用いて画像を所定のクラスに分類する技術が開発されてきている。この技術を使えば、例えばダーモスコープで皮膚疾患の患部を撮影した画像(ダーモスコピー画像)を疾患名が定義されたクラスに分類することにより、その患部の疾患名を推測できるようになる。その際、画像を単に分類するよりも、クラスの類似度に応じてランキングされた表示を行った方が便利な場合が多い。そこで、例えば、非特許文献1には、同じクラス間の距離を小さくし、異なるクラス間の距離を大きくするような特徴量を作成するパラメータの学習方法が開示されている。これにより、同じクラスの画像が上位にランキングされ、異なるクラスの画像は下位にランキングされるような画像検索システムが構築できる。
Elad Hoffer, and Nir Ailon、"Deep metric learning using Triplet network"、[online]、平成30年12月4日(2018.12.4)、[平成31年1月8日検索]、インターネット(URL:https://arxiv.org/pdf/1412.6622.pdf)
非特許文献1に開示された学習方法を、分類器で分類したダーモスコピー画像に適用すれば、同じ疾患名の画像間の距離は小さく、異なる疾患名の画像間の距離は大きくなるようにパラメータが学習される。したがって、対象画像との距離の近い順に検索結果を出力することにより、同じ疾患名の画像が上位にランキングされ、異なる疾患名の画像は下位にランキングされるような画像検索システムを構築することができる。ただし、ダーモスコピー画像では、同じ疾患名だが見た目が違う画像や、逆に、異なる疾患名だが見た目が類似する画像が存在する。したがって、医師がより適切な診断を行うためには、分類器によって同じ疾患名に分類される画像だけでなく、見た目が類似する画像も検索されるようにする必要がある。
本発明は、上記問題を解決するためになされたものであり、同じクラスに分類される画像だけでなく、見た目等の所定の観点で類似する画像も検索されるようにする画像検索装置、学習方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明の画像検索装置は、
分類器を用いてユーザから入力された検索画像に類似する画像を検索する検索部を備えた画像検索装置であって
前記分類器は
前記画像に写った被写体の名称を示す第1の正解ラベルが元々付与された学習用画像データを用いることにより学習処理され、この学習処理に続けて、前記学習用画像データを見た目の類似度に基づいてクラスタリングし、クラスタリングした結果である各クラスタに対応する正解ラベルであって、前記第1の正解ラベルとは異なる第2の正解ラベルが付与される学習用画像データを用いることにより学習状態が微調整されたものである、
ことを特徴とする
本発明によれば、同じクラスに分類される画像だけでなく、見た目等の所定の観点で類似する画像も検索されるようにすることができる。
実施形態1に係る画像検索装置の機能構成を示す図である。 畳み込みニューラルネットワーク(CNN)の構成概要を説明する図である。 実施形態1に係る事前学習の際のCNNの例を説明する図である。 実施形態1に係る主学習の際のCNNの例を説明する図である。 実施形態1に係る微調整以降のCNNの例を説明する図である。 実施形態1に係る学習処理のフローチャートである。 実施形態1に係る正解ラベル付与処理のフローチャートである。 実施形態1に係る微調整処理のフローチャートである。 実施形態1に係る検索処理のフローチャートである。 変形例4に係る微調整処理のフローチャートである。
以下、本発明の実施形態に係る画像検索装置等について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施形態1)
本発明の実施形態1に係る画像検索装置100は、学習用の画像データセット(学習用の画像データの集合)を用いて教師あり学習で学習させたCNN分類器を用いて、ユーザから与えられた画像(検索画像)に類似する画像を、検索用の画像データセット(検索対象となる画像データの集合)の中から検索する。学習用の画像データセットと検索用の画像データセットとは全く別物であってもよいし、学習用(検索用)の画像データセットに含まれる画像データの一部又は全部は、検索用(学習用)の画像データセットに含まれていてもよい。
学習用の画像データセットに含まれる各画像データ(学習用画像データ)には、当該画像データが与えられたときの正解となる答、すなわち、当該画像データが分類器に入力されたときに分類器から出力されるべき出力値が、正解ラベルとして付与されている。通常、正解ラベルは、そのラベルが付与されている画像データの画像に写った被写体を表す名称である。例えば、皮膚疾患の患部の画像の検索を行う画像検索装置100の場合、学習用画像データは、皮膚疾患の疾患名が判明している患部が写っている画像データであり、学習用画像データのそれぞれには、その画像に写っている患部の疾患名が正解ラベルとして付与されている。また、花の画像の検索を行う画像検索装置100の場合、学習用画像データは、名称が判明している花が写っている画像データであり、学習用画像データのそれぞれには、その画像に写っている花の名称が正解ラベルとして付与されている。
なお、後述するラベル付与部13は、学習用画像データを見た目の類似度に基づいてクラスタリングし、学習用画像データのそれぞれが属するクラスタに対応する正解ラベルを当該画像データに付与する。この正解ラベルは、学習用画像データに元々付与されている正解ラベルとは異なる正解ラベルである。したがって、以下、両者を区別するために、学習用画像データに元々付与されている正解ラベルを第1の正解ラベルと呼び、ラベル付与部13が学習用画像データに付与する正解ラベルを第2の正解ラベルと呼ぶ。
実施形態1に係る画像検索装置100は、図1に示すように、制御部10、記憶部20、画像入力部31、出力部32、通信部33、操作入力部34、を備える。
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(分類器11、事前学習部12、ラベル付与部13、主学習部14、微調整部15、検索部16)の機能を実現する。
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、制御部10のCPUが実行するプログラム及び必要なデータを記憶する。記憶部20は、分類器11の学習に用いる画像データ(学習用画像データ)や、画像検索の対象となる画像データ(検索用画像データ)も記憶する。ただし、画像検索装置100は、学習用画像データ及び検索用画像データの一部又は全部を通信部33から取得するようにしてもよい。
画像入力部31は、学習用画像データ、検索用画像データ又はユーザから与えられる検索する(未知の)画像の画像データを入力するためのデバイスである。制御部10は、画像入力部31を介して画像データを取得する。画像入力部31としては、制御部10が画像データを取得できるなら、任意のデバイスを使用することができる。例えば、記憶部20に画像データを記憶させておき、制御部10が記憶部20を読み出すことによって画像データを取得する場合は、記憶部20が画像入力部31を兼ねることになる。また、制御部10が通信部33を介して外部のサーバ等から画像データを取得する場合は、通信部33が画像入力部31を兼ねることになる。
出力部32は、制御部10が、画像検索結果等を出力するためのデバイスである。例えば、出力部32は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイである。ただし、画像検索装置100は、出力部32としてこれらディスプレイを備えてもよいし、外部のディスプレイを接続するためのインタフェースとしての出力部32を備えてもよい。画像検索装置100は、インタフェースとしての出力部32を備える場合は、出力部32を介して接続した外部のディスプレイに画像検索結果等を表示する。
通信部33は、外部の他の装置(例えば、画像データのデータベースが格納されているサーバ等)とデータの送受信を行うためのデバイス(ネットワークインタフェース等)である。制御部10は、通信部33を介して画像データを取得することができる。
操作入力部34は、画像検索装置100に対するユーザの操作入力を受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル等である。画像検索装置100は、操作入力部34を介して、ユーザからの指示等を受け付ける。
次に、制御部10の機能について説明する。制御部10は、分類器11、事前学習部12、ラベル付与部13、主学習部14、微調整部15、検索部16の機能を実現する。
分類器11は、畳み込みニューラルネットワーク(CNN)による画像の分類器である。CNNによる分類器を実現するプログラムを制御部10が実行することにより、制御部10は分類器11として機能する。分類器11は、画像入力部31を介して入力画像が入力される入力層と、入力画像の分類結果が出力される出力層と、入力層及び出力層以外の層である中間層と、を有し、入力画像を分類した結果を出力層から出力する。なお、分類器11を学習させる際には、学習用の画像が入力画像として入力層に入力され、学習された分類器11を用いて未知の画像を分類する際には、当該未知の画像が入力画像として入力層に入力される。分類器11の構成の概要については後述する。
事前学習部12は、主学習部14が分類器11のCNNを学習させる前に、事前に分類器11のCNNを学習させる。このように、主学習部14による学習の前に、分類器11のCNNを学習させることを事前学習という。そして、事前学習部12は、一般画像認識用のデータセット(例えばImageNet)を用いて事前学習を行う。ただし、学習用の画像データセットに含まれる画像データ(例えば、皮膚疾患の名称が正解ラベル(第1の正解ラベル)として付与された、患部の画像データ)を大量に用意できる場合には、この事前学習は不要であり、この場合事前学習部12も不要である。学習用の画像データセットに含まれる画像データが少ない場合、学習用の画像データセットだけではCNNの学習が十分行えないことになるが、一般画像認識用のデータセット(事前学習用データセット)に含まれる大量の画像データでCNNを事前学習させておくことにより、その後は比較的少量の学習用画像データでも、CNNの学習を行うことができる。なお、事前学習の際は、事前学習部12は、予め、分類器11のCNNの出力層118が出力するクラスの数(出力ベクトルの次元数)を、事前学習用データセットで用いるクラスの数(例えば512)に合わせる。そして、事前学習部12は、事前学習用データセットに含まれる事前学習用画像データをCNNの入力層111に入力した時に出力層118から出力される出力値と、当該事前学習用画像データに付与されている正解ラベルと、の違い(誤差)に基づき、誤差逆伝播法により、分類器11のCNN内の重み係数を更新することにより、分類器11のCNNを事前学習させる。なお、重み係数とはCNN内の各層間の結びつきの強さを規定する係数である。
ラベル付与部13は、学習用画像データのそれぞれに、画像の見た目の類似度に基づく正解ラベルである第2の正解ラベルを付与する。具体的には、ラベル付与部13は、学習用画像データを画像の見た目が反映される特徴量に基づいて(番号を付与した複数のクラスタに)クラスタリングし、各画像に対し、各画像の特徴量が属するクラスタに付与された番号を、第2の正解ラベルとして付与する。画像の見た目が反映される特徴量としては、例えば、BoVW(Bag of Visual Words)が挙げられる。BoVWは、画像に含まれる特徴点(画像中のエッジやコーナー等の特徴的な部分)の配置状態に基づいて得られる特徴量であり、BoVWの類似度が高い画像同士は見た目が類似する。したがって、このような第2の正解ラベルを用いることにより、見た目が類似する画像同士が1つのクラスタに分類されるようになる。
主学習部14は、ラベル付与部13が第2の正解ラベルを付与した学習用画像データを用いて、分類器11のCNNを学習させる。なお、この学習(主学習)の際は、主学習部14は、予め、分類器11のCNNの出力層118が出力するクラスの数(出力ベクトルの次元数)を、ラベル付与部13が第2の正解ラベルを付与した時に用いた上記クラスタの数(主学習におけるクラスの数であり、例えば32)に合わせる。そして、主学習部14は、学習用画像データをCNNの入力層111に入力した時に出力層118から出力される出力値と第2の正解ラベルとの誤差に基づき、誤差逆伝播法により、分類器11のCNN内の重み係数を更新することにより、分類器11のCNNを学習させる。
微調整部15は、主学習部14が学習させた分類器11のCNNの学習状態(CNN内の重み係数)を、第1の正解ラベルが付与された学習用画像データを用いて微調整する。この微調整は、例えば、後述するように、Triplet networkを利用した類似度学習により行う。また、分類器11への入力画像に類似する画像を検索する時には、分類器11のCNNの出力層118からは、その分類結果として、画像検索に用いる特徴ベクトルを出力する必要がある。したがって、この微調整の際は、微調整部15は、予め、分類器11のCNNの出力層118が出力する出力ベクトルの次元数を、類似画像検索時に用いる特徴ベクトルの次元数(例えば256次元)に合わせる。
検索部16は、微調整部15により微調整された分類器11のCNNが出力する出力ベクトルの値に基づいて、検索画像(画像入力部31を介してユーザから入力された、画像検索装置100で検索する(未知の)画像データ)に類似する画像を検索する。
以上、画像検索装置100の機能構成について説明した。次にCNNの概要を説明する。CNNは、人間の視覚野の神経細胞の働きを模倣したニューラルネットワークであり、その原型はネオコグニトロンである。CNNは、一般的な順伝搬型のニューラルネットワークとは異なり、全結合層だけでなく、畳み込み層(Convolution Layer)とプーリング層(Pooling Layer)を中間層として含んでおり、中間層によって入力画像の特徴が抽出される。そして、出力層において、入力画像の分類結果が確率的に表現される。Nクラス分類を行うCNNの典型的な構成概要について、図2を参
照して説明する。
図2に示すように、Nクラス分類を行うCNNは、入力画像が入力される入力層111に対して、畳み込み処理(フィルタの走査)やプーリング処理(ウィンドウの走査)を行って徐々にサイズの小さな特徴マップ112,113,114,115,116,117を算出していき、最終的に出力層118から、N次元の出力ベクトルを得る。図2に示す例では、入力された入力画像に対して、畳み込み処理用のフィルタ121,123,124,125やプーリング処理用のウィンドウ122,126を、縦横ともにストライド2で走査することによって、徐々にサイズの小さな特徴マップを算出し、最終的な出力を得ている。なお、「ストライド2で走査する」とは、画素又は特徴マップを構成する要素を1つ飛ばしで走査(2つずつずらして走査)することを言う。
フィルタ121,123,124,125の各要素には、重み係数が割り当てられており、同一チャネル数の入力画像又は特徴マップの上を平面方向に走査することにより、入力画像又は特徴マップの各注目点において、スカラ値の内積結果が出力され、新たな特徴マップが得られる。そして、フィルタを複数枚(n枚)適用することにより、その枚数分(nチャネル)の特徴マップが得られる。また、ストライド2で走査する度に、特徴マップのサイズは縦横ともに1/2のサイズになる。この結果、後段に行くに従い、より大局的な特徴抽出が行われる(フィルタサイズは、特徴マップサイズに対して相対的に拡大する)ことになる。
図2に示す例では、CNNの中間層の最終層(特徴マップ117)と、出力層118とは重み係数が割り当てられた全結合接続127で接続されており、通常のニューラルネットと同様に重み付け加算が行われる。CNNの中間層の最終層は、出力層118と全結合接続127で接続していることから、全結合層とも呼ばれる。この例では、Nクラスの分類を行うので、出力層118はN個の素子(若しくはユニット)を持ち、その素子の値の大小により、推定した分類の確率の大小が表現される。
CNNでは、全結合接続127の各結合に割り当てられている重み係数や、上記フィルタ121,123,124,125の重み係数を、予め用意した学習データを用いて取得することができる。具体的には、まず、学習データを入力画像として入力層111に入力し、順方向伝播させて出力層118から出力結果を得る。そして、その出力結果と正解(入力した学習データに付与されている正解ラベル)との違い(誤差)を求め、誤差逆伝播法を用いて、誤差を減らす方向に重み係数を更新する。この操作を、学習率(誤差逆伝播法における重み係数の更新量)を下げながら繰り返し実行することにより、重み係数の値を収束させる。
CNNの各重み係数を学習データで学習させた後は、未知の画像データを入力画像データとして順方向に伝播させることで、出力層118に入力画像の分類の推論値である出力結果が得られる。通常のCNNでは、出力層118の素子数(出力ベクトルの次元数)は、分類するクラスの数に合わせた所定の値(図2の例ではN)であるが、画像検索装置100では、学習の種類(事前学習、主学習、微調整)に応じて、出力層118及びその直前の全結合接続127を次のように入れ替える。
事前学習においては、出力層118の素子数を事前学習用データで用いるクラスの数にする。例えば、事前学習用データで用いるクラスの数を512とすると、事前学習時のCNNの出力層118の素子数を図3に示すように512にして、CNNを学習させる。
そして、主学習においては、出力層118の素子数をラベル付与部13が第2の正解ラベルを付与した時に用いたクラスタの数にする。例えば、このクラスタの数を32とすると、主学習時のCNNの出力層118の素子数を図4に示すように32にして、CNNを学習させる。この時、事前学習で学習させたCNNの入力層111から特徴マップ117までの学習後の重み係数はそのまま用いるので、全結合接続127と出力層118だけを主学習用に入れ替えたCNNを学習させることになる。すなわち、第2の正解ラベルと出力層118との誤差に基づいて、全結合接続127の重み係数が更新される。
そして、微調整においては、出力層118の素子数を、その後の画像検索時に用いる特徴ベクトルの次元数にする。例えば、特徴ベクトルの次元数を256にするなら、微調整時のCNNの出力層118の素子数を図5に示すように256にして、CNNを学習させる。この時、事前学習及び主学習で学習させたCNNの入力層111から特徴マップ117までの学習後の重み係数はそのまま用いるので、全結合接続127と出力層118だけを微調整用に入れ替えたCNNを学習させることになる。この学習は、所謂ファインチューニングであり、後述する損失Lを用いた誤差逆伝播法により、損失Lを誤差とみなし、損失Lの値が小さくなるようにCNNの出力層118に近い層(全結合接続127等)のみにおいて、重み係数が更新される。このようなファインチューニングにより、CNN内の学習済みの重み係数を生かしつつ、出力層118の出力値に大きく影響を与える重み係数を効率的に更新することができる。なお、通常、CNNの出力に対しては、Softmax処理を行うが、画像検索装置100においては、微調整後の出力層118の出力値をそのまま特徴ベクトルの値として扱うため、Softmax処理は不要である。Softmax処理しない方が、特徴ベクトルの持つ情報をそのまま扱うことができるため、より適切な画像検索を行える可能性が高い。
以上、画像検索装置100の分類器11が備えるCNNの概要を説明した。次に、画像検索装置100が行う学習処理について、図6を参照して説明する。この学習処理は、操作入力部34を介して、ユーザにより、画像検索装置100に対して学習処理の開始が指示されると開始される。
まず、事前学習部12は、通信部33を介してImageNet等の一般画像認識用のデータセットを取得し、この一般画像認識用のデータセットを用いて分類器11のCNNを学習させる(ステップS101)。
次に、ラベル付与部13は、学習用の画像データセットに含まれる画像データ(学習用画像データ)のそれぞれに、画像の見た目の類似度に基づく第2の正解ラベルを付与する(ステップS102)。この処理(正解ラベル付与処理)については、図7を参照して後述する。ステップS102はラベル付与ステップとも呼ばれる。
次に、主学習部14は、学習用の画像データセットに含まれる画像データと、ラベル付与部13が当該画像データに付与した第2の正解ラベルとに基づいて、分類器11のCNNを学習させる(ステップS103)。すなわち、主学習部14は、分類器11に画像データを入力して得られる出力値と第2の正解ラベルとの誤差に基づき、誤差逆伝播法により、分類器11のCNN内の重み係数を更新する。ステップS103は主学習ステップとも呼ばれる。
次に、微調整部15は、主学習部14が学習させた分類器11のCNNの学習状態を、学習用画像データを用いて微調整する処理(微調整処理)を行う(ステップS104)。微調整処理については図8を参照して後述する。ステップS104は、微調整ステップとも呼ばれる。
次に、検索部16は、検索用の画像データセットに含まれる画像データを分類器11のCNNに入力して出力層118から得られた特徴ベクトルを当該画像データに付与する処理を、検索用の画像データセットに含まれる全ての画像データについて行い(ステップS105)、学習処理を終了する。
次に、学習処理(図6)のステップS102で行われる正解ラベル付与処理について、図7を参照して説明する。
まず、制御部10は、学習用画像データのそれぞれから、BoVWを用いて特徴量を抽出する(ステップS201)。ステップS201では、制御部10は、特徴量抽出部として機能する。次に、ラベル付与部13は、全ての学習用画像データから抽出した特徴量をk-means法でクラスタリングする(ステップS202)。クラスタリングする際のクラスタ数は任意の数(例えば32)である。
次に、ラベル付与部13は、ステップS202でクラスタリングして生成された各クラスタに番号を割り振る(ステップS203)。例えば、32個のクラスタにクラスタリングしたならば、1から32までの番号を各クラスタに割り振る。番号の割り振り方は任意であるが、異なるクラスタには異なる番号が割り振られるようにする。
次に、ラベル付与部13は、学習用画像データのそれぞれに、当該画像データの特徴量が属するクラスタに割り振られた番号を第2の正解ラベルとして付与し(ステップS204)、正解ラベル付与処理を終了する。
なお、ここでは、画像の特徴量として、BoVWを用いたが、画像の見た目の類似度が反映される特徴量であれば、任意の特徴量を用いてよい。また、クラスタリングの方法として、k-means法を用いたが、k-means法に限定する必要はなく、類似する特徴量が同じクラスタにまとまり、類似しない特徴量は他のクラスタにまとまるようにクラスタリングできる方法であれば、任意のクラスタリング手法を用いてよい。
次に、学習処理(図6)のステップS104で行われる微調整処理について、図8を参照して説明する。この処理は、Triplet networkを利用した類似度学習を行う処理である。
まず、微調整部15は、学習用の画像データセットの中から、3つのデータの組をN組(Nは任意の数)取得する(ステップS301)。これらの3つのデータは、基準となる画像データ(anchor画像データ)と、anchor画像データと同じ第1の正解ラベルが付与されている画像データ(positive画像データ)と、anchor画像データに付与されている第1の正解ラベルとは異なるラベルが第1の正解ラベルとして付与されている画像データ(negative画像データ)とからなる。ステップS301では、まずanchor画像データ(第1の画像)を学習用の画像データセットの中からランダムに選び、選ばれたanchor画像データに対して、positive画像データ(第2の画像)とnegative画像データ(第3の画像)とを学習用の画像データセットの中からランダムに1つずつ選ぶ。このようにして、3つの画像データの組「anchor,positive,negative」を取得する処理を、N回繰り返す。
次に、微調整部15は、取得した各画像データを分類器11のCNNに入力し、出力層118から特徴ベクトルを取得する(ステップS302)。すなわち、anchor画像データ(第1の画像)から第1の特徴ベクトルを、positive画像データ(第2の画像)から第2の特徴ベクトルを、negative画像データ(第3の画像)から第3の特徴ベクトルを、それぞれ取得する。ステップS301で取得した3つの画像データの組はN組あるので、第i番目の3つの画像データの組を「a,p,n」で表し、画像データから特徴ベクトルを得る関数をfで表すことにすると、ステップS302では、3つの特徴ベクトルの組「f(a),f(p),f(n)」が、i=1からi=NまでのN組得られることになる。
次に、微調整部15は、式(1)の損失関数(Triplet Loss)を用いて損失Lを計算する(ステップS303)。
L=Σi=1,N max(0,(||f(a)-f(p)||
-||f(a)-f(n)||+α)) …(1)
ここで、Σi=1,N はそれに続く式においてiに1からNまでを代入した時の和を、maxは引数の最大値を、||f(a)-f(p)||はf(a)-f(p)で表されるベクトルのL2ノルムの2乗を、||f(a)-f(n)||はf(a)-f(n)で表されるベクトルのL2ノルムの2乗を、それぞれ表す。また、αはanchor画像データの特徴ベクトルとpositive画像データの特徴ベクトルとの間の距離(L2ノルム)より、anchor画像データの特徴ベクトルとnegative画像データの特徴ベクトルとの間の距離(L2ノルム)の方が、α以上離れるように設定するためのパラメータであり、所定の数(例えば0.2)が設定される。
次に、微調整部15は、ステップS303で得られた損失Lを用いて誤差逆伝播法により、損失Lの値が小さくなるように分類部11のCNNの重み係数の更新を行う(ステップS304)。このようにして分類部11のCNNの重み係数の更新を行うことによって、主学習部14が学習させた分類器11の学習状態が微調整される。次に、微調整部15は、ステップS301からステップS304を所定回数(例えば5回)繰り返したか否かを判定する(ステップS305)。
所定回数繰り返していなければ(ステップS305;No)、ステップS301に戻り、所定回数繰り返していれば(ステップS305;Yes)、微調整処理を終了する。微調整処理では、上述の損失関数で損失Lを計算することにより、同じクラスに属する画像(付与されている第1の正解ラベルが等しい画像)間で特徴ベクトルの類似度が高くなり、異なるクラスに属する画像(付与されている第1の正解ラベルが異なる画像)間で特徴ベクトルの類似度が低くなる。
以上説明した学習処理、正解ラベル付与処理及び微調整処理により、分類部11のCNNは、(主学習部14により)見た目の類似度が高い画像データ同士や、(微調整部15により)学習用画像データに付与された第1の正解ラベルが等しい画像同士の場合に、それぞれの画像データを入力した時に出力される特徴ベクトル同士が類似するように学習される。
次に、このように学習された分類器11のCNNを用いて画像検索を行う検索処理について、図9を参照して説明する。この検索処理は、操作入力部34を介して、ユーザにより、画像検索装置100に対して検索処理の開始が指示されると開始される。
まず、検索部16は、画像入力部31を介して、ユーザから検索画像の入力を受け付ける(ステップS401)。次に、検索部16は、検索画像を分類器11のCNNに入力し、CNNの出力層118から検索画像の特徴ベクトルを取得する(ステップS402)。
そして、検索部16は、検索用の画像データセットに含まれる画像データのそれぞれに付与されている特徴ベクトルとステップS402で取得された特徴ベクトルとの類似度を検索用の画像データセットに含まれる全ての画像データについて求め、類似度の高い順に所定の個数の検索用画像データを出力部32に出力し(ステップS403)、検索処理を終了する。検索用画像データを出力する際には、検索用画像データとともに当該検索用画像データの(検索画像との)類似度を出力部32に出力してもよい。
分類部11のCNNは、学習用画像データに付与された第1の正解ラベルが互いに等しい画像間だけでなく、ラベル付与部13が付与した第2の正解ラベルが互いに等しい画像(見た目が類似する画像)間でも特徴ベクトルが類似するように学習されている。そのため、上述の検索処理により、分類器11に入力された検索画像の特徴ベクトルと類似度が高い特徴ベクトルが付与されている検索用画像データのうち、学習用画像データに付与された第1の正解ラベルの観点で検索画像に類似する画像(検索画像と同じクラスに分類される画像)と、ラベル付与部13が付与した第2の正解ラベルのクラスタに分類される画像(検索画像と見た目が類似する画像)とが、いずれも検索結果の上位に出力されるようになる。従って、画像検索装置100は、同じクラスに分類される画像だけでなく、見た目が類似する画像も検索されるようにすることができる。なお、「第1の正解ラベルの観点で検索画像に類似する」とは、第1の正解ラベルが付与された学習データを用いて学習された分類器11を用いて、検索画像の特徴ベクトルと対象画像の特徴ベクトルとをそれぞれ取得した場合に、取得した検索画像の特徴ベクトルと対象画像の特徴ベクトルとが類似することを意味する。
(変形例1)
上述の実施形態では、主学習部14は、ラベル付与部13が学習用画像データに付与した第2の正解ラベルに基づいて、分類器11のCNNを学習させた。しかし、分類器11のCNNを学習させる際の正解ラベルはこれに限られない。例えば、学習用画像データに元々付与されている第1の正解ラベルに基づいて、分類器11のCNNを学習させてもよい。このような変形例1について以下に説明する。簡単に言えば、変形例1は、主学習部14が学習時に用いる正解ラベルと、微調整部15が微調整時に用いる正解ラベルとを、実施形態1と逆にして処理する実施形態である。
変形例1の主学習部14は、第1の正解ラベルが付与された学習用画像データを用いて、分類器11のCNNを学習させる。具体的には、画像検索装置100が検索する対象が、例えば、皮膚疾患の画像であるなら、第1の正解ラベルとして皮膚疾患名が付与された学習用画像データを用いて分類器11のCNNを学習させる。また、検索する対象が、例えば、花の画像であるなら、第1の正解ラベルとして花の名称が付与された学習用画像データを用いて分類器11のCNNを学習させる。
なお、この学習(主学習)の際は、主学習部14は、予め、分類器11のCNNの出力層118が出力するクラスの数(出力ベクトルの次元数)を、学習用の画像データセットで用いるクラスの数(分類器11が分類する疾患名や花の名称(第1の正解ラベル)の数であり、例えば8)に合わせる。そして、主学習部14は、学習用画像データをCNNの入力層111に入力した時に出力層118から出力される出力値と第1の正解ラベルとの誤差に基づき、誤差逆伝播法により、分類器11のCNN内の重み係数を更新することにより、分類器11のCNNを学習させる。
変形例1の微調整部15は、主学習部14が学習させた分類器11のCNNの学習状態(CNN内の重み係数)を、ラベル付与部13が第2の正解ラベルを付与した学習用画像データを用いて微調整する。この微調整は、例えば、実施形態1で上述したように、Triplet networkを利用した類似度学習により行う。また、この微調整の際は、微調整部15は、予め、分類器11のCNNの出力層118が出力する出力ベクトルの次元数を、画像検索時に用いる特徴ベクトルの次元数(例えば256次元)に合わせる。
これら以外については、変形例1は実施形態1と同じであり、学習処理、正解ラベル付与処理、検索処理等も、実施形態1と同様に処理することができる。変形例1においても、分類部11のCNNは、学習用画像データに付与された第1の正解ラベルが互いに等しい画像間だけでなく、ラベル付与部13が付与した第2の正解ラベルが互いに等しい画像(見た目が類似する画像)間でも特徴ベクトルが類似するように学習される。そのため、検索処理により、学習用画像データに付与された第1の正解ラベルの観点で検索画像に類似する画像(検索画像と同じクラスに分類される画像)とラベル付与部13が付与した第2の正解ラベルのクラスタに分類される画像(検索画像と見た目が類似する画像)とが、いずれも検索結果の上位に出力されるようになる。従って、変形例1の画像検索装置100は、同じクラスに分類される画像だけでなく、見た目が類似する画像も検索されるようにすることができる。
(変形例2)
上述の実施形態1及び変形例1では、ラベル付与部13は、学習用画像データのそれぞれに、BoVWを用いて画像の見た目の類似度に基づく第2の正解ラベルを付与した。しかし、第2の正解ラベル付与の観点を、画像の見た目の類似度に限定する必要はない。例えば色の類似度、明暗の類似度、周波数成分の類似度等、何らかの観点での類似度に基づいて学習用の画像データセットをクラスタリングして、学習用画像データのそれぞれに第2の正解ラベルを付与してもよい。このような実施形態を変形例2とする。
例えば、部屋の壁紙のデザインの検索、衣服のデザインの検索等において、学習用画像データに元々付与されている第1の正解ラベル以外に、暖色系/寒色系等の観点でもユーザが指定したデザインに類似したデザインを検索したい場合があるが、このような場合には変形例2のラベル付与部13において、色の類似度に基づいて、学習用画像データに第2の正解ラベルを付与すればよい。
このようにすることにより、変形例2の画像検索装置100は、同じクラスに分類される画像だけでなく、所定の観点(色の類似度等の観点)において類似する画像も検索されるようにすることができる。
(変形例3)
上述の実施形態1及び変形例では、ラベル付与部13は、各学習用画像データに1つの正解ラベル(第2の正解ラベル)のみを付与したが、複数の観点に基づいて、複数の正解ラベルを付与してもよい。例えば、見た目の類似度に基づく正解ラベル(第2の正解ラベル)、色の類似度に基づく正解ラベル(第3の正解ラベル)、明暗の類似度に基づく正解ラベル(第4の正解ラベル)、を各学習用画像データに付与することが考えられる。このような実施形態を変形例3とする。
変形例3の主学習部14は、これら複数の正解ラベルの中の1つを用いて、分類器11のCNNを学習させる。そして、変形例3の微調整部15は、主学習部14が用いなかった複数の正解ラベルを順番に使って、微調整処理を繰り返し(正解ラベルの種類数-1回)行う。
このようにすることにより、変形例3の画像検索装置100は、同じクラスに分類される画像だけでなく、様々な観点(見た目の類似度、色の類似度等、複数の観点)において類似する画像も検索されるようにすることができる。
(変形例4)
上述の実施形態及び変形例では、微調整処理における損失関数としてTriplet Lossを用いたが、損失関数はTriplet Lossに限定されない。例えば、損失関数として、Contrastive Lossを用いてもよい。損失関数としてContrastive Lossを用いた実施形態を変形例4とする。
変形例4における微調整処理について、図10を参照して説明する。この処理は、実施形態1の微調整処理(図8)のステップS301~ステップS303を、ステップS311~ステップS313に置き換えた処理である。変形例4においても、微調整処理は学習処理(図6)のステップS104で呼び出される処理であることは、実施形態1と同様である。
まず、微調整部15は、学習用の画像データセットの中から、2つの画像データの組をN組(Nは任意の数)取得する(ステップS311)。この2つの画像データは、学習用の画像データセットの中から、任意に選んだ2つの画像データであり、ここでは、画像データa(第1の画像)と画像データb(第2の画像)の2つとする。ステップS311では、まず画像データaを学習用の画像データセットの中からランダムに選び、次に学習用の画像データセットの中から画像データa以外の画像データbをランダムに1つずつ選ぶ。このようにして、2つの画像データの組「a,b」を取得する処理を、N回繰り返す。
次に、微調整部15は、取得した各画像データを分類器11のCNNに入力し、出力層118から特徴ベクトルを取得する(ステップS312)。すなわち、画像データa(第1の画像)から第1の特徴ベクトルを、画像データb(第2の画像)から第2の特徴ベクトルを、それぞれ取得する。ステップS311で取得した2つの画像データの組はN組あるので、第i番目の2つの画像データの組を「a,b」で表し、画像データから特徴ベクトルを得る関数をfで表すことにすると、ステップS312では、2つの特徴ベクトルの組「f(a),f(b)」が、i=1からi=NまでのN組得られることになる。
次に、微調整部15は、式(2)の損失関数(Contrastive Loss)を用いて損失Lを計算する(ステップS313)。
L=Σi=1,N yab(||f(a)-f(b)||
+(1-yab)max((α-||f(a)-f(b)||),0) …(2)
ここで、Σi=1,N はそれに続く式においてiに1からNまでを代入した時の和を表す。そして、yabは画像データaに付与された第1の正解ラベルと画像データbに付与された第1の正解ラベルとが等しい場合に1、異なる場合に0の値を取る。また、maxは引数の最大値を、||f(a)-f(b)||はf(a)-f(b)で表されるベクトルのL2ノルムの2乗(すなわち第1の特徴ベクトルと、第2の特徴ベクトルと、の間の距離の2乗)を、それぞれ表す。そして、αは、画像データaに付与された第1の正解ラベルと画像データbに付与された第1の正解ラベルとが異なる場合に、画像データaの特徴ベクトルと画像データbの特徴ベクトルとの間の距離がα離れるように設定するためのパラメータであり、所定の数(例えば0.2)が設定される。
ステップS313の処理の後は、ステップS304に進むが、ステップS304以降の処理は、図8を参照して説明した実施形態1の微調整処理と同様のため、説明を省略する。画像データaと画像データbとで、付与されている第1の正解ラベルが等しい時の||f(a)-f(b)||を第1の距離、付与されている第1の正解ラベルが異なる時の時の||f(a)-f(b)||を第2の距離、とそれぞれ呼ぶことにすると、変形例4の微調整処理では、上述の損失関数で損失Lを計算することにより、第1の距離が第2の距離よりも小さくなるように、分類器11の学習状態が微調整されることになる。したがって、変形例4の微調整処理でも、同じクラスに属する画像(付与されている第1の正解ラベルが等しい画像)間で特徴ベクトルの類似度が高くなり、異なるクラスに属する画像(付与されている第1の正解ラベルが異なる画像)間で特徴ベクトルの類似度が低くなる。
損失関数としてTriplet Lossを用いる場合とContrastive Lossを用いる場合とで比較すると、Contrastive Lossは、損失Lを計算する際に用いる画像データが2つなので、計算量が少ないというメリットがある。また、Triplet Lossは、画像データを3つ用いる代わりに、正ペア(anchor画像データの特徴ベクトルとpositive画像データの特徴ベクトルのペア)と負ペア(anchor画像データの特徴ベクトルとnegative画像データの特徴ベクトルのペア)を相対的に最適化するため、正ペア同士であっても、特徴ベクトル間の距離は簡単には0にはならず、画像データ間の類似度をより反映した特徴ベクトルを得やすいというメリットがある。
なお、Constrastive Lossは、従来から使われている方法であり、距離学習においてある程度の効果の実績がある。特徴量を学習する方法として、識別を学習したCNNの中間層の出力を特徴量とする方法もあるが、この方法では特徴ベクトルの類似度を学習できないという問題がある。それに対し、Triplet LossやConstrasive Lossは、類似度を直接学習することが可能という特長がある。
なお、上述の実施形態及び変形例では、CNNによる分類器11を実現するプログラムを制御部10が実行することにより、制御部10は分類器11としても機能することとしていたが、これに限られない。画像検索装置100は、制御部10とは別に分類器11の機能を実現するデバイス(例えば、GPU(Graphics Processing Unit)や、専用のIC(Integrated Circuit)等のデバイス)を備えてもよい。また、分類器11はCNN以外(例えば、RNN(Recurrent Neural Network)等)のNN(Neural Network)による画像の分類器であってもよい。
また、上述の実施形態及び変形例では、図3、図4及び図5に示すように、事前学習時、主学習時、微調整時のそれぞれにおいて、分類器11のCNNの出力層118及びその直前の全結合接続127のみを入れ替えることとして説明したが、これに限られない。出力層118が出力するクラスの数が同じでよい場合は入れ替える必要はない。また、クラスの数が異なる場合は、出力層118及びその直前の全結合接続127の入れ替えは必須であるが、さらにその前に存在する特徴マップ117や特徴マップ116等も出力層118及び全結合接続127とともに入れ替えてもよい。
なお、画像検索装置100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、画像検索装置100が行う学習処理及び検索処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
教師あり学習に用いる学習用の画像データセットに含まれる各画像に付与されている正解ラベルである第1の正解ラベルが付与された画像に、所定の観点での類似度に基づく正解ラベルである第2の正解ラベルを付与するラベル付与部と、
前記第1及び第2の正解ラベルの一方が付与された前記画像を用いて分類器を学習させる主学習部と、
前記第1及び第2の正解ラベルの他方が付与された前記画像を用いて、前記主学習部が学習させた前記分類器の学習状態を微調整する微調整部と、
前記微調整部が微調整した前記分類器を用いてユーザから入力された検索画像に類似する画像を検索する検索部と、
を備える画像検索装置。
(付記2)
前記微調整部は、前記分類器の出力層に近い層のみにおいて、各層間の結びつきの強さを規定する重み係数の更新を行うことにより、前記分類器の学習状態を微調整する、
付記1に記載の画像検索装置。
(付記3)
前記微調整部は、
前記学習用の画像データセットから、互いに異なる第1の画像と第2の画像を取得し、
前記第1の画像に付与された正解ラベルと前記第2の画像に付与された正解ラベルとが互いに等しい場合の、前記第1の画像を前記分類器に入力して得られる第1の特徴ベクトルと、前記第2の画像を前記分類器に入力して得られる第2の特徴ベクトルと、の間の距離である第1の距離が、
前記第1の画像に付与された正解ラベルと前記第2の画像に付与された正解ラベルとが互いに異なる場合の、前記第1の画像を前記分類器に入力して得られる第1の特徴ベクトルと、前記第2の画像を前記分類器に入力して得られる第2の特徴ベクトルと、の間の距離である第2の距離よりも、
小さくなるように前記分類器の重み係数の更新を行うことにより、前記分類器の学習状態を微調整する、
付記2に記載の画像検索装置。
(付記4)
前記微調整部は、
前記学習用の画像データセットから、第1の画像と、第1の画像に付与された正解ラベルと等しい正解ラベルが付与された第2の画像と、第1の画像に付与された正解ラベルとは異なるラベルが正解ラベルとして付与された第3の画像と、を取得し、
前記第1の画像を前記分類器に入力して得られる第1の特徴ベクトルと、前記第2の画像を前記分類器に入力して得られる第2の特徴ベクトルと、前記第3の画像を前記分類器に入力して得られる第3の特徴ベクトルと、を取得し、
前記第1の特徴ベクトルと前記第2の特徴ベクトルとの間の距離より、前記第1の特徴ベクトルと前記第3の特徴ベクトルとの間の距離の方が大きくなるように、前記分類器の重み係数の更新を行うことにより、前記分類器の学習状態を微調整する、
付記3に記載の画像検索装置。
(付記5)
前記ラベル付与部は、前記画像に、前記第2の正解ラベルとして、見た目の類似度に基づく正解ラベルを付与する、
付記1から4のいずれか1つに記載の画像検索装置。
(付記6)
前記画像の見た目の特徴量を抽出する特徴量抽出部をさらに備え、
前記ラベル付与部は、前記特徴量抽出部が抽出した特徴量を複数のクラスタにクラスタリングすることにより前記画像に前記第2の正解ラベルを付与する、
付記5に記載の画像検索装置。
(付記7)
前記特徴量抽出部は、前記見た目の特徴量として特徴点の配置状態に基づく特徴量を抽出する、
付記6に記載の画像検索装置。
(付記8)
前記主学習部が前記分類器を学習させる前に、事前に前記分類器を学習させる事前学習を行う事前学習部をさらに備え、
前記事前学習部は、一般画像認識用のデータセットを用いて前記事前学習を行う、
付記1から7のいずれか1つに記載の画像検索装置。
(付記9)
前記主学習部は、前記第2の正解ラベルが付与された前記画像を用いて前記分類器を学習させ、
前記微調整部は、前記第1の正解ラベルが付与された前記画像を用いて、前記主学習部が学習させた前記分類器の学習状態を微調整する、
付記1から8のいずれか1つに記載の画像検索装置。
(付記10)
前記主学習部は、前記第1の正解ラベルが付与された前記画像を用いて前記分類器を学習させ、
前記微調整部は、前記第2の正解ラベルが付与された前記画像を用いて、前記主学習部が学習させた前記分類器の学習状態を微調整する、
付記1から8のいずれか1つに記載の画像検索装置。
(付記11)
教師あり学習に用いる学習用の画像データセットに含まれる各画像に付与されている正解ラベルである第1の正解ラベルが付与された画像に、所定の観点での類似度に基づく正解ラベルである第2の正解ラベルを付与するラベル付与ステップと、
前記第1及び第2の正解ラベルの一方が付与された前記画像を用いて分類器を学習させる主学習ステップと、
前記第1及び第2の正解ラベルの他方が付与された前記画像を用いて、前記主学習ステップで学習させた前記分類器の学習状態を微調整する微調整ステップと、
を備える分類器学習方法。
(付記12)
コンピュータに、
教師あり学習に用いる学習用の画像データセットに含まれる各画像に付与されている正解ラベルである第1の正解ラベルが付与された画像に、所定の観点での類似度に基づく正解ラベルである第2の正解ラベルを付与するラベル付与ステップ、
前記第1及び第2の正解ラベルの一方が付与された前記画像を用いて分類器を学習させる主学習ステップ、及び、
前記第1及び第2の正解ラベルの他方が付与された前記画像を用いて、前記主学習ステップで学習させた前記分類器の学習状態を微調整する微調整ステップ、
を実行させるためのプログラム。
10…制御部、11…分類器、12…事前学習部、13…ラベル付与部、14…主学習部、15…微調整部、16…検索部、20…記憶部、31…画像入力部、32…出力部、33…通信部、34…操作入力部、100…画像検索装置、111…入力層、112,113,114,115,116,117…特徴マップ、118…出力層、121,123,124,125…フィルタ、122,126…ウィンドウ、127…全結合接続

Claims (8)

  1. 分類器を用いてユーザから入力された検索画像に類似する画像を検索する検索部を備えた画像検索装置であって
    前記分類器は
    前記画像に写った被写体の名称を示す第1の正解ラベルが元々付与された学習用画像データを用いることにより学習処理され、この学習処理に続けて、前記学習用画像データを見た目の類似度に基づいてクラスタリングし、クラスタリングした結果である各クラスタに対応する正解ラベルであって、前記第1の正解ラベルとは異なる第2の正解ラベルが付与される学習用画像データを用いることにより学習状態が微調整されたものである、
    ことを特徴とする画像検索装置。
  2. 前記分類器は、畳み込みニューラルネットワークを用いて画像を分類し、
    前記分類器の学習状態は、前記畳み込みニューラルネットワークにおける入力層、中間層、出力層の各層のうち、前記出力層に近い層のみにおいて、前記各層間の結びつきの強さを規定する重み係数の更新を行うことにより微調整される
    ことを特徴とする請求項1に記載の画像検索装置。
  3. 前記重み係数は、
    学習用の画像データセットから取得された第1の画像に付与された前記第1の正解ラベルと、前記学習用の画像データセットから取得され前記第1の画像とは異なる第2の画像に付与された前記第1の正解ラベルとが互いに等しい場合における、前記第1の画像を前記分類器に入力して得られる第1の特徴ベクトルと前記第2の画像を前記分類器に入力して得られる第2の特徴ベクトルとの間の距離である第1の距離が、前記第1の画像に付与された前記第1の正解ラベルと前記第2の画像に付与された前記第1の正解ラベルとが互いに異なる場合における、前記第1の特徴ベクトルと前記第2の特徴ベクトルとの間の距離である第2の距離よりも小さくなるように更される、
    ことを特徴とする請求項2に記載の画像検索装置。
  4. 前記第2の正解ラベルは、前記類似度として前記画像の見た目が反映される特徴量を複数のクラスタにクラスタリングすることにより前記画像に付与される、
    ことを特徴とする請求項1から3のいずれか1項に記載の画像検索装置。
  5. 前記特徴量は前記画像データに対応する画像に含まれる特徴点の配置状態に基づいて得られるものである、
    ことを特徴とする請求項4に記載の画像検索装置。
  6. 前記分類器は、前記第1の正解ラベルにより学習処理される前に一般画像認識用のデータセットを用いて事前学習される、
    ことを特徴とする請求項1から5のいずれか1項に記載の画像検索装置。
  7. 分類器を用いて入力された検索画像に類似する画像を検索する画像検索装置の前記分類器の学習方法であって、
    前記画像に写った被写体の名称を示す第1の正解ラベルが元々付与された学習用画像データと、前記学習用画像データを見た目の類似度に基づいてクラスタリングし、クラスタリングした結果である各クラスタに対応する正解ラベルであって、前記第1の正解ラベルとは異なる第2の正解ラベルが付与される学習用画像データと、のうち、ユーザによる学習開始の指示を受け付けることにより、前記第1の正解ラベルが付与された学習用画像データを用いることにより学習させる学習ステップと、
    前記学習ステップに続けて、前記第2の正解ラベルが付与される学習用画像データを用いることにより学習状態を微調整する微調整ステップと、
    を含むことを特徴とする学習方法。
  8. 分類器を用いて入力された検索画像に類似する画像を検索する画像検索装置のコンピュータを、
    前記画像に写った被写体の名称を示す第1の正解ラベルが元々付与された学習用画像データと、前記学習用画像データを見た目の類似度に基づいてクラスタリングし、クラスタリングした結果である各クラスタに対応する正解ラベルであって、前記第1の正解ラベルとは異なる第2の正解ラベルが付与される学習用画像データと、のうち、ユーザによる学習開始の指示を受け付けることにより、前記第1の正解ラベルが付与された学習用画像データを用いることにより学習させる学習手段、
    前記学習手段に続けて、前記第2の正解ラベルが付与される学習用画像データを用いることにより学習状態を微調整する微調整手段、
    として機能させるためのプログラム。
JP2019217687A 2019-01-24 2019-12-02 画像検索装置、学習方法及びプログラム Active JP7111088B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/741,795 US11250295B2 (en) 2019-01-24 2020-01-14 Image searching apparatus, classifier training method, and recording medium
AU2020200338A AU2020200338B2 (en) 2019-01-24 2020-01-17 Image searching apparatus, classifier training method, and program
EP20152903.9A EP3699820A3 (en) 2019-01-24 2020-01-21 Image searching apparatus, classifier training method, and program
US17/569,598 US20220129702A1 (en) 2019-01-24 2022-01-06 Image searching apparatus, classifier training method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019010257 2019-01-24
JP2019010257 2019-01-24

Publications (3)

Publication Number Publication Date
JP2020119508A JP2020119508A (ja) 2020-08-06
JP2020119508A5 JP2020119508A5 (ja) 2020-12-17
JP7111088B2 true JP7111088B2 (ja) 2022-08-02

Family

ID=71892155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019217687A Active JP7111088B2 (ja) 2019-01-24 2019-12-02 画像検索装置、学習方法及びプログラム

Country Status (3)

Country Link
US (2) US11250295B2 (ja)
JP (1) JP7111088B2 (ja)
AU (1) AU2020200338B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875821A (zh) * 2018-06-08 2018-11-23 Oppo广东移动通信有限公司 分类模型的训练方法和装置、移动终端、可读存储介质
EP3862926A1 (en) * 2020-02-10 2021-08-11 Robert Bosch GmbH Method of identifying filters in a neural network, system and storage medium of the same
JP7439656B2 (ja) * 2020-06-15 2024-02-28 富士通株式会社 生成プログラム、生成方法、生成装置
CN111783753B (zh) * 2020-09-04 2020-12-15 中国科学院自动化研究所 基于语义一致水平条和前景修正的行人重识别方法
CN113065634B (zh) * 2021-02-26 2024-07-09 华为技术有限公司 一种图像处理方法、神经网络的训练方法以及相关设备
JP7556340B2 (ja) 2021-10-14 2024-09-26 トヨタ自動車株式会社 材料のスペクトルデータを用いた材料種類同定システム
CN116451099B (zh) * 2023-06-19 2023-09-01 浪潮通用软件有限公司 一种基于随机遍历的高熵knn聚类方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279942A (ja) 2006-04-05 2007-10-25 Fujifilm Corp 類似症例検索装置、類似症例検索方法およびそのプログラム
JP2016139176A (ja) 2015-01-26 2016-08-04 シャープ株式会社 画像処理装置、画像処理システム、画像処理方法、およびその画像処理プログラム
JP2017084320A (ja) 2015-03-06 2017-05-18 パナソニックIpマネジメント株式会社 学習方法およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5434965B2 (ja) 2011-06-03 2014-03-05 カシオ計算機株式会社 動画生成方法、動画生成装置及びプログラム
JP5741282B2 (ja) 2011-07-26 2015-07-01 カシオ計算機株式会社 画像処理装置及び画像処理方法、並びにプログラム
JP5807489B2 (ja) 2011-09-28 2015-11-10 カシオ計算機株式会社 画像処理装置及び画像処理方法、並びにプログラム
JP5776903B2 (ja) 2012-03-02 2015-09-09 カシオ計算機株式会社 画像処理装置及び画像処理方法並びにプログラム
JP6098784B2 (ja) 2012-09-06 2017-03-22 カシオ計算機株式会社 画像処理装置及びプログラム
JP5975281B2 (ja) 2012-09-06 2016-08-23 カシオ計算機株式会社 画像処理装置及びプログラム
JP5799928B2 (ja) 2012-09-28 2015-10-28 カシオ計算機株式会社 閾値設定装置、被写体検出装置、閾値設定方法及びプログラム
JP6188400B2 (ja) * 2013-04-26 2017-08-30 オリンパス株式会社 画像処理装置、プログラム及び画像処理方法
US9626594B2 (en) * 2015-01-21 2017-04-18 Xerox Corporation Method and system to perform text-to-image queries with wildcards
US9785866B2 (en) * 2015-01-22 2017-10-10 Microsoft Technology Licensing, Llc Optimizing multi-class multimedia data classification using negative data
US9734320B2 (en) * 2015-02-13 2017-08-15 Facebook, Inc. Systems and methods for providing image-based security measures
JP6596979B2 (ja) 2015-06-30 2019-10-30 カシオ計算機株式会社 描画装置及び描画装置の描画方法
JP6651874B2 (ja) 2016-02-02 2020-02-19 カシオ計算機株式会社 描画装置及び描画装置の描画制御方法
US10402628B2 (en) * 2016-10-10 2019-09-03 Gyrfalcon Technology Inc. Image classification systems based on CNN based IC and light-weight classifier
US10705525B2 (en) * 2017-04-07 2020-07-07 Nvidia Corporation Performing autonomous path navigation using deep neural networks
US10025950B1 (en) 2017-09-17 2018-07-17 Everalbum, Inc Systems and methods for image recognition
US10496884B1 (en) * 2017-09-19 2019-12-03 Deepradiology Inc. Transformation of textbook information
US11091162B2 (en) * 2018-01-30 2021-08-17 Toyota Motor Engineering & Manufacturing North America, Inc. Fusion of front vehicle sensor data for detection and ranging of preceding objects
US10977827B2 (en) * 2018-03-27 2021-04-13 J. William Mauchly Multiview estimation of 6D pose
US10810543B2 (en) * 2018-07-30 2020-10-20 Maplebear, Inc. Populating catalog data with item properties based on segmentation and classification models
EP3620989A1 (en) * 2018-09-07 2020-03-11 Panasonic Intellectual Property Corporation of America Information processing method, information processing apparatus, and program
CN111461155A (zh) * 2019-01-18 2020-07-28 富士通株式会社 训练分类模型的装置和方法
CN110163090B (zh) * 2019-04-11 2023-08-22 江苏大学 一种基于多特征和尺度估计的pcb板标识跟踪方法
CN111738064B (zh) * 2020-05-11 2022-08-05 南京邮电大学 一种雾霾图像的雾浓度识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279942A (ja) 2006-04-05 2007-10-25 Fujifilm Corp 類似症例検索装置、類似症例検索方法およびそのプログラム
JP2016139176A (ja) 2015-01-26 2016-08-04 シャープ株式会社 画像処理装置、画像処理システム、画像処理方法、およびその画像処理プログラム
JP2017084320A (ja) 2015-03-06 2017-05-18 パナソニックIpマネジメント株式会社 学習方法およびプログラム

Also Published As

Publication number Publication date
AU2020200338B2 (en) 2021-05-06
JP2020119508A (ja) 2020-08-06
AU2020200338A1 (en) 2020-08-13
US11250295B2 (en) 2022-02-15
US20200242404A1 (en) 2020-07-30
US20220129702A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
JP7111088B2 (ja) 画像検索装置、学習方法及びプログラム
US20240331350A1 (en) Object Recognition Method and Apparatus
WO2020238293A1 (zh) 图像分类方法、神经网络的训练方法及装置
CN110689025B (zh) 图像识别方法、装置、系统及内窥镜图像识别方法、装置
Liu et al. A hierarchical visual model for video object summarization
EP3886037B1 (en) Image processing apparatus and method for style transformation
EP4002161A1 (en) Image retrieval method and apparatus, storage medium, and device
CN111489412A (zh) 用于使用神经网络生成基本逼真图像的语义图像合成
EP4006777A1 (en) Image classification method and device
CN113297936B (zh) 一种基于局部图卷积网络的排球群体行为识别方法
WO2022052530A1 (zh) 人脸矫正模型的训练方法、装置、电子设备及存储介质
WO2018203555A1 (ja) 信号検索装置、方法、及びプログラム
Akilandasowmya et al. Skin cancer diagnosis: Leveraging deep hidden features and ensemble classifiers for early detection and classification
WO2021047587A1 (zh) 手势识别方法、电子设备、计算机可读存储介质和芯片
WO2021136058A1 (zh) 一种处理视频的方法及装置
CN109509191A (zh) 一种图像显著性目标检测方法及系统
Ch An efficient facial emotion recognition system using novel deep learning neural network-regression activation classifier
CN111091010A (zh) 相似度确定、网络训练、查找方法及装置和存储介质
CN110750673B (zh) 图像处理方法、装置、设备及存储介质
Li et al. Horror image recognition based on context-aware multi-instance learning
Soleimani et al. Generic semi-supervised adversarial subject translation for sensor-based activity recognition
Prasad et al. Medical image segmentation using an optimized three-tier quantum convolutional neural network trained with hybrid optimization approach
CN114841887B (zh) 一种基于多层次差异学习的图像恢复质量评价方法
Anggoro et al. Classification of Solo Batik patterns using deep learning convolutional neural networks algorithm
Kalimuthu et al. Multi-class facial emotion recognition using hybrid dense squeeze network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R150 Certificate of patent or registration of utility model

Ref document number: 7111088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150