SlideShare a Scribd company logo
1 of 87
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
機械学習における物体検出概論
1
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
はじめに
2
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
本講座の狙い
• 概要
– 衛星データ×機械学習のデータ分析講座
– 今回のテーマは「物体検出」
– 船舶の検出を事例に、衛星データ×機械学習の活用事
例とその具体的なやり方をご紹介
– 物体検出に関する基本的な知識を獲得し、衛星デー
タを活用する為の素地を作ることがゴール
3
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
• お題
– ASNARO-1から得られた衛星データを活用し、水域における船舶の位置を識別
高分解能光学衛星データを用いた水域における船舶検出
対象地域 :お台場・川崎・横須賀・大阪・神戸・福岡
画像数 :(検証用)68画像、(評価用)105画像
分解能 :1pxあたり50cm
予測カテゴリ:動いている船舶、動いていない船舶、バージ(艀)をまとめた船舶(ship)
4
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
目次
1. 物体検出ってなに?
2. 物体検出アルゴリズムを学ぼう
3. 物体検出の評価方法を知ろう
5
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
6
1. 物体検出ってなに?
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
画像認識の一般的なタスク
7
▼画像分類 ▼物体検出 ▼画像セグメンテーション
画像に
何が写っているか?
画像に“どこに”
何が写っているか?
画像にどこに
何が写っていて”その領域”
はどこまでがそうか?
【引用】http://jamie.shotton.org/work/research.html
【引用】https://pjreddie.com/darknet/yolo/【引用】http://cs231n.github.io/classification
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出(Object Detection)
8
• 物体の場所とその物体名を推定する
• 教師データ:矩形(4点座標)とラベル
• 例)Pascal Vocデータ
★画像データとアノテーションデータがセットで与えられる
Bounding Boxといいます
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出(Object Detection)
9
• 物体の場所とその物体名を推定する
• 教師データ:矩形(4点座標)とラベル
• 例)Pascal Vocデータ
<object>
<name>person</name>
<pose>Frontal</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>183</xmin>
<ymin>70</ymin>
<xmax>330</xmax>
<ymax>253</ymax>
</bndbox>
</object>
<object>
<name>motorbike</name>
<pose>Frontal</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>185</xmin>
<ymin>110</ymin>
<xmax>336</xmax>
<ymax>251</ymax>
</bndbox>
</object>
物体名
物体名
矩形
座標
矩形
座標
★画像データとアノテーションデータがセットで与えられる
アノテーションデータ
Bounding Boxといいます
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出の流れのキホン
10
STEP 1 STEP 2
検出対象となる物体が画像中
のどこにありそうか探索する
検出した物体が具体的に何で
あるかを画像分類する
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出の流れのキホン
11
STEP 1
検出対象となる物体が画像中
のどこにありそうか探索する
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出の流れのキホン
12
STEP 2
検出した物体が具体的に何
であるかを画像分類する
分類器
person
cat
pig
分類結果の出力
bike
car
train
分類結果の出力
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
13
2. 物体検出アルゴリズムを学ぼう
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出アルゴリズム
• 多くのアルゴリズムが提案されている
14[引用] https://github.com/hoya012/deep_learning_object_detection
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出アルゴリズム
• 多くのアルゴリズムが提案されている
15[引用] https://github.com/hoya012/deep_learning_object_detection
HOG+SVM
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
これから紹介する手法
16
分析者による特徴量生成(Hand-craft)
HOG特徴量+SVM
CNN導入の始まり(two-stage)
R-CNN, Fast R-CNN, Faster R-CNN
One-shotによる高速物体検出(one-stage)
YOLO, SSD
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
これから紹介する手法
17
分析者による特徴量生成(Hand-craft)
HOG特徴量+SVM
CNN導入の始まり(two-stage)
R-CNN, Fast R-CNN, Faster R-CNN
One-shotによる高速物体検出(one-stage)
YOLO, SSD
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
18
• 2005年に提案された当時のstate-of-the-art
領域候補 特徴抽出 画像分類 出力調整
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
19
• Sliding Window等で物体候補を算出
領域候補 特徴抽出 画像分類 出力調整
Input
Sliding window
窓を左から右へスライド
画像を全探索する
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
20
• Sliding Window等で物体候補を算出
領域候補 特徴抽出 画像分類 出力調整
Input
Sliding window
窓を左から右へスライド
画像を全探索する
BING
(Binarized Normed Gradients)
検出した多すぎる窓の中から
物体っぽいもののみに絞る
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
21
• 候補となった画像を切り出し、HOG特徴量を算出
領域候補 特徴抽出 画像分類 出力調整
検出した窓毎にHOG特徴量を抽出
HOG
(Histgram of Oriented Gradient)
輝度勾配を用いた特徴量
物体の大まかな形状を表現す
ることが可能
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
22
• 候補となった画像を切り出し、HOG特徴量を算出
領域候補 特徴抽出 画像分類 出力調整
検出した窓毎にHOG特徴量を抽出
HOG
(Histgram of Oriented Gradient)
輝度勾配を用いた特徴量
物体の大まかな形状を表現す
ることが可能
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
23
• HOG特徴量をinputとし、SVMで画像を分類
領域候補 特徴抽出 画像分類 出力調整
各窓毎に
SVMで分類
人
人
人
でない
人
でない
input output
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
24
• NMSで、よりスコアの高いbboxに絞り込む
領域候補 特徴抽出 画像分類 出力調整
同じオブジェクトに複数のbboxが付与
重なりが閾値以上だったものが対象となる
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
1つの窓に絞る
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
HOG+SVM
25
• NMSで、よりスコアの高いbboxに絞り込む
領域候補 特徴抽出 画像分類 出力調整
同じオブジェクトに複数のbboxが付与 Non-Maximal Suppressionにて抑制
0.95
0.89
0.95
分類器による
判定スコア
重なりが閾値以上だったものが対象となる
[引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
これから紹介する手法
26
分析者による特徴量生成(Hand-craft)
HOG特徴量+SVM
CNN導入の始まり(two-stage)
R-CNN, Fast R-CNN, Faster R-CNN
One-shotによる高速物体検出(one-stage)
YOLO, SSD
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
R-CNNシリーズ
27
HOG R-CNN
Fast
R-CNN
Faster
R-CNN
領域候補 Sliding Window
Selective
Search
Selective
Search
Region Proposal
Network
特徴抽出 HOG CNN CNN CNN
画像分類 SVM SVM モデルに内包 モデルに内包
その他 - bboxの補正
bboxの補正も
モデルに内包
bboxの補正も
モデルに内包
要約
画像分類にCNN導入
遅い…
CNNの使い方を改良
結構早くなる
領域候補もDLで!
更に早くなる
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
R-CNN(Regions with CNN features)
28
• 物体検出にCNNを持ち込んだ先駆け
HOG R-CNN
領域候補
Sliding
Window
Selective
Search
特徴抽出 HOG CNN
画像分類 SVM SVM
その他 - bboxの補正
表 HOGとの主な違い
[引用] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object
detection and semantic segmentation. In CVPR, 2014.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
R-CNN(Regions with CNN features)
29
• 物体検出にCNNを持ち込んだ先駆け
HOG R-CNN
領域候補
Sliding
Window
Selective
Search
特徴抽出 HOG CNN
画像分類 SVM SVM
その他 - bboxの補正
表 HOGとの主な違い
アルゴリズムの流れ
1.領域候補をSelective Searchで検出
2.検出した画像をリサイズし、CNNで特徴抽出
3.CNN特徴を入力とし、SVMで分類
4.bboxを回帰モデルで補正
[引用] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic
segmentation. In CVPR, 2014.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
30
R-CNN(Regions with CNN features)
• Selective Searchにより領域候補の削減
– 段階的に類似画素を結合し、物体っぽいものを検出
– 総当たりで抽出するSliding Windowより検出候補を絞れる
• R-CNNでは検出画像毎にCNNの計算をする為、検出窓が多い=計算時間が増大
[引用] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
31
R-CNN(Regions with CNN features)
• Selective Searchにより領域候補の削減
– 段階的に類似画素を結合し、物体っぽいものを検出
– 総当たりで抽出するSliding Windowより検出候補を絞れる
• R-CNNでは検出画像毎にCNNの計算をする為、検出窓が多い=計算時間が増大
[引用] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013.
段々領域が多くなっている
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
転移学習
32
• 別の領域で学んだ知見を他の領域で使いまわすこと
– DL文脈:学習済みモデルを有効活用しよう!
• 限られた教師データで精度が高いモデルを作る試み
よく使われる学習済みモデル
- VGGNet
- ResNet
※ImageNetと呼ばれるデータセットで学習
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
転移学習/特徴量抽出器
33
• 別の領域で学んだ知見を他の領域で使いまわすこと
– DL文脈:学習済みモデルを有効活用しよう!
• 限られた教師データで精度が高いモデルを作る試み
e.g) 学習済みVGGNet
ここでcutする
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
転移学習/特徴量抽出器
34
• 別の領域で学んだ知見を他の領域で使いまわすこと
– DL文脈:学習済みモデルを有効活用しよう!
• 限られた教師データで精度が高いモデルを作る試み
e.g) 学習済みVGGNet
ここでcutする
特
徴
ベ
ク
ト
ル
識別器
(SVM等)
パラメータはfreeze(固定させる)
=学習で得られた特徴量の抽出方法を流用
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
転移学習/Fine Tuning
35
• 別の領域で学んだ知見を他の領域で使いまわすこと
– DL文脈:学習済みモデルを有効活用しよう!
• 限られた教師データで精度が高いモデルを作る試み
e.g) 学習済みVGGNet
全
結
合
全
結
合
全
結
合
出
力
新しいデータで学習し直す
ここでcutする
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
R-CNNの欠点
36
▼遅い。。。
CNN検出窓
…
…
検出した画像毎にCNNを使って特徴量抽出を行うが、
CNNの計算コストが高い為、検出窓数に伴い計算量が増大
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
R-CNNの欠点
37
▼遅い。。。 ▼学習が複雑
それぞれ別々のアルゴリズムの為、別々に学習する必要がある
特徴量抽出の為にCNNを学習
※実際には学習済みモデルをFine Tuning
画像分類用にSVMを学習
bbox補正用にLinear Regressionを学習
CNN検出窓
…
…
検出した画像毎にCNNを使って特徴量抽出を行うが、
CNNの計算コストが高い為、検出窓数に伴い計算量が増大
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNN
38
R-CNN
Fast
R-CNN
領域候補
Selective
Search
Selective
Search
特徴抽出 CNN CNN
画像分類 SVM
モデルに
内包
その他 bboxの補正
bboxの補正
も、モデル
に内包
• R-CNNの改良版。213倍の識別速度に
表 R-CNNとの主な違い
[引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNN
39
R-CNN
Fast
R-CNN
領域候補
Selective
Search
Selective
Search
特徴抽出 CNN CNN
画像分類 SVM
モデルに
内包
その他 bboxの補正
bboxの補正
も、モデル
に内包
• R-CNNの改良版。213倍の識別速度に
表 R-CNNとの主な違い
[引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
アルゴリズムの流れ
1.画像を入力としてCNNを使い、feature mapを生成
2.Selective Searchの結果をfeature mapに射影
3.各領域候補からRoI poolingとFC層を用い特徴量を抽出
4.特徴量を元に分類結果とbboxの位置を同時に予測
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNは何故R-CNNより高速?
40
▼R-CNN
CNN検出窓
…
…
検出した画像毎にCNNを使って特徴量抽出を行うが、
CNNの計算コストが高い為、検出窓数に伴い計算量が増大
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNは何故R-CNNより高速?
41
▼R-CNN
CNN検出窓
…
…
検出した画像毎にCNNを使って特徴量抽出を行うが、
CNNの計算コストが高い為、検出窓数に伴い計算量が増大
▼Fast R-CNN
CNN
feature mapに
領域候補を写像
Rol pooling
+ FC
Rol pooling
+ FC
先に入力画像に対し、CNNでfeature mapを作る。
これにより、複数の領域候補があってもCNNの計算は1回で済む
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNの特徴①
42
• RoI(Region of Interest) pooling
– 領域候補の写像のままだと、窓のサイズが可変であり不都合
– 領域候補をN×Nに分割し、位置を保存したまま固定長の出力を得る
Feature map(10×15)
領域候補
24次元
48次元
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNの特徴①
43
• RoI(Region of Interest) pooling
– 領域候補の写像のままだと、窓のサイズが可変であり不都合
– 領域候補をN×Nに分割し、位置を保存したまま固定長の出力を得る
Feature map(10×15)
領域候補
24次元
48次元
Feature map(10×15)
ここでは
2×2分割
ともに
4次元
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNの特徴①
44
• RoI(Region of Interest) pooling
– 領域候補の写像のままだと、窓のサイズが可変であり不都合
– 領域候補をN×Nに分割し、位置を保存したまま固定長の出力を得る
Feature map(10×15)
RoI poolingの対象領域 この領域内でMax pooling
80 80左上領域の
最大値は80
領域候補のサイズに依
存せずに、分割数に応
じた固定の出力を得る
ことができる。
論文では7×7である。
2×2の出力が得られる
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNの特徴②
45
• Multi-task Loss
– 誤差関数にカテゴリ分類誤差とbboxの回帰
誤差が含まれる
– 画像から特徴を抽出し、分類し、bboxを出
力するまでが1つのニューラルネットワーク
で可能に。
[引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Fast R-CNNの特徴②
46
• Multi-task Loss
– 誤差関数にカテゴリ分類誤差とbboxの回帰
誤差が含まれる
– 画像から特徴を抽出し、分類し、bboxを出
力するまでが1つのニューラルネットワーク
で可能に。
• 一方で…
– 領域候補はSelective Search
– ↑が精度/速度のボトルネックに
[引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Faster R-CNN
47
• 真のend-to-endモデル
Fast
R-CNN
Faster
R-CNN
領域候補
Selective
Search
Region
Proposal
Network
特徴抽出 CNN CNN
画像分類
モデルに
内包
モデルに
内包
その他
bboxの補正
も、モデル
に内包
bboxの補正
も、モデル
に内包
[引用] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.
表 Fast R-CNNとの主な違い
領域候補の検出まで
アルゴリズムに含ま
れた為、物体検出に
おける工程が全て1
つのモデルで完結し
たことになる
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Faster R-CNNの特徴
48
• Region Proposal Network
– 領域候補の検出までをニューラルネットワークで実現
– feature map上でk個のanchorを使いsliding windowし、物体が写っ
ているか否か(cls layer)とbboxの位置(reg layer)の2つを出力
▼従来手法
- オリジナル画像に対して走査
▼本手法
- feature mapに対して走査
CNNで生成したfeature map
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Faster R-CNNの特徴
49
• Region Proposal Network
– 領域候補の検出までをニューラルネットワークで実現
– feature map上でk個のanchorを使いsliding windowし、物体が写っ
ているか否か(cls layer)とbboxの位置(reg layer)の2つを出力
[引用] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.
bboxの大きさは認識対象の物体に依存する傾向
その為、Faster R-CNNではアンカーと呼ばれ
るwindowのひな形を用いる
×
スケール3種 アスペクト比3種
= 9種類のアンカーボックス
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
Faster R-CNNの特徴
50
• Region Proposal Network
– 領域候補の検出までをニューラルネットワークで実現
– feature map上でk個のanchorを使いsliding windowし、物体が写っ
ているか否か(cls layer)とbboxの位置(reg layer)の2つを出力
[引用] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.
bboxの大きさは認識対象の物体に依存する傾向
その為、Faster R-CNNではアンカーと呼ばれ
るwindowのひな形を用いる
×
スケール3種 アスペクト比3種
Feature map
を1pixelずつず
らしながらk個
のanchor box
を検証する
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
これから紹介する手法
51
分析者による特徴量生成(Hand-craft)
HOG特徴量+SVM
CNN導入の始まり(two-stage)
R-CNN, Fast R-CNN, Faster R-CNN
One-shotによる高速物体検出(one-stage)
YOLO, SSD
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
YOLO(You only Look Once)
52
• 高速な物体検出アルゴリズムその1
– 領域候補を回帰問題として解く
[引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016)
https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
YOLO(You only Look Once)
53
• 高速な物体検出アルゴリズムその1
– 領域候補を回帰問題として解く
速度
精度
[引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016)
https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/
>>
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
YOLOの特徴
54
• グリッド毎にクラス確率予測とbbox回帰予測を同時に
– 各bboxは(物体クラス確率×bbox信頼度)でスコア付け
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
YOLOの特徴
55
• グリッド毎にクラス確率予測とbbox回帰予測を同時に
– 各bboxは(物体クラス確率×bbox信頼度)でスコア付け
[引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016)
▼物体の種類の予測
グリッド毎にどんな物体が写って
いるのかのクラスを予測する
Dog
Dining Table
Bicycle
Car
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
YOLOの特徴
56
• グリッド毎にクラス確率予測とbbox回帰予測を同時に
– 各bboxは(物体クラス確率×bbox信頼度)でスコア付け
[引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016)
▼物体の種類の予測
グリッド毎にどんな物体が写って
いるのかのクラスを予測する
Dog
Dining Table
Bicycle
Car
▼bboxの位置の予測
予測1:bbox
予測2:bbox
グリッド毎に物体が写っていそう
なbboxの位置を予測する
※論文では1grid cell当たり2bboxを予測
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
SSD(Single Shot Multibox Detector)
57
• 高速な物体検出アルゴリズムその2
[引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.
① ②
③
④ ⑤
⑥
SSD300では6枚のfeature map
を使い、矩形の位置予測とクラ
ス分類を行う
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
SSD(Single Shot Multibox Detector)
58
• 高速な物体検出アルゴリズムその2
[引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.
① ②
③
④ ⑤
⑥
SSD300では6枚のfeature map
を使い、矩形の位置予測とクラ
ス分類を行う
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
SSD(Single Shot Multibox Detector)
59
• 高速な物体検出アルゴリズムその2
[引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.
YOLOと
張り合う。
精度は上
① ②
③
④ ⑤
⑥
SSD300では6枚のfeature map
を使い、矩形の位置予測とクラ
ス分類を行う
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
SSDの特徴
60
• Default Boxes
– 各feature mapでは4もしくは6つのanchorを使い、矩形を検証
[引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.
https://avinton.com/blog/2018/03/single-shot-multibox-detector-explained1/
複数のfeature mapを使うことでマルチスケール
pixel毎にアンカーを使うことでアスペクト比に対応
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
SSDの特徴
61
• Default Boxes
– 各feature mapでは4もしくは6つのanchorを使い、矩形を検証
[引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.
https://avinton.com/blog/2018/03/single-shot-multibox-detector-explained1/
複数のfeature mapを使うことでマルチスケール
pixel毎にアンカーを使うことでアスペクト比に対応
結果として8732枚のbboxを検証
1. conv4_3(38*38*4) = 5776 box
2. conv7(19*19*6) = 2166 box
3. conv8_2(10*10*6) = 600 box
4. conv9_2(5*5*6) = 150 box
5. conv10_2(3*3*4) = 36 box
6. conv11_2(1*1*4) = 4 box
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
YOLOv2 & YOLOv3
62
▼YOLO v2 ▼YOLO v3
[引用] J. Redmon and A. Farhadi. YOLO9000: Better, faster, stronger. In CVPR, 2017.
 特に”見逃し”を改善に注力
 主に下記事項について修正
1. アンカーの導入
2. ネットワークの改善
3. 学習方法の改善
 ネットワークを深くし、精度改善に注力
 主に下記事項について修正
1. 深いネットワーク構造の導入
2. 3つのfeature mapと3つのアンカー
3. softmaxをsigmoidへ
[引用] J. Redmon and A. Farhadi. Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767, 2018.
https://qiita.com/cyberailab/items/850806c08af08853bac8
各グリッドに対して3つのfeature map
と3つのアンカーを使い結果を予測
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
ここまでのまとめ
63
• 物体検出 = 領域候補+画像分類
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
ここまでのまとめ
64
• 物体検出 = 領域候補+画像分類
• まずはTwo-Stage
– まずは画像分類部分がCNN化された
– つづいて領域候補に特化したNNが提案
– 精度はそれなりだが遅い。。。
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
ここまでのまとめ
65
• 物体検出 = 領域候補+画像分類
• まずはTwo-Stage
– まずは画像分類部分がCNN化された
– つづいて領域候補に特化したNNが提案
– 精度はそれなりだが遅い。。。
• 続いてOne-Stage
– 物体か否かと物体の位置を同時に求め
る
– 1つのNN構造が出力までを担う(end-
to-end)
– モデルがシンプルな為、学習も明快で
あり、そして早い
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
66
3. 物体検出の評価方法を知ろう
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出における評価尺度
67
• 推論速度
– sec/img
– FPS(Frames per Second)
• 1秒あたりに処理できる画像枚数
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
物体検出における評価尺度
68
• 推論速度
– sec/img
– FPS(Frames per Second)
• 1秒あたりに処理できる画像枚数
• 認識精度
– IoU(Intersection over Union)
• どのくらい正解と予測が重なっているか
– MAP(Mean Average Precision)
• 平均してどのくらい適合できていたか
– F値(F-measure)
• 正確性と網羅性を加味してバランスよく検出できているか
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
IoU(Intersection over Union)
69
【特徴1】 1が最も良く、0が最も悪い
𝐼𝐼𝐼𝐼 𝐼𝐼 =
𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼
𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈
予測領域
正解領域
(Ground Truth)
分子は予測と正解領域の
積集合(Intersection)
を表し、分母は予測と正
解領域の和集合
(Union)となる
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
IoU(Intersection over Union)
70
【特徴1】 1が最も良く、0が最も悪い
𝐼𝐼𝐼𝐼 𝐼𝐼 =
𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼
𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈
予測領域
正解領域
(Ground Truth)
分子は予測と正解領域の
積集合(Intersection)
を表し、分母は予測と正
解領域の和集合
(Union)となる
【特徴2】 IoUはズレに厳しい
悪い 良い
[引用] https://apple.github.io/turicreate/docs/userguide/object_detection/advanced-
usage.html
IoUが0.5でもかなり予測領域が正解領域と
重複している必要がある
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
MAP(Mean Average Precision)
71
▼1classにおけるAPの算出方法
Rank Correct? Confidence
1 0.87
2 0.84
3 0.71
4 0.67
5 0.55
確信度順に予測結
果を並べる
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
MAP(Mean Average Precision)
72
▼1classにおけるAPの算出方法
Rank Correct? Confidence
1 True 0.87
2 False 0.84
3 True 0.71
4 True 0.67
5 False 0.55
IoUが0.5以上の時にTrue
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
MAP(Mean Average Precision)
73
▼1classにおけるAPの算出方法
Precision
1
1
2
3
3
4
Rank Correct? Confidence
1 True 0.87
2 False 0.84
3 True 0.71
4 True 0.67
5 False 0.55
n番目の予測までに
いくつ正解したか?
を算出する
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
MAP(Mean Average Precision)
74
▼1classにおけるAPの算出方法
Precision
1
1
2
3
3
4
Rank Correct? Confidence
1 True 0.87
2 False 0.84
3 True 0.71
4 True 0.67
5 False 0.55
𝐴𝐴𝐴𝐴 =
1
1
+
2
3
+
3
4
÷ 5 ≅ 0.483
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
MAP(Mean Average Precision)
75
▼1classにおけるAPの算出方法
Rank Correct? Confidence
1 True 0.87
2 False 0.84
3 True 0.71
4 True 0.67
5 False 0.55
Precision
1
1
2
3
3
4
𝐴𝐴𝐴𝐴 =
1
1
+
2
3
+
3
4
÷ 5 ≅ 0.483
IoUが0.5以上
の時にTrue
▼MAPの算出方法
Rank Correct? Confidence
1 True 0.87
2 False 0.84
3 True 0.71
4 True 0.67
5 False 0.55
MAP =
全てのclass
に対するAP
の平均を求
める
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
F値(F-measure)
76
▼混同行列(Confusion-Matrix)
Positive Negative
True TP FP
False FN TN
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
F値(F-measure)
77
▼混同行列(Confusion-Matrix)
Positive Negative
True TP FP
False FN TN
𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷 𝑷𝑷 =
𝑻𝑻𝑻𝑻
𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
F値(F-measure)
78
▼混同行列(Confusion-Matrix)
Positive Negative
True TP FP
False FN TN
𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 =
𝑻𝑻𝑻𝑻
𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
F値(F-measure)
79
▼混同行列(Confusion-Matrix)
Positive Negative
True TP FP
False FN TN
𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷 𝑷𝑷 =
𝑻𝑻𝑻𝑻
𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭
𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 =
𝑻𝑻𝑻𝑻
𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭
𝐹𝐹 =
2
1
𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝
+
1
𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟
=
𝑇𝑇𝑇𝑇
𝑇𝑇𝑇𝑇 +
1
2
𝐹𝐹𝐹𝐹 + 𝐹𝐹𝐹𝐹
※precisionとrecallの調和平均となっている
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
F値(F-measure)
80
▼混同行列(Confusion-Matrix) ▼F値の算出方法
Positive Negative
True TP FP
False FN TN
TP: 物体があるところを正しく検出できた数
FP: 物体がないところを検出してしまった数
TN: 物体検出タスクでは存在しない
FN: 物体があるところを検出できなかった数
※precisionとrecallの調和平均となっている
画像データ
正解領域
(Ground Truth)
予測領域
①
②
③
④
①は物体があるが検出されなかった(FN)
②は物体がないところを検出してしまった(FP)
③はIoUが0.5以上な為、正しく検出できた(TP)
④はIoUが0.5未満な為、正しく検出できなかった(FN,FP)
よって上記の場合のF値は、 𝐹𝐹 =
1
1 +
1
2
2 + 2
≅ 0.33
𝐹𝐹 =
2
1
𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝
+
1
𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟
=
𝑇𝑇𝑇𝑇
𝑇𝑇𝑇𝑇 +
1
2
𝐹𝐹𝐹𝐹 + 𝐹𝐹𝐹𝐹
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
最新のアルゴリズム別の精度
81
[引用] Q. Zhao, T. Sheng, Y. Wang, Z. Tang, Y. Chen, L. Cai, and H. Ling. M2det:
A single-shot object detector based on multi-level feature pyramid network.
In Thirty-Third AAAI Conference on Artificial Intelligence, 2019
推論速度と
予測精度は
トレードオフ
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
まとめ
82
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
本講座のまとめ
• 物体検出の流れのキホン
83
STEP 1 STEP 2
検出対象となる物体が画像中
のどこにありそうか探索する
検出した物体が具体的に何で
あるかを画像分類する
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
本講座のまとめ
• 代表的なアルゴリズム
– two-stage
• R-CNN、Fast R-CNN、Faster R-CNN
– 領域候補をし、CNNを利用し、画像分類をする
– one-stage
• YOLO、SSD
– 物体か否かと物体の位置を同時に予測することで高速化
84
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
本講座のまとめ
• 物体検出における評価尺度
– 推論速度を評価する
• sec/imgやFPS(Frames Per Second)
– 認識精度を評価する
• IoU:予測と正解の重複度
• MAP、F値:IoUを利用し、検出有無を評価する
– 速度と精度はトレードオフ
85
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
• お題
– ASNARO-1から得られた衛星データを活用し、水域における船舶の位置を識別
高分解能光学衛星データを用いた水域における船舶検出
対象地域 :お台場・川崎・横須賀・大阪・神戸・福岡
画像数 :(検証用)68画像、(評価用)105画像
分解能 :1pxあたり50cm
予測カテゴリ:動いている船舶、動いていない船舶、バージ(艀)をまとめた船舶(ship)
86
Tellus Trainer
Copyright 2019 SAKURA Internet Inc. All rights reserved.
87

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Tellus trainer06

  • 1. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 機械学習における物体検出概論 1
  • 2. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. はじめに 2
  • 3. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 本講座の狙い • 概要 – 衛星データ×機械学習のデータ分析講座 – 今回のテーマは「物体検出」 – 船舶の検出を事例に、衛星データ×機械学習の活用事 例とその具体的なやり方をご紹介 – 物体検出に関する基本的な知識を獲得し、衛星デー タを活用する為の素地を作ることがゴール 3
  • 4. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. • お題 – ASNARO-1から得られた衛星データを活用し、水域における船舶の位置を識別 高分解能光学衛星データを用いた水域における船舶検出 対象地域 :お台場・川崎・横須賀・大阪・神戸・福岡 画像数 :(検証用)68画像、(評価用)105画像 分解能 :1pxあたり50cm 予測カテゴリ:動いている船舶、動いていない船舶、バージ(艀)をまとめた船舶(ship) 4
  • 5. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 目次 1. 物体検出ってなに? 2. 物体検出アルゴリズムを学ぼう 3. 物体検出の評価方法を知ろう 5
  • 6. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 6 1. 物体検出ってなに?
  • 7. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 画像認識の一般的なタスク 7 ▼画像分類 ▼物体検出 ▼画像セグメンテーション 画像に 何が写っているか? 画像に“どこに” 何が写っているか? 画像にどこに 何が写っていて”その領域” はどこまでがそうか? 【引用】http://jamie.shotton.org/work/research.html 【引用】https://pjreddie.com/darknet/yolo/【引用】http://cs231n.github.io/classification
  • 8. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出(Object Detection) 8 • 物体の場所とその物体名を推定する • 教師データ:矩形(4点座標)とラベル • 例)Pascal Vocデータ ★画像データとアノテーションデータがセットで与えられる Bounding Boxといいます
  • 9. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出(Object Detection) 9 • 物体の場所とその物体名を推定する • 教師データ:矩形(4点座標)とラベル • 例)Pascal Vocデータ <object> <name>person</name> <pose>Frontal</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>183</xmin> <ymin>70</ymin> <xmax>330</xmax> <ymax>253</ymax> </bndbox> </object> <object> <name>motorbike</name> <pose>Frontal</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>185</xmin> <ymin>110</ymin> <xmax>336</xmax> <ymax>251</ymax> </bndbox> </object> 物体名 物体名 矩形 座標 矩形 座標 ★画像データとアノテーションデータがセットで与えられる アノテーションデータ Bounding Boxといいます
  • 10. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出の流れのキホン 10 STEP 1 STEP 2 検出対象となる物体が画像中 のどこにありそうか探索する 検出した物体が具体的に何で あるかを画像分類する
  • 11. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出の流れのキホン 11 STEP 1 検出対象となる物体が画像中 のどこにありそうか探索する
  • 12. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出の流れのキホン 12 STEP 2 検出した物体が具体的に何 であるかを画像分類する 分類器 person cat pig 分類結果の出力 bike car train 分類結果の出力
  • 13. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 13 2. 物体検出アルゴリズムを学ぼう
  • 14. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出アルゴリズム • 多くのアルゴリズムが提案されている 14[引用] https://github.com/hoya012/deep_learning_object_detection
  • 15. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出アルゴリズム • 多くのアルゴリズムが提案されている 15[引用] https://github.com/hoya012/deep_learning_object_detection HOG+SVM
  • 16. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. これから紹介する手法 16 分析者による特徴量生成(Hand-craft) HOG特徴量+SVM CNN導入の始まり(two-stage) R-CNN, Fast R-CNN, Faster R-CNN One-shotによる高速物体検出(one-stage) YOLO, SSD
  • 17. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. これから紹介する手法 17 分析者による特徴量生成(Hand-craft) HOG特徴量+SVM CNN導入の始まり(two-stage) R-CNN, Fast R-CNN, Faster R-CNN One-shotによる高速物体検出(one-stage) YOLO, SSD
  • 18. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 18 • 2005年に提案された当時のstate-of-the-art 領域候補 特徴抽出 画像分類 出力調整
  • 19. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 19 • Sliding Window等で物体候補を算出 領域候補 特徴抽出 画像分類 出力調整 Input Sliding window 窓を左から右へスライド 画像を全探索する [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • 20. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 20 • Sliding Window等で物体候補を算出 領域候補 特徴抽出 画像分類 出力調整 Input Sliding window 窓を左から右へスライド 画像を全探索する BING (Binarized Normed Gradients) 検出した多すぎる窓の中から 物体っぽいもののみに絞る [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • 21. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 21 • 候補となった画像を切り出し、HOG特徴量を算出 領域候補 特徴抽出 画像分類 出力調整 検出した窓毎にHOG特徴量を抽出 HOG (Histgram of Oriented Gradient) 輝度勾配を用いた特徴量 物体の大まかな形状を表現す ることが可能 [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • 22. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 22 • 候補となった画像を切り出し、HOG特徴量を算出 領域候補 特徴抽出 画像分類 出力調整 検出した窓毎にHOG特徴量を抽出 HOG (Histgram of Oriented Gradient) 輝度勾配を用いた特徴量 物体の大まかな形状を表現す ることが可能 [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • 23. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 23 • HOG特徴量をinputとし、SVMで画像を分類 領域候補 特徴抽出 画像分類 出力調整 各窓毎に SVMで分類 人 人 人 でない 人 でない input output [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • 24. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 24 • NMSで、よりスコアの高いbboxに絞り込む 領域候補 特徴抽出 画像分類 出力調整 同じオブジェクトに複数のbboxが付与 重なりが閾値以上だったものが対象となる [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005. 1つの窓に絞る
  • 25. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. HOG+SVM 25 • NMSで、よりスコアの高いbboxに絞り込む 領域候補 特徴抽出 画像分類 出力調整 同じオブジェクトに複数のbboxが付与 Non-Maximal Suppressionにて抑制 0.95 0.89 0.95 分類器による 判定スコア 重なりが閾値以上だったものが対象となる [引用] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • 26. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. これから紹介する手法 26 分析者による特徴量生成(Hand-craft) HOG特徴量+SVM CNN導入の始まり(two-stage) R-CNN, Fast R-CNN, Faster R-CNN One-shotによる高速物体検出(one-stage) YOLO, SSD
  • 27. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. R-CNNシリーズ 27 HOG R-CNN Fast R-CNN Faster R-CNN 領域候補 Sliding Window Selective Search Selective Search Region Proposal Network 特徴抽出 HOG CNN CNN CNN 画像分類 SVM SVM モデルに内包 モデルに内包 その他 - bboxの補正 bboxの補正も モデルに内包 bboxの補正も モデルに内包 要約 画像分類にCNN導入 遅い… CNNの使い方を改良 結構早くなる 領域候補もDLで! 更に早くなる
  • 28. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. R-CNN(Regions with CNN features) 28 • 物体検出にCNNを持ち込んだ先駆け HOG R-CNN 領域候補 Sliding Window Selective Search 特徴抽出 HOG CNN 画像分類 SVM SVM その他 - bboxの補正 表 HOGとの主な違い [引用] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.
  • 29. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. R-CNN(Regions with CNN features) 29 • 物体検出にCNNを持ち込んだ先駆け HOG R-CNN 領域候補 Sliding Window Selective Search 特徴抽出 HOG CNN 画像分類 SVM SVM その他 - bboxの補正 表 HOGとの主な違い アルゴリズムの流れ 1.領域候補をSelective Searchで検出 2.検出した画像をリサイズし、CNNで特徴抽出 3.CNN特徴を入力とし、SVMで分類 4.bboxを回帰モデルで補正 [引用] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.
  • 30. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 30 R-CNN(Regions with CNN features) • Selective Searchにより領域候補の削減 – 段階的に類似画素を結合し、物体っぽいものを検出 – 総当たりで抽出するSliding Windowより検出候補を絞れる • R-CNNでは検出画像毎にCNNの計算をする為、検出窓が多い=計算時間が増大 [引用] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013.
  • 31. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 31 R-CNN(Regions with CNN features) • Selective Searchにより領域候補の削減 – 段階的に類似画素を結合し、物体っぽいものを検出 – 総当たりで抽出するSliding Windowより検出候補を絞れる • R-CNNでは検出画像毎にCNNの計算をする為、検出窓が多い=計算時間が増大 [引用] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013. 段々領域が多くなっている
  • 32. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 転移学習 32 • 別の領域で学んだ知見を他の領域で使いまわすこと – DL文脈:学習済みモデルを有効活用しよう! • 限られた教師データで精度が高いモデルを作る試み よく使われる学習済みモデル - VGGNet - ResNet ※ImageNetと呼ばれるデータセットで学習
  • 33. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 転移学習/特徴量抽出器 33 • 別の領域で学んだ知見を他の領域で使いまわすこと – DL文脈:学習済みモデルを有効活用しよう! • 限られた教師データで精度が高いモデルを作る試み e.g) 学習済みVGGNet ここでcutする
  • 34. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 転移学習/特徴量抽出器 34 • 別の領域で学んだ知見を他の領域で使いまわすこと – DL文脈:学習済みモデルを有効活用しよう! • 限られた教師データで精度が高いモデルを作る試み e.g) 学習済みVGGNet ここでcutする 特 徴 ベ ク ト ル 識別器 (SVM等) パラメータはfreeze(固定させる) =学習で得られた特徴量の抽出方法を流用
  • 35. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 転移学習/Fine Tuning 35 • 別の領域で学んだ知見を他の領域で使いまわすこと – DL文脈:学習済みモデルを有効活用しよう! • 限られた教師データで精度が高いモデルを作る試み e.g) 学習済みVGGNet 全 結 合 全 結 合 全 結 合 出 力 新しいデータで学習し直す ここでcutする
  • 36. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. R-CNNの欠点 36 ▼遅い。。。 CNN検出窓 … … 検出した画像毎にCNNを使って特徴量抽出を行うが、 CNNの計算コストが高い為、検出窓数に伴い計算量が増大
  • 37. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. R-CNNの欠点 37 ▼遅い。。。 ▼学習が複雑 それぞれ別々のアルゴリズムの為、別々に学習する必要がある 特徴量抽出の為にCNNを学習 ※実際には学習済みモデルをFine Tuning 画像分類用にSVMを学習 bbox補正用にLinear Regressionを学習 CNN検出窓 … … 検出した画像毎にCNNを使って特徴量抽出を行うが、 CNNの計算コストが高い為、検出窓数に伴い計算量が増大
  • 38. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNN 38 R-CNN Fast R-CNN 領域候補 Selective Search Selective Search 特徴抽出 CNN CNN 画像分類 SVM モデルに 内包 その他 bboxの補正 bboxの補正 も、モデル に内包 • R-CNNの改良版。213倍の識別速度に 表 R-CNNとの主な違い [引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
  • 39. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNN 39 R-CNN Fast R-CNN 領域候補 Selective Search Selective Search 特徴抽出 CNN CNN 画像分類 SVM モデルに 内包 その他 bboxの補正 bboxの補正 も、モデル に内包 • R-CNNの改良版。213倍の識別速度に 表 R-CNNとの主な違い [引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015. アルゴリズムの流れ 1.画像を入力としてCNNを使い、feature mapを生成 2.Selective Searchの結果をfeature mapに射影 3.各領域候補からRoI poolingとFC層を用い特徴量を抽出 4.特徴量を元に分類結果とbboxの位置を同時に予測
  • 40. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNは何故R-CNNより高速? 40 ▼R-CNN CNN検出窓 … … 検出した画像毎にCNNを使って特徴量抽出を行うが、 CNNの計算コストが高い為、検出窓数に伴い計算量が増大
  • 41. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNは何故R-CNNより高速? 41 ▼R-CNN CNN検出窓 … … 検出した画像毎にCNNを使って特徴量抽出を行うが、 CNNの計算コストが高い為、検出窓数に伴い計算量が増大 ▼Fast R-CNN CNN feature mapに 領域候補を写像 Rol pooling + FC Rol pooling + FC 先に入力画像に対し、CNNでfeature mapを作る。 これにより、複数の領域候補があってもCNNの計算は1回で済む
  • 42. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNの特徴① 42 • RoI(Region of Interest) pooling – 領域候補の写像のままだと、窓のサイズが可変であり不都合 – 領域候補をN×Nに分割し、位置を保存したまま固定長の出力を得る Feature map(10×15) 領域候補 24次元 48次元
  • 43. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNの特徴① 43 • RoI(Region of Interest) pooling – 領域候補の写像のままだと、窓のサイズが可変であり不都合 – 領域候補をN×Nに分割し、位置を保存したまま固定長の出力を得る Feature map(10×15) 領域候補 24次元 48次元 Feature map(10×15) ここでは 2×2分割 ともに 4次元
  • 44. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNの特徴① 44 • RoI(Region of Interest) pooling – 領域候補の写像のままだと、窓のサイズが可変であり不都合 – 領域候補をN×Nに分割し、位置を保存したまま固定長の出力を得る Feature map(10×15) RoI poolingの対象領域 この領域内でMax pooling 80 80左上領域の 最大値は80 領域候補のサイズに依 存せずに、分割数に応 じた固定の出力を得る ことができる。 論文では7×7である。 2×2の出力が得られる
  • 45. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNの特徴② 45 • Multi-task Loss – 誤差関数にカテゴリ分類誤差とbboxの回帰 誤差が含まれる – 画像から特徴を抽出し、分類し、bboxを出 力するまでが1つのニューラルネットワーク で可能に。 [引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
  • 46. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Fast R-CNNの特徴② 46 • Multi-task Loss – 誤差関数にカテゴリ分類誤差とbboxの回帰 誤差が含まれる – 画像から特徴を抽出し、分類し、bboxを出 力するまでが1つのニューラルネットワーク で可能に。 • 一方で… – 領域候補はSelective Search – ↑が精度/速度のボトルネックに [引用] R. Girshick. Fast R-CNN. arXiv:1504.08083, 2015.
  • 47. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Faster R-CNN 47 • 真のend-to-endモデル Fast R-CNN Faster R-CNN 領域候補 Selective Search Region Proposal Network 特徴抽出 CNN CNN 画像分類 モデルに 内包 モデルに 内包 その他 bboxの補正 も、モデル に内包 bboxの補正 も、モデル に内包 [引用] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. 表 Fast R-CNNとの主な違い 領域候補の検出まで アルゴリズムに含ま れた為、物体検出に おける工程が全て1 つのモデルで完結し たことになる
  • 48. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Faster R-CNNの特徴 48 • Region Proposal Network – 領域候補の検出までをニューラルネットワークで実現 – feature map上でk個のanchorを使いsliding windowし、物体が写っ ているか否か(cls layer)とbboxの位置(reg layer)の2つを出力 ▼従来手法 - オリジナル画像に対して走査 ▼本手法 - feature mapに対して走査 CNNで生成したfeature map
  • 49. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Faster R-CNNの特徴 49 • Region Proposal Network – 領域候補の検出までをニューラルネットワークで実現 – feature map上でk個のanchorを使いsliding windowし、物体が写っ ているか否か(cls layer)とbboxの位置(reg layer)の2つを出力 [引用] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. bboxの大きさは認識対象の物体に依存する傾向 その為、Faster R-CNNではアンカーと呼ばれ るwindowのひな形を用いる × スケール3種 アスペクト比3種 = 9種類のアンカーボックス
  • 50. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. Faster R-CNNの特徴 50 • Region Proposal Network – 領域候補の検出までをニューラルネットワークで実現 – feature map上でk個のanchorを使いsliding windowし、物体が写っ ているか否か(cls layer)とbboxの位置(reg layer)の2つを出力 [引用] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. bboxの大きさは認識対象の物体に依存する傾向 その為、Faster R-CNNではアンカーと呼ばれ るwindowのひな形を用いる × スケール3種 アスペクト比3種 Feature map を1pixelずつず らしながらk個 のanchor box を検証する
  • 51. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. これから紹介する手法 51 分析者による特徴量生成(Hand-craft) HOG特徴量+SVM CNN導入の始まり(two-stage) R-CNN, Fast R-CNN, Faster R-CNN One-shotによる高速物体検出(one-stage) YOLO, SSD
  • 52. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. YOLO(You only Look Once) 52 • 高速な物体検出アルゴリズムその1 – 領域候補を回帰問題として解く [引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016) https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/
  • 53. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. YOLO(You only Look Once) 53 • 高速な物体検出アルゴリズムその1 – 領域候補を回帰問題として解く 速度 精度 [引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016) https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/ >>
  • 54. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. YOLOの特徴 54 • グリッド毎にクラス確率予測とbbox回帰予測を同時に – 各bboxは(物体クラス確率×bbox信頼度)でスコア付け
  • 55. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. YOLOの特徴 55 • グリッド毎にクラス確率予測とbbox回帰予測を同時に – 各bboxは(物体クラス確率×bbox信頼度)でスコア付け [引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016) ▼物体の種類の予測 グリッド毎にどんな物体が写って いるのかのクラスを予測する Dog Dining Table Bicycle Car
  • 56. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. YOLOの特徴 56 • グリッド毎にクラス確率予測とbbox回帰予測を同時に – 各bboxは(物体クラス確率×bbox信頼度)でスコア付け [引用] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection. In: CVPR (2016) ▼物体の種類の予測 グリッド毎にどんな物体が写って いるのかのクラスを予測する Dog Dining Table Bicycle Car ▼bboxの位置の予測 予測1:bbox 予測2:bbox グリッド毎に物体が写っていそう なbboxの位置を予測する ※論文では1grid cell当たり2bboxを予測
  • 57. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. SSD(Single Shot Multibox Detector) 57 • 高速な物体検出アルゴリズムその2 [引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015. ① ② ③ ④ ⑤ ⑥ SSD300では6枚のfeature map を使い、矩形の位置予測とクラ ス分類を行う
  • 58. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. SSD(Single Shot Multibox Detector) 58 • 高速な物体検出アルゴリズムその2 [引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015. ① ② ③ ④ ⑤ ⑥ SSD300では6枚のfeature map を使い、矩形の位置予測とクラ ス分類を行う
  • 59. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. SSD(Single Shot Multibox Detector) 59 • 高速な物体検出アルゴリズムその2 [引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015. YOLOと 張り合う。 精度は上 ① ② ③ ④ ⑤ ⑥ SSD300では6枚のfeature map を使い、矩形の位置予測とクラ ス分類を行う
  • 60. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. SSDの特徴 60 • Default Boxes – 各feature mapでは4もしくは6つのanchorを使い、矩形を検証 [引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015. https://avinton.com/blog/2018/03/single-shot-multibox-detector-explained1/ 複数のfeature mapを使うことでマルチスケール pixel毎にアンカーを使うことでアスペクト比に対応
  • 61. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. SSDの特徴 61 • Default Boxes – 各feature mapでは4もしくは6つのanchorを使い、矩形を検証 [引用] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. E. Reed. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015. https://avinton.com/blog/2018/03/single-shot-multibox-detector-explained1/ 複数のfeature mapを使うことでマルチスケール pixel毎にアンカーを使うことでアスペクト比に対応 結果として8732枚のbboxを検証 1. conv4_3(38*38*4) = 5776 box 2. conv7(19*19*6) = 2166 box 3. conv8_2(10*10*6) = 600 box 4. conv9_2(5*5*6) = 150 box 5. conv10_2(3*3*4) = 36 box 6. conv11_2(1*1*4) = 4 box
  • 62. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. YOLOv2 & YOLOv3 62 ▼YOLO v2 ▼YOLO v3 [引用] J. Redmon and A. Farhadi. YOLO9000: Better, faster, stronger. In CVPR, 2017.  特に”見逃し”を改善に注力  主に下記事項について修正 1. アンカーの導入 2. ネットワークの改善 3. 学習方法の改善  ネットワークを深くし、精度改善に注力  主に下記事項について修正 1. 深いネットワーク構造の導入 2. 3つのfeature mapと3つのアンカー 3. softmaxをsigmoidへ [引用] J. Redmon and A. Farhadi. Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767, 2018. https://qiita.com/cyberailab/items/850806c08af08853bac8 各グリッドに対して3つのfeature map と3つのアンカーを使い結果を予測
  • 63. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. ここまでのまとめ 63 • 物体検出 = 領域候補+画像分類
  • 64. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. ここまでのまとめ 64 • 物体検出 = 領域候補+画像分類 • まずはTwo-Stage – まずは画像分類部分がCNN化された – つづいて領域候補に特化したNNが提案 – 精度はそれなりだが遅い。。。
  • 65. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. ここまでのまとめ 65 • 物体検出 = 領域候補+画像分類 • まずはTwo-Stage – まずは画像分類部分がCNN化された – つづいて領域候補に特化したNNが提案 – 精度はそれなりだが遅い。。。 • 続いてOne-Stage – 物体か否かと物体の位置を同時に求め る – 1つのNN構造が出力までを担う(end- to-end) – モデルがシンプルな為、学習も明快で あり、そして早い
  • 66. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 66 3. 物体検出の評価方法を知ろう
  • 67. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出における評価尺度 67 • 推論速度 – sec/img – FPS(Frames per Second) • 1秒あたりに処理できる画像枚数
  • 68. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 物体検出における評価尺度 68 • 推論速度 – sec/img – FPS(Frames per Second) • 1秒あたりに処理できる画像枚数 • 認識精度 – IoU(Intersection over Union) • どのくらい正解と予測が重なっているか – MAP(Mean Average Precision) • 平均してどのくらい適合できていたか – F値(F-measure) • 正確性と網羅性を加味してバランスよく検出できているか
  • 69. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. IoU(Intersection over Union) 69 【特徴1】 1が最も良く、0が最も悪い 𝐼𝐼𝐼𝐼 𝐼𝐼 = 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 予測領域 正解領域 (Ground Truth) 分子は予測と正解領域の 積集合(Intersection) を表し、分母は予測と正 解領域の和集合 (Union)となる
  • 70. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. IoU(Intersection over Union) 70 【特徴1】 1が最も良く、0が最も悪い 𝐼𝐼𝐼𝐼 𝐼𝐼 = 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 予測領域 正解領域 (Ground Truth) 分子は予測と正解領域の 積集合(Intersection) を表し、分母は予測と正 解領域の和集合 (Union)となる 【特徴2】 IoUはズレに厳しい 悪い 良い [引用] https://apple.github.io/turicreate/docs/userguide/object_detection/advanced- usage.html IoUが0.5でもかなり予測領域が正解領域と 重複している必要がある
  • 71. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. MAP(Mean Average Precision) 71 ▼1classにおけるAPの算出方法 Rank Correct? Confidence 1 0.87 2 0.84 3 0.71 4 0.67 5 0.55 確信度順に予測結 果を並べる
  • 72. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. MAP(Mean Average Precision) 72 ▼1classにおけるAPの算出方法 Rank Correct? Confidence 1 True 0.87 2 False 0.84 3 True 0.71 4 True 0.67 5 False 0.55 IoUが0.5以上の時にTrue
  • 73. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. MAP(Mean Average Precision) 73 ▼1classにおけるAPの算出方法 Precision 1 1 2 3 3 4 Rank Correct? Confidence 1 True 0.87 2 False 0.84 3 True 0.71 4 True 0.67 5 False 0.55 n番目の予測までに いくつ正解したか? を算出する
  • 74. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. MAP(Mean Average Precision) 74 ▼1classにおけるAPの算出方法 Precision 1 1 2 3 3 4 Rank Correct? Confidence 1 True 0.87 2 False 0.84 3 True 0.71 4 True 0.67 5 False 0.55 𝐴𝐴𝐴𝐴 = 1 1 + 2 3 + 3 4 ÷ 5 ≅ 0.483
  • 75. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. MAP(Mean Average Precision) 75 ▼1classにおけるAPの算出方法 Rank Correct? Confidence 1 True 0.87 2 False 0.84 3 True 0.71 4 True 0.67 5 False 0.55 Precision 1 1 2 3 3 4 𝐴𝐴𝐴𝐴 = 1 1 + 2 3 + 3 4 ÷ 5 ≅ 0.483 IoUが0.5以上 の時にTrue ▼MAPの算出方法 Rank Correct? Confidence 1 True 0.87 2 False 0.84 3 True 0.71 4 True 0.67 5 False 0.55 MAP = 全てのclass に対するAP の平均を求 める
  • 76. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. F値(F-measure) 76 ▼混同行列(Confusion-Matrix) Positive Negative True TP FP False FN TN
  • 77. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. F値(F-measure) 77 ▼混同行列(Confusion-Matrix) Positive Negative True TP FP False FN TN 𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷 𝑷𝑷 = 𝑻𝑻𝑻𝑻 𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭
  • 78. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. F値(F-measure) 78 ▼混同行列(Confusion-Matrix) Positive Negative True TP FP False FN TN 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 = 𝑻𝑻𝑻𝑻 𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭
  • 79. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. F値(F-measure) 79 ▼混同行列(Confusion-Matrix) Positive Negative True TP FP False FN TN 𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷 𝑷𝑷 = 𝑻𝑻𝑻𝑻 𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 = 𝑻𝑻𝑻𝑻 𝑻𝑻𝑻𝑻 + 𝑭𝑭𝑭𝑭 𝐹𝐹 = 2 1 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 + 1 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 = 𝑇𝑇𝑇𝑇 𝑇𝑇𝑇𝑇 + 1 2 𝐹𝐹𝐹𝐹 + 𝐹𝐹𝐹𝐹 ※precisionとrecallの調和平均となっている
  • 80. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. F値(F-measure) 80 ▼混同行列(Confusion-Matrix) ▼F値の算出方法 Positive Negative True TP FP False FN TN TP: 物体があるところを正しく検出できた数 FP: 物体がないところを検出してしまった数 TN: 物体検出タスクでは存在しない FN: 物体があるところを検出できなかった数 ※precisionとrecallの調和平均となっている 画像データ 正解領域 (Ground Truth) 予測領域 ① ② ③ ④ ①は物体があるが検出されなかった(FN) ②は物体がないところを検出してしまった(FP) ③はIoUが0.5以上な為、正しく検出できた(TP) ④はIoUが0.5未満な為、正しく検出できなかった(FN,FP) よって上記の場合のF値は、 𝐹𝐹 = 1 1 + 1 2 2 + 2 ≅ 0.33 𝐹𝐹 = 2 1 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 + 1 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 = 𝑇𝑇𝑇𝑇 𝑇𝑇𝑇𝑇 + 1 2 𝐹𝐹𝐹𝐹 + 𝐹𝐹𝐹𝐹
  • 81. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 最新のアルゴリズム別の精度 81 [引用] Q. Zhao, T. Sheng, Y. Wang, Z. Tang, Y. Chen, L. Cai, and H. Ling. M2det: A single-shot object detector based on multi-level feature pyramid network. In Thirty-Third AAAI Conference on Artificial Intelligence, 2019 推論速度と 予測精度は トレードオフ
  • 82. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. まとめ 82
  • 83. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 本講座のまとめ • 物体検出の流れのキホン 83 STEP 1 STEP 2 検出対象となる物体が画像中 のどこにありそうか探索する 検出した物体が具体的に何で あるかを画像分類する
  • 84. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 本講座のまとめ • 代表的なアルゴリズム – two-stage • R-CNN、Fast R-CNN、Faster R-CNN – 領域候補をし、CNNを利用し、画像分類をする – one-stage • YOLO、SSD – 物体か否かと物体の位置を同時に予測することで高速化 84
  • 85. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 本講座のまとめ • 物体検出における評価尺度 – 推論速度を評価する • sec/imgやFPS(Frames Per Second) – 認識精度を評価する • IoU:予測と正解の重複度 • MAP、F値:IoUを利用し、検出有無を評価する – 速度と精度はトレードオフ 85
  • 86. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. • お題 – ASNARO-1から得られた衛星データを活用し、水域における船舶の位置を識別 高分解能光学衛星データを用いた水域における船舶検出 対象地域 :お台場・川崎・横須賀・大阪・神戸・福岡 画像数 :(検証用)68画像、(評価用)105画像 分解能 :1pxあたり50cm 予測カテゴリ:動いている船舶、動いていない船舶、バージ(艀)をまとめた船舶(ship) 86
  • 87. Tellus Trainer Copyright 2019 SAKURA Internet Inc. All rights reserved. 87