Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
AIを使った道路の異常検知
株式会社パソナテック
IoEソリューション事業部
夏谷
1
HUMANWARE® change the world
2018/06/02
今日お話しすること
2
第一部 道路の故障検出について
第二部 Deep Learningの物体検出について
論文 データ
ニューラルネットワーク 異常検出
・物体検出のNNの紹介
・物体検出の評価基準
・物体検出のNNのアーキテクチャ
第三部 弊社のサービスの紹介
自己紹介
 夏谷実
 株式会社パソナテック
 IoEソリューション事業部
 TFUG KANSAI
 最近は半導体関連の仕事が多い
 FPGAが好き
 プログラミングも好き
 Deep Learningも好き
3
過去の経歴
4
カメラで橋を撮影
動画
静止画
f(x)
画像処理+
統計処理 結果確認・レポート
Deep Leaningのすごさ
5
従来の手法の特徴
エッジ強調
二値化
動的フィルター
特徴点抽出
パターンマッチング
ダメージ検出
ひび割れ検出 白線かすれ検出
①見つけたい対象によってアルゴリズムが違う
②入力には高解像度の画像が必要
③精度が撮影条件に左右される。
天気、距離、撮影者など・・・
4K画像
Deep Learningのすごさ
6
データ
①異なる検出対象を一つのアルゴリズムで検出可能
パラメータのチューニングはDeep Learningが自動的に行う
②低解像度でも検出可能 VGAクラスで十分
③撮影条件に左右されにくい
④データがあれば、新しい検出対象を簡単に追加できる。
→ 道路のダメージ検出以外にも簡単に応用できる。
ニューラルネットワーク
飛び出し坊や →
600
600
7
第一部 道路の故障検出について
論文の紹介
Title:Road Damage Detection Using
Deep Neural Networks with Images
Captured Through a Smartphone
Hiroya Maeda, Yoshihide Sekimoto, Toshikazu Seto, Takehiro Kashiyama, Hiroshi Omata
8
https://arxiv.org/abs/1801.09454
ニューラルネットワークとスマートフォンで撮影した画像を
使った道路損傷の検出
データセットの紹介
9
https://github.com/sekilab/RoadDamageDetector#download-road-damage-dataset
今回は、ニューラルネットワークの学習に使うデータがCC BY-SA 4.0 ライセンスで公開され
ています。中身は約9000枚の道路のダメージ画像が含まれています。
中身の詳細は後で説明
•共有 — どのようなメディアやフォーマットでも資料を複製したり、再配布できます。
•翻案 — 資料をリミックスしたり、改変したり、別の作品のベースにしたりできます
•営利目的も含め、どのような目的でも。
条件を満たせば自由に使用可能
一般的にDeep Learningで何かをするためには、学習用に大量のデータが必要。
今回やったこと
10
論文
データ
ニューラルネットワーク
異常検出
論文をベースに、公開されているデータを使ってニューラルネットワークを学習し、異常検知
をの性能評価を行いました。
各フェイズについて、順番に説明していきます。
公開されているデータ 学習
データの準備
11
各地域毎にスマートフォンで撮影したダメージデータが、
画像として存在している。
こういう雰囲気の画像が約9000枚
データの準備
12
ダメージの種類が分類されている。
データの詳細
13
ファイル名
アノテーションデータと呼ばれるデータ
画像ファイルと異常箇所を記述している。(VOC2007フォーマット)
異常の種類と画像上の座標情報。
D10とD01の二つの異常箇所が
ある。
画像サイズ
データの準備
14
アノテーション
データ
アノテーションデータを使った異常箇所の可視化
データの準備
15
アノテーションデータはどうやって作るのか
https://github.com/tzutalin/ImageNet_Utils
アノテーション用ツールで、一つ一つ手で故障箇所を入力していく。
識別の精度を決めるので、ある一定のスキルを持った人をアサインし、アノテーショ
ンのルールを決めていく必要がある。アノテーションした結果のチェックも必要。
データを公開する場合
は個人情報に注意。
個人を識別できる顔や
車のナンバーをぼかす
等、別途処理が必要
グループ企業のサ
ービスで対応しま
す。
数万枚は
欲しい
ニューラルネットワークを用意する
16
物体検出を行うニューラルネットワークには様々な種類がある。
詳細は第二部で説明。
例えば、有名なNNでこれくら
いの種類があり、派生を入
れるともっと増える。
https://pjreddie.com/media/files/papers/YOLOv3.pdf
ニューラルネットワークは自分で設計しようとせず、既存の実績のあるものから選ぶ
フレームワークを選ぶ
17
これも有名どころであれば大概OK。身近に経験者がいればそれがベスト。
Keras
ニューラルネットワークを学習させる
18
学習は、GPU付きのマシンでひたすら計算する。
1日~2日で結果がわかる。
時間とともに誤差が小さくなっていけばOK
出てきた結果を分析する。必要に応じて、元のフェーズに戻る。
・データの追加、精査
・NNの変更
結果の解析例
19
損傷の種類によって、精度が分かれる
精度(1.0に近づくほどよい)
学習回数
精度が良い
グループ
精度が悪い
グループ
結果の解析例
20
損傷の種類によって、精度が分かれる
データ数
データ数が少ないと精度が下がっていることが分かる。
精度が低いところは、データを増やして再度学習する必要がある。
Deep Learningで異常検出をする流れ
21
データ
ニューラルネットワーク
の選択
異常検出
やったことの整理
実際の所、検出率は100%ではない。
疑問:これをどう使うのか
データを用意する 学習
使い道その1
22
道路の故障を8割見つけるニューラルネットワーク
road1
road2
road3
road4
road 49
road 50
road 51
年代
road5
1kmあたりの異常数
road 52
自治体が管理してる道路をスマホで撮影し、異常検出を行う
専門家による点検
の優先順位をつける
資料になる
おかしな状態の道路を早期発見
:
使い道その2
23
特定の看板をを9割見つけるニューラルネットワーク
road1
road2
road3
road4
road5
数
正解値が分かっている物とニューラルネットワー
クの検出結果との比較
検出数
正解値
数が合わないので何かが起きている
第一部まとめ
 Deep Learningを使って道路の故障検出をする
 故障の種類によってアルゴリズムを変える必要が無い
 低解像度でもOK
 撮影条件に左右されにくい
 故障検出を行う為にやること
 データを集める
 ニューラルネットワーク、フレームワークを選択する
 学習する
 分析する
 使い道
 検出率が100%に近づかなくても役に立つシーンがある。
24
一緒に応用事例を作るパートナーを探しています。
25
第二部 Deep Learningの物体検出について
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
26
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
27
物体検出とは
28
sheep 0.814217 (415, 145), (571, 336)
person 0.665931 (172, 109), (273, 371)
cow 0.438520 (64, 267), (182, 356)
'Norwegian_elkhound', 0.6510464
'malinois', 0.20971657
'German_shepherd', 0.124572
'kelpie', 0.0050396309
'Border_terrier', 0.0034161564
Deep Learningの応用の一つ。通常の識別に加えて、画像上の場所も検出する。
①識別 (Classification) ②物体検出 (Object detection)
与えられた画像が何かを識別する。
例)SNSに投稿された画像が何の画像かを判断
どこに何があるかを検出する。
例)自動運転時に人間を検出
物体検出のNN
29
名前 発表年数 説明
R-CNN
(Regions with CNN features)
2014年 ニューラルネット(CNN)とSVMの組
み合わせ
Fast R-CNN 2015年 普通に学習できるようになった。
Faster R-CNN 2015年 速度、精度ともに向上。SVM不要。
YOLO 2016年 構造をシンプルにし、精度は若干落
ちつつも、速度向上
SSD 2016年 さらに精度向上
DSSD 2017年 SSDにDeconvolution層を追加する
ことで、精度向上
初期の物体検出
30
何かが映っていそうな
領域の提案
NNを使って、画像の特
徴量の抽出。前段で見つ
けた領域の数だけ行う。
SVMを使って、物体の識
別
複数のアルゴリズムの組み合わせで物体検出を実現
https://arxiv.org/abs/1311.2524
初期の物体検出
31
https://courses.cs.washington.edu/courses/cse590v/14au/cse590v_wk1_rcnn.pdf
NNを使っている部分のトレーニングも大変
物体検出のNN
32
名前 発表年数 説明
R-CNN
(Regions with CNN features)
2014年 ニューラルネット(CNN)とSVMの組
み合わせ
Fast R-CNN 2015年 普通に学習できるようになった。
Faster R-CNN 2015年 速度、精度ともに向上。SVM不要。
YOLO 2016年 構造をシンプルにし、精度は若干落
ちつつも、速度向上
SSD 2016年 さらに精度向上
DSSD 2017年 SSDにDeconvolution層を追加する
ことで、精度向上
YOLO
33
You only look once (YOLO)
Figure 3: The Architecture.
https://arxiv.org/abs/1506.02640
NNに画像を入れると、1パスで物体検出を行う。
学習も通常のDeep Learningと同じEnd to End
(大量の画像と正解データのペアがあればOK)
ここが通常のCNN FC層
SSD
34
ここが通常のCNN FC層 出力をさらにCNNへ
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
35
物体検出の性能評価
36
機械学習の基本
評価器(NN)の性能評価に一つの連続値を用いる。
最小二乗誤差
クロスエントロピー誤差
新しい手法、パラメータを変更したときに、どれだけ評価器が良くなったかを比較する
ときに使用する。
手法A: E = 0.10
手法B: E = 0.09
手法C: E = 0.12
Bが一番
性能が良い
非連続はなぜ駄目なのか?
例えばテストデータ100個に対する正解
率を指標にした場合
手法A: 89%
手法B: 90%
手法C: 90%
どちらが良いの
か判断できない
物体検出の性能評価
37
物体検出で使う指標
mAP(mean Average Precision)
https://arxiv.org/abs/1612.08242
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
38
物体検出の性能評価
39
IoU (Intersection Over Union)
𝐼𝑜𝑈 =
𝑎𝑟𝑒𝑎(𝑅 𝑝 ∩ 𝑅 𝑔)
𝑎𝑟𝑒𝑎(𝑅 𝑝 ∪ 𝑅 𝑔)
𝑅 𝑝 予測した領域
𝑅 𝑔 正しい領域
青:正解
オレンジ:予測結果
緑の領域の比を正解の目安として使う。
完全に一致すると1.0
IoUを1.0に近づけるように学習する。
VOC(コンテスト)では、IoUが0.5以上
を正解と定義している。
http://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf
物体検出の性能評価
40
AP (average precision)
正解 1 1 1 0 1 1 0 0 1 0
信頼度 1.00 0.95 0.90 0.80 0.70 0.70 0.65 0.60 0.60 0.55
一つのクラス(識別対象)に対して、NNの出力を信頼度順に並べて正解と比べる。
この面積がAP
(AP=0.88)
真のラベルが正 真のラベルが負
予測結果が
正 TP FP
予測結果が
負 FN TN
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛=
TP
TP+FP
Recall=
TP
TP+FN
この2つにトレードオフの関係があるので、
その関係をプロットする。
物体検出の評価
41
mAPは全検出対象のAPの平均を取った物
それぞれのAPの平均を取る事で、
全体的な性能の指標にする。
https://arxiv.org/abs/1612.08242
物体検出の評価
42
mAPを使ってアーキテクチャを評価
https://pjreddie.com/darknet/yolo/
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
43
SSD
44
ここが通常のCNN FC層
先に
ここの話出力をさらにCNNへ
https://arxiv.org/abs/1512.02325
Non-Maximum Suppression
45
ニューラルネットワークの出力結果 一つの物体に対して、枠が
一つになるようにする。
ここの部分は、ニューラルネットワークとは別のアルゴリズム
どこまでがニューラルネットワークなのかを知っておくことが大事
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
46
アンカーボックス
47
画像をnxmの領域に分割し、
それぞれの場所で、対象が存
在する確率を計算する。
Tiny-YOLOの場合は13x13
検出したい物体の形には傾向がある。
乗り物は横長、人物は縦長。
分割した領域それぞれに、枠を用意してその
中に入っている物を検出できるようにする。
同じ所に人と車が重なっていても、
別の枠で検出できるので、精度が
上がる。この枠がアンカーボックス。
Tiny-YOLOの場合は5個
アンカーボックス
48
Tiny-YOLOの出力
13x13x125
13
13
20×5+5=125
aeroplane
bicycle
bird
何も無い確率と、
ボックスの補正値
アンカーボックス
49
125個を抜き出す
.01 .03 .05 .01 .00 .21 .67 .12 .01 .00 .01 .5 .7 .92 .87
5つのアンカーボ
ックスに対応する
Birdの確率
5つのアンカーボ
ックスに対応する
bicycleの確率
オブジェクトが何
も無い確率
検出したアンカー
ボックスにこの値
を補正して、最終
的な領域とする。
(x, y, w, h)
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
50
物体検出のNNとメタアーキテクチャについて
 物体検出におけるメタアーキテクチャとは
 識別用NNの紹介
51
物体検出のNNのアーキテクチャ
52
SSD
YOLO
物体検出の入力側は、識別用のNNが入っている。
ここのNNは交換可能
メタアーキテクチャとCNNの組み合わせが、最終的なネットワーク構成になる。
https://arxiv.org/abs/1512.02325
物体識別のNN
53
名前 発表年数 説明
AlexNet 2012年 ImageNetの分類タスクで、他の手法に大
差をつけて圧勝。Deep Learningブームの
火付け
GoogLeNet 2014年 コンテストで優秀な成績を収める。インセプシ
ョンアーキテクチャが特徴。
VGG16 2014年 単純なアーキテクチャで良い成績を収める。
エッジ動作、HW化のベンチマークとしてよく
使われる。
ResNet 2015年 MSから発表。なんと152層。
SqueezeNet 2016年 AlexNetと同等の精度を、1/500の重みで
実現
MobileNet 2016年 計算の回数を1/10程度に削減
物体識別のNNの比較
54
AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS
物体検出のNNアーキテクチャ
55
Huang, Jonathan, et al. (2017))
メタアーキテクチャ
特徴抽出器
識別用NN
CNN
第2部 アジェンダ
 物体検出とは
 物体検出の性能評価
 IOU, AP, mAP
 NMS
 アンカーボックス
 メタアーキテクチャ
 アーキテクチャの決め方
56
物体検出のアーキテクチャ
57
どうやってアーキテクチャを決めれば良いのか?
論文に載っている物を
そのまま使う
ベースライン
とりあえずVGG16
精度は二の次にして、まずはベースラインを作る
もしくは
VGG16の特徴
・計算量が多く、精度がそこそこ良い
・構成が単純なので学習しやすい
・学習済みのモデルが簡単に手に入る。
一度動く環境を作ってから、いろいろと試していく。
https://arxiv.org/abs/1612.08242
物体検出のアーキテクチャ
58
一度動かすことで得られる物
・性能評価のベースライン
・各種可視化ツール
・学習時間の目安
・学習データの量、質
失敗するデータの傾向を早めにつかむ。
https://arxiv.org/abs/1612.08242
物体検出のNNまとめ
 物体検出用のNNの紹介
 最近は、YOLO、SSDベースが多い
 性能評価
 IOU、AP
 mAPを一つの基準として使う
 物体検出用NNのアーキテクチャ
 メタアーキテクチャとCNNの組み合わせ
 まずはベースラインを作る
59
60
第三部 弊社のサービスの紹介
AI分野に関するパソナテックのサービス
61
①大量のデータに関する業務
・データ収集
・データ入力
・データタグづけ、不正データ除去
グループ企業と連携し、
大量データを安価にご
提供します。
セキュリティ面もご相
談ください。
②機械学習に関する業務
・学習環境の構築
・学習器の設計、評価
・パラメータ調整
お客様の目的に沿
ったビジネスパート
ナーをご紹介します。
③商品化への業務
・組込プログラミング
・機械設計
機械学習に関する業務に関して、どの工程でも必要なサービスをご提供致します。
専門スキルを持った人
材をご提供いたします。
委託契約、派遣契約ど
ちらも可能です。AIアシスト
ご静聴ありがとうございました。
62
関西地区、福岡で組込DLをやりたい人を絶賛募集中です。未経験OK。
興味がある方はWantedlyをパソナテックで検索!
もしくは私までご連絡ください。 mnatsutani@pasonatech.co.jp

More Related Content

Road damge ai

Editor's Notes

  1. テンサーフローユーザーグループ関西 パソナテック公認キャラ