SlideShare a Scribd company logo
中原 啓貴
東京⼯業⼤学
マルチ深層学習タスクとROSによる
⾼機能なロボットを⽬指して
⾃⼰紹介
• なかはら ひろき (Hiroki Nakahara)
https://github.com/HirokiNakahara/
• 速いコンピュータを作りたい
• 多値論理: Ternary, RNS
• 計算機アーキテクチャ: FPGA, ASIC
• 深層学習
• ツールとか: GUINNESS (GUI based neural network synthesizer)
2
GUINNESS ツールフロー
.model
Binarized 
CNN Weight
Chainer
to
C++
Model
to
Text
Binarized 
Weight
.txt
PL code
.cpp
PS code
.cpp gcc
HLS
.elf
.bit
.pkl
Label Data
.txt
CNN Spec.
.py
Image Data
PS
PL
Exe. data
Bit stream
BRAM
FPGA
GUIによる
操作
ユーザの
学習⽤画像
GPU上で学習
FPGAベンダの
システム設計ツールで
ビットストリーム⽣成
https://github.com/HirokiNakahara/GUINNESS
Deep Learning is Everywhere
4
Applications
• Robotics, autonomous driving, security, drones…
5
Object Detection
6
Person
J. Redmon and A. Farhadi, "YOLOv3: An Incremental Improvement," arXiv, 2018
Person
Boat
Semantic Segmentation
7E. Shelhamer, J. Long and T. Darrell, "Fully Convolutional Networks for Semantic Segmentation,"  IEEE Trans. on 
Pattern Analysis and Machine Intelligence, Vol.39, No.4, 2017, pp. 640 ‐ 651.
Pose Estimation
8
Z. Cao, T. Simon, S.‐E. Wei and Y. Sheikh, " Realtime Multi‐Person 2D Pose Estimation 
using Part Affinity Fields," CVPR, 2017.
Depth Map Prediction
9
D. Eigen, C. Puhrsch and R. Fergus, "Depth Map Prediction from a Single Image using a 
Multi‐Scale Deep Network," arXiv:1406.2283 , 2014.
Demo: Low‐end FPGA
10
Xilinx Inc. Zynq UltraScale+ MPSoC (ZU3EG)
30FPS (YOLOv2)
Demo: High‐end FPGA
11
Intel Corp. Arria 10 GX FPGA (10AX115N2F45E1SG),
166FPS (YOLOv2)
Demo
Segmentation (AlexNet‐based FCN), 50 FPS
12
まじめな話
• 超⾼齢者社会に向けて
• Home Support Robot (HSR)
13
本⾳
• ロボットを作りたい︕
14
Convolutional Neural Network (CNN)
• Convolutional + Fully connected + Pooling
• State‐of‐the‐art performance in an image 
recognition task
• Widely applicable
15Source: https://www.mathworks.com/discovery/convolutional‐neural‐network.html
Deep Learning Inference Device 
16
Flexibility
Power Performance
Efficiency
CPU
(Raspberry Pi3)
GPU
(Jetson TX2)
FPGA
(UltraZed)
ASIC
(Movidius)
• Flexibility: R&D costs for keeping on evolving 
algorithms
• Power performance efficiency
• FPGA has flexibility&better performance
Field Programmable Gate Array (FPGA)
• Millions of Look‐Up Tables (LUTs)
• Thousands of on‐chip memories and DSP blocks
• Programmable channels
• Dedicated IP macros (PCIe,DDR,MPU)
17Source: Intel Corp. Arria10 FPGA Device Family Overview
Improvements by Binarization
18
x1
w0 (Bias)
fsgn(Y)
Y
z
w1
x2
w2
xn
wn
...
x1 x2 Y
‐1 ‐1 1
‐1 +1 ‐1
+1 ‐1 ‐1
+1 +1 1
x1 x2 Y
0 0 1
0 1 0
1 0 0
1 1 1
EXNORs → Many MACs
Binary Precision → On‐chip Memory
Near Memory Realization by Binarization
E. Joel et al., “Tutorial on Hardware Architectures 
for Deep Neural Networks,” MICRO‐49, 2016. 19
On-chip
Memory
J. Dean, “Numbers everyone should know”
Source: https://gist.github.com/2841832
• High bandwidth (Left)
• Less power consumption (Right)
PYNQ + ⾼位合成 + ROS
http://www.pynq.io/
• C++で記述, HLSでIPコア(ROSノード)化
• Ubuntu 上のPythonでSW設計
→ROS Kinetic を利⽤
20
‐‐‐‐‐‐‐
‐‐‐‐‐‐‐
‐‐‐‐‐‐‐
‐‐‐‐‐‐‐
‐‐‐‐‐‐‐
‐‐‐‐‐‐‐
http://www.pynq.io/
プロトタイプ
21
ホストPC
(Ubuntu16.04+ROS Kinetic)
FPGA (ZCU104 Board)
ホストPCのカメラ
アクチュエータ
Roomba
約8万円
ミドルクラス
FPGA搭載
(Zynq Ultra Scale+)
Roomba以外の
電源(omnicharge)
ホストPCとFPGAはEthernetで接続
22
⼈をストーカー
追跡する
ロボット
→
警備員
ロボット
Multiple DL Tasks
• Taskonomy [Zamir, CVPR2018 (best paper)]
• http://taskonomy.stanford.edu/
• 26種類のタスクを同時に学習・実⾏
• ロボットでやりたい︕
23
まとめ
• FPGAを使うと⾼性能なDLをROSで扱える(といいな)
• オンチップメモリ利⽤
• Pynqフレームワーク
• 設計難易度が⾼いのがネック
→フレームワークを開発中
• マルチ深層学習タスク
• 複数画像処理+⾳声処理も可能
24

More Related Content

PDF
DSF2018講演スライド
PDF
FPGAX2016 ドキュンなFPGA
PDF
FPGAX2019
PDF
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
PDF
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
PDF
(公開版)FPGAエクストリームコンピューティング2017
PDF
SBRA2018講演資料
PDF
高位合成でDeep learning
DSF2018講演スライド
FPGAX2016 ドキュンなFPGA
FPGAX2019
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
(公開版)FPGAエクストリームコンピューティング2017
SBRA2018講演資料
高位合成でDeep learning

What's hot (20)

PPTX
深層学習 第4章 大規模深層学習の実現技術
PDF
Verilog-HDL Tutorial (1)
PDF
Tensor flow usergroup 2016 (公開版)
PDF
(公開版)Reconf研2017GUINNESS
PDF
Nested RNSを用いたディープニューラルネットワークのFPGA実装
PDF
Binarized Neural Networks
PDF
モデルアーキテクチャ観点からのDeep Neural Network高速化
PDF
Convolutional Neural Network @ CV勉強会関東
PPTX
畳み込みニューラルネットワークの研究動向
PDF
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
PDF
ディープラーニング最新動向と技術情報
PDF
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
PPTX
Res netと派生研究の紹介
PDF
深層学習入門
PDF
semantic segmentation サーベイ
PDF
GRU-Prednetを実装してみた(途中経過)
PPTX
CNNの構造最適化手法について
PPTX
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
PPTX
Pred net使ってみた
PDF
PreadNet
深層学習 第4章 大規模深層学習の実現技術
Verilog-HDL Tutorial (1)
Tensor flow usergroup 2016 (公開版)
(公開版)Reconf研2017GUINNESS
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Binarized Neural Networks
モデルアーキテクチャ観点からのDeep Neural Network高速化
Convolutional Neural Network @ CV勉強会関東
畳み込みニューラルネットワークの研究動向
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
ディープラーニング最新動向と技術情報
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Res netと派生研究の紹介
深層学習入門
semantic segmentation サーベイ
GRU-Prednetを実装してみた(途中経過)
CNNの構造最適化手法について
多層NNの教師なし学習 コンピュータビジョン勉強会@関東 2014/5/26
Pred net使ってみた
PreadNet
Ad

Similar to ROS User Group Meeting #28 マルチ深層学習とROS (20)

PDF
16th_ACRi_Webinar_Kumamoto-Univ_Okawa_20240308.pdf
PPTX
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
PDF
マイクロソフトが考えるAI活用のロードマップ
PDF
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
PDF
実社会・実環境におけるロボットの機械学習 ver. 2
PPTX
Image net classification with Deep Convolutional Neural Networks
PDF
Deep Learningと画像認識   ~歴史・理論・実践~
PPTX
「機械学習とは?」から始める Deep learning実践入門
PDF
FPGA, AI, エッジコンピューティング
PDF
GTC 2016 ディープラーニング最新情報
PDF
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
PDF
IROS2020 survey
PPTX
2018/06/23 Sony"s deep learning software and the latest information
PDF
20140726.西野研セミナー
PDF
[DL輪読会]Making Sense of Vision and Touch: Self-Supervised Learning of Multimod...
PDF
TAI_GDEP_Webinar_1a_27Oct2020
PDF
MANABIYA Machine Learning Hands-On
PDF
MIRU2018 tutorial
PDF
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
PDF
MIRU_Preview_JSAI2019
16th_ACRi_Webinar_Kumamoto-Univ_Okawa_20240308.pdf
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
マイクロソフトが考えるAI活用のロードマップ
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
実社会・実環境におけるロボットの機械学習 ver. 2
Image net classification with Deep Convolutional Neural Networks
Deep Learningと画像認識   ~歴史・理論・実践~
「機械学習とは?」から始める Deep learning実践入門
FPGA, AI, エッジコンピューティング
GTC 2016 ディープラーニング最新情報
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
IROS2020 survey
2018/06/23 Sony"s deep learning software and the latest information
20140726.西野研セミナー
[DL輪読会]Making Sense of Vision and Touch: Self-Supervised Learning of Multimod...
TAI_GDEP_Webinar_1a_27Oct2020
MANABIYA Machine Learning Hands-On
MIRU2018 tutorial
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
MIRU_Preview_JSAI2019
Ad

More from Hiroki Nakahara (19)

PDF
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
PDF
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
PDF
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
PDF
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
PDF
FPT17: An object detector based on multiscale sliding window search using a f...
PDF
A Random Forest using a Multi-valued Decision Diagram on an FPGa
PDF
Altera sdk for open cl アンケート集計結果(公開版)
PDF
Naist2015 dec ver1
PDF
FPL15 talk: Deep Convolutional Neural Network on FPGA
PDF
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
PDF
Verilog-HDL Tutorial (15) software
PDF
Verilog-HDL Tutorial (15) hardware
PDF
Verilog-HDL Tutorial (14)
PDF
Verilog-HDL Tutorial (13)
PDF
Verilog-HDL Tutorial (12)
PDF
Verilog-HDL Tutorial (11)
PDF
Verilog-HDL Tutorial (9)
PDF
Verilog-HDL Tutorial (8)
PDF
Verilog-HDL Tutorial (7)
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPT17: An object detector based on multiscale sliding window search using a f...
A Random Forest using a Multi-valued Decision Diagram on an FPGa
Altera sdk for open cl アンケート集計結果(公開版)
Naist2015 dec ver1
FPL15 talk: Deep Convolutional Neural Network on FPGA
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (7)

ROS User Group Meeting #28 マルチ深層学習とROS