
パソコンショップで2千円ぐらいから入にはいるウェブカメラを使って、防犯や生態観察等に利用できるソフトを開発し、無料ソフトとして公開しています。名前は「Msako」(発音:[mu-sa-ko] むさこ、んさこ)としました。女性の名前ではありません。スワヒリ語でhunting、hunt、search、chaseの意味です。と言っても私自身は、まったくスワヒリ語を知りませんのでツッコまないで下さいね(^^;
「窓の杜」で紹介していただきました。
http://www.forest.impress.co.jp/docs/review/20100714_380574.html
警報器アダプタは、市販されている種々の警報器をパソコンに接続して、Msakoから制御できるようにするための装置です。(詳しくはこちら)
※新たに無線タイプを開発中です。
DC12-24V1Aタイプ
|
DC12-24V190mAタイプ
|
AC100V2Aタイプ
※試作機
サンプル
※上の動画がご覧いただけない場合は、こちらを試してみてください。
※上の動画は、本ソフトが出力した画像ファイルをGiamによって動画化(アニメーション化と言ったほうが適切)したものです。


その他のサンプル
ダウンロード
■Msako本体
※総合ソフトウェアダウンロードサイトVectorからもダウンロードできます。ただし、登録手続きの都合で本サイトより1、2週間遅れます。
■警報器アダプタ用デバイスドライバー >>詳しくはこちら
■業界技術標準「SES E 0005 防犯警報音規格」に適合した警報音
※マイドキュメント\Msako\soundsフォルダの中にWAVファイルを格納すると、Msakoの警報音として認識されて使用できます。
■データベース使用
■MsakoAPIプログラミング (Experimental) >>詳しくはこちら
概要
動体検知ソフト Msako
Webカメラなどのビデオキャプチャ装置を使って動体を検知し、警報音やメールで知らせます。
■動体検知
同時に2つ以上の動体を検知できます。また、カメラの取付け状態に応じて画像を回転することが可能。
■マルチスポット検知
時間帯に応じて、映像上の特定の領域だけを動体検知の対象とすることができます。この領域はいくつでも指定できます。
■警報
音や光で動体を検知したことを知らせます。パトライトの点灯など外部機器の制御も可能(※ハードウェアは別途ご用意ください)。
■映像保存
検知した動体の映像を画像ファイルに保存します。ファイル名規則を設定して、保存したファイルの分類、整理ができます。
■データ保存
保存した画像ファイルの場所や、検知した動体の映像上の範囲、重心の位置などの情報をデータベースに保存します。対応するデータベースは、CSV、Excel、Access、SQL Server、Oracle、MySQL、PostgreSQL など。
■メール送信
動体を検知したことをすぐにメールで知らせます。このメールには検知した動体の画像が添付されます。
■コマンド実行
動体を検知したときに、コマンドやメッセージを使って利用者独自の処理を実行します。
■ライブ配信
カメラで撮影した最新の画像をファイル転送プロトコルを使って指定したサイトへ定期的に転送します。
■タイマー
設定した時刻になると、自動的に動体検知を開始・終了します。手動による開始・停止と組み合わせると6つの動作パターンがあります。
■リモコン
本ソフト内蔵のミニWWW サーバーを作動させることによって、携帯電話や外出先のパソコンなどから現在の映像を確認したり、動体検知の開始・停止を遠隔操作できるようになります。
| 動作環境 | Windows 7, Windows Vista, Windows XP |
| カメラ | Windowsで使用可能なUSBカメラなど |
履歴
[7/8] バージョン1.7.8リリース。動体検知メッセージの仕様を変更した。
[7/5] バージョン1.7.7リリース。動体検知メッセージの仕様を変更した。
[7/1] バージョン1.7.6リリース。動体検知メッセージの仕様を変更した。
[6/30] バージョン1.7.5リリース。動体検知メッセージの仕様を変更した。
[6/28] バージョン1.7.4リリース。動体検知メッセージの仕様を変更した。
[6/23] バージョン1.7.3リリース。動体検知メッセージの仕様を変更した。
[6/21] バージョン1.7.2リリース。MFCをスタティックリンクした。
[6/16] バージョン1.7.0リリース。複数のカメラに対応した。
[6/10] バージョン1.6.1リリース。動体検知メッセージのパラメータとして、イベント番号とフレーム番号を渡すようにした。
[6/9] バージョン1.6.0リリース。動体を検知したときに、メッセージを発して他のアプリケーションに通知する機能を追加した。バージョン1.5.5で対処し切れなかった続きタイマー機能におけるバグに対処した。
[6/2] バージョン1.5.5リリース。タイマー機能におけるバグに対処した。
[5/27] バージョン1.5.3リリース。マルチスポット検知機能の処理を高速化した。
[5/26] バージョン1.5.2リリース。マルチスポット検知機能で領域の優先順序を指定できるようにした。
[5/25] バージョン1.5.1リリース。マルチスポット検知機能で楕円形の領域も指定できるようにした。
[5/23] バージョン1.5.0リリース。マルチスポット検知機能を追加した。
[5/20] バージョン1.4.1リリース。選択されているイベントリストの行をもう一度選択してもイベントの画像が表示されない問題に対処した。ソフトウェは配布の軽量化のため、本体とデバイスドライバーのパッケージを分離した。
[5/18] バージョン1.4.0リリース。警報用外部機器として警報器アダプタをサポートするようになった。検知したイベントの画像を確認できるようになった。
[4/27] バージョン1.3.1リリース。通知メールのあて先アドレスが2つ以上指定できるようになった。また、通知メールの送信先メールサーバの認証に対応するようになった。
[4/22] バージョン1.3.0リリース。ライブ配信機能を追加。通知メールのあて先アドレスが2つまで指定できるようになった。また、通知メールの送信先メールサーバのポート番号を設定できるようになった。
[2/15] Windows 7にて動作確認。
[2/11] バージョン1.2.3リリース。リモコン機能に関して、UPnPルータに対応。
[2/7] バージョン1.2.2リリース。データベース保存に失敗するバグを修正。
[2/2] バージョン1.2.1リリース。開始・停止のボタンを大きい丸ボタンにしました。ただ、それだけ(^^;
[1/27] バージョン1.2.0リリース。リモコン機能追加。詳しくは、下記の補足資料。停止ボタンを押した時に異常終了する不具合に対処。
[1/20] バージョン1.1.0リリース。メールへ画像添付可能に。データベース機能追加。外部機器制御機能追加。
[1/16] Vectorに登録されました。同じカテゴリーの中には、競合(強豪)がひしめいており、はたして上位へ食い込めるか???
[1/10] バージョン1.0.0リリース。
既知の問題
[7/14]コマンド実行タブのチェックボックスWM_COPYDATAが記憶されない。
[7/1]ロジクールのUSBカメラOrbit MP(QVR-13)をバージョン1.7.5で使う場合、メーカー製のドライバだと「映像サブディレクトリの作成に失敗しました」と表示されて起動しない。メーカ製のドライバをアンインストールすると、OS標準のUVCドライバ(USBビデオデバイス)になり問題なく動作する。
[6/20]バージョン1.7.0を使用した場合、起動時に「サイドバイサイド構成が正しくないため、アプリケーションを開始できませんでした」エラーが表示される場合がある。このエラーは Windows の既知の問題で、主に Windows Vista で発生する。マイクロソフトの下記のパッケージをインストールすることによって解決できる。バージョン1.7.1以降では、MFCをスタティックリンクすることによってMsako側でこの問題を回避した。
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
[6/2]バージョン1.5.3以前のバージョンにおいて、タイマー指定時刻になっても開始、終了しない場合がある。バージョン1.5.5にて修正。
[5/16]Windows2000では動作しないことが確認された。
[4/25] バージョン1.3.0以前のバージョンにおいて、イベント発生通知メールに添付される画像の撮影時刻が、0000-00-00 00:00:00.000と表示される。バージョン1.3.1にて修正。
[2/7] バージョン1.2.1以前のバージョンで、データベース保存に失敗する。バージョン1.2.2にて対処。
[1/26] バージョン1.1.0で、停止ボタンを押した時に異常終了することがある。バージョン1.2.0にて対処。
技術情報
>>コアロジックを開発している段階の記録
>>オープンソースの動体検知ソフトMotionのコアロジック
補足資料
最大サンプル速度と処理時間
最⼤サンプル速度は、使⽤するパソコンの処理能⼒に応じて適切に設定する必要があります。設定する最⼤サンプル速度は、観測された処理時間によって次のように設定してください。

例)処理時間が50 ミリ秒ぐらいだった場合、最⼤サンプル速度は20fps 以下にする。
1 / 0.05 = 20
検出レベル
検出レベルは、撮影の⽬的や環境に応じて適宜設定してください。検出レベルを低く設定すると感度が良くなり映像上の少しの変化にも反応するようになります。ただし、あまり検出レベルを下げすぎると、例えば屋外の場合、次の例のように⾵で揺れる樹⽊や流れる雲などにも反応してしまいます。
防犯のように、誤報を嫌うような使⽤⽬的であれば、検出レベルを低くすることは慎重にしなければなりません。⼀⽅、例えば野⽣動物の検知のような場合は、誤報があってもいいから取りこぼさないほうが良いような⽬的の場合は、カメラのノイズレベルぎりぎりまで低く設定してもかまわないでしょう。

イベントとフレーム
本ソフトでは、検知した連続する⼀連の移動をイベントと呼びます。イベントは、いわば1 つの場⾯(シーン)のようなものです。各イベントには1 から始まる固有の番号が付けられます。また、検知した瞬間の画像1 枚1 枚をフレームと呼びます。通常、イベントは複数のフレームで構成され、各フレームにはイベントごとに1から始まるフレーム番号が付けられます。

イベント間隔
イベントとイベントの間には、動体を検知しない時間があります。本ソフトは、⼀定時間以上、動体を検知しなかったならばイベントは終了したとみなします。本ソフトでは、この⼀定時間のことをイベント間隔と呼びます。

マルチスポット検知
|
|
|
データ
総移動量:
1フレームに含まれる移動したと認められるピクセル数の合計を表します。
ターゲット:
移動したと認められる1まとまりのピクセルの集合、すなわち移動した1つの物体。ターゲットは、画像に表示される白い四角形の枠に内接します。ソフトのロジック上は、ターゲットの数に制限はありませんが、現バージョンでは実⽤的な観点からターゲットを最大で3個までしか計算しません。
ターゲット移動量:
ターゲットに含まれる移動ピクセル数です。
ターゲットの範囲:
白い四角形の枠で表示される領域です。フレームの左上隅を原点とし、横方向をX軸、縦方向をY軸とする座標系における、X軸方向の最小値x1、Y軸方向の最小値y1、同様にX軸方向の最大値x2、Y軸方向の最大値y2で囲まれる領域です。

重心と色:
本ソフトは、捕捉したターゲット1 つ1 つについて、その重⼼と⾊を同定します。重⼼は、観測された対象物の2 次元上の移動ピクセルのヒストグラムの平均値です。⾊は、そのターゲットの最も典型的な⾊を算出します。

詳細設定
ブロックの大きさ:
画像領域をここで指定する長さ(単位はピクセル)を一辺とする小さな正方形の領域に分割して処理します。この値を小さくすると精度は上がりますが処理時間がかかります。
結合度:
ターゲットとターゲットの間の最短距離をブロックの一辺の長さ単位で表したもの。これ以上近い距離にあるターゲットは1つのターゲットとみなされます。
閃光を無視する:
全画素数のうち何%以上が移動したら閃光とみなし、移動として検知しないかを設定します。
頭部拡張補正:
ターゲットの領域の上半分を何%長くするかを表します。この補正をすると、ターゲットの白い矩形の範囲が広がります。
バッファ数:
過去にさかのぼって何フレーム前までの画像を保持するかを表します。バッファーを使って種々の計算をするので、バッファー数が多いと計算精度は上がりますが、処理時間がかかります。
MsakoAPIによる機能拡張 (Experimental)
MsakoAPIは、Msakoの機能を拡張するための手段の1つです。ユーザが作成したプログラムは、MsakoAPIを使用することによって、Msakoになかった新しい機能を追加することができます。MsakoAPIを使ってMsakoの機能を拡張するプログラムを作成するためには、Windowsのプログラミング技術が必要です。
応用例)
- 赤外線センサーで感知した異常をトリガーとして、照明を点灯しMsakoの動体検知を開始する。
- Msakoの動体検知に連動してリアルタイムに独自のハードウェア制御をする。
- 天候や、季節によって監視スケジュールを自動的に設定する。1日のうちで何度も開始・停止をするような複雑なスケジュールを管理する。
- Msakoが算出したデータを使い、更に高度なアルゴリズムによる学習機能を持った警報を出力する。
- Skype(無料IP電話)を使って遠隔から肉声による警告を行う。
- 時間帯や天候に応じて、検出レベルを自動的に調整する。
MsakoAPIは、.NETアプリケーション用のMsakoクラスライブラリです。このライブラリには、MsakoTranceiverクラスが含まれています。MsakoTranceiverクラスは、メッセージを使ってMsakoと通信をします。MsakoTranceiverクラスには、動体検知開始のためのStart、パラメータ取得のためのGetParameterなどのメソッドや、動体検知を知らせるMotionEventHandler などのデリゲートがあります。このクラスは、Visual Studioのツールボックス上にコンポーネントとして表示され、簡単にMsako用のアプリケーションプログラムが作成できます。

メール送信、ライブ配信、リモコンの違い
遠隔地から動体検知の様子を知ることができるという意味では、この3つは同じです。しかし、メールだけが動体を検知したことを知らせてくれます。メールに添付される画像は、検知した動体がもっとも大きく映し出されている1枚だけです。これに対して他の2つ、つまりリモコン、ライブ配信は、ブラウザーの機能を持った携帯電話やパソコンを使って最新の映像を「更新」することによって何枚でも見ることができます。では、この2つの違いは何でしょうか?本ソフトは、遠隔地からインターネットを介して動体検知の開始・停⽌を制御できます。これをリモコンと呼んでいます。リモコンの機能は、本ソフトに内蔵されたWWW サーバーによって実現されています。『予定外に早く帰宅するので、自分自身が検知されないように動体検知を解除したい』といったケースに役に立つのでは、、、一方、ライブ配信は、本ソフトとは別に稼動するWWWサイトへFTP(ファイル転送プロトコル)によって、定期的に撮影した画像ファイルを転送することによって実現されています。外出先などからは、このWWWサイトを閲覧することで、一番最近に転送された画像を見ることができます。ライブ配信は、リモコンの機能に比べれば、比較的簡単に設定ができます。



携帯電話のブラウザによるリモコン画面の例

タイマー
タイマーとは、動体検知を⾏う時間帯を限定する機能のことです。この時間帯になると⾃動的に動体検知が開始し、時間帯から抜けると⾃動的に動体検知を停⽌します。タイマーによる⾃動的な開始・停⽌と⼿動による開始・停⽌の操作を組み合わせると、次のような動作パターンが実現できます。なお、これらの動作パターンはリモコンでも同じように操作できます。
単純なパターン

⼿動でタイマー時間帯より早く始める

タイマー時間帯に⼀時中断し、再開する

タイマー時間帯内に予定より早く中⽌する

タイマー時間帯以外の時間に⼿動で開始・停⽌する

タイマーを使⽤せず、全て⼿動で動作させる

対応データベース
本ソフトで使⽤可能なデータベースは、ODBC仕様のデータベースです。これには、CSV ファイル、Excelシート、SQL Server、Oracle、MySQL、PostgreSQL などが含まれます。その他、ご使⽤のデータベースがODBC に対応するかどうかは各データベースベンダにお問い合わせ下さい。ODBCアドミニストレータ(Windowsに含まれている)を使って、これらのデータベースをMsakoに接続して使用する方法については「データベースの設定方法」をご覧ください。
外部機器制御
本ソフトが制御できる外部機器は、RS-232C まはたRS-232C と同等の機能を持ったUSB インターフェースの装置、それと当方が開発した警報器アダプタです。警報器アダプタは、市販されている種々の警報器をパソコンに接続して、Msakoから制御できるようにするための装置です。

警報器アダプタには次のタイプがあります。いずれも、USB2.0 フルスピード(12Mbps)仕様で、電源はバスパワーです。
[MS001] USB接続 半導体リレーAC100V2Aタイプ
[MS002] USB接続 半導体リレーDC12-24V190mAタイプ
[MS003] USB接続 メカニカルリレーDC12-24V1Aタイプ
警報器アダプタを接続すると、デバイスマネージャの画面には次のように表示されます。
次のようにして、接続した警報器アダプタそれぞれに自分がわかりやすい名前をつけて区別することができます。

また、Msakoの警報タブには、自動的に検出された警報器アダプタが次のように表示されます。

この警報タブで、イベント開始・終了時に警報器をどのように制御するかを指定します。警報器アダプタは、1台で複数の警報器の接点を制御できます。複数の接点を1台の警報器アダプタで制御する場合は、各接点に対応する記述をカンマで区切ります。各接点の状態は、1(ON)または0(OFF)で指定します。さらに必要に応じて、ONにしてから一定時間が経過したのち、OFFへ自動復帰させることができます。この自動復帰の時間は、10msから最大約10分の範囲で指定できます。
| ch0[,ch1[,ch2...]] |
ch# : 接点ごとの記述 val[=dur]
val : 接点の状態。ONの場合1、OFFの場合0
dur : 自動復帰時間を10ms単位で1から65535の範囲で指定。直前の=と供に省略した場合、または 0を指定した場合は、自動復帰しない。
例)イベント開始時に回転警告灯を点灯し、イベント開始時に消灯する

例)イベント開始時にサイレンをONにし、30秒後OFFへ自動復帰する

対応可能な市販の警報装置には次のようなものがあります。ただし、仕様上であり実機で確認しているわけではありません。また、機種によっては適合しない場合がありますので、電圧、電流等が適合するかどうかご自身でご確認ください。
パトライト社 各種警報装置
http://www.patlite.co.jp/product/
http://www.patlite.co.jp/product/detail.php?i=781
http://www.patlite.co.jp/product/detail.php?i=72
http://www.patlite.co.jp/product/detail.php?i=48

パナソニック 警報電子サイレン、警報赤ベル
カタログ

|
http://www.hallo-signal.co.jp/product/bb/bell.html
|
http://www.optex.co.jp/sec/dl/wired/bl-1/bl-1_catalog.pdf
|
http://www.arrow-elec.co.jp/product/product_detail.php?unique_id=XVS10
|
http://www.ohm-direct.com/shopbrand/012/016/X/
|
http://www.takex-eng.co.jp/ja/products/item_contents/632
http://www.takex-eng.co.jp/ja/products/sub_sub_index/5
|
http://www.e-bouhan.com/shohin03/030182.html
|
http://eleshop.jp/shop/g/g401915/
防犯システムへの応用
防犯カメラNAVI
自分で作ろう!自分で設置!防犯カメラの情報ページ
http://www.bouhan.co.jp/bouhan2/camera/index.htm
ライセンス
ソフトウェア使用許諾契約書
- 本ソフトウェアは、商用以外でお使いいただく場合は無料です。
- 商用でお使いいただく場合は、ライセンスを購入していただきます。
- 商用の解釈につきましては上記のソフトウェア使用許諾契約書に従っていただきます。
- ライセンス料は、1ライセンスあたり\8,200.-(税込み)です。
- ライセンスは、1マシンあたり1ライセンスです。
- 今後の更新版も追加料金無しでご利用いただけます。
- ライセンス購入は、ユーザーサポートや今後のバージョンアップを保証するものではありません。現行バージョンの機能や操作性等を、充分に納得された上で、ご購入ください。
ライセンス発行までの流れ
- 本サイト管理人宛、製品番号を添えてお申し込みください。製品番号は、Msakoの画面上部のタイトルバー上でマウスの右ボタンをクリックし、選択したバージョン情報画面上に表示されます。製品番号は長いので、コピーボタンを使って間違えないよう転記してください。
|

- 折り返しお振込み金額と振込先銀行口座をお知らせします。
- 当方指定の銀行口座へお振込みしていただきます。お振込み手数料はお客様にてご負担ください。
- 当方は、お客様のお振込みを確認したうえで、お申し込み時のお客様のメールアドレス宛、ライセンスファイルをお送りします。
- 受け取ったライセンスファイルを、上記バージョン情報画面から設定していただくと、ライセンス取得済みとなります。
ライセンスの再発行
- クラッシュなどの理由によりマシンの変更があった場合は、1回だけ無料で再発行いたします。
- ライセンス再発行時に、以前取得したライセンスの製品番号をお聞きしますので、新規にライセンスを取得したときに受け取ったメールを印刷して保管しておいてください。













