移動カメラ ビデオを使用した適応型背景検出のために、このアルゴリズムの最適化を試みています。
http://www.springerlink.com/content/4j2m3885r3133202/fulltext.pdf
このアルゴリズムは、バックグラウンド モデルのアップグレードを高速化します (SVD はリアルタイム アプリケーションには重すぎます)。アルゴリズムを高速化するために管理できる属性は 3 つあります。属性は次のとおりです。
- N最初の SVD 計算のフレーム数
- M背景モデルを記述するための固有ベクトルの数 (M<=N)
- Pバッチ更新を行うために待機するフレーム数
処理時間とこれら 3 つの属性との関係を調べる方法を知っていますか?
最適値を見つける方法を知っていますか?
このアルゴリズムの重要な部分は、バッチ更新中に着信フレームを直交正規化するための QR 分解です。この関数には多くの時間がかかります。
直交正規化を計算するためのより高速なアルゴリズムを知っていますか?
ここで、私が使用しているm_cT (論文の行列U'=[U|E] ) の関数 QR:
for (int i = m_iNFrame; i < m_iNFrame+m_iNUpdate; i++)
{
m_cT.col(i).copyTo(m_cQ.col(i));
for(int j = 0; j < i; j++)
{
m_cR.at<double>(j,i) = m_cQ.col(j).dot(m_cT.col(i));
m_cQ.col(i) = m_cQ.col(i) - m_cR.at<double>(j,i)*m_cQ.col(j);
}
m_cR.at<double>(i,i)=norm(m_cQ.col(i));
m_cQ.col(i)=m_cQ.col(i).mul(1.0/m_cR.at<double>(i,i));
}
テスト中に、フレーム内の高周波数のディテールによって、カメラの動き中に多くの誤検知が発生することに気付きました。
SVD 計算の前にスムーズ フィルターを適用すると、より良い検出 BG/FG が得られると思いますか?
ご協力ありがとうございました。