加入星计划,您可以享受以下权益:
产业图谱
EDRCA-YOLO加速器的硬件系统架构框图
由于军事战场的环境恶劣,移动端的自动目标识别系统所采集的图像往往会被阴天、雾霾天气、烟雾环境和高速移动带来的模糊所影响,使得系统拍摄的图像质量下降。由于FTDS数据集不能将军事战场上面临的所有环境都整合到一个数据集中,若目标检测网络输入图像的环境和训练集中的环境相差甚远,将会对目标检测系统的检测效果带来很大的影响,比如带来明显的精度下降。为了降低不利环境下对自动目标识别系统精度的影响,故本动态重构算法加速器系统在PL端增加了图像实时预处理环节,预先对采集的图像做图像增亮和去雾霾和烟尘的算法加速处理,之后再传输到以DPU IP核为运算核心的GSConv-YOLOV5s目标检测网络加速器子系统中做进一步的处理。
在实际的战地情况下,需要对不同的环境采用不同的图像处理算法,以适应不同的现场需求。通常遇到的环境情况有环境过暗、过亮、模糊、雾霾和烟尘,且考虑到本系统的硬件计算资源有限,适合采用基础算子通过本系统主控制端将各个算子调用组合为新的图像预处理算法,以节约硬件计算资源,故本系统对于这些环境下的图像增强处理算法和其组成算子,归纳为表4-1所示。其中,LUT(Look-Up Table)是颜色查找表算法,用于图像的亮度调节;add是图像加法算法,用于图像增强对比度;filiter2D是卷积滤波算法,用于对图像进行去噪和边缘的检测;rbg2gray是用于将图片由彩色转换为灰度的算法;gray2rgb是将图片由灰度转换成彩色的算法。
如表4-1所示,本系统采用的图像增强算法主要有伽马变换、基于拉普拉斯滤波的图像锐化和直方图均衡化算法。
(1)伽马变换算法,是一种基于灰度级的非线性图像增强算法,可以通过调整图像的灰度级分布来改变图像的对比度和亮度。伽马变换主要用于处理灰度图像,对于本系统所用三维彩色图像可以对每个颜色通道单独进行伽马变换,使得较暗的区域的亮度得到提升,而较亮的区域的亮度得到降低,经过伽马变换,图像整体的细节表现会得到增强。伽玛变换的数学表达公式如公式(4-1)所示。
式中:
r——灰度图像的输入值(原来的灰度值),取值范围为[0,1];
s——经过伽马变换后的灰度输出值;
C——灰度缩放系数,通常取1;
γ——伽马因子大小,控制了整个变换的缩放程度。
(3)直方图均衡化算法,是一种用于提高图像对比度的数字图像处理技术,其通过图像的直方图将原始图像的像素值分布重新映射到一个均匀的分布上,从而使得图像中的雾霾和模糊效果得到一定程度的改善,使得图像更加清晰明亮。其表达式如式(4-2)所示。
式中:
L——灰度总数;
k——累计次数,k=0,1,2,…,L-1;
r——图像的灰度级数,
——各个灰度级治病像素在图像中出现的概率;
——图像中个灰度级中的像素个数;
M——图像高的像素数;
N——图像宽的像素数。
Sk——累计第K次的累计值。
可重构模块根据不同的计算任务的需要,可在可重构模块内嵌不同规格和数量的图像处理运算加速器模块,为了提高可重构模块的集成度。当可重构模块分配到不同的重构区域时,需要遵循同一个重构区域的原则,即可重构模块占用的片上硬件资源数量应尽可能接近,以增强模块计算性能和减少硬件资源的浪费[25]。内嵌单个和两个的可重构模块模板顶层设计框图如图4-2所示,为了防止动态逻辑区域和静态逻辑区域的逻辑混叠让系统发生严重错误,故对可重构模块进行了解耦设计,在静态区域使用Decoupler模块对可重构模块的逻辑进行解耦。
网络压缩是通过减少模型参数的数量来减小模型大小的一种技术。可以使用剪枝和量化等技术来实现。其中,剪枝技术可以通过删除模型中不必要的连接来减少模型参数的数量,进一步提高建模的准确性和可靠性。虽然FPGA可以有效地处理定点型数据,但无法满足浮点数据计算所需的大量存储空间。因此,为了提高网络模型的性能,必须对其实行参量缩小,这一过程基本上包括参量剪枝和参数量化两个步骤。使用Vitis AI工具,可以有效地将参量缩小到图4-4中的形式。
网络压缩流程图
剪枝后的网络模型参数依然是32位浮点型数据,但是在将其送往FPGA执行加速运算之前,必须将其转化为8位定点型数据,这一过程被称之为参数量化。比如,8位定点量化可以将32位的浮点数取最近似的8位整数,从而将参数信息压缩至原来的1/4,以便更好地描述模型的特征。Vitis AI开发工具中的AI量化器可以有效地定量CNN模式,它可以将原始网络冻结,生成序列图GraphDef,接着从一分组无标记的数据集中抽取图像,经过定量校准,最后对网络系统中的卷积层、池化层等32位的浮点型参数加以定量量化,从而大大提高了量化后网络模型的准确性和可靠性,而且可以有效地减少精度损失,从而提升模型的性能和可靠性。最后,加入量化微调步骤,通过小批次的重训练让定点参数进一步收敛,从而避免过大的精度损失。
本文重点描述了动态重构加速器系统架构EDRCA-YOLO的详细设计。首先,对介绍了动态重构硬件加速器系统总体架构的设计。然后,阐述了图像预处理算法及其硬件加速设计,详细描述了可重构模块和图像预处理算法的IP核接口设计。最后,阐述了基于Vitis AI的目标检测网络模型推理加速器方案及网络压缩和网络编译的步骤。