< 目 次 >
1 なぜ、Webカメラに注目するか
WebカメラはパソコンとUSB接続で使用し、簡単に観察対象をビデオファイルや静止画像に保存できる機能を持ってる。画像データの1秒間における記録可能枚数(=フレームレート)についてはWebカメラや接続しているパソコンの性能、あるいは使用したソフトウエア等の様々な条件によって異なるが、30フレーム/秒程度で保存が可能なので、やや早い動きもとらえることができる。また任意で数秒から数分間で記録されたjpeg形式の静止画像からビデオファイル(mpeg、swf形式等)のビデオファイルを作成することもでき、この機能を活用すれば、例えば植物が光に向かって曲がって伸びていくような、数時間かけなくては観察できないような現象を捉え、時間を縮小して観察することが可能になる。さらに、当然のことながら実物投影用のカメラとしても使うことができる。
Webカメラはもともと定点観測や映像も送れるコミュニケーション用のツールとして一般に提供されているが、上記のようなことから、使い方を工夫すれば教材作成や教材提示用として教育現場で優れたツールとなる可能性を持っているのではないかと考えている。またデジタルカメラやビデオカメラなどより価格が格段に安く、手に入りやすい。 しかしながら教育現場での活用事例はまだ少ないのが実情であり、これまで他の先生方が発表されているようなケースを聞いたことがない。このようなことから平成22年度に試行錯誤をしながら、実験方法の提示用教材を作成したり、植物の成長運動を捉えたり、物体の自由落下運動の解析するなど、いくつかの作成や実験観察を行ったので、それらについて報告する。なお、ここで紹介する物体の自由落下運動の解析は、勤務していた<静岡県立浜松南高校の理数科2年生の課題研究の一環として、主に生徒が行ったものであり、生徒の了解を得て掲載している。
Webカメラはもともと定点観測や映像も送れるコミュニケーション用のツールとして一般に提供されているが、上記のようなことから、使い方を工夫すれば教材作成や教材提示用として教育現場で優れたツールとなる可能性を持っているのではないかと考えている。またデジタルカメラやビデオカメラなどより価格が格段に安く、手に入りやすい。 しかしながら教育現場での活用事例はまだ少ないのが実情であり、これまで他の先生方が発表されているようなケースを聞いたことがない。このようなことから平成22年度に試行錯誤をしながら、実験方法の提示用教材を作成したり、植物の成長運動を捉えたり、物体の自由落下運動の解析するなど、いくつかの作成や実験観察を行ったので、それらについて報告する。なお、ここで紹介する物体の自由落下運動の解析は、勤務していた<静岡県立浜松南高校の理数科2年生の課題研究の一環として、主に生徒が行ったものであり、生徒の了解を得て掲載している。
2 使用したWebカメラ用のソフトウエアについて
下記4の「(1)実験方法を紹介したビデオファイルの作成事例」では、購入したWebカメラに添付されていたWindows上で動作するソフトウエア<注*1>を用いたが、その他の事例についてはLinux上で動くWebカメラ用ソフト「motion」を用いた。
この「motion」というソフトウエアは、主要なLinuxディストリビューションについて、パッケージ化されているので、簡単にインストールでき、またWebカメラ製品に添付されているWindows用のソフトに比べ、機能が豊富で様々な設定が可能である。使い方についての詳細は下の関連サイト<注*2>
等を参照してほしい。以下にこの「motion」の設定ファイルであるmotion.confファイルの中の主要なパラメータの設定例を紹介する。
動作目的 |
motion検出に関係なく、始めから動画を保存してゆく |
動画と静止画の両方を |
動画のみmotion |
静止画像(snapshot) |
|
主要パラメータ |
threshold |
適宜(300位が適当) |
適宜(300位が適当) |
||
framerate |
適宜(30程度) |
適宜(30程度) |
適宜(30程度) |
#でコメントアウト |
|
output_normal |
on または off |
on | off | off | |
output_all |
on | off | off | off | |
snapshot_interval |
0 | 0 | 0 | 適宜 | |
locate motion |
on | on | on | off | |
text_double |
on | on | on | on |
表1 Webカメラの動作目的に応じたmotion.confの主要パラメータの設定について
<各パラメータの意味>
threshold ・・・ 動きの検出に必要な画素数の変化量。動体検出の閾値。多すぎると検出感度が鈍くなる
framerate ・・・ 一秒間のコマ数最大で30
output_normal ・・・ on:静止画を保存する off:静止画を保存しない
output_all ・・・ on:動きがなくとも静止画を保存する。 Off:動きがなければ静止画を保存しない。
snapshopt_interval ・・・スナップショットの時間間隔を秒単位で設定
locate motion ・・・ on:動体検出の場合、動いた場所を四角で囲む。
text_doubule ・・・ on:画像の右下の日時と時間を示す文字の大きさを2倍にする
threshold ・・・ 動きの検出に必要な画素数の変化量。動体検出の閾値。多すぎると検出感度が鈍くなる
framerate ・・・ 一秒間のコマ数最大で30
output_normal ・・・ on:静止画を保存する off:静止画を保存しない
output_all ・・・ on:動きがなくとも静止画を保存する。 Off:動きがなければ静止画を保存しない。
snapshopt_interval ・・・スナップショットの時間間隔を秒単位で設定
locate motion ・・・ on:動体検出の場合、動いた場所を四角で囲む。
text_doubule ・・・ on:画像の右下の日時と時間を示す文字の大きさを2倍にする
3 使用機器
Webカメラ 製品名:Logicool Webcam C250
画像センサー:30万画素 ビデオキャプチャー機能 : 最大800×600 (ソフトウェア処理)
静止画キャプチャー機能 : 最大130万画素 (1280×1024) (ソフトウェア処理による)
フレームレート : 最大30 フレーム/秒
接続インターフェイス:USB2.0
パソコン 製品名: x27D(日本Shuttle社製ベアボーン)
CPU : Intel Atom 330 デュアルコア CPU チップセット : Intel 945GC + ICH7
マザーボードの規格 : MiniATX
メモリー : 1 x 240ピンDDR2 DIMM 2GB
HDD : 規格 2.5インチ
インターフェイス SerialATA
容量 250GB
回転数5400rpm
画像センサー:30万画素 ビデオキャプチャー機能 : 最大800×600 (ソフトウェア処理)
静止画キャプチャー機能 : 最大130万画素 (1280×1024) (ソフトウェア処理による)
フレームレート : 最大30 フレーム/秒
接続インターフェイス:USB2.0
パソコン 製品名: x27D(日本Shuttle社製ベアボーン)
CPU : Intel Atom 330 デュアルコア CPU チップセット : Intel 945GC + ICH7
マザーボードの規格 : MiniATX
メモリー : 1 x 240ピンDDR2 DIMM 2GB
HDD : 規格 2.5インチ
インターフェイス SerialATA
容量 250GB
回転数5400rpm
4 結 果
(1)実験方法を紹介したビデオファイルの作成事例
・・・・唾液腺染色体の観察方法(ユスリカの幼虫から唾液腺を取り出す過程を記録)
・・・・唾液腺染色体の観察方法(ユスリカの幼虫から唾液腺を取り出す過程を記録)
(2)一定の時間間隔で静止画像を撮り、それをビデオファイルに変換して対象の動きを捉えようとする試みの事例
(ア)アサガオの葉や茎が示す屈光性
(イ)アサガオの幼植物体の屈光性
(ウ)アサガオの蔓(ツル)の成長運動
【説 明】
上記(2)については、いずれも、motion.confファイルの設定は表1の動作目的の中の「静止画像のみ一定時間ごとに出力する」の設定にしておいた上で、
(ア)は12時32分から15時59分までの3時間27分間に1分ごとに撮影
(イ)は10時54分から16時16分までの5時間22分間に2分ごとに撮影
(ウ)は7時22分から16時56分までの9時間34分間に2分ごとに撮影
それらを、Mencoderを用いてmpegやmpeg4形式のビデオファイルに変換した。
上記(2)については、いずれも、motion.confファイルの設定は表1の動作目的の中の「静止画像のみ一定時間ごとに出力する」の設定にしておいた上で、
(ア)は12時32分から15時59分までの3時間27分間に1分ごとに撮影
(イ)は10時54分から16時16分までの5時間22分間に2分ごとに撮影
(ウ)は7時22分から16時56分までの9時間34分間に2分ごとに撮影
それらを、Mencoderを用いてmpegやmpeg4形式のビデオファイルに変換した。
(3)高速撮影機能の活用 ・・・ 自由落下運動をとらえ、重力加速度を求めてみる
【実験方法】
1cm単位の目盛りがついているスケールを黒板に取り付け、そのスケールに沿ってゴルフボールやスーパーボールを落下させ、得られた画像からボールの位置をはかった。(写真1参照) 落下位置の測定実験はゴルフボールについては10回、 スマートボールについては9回行った。その結果を表2に示す。
A さらにゴルフボールとスーパーボールそれぞれの平均値もとめ、それをグラフ化(図2)。
図2に示されるように、ゴルフボールとスーパーボールの落下位置は、ほぼ一致しており、「自由落下運動においては、物体の落下位置はその質量とは無関係であることが確認できた。
続いて、グラフに示されたデータ(平均値)から、重力加速度を求めてみた。
ここで問題になるのが、Webカメラで撮られた写真(フレーム)の時間間隔(=フレームレート)である。
この実験では、できるだけ高速に写真を残すことが求められるので、表1に示したmotion.confの設定では「motion検出に関係なく、始めから動画を保存してゆく」の設定を行い、フレームレートは設定できる最大値の30としていた。また事前の実験から、画像サイズが1秒間に保存される静止画数に影響しており、640×480(ピクセル)にすると、1秒間に保存される画像の数が30にならないことから、サイズを縮小して320×240(ピクセル)にしておいた。しかし、このように設定に注意しながら実験を行ったのだが、実際に撮れた画像は正確に1秒間に30枚ということではなく、28〜30の間だった。これは、フレームレートが画像撮影時における対象からの光の強さに影響されるためであろうと考えられる。実際に、パソコンの画面のようなかなり強い光が発せられている対象を、落下運動実験の撮影時と同じ設定で撮影してみると、1秒間に30フレーム以上が得られていることも確認した。
また、落下運動の実験をWebカメラの設定条件は同じで、光の強さだけを変えて行ってみた場合の撮影された画像の比較をしてみると、光が弱い場合は撮影された画像に見られる物体のブレが大きくなっていた(図3)。1枚の画像の撮影時間が長くなるほど、ブレの程度は大きくなると考えられるので、このことも、光の強さがフレームレートに影響することを示唆している。
そこで、実験時の画像の時間間隔(=フレームレート)については1/30秒、1/29秒、1/28秒の3通りを仮定し、それぞれの場合について、実験結果から求められる重力加速度の値を計算してみた。(表4,5)その結果、ゴルフボールの実験データをフレームレートを1/29とした場合、重力加速度は9.8m/s^2となった。スーパーボールについてはやや大きな値の10.2m/s^2であったが、それでもかなり実際に近い値が得られた。
【実験方法】
1cm単位の目盛りがついているスケールを黒板に取り付け、そのスケールに沿ってゴルフボールやスーパーボールを落下させ、得られた画像からボールの位置をはかった。(写真1参照) 落下位置の測定実験はゴルフボールについては10回、 スマートボールについては9回行った。その結果を表2に示す。
【データ処理】
このデータを用いて、重力加速度を求めるために次のようにデータ処理を行った。
@ 計測のスタートの位置を0として読み取られた落下位置を補正する(表3)。
このデータを用いて、重力加速度を求めるために次のようにデータ処理を行った。
@ 計測のスタートの位置を0として読み取られた落下位置を補正する(表3)。
表3 ゴルフボールとスーパーボールの落下実験の結果を位置をスタート位置(=ボールを手から離した位置)を0として補正(単位はcm) |
A さらにゴルフボールとスーパーボールそれぞれの平均値もとめ、それをグラフ化(図2)。
図2 ゴルフボールとスーパーボールの落下位置 ゴルフボール(47g)とスーパーボール(25g)の落下位置はほぼしている。 |
図2に示されるように、ゴルフボールとスーパーボールの落下位置は、ほぼ一致しており、「自由落下運動においては、物体の落下位置はその質量とは無関係であることが確認できた。
続いて、グラフに示されたデータ(平均値)から、重力加速度を求めてみた。
ここで問題になるのが、Webカメラで撮られた写真(フレーム)の時間間隔(=フレームレート)である。
この実験では、できるだけ高速に写真を残すことが求められるので、表1に示したmotion.confの設定では「motion検出に関係なく、始めから動画を保存してゆく」の設定を行い、フレームレートは設定できる最大値の30としていた。また事前の実験から、画像サイズが1秒間に保存される静止画数に影響しており、640×480(ピクセル)にすると、1秒間に保存される画像の数が30にならないことから、サイズを縮小して320×240(ピクセル)にしておいた。しかし、このように設定に注意しながら実験を行ったのだが、実際に撮れた画像は正確に1秒間に30枚ということではなく、28〜30の間だった。これは、フレームレートが画像撮影時における対象からの光の強さに影響されるためであろうと考えられる。実際に、パソコンの画面のようなかなり強い光が発せられている対象を、落下運動実験の撮影時と同じ設定で撮影してみると、1秒間に30フレーム以上が得られていることも確認した。
また、落下運動の実験をWebカメラの設定条件は同じで、光の強さだけを変えて行ってみた場合の撮影された画像の比較をしてみると、光が弱い場合は撮影された画像に見られる物体のブレが大きくなっていた(図3)。1枚の画像の撮影時間が長くなるほど、ブレの程度は大きくなると考えられるので、このことも、光の強さがフレームレートに影響することを示唆している。
図3 スーパーボールの落下実験を、実験室の蛍光灯を全灯して行った場合(明)と一部の蛍光灯を消して行った場合(暗)を比較。 どちらもスタートから4番目の画像(=4番目のフレーム)について比較。右の方が画像のブレが大きく、1フレームあたりの時間が長くなっていることが示唆される。 また、左の明るい条件では、1秒間に撮影された画像は29〜30枚であったのに対し、右の暗条件では14枚だった。 |
そこで、実験時の画像の時間間隔(=フレームレート)については1/30秒、1/29秒、1/28秒の3通りを仮定し、それぞれの場合について、実験結果から求められる重力加速度の値を計算してみた。(表4,5)その結果、ゴルフボールの実験データをフレームレートを1/29とした場合、重力加速度は9.8m/s^2となった。スーパーボールについてはやや大きな値の10.2m/s^2であったが、それでもかなり実際に近い値が得られた。
5 補 足
ここでは、Webカメラの持つ定点観測機能を活用して一定時間ごとに記録された静止画像データから、ビデオファイルを作成し、長時間にわたる少しずつの変化を時間を縮めて観察する方法や、1秒間に約30フレーム程度の画像を記録できる機能を利用して、やや早い動きもとらえ得ることを紹介してきたが、アイデア次第で他にも様々な活用が考えられるのではないか、と思っている。
それにはWebカメラの自体の性能もさることながら、Webカメラの操作に関するソフトウエアがどのような機能をもっているか、という点も重要である。はじめは購入したWebカメラにあらかじめ添付されているWindows上で動くソフトウエアを使ったが、Linuxで動作する「motion」というソフトウエアは2の表1で紹介したように様々な設定が可能である。ここで紹介したものの大部分がこの「motion」を用いて撮影したものであるが、他にもmotionには「視野の中にとらえた物体に動きがあったときのみ、それをビデオファイルに記録できる」という機能もあり、これについては今だ有効な活用法を見出せないでいるが、大変魅力的な機能で、例えば何らかの観察対象の動物が動いたときのみそれを記録するという実験を行うことで、面白い教材や研究ができるのではないか、と思う。
この報告がWebカメラの活用法をより多くの人が探求するきっかけとなってくれればと願っている。
それにはWebカメラの自体の性能もさることながら、Webカメラの操作に関するソフトウエアがどのような機能をもっているか、という点も重要である。はじめは購入したWebカメラにあらかじめ添付されているWindows上で動くソフトウエアを使ったが、Linuxで動作する「motion」というソフトウエアは2の表1で紹介したように様々な設定が可能である。ここで紹介したものの大部分がこの「motion」を用いて撮影したものであるが、他にもmotionには「視野の中にとらえた物体に動きがあったときのみ、それをビデオファイルに記録できる」という機能もあり、これについては今だ有効な活用法を見出せないでいるが、大変魅力的な機能で、例えば何らかの観察対象の動物が動いたときのみそれを記録するという実験を行うことで、面白い教材や研究ができるのではないか、と思う。
この報告がWebカメラの活用法をより多くの人が探求するきっかけとなってくれればと願っている。