セマンティックセグメンテーション (G検定)

セマンティックセグメンテーション

1. 定義と概要

セマンティックセグメンテーションとは、画像を構成する画素の1つ1つに、あらかじめ定義したクラス(カテゴリ)ラベルを割り当てる画像認識の手法です。物体検出は、バウンディングボックス(対象をおおまかに囲む四角い枠)と呼ばれる矩形で大まかな位置を示しますが、セマンティックセグメンテーションは画素単位で対象の輪郭までとらえる点が特徴です。

最大のポイントは、同じクラスに属する複数の物体、たとえば画像に写る2台の車や3人の人物をすべて同じラベルで塗り分け、個体(インスタンス)としては区別しないところにあります。

自動運転の道路画像を例にとると、「道路」「車」「歩行者」「空」といったクラスごとに画素を塗り分けますが、車が2台写っていてもどちらも同じ「車」というクラスに含まれ、1台目・2台目という区別はされません。

画像認識は当初、画像全体に1つのラベルを付ける画像分類や、物体の位置を矩形で示す物体検出が中心でした。自動運転やドローンによる画像解析、医療画像診断など、画素単位の精密な境界情報が求められる用途が増えたことが、この流れを変える背景になっています。

2015年には、FCN(Fully Convolutional Network、全結合層を使わず畳み込み層だけで画素単位の予測を行う先駆けとなったネットワーク)が登場しました。全結合層とは、すべてのニューロンが互いに接続された層で、画像の位置情報が失われやすいという性質を持つ層です。

以降、エンコーダ・デコーダ構造(画像を一度圧縮してから元の大きさに戻すことで特徴をとらえるネットワークの基本形)を採用したモデルが発展しました。代表例が、SegNet(エンコーダ・デコーダ構造を採用した代表的なセマンティックセグメンテーションモデルの1つ)やU-Net(医療画像分野などで広く使われる代表的なセマンティックセグメンテーションモデルの1つ)です。セマンティックセグメンテーションは、こうした流れの中で画像認識の主要タスクの1つとして確立しました。

2. 試験対策ポイント

セマンティックセグメンテーションを理解するうえでの論点として、画素単位のクラス分類であり、同じクラスの個体を区別しない点が挙げられます。個体ごとに領域を分けるインスタンスセグメンテーションとの違いは、あわせて整理しておきたいテーマです。

基本アーキテクチャは、先ほど触れたエンコーダ・デコーダ構造です。エンコーダでは、畳み込みとプーリング(画像の特徴を保ちながら情報量を圧縮する処理)によって画像の特徴を圧縮します。デコーダでは、アップサンプリング(圧縮されたデータを元の解像度に戻す処理)によって、画素ごとのクラスを出力します。この圧縮と復元の流れが、アーキテクチャの基本形として押さえておきたいポイントです。

代表的なネットワークとしては、FCN・SegNet・U-Net・PSPNet・DeepLabモデルの名称があります。PSPNet(画像全体の文脈情報をとらえる工夫を加えた代表的なセマンティックセグメンテーションモデルの1つ)は、この系譜を発展させたモデルです。DeepLab(広い範囲の特徴をとらえつつ空間情報を保つ工夫を加えた代表的なセマンティックセグメンテーションモデルの1つ)も、同じ系譜に連なります。

FCNが全結合層を使わない先駆けであり、ほかのモデルはその発展形にあたるという位置づけが、名称と特徴を結びつける手がかりになります。各モデルの内部構造の詳細は、モデルごとの個別解説に譲ります。

物体検出との違いとしては、物体検出が矩形で領域を示すのに対し、セマンティックセグメンテーションは画素単位で輪郭まで示すという粒度の違いがあります。この粒度の違いが、比較の軸になります。

3. 関連概念との比較・相違点

インスタンスセグメンテーションとの最大の違いは、同一クラスの複数個体を区別するかどうかという点にあります。セマンティックセグメンテーションは区別せず同じラベルで一括りにしますが、インスタンスセグメンテーションは個体ごとに別の領域として区別します。前述の道路画像の例でいえば、2台の車をどちらも「車」として塗り分けるか、「車1」「車2」として別々に塗り分けるかの違いにあたります。

物体検出との最大の違いは、領域の示し方の粒度にあります。物体検出は矩形(バウンディングボックス)でおおまかな位置を示すのに対し、セマンティックセグメンテーションは画素単位で対象の輪郭まで示します。境界の細かさが求められる用途では、矩形による表現だけでは情報が不足する場面があります。

もう1つ、セマンティックセグメンテーションとインスタンスセグメンテーションを統合した概念として、パノプティックセグメンテーション(セマンティックとインスタンスの両方の結果を組み合わせた手法)があります。クラス単位の塗り分けと個体単位の区別を同時に得られる上位概念にあたり、詳細はモデルや個別タスクの解説に譲りますが、名称と位置づけもあわせて整理しておきたい観点です。

ここまでの4つを、領域の示し方という軸で並べ直すと、粒度の違いが整理できます。

手法 領域の示し方
物体検出 矩形(バウンディングボックス)でおおまかな位置を示します
セマンティックセグメンテーション 画素単位で輪郭まで示し、同一クラスの個体は区別しません
インスタンスセグメンテーション 個体ごとに別の領域として区別します
パノプティックセグメンテーション クラス単位の塗り分けと個体単位の区別を同時に得られます

矩形か画素かという細かさの軸と、同一クラスの個体を分けるかどうかという軸の2つで並べておくと、名称の取り違えを防ぎやすくなります。

4. ビジネス・実務での活用シナリオ

自動運転の分野では、走行中の道路画像から道路・車両・歩行者・信号・空などのクラスを画素単位で塗り分け、走行可能な路面領域や障害物の範囲をシーン全体で把握します。個々の車を1台ずつ区別する必要がない場面では、クラス単位で面としてとらえるセマンティックセグメンテーションの性質が向いています。

医療画像診断の分野では、MRIやCT画像から腫瘍・臓器の領域を画素単位で抽出し、病変の範囲や体積の把握を支援します。矩形では輪郭をとらえにくい不定形な領域でも、画素単位の処理であれば境界を正確にとらえられるため、診断支援という用途に適した性質を持ちます。

農業の分野でも活用が進んでいます。ドローンで撮影した農地画像から作物・雑草・土壌の領域を画素単位で識別し、生育状況の把握や農薬散布範囲の最適化につなげます。作物と雑草が入り組んで生えている畑では、矩形による大まかな検出よりも、画素単位の塗り分けのほうが実際の分布に近い情報を得られます。

5. 要点まとめ

  • セマンティックセグメンテーションは画像の全画素をクラスへ分類する手法で、同一クラスに属する複数の物体は個体として区別しません。
  • 代表モデルはFCNを起点に、SegNet・U-Net・PSPNet・DeepLabモデルへと発展し、いずれもエンコーダ・デコーダ構造で画素単位の出力を得ます。
  • 物体検出(矩形単位)・インスタンスセグメンテーション(個体単位)との粒度の違いが、比較の軸になります。

6. 確認問題

問1セマンティックセグメンテーションでは、画像内の各画素に対してあらかじめ定義したクラスが割り当てられる。

解答・解説をみる

○ 正しい

画素単位でクラスを割り当てる点が、セマンティックセグメンテーションの定義そのものです。個々の画素にクラスラベルが付くかどうかが、この手法を見分ける基準になります。

問2セマンティックセグメンテーションでは、画像内に同じクラスの物体が複数写っている場合、それぞれの物体を個体として区別して認識する。

解答・解説をみる

× 誤り

セマンティックセグメンテーションは個体を区別せず、同一クラスとして一括りに扱います。正しくは、個体ごとに区別するのはインスタンスセグメンテーションという手法です。この2つは取り違えやすい組み合わせです。

問3セマンティックセグメンテーションの代表的なネットワークとしては、FCN・SegNet・U-Netが挙げられる。

解答・解説をみる

○ 正しい

FCN・SegNet・U-Netは、いずれもエンコーダ・デコーダ構造によって画素単位の出力を得る代表的なモデルです。PSPNetモデルやDeepLabモデルも同じ系譜に位置づけられます。