レビューメディア「ジグソー」

目。

目的に先行して物欲がきました。
高画質でトラッキング機能搭載のWebカメラが 1,980円だったのです。そしてその日は小遣い日だったのです。
結構大きな箱に入ってるので荷物になるなあ、という思いが一瞬よぎるもすぐに振り払って即決でした。

ロゴが「Logicool」ではなく「Logitech」なので、日本向けのバージョンではないようです。
またドライバなど付属ソフトは無く、本体のみの販売でした。
とはいえ、ドライバ含むソフト類は以下のサイトから入手することができます。

http://www.logicool.co.jp/ja-jp/435/3480?section=downloads

実はこのカメラ以前から目をつけていて、やってみたいこともあったのです。

1.1台のマシン(以下カメラサーバ)に複数のカメラを搭載してみたい
2.動体追跡をしてみたい
3.ネットブックに繋げて車載カメラにしてみたい

「やってみたい」のが目的で、使い道があるのかと言われると困っちゃうのですが。
とりあえず1はできたので、備忘録がてらご紹介します。

いまカメラサーバとして使ってるのはこのマシンです。



OS には Ubuntu 9.04 を使っています。
ファイルサーバとして常時起動しているので、ついでにカメラをつけて部屋への出入りを動体検知し、
入退室などを写真に記録できるようにしています。この仕組みには Motion というソフトを使っています。

Motion は、単純に導入するだけでマシンに接続されたカメラを認識してくれるため、
細かい設定は別にすればインストールするだけで手軽に使えます。
しかし 2台以上のカメラを認識させる場合はそれぞれ用に別の設定ファイルを用意して、
個別に設定を施す必要があります。
設定ファイルや公式サイトには丁寧に説明が書いてある(っぽい)ので
多分英語が読めれば難しい話でもないのだと思うのですが、
なにぶん英語が苦手なもので、フィーリングで読んでトライアンドエラーで結果を得ています。

Motion の公式サイトはこちらです。
http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome

さて前置きはこのくらいで、設定をご紹介します。

通常、Motion は motion.conf という設定ファイル 1つに全ての設定情報を記載します。
しかし 2 台以上のカメラを使う場合は、

・motion.conf
・thread1.conf
・thread2.conf

の 3つに設定情報を記載するようになります。
設定の内容は合理的で、thread1, 2 にはカメラ毎の固有の設定を、motion.conf には
共通的な設定をそれぞれ記載します。
何を共通に切り出して何を個別に設定するかは環境次第だと思いますが、僕は

1. ビデオデバイスの指定
2. ビデオデバイスの種類
3. カメラの呼び名
4. リアルタイムに画像を公開するポート番号
5. 動体検知時にキックするスクリプト
6. 保存時ファイル名

を個別に設定しました。1, 2 はどんな環境でも必須だと思います。
1台目のカメラの情報は元々 motion.conf に記載していたので、thread1.conf の
方は 1-4 だけを指定して、5, 6 は共通設定扱いとし、2台目のカメラには
上書きする設定を記載しています。
ここら辺りは今後カメラをどう運用するか決めてから詰めて行こうと思っています。

1, 2 の設定内容は何を書けばいいか困るかと思うのですが、
ビデオデバイスは /dev/ 配下にあるそれっぽいデバイス名を指定すればよいです。
本機はUSBカメラなので、/dev/ 配下を観察しながらカメラを指し、
増えたデバイスを指定すれば間違いないと思います。
僕の環境では /dev/video0 が 1台目、 /dev/video1 が 2台目です。
2のビデオデバイスの種類は本機の場合 8 に設定して認識しました。

また、忘れてはいけない大事なポイントとして、 motion.conf から
thread1.conf と thread2.conf を認識させてあげる必要があります。
motion.conf の末尾に thread ディレクティブがコメントアウトされているので、
コレをコメントインし、正しいパスに書き直します。
僕の環境では次のように書きました。

thread /etc/motion/thread1.conf
thread /etc/motion/thread2.conf


参考までに、僕の環境でのそれぞれの設定ファイルについて、
具体的な設定値は次の通りです(デフォルトのところなど一部省きます)。

--- motion.conf
daemon on
process_id_file /var/run/motion/motion.pid
setup_mode off

videodevice /dev/video0
input 8

width 640
height 480
framerate 2
text_right %Y-%m-%d\n%T-%q

target_dir /tmp/motion/
jpeg_filename %Y/%m/%d/%H/%Y%m%d_%H%M%S-%q

webcam_port 8081
webcam_quality 50
webcam_motion off
webcam_maxrate 1
webcam_localhost off
webcam_limit 0

control_port 8080
control_localhost on
control_html_output on

on_picture_save /home/motion/choice.sh %f

thread /etc/motion/thread1.conf
thread /etc/motion/thread2.conf


--- thread1.conf
# /etc/motion/thread1.conf

videodevice /dev/video0
input 8

text_left CAMERA 1
webcam_port 8081


--- thread2.conf
# /etc/motion/thread2.conf

videodevice /dev/video1
input 8

text_left Labo

jpeg_filename LABO-%Y/%m/%d/%H/%Y%m%d_%H%M%S-%q
on_picture_save none

webcam_port 8082


動体検知時にキックするスクリプトの設定を on_picture_save none と書いて無効化しています。
これやり方としてどうなんだろう、とも思いますがとりあえず問題は出てないので(syslogにも何もでないし)良しとしてます。

あと、この設定だとどんどんさくさくjpgファイルが溜まっていくので、cron で 14日前のファイル群を削除するよう設定しました。
設定の方法は色々あると思いますが、find で削除対象を探すと母数が多過ぎて負荷も時間もかかるので、

rm -R /tmp/motion/`date '+%Y/%m/%d' -d '14 days ago'`

のような決め打ちのスクリプトにしています。数がそんなに多くなさそうなら

/usr/bin/find /tmp/motion/ -name "*.jpg" -atime +14 -exec rm {} \;

のような方法の方が安全かもしれません。

カメラサーバに複数台のカメラを搭載する話は以上です。
動体追跡はまだ調査中です。できそうな話は見かけるのですが。
車載カメラ化は、同じく Motion を導入したネットブック↓にカメラを
追加認識させられたので(設定は1とほぼ被るので割愛)とりあえずそこまでとしています。



車持ってないので、今度レンタカーを借りるときにでも実験してみようと思っています。
  • 購入金額

    1,980円

  • 購入日

    2011年08月24日

  • 購入場所

    アキバパレットタウン

21人がこのレビューをCOOLしました!

コメント (2)

  • aoidiskさん

    2012/01/08

    追いかけ方が、後追いという感じは否めませんが、

    そんな、スピードのあるものはしませんもんね。

    初めのうちは、かなり遊べたな。

    今じゃ、定位置で使ってますけどね。

    いいですね。
  • YGGさん

    2012/01/08

    トラッキング、精度はともかく面白いなあ、と思いました。
    アレ、動きを検知した方向にカメラ向けるみたいですね。

    定点観測的に使っているのと、Linux からトラッキングを
    使うのがうまくいかないのとで僕も固定して使ってますが、
    画質と安定性がすばらしくて気に入ってます。

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから