RaspberryPi ラズパイでこんなのできるよ

ラズパイとOpenCVで監視カメラを自作してみた【前編】

どうも。まっきーです!

ラズパイとOpenCVを用いた「顔認証」「動体検知 」で監視(防犯)カメラを作成してみました。

「ラズパイを使って何かを自作したい!」と思っている方は参考にしてみてください!

初心者の方でもできるように説明していきます!

完成イメージ図

実装する主要機能は以下の3つです。

  • OpenCVで動体検知
  • 顔認識(end to endリンク)
  • LINE NotifyでLINEに通知

イメージ図のように、動体(不審な動き)を検知した場合、顔を認識した場合にLINEの通知を行うという簡易的な防犯カメラを作成していきます。

実際の動画

全体のフローチャート

全体的なフローは以下のようになります。

より実用的な監視(防犯)カメラにするために、動体検知後10秒以内に顔認証すれば、帰宅の通知。10秒たっても顔認証がされなかったら不審な動きと判断して通知を送るような機能にしてみました!

必要なもの

基本的に必要なものは以下の2つのみです!

用意するもの

  • Raspberry Pi 3B+
  • ラズパイカメラモジュール

ディレクトリ構造

「datasets,trainer,image」のディレクトリはあらかじめ作成しておきます。

必要なライブラリ等のインストール

やることは3つのみです。

  • OpenCVのインストール
  • カスケード分類器のダウンロード
  • LINE Notifyの登録

OpenCV

今回はOpenCVを使用しますので、OpenCVをダウンロードします。

ターミナルで以下のコマンドを入力してください。

カスケード分類器のインストール

「SecurityPJT」ディレクトリで実行します。

ダウンロードできない場合は「ラズパイ OpenCVインストール方法」 にも詳しく書いてありますので参考にしてみてください!

LINE Notify

LINENotifyの設定方法は「ラズパイからLINEに通知を送る with 人感センサー」に詳しくまとめてあるので、参考にしてください。(10分ぐらいで設定できます!)

参考記事
ラズパイからLINEに通知を送る with 人感センサー

どうも。まっきーです! 人感センサーで人を感知してLINEで送るシステム面白そう!と思って検索をしてみると、既にやっている人がたくさん… やはり凡人の考えることは基本的に誰かが行ってくれている。 あり ...

続きを見る

ソースコード

基本的にすべてのコードをコピペするだけで実装できると思います。細かなパラメーターの設定等、必要なところにはマークと解説を入れてあります!

body_detect.py

動体検知をするためのコードです。マークがついている行の値を変更することによって、動体検知の精度を変更することができます。適当に変更してみて、ご自身の環境に適した値を見つけてみてください!

動体検知の仕組みについては、「ラズパイとOpenCVで動体検知」で詳しく解説しています。

参考記事
ラズパイとOpenCVで動体検知

どうも。まっきーです。 監視カメラの準備段階として、動体検知を勉強をしました。 自分なりにまとめてみたので動体検知をやろうと思っている方の参考になればと思います。 本記事の内容 動体検知の流れ(コード ...

続きを見る

line.py

自身で取得したアクセストークンを入力することで、関数が使えるようになります!

face_recog.py

10秒たっても顔認証されなかったら...というのに対応させるために、timedeltaを使用しています。

マークしてある、namesのところは、登録する方の数に応じて名前をご自身で付け加えてください!

face_capture.py

顔認証用の画像を撮影するためのプログラムです。countの数を変えることによって、撮影する枚数を変更できます。

face_train.py

顔認証用画像の訓練用プログラムです。これはそのまま実行するだけで大丈夫です。

security_camera.py(メインのコード)

*顔認証後にtime.sleepを2秒加えました(11月6日) 

監視カメラプロジェクトのメインのプログラムです。

フローチャートの通りに書いてあります。idの値によって条件分岐しています。

実装の手順

実装の手順は以下のようになります

  1. face_capture.pyで訓練用の画像撮影
  2. face_train.pyで画像を訓練
  3. security_camera.pyを実行

この手順で実行することで、基本的な機能の確認ができると思います。

顔認証はコードの通り実行すれば問題ないですが、仕組みについて詳しく知りたい方は「ラズパイカメラとOpenCvを使って女優の顔認識してみた」を参考にしてみてください!

設置や自動起動については次回、やっていきたいと思います!

次に記事はコチラ→「ラズパイとOpenCVで監視カメラを自作してみた【後編】

-RaspberryPi, ラズパイでこんなのできるよ

© 2020 まきろぐ Powered by AFFINGER5