動体検知のアルゴリズム
2019年3月26日 2020年6月11日
動体検知は、カメラから流れてくるストリームを指定された間隔で取得して、前回取得した画像と比較することで実現します。
取得する画像の間隔は、動体検知設定画面の詳細設定で変更可能になっています。(デフォルト値は300ミリ秒)
LiveCapture3では、この比較の方法として、「画素値差分検出」と「画像相関判定」の2種類を用意しました。
ここでは、これらのアルゴリズムの詳細について説明します
画素値差分検出
前後画像を、画素単位で比較する方法です。
前後の画素値の差が、指定された感度値以上の場合に、その画素は検知となります。
画像全体の画素の検知総数が、閾値を超えたら、動体を検知した、と判断します。
検出に使用する画素の値には、YCrCb変換した際のY(輝度)のみを使用しています。
(要はモノクロ画像です)
画像相関判定
指定したブロックサイズ内の画素値の平均値の散らばり具合(分散)から、前後画像間の相関係数を算出します。
検出に使用する画素の値には、YCrCb変換した際のY(輝度)のみを使用しています。
ブロックサイズを小さくすれば画素値そのものを利用することになります。
小さな変化は無視し、大きな変化を検出するときに使えると思います。