AI coordinator

人工知能 & ロボティクス

© AI coordinator All rights reserved.

20178/8

動体撮影に特化した監視カメラの作成方法

動く物体を検知して写真撮影をする監視カメラ

OpenCVを使えば動体撮影に特化した監視カメラを作成することができるのではないかと考え、実装に作成してみました。

当記事はその内容の紹介になります。

 

この監視カメラが実装できれば、無駄にストレージ容量を消費することなく動く物体を撮影することができるようになるので便利ですね。

しかも、その写真を撮影した時に連絡できるシステムを構築すれば、色々な用途に使えそうな気がします。

ラズパイでmotionを使った記事の紹介は多いのですが、OpenCVを使った記事が少なかったので記事にしてみました。

 

最近ではラズパイで簡単にカメラを使用することができるようになりました。

つまり、少しのプログラミング知識があれば好きなところに小型の監視カメラを設置できるわけです。

1万円あれば、恐らく実装可能です。

今度チャレンジしてみようかと考えています。

 

でも悪いことには使用しないように。

 

活用は自己責任でお願い致します。

 

仕組みの説明

どんな仕組みで写真撮影をするのかを簡単に説明します。

どうやって動いている物体を検出するのかというと、カメラ映像のフレーム間差分を利用して動いている物体を特定します。

以前紹介した記事とほぼ同じ仕組みですね。

カメラ映像から動く物体の輪郭検出が簡単にできた話

 

フレーム間差分が発生したら、動いている物体があると判断させます。

その差分部分を四角で囲み、写真を出力する仕組みで構築してみました。

 

ただこの仕組みの欠点は、カメラの前に動く物体が居続けると、永遠と撮影し続けてしまうという点です。

その解決策として、インターバルを設けるようにしています。

写真をとったら次の撮影までに最低2秒必要みたいな、そんなインターバルです。

この辺はお好みで調整してください。

 

ソースコード

 

小さい物体の動きを無視したい場合は、以下の条件式で100の数字をさらに小さい数字に変更してください。

この辺は実際に動かしながら調整してみると良いと思います。

 

前述した通りインターバルを2秒取るようにしています。

撮影間隔はこのパラメータを変更してください。

 

DeepLearningを使えばもっとすごい監視カメラが作れそう

物体検出といえばDeepLearningです。

例えば、特定の人物の画像をDeepLearningで学習させて、その人物が検出できたら連絡させる監視カメラなんてのも作成できます。

 

う〜ん、世の中には既にありそうなシステムですね。

 

自分で作るのは無理!でも作って欲しいという方は連絡ください。

筆者も作れそうな気がしています。

お値段は相談ベースで。(笑)

 


その他の物体検出記事はこちらから

 

それではまた。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

20176/6

大量の画像から顔の部分のみトリミングして保存する方法

OpenCVを使った顔抽出 前回の記事で、OpenCVを使った顔認識を紹介しました。 今回は大量の画像から顔の部分だけをトリミングし…

20177/15

SlackからPepperを発話させる超簡単な方法

SlackからPepperを喋らせてみる 久しぶりのPepperネタです。 最近、Slackbotを学習したので、今度はPepper…

Deep Learningを活用したChatBotをKerasで実装してみよう

Deep Learningを活用したChatBot Kerasを使ったChatBotの作成に挑戦したので、環境準備も含めて紹介します。 …

映像物体検出(SSD_Keras)を簡単に実装する方法 for maxOS

簡単に映像物体検出を試す方法 以前の記事で、ubuntuを使った映像検出を紹介しましたが、OpenCVの環境構築等に結構戸惑ったので、もっ…

20178/12

監視カメラで撮影した画像を自動でSlackにアップロードする方法

画像確認はSlackが便利 前回紹介した動体撮影に特化した監視カメラの作成方法で、保存した写真をどうやって簡単に確認できるか模索していたと…

物体検出用SSD_Kerasで使える学習モデルの作成方法

学習モデルの作成 サンプルソースコードのSSD_kerasを使ってリアルタイム映像からの物体検出ができるようになると、自分で学習させたモデ…

20173/11

Pepperコントローラー for Python

PythonでPepperコントローラーを作成 Pepperを簡単に動かせるPepper用コントローラーをPythonで作成してみましょう…

20178/15

DeepLearningのモデル可視化方法とmatplotlibで学習の様子を可視化する方法

学習モデルの可視化と学習の様子を可視化してみた 何を今更といった内容の記事です。 DeepLearningにチャレンジしてきた筆者で…

20176/1

jupyter notebookの便利な使い方や起動しなくなった時の対処法

便利なショートカットキー jupyter notebookを便利に使用する上で、最低限知っておけば良いショートカットキーを紹介します。 …

畳み込みニューラルネットワークを使った画像検出モデルの作成方法

深層学習(ディープラーニング)で画像認識に挑戦 以前の記事でMNISTを使った数字画像認識の学習モデルを作成しました。 でも、やっぱ…

ページ上部へ戻る