论文部分内容阅读
目标检测算法在国防安全、交通运输监测和医疗研究等领域都有着非常广泛的应用前景。基于深度学习的目标检测算法是对目标物体提取特征然后进行分类,最后将目标物体显示出来,整个网络通常包含数百万个神经单元和数百万个连接单元,其计算量非常大,这就使得目标检测网络很难应用在小尺寸和低功耗的移动平台上。目前主流的GPU嵌入式平台能量效率太低,很难实现目标检测算法的实时性检测功能。FPGA则提供了大量的设计资源,采用并行化计算的思想加速目标检测算法,使其能够在小尺寸、低功耗的嵌入式平台上应用。本文的主要目的就是实现目标检测算法在FPGA平台上的加速。本文通过对目标检测算法的全面分析,最终选择YOLOv2网络作为本次在FPGA开发板上加速的对象。根据YOLOv2算法的运算结构设计了一种基于Open Computing Language(OpenCL)框架的FPGA加速器,FPGA加速器中通过卷积内核、池化内核和Batch Normalization(BN)内核分别对YOLOv2网络中的卷积层、池化层和BN算法进行并行化加速计算。这种并行化计算方式将大幅度减少计算资源和内存带宽,还可以提高计算吞吐量。FPGA加速器中的各个内核采用流水式计算架构,能够实现大规模的网络加速。本文还采用了将32位浮点数量化成8位定点数的方法,减少了 FPGA加速器的内存存储空间以及数据传送量,同时节省了 DSP的计算资源。本文最后将编写好的YOLOv2网络的OpenCL代码移植到DE5-Net开发板上运行,进行目标检测算法的加速实验。最后验证了在FPGA平台上对目标检测方法加速的可行性,本实验在功耗仅为27w的前提下,将YOLOv2目标检测的运行时间加快到450ms左右。除了在FPGA平台上实现了 YOLOv2网络的加速以外,本文还实现了一种在安防检测方面的应用。利用Darknet深度学习网络和YOLOv2网络对刀、枪和棍模型进行训练。本文在PASCAL VOC 2007数据集的基础上新建立了 一个有关刀枪棍的数据集,通过训练得到能够识别刀枪棍物体的权重值,最终在DE5-Net开发板上实现对刀枪棍危险物品检测的应用。