モバイル食品認識 (視覚認識) のための少数ショットおよび多数ショットの融合学習

モバイル視覚食品認識における少数ショットおよび多数ショットの融合学習

公式アカウント:EDPJ

目次

0. まとめ

0.1 キーワードと用語の説明

1 はじめに

2. 少数ショットと多数ショットの融合学習

2.1 データセット NTU-IndianFood107

2.2 2 段階の知識蒸留 (知識蒸留) を使用した多発学習 (softmax 損失、KL 損失)

2.3 数ショット学習

2.4 融合学習 (全損)

3. 実験結果

3.1 連射認識の評価

3.2 数発認識の評価

3.3 融合認識の評価

4. 参考


0. まとめ

近年、モバイル視覚食品認識は、食品の記録と食事の監視の分野で重要なアプリケーションになりつつあります。既存の食品認識方法は、従来の多発学習を使用して大規模なバックボーン ネットワークをトレーニングしますが、これには大量のトレーニング データが必要です。ただし、一部の食品カテゴリのサンプルは限ら​​れているため、従来の多発トレーニング法は使用できません。さらに、既存のソリューションは、最先端の大規模フル ネットワークを使用して、ネットワークのサイズと計算の削減に注意を払うことなく、食​​品認識のパフォーマンスを向上させます。そのため、モバイル デバイスでの使用には適していません。この論文では、少数ショットおよび多数ショットの融合学習法を使用して、モバイル食品認識で発生するこれらの問題を解決します。この方法では、既存のデータセット カテゴリだけでなく、少数のサンプルのみを含む新しいカテゴリからも学習できるコンパクトなネットワークを使用します。この論文では、新しいデータセットを構築して、メソッドのパフォーマンスを評価します。

0.1 キーワードと用語の説明

  • 少数ショット (少数のサンプル): 事前トレーニング (事前トレーニング) されたモデルの場合、タスク (クエリ セット) を完了するために少量のラベル付きデータ (サポート セット) のみが表示されます。
  • N-way K-shot: 数ショット学習の設定。サポート セットには合計 N 個のカテゴリがあり、各カテゴリには K 個のラベル付きデータがあります。
  • many-shot: 実際、大量のラベル付きデータを使用するのは教師あり学習です。
  • 融合: ここで言及されている融合とは、両方のデータセットのデータを認識する効果を達成するために、トレーニング済みの少数ショット分類子パラメーターと多数ショット分類子パラメーターの組み合わせを指します。記事PersEmoN: A Deep Network for Analyzing Appparent Personality, Emotion and Their Relationshipsで言及されている機能融合の代わりに。
  • 知識の蒸留: これは、一部のデバイス (モバイル端末など) の低ストレージと低消費電力の要件を満たすためのネットワーク圧縮のカテゴリです。具体的な操作: 最初に大きなネットワーク (教師のネットワーク) をトレーニングし、次に小さなネットワーク (生徒のネットワーク) をトレーニングしてから、大きなネットワークの出力を模倣させます。
  • Softmax パラメーター T (温度、温度): データ セット内の一部の値の大きさが他の値よりもはるかに大きい場合、他の値の出力が softmax によって 0 に近くなります。式 (1) に示すように、この大きな値と同じ桁数の T を使用すると、この問題が解決されます。ソフトラベルを取得することに関しては、それは追加の利点です.

1 はじめに

一部の既存のアプリ (MyFitnessPal や Noom Coach など) は、ユーザーが健康的な食事を維持するのに役立ちます。ただし、ユーザーが食事を手動で記録する必要があり、時間がかかり面倒です。データを手動で入力する代わりに、スマートフォンのカメラで間違いの画像をキャプチャしてデータを記録する研究もあります。したがって、画像認識を使用すると、より迅速にユーザーにフィードバックを提供できます。

近年、多数の CNN アーキテクチャが食品認識に使用されています。

  • Pouladzadeh 氏は、CNN 特徴抽出に基づく食品認識システムを提案しました。このシステムは、領域マイニングによって画像内の複数の食品を識別します。
  • Hassannejad は、Google のインセプション モジュールを改良して、さまざまな食品データセットでのパフォーマンスを評価しました。
  • Aguilar は、食品認識に 2 つの異なる CNN を使用する融合分類器を開発しました。

既存の食品認識システムは、大規模なフル ネットワーク (例: VGGNet、ResNet、Inception) を使用して満足のいくパフォーマンスを達成しています。ただし、これらのネットワークには大量のトレーニング データが必要です。ただし、一部の食品グループについては、入手可能なデータが限られています。したがって、これらのカテゴリは、上記のネットワークのトレーニングには使用できません。また、既存のネットワークは大容量のストレージ、大規模な計算、および高エネルギー消費を必要とするため、モバイル端末では使用できません。

少量のトレーニング データを使用してモデルをトレーニングする少数ショット学習。少量のラベル付きデータに基づいて、画像の生成または分類を完了することができます。不十分なサンプルの認識問題を効果的に解決できます。近年、一部の研究者は、新しい少数ショット学習アーキテクチャの開発に取り組み始めています。.

  • Sung は、埋め込みモジュールを介してクエリとトレーニング画像の特徴を抽出する関係ネットワーク (relation network、RN) を提案し、この特徴を各カテゴリの特徴の平均と比較します。
  • Gidaris は新しい注意ベースの少数ショット学習を提案し、CNN 分類器を再設計しました。

2. 少数ショットと多数ショットの融合学習

2.1 データセット NTU-IndianFood107

著者は、次の 2 つの要素を含むインド料理 (インド料理) データセットを作成しました。

  • 検索エンジンから取得した基本的な多数のショットのデータセット。83 の食品カテゴリと、それぞれ約 600 枚の画像が含まれています。
  • フードダイアリー形式の数ショットのデータセット。食事日記はインド料理のレビュー Web サイトから取得したもので、画像はユーザーがレストランで撮影した写真です。このようなデータセットは、ユーザーが少数の画像のみを使用して新しいカテゴリを提供するシナリオをシミュレートするために構築されています。これは、少数ショットの学習に役立ちます。

少数ショットと多数ショットの融合を使用する方法は、少数ショットを使用して新しいカテゴリの認識を完了するだけでなく、多数ショット データのカテゴリも認識することです。

上の図は、この記事で使用するアーキテクチャです。それには以下が含まれます:

  • メニー ショット認識のモデルとして、知識を抽出した ResNet-18 モジュール。メニーショット データセットでトレーニングした後、分類器の重みが抽出されます。
  • ResNet-18 を特徴抽出器として使用する少数ショット モジュール。少量のトレーニング データに基づいて、少数ショット カテゴリごとにプロトタイプ (プロトタイプ) ベクトルを生成します。

少数ショットと多数ショットの融合は、2 つの分類子の重みを連結することによって実現されます。

2.2 2 段階の知識蒸留 (知識蒸留) を使用した多発学習 (softmax 損失、KL 損失)

完全な CNN と比較して、このホワイト ペーパーで使用されるコンパクトなネットワークには少数のレイヤーとパラメーターしかありません。知識蒸留の目的は、大規模な教師ネットワークから情報を転送して、コンパクトなネットワーク (実際には生徒のネットワーク) のパフォーマンスを\mathop \Phi \nolimits_t向上させることです。\mathop \Phi \nolimits_sまず、古典的なソフトマックス損失でトレーニングして、\mathop \Phi \nolimits_t高い分類精度を取得します。トレーニングの場合は、出力\mathop \Phi \nolimits_sに近い出力にします。\mathop \Phi \nolimits_tヒントンは、softmax (Temperature、Temperature、T) のパラメーターを変更することを提案しています。これにより、それら\mathop \Phi \nolimits_tから\mathop \Phi \nolimits_s同様の出力を生成するためのトレーニングに使用されます。Softmax は、次のように表される各入力イメージの\mathop x\nolimits_i確率分布を生成します。\mathop p\nolimits_i

ここで、T は温度です。\mahop a\nolimits_iそれによって生成された画像 i の pre-softmax (pre-softmax) 確率 (ロジット)を表し\mathop \Phi \nolimits_t、その次元はデータセット内のカテゴリの数です。従来のソフトマックス分類器の場合、T=1 です。同様に、\mathop \Phi \nolimits_sから導出される確率は と表されます\mathop b\nolimits_iT の値を大きくすることで、\mathop \Phi \nolimits_tソフトな確率分布を得ることができます\top {a'}\nolimits_iしたがって、画像ラベルが与えられた場合\{ (\top x\nolimits_i ,\top l\nolimits_i )\}\mathop \Phi \nolimits_s教師あり学習を実行できます。損失は​​、 softmax 損失と KL ダイバージェンス (Kullback Leibler ダイバージェンス) 損失\mathop \Phi \nolimits_t\top {a'}\nolimits_i組み合わせ\mathop \Phi \nolimits_sとして表されます。\mathop b\nolimits_iKL 発散損失は次のように定義されます。

このうち、 は、 \mathop N\nolimits_cメニー ショット データセット内のトレーニング イメージの総数を表します。クロスエントロピーを使用したソフトマックス損失は、次のように表されます。

伝統的な知識の蒸留では、最後の全結合 (FC) 層からのロジットのみを使用します。各入力画像のより良い構造の詳細をキャプチャするために、ロジットも 2 つのネットワークの中間層 (conv4 および密集ブロック 3) から生成され、より大きな特徴マップ (特徴マップ) を生成できます。新しい FC 層と ReLU 層を 2 つのネットワークの対応する中間層に統合すると、中間層のロジットは:\mathop \Phi \nolimits_tおよび\mahop a\nolimits_i^mの として表現できますトレーニング プロセス中、中間レベルのロジットとソフトマックス前のロジットの両方が 2 段階の知識蒸留 (Two-Stage Knowledge Distillation、TSKD) 損失に参加します。\mathop \Phi \nolimits_s\mathop b\nolimits_i^m

総損失関数は、softmax 損失と TSKD 損失の加重和です。 

k 番目のカテゴリのソフトマックスを計算する前に、各多ショット トレーニング イメージについて\mathop x\nolimits_i\mathop \Phi \nolimits_sD 次元の特徴を抽出して\mathop z\nolimits_i生の分類スコア (生の分類スコア) を計算します。

このうち、\mahop w\nolimits_kk 番目のカテゴリの分類重みを表します。完全な分類重み行列W = (\mathop w\nolimits_1 , \ldots ,\mathop w\nolimits_k )の次元は ですD \times KW は式 (5) の損失関数で更新されます。

2.3 数ショット学習

この研究で使用される少数ショット認識は、トレーニング画像の特徴ベクトルに基づいて、各少数ショット カテゴリのプロトタイプ重心を作成します。画像の生の分類スコアは、画像と各カテゴリのプロトタイプ ベクトルとの間の類似性を計算することによって取得されます。しかし、原型ベクトルの大きさは入力画像の特徴ベクトルに依存し、多発と少発の分類スコアの大きさも異なる。したがって、多発フレームワークと少発フレームワークの間で信頼できる統一された認識を構築することは困難です。Gidaris は、プロトタイプ ベクトルの大きさを正規化して計算するために、標準の内積の代わりにコサイン類似度を使用することを提案しています\mathop s\nolimits_k

その中で、L2正規化\mathop {\bar z}\nolimits_i ,\mathop {\bar w}\nolimits_k(L2 normalization)のベクトルを表しますソフトマックス関数に適合するようにコサイン類似度の範囲を調整する学習可能な係数です。したがって、少数ショット学習の分類の重みは、画像の特徴の大きさの影響を受けなくなります。また、ReLU層を取り除くことで、プロトタイプベクトルは分類重みベクトルのように正負の値をとることができます。\アルファ

k 番目のカテゴリの各トレーニング イメージの特徴ベクトルは次のように表されます\{ \top {\bar z}\nolimits_1, \ldots,\top {\bar z}\nolimits_n\}k 番目のカテゴリのプロトタイプ ベクトルは次のように表されます。

ただし、トレーニング イメージの数が限られているため、入力イメージの特徴ベクトルの平均に基づくこれらのプロトタイプ ベクトルは、そのクラスの正確な表現を生成できません。この問題を解決するために、学習済みの多ショット コンパクト ネットワークが使用されます。各多ショット クラスの分類重みに基づいて、\mahop w\nolimits_kk 番目の少数ショット クラスのプロトタイプ ベクトルを変更します。\mahop w\nolimits_kカテゴリを表す正規化された特徴ベクトルにより、\mahop w\nolimits_k視覚的な類似性も含まれます。

ここでの私の理解では、正規化により、k 番目のカテゴリのすべての分類重みの合計は 1 です。式 (7) によると、より大きな生の分類スコアを取得するには、大きな特徴ベクトル コンポーネントに大きな分類重みを割り当てるのが自然です。つまり、特徴ベクトルと分類重みは同様のサイズの配置になるため、正規化された A 特徴を使用できます\mahop w\nolimits_k。そのカテゴリを表すベクトル。

したがって、少数ショット カテゴリのプロトタイプ ベクトルは、多数ショット カテゴリの最も類似した重みベクトルを見つけることによって更新できます。

このうち、f()コサイン類似度を表します。これに続いて、\mathop {\bar z}\nolimit_i分類の重み のベクトルへの類似度を説明するソフトマックス確率分布が続きます\mahop w\nolimits_k。その出力は、最も類似した分類の重みの加重和です。最後に、k 番目の少数ショット カテゴリのプロトタイプ ベクトルは次のように表されます。

その中で、\circアマダー積(アマダー積、ベクトルの対応する要素を掛け合わせ、その要素の位置に積を置いたもの)を意味します。\source \theta \nolimits_{avg} ,\source \theta \nolimits_{sim}次元 D のトレーニング可能な重みベクトルです。その値は融合学習で更新されます。

2.4 融合学習 (全損)

P = \{ \mathop p\nolimits_1 , \ldots ,\mathop {p'}\nolimits_k \}すべての少数ショット カテゴリを表すプロトタイプ ベクトル{K'}。多数ショット分類の重み と連結できますW = \mathop w\nolimits_1 , \ldots ,\mathop w\nolimits_kしたがって、統合された食品認識のための融合分類器の分類重みは次のとおりです\mathop W\nolimits_{fusion} = [W,P] = [\mathop w\nolimits_1 , \ldots ,\mathop w\nolimits_k ,\mathop p\nolimits_1 , \ldots ,\mathop {p'}\nolimits_k

トレーニング フェーズでは、まず基本データ セットで TSKD を使用してメニー ショット モデルをトレーニングします。次のステップでは、最後の分類層が削除され、ネットワーク パラメーターが少数ショット学習の特徴抽出器として修正されます。このステップは、多数ショット認識が継続的にトレーニングされるときにも更新されます\source \theta \nolimits_{avg} ,\source \theta \nolimits_{sim}{N'}各トレーニング エポック (エピソード) で、ネットワークをトレーニングするために、N 個のトレーニング画像が基本データセットからランダムに選択され、 N 個のトレーニング画像が食事日記の各カテゴリからランダムに選択されます。各少数ショット カテゴリのプロトタイプ ベクトルは、{N'}選択したトレーニング イメージから生成されます。融合学習全体の総損失はクロス エントロピー損失です。

その中で、それぞれ、K,K'多数のショットと少数のショットのデータセットのカテゴリの数を表します。\mathop x\nolimits_{(i,k)}カテゴリ k の画像 i を示します。

トレーニングが完了した後、それは\mathop W\nolimits_{fusion}分類器の微調整に基づいています。テスト フェーズでは、クエリ イメージの特徴ベクトルが抽出され、その生の分類スコアが計算されます。予測結果は、最終的なソフトマックスの後に取得されます。

3. 実験結果

3.1 連射認識の評価

TOP-1 と TOP-5 は、1 番目と 5 番目のモデルで、多発認識で最高のパフォーマンスを発揮します。以下のデータはTOPと比較した左のモデルの性能です。実験結果は、この研究がダイナミック フューズ ショットの記事のメニー ショット データよりも優れたパフォーマンスを発揮することを示しています。これは、TSKD を使用すると一般化が向上するためです。

3.2 数発認識の評価

実験結果は、この研究がダイナミック フューズ ショットの記事のフューズ ショット データよりも優れたパフォーマンスを発揮することを示しています。これは、この研究が少数ショットの画像から正確な特徴ベクトルを抽出できるため、分類のパフォーマンスが向上するためです。

3.3 融合認識の評価

実験結果は、この研究が動的少数ショットの融合学習データよりも優れたパフォーマンスを発揮することを示しています。これは、フュージョン学習を使用して少数ショットと多数ショットのトレーニング手順を統合することの有効性を示しています。

4. 参考

Zhao, H.、Yap, KH、Kot, AC、Duan, L.、および Cheung, NM (2019 年 5 月)。モバイル視覚食品認識における少数ショットおよび多数ショットの融合学習。2019 年の IEEE International Symposium on Circuits and Systems (ISCAS)  (pp. 1-5)。IEEE。

Gidaris、S.、および Komodakis、N. (2018)。忘れることのない動的な数ショットの視覚学習。コンピュータ ビジョンとパターン認識に関する IEEE 会議の議事録 pp. 4367-4375)。

Wang, YX, Girshick, R., Hebert, M., & Hariharan, B. (2018). 架空のデータからのローショット学習。コンピュータ ビジョンとパターン認識に関する IEEE 会議の議事録 pp. 7278-7286)。

おすすめ

転載: blog.csdn.net/qq_44681809/article/details/128292203