DeepLab V3+ (G検定)

DeepLab V3+

1. 定義と概要

DeepLab V3+とは、Googleの研究チームが2018年に国際会議ECCVで発表した(筆頭著者はLiang-Chieh Chen氏ら)セマンティックセグメンテーションのモデルです。ASPP(Atrous Spatial Pyramid Pooling。間隔の異なる拡張畳み込みを並列に適用し、大小さまざまな物体を同時に捉える仕組み)を備えたDeepLabv3をエンコーダ(画像を圧縮しながら特徴をつかむ部分)として使い、そこにデコーダモジュールを新たに組み合わせた構成を持ちます。

デコーダは、エンコーダの出力である粗い特徴マップを拡大し、1×1畳み込みでチャンネル数を絞った低レベル特徴(解像度は高いが「何が写っているか」という意味の情報は薄い特徴マップ)と統合します。統合後は段階的なアップサンプリング(縮小された特徴マップを元の解像度へ引き上げる処理)を経て、物体の境界を精緻に復元する流れです。

DeepLabv3はASPPによって多尺度の文脈情報を捉えます。しかし出力をバイリニア補間(画像を拡大・縮小するときに周辺の画素値をもとに滑らかに値を計算する手法)でそのまま元の解像度へ拡大するため、物体の境界がぼやけやすいという課題を抱えていました。

そこでDeepLab V3+では、多尺度の文脈を捉える空間ピラミッドプーリング系の強みと、浅い層の特徴で境界を段階的に復元するエンコーダ・デコーダ系の強みを組み合わせる設計が採用されています。

バックボーン(特徴抽出の土台となるネットワーク部分)にはXceptionモデル(畳み込み処理を効率化したCNNの一種)が使われています。ASPPとデコーダの畳み込みにはdepthwise separable convolution(通常の畳み込みをチャンネルごとの処理と全体をまとめる処理に分けて計算量を抑える手法)が適用され、精度を保ちながら高速化・軽量化を実現しています。

2. 試験対策ポイント

まず重要になるのは、DeepLabv3からDeepLab V3+への変更点の中心がデコーダモジュールの追加である点です。エンコーダ(ASPPを備えたDeepLabv3)の出力を、浅い層から取り出した低レベル特徴(1×1畳み込みでチャンネル数を調整済み)と統合します。そのうえで3×3畳み込みで整え、段階的にアップサンプリングして元の解像度へ復元する、という流れになります。

バックボーンにXceptionモデルが採用されている点も押さえておきたいところです。max pooling層をdepthwise separable convolution処理に置き換えるなどの改良を加えたXceptionモデルが、特徴抽出の土台として使われています。

ASPPのブランチと改良版のXceptionモデルには、Atrous Convolution(拡張畳み込み)が使われています。これをdepthwise separable convolution処理と組み合わせたのがAtrous Separable Convolution方式です。一方でデコーダ側の3×3畳み込みに拡張率はありません。この工夫により、パラメータ(モデルの挙動を決める数値)の数と計算量を抑えながら精度を保つ設計になっています。

精度の指標にはmIOU(mean Intersection over Union。正解の領域と予測した領域がどれだけ重なっているかを測る指標)が使われます。PASCAL VOC 2012(画像認識の代表的なデータセット)のテストセットで89.0パーセント、Cityscapesデータセットのテストセットで82.1パーセントを、後処理なしで達成しています。

なお「DeepLab V3+はDeepLabv3のASPPを置き換えたモデルである」という理解は誤りです。正しくはASPP自体はエンコーダ側にそのまま引き継がれており、デコーダは新たに追加された構成要素という位置づけです。

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

DeepLabv3との最大の違いは、境界復元の仕組みにあります。ASPPで多尺度の文脈情報を捉えるところまでは共通しますが、その先の扱いが分かれます。

エンコーダ・デコーダ構造を持つ他のモデルとの対比では、U-Net(エンコーダとデコーダを対称的に組み合わせた、画像セグメンテーションの代表的なモデル)がよく挙げられます。低レベル特徴と統合して境界を復元する発想は共通しますが、DeepLab V3+はASPPを含むDeepLabv3エンコーダに軽量なデコーダを後付けした非対称な構成である点が異なります。

境界の復元方法と構造の対称性という軸で整理すると、次の関係になります。

モデル 境界の復元方法 構造
DeepLabv3 ASPPの出力をバイリニア補間で一括拡大 デコーダを持たない
DeepLab V3+ 低レベル特徴と統合し段階的に復元 軽量なデコーダを後付けした非対称
U-Net 低レベル特徴と統合して復元 対称

この非対称性が、U-Net系のモデルとの相違点です。内部構造の詳しい比較は別の記事に譲ります。

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

自動運転の分野では、車載カメラの映像から道路と歩道の境界、車両や歩行者の輪郭を高精度に塗り分け、走行可能な領域の判定精度を高める用途に使われています。境界をわずかに見誤ると事故につながりかねない自動運転では、精緻な境界復元の性質が実用上欠かせない要件になります。

医療画像診断の分野では、CTやMRIの画像から臓器や病変の輪郭を精緻に抽出し、境界があいまいな微小病変の見落としを減らす診断支援に活用されています。低レベル特徴を使って境界を段階的に復元する構成は、わずかな輪郭の差異が診断結果を左右する医療分野との相性がよい性質です。

画像編集・映像制作の分野では、人物と背景の境界をきれいに切り抜く背景ぼかしや背景置換などの用途に使われています。Xceptionモデルとdepthwise separable convolution処理による軽量化は、こうした処理を高速に行ううえで生かされる工夫です。

5. 要点まとめ

  • DeepLab V3+は、ASPPを備えたDeepLabv3をエンコーダとして使い、デコーダモジュールを追加することで物体境界の復元精度を高めたモデルです。
  • バックボーンにXceptionモデルを採用し、ASPPとデコーダの畳み込みにdepthwise separable convolution処理を適用することで、高速化・軽量化を実現しています。
  • PASCAL VOC 2012で89.0パーセント、Cityscapesデータセットで82.1パーセントのmIOU値を、後処理なしで達成しています。

6. 確認問題

問1DeepLab V3+は、ASPPを備えたDeepLabv3をエンコーダとして使い、デコーダモジュールを追加することで物体境界の復元精度を高めたモデルである。

解答・解説をみる

○ 正しい

DeepLab V3+はDeepLabv3をエンコーダとし、低レベル特徴と統合するデコーダを追加した構成で、境界の精度改善を目的としています。

問2DeepLab V3+では、バックボーンにXceptionモデルが採用され、ASPPとデコーダの畳み込みにdepthwise separable convolution処理が適用されている。

解答・解説をみる

○ 正しい

Xceptionモデルを改良したバックボーンが特徴抽出に使われ、ASPPとデコーダの両方でdepthwise separable convolution処理を用いることでパラメータの数と計算量を削減しています。

問3DeepLab V3+のデコーダは、エンコーダの出力をバイリニア補間で一度に元の解像度まで拡大するだけの構成であり、ネットワークの浅い層の低レベル特徴とは統合しない。

解答・解説をみる

× 誤り

正しくは、デコーダはエンコーダの出力と浅い層から取り出した低レベル特徴を1×1畳み込み後に統合し、段階的なアップサンプリングを経て境界を復元します。単純な一括拡大にとどまるのはむしろDeepLabv3側の弱点であり、それを解消するためにデコーダが追加されました。