Home - myantyuWorld/ap_cat_decision GitHub Wiki

Welcome to the ap_cat_decision wiki!

使用技術

raspberrypi + motion + shell
flask + subprocess run
yolov5 + teams通知

実装タスク

  • [1]ラズパイ環境構築
    ・ 環境構築済み、社内に持っていき、wifiにつながせてもらえば完了

  • 【ラズパイ】動体検出プログラム作成
    ・ 動体検知が、写真撮影、YOLO側の分析開始トリガー用APIを叩くタイミング

  • 【ラズパイ】動体検知して、写真をローカルにため込むように設定するとこまでいけば設定完了

  • 【ラズパイ】検出したら、写真撮影し、API叩く(YOLOマシン)
    ラズパイで動体検知、写真をLINEに送信する
    ・ 写真撮影したら、ローカルの特定フォルダに日付フォルダを作成し保存する(← モデル構築用の写真として使用する)
      か、ラズパイ側で保存するのではなくて、YOLO側で保存するほうがよいか(ディスク容量的にも) ・ APIのパラメータは以下を想定

{
 photo : "base64化した写真"
}
flaskで、写真受け取り、保存し、"python detect.py --source {file path}"を叩くAPIを作成し、
detect.pyの中をちょっといじって、Teamsに通知するように修正したらよさそう

■ detect.py

純正だと、特定フォルダの特定ファイルパスを引数に当該PGを呼び出すと、写真に矩形を描画して、新しい画像として保存する
そこの処理はいらないので、なにか物体を検知して、それが"yakulto"ラベルだったら、Teams通知するように改修すればよさそう
↓
L133付近
========================================================
               # Print results
                for c in det[:, -1].unique():
                    n = (det[:, -1] == c).sum()  # detections per class ★ n == "yakulto"だったら、Teams通知するように改修する
                    s += f"{n} {names[int(c)]}{'s' * (n > 1)}, "  # add to string
========================================================
  • [8]TBD

工数

No.5については、収集した写真を使って、モデルを構築する作業、ラベリングする工数にする
-※ ラベリングについてはこちら

精度によっては、追加の画像を使用して、継続的にモデル構築を進めていく
分析時のパラメータはに記録し、記事にする際に欠けるようにする

No. 工数
1 1.25
2 8.125
3 4.375
4 3.125
5 3.125
6 3.125
7 8.125
合計 31.25

スケジュール

  • 9/3w
    ラズパイ本社玄関に配置、ヤクルトさんの画像収集開始(撮影した写真をラズパイにどんどん保存できるようにしておく)
  • 9/4w
    YOLOマシン製造完了(ラズパイからAPIキックされて、分析し、Teamsに通知まで)
  • 9/5w
    【テスト】実際に分析させて、評価
  • 10/1w
    運用開始(以降は継続的にモデルを再構築していく)

cf.