SlideShare a Scribd company logo
1 of 12
Download to read offline
Raspberry Pi Zero
で、監視カメラ
静止画を用いた動体検知
2018/06/23 第5回 Python勉強会@仙台
つかったもの
• Raspberry Pi Zero W
• Kuman カメラモジュール Raspberry Pi用 カメラマウント
• Raspbian GNU/Linux 9 (stretch)
• Python 2.7.13
• OpenCV 2.4.9.1
• Python2系ならaptでインストール可能
https://docs.opencv.org/master/d2/de6/tutorial_py_setup_in_ubuntu.html
• Flask 1.0.2
• Webフレームワーク 撮影した画像の確認ページを表示
監視カメラの動作
• 1秒おきに静止画を撮影
• 前回撮影した画像との差分から、動体を検知
• 動体を検知した場合は、画像を保存
• 動体なしなら、画像は保存せずに破棄
動体検知のしくみ OpenCVで画像処理
フレーム間差分法
1. カメラモジュールで撮影した静止画をグレースケールで展開
2. メディアンフィルタでノイズ除去
3. 2値化
4. 1秒前に撮影した静止画と比較
5. 比較結果の差分が閾値以上ならば動体ありと判定
監視してみた その1
• 1秒前の静止画との差分画像
• 白色が差分、差分が閾値以
上なら動体検知
監視してみた その2
スズメの侵入を検知!!
監視してみた その3 失敗例
風で木が一斉に揺れて、複数カ所
の影が動き、差分が閾値を超えて
動体と判断ミス
背景が動きやすい場所は不利
Raspberry Pi Zeroに実装 やってみてわかったこと
• フレーム間差分を1秒以下にできない
• 今回のロジックだと、差分を取得するまでの処理時間が1秒弱
• もっと詳細な動きを判定したいならRaspberry Pi 3など使ったほうがよさそう
• SDカードの書き込みが遅い
• 画像の書き込みに2秒以上かかっていた
• 動体検知と同一スレッドだと、画像の書き込み中は、動体検知が停止
• マルチスレッドにし、画像の書き込みは別スレッドで実行して回避
撮影した画像の確認ページ
Raspberry Pi Zeroにnginx+uWSGI+Flaskで実装
動体検知の通知 LINE Notify
• POSTでLINEにメッセージを送れるサービス
課題
• 監視対象が動き続けると、通知が激しく連呼される
• LINE Notify の回数制限にひっかかる
• 山の中での検知に失敗したように、状況に合わせたロジックがほしい
• Raspberry Piから直接通知を避け、通知専用サーバがあるといいかも
以上。

More Related Content

What's hot

サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会slankdev
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くTetsuyuki Kobayashi
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料slankdev
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPythonTakuya Nishimoto
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメTetsuyuki Kobayashi
 
CSRを自動生成する!
CSRを自動生成する!CSRを自動生成する!
CSRを自動生成する!Taichi Ishitani
 
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開Makoto Abe
 
電子工作のためのPython
電子工作のためのPython 電子工作のためのPython
電子工作のためのPython Takuya Nishimoto
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3mganeko
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)Tetsuyuki Kobayashi
 
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境Satoshi imai
 
OFF4G Hokkaido LT
OFF4G Hokkaido LTOFF4G Hokkaido LT
OFF4G Hokkaido LTJyun Tanaka
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVMKoichi Sakata
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
最近流行りのビルドツールとは
最近流行りのビルドツールとは最近流行りのビルドツールとは
最近流行りのビルドツールとはTakahiro Maki
 
フロントエンド開発の3ステップ(npm事始め)
フロントエンド開発の3ステップ(npm事始め)フロントエンド開発の3ステップ(npm事始め)
フロントエンド開発の3ステップ(npm事始め)hashedrock
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみたkinneko
 

What's hot (20)

サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
 
CSRを自動生成する!
CSRを自動生成する!CSRを自動生成する!
CSRを自動生成する!
 
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
 
電子工作のためのPython
電子工作のためのPython 電子工作のためのPython
電子工作のためのPython
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)
 
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境
 
OFF4G Hokkaido LT
OFF4G Hokkaido LTOFF4G Hokkaido LT
OFF4G Hokkaido LT
 
171116 nishimoto-mruby
171116 nishimoto-mruby171116 nishimoto-mruby
171116 nishimoto-mruby
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVM
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
最近流行りのビルドツールとは
最近流行りのビルドツールとは最近流行りのビルドツールとは
最近流行りのビルドツールとは
 
フロントエンド開発の3ステップ(npm事始め)
フロントエンド開発の3ステップ(npm事始め)フロントエンド開発の3ステップ(npm事始め)
フロントエンド開発の3ステップ(npm事始め)
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 
rpi_handson_2
rpi_handson_2rpi_handson_2
rpi_handson_2
 

Similar to 20180623 第5回python勉強会@仙台 発表資料

SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)catmoney
 
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Yosei Ito
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Naoki Matsumoto
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
170731 深層学習による顔認識入室記録
170731 深層学習による顔認識入室記録170731 深層学習による顔認識入室記録
170731 深層学習による顔認識入室記録shimane-itoc
 
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出marsee101
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4openrtm
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2Etsuji Nakai
 
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」Tsukasa Sugiura
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解するTakuya Nishimoto
 
PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装Hirokatsu Kataoka
 
Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部openrtm
 
Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法Shunsuke Kikuchi
 
Raspberry pisym
Raspberry pisymRaspberry pisym
Raspberry pisymopenrtm
 

Similar to 20180623 第5回python勉強会@仙台 発表資料 (20)

SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
 
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
170731 深層学習による顔認識入室記録
170731 深層学習による顔認識入室記録170731 深層学習による顔認識入室記録
170731 深層学習による顔認識入室記録
 
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
 
Kivy studies
Kivy studiesKivy studies
Kivy studies
 
some topic of ffmpeg
some topic of ffmpeg some topic of ffmpeg
some topic of ffmpeg
 
go-apt-cacher/mirror
go-apt-cacher/mirrorgo-apt-cacher/mirror
go-apt-cacher/mirror
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
 
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装
 
Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部
 
Pykonjp2014
Pykonjp2014Pykonjp2014
Pykonjp2014
 
Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法
 
Raspberry pisym
Raspberry pisymRaspberry pisym
Raspberry pisym
 

Recently uploaded

LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルCRI Japan, Inc.
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルCRI Japan, Inc.
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用KLab Inc. / Tech
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfTakayuki Nakayama
 

Recently uploaded (8)

LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 

20180623 第5回python勉強会@仙台 発表資料