11.3K Views
June 10, 19
スライド概要
ユーザー目線でのJetson Nanoの紹介と、Jetson NanoでTensorFlowを使って画像認識する方法・Jetson Nanoの可能性に関して
2019/06/10 TFUG ハード部:Jetson Nano, Edge TPU & TF Lite micro 特集にて発表(Google六本木ヒルズ)
https://karaage.hatenadiary.jp/entry/2019/06/12/073000
闇のエンジニア/変なデジカメ開発中/ディープラーニング芸人/Raspberry Piとからあげ大好き/はてなブログ書いてます
Jetson Nano x TensorFlowで 始めるモバイルAI画像認識 TensorFlow User Group Tokyo からあげ
自己紹介 名前:からあげ(本名は内緒) お仕事:愛知県の組み込み系エンジニア 家族:妻・娘(それぞれ1人) 趣味:カメラと電子工作 karaage. という技術系(?) のブログを書いています http://karaage.hatenadiary.jp
作ったものの一部
主な著書・協力 ラズパイマガジン・日経Linux・ 自分で動かす人工知能
受賞 Aidemynote 特別賞受賞
ディープモザイク
今日はユーザー代表として Jetson Nano x TensorFlowの可能性に関し て忖度なしで語りたいと思います
最初に質問 ラズパイの10倍〜50倍以上の性能の 小型で安価なマイコンボード これなーんだ?
答え Jetson Nano!! (からあげ調べ) 控えめに言って 最・高!
今日のコンテンツ - 1ユーザーとしてのJetson Nano 解説 - Jetson Nano x TensorFlowで画 像認識 - Jetson Nanoの可能性・まとめ
Jetson Nanoの闇に関して
Jetson Nanoの闇
Jetson Nanoの闇
おわかりいただけただろうか…
Jetson Nanoの闇
ハードウェア開発は 苦労がたくさんありますよね!
Jetson Nano 楽々セットアップ
Jetson Nano SD作成 公式オススメのbalena Etcherが良い GUIで楽々作成
Jetson Nano TensorFlowセットアップ 長いコマンドをたくさんうつのが大変なので、画像認識に必要 なソフト(TensorFlow)を一通りセットアップできるスクリプ トを作成しました。 以下3行のコマンドを実行して待つだけです $ git clone https://github.com/karaage0703/ jetson-nano-tools $ cd jetson-nano-tools $ ./install-tensorflow.sh
おすすめ開発方法 Source code Remote Machine (Jetson Nano) ssh VS Code Local Machine VS CodeをJetson Nanoに入れるのは大変なので VS CodeにSSH FS拡張を入れてローカルマシンから SSHごしにファイル編集するのがおすすめ
その他TIPS Qiitaにまとめていますので参考にしてみて下さい https://qiita.com/karaage0703/items/b14c249aa33112669ee4
Jetson Nano vs ラズパイ徹底比較
どう考えてもJetson Nanoは ラズパイを意識しているように思える
Jetson Nano vs ラズパイ似ているところ SDカードにOS含めたプロ グラム格納してSDブート 5V USBコネクタ給電 USBポート x 4 HDMIポート, Ether GPIOピン配 コンパチ ラズパイ用カメラが 接続できる
Jetson Nano vs ラズパイ性能比較 Jetson Nano Raspberry Pi 3 CPU ARM Cortex-A57 ARM Cortex-A53 RAM 4GB 1GB GPU NVIDIA Maxwell 128core (CUDA対応) Broadcom VideoCore Ⅳ USB USB 3.0x4 USB 2.0x4 WiFi/BT None WiFi/BlueTooth 価格※ 約1万2千円 約6000円 ※ スイッチサイエンスの価格を四捨五入 価格は2倍、性能は4倍!?その名はJetson Nano!
Jetson Nano良いところまとめ - SDカードを焼けるPCが1台あればセットアップ可能(他 のJetsonは基本Linux環境が必要なはず) - 5V USBコネクタ給電で電源の取り回しがよい - セットアップしたら既にCUDAインストール済みなので、 CUDAインストール地獄にはまらない - 小型で高画質なラズパイカメラが使える 良いところたくさん!
時代はJetsonですよね!
Jetson Nano x TensorFlowで 画像認識(画像分類・物体検出)
Why Jetson Nano x TensorFlowで画像認識? ・ディープラーニングは画 像認識が得意 ・Jetson Nanoは小型で高 画質なラズパイカメラ v2が 使える 引用:https://deepmind.com/research/alphago/alphago-vs-alphago-self-play-games/
What is 画像分類と物体検出? 人の写真 People 画像分類 その画像が何かを分類 物体検出 画像のどこに何があるかを検出 フリー素材提供:変デジ研究所 https://lab.hendigi.com
Jetson Nano x TensorFlowで 画像分類
ディープラーニングの画像分類開発フロー 入力画像 入力画像 入力画像 入力画像 教師データ 学習 学習モデル 学習のフロー テスト画像 学習モデル 結果 認識のフロー 学習と認識と2つのステップで実現
学習に関して 入力画像 入力画像 入力画像 入力画像 教師データ 学習 学習モデル 学習のフロー Google Colaboratoryという環境構築不要・無料で 使えるブラウザ上のPython実行環境を使用 教師データの収集からTensorFlow(Keras)を使っ た学習と学習モデルの保存まで行う
学習の方法 有料noteでチュートリアル公開してます https://note.mu/karaage0703/n/n7bc5dd2d8e51 その他の優良なチュートリアルは、以下記事参照ください https://karaage.hatenadiary.jp/entry/2018/10/29/073000
Jetson Nanoで画像分類 以下3行で学習済みのモデルを使った画像分類の テストが可能 $ git clone https://github.com/karaage0703/keras-pi $ cd keras-pi $ python3 inspect̲camera.py -d='jetson̲nano̲raspi̲cam' Mac・ラズパイでも、同じソフトが動きます (一部オプションなど変更要)
Jetson Nanoで画像分類
デバイス毎の画像認識時間 モデル:自作の超小型ニューラルネットワーク 1枚の画像の認識にかかる時間を測定 認識時間[秒] 0.100 0.075 0.050 0.025 0.000 ラズパイ Jetson Nano iMac ラズパイより5倍高速
Jetson Nanoで物体検出
ディープラーニングの物体検出開発フロー 入力画像 入力画像 入力画像 入力画像 教師データ 学習 学習モデル 学習のフロー テスト画像 学習モデル 結果 認識のフロー 開発のフロー自体は画像分類と同じ 学習モデルはより高度な(重い)ものに
TensorFlow Object Detection API Googleが公開している、物体検出のためのソフト https://github.com/tensorflow/models/tree/master/research/object̲detection より引用
TensorFlow Object Detection APIの良い点 -様々なアルゴリズム(SSD, RCNN, … ect)が 試せる -学習から推論まで可能なソフトが揃っている -すぐ使える学習済みのモデルが「Model Zoo」 として公開されている
TensorFlow Object Detection APIの悪い点 使い方が難しい (多少)使いやすくするためのツール 「Object Detection Tools」を作りました https://github.com/karaage0703/object̲detection̲tools
「Object Detection Tools」の利点 •学習ソフトと推論ソフトを分離し、巨大な「Object Detection API」無しで手軽に推論(物体検出)が試せるスクリプトを用意 •学習の手間を減らすファイル(設定ファイル等)を用意 •NVIDIA TensorRTによるJetson Nanoへのモデル最適化スクリプ トを用意 詳しくはブログ記事参照下さい https://karaage.hatenadiary.jp/entry/2019/05/27/073000
Jetson Nanoで物体検出 以下5行のコマンドで、学習済みのモデルダウン ロードから物体検出まで可能 $ cd && git clone https://github.com/karaage0703/ object_detection_tools $ cd ~/object_detection_tools/models $ ./get_ssdlite_mobilenet_v2_coco_model.sh $ cd ~/object_detection_tools $ python3 scripts/object_detection.py -l='models/cocolabels-paper.txt' -m=‘models/ ssdlite_mobilenet_v2_coco_2018_05_09/ frozen_inference_graph.pb’ -d=‘jetson_nano_raspi_cam’
Jetson Nanoで物体検出
デバイス毎の画像認識時間 モデル:SSD Lite Mobilenet v2使用 1枚の画像の認識にかかる時間を測定 認識時間[秒] 1.0 0.8 0.5 0.3 0.0 ラズパイ Jetson Nano iMac ラズパイより3倍高速 このくらいならラズパイでも使える?
デバイス毎の起動時間 モデル:SSD Lite Mobilenet v2使用 推論プログラムが起動するまでに時間を測定 起動時間[分] 50 40 30 20 10 0 ラズパイ Jetson Nano iMac 起動時間はなんと約50倍高速!
NVIDIA TensorRTによる高速化 NVIDIA TensorRTを使いJetson Nanoにモデルを 最適化することで、高速化が可能 公式のチュートリアルを元に簡単に変換できるスク リプトを作成しました。使い方は以下のQiita記事参 照下さい https://qiita.com/karaage0703/items/67050f2418aa6bb3851a
デバイス毎の画像認識時間 モデル:SSD Lite Mobilenet v2使用 1枚の画像の認識にかかる時間を測定 認識時間[秒] 0.3 0.2 0.2 0.1 0.0 TensorRT 使用前 TensorRT 使用後 NVIDIA TensorRTにより約2倍の高速化
Jetson Nanoでの物体検出の注意点 Jetson NanoでTensorFlowのObject Detection APIそのままで動くモデルは結構限られている ・SSD Lite Mobilenet V2 ・SSD Mobilenet V1※ ※ TensorRTでの最適化が必要 自上記2つのモデルだけでしか動かせていない 逆に言えば、上記2つのモデルであれば PCと同じ感覚で使用することが可能
Jetson Nanoのさらなる可能性 ・オリジナルの楽器 ・自作ロボットの頭脳として ・人工知能デジカメ ・AI教育活用
ディープラーニング骨格検出を活用した ヒューマンシーケンサー
ロボットの頭脳として ロボット用のデファクトスタンダードのミドルウェアROS(Robot Operating System)と相性が良い。 ROSもコマンド3行で簡単セットアップできるスクリプト作っています $ git clone https://github.com/ karaage0703/jetson-nano-tools $ cd jetson-nano-tools $ ./install-ros-melodic.sh ルンバも簡単に制御可能(なはず)
ROS+Intel Realsense D435 センサー(ロボットの眼)としては Intel Realsense D435がオススメ
ディープラーニングを使った自作デジカメ(案) 学習 学習モデル 教師データ 学習モデル ディープラーニングを使ってフィルムカメラの味わいを再現
Jetson Nanoの教育活用 AI教育用途にとても良いと思う 引用:https://robotstart.info/2019/05/29/utsunomiya-u-jetson.html https://robotstart.info/2019/06/08/jetbot-workshop-dllab.html
まとめ ・Jetson Nano x TensorFlowの組み合わせ は手軽なAIモバイル機器として最高! ・Jetson Nanoを使えば、ビジネスや趣味で 新しい可能性につながるかも!
Jetson Nano x TensorFlowで 「想像」から「創造」へ From Imagination to Creation
ご静聴 ありがとうございました