【E資格不合格から学ぶ】FCNとSegNet(物体検出)のポイント解説!

  • 「FCN(物体検出)」と「SegNet(物体検出)」について学びたいけど理解できるか不安・・・
  • 「FCN(物体検出)」と「SegNet(物体検出)」を使うメリットが分からない?
  • 「FCN(物体検出)」と「SegNet(物体検出)」のポイントを教えて!

 「FCN(Fully Convolutional Network)」と「SegNet」は、Semantic Segmentation(意味的領域分割)を用いた代表的なネットワークアーキテクチャでありますが、よく理解できないケースが非常に多いです。

 私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。   

 そこで、この記事では、「FCN」と「SegNet」の特徴が分かるよう各々のポイントを解説します。

 この記事を参考に「FCN」と「SegNet」のポイントを押さえることができれば、E資格に合格できるはずです。

<<「FCN」と「SegNet」の学習のポイントを今すぐ知りたい方はこちら

目次

1.「FCN」と「SegNet」 の概要

FCNの特徴
  1. CNN(畳み込みニューラルネットワーク)の全結合層をConvolution層に置き換える
    入力画像のサイズを固定する制約がなくなる。
  2. 逆畳み込みネットワーク
    逆畳み込みを用いてアップサンプリングを施す。
  3. スキップ接続
    情報ロスが発生する前の情報をアップサンプリング処理に入力する。
SegNetの特徴
  1. Max poolingインデックス:
    スキップ接続として符号化器(encoder)の特徴マップの代わりにMax poolingインデックスを用いる。

2.全結合層がない

CNNの課題

CNNは内部に全結合層が存在

入力画像のサイズを固定しなければならない。

上記課題の対策

FCNではCNNの全結合層をConvolution層に置き換える

入力画像のサイズを固定する制約がなくなった。

3.逆畳み込み

逆畳み込みネットワーク
  • CNNではプーリング処理により特徴マップはダウンサンプリングされる。
  • FCNの逆畳み込みネットワークでは、逆畳み込みを用いてアップサンプリングを施す。
  • 逆畳み込み(デコンボリューション、deconvolution)とは・・・
     元の特徴マップに空白を足して拡大した後に畳み込みフィルタを適応することで、新たな特徴マップを得ること。
     アップサンプリング(=特徴マップの次元を大きくすること)において用いられる。
    ①「CNNの全結合層を置換したConvolution層の画素毎」にラベル付けされた教師データを与え学習
    ②逆畳み込みを用いてアップサンプリング
    入力画像の各画素のラベル(物体種別)を推定することが可能。(下図参照)
Convolution networkとDeconvolution network のイメージ図
Convolution networkとDeconvolution network のイメージ図

引用元:https://arxiv.org/pdf/1505.04366v1.pdf

4.スキップ接続

逆畳み込みの課題

 ダウンサンプリングされた特徴マップに対して単純に逆畳み込みをするだけでは粗くなってしまい十分な出力結果が得られない

上記課題の解決策
  • スキップ接続
    情報ロスが発生する前の情報(下図の3層目と4層目)をアップサンプリング処理に入力する。
スキップ接続の説明図
「スキップ接続」の説明図

引用元:https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf

5.Max poolingインデックス

スキップ接続の課題

FCNではスキップ接続として「符号化器(encoder)の特徴マップ」を使用しているため大容量メモリが必要

上記課題の解決策

Seg Net ではスキップ接続として「符号化器(encoder)の特徴マップ」の代わりに「Max poolingインデックス」が用いられる。→ SegNet は FCN に比べて省メモリ

Max poolingインデックスとは・・・

順伝播のときmaxのindexを記録し、逆伝播時に記録したmaxのindexを利用して、元位置に戻って他の位置を0で補完する。

6.まとめ

【FCNのポイント】
  • CNNの全結合層をConvolution層に置き換えることで、入力画像のサイズを固定する制約がなくなった。
  • 逆畳み込みネットワーク:逆畳み込みを用いてアップサンプリングを施す。
  • スキップ接続:情報ロスが発生する前の情報をアップサンプリング処理に入力することで逆畳み込みの課題を解消
【SegNetのポイント】
  • Max poolingインデックス:
    スキップ接続として符号化器(encoder)の特徴マップの代わりにMax poolingインデックスを用い、省メモリを実現

最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次