最終更新日:2026年8月21日
gk neural_network cnn
G検定トップ
> SegNetとは?プーリング位置で復元するセグメンテーションモデル【G検定】
まず結論
SegNetは、セマンティックセグメンテーション向けのEncoder-Decoder型CNNです。
G検定では、次の1点が最重要です。
最大値プーリング時の位置(インデックス)を保存し、Decoderのアップサンプリングで再利用する
U-Netとの違いを問われたら、Decoderへ何を渡すかを見ます。
| モデル | EncoderからDecoderへ渡すもの |
|---|---|
| SegNet | 最大値プーリングのインデックス |
| U-Net | Encoder側の特徴マップ |
直感的な説明
SegNetは、画像を小さくするときに
「この領域では、最大値はこの位置にあった」
という場所のメモを残します。
Decoderで画像サイズを戻すときは、そのメモを使って値を配置します。
特徴マップそのものをDecoderへコピーするU-Netとは、ここが大きな違いです。
定義・仕組み
SegNetは主に次の流れで処理します。
- Encoderで畳み込みを行う
- Max Poolingで特徴マップを縮小する
- 最大値があった位置のインデックスを保存する
- Decoderで保存したインデックスを使ってアップサンプリングする
- 畳み込みを行い、画素ごとのクラスを出力する
なぜインデックスを保存する?
最大値プーリングでは、値を間引くため位置情報の一部が失われます。
SegNetは、最大値そのものの特徴マップをEncoderからそのまま渡すのではなく、位置情報を再利用することでDecoderの復元を助けます。
そのため、U-NetのようにEncoder側の特徴マップを保持して結合する方式とは、メモリの使い方も異なります。
いつ使う?(得意・不得意)
SegNetは、道路・建物・人物などを画素単位で分類するセマンティックセグメンテーションで使われるモデルです。
一方、次の用途とは区別します。
- 画像全体に1つのラベルを付ける → 画像分類
- 同じクラスの個体まで分ける → インスタンスセグメンテーション
- チャネルごとに重要度を調整する → SENet
G検定ひっかけポイント
SegNetとU-Net
- ❌ SegNetは特徴マップをスキップ接続で結合する
- ⭕ SegNetはプーリングインデックスを利用する
- ⭕ U-NetはEncoderの特徴マップをスキップ接続で渡す
SegNetとSENet
名前は似ていますが別物です。
- SegNet → セマンティックセグメンテーション
- SENet → チャネル方向の重要度を調整するAttention系の仕組み
選択肢の判断基準
- 「最大値プーリングの位置を保存」→ SegNet
- 「特徴マップをスキップ接続」→ U-Net
- 「チャネルを重み付け」→ SENet
関連: U-Net / SegNetとU-Netの違い / セグメンテーション系まとめ
まとめ(試験直前用)
- SegNetはEncoder-Decoder型のセマンティックセグメンテーションモデル
- Max Poolingのインデックスを保存する
- Decoderでそのインデックスを使ってアップサンプリングする
- U-Netは特徴マップをスキップ接続で渡す
- 「位置ならSegNet、特徴マップならU-Net」で切る