概要
- データの発生源に近い場所でデータを処理する「エッジAIコンピューティング」が注目されている
- まず、エッジAIのおおまかな概念を理解し、実際にエッジAI端末を購入して使ってみる
- 今回はYOLOというアルゴリズムを利用して物体検知のデモの動作を確認する
エッジAIとは何か
- 通常AI利用する場合は、センサーから収集された各種データはマイコンボードやスマホ、ネットワークを経由し
、クラウド上や従来型のサーバーで解析処理を行う - エッジAIを利用すると、センサーから収集された各種データはマイコンボードやスマホ内で解析される
用意するもの
- Jetson Nano開発者キット 2GB
- RaspberryPi4 対応 電源セット(5V 3.0A) ←Jetson Nanoにも使えます
- USBカメラ
- microSDカード(32GB以上推奨)
- USB接続のマウス・キーボード
- HDMI接続のディスプレイ(4K推奨)
インストール
今回は、こちらのリポジトリの内容を利用させて頂いた
https://github.com/tsutof/tiny_yolov2_onnx_cam
パッケージ一覧を更新、必要なライブラリをインストール
# sudo apt update
# sudo apt install python3-pip protobuf-compiler libprotoc-dev libjpeg-dev cmake
Pythonの拡張モジュールcysonをインストール
# pip3 install --user cython
gitからリポジトリごとcloneし、環境変数を設定、pipコマンドでインストール
# git clone https://github.com/tsutof/tiny_yolov2_onnx_cam
# cd tiny_yolov2_onnx_cam
# export PATH=$PATH:/usr/local/cuda/bin
# python3 -m pip install -r requirements.txt
アプリケーション実行
Jetson nanoを最大クロック数で動作させるよう次のコマンドを実行
# sudo nvpmodel -m 0
# sudo jetson_clocks
物体検出プログラム実行(USBカメラ使用の場合は--cameraオプションで0を指定)
初回の起動時には、解析エンジンの作成処理が入るため、1分ほどの時間がかかる
# python3 tiny_yolov2_onnx_cam.py --csi --camera 0
一眼レフで撮影した写真をモニターに映し検出
※初回起動時、解析エンジン構築途中でカメラ映像が出ない不具合が発生したが、2回目以降は動作良好
(電力不足、メモリ不足のエラーが出ていたことを確認)
動物によっては誤検知もあり
AIで生成された著作権フリーの顔を検出
次回に向けて
- JetsonNanoの電力が足りないとのエラーが表示されていたので、電力周りを見直す
- 動画でも検知できるのかを試してみる