“深度学习”技术开启智能安防新篇章
2015-12-31满江月
文/满江月
近几年,智能视频分析技术成为安防企业争相追逐的热点和亮点。对于这一现象的理解,需要我们回溯到安防的本质。笔者认为,安防本质上是为了保障人身和财产的安全。传统的安防技术更多地强调事中响应的实时性或事后查证的有效性。所以,高清、无损和无延时代表了过去几年安防行业的主要发展方向。无论是IP方案中的4K、H.265,还是同轴方案中的HDCVI、HDSDI,都围绕着这一方向向前发展。但随着高清的普及,摄像机设备也越来越多,如何有效利用这些资源,成为了业主用户头疼的问题。大量的设备处于“睡眠”状态,只有当发生人身损害或财产损失的事件后,才被“激活”。这种“监而不控”的状态显然不是业主的诉求。于是,智能视频分析技术应运而生。
传统智能视频分析技术的不足
智能视频分析技术(Intelligent Video Analysis,IVS)利用一些图像处理、模式识别或机器学习等领域的算法来分析视频序列中的信息,以达到理解视频内容的目的,也有人称为视频内容分析(Video Content Analysis,VCA)。有了智能视频分析技术,我们就可以及时地发现视频中的异常情况,第一时间做出反应,减少损失。
当我们还在憧憬着智能视频分析技术的前景时,现实给所有安防智能化厂商上了沉重的一课。很多智能视频分析技术受限于应用场景,为了得到较好的准确率,往往需要天时、地利、人和。“天时”是指天气和时间,一般来说阴天的效果要好于晴天、雨雪天气,白天的效果要好于夜间。“地利”是指周围环境,一般来说空旷简单的场景要优于拥挤复杂的场景。“人和”是指人的行为、状态等,一般来说稀松的人流、规则的运动方向更适合智能视频分析的要求。好不容易凑齐了三个要素,提供了非常标准的场景,我们仍可能遇到智能分析“罢工”的情况。其实,问题就出在算法本身上。
首先,传统的智能分析算法通常采取人工选择特征的方法,如尺度不变特征(Scale-Invariant Feature Transform,SIFT),方向梯度直方图特征(Histogram of Oriented Gridients,HOG),局部二值模式特征(Local Binary Pattern,LBP)等。很明显,特征选择的好坏直接决定着算法准确率的上限。算法研究团队的重点任务变成了投入更多的人力去挖掘出更好的特征。数据集越大,特征越难发现和选择,就好像一个无底洞一样,不断地试探,不断地积累,时间和人力成本相当之高。而所谓SIFT特征、HOG特征、LBP特征,都是算法人员在某种假设的前提下,寻找特定数据集在某一层面的表示。但这种表示是否真的有效,还是要靠算法人员的经验和运气呢?每种特征都有自己的提取方式,遵循着自己的理论支持,但如果理论假设本身与现实相悖呢? 我们无从知晓。
其次,有些智能分析算法模型为浅层学习模型,如支持向量机(Support Vector Machines,SVM)、逻辑回归(Logistic Regression,LR)等。浅层学习模型通常有0或1层隐层节点,可以在一定规模的数据集下发挥较强的表达能力。但当数据量不断增大时,这些模型就会处于欠拟合的状态。通俗点说就是数据量太大,模型不够复杂,覆盖不了所有数据。而算法模型无法解析大数据,直接制约了其应用的广度和深度,也限制了其进一步发展的空间。
浅层学习模型示意图
深度学习技术的兴起,为我们解决了以上问题。在讨论深度学习技术之前,我们先来谈一谈大数据,因为深度学习与大数据密不可分。
大数据时代的变革
生活在大数据时代的算法人员是幸运的,因为他们拥有数据;生活在大数据时代的算法人员也可能是不幸的,如果他不懂得如何利用这些数据,陷入数据的汪洋中无从抽身。大数据对智能视频分析技术有着深远的影响意义。
大数据时代为算法研究提供了足够多、足够丰富的训练样本。样本的容量和种类是算法模型是否具有泛化能力的重要因素。换句话说,训练样本集的规模决定了模型能否对训练样本以外的数据有效的解释。如果用10万个样本来训练,我们可以通过抽样和概率分析来预测100万量级的数据。而我们如果有10亿个训练样本,那么预测10万甚至100万量级的数据相对就容易得多。传统的算法研究不可避免地要遇到小样本问题(Small Sample Size,SSS),为了解决小样本问题,模型中加入了很多技巧性的手段,并都没有本质的区别,小样本仍然存在。大数据时代,问题的解决就变得简单粗暴多了。将所观测到的海量数据扔进模型中训练,只要模型足够复杂,就能够有效地表示这些数据。
大数据时代为算法研究提供了高效的计算工具。前面提到,数据量的增加意味着需要更复杂的模型来诠释它。我们辛辛苦苦构建了一个模型,到头来发现模型无法求解,或者求解的时间远远超出我们的想象。我们只能眼巴巴地看着一堆数据,然后酸酸地说,大数据似乎没那么有用。值得庆幸的是,有人已经走在了前面。无论是分布式计算、并行计算还是云计算,都在为之努力,试图解决日益增长的计算能力需求。如著名的图形处理器厂商NVIDIA一直致力于基于GPU的通用计算,即GPGPU。它提供了一种强大的并行计算框架,展现出非凡的处理能力,NVIDIA还推出了用于GPU计算的CUDA开发环境,降低了应用开发的门槛。
深度学习技术的出现
许多工业界、互联网界的业内大佬已经开始利用大数据开发了一些系统。2012年谷歌大脑项目利用16000个计算机处理单元开发出一套能够自主学习的系统。他们向这个系统随机提供1000万个从YouTube视频中截取的猫的图像之后,系统经过训练能够区分猫和其它目标。如果仅仅做到这种程度,很多已有的模式识别技术都可以实现。这个项目特别的地方在于,没有人告诉系统说这些图像是猫。也就是说,这个系统创造了“猫”的概念。这就像我们认人一样,通过不断反复的相见,我们才能记得彼此的长相。百度也利用一个近10万小时的语音数据集开发出一款语音识别系统。据介绍,这个系统可以在嘈杂环境下实现81%的准确率。与传统的语音识别系统不同,这套系统并没有采取标准的、计算代价昂贵的声学模型,而是给算法提供丰富的数据,然后让它自己去学习,并取得了卓越的性能。
在这些成果的背后,有着一套共同的算法框架,那就是深度学习。前面提到过浅层学习模型,而深度学习,往往含有更深的层次结构。从仿生学的角度来看,著名的诺贝尔奖得主休伯尔和威塞尔在对视觉皮层的研究中发现,大脑皮层是分级处理视觉信息的。大脑皮层17区即V1区,其中的简单细胞对边缘和方向特别敏感。皮层下一级处理单元对形状比较敏感。而更高级的皮层处理单元将抽象出目标的概念。我们可以认为高层级的特征是由底层级的特征组合得到的。越是低层,特征越简单,如一些直线、斜线、曲线等。越是高层,特征越抽象,越接近所要表达的意图。举个简单的例子,我们都知道,从字到词,再到句,到语义,是层层深化的过程,这就是一个典型的深层结构。我们回到图像分析的范畴,对于一个图片来说,最低级的特征是像素,也就是0到255的矩阵。我们通过像素,无法理解图片里的目标是什么。我们从像素中找到了边缘特征,然后用边缘特征组合成不同的部件,最后形成了不同种类的目标物。显然这个是我们所想要实现的。
分层特征学习示意图
2006年加拿大多伦多大学教授辛顿在顶尖的学术期刊《科学》上发表了一篇关于深度学习的论文,在学术界引起了巨大的反响。文章指出,深层的人工神经网络所学习的特征具有更强的表示能力,更有利于目标分类。深度学习初期是一种无监督的特征学习算法,减少了人工干预的步骤,通过多层迭代得到更优的特征。本质上,深度学习也是一种非线性变换,但通过多层嵌套,更适合应用于对大数据内部关系的表示。
深度学习的应用
近年来,深度学习在语音识别、图像识别、自然语言处理等应用中取得了显著的成效。但是在安防行业,深度学习刚刚起步。笔者注意到,已经有很多安防企业开始投入资源开发基于深度学习技术的算法、产品。可见,深度学习正影响着安防企业,影响着智能视频分析技术。接下来我们将从几个行业应用来分析深度学习的前景。
人脸识别应用
大家一定看过类似的新闻报道,说“某某大学/企业研发的人脸识别算法在LFW数据库上击败人类”。首先需要指出的是,在LFW数据库官方网站上排名靠前的算法大多采用深度学习算法,如香港中文大学的DeepID算法、Face++公司的Face++算法、谷歌公司的FaceNet等。但是,这个结果只能表明在特定数据集、特定测试环境下的算法性能。事实上,在安防领域的人脸识别还没有达到理想的效果。究其原因,视频中的人脸处在一种非常复杂的状态。光照、姿态、表情、饰物、分辨率等都影响着人脸识别算法。已有的训练算法,或者说已有的训练数据无法调整出一个具有很强泛化能力的算法模型。未来的人脸识别模型如果想要取得突破,一方面需要更多更丰富的样本数据,如各种光照、姿态、表情下的人脸图像。谁掌握了大数据,谁将抢夺先机。另一方面,深度学习模型还需要进一步优化。深度模型的理论性还需要加强。到底什么样的模型才算是最优的表示,目前并没有很好的答案。
非约束条件下LFW户外人脸数据集比对结果
车辆特征识别应用
作为智能交通的一个典型应用,车辆特征识别一直是安防厂商重点关注的技术领域。早期的车辆特征通常为车牌号码和车身颜色等。前几年各大厂商推出的产品都能对车牌号码和车身颜色进行准确识别,但对于车辆品牌和车型系列这些更加复杂的信息特征,并没有很好的识别手段。近两年,深度学习技术兴起,很多厂商利用大规模的数据集训练取得了实质性进展。目前行业水平已经可以达到上千种车系和上百种车标的识别。识别的准确率也已达到实用程度。今后的智能交通设备所能提取的车辆特征将更加丰富,将有助于提升业务部门的工作效率,推动智能交通行业的发展。
车辆特征示意图
深度学习还有很多应用场景,只要涉及到目标检测、目标识别的地方,理论上都可以应用深度学习来解决。就像百度首席科学家吴恩达在一些报告中提到的,深度学习可以取代现有的很多特征提取、目标检测技术。在未来,深度学习技术将与安防应用碰撞出更多的火花。
结束语
智能视频分析技术从产生开始,一直备受关注。经历了起初的期待,走过了应用的无奈,到如今重新审视技术本身,智能视频分析确实还有很长的一段路要走。深度学习和大数据为智能视频分析技术提供了前进的方向。我们也期待,未来有更多新的、合理的模型出现,为我们提供可用的方法,让设备真正拥有“智能”,让安防真正成为大家心目中的“智能安防”。