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

测距方法及装置、存储介质及电子设备

文献发布时间:2023-06-19 11:14:36


测距方法及装置、存储介质及电子设备

技术领域

本发明涉及测距技术领域,具体而言,涉及一种测距方法及装置、存储介质及电子设备。

背景技术

在高级驾驶辅助系统(Advanced Driving Assistance System,简称ADAS)以及自动驾驶领域,需要对周围环境的目标进行感知,这涉及到对周围的目标进行检测以及测距。目前的测距方法主要分为单目测距和双目测距两类。其中,双目测距因需要特定的硬件设备提供支持,导致其实施成本较高。单目测距虽然实施上比较容易,但具有计算量大、测距精度不高的缺点。

发明内容

本申请实施例的目的在于提供一种测距方法及装置、存储介质及电子设备,以改善上述技术问题。

为实现上述目的,本申请提供如下技术方案:

第一方面,本申请实施例提供一种测距方法,包括:利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征;其中,所述目标检测模型为卷积神经网络模型;根据待测目标在所述原始图像中对应的感兴趣区域的位置获取感兴趣区域图像;其中,检测得到的目标中包括所述待测目标,所述感兴趣区域根据所述待测目标的检测框确定,所述感兴趣区域图像为所述原始图像在所述感兴趣区域内的部分;基于所述感兴趣区域的位置、所述感兴趣区域图像以及所述全图特征,利用测距模型获得车辆与所述待测目标之间的测距结果;其中,所述测距模型为卷积神经网络模型。

上述测距方法相较于现有的测距方法,具有如下优势:其一,该方法是一种单目测距方法,只需利用普通摄像头采集的原始图像即可完成测距,其实施成本较低;其二,该方法中的测距模型主要基于感兴趣区域图像计算测距结果,而非基于整个原始图像计算测距结果,因此所需运算量较低;其三,在感兴趣区域图像中,主要包含单个的待测目标,而图像中的其他内容包含的比较少,从而在训练样本比较少的情况下就能够达到较高的测距精度;其四,感兴趣区域的位置、感兴趣区域图像两项信息可以从原理上保证测距模型能够预测出待测目标与车辆的距离,而全图特征中则包含了原始图像中的背景信息,从而同时使用这三种信息进行测距结果的计算,有利于进一步提高测距精度。

在第一方面的一种实现方式中,在所述利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征之后,以及在所述根据待测目标对应的感兴趣区域的位置获取感兴趣区域图像之前,所述方法还包括:从检测得到的目标中筛选出与所述车辆存在碰撞风险的目标作为所述待测目标。

在实际应用中,进行测距的一个主要原因是为了避免本车与前方距离较近的目标发生碰撞。然而,车辆前方可能存在很多目标,并非所有目标都与本车存在碰撞风险,例如,间隔较远的目标短时间内不可能与本车发生碰撞,从而在进行实时测距时也没有必要对所有检测到的目标进行测距。在上述实现方式中,仅对筛选出的与车辆存在碰撞风险的目标进行测距,有利于提高测距效率,节约计算资源。

在第一方面的一种实现方式中,在所述利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征之后,以及在所述根据待测目标对应的感兴趣区域的位置获取感兴趣区域图像之前,所述方法还包括:将所述待测目标的检测框在原位置按预设比例扩大后形成的区域确定为其在所述原始图像中对应的感兴趣区域。

可以直接将待测目标的检测框确定为其在所述原始图像中对应的感兴趣区域。但考虑到某些目标的检测框位置可能预测得不准确,因此在上述实现方式中,通过适当扩大检测框的尺寸以获得感兴趣区域,有利于使得感兴趣区域中包含完整的待测目标。

在第一方面的一种实现方式中,所述基于所述感兴趣区域的位置、所述感兴趣区域图像以及所述全图特征,利用测距模型获得车辆与所述待测目标之间的测距结果,包括:将代表所述感兴趣区域的位置的数值归一化后扩展为特征图;其中,每个归一化后的数值扩展产生一张对应的特征图,该特征图中的像素值均取此归一化后的数值;将所述感兴趣区域图像缩放至预设的尺寸后进行归一化,得到归一化后的所述感兴趣区域图像;将扩展产生的特征图、归一化后的所述感兴趣区域图像以及所述全图特征输入至所述测距模型进行前向传播,获得所述测距模型输出的所述车辆与所述待测目标之间的所述测距结果。

在上述实现方式中,归一化操作能够使得模型在训练时更快收敛,同时可以提升模型精度(虽然此处不是训练步骤,但如果在训练过程中执行了归一化操作,在推断阶段也应保留该操作)。另外,卷积神经网络模型处理的对象一般是图像(包括原始图像和特征图),因此将代表感兴趣区域的位置的单个数值(如区域中心的坐标、宽度、高度等)输入至测距模型之前,应该先将其转化为图像的形式,以便模型能够处理。

在第一方面的一种实现方式中,所述将扩展产生的特征图、归一化后的所述感兴趣区域图像以及所述全图特征输入至所述测距模型进行前向传播,获得所述测距模型输出的所述车辆与所述待测目标之间的所述测距结果,包括:利用所述测距模型对归一化后的所述感兴趣区域图像进行特征提取,获得感兴趣区域特征;利用所述测距模型将所述感兴趣区域特征、所述扩展产生的特征图以及所述全图特征进行融合,获得融合特征;利用所述测距模型基于所述融合特征预测所述车辆与所述待测目标之间的距离,获得所述测距结果。

上述实现方式描述了测距模型的三项主要功能:其一,基于归一化后的感兴趣区域图像计算感兴趣区域特征;其二,将感兴趣区域特征、扩展产生的特征图以及全图特征进行融合,获得融合特征;其三,基于融合特征预测车辆与待测目标之间的距离,从而可以针对这三项功能设计测距模型的网络结构。另外,通过深度融合三项输入信息,有利于提高模型的测距精度。

在第一方面的一种实现方式中,所述利用所述测距模型对归一化后的所述感兴趣区域图像进行特征提取,获得感兴趣区域特征,包括:利用所述测距模型起始处的至少一个第一卷积单元对归一化后的所述感兴趣区域图像进行特征提取以及下采样,获得第一中间特征;其中,所述第一卷积单元包括一个卷积层以及一个池化层;利用所述测距模型中的多个残差块依次对所述第一中间特征进行进一步特征提取,并利用最后一个残差块的短接结构将其提取到的特征与剩余残差块中的至少一个残差块提取到的特征进行求和,获得第二中间特征;利用所述测距模型中的第二卷积单元对所述第二中间特征进行进一步融合,获得所述感兴趣区域特征;其中,所述第二卷积单元包括两个卷积层。

上述实现方式给出了用于计算感兴趣区域特征的一种可能的网络结构。其中,在测距模型的起始处设置具有下采样功能的第一卷积单元,快速降低输入图像的尺寸以节约运算量。多个残差块能够提取到不同深度的特征,这些特征的感受野和内容侧重点都有所不同,较浅的特征包含了输入图像中丰富的细节信息,较深的特征中则包含有输入图像中更多的语义信息,从而通过先求和(利用短接结构)再卷积(利用第二卷积模块)的方式融合不同深度的特征,所得到的所述感兴趣区域特征具有较好的表达能力。

在第一方面的一种实现方式中,所述融合特征包括多个通道,每个通道对应一个预设的距离范围,所述利用所述测距模型基于所述融合特征预测所述车辆与所述待测目标之间的距离,获得所述测距结果,包括:利用所述测距模型中针对每个通道设置的至少一个全连接层,基于该通道的融合特征预测所述车辆与所述待测目标之间的、位于该通道对应的距离范围内的距离及其置信度;在所述获得所述测距结果之后,所述方法还包括:将置信度最高的距离确定为所述车辆与所述待测目标之间的最终距离。

在上述实现方式中,让不同距离范围内的目标测距任务对应到不同的特征图(即融合特征的一个通道),使得对于每个距离范围内的目标都可以为其训练一组专属的模型参数来进行距离预测,从而有利于提高测距精度。

在第一方面的一种实现方式中,所述融合特征包括多个通道,每个通道对应一个距离范围,所述利用所述测距模型基于所述融合特征预测所述车辆与所述待测目标之间的距离,获得所述测距结果,包括:利用所述测距模型中针对每个通道设置的至少一个全连接层,基于该通道的融合特征预测所述车辆与所述待测目标之间的、在该通道对应的距离范围内有效的距离系数及其置信度;在所述获得所述测距结果之后,所述方法还包括:将置信度最高的距离系数确定为最终距离系数;计算所述最终距离系数与其有效的距离范围内的基准距离的乘积,获得所述车辆与所述待测目标之间的距离。

在上述实现方式中,让不同距离范围内的目标测距任务对应到不同的特征图(即融合特征的一个通道),使得对于每个距离范围内的目标都可以为其训练一组专属的模型参数来进行距离预测,从而有利于提高测距精度。并且,上述实现方式并不直接预测距离,而是先预测一个距离系数然后再计算距离,其优点在于:距离的波动范围较大,直接预测距离可能会不准确,但是若恰当地设置基准距离,可使得距离系数的波动范围较小,预测结果较为准确,从而可以进一步提高测距精度,并且也能够加快模型在训练时的收敛速度。

在第一方面的一种实现方式中,任一距离范围内的基准距离为该距离范围的中值。

若基准距离设置为对应距离范围的中值,则距离系数可以维持在[0,2]这个区间内,波动较小。

在第一方面的一种实现方式中,在所述获得感兴趣区域特征之后,所述方法还包括:利用所述测距模型基于所述感兴趣区域特征重新预测所述待测目标的类别和/或检测框。

虽然目标检测模型已经检测过目标,但目标检测模型是基于原始图像检测的,在检测前很可能会对原始图像进行缩放,这导致原始图像中一些目标的尺寸变得很小,相应检测结果的精度降低。而感兴趣区域图像是利用感兴趣区域的位置从原始图像中直接截取出来的,未经过缩放,因此其中目标的尺寸较大,即使感兴趣区域图像在送入测距模型前会进行一定程度的缩放,其中目标的尺寸也不至于变得太小,因此基于感兴趣区域特征重新预测一次待测目标的检测框和/或分类,可能会得到更精确的结果。

在第一方面的一种实现方式中,在所述利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征之前,所述方法还包括:训练初始的所述目标检测模型,得到初步训练好的所述目标检测模型;训练初始的所述测距模型,得到初步训练好的所述测距模型;其中,训练时仅使用训练图像中感兴趣区域的位置以及感兴趣区域图像,不使用全图特征,所需的感兴趣区域的位置以及感兴趣区域图像,基于初步训练好的所述目标检测模型对训练图像的目标检测结果得到;继续训练初步训练好的所述目标检测模型以及初步训练好的所述测距模型,得到训练好的所述目标检测模型以及训练好的所述测距模型;其中,训练所述测距模型时使用训练图像中感兴趣区域的位置、感兴趣区域图像以及全图特征,所需的感兴趣区域的位置以及感兴趣区域图像,基于当前的所述目标检测模型对训练图像的目标检测结果得到,所需的全图特征,由当前的所述目标检测模型从训练图像中提取得到。

上述三阶段的训练方式有利于加快模型的收敛速度,并提高测距精度。在训练过程的第三阶段,还可以适当提高距离预测的损失在总损失中的占比,因为距离预测的损失一般比较小,从而提高损失占比有利于改善模型的测距精度。

第二方面,本申请实施例提供一种测距装置,包括:目标检测模块,用于利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征;其中,所述目标检测模型为卷积神经网络模型;感兴趣区域处理模块,用于根据待测目标在所述原始图像中对应的感兴趣区域的位置获取感兴趣区域图像;其中,检测得到的目标中包括所述待测目标,所述感兴趣区域根据所述待测目标的检测框确定,所述感兴趣区域图像为所述原始图像在所述感兴趣区域内的部分;测距模块,用于基于所述感兴趣区域的位置、所述感兴趣区域图像以及所述全图特征,利用测距模型获得车辆与所述待测目标之间的测距结果;其中,所述测距模型为卷积神经网络模型。

第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。

第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例提供的一种测距方法的流程;

图2示出了本申请实施例提供的目标检测模型的一种结构;

图3示出了本申请实施例提供的测距模型的一种结构;

图4示出了本申请实施例提供的一种测距装置的结构;

图5示出了本申请实施例提供的一种电子设备的结构。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出了本申请实施例提供的一种测距方法的流程,该测距方法所要测量(或者说预测)的距离是本车与其他对象之间的距离。该方法可以但不限于由一电子设备执行,图5示出了该电子设备的一种可能的结构,具体见后文对于图5的阐述。参照图1,该方法包括:

步骤S110:利用目标检测模型检测原始图像中的目标并提取原始图像的全图特征。

原始图像可以是普通摄像头采集到的图像,该摄像头可以是车载摄像头,例如可以安装在车头位置,用于采集车辆前方的图像。

原始图像中可能包含有很多需要关注的对象,例如车辆、行人、骑行者、动物、障碍物、交通标志等等,称为目标,利用目标检测模型可以检测出这些目标,可能的目标检测结果为一个目标集合,该目标集合中的每个目标至少包含两项属性:一项是目标的类别,例如车辆、行人等;一项是目标对应的检测框,该检测框的位置可用四个数值来表达,例如:

x:检测框中心在原始图像中的横坐标

y:检测框中心在原始图像中的纵坐标

w:检测框宽度

h:检测框高度

当然,检测框的位置有多种表达方式,例如,选择检测框左上顶点的横纵坐标、检测框宽度、检测框高度也可以描述检测框的位置,并不限于上面的方式。另外,目标检测模型还可能输出与目标类别、目标检测框相关的置信度等信息。

在一些实现方式中,目标检测模型为卷积神经网络模型,其具体结构不限定,例如,可以采用YOLOv3、SSD+MobileNet等网络结构,图2则示出了目标检测模型可能采用的另一种网络结构。图2中的一些英文词汇含义如下:

conv:表示卷积层,后面的数字,例如3*3/1,其中3*3表示卷积核尺寸,1表示卷积步长;

concat:表示拼接结构,输入该结构的多个特征将被拼接在一起输出。

shortcut:表示短接结构,一般设置于残差块末端,用于将残差块中两个支路的特征相加后输出。残差块可以指具有这样结构的卷积模块:输入该卷积模块的特征经零个或零个以上的卷积层处理后,分别输入两个支路,其中一个支路利用至少一个卷积层对支路的输入特征进行处理,处理结果输出到短接结构,另一个支路则直接将支路的输入特征输出到短接结构(也称为恒等映射)。例如,根据此定义,图2中输入图像下方的conv3*3/2、conv3*3/1、shortcut就构成了一个残差块,该残差块的输入特征经conv3*3/2处理后,分别输入两个支路,其中一个支路利用conv3*3/1对支路的输入特征进行处理,处理结果输出到shortcut,另一个支路则直接将支路的输入特征输出到shortcut,shortcut将二者相加后输出。

upsample:表示上采样层,具体的上采样方式可以是反卷积、插值等。

参照图2,图2中的输入图像可能是原始图像,也可能是原始图像预处理后的结果,例如,原始图像的尺寸可能比较大,为降低网络运算量,可能会将其缩小为较小的尺寸后再输入目标检测模型。

目标检测模型中包含3个目标解析层,从左到右分别主要用于检测大尺寸目标、中尺寸目标以及小尺寸目标(例如,可输出目标的类别和检测框),除目标解析层以外的部分则主要用于特征提取及融合。其中,靠左侧的目标解析层,其输入特征是比较深的,特征具有较大的感受野和较丰富的语义信息,从而有利于较大尺寸目标的检测;而靠右侧的目标解析层,其输入特征是比较浅的,特征具有较小的感受野和较少的语义信息,从而主要用于检测较小尺寸的目标。当然,在该目标检测模型中,对于靠右侧的目标解析层,其输入特征中也融合了较深的特征,即感受野和语义信息有所增强,从而在检测较小尺寸的目标时,检测精度有所提高。

在本申请的方案中,目标检测模型除了用于目标检测外,还会提取全图特征,全图特征可以指整个原始图像的一种全局性质的特征,该特征具有较大的感受野。根据该定义,全图特征可以选择目标检测模型中的深层全局特征,例如,在图2中,最左侧的目标解析层上方的倒数第二个卷积层(conv3*3/1)输出的特征再经过一个残差块(由conv3*3/1、conv1*1/1、conv3*3/1、shortcut构成)处理后输出全图特征。

步骤S120:根据待测目标在原始图像中对应的感兴趣区域的位置获取感兴趣区域图像。

其中,待测目标即在后续步骤中要进行距离预测的目标,待测目标包含在S110中检测得到的目标之中。

在一些实现方式中,可以将步骤S110中检测到的所有目标都作为待测目标。但发明人研究发现,在实际应用中,进行测距的一个主要原因是为了避免本车与前方(或其他方向)距离较近的目标发生碰撞。然而,车辆前方可能存在很多目标,并非所有目标都与本车存在碰撞风险,例如,间隔较远的目标短时间内不可能与本车发生碰撞,不在路面上的目标(比如,在天桥上的行人)也很难与本车发生碰撞,从而在进行实时测距时也没有必要对所有检测到的目标进行测距,因为测距需要进行计算,减少需测距目标的数量有利于提高测距效率,节约计算资源。基于这样的考虑,在另一些实现方式中,从检测得到的所有目标中筛选出与车辆存在碰撞风险的目标,仅将这些筛选出来的目标作为待测目标,其数量通常远远小于检测到的目标总量。

至于如何筛选出存在碰撞风险的目标,有多种可能的实现方式:例如,可以用某些传统的单目测距方法进行粗略的测距,根据测距结果将距离较近的目标作为待测目标;又例如,可以利用车载雷达进行测距,根据测距结果将距离较近的目标作为待测目标;又例如,可以检测原始图像中的车道线,进而将和本车位于同一车道内的、且没有被其他目标遮挡住的目标作为待测目标(未被遮挡住表示可能与本车直接产生碰撞),等等。

每个待测目标在原始图像中对应一个感兴趣区域(Region of Interest,简称ROI),理想情况下,感兴趣区域应包含对应的待测目标,并且尽量只包含待测目标。

感兴趣区域根据待测目标的检测框确定,在一些实现方式中,可以直接将待测目标的检测框作为其对应的感兴趣区域,此种确定感兴趣区域的方式比较简单直接。但发明人研究发现,某些目标的检测框位置可能预测得不准确,例如,原始图像可能先缩小为一个较小的尺寸再输入目标检测模型,若原始图像中包含一些小尺寸目标,在原始图像缩小后,这些小尺寸目标只对应图像中很少的像素,很难检测得非常准确。因此,可以适当扩大待测目标的检测框尺寸以获得感兴趣区域,此举有利于感兴趣区域中包含完整的待测目标。其具体做法可以为:将待测目标的检测框在原位置按预设比例扩大后形成的区域确定为其在原始图像中对应的感兴趣区域。例如,仿照检测框,感兴趣区域的位置也用四个数值来表示,分别是:

ROI_x:感兴趣区域中心在原始图像中的横坐标

ROI_y:感兴趣区域中心在原始图像中的纵坐标

ROI_w:感兴趣区域宽度

ROI_h:感兴趣区域高度

则有ROI_x=x、ROI_y=y、ROI_w=1.3*w、ROI_h=1.3*h,其中x、y、w、h表示待测目标的检测框位置,1.3为上述预设比例。该预设比例大于1,但也不应取得太大,尽量避免在感兴趣区域中包含待测目标以外的其他目标,例如,可取不超过1.5的值。

感兴趣区域图像定义为原始图像在感兴趣区域内的部分,得到感兴趣区域的位置后,感兴趣区域图像自然也就确定了。

步骤S130:基于感兴趣区域的位置、感兴趣区域图像以及全图特征,利用测距模型获得车辆与待测目标之间的测距结果。

其中,测距模型可以是一个卷积神经网络模型,其具体结构不限,图3会给出一个可能采用的网络结构,具体后文阐述。测距模型以前面步骤中得到的感兴趣区域的位置、感兴趣区域图像以及全图特征三项信息为输入,根据测距模型不同的实现方式,这三项信息输入模型的时机可能有所不同,例如,可以将三项信息融合后一起输入模型,也可以将三项信息从不同的位置先后输入模型(图3采用的方式),等等。测距模型的输出为车辆与待测目标之间的测距结果,该测距结果可能是车辆与待测目标之间的距离,但也可能只是一个中间结果,还需要简单处理后才能得到车辆与待测目标之间的距离,在介绍图3时还会说明这一问题。

对于待测目标有多个的情况,每次将一个待测目标的感兴趣区域的位置、感兴趣区域图像以及全图特征输入测距模型,测距模型输出车辆与该待测目标之间的测距结果,重复此过程多次,可获得所有待测目标的测距结果。由于对每个待测目标都采取类似的处理方式,所以在阐述时主要以一个待测目标的情况为例。

在将上述三项信息输入测距模型之前,也可能对这些信息中的一项或几项进行某些预处理:

例如,对于感兴趣区域图像,可以先将其缩放至预设的尺寸(例如,缩小至模型要求的输入尺寸),然后对缩放结果进行归一化(将像素值的取值范围转换到0和1之间),最后再将归一化后的感兴趣区域图像输入至测距模型。

又例如,对于感兴趣区域的位置,根据上面的阐述,一般可由四个数值代表,可以先将每个数值归一化(将数值的取值范围转换到0和1之间),然后再将归一化后的数值扩展为一张对应的特征图,该特征图中的像素值均取此归一化后的数值(例如,归一化后的数值为0.5,扩展后特征图的尺寸为64*64,则这64*64个像素值均取0.5),这样最终得到四张特征图,然后再将扩展产生的四张特征图输入至测距模型。将数值扩展为特征图的原因在于:卷积神经网络模型处理的对象一般是图像(包括原始图像和特征图)而非单个数值,因此为便于网络统一处理可对单个数值进行转换。

上述预处理方式中的归一化操作有利于模型在训练时更快收敛,同时可以提升模型精度。需要指出,图1中的步骤虽然是模型推断阶段的步骤而不是模型训练阶段的步骤,但在模型训练阶段对训练图像的处理方式和对在模型推断阶段对原始图像的处理方式是类似的,如果在训练阶段执行了上述归一化操作,在推断阶段也应保留该操作。

可以理解的,对输入信息进行预处理的方式不限于上面例子中提到的方式。但为简单起见,在后文进一步介绍步骤S130时不妨假定对感兴趣区域图像和感兴趣区域的位置执行了上面例子中提到的预处理操作,即输入到测距模型中的三项信息为归一化后的感兴趣区域图像、扩展产生的特征图以及全图特征,将这三项信息在测距模型中进行前向传播,模型最终输出测距结果。

在一些实现方式中,步骤S130可以进一步包括以下子步骤:

步骤A:利用测距模型对归一化后的感兴趣区域图像进行特征提取,获得感兴趣区域特征。

步骤B:利用测距模型将感兴趣区域特征、扩展产生的特征图以及全图特征进行融合,获得融合特征。

步骤C:利用测距模型基于融合特征预测车辆与待测目标之间的距离,获得测距结果。

针对A、B、C三个步骤可以将测距模型划分为三个部分,并分别设计相应的网络结构。其中,通过步骤B深度融合三项输入信息,并在步骤C中基于融合信息进行距离预测,有利于提高模型的测距精度,融合的方式包括拼接、求和等等。

例如,在图3中,标记“(3)”处代表感兴趣区域特征,该位置之前的网络用于实现步骤A的功能;标记“(4)”处代表融合特征,该位置之前直到标记“(3)”处的网络用于实现步骤B的功能,该位置之后的网络则用于实现步骤C的功能。

下面将结合图3对步骤A、B、C进行进一步介绍,应当理解,图3仅仅是一种示例,实现步骤A、B、C的功能也可以采用其他的网络结构。图3中的一些英文词汇含义如下:

conv:表示卷积层,后面的数字,例如3*3/1,其中3*3表示卷积核尺寸,1表示卷积步长;

concat:表示拼接结构;

shortcut:表示短接结构;

max pooling:表示最大池化层;

fc:表示全连接层。

针对步骤A,在一些实现方式中,其可以进一步包括以下子步骤:

步骤A1:利用测距模型起始处的至少一个第一卷积单元对归一化后的感兴趣区域图像进行特征提取以及下采样,获得第一中间特征。

其中,第一卷积单元包括一个卷积层以及一个池化层。在图3中,第一卷积单元包括conv3*3和maxpooling两层,当然,在替代方案中,最大池化也可以换成其他池化方式,例如平均池化(average pooling)。由于具有下采样功能的第一卷积单元设置在测距模型的起始处,因此能够快速降低输入图像(即归一化后的感兴趣区域图像)的尺寸以节约后续步骤中的运算量。第一中间特征即图3中标记“(1)”处的特征。

步骤A2:利用测距模型中的多个残差块依次对第一中间特征进行进一步特征提取,并利用最后一个残差块的短接结构将其提取到的特征与剩余残差块中的至少一个残差块提取到的特征进行求和,获得第二中间特征。

关于残差块的定义,在前文介绍图2时已经阐述,此处不再重复。图3中示出了3个残差块,每个残差块均由conv3*3、conv1*1、conv3*3以及shortcut构成。其中,第3个残差块的短接结构将其提取到的特征与第2个残差块的第一个卷积层(conv3*3/2)提取到的特征进行了求和,所获得的第二中间特征即图3中标记“(2)”处的特征。

步骤A3:利用测距模型中的第二卷积单元对第二中间特征进行进一步融合,获得感兴趣区域特征。

其中,第二卷积单元包括两个卷积层。在图3中,第二卷积单元包括conv3*3和conv1*1两层。在步骤A2中,短接结构执行的加法操作虽然也可以视为一种融合操作,但特征的融合程度较浅(类似的,拼接结构所执行的也只是一种浅层次的融合),而通过设置第二卷积单元则可使特征进行深度融合。

总结步骤A2和A3,多个残差块能够提取到不同深度的特征,这些特征的感受野和内容侧重点都有所不同,较浅的特征包含了输入图像中丰富的细节信息,较深的特征中则包含有输入图像中更多的语义信息,从而通过先求和(利用短接结构)再卷积(利用第二卷积模块)的方式融合不同深度的特征,所得到的感兴趣区域特征具有较好的表达能力。

可选的,在步骤A中获得感兴趣区域特征之后,还可以利用测距模型基于感兴趣区域特征重新预测待测目标的类别和/或检测框。在图3中的标记“(3)”处示出了相应的网络分支。下面简单分析一下执行该重预测操作的意义:

虽然在步骤S110中目标检测模型已经检测过目标,其中也包含待测目标,但前文提到,作为一种比较常见的实现方式,原始图像会先缩小为一个较小的尺寸再输入目标检测模型,这导致原始图像中一些目标(特别是小尺寸目标)的尺寸变得很小,相应检测结果的精度降低。而感兴趣区域图像是利用感兴趣区域的位置从原始图像中直接截取出来的,未经过缩放,因此其中目标的尺寸较大,即使感兴趣区域图像在送入测距模型前会进行一定程度的缩放,其中目标的尺寸也不至于变得太小,因此基于感兴趣区域特征(从感兴趣区域图像中提取得到)重新预测一次待测目标的检测框和/或分类,可能会得到比目标检测模型更精确的结果。

针对步骤B,在图3示出的测距网络中设置了两个拼接结构:第一个拼接结构用于拼接扩展产生的特征图,其后跟一个第二卷积模块以加深特征的融合程度;第二个拼接结构则用于拼接全图特征,其后同样跟一个第二卷积模块以加深特征的融合程度。最后再接一个第二卷积模块以提取出融合特征。

针对步骤C,一种比较简单的实现方式是直接基于融合特征预测出一个车辆与待测目标之间的距离,但图3并未采取此种方式,下面具体进行介绍:

在一些实现方式中,步骤B中得到的融合特征包括多个通道,每个通道的特征对应一个预设的距离范围。比如,在图3中,融合特征包括16个通道,通道与距离范围的对应关系为:

通道1:0-10米;

通道2:10-20米;

......

通道16:150-160米

其中,0-160米涵盖了待测目标可能处于的位置,超出此范围的目标由于短时间内和本车无碰撞风险,可暂不对其进行测距。融合特征的通道个数16是预设好的,通过设计相应的网络结构容易满足该要求,例如,在设置网络的超参数时,将标记“(4)”处conv1*1的输出通道数设置为16。

在测距模型中,针对融合特征的每个通道设置一组全连接层(每组包括至少一个全连接层),该组全连接层基于对应通道的融合特征预测车辆与待测目标之间的、位于该通道对应的距离范围内的距离及其置信度。这样,针对每个预设的距离范围都预测出一个距离及其置信度,将其视为测距结果。最后,可将测距结果中置信度最高的距离确定为车辆与待测目标之间的最终距离,即最终要呈现的测距结果。

例如,图3中,针对融合特征的每个通道设置都设置有一组共2个全连接层,共16组全连接层。其中,针对通道1设置的全连接层基于通道1的融合特征预测出0-10米范围内的一个距离及其置信度,在图3中记为“距离1”和“置信度1”;针对通道2设置的全连接层基于通道2的融合特征预测出10-20米范围内的一个距离及其置信度,在图3中记为“距离2”和“置信度2”,以此类推,共预测出16组距离及其置信度。假设其中“距离5”对应的“置信度5”是最高的,则输出的最终距离就是“距离5”。

在上述实现方式中,让不同距离范围内的目标测距任务对应到不同的特征图(即融合特征的一个通道),使得对于每个距离范围内的目标都可以为其训练一组专属的模型参数(例如,conv1*1中提取特征用的参数、全连接层的参数)来进行距离预测,而不是对所有距离范围内的目标都采用同一组参数进行距离预测,从而有利于提高测距精度。

进一步的,发明人研究发现,在上面的实现方式中,直接对距离值进行预测,但由于距离值的波动范围较大,导致预测结果可能不准确。因此,在另一些实现方式中,还可以采取如下替代做法:

针对每个距离范围都设置一个该范围内的基准距离,例如,基准距离可以但不限于设置为距离范围的中值。比如,对于图3中的16个距离范围,基准距离可以分别设置为5米、15米、…、155米。定义了基准距离以后,任一距离范围内的任一距离值都可以用基准距离乘上某个距离系数进行计算,若将中值定义为基准距离,则该距离系数的值必然位于区间[0,2]内,波动很小。

针对融合特征的每个通道设置一组全连接层(每组包括至少一个全连接层),该组全连接层基于对应通道的融合特征预测车辆与待测目标之间的、在该通道对应的距离范围内有效的距离系数及其置信度。这样,针对每个预设的距离范围都预测出一个距离系数及其置信度,可将其视为测距结果。然后,将测距结果中置信度最高的距离系数确定为最终距离系数。最后,计算最终距离系数与其有效的距离范围内的基准距离的乘积,就可以得到车辆与待测目标之间的距离,即最终要呈现的测距结果。

例如,保持图3中的网络结构不变,针对通道1设置的全连接层基于通道1的融合特征预测出在0-10米范围内有效的一个距离系数及其置信度,不妨记为“距离系数1”和“置信度1”;针对通道2设置的全连接层基于通道2的融合特征预测出在10-20米范围内有效的一个距离系数及其置信度,不妨记为记为“距离系数2”和“置信度2”,以此类推,共预测出16组距离系数及其置信度。假设其中“距离系数2”对应的“置信度2”是最高的,则的最终距离系数就是“距离系数2”,假设其取值是1.2。“距离系数2”有效的距离范围是10-20米,该距离范围的基准距离是15米,则可计算得到车辆与待测目标之间的距离为15*1.2=18米。

在上述实现方式中,并不直接预测距离,而是先预测一个距离系数然后再计算距离,通过恰当地设置基准距离,可使得距离系数的波动范围较小(如位于[0,2]之内),距离系数的预测结果会较为准确,从而可以提高测距精度。另外,此举还能够加快模型在训练时的收敛速度。

综上所述,本申请实施例提供的测距方法相较于现有的测距方法,具有如下优势:

其一,该方法是一种单目测距方法,只需利用普通摄像头采集的原始图像即可完成测距,其实施成本较低。

其二,该方法中的测距模型主要基于感兴趣区域图像计算测距结果,而非基于整个原始图像计算测距结果,因此所需运算量较低,可以满足实时应用的需求。并且在一些实现方式中,只需从检测到的目标中筛选出存在碰撞风险的目标进行测距,这些危险目标数量很少,测距效率进一步提高。

需要注意,虽然根据方法步骤S130,计算测距结果也会使用全图特征(通过原始图像提取),但全图特征是在进行目标检测时顺便提取的,而目标检测对于目前的车载系统是必然会执行的操作,无论是否对目标进行测距,因此并不应视为测距方法所引入的计算负担。

其三,在感兴趣区域图像中,主要包含单个的待测目标,而图像中的其他内容包含的比较少,从而在训练样本比较少的情况下就能够达到较高的测距精度。

其四,感兴趣区域的位置、感兴趣区域图像两项信息可以从原理上保证测距模型能够预测出待测目标与车辆的距离,而全图特征中则包含了原始图像中的背景信息,从而测距模型同时使用这三种信息进行测距结果的计算,有利于进一步提高测距精度。

下面再简单介绍本申请的方法所使用的神经网络模型如何进行训练。根据上文内容可知,测距方法主要使用目标检测模型和测距模型两个神经网络模型,这两个模型可以但不限于采用下面的三阶段训练方法:

阶段一:利用训练图像训练初始的目标检测模型,得到初步训练好的目标检测模型。

阶段二:利用训练图像训练初始的测距模型,得到初步训练好的测距模型。在阶段二中,训练测距模型时仅使用训练图像中感兴趣区域的位置以及感兴趣区域图像,但不使用全图特征,所需的感兴趣区域的位置以及感兴趣区域图像,基于阶段一中初步训练好的目标检测模型对训练图像的目标检测结果得到,具体方法可以参考图1中的相关步骤。

阶段三:利用训练图像继续训练阶段一中初步训练好的目标检测模型,以及,阶段二中初步训练好的测距模型(即两个模型一起训练),得到训练好的目标检测模型以及训练好的测距模型(然后,可使用训练好的模型执行图1中的步骤)。在阶段三中,训练测距模型时会使用训练图像中感兴趣区域的位置、感兴趣区域图像以及全图特征三项信息,所需的感兴趣区域的位置以及感兴趣区域图像,基于当前的目标检测模型对训练图像的目标检测结果得到,所需的全图特征,由当前的目标检测模型从训练图像中提取得到,具体方法可以参考图1中的相关步骤。这里之所以说“当前的目标检测模型”,是因为在阶段三中,目标检测模型的参数是不断更新的。

上述三阶段的训练方式有利于加快模型的收敛速度,并提高测距精度。该训练过程有几点需要注意:其一,在计算目标检测模型的损失时(在阶段一和阶段三中),需针对所有目标进行计算,而非仅针对待测目标进行计算;其二,若测距模型中会对待测目标的检测框和/或分类进行重新预测,则计算测距模型的损失时(在阶段二和阶段三中),除了计算距离预测的损失外,也要计算这部分目标检测的损失。其三,在训练过程中的第三阶段,可以适当提高距离预测的损失在总损失中的占比,因为发明人研究发现,距离预测的损失值一般比较小(特别是对于预测距离系数的实现方式),从而提高损失占比有利于改善模型的测距精度。

图4示出了本申请实施例提供的测距装置200的功能模块图。参照图4,测距装置200包括:

目标检测模块210,用于利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征;其中,所述目标检测模型为卷积神经网络模型;

感兴趣区域处理模块220,用于根据待测目标在所述原始图像中对应的感兴趣区域的位置获取感兴趣区域图像;其中,检测得到的目标中包括所述待测目标,所述感兴趣区域根据所述待测目标的检测框确定,所述感兴趣区域图像为所述原始图像在所述感兴趣区域内的部分;

测距模块230,用于基于所述感兴趣区域的位置、所述感兴趣区域图像以及所述全图特征,利用测距模型获得车辆与所述待测目标之间的测距结果;其中,所述测距模型为卷积神经网络模型。

在测距装置200的一种实现方式中,所述装置还包括:

目标筛选模块,用于在目标检测模块210利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征之后,以及在感兴趣区域处理模块220根据待测目标对应的感兴趣区域的位置获取感兴趣区域图像之前,从检测得到的目标中筛选出与所述车辆存在碰撞风险的目标作为所述待测目标。

在测距装置200的一种实现方式中,所述装置还包括:

感兴趣区域确定模块,用于在目标检测模块210利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征之后,以及在感兴趣区域处理模块220根据待测目标对应的感兴趣区域的位置获取感兴趣区域图像之前,将所述待测目标的检测框在原位置按预设比例扩大后形成的区域确定为其在所述原始图像中对应的感兴趣区域。

在测距装置200的一种实现方式中,测距模块230基于所述感兴趣区域的位置、所述感兴趣区域图像以及所述全图特征,利用测距模型获得车辆与所述待测目标之间的测距结果,包括:将代表所述感兴趣区域的位置的数值归一化后扩展为特征图;其中,每个归一化后的数值扩展产生一张对应的特征图,该特征图中的像素值均取此归一化后的数值;将所述感兴趣区域图像缩放至预设的尺寸后进行归一化,得到归一化后的所述感兴趣区域图像;将扩展产生的特征图、归一化后的所述感兴趣区域图像以及所述全图特征输入至所述测距模型进行前向传播,获得所述测距模型输出的所述车辆与所述待测目标之间的所述测距结果。

在测距装置200的一种实现方式中,测距模块230将扩展产生的特征图、归一化后的所述感兴趣区域图像以及所述全图特征输入至所述测距模型进行前向传播,获得所述测距模型输出的所述车辆与所述待测目标之间的所述测距结果,包括:利用所述测距模型对归一化后的所述感兴趣区域图像进行特征提取,获得感兴趣区域特征;利用所述测距模型将所述感兴趣区域特征、所述扩展产生的特征图以及所述全图特征进行融合,获得融合特征;利用所述测距模型基于所述融合特征预测所述车辆与所述待测目标之间的距离,获得所述测距结果。

在测距装置200的一种实现方式中,测距模块230利用所述测距模型对归一化后的所述感兴趣区域图像进行特征提取,获得感兴趣区域特征,包括:利用所述测距模型起始处的至少一个第一卷积单元对归一化后的所述感兴趣区域图像进行特征提取以及下采样,获得第一中间特征;其中,所述第一卷积单元包括一个卷积层以及一个池化层;利用所述测距模型中的多个残差块依次对所述第一中间特征进行进一步特征提取,并利用最后一个残差块的短接结构将其提取到的特征与剩余残差块中的至少一个残差块提取到的特征进行求和,获得第二中间特征;利用所述测距模型中的第二卷积单元对所述第二中间特征进行进一步融合,获得所述感兴趣区域特征;其中,所述第二卷积单元包括两个卷积层。

在测距装置200的一种实现方式中,所述融合特征包括多个通道,每个通道对应一个预设的距离范围,测距模块230利用所述测距模型基于所述融合特征预测所述车辆与所述待测目标之间的距离,获得所述测距结果,包括:利用所述测距模型中针对每个通道设置的至少一个全连接层,基于该通道的融合特征预测所述车辆与所述待测目标之间的、位于该通道对应的距离范围内的距离及其置信度;

测距模块230还用于:在获得所述测距结果之后,将置信度最高的距离确定为所述车辆与所述待测目标之间的最终距离。

在测距装置200的一种实现方式中,所述融合特征包括多个通道,每个通道对应一个距离范围,测距模块230利用所述测距模型基于所述融合特征预测所述车辆与所述待测目标之间的距离,获得所述测距结果,包括:利用所述测距模型中针对每个通道设置的至少一个全连接层,基于该通道的融合特征预测所述车辆与所述待测目标之间的、在该通道对应的距离范围内有效的距离系数及其置信度;

测距模块230还用于:在获得所述测距结果之后,将置信度最高的距离系数确定为最终距离系数;计算所述最终距离系数与其有效的距离范围内的基准距离的乘积,获得所述车辆与所述待测目标之间的距离。

在测距装置200的一种实现方式中,任一距离范围内的基准距离为该距离范围的中值。

在测距装置200的一种实现方式中,测距模块230还用于:在获得感兴趣区域特征之后,利用所述测距模型基于所述感兴趣区域特征重新预测所述待测目标的类别和/或检测框。

在测距装置200的一种实现方式中,所述装置还包括:

训练模块,用于在目标检测模块210利用目标检测模型检测原始图像中的目标并提取所述原始图像的全图特征之前,执行以下步骤以训练所述目标检测模型以及所述测距模型:训练初始的所述目标检测模型,得到初步训练好的所述目标检测模型;训练初始的所述测距模型,得到初步训练好的所述测距模型;其中,训练时仅使用训练图像中感兴趣区域的位置以及感兴趣区域图像,不使用全图特征,所需的感兴趣区域的位置以及感兴趣区域图像,基于初步训练好的所述目标检测模型对训练图像的目标检测结果得到;继续训练初步训练好的所述目标检测模型以及初步训练好的所述测距模型,得到训练好的所述目标检测模型以及训练好的所述测距模型;其中,训练所述测距模型时使用训练图像中感兴趣区域的位置、感兴趣区域图像以及全图特征,所需的感兴趣区域的位置以及感兴趣区域图像,基于当前的所述目标检测模型对训练图像的目标检测结果得到,所需的全图特征,由当前的所述目标检测模型从训练图像中提取得到。

本申请实施例提供的测距装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。

图5示出了本申请实施例提供的电子设备300的一种可能的结构。参照图5,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。

其中,存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。

处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network ProcessingUnit,简称NPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。

通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。

在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的测距方法。

可以理解,图5所示的结构仅为示意,电子设备300还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如车载设备、PC机、笔记本电脑、平板电脑、手机、服务器等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的测距方法。例如,计算机可读存储介质可以实现为图5中电子设备300中的存储器320。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 测距方法、测距装置、电子设备及计算机可读取存储介质
  • 测距方法、智能控制方法及装置、电子设备和存储介质
技术分类

06120112858619