hirax.net::inside out::2013年03月25日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2013年2月 を読む << 2013年3月 を読む >> 2013年4月 を読む

2013-03-25[n年前へ]

ノートPC付属のWebCamで「脈拍検出」をしてみよう!? 

 テレビ画面に映るアイドルの「胸のドキドキ」がわかる未来!?で書いた「カメラ画像からの脈拍推定」を、MacBook AirのFaceTimeカメラ(Webカメラ)を使い・Mathematicaでコードを書いて試してみました。

 まずは、下のようなMathematicaコードを書き、1秒に10回のペースで10秒間にわたりカメラから画像を取り込み(カメラにかざした手のひらを撮影し)、そして、撮影画像の「緑←→赤」方向の色成分を抽出し、10秒間の色変化をグラフにしてみたのです。

Pause[5]; (* 手をかざすまでの待ち時間 *)
img = Table[  Pause[0.1]; CurrentImage[], {100}];
lab = ImageData@(ColorConvert[#, "LAB"]) & /@ img;
bImg = Table[ Map[(#[[2]]) &, data[[i]], {2, 2}],
                {i, 1, Length@data}];
ListPlot[ (Apply[Plus, Flatten[#] ]) & /@ bImg ]
 (Webカメラに手をかざしつつ)このコードを実行した結果が、下に貼り付けたグラフです。横軸がフレーム数(10フレームで約1秒です)で、縦軸が「緑←→赤」方向の色成分量です。

 10秒間に12間程度の色変化が見て取れます。…ということは、1分間あたりに換算すると70回程度の「色振動」が生じています。

 …なるほど、これが脈拍を反映した肌の色変化なのかもしれません。今この時点のわたしの脈拍は70(回/分)程度のようです(点滅を高速に繰り返す照明周期と撮影周期のビートが生じていないか?という点は気にかかりますが)。

 ノートPC付属のWebCamがユーザの脈拍検出も容易にできるようになると…「やってみたい面白いこと」がたくさん頭に浮かんできますね。

ノートPC付属のWebCamで「脈拍検出」をしてみよう!?