セマンティックセグメンテーションの2大モデルを徹底図解
画像全体に
1つのラベル
バウンディングボックス
(四角形で囲む)
全ピクセルにラベル
(猫/背景/空…)
SegNetもU-Netも、「エンコーダ・デコーダ」という共通の構造を持っている。
エンコーダではMax Pooling(最大プーリング)で画像を半分に縮小する。
2×2の領域から最大値だけ残すので、サイズは半分になるが位置情報が失われる。
「3」は左上の2×2のどこにあった? → もうわからない 😱
「プーリングの場所を覚えておく」作戦
ケンブリッジ大学が開発。自動運転の道路シーン認識を目的に設計。
「エンコーダの情報を丸ごとデコーダに渡す」作戦
ドイツ・フライブルク大学が開発。少ない医療画像データでも高精度に動くことを目的に設計。
全体を横から見ると「U」の字の形! → だから「U-Net」
位置情報が豊富
「どこに」あるかがわかる
意味理解が豊富
「何が」あるかがわかる
「どこに何が」あるか
両方わかる!
Pooling Indices を渡す
エンコーダからデコーダに渡すのは「位置の番号」だけ。
値そのものは渡さない。
→ メモリ消費が少ない
→ でも情報量は限られる
特徴マップ全体を渡す
エンコーダの特徴マップを丸ごとコピーしてデコーダに渡す(スキップ結合)。
→ 情報量が非常に多い
→ 輪郭がより正確
→ メモリ消費は多い
| SegNet | U-Net | |
|---|---|---|
| 年 | 2015 | 2015 |
| 開発元 | ケンブリッジ大学 | フライブルク大学 |
| エンコーダ | VGG16ベース | 独自設計 |
| 情報の 渡し方 |
Pooling Indices (位置の番号だけ) |
Skip Connection (特徴マップ丸ごと) |
| メモリ 消費 |
少ない ✅ | 多い |
| 精度 | 良い | 非常に良い ✅ 特に輪郭が正確 |
| 少ない データ |
普通 | 強い ✅ Data Augmentation活用 |
| 主な 用途 |
自動運転 屋外シーン認識 |
医療画像 細胞セグメンテーション |
| 構造の 名前の由来 |
Segmentation + Network | U字型の構造 |
良い質問!ResNetのスキップ結合とU-Netのスキップ結合は、名前は同じだけど目的が全然違う。
目的:勾配消失の防止
同じ解像度の層の間で入力をショートカット。
F(x) + x(足し算)。
→ 深いネットワークでも学習が安定する。
目的:位置情報の復元
異なる解像度の層の間で特徴マップをコピー。
エンコーダ→デコーダへ(結合=concatenation)。
→ 位置・輪郭の情報を保持する。