CV - 古典的なセグメンテーション ネットワークの概要

CV - 古典的なセグメンテーション ネットワークの概要

1. 共通概念

セグメンテーションの分野におけるいくつかの用語:

  • ピクセル レベル (ピクセル単位): 各画像はピクセルで構成され、ピクセルは画像の基本単位であり、ラベルは各ピクセルに対応します。
  • 画像レベル (画像単位): たとえば、画像のラベルは犬です。つまり、犬が画像全体のラベルです。
  • ブロック レベル (パッチ単位): ピクセル レベルと画像レベルの間で、各パッチは多くのピクセルで構成されます。
  • パッチワイズ トレーニング: 対象のピクセルごとに、それを中心点としてパッチを取得し、それをネットワークに入力して、ピクセルのラベルを出力します。

ローカル情報とグローバル情報の違い:

地元の情報:

浅いネットワークの特徴として、オブジェクトの幾何学的情報は比較的豊富で、対応する受容野は比較的小さいです。

目的: 比較的小さいサイズのターゲットをセグメント化し、セグメント化の精度を向上させるのに役立ちます。

グローバル情報:

ディープネットワークの特徴として、オブジェクトの空間情報が比較的豊富で、対応する受容野が比較的大きい。

目的: 比較的大きなサイズのターゲットをセグメント化し、セグメント化の精度を向上させるのに役立ちます。


畳み込みの変換不変性:

結果: 画像内のターゲットが画像内のどこに移動しても、分類結果は同じです。

プロセス中: 畳み込みとプーリングの個々の層は、ターゲットの動きに対する変換不変性を満たしますが、ニューラル ネットワークでは、畳み込みとプーリングを組み合わせた後、抽出された特徴が変化します。つまり、変換不変性を満たさなくなります。 ; (最も重要な理由は、サブサンプリングが不満につながることです)


エンコーダ・デコーダの概念:

エンコーダ構造: 特徴マップは主に通常の畳み込み層とダウンサンプリング層によってサイズを縮小して低次元表現にし、低レベルの特徴と高レベルの特徴を可能な限り抽出し、空間情報を抽出することを目的としています。グローバル情報、正確なセグメンテーション。

デコーダ構造: 主に通常の畳み込み層、アップサンプリング層、融合層で構成され、アップサンプリングは空間次元を復元するために使用され、エンコードプロセス中に抽出された特徴は融合されて、情報損失を減らしながら同じサイズの入力と出力を完成します。可能な限りエンドツーエンドのセグメンテーション タスクを実現します。


2.FCN

正式名: セマンティック セグメンテーションにおける完全な畳み込みネットワーク。

論文アドレス: https://arxiv.org/pdf/1411.4038.pdf

意義:

完全な畳み込みネットワークが構築され、任意のサイズの画像が入力され、推論後に同じサイズの出力が得られます。

このモデルは主に全結合層を畳み込み層に置き換えます。モデル アーキテクチャ図を見てみましょう。

ここに画像の説明を挿入

その構造は符号化と復号化に分けることができます。つまり、最初にダウンサンプリング符号化によって特徴量が取得され、次にアップサンプリング復号化によって各ピクセルの分類結果が取得されます。


キーコンセプト

1. アップサンプリングにはどのような方法がありますか? FCNではどれが使われているのでしょうか?

一般的に使用される方法は 2 つあります。

1. 補間アルゴリズム(バイリニア補間)

これは非常に重要なアップサンプリング アルゴリズムであり、特に画像のスケーリングに使用されます。他にも多くの補間アルゴリズムがあります。

2. デコンボリューション (FCN でも使用される方法)

ここに画像の説明を挿入

個人的な理解は、入力特徴マップのサイズを拡張し、パディングを実行してアップサンプリングの方法を実現することです。

デコンボリューションは、転置畳み込みとも呼ばれ、コンピューターの畳み込み演算にちなんで名付けられました。次の記事を参照してください。

https://www.zhihu.com/question/48279880

2. FCN のイノベーションとは何ですか?

古典的なネットワークの適応: 畳み込みは完全な接続を置き換えます。その役割は、計算量を削減し、入力画像のサイズを制限することです。

前面と背面の機能マップの補償: 接続構造をスキップし、深いネットワーク情報と浅いネットワーク情報を同時に学習する機能です。

特徴マップのサイズの復元: デコンボリューション。アップサンプリングを実現し、セグメンテーション タスクのエンドツーエンドの出力を保証するために使用されます。


3、UNet&FusionNet

論文アドレス: https://arxiv.org/abs/1505.04597

意義:

U 字型のネットワーク構造を使用して、主に医療画像の分野で使用される小さなデータ セットでより良いセグメンテーション結果を実現します。

モデル構造図:

ここに画像の説明を挿入

実際、元の入力画像は 388x388 ですが、ミラー パディング後は 572x572 ​​になり、アップサンプリング部分は concat 接続を通じて浅い情報と深い情報を結合します。

しかし、UNet にはネットワークの深さが十分ではないという問題があり、元の構造に基づいて改善することができます。


キーコンセプト

1. 画像パディングの役割は何ですか? UNet のパディングはどのように行われますか?

まず最初に、畳み込み演算には 2 つの問題があることを知っておく必要があります。画像はますます小さくなり、画像の境界情報が失われ、役割が少なくなります。

通常、パディングは画像ブロックの周囲に 0 を追加します。つまり、パディングが 1 に設定されている場合は、上下左右に行が追加されます。

パディングの役割:

境界情報を保持し、異なる画像を補完して画像入力サイズの一貫性を確保できます。

UNetでは、ミラーパディング法が採用されています。つまり、エッジ部分を反転してパディング機能を実現します。パディング情報は元の画像のエッジ情報であり、モデル抽出機能にさらに役立ちます。

2. 一般的なパディングにはいくつかの種類がありますか?

まず、コンボリューションのパディングパラメータにはfull、same、validの3種類があり、それぞれ以下の図に対応しています。

ここに画像の説明を挿入

full: 畳み込みカーネルと画像の最初の交差部分から畳み込み、より多くのパディング情報を学習します。

同じ: 最も一般的なモード。コンボリューション カーネルの中心が画像の角と一致する場合、コンボリューションが実行され、コンボリューション後の出力サイズは元の画像サイズと同じになります (ステップ サイズは 1)。

valid: 畳み込み演算は、すべての畳み込みカーネルがイメージ内にある場合にのみ実行され、結果のサイズは元のサイズより小さくなります。

3. 医療画像は一般に比較的大きいですが、モデルのサイズは比較的小さくする必要があります。

ここに画像の説明を挿入

パッチトレーニング法では、大きな画像を複数の小さな画像に分割してモデルに入れて学習し、エッジ情報のセグメンテーション結果への影響を失わないようミラーパディングを行い、パディング後の画像を取得します。切り取った部分を外側に反転します。

拡大:

この考え方は実際にターゲット検出の分野にも応用でき、たとえば、いくつかの小さなターゲットを検出する場合、大きな画像を複数の小さな画像に分割して学習し、最終的に大きな画像につなぎ合わせます。小さなターゲットはより大きなピクセル領域を占めることができます。

4. カテゴリの不均衡の問題の解決策は何ですか?

最も便利な方法は、データ セット内のラベル カテゴリの数のバランスが取れるように、データ セットを拡張してサンプルの種類を減らしてデータを増やすことです。

ただし、データセットの拡張はコストと時間がかかることが多く、トレーニング中にデータの不均衡を最適化できます。

加重損失:

UNet では、ピクセルから境界までの距離を計算してピクセルの重みを取得します。主に、セル境界に近いピクセルの重みは大きくなり、セル境界から遠いほど重みは小さくなります。同じクラスの 2 つのセル境界をくっつける問題を解決し、より大きな重みを与えることでセグメンテーションをより正確にすることができます。

YOLO シリーズの検出では、カテゴリの不均衡も発生する可能性がありますが、このとき、カテゴリの重みを増やすことでカテゴリの不均衡の問題を改善できます。

(当時は実際に使用してみたところ、効果はあまり感じられませんでした)


4. セグネット

論文アドレス: https://arxiv.org/pdf/1511.00561.pdf

意義:

新しいアップサンプリング手法を使用し、エッジ情報に焦点を当て、エンドツーエンドのトレーニング パラメータを削減します。このアーキテクチャは他のモデルでも使用できます。

このモデルは主に、FCN のいくつかの欠点を解決することを目的としています。高解像度の特徴マップを無視すると、エッジ情報の損失につながります。

ネットワーク構造図は次のとおりです。

ここに画像の説明を挿入


キーコンセプト

1. SegNet で使用されるアップサンプリング方式は何ですか?

SegNet は、アップサンプリングに以前の補間やデコンボリューションを使用しませんが、アップサンプリングにアンチプーリングを使用します。

ここに画像の説明を挿入

アンチプーリング: 各最大プーリング層のインデックスをエンコーダーに保存し、これらの保存されたインデックスを使用して、後続のデコーダーの対応する特徴マップに対してアンチプーリング操作を実行します。これにより、高頻度の情報の整合性が維持されますが、低頻度の情報の整合性が維持されます。 - 解像度特徴マップ、隣接する情報も無視されます。


5. DeepLabシリーズ

DeepLab はいくつかのシリーズに分かれています: V1、V2、V3、および V3+ の 4 つのバージョン。そのうち最も重要なものは V2 バージョンで、後の 2 つのバージョンは V2 バージョンの改良版です。

V2 論文: https://arxiv.org/pdf/1606.00915.pdf

V3 論文: https://arxiv.org/pdf/1706.05587.pdf

V3+ 論文: https://arxiv.org/pdf/1802.02611.pdf

意義:

V2 バージョン: ホール畳み込みを最大限に活用し、パラメータの量を増やすことなく、受容野を効果的に拡張し、より多くのコンテキスト情報を組み込むことができます。ASPP モジュールが提案されており、複数のカテゴリでのマルチカテゴリのセグメンテーションにおけるネットワークの堅牢性が向上します。スケール 、複数のスケールでターゲットおよびコンテキスト情報をキャプチャできます。

V3 バージョン: カスケードまたは並列拡張コンボリューション モジュールを設計し、ASPP モジュールを拡張し、アルゴリズム モデルを大幅に改善し、CRF 処理を削除しました。

V3+ バージョン: セグメンテーションの結果を最適化するためのシンプルで効果的なデコーダー モジュールを追加しました。

モデル構造図:
ここに画像の説明を挿入


キーコンセプト

1. セグメンテーションタスクにおける解像度の重要性? 改善する方法はありますか?

継続的にプーリングやダウンサンプリングを行うと、画像の解像度が大幅に低下して元の情報が失われ、アップサンプリング時に回復することが困難になりますが、その改良手法として、DeepLab で使用されるホール コンボリューションまたはステップ サイズ 2 のコンボリューションが使用されます。プーリングの代わりに操作を行うとより効果的です。

2. 中空畳み込みの概念? 特徴は何ですか?

参考記事:https://zhuanlan.zhihu.com/p/50369448

ホールコンボリューションとは、本質的にはコンボリューションカーネルの途中に0を加えてコンボリューションカーネルを大きくし、それによって受容野の効果を高める操作であり、この処理によってパラメータの数が増加するわけではありません。空の畳み込みカーネルを使用した関数です。

ここに画像の説明を挿入

上の図は、ホール コンボリューションをうまく表示したものです。中央の図のホール レートは 2、右の図のホール レートは 4 です。異なるホール レートを設定することで、マルチスケールの情報を取得することができます。

もう 1 つの特徴は、入力画像のサイズを変更せずに、より大きな受容野を取得できることです。これはセグメンテーション タスクにおいて非常に重要です。

ホールコンボリューション部分の理解は十分に深くありません。さらに理解するには、その記事を参照してください。その後の演習でさらに理解が深まります。

3. ASPPの概念?

まず、SPP の概念を紹介します。

初期の CNN では、入力画像のサイズが制限されています。これは、ネットワーク構造に全結合層が存在するためです。そのため、最後の畳み込み層によって出力される特徴マップは固定サイズで必要です。SPP では、以前のアプローチは画像を切り取って拡大縮小することでしたが、その結果、一部の情報が失われたり、変形したりすることになります。

SPP はピラミッド プーリングであり、その本質は、任意のサイズの特徴マップを 3 つのサイズのピラミッド層でプールし、プールされた結果を固定長の特徴ベクトルに結合し、後続の操作のために完全に接続された層に送信することです。

ここに画像の説明を挿入

ASPP は空のピラミッドと呼ばれ、上記 2 つの概念を組み合わせて実現されます。

4. V3 バージョンの改善点? セマンティック セグメンテーションにおける一般的な特徴抽出フレームワークは何ですか?

1. 画像ピラミッド: 入力画像を変更し、特徴抽出のためにさまざまなサイズの画像をネットワークに送信し、後でそれらを融合します。

2. エンコードおよびデコード構造: エンコーダ部分は特徴抽出にダウンサンプリングを使用し、デコーダ部分はアップサンプリングを使用して特徴マップ サイズを復元します。

3. 詳細ネットワークと拡張畳み込み: 古典的なネットワークはダウンサンプリングを通じて特徴を抽出しますが、拡張畳み込みは異なるサンプリング レートを使用します。

4. 空間ピラミッド構造: ASPP に加えて、このアイデアは SPPNet と PSPNet でも使用されます。

ここに画像の説明を挿入

V3 では、ASPP 構造がさらに最適化され、シリアル構造とパラレル構造に分割されます。

5. DeepLab の各バージョンの改善点を要約しますか?

V1 バージョン: VGG ネットワークを特徴抽出ネットワークとして変更し、プーリング層をホール畳み込みで置き換え、低解像度とマルチスケール特徴の問題の解決を試み、後処理に CRF を使用します。

V2 バージョン: ホロウ畳み込みのパフォーマンスを最大限に発揮するように ASPP モジュールを設計し、バックボーン ネットワークとして ResNet を使用するか、後処理に CRF を使用します。

V3 バージョン: ResNet がバックボーン ネットワークとして使用され、シリアルおよびパラレル ネットワークが設計され、CRF 後処理がキャンセルされます。

V3+ バージョン: バックボーン ネットワークとして ResNet または Xception を使用し、コーデック構造と組み合わせて新しいモデル構造を設計し、エンコーダーとして V3 を使用します。


6.GCN

論文アドレス: https://arxiv.org/pdf/1609.02907.pdf

意義:

大規模なコンボリューション カーネルの利点をもう一度考え、セグメンテーション フィールドで大規模なコンボリューション カーネルを使用して、セグメンテーション効果を向上させます。

モデル構造:

ここに画像の説明を挿入

この図から、GCN モジュールは実際に非対称畳み込みを使用して大規模な畳み込みカーネルの計算の複雑さを軽減し、それによってセグメンテーション タスクにおける各ピクセルの分類の関連性を高めていることがわかります。

K は実験パラメータです。コンボリューション カーネルは適切です。論文では 15 に設定してみます。GCN は基本的にグローバル コンボリューションを満たし、良好な効果をもたらします。


キーコンセプト

1. 大規模なコンボリューション カーネルと小規模なコンボリューション カーネルの長所と短所は何ですか?

大規模な畳み込みカーネル:

  • 利点: 受容野の範囲が広く、最初の畳み込みネットワークではより大きな畳み込みカーネルが使用されます。
  • 短所: パラメーターが多く、計算量が膨大であるため、段階的に削除されることもあります。

小さな畳み込みカーネル:

  • 利点: パラメータが少なく、計算が少なく、大きな畳み込みカーネルを複数の小さな畳み込みカーネルで置き換えることができます。これは、複数の非線形層を追加してモデルの識別能力を向上させるのと同じです。
  • 短所: 受容野が不十分で、深いスタッキングでは制御不能な要因が発生しやすい。

2. 畳み込みカーネルのいくつかの形式の概要?

1. Atrous コンボリューション: この機能は、より小さなコンボリューション カーネルがより大きな領域を認識できるようにすることです。つまり、小さなコンボリューション カーネルは大きな受容野を持ちます。プーリングのダウンサンプリング操作によって引き起こされる情報損失は不可逆的であり、有益ではありません。ピクセル レベルのタスクの場合、プーリングの代わりにホール コンボリューションを使用する方がセグメンテーション タスクに適しています。

2. 非対称畳み込み: 3x3 畳み込みなどの標準畳み込みを 1x3 と 3x1 畳み込みに分割します。受容野は変わりませんが、計算量が減少します。

3. グループ畳み込みと深さ分離可能畳み込み: これは軽量モデルで提案され、計算量を効果的に削減します。

4. グループ化された畳み込みチャネルのランダム グループ化: 軽量ネットワークのランダム性を強化するために ShuffleNet に表示されます。

5. 幅が増加したコンボリューション: インセプション構造に表示され、1 つのレイヤーでさまざまなサイズのコンボリューション カーネルを使用します。

6. チャネル間の特徴の重み付け: これはアテンション メカニズムに基づいて改善され、アテンション メカニズムのモジュールが SENet に導入されます。

7. 変数コンボリューション: 関心のあるターゲットに従って、対応するコンボリューション カーネル形状を設計します。必ずしも長方形である必要はありません。

3. セマンティック セグメンテーション タスクについて深く理解していますか?

まず、GCN 論文で言及されているグラフを見てください。

ここに画像の説明を挿入

図 A: 完全に接続された層またはグローバル プーリング層が含まれています。分類タスクの場合、モデルは不変である必要があります。つまり、ターゲットの回転、平行移動、およびスケーリングの影響を受けないため、次のいずれかであることがわかります。ポイントには 2 つの受容野があり、比較的大きいため、大規模なコンボリューション カーネルを使用する必要があります。

図 B: 位置決めの観点、つまり検出タスクの観点から、モデルは変換に敏感である必要があります。つまり、ターゲットの位置に敏感である必要があります。

図 C: GCN で使用されるモデル。完全な接続とグローバル プーリングが削除され、より大きなコンボリューション カーネルが使用されます。

実際、セグメンテーション タスクは、分類と位置決めという 2 つの課題を含む、ピクセルごとの分類タスクとみなすことができます。優れたセグメンテーション モデルは、上記 2 つのタスクを同時に適切に処理する必要がありますが、実際には、これら 2 つのタスクは1 ピクセルと特徴マップをより密接に関連付け、さまざまな変換を処理する能力を強化するには、大規模なコンボリューション カーネルを使用する必要がありますが、検出タスクでは、モデルがターゲットの変換に敏感である必要があります。オブジェクト情報のピクセル位置に敏感です。

4. GCN の利点は何ですか?

GCN は、特徴マップに高密度の接続を導入し、多数の変換を処理するのに役立ち、それによってセグメンテーションの分類能力を向上させます。

1. 大きなターゲット上にあるピクセルは、この時点のタスクが純粋な分類タスクに近いため、GCN からより多くの利点を得ることができます。

2. オブジェクトの境界ピクセルについては、主に位置決め効果の影響を受けるため、境界領域の精度を向上させるために BF モジュール (小さな畳み込みカーネル) が使用されます。


7.DFN

論文アドレス: https://arxiv.org/pdf/1804.09337.pdf

意義:

スムージング ネットワークと境界ネットワークの 2 つの部分が提案されています. スムージング ネットワークはクラス内の不一致を解決するために使用され, アテンション メカニズムとグローバル平均プーリングを導入することでより代表的な特徴が選択されます, 境界ネットワークは双方向をよりよく区別できます深いセマンティック境界監視による側面。

ネットワーク構造:

ここに画像の説明を挿入

クラス内の不整合とクラス間の不整合を次の図に示します。

ここに画像の説明を挿入

革新点: このモデルの革新点は、セマンティック セグメンテーション タスクをマクロな視点から見ることです。以前の記事はミクロな視点 (ピクセルごと) で分類されているため、クラス内またはクラス間で不整合が発生しやすくなります。このモデルは一貫性があります。意味ラベルは各ピクセルではなく、物のカテゴリに割り当てられるため、モデルはピクセルの各カテゴリを全体として区別する必要があります。


キーコンセプト

1. アテンションメカニズムの機能と一般的な使用法は?

アテンション メカニズムの役割: アテンション メカニズムは、モデルが入力画像のさまざまな部分に異なる重みを割り当て、より重要で重要な情報を抽出し、画像の計算と保存に問題を引き起こすことなくモデルがより正確な判断を行えるようにするのに役立ちます。モデル、より多くの消費。

2 つの主な形式は、空間ドメインとチャネル ドメインです。

セグメンテーションの分野で、アテンションメカニズムを引用した最初の論文: https://arxiv.org/pdf/1809.02983.pdf

主に次の図を見てください。これは、2 つの異なる形式の注意メカニズムの使用を示しています。

ここに画像の説明を挿入

空間ドメインに基づく: 上図の緑色のモジュールは基本的に元の特徴マップを 3 つの行列に分解します。そのうちの 2 つは畳み込みの性質を使用して空間重み情報の特徴マップを取得し、それを別の行列と乗算して再形成します。 、元の特徴マップと同じサイズで空間重みを含む特徴マップを取得します。

チャネル ドメインに基づく: 上図の青いモジュールは基本的に、元の特徴マップを CxN に再形成し、転置して行列乗算を実行してチャネル情報の特徴マップ CxC を取得し、それを元の特徴マップと乗算します。 CxN 、結果を取得して元の画像に追加し、空間情報を含む特徴マップを出力します。

2. コーデック構造に基づく直接融合の効果が良くありません。改善できる点は何ですか?

改良された方法が ExFuse の論文で提案されています: https://arxiv.org/pdf/1804.03821.pdf

モデル改善図:

ここに画像の説明を挿入

図の上部からわかるように、元の高レベルの特徴と低レベルの特徴には差異があり、融合効果は良好ではありません。改善点は、低レベルの特徴に意味情報を導入し、高レベルの機能の詳細を紹介します。情報により融合効果が向上します。

3. Border モジュールと Smooth モジュールの機能は何ですか?

境界モジュール: 多重監視を使用して、ネットワークによって学習された特徴はクラス間で強い不整合を持ちます。具体的な実装は、下位ネットワークから境界情報を取得し、上位ネットワークから取得した意味情報を融合することです。高次の意味情報は、低次のエッジ情報の役割を最適化します。

Smooth モジュールでは、高レベルの情報を低レベルの情報に復元する機能も使用されますが、具体的な実装は比較的単純なので説明は省略します。


8. まとめ

ここまでは、古典的なセグメンテーション アルゴリズムについて学習しましたが、いくつかの簡単な要約を以下に示します。

  • FCN: セマンティック セグメンテーションのためのエンドツーエンド トレーニングの始まり。
  • U-Net: 医療セグメンテーション アルゴリズムのリーダー。
  • SegNet&DeconvNet: 対称コーデック構造。
  • DeepLab シリーズ: V1 から V3+ まで、アルゴリズムはますます完璧になり、効果はますます良くなります。
  • GCN: 別の角度から考えて、大規模なコンボリューション カーネルを再利用します。
  • DFN: マクロの観点からセマンティック セグメンテーションを見て、別の角度から考えます。

実際、セグメンテーションのアイデアの多くは分類と検出から借用されています。セグメンテーション タスクの本質はピクセルの検出と分類でもあります。そのため、これらのアイデアの多くは学び、考える価値があります。さまざまなシナリオやデータ セットに対して、モデルやデザインも変更する必要があります。

この紹介は古典的なセグメンテーションのみですが、リアルタイム パフォーマンスは良くありません。リアルタイム セグメンテーション ネットワークについては後ほどまとめます。

おすすめ

転載: blog.csdn.net/weixin_40620310/article/details/127225979