ae-5. 物体検出,セグメンテーション

748 Views

January 29, 23

スライド概要

ディープラーニング(スライドとプログラム例,Python を使用)(全15回)
トピックス:画像理解, 物体検出, セグメンテーション, セグメンテーションの仕組み, セグメンテーションの種類, ディープラーニング, 人工知能

https://www.kkaneko.jp/ai/ae/index.html

金子邦彦研究室ホームページ
https://www.kkaneko.jp/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

5. 物体検出, セグメンテーション (ディープラーニング,Python を使用) (全15回) https://www.kkaneko.jp/cc/ae/index.html 金子邦彦 1

2.

機械学習 • 学習による上達の能力 • 訓練データを使用して,学習を行う 2

3.

コンピュータによる画像理解 • コンピュータが画像を理解する 画像が何であるか,物体がどこに,どういう大きさ, 形で,いくつあるか,をコンピュータが説明できる 能力を持つ 3

4.

コンピュータによる画像理解 • 一般的な画像(実験室で撮影などの制約が無い) • さまざまな応用:スマホ,デジカメ,自動車,ロ ボット • さまざまな種類:画像分類,物体検出,セグメン テーション,超解像,3次元化など 4

5.

画像理解の主な種類 ① 画像分類 「何があるか」を理解 person bicycle person ② 物体検出 場所と大きさも理解 ③ セグメンテーション 画素単位で領域を理解 bicycle 5

6.

物体検出 バウンディングボックス, ラベルと確率 バウンディングボックス:物体を囲むボックス(四角形) 6

7.

セグメンテーション 物体の形を画素単位で抜き出し ラベルを得ることもできる 7

8.

畳み込みニューラルネットワーク(CNN) 畳み込みニューラルネットワークは,畳み込み 層と,プーリング層を交互に繰り返すディープ ニューラルネットワーク 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 畳 み 込 み 層 プ ー リ ン グ 層 さまざまなバリエーション • 畳み込み層 • プーリング層 変になる ・・・ ・・・ 畳み込みによるパターンの識別 画像の小移動に対して,出力が不 8

9.

アウトライン 番号 項目 5-1 5-2 ディープラーニングによる物体検出の仕組み ディープラーニングによるセグメンテーション の仕組み 5-3 物体検出の演習 5-4 セグメンテーションの演習 各自、資料を読み返したり、課題に取り組んだりも行う 9

10.

5-1. ディープラーニングによる 物体検出の仕組み 10

11.

物体検出とバウンディングボックス car person bicycle バウンディングボックスは, 物体を囲む最小の四角形 11

12.

物体検出の仕組み ① 元画像から 切り出す 最初の区切り 画像分類 結果 12

13.

物体検出の仕組み ② 画像分類 結果 区切りごとに画像分類を行う. 13

14.

「区切り」を用いた物体検出での課題と解決 課題:物体の大きさがさまざま 解決へのアプローチ さまざまなスケールの画像を作る(マルチスケール) どこかのスケールでは,物体は「所定の大きさ」に近くなる ⇒ 区切りの大きさは同じにして,マルチスケールの画像を扱う これで,さまざまな大きさの物体を扱う 14

15.

ディープラーニングによる物体検出の仕組み 特徴マップ:画像の中の特定のパターンがどこにあるかなど示したマップ マルチスケール化, 各スケールの特徴 マップを上位に 特徴マップ 画像を区切る処理, 反映させるなど (backbone) 画像分類など (neck) 特 徴 マ ッ プ 物 体 検 出 の 結 果 特 徴 マ ッ プ 特 徴 マ ッ プ 元画像 マルチスケール の特徴マップ 改善された 特徴マップ 画像の区切り, 分類結果 全体で多層のニューラルネットワーク 15

16.

まとめ car マルチスケール の特徴マップ 改善された 特徴マップ person 画像の 区切り, 分類結果 元画像 bicycle • 区切りごとに画像分類を行う • 現在は,さまざまな改良版が提案されている 16

17.

R-CNN の Selective Search(2014年発表の物体検出 手法) 1. 入力画像 2. 領域の候補 3. 畳み込みニューラル ネットワークでの処理 4. 領域について,画像 分類の結果を得る 単純に画像を区切る ⇒ 課題:あらゆる可能性を試すので,区切りの数が多すぎる ⇒ 解決策:領域の候補(さまざまな場所,大きさ)を 自動で得る.領域の候補の数は,数千以下に絞る. Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik, Rich feature hierarchies for accurate object detection and semantic segmentation, arXiv:1311.2524, 2014. 17

18.

5-2. ディープラーニングによる セグメンテーション 18

19.

画像分類とセマンティック・セグメンテーション 画素 person bicycle 画像を分類 person 画素単位で分類 画像分類 全画素を分類 セマンティック セグメンテーション 19

20.

FCN (2015年発表) • 画素ごとに分類結果の正解を与えての学習を可能にする技術 • 最終層を畳み込み層にする = FCN と呼ぶ 最終層は FCN 最終層は 全結合層 元画像 結果 元画像 畳み込みニューラルネット ワークによる画像分類 結果 畳み込みニューラルネットワー クと FCN によるセマンティッ ク・セグメンテーション Jonathan Long, Evan Shelhamer, Trevor Darrell, Fully Convolutional Networks for Semantic Segmentation, arXiv:1411.4038, 2015. 20

21.

FCN (2015年発表)まとめ • 画像分類を行う畳み込みニューラルワーク(出力は分類結 果)で,最終層を FCN に置き換え • セマンティック・セグメンテーションに応用 Jonathan Long, Evan Shelhamer, Trevor Darrell, Fully Convolutional Networks for Semantic Segmentation, arXiv:1411.4038, 2015. 21

22.

U-Net(2015年発表)によるセマンティック・セグ メンテーション 細胞のモノクロ画像のセグメンテーション 22

23.

U-Net (2015年発表) の仕組み セマンティック・セグメンテーションの結果を鮮明にするための Skip connection の導入.画像縮小の際に輪郭情報が失われるという問題を解決. サイズを拡大しながら マルチスケール 結果を得る の特徴マップ 元画像 特 徴 マ ッ プ サ イ ズ 縮 小 途 中 結 果 Skip connection 両方を入力と して使用 特 徴 マ ッ プ サ イ ズ 縮 小 Skip connection 両方を入力と して使用 特 徴 マ ッ プ 途 中 結 果 途 中 結 果 最 終 結 果 サ イ ズ 拡 大 サ イ ズ 拡 大 全体で多層のニューラルネットワーク Olaf Ronneberger, Philipp Fischer, Thomas Brox, U-Net: Convolutional Networks for Biomedical Image Segmentation, arXiv:1505.04597, 2015. 23

24.

U-Net (2015年発表) の仕組み 元論文では次のように図解. 畳み込みニューラルネットワークであることが確認できる. Olaf Ronneberger, Philipp Fischer, Thomas Brox, U-Net: Convolutional Networks for Biomedical Image Segmentation, arXiv:1505.04597, 2015. 24

25.

まとめ • ニューラルネットワークの層の種類 • 畳み込み層 • プーリング層 • 全結合層 • 物体検出、セグメンテーションを可能にする追加 の技術 • • • • マルチスケール 特徴マップ、特徴マップを用いた画像の区切り FCN (最終層を畳み込み層にする) Skip connection 25

26.

セグメンテーションの種類 元画像 パノプティック・セグメンテーション • • • • インスタンス・セグメンテーション セマンティック・セグメンテーション OneFormer のデモサイトを使用 URL: https://huggingface.co/spaces/shi-labs/OneFormer 訓練データは COCO バックボーンは DiNAT-L を使用 26

27.

セグメンテーションの種類 セマンティック・セグメンテーション 全画素を種類に分類 インスタンス・セグメンテーション 個別の物体を識別する 「物体として識別できない部分は結果がない」 ということもある パノプティック・セグメンテーション セマンティック・セグメンテーションと インスタンス・セグメンテーションの同時実行 27

28.

5-3. 物体検出の演習 28

29.

① 物体検出を動かしてみる 1. 使用するページ: https://colab.research.google.com/github/tensorflow/ hub/blob/master/examples/colab/object_detection.ip ynb 2. 必要な事前知識 • 物体検出が行うこと:物体のバウンディングボッ クス、ラベル、確率を得る • 事前学習済みのモデルを使用 3. 各自で実行すること 実際に実行し、物体検出を試す. スピード、精度も確認 29

30.

① 物体検出を動かしてみる 30

31.

5-4. セグメンテーションの演習 31

32.

Google Colaboratory の使い方概要 ① 実行 コードセル Google Colaboratory ノートブック コードセルの再実行や変更には, Google アカウントでのログインが必要 32

33.

Google Colaboratory の使い方概要 ② 実行 コードセル テキストセル 実行 コードセル • WEBブラウザでアクセス • コードセルは Python プログラム. 各自の Google アカウント でログインすれば, 変更,再実行可能 一番上のコードセルから順々に実行 33

34.

② セマンティック・セグメンテーション 1. 使用するページ: https://colab.research.google.com/drive/1NKmQfbD G0XCR0bO6vcFP304gy4iqeD7L?usp=sharing 2. 必要な事前知識 • セマンティック・セグメンテーション用のモデル がさまざまあること • 事前学習済みのモデルを使用 3. 各自で実行すること ページを読み、確認する (実行したい人は実行できるようにしている) 34

36.

③ パノプティック・セグメンテーション 1. 使用するページ: https://colab.research.google.com/drive/1xWaQuJt50Lq Ywyw9ohsYERZ_Ix1gy1rN?usp=sharing#scrollTo=az0N ragleQUI 2. 必要な事前知識 • パノプティック・セグメンテーションは,セマン ティック・セグメンテーションとインスタンス・セグ メンテーションをあわせもつ • 事前学習済みのモデルを使用 3. 各自で実行すること ページを読み、確認する (実行したい人は実行できるようにしている) 36

37.

注目:物体と物体の切れ目が判別できている (セマンティック・セグメンテーションでは、このようにはならない) 37