# 画像セグメンテーション ## 定義 セマンティックセグメンテーション(semantic segmentation)は、画像の各ピクセルがどのクラスに属するかを推定するタスクであり、同じクラスの物体ごとに違う色で塗られた塗り絵のような結果を得る。バウンディングボックス検出が物体を囲む矩形しか示さないのに対し、セグメンテーションは物体の詳細な位置・姿勢情報を取得できる一方、後処理なしでは扱いにくい場合がある。用途に応じて、ざっくりとした位置把握にはバウンディングボックス検出、物体同士が重なり合う場面での詳細な把握にはセグメンテーションが向く、という一長一短がある。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 5 ディープラーニングを活用したアプリケーション]] §5.1) ## U-Net: 下層の高解像度特徴をスキップ接続で使う セグメンテーションはバウンディングボックス検出・キーポイント検出のような可変数の予測と異なり、予測サイズが入力ピクセル数と同じで固定であるため実装は比較的単純である。一方、すべての位置で詳細な情報が必要になるため、上層の(空間解像度が小さくなった)特徴マップの情報だけでは不十分である。U-Netは、下層の高解像度の特徴マップをスキップ接続で再利用することでこの問題に対応するアーキテクチャであり、入力から出力までをU字型に処理する構造からこの名がついている。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 5 ディープラーニングを活用したアプリケーション]] §5.1) ## インスタンスセグメンテーションとパノプティックセグメンテーション インスタンスセグメンテーション(instance segmentation)は、セマンティックセグメンテーションの発展型であり、同じクラスであっても違う個体は別々に認識してセグメンテーションする。人混みのように人物が重なって見える場面で、どこからどこまでが同じ人かを区別できる一方、空・地面のようにそもそも個体という概念がない対象では扱いが難しい。パノプティックセグメンテーション(panoptic segmentation)は、従来のセマンティックセグメンテーションとインスタンスセグメンテーションを同時に解くタスクであり、個別に分けられないもの(stuff、空・地面など)と個別に分けられるもの(thing、人・車など)を両方まとめてセグメンテーションする。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 5 ディープラーニングを活用したアプリケーション]] §5.1) ## Mask R-CNNによる実現 Mask R-CNNは検出候補ごとに、特徴マップへ$1\times1$畳み込みを適用しピクセルごとのクラスを予測することでインスタンスセグメンテーションを実現する(詳細は[[物体検出]]を参照)。このほか、同一インスタンスに属する場合は似た埋め込みベクトルを出力するよう学習させクラスタリングする方法や、インスタンスの中心を指すベクトルを出力してインスタンスへ分ける方法も提案されている。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 5 ディープラーニングを活用したアプリケーション]] §5.1) ## 横断的知見 1 ソース目のため、複数ソースの突き合わせによる横断的知見は今後の蓄積に委ねる。[[物体検出]]が扱うバウンディングボックス検出との一長一短、[[畳み込みニューラルネットワーク]]が扱うスキップ接続(U-Net)・バックボーンネットワークの転用との突き合わせは、今後別ソースが加わった際に蓄積する。 ## 未解決の問い - U-Netのスキップ接続と、[[畳み込みニューラルネットワーク]]・[[残差学習]]が扱うResNet系のスキップ接続は、目的(勾配伝播の改善 対 高解像度情報の保持)が異なるが、同一の機構としてどこまで統一的に説明できるか。 - パノプティックセグメンテーションにおけるstuffとthingの扱いの違いは、学習時にどのような損失関数の設計上の工夫で吸収されているか。 ## 関連 - source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 5 ディープラーニングを活用したアプリケーション]] - concept: [[畳み込みニューラルネットワーク]] / [[物体検出]] - entity: [[U-Net]] / [[Mask R-CNN]] - 書籍: [[wiki/entities/ディープラーニングを支える技術|ディープラーニングを支える技術]] ## 出典 - 岡野原大輔, 『ディープラーニングを支える技術』, 技術評論社, 2022, 第5章 §5.1.