(1)视频镜头检测技术。
对视频建立索引,首先要将视频分割为镜头,镜头检测的关键是确定从镜头到镜头的转换处,并利用镜头之间的转换方式找到镜头图像之间的差别,镜头的切换方式有两种:突变和渐变。突变是指从一个镜头直接切变到另一个镜头;渐变是指从一个镜头慢慢切变到另一个镜头。常用的镜头检测方法主要有以下几种。
①模板匹配法。
将两帧图像对应像素差的绝对值之和作为帧间差,如果前后两帧的帧间差变化超出某个阈值,则认为有镜头的切换。模板匹配法的优缺点:对检测突变镜头很有效,但对摄像机和物体的运动非常敏感,当运动较大时,相邻两帧的差异往往会超过预定的阈值,从而产生误检。
②直方图法。
该方法利用帧与帧的直方图比较来检测镜头,是使用得较多的计算帧间差的方法。直方图法的基本原理:将颜色空间分为一个个离散的颜色小区间,然后计算落入每个小区间的像素数目,得到图像的直方图统计,通过比较两帧图像的直方图统计得到帧间差。直方图法的优缺点:不考虑像素的位置信息,抗噪声能力比模板匹配法强。当具有不同目标的场景有近似的灰度或颜色直方图时容易造成漏检。
③基于边缘的检测方法。
该方法将两幅图的边缘提取,利用镜头切换时出现的新边缘与消失的旧边缘的像素比例,若两者最大值大于某阈值,则认为有镜头切换。其缺点:这种方法在图像较暗或边缘不明显时往往会造成误检和漏检。
④基于模型的方法。
该方法是利用对镜头编辑的先验知识,对各种镜头切换建立一定的数学模型,自上向下来进行镜头切换的检测,对特定领域视频可通过数学模型加上一定的限制条件来提高方法有效性。因此这种方法对镜头渐变的检测往往能取得好的效果。建立数学模型过程较复杂,适用于专业领域模板匹配法、直方图法、基于边缘的方法都是利用帧间差自下而上来进行镜头边界的检测,它对于突变检测可以取得较好的效果,但是对于渐变检测则有一定的困难,因为它在很大程度上忽略了渐变切换中帧之间结构上的相关性。本研究采用了先进的基于模型的视频镜头检测技术。
(2)关键帧提取技术。
关键帧的作用类似于文本检索中的关键词。用关键帧来代表镜头,可以对视频镜头可用图像的技术进行检索,关键帧选取的条件:必须能够反映镜头中的主要事件,因而描述应尽可能准确完全;为便于管理,数据量应尽量小,且计算不宜太复杂。关键帧提取的基本方法主要有以下几种。
①特定帧法。
一段视频被分割成若干镜头后,一种最直接、最简单的关键帧提取方法就是将每个镜头的首帧、中间帧以及末帧作为镜头的关键帧。特定帧法的思路和实现都很简单,但这种方法不能反映镜头内视频内容的变化,不适用于在视频内容变化较多的镜头内提取代表帧。
②帧平均法和直方图平均法。
帧平均法是取一个镜头中所有帧的某个位置上的像素值的平均值,将镜头中该点位置的像素值等于平均值的帧作为关键帧。直方图平均法则是将镜头中所有帧的统计直方图取平均,然后选择与该平均直方图最接近的帧作为关键帧。其优缺点:使用帧平均法和直方图平均法能在一定程度上反映视频内容,计算量也不大,所选取的帧具有平均代表意义,但是由于需要记录每一帧每个像素的值或直方图,所以要实现动态选取,所需的存储量较大。无法描述有多个物体运动的镜头。
③基于光流的运动分析。
上述两种方法都没有考虑运动特征。通过光流分析来计算镜头中的运动量,在运动量取局部最小值处选取关键帧,它反映了视频数据中的一个“静止”特点,视频中通过摄像机在一个新的位置上停留或通过人物的某一运动的短暂停留来强调其重要性。
首先通过Horn-Schunck 法计算光流,对每个像素光流分量的模求和,作为第k 帧的运动量M(k),即
其中Ox(i,j,k)是k 帧内(i,j)像素光流的X 分量,Oy(i,j,k)是k 帧内像素(i,j)光流的Y 分量。然后寻找M(k)的局部最小值:从k=0 开始,扫描曲线M(k),找到两个局部最小值M(K1)和M(K2),M(K2)的值与M(K1)的值至少相差p%(由经验设定),如果M(Kj)=min(M(K)),K1<Kj<K2则把Kj选为关键帧;然后把K2作为当前的K1,继续寻找下一个Kj。
Wolf 的这种基于运动的方法可以根据镜头的结构选择相应数目的关键帧。如果先把图像中的运动对象从背景中取出,再计算对象所在位置的光流,可以取得更好的效果。
(3)视频特征提取技术。
视频分割成镜头后就要对各个镜头进行特征提取,得到一个尽可能充分反映镜头内容的特征空间,这个特征空间将作为视频聚类和检索依据。
①颜色特征。
颜色是图像最显著的特征,与其他特征相比,颜色特征计算简单、性质稳定,对于旋转、平移、尺度变化都不敏感,表现出很强的鲁棒性。颜色特征包括颜色直方图、主要颜色、平均亮度等。其中利用主要颜色和平均亮度进行图像的相似匹配是很粗略的,但是它们可以作为层次检索方法的粗查,对粗查的结果再利用子块划分的颜色直方图匹配进行进一步的细查。
②纹理特征。
20世纪70年代初,Haralick 等人提出了纹理特征的共生矩阵表示法,即利用纹理在灰度级的空间相关性,先根据图像像素间的方向和距离构造一个共生矩阵,再从中提出有意义的统计数据作为纹理的特征表示。纹理特征的缺点:这些统计特征没有和人在视觉上对纹理特征的感知之间建立对应。Tamura 提出的纹理特征集可以很好地与人类视觉感知相对应,这些特征包括:粗糙度、对比度、方向性、线向度、规则性、粗略度。其中最重要的特征是纹理粗糙度、对比度和方向性。因为人对纹理的视觉特征的认识非常主观,目前还没有一个统一的标准来精确地表示纹理的特征。
③运动特征。
视频除了具有一般静态图像的特征外,更具有动态特征。而动态特征往往也是视频检索时用户给出的主要内容。运动特征反映了视频的时域变化。运动分析的方法有基于光流方程的方法、基于块的方法、像素递归方法和贝叶斯方法等,但这些方法计算量大。Tonomura 等人提出了视频X 光图像分析方法,可以用来检测类似的运动,将整个视频序列沿时间轴进行切片,从切片图像中分析运动情况,视频的运动变化在切片上将变现为一系列有序的条纹变化。通过对视频的研究发现,当目标运动时,其背景往往变化迅速,而目标在大小上的不断变化表现为像素色彩的扩张。因此,可采用视频切片技术,通过追踪某一位置线上图像目标的色彩变化来得到运动目标的大小变化。
(4)镜头聚类和场景提取。
场景可以通过对镜头的聚类来生成。在镜头聚类及场景生成过程中,镜头不仅在时间上是连续的,更重要的是它们在内容含义上是一致的,这是镜头聚类的关键。可按时间顺序和关键帧的相似度进行聚类,最简单的方法可以用内容上相关的镜头中的关键帧来代表情节,把镜头聚类为故事单元后,其数量明显减少。例如对于一部典型的连续剧,半小时的节目中约有300 个镜头,经过聚类后可形成约20 个故事单元。根据镜头的重复程度,视频一般可分对话型、动作型这两类。
①对话型视频。
对话型视频是指一段实际的对话或者像对话一样由两个或多个镜头重复交替出现的视频。例如一个有13 个镜头的视频序列,各镜头分别标记为:A B A B A B A B C D E F G。
其中,前8 个镜头可认为是对话型的,而后5 个则是动作型的。通过视频聚类可以缩小检索的范围,提高检索的效率。
②动作型视频。
动作型视频反映故事的展开,镜头不是固定在一个地点或跟随一个事件,因而很少发生镜头的重复。
(5)视频浏览和检索。
在对视频流中各镜头提取关键帧并进行特征提取后,还要建立基于视频特征的索引。通过索引,就可利用基于关键帧特征,或是基于镜头动态特征,或是将二者结合对视频进行检索和浏览了。基于内容的检索是一个近似匹配,逐步求精的循环过程,主要包括初始查询说明、相似性匹配、返回结果、特征调整、人机交互、检索反馈等步骤,直至获得用户满意的查询结果。
①基于关键帧的检索。
视频被抽象为关键帧后,搜索就变成按照某种相似度来检索数据库中与查询描述相似的关键帧。通常使用的查询方法是通过目标特征说明(直接)的查询和通过可视实例(示例)的查询。检索时,用户也可以指定使用特定的特征集。如果检索到关键帧,用户就可以利用播放来观看它说代表的视频片段。浏览可以跟随检索,作为检验检索到的关键帧的上下文边界联系。浏览也可以初始化查询,即当浏览时,用户可以选择一个图像来查询所有与该图像相似的关键帧。
②基于镜头动态的检索。
基于镜头和主体目标的运动特征来检索镜头是视频查询的进一步要求。可以利用摄像机操作来查询镜头,也可以利用运动方向和幅度特征来检索运动的主体目标。在查询中还可以将运动特征和关键帧特征结合起来,检索出具有相似的动态特征但静态特征不同的镜头。
③视频浏览。
对于视频来说,浏览与有明确目的的检索同样重要。为了有效地浏览,视频文档的内容应表示成用户易于理解的静态画面的形式,并且必须提供非线性的访问。通常每个镜头的关键帧被用来作为“浓缩”了的视频序列,这种表现方式大大减轻了用户需要从头到尾观看整部影片的负担。然而,在许多影片中,常常有几百个镜头,另外仅用静态的画面常常不足以表示动态的信息。因此仅将代表帧排列起来的方法无法满足用户有效的浏览要求,对于头一次观看影片的用户尤其如此,他们面对没有组织的一堆画面往往不知所云。
④视频的检索反馈。
在检索的实现中除利用图像的视觉特征进行检索外,还应根据用户的反馈信息不断学习改变阈值重新检索,实现人机交互,直到达到用户的检索要求。如何定义两个视频是否相似,仍然是尚未解决的问题,限制了检索系统的应用范围。由于视频内容的复杂性,不同用户在检索过程中,即使对同一部视频,其注重的角度也有可能不同,因此接受用户的反馈意见,当用户对查询结果不满意时可以优化查询结果,突出用户的需要。
目前各厂商对智能化视频分析的定义出入较大,众多厂家的系统具备了某些智能化视频分析的能力,并通过VMD(Video Motion Detection,移动检测)技术来实现,由于VMD 技术是把画面栅格化,分析对比单元像素的变化,通过特定的算法来判断是否有物体在运动,该方法太过简单,甚至根本称不上智能化,无法正式在实际项目中正常工作,如图5-23所示。例如,有些系统只是简单地完成了一些运动检测工作,并不能从根本上实现自动分析并提取有威胁信息的功能,从而产生大量误报现象;而另一些系统虽然可以满足复杂的模式识别、目标跟踪等功能,但是在多变的实际应用环境中的工作状况却并不理想,并且众多功能形同虚设。
图5-23 VMD 技术
通过对实时视频画面中的背景、众多物体进行分离,并根据行为特征的特性,把每个物体的行为单独分析,并对视频监视场景中的各个物体设置相关参数,以便对场景中的人、车、猫、狗等进行特征分离,并排除该区域对各种异常阴影、灯光、飞虫等的干扰;采集关于视频监视场景的视频图像,根据所述视频图像的亮度值,进行所述视频监视场景处于白天还是处于晚上的判断,并根据本发明可以大幅提高监控视频画面的智能分析与识别检测的灵敏度和准确性,从而正式商用。如图5-24所示,首先通过人的形状特征,把人物从该视频画面中提取出来,其次再对人的行走、奔跑等行为特征进行分析,从而更为智能准确地判断出视频画面中的事件,从而理解其意义,并根据预设的规则进行相关智能报警。
把以上相关技术整合成为一个完整统一体,在不改变原有监控部署的情况下,通过网络监控数据,直接针对各种用户预设规则产生自动报警,大幅提升了众多监控图像的监控能力。针对各个视频图像实时进行智能监测,解决视频监控中的人为疏忽。为实现上述目的,本研究设计了一种全新智能视频分析处理系统、系统授权控制管理模块等,系统通过网络接入获取视频压缩流,再接视频处理系统。视频处理系统内还有视频智能分析模块,该模块内存储了该视频场景需捕捉的异常事件图像特征的N 条规则。微处理器按规则分析实时视频,将符合规则的视频数据作为事件压缩后分类存储。微处理器还接有事件搜索模块,可按事件和时间对存储的视频数据进行搜索。
技术应用的广泛取决于技术上的完善程度,尽管目前很多厂家的智能视频监控系统仅仅达到了“检测”的水平,尚未做到“识别”的层面,但是该技术在很多方面已经无法满足产品化的要求。本研究不仅可以根据实时监测视频,做到“检测”的水平,并且可以根据“目标”的行为做到“识别”的层面,这将大幅提升“智能”的产业化应用领域。例如,在威胁状况预报警方面,智能化系统已经可以帮助操作者分析具有威胁的监控画面,有别于人力监控的是,系统能够保持持续性的检测和判断,而不会产生注意力不集中或者疲劳等现象;在人流、车流统计方面,智能系统可以更加准确、便捷的提供道路违章车辆的信息,在一些出入量较大的场所也能够较为准确地统计人流量数据;在物体跟踪方面,智能系统则帮助监控人员通过警报的方法呈现物体的遗失、移动、滞留等现象。这些功能都使得传统被动式的监控工作变得更为主动。
图5-24 目标特征行为提取分析(www.xing528.com)
本研究采用了不同于普通视频分析系统的一些先进算法,这些算法对于系统的智能性和稳定性有很大的提高。与目前国内其他厂商的产品相比,本研究具有明显的技术先进性。传统的视频分析算法,例如背景图像差分法、帧间差分法等,这里就不详细分析介绍。本书主要就“智能哨兵”系统的一些先进算法进行简单的介绍。本研究主要采用的先进视频分析算法包括:基于高斯混合模型(GMM)的背景分割算法,基于K-means 聚类的目标提取算法,基于Cam Shift 的运动目标跟踪算法,以及基于Kalman 滤波器的运动估计算法等。
(1)基于高斯混合模型(GMM)的背景分割算法。
GMM 的基本思想是把每一个像素点所呈现的颜色用M 个状态来表示,通常M 取值为3~5,将每个状态用一个高斯分布来近似,将像素点所呈现的颜色用随机变量X 来表示,在每个时刻T 得到视频图像的像素值作为随机变量X 的采样值。则对于第k 个状态(0 <k ≤ M)的像素分布可表示为:
随机变量X 的分布可用k 个状态分布的加权和来表示:
其中πk,t是T 时刻第k 个高斯分布的权值,它代表了由第k 个分布产生的采样值占总采样值的比例或者说k 出现在该像素的先验概率,且,Φ是全部参数的集合,定义为Φ={π1,π2,…,πM;φ1,φ2,…,φM},所有参数需要从X 的观察值估计得到。上述表达式的直观意义是:在T 时刻观察到xk的概率等于该值分别属于M 个高斯分布的概率的加权和。
GMM 之所以能够将前景和背景分开是基于如下两点事实。一是在长期观测的场景中,背景占大多数时间,更多的数据是支持背景分布的。二是即使是相对颜色一致的运动物体也会比背景产生更多变化,况且一般情况下物体都是带有不同颜色的。我们之所以将前景也用一个高斯分布来表示,是因为前景物体也有机会变为背景,当场景中添加物体时,通过一段自适应过程,可以用新的背景模型来替换旧的背景模型。而当物体移走时,原来的背景模型依然存在,可以快速地恢复背景模型。
(2)基于K-means 聚类的目标提取算法。
K-means 算法接受参数K,然后将事先输入的n 个数据对象划分为K 个聚类,使所获得的聚类满足同一聚类中的对象相似度较高,而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)并进行计算的。
K-means 算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means 算法的基本思想是:以空间中k 个点为中心进行聚类,对最靠近它们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
假设要把样本集分为c 个类别,算法描述如下。
①适当选择c 个类的初始中心;
②在第k 次迭代中,对任意一个样本,求其到c 个中心的距离,将该样本归到距离最短的中心所在的类;
③利用均值等方法更新该类的中心值;
④对于所有的c 个聚类中心,如果利用②③的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
该算法的最大优势在于简洁和快速,算法的关键在于初始中心的选择和距离公式。具体流程为:首先从n 个数据对象任意选择k个对象作为初始聚类中心;而对于所剩下的其他对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。k 个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能地分开。
(3)基于Cean Shift 的运动目标跟踪算法。
Mean Shift 算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束。
基本的Mean Shift 形式扩展为:
其中:,G(x)是一个单位核函数,H 是一个正定的对称d×d 矩阵,我们一般称为带宽矩阵,w(xi)≥ 0 是一个赋给采样点xi的权重。
在实际应用的过程中,带宽矩阵H 一般被限定为一个对角矩阵,甚至更简单地被取为正比于单位矩阵,即H =h2I。由于后一形式只需要确定一个系数h,在Mean Shift 中常常被采用,在本书的后面部分我们也采用这种形式,因此上式又可以被写为:
对于目标跟踪而言,用一个物体的灰度或色彩分布来描述这个物体,假设物体中心位于x0,则该物体可以表示为:
候选的位于y 的物体可以描述为:
因此物体跟踪可以简化为寻找最优的y,使得与最相似。
与的最相似性用Bhattacharrya 系数来度量分布,即:
式(3)在点泰勒展开可得:
把式(2)代入式(3),整理可得:
其中,
对式(5)右边的第二项,我们可以利用Mean Shift 算法进行最优化。
(4)基于Kalman 滤波器的运动估计算法。
Kalman 滤波基于时域描述的线性动态系统,它的模型是Markov Chain,而Markov Chain 建立在一个被高斯噪声干扰的线性算子之上。系统的状态可以用一个元素为实数的向量表示。随着离散时间的增加,这个线性算子就会作用到当前状态之上,产生一个新的状态,并且会带入一定的噪声,同时一些已知的控制信息也会加入。同时另外一个受噪声干扰的线性算子将产生这些隐含状态的可见输出。Kalman 滤波可以被看作为类似隐马尔科夫模型,它们的显著不同点在于:隐状态变量的取值空间是一个连续的空间,而离散状态空间则不是;另外,隐马尔科夫模型可以描述下一个状态的一个任意分布,这也与应用于Kalman 滤波器中的高斯噪声模型相反。
Kalman 滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,因此不需要记录观测或者估计的历史信息。卡尔曼滤波器与大多数滤波器的不同之处,在于它是一种纯粹的时域滤波器,它不需要像低通滤波器等频域滤波器那样,需要在频域设计再转换到时域实现。
卡尔曼滤波器的状态由以下两个变量表示:,在时刻k 的状态的估计;Pk|k,误差相关矩阵,度量估计值的精确程度。
卡尔曼滤波器的操作包括两个阶段:预测与更新。在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得一个更精确的新估计值。
预测阶段:
使用上述公式计算Pk|k仅在最优卡尔曼增益的时候有效。使用其他增益的话,公式要复杂一些。
如果模型准确,而且与P0|0的值准确地反映了最初状态的分布,那么以下不变量就保持不变:所有估计的误差均值为零。
且协方差矩阵准确地反映了估计的协方差:
请注意,其中E[a]表示a 的期望值,cov(a)=E[aaT]。
图像匹配在众多视觉应用中是一个关键技术,通过摄像头监控的视频流进行对特定目标的管控,最终也需要进行关键帧的图像匹配,而匹配的效果直接影响到后续分析处理的效果。特定目标的识别属于静态的图像匹配,即给定场景和特定目标的两幅图像,寻找同一场景点投影到目标图像中的像素之间的对应关系,其中主要方法为图像特征点提取和最小距离计算。Moravec 等人采用角点算子来实现立体视觉匹配,在此基础上Harris 等人对Moravec 算子进行改进,Harris 的角点检测算法具有旋转不变以及缩放不变等许多优良特点,因此被广泛应用于各种图像匹配算法中,然而它对视角、照明、尺度变化较为敏感,抗噪声能力不强。之后David Lowe 等人提出了更加稳定的SIFT (scale invariant feature transform)特征算子,该算子不但具有尺度、旋转、仿射、视角、光照不变性,而且其匹配点多且稳定的特点对于复杂环境下目标的识别也较为有利,该算子已经广泛应用于三维目标识别、地图生成和末制导图像匹配等领域。针对不同应用和场景,SIFT 算法也被不断地优化和改进且衍生出多种不同的改进算法。利用SIFT 算法对监控视频中的特定目标进行识别和管控,不但降低了人工成本和人工检测的不确定性,极大解放了人力劳动,而且提高了对摄像头的利用率,可以真正做到对安全关键区域的特定目标进行24 小时的实时监控和管理。
首先使用混合高斯背景建模进行场景识别,当场景中的情况满足了需要匹配的条件,如场景中目标无管控人员在周围管控之后,采用SIFT 算法提取特定目标的特征点,然后进行特征点筛选及匹配,最后完成对特定目标的识别,并实现联动报警,以此对特定目标达到实时管控保护的目的。该方法在大量实验中证明了在特定场景下的可行性,且达到了较好的识别效果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。