节点文献
基于Zynq的深度学习图像分类识别系统的设计
Design of Deep Learning Image Classification and Recognition System Based on Zynq
【作者】 黄伟杰;
【作者基本信息】 广东工业大学 , 控制工程(专业学位), 2018, 硕士
【摘要】 目前卷积神经网络应用已经在CPU或GPU的机器上实现,是以牺牲性能和能耗为代价。因此,研究热点转向如何高性能低功耗地来实现深度学习相关算法。近年来越来越多嵌入式机器视觉相关应用(实时图像和视频处理)层出不穷,但传统的嵌入式处理器计算能力十分有限,很多场景应用已经不能满足实时处理的要求。在分析当前嵌入式的处理器来实现基于深度学习相关算法的图像处理的基础上,最终采用一种ARM+FPAG的设计方法进行基于深度学习相关算法的图像处理,可以充分发挥卷积神经网络中的并行特性,并且具有实时性强、低功耗的优点。具体在Xilinx Zynq-7000架构基础上,通过进行合理的软硬件设计,最终搭建一个图像分类系统平台。论文中主要的工作有:深度学习对于抽象问题的认知具有显著成效,分析得出深度学习网络中的卷积神经网络的基本算法能够很好地运用在图像处理上,并在此基础上分析了当前卷积神经网络算法中计算部分进行软硬件设计的方法和技术手段。在了解基于Zynq So C硬件架构的图像分类系统框架及Zynq-7000开发平台的ARM部分的开发特性基础上,进行了图像分类系统的运行环境设计,根据系统的启动方式对Linux嵌入式操作系统进行了移植,从中涉及了U-boot、设备树文件和文件系统的设计。提出了一种同步数据流IO模型实现卷积神经网络在FPGA上部署的设计方案,优点是用最小的内存占用实现最佳的性能。借助Vivado HLS开发工具对Zynq的FPGA部分进行IP设计。同时根据数据流传输体系结构,将32位浮点和定点算法进行比较,分别设计卷积神经网络中各层IP。基于Zynq-7000平台对图像分类识别系统进行软硬协同设计,给出了软硬件开发流程。对软件部分Linux系统下硬件驱动程序进行了编写,同时提供编程接口以服务于上层用户。加速器验证了CIFAR-10原型显示出高达43倍的加速度,同时保持73.7%的分类精度和2.063W的低功耗,证实了Zynq-7000平台能较好地实现图像分类识别,在嵌入式图像应用上具有很高的实时性。
【Abstract】 Convolutional neural network applications are currently implemented on CPUs or GPUs at the expense of performance and energy consumption.Therefore,the research hotspot has turned to how to implement deep learning related algorithms with high performance and low power consumption.In recent years,more and more embedded machine vision-related applications(real-time image and video processing)have emerged endlessly.However,traditional embedded processors have very limited computing power,and many scene applications can no longer meet the requirements of real-time processing.After analyzing the current embedded processor to implement image processing based on deep learning related algorithms,an ARM+FPAG design method is finally used to perform image processing based on deep learning related algorithms,which can make full use of convolutional neural networks.The parallel characteristics,and has the advantages of real-time and low power consumption.On the basis of the Xilinx Zynq-7000 architecture,a reasonable image and software system platform is finally set up through reasonable hardware and software design.The main work in the paper is:Deep learning has significant effect on the recognition of abstract problems.It is concluded that the basic algorithm of convolutional neural network in deep learning network can be well used in image processing,and on this basis,the current convolutional neural network algorithm is analyzed.The calculation method of the hardware and software in the computing part of the method and technical means.Based on the understanding of the development features of the image classification system framework based on Zynq So C hardware architecture and the ARM part of the Zynq-7000 development platform,the operating environment of the image classification system was designed,and the Linux embedded operating system was implemented according to the system startup mode.Porting involves the design of U-boot,device tree files,and file systems.A synchronous data stream IO model is proposed to realize the design of convolutional neural network deployment on FPGA.The advantage is to achieve the best performance with the smallest memory footprint.Implement the IP design of the FPGA part of Zynq with Vivado HLS development tools.At the same time,according to the data stream transmission architecture,32-bit floating-point and fixed-point algorithms are compared to design each layer of IP in the convolutional neural network.Based on the Zynq-7000 platform,the software and hardware co-design of the image classification and recognition system is given,and the software and hardware development flow is given.The hardware driver under the Linux part of the software was written,and a programming interface was provided to serve the upper users.The accelerator verified that the CIFAR-10 prototype showed up to 43 times the acceleration,while maintaining a classification accuracy of 73.7% and low power consumption of 2.063 W,confirming that the Zynq-7000 platform can achieve good image classification and recognition in embedded image applications.It has high real-time performance.