MATLABで動画ファイルから顔検出するサンプルを動かしてパソコンを検討した

MATLABで動画ファイルから顔検出するサンプルを動かしてパソコンを検討した

matlabの顔検出

「MATLABで動画ファイルから顔検出するのに、どんなパソコンが必要になるのか?」

ここでは、MATLABで動画ファイルから顔検出するサンプルを動かして 一般的なスペックのパソコンでストレスなく動くかを確認しています。

私自身、MATLAB導入にあたって、 動画ファイルを扱うアプリケーションを検討していました。 その際に、パソコンも一緒に購入しようと思い、 今の手持ちのパソコンがどれだけ快適に動くかどうかを試してみました。

サンプルを動かしてみたパソコンはこんなスペックです。

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

それでは見ていきましょう。

目次

どんなサンプルを動かしてみた?

今回試してみたMATLABのサンプルは、 MathWorks公式サイトにある「KLTアルゴリズムを使用した顔の検出と追跡」になります。

「KLT アルゴリズムを使用した顔の検出と追跡」・ MathWorks

この顔検出をするサンプルプログラムの概要はこんな感じです。

「動画ファイルを読込みます」→「動画の中から顔検出できるフレームを探します」 →「顔を検出したら顔の特徴点を抽出します」→「その後のフレームに対して特徴点を追尾していきます」

こんな感じの流れでプログラムが実行されます

今回サンプルを実行するにあたって、読み込む動画は自分で用意しました。 Windowsのカメラアプリを使って、パソコン付属のカメラの画像を動画保存しました。 じっさいに使うであろう「1280x720サイズのmp4ファイル」にしています。

動画を読み込んで結果を表示してみてどうだった?

このサンプルプログラムの流れとしては、 ビデオファイルを読み込んで、 映像の中の顔を検出して、特徴点を算出します。 その特徴点を追尾していき、 顔を追尾するようなプログラムです。

ちなみに、MathWorksの顔検出サンプルは、 640x480のaviファイルを読んでいますが、 実運用ではもう少し大きな映像を読み込むので、1280x720のmp4ファイルで試しています。

というわけで、サンプルをちょっと書き換える必要があります。 読み込む部分を書き換えですね。 単純に、ファイル名を変更しただけです。 MATLABのビデオリーダーは優秀です。


videoReader = VideoReader('myface.mp4');

一フレーム読み込んで、まずは顔を検出します。 検出した顔部分は、黄色で塗りつぶしています。 おっさんの顔なんて誰も見たくないですからね。

matlabの顔検出

次に、検出した顔から、特徴点を検出します。

matlabの顔検出

緑の点が顔の特徴点ですね。 私がメガネをつけてるのがわかりますね。

この特徴点を 2フレーム目以降の画像から追尾して顔を追跡していきます。

すべてのフレームを追尾していきます。 追尾しながら動画が再生されている感じです。

matlabの顔検出

フルHD以上の動画も試しに読み込んでみた

WEBのフリー素材でフルHD(1920x1080)サイズの動画と、 WQHD(2560x1440)の映像を顔検出してみました。

matlabの顔検出

きっちりと顔部分に黄色の資格が描画されて、 フレームごとに追ってくれました。

顔が映っていれば、どんな動画でもほぼ顔検出をして、 追尾してくれるサンプルでしたね。

どんなパソコンがいいか検討してみた

処理する動画のサイズによって パソコンの快適性にかなり違いがありました。

まずは、1280x720サイズについて。

このサイズの動画であれば、 一般的に使われているスペックのパソコンで 顔検出から追尾まで特に何のストレスもなく動作しました。

専用のグラフィックスも付いていないパソコンでも、 表示速度は速いので快適にプログラミングできると思います。

続いて、フルHD1920x1080サイズの動画について。

読込み自体は速いのですが、 顔検出から追尾をしている時にカクカクした動作になります。 つまり、かなり重たい。

この状態でプログラミングをしなければいけないと思うと、 かなり効率が悪くなり、ストレスもたまっていくと思います。

動画の描画速度も遅いです。 処理している時のメモリ量も6GB以上使っているのも見られました。

最後にWQHD2560x1440サイズの動画について。

読込み自体にも少し時間がかかるようになります。 顔検出と追尾もフルHDの時と比べてもさらに遅く、 カクカクとした表示になっていました。

メモリも7GB以上まで使っていましたので、 他のアプリケーションとかを開いていたら、 パソコンがフリーズしてしまいレベルでしたね。

このことから、 フルHD1920x1080サイズ以上の動画を扱う場合は、 スペックの高いパソコンを使う必要があることがわかりました。

私のおすすめスペックとしてはこんな感じです。

  • CPU:Core i5以上
  • メモリ:16GB以上
  • ストレージ:SSD 256GB以上
  • グラフィックス:NVIDIA GeForceまたはQuadro [4GB以上]

やはり、 動画を扱うプログラミングをする場合は 多いメモリ量と専用グラフィックスが必須になってくると感じています。

まとめ

はい、というわけでまとめます。

1280x720サイズの動画から 顔検出と追尾をするプログラムであれば、 一般的なスペックのパソコンで十分だった。

フルHD1920x1080サイズ以上では、 パソコン動作が遅くなりかなりストレスを感じる結果になった。

動画を扱うプログラムをする場合は、 なるべくハイスペックのパソコンを選びことが必要。

最後に・・・

MATLABパソコンを探しているという向けに おすすめのMATLABパソコンも紹介しています。

よければそちらものぞいてみてください。

厳選!おすすめMATLABパソコン10選

関連記事

MATLABの入門サンプルを動かしてパソコンを検討した

MATLABでディープラーニングのサンプルを動かしてパソコンを検討した

MATLABでWEBカメラから顔検出するサンプルを動かしてパソコンを検討した

MATLABで医療CT画像三次元化のサンプルを動かしてパソコンを検討した

MATLABの最適化計算をしてどんなパソコンがいいかを検討した

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