UnitV で金魚ステータス判別テスト ーエッジAI活用への道 15ー

Home > IoT > UnitV で金魚ステータス判別テスト ーエッジAI活用への道 15ー
すき 1
うんこ 0

金魚水槽監視システムがだいぶ形になってきまして、いよいよ本題のエッジAIの活用です。

ここではUnitVで金魚を認識してその座標から金魚のステータスを判別できるかの検証です。
金魚は寝るとプカ~っと水中で浮いているので、就寝中は座標が変化しないはずです。

それでは実験スターティン
 

 

構成

UnitVとM5StickCを4ピンケーブルで接続して、UnitVで金魚を認識して 座標をUARTでM5StickCに送ります。

M5StickCは受け取った金魚座標をWiFiでUDPブロードキャストします。

 

オリジナル金魚モデルで画像認識

金魚の認識モデルは以前に作ったお手製のものを使用します。

オリジナル金魚認識モデルの生成 ーエッジAI活用への道 3ー

ファームウェアは M5StickV_Firmware_1022_beta.kfpkg を使用し、 Kflash_GUIで書き込みました。

金魚モデル(kmodelファイル)はアドレス0x600000に書き込みました。

UnitVコード(MaixPy IDE)

コードはYolo-digit-detector/micropython_code/racoon_detector.py を参考にして作成し、MaixPy IDEで書き込みました。

金魚を認識して その中心座標(x, y)をUART送信します。
画角は224×224。

 

 
 
 
 
 
この投稿をInstagramで見る
 
 
 
 
 
 
 
 
 
 
 

HomeMadeGarbage(@homemadegarbage)がシェアした投稿

M5StickCコード(Arduino IDE)

UnitVからの金魚座標をM5StickCで受けてUDPで送信しました。

 

実験の様子

UnitVで水槽を監視して金魚ちゃんの位置を認識します。

 
水槽の横にUnitVを配置してデータをとってみました。

座標プロット

M5StickCからUDP送信される座標(x:横、y:縦)をPCで受けてプロットいたしました。

以下、縦軸が$\sqrt{x^2+y^2}$ 横軸が時刻のグラフです。

  • 2/11 14:50~2/12 7:40

     
  • 2/12 22:48~2/13 9:36

グラフより1時~5時の間で明らかに移動量が減っており就寝していることが見て取れます。

意外とガッツリ休んでるんですねww
なんだか可愛い 😀 

おわりに

AIカメラで金魚を認識し、その座標から移動量の推移を監視して金魚の就寝が判別できそうだという結論に至りました。

次はこの移動量から就寝を検知して自動動画撮影を目指したいと思います。

ではまた!
 

参考

次の記事

金魚水槽運用状況のご報告 ーエッジAI活用への道 16ー

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください