【研究ノート】セマンティックセグメンテーションの概要

セマンティック セグメンテーションは、画像のピクセル レベルの分類である画像のセグメンテーションです。つまり、画像の各ピクセルを分類します。それに近い概念がインスタンスセグメンテーションと呼ばれるもので、セマンティックセグメンテーション+ターゲット検出です。セマンティック セグメンテーションでは、すべての類似ピクセルのみをセグメント化でき、ターゲット検出では、Mask RCNN などの異なる個人を分離できます。

評価指標

評価指標を理解する前に、混同行列を見てみましょう混同行列は、A カテゴリが A カテゴリとして正しく分類されているかどうかを示す分類評価インデックスから取得されます。

たとえば、モデルは 15 のサンプルを予測し、結果は次のようになります。

真の値: 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0

予測値: 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1

混同行列は

 明らかに、混同行列を使用すると、正解率、再現率、F1 スコア、およびその他の指標を簡単に計算できます。

1. ピクセル精度

ピクセル精度は、画像セグメンテーションの最も単純な指標です。これは、正しく分類されたピクセルの数をピクセルの総数で割ったものです。つまり、混同行列の対角線の合計を行列の合計で割ったものです。たった今:

ピクセル精度 = \frac{TP+TN}{TP+TN+FT+FN}=\frac{diag(confusion)}{sum(confusion)}

2. IOU(Intersection Over Union)

名前が示すように、IOU は交差と結合の比率であり、グラウンド トゥルースと予測領域の交差と結合の比率です。

 人物のピクセル クラスが 1 で、背景のピクセル クラスが 0 であるとします。混同行列に対応して、カテゴリ 1 の場合、交点は対角要素であり、結合は 1 の実数ラベルを持つピクセルであり、+ 1 であると予測されるすべてのピクセルと - 交点です。たった今

IOU = \frac{diag(confusion)}{sum(confusion, axis=1)+sum(confusion, axis=0)-diag(confusion)}

3.mIOU(平均 IOU) 

名前が示すように、mIOU は IOU のすべてのカテゴリの平均です。

4.ダイススコア(F1スコア)

F_1=2\frac{精度\cdotリコール}{精度+リコール}

ネットワーク モデルの概要

  1. FCN
  2. Uネット
  3. セグネット
  4. ディープラボ(V1 V2)
  5. RefineNet
  6. PSPNet
  7. ディープラボ v3
  8. EncNet
  9. ……

1.FCN

https://arxiv.org/abs/1411.4038   (2014)

FCN は、イメージ セグメンテーションにおけるディープ ラーニングの応用の始まりであり、セマンティック セグメンテーションの原理の基礎を築きます。

  • 完全畳み込み: 全結合層が畳み込み層に変換されます。VGG で得られた特徴マップは、アップサンプリングによってサイズが復元されます
  • 転置畳み込み: アップサンプリングの方法は、畳み込みの逆プロセスに似ていますが、実際の逆ではなく、サイズがフォーム サイズに復元され、転置畳み込みのパラメーターが学習によって取得されます。
  • スキップ アーキテクチャ: 畳み込み層と転置畳み込み層の特徴マップを同じスケールで融合して、セグメンテーションの精度を向上させるために使用されます。

2.ユネット

 https://arxiv.org/abs/1505.04597v1  (2015)

UNet の設計は、アプリケーションと医用画像のセグメンテーションです。医用画像処理のデータ量が少ないため、この論文で提案する方法は、少量のデータセットのトレーニングと検出を使用する効果を効果的に改善し、大規模画像を処理するための効果的な方法を提案します。

UNet のネットワーク アーキテクチャは FCN から継承されており、これに基づいていくつかの変更が加えられています。Encoder-Decoder の概念が提案されていますが、これは実際には最初に畳み込みを行い、次にアップサンプリングする FCN のアイデアです。

  • U 字型構造: 完全に対称。
  • アーキテクチャをスキップ
  • 転置畳み込み 

3. セグネット

https://arxiv.org/abs/1511.00561  (2015)

SegNet は FCN から継承されており、FCN をベースにいくつかの変更が加えられており、ネットワークのメモリが小さくなっています。

  • エンコーダー/デコーダーの概念: エンコーダー/デコーダーの概念が提案されています。エンコードは畳み込みプロセスであり、デコードはアップサンプリング プロセスです。
  • アーキテクチャをスキップ: contact を使用してリンクを統合します。
  • Maxpooling-INdices: Unpooling (アンチプーリング) とも呼ばれ、Encoder にプーリングする際のインデックスを格納することで、Decoder でサンプリングする際、インデックスに合わせてサイズを拡大し、それ以外の部分は 0 で埋め、次に、conv 操作で埋めます (同じ conv) 疎行列の下で、特徴マップを滑らかにします。以下に示すように:

プレビュー

Maxpooling-Indices の構造からわかるように、SegNet はパラメーターが少ないため速度は比較的速いのですが、Maxpooling-Indices は補間などのアルゴリズムと同様にパラメーターの学習を必要としないため、Transpose Convolution の精度が高く、そのため、SegNet の効果は FCN8 ほどではありません。 

4.ディープラボ

ディープラボ v1:  https://arxiv.org/abs/1412.7062  (2014)

ディープラボ v2:  https://arxiv.org/abs/1606.00915  (2016)

Deeplab を紹介する前に、まずDilated Convolution と Conditional Random Field CRFを紹介します。

穴畳み込みは、畳み込みカーネルの途中で 0 を埋める、または入力マップ上で等間隔にサンプリングすることであり、その計算方法は標準の畳み込みと同じです。

標準畳み込み 

膨張畳み込み 

上の図は、標準畳み込みと拡張畳み込みを示しています。では、なぜ拡張畳み込みを使用するのでしょうか?

論文の声明は、FCN は従来の CNN を使用して、最初に画像を畳み込み、次にプールし、受容野を拡大しながら画像サイズを縮小し、アップサンプリングによって画像サイズを拡大するというものです。ただし、サイズを縮小および拡大するプロセスでは、一部の情報が失われる必要があり、大まかなセグメンテーション効果が生じます。dilated conv は、プーリングせずにより大きな受容野を取得できる操作です。同時に、dilated conv は、異なる穴を設定することで、異なるスケールで類似した特徴を取得することもできます。(これらの理論的なものを見てください。経験的なもののほとんどは合理的なステートメントを見つけたようですが、ブラックボックスはまだブラックボックスです。このステートメントは深層学習で一般化するのが難しいです) 

条件付きランダム フィールド

DeepLab: Deep Convolutional Nets を使用したセマンティック イメージ セグメンテーション、Atro_Taylor Guo-CSDN ブログ_条件付きランダム フィールドに基づくイメージ セマンティック セグメンテーション

全体として、Deeplab は次の 2 つのことを行います。

  • 最後の 2 つのプーリング レイヤーが削除され、Dilated Convolution を使用して受容野が拡張され、プーリングによる情報の損失が回避されます。
  • モデルによって取得されたヒートマップの場合、グラデーションの変化、色など、画像のセグメンテーション エッジに関する事前の知識を考慮して、条件付きランダム フィールド CRF を使用してヒートマップを改良し、セグメンテーションの精度をさらに最適化します。

5.リファインネット

RefineNet: https://arxiv.org/pdf/1611.06612.pdf   (2016)

Encoder-Decoder 構造を使用する UNet のバリアント。Encoder は ResNet101 を使用し、Decoder は RefineNet 構造を使用します。

上の図は、ネットワークの全体的なアーキテクチャです。RefineNet ブロックの役割は、異なる解像度の特徴マップを融合することです。一番左の列は ResNet を使用しています. まず、特徴マップの解像度に応じて、事前トレーニング済みの ResNet を 4 つの ResNet ブロックに分割し、次に 4 つのブロックを右側の 4 つのパスとして使用して、RefineNet ブロックを介してそれらを融合し、最終的に洗練された特徴を取得しますmap(次にsoftmaxレイヤーに接続し、双一次補間出力)。RefineNet-4 を除いて、すべての RefineNet ブロックは 2 入力であり、洗練のために異なるレベルを融合するために使用されます。単一入力の RefineNet-4 は、最初に ResNet のタスク適応と見なすことができます。

ここに写真の説明を書きます

上図はrefineNetの構造詳細です。詳細は次のとおりです。

  • RCU : 残差ネットワークから抽出された単位構造
  • 多重解像度融合: まず、畳み込み層を使用して多入力特徴マップを適応させ (特徴マップのサイズを最小化する)、次にアップサンプリングし、最後に要素ごとに追加します。RefineNet-4 のような単入力ブロックの場合、この部分は使用されません。
  • 連鎖残差プーリング: 畳み込み層は、後続の加重合計の重みとして使用されます. Relu は、後続のプーリングの有効性にとって非常に重要であり、学習率の変化に対するモデルの感度を低下させます. この連鎖構造は、幅広い領域からバックグラウンド コンテキストを取得できます。さらに、この構造は、遠距離または近距離に関係なく、恒等写像などの多くの接続を使用します。この構造により、勾配が 1 つのブロックから他のブロックに直接伝播することができます。
  • 出力畳み込み: 出力の前に RCU を追加します。

 6.PSPネット

[論文ノート] PSPNet: Pyramid Scene Parsing Network bazyd

7. ディープラボ V3 

..... 

おすすめ

転載: blog.csdn.net/Eyesleft_being/article/details/121798034