掌桥专利:专业的专利平台
掌桥专利
首页

图像检测方法、电子设备、存储介质及车辆

文献发布时间:2024-01-17 01:14:25


图像检测方法、电子设备、存储介质及车辆

技术领域

本发明涉及图像检测技术领域,具体提供一种图像检测方法、电子设备、存储介质及车辆。

背景技术

目前,自动驾驶系统中具有复杂的传感器,其中仅车载摄像头就分为针孔相机、鱼眼相机、红外相机、单目相机、双目相机等多个不同的种类。同时,根据高级驾驶辅助系统,不同的功能需求以及安装位置还分为前视、环视、后视、侧视以及内置摄像头,不同位置的摄像头功能各异,是实现自动驾驶必不可少的构成部分。

针对不同相机采集的图像,其对应的图像检测方法不同,且不同的图像检测方法之间不能混用,例如对于鱼眼相机采集图像的检测方法不能用于对通用相机采集图像的识别。如此,对系统算力的运行速度、内存的存储空间影响较大,导致图像检测效率较低,检测结果输出延迟,无法保证自动驾驶系统的稳定性和可靠性。

相应地,本领域需要一种新的方案来解决上述问题。

发明内容

为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决上述的技术问题。本发明提供了一种图像检测方法、电子设备、存储介质及车辆。

在第一方面,本发明提供一种图像检测方法,所述方法包括:获取训练集,所述训练集包括至少两种不同类型传感器采集的图像;构建多分支模型,所述多分支模型包括至少两个单模态特征提取器和一个多模态知识蒸馏器;利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器;基于所述训练好的多模态知识蒸馏器对待检测图像进行检测,得到图像检测结果。

在一个实施方式中,所述单模态特征提取器和所述多模态知识蒸馏器均包括骨干网络、特征层和输出层,其中所述骨干网络用于提取图像的通用物体特征,所述特征层用于对所述通用物体特征进行解码,所述输出层用于对解码后的特征进行分类并输出。

在一个实施方式中,所述利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器,包括:利用第一单模态特征提取器和所述多模态知识蒸馏器,基于第一传感器采集的第一图像计算第一蒸馏损失;基于所述第一蒸馏损失,通过方向传播的方式,调节所述多模态知识蒸馏器的模型参数;判断所述第一蒸馏损失是否收敛,或判断训练迭代次数是否达到预设迭代次数;若是,则输出更新后的多模态知识蒸馏器,若否,则返回继续迭代训练。

在一个实施方式中,所述利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器,还包括:利用第二单模态特征提取器和所述多模态知识蒸馏器,基于第二传感器采集的第二图像计算第二蒸馏损失;基于所述第二蒸馏损失,通过方向传播的方式,更新所述多模态知识蒸馏器的模型参数;判断所述第二蒸馏损失是否收敛,或判断训练迭代次数是否达到预设迭代次数;若是,则输出更新后的多模态知识蒸馏器,若否,则返回继续迭代训练。

在一个实施方式中,所述蒸馏损失包括第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失;所述利用第一单模态特征提取器和所述多模态知识蒸馏器,基于第一传感器采集的第一图像计算第一蒸馏损失,包括:将所述第一图像分别输入所述第一单模态特征提取器和所述多模态知识蒸馏器;基于所述第一单模态特征提取器的骨干网络输出的第一特征和所述多模态知识蒸馏器的骨干网络输出的第一特征计算所述第一蒸馏子损失;基于所述第一单模态特征提取器的特征层输出的第二特征和所述多模态知识蒸馏器的特征层输出的第二特征计算所述第二蒸馏子损失;基于所述第一单模态特征提取器的输出层输出的第三特征和所述多模态知识蒸馏器的输出层输出的第三特征计算所述第三蒸馏子损失;基于所述多模态知识蒸馏器的输出层输出的第三特征和标签计算所述第四蒸馏子损失。

在一个实施方式中,所述第一蒸馏子损失和第二蒸馏子损失为均方误差损失函数,所述第三蒸馏子损失函数为归一化指数函数,所述第四蒸馏子损失为交叉熵损失函数。

在一个实施方式中,所述蒸馏损失包括第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失;所述基于所述第一蒸馏损失,通过方向传播的方式,调节所述多模态知识蒸馏器的模型参数,包括:基于所述第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的输出层的模型参数;基于所述第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的特征层的模型参数;基于所述第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的骨干网络的模型参数。

在一个实施方式中,所述骨干网络为ResNet模型或Vision Transformer模型中的任意一种。

在第二方面,提供一种电子设备,该电子设备包括至少一个处理器和至少一个存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述任一项所述的图像检测方法。

在第三方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述任一项所述的图像检测方法。

在第四方面,提供车辆,所述车辆包括车辆本体、至少一个处理器和至少一个存储装置,其中所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述的图像检测方法。

方案1.一种图像检测方法,其特征在于,所述方法包括:

获取训练集,所述训练集包括至少两种不同类型传感器采集的图像;

构建多分支模型,所述多分支模型包括至少两个单模态特征提取器和一个多模态知识蒸馏器;

利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器;

基于所述训练好的多模态知识蒸馏器对待检测图像进行检测,得到图像检测结果。

方案2.根据方案1所述的图像检测方法,其特征在于,所述单模态特征提取器和所述多模态知识蒸馏器均包括骨干网络、特征层和输出层,其中所述骨干网络用于提取图像的通用物体特征,所述特征层用于对所述通用物体特征进行解码,所述输出层用于对解码后的特征进行分类并输出。

方案3.根据方案2所述的图像检测方法,其特征在于,所述利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器,包括:

利用第一单模态特征提取器和所述多模态知识蒸馏器,基于第一传感器采集的第一图像计算第一蒸馏损失;

基于所述第一蒸馏损失,通过方向传播的方式,调节所述多模态知识蒸馏器的模型参数;

判断所述第一蒸馏损失是否收敛,或判断训练迭代次数是否达到预设迭代次数;

若是,则输出更新后的多模态知识蒸馏器,若否,则返回继续迭代训练。

方案4.根据方案3所述的图像检测方法,其特征在于,所述利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器,还包括:

利用第二单模态特征提取器和所述多模态知识蒸馏器,基于第二传感器采集的第二图像计算第二蒸馏损失;

基于所述第二蒸馏损失,通过方向传播的方式,更新所述多模态知识蒸馏器的模型参数;

判断所述第二蒸馏损失是否收敛,或判断训练迭代次数是否达到预设迭代次数;

若是,则输出更新后的多模态知识蒸馏器,若否,则返回继续迭代训练。

方案5.根据方案3所述的图像检测方法,其特征在于,所述第一蒸馏损失包括第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失;

所述利用第一单模态特征提取器和所述多模态知识蒸馏器,基于第一传感器采集的第一图像计算第一蒸馏损失,包括:

将所述第一图像分别输入所述第一单模态特征提取器和所述多模态知识蒸馏器;

基于所述第一单模态特征提取器的骨干网络输出的第一特征和所述多模态知识蒸馏器的骨干网络输出的第一特征计算所述第一蒸馏子损失;

基于所述第一单模态特征提取器的特征层输出的第二特征和所述多模态知识蒸馏器的特征层输出的第二特征计算所述第二蒸馏子损失;

基于所述第一单模态特征提取器的输出层输出的第三特征和所述多模态知识蒸馏器的输出层输出的第三特征计算所述第三蒸馏子损失;

基于所述多模态知识蒸馏器的输出层输出的第三特征和标签计算所述第四蒸馏子损失。

方案6.根据方案5所述的图像检测方法,其特征在于,所述第一蒸馏子损失和第二蒸馏子损失为均方误差损失函数,所述第三蒸馏子损失函数为归一化指数函数,所述第四蒸馏子损失为交叉熵损失函数。

方案7.根据方案3所述的图像检测方法,其特征在于,所述第一蒸馏损失包括第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失;

所述基于所述第一蒸馏损失,通过方向传播的方式,调节所述多模态知识蒸馏器的模型参数,包括:

基于所述第三蒸馏子损失和所述第四蒸馏子损失调节所述多模态知识蒸馏器的输出层的模型参数;

基于所述第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的特征层的模型参数;

基于所述第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的骨干网络的模型参数。

方案8.根据方案2所述的图像检测方法,其特征在于,所述骨干网络为ResNet模型或Vision Transformer模型中的任意一种。

方案9.一种电子设备,包括至少一个处理器和至少一个存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行方案1至8中任一项所述的图像检测方法。

方案10.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行方案1至8中任一项所述的图像检测方法。

方案11.一种车辆,其特征在于,所述车辆包括车辆本体、至少一个处理器和至少一个存储装置,其中所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行方案1至8中任一项所述的图像检测方法。

本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:

本发明中的图像检测方法,包括获取训练集,训练集包括至少两种不同类型传感器采集的图像;构建多分支模型,多分支模型包括至少两个单模态特征提取器和一个多模态知识蒸馏器;利用训练集和至少两个单模态特征提取器对多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器;基于训练好的多模态知识蒸馏器对待检测图像进行检测,得到图像检测结果。如此,通过多模态知识蒸馏器可以实现不同类型的摄像头采集图像的检测或识别,减小了系统的算力和存储空间,提高了图像检测效率,能够快速输出检测结果,保证了自动驾驶系统的稳定性和可靠性。

附图说明

参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:

图1是根据本发明的一个实施例的图像检测方法的主要步骤流程示意图;

图2是一个实施例中多分支模型的结构示意图;

图3是一个实施例中对多模态知识蒸馏器进行蒸馏训练的流程图;

图4是另一个实施例中对多模态知识蒸馏器进行蒸馏训练的流程图;

图5是一个实施例中计算蒸馏损失的流程示意图;

图6是一个实施例中电子设备的结构示意图。

具体实施方式

下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。

目前,不同的摄像头具有不同的特点,其成像输出也是千差万别。例如针孔相机和鱼眼相机,在成像上针孔相机视野较大范围较广,而视角较低的鱼眼相机主要负责采集近距离物体且具有明显的畸变拉伸。针对不同相机采集的图像,其对应的图像检测方法不同,且不同的图像检测方法之间不能混用,例如对于鱼眼相机采集图像的检测方法不能用于对通用相机采集图像的识别。针对不同摄像头采集的图像,例如针孔相机和鱼眼相机采集的图像,车辆往往需要训练不同的模型进行识别。如此,对算力的运行速度、内存的存储空间影响较大,导致图像检测效率较低,检测结果输出延迟,无法保证自动驾驶系统的稳定性和可靠性。

为此,本申请提出了一种图像检测方法、电子设备、存储介质及车辆,包括获取训练集,训练集包括至少两种不同类型传感器采集的图像;构建多分支模型,多分支模型包括至少两个单模态特征提取器和一个多模态知识蒸馏器;利用训练集和至少两个单模态特征提取器对多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器;基于训练好的多模态知识蒸馏器对待检测图像进行检测,得到图像检测结果。如此,通过多模态知识蒸馏器可以实现不同类型的摄像头采集图像的检测或识别,减小了系统的算力和存储空间,提高了图像检测效率,能够快速输出检测结果,保证了自动驾驶系统的稳定性和可靠性。

参阅附图1,图1是根据本发明的一个实施例的图像检测方法的主要步骤流程示意图。

如图1所示,本发明实施例中的图像检测方法主要包括下列步骤S101-步骤S104。

步骤S101:获取训练集,所述训练集包括至少两种不同类型传感器采集的图像。

针孔相机、鱼眼相机、单目相机、双目相机和通用相机等可以作为所述不同类型传感器的示例,但不限于此。

训练集除了包括不同类型传感器采集的图像之外,还包括每幅图像的标签,该标签是通过标注得到的。

在该步骤中,不同类型传感器的数量应当根据实际情况确定,例如,若用户需要最终训练获得的多模态知识蒸馏器能够同时识别两种传感器采集的图像,则此处的训练集包括两种不同类型传感器采集的图像。若用户需要最终训练获得的多模态知识蒸馏器能够同时识别三种传感器采集的图像,则此处的训练集包括三种不同类型传感器采集的图像。

步骤S102:构建多分支模型,所述多分支模型包括至少两个单模态特征提取器和一个多模态知识蒸馏器。

在该步骤中,单模态特征提取器的数量应当根据实际情况确定,例如,若用户需要最终训练获得的多模态知识蒸馏器能够同时识别两种传感器采集的图像,则单模态特征提取器的数量为两种。若用户需要最终训练获得的多模态知识蒸馏器能够同时识别三种传感器采集的图像,则单模态特征提取器的数量为三种。

步骤S103:利用所述训练集和所述至少两个单模态特征提取器对所述多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器。

步骤S104:基于所述训练好的多模态知识蒸馏器对待检测图像进行检测,得到图像检测结果。

基于上述步骤S101-步骤S104,首先获取训练集,训练集包括至少两种不同类型传感器采集的图像;构建多分支模型,多分支模型包括至少两个单模态特征提取器和一个多模态知识蒸馏器;利用训练集和至少两个单模态特征提取器对多模态知识蒸馏器进行蒸馏训练,得到训练好的多模态知识蒸馏器;基于训练好的多模态知识蒸馏器对待检测图像进行检测,得到图像检测结果。如此,通过多模态知识蒸馏器可以实现不同类型的摄像头采集图像的检测或识别,减小了系统的算力和存储空间,提高了图像检测效率,能够快速输出检测结果,保证了自动驾驶系统的稳定性和可靠性。

下面分别对上述步骤S102至步骤S104作进一步说明。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,以通用相机作为第一种类型传感器(第一传感器)、鱼眼相机作为第二种类型传感器(第二传感器),对本申请的图像检测方法进行详细说明,以实现鱼眼相机、通用相机等感知异构多模态数据的融合利用,弥补不同相机感知数据量的不足,进一步提升异构多相机在图片分割、检测和分类等方面的效果。本领域技术人员应当理解的是,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明所描述的图像检测方法使用通用相机作第一传感器、鱼眼相机作为第二传感器。

针对步骤S102,在一个具体实施方式中,所述单模态特征提取器和所述多模态知识蒸馏器均包括骨干网络、特征层和输出层,其中所述骨干网络用于提取图像的通用物体特征,所述特征层用于对所述通用物体特征进行解码,所述输出层用于对解码后的特征进行分类并输出。

示例性地,具体如图2所示,以多分支模型包括两个单模态特征提取器和一个多模态知识蒸馏器为例,对多分支模型的结构进行说明。

单模态特征提取器通过特征自适应骨干网络,从不同模态学习个性化特征。单模态特征提取器与后续模态解耦合,可采用任意但不限于已有的分类、检测、分割、检索网络等作为骨干网络,骨干网络的选择需同时考虑单模态数据特性和分类任务要求。

多模态知识蒸馏器通过设置与单模态特征提取器相似的其他独立网络,学习具有更强表示能力的多模态融合特征。其以各个单模态特征提取器为约束,从各个单模态特征提取器中分别学习有效特征,相较于单模态特征提取器,多模态知识蒸馏器可不受限于各个模态的数据特性,能够提取与网络模型学习目标相关的有效特征。

每个单模态特征提取器包括依次连接的骨干网络、特征层和输出层。多模态知识蒸馏器也包括依次连接的骨干网络、特征层和输出层。

骨干网络,一般用以提取表示当前图像中的通用物体特征,其中通用物体特征可以是例如物体的颜色、定位、粗轮廓等特征。

特征层,主要负责特征的解码,用于将骨干特征映射成符合任务的指定特征形式,骨干网络和特征层的结构一般采用Encoder-Decoder的形式,其中骨干网络属于Encoder,特征层的结构属于Decoder。其中Decoder用于对缩小后的特征图像进行上采样,然后对上采样后的图像进行卷积处理,目的是完善物体的几何形状,弥补Encoder当中池化层将物体缩小造成的细节损失。

输出层,主要负责最终结果的输出,用以精细化识别图像中的物体类别,得到图像检测结果并输出。

在一个具体实施方式中,所述骨干网络为ResNet模型或Vision Transformer模型中的任意一种。

具体来说,在一个实施例中,针对数据自身特点、数据量等特征,针对单模态特征提取器的骨干网络可以是ResNet模型或Vision Transformer模型中的任意一种。

ResNet模型通过堆叠非线形层以拟合残差,并通过快捷连接以实现恒等映射,ResNet模型能够较好解决网络多层堆叠带来的梯度消失/爆炸和网络退化问题。

ViT(Vision Transformer)模型能够实现Transformer网络在计算机视觉领域的应用,该网络由图像分块处理(make patches)、图像块嵌入(patch embedding)与位置编码、Transformer编码器和多层感知处理等部分构成。

多模态知识蒸馏器基于单模态特征提取器,综合学习具有更强表示能力的多模态融合特征,多模态知识蒸馏器的网络结构可以与多模态知识蒸馏器的网络结构相同,也就是说,多模态知识蒸馏器的骨干网络结构也可以是ResNet模型或Vision Transformer模型中的任意一种。

在另一个实施例中,为适应车载、家居等资源受限的普适应用需求,多模态知识蒸馏器亦可使用与单模态特征提取器相似的简化模型,例如通过减少单模态特征提取器的骨干网络的卷积层数量、缩小卷积核大小等方式得到多模态知识蒸馏器的骨干网络结构。

以上是对步骤S102的进一步说明,下面继续对步骤S103作进一步说明。

多目标协同约束通过对模型各个层次的分别约束,保障并提升模型输出结果。相关协同约束层次包括骨干层、特征层、输出层和最终结果层等,各个层次使用不同的约束函数,并融合迭代优化模型参数。

具体如图3和图4所示,上述步骤S103可通过下述步骤S1031至步骤S1036实现。

步骤S1031:利用第一单模态特征提取器和所述多模态知识蒸馏器,基于第一传感器采集的第一图像计算第一蒸馏损失。

在一个具体实施方式中,所述蒸馏损失包括第一蒸馏子损失L1、第二蒸馏子损失L2、第三蒸馏子损失L3和第四蒸馏子损失L4;所述利用第一单模态特征提取器和所述多模态知识蒸馏器,基于第一传感器采集的第一图像计算第一蒸馏损失,包括:将所述第一图像分别输入所述第一单模态特征提取器和所述多模态知识蒸馏器;基于所述第一单模态特征提取器的骨干网络输出的第一特征和所述多模态知识蒸馏器的骨干网络输出的第一特征计算所述第一蒸馏子损失;基于所述第一单模态特征提取器的特征层输出的第二特征和所述多模态知识蒸馏器的特征层输出的第二特征计算所述第二蒸馏子损失;基于所述第一单模态特征提取器的输出层输出的第三特征和所述多模态知识蒸馏器的特征层输出的第三特征计算所述第三蒸馏子损失;基于所述多模态知识蒸馏器的特征层输出的第三特征和标签计算所述第四蒸馏子损失。

具体来说,如图5所示,首先将通用相机采集的图像分别输入第一单模态特征提取器和多模态知识蒸馏器,利用第一单模态特征提取器的骨干网络输出的第一特征和多模态知识蒸馏器的骨干网络输出的第一特征计算第一蒸馏子损失L1,利用第一单模态特征提取器的特征层输出的第二特征和多模态知识蒸馏器的特征层输出的第二特征计算第二蒸馏子损失L2,利用第一单模态特征提取器的输出层输出的第三特征和多模态知识蒸馏器的输出层输出的第三特征计算第三蒸馏子损失L3,以及利用多模态知识蒸馏器的特征层输出的第三特征和通用相机采集的图像的标签计算第四蒸馏子损失L4。

在一个具体实施方式中,所述第一蒸馏子损失和第二蒸馏子损失为均方误差损失函数,所述第三蒸馏子损失函数为归一化指数函数,所述第四蒸馏子损失为交叉熵损失函数。

具体来说,为了将单模态特征提取器的骨干网络输出的第一特征和多模态知识蒸馏器的骨干网络输出的第一特征同时对齐,采用均方误差损失函数(MSE)或者最大均值差异损失(MMD)作为第一蒸馏子损失L1和第二蒸馏子损失L2的示例。另外,第三蒸馏子损失函数可以是归一化指数函数,第四蒸馏子损失可以是交叉熵损失函数。

步骤S1032:基于所述第一蒸馏损失,通过方向传播的方式,调节所述多模态知识蒸馏器的模型参数。

在一个具体实施方式中,所述蒸馏损失包括第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失;所述基于所述第一蒸馏损失,通过方向传播的方式,调节所述多模态知识蒸馏器的模型参数,包括:基于所述第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的输出层的模型参数;基于所述第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的特征层的模型参数;基于所述第一蒸馏子损失、第二蒸馏子损失、第三蒸馏子损失和第四蒸馏子损失调节所述多模态知识蒸馏器的骨干网络的模型参数。

具体来说,通过第三蒸馏子损失L3和第四蒸馏子损失L4之和来确定第一梯度,基于该梯度调节多模态知识蒸馏器的输出层的模型参数。通过第二蒸馏子损失L2确定第二梯度,通过第二梯度和第一梯度之和调节多模态知识蒸馏器的特征层的模型参数。以及通过第一蒸馏子损失L1确定第三梯度,通过第三梯度、第二梯度和第一梯度之和调节多模态知识蒸馏器的骨干网络的模型参数。如此即可实现对多模态知识蒸馏器的一轮迭代训练。

步骤S1033:判断所述第一蒸馏损失是否收敛,或判断训练迭代次数是否达到预设迭代次数;若是,则输出更新后的多模态知识蒸馏器,若否,则返回继续迭代训练。

具体地,判断第一蒸馏子损失L1、第二蒸馏子损失L2、第三蒸馏子损失L3和第四蒸馏子损失L4是否均收敛,或者判断训练迭代次数是否达到预设迭代次数,若是,则停止训练,获得初始多模态知识蒸馏器并输出;若否,继续使用训练集中的图像对多模态知识蒸馏器进行迭代训练。

步骤S1034:利用第二单模态特征提取器和所述多模态知识蒸馏器,基于第二传感器采集的第二图像计算第二蒸馏损失。

第二蒸馏损失包括第五蒸馏子损失L5、第六蒸馏子损失L6、第七蒸馏子损失L7和第八蒸馏子损失L8。

具体来说,如图5所示,首先将鱼眼相机采集的图像分别输入第二单模态特征提取器和多模态知识蒸馏器,利用第二单模态特征提取器的骨干网络输出的第一特征和多模态知识蒸馏器的骨干网络输出的第一特征计算第五蒸馏子损失L5,利用第二单模态特征提取器的特征层输出的第二特征和多模态知识蒸馏器的特征层输出的第二特征计算第六蒸馏子损失L6,利用第二单模态特征提取器的输出层输出的第三特征和多模态知识蒸馏器的输出层输出的第三特征计算第七蒸馏子损失L7,以及利用多模态知识蒸馏器的特征层输出的第三特征和鱼眼相机采集的图像的标签计算第八蒸馏子损失L8。

步骤S1035:基于所述第二蒸馏损失,通过方向传播的方式,更新所述多模态知识蒸馏器的模型参数。

具体来说,通过第七蒸馏子损失L7和第八蒸馏子损失L8之和来确定第四梯度,基于该梯度更新多模态知识蒸馏器的输出层的模型参数。通过第六蒸馏子损失L6确定第五梯度,通过第五梯度和第四梯度之和更新多模态知识蒸馏器的特征层的模型参数。以及通过第五蒸馏子损失L5确定第六梯度,通过第六梯度、第五梯度和第四梯度之和更新多模态知识蒸馏器的骨干网络的模型参数。如此即可实现对多模态知识蒸馏器的又一轮迭代训练。

步骤S1036:判断所述第二蒸馏损失是否收敛,或判断训练迭代次数是否达到预设迭代次数,若是,则输出更新后的多模态知识蒸馏器,若否,则返回继续迭代训练。

具体地,判断第五蒸馏子损失L5、第六蒸馏子损失L6、第七蒸馏子损失L7和第八蒸馏子损失L8是否均收敛,或者判断训练迭代次数是否达到预设迭代次数,若是,则停止训练,获得训练好的多模态知识蒸馏器并输出;若否,继续使用训练集中的图像对多模态知识蒸馏器进行迭代训练。

如此,基于每一层的网络结构计算输出损失,并据此约束多模态知识蒸馏器的模型参数,提高了模型的训练精度,获得了精确度较高的多模态知识蒸馏器,该多模态知识蒸馏器能够识别不同相机(例如通用相机和鱼眼相机)采集的图像,有利于进一步提高图像的检测效率。

多模态知识蒸馏器能够基于鱼眼相机、通用相机等数据的单模态特征提取模型,综合利用各个模型各自优势,学习具有更强表示能力的多模态融合特征,使得蒸馏后的模型同时具有对鱼眼相机、通用相机等传感器采集图像的识别能力。

以上是对步骤S103的进一步说明,下面继续对步骤S104作进一步说明。

针对步骤S104,将待检测图像输入训练好的多模态知识蒸馏器,即可获得图像检测结果。

例如,将通用相机采集的第一待检测图像输入训练好的多模态知识蒸馏器,即可获得第一待检测图像的检测结果。或者将鱼眼相机采集的第二待检测图像输入训练好的多模态知识蒸馏器,即可获得第二待检测图像的检测结果。

通过提供一种基于知识蒸馏与协同约束的特征融合技术,通过知识蒸馏从不同相机的各自骨干网络中学习有效信息,并通过协同约束对蒸馏过程进行约束,从而提升融合模型效果。最终获得的多模态知识蒸馏器具备多相机数据的融合特征学习能力,在基于异构多相机的图片分割、检测和分类等方面效果优异。

需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。

本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。

进一步,本发明还提供了一种电子设备。在根据本发明的一个电子设备实施例中,如图6所示,电子设备包括至少一个处理器61和至少一个存储装置62,存储装置可以被配置成存储执行上述方法实施例的图像检测方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的图像检测方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。

在本发明实施例中电子设备可以是包括各种设备形成的控制装置设备。在一些可能的实施方式中,电子设备可以包括多个存储装置和多个处理器。而执行上述方法实施例的图像检测方法的程序可以被分割成多段子程序,每段子程序分别可以由处理器加载并运行以执行上述方法实施例的图像检测方法的不同步骤。具体地,每段子程序可以分别存储在不同的存储装置中,每个处理器可以被配置成用于执行一个或多个存储装置中的程序,以共同实现上述方法实施例的图像检测方法,即每个处理器分别执行上述方法实施例的图像检测方法的不同步骤,来共同实现上述方法实施例的图像检测方法。

上述多个处理器可以是部署于同一个设备上的处理器,例如上述电子设备可以是由多个处理器组成的高性能设备,上述多个处理器可以是该高性能设备上配置的处理器。此外,上述多个处理器也可以是部署于不同设备上的处理器,例如上述电子设备可以是服务器集群,上述多个处理器可以是服务器集群中不同服务器上的处理器。

进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的图像检测方法的程序,该程序可以由处理器加载并运行以实现上述图像检测方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

相关技术
  • 障碍物检测方法、装置、电子设备、车辆及存储介质
  • 一种车辆行驶风险预警方法、装置、存储介质及电子设备
  • 一种车辆预警方法、装置、电子设备及存储介质
  • 一种车位确定方法、装置、电子设备、车辆及存储介质
  • 信息推送方法、装置、车辆、存储介质及电子设备
  • 卡口抓拍图像车辆检测方法、计算机存储介质及电子设备
  • 卡口抓拍图像车辆检测方法、计算机存储介质及电子设备
技术分类

06120116072715