一种基于嵌入式平台的雷达图像智能识别方法和系统转让专利

申请号 : CN202210738557.X

文献号 : CN114821346B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋晓钧黄钰琳石玉柱李炫昊王俊

申请人 : 深圳安德空间技术有限公司

摘要 :

本发明提供一种基于嵌入式平台的雷达图像智能识别方法及系统,包括:步骤S1,针对RK35系列嵌入式平台制作多通道地下病害数据集;步骤S2,通过知识蒸馏获取轻量化模型,并根据预设设置调整输出损失权重、特征损失的权重以及模型训练参数;步骤S3,对所述轻量化模型进行RK35系列嵌入式平台的适配,在通过中间格式完成模型转换之后,进行部署;步骤S4,输出数据处理和推理结果。本发明能够很好地满足探地雷达道路地下隐患智能识别的要求,可以在具有低成本、低功耗和高可靠性等优点的边缘设备上实现雷达数据智能识别,并且无需高密度CPU和GPU资源,还能满足特殊场景探地雷达数据脱敏的需求,灵活程度和安全可控性高。

权利要求 :

1.一种基于嵌入式平台的雷达图像智能识别方法,其特征在于,包括:步骤S1,针对RK35系列嵌入式平台制作多通道地下病害数据集;

步骤S2,通过知识蒸馏获取轻量化模型,并根据预设设置调整输出损失权重、特征损失的权重以及模型训练参数;

步骤S3,对所述轻量化模型进行RK35系列嵌入式平台的适配,在通过中间格式完成模型转换之后,进行部署;

步骤S4,输出数据处理和推理结果;

所述步骤S1包括以下子步骤:

步骤S101,筛选并建立基于三维雷达B‑SCAN灰度雷达图像的图片集,并对所有通道的所有目标进行标注形成单通道数据集;

步骤S102,遍历步骤S101的单通道数据集,以当前样本灰度垂剖图作为第一通道特征自动生成第一通道特征图;

步骤S103,提取第一通道特征图在单通道数据及其两个相邻通道灰度垂剖图,并进行融合后作为第二增强特征图;

步骤S104,通过特征增强处理突出目标细节特征,生成第三增强特征图;

步骤S105,将所述步骤S102的第一通道特征图、步骤S103的第二增强特征图以及步骤S104的第三增强特征图进行合成,得到多通道B‑SCAN雷达图像。

2.根据权利要求1所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S103中,对于第n通道的特征图,取n‑1,n+1相邻两通道的特征图,根据公式  进行融

合,其中, 表示的是第二增强特征图各像素点; 表示的是当前第一通道特征图的像素, 和 分别表示的是对应相邻两通道特征图的像素。

3.根据权利要求1所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S102中,自动生成第一通道特征图的过程包括全局背景消除处理、SEC增益处理以及K‑L变换处理;所述步骤S104中,所述特征增强处理包括水平背景消除处理、三角带通滤波处理、自动增益控制处理、小波降噪以及限制对比度自适应直方图均衡化处理。

4.根据权利要求1至3任意一项所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S2包括以下子步骤:步骤S201,基于YOLOV5‑S构建教师网络;

步骤S202,基于YOLOV5‑S通过引入GhostNet构建学生网络;

步骤S203,基于步骤S201获得的数据集训练教师网络并得到教师模型;

步骤S204,通过知识蒸馏获取轻量化模型。

5.根据权利要求4所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S204中,通过以Relu替换Swish激活函数使得教师‑学生网络结构实现知识蒸馏,并调整特征损失权重 输出 损失权重 以 及模型训练参数 ,通过公式计算总

的蒸馏损失 ,并控制总的蒸馏损失 小于预设差距,其中,表示的是学生网络的损失,

, 、 以

及 分别是YOLOV5网络的回归损失、置信度损失和分类损失; 表示的是教师网络和学生网络对应特征层之间的损失,

, 分别为对应的学生网络

和教师网络特征层, 函数为均方差损失,为循环周期,=3; 表示的 是 教 师网 络 和 学生 网 络 对应 输 出 层的 输 出 损失 , =, 为网

络的推理输出,和 分别代表学生网络和教师网络, 、 以及 分别对应回归、置信度和分类的推理输出分量。

6.根据权利要求1至3任意一项所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S3包括以下子步骤:步骤S301,通过Relu激活函数替换Swish激活函数,并通过等效反卷积替换上采样模块,然后进行重新训练;

步骤S302,对步骤S301生成的模型设置兼容性级别、模型精度类型以及模型参数后,将其转换为中间格式ONNX模型,再通过ONNX转换工具链,按照混合量化规则转为最终的RKNN模型;

步骤S303,调用使用外部预分配内存作为嵌入式神经网络处理器NPU的预分配输入输出缓冲区,并按照深度学习的NHWC格式加载待处理图像到输入缓冲区,调用rknn_run模型执行推理后,从输出缓冲区获取推理结果并进行非极大值抑制NMS的后处理运算,最后生成推理结果。

7.根据权利要求6所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S302包括以下子步骤:步骤S3021,在Ubuntu操作系统上利用Anaconda管理软件建立嵌入式开发环境,按照工具链的环境要求安装对应的包;

步骤S3022,从服务器上将步骤S2获得的轻量级模型文件复制到嵌入式平台上;

步骤S3023,在嵌入式平台环境编写脚本将轻量级模型转换为中间格式ONNX模型;

步骤S3024,在嵌入式平台环境编写脚本,调用SDK软件包加载中间格式ONNX模型,并调用config接口设置参数,完成中间格式ONNX模型加载并转换为RKNN模型;

步骤S3025,在嵌入式平台上调用eval_perf接口获取模型各层资源消耗后,用rknn.hybrid_quantization_step1接口生成混合精度量化配置文件,修改配置指定非量化层后调用rknn.hybrid_quantization_step2接口重新生成混合精度量化的RKNN模型,以此作为最终的RKNN模型。

8.根据权利要求7所述的基于嵌入式平台的雷达图像智能识别方法,其特征在于,所述步骤S3023中,当导出以及加载中间格式ONNX模型时出现兼容性问题时,打印错误信息,并进行调试以加速错误定位;在导出时按照兼容性级别进行导出。

9.一种基于嵌入式平台的雷达图像智能识别系统,其特征在于,采用了如权利要求1至

8任意一项所述的基于嵌入式平台的雷达图像智能识别方法,并包括:监听模块,通过消费者身份注册到指定消息队列以获取雷达图像识别请求,并调用识别模块完成识别后将推理结果返回到消息队列;

识别模块,用于加载RKNN模型,完成归一化、量化、推理以及推理后处理工作,并将推理结果返回到管理模块以及调用接口;

管理模块,用于显示当前服务状态、推理数量、处理性能、模型版本号以及授权信息,用于完成模型升级、模型参数配置以及权限管理过程;

调试模块,内置网页服务器web server用于上传单张雷达图片并进行识别,以对系统进行测试,并通过调试模块导出运行日志供分析;

硬件平台,加装嵌入式平台的外围接口板、wifi天线、输入输出接口以及显示屏,实现一套雷达图像智能识别系统;

软件平台,基于linux操作系统实现裁剪,将管理模块和调试模块输出的各种信息输出至显示屏上。

说明书 :

一种基于嵌入式平台的雷达图像智能识别方法和系统

技术领域

[0001] 本发明涉及一种雷达图像智能识别方法,尤其涉及一种基于国产瑞芯微RK35系列芯片的嵌入式平台的雷达图像智能识别方法,并进一步设计采用了该嵌入式平台的雷达图像智能识别方法的系统。

背景技术

[0002] 探地雷达是解决城市地面坍塌的主要方法。传统的基于人工的探地雷达识别存在对人员素质要求高、效率低下等缺点。近年来随着机器学习特别是深度学习技术的成熟,一大批基于各类2D、3D卷积神经网络的特征提取和识别算法在精度、速度等指标上超越了传统的基于模式识别路线通过手工提取特征和设计算法的方案,成为了近期的热点,并逐步成为物探工程师的良好助手。但是这些方法有赖于服务器或者高性能计算机提供的密集CPU和GPU计算资源,在计算资源有限的环境中难以正常工作,不能满足实时、便携、低功耗的应用需求。
[0003] 随着探地雷达技术应用的深入,在一些限制区域和特殊场景,对自主可控和数据脱敏的要求使得探地雷达需要具备较高的智能化水平和离线工作能力,对边缘计算和自主可控的需求较为强烈。而现有地下隐患车载实时处理系统则基于由高性能Intel CPU和专业图形加速卡构成的车载平台,成本高功耗高难以提升系统集成度。
[0004] 因此,急需提供可运行于嵌入式平台的轻量化的智能识别方法和系统,以提升系统的灵活性,并且还需要进一步提供基于国产嵌入式硬件平台的雷达图像智能识别软件以满足自主可控和数据安全性的要求。但是,目前并没有这种能够适应国产嵌入式硬件平台且针对并基于嵌入式平台定制的探地雷达图像智能化识别方法和系统。

发明内容

[0005] 本发明所要解决的技术问题是需要提供一种基于国产瑞芯微RK35系列芯片的嵌入式平台的雷达图像智能识别方法,以满足轻量级、灵活、低成本以及安全可控等雷达探地需求,在此基础上,还进一步设计采用了该嵌入式平台的雷达图像智能识别方法的系统。
[0006] 对此,本发明提供一种基于嵌入式平台的雷达图像智能识别方法,包括:
[0007] 步骤S1,针对RK35系列嵌入式平台制作多通道地下病害数据集;
[0008] 步骤S2,通过知识蒸馏获取轻量化模型,并根据预设设置调整输出损失权重、特征损失的权重以及模型训练参数;
[0009] 步骤S3,对所述轻量化模型进行RK35系列嵌入式平台的适配,在通过中间格式完成模型转换之后,进行部署;
[0010] 步骤S4,输出数据处理和推理结果。
[0011] 本发明的进一步改进在于,所述步骤S1包括以下子步骤:
[0012] 步骤S101,筛选并建立基于三维雷达B‑SCAN灰度雷达图像的图片集,并对所有通道的所有目标进行标注形成单通道数据集;
[0013] 步骤S102,遍历步骤S101的单通道数据集,以当前样本灰度垂剖图作为第一通道特征自动生成第一通道特征图;
[0014] 步骤S103,提取第一通道特征图在单通道数据及其两个相邻通道灰度垂剖图,并进行融合后作为第二增强特征图;
[0015] 步骤S104,通过特征增强处理突出目标细节特征,生成第三增强特征图;
[0016] 步骤S105,将所述步骤S102的第一通道特征图、步骤S103的第二增强特征图以及步骤S104的第三增强特征图进行合成,得到多通道B‑SCAN雷达图像。
[0017] 本发明的进一步改进在于,所述步骤S103中,对于第n通道的特征图,取n‑1,n+1相邻两通道的特征图,根据公式进行融
合,其中, 表示的是第二增强特征图各像素点; 表示的是当前第一通道特征图的像素, 和 分别表示的是对应相邻两通道特征图的像素。
[0018] 本发明的进一步改进在于,所述步骤S102中,自动生成第一通道特征图的过程包括全局背景消除处理、SEC增益处理以及K‑L变换处理;所述步骤S104中,所述特征增强处理包括水平背景消除处理、三角带通滤波处理、自动增益控制处理、小波降噪以及限制对比度自适应直方图均衡化处理。
[0019] 本发明的进一步改进在于,所述步骤S2包括以下子步骤:
[0020] 步骤S201,基于YOLOV5‑S构建教师网络;
[0021] 步骤S202,基于YOLOV5‑S通过引入GhostNet构建学生网络;
[0022] 步骤S203,基于步骤S201获得的数据集训练教师网络并得到教师模型;
[0023] 步骤S204,通过知识蒸馏获取轻量化模型。
[0024] 本发明的进一步改进在于,所述步骤S204中,通过以Relu替换Swish激活函数使得教师‑学生网络结构实现知识蒸馏,并调整特征损失权重 输出损失权重 以及模型训练参数,通过公式计算总
的蒸馏损失 ,并控制总的蒸馏损失 小于预设差距,其中,
表示的是学生网络的损失,
, 、 以
及 分别是YOLOV5网络的回归损失、置信度损失和分类损失; 表
示的是教师网络和学生网络对应特征层之间的损失,
, 分别为对应的学生网络
和教师网络特征层, 函数为均方差损失,为循环周期,=3; 表示
的 是 教 师网 络 和 学生 网 络 对应 输 出 层的 输 出 损失 , =
, 为网
络的推理输出,和 分别代表学生网络和教师网络, 、 以及 分别对应回归、置信度和分类的推理输出分量。
[0025] 本发明的进一步改进在于,所述步骤S3包括以下子步骤:
[0026] 步骤S301,通过Relu激活函数替换Swish激活函数,并通过等效反卷积替换上采样模块,然后进行重新训练;
[0027] 步骤S302,对步骤S301生成的模型设置兼容性级别、模型精度类型以及模型参数后,将其转换为中间格式ONNX模型,再通过ONNX转换工具链,按照混合量化规则转为最终的RKNN模型;
[0028] 步骤S303,调用使用外部预分配内存作为嵌入式神经网络处理器NPU的预分配输入输出缓冲区,并按照深度学习的NHWC格式加载待处理图像到输入缓冲区,调用rknn_run模型执行推理后,从输出缓冲区获取推理结果并进行非极大值抑制NMS的后处理运算,最后生成推理结果。
[0029] 本发明的进一步改进在于,所述步骤S302包括以下子步骤:
[0030] 步骤S3021,在Ubuntu操作系统上利用Anaconda管理软件建立嵌入式开发环境,按照工具链的环境要求安装对应的包;
[0031] 步骤S3022,从服务器上将步骤S2获得的轻量级模型文件复制到嵌入式平台上;
[0032] 步骤S3023,在嵌入式平台环境编写脚本将轻量级模型转换为中间格式ONNX模型;
[0033] 步骤S3024,在嵌入式平台环境编写脚本,调用SDK软件包加载中间格式ONNX模型,并调用config接口设置参数,完成中间格式ONNX模型加载并转换为RKNN模型;
[0034] 步骤S3025,在嵌入式平台上调用eval_perf接口获取模型各层资源消耗后,用rknn.hybrid_quantization_step1接口生成混合精度量化配置文件,修改配置指定非量化层后调用rknn.hybrid_quantization_step2接口重新生成混合精度量化的RKNN模型,以此作为最终的RKNN模型。
[0035] 本发明的进一步改进在于,所述步骤S3023中,当导出以及加载中间格式ONNX模型时出现兼容性问题时,打印错误信息,并进行调试以加速错误定位;在导出时按照兼容性级别进行导出。
[0036] 本发明还提供一种基于嵌入式平台的雷达图像智能识别系统,采用了如上所述的基于嵌入式平台的雷达图像智能识别方法,并包括:
[0037] 监听模块,通过消费者身份注册到指定消息队列以获取雷达图像识别请求,并调用识别模块完成识别后将推理结果返回到消息队列;
[0038] 识别模块,用于加载RKNN模型,完成归一化、量化、推理以及推理后处理工作,并将推理结果返回到管理模块以及调用接口;
[0039] 管理模块,用于显示当前服务状态、推理数量、处理性能、模型版本号以及授权信息,用于完成模型升级、模型参数配置以及权限管理过程;
[0040] 调试模块,内置网页服务器web server用于上传单张雷达图片并进行识别,以对系统进行测试,并通过调试模块导出运行日志供分析;
[0041] 硬件平台,加装嵌入式平台的外围接口板、wifi天线、输入输出接口以及显示屏,实现一套雷达图像智能识别系统;
[0042] 软件平台,基于linux操作系统实现裁剪,将管理模块和调试模块输出的各种信息输出至显示屏上。
[0043] 与现有技术相比,本发明的有益效果在于:针对性地提供了一种基于国产RK35系列嵌入式平台/系统定制的轻量级的雷达图像智能识别方法及系统,能够很好地满足探地雷达道路地下隐患智能识别的要求,可以在具有低成本、低功耗和高可靠性等优点的边缘设备上实现雷达数据智能识别而无需高密度CPU和GPU资源。并且,还可以用于构成高集成度的一体化智能探地雷达,可以用于构建基于各类移动中断如平板电脑的便携式探地雷达智能化设备。不但可为现有各类数字探地雷达增加智能识别功能,还能满足特殊场景探地雷达数据脱敏的需求,满足探地雷达对于轻量级、灵活、低成本以及安全可控等实际需求,为大量的数字探地雷达提供前端智能化改造能力基础。

附图说明

[0044] 图1是本发明一种实施例的工作流程示意图;
[0045] 图2是本发明一种实施例的多通道检测模型原理示意图;
[0046] 图3是本发明一种实施例中自动生成第三增强特征图的原理示意图;
[0047] 图4是本发明一种实施例中通过知识蒸馏获取轻量化模型的原理示意图;
[0048] 图5是本发明一种实施例中实现模型部署的原理示意图。

具体实施方式

[0049] 下面结合附图,对本发明的较优的实施例作进一步的详细说明。
[0050] 近年来,国产SoC(System‑on‑a‑chip 片上系统)硬件平台逐步走向成熟,可以提供端侧AI能力,瑞芯微的RK33x是其中的代表之一,最新的RK3588系列采用四核Cortex‑A76和四核Cortex‑A55的典型大小核架构,充分考虑了性能和功耗的平衡,搭载8G内存,32G存储,并集成ARM Mali‑G610 GPU, 能至少支持2路4K UI,可流畅运行复杂的图形处理,自研的NPU能可达3‑ 6TOPs,可应用于智能座舱、智慧大屏、AR/VR、边缘计算、高端IPC、NVR、高端平板及ARM PC等各种场景。
[0051] 因此有必要基于国产嵌入式平台开发一套轻量化高精度智能识别方法和系统,未来即可以将核心板搭载于雷达内部构成智能化雷达,也可以加装必要的显示屏等外围设备后以平板电脑+本地AI的方式构成小型离线智能识别产品,为大量的数字探地雷达提供前端智能化改造能力。
[0052] 如图1至图5所示,本例提供一种基于嵌入式平台的雷达图像智能识别方法,包括:
[0053] 步骤S1,针对RK35系列嵌入式平台制作多通道地下病害数据集;
[0054] 步骤S2,通过知识蒸馏获取轻量化模型,并根据预设设置调整输出损失权重、特征损失的权重以及模型训练参数;
[0055] 步骤S3,对所述轻量化模型进行RK35系列嵌入式平台的适配,在通过中间格式完成模型转换之后,进行部署;
[0056] 步骤S4,输出数据处理和推理结果。
[0057] 一般探地雷达智能识别常用的B‑SCAN图像为224*224或256*256等,其中的目标大小从20‑30像素及以上不等,属于较为典型的小目标检测。由于目标平台性能限制,在难以使用3D卷积、模型聚合、多级模型等常用方案的情况下,用不同处理方式获取不同维度的特征图进行特征增强,通过增加被检测对象的通道数的方式,能够在小幅度增加计算量的同时提升目标检测的准确性,并针对瑞芯微嵌入式平台上做了适配和验证,取得了良好的效果。本例所述RK35系列嵌入式平台指的是基于国产瑞芯微的RK33x等RK35系列芯片实现的嵌入式平台,在本例简称嵌入式平台。本例所采用的多通道检测模型参考原理图如图2所示。
[0058] 本例所述步骤S1用于制作多通道地下病害数据集。由于本例所述的嵌入式平台在满足输入宽度8像素对齐、输入通道数为1/3/4的情况下效率最优,所用神经网络最大下采样步长是64,综合考虑效果和运算能力,本例优选样本图片规格为3*256*256(C* H*W)。更为具体的,本例所述步骤S1包括子步骤S101至子步骤S105。
[0059] 步骤S101,筛选并建立基于三维雷达B‑SCAN灰度雷达图像的图片集,并对所有通道的所有目标进行标注形成单通道数据集;所有目标包括空洞和管线等。
[0060] 以16通道三维探地雷达为例,采集到的数据由16通道(channel)组成,每个通道含有多条道数据(trace),每条道数据含多个深度方向的采样点数据(sample),以 256个traces *256个samples数据通过变换构成灰度垂剖图(B‑SCAN)图像,以N条traces步进直到测线结束,可以生成多幅B‑scans,组成16通道灰度垂剖图(B‑SCAN)图像集合。
[0061] 从16通道灰度垂剖图(B‑SCAN)图像集合中经标注形成样本集合,如一个样本在多个通道中有响应,则每个通道都进行标注。值得注意的是,对于已有的其它大小的雷达数据集,需要编制程序重新从雷达原始数据生成样本图片并迁移标注框,而不能简单的等比放缩现有样本图片以避免损失图像质量。
[0062] 步骤S102,遍历步骤S101的单通道数据集,以当前样本灰度垂剖图(B‑SCAN)作为第一通道特征自动生成第一通道特征图。
[0063] 本例所述步骤S102中,自动生成第一通道特征图的过程优选包括全局背景消除处理、SEC增益处理以及K‑L变换处理;所述步骤S104中,所述特征增强处理包括水平背景消除处理、三角带通滤波处理、自动增益控制处理、小波降噪以及限制对比度自适应直方图均衡化处理。
[0064] 步骤S103,提取第一通道特征图在单通道数据及其两个相邻通道灰度垂剖图(B‑SCAN),并进行融合后作为第二增强特征图。
[0065] 以16通道三维探地雷达为例,对于第n通道的特征图,取n‑1,n+1相邻两通道的特征图分别记为 、 、 。特殊的,如果n为0/15通道,则取n+1/n+2或者n‑1/n‑2为B1/B2。根据雷达通道数和样本情况可以选择采取其它的采样间隔。基于雷达图像中地下背景目标在相邻通道变化不大而异常体特别是非人工构造物剧烈变化的特点,以及光流法等因计算量较大不满足实时性要求和常规两通道差分可能带来的重影等问题,本例优选采用改进的三通道差分法,对各通道图像两两进行差分运算后不做二值化避免丢失灰度特征,直接分别进行”与”和”或”操作融合为第二增强特征图,第二增强特征图也称通道差分特征图。
[0066] 优选的,本例所述步骤S103中,对于第n通道的特征图,取n‑1,n+1相邻两通道的特征图,根据公式进行融
合,其中, 表示的是第二增强特征图各像素点; 表示的是当前第一通道特征图的像素, 和 分别表示的是对应相邻两通道特征图的像素。
[0067] 本例所述步骤S104通过加入小波降噪以及自适应增益等算法替换原雷达信号处理流水线对应组件形成与第一通道特征图不同的含有更多细节的B‑SCAN图像,原理图如图3所示。
[0068] 本例所述步骤S102和步骤S104的要点在于通过不同处理流程获取不同特征的特征图来强化神经网络特征提取效果。前面的基准流程为常规雷达图片生成,包括图像域转换、静矫正切除、DC去直流漂移、全局背景消除处理、SEC增益处理以及K‑L变换处理等,需要满足人工判读和样本标注等应用场景,采用现有的常规手段即可。后续增强流程则着重于从不同的维度做特征增强,例如通过步骤S104区分于步骤S102以便更加突出目标细节特征。所示原理图的步骤和组件可以根据实际情况部分或全部更换为其它算法甚至其它类型的特征图以获得更好效果,其它类型的特征图包括且不限于灰度梯度图等,以及分别利用信号的时域、频域、小波域能量和Welch功率谱密度等算法生成不同的特征图。即,本例所述步骤S104通过特征增强处理突出目标细节特征,生成第三增强特征图;特征增强处理包括且不限于:水平背景消除处理、三角带通滤波处理、自动增益控制处理、小波降噪以及限制对比度自适应直方图均衡化处理。
[0069] 步骤S105,将所述步骤S102的第一通道特征图、步骤S103的第二增强特征图以及步骤S104的第三增强特征图进行合成,得到多通道B‑SCAN雷达图像。其中,所述步骤S102的第一通道特征图、步骤S103的第二增强特征图以及步骤S104的第三增强特征图优选为224*224的灰度图,优选分别记为F1、F2和F3,合成新的B‑SCAN雷达图像,记为b_scan,其实现过程的Python伪代码为:
[0070] Import cv2
[0071] …
[0072] b_scan = cv2.merge(F1, F2, F3)
[0073] cv2. imwrite (“xxxxx.jpg”, b_scan)。
[0074] 本例后续在推理时按照同样的流程生成多通道图片进行推理。
[0075] 本例所述步骤S2通过知识蒸馏(教师‑学生)获取轻量化模型。所述步骤S2包括以下子步骤:
[0076] 步骤S201,基于YOLOV5‑S构建教师网络;
[0077] 步骤S202,基于YOLOV5‑S通过引入GhostNet构建学生网络;
[0078] 步骤S203,基于步骤S201获得的数据集训练教师网络并得到教师模型,优选的,所述教师网络采用Warmup策略和Cosine余弦基神经网络调整学习率,并在batch=128参数下训练300个epoch得到教师模型;
[0079] 步骤S204,通过知识蒸馏获取轻量化模型。
[0080] 本例所述步骤S201在构建教师网络中,优选控制BottleneckCSP个数和卷积核数量的参数分别是0.33和0.5,Anchors采用k‑mean算法和遗传算法自动计算,用等效卷积(kernel=6, stride=2, padding=2)取代了focus模块,用Relu函数替换Swish函数与学生网络结构一致提升蒸馏效果,采用Focal loss损失函数和GIOU损失函数提升模型性能。在构建学生网络时采用同样的基本结构。
[0081] 本例所述步骤S202优选通过网络结构的GhostConv模块和GhostBottleneck模块取代了对应的常规卷积和CSP Bottleneck模块来获取更快的推理速度,并预先在其它通用数据集(如COCO)上用学生网络训练后作为蒸馏阶段的预训练模型以加速训练。
[0082] 本例所述步骤S204通过知识蒸馏获取轻量化模型。知识蒸馏能有效地将教师模型的特征提取和识别能力传递给轻量化模型。一般的可以分为基于响应(Response‑Based)、基于特征(Feature‑based)和基于关系(Relation‑Based)的三大类方法及各种变体。在本例中,优选采用基于响应(Response‑Based)+特征(Feature‑based)的蒸馏方法,原理图如图4所示,其中: ) i=1,2,3分别为教师网络和学生网络的FSP矩阵。
[0083] 本例所述步骤S204中,通过以Relu替换Swish激活函数使得教师‑学生网络结构实现知识蒸馏,能够尽量提升蒸馏效果,并利用步骤S203获得的教师模型和步骤S202获得的与训练模型对学生网络进行知识蒸馏提升精度,并调整特征损失权重 输出损失权重以及模型训练参数,通过公式计算总
的蒸馏损失 ,并控制总的蒸馏损失 小于预设差距,其中,
表示的是学生网络的损失,
, 、 以
及 分别是YOLOV5网络的回归损失、置信度损失和分类损失; 表
示的是教师网络和学生网络对应特征层之间的损失,特征层指的是feature layer,, 分别为对应的学生网络
和教师网络特征层, 函数为均方差损失,为循环周期,=3; 表示
的 是 教 师网 络 和 学生 网 络 对应 输 出 层的 输 出 损失 , =
,输出层
指的是output layer,为网络的推理输出,和 分别代表学生网络和教师网络, 、以及 分别对应回归、置信度和分类的推理输出分量,如 表示的是学生网络对应的回归推理输出, 表示的是教室网络对应的回归推理输出, 表示的是学生网络对应的置信度推理输出, 表示的是教室网络对应的置信度推理输出, 表示的是学生网络对应的分类推理输出, 表示的是教室网络对应的分类推理输出。
[0084] 本例所述特征损失权重 输出损失权重 可以根据实际情况和需求进行自适应调整和修改,所述模型训练参数包括且不限于epoch参数、batch_size参数等,使得最终获得的学生网络与教师网络之间的均值平均精确率mAP之间的差距小于预设限定的差距阈值,比如,调整至最终获得的轻量级网络模型GLOP仅为教师网络YOLOV5‑S的一半,而均值平均精确率mAP差距小于1。
[0085] 本例所述步骤S3包括以下子步骤:
[0086] 步骤S301,通过Relu激活函数替换Swish激活函数,以实现对嵌入式平台不支持的算子的替换,并通过等效反卷积替换上采样模块以便提升效率,然后进行重新训练;
[0087] 步骤S302,对步骤S301生成的模型设置兼容性级别、模型精度类型以及模型参数后,这里所述的模型参数包括Mean参数/STD参数等,将其转换为中间格式ONNX模型,再通过ONNX转换工具链,按照混合量化规则转为最终的RKNN模型;混合量化规则指的是非对称8位量化+指定层float16,在实际应用中可以根据精度/速度指标使用调试工具逐层分析效率,有利于精细调整;
[0088] 步骤S303,用于实现部署,优选编写C++程序调用瑞芯微NPU API以实现零拷贝、NPU上运行归一化/量化和推理步骤等方式达到最优效率。如图5所示,其实现过程调用使用外部预分配内存作为嵌入式神经网络处理单元NPU的预分配输入输出缓冲区,并按照深度学习的NHWC格式加载待处理图像到输入缓冲区,调用rknn_run模型执行推理后,从输出缓冲区获取推理结果并在中央处理单元CPU进行非极大值抑制NMS的后处理运算,最后生成推理结果。
[0089] 由于本例所述嵌入式平台所使用的工具链是非开源的,且错误信息提示不够明确,常常由于版本匹配或算子不支持等问题导致应用于雷达图像智能识别时,如果加载ONNX时失败等原因会造成长时间的反复排查;针对这种问题,本例所述步骤S302包括以下子步骤:
[0090] 步骤S3021,在Ubuntu操作系统上利用Anaconda管理软件建立嵌入式开发环境,按照工具链的环境要求安装对应的包;工具链的环境要求可以调用requirements*.txt文件中的详细列表来查看;
[0091] 步骤S3022,从服务器上将步骤S2获得的轻量级模型文件(pt格式)复制到嵌入式平台上;值得说明的是,这里并不在服务器端导出ONNX模型,避免出错;
[0092] 步骤S3023,在嵌入式平台环境编写脚本将轻量级模型转换为中间格式ONNX模型;在该步骤S3023中,由于采用了编写脚本存在源码,当导出以及加载中间格式ONNX模型时出现兼容性问题时,打印错误信息,并进行调试以加速错误定位;在导出时按照兼容性级别进行导出;
[0093] 步骤S3024,在嵌入式平台环境编写脚本,调用SDK软件包加载中间格式ONNX模型,并调用config接口设置参数mean=[127,127,127]、std=[255,255,255]、target_platform,完成中间格式ONNX模型加载并转换为RKNN模型;
[0094] 步骤S3025,鉴于量化会导致一定程度的精度损失,本例采用混合精度量化通过用float16代替int8来提升精度;在嵌入式平台上调用eval_perf接口获取模型各层资源消耗后,用rknn.hybrid_quantization_step1接口生成混合精度量化配置文件,修改配置指定非量化层后调用rknn.hybrid_quantization_step2接口重新生成混合精度量化的RKNN模型,以此作为最终的RKNN模型。
[0095] 本例所述步骤S4用于实现数据处理与推理结果输出,该步骤可以采用常规技术来实现,因此,在本例中不再详述。
[0096] 本例还提供一种基于嵌入式平台的雷达图像智能识别系统,采用了如上所述的基于嵌入式平台的雷达图像智能识别方法,并包括:
[0097] 监听模块,通过消费者身份注册到指定消息队列以获取雷达图像识别请求,并调用识别模块完成识别后将推理结果返回到消息队列;
[0098] 识别模块,用于加载RKNN模型,完成归一化、量化、推理以及推理后处理工作,并将推理结果返回到管理模块以及调用接口;
[0099] 管理模块,用于显示当前服务状态、推理数量、处理性能、模型版本号以及授权信息,用于完成模型升级、模型参数配置以及权限管理过程;
[0100] 调试模块,内置网页服务器web server用于上传单张雷达图片并进行识别,以对系统进行测试,并通过调试模块导出运行日志供分析;
[0101] 硬件平台,加装嵌入式平台的外围接口板、wifi天线、输入输出接口以及显示屏,实现一套雷达图像智能识别系统;
[0102] 软件平台,基于linux操作系统实现裁剪,将管理模块和调试模块输出的各种信息输出至显示屏上。
[0103] 综上所述,本例针对性地提供了一种基于国产RK35系列嵌入式平台/系统定制的轻量级的雷达图像智能识别方法及系统,能够很好地满足探地雷达道路地下隐患智能识别的要求,可以在具有低成本、低功耗和高可靠性等优点的边缘设备上实现雷达数据智能识别而无需高密度CPU和GPU资源。并且,还可以用于构成高集成度的一体化智能探地雷达,可以用于构建基于各类移动中断如平板电脑的便携式探地雷达智能化设备。不但可为现有各类数字探地雷达增加智能识别功能,还能满足特殊场景探地雷达数据脱敏的需求,满足探地雷达对于轻量级、灵活、低成本以及安全可控等实际需求,为大量的数字探地雷达提供前端智能化改造能力基础。
[0104] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。