顔検出してみた

WEBカメラから顔検出するプログラムを動かしてみてパソコンを検討した

MATLABのサンプルを動かしてみた

matlabのリアルタイム顔検出

WEBカメラから画像を取得して、 その画像から顔検出し、追跡するサンプルがあったので動かしてみました。

KLTアルゴリズムを使って検出し追尾していきます。

「ライブ ビデオ取得を使用した顔の検出と追跡」・ MathWorks

支給されている手持ちのパソコンでサクサク動くかどうかをまず確認です。 スペックはこんな感じです。

CPU:Corei5 1.6GHz
メモリ:8GB
グラフィックス:Intel UHD Graphics620
ストレージ:SSD 500GB

試したパソコンがノートパソコンなので、WEBカメラも付いています。

1280x720でビデオストリーミングができます。

ちなみにこのサンプルは、 Computer Vision Toolboxと、 WEBカメラを認識するのにサポートパッケージが必要です。

どんな処理をしているか?

基本的には二つのモードで動いています。

1つ目は、顔を検出するモードです。 WEBカメラから画像を一枚取得して、 グレースケール画像にしたものから顔検出をしていきます。 特徴点が10個以上検出できるまで顔を探し続けます。

2つ目は、追跡するモードです。

特徴点が10個以上あれば、 追跡し続けます。

例えば、顔を検出して追尾していても、 カメラの画面外に一度出たりすると、再度検出モードに入ります。

横を向いたりして、 顔の特徴点が10個未満になったりしても、 検出モードに戻ります。

400フレーム以上処理するか、 カメラがオフになった場合にプログラムが終了します。

このサンプルを動かしていて少し気になったのは、 照明条件で顔認識率がかなり違うことです。

暗めの部屋でWEBカメラ撮影をしていると、 全く顔を認識してくれません。

できれば周りを明るくして、 さらに照明による濃淡をできるだけなくすことで、 認識率を上げてくれます。

パソコンはストレスなく動いたか?

はい! 顔を検出するモードはかなり厳しいです。 カクカクした動きになったり、 コマ飛びしたりして映像表示が追いつきません。

おそらく、このスペックのパソコンは リアルタイム処理に向いていないのかと感じています。

一方、追跡モードの方はスムーズに処理できています。

カクカクしたり、結果画像の表示が飛んでしまうこともほぼありません。

一旦顔検出ができれば、 追尾は特に問題ないですが、再び顔検出に入ると辛いですね。

matlabのWEBカメラからの顔検出

そもそも、ノートパソコンには荷が重いのかも…。

メモリ量を増やしたり、 CPUのグレードを上げればスムーズに動くようになると感じています。

まとめ

WEBカメラを使った、 リアルタイム顔検出をするためには、 高スペックのパソコンが必要になる。

Computer Vision Toolboxは色々な機能があるので、 これを使う場合は、高スペックのパソコンを検討した方が良い。

P.S.上司に言って、スペックの高いパソコンを申請しようと思います。

Copyright (C) MATLABパソコンのおすすめスペック. All Rights Reserved.