CCNet:セマンティックセグメンテーションに対するクロスクロスアテンション

[コードpytorch](t https://github.com/speedinghzl/CCNet)

2つの注意ベースのコンテキスト集約グラフ

  1. 各場所(たとえば、青)について、非ローカルモジュールは、H×W(緑)の重みを持つ密な注意マップを生成します。
  2. 各位置(たとえば、青)に対して、十字型注意モジュールは、H + W-1の重みのみを持つ疎な注意マップを生成します。ループ操作後、最終的な出力フィーチャマップの各場所(赤など)は、すべてのピクセルのリモート依存関係をキャプチャできます。明確にするために、残りの接続は無視されます。
    ここに画像の説明を挿入

1.全体

ここに画像の説明を挿入

  • 図2は、ネットワークの基本構造です。入力画像は、深い畳み込みニューラルネットワーク(DCNN)を通過して、機能マップXを生成します。
    特徴マップXを取得した後、最初に畳み込み層を適用して次元削減された特徴マップHを取得し、次に特徴マップHを横断的注意(CCA)モジュールに入れて、新しい特徴マップH 'を生成します。長距離のコンテキスト情報と各ピクセルは、相互に同期されます。

  • 特徴マップH 'は、水平方向と垂直方向のコンテキスト情報のみを集約するため、セマンティックセグメンテーションには不十分です。より濃密なコンテキスト情報を取得するために、特徴マップH 'を再度クロスアテンションモジュールに入力し、特徴マップH'を出力します。したがって、特徴マップH ''の各位置は、実際にはすべてのピクセルから情報を収集します。2つの十字型アテンションモジュールは、同じパラメータを共有して、余分なパラメータの追加を避けています。この再帰的構造は、Recursive Cross-Cross Attention(RCCA)モジュールと呼ばれます。

  • 次に、密なコンテキストフィーチャH ''をローカル表現フィーチャXに接続します。これに続いて、1つまたは複数の畳み込み層があり、機能の融合のためにバッチ正規化とアクティブ化が行われます。最後に、融合した特徴をセグメンテーションレイヤーに入力して、最終的なセグメンテーションマップを生成します。

2.クロスクロス注意

ここに画像の説明を挿入

  • 図3に示すように、局所特徴H∈R C×W×Hである十字交差注意モジュールは、最初にHに1×1フィルターを備えた2つの畳み込み層を適用して、2つの特徴マップQおよびKを生成します。 Q {}∈RK C「×H×WですC 'は機能マップ内のチャネルの数です。サイズの縮小により、C'はCよりも小さくなります。特徴グラフQとKを取得した後、アフィニティ演算を介してアテンショングラフA∈R (H + W-1)×W×Hをさらに生成します特徴マップQの空間次元の各位置uで、ベクトルQu∈R C 'を取得できます。同様に、Kから特徴ベクトルを抽出することにより、セットΩuを取得できます。ここで、Kはuと同じ行または列にあります。したがって、Ωu∈R (+ Wは、Hである。1)×C 'ω1、u∈R C'は、 i番目の要素Ωuあります。

  • 次のように定義された親和性の操作:
    ここに画像の説明を挿入
    前記ジu∈D特徴付けクとωI、Uの相関度、私は= [1、...、|Ωu|]、D∈Rは、(。+ W 1-Hである)×H×Wです次に、チャネルディメンションに沿ってDにソフトマックスレイヤーを適用し、アテンショングラフAを計算します。

  • 次に、1×1フィルターを備えた別のたたみ込み層がHに適用され、特徴適応のためにV∈R C×W×Hが生成されます。図Vの特徴の空間次元上の各位置は、U、我々はベクトルVu∈R得ることができるCとセットΦu∈R (+ Wは、1-Hである)×CをセットΦuはVの特徴ベクトルのセットであり、これらの特徴ベクトルは位置uの同じ行または列に配置されます。リモートコンテキスト情報は、集計操作によって収集されます。
    ここに画像の説明を挿入
    ここで、H'u は、出力特徴マップH'∈RC ×W×Hの位置uにおける特徴ベクトルを表しますAi、uはチャネルiと位置uでのスカラー値です。コンテキスト情報がローカルフィーチャHに追加され、ローカルフィーチャが強化され、ピクセルによる表現が強化されます。したがって、幅広いコンテキストビューがあり、空間的注意グラフに基づいてコンテキストを選択的に集約します。

3.再発クロスクロス注意

ここに画像の説明を挿入

  • 水平および垂直アテンションモジュールは、水平および垂直方向のリモートコンテキスト情報をキャプチャできますが、ピクセルとピクセルの間の接続はまだ疎です。上記の交差交差注意モジュールに基づいて、反復交差交差注意を導入しました。ループクロスアテンションモジュールは、Rループに拡張できます。最初のループでは、十字型注意モジュールがCNNモデルから抽出された特徴マップHを入力として抽出し、特徴マップHを入力として受け取ります。ここで、HとHは同じ形状です。2番目のループでは、十字型注意モジュールが入力特徴マップH ′と出力特徴マップH″を入力として受け取ります。
    図2に示すように、巡回クロスインターリーブアテンションモジュールには2つのループ(R = 2)があり、すべてのピクセルからリモート依存関係を取得して、密で豊富なコンテキスト情報を持つ新しい機能マップを生成できます。

  • AとA 'は、それぞれサイクル1とサイクル2の注意マップです。チャネルの次元ではなく、コンテキスト情報の空間の次元のみに関心があるので、1×1フィルターのたたみ込み層は同じ接続であると考えることができます。さらに、位置x '、y'から重みAi、x、yへのマッピング関数は次のように定義されます。

  • ここに画像の説明を挿入

  • 特徴マップH ''上の任意の位置uと特徴マップH上の任意の位置θについて、R = 2の場合、接続があります。1つのケースは、uとθが同じ行または列にある場合です。
    ここに画像の説明を挿入

  • ←は追加の操作を示します。別の状況は、uとθが同じ行と同じ列にないことです。図4は、空間次元でのコンテキスト情報の伝搬経路を示しています。
    ここに画像の説明を挿入

  • 一般に、私たちの周期的クロスアテンションモジュールは、すべてのピクセルから密なコンテキスト情報を取得できないクロスアテンションモジュールの欠如を補います。十字型注意モジュールと比較して、周期的十字型注意モジュール(R = 2)は追加のパラメーターをもたらさず、計算の増分を小さくしてパフォーマンスを向上させることができます。

12件のオリジナル記事を公開しました 賞賛されました4 訪問1266

おすすめ

転載: blog.csdn.net/qq_36321330/article/details/105460926