[集创赛海云捷讯杯]全国二等奖经验分享
- 一.前言
- 二.我们的作品
- 三.小结
一.前言
笔者是研一在校生,从五月份开始和本科生一起卷集创赛,经历初赛,分赛区决赛,全国总决赛,认识了很多一起做比赛的朋友收获颇丰。今年海云杯初赛报名队伍340支左右,晋级分赛区决赛的队伍130支,晋级全国总决赛22支加上各赛区优秀组织队伍报送一共晋级全国总决赛26支队伍。在淘汰率方面可以说是各杯赛最卷的几个杯赛之一了。其中我在的东北赛区分赛区八组晋级一组总决赛,除了西南赛区各个赛区也基本上都是这个比例。
为了记录一下集创赛的过程,也为下一届报名海云杯的同学们提供些借鉴,计划未来一两个月推出海云捷讯集创赛经验贴分享专栏。在专栏中会尽可能的详细介绍在做海云杯的过程中遇到的困难,和解决思路。
二.我们的作品
目前,基于FPGA的机器视觉技术在缺陷检测领域发展迅速,深度学习技术凭借其不需要人工、依靠卷积神经网络的特征表征能力自动提取特征的优点被广泛应用于缺陷检测领域。本设计基于海云自研CNN加速器,对AI框架进行深度优化,更高效的利用CNN加速器,从而实现机器视觉缺陷检测。
本文首先阐述了DVP、VGA时序、模型缩放、QAT量化、MobileNet_SSD算法等的原理,对Paddle-lite推理框架、工业缺陷检测存在的问题以及小目标识别的解决策略进行了详细阐述。训练一个全精度mobilenet_v1_ssd模型作为基准模型。针对样本中针孔识别置信度较低的问题,将算法默认的先验框大小进行了调整,提高了针孔样本推理置信度。对SDK各部分进行耗时分析,使用neon指令集优化输入输出重排,使推理时间降低至570ms左右。同时对模型先验框算子进行离线运算,将推理时间降低到220ms。在自定义位置插入伪量化节点,完全卷积全融合,将推理时间降低到186ms。通过敏感度分析结果,使用量化裁剪联合调度策略,完成裁剪,使推理时间降低为55ms。使用临近插值算法进行图形缩放算法优化。使用模块分层设计和状态机的方案重写dvp_ddr3,ddr3_vga,输入重排和预处理加速等模块,使系统能够流畅运行。在完成图片推理后,我们再联合调度摄像头、HDMI和加速器。成功的实现了视频读入输出,实现推理与摄像头加载图像的并行化,使推理刷新时间达到76ms。进一步地,通过多线程调度推理和HDMI刷新,提升pl侧的时钟频率,将HDMI平均刷新帧率提升至38Hz,平均推理刷新速度85ms。
我们使用模块分层设计和状态机的方案成功实现了dvp_ddr3,ddr3_vga,输入重排和预处理四个IP。经过上述优化,推理刷新时间最短为82ms,平均为85ms。HDMI平均刷新帧率为38Hz。成功检测了分赛区测试视频的十份缺陷样本,完成了赛题要求的设计指标。为了进一步提升推理刷新速度,我们自主设计了基于脉动阵列的CNN加速器,通过Avalon-mm总线进行系统互联,使用分层次状态机的方案完成数据加载和调度。
三.小结
等笔者写完毕设开题再回来更新!!!