[セマンティックセグメンテーション] [PaddlePaddle] PP-LiteSeg (エンコーダー、ヘッド、デコーダー、STDCNet、SPPM、FLD、UAFM、Cityscapes、CamVid)

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


1. PP-LiteSeg の概要

PP-LiteSeg は、精度と速度のトレードオフのバランスを取るように設計された、リアルタイムのセマンティック セグメンテーション タスク用の軽量モデルです。PP-LiteSeg は、以前のデコーダの計算オーバーヘッドを削減するために、柔軟で軽量なデコーダ (FLD) を提案します。特徴表現を強化するために、著者らは、空間注意とチャネル注意を利用して重みを生成し、入力特徴を重みと融合する統合注意融合モジュール (UAFM) を提案しています。さらに、著者らは、グローバル コンテキストを低い計算コストで集約するシンプル ピラミッド プーリング モジュール (SPPM) も提案しています。PP-LiteSeg モデルの主な機能とコンポーネントは次のとおりです。

  1. 軽量モデル設計: PP-LiteSeg は、高精度を維持しながら計算オーバーヘッドを削減することに重点を置いています。これは、モデルが短時間内に推論できる必要があるリアルタイム アプリケーションにとって重要です。

  2. フレキシブルで軽量なデコーダ (FLD、フレキシブルで軽量なデコーダ、フレキシブルで軽量なデコーダ): FLD は、以前のデコーダの計算負荷を軽減するように設計された PP-LiteSeg の一部です。FLD はその柔軟な構造により、パフォーマンスをあまり損なうことなく計算コストを削減できます。

  3. ユニファイド アテンション フュージョン モジュール (UAFM、ユニファイド アテンション フュージョン モジュール、ユニファイド アテンション フュージョン モジュール): UAFM は、機能表現を強化するために使用される重要なコンポーネントです。空間およびチャネル アテンション メカニズムを利用して重みを生成し、入力特徴を重みと融合します。これは、モデルが重要なセマンティック情報をより適切に取得するのに役立ちます。

  4. シンプル ピラミッド プーリング モジュール (SPPM、シンプル ピラミッド プーリング モジュール): SPPM の目標は、グローバル コンテキスト情報を低い計算コストで集約することです。これにより、環境背景に対するモデルの認識が向上し、セグメンテーションのパフォーマンスが向上します。

上記の設計により、PP-LiteSeg は精度と速度の優れたバランスを実現します。Cityscapes データセットのテストでは、PP-LiteSeg はNVIDIA GTX 1080Ti で72.0% 72.0\%を達成しました。72.0% mioU (273.6 FPS 273.6 \ \rm FPS273.6 FPS  ) および77.5% 77.5\%77.5% mIoU(102.6 FPS 102.6\ \rm FPS102.6 FPS  ) 優れたパフォーマンス。

2. 概要

実際のアプリケーションでは、セマンティック セグメンテーション手法に対する高い需要があります。セマンティック セグメンテーションは深層学習によって目覚ましい進歩を遂げましたが、リアルタイム手法のパフォーマンスは満足できるものではありません。この研究では、リアルタイム セマンティック セグメンテーション タスク用の新しい軽量モデルである PP-LiteSeg を提案します。具体的には、以前のデコーダの計算オーバーヘッドを削減するために、柔軟で軽量なデコーダ (FLD) を紹介します。特徴表現を強化するために、空間注意とチャネル注意を利用して重みを生成し、入力特徴を重みと融合する統合注意融合モジュール (UAFM) を提案します。さらに、グローバル コンテキストを低い計算コストで集約するための Simple Pyramid Pooling Module (SPPM) が提案されています。広範な評価により、PP-LiteSeg は他の方法と比較して精度と速度の間で優れたトレードオフを達成していることが実証されています。Cityscapes テスト セットでは、PP-LiteSeg は NVIDIA GTX 1080Ti で 72.0% mIoU/273.6 FPS、および 77.5% mIoU/102.6 FPS を達成しました。ソース コードとモデルは PaddleSeg で入手できます。この https URL

実際のアプリケーションでは、セマンティック セグメンテーション手法に対してより高い要件が求められます。深層学習はセマンティック セグメンテーションにおいて大幅な進歩を遂げましたが、リアルタイム手法のパフォーマンスはまだ満足のいくものではありませんこの研究では、リアルタイムのセマンティック セグメンテーション タスク用に、PP-LiteSeg という名前の新しい軽量モデルを提案します。具体的には、以前のデコーダの計算オーバーヘッドを削減するために、柔軟で軽量なデコーダ (FLD) を提案します。特徴表現を強化するために、空間およびチャネル アテンション (空間およびチャネル アテンション) を使用して重みを生成し、入力特徴を重みと融合する統合アテンション フュージョン モジュール (UAFM) を提案します。さらに、グローバル コンテキストを低い計算コストで集約するための Simple Pyramid Pooling Module (SPPM) も提案します。広範な評価により、PP-LiteSeg が精度と速度の間で優れたトレードオフを達成していることが示されています。Cityscapes テスト セットでは、PP-LiteSeg は NVIDIA GTX 1080Ti で 72.0% mIoU (273.6 FPS) と 77.5% mIoU (102.6 FPS) を達成しました。ソースコードとモデルはPaddleSegで入手できます。

PP-LiteSeg によって解決される問題点は、現在のセマンティック セグメンテーション モデルでは mIoU と推論速度のトレードオフを達成することが難しいということです。そのため、PP-LiteSeg は、良好な mIoU (全体) の下でモデルの優れた速度パフォーマンスを達成するために提案されています。アイデアはMobilenet v3

3. ネットワークアーキテクチャ

セマンティック セグメンテーションの分野では、通常、深層学習に基づくニューラル ネットワーク モデルが使用されます。これらのモデルには、エンコーダー、デコーダー、セグメンテーション ヘッドなどのコンポーネントが含まれており、それぞれが異なる役割を持ち、入力画像をピクセル レベルのセマンティック セグメンテーション結果に変換するために使用されます。

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

図 2: アーキテクチャの概要
PP-LiteSeg には、Encoder、Aggregation、Decoder の 3 つのモジュールが含まれています

一般的にEncoder→Decoderは集約されていないため、ここでは詳しく紹介しません。

  • エンコーダ: エンコーダは、入力画像から高レベルの意味特徴を抽出するために使用される CNN バックボーンです。一連の畳み込み層、プーリング層、および活性化関数を通じて、画像の空間次元[H, W] [H, W]を徐々に縮小します。[ H W ] を使用して、画像内の意味情報を強化します (直感的に反映されるのは、特徴マップ チャネルの数が増加することです)。エンコーダのタスクは、元の画像を、豊富なセマンティック情報を備えた低解像度の特徴マップに変換することです。これらの特徴マップには、画像内のオブジェクト、テクスチャ、構造などの情報が含まれています。

  • デコーダ: デコーダはエンコーダに相当する部分で、エンコーダで生成された低解像度の特徴マップを元の画像の解像度に復元し、ピクセルレベルの分類を実行しますデコーダーには通常、アップサンプリング レイヤー (デコンボリューションや補間操作など) と畳み込みレイヤーが含まれており、特徴マップの詳細を段階的に復元し、入力画像と同じサイズの特徴マップを生成します。デコーダのタスクは、各ピクセルを分類するために、エンコーダによって抽出された意味論的特徴をピクセル レベルにマッピングすることです(デコーダ自体はピクセルを分類しませんが、セグメンテーション ヘッドを通じて分類します)。

  • セグメンテーション ヘッド: これは、デコーダーによって出力された特徴マップを最終的なセグメンテーション結果 (各ピクセルが分類される)に変換するために使用される、完全に接続された層または畳み込み層です。セグメンテーション ヘッドの機能は、デコーダーによって出力された特徴マップをピクセル レベルの予測結果に変換することです。

要約すると、セマンティック セグメンテーションの分野では次のようになります。

  • エンコーダは入力画像の意味情報を抽出するために使用されます
  • デコーダは、セマンティック情報をピクセル レベルにマッピングするために使用されます。
  • セグメンテーション ヘッド (セグメンテーション) は、最終的なピクセル レベルのセマンティック セグメンテーション予測 (各ピクセルの最終的な分類) に使用されます。

これらのコンポーネントの共同作業により、深層学習モデルは画像内のさまざまな意味領域をピクセル レベルで正確にセグメント化できます。次にエンコーダーとデコーダーを紹介します。

3.1 [エンコーダー] STDCNet: より強力なバックボーン

PP-LiteSeg はバックボーンとして STDCNet を使用します。STDCNet には主に次の利点があります。

  • STDCNet ネットワークは、パラメータと計算の数が少ない軽量の畳み込みニューラル ネットワークです。STDC (Spatial-Temporal Depthwise Convolution) と呼ばれる新しい畳み込み演算を使用します。これにより、空間情報と時間情報を効果的に抽出できるため、特徴表現能力が向上します。
  • STDCNet ネットワークは、エンコーダでマルチスケール特徴融合テクノロジを使用します。これにより、画像内のさまざまなスケールでの意味情報のエンコーダの認識が強化され、セグメンテーションの精度が向上します。

STDCNet には合計 5 つのステージがあり、各ステージのステップ サイズは 2 であるため、最終的な特徴サイズは入力画像の 1/32 (32 回のダウンサンプリング) になります。著者は、STDCNet に基づいて、以下の表に示す 2 つの PP-LiteSeg ネットワーク仕様を提案しました。

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

表 1: PP-LiteSeg のさまざまな仕様の詳細情報

表 1 に示すように、PP-LiteSeg-T と PP-LiteSeg-B のエンコーダはそれぞれ STDC1 と STDC2 です。PP-LiteSeg-B はより高いセグメンテーション精度を実現し、PP-LiteSeg-T はより高速な推論を実現します。

3.2 [アグリゲーション] SPPM (シンプル ピラミッド プーリング モジュール)

3.2.1 SPP と PPM の役割

エンコーダは、STDCNet をバックボーンとして使用して、入力画像から一連の特徴と高度なセマンティクスを抽出します。その後、エンコーダの出力特徴マップをデコーダに送信する必要があります。このプロセスでは、通常、MMP モジュール (および ASPP を経由します) (同様の機能)、PPM は主に、さまざまなスケールで意味論的な情報を取得し、さまざまなスケールでオブジェクトを認識するモデルの能力を強化するために使用されます。具体的な機能は次のとおりです。

  • マルチスケール特徴融合: セマンティック セグメンテーション タスクでは、画像内のオブジェクトのサイズと形状が異なる可能性があるため、さまざまなスケールでのセマンティック情報が重要です。PPM は、ピラミッド プーリング操作を通じてさまざまなスケールの特徴マップをプールし、プールされた特徴を結合または融合して、マルチスケールのセマンティック情報を取得します。これは、モデルが画像内のさまざまなスケールでオブジェクトをよりよく理解し、セグメント化するのに役立ちます。

  • 強化された受容野: PPM のピラミッド プーリング操作により、ニューラル ネットワークの受容野が効果的に拡張され、モデルが画像内のグローバルおよびローカル情報をより適切にキャプチャできるようになります。異なるレベルで異なるサイズのプーリング カーネルを適用することにより、PPM は解像度を失うことなく、より広範なセマンティック情報をキャプチャできます。

  • セグメンテーションのパフォーマンスの向上: PPM をデコーダーの出力特徴マップに適用して、セグメンテーション タスクにより多くのコンテキスト情報を提供できます。これにより、モデルがピクセルをさまざまなセマンティック カテゴリにより正確に分類できるようになり、セグメンテーションの精度と一般化機能が向上します。


Q:SPPとPPMは同じですか?
A : SPP (Spatial Pyramid Pooling) と PPM (Pyramid Pooling Module) はある程度似た概念であり、どちらも異なるスケールでセマンティック情報を取得するために、特徴マップ上でピラミッド状のプーリング操作を必要とします。ただし、特定の実装とアプリケーションにはいくつかの違いがあります。
SPP は最も初期に提案された概念であり、主に画像分類と物体検出タスクに使用されます。さまざまなサイズの入力画像に適応するために、さまざまなスケールで特徴マップをプールすることにより、固定長の特徴ベクトルを生成します。
PPM はセマンティック セグメンテーション タスクに導入され、同様のピラミッド プーリング戦略を採用していますが、通常は異なるスケールでのセマンティック情報の融合により重点を置いています。PPM は、デコーダ部分の特徴マップに対してピラミッド プーリングを実行し、プールされた特徴を結合または融合して、より包括的なセマンティック情報を取得します。
したがって、SPP と PPM はある程度似た考え方を持っていますが、具体的な設計とアプリケーションには違いがあり、SPP は以前に画像分類とオブジェクト検出に使用されていましたが、PPM はセマンティック セグメンテーション タスクにおける特定のニーズをよりターゲットにしています。


著者は、PPM (Pyramid Pooling Module) に基づくより単純な PPM、すなわち SPPM (Simple Pyramid Pooling Module、SPPM) を提案します。以下に示すように。

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

3.2.2 SPPMの動作プロセス

  1. ピラミッド プーリング モジュールを使用して入力機能を融合します。ピラミッド プーリング モジュールには 3 つのグローバル平均プーリング (AvgPool) 操作が含まれており、対応するプーリング カーネル サイズは1 × 1 1\times 1です。1×12 × 2 2\times 22×24 × 4 4\times 44×4
  2. 出力特徴量は1 × 1 1 \times 1を受けます。1×1畳み込み演算とアップサンプリング演算: 畳み込み演算では1 × 1 1\times 11×コンボリューション カーネルが1の場合、出力チャネルの数は入力チャネルの数よりも少なくなります (出力特徴マップのチャネルが減ります)。
  3. これらのアップサンプリングされた特徴を追加し、3 × 3 3 \times 3を適用します。3×3 つの畳み込み演算により、細かい特徴が生成されます。

オリジナルのピラミッド プーリング モジュール (PPM) と比較して、SPPM は中間チャネルと出力チャネルを削減し、元のスプライシング操作を削除しconcat、代わりに要素ごとの加算⊕ \oplusを使用します。操作。この変更は、モデルの計算の複雑さを軽減し、SPPM をより効率的にし、リアルタイム モデルに適したものにすることを目的としています。

3.2.3 オリジナルの SPP と比較した SPPM の利点

SPPM には、元の SPP (空間ピラミッド プーリング) と比較して次の利点があります。

  • SPPM は、スケールの異なる 2 つのプーリング操作 (Average Pooling と Max Pooling) のみを使用しますが、SPP は、スケールの異なるさまざまなプーリング操作 (以前に学習した ASPP モジュールと同様のものは同じです) を使用します (例: 1 × 1 1\times 1 ) 1×12 × 2 2\times 22×23 × 3 3\times 33×36 × 6 6\times 66×6など これにより、プーリング操作の数と複雑さが軽減され、計算オーバーヘッドが削減されます。
  • SPPM は 2 つの異なるスケールのプーリング結果を結合してマルチスケール特徴マップを形成します。一方、SPP は複数の異なるスケールのプーリング結果を結合して長いベクトルを形成します。これにより、より多くの空間情報が保持され、フィーチャ表現機能が向上します。
  • SPPM は、スプライスされたフィーチャ マップ上で1 × 1 1\times 1を使用します。1×1 つの畳み込み層と活性化関数により、特徴マップのチャネル数を削減し、非線形変換を増加します。これにより、計算量がさらに削減され、特徴表現能力が向上します。SPP はこのような演算を使用して、長いベクトルを直接出力します。

3.3 [デコーダ] FLD (Flexible and Lightweight Decoder、柔軟かつ軽量なデコーダ)

3.3.1 FLD の設計思想

セマンティック セグメンテーション モデルでは、エンコーダー (Encoder) が階層的な特徴を抽出し、デコーダー (Decoder) が特徴を融合およびアップサンプリングします。エンコーダの低レベルから高レベルまでの機能について、チャネル数[C] [C][ C ]が増加し、スペース サイズ[H、W] [H、W][ H を低減した効率的な設計となっている。

ネットワークは一般に、計算量を削減し、高度なセマンティック情報を抽出するモデルの能力を向上させるために、この方法で設計されています。

一般的なセマンティック セグメンテーション ネットワークでは、Decoder の高レベルから低レベルまでの特徴、空間サイズ[H, W] [H, W][ H [ C ] [C]チャンネル数に応じてW ]が増加します最近のモデルでも[ C ]は変わりませんが、これが問題となります。Decoder のは [H, W] [H, W] です[ H W ]が増加し、[ C ] [C][ C ]は変化しないため、ネットワークの計算オーバーヘッドが大きすぎます。

そこで著者は、Decoder の実行中に特徴マップ[H, W] [H, W]の空間サイズを徐々に増加させることを主な機能とする FLD (Flexible and Lightweight Decoder) を提案しました。[ H W ] を使用して、機能チャネルの数を徐々に減らしますこの設計により、エンコーダーとデコーダーの計算の複雑さのバランスが取れ、モデル全体がより効率的になります。FLD アーキテクチャを次の図に示します。

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

3.3.2 FLD の長所と短所

従来のエンコーダ デコーダ構造と比較した FLD (Flexible and Lightweight Decoder) の長所と短所は次のとおりです。

  • [利点] FLD はデコーダのチャネル数を徐々に減らし、特徴マップの空間サイズを増やすことができるため、デコーダの冗長性が減り、エンコーダとデコーダの計算コストのバランスが取れます。
  • [短所] この構造では、デコーダ内の特徴マップ チャネルの数が少なく、一部の高レベルの意味情報が失われる可能性があるため、セグメンテーションの精度が低下する可能性があります。さらに、FLD では、最適な構造とパラメーターの組み合わせを見つけるために、より多くのハイパーパラメーターの調整と実験による検証が必要です。

3.4 [デコーダ] UAFM (ユニファイド アテンション フュージョン モジュール、ユニファイド アテンション フュージョン モジュール)

以前に FCN モデルや DeepLab シリーズ モデルを研究したことがあっても、高いセグメンテーション精度を達成するにはマルチレベル機能の融合が重要であるということは誰もが知っています。

これに基づいて、著者は、空間注意メカニズムとチャネル注意メカニズム (2 つの注意メカニズム) を使用して重み行列 α \ alphaを生成する統合注意融合モジュール (UAFM) を提案しました。α を計算し、入力特徴に重み行列を乗算して、融合された特徴を取得します。これにより、モデルは画像内の重要な意味情報をより適切にキャプチャし、セグメンテーションの精度を向上させることができます。UAFM を次の図に示します。

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

上の図に示すように、UAFM は、attention モジュールを使用して重みα \alphaを生成します。α、および Mul 演算と Add 演算を通じて入力特徴量をα \alphaアルファフュージョン。具体的には、入力特徴はF high F_{high}Fこんにちは_ _F低F_{低}Fああ _F高い F_{高い}Fこんにちは_ _ディープモジュールF low F_{low}の出力です。Fああ _エンコーダに相当するものです。チャネル数が同じであることに注意してください。

:

  • 注意モジュールは、特定のタスク要件に応じて、空間注意またはチャネル注意にすることができます (著者は、モデルの実行速度を向上させるためだと言って、実験中に空間注意を使用しました)。
  • 低レベルの意味論的情報の以前の特徴マップと高レベルの意味論的情報の特徴マップは、直接⊕ \oplusである可能性があります。、これは非常に失礼です。作成者はこのプロセスを改善したいと考えているため、⊕ \oplus⊕attentionモジュールが以前に追加されており、attention モジュールで 2 つの特徴マップの重みを計算できるようになり、それらを直接加算するよりも優れています⊕ \oplus効果は良好です。

UAFM はまず双一次補間演算を使用してF high F_{high}を変換しますFこんにちは_ _F low F_{low}へのアップサンプルFああ _同じサイズで、アップサンプリングされた特徴はF up F_{up}として表されます。Fp次に、注目モジュールはF up F_{up}します。FpF低F_{低}Fああ _入力として、重みα \alphaを生成しますαその後、注目重み付け特徴を取得するために、それぞれF up F_{up}FpF低F_{低}Fああ _要素ごとの乗算を実行します⊗ \otimes最後に、UAFM は、注意に重み付けされた特徴量⊕ \oplus、出力融合機能。上記のプロセスは式 1 で表すことができます。

F up = U psample ( F high ) α = 注意 ( F up , F high ) F out = α ⋅ F up + ( 1 − α ) ⋅ F low (1) \begin{aligned} F_{up} & = \mathrm{アップサンプル}(F_{高})\\ & \alpha=\mathrm{注意}(F_{上}, F_{高})\\ F_{アウト} & = \alpha \cdot F_{上} + (1 - \alpha) \cdot F_{low} \tag{1} \end{aligned}FpFあなた_=アップサンプル( Fこんにちは_ _)ある=注意F)pFこんにちは_ _)=あるFp+( 1_Fああ _( 1 )

3.4.1 空間注意モジュール

空間注意モジュールの目的は、図 4(a) に示すように、ピクセル間の空間的関係を利用して、入力特徴における各ピクセルの重要性を表す重みを生成することです。

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

図 4: (a) 空間注意モジュール

与えられた入力特徴、つまりF up ∈ RC × H × W F_{up} \in \mathbb{R}^{C\times H\times W}FpRC × H × WF low ∈ RC × H × W F_{low} \in \mathbb{R}^{C\times H\times W}Fああ _RC × H × Wでは、最初にチャネル軸に沿って平均 (Mean) と最大 (Max) の演算を実行して、次元 R 1 × H × W \mathbb{R}^{1\times H\times W} の4 つの特徴を生成します。R1 ×高さ×次に、これら 4 つの特徴が 1 つの特徴に連結されますF cat ∈ R 4 × H × W F_{cat} \in \mathbb{R}^{4\times H\times W}Fキャット_ _R4 ×高さ×接続された特徴量に対して、畳み込み (Conv) とシグモイド演算を適用し、出力α ∈ R 1 × H × W \alpha \in \mathbb{R}^{1\times H\times W} を出力します。あるR1 ×高さ×空間注意モジュールの式を式 2 に示します。

F cat = C oncat [Mean (F up ) , Max (F up ) , Mean ( F low ) , Max ( F low ) ] α = シグモイド ( C onv ( F cat ) ) (2) \ begin{aligned} F_{cat} & = \mathrm{Concat}[\mathrm{Mean}(F_{up}), \mathrm{Max}(F_{up}), \mathrm{Mean}(F_{low} ), \mathrm{Max}(F_{low})]\\ & \alpha=\mathrm{Sigmoid}(\mathrm{Conv}(F_{cat})) \tag{2} \end{aligned}Fキャット_ _=連結[平均( Fpマックス( Fp平均( Fああ _マックス( Fああ _)]ある=シグモイド(変換( Fキャット_ _) )( 2 )

3.4.2 チャネル アテンション モジュール

チャネル アテンション モジュールの鍵は、図 4(b) に示すように、チャネル間の関係を利用して、入力特徴における各チャネルの重要性を示す重みを生成することです。

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

図 4: (b) チャネル アテンション モジュール

チャネル アテンション モジュールは、最初に平均プーリング (AvgPool) 操作と最大プーリング (MaxPool) 操作を利用して、入力フィーチャの空間次元を圧縮します。このプロセスにより、RC × 1 × 1 \mathbb{R}^{C\times 1\times 1}の次元が生成されます。RC × 1 × 1の4つの特徴次に、これら 4 つの特徴がチャネル軸に沿って連結され、畳み込み (Conv) とシグモイド演算が実行されて重み α ∈RC × 1 × 1 \alpha \in \mathbb{R}^{C\times 1 \times が生成されます。 1}あるRC × 1 × 1つまり、チャネル注目モジュールの処理は式3のように表すことができる。

F cat = C oncat [A vg プール (F up ) , Max Pool (F up ) , A vg P ool (F low ) , Max Pool (F low ) ] α = Sigmoid (C onv ( F cat ) ) (3) \begin{aligned} F_{cat} & = \mathrm{Concat}[\mathrm{AvgPool}(F_{up}), \mathrm{MaxPool}(F_{up}), \mathrm {AvgPool}(F_{low}), \mathrm{MaxPool}(F_{low})]\\ & \alpha=\mathrm{Sigmoid}(\mathrm{Conv}(F_{cat})) \tag{3 \end{整列}Fキャット_ _=連結[ AvgPool ( Fpマックスプール( Fp平均プール( Fああ _マックスプール( Fああ _)]ある=シグモイド(変換( Fキャット_ _) )( 3 )

3.5 PP-LiteSeg 全体の枠組み

PP-LiteSeg のコア コンポーネントは最初の 4 つのセクションで紹介したので、PP-LiteSeg の基本原理はすでに理解しました。次に、PP-LiteSeg の全体的なフレームワークを見てみましょう。

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

主な注意点:

  1. PP-LiteSeg は STDCNet をバックボーンとして使用するため、作成者はトレーニング中にモデルの事前トレーニングの重みを使用してトレーニングを加速する効果を実現します (事前トレーニング モデルは非常に重要であり、通常はこれを使用します。使用前後の精度)大きな違いがあります。以前の実験を参照してください → FCN コードと効果の表示)。
  2. FLD には 2 つの UAFM と 1 つのセグメンテーション ヘッドが含まれています。操作効率を向上させるために、UAFM では空間アテンション モジュールのみが使用されます最後の UAFM は入力を 8 分の 1 にダウンサンプリングします。
  3. セグメンテーション ヘッドは、まず、Conv-BN-ReLUチャネル (Channel) の 8 倍でダウンサンプリングされた特徴のチャネル数をカテゴリ数 ( num_classes) に減らす操作を実行します。次に、アップサンプリング操作を実行して特徴サイズを入力画像サイズに拡張し、argmax 操作を実行して各ピクセルのラベルを予測します。
  4. オンライン ハード サンプル マイニングによるクロス エントロピー損失は、モデル パラメーターを最適化するための損失関数として使用されます。

オンライン ハード サンプル マイニングによるクロス エントロピー ロス (オンライン ハード サンプル マイニングによるクロス エントロピー ロス) は、深層学習モデルをトレーニングするための損失関数です。カテゴリの不均衡があるサンプルや分類が困難なサンプルを扱う場合に特に効果的です。これは、クロスエントロピー損失とハードサンプルマイニングのアイデアを組み合わせたものです。
クロスエントロピー損失は、モデルによって予測されたクラス分布と真のラベルの分布との差を測定するために、分類問題でよく使用されます。ただし、クラスの不均衡がある場合、または一部のサンプルが分類するのが難しい場合、通常のクロスエントロピー損失により、モデルが分類しやすいサンプルに重点を置きすぎて、分類が難しいサンプルを無視する可能性があります。
オンラインハードサンプルマイニングのクロスエントロピー損失により、分類が難しいいくつかのサンプルが選択され、損失の重みが増加するため、モデルはこれらのハードサンプルにより多くの注意を払う必要があります。具体的な方法は、各トレーニング バッチで損失を計算した後にサンプルを並べ替え、特定の数の困難なサンプル (前の部分やサンプルの特定の割合など) を選択し、それらにより高い損失の重みを割り当てることです。これにより、分類が難しい状況にモデルがより適切に適応し、全体的なパフォーマンスが向上する可能性があります。
つまり、オンラインの困難なサンプル マイニングのクロス エントロピー損失は、困難なサンプルとクラスの不均衡に対処するために使用されるトレーニング戦略であり、困難なサンプルでのモデルのパフォーマンスを向上させるのに役立ちます。

4. 実験部分

PP-LiteSeg は速度と平均 IoU のトレードオフに焦点を当てているため、著者は実験部分の精度と推論速度の点で実験結果を他の SOTA リアルタイム手法と比較しています。

4.1 データセットの概要

この論文では、Cityscapes データ セットと CamVid データ セットという 2 つのデータ セットを使用します。以下では、これら 2 つのデータ セットについて簡単に紹介します。

もちろん、Cityscapes と CamVid データセットを喜んでご紹介します。

4.1.1 都市景観データセット

Cityscapes データセットは、コンピューター ビジョン タスク用の大規模な都市シーンのセグメンテーション データセットです。これは主にセグメンテーション タスク、つまり画像内の各ピクセルを道路、建物、歩行者などの特定の意味カテゴリに割り当てるために使用されます。Cityscapes データセットに関する重要な情報は次のとおりです。

  • 画像の数:データセットには、ドイツおよびその他のヨーロッパの都市からの約 5000 枚の高解像度画像が含まれています。
  • カテゴリの数:データセットには、道路、建物、車両、歩行者などを含む 30 の異なる意味カテゴリがあります。
  • 画像解像度:画像解像度はより高く、通常は1024 × 2048 1024\times 20481024×2048ピクセル。
  • ラベル情報:各ピクセルは特定のセマンティック カテゴリとしてラベル付けされ、セグメンテーション モデルのトレーニングと評価に使用されます。

4.1.2 CamVid データセット

CamVid データセットは、セマンティック セグメンテーション タスクによく使用されるもう 1 つのデータセットで、都市風景の画像とそのピクセル レベルのラベルも含まれています。CamVid データセットに関する重要なポイントをいくつか示します。

  • 画像の数: CamVid データセットには 701 枚の画像が含まれており、これらも都市環境のものです。
  • カテゴリの数:データセットは、道路、歩行者、車両などを含む 11 の異なるセマンティック カテゴリをカバーします。
  • 画像解像度:通常、画像解像度は960 × 720 960 \times 720です。960×720ピクセル。
  • ラベル情報:同様に、各ピクセルには、対応する意味カテゴリがラベル付けされます。

CamVid データセットは小さいですが、セマンティック セグメンテーション アルゴリズムの開発と評価において一定の価値があります。サイズが小さいため、セグメンテーション モデルのパフォーマンスを迅速に検証するための小さなベンチマーク データセットとしてよく使用されます

4.2 トレーニング設定

アイテム 通用配置 1 通用配置 2 都市景観 カムヴィッド
SGD オプティマイザー momentum=0.9 lr=poly(lr) weight_decay=5e-4 weight_decay=1e-4
予測戦略 準備し始める
バッチサイズ 16 24
反復 160,000 1,000
初期学習率 0.005 0.01
ランダムなスケーリング [ 0.125 、 1.5 ] [0.125 、 1.5 ][ 0.125 1.5 ] [ 0.5 、 2.5 ] [ 0.5 、 2.5 ][ 0.5 2.5
作物のサイズ 1024×512 1024×5121024×512 960×720 960×720960×720
サーバ NVIDIA テスラ V100
プラットホーム パドルパドル v1
モデルコード パドルセグ2

Q : PaddleSeg はなぜエポックを設定する方法を使用しないのですか?
A : エポックの設定方法はデータセットのサイズに影響されます。したがって、PaddleSeg は iter に従って設定されます。

  • データセットのサイズ: NNN
  • バッチサイズ:バッチサイズ \mathrm{batch_size}バッチ_sイズ
  • GPU数:numgpus \rm num_gpusメートルg
  • 総反復数: iters \rm iters食べる人

有:エポック = iters ∗ バッチ _ サイズ × 数値 _ gpus N \rm epoch = \frac{iters * バッチ\_サイズ \times num\_gpus}{N}時代=N食べる人バッチサイズ×num_gpus

4.3 推論設定

アイテム 通用配置 1 通用配置 2 都市景観 カムヴィッド
推論モデルの形式 ONNX TensorRT
推理タイム クロップ( 1024 × 512 1024 × 5121024×5121536×768 1536×7681536年×768 ) → 推測 → サイズ変更 (元の画像サイズ) クロップ( 960×720 960×720960×720 ) → 推測する
推論GPU NVIDIA 1080Ti
環境構成 CUDA 10.2 + CUDNN 7.6 TensorRT 7.1.3
推理に時間がかかる単元 FPS
精度単位 平均IoU

公平な比較のために、PP-LiteSeg は ONNX 形式にエクスポートされ、モデルの実行には TensorRT が使用されました。他の方法と同様に、まず Cityscapes データセット内の画像を1024 × 512 1024 × 512にスケールします。1024×5121536×768 1536×7681536年×768では、推論モデルはスケーリングされた画像を入力として受け取り、予測画像を生成し、最後に予測画像を元の入力画像のサイズに再スケーリングする。これら 3 つのステップの消費時間が推論時間として計算されます。CamVid データセットの場合、推論モデルは、解像度 960 × 720 の元の画像を入力として受け取ります960 × 720960×720すべての推論実験は、CUDA 10.2、CUDNN 7.6、および TensorRT 7.1.3 を使用して、NVIDIA 1080Ti GPU で実行されました。セグメンテーション精度の比較には標準の平均交差対和集合 (mIoU) 比が使用され、推論速度の比較にはフレーム レート (FPS) が使用されました。

4.4 都市景観データセットの結果

4.4.1 SOTA方式との比較

上記のトレーニングと推論設定の下で、提案された PP-LiteSeg を Cityscapes データセット上の以前の SOTA リアルタイム モデルと比較しました。公平な比較のために、PP-LiteSeg-T と PP-LiteSeg-B を 2 つの異なる解像度、つまり512 × 1024 512 × 1024で評価しました。512×1024および768 × 1536 768 × 1536768×1536 年表 2 に、さまざまな方式のモデル情報、入力解像度、mIoU、および FPS を示します。図 1 は、セグメンテーションの精度と推論速度の視覚的な比較を示しています。

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

表 2: 都市景観データセットにおける SOTA リアルタイム手法との比較

表 2 からわかるように、PP-LiteSeg-B2 は Cityscapes 検証セットおよびテストセットの中で最も mIoU が高く、速度も中程度であり、B2 モデル自体が比較的大きいため、精度は良好ですが、速度の点では、あまり良いトレードオフは得られません。PP-LiteSeg-T1 は最小のモデルで、速度は最も速く、mIoU は比較的中間の位置にあるため、全体的なパフォーマンスは良好です。

正直なところ、大量のデータからパターンを見つけるのは直感的ではありませんが、下の図を見ると、mIoU と速度における PP-LiteSeg の利点を直感的に感じることができます。

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

図 1: Cityscapes テスト セットでのセグメンテーション精度 (mIoU) と推論速度 (FPS) の比較

2 つの数値を組み合わせると、PP-LiteSeg が精度と速度の SOTA バランスに達していることがわかります。具体的には、PP-LiteSeg-T1 が 273.6 FPS と 72.0% mIoU を達成していることがわかります。これは、最速の推論速度と競合精度を意味します。解像度768 × 1536 の場合 768 × 1536768×1536の場合、PP-LiteSeg-B2 は最高の精度、つまり検証セットで 78.2% mIoU、テスト セットで 77.5% mIoU を達成しました。さらに、PP-LiteSeg は、同じエンコーダと入力解像度を使用する STDC-Seg と比較してパフォーマンスが優れています。

4.4.2 アブレーション実験

著者らは、提案されたモジュールの有効性を実証するためにアブレーション実験も実施しました。実験には PP-LiteSeg-B2 モデル (mIoU が最も高いモデル) が選択され、同じトレーニング設定と推論設定が使用されました。ベースライン モデルは、提案モジュールを使用しない PP-LiteSeg-B2 です。デコーダの特徴チャネル数は 96 で、融合方法は要素ごとの加算⊕ \oplusです。表 3 は、アブレーション実験の定量的結果を示しています。

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

表 3: Cityscapes 検証セットでの提案モジュールのアブレーション実験
ベースライン モデルは、提案モジュールを使用しない PP-LiteSeg-B2 です。

PP-LiteSeg-B2 モデルでは、FLD モジュールの導入により mIoU が 0.17% 増加していることがわかります。SPPM と UAFM の導入により、推論速度は若干低下しますが、セグメンテーションの精度も向上します。提案された 3 つのモジュールに基づいて、PP-LiteSeg-B2 は 102.6 FPS で 78.21 の mIoU を達成します。ベースライン モデルと比較して、mIoU は 0.71% 増加します。図 6 は定性的な比較を示しています。

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

図 6: 都市景観検証セット
(a) ~ (e)
の定性的比較。それぞれ、ベースライン、ベースライン + FLD、ベースライン + FLD + SPPM、ベースライン + FLD + UAFM、ベースライン + FLD + SPPM + UAFM の予測画像を表します ( f) は実際のラベルを表します

上の図から、FLD、SPPM、UAFM が 1 つずつ追加されるにつれて、予測画像と実際のラベルの間の一貫性がより明らかになることがわかります。要約すると、私たちが提案したモジュールはセマンティックセグメンテーションに効果的です。

4.5 CamVid データセットの結果

PP-LiteSeg の機能をさらに実証するために、著者らは CamVid データセットに対して実験も実施しました。他の作品と同様に、学習と推論の入力解像度は960 × 720 960 × 720960×720

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

表 4: CamVid テスト セットでの最先端のリアルタイム メソッドとの比較
すべてのメソッドの入力解像度は 960×720

表 4 に示すように、PP-LiteSeg-T は 222.3 FPS の速度を達成し、これは他の方式より 12.5% 以上高速です。PP-LiteSeg-B は、154.8 FPS で最高の精度、75.0% mIoU を達成します。全体として、比較結果は、PP-LiteSeg が CamVid データセット上で精度と速度の最適なバランスを達成していることを示しています。

5. まとめ

著者は、リアルタイム セマンティック セグメンテーション用の新しいネットワーク PP-LiteSeg を設計し、一連のトリックを提案しました。

  1. FLD (Flexible Lightweight Decoder) が提案され、以前のデコーダの効率が向上します。
  2. 提案された UAFM (統合アテンション フュージョン モジュール): アテンション モジュールを使用して、浅い特徴マップと深い特徴マップの融合効果を強化します。
  3. SPPM (Simple Pyramid Pooling Module) が提案されており、PPM よりも低い計算コストでグローバル コンテキストを集約します。

上記の新しいモジュールに基づいて、著者は PP-LiteSeg セマンティック セグメンテーション モデルを提案しました。Cityscapes と CamVid データセットに関する広範な実験結果は、PP-LiteSeg がセグメンテーションの精度と推論速度の間で最先端のトレードオフを達成していることを示しています。

おすすめ

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