M5Stack UnitV2を使って動態検知を行う
初期設定
WiFi APを有効にする
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の箇所を参照した。
/etc/wpa_supplicant.confに追記が出来たら保存して、M5Stackの電源を入れ直す。
そうすると、自動的に指定したWiFiに繋がる。
もう一度、SSH接続を行ってifconfigを行うと、wlan0の箇所にDHCPでのIPアドレスが書いてあるので、こちらをブラウザに打ち込むと、UIが表示される。
上記の例では192.168.11.30がIPである。
各機能紹介
ここに全て書かれているが、簡単に紹介する。
1.CameraStream
★★☆
カメラに移る動画をリアルタイムに反映するだけ。
2.CodeDetector
★★★
QRコードを認識して、画角内のQRコードの位置とリンク先を教えてくれる。
3.ObjectRecognition
★★★
Yolo-Fastest(20class)とNanoDet(80class)のモデルが既に実装されており、
こちらで物体検知を行うことができる。
もちろん別のモデルをアップロードしたり、削除したりすることもできる。
(※私の誤操作でYolo-Fastestのモデルを削除してしまった。。)
Yolo-FastestとNanoDetのソースコードに関してはこちら。
NanoDetで物体検知を行った結果はこちら。
ぬいぐるみもハサミも検知してくれている。
ただ、他の昨日と比べると、カメラ画像のラグがやや大きい。(一秒程度遅れる)
4.ColorTracker
★★☆
指定した色の範囲内の色を探してくれる。
ただ、指定方法がLab色空間に基づいており、慣れるまでに時間がかかるのが厄介。
(Lは明度、a,bは補色空間ということだ。)
詳しく知りたい方はこちらを参照してほしい。Lab色空間
下記では青色を検出している例である。
5. LaneLineTracker
★☆☆
曲がった道(状のもの)を検知して、その間に直線をひくと言う風変わりな機能。
Color Trackerと同様に検出対象の色の範囲を指定できるみたいだが、
機能しているか怪しかった。
うまく曲がっている曲線を見つけられなかったので、ゲーミングチェアの背面で試した例が下記である。
6. Target Tracker
★★☆
画面内に写っている物体の内、ターゲットとなる物体を矩形で囲うと、
その後物体を移動させてもその位置を追いかけてくれる。
カメラの解像度に追いつける速さ以上になると追跡できなくなる。
また、形状で判断しているので、形状が変わるようなものは追いかけてくれない。
(ぬいぐるみを倒したりすると、形状が変わったと言う判断になるため追跡できなくなる。)
こちらが追跡前に矩形を指定した時、
位置を変えても追跡できている
7. Motion Tracker
☆☆☆
動いているものを特定し、座標を返してくれる。
ただ、物体検知があまりにも敏感すぎて、淡い影なども検知してしまうため、
矩形だらけになり、使用は不可能なのではないだろうか?
8. Online Classifier
☆☆☆
Discussion