0. 运动检测
- 通俗来说,运动检测是指从视频中识别发生变化或移动的区域(感兴趣的区域),是计算机视觉和视频处理中常用的预处理步骤。
与静态图像的通用目标检测不同,运动检测通常会利用视频连续帧间的上下文来对感兴趣区域进行定位。常应用于人员计数,动作识别,异常检测,跌倒检测,停车检测,目标定位和跟踪等任务中。尽管每种任务的后处理方法可能不同,但是通常都从识别感兴趣区域开始。
1. 评测指标
- 类别平均排名(Average ranking accross categories) : (rank:Baseline + rank:Dynamic Background + rank:Camera Jitter + rank:Intermittent Object Motion + rank:Shadow + rank:Thermal) / 6
- 平均排名(Average ranking) : (rank:Recall + rank:Spec + rank:FPR + rank:FNR + rank:PWC + rank:FMeasure + rank:Precision) / 7
- 精确度 Precision : TP / (TP + FP) 反映了被分类器判定的正例中真正的正例样本的比重
- 召回率 Re (Recall) : TP / (TP + FN) 反映了被正确判定的正例占总的正例的比重
- TP : True Positive
- FP : False Positive
- FN : False Negative
- TN : True Negative
- Sp (Specficity) : TN / (TN + FP)
- FPR (False Positive Rate) : FP / (FP + TN)
- FNR (False Negative Rate) : FN / (TP + FN)
- PWC (Percentage of Wrong Classifications) : 100 * (FN + FP) / (TP + FN + FP + TN)
- F-Measure : (2 * Precision * Recall) / (Precision + Recall)
- FPR-S : Average False positive rate in hard shadow areas
2. 经典算法
常见的运动检测算法,有帧差法、光流法、GMM(高斯混合模型)、Codebook(码本)、 SOBS(自组织背景检测)、Vibe(Visual background subtractor)算法等。
经典算法的ROC曲线如下:(上图为线性尺度,下图为对数尺度)
- 可以看出,除了常用的GMM,SOBS、ViBe、KNN算法效果较好。
(1) SOBS
SOBS( 自组织背景检测 Self-organization background subtraction)
L. Maddalena, A. Petrosino, A Self-Organizing Approach to Background Subtraction for Visual Surveillance Applications, IEEE Transactions on Image Processing, Vol. 17, no.7, 2008, p1168-1177
SC-SOBS算法
L. Maddalena, A. Petrosino, “The SOBS algorithm: what are the limits?”, in proc of IEEE Workshop on Change Detection, CVPR 2012
对于自组织背景建模算法即SOBS算法,该算法对光照有一定的鲁棒性,但MAP的模型比输入图片大,计算量比较大,但是可以通过并行处理来解决算法的速度问题,可以进行尝试。
(2) ViBe
ViBe算法
O. Barnich and M. Van Droogenbroeck. ViBe: A universal background subtraction algorithm for video sequences. In IEEE Transactions on Image Processing, 20(6):1709-1724, June 2011
ViBe+算法
M. Van Droogenbroeck, O. Paquot, “Background Subtraction: Experiments and Improvements for ViBe”, in proc of IEEE Workshop on Change Detection, CVPR 2012
[Code] https://github.com/BelBES/VIBE
参考:http://blog.csdn.net/stellar0/article/details/8777283
(3) KNN
Efficient adaptive density estimation per image pixel for the task of background subtraction” Z. Zivkovic , F. van der Heijden Pattern Recognition Letters, vol. 27, no. 7, pages 773-780, 2006
http://www.zoranz.net/Publications/zivkovicPRL2006.pdf
opencv中已有KNN背景减除算法的实现:
[Code] https://github.com/opencv/opencv/blob/master/modules/video/src/bgfg_KNN.cpp
迄今为止已经有许多运动检测算法,这些算法在一些类型的视频中表现良好,但是大多数对于突然的照明变化,环境条件变化(夜间,雨,雪,空气湍流),背景/相机运动,阴影,和迷彩效果(物体和背景的光度相似性)仍面临挑战。目前没有一种算法似乎能够同时解决真实世界(非合成)视频的所有关键挑战。
其他运动检测算法参考:http://www.cnblogs.com/ronny/archive/2012/04/12/2444053.html
3. 深度学习方法
(1) FgSegNet
Long Ang, L., & Hacer, Y. K. (2018). Foreground Segmentation Using a Triplet Convolutional Neural Network for Multiscale Feature Encoding. arXiv preprint arXiv:1801.02225.
处理速度:
18fps for 320x240 with NVIDIA GTX 970 GPU, Keras framework with Tensorflow backend
[Code] https://github.com/lim-anggun/FgSegNet
(2) Cascade CNN
Wang Y., Luo Z. M., and Jodoin P. M. “Interactive Deep Learning Method for Segmenting Moving Objects”, Pattern Recognition Letters, 2016.
Processing time threshold: 0.6, training frames: 200, selecting strategy: manual, model: cascade
[Code] https://github.com/zhimingluo/MovingObjectSegmentation
4. CDW-2014数据集
下载地址:dataset2014.zip | 7z
数据集包含11个视频类别(Baseline、Dynamic Background、Camera Jitter、Intermittent Object、 Motion、Shadow、Thermal、Bad Weather、Low Framerate、Night Videos、PTZ、Turbulence),每个类别有4到6个视频序列,每个单独的视频文件(.zip或.7z)都可以单独下载。
其中,Groundtruth图片包含5个标签:
- 0 : Static
- 50 : Hard shadow
- 85 : Outside region of interest
- 170 : Unknown motion (usually around moving objects, due to semi-transparency and motion blur)
- 255 : Motion
Reference
[1] Y. Wang, P.-M. Jodoin, F. Porikli, J. Konrad, Y. Benezeth, and P. Ishwar, CDnet 2014: An Expanded Change Detection Benchmark Dataset, in Proc. IEEE Workshop on Change Detection (CDW-2014) at CVPR-2014, pp. 387-394. 2014
[2] Evaluation of background subtraction techniques for video surveillance