Submit Search
Upload
CNN でテニス選手の動きを解析する
•
Download as PPTX, PDF
•
0 likes
•
207 views
ryos36
Follow
CNN でテニス選手の動きを解析し、最終的には戦略分析に結びつける。
Read less
Read more
Science
Report
Share
Report
Share
1 of 44
Download now
Recommended
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
グラフカットによる画像背景切り取り
グラフカットによる画像背景切り取り
coil_kpc
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
深層学習と確率プログラミングを融合したEdwardについて
深層学習と確率プログラミングを融合したEdwardについて
ryosuke-kojima
Pycairo を使ってみる その1
Pycairo を使ってみる その1
ryos36
ストーリーとは
ストーリーとは
ryos36
Polyphony の行く末(2018/3/3)
Polyphony の行く末(2018/3/3)
ryos36
Recommended
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
グラフカットによる画像背景切り取り
グラフカットによる画像背景切り取り
coil_kpc
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
深層学習と確率プログラミングを融合したEdwardについて
深層学習と確率プログラミングを融合したEdwardについて
ryosuke-kojima
Pycairo を使ってみる その1
Pycairo を使ってみる その1
ryos36
ストーリーとは
ストーリーとは
ryos36
Polyphony の行く末(2018/3/3)
Polyphony の行く末(2018/3/3)
ryos36
Polyphony の並列化
Polyphony の並列化
ryos36
Polyphony 新機能ツアー
Polyphony 新機能ツアー
ryos36
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
Stellaris を使った組み込みアプリ開発ガイド
Stellaris を使った組み込みアプリ開発ガイド
ryos36
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
数値計算のための Python + FPGA
数値計算のための Python + FPGA
ryos36
Polyphony IO まとめ
Polyphony IO まとめ
ryos36
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
ryos36
SDSoC でストリーム
SDSoC でストリーム
ryos36
Analog Devices の IP コアを使う
Analog Devices の IP コアを使う
ryos36
SDSoC と Vivado
SDSoC と Vivado
ryos36
高速化のポイント
高速化のポイント
ryos36
20周遅れ
20周遅れ
ryos36
90分 Scheme to C(勝手に抄訳版)
90分 Scheme to C(勝手に抄訳版)
ryos36
並列計算への道 2015年版
並列計算への道 2015年版
ryos36
NiosII と RTOS について
NiosII と RTOS について
ryos36
Synthesijer で作るFORTH仮想マシン
Synthesijer で作るFORTH仮想マシン
ryos36
More Related Content
More from ryos36
Polyphony の並列化
Polyphony の並列化
ryos36
Polyphony 新機能ツアー
Polyphony 新機能ツアー
ryos36
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
Stellaris を使った組み込みアプリ開発ガイド
Stellaris を使った組み込みアプリ開発ガイド
ryos36
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
数値計算のための Python + FPGA
数値計算のための Python + FPGA
ryos36
Polyphony IO まとめ
Polyphony IO まとめ
ryos36
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
ryos36
SDSoC でストリーム
SDSoC でストリーム
ryos36
Analog Devices の IP コアを使う
Analog Devices の IP コアを使う
ryos36
SDSoC と Vivado
SDSoC と Vivado
ryos36
高速化のポイント
高速化のポイント
ryos36
20周遅れ
20周遅れ
ryos36
90分 Scheme to C(勝手に抄訳版)
90分 Scheme to C(勝手に抄訳版)
ryos36
並列計算への道 2015年版
並列計算への道 2015年版
ryos36
NiosII と RTOS について
NiosII と RTOS について
ryos36
Synthesijer で作るFORTH仮想マシン
Synthesijer で作るFORTH仮想マシン
ryos36
More from ryos36
(17)
Polyphony の並列化
Polyphony の並列化
Polyphony 新機能ツアー
Polyphony 新機能ツアー
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
Stellaris を使った組み込みアプリ開発ガイド
Stellaris を使った組み込みアプリ開発ガイド
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
数値計算のための Python + FPGA
数値計算のための Python + FPGA
Polyphony IO まとめ
Polyphony IO まとめ
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
SDSoC でストリーム
SDSoC でストリーム
Analog Devices の IP コアを使う
Analog Devices の IP コアを使う
SDSoC と Vivado
SDSoC と Vivado
高速化のポイント
高速化のポイント
20周遅れ
20周遅れ
90分 Scheme to C(勝手に抄訳版)
90分 Scheme to C(勝手に抄訳版)
並列計算への道 2015年版
並列計算への道 2015年版
NiosII と RTOS について
NiosII と RTOS について
Synthesijer で作るFORTH仮想マシン
Synthesijer で作るFORTH仮想マシン
CNN でテニス選手の動きを解析する
1.
CNN でテニス選手の動きを 解析する (有)シンビー
2.
自己紹介 • 鈴木量三朗 月刊誌に連載中!!
3.
ゴール:例1 backhand Youtube から
4.
ゴール:例2 service return Youtube から
5.
ゴール:例3 Double hand 謝淑薇(シェイ・スーウェイ) 実は両手打ちのフォア Youtube
から
6.
NN ってなんでしょう?
7.
そもそも NN って何? … … … 0の確率 3の確率 8の確率 9の確率 ……手書き 文字 Network 結果は 確率
8.
パーセプトロン 1 𝑥1 𝑥2 𝑎 𝑦 h( ) 𝑏 𝑤1 𝑤2 𝑎
= 𝑏 + 𝑤1𝑥1 + 𝑤2𝑥2 𝑦 = ℎ(𝑎) 典型的なh は シグモイド関数 ℎ 𝑥 = 1 1 + exp −𝑥 重み バイアス 入力データ 出力データ
9.
シグモイド関数 ℎ 𝑥 = 1 1
+ exp −𝑥
10.
実際の計算 1 𝑥1 𝑥2 𝑎 𝑦 h( ) 𝑏 𝑤1 𝑤2 1.0 0.1 0.5 0.1 0.2 0.45
0.610639234 浮動小数点 どこまで精度 が必要かは 不明
11.
研究者の皆さんどうしているのか? TensorFlow 等で ネットワーク設計 データを用意して、 レンタルサーバで 計算 検証 できたネットワーク+パラメタ Cのソース生成 コンパイルして自分の PCやサーバで実行
12.
TensorFlow • Python でネットワーク設計 http://qiita.com/icoxfog417/items/fb5c24e35a849f8e2c5d が参考になる 𝑦
= 𝑥2 + 𝑏 import tensorflow as tf def x2_plus_b(x, b): _x = tf.constant(x) _b = tf.constant(b) result = tf.square(_x) result = tf.add(result, _b) return result 𝑥 𝑏 square add
13.
Tinier YOLO Xilinx の資料から
14.
NN のデモ • MNIST –
手書き数字認識 • Cifar10 – 画像を10種類に分類するデモ • YOLO – 画像から物体認識(Object Detection) • Dorefanet – 画像の分類(Classfication)
15.
CNN と YOLO
16.
CNN って何? CNN では畳み込み処理をする 0.1
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 重みパラメタ 畳み込み処理
17.
畳み込み処理(画像処理)
18.
BNN(*1) の MNIST BNN
の MNIST 情報がフラット 画像としての縦横を 放棄(?) *1 あくまで Xilinx が提供している BNN の MNIST の話。CNN の MNIST もある。
19.
YOLO のCNN(1層目) G R B 0.1 0.1
0.1 0.4 0.5 0.6 0.7 0.8 0.9 0.2 0.2 0.2 0.4 0.5 0.6 0.7 0.8 0.9 0.3 0.3 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.4 0.4 0.4 0.4 0.5 0.6 0.7 0.8 0.9 重み バイアス
20.
パーセプトロン(再掲) 1 𝑥1 𝑥2 𝑎 𝑦 h( ) 𝑏 𝑤1 𝑤2 𝑎
= 𝑏 + 𝑤1𝑥1 + 𝑤2𝑥2 𝑦 = ℎ(𝑎) 典型的なh は シグモイド関数 ℎ 𝑥 = 1 1 + exp −𝑥 重み バイアス 入力データ 出力データ
21.
YOLO の一部 任意の画像(例:768x576) 416x416 に正規化された画像 1)
入力画像の各画素を浮動小 数点数に正規化 2) numpy 用に重みとバイアスを変形 重み バイアス 3) numpy の matmul を使って計算 0.123456789 0.012345678 0.345689088 0.457898989 0101010110 1110010000 1110001010 0010110101 4) 3bit の情報に変換
22.
Tinier YOLO 10層 =
Deep じゃない CNN
23.
YOLO v3 Ayoosh Kathuria
さんの towardsdatascience.com 記事から
24.
結果 Tinier YOLO • Predicted
in 0.73 sec. • car: 95% • dog: 74% • bicycle: 56% YOLO v3 • data/dog.jpg: Predicted in 22.6 sec. • bicycle: 99% • truck: 92% • dog: 100%
25.
何をしたか? > git clone
https://github.com/pjreddie/darknet > cd darknet > make > wget https://pjreddie.com/media/files/yolov3.weights > ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
26.
Darknet • NN 用のフレームワーク –
YOLO はその一部 • 簡単にオレオレ NN 作成可能 – 分かった気になれる(危険!) • 数式をたどろう! • 論文読もう • ソースを読もう • 意味を考えよう データが問題。 学習はどうする? 誰かの作った ありもので いけたりする
27.
MNIST再考
28.
手書き認識(SHARP製) 1996? 2008?手書き認識自体は目新しい技術ではない
29.
MNIST with FPGA 4
と 9 を間違えてい る
30.
LeNet-5 どっかのパーセプトロンで 4と9の区別がついてない ホットポイント(?) があるはず
31.
LeNet-5 複製して再学習
32.
再学習 9 4 4と9が分離可能? (アイデアだけ)
33.
YOLO の重みパラメタ
34.
分布を見てみた 0
35.
対数的に見てみた もうすこし統計学的な表現はないのでしょうか? アドバイスください。
36.
データ表現に浮動小数点数は必須? Wikipedia より
37.
Google は bloat16 Wikipedia
より Google I/O ‘18の資料より Wikipedia より 精度はいらない? Exponent が重要? 分布もそれを示唆?
38.
とりたいアプローチ • 統計学(的) • 人間の感覚を信用しない •
既存のフレームワークをうまく使う – 使うだけにはしたくない
39.
テニスの動画に応用
40.
まずはプレイヤー特定 Youtube から
41.
誤認識しないように Youtube から
42.
サーブ/リターンは難しい? service return Youtube から
43.
ボールも難しい? backhand Youtube から
44.
目標 • 静止画からプレイヤーを特定する • 動画からプレイヤーを特定する •
動画からボールを特定する • 動画からプレイ内容/ポイント状況を特定する • 動画から優劣を特定(将棋に迫れるか?)
Download now