セマンティックセグメンテーション(Semantic Segmentation), 意味的分割

1. セマンティックセグメンテーション (Semantic Segmentation), 意味的分割 とは [概要]

セマンティックセグメンテーション (Semantic Segmentation),意味的分割とは,シーン画像に対して,画素ごとに独立して意味的(Semantics)クラス識別を行い,意味的な領域ごとに画像上の領域分割をおこなう問題である.意味的分割に用いるクラスとしては,例えば「道路」「人」「空」「海」「建物」などの,おおまかな意味的な単位を,ラベル付けする正解クラスの種類として用いる (例:SegNet など).2010年代に入って以降の自動運転研究の開始に伴い,取り組む研究者が増えた問題でもある.

CNNの登場以降,高精度かつ短時間の推定時間で,画像認識の各種問題が解けるようになってきた.以前から画像のセグメンテーション (特に2値ラベル向け) は,MRF (Markov Random Field) や CRF (Conditional Random Field) などの確率的グラフィカルモデルを用いた,組み合わせ最適化・構造化学習により取り組まれていた (Graph Cut アルゴリズムによる手法など).しかし,MRF・CRFを用いた手法では,グラフィカルモデルの解の推定に計算時間がかかる上に,シーンに多数の物体が配置されて複数の異なる意味クラスの物体・背景が登場していると,あまり正確には領域分割ができずに,それ以上の発展ができず少し行き詰まっていた.

そんな中,深層学習・CNNの時代になってから,2014~2015年ごろに, FCN [Long et al., 2015], SegNet [Badrinarayanan et al., 2015], U-Net [Ronneberger et al., 2015] などのCNNベースの手法が,高精度な手法として登場し,ブレイクスルーが起こった.またその後に,シーン画像中の,各物体インスタンスごとに前景マスクを推定する「インスタンスセグメンテーション(実例分割)」も登場する(この記事では対象外).

1.1 記事の構成

この記事では,セマンティックセグメンテーションについて,代表的な手法およびデータセットの登場について時系列順に述べていく.2節以降は,以下の構成である:

まずは1.2節にて,2節以降で述べる,各技術の全体像から述べたい.

1.2 セマンティックセグメンテーション (Semantic Segmentation) の全体像

セマンティックセグメンテーション(semantic segmentation), 意味的分割
図1. セマンティックセグメンテーション(semantic segmentation),意味的分割

図1は,画像入力を用いてマップを出力する,セマンティックセグメンテーション(意味的分割)の全体像である.

  • 図1-a :空間サイズが[W x H](幅×高さ) の,入力RGB画像(左側)と出力マップ(右側).入力のシーン画像から,各画素ごとに,K種類のどのクラスに属しているかを,全ての画素で個別に出力する.
  • 図1-b:セマンティックセグメンテーション向けに用いられる,標準的な「砂時計型のFCN型ネットワーク構造」.
    • オートエンコーダ的な砂時計型FCNでは,中盤の層にむけてプーリング層でダウンサンプリングを行い,空間サイズを下げてEncodeしていき,抽象度の高い低次元表現をつくっていく.
    • 中間ボトルネック層以後の層では,逆に元の空間サイズへ向かってアップサンプリングを行っていき,出力画像と同じ[H x W]の出力マップ(Kチャンネル)へDecoderしていく.

セマンティックセグメンテーション向けCNNでは,以下のような技術を用いることが多い:

  • 砂時計 (Hourglass) 形状のボトルネックを持った Encoder-Decoderネットワーク構造(図1-b):
    • 入力画像と,同じ空間サイズのラベル画像を出力する(3節).
  • 空間ピラミッドプーリングや 膨張畳み込み [Yu et al., 2015]:
    • 各出力画素(i,j)で,周辺範囲のコンテキストを「多解像度・効率的」に加味できるので,高精度・効率的な予測が可能に(5節).
  • スキップ接続
    • Encoder 序盤の特徴マップの低レベル特徴量も,スキップ接続でショートカットすることで,Decoder終盤まで直接受け渡すことができる.これにより,序盤層で計算した「低レベル特徴」「中レベル特徴」も終盤層で利用することができるようになる(2節,3節).
  • Fully Convolutional Networks(FCN) を採用 (図1-b)
    • 終盤層も全てを畳み込み層に代えて,VGGnetのように「終盤層の全結合層」を廃止.
    • これにより,可変長サイズの入(出)力をもちいて,入力画像からラベル画像を推定するネットワークを学習できる.
  • PSP(PSPNet)やASPP(DeepLab v3)のような,グローバル平均プーリングを終盤層で使用.
    • 画像の各スケールにおける「全体のコンテキスト」を取り込むようにした (5節,6節).

上記の各アプローチは,セマンティックセグメンテーション目的で初登場したあと,他のタスクでもよく用いられる.例えば,物体検出(例: SSDのバックボーンにFCNを採用)や,人物姿勢推定(例: カスケード学習を行うStacked Hourglass Network),画像対画像変換 (Image-to-Image Translation) などでも,砂時計型Encoder-Decoderや,スキップ接続膨張畳み込みが使用されるようになっていった.

2. FCNとスキップ接続

完全畳み込みネットワーク(FCN: Fully Convolutional Network) [Long et al.,2015] は,物体一枚が写っているPascal VOCデータセット画像のような「画像の前景 v.s. 背景セグメンテーション」問題向けに提案されたCNNの改良・拡張ネットワークである.FCNでは,終盤の全結合層を撤廃して,畳み込み層だけで最後まで処理を行う「完全畳み込み」の方針が提案された.またスキップ接続を用いて,Pool3とPool4の特徴マップを,別経路で直接終盤層付近までスキップさせて使用することが提案された.

FCN登場以前の,AlexNetVGGNetなどのCNNバックボーンでは,序盤から終盤までの畳み込み層を通して得られた $(W , H , C)$ 次元の特徴マップを,最後にクラス識別するために終盤の全結合層で $d = W \times H \times C$ 次元ベクトルに展開する設計が標準的であった.しかしこの設計では,画像全体に対してクラス識別結果 $y $ を1つ学習するだけであり,画素毎のクラス識別が達成できない.そこで,画素毎にクラス識別結果 $y_{i,j}$ を個別に推定するCNNを,元の画像(全体)識別CNNの設計をほぼ引き継いだまま,少しの改良だけで実現したいという動機があった.

そこでFCNでは,これまでの全結合層の役割を特徴マップのグリッド単位で畳み込みフィルタに代替し,低解像度なセグメンテーションマップの各画素 $y_{i,j}$ のクラス確率を「畳み込みのみで」推定する完全畳み込み(Fully convolutional)のCNN構造が提案された.FCNで出力する特徴マップは,バックボーンCNN全結合層手前の特徴マップであり,途中のプーリング層などを経て,入力画像からだいぶ空間解像度が落ちた低解像度マップである.よって,このままだと,かなり低解像度のセグメンテーションマップでしか画素ごとのクラス識別結果が出力できない.そこで,単純に線形補間を行うことで,入力画像の空間解像度まで出力の解像度を(無理やり)戻す仕組みも,FCNで提案された.

しかし,線形補間の部分も,学習可能な層にかえて「学習可能なDecoder化」したほうが,より緻密なEncoder-Decoderを学習でき,高精度のセグメンテーションが実施できる.そこで,次の3節の SegNetやU-Netのように,Decoderにも学習可能層を配置して元の空間解像度へ戻していく手法が,提案されていく.

3. SegNetとU-Net

3.1 SegNet

SegNetの構造
図2 SegNetの構造

オックスフォード大 によるSegNetの研究 [Badrinarayanan et al., 2015]では,車載前方映像にセマンティクセグメンテーションのラベルを付与した初のデータセット「CamVidデータセット」を用意し,砂時計型Encoder-Decoder型のFCNである,Segnetを画素ごとのクラス識別ネットワークとして学習することを提案した (SegNetのプロジェクトページ) .

SegNetでは,前半のEncoderでプーリングを行うのと同じ回数だけ,後半のDecoderでアップサンプリングを行い,Encoderにより失った元の解像度を取り戻しながら特徴を,後半で再度Decodeしていく.最終的に,元画像と縦横サイズが同じ解像度のセグメンテーション出力マップ (= クラス数チャンネルの特徴マップ)を得る.また,Encoder側の各最大値プーリング層で使用したMax位置の空間インデックスを,Decoder側の解像度が同じ層同士のアップサンプリング時に使用する.これにより,プーリング時とアップサンプリング時の間で,使用空間座標(i,j)を一致させられる.

動画1: SegNet の出力動画

インスタンスセグメンテーション(実例分割) との違い

Mask R-CNNに代表される「インスタンスセグメンテーション(実例分割)」の問題設定がのちに発展したあとは,各インスタンスごとに個別にマスクで区切る意味分割が可能となった.しかし,この記事の各ネットワークでは,各物体インスタンスを区別することはできない.

動画1の,SegNetの出力結果動画を見ていただくとわかるように,SegNetでは「同一クラスであるが,他の物体インスタンスであるもの同士」は区別できていない.例えば,動画中にTreeクラスがたくさん登場するフレームを見てもらうと,奥と地上と手前のTreeクラスの塊がそれぞれ分離はできずに,1領域に統合されていることがわかる.これは,画素ごとにクラス識別しているだけだからである.

また,「建物」「車」「人」などのクラスについても,2個以上の同一クラスの物体インスタンス同士が重なっていても,各物体インスタンスごとに領域を区別することはできていない.

3.2 U-Net

U-Netの構造
図3 U-Netの構造

U-Net [Ronneberger et al., 2015]は,スキップ接続を更に多用することで,特徴マップ計算のマルチスケール処理度を高めたEncoder-Decoder ネットワークである.U-Net自身は,顕微鏡生物画像のセグメンテーションの文脈で提案された論文であったのだが,5節で述べる次の世代の技術が定着するまでは,画像のセマンティックセグメンテーション全般でよく用いられる基本ネットワーク構造となった.

ネットワーク全体を図で可視化すると,Encoder-Decoder間で上のように図示すると,左右対称的に「U」型のネットワーク構造になっていることから,U-Netと名付けられた.

SegNetと異なる点は,U-Net は学習可能な$2 \times 2$の転置畳み込みでアップサンプリングを行う点である.Encoder側の$2\times 2$ プーリングでダウンサンプリングされた特徴マップを,Decoder側の対応する空間解像度の場所に,スキップ接続でそのままコピーして受け渡し合成する.そして転置畳み込み層で,空間解像度を上げたものを,Decoder側で特徴マップの後ろ側のチャンネルに結合する.U-Netは,Decoder側の特徴マップ(もとい畳み込みカーネル)が,Encoderに比べて2倍のチャンネル数だけ必要なので,少しパラメータが多めである(そのぶんだけ,過学習に気を付ける必要は出てくる).

4. データセット代表格2つの登場

2節,3節などの初期手法が登場していた「2014〜2015年」の当時,ADASや自動運転向けの大規模ベンチマークとしてKITTI ベンチマーク(CVPR 2012)が,既に登場していた.しかし,KITTIはステレオマッチングオプティカルフロー推定物体検出などが目的のデータセットである.よって,意味分割用のラベル付けはされておらず,SegNetのようなネットワークは学習できなかった.

そこで,CityScapes データセット(4.1節)や,ADE20K データセット (4.2節)など,意味分割向けの少し規模が大きなデータセットとして登場する.

4.1 CityScapesデータセット

CityScapesデータセット [Cordts et al., 2016] が,車載前方映像の意味分割事例分割学習向けのDNN向けのデータセットとして登場した.それまではKITTIデータセットが物体検出やステレオ再構成向けには存在していたり,SegNetのCamVid データセットも少量データの物としては存在していたが,CityscapsはDNN学習規模のデータセットとして初めて登場したものである.

動画全てにラベルをアノテーションするのは辛いということもあり,一定の間隔で,限定的なフレームにのみ,30クラスのラベルがアノテーションされている.test/val用には,詳細に密に画素ごとにラベル付けされた5,000フレームの画像が提供されいる.train用には,主要クラス領域を中心に,多角形で疎なアノテーションがされた,20,000枚の画像が提供されている.

4.1.1 データ分布が異なる場合への対応策

Cityscapesデータセットは,主にドイツ各都市で撮影された映像・データで,他国の道路や風景と様子がかなり異なる.例えば,Cityscapesデータセットで学習したSegNetを,日本の車載前方映像を入力としてテストしても,画像の様子がかなり違うのであまり精度が出ない.すなわち「他国・他地域のシーン画像の違いに対応できない」という問題がある.また,国家間の車載カメラの見えの違いだけではなく,Cityscapesデータセットの主な映像は「晴天で昼間の映像」かつ「春夏の映像」である.よって,枯れ木の多い秋冬映像や悪天候の映像も無いゆえ,データの多様性の面でも偏りがあった.

そういったデータ分布の違いに対応するために,ドメイン適応を用いてCityscapesのデータ分布には無いデータに対して,モデル転移を行う研究が盛んである.一方,pix2pix系の画像対画像変換を活用して,データ転移により学習データを所望のデータ分布に変換させる研究も盛んである.加えて,これらの路線の中では,Learning by Synthesisの路線に基づき,CGやゲームグラフィックエンジンで生成した車載前方画像を学習に利用する研究も行われている.

4.2 ADE20Kデータセット

Placesデータセットのような「シーン画像認識」に興味の高いMITのTorallba先生のラボから,多様なシーン画像にセマンティックセグメンテーションのアノテーションを行った,ADE20K データセット[Zhou et al., 2017] が登場した.

ADE20Kは個々に独立して撮影された「シーン画像認識」を目的としている.前身であるシーン画像データセットの,SUNとPlacesのシーンカテゴリーを全てカバーするように,屋外屋内の各種シーンの画像が網羅されている.当然ながら,シーン毎にアノテーションされているマスクのクラスも異なり,多種多様である.Cityspacesは車載前方シーン限定であったが,ADE20Kの登場により,多種多様なシーンに対する意味分割ネットワークの研究が行いやすくなった.

5. 複数スケールのコンテキストを活用する路線

2節と3節で紹介したFCN,SegNet,U-Netは,出力層の各画素位置の特徴ベクトルは,その特徴マップ上の各グリッド位置に対応する受容野(receptive field)の視野(field of view)がそれほど広くなかった.そのせいで,広範囲の周辺コンテキスト(周辺にどのクラスが,どの位置に配置されているかの情報)が,詳しく(= 広範囲かつ複数解像度に)必要な画素では,誤識別をしがちであった.

そこで,伝統的なCNN登場より前の時代における画像認識の定番処理を思い返してみると,以下の2つが思いつく:

  1. 大きめのカーネルサイズ(あるいはストライド)の畳み込みを使用する.
  2. 画像 /特徴ピラミッドや,区間ピラミッドプーリングなどを用いて,複数スケール処理化する.

CNN意味分割では,全画素において「密で高精度のコンテキスト情報(=特徴マップ)」を得る必要がある.したがって,上記 1. 2.を両方行うにしても,なるべく効率的な処理で済ませたい.また,事前学習済のCNNバックボーンで計算した特徴量に対して「後処理でプーリングを通じて,コンテキストを集める」のも,深層学習的には好ましい設計である.

従って,1. と 2. をCNNにも採用する形で,以下の2つのコンテキスト取得方法が登場した:

  • 膨張畳み込み (※atrous convolutionは,DeepLabチーム特有の呼び方):受容野を効果的に広げる畳み込み層.広範囲の周辺コンテキストを得るのが目的.
  • 空間ピラミッドプーリング:CNNバックボーンで得た特徴マップに,複数スケールの特徴をそれぞれプーリングした結果を追加する.複数スケールのコンテキストを特徴マップに加えるのが目的.

これら2つの技術の追加が始まることにより,広範囲・複数スケールのコンテキストを知っておく必要なシーン画像でも,高精度のセマンティックセグメンテーションが可能になり始めた.

以降5節では,それら2つの工夫を導入した代表的手法の DeepLab (5.1節)と,PSPnet (5.2節) を紹介する.

5.1 DeepLab v1とv2:膨張畳み込みによる効率的コンテキスト収集

子記事:DeepLab シリーズ (v1 ~ v3) (2節が v1 と v2 について)

GoogleのLiang-Chieh Chenらのグループは,畳み込み層として 膨張畳み込み [6] を用いたセグメンテーションネットワークの DeepLab v1 [Chen et al., 2015] を提案した.膨張畳み込みは,通常の畳み込み層よりも走査する画素範囲を膨張させて「疎に広く」畳み込むことができる.従って,効率的に少数回で広範囲の情報を畳み込んでいくことで,少ない層数のCNNでも,各出力座標からみた「広範囲の周辺コンテキスト」を特徴マップへと収集することができる.

同著者らは次に,DeepLab v2 [Chen et al., 2017] をジャーナル版として提案した.多重解像度プーリングである空間ピラミッドプーリング [Lazebnik et al., 2006] [He et al., 2014] にインスパイアされる形で,膨張空間ピラミッドプーリング(Atrous Spatial Pyramid Pooling,ASPP)を,密に多重解像度に効率良くプーリングできるモジュールとして追加した.

DeepLabシリーズは 最初の v1の時点では,まだEnd-to-End学習ではなかった.Decorder終了後の出力はノイズ混じりなので,後半に旧式のセグメンテーション手段で用いられていた「CRF(Conditional Random Field)を用いたRefinement」を後処理で行い,精度をよくする構成である.

しかしCRFとの併用というアイデアは,この研究あたりが最後であり,後続の研究ではCRFを用いないのが普通となった.

5.2 PSPNet:Spatial Pyramid Pooling による複数スケールの豊富なコンテキストの取得

PSPNetの構造
図 PSPNet の構造

PSPNet (Pyramid Scene Parsing Network) [Zhao et al., 2017] (PSPnetのプロジェクトページ)は,SenseTimeの研究者とそのメインの母体であるCHUKの教員達による研究である.ISLVRC2016の意味分割コンペティションでの優勝論文である.元は物体認識や物体検出向けに提案されていた空間ピラミッドプーリングを応用することで,複数スケールの豊富なコンテキストも考慮した特徴マップを作成できるようにした.これにより,広範囲コンテキストのおかげで誤識別しづらい高精度のネットワークを学習可能になった.

PSPNet はCNNが出力した特徴マップに対して,後処理としてグリッド範囲の広さ別に平均プーリング(average pooling)を4回おこなう(空間)ピラミッドプーリングモジュールを用いて,グリッド領域サイズ別にプーリングされた特徴マップを,合計4チャンネル作成する ([2 × 2], [4 × 4], [8 × 8 ], 特徴マップ全グリッドの4つ).そして,この4チャンネルの特徴マップを,元のCNN特徴マップの後ろへと結合した特徴マップを,最終的な画素識別の特徴として用いる.この仕組みにより,複数スケールのコンテキスト特徴(もとい,4解像度のグローバル平均プーリング済み特徴マップ群)も考慮して,学習することができるようになった.

グローバル平均プーリングにより画像全体のコンテキストを利用する先行研究としては,ParseNet
[Liu et al., 2015] が既に登場していた.それと比較した際のPSPNetの貢献は,画像識別向けの空間ピラミッドプーリング [He et al., 2014] のように,Pyramidを用いて階層的プーリングする仕組みを,セマンティックセグメンテーション向けに始めて提案して効果を確認した点にある.

PSPNet の論文では,PASCAL VOC2012, ADE20K, Cityscapesの3つのデータセットを用いた実験を行っている.周辺コンテキスト情報不足によりFCNでは誤識別してしまうクラス領域でも,PSPNetだと正しく識別出来ることを実験結果により示した.ただし,ResNetバックボーンでの処理後にピラミッドプーリングまで行うので,計算コストは高く,リアルタイム処理には向かない.

6. DeepLab v3, v3+:デファクトスタンダード手法の登場

子記事:DeepLab シリーズ (v1 ~ v) (3節が v3 と v3+ について)

6.1 DeepLab v3

DeepLabチームは,v1 v2を更に改善したDeepLab v3 を提案した[Chen et al., 2017b].PSPNetのような広範囲のGlobalコンテキストも活用する手法にならって,DeepLab v3ではASPP (DeepLab v2で提案) を改良した改良型ASPPブロックが提案された.このブロックにより,ParseNet [Liu et al., 2015] ,PSPNet のように,「複数スケールのピラミッド空間コンテキスト」を考慮した特徴マップを最終的に出力できるようになり,識別性能が向上した.

また,DeepLab v3 では,v1, v2で行っていた「CRFによる後処理」を完全に廃止した.更に,v2ではマルチスケールの3画像でそれぞれ個別に処理を行う「画像のマルチスケール処理」であったのを,CNNバックボーンの特徴マップに対して後からマルチグリッドスケール処理を行う「特徴のマルチスケール処理」に変更したことで,計算効率化を達成した.

6.2 DeepLab v3+

また物体境界部分の精度改善を目的として,以下に挙げる改善を行った DeepLab v3+ [Chen et al., 2018]が,提案された :

  • v3 のデコーダでは, 膨張畳み込みが stride=16であったのを,層数を減らして代わりにアップサンプリング層へと変更した.これにより,シンプルな処理に変更しつつも,変更前と同等の受容野の広さを確保できている.
  • depthwiseにatrous convolution (膨張畳み込み)を行う atrous separable convolutionを導入し,更に計算コストを削減した.
  • バックボーンをResNetからXception に変更し,その畳み込み層もatrous separable convolutionに変更した.

これ以降,このDeepLab v3+が,PSPNetとともに,(2019年後半あたりまで)セマンティックセグメンテーション向けの第一の選択肢となった.

7. まとめ

深層学習時代に解きやすくなった問題とも言える「画像のセマンティックセグメンテーション」の代表的な研究をたどり,その主要な工夫を紹介した.

セマンティックセグメンテーションでは,出力層の1画素ごとに,識別性の高い特徴ベクトルを畳み込みこんでおく必要がある.よって,各画素周辺の広範囲の周辺コンテキストやシーン全体のコンテキストを知っておく層やネットワークになっているほど,誤識別が減る.その目的達成のためには,「広範囲の周辺コンテキスト特徴を,多重解像度で集約する仕組み」を構築することが,基本的な方針となる.

そこで,初期にはFCNや,その発展であるU-Net, SegNet において,基盤構造となる「スキップ接続付き,砂時計型の画像Encoder-Decoderモデル」がまず提案された.次に,PSPNet や DeepLabでは,複数スケールかつ広範囲のコンテキストを集約する工夫として,膨張畳み込みや,空間ピラミッドプーリングなどが提案された.

7.1 「過学習」になりそうな工夫の怖さについて

この記事のようなセマンティックセグメンテーションの入門解説を読んだだけだと,5章などを通して『コンテキストを詳細に多重解像度的に学習することは良いことだ』という安直な結論に陥ってしまいがちである.しかし,各画素で周辺コンテキストをつぶさに取り込むことが必ずしも良い結果をもたらす訳ではない.なぜなら,コンテキスト情報を積極的に取り込むということは,同時に「データのバイアス(特にラベル頻度の偏り)」も積極的に取り込んでしまい,過学習につながってしまう時もある「悪い面」も併せ持っているからである(著者の以前からの考え).

5章の頃以降の(すなわち2017年ごろ以降)コンピュータビジョン業界では,そうした「データセットバイアス」に対抗するための研究は盛んとなっていった.しかし,5章の手法が提案された当時は,まだ試し試し色々な手法をとりあえず提案しているセマンティックセグメンテーション問題の初期段階であった.従って,セマンティックセグメンテーションのみならず,CNNの研究全体でも「広範囲・多重解像度にコンテキストを獲得する技術の影響により起こうる過学習の危険性も,きちんと考慮して対策していこう」という段階には達していなかった事に注意が必要である.

例えば,膨張畳み込みをその畳み込み画素位置まで可変にした変形可能畳み込みが,その後使用されるようになった.これも,各画像ベンチマークテストでは精度を向上させているものの,カーネルが学習した畳み込み画素位置が,クラスごとに可適合してしまい,CNNの汎化性能を下げてしまっていそうな側面もあると(その原理から)個人的に憶測している.

関連書籍

References

  • [Badrinarayanan et al., 2015] V. Badrinarayanan, A. Kendall, and R. Cipolla. Segnet: A deep convolutional encoder-decoder architecture for image segmentation. arXiv:1511.00561, 2015.
  • [Long et al., 2015] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015.
  • [Ronneberger et al., 2015] O. Ronneberger, P. Fischer, and T. Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation, pages 234–241. Springer International Publishing, Cham, 2015
  • [Cordts et al., 2016] M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele. The Cityscapes Dataset for Semantic Urban Scene Understanding. In CVPR, 2016.
  • [Zhou et al., 2017] B. Zhou, H. Zhao, X. Puig, S. Fidler, A. Barriuso, and A. Torralba. Scene parsing through ADE20K dataset. In, CVPR (2017)
  • [Yu et al., 2015] Yu, Fisher, and Vladlen Koltun. “Multi-Scale Context Aggregation by Dilated Convolutions.” arXiv 2015.
  • [Chen et al., 2015] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Semantic image segmentation with deep convolutional nets and fully connected crfs. In ICLR, 2015.
  • [Chen et al., 2017a] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. TPAMI, 2017.
  • [Chen et al., 2017b] Liang-Chieh Chen, George Papandreou, Florian Schroff, and Hartwig Adam. Rethinking atrous convolution for semantic image segmentation. arXiv:1706.05587, 2017.
  • [Chen et al., 2018] Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, and Hartwig Adam. Encoder-decoder with atrous separable convolution for semantic image segmentation. In ECCV, 2018.
  • [He et al., 2014] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV, 2014.
  • [Lazebnik et al., 2006] S. Lazebnik, C. Schmid, and J. Ponce. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories. In CVPR, 2006.
  • [Liu et al., 2015] W. Liu, A. Rabinovich, and A. C. Berg. Parsenet: Looking wider to see better. arXiv:1506.04579, 2015.
  • [Zhao et al., 2017] Zhao, H., Shi, J., Qi, X., Wang, X., Jia, J.: Pyramid scene parsing network. In CVPR, (2017)

外部参照リンク