セマンティック セグメンテーションのための完全畳み込みネットワークの個人的なまとめ

セマンティック セグメンテーションのための完全畳み込みネットワーク

個人的なまとめ

  1. セマンティック セグメンテーションとは何か、動物の写真を見せて、この写真が猫なのか犬なのか、それとも何か他のものなのかを教えてください。これが画像分類です。この画像の各ピクセルが猫であると教えてください。犬、またはその他はセマンティックセグメンテーションです。分類は写真を区別することであり、セマンティックセグメンテーションはすべてのピクセルを区別することです

  1. インスタンス セグメンテーションとは? たとえば、写真に 3 匹の猫と 1 匹の犬がいる場合、セマンティック セグメンテーションにより、どのピクセルが猫で、どのピクセルが犬であるかがわかります。インスタンス セグメンテーションは、どれが猫でどれが犬かを示すだけでなく、どれが猫 1 でどれが猫 2 でどれが猫 3 であるかを示すこともできます。したがって、インスタンス セグメンテーションは、セマンティック セグメンテーションに加えてターゲット検出と見なすこともできます。

  2. 完全な畳み込みとは? 完全な畳み込みとは、あなたがくれた特徴マップのサイズが、私の畳み込みカーネルのサイズであることを意味します. トラバースする必要はなく、完全な畳み込みは一度に完了します. たとえば、入力した特徴マップが 50 * 50 * 10 で、目的の深度が 20 の場合、完全な畳み込みの特徴カーネルは 50*50*20 で、畳み込みが完了します。

  3. 完全な畳み込みと完全な接続の計算に違いはありますか? 答えはいいえだ。

    まず、畳み込み計算の方法を説明します。

    50*50*10 の入力を例にとると、畳み込みカーネルは 3*3、パディングは 1、ステップ サイズは 1、出力深度が 20 の場合の計算量は次のようになります。

    畳み込みカーネルのサイズは 3*3*20. パディングが 1 でステップ サイズが 1 の場合、入力特徴マップの各特徴点は、この畳み込みカーネルによって 1 回計算される必要があります. 特徴マップの幅方向は50*高さ方向は50*奥行き方向は10なので計算量は3*3*20*50*50*10

    フル畳み込みカーネルのサイズは 50*50*20. フル畳み込みカーネルは入力特徴マップと同じサイズであるため、幅方向と高さ方向にトラバースする必要がないため、フル畳み込みの計算量はは 50*50*20*1 *1*10 です

    フルコネクションの計算量、入力特徴マップサイズは50*50*10*出力フルコネクションサイズは1*1*20なので計算量は50*50*10*1*1*20

    したがって、フルコンボリューションとフルコネクションの計算量に違いはありません

  4. 個人的な意見、参考までに、大きな牛は批判と修正を歓迎します

まとめ

畳み込みネットワークは、機能階層を生成する強力なビジョン モデルです。畳み込みネットワーク自体、エンドツーエンド、ピクセルツーピクセルでトレーニングされたものは、セマンティック セグメンテーションにおいて最先端のものよりも優れていることを示しています。私たちの重要な洞察は、効率的な推論と学習を通じて、任意のサイズの入力を受け入れ、対応するサイズの出力を生成する「完全な畳み込み」ネットワークを構築することです。完全な畳み込みネットワークの空間を定義および指定し、空間的に密な予測タスクへの適用を説明し、以前のモデルへの接続を描きます。現代の分類ネットワーク (AlexNet [19]、VGG ネットワーク [31]、および GoogLeNet [32]) を完全な畳み込みネットワークとして適応させ、学習した表現を微調整によってセグメンテーション タスクに転送します [4]。次に、深くて粗いレイヤーからのセマンティック情報と浅くて細かいレイヤーからの外観情報を組み合わせて、正確で詳細なセグメンテーションを生成する新しいアーキテクチャを定義します。当社の完全な畳み込みネットワークは、最先端の PASCAL VOC セグメンテーション (2012 年の 62.2% と比較して平均 IU で 20% の改善)、NYUDv2、および SIFT フローを、すべて従来の画像の 5 分の 1 未満の推論時間で実現します.

1 はじめに

畳み込みネットワークは、認識の進歩を推進しています。畳み込みネットワークは、画像全体の分類 [19、31、32] を改善しただけでなく、構造化された出力を使用したローカル タスクでも進歩を遂げました。これらには、バウンディング ボックス オブジェクトの検出 [29、12、17]、パーツとキーポイントの予測 [39、24]、およびローカル対応 [24、9] の進歩が含まれます。

粗い推論から細かい推論への自然な次のステップは、各ピクセルの予測を行うことです。以前のアプローチでは、セマンティック セグメンテーションに畳み込みネットワークを使用していました [27、2、8、28、16、14、11]。各ピクセルは、その遮蔽オブジェクトまたは領域のクラスでラベル付けされますが、この作業はいくつかの欠点に対処します。

セマンティック セグメンテーションでエンド ツー エンド、ピクセル ツー ピクセルでトレーニングされた完全な畳み込みネットワーク (FCN) が、それ以上の機械を使用せずに最先端技術よりも優れていることを示します。私たちの知る限りでは、これはスーパー教師付き事前トレーニングからのピクセル単位の予測 (2) のための FCN のエンドツーエンド (1) のトレーニングに関する最初の作業です。集中的なフィードフォワード計算とバックプロパゲーションにより、学習と推論の両方が画像時間にわたって実行されます。ネットワーク内のアップサンプリング レイヤーにより、サブサンプリング プーリングを使用したネットワークでのピクセル レベルの予測と学習が可能になります。

このアプローチは、漸近的にも絶対的にも機能し、他の作業で複雑にする必要がなくなります。パッチワイズ トレーニングは一般的ですが [27、2、8、28、11]、完全な畳み込みトレーニングの効率には欠けます。私たちの方法は、スーパーピクセル[8、16]、提案[16、14]、またはランダムフィールドまたはローカル分類子の事後改良[8、16]を含む前処理および後処理の複雑さを使用しません。私たちのモデルは、分類における最近の成功 [19、31、32] を、分類ネットワークを完全な畳み込みとして再解釈し、学習した表現から微調整することによって、密な予測に移します。対照的に、以前の研究では、監視された事前トレーニングなしで小さな畳み込みネットワーク [8、28、27] を適用しました。

セマンティック セグメンテーションは、セマンティクスと局所性との間の固有の競合に直面しています。つまり、グローバル情報によって対処されるものと、ローカル情報によって対処される場所です。深い機能階層は、ローカルからグローバルへのピラミッドで場所とセマンティクスを共同でエンコードします。セクション 4.2 で新しい「スキップ」アーキテクチャを定義し、深く粗いセマンティック情報と浅く細かい外観情報を組み合わせます (図 3 を参照)。

次のセクションでは、深層分類ネットワーク、FCN、および畳み込みネットワークを使用したセマンティック セグメンテーションへの最近のアプローチに関する関連作業を確認します。次のセクションでは、FCN 設計と高密度予測のトレードオフについて説明し、ネットワーク内アップサンプリングと多層構成アーキテクチャを紹介し、実験的フレームワークについて説明します。最後に、PASCAL VOC 2011-2、NYUDv2、および SIFT Flow に関する最先端の結果を示します。

2. 関連作品

私たちのアプローチは、画像分類 [19、31、32] と転移学習 [4、38] におけるディープ ネットワークの最近の成功を利用しています。転送は、最初にさまざまな視覚認識タスク [4、38] で実証され、次にハイブリッド提案分類子モデルにおける検出、インスタンスおよびセマンティック セグメンテーション [12、16、14] で実証されます。ここで、分類ネットワークを再構築して微調整し、セマンティック セグメンテーションを直接かつ密に予測します。FCN の空間をマッピングし、このフレームワーク内で過去および最近の以前のモデルをローカライズします。

完全畳み込みネットワーク

私たちが知る限り、畳み込みネットワークを任意のサイズの入力に拡張するというアイデアは、数字の文字列を認識するように従来の LeNet [21] を拡張した Matan ら [25] で最初に登場しました。彼らのネットワークは 1 次元の入力文字列に制限されているため、Matan らは Viterbide エンコーディングを使用して出力を取得しています。Wolf と Platt [37] は、畳み込みネットワークの出力を、住所ブロックの四隅の検出スコアの 2D マップに拡張しました。どちらの履歴も、完全な畳み込み推論と検出のための学習を実行します。Ning et al. [27] は、完全な畳み込み推論を使用して、C. elegans 組織の粗いマルチクラス セグメンテーション用の畳み込みネットワークを定義しました。

多層ネットワークの現在の時代では、完全な畳み込み計算も利用されます。Sermanet らによるスライディング ウィンドウ検出、Pinheiro [29] と Collobert [28] によるセマンティック セグメンテーション、および Eigen らによる画像復元。[5] 完全な畳み込み推論を実行します。完全な畳み込みトレーニングはまれですが、Thompson らによって効果的に使用されています。[35] 姿勢推定のためのエンドツーエンドのパーツ検出器と空間モデルを学習しますが、このアプローチを実証または分析していません。

別の方法として、He ら [17] は、分類ネットワークの非畳み込み部分を破棄して、特徴抽出器を作成しています。提案と空間ピラミッド プーリングを組み合わせて、ローカルの固定長の分類機能を生成します。このようなハイブリッド モデルは、高速で効果的ですが、エンドツーエンドで学習することはできません。

畳み込みネットワークを使用した密な予測

Ning et al. [27]、Farabert et al. [8]、Pinheiro and Collobert [28]、Ciresan et al. 境界予測 [2] およびGanin と Lempitsky [11] 自然画像のハイブリッド ニューラル ネットワーク/最近傍モデル、画像復元と深度推定の Eigen ら [5、6]。これらのアプローチの共通要素には、

• 容量と受容野が限られている小型モデル。

•パッチトレーニング[27、2、8、28、11]。

• スーパーピクセル プロジェクション、ランダム フィールド正則化、フィルタリング、またはローカル分類による後処理 [8、2、11]。

• OverFeat [29] によって導入された高密度出力 [28, 11] の入力シフトと出力インターリービング; • マルチスケール ピラミッド処理 [8, 28, 11];

• 饱和tanh非线性[8, 5, 28]; 和

• 全部 [2, 11],

而我们的方法没有这种机制。但是,我们确实从FCN的角度研究了 patchwise training 3.4 和“shift-and-stitch”密集输出 3.2。我们还讨论了网络内上采样 3.3,其中 Eigen 等人的全连接预测。[6]是一个特例。

与这些现有方法不同,我们调整和扩展了深度分类架构,使用图像分类作为监督预训练,并通过完全卷积进行微调,以简单有效地从整个图像输入和整个图像基础中学习。

哈里哈兰等人[16]和古普塔等人[14]同样使深度分类网络适应语义分割,但在混合提议分类器模型中这样做。这些方法通过对边界框和/或区域提议进行采样以进行检测、语义分割和实例分割来微调R-CNN系统[12]。这两种方法都不是端到端学习的。

它们分别在PASCAL VOC分割和 NYUDv2 分割上取得了最先进的结果,因此我们直接将我们独立的端到端 FCN 与它们在第 5 节中的语义分割结果进行比较。

3、全卷积网络

卷积网络中的每一层数据都是一个大小为 h × w × d 的三维数组,其中 h 和 w 是空间维度,d是特征或通道维度。第一层是图像,像素大小为 h × w,有 d 个颜色通道。 较高层中的位置对应于它们路径连接到的图像中的位置,称为它们的感受野。

卷积网络建立在平移不变性之上。它们的基本组件(卷积、池化和激活函数)在局部输入区域上运行,并且仅依赖于相对空间坐标。 将xij写入特定层中位置 (i,j) 的数据向量,并将yij写入下一层,这些函数通过以下方式计算输出yij

其中 k 称为内核大小,s 是步幅或子采样因子,f ks 确定层类型:卷积或平均池化的矩阵乘法,最大池化的空间最大值,或激活函数的元素非线性,以及对于其他类型的图层,依此类推。

这种函数形式在组合下保持不变,内核大小和步长服从变换规则

一般的なディープ ネットワークは一般的な非線形関数を計算しますが、この形式の層のみを含むネットワークは非線形フィルターを計算します。これをディープ フィルターまたは完全畳み込みネットワークと呼びます。FCN は、任意のサイズの入力に対して自然に動作し、対応する (場合によってはリサンプリングされた) 空間次元の出力を生成します。

FCN で構成される実数値の損失関数がタスクを定義します。損失関数が最後のレイヤーの空間次元の合計である場合、

の場合、その勾配は、各空間コンポーネントの勾配の合計になります。したがって、イメージ全体で計算された確率的勾配降下法は、最後の層のすべての受容野をミニバッチとして取得する、0 で計算された確率的勾配降下法と同じです。

これらの受容野が大幅にオーバーラップする場合、フィードフォワード計算と逆伝播は、ブロックごとに独立して計算するよりも、画像全体にわたってレイヤーごとに計算した方が効率的です。

次に、分類ネットワークを、粗い出力マップを生成する完全な畳み込みネットワークに変換する方法を説明します。ピクセルごとの予測では、これらの粗い出力を連結してピクセルに戻す必要があります。セクション 3.2 では、この目的のために OverFeat [29] によって導入されたトリックについて説明します。このトリックを同等のネットワーク変更として再解釈することで、このトリックへの洞察を得ることができます。効率的な代替手段として、セクション 3.3 でアップサンプリング用のデコンボリューション レイヤーを紹介します。セクション 3.4 では、パッチ サンプリングによるトレーニングを検討し、セクション 4.3 では、画像全体のトレーニングが高速で同等に効果的であることを示します。

図 1. 完全な畳み込みネットワークは、セマンティック セグメンテーションなどのピクセル単位のタスクに対して密な予測を行うことを効率的に学習できます。

3.1. 密な予測のための分類子の調整

LeNet [21]、AlexNet [19]、およびそれらのより深い後継 [31、32] を含む典型的な認識ネットワークは、表向きは固定サイズの入力を取り、非空間出力を生成します。これらのネットワークの全結合層は固定次元を持ち、空間座標を破棄します。ただし、これらの完全に接続されたレイヤーは、入力領域全体をカバーするカーネルとの畳み込みとして表示することもできます。そうすることで、それらを任意のサイズの入力を受け入れて分類マップを出力する完全な畳み込みネットワークに変えます。この変換を図 2 に示します。対照的に、Le らのネットワーク [20] のような非畳み込みネットワークには、この機能がありません。)

さらに、結果のマップは特定の入力ブロックでの元のネットワークの評価と同等ですが、計算はこれらのブロックのオーバーラップ領域で大幅に償却されます。たとえば、AlexNet は 227 × 227 画像の分類スコアを生成するのに (一般的な GPU で) 1.2 ミリ秒かかりますが、完全な畳み込みバージョンでは、500 × 500 画像から 10 × 10 グリッドで出力を生成するのに 22 ミリ秒かかります。これは単純な方法 1 よりもはるかに高速で、5 倍以上高速です。

これらの畳み込みモデルの空間出力マップは、セマンティック セグメンテーションのような高密度の問題に対して自然な選択となります。グラウンド トゥルースは各出力ユニットで利用できるため、フォワード パスとバックワード パスの両方が簡単で、畳み込み固有の計算効率 (および積極的な最適化) を利用できます。

AlexNet の例に対応する逆方向時間は、単一の画像で 2.4 ミリ秒、完全な畳み込み 10 × 10 出力マップで 37 ミリ秒であり、順方向パスと同様のスピードアップが得られます。この密な逆伝播を図 1 に示します。

分類ネットワークを完全な畳み込みとして再解釈すると、任意のサイズの入力の出力マップが生成されますが、サブサンプリングによって出力の次元が削減されることがよくあります。ネットワーク サブサンプルを分類して、フィルターを小さくし、計算要件を合理的に保ちます。これにより、これらのネットワークの完全な畳み込みバージョンの出力が粗くなり、出力ユニットの受容野のピクセル ストライドに等しい係数で入力のサイズから縮小されます。

図 2. 全結合層を畳み込み層に変換すると、分類ネットワークがヒートマップを出力できるようになります。レイヤーと空間損失 (図 1 を参照) を追加すると、エンドツーエンドの密な学習のための効率的なマシンが得られます。

3.2. シフトとスティッチングは疎性をフィルタリングする

入力シフトと出力インターリーブは、OverFeat [29] によって導入された、補間なしで粗い出力から密な予測を生成するトリックです。出力が係数 f でダウンサンプリングされる場合、(x,y) ∈ {0,..., f - 1} の場合、入力は右に x ピクセル、下に y ピクセルだけ (左と上のパディングによって) シフ​​トされます。 × {0,...,f - 1}。これらの f2 入力はそれぞれ畳み込みネットワークを通過し、出力はインターリーブされるため、予測はその受容野の中心にあるピクセルに対応します。

畳み込みネットワークのフィルターとレイヤーのストライドを変更するだけで、このシフトステッチのトリックと同じ出力を生成できます。入力ストライド s を持つレイヤー (畳み込みまたはプーリング) と、フィルターの重み f ij を持つ後続の畳み込みレイヤーを考えてみましょう (特徴次元は省略されています。ここでは関係ありません)。下位レイヤーの入力ストライドを 1 に設定すると、シフト アンド ステッチと同様に、出力が s 倍にアップサンプリングされます。ただし、元のフィルターをアップサンプリングされた出力で畳み込むと、トリックと同じ結果が得られません。元のフィルターは、その (アップサンプリングされた) 入力のダウンサンプリングされた部分しか認識しないためです。トリックを再現するには、フィルターを次のようにスケーリングします。

(i と j はゼロから始まります)。トリックの完全なネット出力を再現するには、すべてのサブサンプリングが削除されるまで、このフィルター増幅をレイヤーごとに繰り返す必要があります。

ネットワーク内のサブサンプリングを単純に減らすことはトレードオフです。フィルターはより細かい情報を表示しますが、受容野が小さくなり、計算に時間がかかります。シフト アンド スティッチ トリックは別のトレードオフであることがわかりました。フィルターの受容野サイズを縮小せずに出力をより高密度にしますが、フィルターが本来の設計よりも細かい情報にアクセスすることを禁止します。

シフトアンドステッチで予備実験を行いましたが、モデルでは使用しません。次のセクションで説明するように、アップサンプリングによる学習は、特に後で説明するスキップ層融合と組み合わせると、より効果的かつ効率的であることがわかります。

3.3、アップサンプリングは後方ストライド畳み込みです

粗い出力を密なピクセルに接続するもう​​ 1 つの方法は、補間です。たとえば、単純な双一次内挿は、入力ユニットと出力ユニットの相対位置のみに依存する線形マッピングによって、最も近い 4 つの入力から各出力 y ij を計算します。

係数 f によるアップサンプリングは、ある意味では、ストライド 1/f の分数入力による畳み込みです。f が整数である限り、アップサンプリングする自然な方法は逆畳み込み (デコンボリューションと呼ばれることもあります) で、出力ストライドは f です。このような操作は、畳み込みの前方パスと後方パスを単純に反転するだけなので、簡単に実装できます。したがって、アップサンプリングは、ピクセル損失のバックプロパゲーションを介したエンドツーエンドの学習のためにネットワークで実行されます。

このようなレイヤーのデコンボリューション フィルターは固定する必要はありませんが (バイリニア アップサンプリングなど)、学習できることに注意してください。一連のデコンボリューション レイヤーとアクティベーション関数は、非線形アップサンプリングを学習することさえできます。

私たちの実験では、ネットワーク内のアップサンプリングは、密な予測を学習するのに高速で効率的であることがわかりました。私たちの最高のセグメンテーション アーキテクチャは、これらのレイヤーを使用して、セクション 4.2 で正確な予測を行うためのアップサンプリングを学習します。

3.4. パッチワイズトレーニングは損失サンプリングです

確率的最適化では、勾配計算はトレーニング分布によって駆動されます。パッチ トレーニングと完全な畳み込みトレーニングの両方で任意の分布を生成できますが、それらの相対的な計算効率はオーバーラップとミニバッチ サイズに依存します。フルイメージの完全な畳み込みトレーニングは、各バッチがイメージ (またはイメージのコレクション) 損失の下のユニットのすべての受容野で構成されるパッチ トレーニングと同じです。これは、パッチの均一なサンプリングよりも効率的ですが、可能なバッチの数を減らします。ただし、画像内のランダムに選択されたブロックは簡単に復元できます。損失をその空間項のランダムにサンプリングされたサブセットに制限する (または同等に出力と損失の間に DropConnect マスク [36] を適用する) と、勾配計算からパッチが除外されます。

保持されたパッチにまだ大きなオーバーラップがある場合でも、完全な畳み込み計算によってトレーニングが高速化されます。勾配が複数の逆方向パスにわたって蓄積されている場合、バッチには複数の画像からのパッチを含めることができます。

パッチトレーニングでのサンプリングは、クラスの不均衡を修正し[27、8、2]、密なパッチの空間相関を緩和できます[28、16]。完全な畳み込みトレーニングでは、損失を重み付けすることによってクラス バランスを達成することもでき、損失サンプリングを使用して空間相関に対処することもできます。

セクション 4.3 でサンプリング トレーニングを調査しましたが、高密度予測の収束がより高速または良好になることはわかりませんでした。全体像トレーニングは効果的かつ効率的です。

4. セグメンテーション アーキテクチャ

ILSVRC 分類器を FCN に変換し、ネットワーク内のアップサンプリングと高密度予測のためのピクセル損失でそれらを強化します。微調整によってスプリットをトレーニングします。次に、予測を改善するために、粗い、セマンティック、およびローカルの外観情報を組み込んだ新しいスキップ アーキテクチャを構築します。

この調査では、PASCAL VOC 2011 セグメンテーション チャレンジ [7] のトレーニングと検証を行います。トレーニングにはピクセルごとの多項式ロジスティック損失を使用し、検証にはユニオンの代わりに平均ピクセル交差の標準メトリックを使用します。ここでは、背景を含むすべてのクラスが平均化されます。トレーニングでは、グラウンド トゥルースでマスクされている (ぼやけている、または難しい) ピクセルは無視されます。

4.1. 分類子から密な FCN へ

最初に、セクション 3 で検証済みの分類アーキテクチャに対して畳み込みを実行します。ILSVRC12 で優勝した AlexNet 3 アーキテクチャ [19] と、ILSVRC14 で優れたパフォーマンスを示した VGG ネットワーク [31] および GoogLeNet 4 [32] を検討します。VGG 16 層ネットワーク5 を選択します。これは、このタスクの 19 層ネットワークと同等であることがわかりました。GoogLeNet の場合、最終損失レイヤーのみを使用し、最終平均プーリング レイヤーを破棄することでパフォーマンスを向上させます。最後の分類層を破棄して各ネットワークの頭を切り落とし、すべての完全に接続された層を畳み込みに変換します。セクション 3.3 で説明されているように、チャネル次元 21 の 1 × 1 畳み込みを追加して、粗い出力位置ごとに各 PASCAL クラス (背景を含む) のスコアを予測し、続いて粗い出力をピクセル密度の高い出力にバイリニアでアップサンプリングするデコンボリューション レイヤーを追加します。表 1 は、予備的な検証結果と各ネットワークの基本的な特性を比較したものです。固定学習率 (少なくとも 175 エポック) で収束した後、最良の結果を報告します。

分類からセグメンテーションへの微調整により、各ネットワークの妥当な予測が提供されます。最悪のモデルでも最新鋭の75%の性能を実現。セグメンテーションを備えた VGG ネットワーク (FCN-VGG16) は、val で 56.0、test で 52.6 の平均 IU を持つ最先端のようです [16]。追加データのトレーニングにより、val 7 サブセットのパフォーマンスが 59.4 平均 IU に向上します。トレーニングの詳細については、セクション 4.3 を参照してください。

同様の分類精度にもかかわらず、GoogLeNet 実装はこのセグメンテーション結果と一致しません。

図 3. DAG ネットワークは、粗い高レベル情報と細かい低レベル情報を組み合わせることを学習します。レイヤーは、相対的な空間粗さを示すグリッドとして表示されます。プーリング層と予測層のみが示され、中間の畳み込み層 (変換された全結合層を含む) は省略されています。実線 (FCN-32s): セクション 4.1 で説明したシングル ストリーム ネットワークは、1 ステップで 32 の予測をピクセルにアップサンプリングします。破線 (FCN-16s): ストライド 16 で最後のレイヤーとプール 4 レイヤーからの予測を組み合わせることで、ネットワークは高レベルのセマンティック情報を保持しながら、より詳細な情報を予測できます。破線 (FCN-8s): ストライド 8 のプール 3 からの追加の予測により、さらなる精度が得られます。

4.2. 何とどこを組み合わせる

機能階層のレイヤーを組み込み、出力の空間精度を改善するセグメンテーション用の新しい完全畳み込みネットワーク (FCN) を定義します。図 3 を参照してください。

完全な畳み込み分類器は、4.1 に示すように分割に微調整することができ、標準的なメトリックで良好なスコアを出すことさえできますが、それらの出力は不十分なほど粗くなります (図 4 を参照)。最終的な予測レイヤーの 32 ピクセルのストライドは、アップサンプリングされた出力の詳細のスケールを制限します。

ライン トポロジを DAG に変換すると、エッジは下層から上層にジャンプします (図 3)。より少ないピクセルが表示されるため、より細かい予測にはより少ないレイヤーが必要になるため、より浅いネットワークの出力からそれらを作成することは理にかなっています。細かいレイヤーと粗いレイヤーを組み合わせることで、モデルはグローバル構造を考慮したローカル予測を行うことができます。Florack et al. [10] のマルチスケール ローカル ジェットと同様に、非線形のローカル フィーチャ階層を深度ジェットと呼びます。

まず、16 ピクセルのストライド レイヤーから予測を行うことで、出力ストライドを半分に分割します。追加のクラス予測を生成するために、pool4 の上に 1×1 畳み込みレイヤーを追加します。この出力をストライド 32 で conv7 (畳み込み fc7) の上に計算された予測と融合させ、2 倍のアップサンプリング レイヤーを追加し、2 つの予測のうち 6 つを追加します (図 3 を参照)。2x アップサンプリングを双一次補間として初期化しますが、セクション 3.3 で説明されているようにパラメーターを学習できるようにします。最後に、stride16 の予測がアップサンプリングされて画像に戻されます。このネットワークを FCN-16s と呼びます。FCN-16 はエンドツーエンドで学習され、現在 FCN-32 と呼ばれる最後のより粗いネットワークのパラメーターを使用して初期化されます。プール 4 に適用される新しいパラメーターはゼロで初期化されるため、ネットワークは変更されていない予測から開始します。学習率は 100 分の 1 に減少します。

このスキップ ネットワークを学習すると、検証セットのパフォーマンスが 3.0 平均 IU から 62.4 に向上します。図 4 は、出力微細構造の改善を示しています。この融合を、プール 4 レイヤーのみから学習する (結果としてパフォーマンスが低下する) ことと、追加のリンクを追加せずに学習率を単純に下げること (出力品質を向上させずに無視できるほどのパフォーマンスの向上をもたらす) とを比較しました。

このようにして、pool3 からの予測を pool4 および conv7 からの 2 倍にアップサンプリングされた予測と融合し、ネットワーク FCN-8 を構築します。平均 IU が 62.7 にわずかに改善され、出力の滑らかさと詳細にわずかな改善が見られました。この時点で、フュージョンの改善は、大規模な正確性を強調する IU メトリックに関しても、図 4 のような目に見える改善に関しても、利益の減少に遭遇したため、下位層のフュージョンは継続しません。

図 4. 異なるストライドのレイヤーからの情報を融合することで完全な畳み込みネットワークを改善すると、セグメンテーションの詳細が改善されます。最初の 3 つの画像は、32、16、および 8 ピクセルのストライド ネットワークの出力を示しています (図 3 を参照)。

その他の精製方法

プーリング層のストライドを減らすことは、より正確な予測を得る最も簡単な方法です。ただし、VGG16 ベースのネットワークでは問題があります。pool5 レイヤーをストライド 1 に設定するには、畳み込み fc6 のカーネル サイズを 14×14 にして、その受容野サイズを維持する必要があります。計算コストに加えて、このような大規模なフィルターを学習することは困難です。より小さなフィルターを使用してプール 5 より上のレイヤーを再構築しようとしましたが、同等のパフォーマンスを達成することはできませんでした。考えられる説明の 1 つは、上のレイヤーの ImageNet トレーニングの重みの初期化が重要であるということです。

より細かい予測を得るもう 1 つの方法は、セクション 3.2 で説明されているシフト アンド スティッチ トリックを使用することです。限られた実験では、このアプローチのコスト改善は、レイヤー融合のコスト改善よりも悪いことがわかりました。

4.3. 実験の枠組み

最適化

SGDを介して勢いよくトレーニングします。ラインサーチによって選択されたFCN-AlexNet、FCN-VGG16、およびFCN-GoogLeNetについて、それぞれ20画像のミニバッチサイズおよび10 -3 、10 -4 、および5 -5 の固定学習率を使用する。運動量 0.9、重み減衰 5-4 または 2-4 を使用し、バイアスの学習率を 2 倍にしますが、トレーニングはこれらのパラメーターに敏感ではありません (ただし、学習率には敏感です)。クラス スコアリング畳み込み層をゼロで初期化し、ランダムな初期化ではパフォーマンスが向上せず、収束も速くならないことがわかりました。ドロップアウトは、元の分類器ネットワークで使用されていた場所に含まれています。

微調整

ネットワーク全体のバックプロパゲーションを通じて、すべてのレイヤーを微調整します。表 2 と比較すると、出力分類子のみを微調整しても、完全な微調整の 70% のパフォーマンスしか得られません。基本的な分類ネットワークを学習するのに必要な時間を考えると、ゼロからトレーニングすることは現実的ではありません。(完全な 16 層バージョンから初期化するのに対し、VGG ネットワークは段階的にトレーニングされることに注意してください。) 粗い FCN-32s バージョンの場合、FCN-16s と FCN へのアップグレード中に、単一の GPU での微調整に 3 日かかります。 - 8s バージョン。

図 5. 画像全体のトレーニングは、効果的にサンプリングされたパッチとしてのみ機能しますが、データをより効率的に使用することで、より高速な (壁時間) 収束につながります。左側のプロットは、予測される固定バッチ サイズの収束速度に対するサンプリングの影響を示しています。右側のプロットは、相対的な壁時間にわたって同じことをプロットしています。

パッチサンプリング

セクション 3.4 で説明したように、フルイメージ トレーニングでは、各イメージを大きなオーバーラップ パッチの規則的なグリッドに効果的にバッチ処理します。対照的に、以前の研究では、データセット全体にわたってランダムにパッチをサンプリングし [27、2、8、28、11]、分散バッチが高くなり、収束が速くなる可能性があります [22]。前述の方法で損失を空間的にサンプリングし、確率 1−p で各最終層ユニットを無視する独立した選択を行うことによって、このトレードオフを調査します。有効なバッチ サイズの変更を避けるために、同時にバッチあたりの画像数を 1/p 増やしました。この形式の棄却サンプリングは、畳み込みの効率により、p の値が十分に大きい場合 (たとえば、セクション 3.1 の数値によると、少なくとも p > 0.2 の場合) のパッチ トレーニングよりも高速であることに注意してください。図 5 は、この形式のサンプリングが収束に与える影響を示しています。サンプリングは、画像全体のトレーニングと比較して収束速度に大きな影響を与えませんが、バッチごとに考慮する画像の数が多いため、時間がかかります。したがって、他の実験では、サンプリングされていないフルイメージ トレーニングを選択します。

クラスバランス

完全な畳み込みトレーニングでは、損失の重み付けまたはサンプリングによってクラスのバランスを取ることができます。私たちのラベルはわずかにバランスが取れていませんが (約 3/4 が背景です)、クラスのバランスを取る必要はありません。

密な予測

スコアは、ネットワークのデコンボリューション レイヤーによって入力次元にアップサンプリングされます。デコンボリューション フィルターの最後のレイヤーは双一次補間に固定され、中間のアップサンプリング レイヤーは双一次アップサンプリングに初期化されてから学習されます。Shift-andstitch (セクション 3.2) または同等のフィルター間引きを使用しないでください。

強化する

画像をランダムにミラーリングし、各方向に最大 32 ピクセル (予測の最も粗いスケール) だけ変換することで画像を「ジッタリング」することで、トレーニング データを増強する実験を行いました。これにより、目立った改善は見られませんでした。

より多くのトレーニング データ

表 1 で使用する PASCAL VOC2011 セグメンテーション チャレンジ トレーニング セットには、1112 個のラベル付き画像があります。ハリハラン等。[15] 以前の最先端のシステム SDS [16] をトレーニングするために、8498 個の PASCAL トレーニング イメージの大規模なセットからラベルを収集しました。このトレーニング データは、FCNVGG16 検証スコア7 を 3.4 ポイント改善し、平均 IU は 59.4 です。

埋め込む

すべてのモデルは、単一の NVIDIA Tesla K40c で Caffe [18] を使用してトレーニングおよびテストされています。モデルとコードは公開時にオープンソース化されます。

説明します:

私たちの知る限り、これは FCN をエンドツーエンドでトレーニングする最初の作業です (1) ピクセル単位の予測のために、および (2) 監視された事前トレーニングから

私たちの知る限りでは、これはスーパー教師付き事前トレーニングからのピクセル単位の予測 (2) のための FCN のエンドツーエンド (1) のトレーニングに関する最初の作業です。

この文は正しく翻訳されていません

Patchwise は、ref で定義された以前のアルゴリズムの 1 つでなければなりません

おすすめ

転載: blog.csdn.net/XDH19910113/article/details/123108575