画像から何がどこにあるかを見分ける!セマンティックセグメンテーションの仕組みを徹底解説

こんにちは。ゆうせいです。

AIが画像を見て、これは車、これは空、これは道路といった具合に、ピクセル単位で塗り分けて認識する技術をご存知でしょうか。これをセマンティックセグメンテーションと呼びます。自動運転や医療診断の現場で欠かせない技術ですが、その中身はどうなっているのか気になりませんか。

今回は、この分野の草分け的存在であるFCNと、それを進化させたSegNetという2つの手法について、研修講師が教えるように分かりやすく紐解いていきます。


基礎知識:畳み込みニューラルネットワークの弱点

まず、画像認識の基本である畳み込みニューラルネットワークについておさらいしましょう。通常のネットワークでは、最後に全結合層という部分があります。これは画像をギュッと凝縮して、最終的にそれが猫なのか犬なのかという答えを1つ出すための場所です。

しかし、セマンティックセグメンテーションでは、答えを1つに絞るのではなく、元の画像と同じ大きさで塗り分け結果を出さなければなりません。全結合層を通すと、画像の中のどこに何があったかという位置情報が失われてしまうのです。

この問題を解決するために登場したのが、FCN(Fully Convolutional Networks)です。


FCN:全結合層を捨てて位置情報を守る

FCNの最大の特徴は、全結合層をなくしたことにあります。名前の通り、すべてが畳み込み層で構成されているネットワークです。

逆畳み込みによる画像の復元

画像を処理していくと、サイズがどんどん小さくなっていきます。これをもとの大きさに戻す作業をアップサンプリングと呼びます。FCNでは、逆畳み込みという手法を使って、縮小された特徴を再び引き伸ばします。

例えるなら、一度折りたたんだ地図を、折り目に沿って丁寧に広げ直すような作業だと考えてください。

スキップ接続という魔法

しかし、一度小さくしたものを無理やり引き伸ばすと、細かい輪郭がぼやけてしまいます。そこでFCNが採用したのが、スキップ接続です。

ネットワークの深い場所にあるボヤけた情報に対して、まだ画像が細かかった浅い階層の情報を直接足し合わせます。これにより、情報ロスが発生する前のフレッシュな形状データを利用して、クッキリとした判定が可能になるのです。

公式のような関係性は、以下の通りです。

精細な出力 = \text{深い層のボヤけた情報} + \text{浅い層の細かい情報}


SegNet:メモリを節約しながら賢く復元

FCNは画期的でしたが、情報をそのまま足し合わせるため、計算量が多くなるという課題がありました。そこで登場したのがSegNetです。

Max Poolingインデックスの活用

SegNetの賢い点は、Max Poolingインデックスを利用することです。

画像サイズを小さくする際、もっとも特徴的な部分だけを残す作業をプーリングと呼びますが、SegNetはそのときに、どの位置のピクセルを選んだかというメモを残しておきます。

  • FCN:引き延ばすために計算で頑張る
  • SegNet:縮小時のメモを見ながら、元の場所に正確に配置する

このメモ、つまりインデックスだけを覚えておけばいいので、特徴マップそのものをすべて保存しておく必要がありません。これにより、メモリの消費を大幅に抑えることができるようになりました。


メリットとデメリットを比較しよう

それぞれの特徴を表にまとめました。

特徴FCNSegNet
主な仕組みスキップ接続Max Poolingインデックス
メリット精度が高くなりやすいメモリ効率が良い
デメリット計算コストが高い細かい境界線の再現に限界がある場合も

FCNは、情報を贅沢に使って精度を追求する力技の職人。

SegNetは、メモを駆使して効率よく仕事をこなすスマートなエンジニア。

そんなイメージを持つと理解しやすいかもしれません。


まとめと今後の学習の指針

セマンティックセグメンテーションの世界、いかがでしたか。

FCNが全結合層を取り払い、スキップ接続で情報の鮮度を保ったこと。そしてSegNetがインデックスという工夫で効率化を図ったこと。これらは現代の高度なAIモデルの基礎となっています。

次に皆さんが学ぶべきステップは、以下の通りです。

  1. U-Netという、さらに進化したスキップ接続の構造を調べる。
  2. DeepLabなどの、より高精度な最新モデルに触れてみる。
  3. 実際にPythonを使って、画像を塗り分けるプログラムを動かしてみる。

頭で理解したら、次はぜひ手を動かしてみてください。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。