概要
- データの発生源に近い場所でデータを処理する「エッジAIコンピューティング」が注目されている
- まず、エッジAIのおおまかな概念を理解し、実際にエッジAI端末を購入して使ってみる
- 前回までで、YOLOというアルゴリズムを利用して物体検知のデモの動作を確認した
- Node-REDを使って検出結果のペイロードを拾ってみる
エッジAIとは何か
- 通常AI利用する場合は、センサーから収集された各種データはマイコンボードやスマホ、ネットワークを経由し
、クラウド上や従来型のサーバーで解析処理を行う - エッジAIを利用すると、センサーから収集された各種データはマイコンボードやスマホ内で解析される
用意するもの
- Jetson Nano開発者キット 2GB
- RaspberryPi4 対応 電源セット(5V 3.0A) ←Jetson Nanoにも使えます
- USBカメラ
- microSDカード(32GB以上推奨)
- USB接続のマウス・キーボード
- HDMI接続のディスプレイ(4K推奨)
インストール
tiny_yolov2というライブラリで物体検出できるようにしておく
https://github.com/tsutof/tiny_yolov2_onnx_cam
【過去記事】
https://qiita.com/cami_oshimo/items/55406a7c5e532d53cc9a
MQTTブローカーのmosquittoをインストールする
# sudo apt install mosquitto
mosquittoの動作状況を確認する
# systemctl status mosquitto
Node-REDをインストールする
Jetson Nano 2GBの場合は、メニューからPreferences→Softwareをクリックする
検索窓にNode-REDと入力し、インストールする
(表示されない場合はOSのアップデートを行ってみる)
Jetson NanoのIPアドレスを確認しておく
# ip a
Node-REDを起動する
メニュー→Run→node-red.desktop.launch
mqtt in/outノードの設定は以下の通り(伏せている部分はJetson NanoのIPアドレス ポート1883は自動でセットされる)
Tiny YOLOV2からMQTTでデータを送る
# cd tiny_yolov2_onnx_cam
# python3 tiny_yolov2_onnx_cam_mqtt.py --host (Jetson NanoのIPアドレス) --topic test --port 1883
Node-REDのデバッグ表示部分に検知されたデータ(この場合はTV Monitor)が確認できる
次回に向けて
- 他の物体でも検出結果を確認し、デバッグログと照合して精度を確かめてみたい
- MQTTで他の機器が制御できないか考えてみる