![Page 1: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/1.jpg)
1
ハンズオンラボ2
DIGITS による物体検出入門村上真奈
NVIDIA CUDA & Deep Learning Solution ArchitectNVIDIA Corporation
![Page 2: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/2.jpg)
AGENDAディープラーニングとはQwiklab/Jupyter notebook/DIGITSの使い方DIGITSによる物体検出入門ハンズオン
![Page 3: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/3.jpg)
ディープラーニングとは
![Page 4: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/4.jpg)
機械学習とディープラーニングの関係
機械学習
ニューラルネットワーク
ディープラーニング
![Page 5: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/5.jpg)
14
様々な分野でディープラーニングを応用
インターネットとクラウド
画像分類音声認識言語翻訳言語処理感情分析推薦
メディアとエンターテイメント
字幕ビデオ検索
リアルタイム翻訳
機械の自動化
歩行者検出白線のトラッキング信号機の認識
セキュリティと防衛
顔検出ビデオ監視衛星画像
医学と生物学
癌細胞の検出糖尿病のランク付け
創薬
![Page 6: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/6.jpg)
15
人工ニューロン神経回路網をモデル化
スタンフォード大学cs231講義ノートより
神経回路網
w1 w2 w3
x1 x2 x3
y
y=F(w1x1+w2x2+w3x3)
F(x)=max(0,x)
人工ニューロン
![Page 7: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/7.jpg)
人工ニューラルネットワーク単純で訓練可能な数学ユニットの集合体
ニューラルネットワーク全体で複雑な機能を学習
入力層 出力層
隠れ層
十分なトレーニングデータを与えられた人工ニューラルネットワークは、入力データから判断を行う複雑な近似を行う事が出来る。
![Page 8: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/8.jpg)
ディープラーニングの恩恵ディープラーニングとニューラルネットワーク
ロバスト性
特徴量の設計を行う必要がない。 – 特徴は自動的に獲得される学習用データのバラつきの影響を押さえ込みながら、自動的に学習していく
一般性
同じニューラルネットワークのアプローチを多くの異なるアプリケーションやデータに適用する事が出来る
スケーラブル
より多くのデータで大規模並列化を行う事でパフォーマンスが向上する
![Page 9: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/9.jpg)
ディープラーニングのアプローチ
認識:
犬
猫
蜜穴熊
エラー
犬猫
アライグマ
犬
トレーニング:
モデル
モデル
![Page 10: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/10.jpg)
データを訓練データ(training data)と検証データ(validation data)に分割する
訓練データと検証データディープラーニングの学習
収集したデータ
検証データ(validation data)
訓練データ(training data)
重みの更新(学習)に使用
汎化性能の確認に使用
![Page 11: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/11.jpg)
訓練データによる重みの更新ディープラーニングの学習
訓練データ
猫
犬
熊検証データ
訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す
猫
犬
狸
正解は犬
![Page 12: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/12.jpg)
訓練データによる重みの更新ディープラーニングの学習
訓練データ
猫
犬
熊検証データ
訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す
猫
犬
狸
正解に近づくように、各層の重みを更新する
![Page 13: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/13.jpg)
学習ループ訓練データと検証データの役割
訓練データ
猫
犬
熊検証データ
すべての訓練データを用いて重み更新を行う + すべての検証データで汎化性能を確認⇒ 1 エポック(epoch)と呼ぶ
猫
犬
狸
検証データで現在の汎化性能を確認
(重みの更新には使用しない)
![Page 14: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/14.jpg)
学習時の性能の確認訓練データと検証データの役割
各エポックで訓練データをニューラルネットワークに与えた際の間違い率と検証データを与えた際の間違い率を確認しながら学習を進める必要がある
エラー数
エポック0
training
validation
エラー数
エポック0
training
validation学習成功 学習失敗(過学習)
![Page 15: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/15.jpg)
24
畳込みニューラルネットワーク(CNN)• 画像認識・画像分類で使われる、高い認識精度を誇るアルゴリズム。畳込み層で画像の特徴を学習
目的
顔認識
トレーニングデータ
1,000万~1億イメージ
ネットワークアーキテクチャ
10 層
10 億パラメータ
ラーニングアルゴリズム
30 エクサフロップスの計算量
GPU を利用して30日
畳込み層 全結合層
![Page 16: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/16.jpg)
25
畳込み層
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
2
2
1
1
1
0
1
2
2
2
1
1
0
1
2
2
2
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
1
0
-8
ピクセル値(src)
畳み込み
カーネルピクセル値(dst)
カーネルの中心の値はソースピクセル上に置かれている。
ソースピクセルはフィルタを自身の積の値に更新される。
![Page 17: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/17.jpg)
26
ディープラーニング・フレームワーク
![Page 18: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/18.jpg)
27
ディープラーニング・フレームワーク
Mocha.jl
ディープラーニング・フレームワークGPUで高速化されているディープラーニング・フレームワークが多数存在
https://developer.nvidia.com/deep-learning-frameworks
![Page 19: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/19.jpg)
28
ディープラーニング・フレームワークCaffe Torch7 Theano TensorFlow Chainer
インターフェース C++/Python/Matlab Lua/C Python C/C++/Python Python
cuDNN 5 5 5 5 5
ライセンス BSD-2 BSD BSD Apache 2.0 MIT
マルチGPU(1ノード) ○ ○ ○ ○
モデルの柔軟性 △ ◎ ◎ ○ ◎
CNN ○ ○ ○ ○ ○
RNN○
#2033○ ○ ○ ○
RBM × ○ ○ ○ ○
備考高速
Caffe Model Zoo多数のアルゴリズムを
サポート自動微分
自動微分TensorBoard
Define by Run
CuPy
![Page 20: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/20.jpg)
29 1/18/2
017
CAFFE
![Page 21: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/21.jpg)
30
Caffeとは?
• コアエンジンはC++/CUDA
• コマンドライン、Python、Matlabインターフェース
• 高速, コードのテストが良く行われている
• 前処理および開発ツール、リファレンスモデルやサンプルコードが充実
• 画像データマネージメント
• GPUによる高速化の機能
• コミュニティが大きく活動が盛ん
BVLCによって開発されたディープラーニング開発用のオープンフレームワーク
caffe.berkeleyvision.org
http://github.com/BVLC/caffe
![Page 22: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/22.jpg)
31
Caffeの特徴データの前処理とマネージメント
データ取り込みフォーマット
LevelDB または LMDB データベース
イン-メモリ(C++とPython のみ)
HDF5
画像ファイル
前処理ツール
RAWデータからのLevelDB/LMDB生成
トレーニングセットとバリデーションセットのシャッフル生成
平均画像の生成
データ変換
画像のクリッピング、リサイズ、ミラーリング
差分画像
![Page 23: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/23.jpg)
32
Caffeの特徴
Protobuf モデルフォーマット
ネットワーク構造定義および学習パラメータの定義に使われる
様々なフォーマットに対応Caffeのオートジェネレータで生成可能。構文チェック機能も存在
コーディングが必要ない
name: “conv1”
type: “Convolution”
bottom: “data”
top: “conv1”
convolution_param {
num_output: 20
kernel_size: 5
stride: 1
weight_filler {
type: “xavier”
}
}
ディープラーニングモデル定義
![Page 24: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/24.jpg)
33
Caffe特徴
ロス関数:
Classification
Softmax
Hinge loss
Linear regression
Euclidean loss
Attributes/multi-classification
Sigmoid cross entropy loss
and more…
使用可能レイヤー:
Convolution
Pooling
Normalization
活性化関数:
ReLU
Sigmoid
Tanh
and more…
ディープラーニングモデル定義
![Page 25: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/25.jpg)
34 1/18/2
017
DIGITS
![Page 26: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/26.jpg)
35
学習データの作成 モデルの作成 モデルのテスト学習過程の可視化
GPUで高速化されたディープラーニングトレーニング・システム
NVIDIA DIGITS
http://developer.nvidia.com/digits
![Page 27: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/27.jpg)
36
NVIDIA DIGITS
手元のPCからWebブラウザでアクセス可能なディープラーニングトレーニングシステム
GPUで高速化されたディープラーニングトレーニング・システム
ユーザーインターフェース
レイヤーの可視化
学習モデルの作成
データセットの作成
学習過程の可視化
Chainer
GPUGPU HW クラウドGPUクラスタマルチGPU
Theano
Torch
CaffecuDNN, cuBLAS
CUDA
学習
NVCaffecuDNN, cuBLAS
CUDA
• 画像分類と物体検出の為のDNNのデザインと可視化の機能を提供
• NVIDIAが最適化したフレームワークで高速に学習が可能
• ハイパーパラメータ・チューニングを強力にサポート
• DL学習のジョブを簡単にスケジューリング、リアルタイムにaccuracyとlossを監視
• 様々な学習データフォーマット、フレームワークに対応
![Page 28: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/28.jpg)
DIGITSの使い方
![Page 29: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/29.jpg)
DIGITSの使い方1
1. 学習データセットの作成
2. 学習モデルの作成、学習開始
3. 学習済みモデルのテスト
DIGITSのワークフロー
学習
推論(インファレンス)
![Page 30: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/30.jpg)
DIGITSの使い方2ホーム画面の戻り方
ホーム画面に戻る
![Page 31: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/31.jpg)
DIGITSの使い方3データセット作成/モデル作成
データセット作成
モデル作成
![Page 32: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/32.jpg)
DIGITSの使い方4データセット作成/モデルの作成
物体検出したい場合[Object Detection]を選択
画像分類したい場合[Classification]を選択
![Page 33: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/33.jpg)
43
DIGITSの使い方5
DIGITSは、Caffeを使って学習を行う事が出来る。
ネットワークの構造の変更方法
Caffeが選択されている事を確認
Alexnetが選択されている
モデルの変更画面に遷移
![Page 34: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/34.jpg)
44
DIGITSの使い方5
caffeのモデル定義ファイル(prototxt)を書き換える
ネットワークの構造の変更方法
Layer{}でくくってある部分が一つの層
![Page 35: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/35.jpg)
Qwiklab/jupyter notebook
![Page 36: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/36.jpg)
Qwiklabのアクセス方法
https://nvlabs.qwiklab.com/にアクセスし、[DLI2017-Japan]->[エヌビディアDIGITSによる物体検出]を選択
DIGITSによる物体検出入門
①
②
③
![Page 37: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/37.jpg)
Qwiklabのアクセス方法
「ラボを開始」を選択、インスタンスの起動を待つ
DIGITSによる物体検出入門
①
②
![Page 38: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/38.jpg)
56
Jupyter notebookの使い方
1/18/2017
タイマーカウントダウン
実行中は黒丸それ以外は白丸
![Page 39: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/39.jpg)
57
Jupyter notebookの使い方
1/18/2017
In []: と書いてあるセルは動的実行が出来ます
選択されていると緑の枠が表示される
再生ボタンでセルの実行が出来る(Shift-Enterでも良い)
![Page 40: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/40.jpg)
58
ハンズオンを開始しましょう
![Page 41: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/41.jpg)
ディープラーニング手法による物体検出
Right Whale Recognition(https://www.kaggle.com/c/noaa-right-whale-recognition)
のデータを使って物体検出を学ぶ
DIGITSによる物体検出入門
![Page 42: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/42.jpg)
ディープラーニング手法による物体検出
今回のラボでは以下の4つの物体検出方法を紹介する
• 検出方法1:画面のスキャン + CNN 演習あり
• 検出方法2:候補領域 + CNN
• 検出方法3: FCN(Full Convolutional Network) 演習あり
• 検出方法4: DetectNet 演習あり
DIGITSによる物体検出入門
![Page 43: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/43.jpg)
検出方法1.画面のスキャン + CNN
「鯨」か「非鯨」を判別するニューラルネットワークをトレーニングする
基本アイディア
![Page 44: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/44.jpg)
検出方法1.画面のスキャン + CNN
画像を分割、それぞれの領域を畳込みニューラルネットワーク(CNN)に通す
基本アイディア
Whale
Not Whale
![Page 45: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/45.jpg)
検出方法1.画面のスキャン + CNN
1. Jupyter notebookからDIGITSを起動し、「鯨」「非鯨」を判別するニューラルネットワークを作成する。
1. DIGITSで[Datasets]->[Image Classication]から学習データを作成する
2. DIGITSで[Models]->[Image Classication]からモデル作成と学習をする
2. 学習が終わったら、ジョブIDを控える
3. Jupyter notebookに戻り、先ほど学習したモデルを用いて推論(インファレンス)処理を行う
ハンズオン
![Page 46: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/46.jpg)
検出方法1.画面のスキャン + CNNハンズオン(結果)
![Page 47: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/47.jpg)
2.候補領域 + CNN
1の場合とアイディアは同じ。違いは、画像を単純に分割するのではなく、候補領域を求めてから畳込みニューラルネットワーク(CNN)に通す
基本アイディア
Whale
Not Whale
![Page 48: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/48.jpg)
3.FCN(Full Convolutional Network)
全結合層を持たない、すべて畳込み層のネットワークを使って物体検出を行う
http://www.image-net.org/challenges/LSVRC/2013/slides/overfeat_ilsvrc2013.pdf
基本アイディア
![Page 49: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/49.jpg)
3.FCN(Full Convolutional Network)
1. 検出方法1のハンズオンで作成した「鯨」と「非鯨」を分類するモデルをFCNに書き換える
1. [Clone Job]でモデルを複製
2. [Standard Networks]->[Alexnet横のcustom]をクリック->テキストボックス内部のネットワーク定義を書きかえる
• fc6 – fc8までのエリアを書き換える
• [Model Name]を適当につけて、[Create]ボタンをクリックして、学習を開始
2. 学習が終わったら、ジョブIDを控える
3. Jupyter notebookに戻り、先ほど学習したモデルを用いて推論(インファレンス)処理を行う
ハンズオン
![Page 50: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/50.jpg)
3.FCN(Full Convolutional Network)ハンズオン(結果)
![Page 51: ハンズオンラボ2 DIGITS による物体検出入門images.nvidia.com/content/APAC/events/deep-learning-institute-jp/2017/... · NVIDIA CUDA & Deep Learning Solution Architect](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e17e3ab17992d39096bd3b9/html5/thumbnails/51.jpg)
4.DetectNet
DetectNetを用いた物体検出の方法https://devblogs.nvidia.com/parallelforall/detectnet-deep-neural-network-object-detection-digits/
基本アイディア