M5Stack UnitV2を使って動態検知を行う

2021/11/18に公開

初期設定

WiFi APを有効にする

https://docs.m5stack.com/en/quick_start/unitv2/update
上記公式サイトにとんで、SDカードの中に最新のFirmWareを書き込んで、本体をbootすると、
M5Stack UnitV2自体がアクセスポイントになる。
WiFi欄にM5STACKが表示されていれば成功。接続すると、M5Stackのネットワークに入れる。

unitv2.py or 10.254.239.1をブラウザに打ち込むとUIが表示される。

SSH接続を行う

M5Stackのネットワークに入った状態で、ターミナルからSSH接続を行う。

ユーザー名:m5stack
IPアドレス:10.254.239.1
パスワード:12345678

であるから、下記のコマンドをターミナルに打ち込んでSSH接続を行う。

ssh m5stack@10.254.239.1  #背面に書いてあるIPアドレス

M5Stackを他のWiFiに接続する

M5Stackにsshで入った状態で、/etc/wpa_supplicant.confを開き、接続したいWiFiのssidとpasswordを下記のように追記する。
※ただし、2.4GHz帯(Gの方)しか対応していないので、要注意。

network={
ssid="@@@@@@@@"
psk="#########"
}

下記ページのWiFiの箇所を参照した。
https://docs.m5stack.com/en/quick_start/unitv2/config

/etc/wpa_supplicant.confに追記が出来たら保存して、M5Stackの電源を入れ直す。
そうすると、自動的に指定したWiFiに繋がる。
もう一度、SSH接続を行ってifconfigを行うと、wlan0の箇所にDHCPでのIPアドレスが書いてあるので、こちらをブラウザに打ち込むと、UIが表示される。
ifconfig
上記の例では192.168.11.30がIPである。

UI

各機能紹介

https://docs.m5stack.com/en/quick_start/unitv2/base_functions
ここに全て書かれているが、簡単に紹介する。

1.CameraStream

★★☆
カメラに移る動画をリアルタイムに反映するだけ。

2.CodeDetector

★★★
QRコードを認識して、画角内のQRコードの位置とリンク先を教えてくれる。

3.ObjectRecognition

★★★
Yolo-Fastest(20class)とNanoDet(80class)のモデルが既に実装されており、
こちらで物体検知を行うことができる。
もちろん別のモデルをアップロードしたり、削除したりすることもできる。
(※私の誤操作でYolo-Fastestのモデルを削除してしまった。。)

Yolo-FastestとNanoDetのソースコードに関してはこちら。
https://github.com/dog-qiuqiu/Yolo-Fastest
https://github.com/RangiLyu/nanodet

NanoDetで物体検知を行った結果はこちら。
ぬいぐるみもハサミも検知してくれている。
ただ、他の昨日と比べると、カメラ画像のラグがやや大きい。(一秒程度遅れる)

4.ColorTracker

★★☆
指定した色の範囲内の色を探してくれる。
ただ、指定方法がLab色空間に基づいており、慣れるまでに時間がかかるのが厄介。
(Lは明度、a,bは補色空間ということだ。)
詳しく知りたい方はこちらを参照してほしい。Lab色空間

下記では青色を検出している例である。

5. LaneLineTracker

★☆☆
曲がった道(状のもの)を検知して、その間に直線をひくと言う風変わりな機能。
Color Trackerと同様に検出対象の色の範囲を指定できるみたいだが、
機能しているか怪しかった。
うまく曲がっている曲線を見つけられなかったので、ゲーミングチェアの背面で試した例が下記である。

6. Target Tracker

★★☆
画面内に写っている物体の内、ターゲットとなる物体を矩形で囲うと、
その後物体を移動させてもその位置を追いかけてくれる。
カメラの解像度に追いつける速さ以上になると追跡できなくなる。
また、形状で判断しているので、形状が変わるようなものは追いかけてくれない。
(ぬいぐるみを倒したりすると、形状が変わったと言う判断になるため追跡できなくなる。)

こちらが追跡前に矩形を指定した時、

位置を変えても追跡できている

7. Motion Tracker

☆☆☆
動いているものを特定し、座標を返してくれる。
ただ、物体検知があまりにも敏感すぎて、淡い影なども検知してしまうため、
矩形だらけになり、使用は不可能なのではないだろうか?

8. Online Classifier

☆☆☆

Discussion