[セマンティック セグメンテーション] DeepLab v1 ネットワーク (セマンティック セグメンテーション、信号ダウンサンプリング、空間不感受性、LargeFOV、拡張コンボリューション、拡張コンボリューション、MSc、マルチスケール)

深い畳み込みネットと完全に接続された CRF によるセマンティック画像セグメンテーション

ここに画像の説明を挿入します

  • DeepLab v1 は、セマンティック セグメンテーション用の畳み込みニューラル ネットワーク モデルであり、その中心的なアイデアは、グローバル コンテキスト情報を組み込んで、画像内のセマンティック コンテンツをよりよく理解することです
  • 2014年CVPR誌に掲載

抽象的な

ディープ畳み込みニューラル ネットワーク (DCNN) は最近、画像分類や物体検出などの高レベルの視覚タスクにおいて最先端のパフォーマンスを実証しました。この研究では、DCNN の手法と確率的グラフィカル モデルを組み合わせて、ピクセル レベルの分類タスク (「セマンティック画像セグメンテーション」とも呼ばれます) を解決します。最後の層の DCNN の応答は、オブジェクトを正確にセグメンテーションできるほど局所化されていないことがわかりました。これは、DCNN が高度なタスクで優れたパフォーマンスを発揮する不変特性によるものです。私たちは、DCNN の最後の層の応答と完全に接続された条件付きランダム フィールド (CRF) を組み合わせることで、ディープ ネットワークのこの貧弱な位置特定特性を克服しました。定性的には、当社の「DeepLab」システムは、以前の方法を超える精度でセグメンテーション境界を特定することができます。定量的には、PASCAL VOC-2012 セマンティック画像セグメンテーション タスクにおいて、私たちの手法は 71.6% の IOU 精度を達成し、新しい最先端の結果を生み出しました。これらの結果を効率的に取得する方法を示します。慎重なネットワーク リダイレクションとボーア コミュニティの「ホール」アルゴリズムの新しいアプリケーションにより、最新の GPU で毎秒 8 フレームでニューラル ネットワーク応答を高密度に計算することが可能になります。

DCNNsは「Deep Convolutional Neural Networks」の略称です。これは深層学習モデルであり、畳み込みニューラル ネットワーク (CNN) の拡張形式です。深層畳み込みニューラル ネットワークは、複数の畳み込み層と他の種類の層で構成されるニューラル ネットワークの一種です。これらは、画像分類、オブジェクト検出、セマンティック セグメンテーションなどのコンピューター ビジョン タスクで広く使用されています。DCNN は、通常、多くの層で構成されており、モデルがより複雑で抽象的な特徴表現を学習できるため、「ディープ」畳み込みニューラル ネットワークと呼ばれます。これらのネットワークには多数のパラメーターがあり、生の入力データから高次の特徴を学習し、層間で段階的に高次の特徴を抽出することができるため、複雑なタスクの効率的なモデリングが可能になります。ディープ畳み込みニューラル ネットワークの主要なコンポーネントは畳み込み層であり、畳み込み演算を通じて入力データの特徴抽出を実行します。さらに、DCNN には通常、次元削減、空間ダウンサンプリング、特徴の非線形変換を実現するためのプーリング層、全結合層、および活性化関数が含まれています。DCNN はコンピューター ビジョンの分野で目覚ましい成功を収め、さまざまな画像処理タスクで優れたパフォーマンスを達成しました。これらのネットワークは、大規模なトレーニング データとバックプロパゲーション アルゴリズムを通じて特徴を自動的に学習することができ、多くの視覚タスクにおいて従来の画像処理方法を上回ります。

簡単に言えば、DCNN ↔ \leftrightarrow CNN

1. セマンティックセグメンテーションタスクに存在する問題

DCNN を画像ラベル付けタスクに適用するには、信号のダウンサンプリングと空間の「非感受性」(不変性) という 2 つの技術的なハードルがあります。

DCNN を画像アノテーション タスクに適用する場合、①信号のダウンサンプリングと②空間の「非感受性」(不変性)という 2 つの技術的な障害があります。

1.1 信号のダウンサンプリング

DCNN では、特徴マップのサイズとパラメーターの数を削減するために、信号のダウンサンプリングは通常、プーリング層を通じて実行されます。ただし、プーリング操作により特徴マップの空間解像度が低下するため、一部の詳細情報が失われます。画像注釈タスクでは、正確な注釈を付けるためにピクセルレベルの詳細情報が非常に重要であるため、信号のダウンサンプリングは注釈の品質に影響を与える可能性があります

ここで特に強調したいのは、ダウンサンプリングにより画像の解像度が低下するということです。

1.2 空間的な「非感受性」(不変性)

DCNN が高レベルの視覚タスクで優れたパフォーマンスを発揮する理由の 1 つは、DCNN が平行移動、回転、スケーリングなどに対してある程度の空間不変性を備えているためです。ただし、ピクセル レベルのラベル付けタスク (セマンティック セグメンテーションやピクセル レベルの分類など) の場合、ネットワークが各ピクセルを正確にラベル付けできることが望まれます。そのためには、ネットワークに高い空間感度が必要です。ただし、DCNN の不変特性により、特徴抽出プロセス中に一部の空間情報が失われる可能性があり、ネットワークの感度がピクセルレベルのアノテーション タスクに対して十分ではなくなります。

CNN が平行移動、回転、スケーリングなどのある程度の空間不変性を持つ理由は、①畳み込み層、②プーリング層、③重み共有、④データ拡張です。


Q : 「CNN の不変特性により、特徴抽出プロセス中に一部の空間情報が失われる可能性がある」と言われているのはなぜですか?
A : これは主に次の理由によるものです。

  1. プーリング操作: CNN で一般的に使用されるプーリング層 (最大プーリングや平均プーリングなど) は、特徴マップの空間サイズを削減して計算量を削減し、空間不変性を強化します。ただし、このダウンサンプリング操作により、一部の空間情報が失われます。特徴マップを縮小すると、元の画像の微妙な空間構造や位置情報がぼやけたり無視されたりするため、細かな空間情報がある程度失われます

  2. コンボリューション カーネル サイズ: コンボリューション演算では、使用されるコンボリューション カーネルのサイズは通常小さく、局所的な受容野内の特徴のみに焦点を当てます。これは、特徴抽出中により大きな空間構造が無視される可能性があることを意味します畳み込み層を複数重ねることで徐々に受容野を拡大することができますが、それでもある程度の局所性は存在します。

  3. 重み共有: 重み共有はモデルの平行移動不変性を強化しますが、一部の空間情報の損失にもつながります。コンボリューション カーネルは画像全体で共有されるため、ネットワークによって学習された特徴は、異なる位置の同じ特徴に対して同じ応答を持つ可能性がありますが、異なる特徴の位置情報の差は小さくなります

1.3 解決策

これらの技術的な障害を克服するために、ピクセル レベルの注釈タスクで次のようないくつかの戦略を採用できます。

  • 過度の信号ダウンサンプリングを避ける: プーリング レイヤーの使用を適切に減らすか、プーリングのステップを減らして、より多くの空間情報を保持することができます。

  • アップサンプリング手法との組み合わせ: 転置畳み込みまたは他のアップサンプリング手法を使用して、特徴マップの空間解像度を復元し、ピクセル レベルのアノテーション タスクをより適切に処理できます。

  • マルチスケール フィーチャの結合: マルチスケール フィーチャ表現をネットワークに導入して、さまざまなスケールで情報を取得し、さまざまなサイズのターゲットの認識を向上させることができます。

  • 適切な損失関数を使用する: ピクセル レベルのアノテーション タスクの場合、クロス エントロピー損失やダイス損失などの適切な損失関数を使用して、ネットワークを最適化し、より正確なピクセル レベルのアノテーション結果を促進できます。

これらの戦略を包括的に利用することで、DCNN はピクセル レベルのアノテーション タスクでより優れたパフォーマンスを達成し、信号のダウンサンプリングや空間の「非感受性」などの技術的な障害を克服できます。


このホワイトペーパーでは、主に次のソリューションを使用します。

  1. 'atrous'(with holes) algorithm: つまり、拡張コンボリューション/拡張コンボリューション/拡張コンボリューション
  2. fully-connected CRF(Conditional Random Field): セグメンテーションやアノテーションの結果を改善するために画像を後処理するために使用される、完全に接続された条件付きランダム フィールド。これは、画像セグメンテーション タスクにおけるニューラル ネットワークの出力を調整および最適化するためによく使用されます。

注❗️ : CRF は当時 (2014 年) セマンティック セグメンテーションの分野で非常に一般的に使用されていた手法でしたが、DeepLab シリーズでは v3 以降 CRF を使用しなくなったため、CRF についてはそれほど注意する必要はありません。

2. DeepLab v1 ネットワークの利点

以前のいくつかのネットワークと比較して、この記事で提案する DeepLab v1 ネットワークには次の利点があります。

  1. もっと早く
  2. より高い精度
  3. モデルは比較的単純です

2.1 より速く

論文では、これは拡張畳み込みの使用によるものであると述べていますが、完全に接続された CRF は依然として非常に時間がかかり、ネットワーク推論には約 0.5 秒かかります。

2.2 より高い精度

ここに画像の説明を挿入します

で:

  • DeepLab: この記事で提案されているセマンティック セグメンテーション モデル
  • MSc: マルチスケール、マルチスケール
  • CRF: セグメンテーションやアノテーションの結果を改善するために画像を後処理するために使用される、完全に接続された条件付きランダム フィールド。これは、画像セグメンテーション タスクにおけるニューラル ネットワークの出力を調整および最適化するためによく使用されます。
  • LargeFOV: 広い視野。カメラまたはセンサーがキャプチャできる広い視野を指します。画像処理やコンピューター ビジョンのタスクでは、多くの場合、広い視野を持つデバイスはより多くのシーンをカバーできるため、画像内のコンテンツをより包括的に理解して分析できます。

図から、DeepLab v1 は、以前の最良のネットワーク (TTI-Zoomout-16) と比較して、平均 IoU 指標が約 7.2% 向上していることが明確にわかります。

2.3 モデルは比較的単純である

ここに画像の説明を挿入します

図からわかるように、DeepLab v1 は主に DCNN と CRF カスケードで構成されています。

ここでの DCNN は主に分類ネットワークのバックボーンを指します。

3. ネットワーク構造の詳細説明

DeepLab v1 のバックボーンは、メインの畳み込みニューラル ネットワーク アーキテクチャとして VGG16 (Visual Geometry Group 16) を使用します。

VGG16 の構造には、16 の畳み込み層と全結合層 (13 の畳み込み層と 3 つの全結合層を含む) が含まれています。モデルは ImageNet データセットでトレーニングされ、画像分類タスクで優れたパフォーマンスを達成しました。

DeepLab v1 は、事前トレーニングされた VGG16 をバックボーンとして使用し、それに基づいて CNN を構築してセマンティック セグメンテーション タスクを実行します。DeepLab v1 では、VGG16 の全結合層の一部またはすべてが削除され、畳み込み層のみが保持され、Atrous 畳み込み (Atrous Convolution) を使用して受容野が増加し、それによって画像のグローバル コンテキスト情報がキャプチャされます。

3.1 LargeFOV (視野、受容野)

3.1.1 LargeFOV の概要

DeepLab v1 では、LargeFOV (Field of View) とは、アトラス コンボリューション (Atrous Convolution) を使用して受容野を拡張する操作を指します。

従来の畳み込みニューラル ネットワークでは、ネットワーク層の数が増加するにつれて、受容野も増加します。ただし、受容野が増加するにつれて、ネットワークの計算およびストレージのオーバーヘッドも大幅に増加します。追加のコンピューティングとストレージの負担を加えずに受容野を増加させるために、DeepLab v1 は LargeFOV (視野) の概念を導入します。これは、アトラス畳み込みを使用して受容野を増加させ、ネットワークが画像全体の意味情報をよりよく理解できるようにします。 。

拡張コンボリューション (dirated convolution) の詳細については、拡張コンボリューション (拡張コンボリューション) の関連知識と使用方法の提案 (HDC 原理) を参照してください。

LargeFOV の激しい畳み込み演算を使用することで、DeepLab v1 はセマンティック セグメンテーション タスクのパフォーマンスを向上させることができ、画像内のオブジェクトとシーンの識別とセグメント化に積極的な役割を果たします。

DeepLab v1 の作成者が提案した LargeFOV の主な目的は、平均 IoU が低下しないようにしながら、モデルのパラメーターの数を減らしてモデルを高速化することです。

3.1.2 LargeFOV 効果分析

ネットワークを完全畳み込みネットワークに変換した後、最初の完全接続層には 7×7 の大きな空間サイズの 4,096 個のフィルターがあり、高密度スコア マップの計算において計算のボトルネックになります。我々は、最初の FC 層を空間的に 4×4 (または 3×3) の空間サイズに (単純なデシメーションによって) サブサンプリングすることで、この実際的な問題に対処しました。

ネットワークを完全畳み込みネットワークに変換すると、元の完全接続層は7 × 7 7\times 7のサイズの畳み込みカーネルになります。7×図7は、畳み込みカーネル数(出力チャネル数)が4096の畳み込み層である。この畳み込み層を直接使用すると、計算のボトルネックになります。この問題を解決するために、著者はこの畳み込み層を空間的にダウンサンプリングし、畳み込みカーネルのサイズを元の7 × 7 7 \times 77×7 は4 × 4 4\times 4になります4×4 (または3 × 3 3\times 3)3×3 ) スペースのサイズ。

人間シリーズの話ではありませんが、ここで述べた畳み込み層のダウンサンプリングとは、畳み込みカーネルをオリジナルからまたはkernel_size = (7, 7)に減らすことを意味しますkernel_size = (4, 4)kernel_size = (3, 3)

この変換の効果を見てみましょう。

ここに画像の説明を挿入します

注意してください❗️ _

  1. ここで全結合層を置き換える畳み込み層は、通常の畳み込み層ではなく、展開係数rrを持つ展開畳み込みです。r、受容野を拡大することができます。
  2. 写真ではinput stride実際には展開係数rr です。r

それらを 1 つずつ分析してみましょう。

  • DeepLab-CRF- 7 × 7 7 \times 77×7 :r=4展開係数の展開畳み込みを使用して完全に接続された層を置き換え、ベンチマークとして一連の指標を取得するだけです。
  • DeepLab-CRF : コンボリューション カーネル パラメーターをダウンサンプリングします (コンボリューション カーネル サイズは元の7 × 7 7 \times 7から変更されます)7×7 は4 × 4 4\times 4になります4×4)。コンボリューション カーネル サイズが小さくなったため、受容野も小さくなりました。このとき、モデル パラメーターの数はほぼ半分になり、平均 IoU は大幅に低下しました。モデルのトレーニング速度は 2 倍になりました。ここでの平均 IoU の減少は、これは作成者が期待していたものではありません (前に述べたように、FOV を導入する目的は平均 IoU を維持し、モデルの速度を向上させることです)
  • DeepLab-CRF- 4 × 4 4 \times 44×4 : 前回と比較して、膨張係数が 2 倍になり、モデルの受容野が元のレベルに戻り、モデルのパラメータの数が半分になり、平均 IoU がすぐに元のレベルに戻り、モデルの速度は変化しません——これは、セマンティック セグメンテーション タスクでは、広い受容野が非常に重要であることを示しています。
  • DeepLab-CRF-LargeFOV : コンボリューション カーネルが小さくなり、展開係数が大きくなり、受容野は変化せず、モデル パラメーターが 6 分の 1 に減少し、平均 IoU が元のレベルのままになり、速度が 3 倍以上増加します。倍 - 拡張畳み込みを使用すると、モデルの受容野が増加し、モデルのパラメーターが減少し、モデルの速度が向上し、モデルのパフォーマンスへの影響が少なくなる可能性があることを示しています。

3.1.3 DeepLab v1-LargeFOV モデル アーキテクチャ

PILIBALA WZ は、以下に示すように、LargeFOV を追加した DeepLab v1 モデルを描画しました。

バックボーンはFCNと同じ、VGG-16のまま

ここに画像の説明を挿入します

DeepLab-LargeFOV モデル アーキテクチャ

アップサンプリング後、224 × 224 × クラス数 224 \times 224 \times \mathrm{クラス数}224×224×numクラス の特徴マップはモデルの最終出力結果ではないため、モデルの最終出力結果を取得する前に Softmax 層を通過する必要があります。

Softmax レイヤーの機能は、各ピクセルのカテゴリ予測を対応するカテゴリの確率に変換することです。num_classes各ピクセルのクラス予測を正規化して、各予測値が 0 から 1 の間に収まり、すべてのクラスの予測確率の合計が 1 になるようにしますこのようにして、ピクセルごとに各カテゴリの確率を取得し、そのピクセルが最も高い確率でどのカテゴリに属する​​かを決定することができます。最終的な出力結果は通常、Softmax によって処理された特徴マップであり、各ピクセルにはnum_classesカテゴリの確率情報が含まれています。

LargeFOV は基本的に拡張コンボリューションを使用します

分析の結果、Backbone は VGG-16 ですが、使用されている Maxpool が少し異なり、VGG の論文では kernel=2、stride=2 ですが、DeepLab v1 では kernel=3、stride=2、そしてパディング=1。次に、最後の 2 つの Maxpool 層のストライドはすべて 1 に設定されます (したがって、ダウンサンプリング率は元の 32 から 8 に変更されます)。最後の 3 つ3 × 3 3\times 33×3の畳み込み層は膨張畳み込みを使用し、展開係数r = 2 r=2r=2

次に、全結合層の畳み込みのプロセスに関して、最初の全結合層 (FC1) は、 FCN ネットワーク内の7 × 7 7\times 7の畳み込みカーネル サイズに直接変換されます。7×7、畳み込みカーネルの数は4096 40964096畳み込み層 (通常の畳み込みは 3 × 3 3\times 3の畳み込みカーネル サイズになると著者は述べています。3×3、畳み込みカーネルの数は1024 10241024畳み込み層 (拡張畳み込み) (パラメータを減らすだけでなく、計算量も減らすことができます。詳細については、論文の表 2 を参照してください。) 2 番目の全結合層 (FC2) の場合、畳み込みカーネルの数は次のとおりです。4096から4096に増加4096 を1024 1024にサンプリング1024 (通常の畳み込み)。

FC1 を畳み込んだ後、展開係数 (展開畳み込み) も設定されます。論文 3.1 にはr = 4 r=4と記載されています。r=4ただし、「実験評価」の「広い視野」の章の設定はr = 12 r=12r=12 はLargeFOV に対応します。FC2 の場合、畳み込み後の畳み込みカーネルは1 × 1 1\times 11×1、畳み込みカーネルの数は1024 10241024 の通常の畳み込み層。次に、畳み込みカーネル1 × 1 1\times 11×1、畳み込みカーネル num_classes の数 (バックグラウンドを含む) を持つ通常の畳み込み層。最後に、8 倍のアップサンプリングによって元の画像サイズに復元されます。

注❗️アップサンプリングを実現するには、双線形補間 (Bilinear Interpolation) 戦略が使用されます。

共一次補間は、既知の周囲のピクセルの値を使用してターゲット ピクセルの値を推定する、一般的に使用される画像補間方法です。アップサンプリング中、バイリニア補間は既存の特徴マップのピクセル値に基づいてターゲット位置のピクセル値を計算し、それにより特徴マップの空間サイズを拡張します。

具体的には、8 倍のアップサンプリングは、特徴マップの高さと幅をそれぞれ 8 倍に拡張することを意味します。双一次補間では、ターゲット位置の各ピクセルについて、その周囲に最も近い 4 つのピクセルが考慮され、距離の重みに基づいて補間計算が実行されます。これにより、特徴マップを元の入力画像のサイズに効果的に復元でき、ネットワークの出力と入力の空間サイズを一致させることができます。

3.2 MSc (マルチスケール、マルチスケール (予測))

実際、この論文の 4.3 では、複数のフィーチャ レイヤーの出力を融合するマルチスケール予測についても言及されています。MSc (Multi-Scale) の構造に関する論文には次のように書かれています。

具体的には、入力画像と最初の 4 つの最大プーリング層のそれぞれの出力に、特徴マップがメイン画像に連結された 2 層 MLP (最初の層: 128 個の 3x3 畳み込みフィルター、第 2 層: 128 個の 1x1 畳み込みフィルター) を付加します。ネットワークの最後の層の機能マップ。したがって、ソフトマックス層に供給される集合的な特徴マップは、5 * 128 = 640 チャネルによって強化されます。

具体的には、著者は 2 層の MLP (最初の層: 128 個の畳み込みカーネルと3 × 3 3\times 3のサイズ) を組み合わせます。3×3の畳み込み、第 2 層: 128 個の畳み込みカーネルとサイズ1 × 1 1\times 11×1 ) は入力画像と最初の 4 つの最大プーリング層の出力にそれぞれ付加され、それらの特徴マップはメイン ネットワークの最後の層の特徴マップと連結されます。したがって、Softmax 層に入力される集約された特徴マップは、5 × 128 = 640 5 \times 128 = 6405×128=640チャンネル。

MLP は Multilayer Perceptron の略称で、フィードフォワード ニューラル ネットワークとも呼ばれます。これは、さまざまな機械学習タスクを解決するために使用される一般的な人工ニューラル ネットワーク モデルであり、特に教師あり学習で広く使用されています。

つまり、前のメイン ブランチの出力の使用に加えて、DeepLab v1 は、元のイメージ スケールと最初の 4 つの Maxpool レイヤーからの出力も統合します。詳細な構造については、以下の図を参照してください。

ここに画像の説明を挿入します

DeepLab-LargeFOV-MSc モデル アーキテクチャ

アップサンプリング後、224 × 224 × クラス数 224 \times 224 \times \mathrm{クラス数}224×224×numクラス の特徴マップはモデルの最終出力結果ではないため、モデルの最終出力結果を取得する前に Softmax 層を通過する必要があります。

論文によれば、MScを使用すると約1.5ポイント、全結合CRFを使用すると約4ポイント改善できるという。ただし、ソース コードでは、作者は MSc なしのバージョンを使用することを推奨しており、github 上の一部のオープン ソース実装では MSc が使用されていません。私の推測では、MSc は時間がかかるだけでなく、大量のビデオ メモリも消費すると思います

ここに画像の説明を挿入します

表 1: (a) PASCAL VOC 2012 データセットの「val」セットに対する提案モデルのパフォーマンス (拡張された「train」セットでトレーニング)。最高のパフォーマンスは、マルチスケール機能と広い視野を同時に活用することによって達成されます。(b) PASCAL VOC 2012 データセットの「テスト」セット (拡張された「trainval」 セットでトレーニングされた) における、提案されたモデルと他の最先端の手法とのパフォーマンスの比較

知識の源

  1. https://www.bilibili.com/video/BV1SU4y1N7Ao
  2. https://blog.csdn.net/qq_37541097/article/details/121692445

おすすめ

転載: blog.csdn.net/weixin_44878336/article/details/131961813