ページ 11

OpenCVで瞬きの検出について

Posted: 2013年9月25日(水) 03:35
by まーくん
卒業研究でwebカメラで眼を検出し、瞬きでの閉眼時間を測定して
覚醒度を推定を行う手法を考察する研究を行っています。

現在、静止画像での目の検出を行っています。
これからwebカメラで検出を行いたいのですが、
目の検出はできるのですが、肝心の瞬きの検出がわからなくて困っています。

画像読み込みはUSBカメラ、openCV,Windows7,Visual C++を使用しています。

Re: OpenCVで瞬きの検出について

Posted: 2013年9月25日(水) 09:26
by usao
うーん…卒研であれば先生方とかに相談した方がよいような気もしますが…
とりあえずその手の話はある程度やられていると思うので文献を探されるのが早いかと思いますよ.

[追記]
これとか近そう.
http://ci.nii.ac.jp/naid/110003673653

[hr]
適当に考えると↓のような感じとか.

被験者がカメラの視野範囲に対してどの程度(範囲,速さ)動くのかによると思いますが
(極端な話,目の位置がフレーム外に出るかもしれない)
仮に,開眼時にそれなりの精度で
>目の検出はできる
のであれば,単純に それができないときが瞬きだと考えることはできませんか?

例えば…

あるフレームで目を検出した座標 と 次のフレームで目を検出した座標 がある程度近ければ
同一の対象を検出したと見なすような処理を行ってみてはどうでしょう.
で,何フレーム間か検出できている位置が,あるフレームで検出できなくてもしばらくはその履歴データを保持します.
しばらくして再び検出できた際に,履歴データの座標と近いかどうかを判定し,
履歴データの座標と,検出できた座標が近ければ,履歴データと現在フレームとで同じ目を検出したと見なします.

”同じ目”について検出できたフレームを○,できなかったフレームを×で書けば
○→○→○→…→○→×→×→…→○→○
のようなデータができる感じ.

これで×の期間が瞬きだと見なせませんかね.

[hr]

・もちろん,「開いた目」の他に「閉じた目」を別途検出するとかいう手もあるでしょうし.
・開いた目~閉じた目 までをActiveApearenceModelとかで扱う論文とかも過去にちらっと見たことがあるような…?
・Zdenek Kalal, et al.,``Online learning of robust object detectors during unstable tracking'', 2009(?) の手法とかでもできそうです.