智能安防的概念提出已经有相当长时间了,但是道路并不平坦,受限于计算机视觉算法和前端设备处理能力,许多功能一直无法成熟应用。但是厂商在宣传智能水平方面往往有夸大的冲动,使得产品在部署使用后,实际性能与用户期待相去甚远。虽然这种情况使得安防领域的智能化陷入了一段尴尬时期,同时也降低了用户的期望值,使用户更加理性的看待智能安防技术,也使得真正优秀的智能安防产品能得到机会。最近数年来深度学习算法的快速发展,在各类人工智能问题上的优异表现给智能安防领域带来了新的机遇。在深度学习迅速发展的大背景下,本文就智能安防系统如何采用最新的技术提升产品性能做一些抛砖引玉的探讨。
基于深度学习的智能安防系统结构探讨
责任编辑:editor006 | 2017-09-18 15:55:55 本文摘自:慧聪安防网
智能安防的概念提出已经有相当长时间了,但是道路并不平坦,受限于计算机视觉算法和前端设备处理能力,许多功能一直无法成熟应用。但是厂商在宣传智能水平方面往往有夸大的冲动,使得产品在部署使用后,实际性能与用户期待相去甚远。虽然这种情况使得安防领域的智能化陷入了一段尴尬时期,同时也降低了用户的期望值,使用户更加理性的看待智能安防技术,也使得真正优秀的智能安防产品能得到机会。最近数年来深度学习算法的快速发展,在各类人工智能问题上的优异表现给智能安防领域带来了新的机遇。在深度学习迅速发展的大背景下,本文就智能安防系统如何采用最新的技术提升产品性能做一些抛砖引玉的探讨。
深度学习是机器学习的一个分支,它基于试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的一系列算法。卷积神经网络是目前深度学习领域最为广泛使用的深度学习结构,卷积神经网络由一个或多个卷积层和顶端的全连接层(对应经典的神经网络)组成,同时也包括关联权重和池化层。自深度学习出现以来,它已成为很多领域,尤其是在计算机视觉和语音识别中,成为各种领先系统的一部分。在通用的用于检验的数据集,例如语音识别中的TIMIT和图像识别中的ImageNet,Cifar10上的实验证明,深度学习能够大幅度提高识别的精度。深度学习算法也是最先在某些识别任务上达到和人类表现具备同等竞争力的算法,例如人脸识别领域使用广泛的测试集LFW,基于深度学习的算法基本都能达到99.5以上的性能,这已经超过了人类的得分。
深度学习给智能安防带来机遇的同时,也带来了挑战。硬件的进步是深度学习获得关注的重要因素,高性能图形处理器的出现极大地提高了数值和矩阵运算的速度,使得机器学习算法的运行时间得到了显著的缩短。这些高性能图像处理器目前最广泛使用的是英伟达生产的支持CUDA计算的一系列高端显卡,这些显卡通常功耗都过百瓦,价格也从数千到上万不等。而对应的前端设备上的嵌入式处理芯片必须满足严格的功耗、成本约束,目前数字摄像头中使用的处理芯片功耗通常在瓦级,价格在几十元人民币量级,显然这两者之间存在巨大的鸿沟。这要求安防厂商从传统的智能摄像头向前后端复合的智能安防系统思路转变。笔者认为未来智能安防系统的发展将会分为两个阶段。
第一个阶段是由前端智能摄像头和后端智能分析服务器共同构成,利用后端基于深度学习的分析服务器来提升目前智能安防系统的性能。一个简便易行的前后端协作方式是前端负责寻找可能刚兴趣的关键帧并发送到后端,后端负责对该帧进行深入分析,判断是否发生了感兴趣的事件。
目前我们在智能安防中的需求中实际上有相当一部分是不需要对视频进行分析的,通过单幅图像进行分析就可以完成,只是传统图像算法不足够强大,必须依赖连续视频才能抽取需要的信息。比如广场人员密度分析,如果是人工进行分析,只需要单张图片就可以判断当前画面中的人员密度,是否达到预警的条件,而不需要对连续视频进行分析。但是许多做这方面工作的传统算法通常都依赖于对连续视频的处理,需要通过连续视频做一些前景提取的工作。由于依赖连续视频,这些算法还很容易受到环境光照变化的影响。在深度学习出现以后,基于卷积神经网络设计的算法通常都是针对单张图片进行的,并且在人员密度分析上精确度大幅度上升。虽然基于深度学习的算法可以仅仅依靠单张图片就可以分析,但是如果我们不加区分的每帧或是间隔数帧持续传回截图,对网络带宽和后端处理能力都会造成很大的负担。我们可以要求前端设备通过对连续视频的分析仅仅负责寻找场景内大量前景目标时,进行截图并发送到后端,由后端来分析该帧内的人员分布密度,这样可以在前端充分利用连续视频的信息,降低系统对网络带宽和后端处理能力的需求。
在构建类似系统的硬件平台方面,目前国内前端数字摄像头主流芯片为海思和德州电器两家厂商生产,这两家厂商的部分芯片都支持用户进行智能图像处理算法的开发,只是方案略有不同。海思通过SOC内置的IVE硬件智能算法加速引擎来支持传统智能算法的设计,该加速引擎可以支持一些在传统计算机算法中常用的算子,开发人员通过调用这些算子来构成应用级算法。而德州电器的达芬奇系列处理器则通过ARM和DSP的异构多核策略来提供对算法设计的支持,图像处理算法主要运行SOC内集成的高性能DSP上。这些芯片虽然无法执行复杂的深度学习算法,但是用来执行一些针对连续视频处理的相对简单的算法,例如前景提取、人脸检测等,性能是足够的。所以目前基于现有的成熟芯片开发具备一定智能的前端数字摄像头是有很成熟方案的,由于是成熟芯片,所以成本也可控。后端设备采用基于英伟达显卡的服务器即可,面向深度学习的各类软件框架也比较成熟,所以当前阶段构建基于前后端混合的智能安防系统在软硬件条件上都是具备的,可以迅速完成产品研发投入市场。
第二阶段是随着专用卷积神经网络加速器硬件的发展,在功耗、成本都满足需求的前提下,将深度学习算法直接运行在前端设备上。目前已经有可以支持一定规模卷积神经网络的嵌入式处理芯片,最著名的是英伟达发布的TegraK1和X1。这两块芯片性能强大,同时成本高昂,并且两者由于功耗和成本的限制,在执行深度学习算法时与桌面显卡相比性价比非常低。例如X1只有256个CUDA核心,GTX1060则具备1280个CUDA核心,并且前者为MAXWELL架构频率为1000MHZ,后者为PASCAL架构频率高达1708MHZ,再考虑两者在存储容量、速度上的显著差距,两者的性能差距是相当大的,但是X1主芯片的售价就超过200美元,GTX10603G显存版本的零售价只要大约1500人民币。
除了Tegra这类具备通用计算加速单元的芯片之外,其他还有一些初创企业在开发完全针对深度学习的芯片,例如国内创投圈知名的寒武纪。寒武纪开发的芯片在硬件结构设计上,从存储到计算单元的设计,完全针对卷积神经网络的需求进行,从而最大程度的提升在执行这类应用时芯片的能效比,据目前透露的数据在保持低功耗的前提下,性能可以比当前的主流显卡高一个数量级。Intel收购的深度学习芯片公司Nervana也推出了在性能上与当前主流显卡有量级提升的深度学习芯片,相信Intel收购以后在生态、资本方面给予的大力支持,可以促进深度学习专用加速芯片更快的进入市场。
随着未来硬件平台的持续发展和逐渐成熟,在功耗、成本、性能都满足要求的前提下,将整个人工智能算法全部都放在前端设备上仍然是最终的方向。在前端直接执行可以使得整个人工智能算法获得最完整的输入数据,而不是仅仅局限于由于前端较为简单的智能分析算法获得的单张图片或是部分特征,从而获得更好的智能分析效果。
本文转自d1net(转载)