Web カメラの映像からの目検出ソフトの作成
４年Ａ組 稲益 秀成
指導教員 米田 隆恒
１．要約
私は、コンピュータに搭載されている Web カメラを用いて利用者を撮影し、その映像から利用者の顔、そして目線を検出する方法を研究した。
今回作成したソフトは、Web カメラで利用者を撮影し、その映像から顔の位置を検出し、そこから映像中の利用者の目の位置を検出することができるものである。
キーワード 目、目線、目線検出、Web カメラ、OpenCV、Processing

２．研究の背景と目的
人間は他人の目を見ると、その目線と目線の先にあるものから、その人が何を見て

３．研究内容コンピュータが利用者の目線を取得するために、Web カメラを用いた。

いるのかをおおまかに知ることができる。

Web カメラとは、Skype や FaceTime な

そこで私は、人間の目は視覚情報を得るとどといった、インターネットでテレビ電話いう感覚器官としての機能だけでなく、自を楽しむときに相手にリアルタイムで送信分の視覚情報を他人に知らせるという情報するための自分の顔の映像を撮影するカメ伝達の役割も持っているのではないかと考ラのことである。

えた。今日幅広く普及しているコンピュータやスマートフォンなどが人間の目線を情報として取得できれば、これらの電子機器の使い方が広がるのではないだろうか。例
えばコンピュータが利用者の見ているものを検出できれば、そこから利用者の興味のあるものを予測する、といったことが考えられる。
そこで、コンピュータが利用者の目線を得る方法について考えていくことにした。
現時点では目線検出までは完成していないため、顔検出、目検出について報告する。

図１

Web カメラこれまで、目の認識までは成功していたが、今年度は精度を高めるために、顔検出方法についてさらに深く研究した。
現在、目線計算の部分はまだ完成していないため、(Ｂ)までを報告する。
図２

スマートフォン等のインカメラ
３．１ ノイズ除去

また、図２のように最近のスマートフォ昨年度の時点で、目検出自体は安定したンや、タブレット端末などには同様な用途ものが完成したが、その処理を行う顔検出のカメラが標準で内蔵されていることが多が安定していないため、最終的な目検出のい。たとえ、標準で搭載されていない場合精度は十分なものではなかった。そこで、や、搭載されているカメラが低性能であっ顔検出が安定しないのはカメラのノイズがたとしても、Web カメラは複数のメーカー原因だと考え、映像のノイズを除去する方から多数販売されており、手軽に高性能な法を調べた。そして、「メディアンフィルカメラを用意することができる。よって、ター」「平均値フィルター」という方法を他に目線検出専用の機器を追加するよりも検討した。

Web カメラを利用したほうが、手軽に目線

まず、「メディアンフィルター」とは、検出を行うことができると考え、Web カメ映像から、例えば３ピクセル×３ピクセルラで目線検出に向けた目検出を行った。の大きさを切り出し、その範囲の 9 つのピ

Web カメラの映像から利用者の目線のクセルの濃度の中央値をその範囲の中心の動きを検出する流れとしては、ピクセルの濃度にする、という方法である。

（Ａ）Web カメラの映像から利用者の顔部「平均値フィルター」は、同様に９つのピ分のみを切り出す。

クセルについて考え、その平均値をその範（Ｂ）切り出した顔の範囲から目の位置を囲の中心のピクセルにする、というもので検出する。

あるが、今回のプログラムではこの２つの（Ｃ）目の位置から、目の中心を計算し、方法は使えないと考えた。なぜなら、もしその動きから目線を計算する。

色相の中央値をとってしまうと、肌の色相といったものである。

が大きく変化してしまう可能性が高いからである。そうすると、逆に肌の色の検出が安定しなくなってしまう。また、平均値をとることでは大きく色相の値が変化しないが、それでも色相が変化してしまい、肌の色だったものが肌の色と認識されなくなる

図３目検出までの流れ可能性があるので、他の方法を考えた。

そして考えたノイズ除去方法は、まず肌の色が検出されたピクセルから左方向と上方向に、５ピクセルの範囲で、近いところから順番に肌の色のピクセルがあるかを探す。肌の色のピクセルが５ピクセル以内にあれば、最初の肌の色の点とその５ピクセ
ル以内の点の間も肌の色にする。という方法である。
顔の映像にあるノイズを除去できればいいので、肌の色だけを見ていくことにした。
この方法を使うことで、元々肌の色だったピクセルは変化せず、肌の色だと予想されるものは肌の色だと認識できるので、はじ

図４ 顔検出におけるパターン認識の例

めの 2 つの方法に比べて良いと考えた。

（参考文献[６]より引用）

結果の色の違いであるため、シンプルで計算量

この方法では、ノイズが強い状態では顔が少なくて済み、それらをたくさん用意し以外の部分も肌の色に変更してしまったとて調べていくことで認識率を高めていくもいう問題点があった。また、リアルタイムのである。

で計算を行うには処理が重いものであった。

そこで、この顔検出を手軽に行うことができる、インテル株式会社が発表したオー

３．２ OpenCV を用いた顔検出
肌の色を探していく方法では、なかなかプンソースライブラリーである OpenCV を利用することにした。

精度を出すのが難しかったため、今度は肌この方法は点ではなく、部分と部分の色の色ではなく、パターン認識を使う方法をの差を用いるので、ノイズの影響を受けな用いた。たとえば、鼻筋の方がその隣の目いという利点がある。のある部分の方より手前にあり、光が当たりやすいため明るくなる、といったように

結果

顔の一部分と別の部分との色の違いの特徴

OpenCV による顔検出の精度は高いものをデータベースに持っておき、このデータだったが、リアルタイムで目検出を行うにをパターンとして映像の左上から 1 ピクセは処理が重すぎるものであった。

ルごとにずらしながら、今調べている範囲

しかしながら、この OpenCV による高精の映像の特徴が、データベース上の顔の特度かつ処理の重い方法と昨年度研究した、徴と一致するかを調べていく方法である。

低精度かつ処理の軽い方法とを組み合わせ

また、この顔の特徴のデータは１つひとれば今回の研究目標を達成するのに十分なつでの認識率は低いものだが、２つの部分性能の顔検出が行えると考えている。

４．考察

定時間見ることでその文字を選択したこと

今回、コンピュータで利用者の目線を取にすれば、文章入力はもちろんだが、その得するために、Web カメラで利用者を撮影

文字を音声で出力することで、体が不自由し、その映像から目の位置を検出する方法な人でも会話することができるようになる。

を研究した。

このような社会貢献につながると考えられ顔の範囲の検出は、まだまだ改善の余地る。

があるが、目の位置の検出の処理は軽く、安定しており、顔検出さえ改善すれば目認

６．参考文献識をリアルタイムで動かすことができると[１] メディアンフィルター考えている。

「http://www.gifu-nct.ac.jp/elec/yamada/

今後は、肌の色を使う方法と OpenCV にiwata/median/index.html」

よるパターン認識を用いる方法をどのよう[２]に組み合わせて行くか、考えて行きたい。

「http://processing.org/reference/」[３]

５．今後の展望
今回検出した目の中心から目線を推定し、Processing Reference
OpenCV ¥ Library「http://ubaa.net/shared/processing/opencv/」

それをコンピュータに活用させるようにし[４] コンピュータビジョンのセカイ - 今ていくことが次の課題である。

そこにあるミライ

そのためには、顔の向きや、顔と画面と「http://news.mynavi.jp/series/computer_の位置関係を取得し、それらの情報から利vision/008/index.html」

用者の見ているものを計算していく必要が

[５]

ある。

Viola-Jones Face Detection

これが完成すると、コンピュータは、利Adam Harvey Explains「http://makematics.com/research/viola-j

用者が何を見ているのかという情報を得る

ones/」

ことができるようになる。これにより、例[６]

えばインターネットブラウザ利用者の目線「http://opencv.jp/」

OpenCV.jp

から、その利用者の興味がどこにあるかがわかることになる。あるいはどのような内７．謝辞

容が読んでもらえるかを今まで以上に調べ

今回の研究にあたり、サイエンス研究会ることができるようになり、うまく使えば、物理班顧問の米田隆恒先生、藤野智美先生

Web サイトの質の改善につながると考えらには、研究に関する助言や指導をしていたれる。

だきました。また、同研究会のメンバーにまた、体の不自由な人でも目線の動きだは研究のサポートをしていただきました。

けでコンピュータを操作できるようになる。 この場を借りてお礼申し上げます。
例えば、画面に「あいうえお…」といったような文字の表を表示しておき、それを一