本申请涉及人工智能领域,尤其涉及计算机视觉和深度学习技术,更具体地,涉及目标检测方法和模型训练方法、装置、电子设备和介质。
背景技术:
随着人工智能领域的快速发展,自动驾驶和智能机器人等技术应用也得到了极大的推进。其中,在技术实现过程中涉及对三维物体的检测任务,相关技术中,三维物体检测方法主要基于车载双目或雷达数据,或者基于二维图像直接通过网络预测三维信息。但是依赖双目的方法对深度估计的精度要求较高,计算复杂度高,无法满足实时性需求,依赖雷达的方法成本较高,且不能满足各种应用场景需求,检测精度也较低,现有的基于二维图像的预测方法不够准确。
技术实现要素:
本申请提供了目标检测方法和模型训练方法、装置、电子设备和介质。
根据第一方面,本申请提供了一种目标检测模型的训练方法,包括:获取样本数据,上述样本数据包括样本图像、上述样本图像中的对象在3d空间中的3d标定信息以及上述对象的高斯热力图;使用上述目标检测模型,根据上述样本图像产生上述对象在3d空间中的3d标定信息以及上述对象的高斯热力图;以及根据所产生的3d标定信息与上述样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与上述样本数据中的高斯热力图之间的差异,调整上述目标检测模型的参数。
根据第二方面,本申请提供了一种目标检测方法,包括:使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、上述对象在3d空间中的朝向以及上述对象的高斯热力图,上述目标检测模型是根据上述的方法训练的;根据上述对象的高斯热力图计算上述3d包围框在上述3d空间中的位置;以及基于上述3d包围框在上述3d空间中的位置、上述3d包围框的尺寸以及上述对象的朝向,生成包围上述对象的3d包围框。
根据第三方面,本申请提供了一种目标检测模型的训练装置,包括:获取模块,用于获取样本数据,上述样本数据包括样本图像、上述样本图像中的对象在3d空间中的3d标定信息以及上述对象的高斯热力图;检测模块,用于使用上述目标检测模型,根据上述样本图像产生上述对象在3d空间中的3d标定信息以及上述对象的高斯热力图;以及调整模块,用于根据所产生的3d标定信息与上述样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与上述样本数据中的高斯热力图之间的差异,调整上述目标检测模型的参数。
根据第四方面,本申请提供了一种目标检测装置,包括:检测模块,用于使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、上述对象在3d空间中的朝向以及上述对象的高斯热力图,上述目标检测模型是根据上述的方法训练的;计算模块,用于根据上述对象的高斯热力图计算上述3d包围框在上述3d空间中的位置;以及标定模块,用于基于上述3d包围框在上述3d空间中的位置、上述3d包围框的尺寸以及上述对象的朝向,生成包围上述对象的3d包围框。
根据第五方面,本申请提供了一种电子设备,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据第六方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1示意性示出了根据本申请实施例的目标检测方法的应用场景;
图2示意性示出了根据本申请实施例的目标检测模型的训练方法的流程图;
图3示意性示出了根据本申请实施例的高斯热力图的示意图;
图4示意性示出了根据本申请实施例的模型训练过程的示意图;
图5示意性示出了根据本申请实施例的对象及其3d包围框的示意图;
图6示意性示出了根据本申请实施例的目标检测模型的示意图;
图7示意性示出了根据本申请实施例的将3d包围框的位置投影到样本图像的示意图;
图8示意性示出了根据本申请另一实施例的目标检测模型的示意图;
图9示意性示出了根据本申请实施例的目标检测方法的流程图;
图10示意性示出了根据本申请实施例的目标检测模型的训练装置的框图;
图11示意性示出了根据本申请实施例的目标检测装置的框图;以及
图12是用来实现本申请实施例的目标检测模型的训练方法和目标检测方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
本申请的实施例提供了一种目标检测模型的训练方法,该方法包括:获取样本数据,样本数据包括样本图像、样本图像中的对象在3d空间中的3d标定信息以及对象的高斯热力图。使用目标检测模型,根据样本图像产生对象在3d空间中的3d标定信息以及对象的高斯热力图。根据所产生的3d标定信息与样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与样本数据中的高斯热力图之间的差异,调整目标检测模型的参数。
本申请的实施例的另一方面还提供了一种目标检测方法,该方法包括:使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、对象在3d空间中的朝向以及对象的高斯热力图,目标检测模型是根据如上的训练方法训练得到。根据对象的高斯热力图计算3d包围框在3d空间中的位置。基于3d包围框在3d空间中的位置、3d包围框的尺寸以及对象的朝向,生成包围对象的3d包围框。
图1示意性示出了根据本申请实施例的目标检测方法的应用场景。
如图1所示,本申请实施例的目标检测方法例如可以用于自动驾驶场景中。道路上设置有监控摄像头101,监控摄像头101可以拍摄道路监控图像,道路监控图像中包含车辆102、行人等被检测对象。各个监控摄像头101可以将拍摄的道路监控图像发送至服务器等计算设备,计算设备可以执行本申请实施例的目标检测方法,以根据道路监控图像对道路上的车辆102、行人等被检测对象进行检测,得到各个被检测对象的3d包围框信息,进而可以为自动驾驶车辆提供数据支持。
图2示意性示出了根据本申请实施例的目标检测模型的训练方法200的流程图。
如图2所示,本申请实施例的目标检测模型的训练方法200例如可以包括操作s210~操作s230。
在操作s210,获取样本数据,样本数据包括样本图像、样本图像中的对象在3d空间中的3d标定信息以及对象的高斯热力图。
在操作s220,使用目标检测模型,根据样本图像产生对象在3d空间中的3d标定信息以及对象的高斯热力图。
在操作s230,根据所产生的3d标定信息与样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与样本数据中的高斯热力图之间的差异,调整目标检测模型的参数。
根据本申请的实施例,样本图像例如可以为道路监控图像,样本图像中的对象例如可以为车辆和行人等。对象在3d空间中的3d标定信息可以是指对象的3d包围框的相关信息。对象的高斯热力图例如可以用于表示3d包围框的某一特征点的高斯热力分布,例如可以是用于表示3d包围框的底面中心点的高斯热力分布。
图3示意性示出了根据本申请实施例的高斯热力图300的示意图。
如图3所示,高斯热力图300上显示有至少一个高斯热力分布区域301,该高斯热力分布区域301可以呈现为由中心向外扩散的圆形区域,该区域中心点的热力值最高,越远离中心的点的热力值越小。若高斯热力图用来表示3d包围框的底面中心点的高斯热力分布,则在利用目标检测模型进行预测时可以根据高斯热力分布区域301的中心点来确定3d包围框的底面中心点在图像中的位置。
在对目标检测模型进行训练之前,需要预先获得用于训练的样本数据,样本数据包括样本图像、样本图像中的对象在3d空间中的3d标定信息以及对象的高斯热力图。然后,可以基于样本数据对目标检测模型进行训练。
图4示意性示出了根据本申请实施例的模型训练过程的示意图。
如图4所示,在训练过程中,将样本图像410输入初始的目标检测模型420中,目标检测模型420输出3d标定信息430和高斯热力图440,然后,根据模型输出的3d标定信息430与样本数据中的3d标定信息450计算3d标定信息的损失,以及根据模型输出的高斯热力图440与样本数据中的高斯热力图460计算热力图的损失,然后,至少根据3d标定信息损失和热力图损失反向更新目标检测模型420中的参数,完成一轮训练。依照上述方式进行多轮训练直至模型收敛,得到训练完成的目标检测模型。
在利用该训练完成的目标检测模型进行检测时,可以将待检测的图像输入目标检测模型,得到待检测图像中的对象在3d空间中的3d标定信息以及高斯热力图,根据对象在3d空间中的3d标定信息以及高斯热力图可以计算得到对象在3d空间中的三维信息,进而可以得到对象的3d包围框。
根据本申请的实施例,通过在目标检测模型中加入高斯热力图部分,利用高斯分布热力图来表达对象的某个特征,可以增强模型在估计对象的某一特征时的鲁棒性。再结合目标检测模型具有的预测对象在3d空间中的3d标定信息的功能,可以提升根据二维图像预测物体3d信息的预测方法的精度和鲁棒性。
根据本申请的实施例,3d空间可以是指拍摄样本图像的相机坐标系下的3d空间。例如,在道路监控场景下,3d空间是指以监控摄像头为原点的相机坐标系下的三维空间,3d空间内的坐标点是在相机坐标系下的三维坐标。
根据本申请的实施例,样本数据中的3d标定信息包括3d包围框的尺寸和对象的朝向。其中,对象的朝向可以是指对象相对于拍摄样本图像的相机的朝向。
根据本申请的实施例,3d包围框具有长方体或立方体形状,3d包围框的尺寸包括长、宽和高,3d包围框在3d空间中的位置为3d包围框的底面中心点在3d空间中的位置来表征。
图5示意性示出了根据本申请实施例的对象及其3d包围框的示意图。
如图5所示,以车辆510作为对象为例,车辆510的3d包围框520例如可以是与车辆510的长宽高基本一致的且能够将车辆510包围在内的长方体形框。在本申请实施例中,3d包围框在3d空间中的位置可以用3d包围框的底面中心点pc来表征。
图6示意性示出了根据本申请实施例的目标检测模型620的示意图。
如图6所示,根据本申请的实施例,目标检测模型620包括特征提取网络621、预测全连接模块622以及高斯热力图学习模块623。
上述操作s220中,使用目标检测模型,根据样本图像产生对象在3d空间中的3d标定信息以及对象的高斯热力图可以包括:(1)利用特征提取网络621对样本图像610进行特征提取,得到样本图像的特征图f_attr;(2)利用预测全连接模块622对得到的特征图f_attr施加全连接层,得到3d包围框的尺寸和对象的朝向(3d标定信息630);(3)利用高斯热力图学习模块623来基于样本图像的特征图产生对象的高斯热力图640。
例如,特征提取网络621可以包括多个卷积层,特征提取网络621可以对样本图像610进行特征提取操作得到样本图像的特征图f_attr。然后,将特征图f_attr分别输入预测全连接模块622和高斯热力图学习模块623中,其中,预测全连接模块622可以包括若干个全连接层,全连接层可以基于特征图f_attr的特征信息进行计算并输出预测的3d标定信息,3d标定信息包括3d包围框的长宽高和朝向角信息。高斯热力图学习模块623可以包括若干个卷积层,卷积层可以对特征图f_attr进行进一步地特征提取,目的是提取对象的某一特征点在图像上的高斯热力分布特征,例如,提取对象的3d包围框的底面中心点在图像上的高斯热力分布特征。然后,再根据模型输出的结果与样本数据中的相应信息计算模型损失,以根据模型损失反向更新模型参数。
根据本申请的实施例,在训练阶段利用3d包围框底面中心点的高斯热力分布来训练模型,可以在预测阶段,预测得到对象的3d包围框底面中心点的位置信息,又由于对象位于地面上,对象的3d包围框的底面中心点同时也是地面上的点,结合地面方程可以得到底面中心点的三维坐标,再结合长宽高和朝向角信息可以得到对象的3d包围框。此外,除底面中心点外还可以选择3d包围框底面上的其他点,例如底面上的顶点。
根据本申请的实施例,将目标检测模型分为特征提取网络、预测全连接模块和高斯热力图学习模块,利用特征提取网络提取出样本图像的特征图,再分别利用预测全连接模块和高斯热力图学习模块基于特征图得到3d标定信息和高斯热力图,可以使模型结构更为合理,使模型具有更高的预测准确度。
根据本申请的实施例,样本数据还包括3d空间中3d包围框的位置,获取样本数据包括:获取样本图像和3d包围框的位置;以及根据所获取的样本图像和3d包围框的位置,生成对象的高斯热力图。
例如,在准备样本数据时,可以针对每张样本图像,获取样本图像中的对象的3d包围框的位置。其中,3d包围框的位置可以用3d包围框的底面中心点在3d空间中的位置来表征,底面中心点在3d空间中的位置可以是指底面中心点的3d坐标。然后,根据底面中心点的3d坐标生成底面中心点的高斯热力图。
以下介绍获取高斯热力图训练样本的过程。
根据本申请的实施例,根据所获取的样本图像和3d包围框的位置,生成对象的高斯热力图包括:将3d包围框的位置投影到样本图像中,得到3d包围框在样本图像中的投影点;获取样本图像中包围对象的2d包围框的位置,并以2d包围框的位置为中心从样本图像中提取第一尺寸的图像块;根据样本图像中的投影点的位置以及2d包围框的位置,将第一尺寸的图像块转换成第二尺寸的图像块;以及在第二尺寸的图像块中,以投影点在第二尺寸的图像块中的位置为中心计算对象的热力分布,得到对象的高斯热力图。
图7示意性示出了根据本申请实施例的将3d包围框720的位置投影到样本图像730的示意图。
如图7所示,将3d包围框720的底面中心点pc投影到样本图像730中,具体可以采用以下方式投影得到底面中心点pc在样本图像730上的投影点p1。
设相机的内参为
然后,根据样本图像730上的底面中心点的投影点确定关于底面中心点的高斯热力图。高斯热力图与特征图的尺寸大小一致,设特征图为w×w,其中w的单位为像素,则高斯热力图的大小也为w×w,但是样本图像730的尺寸大于w×w,因此,需要将样本图像730中的底面中心点映射到w×w大小的图像中。
首先,获取样本图像730中对象的2d包围框731的位置,例如,2d包围框731的位置可以用2d包围框731的中心点p2来表征。根据本申请的实施例,样本图像730中2d包围框的位置可以是预先标定的,例如可以通过人为来标定,或者可以是根据样本数据计算得到的,根据样本数据计算得到例如可以是指将3d包围框720投影至样本图像730中得到该2d包围框。
然后,在样本图像730上以2d包围框的中心点p2[u2,v2]为中心,提取b×b大小的区域,其中b>w。根据以下公式(1)对b×b区域进行坐标变换和缩放,得到底面中心点p2在w×w大小的图像中的二维坐标[uf,vf]。
然后,根据下式(2)确定以[uf,vf]为中心的热力分布,得到如图3所示的高斯分布热力图。
其中,g可以表示热力图上坐标为[x,y]的点的热力值,σ为方差。
根据本申请的实施例,通过将3d包围框的底面中心点投影至样本图像,并根据样本图像上的2d包围框确定底面中心点的投影点在特定大小的图片上的坐标点,并计算得到以该坐标点为中心的热力分布,进而获得高斯热力图样本。基于此方法,可以使样本数据中的高斯热力图准确地反映底面中心点对应的位置,进而在模型训练完成后,可以使模型输出的高斯热力图准确地反映出底面中心点的位置。
图8示意性示出了根据本申请另一实施例的目标检测模型820的示意图。
如图8所示,根据本申请的实施例,目标检测模型820中的特征提取网络可以包括第一子网络8211和第二子网络8212,利用特征提取网络对样本图像进行特征提取包括:利用第一子网络8211对样本图像810进行第一特征提取并对样本图像中的对象进行分类,得到第一特征图f、样本图像中包围对象的2d包围框和对象的类别信息;以及利用第二子网络8212对第一特征图f进行第二特征提取,得到第二特征图f_attr作为样本图像的特征图。
其中,第一子网络8211例如可以实现为yolo(youonlylookonce)模型网络,第一子网络8211可以对样本图像中进行第一次特征提取,得到初始特征图,并能够对图像中的目标物体进行识别和位置检测,标注出目标物体的2d检测包围框。将第一子网络8211输出的2d检测包围框与样本数据中的2d包围框进行匹配,若存在能够与样本数据中的2d包围框匹配成功的2d检测包围框,则保留特征图f上与匹配成功的2d检测包围框对应的区域,将保留有部分区域的特征图f输入第二子网络8212中,第二子网络8212可以包括若干个卷积层,利用第二子网络8212进一步提取特征得到特征图f_attr,将该特征图f_attr分别输入预测全连接模块822和高斯热力图学习模块823中。将上述匹配成功的2d包围框对应的样本数据中的3d包围框的属性作为预测全连接模块输出的3d标定信息的真值标签,以根据真值标签并计算标定信息损失。其中,2d检测包围框与样本数据中的2d包围框匹配成功可以是指两者之间的重合面积大于某一面积阈值。
此外,还可以利用第一子网络进行对象分类,输出得到对象的类别信息。
根据本申请的实施例,基于以上方式可以利用一阶段子网络提取2d属性,利用二阶段子网络提取3d属性,可有效提升三维物体检测的精度。
根据本申请的实施例,样本数据还包括2d包围框和对象的类别信息,调整目标检测模型的参数包括:根据以下信息来调整目标检测模型的的参数:利用第一子网络得到的2d包围框与样本数据中的2d包围框之间的差异;利用第一子网络得到的对象的类别信息与样本数据中对象的类别信息之间的差异;利用全连接层得到的3d标定信息与样本数据中的3d标定信息之间的差异;以及利用高斯热力图学习模块得到的高斯热力图与样本数据中的高斯热力图之间的差异。
例如,训练阶段的损失函数可以包括一阶段损失lstage1和二阶段损失lstage2。
一阶段损失lstage1包括分类的交叉熵损失和2d包围框的损失:
lstage1=lclass lbbox2d
其中,lclass表示利用第一子网络得到的2d包围框与样本数据中的2d包围框之间的差异,2d包围框例如可以是指2d包围框的尺寸信息以及顶点位置信息(或者中心点位置信息)等。lbbox2d表示利用第一子网络得到的类别信息与样本数据中的类别信息之间的差异。
二阶段损失lstage2包括朝向角的交叉熵损失与长宽高的回归损失、高斯热力图分布的回归损失(本申请实施例中的回归损失可以为smoothl1损失函数):
lstage2=langle lgauss lhwl
其中,langle表示全连接层输出的朝向角与样本数据中的朝向角之间的差异,lhwl表示全连接层输出的长宽高与样本数据中的长宽高之间的差异,lgauss表示高斯热力图学习模块输出的高斯热力图与样本数据中的高斯热力图之间的差异。
将一阶段损失lstage1和二阶段损失lstage2共同作为模型的损失反向更新模型参数。
根据本申请的实施例,利用一阶段和二阶段的共同损失作为模型的总损失进行模型参数的更新,可以加快训练速度并且可以训练得到端到端的模型,简化预测流程。
本申请实施例的另一方面提供了一种可以应用上述目标检测模型的目标检测方法。
图9示意性示出了根据本申请实施例的目标检测方法900的流程图。
如图9所示,目标检测方法900例如可以包括操作s910~操作s930。
在操作s910,使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、对象在3d空间中的朝向以及对象的高斯热力图,目标检测模型是根据如上所述的目标检测模型的训练方法训练得到的。
在操作s920,根据对象的高斯热力图计算3d包围框在3d空间中的位置。
在操作s930,基于3d包围框在3d空间中的位置、3d包围框的尺寸以及对象的朝向,生成包围对象的3d包围框。
例如,将被检测的图像输入训练好的目标检测模型中可以得到被检测图像中的对象的3d标定信息和对象的某一特征的高斯热力图。对象的某一特征例如可以是对象的3d包围框底面中心点,将高斯热力图中热力值最大的点作为底面中心点在高斯热力图中的坐标,然后根据上述公式(1)进行反向计算可以得到底面中心点在被检测图像中的二维坐标。又由于底面中心点在3d空间中同时为地面上的点,其3d坐标满足地面方程:ax by cz d=0,其中,a、b和c为地面的法向量,因此可以结合地面方程计算得到底面中心点的3d坐标。
将底面中心在被检测图像中的坐标用齐次坐标表示为:
然后,根据下述公式(3)和(4)求出底面中心点相对于相机的深度depth。
其中,k为相机的内参矩阵,a、b和c为地面的法向量,
然后,根据下述公式(5)计算得到底面中心点在3d空间中的坐标pc。
pc=k-1*depth*imp(5)
然后,根据底面中心点的3d坐标和模型输出的3d包围框的尺寸和朝向信息可以确定对象的3d包围框。
根据本申请的实施例,通过目标检测模型预测得到图像中对象的3d包围框的尺寸和朝向信息,同时还可以预测得到对象某一特征点的高斯分布热力图,根据高斯分布热力图可以确定特征点在图像上的坐标,并结合地面方程可以确定特征点在相机坐标系下的3d坐标,然后结合3d包围框的尺寸和朝向信息可以确定对象的3d包围框。通过此方法,可以利用高斯分布热力图来表达对象的某个特征,增强模型在估计对象的某一特征时的鲁棒性,再结合目标检测模型预测的对象的3d标定信息信息来还原得到对象的3d包围框,可以提升根据二维图像预测物体3d信息的预测方法的精度和鲁棒性。
根据本申请的实施例,上述操作s910中的使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、对象在3d空间中的朝向以及对象的高斯热力图包括:利用特征提取网络对输入图像进行特征提取,得到输入图像的特征图;利用预测全连接模块对得到的特征图施加全连接层,得到3d包围框的尺寸和对象的朝向;以及利用高斯热力图学习模块来基于输入图像的特征图产生对象的高斯热力图。
根据本申请的实施例,利用特征提取网络对输入图像进行特征提取包括:利用第一子网络对输入图像进行第一特征提取并对输入图像中的对象进行分类,得到第一预测特征图、输入图像中对象的2d预测包围框和对象的类别信息;利用第二子网络对第一预测特征图进行第二特征提取,得到第二预测特征图作为所述输入图像的特征图。
例如,在第一子网络输出多个2d预测包围框之后,可以利用非极大值抑制(nms,non-maximumsuppression)算法筛选出部分2d预测包围框,然后在在第一预测特征图上保留与筛选出的2d预测包围框对应的区域,并将保留部分区域的第一预测特征图输入第二子网络中得到输入图像的特征图。
本申请实施例的另一方面提供了一种目标检测模型的训练装置。
图10示意性示出了根据本申请实施例的目标检测模型的训练装置1000的框图。
如图10所示,该训练装置1000包括获取模块1010、检测模块1020和调整模块1030。
获取模块1010用于获取样本数据,样本数据包括样本图像、样本图像中的对象在3d空间中的3d标定信息以及对象的高斯热力图。
检测模块1020用于使用目标检测模型,根据样本图像产生对象在3d空间中的3d标定信息以及对象的高斯热力图。
调整模块1030用于根据所产生的3d标定信息与样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与样本数据中的高斯热力图之间的差异,调整目标检测模型的参数。
根据本申请的实施例,目标检测模型包括特征提取网络、预测全连接模块以及高斯热力图学习模块。样本数据中的3d标定信息包括3d包围框的尺寸和对象的朝向。使用目标检测模型,根据样本图像产生对象在3d空间中的3d标定信息以及对象的高斯热力图包括:利用特征提取网络对样本图像进行特征提取,得到样本图像的特征图;利用预测全连接模块对得到的特征图施加全连接层,得到3d包围框的尺寸和对象的朝向;利用高斯热力图学习模块来基于样本图像的特征图产生对象的高斯热力图。
根据本申请的实施例,特征提取网络包括第一子网络和第二子网络,所述利用所述特征提取网络对所述样本图像进行特征提取包括:利用第一子网络对所述样本图像进行第一特征提取并对所述样本图像中的对象进行分类,得到第一特征图、所述样本图像中包围所述对象的2d包围框和对象的类别信息;根据本申请的实施例,样本数据还包括3d空间中3d包围框的位置,获取样本数据包括:获取样本图像和3d包围框的位置;以及根据所获取的样本图像和3d包围框的位置,生成对象的高斯热力图。
根据本申请的实施例,根据所获取的样本图像和3d包围框的位置,生成对象的高斯热力图包括:将3d包围框的位置投影到样本图像中,得到3d包围框在样本图像中的投影点;获取样本图像中包围对象的2d包围框的位置,并以2d包围框的位置为中心从样本图像中提取第一尺寸的图像块;根据样本图像中的投影点的位置以及2d包围框的位置,将第一尺寸的图像块转换成第二尺寸的图像块;以及在第二尺寸的图像块中,以投影点在第二尺寸的图像块中的位置为中心计算对象的热力分布,得到对象的高斯热力图。
根据本申请的实施例,样本图像中2d包围框的位置是预先标定的,或者是根据样本数据计算得到的。
根据本申请的实施例,样本数据还包括2d包围框和对象的类别信息,调整目标检测模型的参数包括:根据以下信息来调整目标检测模型的的参数:利用第一子网络得到的2d包围框与样本数据中的2d包围框之间的差异;利用第一子网络得到的对象的类别信息与样本数据中对象的类别信息之间的差异;利用全连接层得到的3d标定信息与样本数据中的3d标定信息之间的差异;以及利用高斯热力图学习模块得到的高斯热力图与样本数据中的高斯热力图之间的差异。
根据本申请的实施例,3d包围框具有长方体或立方体形状,3d包围框的尺寸包括长、宽和高,3d包围框在3d空间中的位置为3d包围框的底面中心点在3d空间中的位置来表征。
根据本申请的实施例,3d空间是拍摄样本图像的相机坐标系下的3d空间。
本申请实施例的另一方面提供了一种目标检测装置。
图11示意性示出了根据本申请实施例的目标检测装置1100的框图。
如图11所示,目标检测装置1100包括检测模块1110、计算模块1120和标定模块1130。
检测模块1110用于使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、对象在3d空间中的朝向以及对象的高斯热力图,目标检测模型是根据如上所述的训练方法训练的。
计算模块1120用于根据对象的高斯热力图计算3d包围框在3d空间中的位置。
标定模块1130用于基于3d包围框在3d空间中的位置、3d包围框的尺寸以及对象的朝向,生成包围对象的3d包围框。
根据本申请的实施例,使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、对象在3d空间中的朝向以及对象的高斯热力图包括:利用特征提取网络对输入图像进行特征提取,得到输入图像的特征图;利用预测全连接模块对得到的特征图施加全连接层,得到3d包围框的尺寸和对象的朝向;以及利用高斯热力图学习模块来基于输入图像的特征图产生对象的高斯热力图。
根据本申请的实施例,利用特征提取网络对输入图像进行特征提取包括:利用第一子网络对输入图像进行第一特征提取,得到第一预测特征图以及输入图像中包围对象的2d预测包围框;利用第二子网络对第一预测特征图进行第二特征提取,得到第二预测特征图作为所述输入图像的特征图。
根据本申请的实施例,还可以根据第一子网络预测得到对象的类别。
本申请实施例的另一方面还提供了一种电子设备和一种可读存储介质。
图12是用来实现本申请实施例的目标检测模型的训练方法和目标检测方法的电子设备的框图。
如图12所示,是根据本申请实施例的视频推荐方法的电子设备1200的框图。电子设备1200旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图12所示,该电子设备1200包括:一个或多个处理器1210、存储器1220,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备1200内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备1200,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图12中以一个处理器1210为例。
存储器1220即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的视频推荐方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的视频推荐方法。
存储器1220作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的视频推荐方法对应的程序指令/模块(例如,附图10所示的获取模块1010、检测模块1020和调整模块1030以及附图11所示的检测模块1110、计算模块1120和标定模块1130)。处理器1210通过运行存储在存储器1220中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视频推荐方法。
存储器1220可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据视频推荐的电子设备1200的使用所创建的数据等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1220可选包括相对于处理器1210远程设置的存储器,这些远程存储器可以通过网络连接至视频推荐的电子设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于视频推荐的方法的电子设备1200还可以包括:输入装置1230和输出装置1240。处理器1210、存储器1220、输入装置1230和输出装置1240可以通过总线或者其他方式连接,图12中以通过总线连接为例。
输入装置1230可接收输入的数字或字符信息,以及产生与视频推荐的电子设备1200的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1240可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
1.一种目标检测模型的训练方法,包括:
获取样本数据,所述样本数据包括样本图像、所述样本图像中的对象在3d空间中的3d标定信息以及所述对象的高斯热力图;
使用所述目标检测模型,根据所述样本图像产生所述对象在3d空间中的3d标定信息以及所述对象的高斯热力图;以及
根据所产生的3d标定信息与所述样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与所述样本数据中的高斯热力图之间的差异,调整所述目标检测模型的参数。
2.根据权利要求1所述的方法,其中,所述目标检测模型包括特征提取网络、预测全连接模块以及高斯热力图学习模块,所述样本数据中的3d标定信息包括3d包围框的尺寸和所述对象的朝向,所述使用所述目标检测模型,根据所述样本图像产生所述对象在3d空间中的3d标定信息以及所述对象的高斯热力图包括:
利用所述特征提取网络对所述样本图像进行特征提取,得到样本图像的特征图;
利用所述预测全连接模块对得到的特征图施加全连接层,得到3d包围框的尺寸和所述对象的朝向;
利用所述高斯热力图学习模块来基于所述样本图像的特征图产生所述对象的高斯热力图。
3.根据权利要求2所述的方法,其中,所述特征提取网络包括第一子网络和第二子网络,所述利用所述特征提取网络对所述样本图像进行特征提取包括:
利用第一子网络对所述样本图像进行第一特征提取并对所述样本图像中的对象进行分类,得到第一特征图、所述样本图像中包围所述对象的2d包围框和对象的类别信息;
利用第二子网络对所述第一特征图进行第二特征提取,得到第二特征图作为所述样本图像的特征图。
4.根据权利要求2所述的方法,其中,所述样本数据还包括所述3d空间中3d包围框的位置,所述获取样本数据包括:
获取所述样本图像和所述3d包围框的位置;以及
根据所获取的样本图像和所述3d包围框的位置,生成所述对象的高斯热力图。
5.根据权利要求4所述的方法,其中,所述根据所获取的样本图像和所述3d包围框的位置,生成所述对象的高斯热力图包括:
将所述3d包围框的位置投影到所述样本图像中,得到所述3d包围框在所述样本图像中的投影点;
获取所述样本图像中包围所述对象的2d包围框的位置,并以所述2d包围框的位置为中心从所述样本图像中提取第一尺寸的图像块;
根据所述样本图像中的所述投影点的位置以及所述2d包围框的位置,将所述第一尺寸的图像块转换成第二尺寸的图像块;以及
在所述第二尺寸的图像块中,以所述投影点在所述第二尺寸的图像块中的位置为中心计算所述对象的热力分布,得到所述对象的高斯热力图。
6.根据权利要求5中所述的方法,其中,所述样本图像中2d包围框的位置是预先标定的,或者是根据所述样本数据计算得到的。
7.根据权利要求3所述的方法,其中,所述样本数据还包括2d包围框和对象的类别信息,所述调整所述目标检测模型的参数包括:根据以下信息来调整所述目标检测模型的的参数:
利用所述第一子网络得到的2d包围框与所述样本数据中的2d包围框之间的差异;
利用所述第一子网络得到的对象的类别信息与所述样本数据中对象的类别信息之间的差异;
利用所述全连接层得到的3d标定信息与所述样本数据中的3d标定信息之间的差异;以及
利用所述高斯热力图学习模块得到的高斯热力图与所述样本数据中的高斯热力图之间的差异。
8.根据权利要求2至7中任一项权利要求所述的方法,其中,所述3d包围框具有长方体或立方体形状,所述3d包围框的尺寸包括长、宽和高,所述3d包围框在3d空间中的位置为所述3d包围框的底面中心点在3d空间中的位置来表征。
9.根据权利要求1至7中任一项权利要求所述的方法,其中,所述3d空间是拍摄所述样本图像的相机坐标系下的3d空间。
10.一种目标检测方法,包括:
使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、所述对象在3d空间中的朝向以及所述对象的高斯热力图,所述目标检测模型是根据如权利要求1至9中任一项权利要求所述的方法训练的;
根据所述对象的高斯热力图计算所述3d包围框在所述3d空间中的位置;以及
基于所述3d包围框在所述3d空间中的位置、所述3d包围框的尺寸以及所述对象的朝向,生成包围所述对象的3d包围框。
11.一种目标检测模型的训练装置,包括:
获取模块,用于获取样本数据,所述样本数据包括样本图像、所述样本图像中的对象在3d空间中的3d标定信息以及所述对象的高斯热力图;
检测模块,用于使用所述目标检测模型,根据所述样本图像产生所述对象在3d空间中的3d标定信息以及所述对象的高斯热力图;以及
调整模块,用于根据所产生的3d标定信息与所述样本数据中的3d标定信息之间的差异、以及所产生的高斯热力图与所述样本数据中的高斯热力图之间的差异,调整所述目标检测模型的参数。
12.一种目标检测装置,包括:
检测模块,用于使用目标检测模型来根据输入图像确定输入图像中的对象在3d空间中的3d包围框的尺寸、所述对象在3d空间中的朝向以及所述对象的高斯热力图,所述目标检测模型是根据如权利要求1至9中任一项权利要求所述的方法训练的;
计算模块,用于根据所述对象的高斯热力图计算所述3d包围框在所述3d空间中的位置;以及
标定模块,用于基于所述3d包围框在所述3d空间中的位置、所述3d包围框的尺寸以及所述对象的朝向,生成包围所述对象的3d包围框。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的方法。
技术总结