利索能及
我要发布
收藏
专利号: 2024100855588
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种部署在FPGA上的地基云图识别模型的识别方法,其特征在于,包括:

基于残差网络构建地基云图识别模型;

对所述地基云图识别模型进行训练和验证,获取最优的模型权重参数;

对最优的所述模型权重参数进行量化处理;

通过FPGA的PS端读取待识别的地基云图和量化处理的所述模型权重参数,并加载到存储DDR中;

通过FPGA的PL端部署所述地基云图识别模型,所述PL端从所述PS端读取待识别的地基云图和量化处理的所述模型权重参数,生成识别结果并将所述识别结果返回所述PS端;

其中, 所述地基云图识别模型包括依次连接的卷积层、最大池化层、残差模块Res_a、残差模块Res_b、自适应平均池化层以及全连接层和Softmax分类器;

所述残差模块Res_a包括残差单元Res_a1、残差单元Res_a2以及连接于所述残差单元Res_a1和所述残差单元Res_a2后的ReLu单元;所述残差模块Res_b包括残差单元Res_b1、残差单元Res_b2、残差单元Res_b3以及连接于所述残差单元Res_b1、所述残差单元Res_b2和残差单元Res_b3后的ReLu单元;

所述残差单元Res_a1和所述残差单元Res_b1的结构相同,均包括第一支路和第二支路,所述第一支路上设置有Conv‑BN单元,所述第二支路上依次设置有Conv‑BN‑ReLu单元和Conv‑BN单元,所述第一支路和所述第二支路的输出相加;所述残差单元Res_a2、所述残差单元Res_b2以及所述残差单元Res_b3的结构相同,均包括第三支路和第四支路,所述第四支路上依次设置有Conv‑BN‑ReLu单元和Conv‑BN单元,所述第三支路和所述第四支路的输出相加;

其中,所述通过FPGA的PS端读取待识别的地基云图和量化处理的所述模型权重参数,并加载到存储DDR包括:预先将所述存储DDR划分为云图数据区域、卷积层权重区域、BN层权重区域、全连接层权重区域以及特征图数据区域;

将待识别的地基云图直接加载至所述云图数据区域;

从量化处理的所述模型权重参数中提取各卷积层对应的卷积层权重,按照其卷积核所包含的卷积层权重为单位,按顺序依次将各输出通道对应的各输入通道的卷积核的卷积层权重进行存放排序,在存放排序后加载至所述卷积层权重区域;

从量化处理的所述模型权重参数中提取各BN层对应的BN层权重和BN层偏置,按照其卷积核所包含的BN层权重为单位,按顺序依次将各输出通道对应的各输入通道的卷积核的BN层权重进行存放排序;按照其卷积核所包含的BN层偏置为单位,按顺序依次将各输出通道对应的各输入通道的卷积核的BN层偏置进行存放排序;将所述BN层偏置的存放排序排在所述BN层权重的存放排序后,加载至所述BN层权重区域;

从量化处理的所述模型权重参数中提取各全连接层对应的全连接层权重和全连接层偏置,按照其卷积核所包含的全连接层权重为单位,按顺序依次将各输出通道对应的各输入通道的卷积核的全连接层权重进行存放排序;按照其卷积核所包含的全连接层偏置为单位,按顺序依次将各输出通道对应的各输入通道的卷积核的全连接层偏置进行存放排序;

将所述全连接层偏置的存放排序排在所述全连接层权重的存放排序后,加载至所述全连接层权重区域;

其中,所述PL端从所述PS端读取待识别的地基云图和量化处理的所述模型权重参数包括:基于AXI4协议构建读写控制IP核,所述读写控制IP核包括读写控制模块及其连接的特征图数据写FIFO、特征图数据读FIFO、卷积层权重读FIFO、BN层权重读FIFO以及BN层偏置读FIFO;

通过所述读写控制模块从所述PS端的存储DDR读取的量化处理的所述模型权重参数,并缓存在对应的所述卷积层权重读FIFO、所述BN层权重读FIFO以及所述BN层偏置读FIFO中;

其中,所述通过FPGA的PL端部署所述地基云图识别模型包括:

构建所述地基云图识别模型的IP核;所述IP核包括滑窗模块、卷积模块、池化模块、BN层模块、激活函数模块以及全连接层模块;

所述滑窗模块用于,通过行计数器和列计数器对输入的特征图各像素点按照行和列分别计数,每当列计数器计数到特征图的列尺寸大小时,列计数器归零,行计数器加一;基于计数结果,采用n‑1个FIFO对输入的数据实现滑窗尺寸n×n的矩阵滑动;

所述卷积模块用于,针对卷积核大小为m×m、输入通道为a、输出通道为b的卷积层,通过所述滑窗模块实现滑窗尺寸m×m的矩阵滑动;对a个特征图并行执行:通过m×m个乘法器将矩阵对应的像素点和卷积层权重相乘,共计执行b次;

所述池化模块用于,针对池化核大小为s×s的最大池化层,通过所述滑窗模块实现滑窗尺寸s×s的矩阵滑动;通过s个求最大值模块并行求取矩阵对应的像素点各行的最大值,通过1个求最大值模块求取各行最大值中的最大值;针对池化核大小为r×r的平均池化层,通过所述滑窗模块实现滑窗尺寸r×r的矩阵滑动;通过r个求平均值模块并行求取矩阵对应的像素点各行的平均值,通过1个求最大值模块求取各行平均值中的平均值;

所述BN层模块用于,通过1个乘法器分别对输入特征图各像素点与对应的BN层权重相乘,通过1个加法器将相乘结果与对应的BN层偏置相加;

所述激活函数模块用于,通过运算模块对输入特征图各像素点,若像素点的值大于等于0时,运算模块输出像素点的值;若像素点的值小于0时,运算模块输出0;

所述全连接层模块用于,通过p个并行的求概率模块计算p个分配类别的概率,通过1个求最大值模块求取p个分配类别的概率中的最大值;各求概率模块的输入是各通道的特征图,通过1个乘法器将输入的特征图依次与对应的全连接层权重相乘,通过1个加法器将各通道的特征图的相乘结果相加,通过1个加法器将相加结果与对应的全连接层偏置相加,输出概率值;

所述全连接层模块的输出为地基云图的识别结果。

2.根据权利要求1所述的部署在FPGA上的地基云图识别模型的识别方法,其特征在于,所述对所述地基云图识别模型进行训练和验证,获取最优的模型权重参数包括:获取带标签的地基云图的数据集;

利用图像模糊法、对比度增强法、镜像翻转法、加入高斯噪声法中的至少一种对所述数据集进行扩充;

将扩充后的所述数据集按照预设比例划分为训练集和测试集;

根据所述训练集和所述测试集对所述地基云图识别模型进行训练和验证。

3.根据权利要求1所述的部署在FPGA上的地基云图识别模型的识别方法,其特征在于,所述地基云图识别模型在识别过程中,按照神经网络向前推理的过程,依次将所述地基云图识别模型中各层输入的特征图缓存至所述特征图数据区域。

4.根据权利要求1所述的部署在FPGA上的地基云图识别模型的识别方法,其特征在于,所述地基云图识别模型在识别过程中,按照神经网络向前推理的过程,通过所述读写控制模块从所述PS端的存储DDR依次读取所述地基云图识别模型中各层输入的特征图,并缓存在所述特征图数据读FIFO;

通过所述特征图数据写FIFO缓存所述地基云图识别模型中各层输出的特征图,并通过所述读写控制模块加载至所述PS端的存储DDR。