发明内容
本申请提供了一种三维目标检测模型的训练和使用方法、装置、介质及设备,用于解决采用单目三维目标检测时检测精度低、采用雷达三维目标检测时成本高和检测效率低的问题。所述技术方案如下:
一方面,提供了一种三维目标检测模型的训练方法,所述方法包括:
获取三维目标检测模型和训练集,所述训练集中包含在无人驾驶车辆的行驶过程中采集到的同一时刻的单目图像和点云数据,所述三维目标检测模型中包含学生网络和教师网络;
利用所述学生网络对所述单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数;
利用所述教师网络对所述点云数据进行检测,得到第二检测结果;
根据所述第一检测结果和所述第二检测结果计算纯电动汽车BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数;
根据所述深度损失函数、所述真值损失函数、所述BEV特征蒸馏损失函数、所述三维关系蒸馏损失函数和所述响应蒸馏损失函数计算所述三维目标检测模型的整体损失函数;
根据所述整体损失函数训练所述三维目标检测模型。
在一种可能的实现方式中,所述根据所述第一检测结果和所述第二检测结果计算纯电动汽车BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数,包括:
采用非极大值抑制NMS算法对所述第一检测结果中的第一三维预测框和第一分类置信度进行融合,将融合后得到的第二三维预测框映射到所述学生网络输出的第一BEV特征图中,得到第一感兴趣区域特征图;
采用所述NMS算法对所述第二检测结果中的第三三维预测框和第二分类置信度进行融合,将融合后得到的第四三维预测框映射到所述教师网络输出的第二BEV特征图中,得到第二感兴趣区域特征图;
根据所述第一感兴趣区域特征图和所述第二感兴趣区域特征图计算所述BEV特征蒸馏损失函数;
根据所述第一感兴趣区域特征图和所述第二感兴趣区域特征图计算所述三维关系蒸馏损失函数;
根据所述第一三维预测框、所述第一分类置信度、所述第三三维预测框和所述第二分类置信度计算所述响应蒸馏损失函数。
在一种可能的实现方式中,所述根据所述第一感兴趣区域特征图和所述第二感兴趣区域特征图计算所述BEV特征蒸馏损失函数,包括:
对所述第一感兴趣区域特征图进行维度变换,到第三感兴趣区域特征图,所述第三感兴趣区域特征图的维度与所述第二感兴趣区域特征图的维度相同;
对所述第二感兴趣区域特征图和所述第三感兴趣区域特征图计算二次损失,得到所述BEV特征蒸馏损失函数。
在一种可能的实现方式中,所述根据所述第一感兴趣区域特征图和所述第二感兴趣区域特征图计算所述三维关系蒸馏损失函数,包括:
对所述第一感兴趣区域特征图进行维度变换,到第三感兴趣区域特征图,所述第三感兴趣区域特征图的维度与所述第二感兴趣区域特征图的维度相同;
计算所述第三感兴趣区域特征图中的各个感兴趣区域特征图之间的关系,得到第一关系矩阵;
计算所述第二感兴趣区域特征图中的各个感兴趣区域特征图之间的关系,得到第二关系矩阵;
对所述第一关系矩阵和所述第二关系矩阵计算一次损失,得到所述三维关系蒸馏损失函数。
在一种可能的实现方式中,所述根据所述第一三维预测框、所述第一分类置信度、所述第三三维预测框和所述第二分类置信度计算所述响应蒸馏损失函数,包括:
对所述第一三维预测框、所述第一分类置信度、所述第三三维预测框和所述第二分类置信度计算一次损失,得到所述响应蒸馏损失函数。
在一种可能的实现方式中,所述利用所述学生网络对所述单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数,包括:
利用所述学生网络对所述单目图像进行二维卷积处理,得到二维特征图;
对所述二维特征图进行深度估计,得到稠密深度图和所述深度损失函数;
对所述二维特征图和所述稠密度深度图进行张量点乘运算,根据单目相机与雷达的标定关系对运算结果进行转换,得到第一三维特征图;
对所述第一三维特征图进行卷积和降维处理,得到第一BEV特征图;
利用三维探测头对所述第一BEV特征图进行处理,得到所述第一检测结果和所述真值损失函数。
在一种可能的实现方式中,所述利用所述教师网络对所述点云数据进行检测,得到第二检测结果,包括:
利用所述教师网络对所述点云数据进行三维稀疏卷积处理,得到第二三维特征图;
对所述第二三维特征图进行卷积和降维处理,得到第二BEV特征图;
利用三维探测头对所述第二BEV特征图进行处理,得到所述第二检测结果。
在一种可能的实现方式中,所述根据所述深度损失函数、所述真值损失函数、所述BEV特征蒸馏损失函数、所述三维关系蒸馏损失函数和所述响应蒸馏损失函数计算所述三维目标检测模型的整体损失函数,包括:
获取第一系数、第二系数、第三系数和第四系数;
将所述真值损失函数、所述深度损失函数和所述第一系数的乘积、所述BEV特征蒸馏损失函数和所述第二系数的乘积、所述三维关系蒸馏损失函数和所述第三系数的乘积、所述响应蒸馏损失函数和所述第四系数的乘积相加,得到所述三维目标检测模型的整体损失函数。
一方面,提供了一种三维目标检测模型的使用方法,所述方法包括:
通过无人驾驶车辆中的单目相机采集当前时刻的单目图像;
获取三维目标检测模型,所述三维目标检测模型是采用如上所述的训练方法进行训练后得到;
利用所述三维目标检测模型中的学生网络对所述单目图像进行检测,得到三维目标的三维预测框和分类。
一方面,提供了一种三维目标检测模型的训练装置,所述装置包括:
第一获取模块,用于获取三维目标检测模型和训练集,所述训练集中包含在无人驾驶车辆的行驶过程中采集到的同一时刻的单目图像和点云数据,所述三维目标检测模型中包含学生网络和教师网络;
第一检测模块,用于利用所述学生网络对所述单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数;
所述第一检测模块,还用于利用所述教师网络对所述点云数据进行检测,得到第二检测结果;
计算模块,用于根据所述第一检测结果和所述第二检测结果计算纯电动汽车BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数;
所述计算模块,还用于根据所述深度损失函数、所述真值损失函数、所述BEV特征蒸馏损失函数、所述三维关系蒸馏损失函数和所述响应蒸馏损失函数计算所述三维目标检测模型的整体损失函数;
训练模块,用于根据所述整体损失函数训练所述三维目标检测模型。
一方面,提供了一种三维目标检测模型的使用装置,所述装置包括:
采集模块,用于通过无人驾驶车辆中的单目相机采集当前时刻的单目图像;
第二获取模块,用于获取三维目标检测模型,所述三维目标检测模型是采用如上所述的训练方法进行训练后得到;
第二检测模块,用于利用所述三维目标检测模型中的学生网络对所述单目图像进行检测,得到三维目标的三维预测框和分类。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的三维目标检测模型的训练方法;或者,所述至少一条指令由处理器加载并执行以实现如上所述的三维目标检测模型的使用方法。
一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的三维目标检测模型的训练方法;或者,所述指令由所述处理器加载并执行以实现如上所述的三维目标检测模型的使用方法。
本申请提供的技术方案的有益效果至少包括:
通过利用三维目标检测模型中的学生网络对单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数;再利用三维目标检测模型中的教师网络对点云数据进行检测,得到第二检测结果;然后,根据第一检测结果和第二检测结果计算BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数;根据深度损失函数、真值损失函数、BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数计算三维目标检测模型的整体损失函数;最后,根据整体损失函数训练三维目标检测模型,这样,就可以在BEV视角上进行跨模态的知识蒸馏(蒸馏内容包括BEV特征蒸馏、三维关系蒸馏和响应蒸馏),使得单目三维目标检测能够从雷达三维目标检测中学习到三维信息,能够提高三维目标的检测精度和检测效率,且只需部署单目相机即可,从而降低了三维目标的检测成本。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的三维目标检测模型的训练方法的方法流程图,该三维目标检测模型的训练方法可以应用于计算机设备中。
该三维目标检测模型的训练方法,可以包括:
步骤101,获取三维目标检测模型和训练集,训练集中包含在无人驾驶车辆的行驶过程中采集到的同一时刻的单目图像和点云数据,三维目标检测模型中包含学生网络和教师网络。
训练集用于对三维目标检测模型进行训练。训练集中包含多组训练样本,每组训练样本中包含在无人驾驶车辆的行驶过程中采集到的同一时刻的单目图像和点云数据、以及单目图像中所包含的三维目标的真实框和分类。其中,单目图像是无人驾驶车辆中的单目相机拍摄得到的,点云数据是无人驾驶车辆中的雷达生成的,真实框用于表示三维目标在单目图像中的位置,分类用于表示三维目标的类别,比如车辆、行人、交通标志、红绿灯等等。
三维目标检测模型中包含学生网络和教师网络,学生网络用于检测单目图像,教师网络用于检测点云数据。其中,学生网络也可以称为单目三维目标检测网络,教师网络也可以称为雷达三维目标检测网络。
步骤102,利用学生网络对单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数。
具体的,利用学生网络对单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数,可以包括:利用学生网络对单目图像进行二维卷积处理,得到二维特征图;对二维特征图进行深度估计,得到稠密深度图和深度损失函数;对二维特征图和稠密度深度图进行张量点乘运算,根据单目相机与雷达的标定关系对运算结果进行转换,得到第一三维特征图;对第一三维特征图进行卷积和降维处理,得到第一BEV(Battery Electricvehicle,纯电动汽车)特征图;利用三维探测头对第一BEV特征图进行处理,得到第一检测结果和真值损失函数。
请参考图2中的学生网络(Student Network),将单目图像(Image fromMonocular)输入二维卷积模块(2D Conv Backbone),二维卷积模块的一个输出分支输出二维特征图(2D feature),另一个输出分支将二维特征图输入深度估计模块(DepthEstimation),深度估计模块输出稠密深度图(Dense Depth)和深度损失函数(DepthLoss),将二维特征图和稠密深度图进行张量点乘运算,在结合标定关系(CameraCalibration)对运算结果生成第一三维特征图(3D Volume),对第一三维特征图进行卷积和降维处理,得到第一BEV特征图(BEV Feature),将第一BEV特征图输入三维探测头(3DDetection Head),三维探测头输出第一检测结果和真值损失函数(GT Loss)。
其中,第一检测结果中包含三维目标的第一三维预测框、预测分类和第一分类置信度,该第一分类置信度也可以理解为三维目标属于预测分类的概率。
步骤103,利用教师网络对点云数据进行检测,得到第二检测结果。
具体的,利用教师网络对点云数据进行检测,得到第二检测结果,可以包括:利用教师网络对点云数据进行三维稀疏卷积处理,得到第二三维特征图;对第二三维特征图进行卷积和降维处理,得到第二BEV特征图;利用三维探测头对第二BEV特征图进行处理,得到第二检测结果。
请参考图2中的教师网络(Teacher Network),将点云数据(LiDAR Point Cloud)输入三维稀疏卷积模块(3D Sparse Conv),三维稀疏卷积模块输出第二三维特征图(3DVolume),对第二三维特征图进行卷积和降维处理,得到第二BEV特征图(BEV Feature),将第二BEV特征图输入三维探测头(3D Detection Head),三维探测头输出第二检测结果。
其中,第二检测结果中包含三维目标的第三三维预测框、预测分类和第二分类置信度,该第二分类置信度也可以理解为三维目标属于预测分类的概率。
步骤104,根据第一检测结果和第二检测结果计算BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数。
本实施例中涉及跨模态的知识蒸馏,蒸馏内容包括BEV特征蒸馏(BEV FeatureDistillation)、三维关系蒸馏(Relationship Distillation)和响应蒸馏(ResponseDistillation),可以通过BEV特征蒸馏损失函数实现BEV特征蒸馏,通过三维关系蒸馏损失函数实现三维关系蒸馏,通过响应蒸馏损失函数实现响应蒸馏。
具体的,根据第一检测结果和第二检测结果计算纯电动汽车BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数,可以包括:
(1)采用NMS(Non-Maximum Suppression,非极大值抑制)算法对第一检测结果中的第一三维预测框和第一分类置信度进行融合,将融合后得到的第二三维预测框映射到学生网络输出的第一BEV特征图中,得到第一感兴趣区域特征图。
其中,第一感兴趣区域特征图中包括多个感兴趣区域(Region of Interest,ROI)特征图。
(2)采用NMS算法对第二检测结果中的第三三维预测框和第二分类置信度进行融合,将融合后得到的第四三维预测框映射到教师网络输出的第二BEV特征图中,得到第二感兴趣区域特征图。
其中,第二感兴趣区域特征图中包括多个感兴趣区域特征图。
(3)根据第一感兴趣区域特征图和第二感兴趣区域特征图计算BEV特征蒸馏损失函数。
具体的,根据第一感兴趣区域特征图和第二感兴趣区域特征图计算BEV特征蒸馏损失函数,可以包括:对第一感兴趣区域特征图进行维度变换,到第三感兴趣区域特征图,第三感兴趣区域特征图的维度与第二感兴趣区域特征图的维度相同;对第二感兴趣区域特征图和第三感兴趣区域特征图计算二次损失(L2Loss),得到BEV特征蒸馏损失函数。
若将BEV特征蒸馏损失函数记为LFeature,其计算公式如下:
s’=fadapt(s) (2)
其中,K表示感兴趣区域特征图的数量,s’i表示第三感兴趣区域特征图中的第i个感兴趣区域特征图,ti表示第二感兴趣区域特征图中的第i个感兴趣区域特征图,fadapt()表示维度变换器,用于将第一感兴趣区域特征图变换为第三感兴趣区域特征图,以使第三感兴趣区域特征图与第二感兴趣区域特征图的维度相同。
(4)根据第一感兴趣区域特征图和第二感兴趣区域特征图计算三维关系蒸馏损失函数。
具体的,根据第一感兴趣区域特征图和第二感兴趣区域特征图计算三维关系蒸馏损失函数,可以包括:对第一感兴趣区域特征图进行维度变换,到第三感兴趣区域特征图,第三感兴趣区域特征图的维度与第二感兴趣区域特征图的维度相同;计算第三感兴趣区域特征图中的各个感兴趣区域特征图之间的关系,得到第一关系矩阵;计算第二感兴趣区域特征图中的各个感兴趣区域特征图之间的关系,得到第二关系矩阵;对第一关系矩阵和第二关系矩阵计算一次损失(L1 Loss),得到三维关系蒸馏损失函数。
若将三维关系蒸馏损失函数记为LRelation,其计算公式如下:
其中,K表示感兴趣区域特征图的数量,s’i表示第三感兴趣区域特征图中的第i个感兴趣区域特征图,s’j表示第三感兴趣区域特征图中的第j个感兴趣区域特征图,ti表示第二感兴趣区域特征图中的第i个感兴趣区域特征图,tj表示第二感兴趣区域特征图中的第j个感兴趣区域特征图,l()表示关系矩阵计算函数。
(5)根据第一三维预测框、第一分类置信度、第三三维预测框和第二分类置信度计算响应蒸馏损失函数。
具体的,根据第一三维预测框、第一分类置信度、第三三维预测框和第二分类置信度计算响应蒸馏损失函数,可以包括:对第一三维预测框、第一分类置信度、第三三维预测框和第二分类置信度计算一次损失(L1 Loss),得到响应蒸馏损失函数。
若将响应蒸馏损失函数记为LResponse,其计算公式如下:
其中,
表示教师网络和学生网络的分类部分的输出,L
cls()表示其对应的损失函数,
表示教师网络和学生网络的回归部分的输出,L
reg()表示其对应的损失函数,R表示分类标签的总类别,N
m表示所有分类的概率和,y表示类别预测值,r表示三维框的位置预测值,当三维探测头输出的第i个像素和感兴趣区域特征图相匹配时M
i的输出为1,不匹配时M
i的输出为0。
步骤105,根据深度损失函数、真值损失函数、BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数计算三维目标检测模型的整体损失函数。
具体的,根据深度损失函数、真值损失函数、BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数计算三维目标检测模型的整体损失函数,可以包括:获取第一系数、第二系数、第三系数和第四系数;将真值损失函数、深度损失函数和第一系数的乘积、BEV特征蒸馏损失函数和第二系数的乘积、三维关系蒸馏损失函数和第三系数的乘积、响应蒸馏损失函数和第四系数的乘积相加,得到三维目标检测模型的整体损失函数。
若将整体损失函数记为L,深度损失函数记为LDepth,真值损失函数记为LGT,其计算公式如下:
L=LGT+λ1LDepth+λ2LFeature+λ3LRelation+λ4LResponse (7)
其中,λ1表示第一系数,λ2表示第二系数,λ3表示第三系数,λ4表示第四系数,且上述四个系数是经验值。
步骤106,根据整体损失函数训练三维目标检测模型。
计算机设备可以根据训练集和整体损失函数训练三维目标检测模型,直至三维目标检测模型收敛后停止。
后续,在无人驾驶车辆的行驶过程中,可以利用三维目标检测模型中的学生网络检测实时采集到的单目图像中的三维目标。
综上所述,本申请实施例提供的三维目标检测模型的训练方法,通过利用三维目标检测模型中的学生网络对单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数;再利用三维目标检测模型中的教师网络对点云数据进行检测,得到第二检测结果;然后,根据第一检测结果和第二检测结果计算BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数;根据深度损失函数、真值损失函数、BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数计算三维目标检测模型的整体损失函数;最后,根据整体损失函数训练三维目标检测模型,这样,就可以在BEV视角上进行跨模态的知识蒸馏(蒸馏内容包括BEV特征蒸馏、三维关系蒸馏和响应蒸馏),使得单目三维目标检测能够从雷达三维目标检测中学习到三维信息,能够提高三维目标的检测精度和检测效率,且只需部署单目相机即可,从而降低了三维目标的检测成本。
请参考图3,其示出了本申请一个实施例提供的三维目标检测模型的使用方法的方法流程图,该三维目标检测模型的使用方法可以应用于计算机设备中。
该三维目标检测模型的使用方法,可以包括:
步骤301,通过无人驾驶车辆中的单目相机采集当前时刻的单目图像。
在无人驾驶车辆的行驶过程中,单目相机需要定期采集单目图像。
步骤302,获取三维目标检测模型。
其中,三维目标检测模型是采用如图1所示的训练方法进行训练后得到。
步骤303,利用三维目标检测模型中的学生网络对单目图像进行检测,得到三维目标的三维预测框和分类。
其中,学生网络对单目图像的检测流程与步骤102中所述的检测流程相同,此处不再赘述。
综上所述,本申请实施例提供的三维目标检测模型的使用方法,由于三维目标检测模型中的学生网络是通过在BEV视角上进行跨模态的知识蒸馏后得到的,所以,学生网络能够学习到单目图像中的三维信息,能够提高三维目标的检测精度和检测效率,且只需部署单目相机即可,从而降低了三维目标的检测成本。
请参考图4,其示出了本申请一个实施例提供的三维目标检测模型的训练装置的结构框图,该三维目标检测模型的训练装置可以应用于计算机设备中。该三维目标检测模型的训练装置,可以包括:
第一获取模块410,用于获取三维目标检测模型和训练集,训练集中包含在无人驾驶车辆的行驶过程中采集到的同一时刻的单目图像和点云数据,三维目标检测模型中包含学生网络和教师网络;
第一检测模块420,用于利用学生网络对单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数;
第一检测模块420,还用于利用教师网络对点云数据进行检测,得到第二检测结果;
计算模块430,用于根据第一检测结果和第二检测结果计算BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数;
计算模块430,还用于根据深度损失函数、真值损失函数、BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数计算三维目标检测模型的整体损失函数;
训练模块440,用于根据整体损失函数训练三维目标检测模型。
在一个可选的实施例中,计算模块430,还用于:
采用NMS算法对第一检测结果中的第一三维预测框和第一分类置信度进行融合,将融合后得到的第二三维预测框映射到学生网络输出的第一BEV特征图中,得到第一感兴趣区域特征图;
采用NMS算法对第二检测结果中的第三三维预测框和第二分类置信度进行融合,将融合后得到的第四三维预测框映射到教师网络输出的第二BEV特征图中,得到第二感兴趣区域特征图;
根据第一感兴趣区域特征图和第二感兴趣区域特征图计算BEV特征蒸馏损失函数;
根据第一感兴趣区域特征图和第二感兴趣区域特征图计算三维关系蒸馏损失函数;
根据第一三维预测框、第一分类置信度、第三三维预测框和第二分类置信度计算响应蒸馏损失函数。
在一个可选的实施例中,计算模块430,还用于:
对第一感兴趣区域特征图进行维度变换,到第三感兴趣区域特征图,第三感兴趣区域特征图的维度与第二感兴趣区域特征图的维度相同;
对第二感兴趣区域特征图和第三感兴趣区域特征图计算二次损失,得到BEV特征蒸馏损失函数。
在一个可选的实施例中,计算模块430,还用于:
对第一感兴趣区域特征图进行维度变换,到第三感兴趣区域特征图,第三感兴趣区域特征图的维度与第二感兴趣区域特征图的维度相同;
计算第三感兴趣区域特征图中的各个感兴趣区域特征图之间的关系,得到第一关系矩阵;
计算第二感兴趣区域特征图中的各个感兴趣区域特征图之间的关系,得到第二关系矩阵;
对第一关系矩阵和第二关系矩阵计算一次损失,得到三维关系蒸馏损失函数。
在一个可选的实施例中,计算模块430,还用于:
对第一三维预测框、第一分类置信度、第三三维预测框和第二分类置信度计算一次损失,得到响应蒸馏损失函数。
在一个可选的实施例中,第一检测模块420,还用于:
利用学生网络对单目图像进行二维卷积处理,得到二维特征图;
对二维特征图进行深度估计,得到稠密深度图和深度损失函数;
对二维特征图和稠密度深度图进行张量点乘运算,根据单目相机与雷达的标定关系对运算结果进行转换,得到第一三维特征图;
对第一三维特征图进行卷积和降维处理,得到第一BEV特征图;
利用三维探测头对第一BEV特征图进行处理,得到第一检测结果和真值损失函数。
在一个可选的实施例中,第一检测模块420,还用于:
利用教师网络对点云数据进行三维稀疏卷积处理,得到第二三维特征图;
对第二三维特征图进行卷积和降维处理,得到第二BEV特征图;
利用三维探测头对第二BEV特征图进行处理,得到第二检测结果。
在一个可选的实施例中,计算模块430,还用于:
获取第一系数、第二系数、第三系数和第四系数;
将真值损失函数、深度损失函数和第一系数的乘积、BEV特征蒸馏损失函数和第二系数的乘积、三维关系蒸馏损失函数和第三系数的乘积、响应蒸馏损失函数和第四系数的乘积相加,得到三维目标检测模型的整体损失函数。
综上所述,本申请实施例提供的三维目标检测模型的训练装置,通过利用三维目标检测模型中的学生网络对单目图像进行检测,得到第一检测结果、深度损失函数和真值损失函数;再利用三维目标检测模型中的教师网络对点云数据进行检测,得到第二检测结果;然后,根据第一检测结果和第二检测结果计算BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数;根据深度损失函数、真值损失函数、BEV特征蒸馏损失函数、三维关系蒸馏损失函数和响应蒸馏损失函数计算三维目标检测模型的整体损失函数;最后,根据整体损失函数训练三维目标检测模型,这样,就可以在BEV视角上进行跨模态的知识蒸馏(蒸馏内容包括BEV特征蒸馏、三维关系蒸馏和响应蒸馏),使得单目三维目标检测能够从雷达三维目标检测中学习到三维信息,能够提高三维目标的检测精度和检测效率,且只需部署单目相机即可,从而降低了三维目标的检测成本。
请参考图5,其示出了本申请一个实施例提供的三维目标检测模型的训练装置的结构框图,该三维目标检测模型的训练装置可以应用于计算机设备中。该三维目标检测模型的训练装置,可以包括:
采集模块510,用于通过无人驾驶车辆中的单目相机采集当前时刻的单目图像;
第二获取模块520,用于获取三维目标检测模型,三维目标检测模型是采用如图1所示的训练方法进行训练后得到;
第二检测模块530,用于利用三维目标检测模型中的学生网络对单目图像进行检测,得到三维目标的三维预测框和分类。
综上所述,本申请实施例提供的三维目标检测模型的训练装置,由于三维目标检测模型中的学生网络是通过在BEV视角上进行跨模态的知识蒸馏后得到的,所以,学生网络能够学习到单目图像中的三维信息,能够提高三维目标的检测精度和检测效率,且只需部署单目相机即可,从而降低了三维目标的检测成本。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的三维目标检测模型的训练方法;或者,所述至少一条指令由处理器加载并执行以实现如上所述的三维目标检测模型的使用方法。
本申请一个实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的三维目标检测模型的训练方法;或者,所述指令由所述处理器加载并执行以实现如上所述的三维目标检测模型的使用方法。
需要说明的是:上述实施例提供的三维目标检测模型的训练和使用装置在进行三维目标检测模型的训练和使用时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将三维目标检测模型的训练和使用装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的三维目标检测模型的训练和使用装置与三维目标检测模型的训练和使用方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。