IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グローリー株式会社の特許一覧 ▶ 学校法人中部大学の特許一覧

特開2023-13293教師データ生成装置、学習モデル生成装置、および教師データの生成方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023013293
(43)【公開日】2023-01-26
(54)【発明の名称】教師データ生成装置、学習モデル生成装置、および教師データの生成方法
(51)【国際特許分類】
   G06N 3/08 20230101AFI20230119BHJP
【FI】
G06N3/08
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021117362
(22)【出願日】2021-07-15
(71)【出願人】
【識別番号】000001432
【氏名又は名称】グローリー株式会社
(71)【出願人】
【識別番号】500433225
【氏名又は名称】学校法人中部大学
(74)【代理人】
【識別番号】100117673
【弁理士】
【氏名又は名称】中島 了
(72)【発明者】
【氏名】鵜飼 祐生
(72)【発明者】
【氏名】藤吉 弘亘
(57)【要約】
【課題】学習モデルをより適切に学習することが可能な技術を提供する。
【解決手段】
画像処理装置30は、学習モデル400の学習用の教師データ(疑似ラベル群付き教師データ群)を生成する制御部を備える。学習モデル400は、入力画像210の入力に応じて畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップ230に対して第1プーリング処理を施して生成される第1特徴ベクトル251と、第2プーリング処理を施して生成される第2特徴ベクトル252とに基づき、入力画像210内の対象の識別ないし分類に関する情報を出力するモデルである。制御部は、学習モデル400に対する複数の新たな入力画像210の入力に応じて第1特徴ベクトル群と第2特徴ベクトル群とを生成し、第1特徴ベクトル群と第2特徴ベクトル群とに基づき複数の新たな入力画像をクラスタリングして複数の新たな入力画像に関する疑似ラベル群を生成する。
【選択図】図4
【特許請求の範囲】
【請求項1】
畳み込みニューラルネットワークを備えて構成される学習モデルに関する機械学習を実行するための教師データを生成する制御部、
を備え、
前記学習モデルは、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップに対して第1プーリング処理を施して生成される特徴ベクトルである第1特徴ベクトルと、前記第1プーリング処理とは異なる種類の第2プーリング処理を前記特徴マップに対して施して生成される特徴ベクトルである第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力するモデルであり、
前記制御部は、前記学習モデルに対する複数の新たな入力画像の入力に応じて第1特徴ベクトル群と第2特徴ベクトル群とを生成し、前記第1特徴ベクトル群と前記第2特徴ベクトル群とに基づき前記複数の新たな入力画像をクラスタリングして前記複数の新たな入力画像に関する疑似ラベル群を生成することを特徴とする、教師データ生成装置。
【請求項2】
前記第1プーリング処理は、平均プーリング処理であり、
前記第2プーリング処理は、最大プーリング処理であることを特徴とする、請求項1に記載の教師データ生成装置。
【請求項3】
畳み込みニューラルネットワークを備えて構成される学習モデルに関する機械学習を実行するための教師データを生成する制御部、
を備え、
前記学習モデルは、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップを2種類の特徴ベクトルに分離する処理により生成される第1特徴ベクトルと第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力するモデルであり、
前記制御部は、前記学習モデルに対する複数の新たな入力画像の入力に応じて第1特徴ベクトル群と第2特徴ベクトル群とを生成し、前記第1特徴ベクトル群と前記第2特徴ベクトル群とに基づき前記複数の新たな入力画像をクラスタリングして前記複数の新たな入力画像に関する疑似ラベル群を生成することを特徴とする、教師データ生成装置。
【請求項4】
前記制御部は、
前記第1特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第1集合群と、前記第2特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第2集合群とを取得し、
前記第1集合群と前記第2集合群とで示される各クラスタリング結果に基づき、前記複数の新たな入力画像に関する疑似ラベル群を生成することを特徴とする、請求項1から請求項3のいずれかに記載の教師データ生成装置。
【請求項5】
前記制御部は、
前記第1特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第1集合群と、前記第2特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第2集合群とを取得し、
前記第1集合群と前記第2集合群とに基づき、特徴空間における別のクラスタリング結果を示す第3集合群と、特徴空間における更に別のクラスタリング結果を示す第4集合群とを取得し、
前記第1集合群と前記第2集合群と前記第3集合群と前記第4集合群とで示される各クラスタリング結果に基づき、前記複数の新たな入力画像に関する疑似ラベル群を生成することを特徴とする、請求項1から請求項3のいずれかに記載の教師データ生成装置。
【請求項6】
前記制御部は、
前記第1集合群と前記第2集合群との間での積集合を求める集合演算処理を用いたクラスタリング処理により前記第3集合群を生成し、
前記第1集合群と前記第2集合群との間での和集合を求める集合演算処理を用いたクラスタリング処理により前記第4集合群を生成することを特徴とする、請求項5に記載の教師データ生成装置。
【請求項7】
請求項1から請求項6のいずれかに記載の教師データ生成装置にて生成される疑似ラベル群を用いた機械学習を実行することによって、前記学習モデルを生成することを特徴とする、学習モデル生成装置。
【請求項8】
請求項4から請求項6のいずれかに記載の教師データ生成装置にて生成される疑似ラベル群を用いた機械学習を実行することによって、前記学習モデルを生成する学習モデル生成装置であって、
前記制御部は、各集合群において、当該各集合群の一の要素である注目要素と、当該注目要素とは異なるグループに分類される別の要素との距離が、前記注目要素と同じグループに分類されるさらに別の要素と前記注目要素との距離よりも相対的に大きくなるように、前記学習モデルを学習することを特徴とする、学習モデル生成装置。
【請求項9】
a)畳み込みニューラルネットワークを備えて構成される学習モデルであって、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップに対して第1プーリング処理を施して生成される特徴ベクトルである第1特徴ベクトルと、前記第1プーリング処理とは異なる種類の第2プーリング処理を前記特徴マップに対して施して生成される特徴ベクトルである第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力する学習モデルに対して、新たな入力画像を入力するステップと、
b)前記新たな入力画像の入力に応じて前記学習モデルを用いて生成される前記第1特徴ベクトルと前記第2特徴ベクトルとに基づき、前記学習モデルに関する機械学習を実行するための教師データであって前記新たな入力画像に関する教師データを生成するステップと、
を備えることを特徴とする、教師データの生成方法。
【請求項10】
a)畳み込みニューラルネットワークを備えて構成される学習モデルであって、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップを2種類の特徴ベクトルに分離する処理により生成される第1特徴ベクトルと第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力する学習モデルに対して、新たな入力画像を入力するステップと、
b)前記新たな入力画像の入力に応じて前記学習モデルを用いて得られる前記第1特徴ベクトルと前記第2特徴ベクトルとに基づき、前記新たな入力画像に関する教師データを生成するステップと、
を備えることを特徴とする、教師データの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習における教師データを生成する教師データ生成装置およびそれに関連する技術に関する。
【背景技術】
【0002】
従来、学習モデルを利用して、入力画像内の対象(対象人物等)の識別等を行う画像処理技術(機械学習による画像認識技術)が存在する。より詳細には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて画像を解析する技術が存在する。
【0003】
このような機械学習においては、非常に多数の教師データを要する(特許文献1等参照)。当該非常に多数の教師データを、正解ラベルを有する教師データとして準備するには大変な労力を要する。
【0004】
このような問題に対して、学習モデルを利用して疑似ラベルを生成し、当該疑似ラベルをも用いて学習モデルをさらに学習する技術が存在する。このような疑似ラベルを利用した学習手法は、たとえば、転移学習等において利用される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2018-200531号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、疑似ラベルが利用されるときには、必ずしも当該疑似ラベルの精度が十分ではないこと等に起因して、期待した学習効果を得ることができないことがある。そのような場合、当該学習モデルを利用した推論処理において適切な推論結果を得ることもできない。
【0007】
そこで、この発明は、学習モデルをより適切に学習することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決すべく、本発明に係る教師データ生成装置は、畳み込みニューラルネットワークを備えて構成される学習モデルに関する機械学習を実行するための教師データを生成する制御部、を備え、前記学習モデルは、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップに対して第1プーリング処理を施して生成される特徴ベクトルである第1特徴ベクトルと、前記第1プーリング処理とは異なる種類の第2プーリング処理を前記特徴マップに対して施して生成される特徴ベクトルである第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力するモデルであり、前記制御部は、前記学習モデルに対する複数の新たな入力画像の入力に応じて第1特徴ベクトル群と第2特徴ベクトル群とを生成し、前記第1特徴ベクトル群と前記第2特徴ベクトル群とに基づき前記複数の新たな入力画像をクラスタリングして前記複数の新たな入力画像に関する疑似ラベル群を生成することを特徴とする。
【0009】
前記第1プーリング処理は、平均プーリング処理であり、前記第2プーリング処理は、最大プーリング処理であってもよい。
【0010】
また、本発明に係る教師データ生成装置は、畳み込みニューラルネットワークを備えて構成される学習モデルに関する機械学習を実行するための教師データを生成する制御部、を備え、前記学習モデルは、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップを2種類の特徴ベクトルに分離する処理により生成される第1特徴ベクトルと第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力するモデルであり、前記制御部は、前記学習モデルに対する複数の新たな入力画像の入力に応じて第1特徴ベクトル群と第2特徴ベクトル群とを生成し、前記第1特徴ベクトル群と前記第2特徴ベクトル群とに基づき前記複数の新たな入力画像をクラスタリングして前記複数の新たな入力画像に関する疑似ラベル群を生成するものであってもよい。
【0011】
前記制御部は、前記第1特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第1集合群と、前記第2特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第2集合群とを取得し、前記第1集合群と前記第2集合群とで示される各クラスタリング結果に基づき、前記複数の新たな入力画像に関する疑似ラベル群を生成してもよい。
【0012】
前記制御部は、前記第1特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第1集合群と、前記第2特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第2集合群とを取得し、前記第1集合群と前記第2集合群とに基づき、特徴空間における別のクラスタリング結果を示す第3集合群を取得し、前記第1集合群と前記第2集合群と前記第3集合群とで示される各クラスタリング結果に基づき、前記複数の新たな入力画像に関する疑似ラベル群を生成してもよい。
【0013】
前記制御部は、前記第1特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第1集合群と、前記第2特徴ベクトル群の特徴空間内での分布に基づき前記複数の新たな入力画像をクラスタリングして生成される第2集合群とを取得し、前記第1集合群と前記第2集合群とに基づき、特徴空間における別のクラスタリング結果を示す第3集合群と、特徴空間における更に別のクラスタリング結果を示す第4集合群とを取得し、前記第1集合群と前記第2集合群と前記第3集合群と前記第4集合群とで示される各クラスタリング結果に基づき、前記複数の新たな入力画像に関する疑似ラベル群を生成してもよい。
【0014】
前記制御部は、前記第1集合群と前記第2集合群との間での積集合を求める集合演算処理を用いたクラスタリング処理により前記第3集合群を生成し、前記第1集合群と前記第2集合群との間での和集合を求める集合演算処理を用いたクラスタリング処理により前記第4集合群を生成してもよい。
【0015】
また、本発明に係る学習モデル生成装置は、上記いずれかの教師データ生成装置にて生成される疑似ラベル群を用いた機械学習を実行することによって、前記学習モデルを生成することを特徴とする。
【0016】
また、本発明に係る学習モデル生成装置は、上記いずれかの教師データ生成装置にて生成される疑似ラベル群を用いた機械学習を実行することによって、前記学習モデルを生成する学習モデル生成装置であって、前記制御部は、各集合群において、当該各集合群の一の要素である注目要素と、当該注目要素とは異なるグループに分類される別の要素との距離が、前記注目要素と同じグループに分類されるさらに別の要素と前記注目要素との距離よりも相対的に大きくなるように、前記学習モデルを学習するものであってもよい。
【0017】
また、本発明に係る推論装置は、上記いずれかの学習モデル生成装置により生成された前記学習モデルを用いて更なる新たな入力画像内の対象を識別ないし分類する推論処理を実行することを特徴とする。
【0018】
また、本発明に係る教師データの生成方法は、a)畳み込みニューラルネットワークを備えて構成される学習モデルであって、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップに対して第1プーリング処理を施して生成される特徴ベクトルである第1特徴ベクトルと、前記第1プーリング処理とは異なる種類の第2プーリング処理を前記特徴マップに対して施して生成される特徴ベクトルである第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力する学習モデルに対して、新たな入力画像を入力するステップと、b)前記新たな入力画像の入力に応じて前記学習モデルを用いて生成される前記第1特徴ベクトルと前記第2特徴ベクトルとに基づき、前記学習モデルに関する機械学習を実行するための教師データであって前記新たな入力画像に関する教師データを生成するステップと、を備えることを特徴とする。
【0019】
また、本発明に係る教師データの生成方法は、a)畳み込みニューラルネットワークを備えて構成される学習モデルであって、入力画像の入力に応じて前記畳み込みニューラルネットワーク内の所定の畳み込み層から得られる特徴マップを2種類の特徴ベクトルに分離する処理により生成される第1特徴ベクトルと第2特徴ベクトルとに基づき、前記入力画像内の対象の識別ないし分類に関する情報を出力する学習モデルに対して、新たな入力画像を入力するステップと、b)前記新たな入力画像の入力に応じて前記学習モデルを用いて得られる前記第1特徴ベクトルと前記第2特徴ベクトルとに基づき、前記新たな入力画像に関する教師データを生成するステップと、を備えるものであってもよい。
【0020】
また、本発明に係る学習モデルの生産方法は、上記いずれかの教師データの生成方法により生成された教師データを用いて学習モデルを生産することを特徴とする。
【0021】
また、本発明に係る推論方法は、上記の学習モデルの生産方法により生産された学習モデルを用いて、更なる新たな入力画像内の対象を識別ないし分類する推論処理を実行することを特徴とする。
【発明の効果】
【0022】
本発明によれば、学習モデルに対する複数の新たな入力画像の入力に応じて第1特徴ベクトル群と第2特徴ベクトル群とが生成され、当該第1特徴ベクトル群と当該第2特徴ベクトル群とに基づき複数の新たな入力画像がクラスタリングされて複数の新たな入力画像に関する疑似ラベル群が生成される。したがって、第1特徴ベクトル群のみに基づくクラスタリングにより疑似ラベル群が生成される場合に比べて、より適切に学習モデルを学習する疑似ラベルが生成され得る。このような教師データ(擬似ラベル付き教師データ)を用いれば、学習モデルを適切に学習することが可能である。
【図面の簡単な説明】
【0023】
図1】画像処理システムを示す概略図である。
図2】第1フェーズおよび第2フェーズの概略を示す図である。
図3】第2フェーズ内のサブフェーズの概略を示す図である。
図4】学習モデルの構成を示す図である。
図5】特徴抽出層の構成の一例を示す概念図である。
図6】第1フェーズにおける学習処理を示すフローチャートである。
図7】第2フェーズの処理を示すフローチャートである。
図8】複数の入力画像群の入力に応じて学習モデルから出力される特徴ベクトル群等を示す図である。
図9】第2フェーズにて生成される特徴ベクトル群およびクラスタリング結果等を示す図である。
図10】第2フェーズにおける学習処理を示す図である。
図11】トリプレットロスを最小化するメトリックラーニングによって特徴空間における要素位置が最適化される様子を示す図である。
図12】統合特徴ベクトルが生成される様子を示す図である。
図13】統合特徴ベクトルを用いた推論処理について説明する図である。
図14】推論処理結果の一例を示す図である。
図15】或る入力画像内の人物と同一の人物が写っている画像を探索する状況を説明する図である。
図16】GAPによる特徴抽出とGMPによる特徴抽出との相違を示す図である。
図17】第2実施形態に係る擬似ラベル付き教師データ群が生成される様子を示す図である。
図18】積集合群および和集合群が生成される様子を示す図である。
図19】第2実施形態に係る学習処理を示す図である。
図20】積集合群および和集合群に基づく疑似ラベル付き教師データ群を用いた学習によって特徴空間における要素位置が変更されていく様子を示す図である。
図21】特徴空間における要素分布状況が理想的には正規の状況に近づいていく様子を示す図である。
図22】変形例に係る学習モデルを示す図である。
図23】別の変形例に係る学習モデルを示す図である。
図24】第3実施形態に係る学習モデルを示す図である。
図25】更に別の変形例に係る学習モデルを示す図である。
図26】差集合群を用いた擬似ラベル群の生成処理等について示す図である。
図27】比較例に係る技術を示す図である。
図28】比較例に係る技術を示す図である。
図29】比較例に係る技術を示す図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態を図面に基づいて説明する。
【0025】
<1.第1実施形態>
<1-1.システム概要>
図1は、画像処理システム1を示す概略図である。図1に示されるように、画像処理システム1は、撮影画像を撮像する複数(多数)の撮影装置(監視カメラ等)20と、撮影画像を処理する画像処理装置30とを備えている。画像処理装置30は、撮影画像の対象(ここでは対象人物)を識別ないし分類するための各種の処理を実行する装置である。
【0026】
各撮影装置20で撮影された撮影画像は、通信ネットワーク(LANおよび/またはインターネット等)を介して画像処理装置30に入力される。そして、画像処理装置30による画像処理等によって、撮影画像内の対象人物等を識別ないし分類する処理等が行われる。詳細には、複数の撮影画像に撮影された複数の人物の中から、特定人物を識別(認識)する処理等が行われる。
【0027】
たとえば、所定エリア内に配置された複数の撮影装置20による複数の撮影画像の中から、特定人物が写っている撮影画像(被写体として特定人物を含む画像)を探し出す処理が行われる。複数の撮影装置20は、互いに異なる複数の場所(道路沿いの互いに異なる箇所、互いに異なる複数の店舗(内の各箇所)、および/または同一店舗(特に大型店舗)内の互いに異なる複数の箇所等)に分散して配置される。そして、画像処理装置30は、検索対象の特定人物を複数の撮影画像の中から検索し、検索した1又は複数の撮影画像に対応する各撮影装置を特定することによって、所定エリア内における当該特定人物の行動(移動経路等)を特定する。端的に言えば、画像処理装置30は、特定人物を追跡することが可能である。特定人物としては、迷子追跡処理における迷子(子供等)、あるいは、犯人追跡処理における犯人(被疑者)等が例示される。たとえば、或る撮影装置20Aの撮影画像と別の撮影装置20Bの撮影画像と更に別の撮影装置20Cの撮影画像との合計3枚の撮影画像に当該特定人物(検索対象人物)が含まれている(写っている)場合を想定する。この場合、画像処理装置30は、当該特定人物が当該撮影装置20A,20B,20Cに対応する3カ所に存在していたことを知得できる。また、画像処理装置30は、各撮影画像の撮影時刻(詳細には、当該3カ所の撮影画像に関する撮影時刻順序)に基づいて、当該3カ所の移動順序を知得することもできる。
【0028】
このような推論処理、複数の撮影装置20で撮影された複数の撮影画像に基づき同一人物を識別する処理は、人物再識別(再同定ないし再認識)(Person Re-Identification)処理とも称される。なお、人物再識別に関する特定人物の追跡処理は、迷子を探す(追跡する)迷子追跡処理等に限定されず、たとえば、マーケティング等に利用するために各個人の行動を追跡する追跡処理等であってもよい。
【0029】
この実施形態では、画像処理装置30は、このような処理において機械学習、詳細にはメトリックラーニング(距離学習とも称される)を実行する。より詳細には、ディープニューラルネットワーク(特に畳み込みニューラルネットワーク(Convolutional Neural Network))を用いたディープメトリックラーニング(Deep Metric Learning)が利用される。当該メトリックラーニングでは、入力画像の入力に対して特徴空間(特徴量空間)における特徴ベクトルを出力する学習モデル400が用いられる。このような学習モデル400は、入力画像(入力)から特徴ベクトル(出力)への変換(写像)を示すモデルである、とも表現される。
【0030】
詳細には、まず、画像処理装置30は、撮影装置20から取得した複数の撮影画像のそれぞれに対して人物抽出処理およびサイズ調整処理(リサイズ処理)を施して複数の人物画像を生成し、当該複数の人物画像を学習モデル400に対する入力画像群として準備する。
【0031】
そして、当該複数の入力画像(入力画像群)が順次に学習モデル400に入力され、学習モデル400からの複数の出力、すなわち特徴空間における複数の特徴ベクトル(特徴ベクトル群)が順次に出力される。理想的には、特徴空間において、同一人物を被写体とする複数の入力画像に対応する複数の特徴ベクトルは互いに近い位置に配置され、異なる人物に関する複数の入力画像に対応する複数の特徴ベクトルは互いに遠い位置に配置される。ただし、学習前の学習モデル400からの出力に基づく特徴ベクトル群の分布は、このような理想的な分布状態からずれている。
【0032】
つぎに、当該メトリックラーニングにおいて、トリプレットロス(Triplet Loss)などの評価関数を最適化(最小化)するように、学習モデル400が学習される。これによって、入力空間での入力画像の類似度が特徴空間での距離(特徴ベクトル間の距離)に対応するように、学習モデル400(写像関係)が学習される。換言すれば、特徴空間における特徴ベクトルの分布位置が学習の進行に応じて徐々に変更される。非常に良好な機械学習が実行されれば、特徴空間における特徴ベクトルの分布は、上述の理想的な分布状態に徐々に近づいていく。
【0033】
そして、このようにして学習された学習モデル400(学習済みモデルとも称する)を利用することによって、推論処理が行われる。具体的には、所定エリア内で撮影された複数の撮影画像の中から、特定人物を含む画像を探し出す処理等が、推論処理として実行される。より詳細には、特定人物の画像である検索元の画像(クエリ画像とも称する)との類似度合いが所定程度以上(換言すれば、特徴空間における特徴ベクトル間の距離が所定距離以下)の画像を、特定人物と同一の人物の画像として探し出す処理等が、推論処理として実行される。あるいは、クエリ画像に類似した画像をその類似順に探し出す処理等が推論処理(人物再識別処理)として実行されてもよい。
【0034】
ところで、上述のように、このような機械学習において正解ラベル(ここでは、各入力画像がいずれの人物の画像であるかを示す情報)が付された多数の教師データを準備することは容易ではない。
【0035】
そこで、この実施形態では、一旦生成した学習モデルを利用して疑似ラベル(Pseudo-Label)を生成し、当該疑似ラベルを用いて学習モデルをさらに学習する技術を採用する。
【0036】
具体的には、図2上段に示されるように、第1フェーズPH1においては正解ラベルが付された教師データを用いて学習モデル400(未学習モデル410)が学習され、学習済みの学習モデル(学習済みモデル)400(420)が一旦生成される。一方、その後の第2フェーズPH2(図2下段参照)においては、正解ラベルを有しない複数(多数)の入力画像を用いた学習処理等が行われる。より詳細には、疑似ラベルを用いた学習等が行われる。第2フェーズPH2の疑似ラベルの生成処理においては、第1フェーズPH1で生成された学習モデル400(420)が利用される。また、第2フェーズPH2での学習は、正解ラベルを有しない複数(多数)の入力画像を用いた学習、換言すれば、教師無し学習である、とも表現される。なお、図2は、第1フェーズPH1と第2フェーズPH2との概略を示す図である。
【0037】
第2フェーズPH2は、サブフェーズPH2a,PH2b,PH2cに大別される(図3参照)。なお、図3は、第2フェーズPH2内のサブフェーズの概略を示す図である。
【0038】
まず、サブフェーズPH2a(図3の最上段参照)において、第1フェーズPH1で生成された学習済みモデル420を利用して疑似ラベルが生成され、疑似ラベル付き教師データが生成される。具体的には、正解ラベルを有しない複数の入力画像(入力画像群)が順次に学習モデル400に入力され、学習モデル400からの複数の出力、すなわち特徴空間における複数の特徴ベクトル(特徴ベクトル群)が順次に出力される。そして、複数の入力画像(入力画像群)の入力に対する学習モデル400からの複数の出力(特徴空間における複数の特徴ベクトル(特徴ベクトル群))がクラスタリングされる。学習モデル400からの複数の特徴ベクトル(出力)をクラスタリングする処理は、複数の入力画像(入力)をクラスタリングする処理であるとも表現される。クラスタリングには、DBSCAN(Density-Based Spatial Clustering of Applications with Noise)あるいはk-meansなどの各種の手法が用いられればよい。そして、当該クラスタリングの処理結果に基づき、疑似ラベル(疑似ラベル群)が生成される。さらに、疑似ラベルに基づく教師データ(疑似ラベル付き教師データ)が生成される。
【0039】
つぎに、サブフェーズPH2b(図3の中段参照)において、当該疑似ラベルに基づく教師データを用いて学習モデル400(420)がさらに学習される。具体的には、入力空間での入力画像の類似度が特徴空間での距離(特徴ベクトル間の距離)に対応するように、学習モデル400(写像関係)が学習される。換言すれば、特徴空間での距離が入力空間での入力画像の類似度を反映するように、学習モデル400が学習される。詳細には、特徴空間において、同一人物を被写体とする複数の入力画像に対応する複数の特徴ベクトルは互いに近い位置に配置され、異なる人物に関する複数の入力画像に対応する複数の特徴ベクトルは互いに遠い位置に配置される状態を目指して、学習モデル400が学習される。このようなメトリックラーニング(距離学習)によって、第2フェーズPH2における学習済みモデル400(430)が生成される。なお、特徴空間での「距離」としては、たとえば、ユークリッド距離、内積、あるいはコサイン類似度等が用いられればよい。
【0040】
そして、サブフェーズPH2c(図3の最下段参照)において、当該学習済みモデル430を利用することによって、所定エリア内で撮影された複数の撮影画像の中から、特定人物を含む画像を探し出す処理等(推論処理)が、実行される。
【0041】
また、この実施形態においては、第2フェーズPH2では最終的なターゲットエリア(たとえば、大阪駅近傍エリア)に配置された複数の撮影装置20による撮影画像が用いられる。一方、第1フェーズPH1では、最終的なターゲットエリアとは異なるエリア(初期エリア)(たとえば、姫路駅近傍エリア)に配置された複数の撮影装置20による撮影画像が用いられる。なお、本システム1における複数(多数)の撮影装置20は、上述の2つのエリア(初期エリアとターゲットエリア)に分離して設けられる。たとえば、初期エリアに10台の撮影装置20が配置され、ターゲットエリアに20台の撮影装置20が配置される。ただし、これに限定されず、第1フェーズPH1にて初期エリアに配置されていた複数の撮影装置20の全部または一部が、第2フェーズPH2にてターゲットエリアに再配置されて利用されてもよい。
【0042】
第1フェーズPH1と第2フェーズPH2との相互間においては、利用される各撮影装置20の背景テクスチャ、各撮影装置20の配置角度等が互いに異なる。それ故、第1フェーズPH1での学習結果をそのまま用いて第2フェーズPH2における推論処理を良好に実行することは困難である。最終的なターゲットエリアでの撮影画像に基づき第2フェーズPH2の学習によって得られた学習モデル430を用いることによって、第2フェーズPH2において、良好な推論処理が実行され得る。具体的には、第2フェーズPH2に対応する複数の撮影装置20による撮影画像を用いた人物認識処理(特定人物の追跡処理等)が良好に実行され得る。
【0043】
このように、第2フェーズPH2では、ドメインの異なる新たなデータ(ターゲットエリアで取得されたデータ(撮影画像等))に学習モデル400を適合させる学習処理が行われ、当該学習結果に基づく推論処理が行われる。第2フェーズPH2における学習は、第1フェーズPH1の学習結果(学習済みモデル420)を利用した学習であり、いわゆる転移学習の一種である。
【0044】
<1-2.画像処理装置30>
図1を再び参照する。図1に示されるように、画像処理装置30は、コントローラ31(制御部とも称される)と記憶部32と通信部34と操作部35とを備える。
【0045】
コントローラ31は、画像処理装置30に内蔵され、画像処理装置30の動作を制御する制御装置である。
【0046】
コントローラ31は、1又は複数のハードウェアプロセッサ(例えば、CPU(Central Processing Unit)およびGPU(Graphics Processing Unit))等を備えるコンピュータシステムとして構成される。コントローラ31は、CPU等において、記憶部(ROMおよび/またはハードディスクなどの不揮発性記憶部)32内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を実行することによって、各種の処理を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されて画像処理装置30にインストールされるようにしてもよい。あるいは、当該プログラムは、通信ネットワーク等を経由してダウンロードされて画像処理装置30にインストールされるようにしてもよい。
【0047】
具体的には、コントローラ31は、上述の第1フェーズPH1における学習処理、サブフェーズPH2aにおける教師データ生成処理、サブフェーズPH2bにおける学習処理、サブフェーズPH2cにおける推論処理等を実行する。
【0048】
記憶部32は、ハードディスクドライブ(HDD)および/またはソリッドステートドライブ(SSD)等の記憶装置で構成される。記憶部32は、学習モデル400(学習モデルに関する学習パラメータおよびプログラムを含む)(ひいては学習済みモデル420,430)等を記憶する。
【0049】
通信部34は、ネットワークを介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、画像処理装置30は、所望の相手先(たとえば、撮影装置20あるいは不図示の情報格納装置等)との間で各種のデータ(撮影画像データおよび正解データ等)を授受することが可能である。
【0050】
操作部35は、画像処理装置30に対する操作入力を受け付ける操作入力部35aと、各種情報の表示出力を行う表示部35bとを備えている。操作入力部35aとしてはマウスおよびキーボード等が用いられ、表示部35bとしてはディスプレイ(液晶ディスプレイ等)が用いられる。また、操作入力部35aの一部としても機能し且つ表示部35bの一部としても機能するタッチパネルが設けられてもよい。
【0051】
なお、画像処理装置30は、機械学習のための教師データ(疑似ラベルを有する教師データ等)を生成する機能を備えているので、教師データ生成装置とも称される。また、画像処理装置30は、生成された当該教師データを用いて学習モデル400を機械学習する機能を備えているので、学習モデル生成装置とも称される。また、画像処理装置30は、再学習された学習モデル400を用いて対象の識別および/また分類に関する推論を実行する装置でもあるので、推論装置とも称される。
【0052】
また、ここでは、様々な処理(機能)が1つの画像処理装置30によって実現されているが、これに限定されない。たとえば、様々な処理が複数の装置で分担されて実現されてもよい。たとえば、上述の第1フェーズPH1における学習処理と、サブフェーズPH2aにおける教師データ生成処理と、サブフェーズPH2bにおける学習処理と、サブフェーズPH2cにおける推論処理とが、それぞれ別個の装置で実行されてもよい。
【0053】
<1-3.学習モデル400>
上述のように、画像処理装置30は、学習モデル400を備えている。ここでは、学習モデル400として、複数の層で構成されるニューラルネットワークモデル、詳細には、畳み込みニューラルネットワーク(Convolutional Neural Network)モデルが用いられる。そして、当該学習モデル400がメトリックラーニング(Deep Metric Learning)によって学習される。具体的には、畳み込みニューラルネットワークモデルにおける複数の層(特に複数の中間層)における特徴抽出用の各種画像フィルタ(畳み込み層の画像フィルタ)のパラメータ(学習パラメータ)等が調整される。
【0054】
なお、上述のように、機械学習によって学習された後の学習モデル400は、学習済みモデルとも称される。学習モデル400(学習器)の学習パラメータが所定の機械学習手法を用いて調整されることによって、学習済みの学習モデル400(学習済みモデル)が生成される(図2参照)。
【0055】
本願において、学習済みモデル400を生成することは、学習済みモデル400を製造(生産)することを意味するとともに、「学習済みモデルの生成方法」は「学習済みモデルの生産方法」を意味する。
【0056】
図4は、学習モデル400の構成を示す図である。図4に示されるように、学習モデル400は、複数の層(階層)が階層的に接続される階層構造を有している。具体的には、学習モデル400は、入力層310と特徴抽出層320とプーリング層340と出力層370とを備えている。この実施形態では、特徴抽出層320およびプーリング層340が、複数の中間層として設けられている。
【0057】
<入力層310>
入力層310は、入力画像210を受け付ける層である。入力画像210は、ここでは対象人物の撮影画像である。たとえば、幅(横)W0画素および高さ(縦)H0画素の画素配列(矩形形状の画素配列)を有するカラー画像(3チャンネル)が入力画像210として入力される。換言すれば、入力画像210は、W0×H0×C0のボクセルデータ(ただし、C0=3)として生成される。
【0058】
<特徴抽出層320>
図4に示されるように、学習モデル400は、入力層310の後(次)に特徴抽出層320を備えている。学習モデル400(特に特徴抽出層320)は、畳み込みニューラルネットワークを備えて構成される。入力画像210に対して特徴抽出層320の処理が施されることによって、特徴マップ230が生成される。
【0059】
特徴抽出層320は、複数の畳み込み層と複数のプーリング層(平均プーリングおよび/または最大プーリング等)とを含む中間層である。この畳み込みニューラルネットワークにおいては、入力層310と出力層370との間に複数の中間層が設けられる。特徴抽出層320は、当該複数の中間層の一部である。特徴抽出層320としては、たとえば、各種の畳み込みニューラルネットワーク構成(VGGあるいはResNet等)の一部(特徴抽出部分)が利用され得る。
【0060】
たとえば、VGG16において最終畳み込み層CV13(全結合層(3層)の直前のプーリング層の更に直前の畳み込み層)までに設けられる特徴抽出層(13層の畳み込み層および4層のプーリング層)(図5参照)が、特徴抽出層320として設けられる。換言すれば、入力層310の次から始まる18層のうち、(13層の畳み込み層のうちの)最終畳み込み層CV13までの合計17層までが、畳み込みニューラルネットワークにおける特徴抽出層320として設けられる。図5においては、特徴抽出層320として、VGG16(13層の畳み込み層と5層のプーリング層と3層の全結合層とを有する)の構成の一部(最終畳み込み層CV13までの特徴抽出部分)が例示されている。なお、図5においては、活性化関数等は適宜省略されている。
【0061】
あるいは、ResNet(Residual Network)(残差ネットワーク)などの他の畳み込みニューラルネットワークにおいて設けられる特徴抽出層の全部(または一部)が、畳み込みニューラルネットワークにおける特徴抽出層320として設けられてもよい。ResNetは、層間で残差を足し合わせることを含む畳み込みニューラルネットワークである。ResNetにおける特徴抽出層は、畳み込み層と活性化関数とスキップコネクション(ショートカットコネクション)との組合せ等で構成される複数の残差ブロック等で構成される。ここにおいて、一般的な畳み込みニューラルネットワークにおいては、特徴抽出層の後に、当該特徴抽出層にて抽出された特徴量に基づく分類処理を実行する層(分類層とも称する)として全結合層等が設けられる。そのような全結合層の直前までに設けられる特徴抽出層の全部(または一部)が、畳み込みニューラルネットワークにおける特徴抽出層320として設けられてもよい。
【0062】
特徴マップ230は、学習モデル400の畳み込みニューラルネットワークにおける所定の畳み込み層(ここでは最終畳み込み層CV13)から出力される特徴マップである。特徴マップ230は、複数のチャンネルを有する特徴マップとして生成される。特徴マップ230は、それぞれ幅W1画素および高さH1画素の画素配列(矩形形状の画素配列)の2次元配列データで構成されるチャンネルをC1個備える3次元配列データ(W1×H1×C1のボクセルデータ)として生成される。特徴マップ230の各チャンネルのサイズ(W1×H1)は、たとえば、14×14である。また、特徴マップ230のチャンネル数C1は、たとえば、512である。ただし、これに限定されず、各チャンネルのサイズおよびチャンネル数は、他の値であってもよい。たとえば、チャンネル数C1は、256、あるいは1024などであってもよい。
【0063】
ここにおいて、特徴抽出層320は、1又は複数の畳み込み層と1のプーリング層とが繰り返し配置されること等によって構成される。各畳み込み層では、畳み込み処理を実行するフィルタにより画像内の特徴が抽出される。また、各プーリング層では、微小画素範囲(たとえば、2×2の画素範囲)毎の平均画素値あるいは最大画素値等を抽出するプーリング処理(平均プーリング処理あるいは最大プーリング処理等)が行われ、画素サイズが低減(たとえば、縦横の各方向に1/2)される(情報量が凝縮される)。
【0064】
そして、このような特徴抽出層320による処理(畳み込み処理およびプーリング処理)が入力画像210に対して施されることによって、特徴マップ230が生成される。このように、特徴マップ230は、畳み込みニューラルネットワークにおいて入力層310の後に設けられた複数の畳み込み層と複数のプーリング層とを含む中間層によって生成される。これによれば、入力画像210における画像の各種の特徴は、特徴マップ230におけるチャンネルごとに抽出される。また、入力画像210における画像の特徴は、特徴マップ230における各チャンネルの2次元画像内において、その大まかな位置が保持された状態で抽出される。なお、特徴抽出層320に含まれるプーリング層(図5参照)においては、平均プーリング処理(あるいは最大プーリング処理)等が実行される。
【0065】
<プーリング層340および出力層370>
この実施形態では、たとえば図5の最終プーリング層(最終畳み込み層CV13の直後のプーリング層)に代えてプーリング層340が設けられる。詳細には、プーリング層340(図4参照)として、第1プーリング層341と第2プーリング層342とが並列的に設けられる。第1プーリング層341と第2プーリング層342とでは、互いに異なる種類のプーリング処理が特徴マップ230に対して施される。この結果、2種類の異なる特徴ベクトル250(251,252)が生成される。
【0066】
ここでは、第1プーリング層341においては、特徴マップ230に対してグローバルアベレージプーリング(GAP:Global Average Pooling)処理(以下、GAP処理とも称する)が施される。一方、第2プーリング層342においては、特徴マップ230に対してグローバルマックスプーリング(GMP:Global Max Pooling)処理(以下、GMP処理とも称する)が施される。そして、第1プーリング層341の処理が特徴マップ230に対して施されることによって、第1特徴ベクトル251が生成される。また、第2プーリング層342の処理が特徴マップ230に対して施されることによって、第2特徴ベクトル252が生成される。
【0067】
アベレージ(平均)プーリング(Average Pooling)処理は、カーネル(フィルタ)サイズに対応する複数の画素の平均値を特徴値(出力値)として抽出する処理である。平均プーリング処理では、一般的にはチャンネルサイズ(W1×H1)(たとえば、14×14サイズ)よりも小さなフィルタサイズ(たとえば、2×2サイズ)に対応する複数の画素(たとえば、4つの画素)の平均値が算出されることが多い。
【0068】
グローバルアベレージプーリング(GAP:Global Average Pooling)処理は、平均プーリング(Average Pooling)処理の一種であり、詳細には「チャンネル全体」を対象とする平均プーリング処理である。GAP処理(全体平均プーリング処理)は、チャンネルサイズと同じフィルタサイズ(たとえば、W1×H1=14×14)に対応する複数の画素(チャンネル内の全ての画素)(たとえば、196個の画素)の平均値を抽出する平均プーリング処理である。
【0069】
このGAP処理(グローバルアベレージプーリング処理)は、処理対象の特徴マップ(ここでは特徴マップ230)のチャンネル毎の平均画素値を(チャンネル毎に)抽出する処理である。C1個(たとえば512個)のチャンネルを有する特徴マップに対してGAP処理が施されると、C1個の値(チャンネル毎の平均値)(たとえば512個の平均値)が出力される。換言すれば、第1特徴ベクトル251は、C1次元(たとえば512次元)を有するベクトルとして生成される。
【0070】
マックス(最大)プーリング(Max Pooling)処理は、カーネル(フィルタ)サイズに対応する複数の画素のうち最大の値(最大画素値)を特徴値(出力値)として抽出する処理である。最大プーリング処理では、一般的にはチャンネルサイズよりも小さなフィルタサイズ(たとえば、2×2サイズ)に対応する複数の画素(たとえば、4つの画素)のうちの最大値が抽出されることが多い。
【0071】
グローバルマックスプーリング(GMP:Global Max Pooling)処理は、最大プーリング(Max Pooling)処理の一種であり、詳細には「チャンネル全体」を対象とする最大プーリング処理である。GMP処理(全体最大プーリング処理)は、チャンネルサイズと同じフィルタサイズ(たとえば、W1×H1=14×14)に対応する複数の画素(チャンネル内の全ての画素)(たとえば、196個の画素)のうちの最大値を抽出する最大プーリング処理である。
【0072】
このGMP処理(グローバルマックスプーリング処理)は、処理対象の特徴マップ(ここでは特徴マップ230)のチャンネル毎の最大画素値を(チャンネル毎に)抽出する処理である。C1個(たとえば512個)のチャンネルを有する特徴マップに対してGMP処理が施されると、C1個の値(チャンネル毎の最大値)(たとえば512個の最大値)が出力される。換言すれば、第2特徴ベクトル252は、C1次元(たとえば512次元)を有するベクトルとして生成される。
【0073】
そして、この実施形態では、これらの2種類の特徴ベクトル251,252自体(1組の特徴ベクトル(251,252))が、入力画像210内の対象人物の識別ないし分類に関する情報として、学習モデル400から出力される。また、当該学習モデル400は、2つの出力系統(第1プーリング層341からの出力(第1特徴ベクトル251)、および第2プーリング層342からの出力(第2特徴ベクトル252))を有している、とも表現される。詳細には、対象に関する第1特徴ベクトル251を特徴空間内にてマッピングした情報(特徴空間への写像)(第1出力)が、学習モデル400から出力される。さらに、対象に関する第2特徴ベクトル252を特徴空間内にてマッピングした情報(特徴空間への写像)(第2出力)が、学習モデル400から出力される。
【0074】
このような内容が出力層370において出力される。換言すれば、入力画像210に対する学習モデル400による写像(特徴ベクトル対(251,252))が出力される。
【0075】
<1-4.第1フェーズPH1における学習処理>
以下では、第1フェーズPH1における学習処理、サブフェーズPH2aにおける教師データの生成処理、サブフェーズPH2bにおける学習処理、サブフェーズPH2cにおける推論処理について、順に説明する。
【0076】
まず、第1フェーズPH1における学習処理について説明する。この実施形態では、第1フェーズPH1における学習処理と第2フェーズPH2における学習処理との両者は、いずれも同じ学習モデル400(同じ構造の学習モデル400)に対して実行される。ただし、上述のように第2フェーズPH2においては、第1フェーズPH1で学習された学習モデル400(420)を対象にして更なる学習が実行される。
【0077】
また、第1フェーズPH1では、「正解ラベル付き教師データ群」を用いて学習モデル400(410)に対する学習処理が実行される。これに対して、第2フェーズPH2では、「擬似ラベル付き教師データ群」を用いて学習モデル400(420)に対する学習処理が実行される。この点において、当該両者は特に互いに相違する。なお、第1フェーズPH1と第2フェーズPH2とを組み合わせた学習は、半教師あり学習(教師あり学習と教師なし学習とを組み合わせた学習)とも称される。
【0078】
図6は、第1フェーズPH1における学習処理を示すフローチャートである。
【0079】
図6に示されるように、第1フェーズPH1においては、ステップS11において、メトリックラーニングによって学習モデル400が学習される。具体的には、トリプレットロスを最小化(最適化)するように、正解ラベル群を用いて学習モデル400(詳細には学習前の学習モデル410)に対する学習処理が実行される。
【0080】
詳細には、正解ラベル付き教師データ群における複数の入力画像210(211)が学習モデル400に対して順次に入力され、学習モデル400からの出力群(複数の特徴ベクトル251,252)が取得される(図4参照)。そして、入力画像210(入力)と特徴空間における特徴ベクトル(出力)との写像関係が学習される。具体的には、特徴空間での距離(特徴ベクトル間の距離)が入力空間での入力画像の類似度を反映するように、学習モデル400(写像関係)が学習される。
【0081】
より詳細には、画像処理装置30は、複数の第1特徴ベクトル251の相互間の距離が入力空間での入力画像の類似度を反映するように、正解ラベル付き教師データを用いて学習モデル400の第1出力系統(第1部分モデルとも称する)を学習する。また、画像処理装置30は、複数の第2特徴ベクトル252の相互間の距離が入力空間での入力画像の類似度を反映するように、正解ラベル付き教師データを用いて学習モデル400の第2出力系統(第2部分モデルとも称する)を学習する。ここで、学習モデル400の第1出力系統は、特徴抽出層320と第1プーリング層341とを備えて構成される部分であり、学習モデル400の第2出力系統は、特徴抽出層320と第2プーリング層342とを備えて構成される部分である。
【0082】
このような学習処理によって、学習前の学習モデル400(410)が学習され、学習済みモデル420が生成される(ステップS12)。
【0083】
このようにして、第1フェーズPH1においては、正解ラベル付き教師データ群を用いて学習処理が実行される。
【0084】
以下、第1フェーズPH1の次の第2フェーズPH2について、3つのサブフェーズPH2a,PH2b,PH2cに分けて順次説明する。
【0085】
<1-5.サブフェーズPH2aにおける教師データの生成処理>
まず、サブフェーズPH2a(ステップS21~S23(図7参照))における教師データの生成処理について説明する。サブフェーズPH2aでは、疑似ラベル付き教師データ群が生成される。ここで、「疑似ラベル」は、本来的な正解ラベルではなく、学習モデルに基づき擬似的に正解ラベル(擬似的な正解ラベル)として生成されるものを意味する。なお、図7は、第2フェーズPH2の処理を示すフローチャートである。また、図8は、複数の入力画像群の入力に応じて学習モデル400から出力される複数の特徴ベクトル250(251,252)、およびそのクラスタリング結果(271,272)等を示す図である。図9は、図8の一部を詳細に示す図である。図9においては、第2フェーズPH2にて生成される特徴ベクトル群261,262およびそのクラスタリング例等が示されている。
【0086】
この第2フェーズPH2では、第1フェーズPH1とは別の入力画像(新たな入力画像)が用いられる。具体的には、ターゲットエリアにて(ターゲットエリアに配置された撮影装置20により)撮影された新たな複数の入力画像210(212)が用いられる。
【0087】
サブフェーズPH2aのステップS21においては、画像処理装置30は、当該新たな複数の入力画像212のそれぞれを学習モデル400(420)に入力し、当該学習モデル400(420)からの各出力(各特徴ベクトル対)を取得する。具体的には、画像処理装置30は、入力画像210に対する出力を取得する上述の処理(1組の特徴ベクトル(特徴ベクトル対)(251,252)の生成処理)を、新たな複数の入力画像210(212)に関して繰り返し実行することによって、複数の特徴ベクトル対を生成する。これにより、2種類の特徴ベクトル群260(261,262)が生成される(図9の右から3列目等参照)。詳細には、複数の第1特徴ベクトル251で構成される第1特徴ベクトル群261が生成されるとともに、複数の第2特徴ベクトル252で構成される第2特徴ベクトル群262が生成される。
【0088】
図9の右から2列目においては、各特徴ベクトル群261,262をそれぞれ特徴空間にマッピングした状況が示されている。複数の第1特徴ベクトル251のそれぞれは、図9の上段(且つ右から2列目)のマッピング図内における1つの点(詳細には点状の図形)として表現されている。また、複数の第2特徴ベクトル252のそれぞれは、図9の下段(且つ右から2列目)のマッピング図内における1つの点として表現されている。図9の右から2列目においては、多数の入力画像210に対応する多数の特徴ベクトル250のうちの一部(14個の特徴ベクトルV101~V114)が、それぞれ点状の図形(黒丸、黒四角、白丸、黒三角)で示されている。なお、図9の各段(上段および下段)において、右から2列目と右から3列目とは同じ状況を示している。また、便宜上、ここでは本来同じ人物に対応する複数の点を同じ図形(点状図形)で示している。ただし、画像処理装置30は、何れの点(特徴ベクトル(換言すれば、入力画像))が同じ人物に本来対応するか(正解ラベル)(図21参照)を知らない。
【0089】
つぎに、ステップS22において、画像処理装置30は、上段の特徴ベクトル群261と下段の特徴ベクトル群262とに対して、それぞれ、クラスタリング処理を施す。クラスタリング処理には、DBSCAN(Density-Based Spatial Clustering of Applications with Noise)などの各種の手法が用いられればよい。
【0090】
DBSCANは、次のような手法である。まず、或る点(或る特徴ベクトルを表現する点)を起点として当該起点から所定値(閾値)以下の距離内に所定数(たとえば1個)以上の点があれば同一のグループ(部分集合)内の点として判定する。そして、当該同一グループ内の点として判定された点を次の起点として同様の処理が繰り返される。このような連鎖的な探索によって、或る点から出発して或る距離(閾値)内に存在する点を順次に同一グループに含めていくことが繰り返される。その後、当該同一グループに属しない別の点から別グループの探索が同様にして実行される。なお、DBSCANにおける「距離」は、ユークリッド距離であってもよく、余弦距離であってもよく、あるいは、ジャッカード(Jaccard)距離等であってもよい。
【0091】
そして、画像処理装置30は、このようなクラスタリング処理による処理結果(クラスタリング結果)を取得する。図9には、このようなクラスタリング結果が例示されている。図9の右端の列においては、図9の右から2列目の特徴空間分布に対してクラスタリング処理を施した結果(クラスタリング結果)が示されている。図9の右端上段においては、第1特徴ベクトル群261に関するクラスタリング処理(第1クラスタリング処理とも称する)の処理結果が示されている。また、図9の右端下段においては、第2特徴ベクトル群262に関するクラスタリング処理(第2クラスタリング処理とも称する)の処理結果が示されている。同じ閉曲線(破線曲線)で囲まれた複数の要素は同じグループに分類されていることを示しており、別の閉曲線(破線曲線)で囲まれた複数の要素は別のグループに分類されていることを示している。
【0092】
図9の右端上段のクラスタリング結果においては、3つのグループGA1,GA2,GA3が形成されている。具体的には、特徴ベクトルV101~V104が同一のグループGA1としてクラスタリングされている。また、特徴ベクトルV105~V112が同一のグループGA2としてクラスタリングされ、特徴ベクトルV113~V114が同一のグループGA3としてクラスタリングされている。
【0093】
このように図9の右端上段においては、第1特徴ベクトル群261の特徴空間内での分布に基づき複数の入力画像をクラスタリングして生成される第1集合群271(GA1,GA2,GA3)が示されている。ここで、第1集合群271は、複数の入力画像210の全体集合を分割(区分)して得られる部分集合GA1,GA2,GA3の集合体である、とも表現される。また、上記の第1クラスタリング処理は、第1集合群生成処理とも称される。
【0094】
図9の右端下段のクラスタリング結果においては、4つのグループGM1,GM2,GM3,GM4が形成されている。具体的には、特徴ベクトルV101~V104が同一のグループGM1としてクラスタリングされ、特徴ベクトルV105~V108,V113~V114が同一のグループGM2としてクラスタリングされている。また、特徴ベクトルV109~V110が同一のグループGM3としてクラスタリングされ、特徴ベクトルV111~V112が同一のグループGM4としてクラスタリングされている。
【0095】
このように図9の右端下段においては、第2特徴ベクトル群262の特徴空間内での分布に基づき複数の入力画像をクラスタリングして生成される第2集合群272(GM1,GM2,GM3,GM4)が示されている。ここで、第2集合群272は、複数の入力画像210の全体集合を分割(区分)して得られる部分集合GM1,GM2,GM3,GM4の集合体である、とも表現される。また、上記の第2クラスタリング処理は、第2集合群生成処理とも称される。
【0096】
そして、画像処理装置30は、第1集合群271と第2集合群272とで示される各クラスタリング結果に基づき、複数の入力画像210に関する疑似ラベル群を生成する。
【0097】
ここでは、第1出力系統(上側の出力系統)におけるクラスタリング結果がそのまま擬似ラベル群として求められる。具体的には、複数の入力画像210に関する第1クラスタリング処理によるクラスタリング結果が、第1出力系統に関する疑似ラベル群(疑似ラベルの集合体)として取得される。
【0098】
同様に、第2出力系統(下側の出力系統)におけるクラスタリング結果がそのまま擬似ラベル群として求められる。具体的には、複数の入力画像210に関する第2クラスタリング処理によるクラスタリング結果が、第2出力系統に関する疑似ラベル群(疑似ラベルの集合体)として取得される。
【0099】
さらに、ステップS23において、複数の入力画像210と(当該複数の入力画像210に関する)第1出力系統のクラスタリング結果(擬似ラベル群)との組み合わせ(データセットDAとも称する)が、教師データ群(疑似ラベル付き教師データ群)として生成される。
【0100】
データセットDA(DaveあるいはD1とも称する)は、複数の入力画像210とその第1クラスタリング処理(第1集合群生成処理)の処理結果(クラスタリング結果)との組み合わせ(各入力画像Xiと各疑似ラベルYiとの組み合わせ)の集合体である(次式(1)参照)。ここで、Xiは、第iの入力(入力画像)であり、Yiは、第iの出力(クラスタリング結果)である。また、Yiの右肩のaveは平均プーリングに関する出力であることを示している。
【0101】
【数1】
【0102】
また、複数の入力画像210と(当該複数の入力画像210に関する)第2出力系統のクラスタリング結果(擬似ラベルデータ群)との組み合わせ(データセットDMとも称する)が、教師データ群(疑似ラベル付き教師データ群)として生成される。
【0103】
データセットDM(DmaxあるいはD2とも称する)は、複数の入力画像210とその第2クラスタリング処理(第2集合群生成処理)の処理結果(クラスタリング結果)との組み合わせ(各入力画像Xiと各疑似ラベルYiとの組み合わせ)の集合体である(次式(2)参照)。ここで、Xiは、第iの入力(入力画像)であり、Yiは、第iの出力(クラスタリング結果)である。また、Yiの右肩のmaxは最大プーリングに関する出力であることを示している。
【0104】
【数2】
【0105】
このようにして、疑似ラベル群、および疑似ラベル付き教師データ群(DA,DM)が生成される。
【0106】
<1-6.サブフェーズPH2bにおける学習処理>
つぎに、サブフェーズPH2b(ステップS24,S25(図7参照))における学習処理について説明する。この第2フェーズPH2では、第1フェーズPH1の学習処理が施された学習モデル400(学習済みモデル420)が利用される。
【0107】
ステップS24では、上述のようにして生成された2種類の教師データ群(疑似ラベル付き教師データ群)DA,DMに基づき、学習モデル400に対する学習処理(機械学習)が実行される(図10参照)。ここでは、所謂トリプレットロスなどの評価関数を最小化するメトリックラーニングが実行される。なお、図10は、サブフェーズPH2bにおける学習段階の処理等を示す図である。
【0108】
図10に示されるように、画像処理装置30は、第1集合群271に関する疑似ラベルによる疑似ラベル付き教師データ群DAを用いて、学習モデル400の第1出力系統(特徴抽出層320と第1プーリング層341とを備えて構成される)を学習する。また、画像処理装置30は、第2集合群272に関する疑似ラベルによる疑似ラベル付き教師データ群DMを用いて、学習モデル400の第2出力系統(特徴抽出層320と第2プーリング層342とを備えて構成される)を学習する。
【0109】
この学習段階においては、各集合群において、トリプレットロス(Triplet Loss)Ltripletなどの損失関数(評価関数)を最小化するように機械学習が実行される(図11参照)。これにより、特徴空間内における当該各集合群の一の要素(一の入力画像(あるいはそれに対応する特徴ベクトル(たとえばV103)))である注目要素(アンカー)とその異分類要素(ネガティブ)とその同分類要素(ポジティブ)との位置関係が修正される。異分類要素(ネガティブ)は、当該注目要素とは異なるグループ(別の対象)に分類される別の要素(たとえば、V111)であり、同分類要素(ポジティブ)は、注目要素と同じグループ(同一対象)に分類されるさらに別の要素(たとえば、V104)である。なお、図11は、トリプレットロスを最小化するメトリックラーニングによって特徴空間における要素位置が最適化される様子を示す図である。
【0110】
具体的には、注目要素(たとえばV103)と異分類要素(ネガティブ)(たとえばV111)との距離dnが、注目要素(アンカー)と同分類要素(ポジティブ)(たとえばV104)との距離dpよりも相対的に(且つ一定程度α以上に)大きくなるように変更される。換言すれば、距離dpは、距離dnよりも相対的に小さくなるように変更される。謂わば、クラス間の距離(異なるグループ(部分集合)の要素間の距離)がクラス内の距離(同一グループ(部分集合)内の要素間の距離)よりも大きくなるように変更される。このような変更を実現するための或るトリプレット(3要素の組み合わせ)のロス((個別の)トリプレットロス)Lsは、たとえば、max(dp+α-dn,0)で表現される。
【0111】
詳細には、このような最適化処理(トリプレットロスを最小化する処理)は、注目要素と異分類要素と同分類要素との全て(あるいは一部)の組み合わせに関して実行される。より詳細には、(個別の)トリプレットロスLsが、注目要素と異分類要素と同分類要素との全て(あるいは一部)の組み合わせに関してそれぞれ算出される。そして、複数の組み合わせに関する(個別の)トリプレットロスLsの合計値Ltriplet(合計トリプレットロスあるいは単にトリプレットロスとも称する)が損失関数とされ、当該損失関数を最小化するように学習モデル400が学習される。
【0112】
なお、これに限定されず、さらに、距離dpが一定程度β以下になるように変更されてもよい。より詳細には、(max(dp+α-dn,0)+max(dp-β,0))で表現されるトリプレットロスLsが用いられてもよい。これによれば、距離dpが値βに近づくことが担保される。あるいは、クワドラプレットロス(Quadruplet Loss)などの損失関数を用いることによって、任意のクラス間の距離(異なるクラスに属する要素間の距離)が任意のクラス内の距離(同一クラス内の要素間の距離)よりも大きくなるように変更されてもよい。あるいは、他の各種の損失関数が用いられてもよい。
【0113】
サブフェーズPH2bにおいては、上述のような評価関数を最小化するように学習モデル400(420)が学習され、学習済みの学習モデル400(学習済みモデル430)が生成される。なお、この学習済みモデル430は、転移学習後の学習モデルとも称される。
【0114】
<1-7.サブフェーズPH2cにおける推論処理>
つぎに、サブフェーズPH2c(ステップS26(図7参照))における推論処理について図12図14を参照しつつ説明する。図12図14は、推論処理を示す図である。図12は、統合特徴ベクトル280(後述)が生成される様子を示しており、図13は、統合特徴ベクトル280を用いた推論処理について説明する図である。図14は、推論処理結果の一例を示す図である。
【0115】
このサブフェーズPH2c(ステップS26)においては、画像処理装置30は、更なる新たな(更に新たな)入力画像210(215)内の対象を識別(ないし分類)する推論処理を実行する。具体的には、ターゲットエリアにて(ターゲットエリアに配置された撮影装置20により)撮影された更なる新たな複数の入力画像210(213)の中から、探索対象の入力画像215(更なる新たな入力画像)内の人物と同一の人物が探索される。換言すれば、画像処理装置30は、当該複数の入力画像213の人物の中から、探索対象の入力画像215(クエリ画像とも称する)内の人物と同一の人物を識別(認識)する。
【0116】
そのため、まず、画像処理装置30は、更なる新たな複数の入力画像210(213)を学習モデル430にそれぞれ入力し、当該学習モデル430からの出力をそれぞれ取得する。具体的には、図12に示されるように、各入力画像213にする出力として、第1特徴ベクトル251と第2特徴ベクトル252とが取得される。そして、画像処理装置30は、第1特徴ベクトル251と第2特徴ベクトル252とを連結して統合したベクトル(統合特徴ベクトル280とも称する)を生成する。たとえば、第1特徴ベクトル251が512次元のベクトルであり且つ第2特徴ベクトル252も512次元のベクトルである場合、統合特徴ベクトル280は1024次元のベクトルとして生成される。この統合特徴ベクトル280が、各入力画像213の特徴を表すベクトルとして、複数の入力画像213に関して求められる(図13左側参照)。
【0117】
同様に、画像処理装置30は、探索対象の入力画像(クエリ画像)215を学習モデル430に入力し、当該学習モデル430から出力された第1特徴ベクトル251と第2特徴ベクトル252とを取得する。そして、画像処理装置30は、入力画像215の入力に対して出力された第1特徴ベクトル251と第2特徴ベクトル252とに基づき、統合特徴ベクトル280(280Q)を生成する(図13右側参照)。なお、クエリ画像215は、たとえば、複数の入力画像213の中から何らかの契機等によって発見(特定)された探索対象人物に関する画像等である。ただし、これに限定されず、クエリ画像215は、探索用に新たに付与された画像等であってもよい。
【0118】
つぎに、画像処理装置30は、クエリ画像215の統合特徴ベクトル280Qと複数の入力画像213に関する複数の統合特徴ベクトル280のそれぞれとの距離を算出する。また、当該距離の昇順に当該複数の統合特徴ベクトル280が並べ替えられる。そして、画像処理装置30は、特徴空間における統合特徴ベクトル280Qとの距離が所定の距離以下の1又は2以上の統合特徴ベクトル280を、クエリ画像215内の人物と同一の人物の統合特徴ベクトル280として特定する。換言すれば、画像処理装置30は、特定された当該1又は2以上の統合特徴ベクトル280に対応する1又は2以上の入力画像213内の人物を、クエリ画像215内の人物と同一の人物であると認識する。
【0119】
図14では、クエリ画像215の統合特徴ベクトル280Q(白星印参照)から所定の距離範囲内に、4つの統合特徴ベクトル280(W111,W112,W109,W110)が存在している。この場合、たとえば、4つの統合特徴ベクトルW111,W112,W109,W110に対応する4つの画像213が同一人物の画像として抽出される。なお、統合特徴ベクトルW111は、第1特徴ベクトル251であるベクトルV111と第2特徴ベクトル252であるベクトルV111とを統合した統合特徴ベクトル280である。他の統合特徴ベクトルW112,W109,W110も同様である。
【0120】
なお、これに限定されず、当該距離の昇順に並べ替えられた上位所定数の統合特徴ベクトル280に対応する入力画像213内の人物が、クエリ画像215内の人物と同一の人物であると認識されてもよい。あるいは、複数の入力画像213が、クエリ画像215との(統合特徴ベクトル280に関する)距離の昇順に並べ替えられて提示されるだけでもよい。この場合でも、画像処理装置30は、実質的にクエリ画像内の人物と同一の人物である可能性が高い人物をその可能性順に探し出す処理(同一人物の認識処理)を実行しており、当該処理は、クエリ画像内の対象人物を認識する推論処理の一つである。
【0121】
<1-8.比較例>
図27図29は、比較例(第1比較例とも称する)に係る技術を示す図である。
【0122】
この比較例においては、図27に示されるように、学習モデル900の特徴抽出層320に対して第1プーリング層(GAP層)341のみが存在し第2プーリング層342は存在しない。それ故、図4等と比較すると判るように、第1特徴ベクトル251のみが出力され、第2特徴ベクトル252(図4参照)は出力されない。また、第1プーリング層341からの出力(第1特徴ベクトル251)のみに基づいて、擬似ラベルが生成される。そして、複数の第1特徴ベクトル251(第1特徴ベクトル群261)のクラスタリング結果のみが擬似ラベル群(第1集合群271)として生成される。
【0123】
また、図28に示されるように、疑似ラベル付き教師データ群を用いた学習に関しても、第1集合群271に基づく疑似ラベル付き教師データ群(データセットDA)のみが利用され、第2集合群272(図10参照)に基づく疑似ラベル付き教師データ群(データセットDM)は利用されない。
【0124】
さらに、推論処理においては、学習モデル900に基づき、未知の複数の入力画像213に関する複数の第1特徴ベクトル251のみが生成される(複数の第2特徴ベクトル252は生成されない)。そして、当該複数の第1特徴ベクトル251とクエリ画像215に関する第1特徴ベクトル251(251Q)との距離に基づき、人物の識別処理等が実行される(図29参照)。
【0125】
このような比較例においては、次のような問題が生じ得る。
【0126】
図15は、或る入力画像内の人物510Aと同一の人物が写っている画像(換言すれば、人物510Aと同一の人物)を探索する状況を説明する図である。たとえば、図15に示すような入力画像210A内の人物510Aと同一の人物を、入力画像210B,210C等の中から探索する場合を想定する。実際には、人物510Cは人物510Aとは別人であり、人物510Bは人物510Aとは同じ人物である、とする。ただし、画像210Cの人物510Cは、その肩付近の特徴において人物510Aとは異なっているものの、人物510Aと同じ向き(図の右向き)に向いている。
【0127】
ここにおいて、図16に観念的に示されるように、GAP処理を用いて得られた第1特徴ベクトル251は、平均化処理に伴い(どちらかと言えば)全体的な特徴(大まかな画像変化)を表現している。一方、GMP処理を用いて得られた第2特徴ベクトル252は、最大化処理に伴い(どちらかと言えば)部分的な特徴(局所的に際立った特徴)を表現している。なお、図16の右上部分においては入力画像210からGAP処理によって特徴抽出がなされる様子が観念的に示されており、図16の右下部分においては入力画像210からGMP処理によって特徴抽出がなされる様子が観念的に示されている。
【0128】
この比較例のように、GAP処理を用いて得られた第1特徴ベクトル251のみを考慮する場合、全体的な特徴が類似している異なる2人の人物510A,510C(図15参照)が同一人物であると判定される可能性が高い。
【0129】
<1-9.実施形態の効果>
これに対して、上記実施形態においては、GMP処理を用いて得られた第2特徴ベクトル252もが考慮されている。これによれば、2つの画像210A,210Cの部分的な特徴(たとえば、肩付近の特徴)等が適切に考慮され、2人の人物510A,510Cは別人であると正しく判定され得る。
【0130】
特に、上記実施形態においては、第1出力系統(GAP処理側)に関する学習のためのデータ群(疑似ラベル群および疑似ラベル付き教師データ群)のみならず、第2出力系統(GMP処理側)に関する学習のためのデータ群(疑似ラベル群および疑似ラベル付き教師データ群)も生成されている。
【0131】
より詳細には、上記サブフェーズPH2aにおいては、学習モデル400に対する複数の新たな入力画像210(212)の入力に応じて第1特徴ベクトル群261と第2特徴ベクトル群262とが生成される。そして、当該第1特徴ベクトル群261と当該第2特徴ベクトル群262とに基づき複数の新たな入力画像210がクラスタリングされて複数の新たな入力画像210に関する疑似ラベル群が生成される。すなわち、2種類の特徴ベクトル群261,262に基づき複数の新たな入力画像210がクラスタリングされて複数の新たな入力画像210に関する疑似ラベル群が生成される。
【0132】
したがって、第1特徴ベクトル群261のみに基づくクラスタリングにより疑似ラベル群が生成される場合に比べて、より適切な疑似ラベルが生成され得る。このような教師データ(擬似ラベル付き教師データ)を用いれば、学習モデル400を適切に学習することが可能である。
【0133】
特に、畳み込みニューラルネットワーク内の所定の畳み込み層(ここでは最終畳み込み層CV13)から出力される特徴マップ230に対して第1プーリング処理とは異なる第2プーリング処理を施して得られる第2特徴ベクトルの集合体として、第2特徴ベクトル群262が得られる。そして、第1特徴ベクトル群261のみならず第2特徴ベクトル群262にも基づく疑似ラベル群が生成される。したがって、第1プーリング処理(ここではGAP処理)とは異なる第2プーリング処理(ここではGMP処理)をも利用することによって、多様な性質を反映した擬似ラベルが生成される。それ故、より適切に学習モデル400(420)を学習することが可能である。
【0134】
ここにおいて、2種類の特徴ベクトル251,252(たとえば各512次元ベクトル)を直列に統合した1種類のベクトル(たとえば1024次元ベクトル)を学習モデル400から出力し、当該1種類のベクトルの分布を学習する技術(第2比較例とも称する)を想定する。このような技術(第2比較例)においては、当該1種類のベクトルに含まれる幾つかの特徴情報が(当該1種類のベクトルに含まれる他の特徴情報よりも重要視されずに)埋没してしまう可能性が高くなる。
【0135】
これに対して、上記実施形態においては、2種類の特徴ベクトル251,252が学習モデル400から出力され、2種類の特徴ベクトル251,252をそれぞれ集めた2種類の特徴ベクトル群261,262が生成される。そして、2種類の特徴ベクトル群261,262のそれぞれに対するクラスタリングにより疑似ラベル群271,272が個別に生成され、疑似ラベル群271を用いた学習と疑似ラベル群272を用いた学習とが個別に実行される。この場合には、2種類の特徴ベクトル251,252にそれぞれ現れる特徴が埋没せずに(顕在化して)自他識別のために機能する可能性が高くなる。それ故、第2比較例のように1種類のベクトル(ベクトル群)のみに基づくクラスタリングにより疑似ラベル群が生成される場合に比べて、より適切に学習モデルを学習する疑似ラベル群が生成され得る。
【0136】
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
【0137】
上記第1実施形態においては、第2フェーズPH2において、2種類の疑似ラベル群(第1集合群271および第2集合群272)(図9参照)が生成されるとともに、2種類の疑似ラベル付き教師データ群(データセットDA,DM)に基づいて機械学習が実行されている。
【0138】
ここにおいて、理想的なクラスタリング結果においては、(実際の)同一人物が同一のグループ(集合)に分類され、別人は互いに異なるグループ(集合)に分類される。ただし、図9の例(右端参照)においては、上段(第1出力系統)と下段(第2出力系統)とのいずれにおいても、理想的なクラスタリング結果は得られていない。すなわち、必ずしも正確な疑似ラベルが得られているとは言えない。
【0139】
このような擬似ラベルの不正確性は、学習結果に悪影響を及ぼす可能性が高い。
【0140】
そこで、第2実施形態では、擬似ラベルの不正確性に起因する悪影響を抑制することが可能な技術について説明する。
【0141】
この第2実施形態においては、第2フェーズPH2(特にサブフェーズPH2a,PH2b)の処理が第1実施形態と相違する。
【0142】
<2-1.疑似ラベル群の生成(ステップS22)>
第2実施形態に係るサブフェーズPH2aのステップS22(図7参照)では、2種類の疑似ラベル群(第1集合群271および第2集合群272)に基づき、さらに別の2種類の疑似ラベル群(第3集合群273および第4集合群274)が生成される。具体的には、特徴空間における別のクラスタリング結果(第1集合群271および第2集合群272とは別のクラスタリング結果)を示す第3集合群273と、特徴空間における更に別のクラスタリング結果を示す第4集合群274とが、更に生成されて取得される(図17参照)。なお、図17は、第2実施形態に係る擬似ラベル群271~274、および擬似ラベル付き教師データ群(DA,DM,DI,DU)が生成される様子を示す図である。
【0143】
ここでは、第3集合群273は、第1集合群271と第2集合群272との間での「積集合」(INTERSECTION)を求める集合演算処理を用いたクラスタリング処理(第3クラスタリング処理あるいは第3集合群生成処理等とも称される)により生成される(図18参照)。また、第4集合群274は、第1集合群271と第2集合群272との間での「和集合」(UNION)を求める集合演算処理を用いたクラスタリング処理(第4クラスタリング処理あるいは第4集合群生成処理等とも称される)により生成される。なお、第3集合群273は、第3クラスタリング処理の処理結果であり、疑似ラベル群(第3疑似ラベル群とも称する)として生成される。同様に、第4集合群274は、第4クラスタリング処理の処理結果であり、疑似ラベル群(第4疑似ラベル群とも称する)として生成される。なお、図18は、積集合群および和集合群が生成される様子を示す図である。
【0144】
ここで、2つの集合群(部分集合の集合体)間の「積集合」(INTERSECTION)を求める集合演算処理は、2つの集合群における対応要素(同じ入力画像に対する対応特徴ベクトル)が属する部分集合間の積集合演算処理である。詳細には、元の2つの集合群の双方において同一グループに属する要素(群)が、新たな集合群(積集合群)における同一のグループ(積集合)を構成する。
【0145】
たとえば、図18に示されるように、第1集合群271における要素(特徴ベクトル)V105が属する部分集合(グループ)GA2と第2集合群272における特徴ベクトルV105が属する部分集合(グループ)GM2との積集合として、部分集合GI2,GI3,GI4が生成される。また、第1集合群271における特徴ベクトルV113が属する部分集合(グループ)GA3と第2集合群272における特徴ベクトルV113が属する部分集合(グループ)GM2との積集合として、部分集合GI5が生成される。さらに、第1集合群271における特徴ベクトルV101が属する部分集合(グループ)GA1と第2集合群272における特徴ベクトルV101が属する部分集合(グループ)GM1との積集合として、部分集合GI1が生成される。
【0146】
なお、部分集合GI3は、第1集合群271における特徴ベクトルV109が属する部分集合(グループ)GA2と第2集合群272における特徴ベクトルV109が属する部分集合(グループ)GM3との積集合である、とも表現される。また、元の2つの集合群271,272の双方において同一グループに属する要素群(V109,V110)が、新たな集合群(積集合群)における同一のグループGI3を構成する、とも表現される。他の部分集合GI4等についても同様である。
【0147】
そして、これらの部分集合GI2,GI3,GI4,GI5の集合体が第3集合群として形成される。
【0148】
また、2つの集合群(部分集合の集合体)間の「和集合」(UNION)を求める集合演算処理は、2つの集合群における対応要素(対応特徴ベクトル)が属する部分集合間の和集合演算処理である。詳細には、元の2つの集合群の少なくとも一方において同一グループに属する要素群が、新たな集合群(和集合群)における同一のグループ(和集合)を構成する。
【0149】
たとえば、図18に示されるように、第1集合群271における要素(特徴ベクトル)V105が属する部分集合(グループ)GA2と第2集合群272における特徴ベクトルV105が属する部分集合(グループ)GM2との和集合として、部分集合GU2が生成される。換言すれば、元の2つの集合群271,272の少なくとも一方において同一グループに属する要素群(V105~V114)が、新たな集合群(和集合群)における同一のグループGU2を構成する。
【0150】
また、第1集合群271における特徴ベクトルV101が属する部分集合(グループ)GA1と第2集合群272における特徴ベクトルV101が属する部分集合(グループ)GM1との和集合として、部分集合GU1が生成される。換言すれば、元の2つの集合群271,272の少なくとも一方において同一グループに属する要素群(V101~V104)が、新たな集合群(和集合群)における同一のグループGU1を構成する。
【0151】
そして、これらの部分集合GU1,GU2の集合体が第4集合群として形成される。
【0152】
第3集合群および第4集合群において、同一グループに属する複数の要素は、同一人物であると推測される要素であり、異なるグループに属する複数の要素は、互いに異なる人物であると推測される要素である。
【0153】
なお、特に第3集合群273および第4集合群274では、各要素がどのグループ(部分集合)に属するか(分類されているか)が重要である。図18における第3集合群273および第4集合群274における各要素の特徴空間内の位置は、便宜的に示されているに過ぎない(正確ではない)。
【0154】
このようにして、第3疑似ラベル群(第3集合群273)および第4疑似ラベル群(第4集合群274)が生成される。
【0155】
<2-2.教師データ群の生成(ステップS23)>
そして、第2実施形態に係るサブフェーズPH2aのステップS23(図3および図7参照)では、データセットDA,DMに加えて、更なる教師データ群(データセットDI,DU)が生成される。
【0156】
複数の入力画像212とその第3分類処理(第3集合群生成処理)の処理結果(クラスタリング結果)との組み合わせ(各入力画像Xiと各疑似ラベルYiとの組み合わせ)の集合体は、データセットDI(Dintersection)として表現される。同様に、複数の入力画像212とその第4分類処理(第4集合群生成処理)の処理結果(クラスタリング結果)との組み合わせ(各入力画像Xiと各疑似ラベルYiとの組み合わせ)の集合体は、データセットDU(Dunion)として表現される。換言すれば、データセットDI(Dintersection)は、複数の入力画像212と第3集合群273との組み合わせであり、データセットDU(Dunion)は、複数の入力画像212と第4集合群274との組み合わせである。このようなデータセットDI,DUが、それぞれ、複数の新たな入力画像212に関する教師データ群(疑似ラベル付き教師データ群)として生成される(次式(3),(4)参照)。
【0157】
【数3】
【0158】
【数4】
【0159】
ここで、Xiは、第iの入力(入力画像)であり、Yiは、第iの出力(クラスタリング結果)である。また、Yiの右肩のIntは積集合(Intersection)に関する出力であることを示しており、Yiの右肩のUniは積集合(Union)に関する出力であることを示している。
【0160】
以上のようにして、第1集合群271と第2集合群272と第3集合群273と第4集合群274とで示される各クラスタリング結果に基づき、複数の新たな入力画像212に関する疑似ラベル群と、当該疑似ラベル群を用いた教師データ群(疑似ラベル付き教師データ群)(4つのデータセットDA,DM,DI,DU)とが生成される。
【0161】
<2-3.疑似ラベル付き教師データ群を用いた学習(ステップS24)>
つぎに、第2実施形態に係るサブフェーズPH2bのステップS24(図3および図7参照)では、これら4種類の教師データ群(疑似ラベル付き教師データ群)(データセットDA,DM,DI,DU)に基づいて機械学習が実行される。これにより、学習モデル430が完成する(ステップS25)。
【0162】
学習モデル400(420)は、その第1出力系統と第2出力系統とに分けて学習される(図19参照)。図19は、第2実施形態に係る学習処理(サブフェーズPH2b)を示す図である。
【0163】
具体的には、図19に示されるように、画像処理装置30は、4つのデータセットのうち、3つのデータセットDA,DI,DUを用いて、学習モデル400(420)の第1出力系統(GAP側出力系統)を学習する。また、画像処理装置30は、4つのデータセットのうち、3つのデータセットDM,DI,DUを用いて、学習モデル400(420)の第2出力系統(GMP側出力系統)を学習する。
【0164】
各機械学習では、トリプレットロス等を損失関数(評価関数)とし、当該損失関数を最小化(最適化)する処理が実行されればよい。より詳細には、学習モデル420の第1出力系統に関して、データセットDA,DI,DUを用いて損失関数(トリプレットロス等)を算出し、当該損失関数を最小化するように(勾配法を用いて)学習されればよい。また、学習モデル420の第2出力系統に関して、データセットDM,DI,DUを用いて損失関数を算出し、当該損失関数を最小化するように(勾配法を用いて)学習されればよい。
【0165】
この学習段階においては、トリプレットロス(Triplet Loss)などの損失関数を最小化するように機械学習が実行される。これにより、注目要素(たとえばV103)と異分類要素(ネガティブ)(たとえばV111)との距離dnが、注目要素と同分類要素(ポジティブ)(たとえばV104)との距離dpよりも相対的に(且つ一定程度α以上に)大きくなるように変更される。換言すれば、距離dpは、距離dnよりも相対的に小さくなるように変更される。
【0166】
また、第2実施形態では、データセットDI(第3集合群273による疑似ラベル付き教師データ群)とデータセットDU(第4集合群274による疑似ラベル付き教師データ群)とをも用いた学習処理が実行される。換言すれば、第3集合群273(第3擬似ラベル群)および第4集合群274(第4疑似ラベル群)をも用いた学習処理が実行される。このように第3擬似ラベル群および第4疑似ラベル群をも用いて学習処理を行うことによれば、擬似ラベルの不正確性に起因する悪影響を抑制することが可能である。以下、このような作用効果について説明する。
【0167】
図20は、各データセットDI,DUを用いた学習によって特徴空間における要素位置が変更されていく様子を示す図である。
【0168】
ここにおいて、第1要素と第2要素とが第3集合群273(ここでは積集合群)においても第4集合群274(ここでは和集合群)においても互いに異なるグループの要素である状況を想定する。第1要素は、複数の新たな入力画像212のうちの一の入力画像である第1入力画像(あるいはそれに対応する特徴ベクトル(たとえば、V111))である(図20の左から2列目参照)。また、第2要素は、第2入力画像(あるいはそれに対応する特徴ベクトル(たとえば、V103))である。換言すれば、第1要素および第2要素は、第3集合群273においても第4集合群274においても互いに異なるグループに属するとの関係を有する2要素である。なお、図20では、特徴ベクトルV113,V114の図示を省略している。
【0169】
この場合、第3集合群273に関する学習(データセットDIを用いた学習)によって第1要素(特徴ベクトルV111)と第2要素(特徴ベクトルV103)との距離d1が増大する。さらに、第4集合群274に関する学習(データセットDUを用いた学習)によっても第1要素と第2要素との距離d1が増大する。
【0170】
その結果、学習の進行に応じて、当該関係(第1の関係)を有する2要素間の距離(第1要素と第2要素との距離d1等)が徐々に増大していく。ひいては、当該2要素(V111,V103等)は、互いに異なるグループの要素であると(正確に)判定される。
【0171】
一方、第1要素(V111等)と第3要素とが、第3集合群(積集合群273)においては互いに異なるグループの要素であり且つ第4集合群(和集合群274)においては同一グループの要素である状況を想定する。第3要素は、第3入力画像、あるいはそれに対応する特徴ベクトル(たとえば、V109)である。換言すれば、第1要素および第3要素は、第3集合群(積集合群273)においては互いに異なるグループに属し且つ第4集合群(和集合群274)においては同一グループに属するとの関係を有する2要素である。
【0172】
この場合、第1要素(特徴ベクトルV111)と第3要素(特徴ベクトルV109)との距離d2は、第3集合群273に関する学習によって増大するものの第4集合群274に関する学習によっては増大しないか或いは減少する。その結果、学習の進行に応じて、第1要素と第3要素との距離d2は、第1要素と第2要素との距離d1ほどは大きくならない。その結果、学習の進行に応じて、当該関係(第2の関係)を有する2要素間の距離(第1要素と第3要素との距離d2等)は、それほど増大しない(あるいは逆に減少する)。
【0173】
したがって、学習の進行に応じて、第1の関係を有する2要素(第1要素および第2要素等)は相対的に大きく離れていき、第2の関係を有する2要素(第1要素および第3要素等)は相対的にあまり離れない。換言すれば、第1の関係を有する2要素が互いに異なるグループに分類(区分)され且つ第2の関係を有する2要素が同じグループに分類されるような位置変更が徐々に行われていく。このようにして特徴空間内の分布が変更されていく。
【0174】
このように、異なるグループに分類された要素(人物等)は特徴空間において次第に互いに離れた位置に配置されていくので、自他の区別がつきやすくなる。たとえば、特徴ベクトルV103と特徴ベクトルV111とは別グループに分類され易くなり、別人の画像であると判定され易くなる。
【0175】
一方、2種類の集合群のうち少なくとも一方の集合群において同一グループに2要素が分類される場合には、双方の集合群において異なるグループに2要素が分類される場合よりも、2要素が近くに配置される。これによれば、たとえば、2つの入力画像が別人のものであると判定される場合よりも離れ過ぎないように配置される。それ故、異なる人物であるとの完全な判定が抑制され、同一人物である可能性を残しつつ学習を進めることが可能である。たとえば、特徴ベクトルV109と特徴ベクトルV111とは必ずしも別グループに分類されるとは限らず、当該両特徴ベクトルV109,V111が同一人物のものである可能性を残しつつ学習が行われる。
【0176】
この結果、図21に示されるように、学習モデル400の各出力系統からの出力群の特徴空間における分布状況を理想的な分布状況(正解:Ground Truth)に一層近づけ得るような学習が行われる。具体的には、学習モデル400の第1出力系統(第1プーリング層341等)からの出力群の特徴空間における分布状況と、学習モデル400の第2出力系統(第2プーリング層342等)からの出力群の特徴空間における分布状況とを、それぞれ理想的な分布状況に一層近づけ得るような学習が行われる。ただし、第1出力系統からの出力群の特徴空間における分布状況は、GAPによって抽出される特徴を反映しつつ変更され、第2出力系統からの出力群の特徴空間における分布状況は、GMPによって抽出される特徴を反映しつつ変更される。また、学習モデル400の第1出力系統および第2出力系統からの出力に多様性(ないし独自性)を持たせるという観点からは、第1出力系統からの出力(分布状況)と第2出力系統からの出力とは、必ずしも互いに同じになることを要さず、寧ろ互いに異なっていてもよい。
【0177】
このように第2実施形態によれば、第3集合群(積集合群)273と第4集合群(和集合群)274とが、第3疑似ラベル群および第4疑似ラベル群として生成される。また、第3疑似ラベル群および第4疑似ラベル群に基づくデータセットDI,DUが生成される。そして、当該データセットDI,DUを用いて学習モデル400の学習処理が実行される。このような第3疑似ラベル群および第4疑似ラベル群を用いた学習処理を行うことによれば、学習モデル400をさらに適切に学習することが可能である。すなわち、擬似ラベルの不正確性に起因する悪影響を抑制することが可能である。換言すれば、第3疑似ラベル群および第4疑似ラベル群を生成することによって、擬似ラベルの不正確性を抑制することが可能である。
【0178】
また、このような第2実施形態に係る学習処理によって生成された学習モデル400(430)を用いて推論処理が実行される(ステップS26)ことによれば、より正確な推論結果を得ることが可能である。
【0179】
<2-4.第2実施形態等における変形例等>
<非グローバルプーリング>
上記各実施形態においては、第1プーリング層341における第1プーリング処理としてGAP処理が行われ、第2プーリング層342における第2プーリング処理としてGMP処理が行われている(図4参照)が、これに限定されない。
【0180】
たとえば、GAP(グローバルアベレージプーリング)処理以外のアベレージプーリング処理が第1プーリング処理として行われてもよい。チャンネルサイズ(W1×H1)(たとえば、14×14サイズ)よりも小さなフィルタサイズ(たとえば、2×2サイズ)に対応する複数の画素(たとえば、4つの画素)の平均値が算出される処理が繰り返されればよい。これによって、各チャンネル毎にそのサイズが(たとえば、7×7サイズに)低減された(W2×H2×C1)サイズのボクセルが生成される。ここで、W2=W1/2,且つ、H2=H1/2、である。そして、各チャンネルの画素値を直列に配置することによって、(W2×H2×C1)次元のベクトルが第1特徴ベクトル251として生成されてもよい。
【0181】
同様に、GMP(グローバルマックスプーリング)処理以外のマックスプーリング処理が第2プーリング処理として行われてもよい。具体的には、チャンネルサイズ(W1×H1)(たとえば、14×14サイズ)よりも小さなフィルタサイズ(たとえば、2×2サイズ)に対応する複数の画素(たとえば、4つの画素)の最大値が算出される処理が繰り返されればよい。これによって、各チャンネル毎にそのサイズが(たとえば、7×7サイズに)低減された(W2×H2×C1)サイズのボクセルが生成される。そして、各チャンネルの画素値を直列に配置することによって、(W2×H2×C1)次元のベクトルが第2特徴ベクトル252として生成されてもよい。
【0182】
<GeMプーリング>
また、上記各実施形態等においては、第1プーリング層341における第1プーリング処理として平均プーリング処理が行われ、第2プーリング層342における第2プーリング処理として最大プーリング処理が行われている(図4参照)が、これに限定されない。
【0183】
たとえば、第1プーリング処理341と第2プーリング処理342との少なくとも一方の処理として、一般化平均プーリング(GeMプーリング:Generalized-mean pooling)処理が行われてもよい(図22参照)。なお、図22は、このような変形例に係る学習モデル(詳細には、第1プーリング処理341と第2プーリング処理342との双方にGeMプーリングを用いる学習モデル)を示す図である。
【0184】
GeMプーリング処理は、次式(5)で示される。
【0185】
【数5】
【0186】
ここで、xiは第iの入力画素値であり、Nは要素数(画素数)であり、pは、プーリングの性質を規定するパラメータである。
【0187】
なお、p→∞(p=∞)の場合、GeMプーリング処理は最大プーリング処理と等価であり、p→1(p=1)の場合、GeMプーリング処理は平均プーリング処理と等価である。
【0188】
図22においては、第1プーリング処理341と第2プーリング処理342との双方において、GeMプーリング処理が行われている。ただし、GeMプーリング処理におけるパラメータpが異なる。第1プーリング処理341では、パラメータpは値p1であり、第2プーリング処理342では、パラメータpは値p2(値p1とは異なる値)である。
【0189】
ただし、これに限定されず、第1プーリング処理341と第2プーリング処理342とのうちの一方の処理としてGeMプーリング処理が実行され、他方の処理として平均プーリング処理あるいは最大プーリング処理が施されてもよい。
【0190】
<リフトプーリング>
あるいは、第1プーリング処理341と第2プーリング処理342とにおいて、リフトプーリング処理が利用されてもよい(図23参照)。なお、図23は、このような変形例に係る学習モデル(リフトプーリング処理に関する2種類のプーリング処理を伴う学習モデル)を示す図である。
【0191】
たとえば、画像のX方向(水平方向)およびY方向(垂直方向)のそれぞれにおいて、当該画像を低周波成分と高周波成分とに分離したデータを生成するリフトプーリング処理(リフトダウンプーリング等)が行われるとともに、分離後の4種類の成分が2つずつに区分されて抽出されてもよい。詳細には、図23に示すように、X方向における低周波成分且つY方向における低周波成分(LL成分)と、X方向における低周波成分且つY方向における高周波成分(LH成分)とを抽出する処理が、第1プーリング処理341として行われてもよい。また、X方向における高周波成分且つY方向における低周波成分(HL成分)と、X方向における高周波成分且つY方向における高周波成分(HH成分)とを抽出する処理が、第2プーリング処理342として行われてもよい。
【0192】
第1プーリング処理341の処理結果として第1特徴ベクトル251が生成され、第2プーリング処理342の処理結果として第2特徴ベクトル252が生成される。
【0193】
たとえば、特徴マップ230のサイズW1×H1×C1が14×14×512である場合、各チャンネルに対して第1プーリング処理(LL成分およびLH成分の抽出処理)が行われて、7×7×(512×2)サイズを有するボクセルデータが生成される。さらに、当該ボクセルデータがベクトル化されて、50176(=7×7×512×2)次元のベクトルが第1特徴ベクトル251として生成される。同様に、特徴マップ230の各チャンネルに対して第2プーリング処理(HL成分およびHH成分の抽出処理)が行われて、7×7×(512×2)サイズを有するボクセルデータが生成される。さらに、当該ボクセルデータがベクトル化されて、50176(=7×7×512×2)次元のベクトルが第2特徴ベクトル252として生成される。
【0194】
なお、上記の組み合わせに限定されず、上述の4つの成分(LL,LH,HL,HH)のうち任意の組み合わせに係る(2つずつの)成分を抽出する処理が、第1プーリング処理341および第2プーリング処理342として実行されてもよい。
【0195】
<3.第3実施形態>
第3実施形態は、第1実施形態および第2実施形態等の変形例である。以下では、上記各実施形態等との相違点を中心に説明する。
【0196】
上記各実施形態においては、学習モデル400において、特徴マップ230に対して第1プーリング処理を施して第1特徴ベクトル251が生成され、特徴マップ230に対して第2プーリング処理を施して第2特徴ベクトル252が生成されている。しかしながら、本発明はこれに限定されない。たとえば、学習モデル400において、特徴マップ230を2種類の特徴ベクトルに分離する処理によって第1特徴ベクトル251と第2特徴ベクトル252とが生成されてもよい。第3実施形態においては、このような態様について説明する。
【0197】
図24は、第3実施形態に係る学習モデル400を示す図である。
【0198】
図24に示されるように、第1プーリング層341に代えて分離層345が設けられている。分離層345においては、W1×H1×C1サイズの特徴マップ230を(W1×H1×C1)次元のベクトルに変換するとともに、当該ベクトルを2つの特徴ベクトル251,252に(チャンネル単位で)分離する。たとえば、ボクセル状の特徴マップ230のサイズW1×H1×C1が14×14×512である場合、ボクセル状の特徴マップ230の各画素値を要素とする100352(=14×14×512)次元のベクトルが生成される。そして、当該ベクトルが2つに分離され、50176(=14×14×256)次元の2つのベクトルが生成される。この際、2つのベクトルは、チャンネル単位での分離処理(256チャンネルずつに分離する分離処理)によって生成される。
【0199】
換言すれば、分離層345においては、W1×H1×C1サイズの特徴マップ230が(W1×H1×(C1/2))サイズの2つの特徴マップ231,232(不図示)に(チャンネル単位で)分離され、分離後の各特徴マップ231,232がベクトル化される。
【0200】
たとえば、特徴マップ230のサイズW1×H1×C1が14×14×512である場合、特徴マップ230が、(14×14×256)サイズを有する2つの特徴マップ231,232に分離される。特徴マップ231は、特徴マップ230のうち第1チャンネルから第256チャンネルの要素で構成され、特徴マップ232は、特徴マップ230のうち第257チャンネルから第512チャンネルの要素で構成されればよい。なお、これに限定されず、2つの特徴ベクトル251,252は、特徴マップ230を奇数チャンネルと偶数チャンネルとに分離すること等によって生成されてもよい。そして、分離後の各特徴マップ231,232がそれぞれベクトル化され、50176(=14×14×256)次元の2つの特徴ベクトル251,252が生成される。
【0201】
このような学習モデル400が用いられて、上述のような各種の処理(教師データ生成処理、学習処理、推論処理等)が行われてもよい。
【0202】
たとえば、教師データ生成処理においては、複数の入力画像210のそれぞれについて2つの特徴ベクトル251,252が分離処理によって生成され、第1特徴ベクトル群261と第2特徴ベクトル群262とが生成される。そして、分離処理によって得られた第1特徴ベクトル群261と第2特徴ベクトル群262とに基づき複数の新たな入力画像がクラスタリングされて複数の新たな入力画像に関する疑似ラベルデータ群が生成される。したがって、第1特徴ベクトル群のみに基づくクラスタリングにより疑似ラベル群が生成される場合に比べて、より適切に学習モデルを学習する疑似ラベルが生成され得る。
【0203】
ここにおいて、特徴マップ230に基づく上述の1種類のベクトル(100352(=14×14×512)次元のベクトル)を2種類の特徴ベクトル251,252に分離せずにそのまま出力し、当該1種類のベクトルの分布を学習する技術(第3比較例とも称する)を想定する。このような技術(第3比較例)においては、第2比較例と同様に、当該1種類のベクトルに含まれる幾つかの特徴情報が(当該1種類のベクトルに含まれる他の特徴情報よりも重要視されずに)埋没してしまう可能性が高くなる。
【0204】
これに対して、上記のように1種類のベクトルが2種類の特徴ベクトル251,252に分離され各特徴ベクトルが学習に個別に用いられる場合には、2種類の特徴ベクトル251,252に現れる特徴が埋没せずに(顕在化して)自他識別のために機能する可能性が高くなる。それ故、当該1種類のベクトル(ベクトル群)のみに基づくクラスタリングによって疑似ラベル群が生成される場合に比べて、より適切に学習モデルを学習する疑似ラベルが生成され得る。
【0205】
なお、ここでは、特徴マップ230の要素を2つに分けた特徴ベクトル251,252がそのまま用いられているが、これに限定されない。たとえば、図25に示されるように、分離層345で分離され生成された特徴ベクトル251,252がそれぞれ全結合層によって次元圧縮されてもよい。なお、図25は、当該変形例に係る学習モデルを示す図である。
【0206】
たとえば、50176(=14×14×256)次元の第1特徴ベクトル251が、1又は複数の中間層を含む全結合層によって、512次元の特徴ベクトル255(さらに低次元のベクトル)へと変換されてもよい。同様に、50176(=14×14×256)次元の第2特徴ベクトル252が、1又は複数の中間層を含む全結合層によって、512次元の特徴ベクトル256へと変換されてもよい。特徴ベクトル255は、変換後の第1特徴ベクトルあるいは新たな第1特徴ベクトルとも称され、特徴ベクトル256は、変換後の第2特徴ベクトルあるいは新たな第2特徴ベクトルとも称される。
【0207】
<4.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【0208】
<差集合等>
たとえば、上記第2実施形態においては、第1集合群271と第2集合群272とに基づいて、積集合群と和集合群とが(第3集合群273および第4集合群274として)生成されている(図18等参照)が、これに限定されない。
【0209】
具体的には、第1集合群271と第2集合群272とに基づいて、積集合群と「差集合群」とが(第3集合群273および第4集合群274として)生成されてもよい。差集合群は、第1集合群271と第2集合群272との間での差集合を求める集合演算処理を用いたクラスタリング処理により生成されればよい。
【0210】
ここで、2つの集合群(部分集合の集合体)間の「差集合」(DIFFERENCE)を求める集合演算処理は、2つの集合群における対応要素(対応特徴ベクトル)が属する部分集合間の差集合演算処理である。詳細には、元の2つの集合群のうちの一方の集合群において同一グループに属する要素群から、他方の集合群において異なるグループ(少数要素グループ)に属する少数要素(群)を除いた(差し引いた)集合が、新たな集合群(差集合群)における同一のグループ(差集合)を構成する。なお、当該一方の集合群(たとえば、第1集合群271)は主集合群とも称され、当該他方の集合群(たとえば、第2集合群272)は副集合群とも称される。
【0211】
たとえば、図26に示されるように、第1集合群271における要素(特徴ベクトル)V105が属する部分集合(グループ)GA2と第2集合群272における特徴ベクトルV105が属する部分集合(グループ)GM2との差集合として、部分集合GD2が生成される。
【0212】
より詳細には、第1集合群271(主集合群)にて同一グループGA2に属する要素群V105~V112のうち、要素群V105~V108のみを残した部分集合GD2が、差集合として形成される。ここで、要素群V105~V108は、第1集合群271にて同一グループGA2に属する要素群V105~V112のいずれか1つ以上のみを構成要素として第2集合群272にて構成されるグループのうち、最多要素数を有するグループ(主要グループとも称する)の構成要素である。
【0213】
換言すれば、第1集合群271(主集合群)にて同一グループGA2に属する要素群V105~V112のうち、要素V109~V112(黒三角印)を除いた部分集合GD2が、差集合として形成される。要素V109~V112は、第1集合群271(主集合群)にて同一グループGA2に属する要素群V105~V112のうち、主要グループ(要素群V105~V108で構成される)とは異なるグループ(少数要素グループ)に属する要素(群)である。少数要素グループに属する要素(群)は、その信頼性が(一定程度よりも)低いデータであるとみなされて、新たな集合群274bから除去される。
【0214】
また、第1集合群271における特徴ベクトルV101が属する部分集合(グループ)GA1と第2集合群272における特徴ベクトルV101が属する部分集合(グループ)GM1との差集合として、部分集合GD1が生成される。
【0215】
そして、これらの部分集合GD1,GD2の集合体が第4集合群274(274b)として形成される。
【0216】
さらに、当該第4集合群274bを疑似ラベル群とする疑似ラベル付き教師データ群(データセットDD)が生成される。また、当該データセットDDを用いた学習処理等もが実行される。
【0217】
このような態様においては、「差集合」を用いることによって、本来の特徴抽出には不要な要素群(低信頼性のデータ群)を除いて学習することが可能である。たとえば、積集合と差集合とを用いる場合には、本来の特徴抽出には不要な要素群(低信頼性のデータ群)の分布位置をそれほど変えることなく、明確に別人である要素群間の距離を増大させることが可能である。
【0218】
なお、ここでは、積集合群と差集合群とが(第3集合群273および第4集合群274として)用いられているが、これに限定されない。たとえば、和集合群と差集合群とが(第3集合群273および第4集合群274として)用いられてもよい。
【0219】
また、2種類の集合群(第3集合群273および第4集合群274)としては、これに限定されず、各種の集合群の組み合わせであってもよい。互いに異なる種類の2つの集合群(互いに異なる性質を有する2種類の集合群)を用いることによれば、2種類の集合群のうちの一方の集合群のみを用いる場合に比べて、多様な擬似ラベルを生成し、ひいてはより適切な学習を実行することが可能である。
【0220】
なお、第3集合群としては、積集合群以外の種類の集合群(和集合群あるいは差集合群等)が用いられてもよい。同様に、第4集合群としても、和集合群以外の種類の集合群(積集合群あるいは差集合群等)が用いられてもよい。
【0221】
<1種類の集合群>
また、上記第2実施形態等においては、第1集合群271と第2集合群272とに加えて、さらに2種類の集合群273,274(たとえば積集合群および和集合群)もが用いられているが、これに限定されない。
【0222】
たとえば、第1集合群271と第2集合群272とに加えて、単一の集合群(たとえば積集合群)のみが用いられてもよい。これによっても、擬似ラベルの不正確性に起因する悪影響を抑制することが可能である。換言すれば、第3集合群273あるいは第4集合群274(第3疑似ラベル群あるいは第4疑似ラベル群)を生成することによって、擬似ラベルの不正確性を抑制することが可能である。
【0223】
また、この場合、第1集合群271と第2集合群272との少なくとも一方の生成のためのクラスタリング処理における閾値(DBSCANにおける閾値等)が(比較的大きな値に又は比較的小さな値に)調整されることが好ましい。
【0224】
たとえば、第1集合群271と第2集合群272と積集合群273との3つの集合群のみが用いられる場合(すなわち、和集合群274が用いられない場合)には、第1集合群271および/または第2集合群272の生成のためのクラスタリング処理において、比較的大きな閾値が設定されることが好ましい。これによれば、第1集合群271と第2集合群272とのそれぞれにおいて、同一グループに属する要素が増大(グループ内の要素数が増大)し、ひいては近接する複数のグループが結合するので、和集合が生成されることに類似する効果を得ることが可能である。このように和集合群に類似する性質をも有する第1集合群271(および第2集合群272)と、積集合群273とを用いることによって、上記実施形態に類似する効果を得ることが可能である。
【0225】
逆に、第1集合群271と第2集合群272と和集合群274との3つの集合群のみが用いられる場合(すなわち、積集合群273が用いられない場合)には、第1集合群271および/または第2集合群272の生成のためのクラスタリング処理において、比較的小さな閾値が設定されることが好ましい。
【0226】
<第1フェーズPH1での学習等>
また、上記各実施形態では、第1フェーズPH1における学習処理と第2フェーズPH2における学習処理との両者は、いずれも同じ学習モデル400(同じ構造の学習モデル400)に対して実行されている。しかしながら、本発明は、これに限定されない。
【0227】
たとえば、第1フェーズPH1における学習処理と第2フェーズPH2における学習処理との両者は、互いに異なる学習モデル400に対して実行されてもよい。すなわち、第1フェーズPH1での学習モデル400(第1学習モデルM1とも称する)は、第2フェーズPH2での学習モデル400(第2学習モデルM2とも称する)とは異なっていてもよい。より詳細には、第1フェーズPH1においては、第1プーリング層341を有するものの第2プーリング層342を有しない学習モデル400に対する学習処理が施されてもよい。たとえば、第1学習モデルM1は、第2学習モデルの2つの出力のうちの一方(GAPあるいはGMP)のみを出力するものであってもよい。そして、第2学習モデルM2として上記各実施形態のようなモデルが用いられてもよい。
【0228】
その場合でも、最初の学習(第1フェーズPH1での学習)にて当該第1学習モデルM1の特に特徴抽出層320(特徴マップ抽出部)は一定程度学習されている。したがって、当該最初の学習における学習結果を有効に活用して、後の転移学習等を行うことが可能である。ただし、第1学習モデルM1と第2学習モデルM2とが同じ学習モデルであることが好ましい。これによれば、2種類の出力もが考慮された学習が既に最初の学習にて行われているので、後の転移学習等(第2フェーズPH2での学習)において最初の学習(第1フェーズPH1での学習)の学習結果を有効に利用することが可能である。
【0229】
<その他>
また、上記各実施形態においては、特徴ベクトル251,252自体(入力画像210内の対象人物の識別(ないし分類)のための情報)が学習モデル400から出力されているが、これに限定されない。たとえば、特徴ベクトル251,252等に基づくDBSCAN等による分類結果(271~274)等が学習モデル400から出力されてもよい。換言すれば、学習モデル400は、入力画像210内の対象人物の分類情報を出力してもよい。
【0230】
また、上記各実施形態においては、人物の識別に本発明を適用する態様について主に説明したが、これに限定されない。たとえば、商品の識別(商品認識)に本発明を適用してもよい。
【符号の説明】
【0231】
1 画像処理システム
20 撮影装置
30 画像処理装置(教師データ生成装置、学習モデル生成装置、推論装置)
210 入力画像
230 特徴マップ
251,252,V101~V114 特徴ベクトル
261,262 特徴ベクトル群
271~274 擬似ラベル群(集合群)
280,W109~V112 統合特徴ベクトル
341 第1プーリング層
342 第2プーリング層
345 分離層
400,410,420,430 学習モデル
DA,DM,DI,DU,DD データセット(疑似ラベル付き教師データ群)
GAi,GMi,GIi,GUi,GDi 部分集合(グループ)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29