基于深度学习的弯曲文字识别研究与FPGA实现
作者单位:天津工业大学
学位级别:硕士
导师姓名:陈力颖;吕英杰
授予年度:2022年
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 080203[工学-机械设计及理论] 0835[工学-软件工程] 0802[工学-机械工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:弯曲文字识别 Mask R-CNN 深度学习硬件加速 动态定点化
摘 要:文字作为信息传递的重要方式,承载着丰富而准确的语义信息。随着深度学习领域的迅速发展,自然场景中的文字识别成为了计算机视觉领域的一个研究热点,基于深度学习算法的现场可编程门阵列(Field Programmable Gate Array,FPGA)加速研究也受到越来越多人的关注。基于此,本文完成了基于深度学习的弯曲文字识别研究与FPGA实现,本文的研究内容如下:(1)由于传统卷积神经网络识别精度较低,本文基于实例分割方法实现弯曲文字识别。本文选用Mask R-CNN作为训练模型,使用Detectron2和Py Torch深度学习框架完成对Mask R-CNN网络模型的训练。实验结果表明,本文在SCUT-CTW 1500数据集上的准确率为80.1%,总体达到了很好的效果。(2)实现了卷积神经网络算法的硬件加速设计。由于Mask R-CNN算法的庞大计算量和复杂性,首先通过分析卷积神经网络中的各种运算类型的计算原理,并充分利用FPGA并行运算的特点,通过采用数据复用、时分复用和流水线技术优化方法,实现了卷积运算、池化运算和全连接运算的硬件加速设计。充分利用坐标旋转算法(Coordinate Rotation Digital Comuper,CORID)计算简单,精度高的特点,实现了Re LU、Sigmoid、Softplus和Softmax四种激活函数的硬件设计。仿真结果表明,计算误差均不大于10数量级,满足激活函数的精度要求。(3)设计了Res Net50网络硬件加速架构。针对片上资源有限的情况,提出了一种改进动态定点量化方法,分别对特征和权重进行数据量化,在保证精度的同时降低FPGA上资源的消耗,权重大小从119.5MB减少到29.88MB,量化后的权重大小相比量化前降低了75%。对输入特征采用二值化量化方式,量化后的输入特征位数相比量化前降低了87.5%,且易于存储。基于卷积神经网络的卷积运算硬件加速设计,本文提出了基于FPGA平台的Res Net50网络硬件加速架构,通过采用特征复用,权重复用、时分复用和流水线技术优化方法,充分利用FPGA的片上资源,提高运算速度。实验结果表明,FPGA工作频率为120MHz,系统功耗为2.221W,本文基于FPGA平台单张图片的识别时间约为GPU平台的4倍。Res Net50网络运算速度约为10FPS,峰值性能达到188GOPS,能耗比为84.6GOPS/W,总体达到了很好的效果。因此,本文提出的Res Net50网络硬件加速架构是可行且有效的。