论文部分内容阅读
近年来,人工智能(Artificial Intelligence,AI)技术飞速发展,被广泛的应用于各种领域,可以实现智能图像分类、目标识别以及自动驾驶等。卷积神经网络(Convolutional Neural Networks,CNN)作为深度学习(Deep Learning,DL)最重要的算法之一,通过感受区域和参数共享降低了网络参数并提高了模型扩展性。现场可编程门阵列(Field Programmable Gate Array,FPGA)作为一种可重复编程的硬件结构,不但可以实现低功耗的计算而且并行计算的特点刚好与卷积神经网络相契合,所以本文结合图像识别技术,对卷积神经网络加速器在ZCU102开发板的嵌入式系统实现进行研究,探索出一种高性能、低功耗和低成本的图像分类嵌入式系统加速方案。首先,在对比分析深度学习和卷积神经网络的典型算法以及硬件加速平台的特性基础上,针对squeezeNet网络模型,采用两种优化方法:网络结构的优化和硬件速率的优化,提出了可用于高效率图像分类CNN模型。随后基于GPU平台对CNN模型进行训练,结果表明在ILSVRC2012(ImageNet Large Scale Visual Recognition Challenge)数据集下对图像分类的平均分类准确率达74%以上。其次,与传统的图像分类处理器的实现方式相比,采用Xilinx推出的ZynqZCU102 SoC平台集成的“ARM+FPGA”的嵌入式系统实现方式具有高性能、低功耗、实时性和灵活性优势,并且考虑到FPGA并行计算模式与CNN很契合,故提出了基于FPGA实现CNN算法的硬件加速器设计。随后基于赛灵思推出的HLS开发工具将编写实现图像分类的卷积神经网络算法的C语言代码转化成寄存器传输级(RTL)实现,并封装导出RTL级CNN的IP核在Vivado环境中集成硬件加速电路。集成电路经过综合实现得到BITSTREAM文件,将BIT流文件下载到FPGA中,完成FPGA资源的布局布线。最后,基于ZCU102开发板“ARM+FPGA”的SoC架构,采用软硬件结合的方式进行图像分类CNN硬件加速系统验证平台构建和测试。该架构使用FPGA实现图像分类算法的硬件加速和图像数据传输,使用ARM实现图像的采集。结果表明本文CNN加速系统实现的最高频率可达250MHz,在250MHz条件下一副图像的识别时间为2.33秒,速度是仅使用ARM的9.29倍,是仅使用Intel(R)Xeon(R)CPU [email protected]的4.9倍。对ImageNet2012数据集中50000张验证图像进行测试,可以达到73.322%的TOP-5正确率。最大功耗为7.488W,远低于通用处理器的功耗。因此,验证了Zynq ZCU102平台能高效低功耗地实现图像分类识别。