セマンティックセグメンテーション
これだけは知っておきたい3つのこと
セマンティックセグメンテーション(语义分割)は画像内の全画素にラベルやカテゴリを関連付けるディープラーニング(深度学习)のアルゴリズムです。特徴的なカテゴリを形成する画素の集まりを認識するために使用されます。たとえば,自動運転車は車両,歩行者,交通標識,歩道,その他の道路の特徴を識別する必要があります。
セマンティックセグメンテーションは,自動運転,医療用画像処理、工業用検査など幅広い用途で使用されています。
セマンティックセグメンテーションの簡単な例では,画像を2つのクラスに分けます。たとえば,図1の浜辺に佇む人物の画像では,画像内の画素は人物と背景という2つのクラスに分割されています。
セマンティックセグメンテーションは2つのカテゴリに限らず,画像の内容を分類するカテゴリの数を変更することもできます。たとえば,同じ画像でも,人物,空、海、背景の4つのクラスに分割することができます。
セマンティックセグメンテーションと物体検出の违いとは?
セマンティックセグメンテーションは,対象物の画像内を画素レベルで複数の領域に分けることができる点で,物体検出よりも便利と言えます。境界ボックス内に対象物が収まらなければならない物体検出(図2)とは対照的に,セマンティックセグメンテーションは不規則な形状の対象物を明瞭に検出することができます。
セマンティックセグメンテーションの応用
セマンティックセグメンテーションは,画像内の画素にラベルを付けるため,他の物体検出の方法に比べて高精度であることが特徴です。この精度の高さにより,セマンティックセグメンテーションは,高精度な画像マッピングを必要とするさまざまな業界で幅広く使用されています。
- 自動運転:歩行者,歩道,ポール,他の車両などの障害物から道路を分離することで,自動車が走行可能な経路を識別
- 工業用検査:ウエハ検査などで材料の欠陥を検出
- 衛星画像:山脈,河川,砂漠,その他の地形を識別
- 医疗用画像处理:細胞内のがん性異常の解析と検出
- ロボティックビジョン:物体や地形の識別とナビゲーション
例:自動運転アプリケーション
図4のシーケンスは,自動運転に使用されるセマンティックセグメンテーションの実例です。道路の画像は,他の車両から自動的に分離されています。次のセクションでは,ネットワークが構築される仕組みを示します。
アーキテクチャの理解
セマンティックセグメンテーションにおいて一般的なアプローチのひとつは,畳み込みニューラルネットワーク(CNN)アーキテクチャをベースとしたSegNetを构筑する手法です。一般的なCNNアーキテクチャを図5に示します。
このCNNは画像全体をいずれかの事前定義されたカテゴリに分類します。
画像全体ではなく画素レベルで分类するには,CNNの逆実装を追加します。最终画像が入力画像と同じサイズになるように,アップサンプリングプロセスは,ダウンサンプリングプロセスと同じ回数実行されます。最后に,画素分类出力层を使用して,各画素が特定のクラスにマッピングされますこれにより,エンコーダー - デコーダー构造が构筑され,セマンティックセグメンテーションが可能になります。
ステップ1:データにラベルを付けるか,ラベル付きのデータを取得する
ディープラーニングのモデルは大量のデータに基づいて構築されますが,セマンティックセグメンテーションも例外ではありません。インターネットでラベル付きのデータを見つけることもできます。独自のデータセットがある場合,MATLABではイメージラベラーアプリを使用してラベル付けします。このデータセットを使用してSegNetを学習させることができます。
関連情報
ステップ2:元画像とラベル付き画像のデータストアを作成する
大量のデータを取り扱うとき,すべての情報をメモリに読み込むことができない場合が多々あります。大容量のデータセットを管理するために,データストアを使用できます。データストアには,アクセスするファイルの保存場所の情報が格納され,ファイルを処理する必要があるときにのみメモリに読み込むことができます。
SegNetを構築するには2つのデータストアが必要です。
- ImageDatastore,元画像を格納
- PixelLabelDatastore,ラベル付き画像を格納
ステップ3:データストアを分割する
SegNetを構築するとき,データストアを2つの部分に分割する必要があります。
- トレーニングセット:SegNetの学習に使用
- テストセット:ネットワークの精度評価に使用
ステップ4:CNNをインポートしてSegNet用に変更します。
VGG16などの事前学習済みネットワークを読み込み,SegNetLayersコマンドを使用して,ピクセルレベルのラベル付けに必要なエンコーダーデコーダーアーキテクチャを作成します。
ステップ5:ネットワークを学習させ評価する
最終ステップで,ネットワークのハイパーパラメーターを設定し,ネットワークを学習させます。
セマンティックセグメンテーションについて详しく知る
ビデオ
- セマンティックセグメンテーションの概要(七点56分)
- ビデオを见る:ディープラーニングの解明(47:09)——Webセミナー
- ディープラーニングを用いた脳腫瘍の3次元画像画像セグメンテーション(14)
製品使用例および使い方
ソフトウェアリファレンス
- セマンティックセグメンテーションの基本——ドキュメンテーション
- 畳み込みニューラルネットワーク——ドキュメンテーション
- イメージラベラーアプリ——ドキュメンテーション