基于FPGA的YOLOv2加速器设计
2021-09-06梁洪卫白鹏程陈建玲孙勤江陈明虎薛祥凯
梁洪卫 白鹏程 陈建玲 孙勤江 陈明虎 薛祥凯
(1.东北石油大学 电气信息工程学院,黑龙江 大庆 163318;2.中海石油(中国)有限公司 天津分公司,天津 300459)
0 引 言
卷积神经网络(CNN:Convolutional Neural Network)能在大量数据中进行特征学习,进而实现相同类型数据的识别,在语音识别、图像处理、图像分割以及自然语言处理等领域有着广泛应用[1-3]。当前的卷积神经网络目标检测算法主要有两种方式:一阶段检测(one-stage)[4]方式和两阶段检测(two-stage)方式。Two-stage 检测方式由分类器演变进化,优化比较困难。One-stage 方式将目标检测重新构造成一个回归问题,直接对整张图像中每个像素边界框的坐标以及其所属类别进行预测,不需要产生候选区域(region proposals),运行速度较快,YOLOv2 就是基于这种方式工作[5]。
由于CNN 特定的计算模式,当前CNN的设计及实现大部分是基于图形处理器(GPU:Graphics Processing Unit)或依赖于大型服务器等硬件的支持,不适合移动平台的应用[6]。然而,目前嵌入式系统已经有了一个不可忽视的市场,它需要高精度和实时的图像识别能力,但存在有限的电池和资源的严重限制性问题[7]。为解决这个问题,许多研究人员从计算或内存访问方面提出了各种CNN 加速技术,FPGA 不仅具有丰富的片上硬件逻辑资源,还具有灵活的线路连接特性和良好的内存带宽,以及灵活的设计和较短的开发周期等优点,广泛地应用于深度学习领域,利用FPGA 加速神经网络已成为目前的研究热点之一[8]。
笔者着重研究基于FPGA的YOLOv2 网络的加速器设计,使用Xilinx 公司提供的Vivado 工具对各……
