基于SVM的视频行为识别方法文献综述
2020-04-29 18:49:00
随着计算机技术的快速发展,以及人们对于社会安全的日益重视,视频监控越来越多的被运用于保护人们的安全之中。伴随着人工智能技术的日渐成熟,在视频监控领域引入智能监控可谓是大势所趋。智能视频监控,其主要作用在于两个方面,一是对于监控中行为人的识别,二是对于识别了的行为人的动作进行分析,判断是否有异常行为。目前,进行视频行为分析的方法有许多,而本文将着重使用支持向量机(Support Vector Machine,SVM)的方法,实现视频行为识别并比较其与其他方法的优劣。
支持向量机是一种建立在统计学习理论上的VC维理论和结构风险最小化原理基础上的机器学习方法,在分析小样本、非线性、高维模式识别等问题时,有较好的表现。SVM的主要思想可以概括为两点:在样本是非线性时,通过非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;基于结构风险最小化理论之上,在特征空间中寻找一个满足要求的最优分类超平面,使得在保证分类精确度的同时,学习器得到全局最优,超平面两侧的空白区域最大化。
在进行行为人识别方面,目前,国内外多使用基于方向梯度直方图(Histogram of Oriented Gradient,HOG)的方法,,提取视频中关键值,进行识别。并结合SVM,用于减少了资源消耗,还在一定程度上提高了系统工作效率。
针对SVM的训练算法,主要有以下几种:
(1)块算法(chunking algorithm)
块算法的出发点是删除矩阵中对应拉格朗日乘数为零的行和列将不会影响最终的结果。由此,在支持向量的数目远远小于训练样本的数目时,可以通过这种方法减少训练样本的储存量,并缩短训练时间,但是当样本增大时,依旧会花费大量时间。
(2)分解算法(decomposition algorithm)
分解算法是目前有效解决大规模问题的主要方法,其主要方法在于将二次规划问题分解成一系列规模较小的二次规划子问题,进行迭代求解。该算法为了寻找一种最优工作集选择算法,而在工作集的选取中采用了随机的方法,因此限制了算法的收敛速度。
(3)增量算法(incremental algorithm)
增量算法是指机器学习系统在处理新增样本时,能够只对原学习结果中与新样本有关的部分进行增加修改或删除操作,与之无关的部分则不被触及。增量训练算法的一个突出特点是支持向量机的学习不是一次离线进行的,而是一个数据逐一加入反复优化的过程。该算法可以大量的实验数据积累,从而不断提高整个算法的训练速度和分类精度。