AI coordinator

人工知能 & ロボティクス

サイト運営者

© AI coordinator All rights reserved.

20178/8

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

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

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

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

 

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

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

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

 

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

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

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

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

 

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

 

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

 

仕組みの説明

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

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

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

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

 

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

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

 

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

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

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

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

 

ソースコード

 

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

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

 

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

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

 

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

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

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

 

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

 

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

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

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

 


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

 

それではまた。

関連記事

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

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

20173/3

Pepper用Python 2.7 SDK(MAC)セットアップ方法

コレグラフを使用しなくてもPepperを動かせるPython 2.7 SDKセットアップ方法 MAC編 プログラムソースをバリバリ記述しな…

YOLO v2の物体検出とVGG16の画像認識との組み合わせが凄すぎた!

YOLO v2にVGG16を組み合わせて使用してみよう ある日、閃きました。 YOLO v2の物体検出の精度に、VGG16の画像認識…

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

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

DeepLearningを活用した物体検出(SSD_Keras)を可能とするPepper

SSD_KerasをPepperにも 以前紹介したSSD_Kerasによる物体検出を、いつかPepperにも搭載できたら良いなぁなんて思っ…

20173/5

Pepper用Python 2.7 SDK(WIN)セットアップ方法

コレグラフを使用しなくてもPepperを動かせるPython 2.7 SDKセットアップ方法 Windows編 前回に続き、今回はWind…

20175/7

綺麗にAnacondaをアンイストールする方法 For macOS

Anacondaのアンインストールメモ macOSにインストールしたAnacondaのアンインストールに手こずったので、忘れないようにする…

Watson NLCに学習データを投入できるGUIの開発方法

Watson NLCに学習データを投入できる画面をPythonで実装する方法 Watson NLCに学習データを投入できる簡単な画面を開発…

20176/15

anacondaの使い方メモ

anacondaの使い方 忘れないようにanacondaの使い方を自分用にメモします。 よく使うコマンド anac…

201710/10

COZMOで楽しくプログラミング!親子で楽しむSTEM教育用ロボット

COZMOってなんだ? この記事はCOZMOを購入してから、コードラボを使ったプログラミング方法や、Pythonでプログラミングができると…

Tensorflowで映像からの美人女優顔検出学習モデルの見直し

以前の記事で紹介したモデルが使い物にならなかった 以前紹介したリアルタイム映像からの美人女優検出で作成した学習モデルは、とりあえず学習モデ…

ページ上部へ戻る