FC游戏站:为您提供一个绿色免费的下载空间! 首页| 电脑软件| 安卓 | 手机网站
当前位置:首页 > FC游戏动态 > DAC快速目标检测算法优化和架构设计优化方案

DAC快速目标检测算法优化和架构设计优化方案

来源:FC游戏站 更新:2020-12-03

用手机看

扫描二维码随时看1.在手机上浏览
2.分享给你的微信好友或朋友圈

针对赛方提供的计算平台,我们进行适当的裁剪,以适应ZU3的资源。如下图所示为裁剪后的HiPU设计框图,及其特性。HiPU工作在233MHz,其峰值算力为268Gops;采用C/RISC-V汇编作为编程接口,卷积效率平均在80%以上。

图 5 HiPU的结构框图与特性

HiPU支持各种常见的NN运算,包括:CONV,FC,Dep-wise CONV,Pooling,Ele-wise Add/Mul等运算。其中FC也可以做到接近100%的计算效率。

HiPU支持channel方向的shuffle,divide,concat操作。当这些操作紧接在卷积运算之后时,可以在硬件上进行合并,不消耗额外的时间。

HiPU可以工作在任何种类的Xilinx FPGA上,不受Zynq架构的限制。

HiPU底层实现矩阵运算,向量运算,以及标量运算。在做好调度的情况下,可以支持任意类型的并行计算。未来将实现稀疏矩阵运算的优化,从而支持高效率的DeCONV运算,feature map稀疏优化。

3.2 HiPU优化点分析

1) 通过层间级联减少所需的DDR带宽

HiPU设计性能有两个重要的方面:一个方面是MAC运算单元的利用率;一个是数据传输网络是否可以匹配MAC所需的数据。其中数据传输网络的限制大多数来自DDR接口。本设计针对DDR接口进行专门的优化。

由于HiPU中SRAM的大小限制,无法将一层feature map的数据完全放在HiPU的SRAM中。采用平常的计算次序则需要将每一层的feature map计算结果返回到DDR中存储。这样一来每一层的feature map数据都需要一次DDR的访问,对DDR的带宽需求非常大,也会消耗额外的功耗

我们团队通过层间级联的方式降低DDR的带宽需求。以ShuffleNet的bottleneck为分界,从每个bottleneck的输入处从DDR读取一行feature map,依次计算完所有的层后,输出的一行feature map才写回到DDR。依次计算完所有行。如下图所示为Module C的层间级联计算次序。

图 6 Module-C采用层间级联计算方式

2) 输入图像格式转换以提升处理效率

HiPU一次并行计算8个输入channel。然而网络第一层输入图像仅有RGB这3个通道,导致HiPU计算效率仅为3/8。因此,我们团队针对输入图像设计了一个转换模块。如果Conv1的kernel的width为3,则将输入图像的通道从3扩展到9。最终使得第一层的处理效率从0.38提升到了0.56,,其转换示意图如下图所示。

图 7 输入图像在行方向上的转换

3.3 系统优化设计

1) 图像解码与卷积神经网络计算并行化

由于HiPU仅仅依赖Zynq的PL侧的资源进行设计,PS侧的资源可以空出来做系统IO相关的工作。我们团队在处理当前图片的检测运算时,在PS侧预读并解码下一幅图片,提高处理的并行度,从而使整体检测帧率从30.3Hz提高到50.9Hz。

如下图所示为图像解码与卷积神经网络并行化的示意图。

(a) 并行化之前的工作流程
 

(b) 并行化之后的工作流程 图 8 图像解码与卷积神经网络并行化的示意图

2) 使用C代码加速PS侧原来的Python代码

使用C代码重构PS侧比较耗时的操作,并在Pynq框架中采用ctypes接口调用重构的C代码:
① 预先计算PL侧数据中置信度和bbox坐标的地址指针;
② 找到最大的置信度和对应的BBox的坐标,然后根据相对坐标计算出绝对坐标;

3) 使用门控时钟降低PL侧的能耗

为了降低系统的能量消耗,设计了门控时钟策略。当HiPU计算完一张图片的时候自动关闭时钟,下一张图片开始计算的时候再激活时钟。设置这个策略主要基于以下两个原因:

首先,系统对jpg格式图片解算的时间不固定,当SD卡型号不固定的时候,其均值在7ms-12ms之间,部分图片解算时间最大值可以到达100ms;

其次,系统的功耗测量进程和其他额外开销会占用一部分的cpu时间,并且PS和PL共享DDR带宽,这导致了HiPU在166Mhz的时帧率到达约50hz,但是升高HiPU到200Mhz时,FC,系统处理帧率仍然保持在50hz左右。

上述两个原因会导致HiPU处理时间和图片jpeg解算时间匹配变得不固定;当HiPU处理图像时间比图像解算时间短时, HiPU会“空跑”浪费能量。另外,针对抢占DDR带宽的情况,还需继续优化。

4. 竞赛结果分析

猜你感兴趣