一、概述
随着整个社会安全意识的提升,安防产业迎来了快速发展的契机,以摄像头为代表的监控设备在各个领域被广泛使用,拍摄的监控视频数据也大量增加。在这样的背景下,单纯依靠人力从视频中检索感兴趣内容遇到了一些困难:①人力成本增高;②工作人员注意力不可能长时间高度集中,可能出现漏检和误检;③部分高强度实时性任务人力无法胜任。于是,面向自动化解决方案的智能视频分析技术应运而生,得到了国家、高校和企业的重点关注,并取得了飞速发展,已经在平安城市、金融行业、政法监管、商业等领域收获了很多成功的经验。
智能视频分析可以帮助工作人员提高效率,如视频浓缩技术可以过滤掉大量冗余信息,将感兴趣的内容集中呈现出来;也可以解决一些人力很难处理的问题,如实时记录通过卡口的车辆车牌信息。智能视频分析的终极目标是从视频数据中分析出所有感兴趣的信息,并代替工作人员完成决策和自动化控制。相对这一终级目标来说,尽管智能视频分析已经成功完成了车牌抓拍、违章变道检测、区域入侵检测、人数统计、人脸识别等等一系列复杂任务,但仍然任重道远。
传统的智能视频分析一般基于单个普通可见光摄像头拍摄的视频,通过提取相对直观的特征,如形状、颜色、光流等,构建或训练感兴趣目标的模型。经过科研人员的共同努力,特征跟踪、模式识别、运动估计等算法都取得了很多成果,将这些基础算法组合起来就实现了智能视频分析。而算法领域的不断创新,正是前一阶段智能视频分析发展的源动力。但是,随着智能化解决方案的需求不断增长和深入,传统智能视频分析遇到了一些难以解决的问题。例如:目标跟踪算法是智能视频分析的基本算法之一,但如果出现光照频繁变化、背景复杂或与目标纹理相近、遮挡、目标表观变化剧烈等情况,都会严重降低目标跟踪结果的准确性。虽然很多目标跟踪算法都针对以上问题展开了研究,也获得了越来越好的实验结果,但仍然难以同时克服上述因素的干扰。问题的本质在于:上述干扰直接破坏了目标在二维图像数据中的显著性,反过来说,如果视频中的数据信息不足以将目标从背景干扰中区分出来,跟踪算法自然无法获得理想的效果。假设,视频中不仅包括目标的二维信息,还包含目标的三维位置信息,问题似乎变得简单了:上述干扰因素都不会严重影响目标的三维位置,三维位置数据就可以作为目标跟踪过程中最重要的一致性特征,事实上,基于RGB-D数据的目标跟踪算法是正在研究的热点之一。
本文将从算法和数据两个角度入手,结合智能视频分析中立体视觉、目标跟踪、异常行为检测三个应用案例,论述算法与数据之间相辅相成的关系。在解决方案中充分发挥算法与数据紧密协同的优势,将成为智能视频分析技术的重要发展方向。
二、智能视频分析应用案例
1. 立体视觉
在相机成像过程中,环境的三维信息被投影在二维的图像上,而该投影过程中损失的信息对某些智能视频分析是非常重要的。例如,为了保证交通安全,需要对超长、超宽、超高、超速的车辆进行检测。但在传统的二维图像数据中,目标车辆的实际尺寸已经在投影过程中丢失,甚至目标车辆本身的边界都很难与环境背景区分开。在理想情况下,假设图像中车辆与环境背景准确分割,左右两侧前车轮与地面的接触点信息也已知,再利用事先的标定结果,能够计算车轮间的距离。但只基于一张图像的数据,无法判断图像中车头上方的车体投影是因车高引起,还是因车长引起(如图1(a))。另外,如果使用车系识别技术,可以分析得到该车辆出厂参数表上的长、宽、高数据。显然,以上的方法都不能真正解决问题,因为我们需要分析当前车辆的长、宽、高是否因载物或改装而超限,必须依据拍摄的图像数据对整个目标车辆(尤其是车辆后上方的载货区)进行测量。这项任务给基于传统单目视频的智能分析算法带来了挑战,甚至是不可能完成的任务。
从另外一个角度看,上述任务的难点在于目标三维信息在投影中丢失,而丢失的三维信息又恰好是任务所关注的重点。那么,如果可以将三维信息记录下来或者重建出来,就从根本上解决了问题——这种获取目标环境三维信息的技术就是立体视觉。从目前的发展现状来看,立体视觉又可以分为基于双(多)目立体匹配技术、结构光技术、TOF技术三种。图1中展示了双目立体视觉技术在车辆长、宽、高测量中的应用,输入为两台智能交通相机同步捕获的目标车辆图像(图1(a,b)),首先依据标定结果对双目图像进行外极线校正。校正后,同一三维点在左右两幅图像上的投影纵坐标相等,而由于两台相机光心之间存在一定距离(称为基线长度),左右投影的横坐标并不一致,该横坐标之差称为视差,其值与目标点到图像平面的距离成反比,通过立体匹配算法获得。进一步地,使用视差数据,通过三角测量法,就可以重建出三维信息(图1(c))。从图中可以清楚地看到车辆以及背景的三维点云分布、位置关系等,在所展示的正视角中,车辆宽、高边界已经非常明显。对三维点云应用分割、统计等传统算法,就估计得到了目标车辆的长、宽、高信息。结合车辆位置信息与时间信息,又可以方便地计算出目标车辆的速度。经过测试,在大部分情况下,车辆长、宽、高测量的精度已经达到90%以上,车速测量精度接近95%。
能够实时、准确、低成本地获取三维数据,对很多智能算法都具有非常现实的积极意义。如基于手势的人机交互,需要对手指的各种运动进行检测、跟踪、从而完成手势识别。如果手指相对相机的三维信息已知,就能够更准确地判断和区分具体手势,一方面可以容易地将手从背景中提取出来,一方面可以允许手势存在更多的模式。微软公司将人机交互技术以室内游戏为媒介展示给千家万户,他们成功的关键不仅在于各种先进智能算法的积累与研发,也在于创新性地使用Kinect设备获取近距离三维数据。Kinect
1.0使用结构光技术,而TOF技术被应用在Kinect 2.0中,三维数据获取能力有了较大提升,能够支持更精确、更复杂的交互式游戏。
2. 目标跟踪
目标跟踪是智能视频分析中的关键算法,是更高层算法的基础。视频数据相比单张图像的最大优势,是在时间轴上对同一场景进行了扩展。任何感兴趣目标都可以在视频上下文找到更丰富的信息,但真正利用这些信息有一个前提,那就是准确的目标跟踪。经过相关研究人员几十年的努力,诞生了各种各样的目标跟踪算法,但从智能视频分析的角度看,仍有一些难以解决的问题。
首先,要关联视频中的同一目标,必须能够将目标从其它干扰中区分出来,这就要求目标具备足够多的显著性特征信息。除去引言中提到的光照、遮挡、复杂背景等干扰问题不谈,由于相机成像时的投影模型特点,同样的目标在距离相机较近时成像大,距离相机远时成像小。当目标从近处移动到足够远时,尽管目标仍在相机视野之内,但在图像中的数据过少,无法保持目标模型的显著性,导致跟踪失败。对于此类问题,算法上的提升只能起到延缓作用。比如原本目标需要10×10像素才能跟踪,而优化后的算法只需要8×8像素,这样的改进对于算法来讲是较大的突破,但可能对实际应用的帮助并不大,未能从根本上解决问题。
从数据的角度看,上述问题出现的原因是相机无法根据感兴趣目标自适应地调整视角和焦距,导致被捕获的目标数据量不足。而球机可以根据指令自动地完成变焦和转动,刚好具备解决这一问题的能力。这样,可以使用一种“枪球联动”的解决方案:使用枪机在全局上对目标场景进行监控,当场景中发现感兴趣目标时,指挥球机锁定感兴趣目标。当感兴趣目标移动时,球机跟随目标转动;当目标远离相机时,球机又可以适时地对该目标进行放大(如图2所示),确保有足够多的数据描述该目标,提高了目标跟踪算法的准确率和有效跟踪范围。
进一步地,上述枪球联动方案仍有不足之处。在某些监控范围较大的场景,如操场、广场、机场等,要求监控相机具有足够大的视场角,传统的广角、鱼眼相机由于焦距限制、图像失真等因素影响,不能很好地解决这一问题。一种很自然的想法是:既然单个相机的成像质量已经满足要求,只是视场不够大,那么只需要同时使用多个相机,再通过算法将每个相机图像拼接起来,形成最终的大视场图像,这就是全景拼接算法(如图3所示)。而由于球机可转动、可变焦的特点,单个球机就可以与多个枪机进行配合。
3. 异常行为检测
广义上讲,几乎所有智能视频分析的目标都是检测异常行为,而特定场景中特定异常行为的定义引导着智能视频分析的不断发展与完善。例如,检测违章停车需要:①标定待检测区域;②检测车辆违章停车;③违章车辆车牌识别;④记录目标车辆违章时间。若一个相机只检测较小的区域(如一个车位),该问题的解决方案就相对简单,按现有智能算法的发展水平,并没有明显的难点。但问题是某些场景中待检测区域面积很大,如果每个位置都安装一台监控相机成本较高,而且大部分待检测区域周围并没有合适的相机安装位置。理想的解决方案是用少量设备远距离地对大范围场景进行监控,那么问题来了,监控范围变大之后,车牌在图像中很小,怎样提高车牌识别的准确率呢?有了上一节的讨论,很容易就会想到,枪球联动监控方案正好符合这个应用场景。当然,也要调整相应的算法结构,例如在检测到车辆进入和离开违章停车区域时,需要控制球机放大感兴趣位置,以进行车牌识别和车辆行为确认。
再举一个打架斗殴检测算法的例子。首先,很难精确建立打架模型,即使在某些特定场景中可以检测到人的四肢,在打斗过程中也无法准确跟踪这些信息,所以打架斗殴检测一般转换为异常运动的检测。这里的异常运动主要包含三个方面:一是动作剧烈且杂乱;二是持续时间较长;三是影响范围大。在传统智能视频分析中,运动信息主要用光流来衡量,上述异常运动的三个表现对应到光流的特性为:一是光流模值较大且光流方向直方图主峰不明显;第二、三点类似。但是,光流是单纯基于二维图像数据得到的,而真实的运动是三维的,用光流来模拟真实的运动就会产生原理上的缺陷。同样的三维运动会因与相机相对位置的不同而改变,例如远处的运动光流模值偏小,而物体沿着光轴运动时,会产生各个方向的光流。这种缺陷同样会影响异常运动持续时间与影响面积,当一群人从相机近处打到相机视野远处时,会因为光流模值变小,导致算法错误地认为异常运动已经终止,视场远处的运动在图像上来看,也会比近处的运动影响范围小很多。之所以产生这些问题,是因为在使用二维光流近似三维运动时,运动信息发生了失真。那么,如果使用立体视觉技术恢复出目标点的三维运动,构建的异常运动检测模型就更加合理和准确了。
由于异常行为检测涵盖了非常多的实际问题,其实现难度也各不相同,某些需求单单依靠视觉手段已难以满足。例如踩踏事件检测,踩踏多发生在人群密集区域,踩踏发生时由于疏导不畅,短时间内人群无法有效散开,与未踩踏时相比,缺少视觉上的显著性特征。但在听觉上,踩踏时往往伴随着尖叫、呼救,这些音频信息可以通过拾音器捕获下来,辅助视频共同完成智能分析。而某些应用中,则需要更特别的设备来获取有价值的数据,如检测发热病人、温度过高的热源隐患等,可以使用热成像设备(如图4所示)直接获取目标环境中的温度数据。这些非常具有挑战性的智能视频分析问题,都需要针对具体环境,制订软硬件结合的系统级解决方案,以充分发挥算法与数据协同作战的优势。
三、算法与数据相辅相成
1. 数据促进算法发展
结合前文所述的内容,我们不妨把智能视频分析的最终目标确定为异常行为检测或感兴趣行为检测,检测的过程可以归纳为两个阶段:①定义该行为。也就是将抽象的行为具体为某些特征集。②通过智能分析技术检测这些特征集是否出现。其中,传统智能视频分析主要针对阶段二,其原因主要是可利用的数据类型较单一,在将行为具体化为待检测特征集时可选择的空间较小。如打架斗殴检测一般只能具体化为二维光流特征的模式集合,而算法的研发则集中在光流计算的准确性方面。但是,如果能够获取目标的三维位置数据,就可以把打架斗殴检测具体化为三维运动特征的模式集合。可见,更完备的数据允许行为的定义更合理、更准确,但数据的可选择性在提高了智能视频分析技术潜力的同时,也对智能算法提出了新的挑战,促进了算法的进一步发展。
数据对算法的促进作用可分为两点:
(1)数据类型对算法的促进作用。在基于枪球联动系统的目标跟踪问题中,球机锁定目标后,目标在图像中的表观变化相对稳定,这降低了跟踪算法的难度。但枪机与球机联动本身,也需要算法提供准确的、及时的操作指令,而这部分算法是基于单个枪机的目标跟踪问题不需要解决的。同样地,在基于Kinect的人机交互问题中,手势识别算法从二维图像扩展到三维空间。新的数据类型促使新的算法被研发出来,以更好地利用数据。
(2)数据量对算法的促进作用。即使数据类型都一样,只是通过增加可利用的数据的量,就能够取得量变到质变的影响。最具代表性的是,大量的样本数据催生了深度学习算法,相比基于少量样本就能进行训练的SVM、AdaBoost算法,基于深度学习算法的识别结果更加准确、稳定(如图5所示)。
2. 算法提高数据利用率
确切地讲,数据必须转化为信息才能被利用,而这个向信息转化的过程是由算法决定的。算法的优化可以认为是提高数据利用率的过程,可以表现为利用同样的数据,产生更多的信息;也可以表现为利用更少的数据,产生相近的信息。在双目立体视觉中,前端设备直接获取的是两台相机同步拍摄的视频数据,要想真正得到目标环境的三维信息,关键在于立体匹配算法的性能。某些简单的局部立体匹配算法只能将图像中纹理丰富的区域准确匹配,而结构更复杂的半全局、全局立体匹配算法则可以克服部分光照、弱纹理因素影响,提供更致密的视差图。从某种意义上讲,获取数据的过程本身就是由一个又一个的算法组成。针对具体情况选择适当的数据可以提高智能算法的性能,而智能算法的提升同样可以提高数据的利用率,两者的关系是相辅相成、共同发展的。
四、结语
综上可知,在智能视频分析技术的发展之路上,算法仍是克敌致胜的根本,但数据将发挥越来越重要的作用。算法上的优化可以提高数据的利用率,而数据的完备性和针对性不仅能够全面提升算法的性能,更可以为解决方案的制订提供全新的视角。随着安防产业的不断发展,智能视频分析技术会面临各种各样的挑战,如何制订软硬件结合的系统级解决方案、充分发挥算法与数据协同作战的优势,是智能视频分析技术成功的关键。