【物体検知】ヤクルトさん来られたことを分析し、Teams通知してみた(環境構築 実装編) - myantyuWorld/ap_cat_decision GitHub Wiki
毎朝、本社にはヤクルトさんが来られて、ヤクルトを売りに来てくれます。
購入頻度の高い管理部は本社奥側にいて、気づけず、毎回声掛けしに行っています。
毎回面倒なので、ITっぽく解決してみよう、ということで本題です。
まずは、今回作成する「ヤクルトさん通知システム」のシステム構成概要です。
まずは、ラブパイをインストールします。詳細は割愛。
その後、"motion"(*)をインストールします。設定で検知した際の処理として、curlを設定できます。
この設定に、サーバー側PGを指定します(撮影した写真を送信し、物体検知モデルを動かすPGのURLを指定)
(*) : Motion 動体検知で写真撮影ができるモジュール
動体検知したときの設定を行います
以下のファイルに記述すると、動体検知のタイミングで設定したURLに画像つきでHTTPリクエストするようになります。
/etc/motion/motion.conf
on_picture_save curl -X POST -H -F "imageFile=@%f" http://hogehoge
ラズパイから送信された写真を後から見ることができるよう、サーバーに保存する処理を記述します。
詳細はPython と Flask で RESTful API を開発する
"写真保存処理"を行った後、その画像を使用して、物体検出モデルであるYolov5を用いた解析処理を記述します。
今回は、Flaskで実装したAPIがリクエストされたらその処理中にサブプロセスとして、Yolov5解析処理を動かすよう実装しました。
詳細は、Python subprocess
最後に、実際に画像を引数にして、yolov5物体検知・分析処理(*)を実行します。
詳細は「yolov5」を参照(ダニエル・グレイグカッコいい)
実行できるサンプルはこちら
(*) : すでに学習済みのモデルがあるので、今回はこちらを使用して実行してみます。
<>
<>