论文部分内容阅读
“安全城市”和“智慧城市”等理念的提出,推动视频监控技术的高速发展。视频监控技术已经向智慧化、网络化、数字化等方向发展。智慧监控系统,较好的整合模式识别、图像处理、计算机视觉等技术,广泛应用于智慧交通、智慧课堂、濒危动物监测、军事国防安全、商业活动分析、社会公众安全等领域。在大多数的智慧监控系统中,分布式的监控摄像机捕捉现场场景,随后将图像数据发送到数据中心或者服务器进行分析处理。当前,基于云计算的智慧监控系统,已经可以较好的实现智慧监控任务,并且在多个领域中进行广泛应用。然而伴随着信息技术的快速发展,待处理数据指数性增长,网络传输压力将会进一步加大。爆炸性增长的不具备结构化特性的视频数据,已经成功的在网络数据中占据较高的比重。如果智慧视频监控系统仍然采用,以云计算模型为核心的集中处理方式。将会出现如下问题:1、传输延迟较高;2、云计算平台服务器的算力负担将会较大幅度的增加;3、海量冗余视频数据将被系统管理和存储,存储结点的能耗被大幅度的提高;4、大量的流量和带宽消耗。为解决云平台智慧监控系统的瓶颈问题,一部分研究者选择从网络带宽处着手。该部分研究者将位于摄像头节点处的视频数据进行压缩,进而降低网络链路之中的数据量。该方法相对较好的降低视频流的流量,但时间延迟较长,不能做到实时的传输与识别。一部分研究者从识别算法着手,该方法较好的降低视频处理的算力资源消耗,进而降低能耗。但是因为该方法未对冗余视频数据进行处理,所以还是有较多冗余数据。一部分研究者选择通过迁移计算任务的方式实现智慧视频监控系统。将一部分的计算任务迁移至其他服务器。该方法相对好的改善云平台监控系统对算力资源的要求。但是该方法没有从根本上解决问题,没有减少视频流中的冗余数据,并且计算总量还是未变。因为传统解决方案的一些弊端,本文将边缘计算的概念进行引入,提出基于ZYNQ(“FPGA+ARM”架构)的面向边缘计算的智慧识别与定位系统。边缘计算是一种新型的计算模型,将智能服务放置于网络边缘,也就是将智能服务放置于靠近数据源头或者物的地方。边缘计算模型与设备的近距离使得它能够节省网络流量、提高响应速度。以边缘计算模型为核心的智慧识别与定位系统,由图像采集部分、模式识别(边缘计算)部分、上位机部分,三大部分构成。系统的工作流程为,首先通过高清摄像头对外界情况进行实时监测,获取外界情况的图像数据。随后将获取到的图像数据,直接传输至边缘设备ZYNQ中进行场景的识别和判定,并且生成特征码。特征码将通过串口或网口传输至PC端的上位机。上位机通过特征码,从数据库中调取相应的数据,最终在界面上显示出当前识别结果的文字介绍、照片和当前场景所在的位置。当所需处理的环境或要求有所变化时,系统也可实现代码的远程更新,从而可以针对不同的环境和要求进行智慧监测。因为智慧识别与定位系统采用边缘计算模式,计算任务移到靠近数据源头的ZYNQ处。考虑到ZYNQ的PL(FPGA)端,较为适合做大规模的重复性的运算,并且相对与ZYNQ的PS(ARM)端而言控制能力较弱。为此,PS端主要负责智慧识别与定位系统中的控制部分如:ZYNQ代码的远程升级、基于SPI协议的摄像头配置、系统的初始化等。PS端,除了负责智慧识别与定位系统的控制部分外,也会实现部分低算力要求的算法,如:图像缩放、卷积神经网络中池化层运算等。PL端则主要用于实现系统中的高计算密度算法的加速,如:如卷积神经网络中卷积层和全连接层的计算等。通过PL端实现系统的加速时,首先使用流水线操作,将待处理的数据从PS端搬移至PL端。随后考虑到运算的并行性问题,将接收到的数据进行数组拆分,将数据拆解为各个独立的元素,保证数组的读写效率。然后,使用循环展开操作,将循环卷积操作进行展开,将单个卷积核的卷积运算操作一次性完成。为提高运算单元的使用效率,在进行卷积操作时采用流水线操作,将数据实时的传输至运算单元。因考虑到在多个运算环节,系统都会调用核心运算单元,所以使用函数内联操作。当在某些运算环节,需要调用核心运算单元时,会在该运算处复制出一个核心运算单元。如此操作后,相关计算不需进行运算的等待,较好的提高系统的运算效率。最后,系统进行流量传输消耗、情景识别率、情景识别速度的实际测试。首先进行系统流量传输消耗测试。通过测试结果可知,如果直接将摄像头采集到的1920X1080@30Hz的图像数据通过UDP协议传输到PC端,所产生的流量约为217389.87Kb/S。但是如果采用本文的方法去识别相关场景,并直接将识别结果的特征码传输至PC端。流量会降低为50bit/S左右,流量消耗相对前者降低35617157倍左右。此外,系统如果没有检测到相应目标,将停止产生特征码。极低的流量消耗,将较好的解决云平台视频监控系统,高带宽消耗、高处理器负担、高冗余数据储存等问题。随后,系统进行情景识别率和情景识别速度的实际测试。通过实测结果可知,如果将系统全部放在ARM A9上进行实现,情景识别的准确率会在92.08%左右,单次情景识别时间为26.913秒左右,无法实现实时性。但是如果采用本文的方法,情景识别的准确率还是在92.08%左右,但是单次情景的识别时间降低至0.2791秒左右,识别速度提升96.427倍左右。最终较好的提高系统的情景判断速度,实现系统的实时监测。较高的情景识别率和较快的情景识别速度,较好的解决云平台视频监控系统低智能化、非实时性处理等问题。通过实测结果可知,基于ZYNQ的面向边缘计算的智慧识别与定位系统较好的满足系统需求。可以较好的应用在智慧交通、智慧课堂、濒危动物监测、军事国防安全、商业活动分析、社会公众安全、“安全城市”、“智慧城市”等领域。