セマンティックセグメンテーション
これだけは知っておきたい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:ネットワークを学习させ评価する
最终ステップで,ネットワークのハイパーパラメーターを设定し,ネットワークを学习させます。
セマンティックセグメンテーションについて詳しく知る
ビデオ
- セマンティックセグメンテーションの概要(造成车厢)
- ビデオを見る:ディープラーニングの解明(47:09)- 网络セミナー
- ディープラーニングを用いた脳肿疡の3次元画像画像セグメンテーション(3:14)
制品使用例および使い方
ソフトウェアリファレンス
- セマンティックセグメンテーションの基本- ドキュメンテーション
- 畳み込みニューラルネットワーク- ドキュメンテーション
- イメージラベラーアプリ- ドキュメンテーション