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

用于对象检测的方法、设备和计算机可读存储介质

文献发布时间:2023-06-19 18:29:06


用于对象检测的方法、设备和计算机可读存储介质

技术领域

本公开一般地涉及自动驾驶技术领域,特别地涉及用于对象检测的方法、相应设备和相应计算机可读存储介质。

背景技术

自动驾驶中需要对对象进行检测。其中,基于深度学习的目标检测中的三维特征检测,需要用到激光雷达等传感器提供的点云数据样本进行训练,成本很高。两种或多种传感器采集数据时需要进行时间同步,获得的特征还要进行特征融合,时间上的不同步不仅可能导致车辆做出危险动作,而且在设计和实施上存在诸多困难,特征融合时也很容易存在不同传感器误差带来的误检和漏检等潜在问题,带来诸多不便。

发明内容

根据本公开的示例实施例,提供了一种用于对象检测的方案。

在本公开的第一方面中,提供了一种用于训练对象检测模型的方法。该方法包括:响应于接收到针对对象的将要用于训练所述对象检测模型的二维图像集,从所述二维图像集中选取待训练样本图像;在所述待训练样本图像中确定第一类型特征和一组关键点,其中所述第一类型特征和所述一组关键点与所述对象在所述待训练样本图像中的轮廓相关联;基于所述一组关键点,获取针对所述待训练样本图像的第二类型特征,所述第二类型特征至少部分地用于表示所述对象的三维信息;以及至少基于所述第一类型特征和所述第二类型特征,训练所述对象检测模型,以用于检测待检测图像中与所述对象有关的目标信息。

在一些实施例中,在所述待训练样本图像中确定第一类型特征和一组关键点可以包括:确定针对所述对象的最小包络框的多个折点;确认所述对象在透视状态下的至少一个边界点;以及将至少一个所述边界点和多个所述折点至少部分地确认为所述一组关键点中的关键点。

在一些实施例中,在所述待训练样本图像中确定第一类型特征和一组关键点可以包括:确定包围所述轮廓的最小外接框,所述最小外接框包括规则框和局部不规则框中的至少一者;以及基于所述最小外接框,确定所述第一类型特征。

在一些实施例中,所述方法还可以包括:构建基于特征金字塔的网络结构,所述网络结构被去预设锚框化;以及在所述网络结构中构建多任务损失函数,以得到所述对象检测模型,其中所述多任务损失函数包括目标分类损失函数、目标回归损失函数以及关键点回归损失函数中的一者或多者。

在一些实施例中,至少基于所述第一类型特征和所述第二类型特征,训练所述对象检测模型可以包括:将所述第一类型特征和所述第二类型特征利用特征融合网络进行特征融合,所述特征融合网络被增广路径以保留目标特征信息,其中所述目标特征信息包括所述特征融合网络的浅层特征信息;和/或响应于接收到针对对象的将要用于训练所述对象检测模型的二维图像集,从所述二维图像集中选取待训练样本图像可以包括:清洗所述二维图像集以得到一组关键帧图像,所述一组关键帧图像中的不同图像的参数差异大于预定阈值;以及选取所述一组关键帧图像中的一个或多个图像作为所述待训练样本图像。

在本公开的第二方面中,提供了一种用于对象检测的方法。该包括:获取待检测图像,所述待检测图像中包括对象;以及利用对象检测模型,确定与所述对象有关的目标信息,所述对象检测模型根据本公开第一方面的方法被训练。

在本公开的第三方面中,提供了一种电子设备。该设备包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:响应于接收到针对对象的将要用于训练所述对象检测模型的二维图像集,从所述二维图像集中选取待训练样本图像;在所述待训练样本图像中确定第一类型特征和一组关键点,其中所述第一类型特征和所述一组关键点与所述对象在所述待训练样本图像中的轮廓相关联;基于所述一组关键点,获取针对所述待训练样本图像的第二类型特征,所述第二类型特征至少部分地用于表示所述对象的三维信息;以及至少基于所述第一类型特征和所述第二类型特征,训练所述对象检测模型,以用于检测待检测图像中与所述对象有关的目标信息。

在本公开的第四方面中,提供了一种电子设备。该电子设备包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:获取待检测图像,所述待检测图像中包括对象;以及利用根据本公开第一方面的方法被训练的对象检测模型,确定与所述对象有关的目标信息。

在本公开的第五方面中,提供了一种计算机可读存储介质。该介质上存储有计算机程序,所述程序被处理器执行时实现根据本公开第一方面的方法。

在本公开的第六方面中,提供了一种计算机可读存储介质。该介质上存储有计算机程序,所述程序被处理器执行时实现本公开第二方面的方法。

在本公开的第七方面中,提供了一种计算机程序产品。该产品包括计算机程序/指令,计算机程序/指令被处理器执行时实现根据本公开第一方面的方法。

在本公开的第八方面中,提供了一种计算机程序产品。该产品包括计算机程序/指令,计算机程序/指令被处理器执行时实现根据本公开第二方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。附图用于更好地理解本方案,不构成对本公开的限定,其中:

图1示出了根据本公开的一些实施例的模型训练系统的示意性框图;

图2示出了根据本公开的实施例的训练对象检测模型的示例方法的流程图;

图3示出了示出了根据本公开的一些实施例的用于训练对象检测模型的货车对象关键点标注的示意图;

图4示出了根据本公开的一些实施例的对象检测模型的深度学习网络的示意图;

图5示出了根据本公开的一些实施例的对象检测模型的特征预测模块示意图;

图6示出了根据本公开的一些实施例的对象检测系统的示意性框图;

图7示出了根据本公开的一些实施例的示例对象检测方法的流程图;以及

图8示出了能够实施本公开的多个实施例的计算设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

在本公开的实施例中,术语“模型”能够处理输入并且提供相应输出。以神经网络模型为例,其通常包括输入层、输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的模型(也称为“深度学习模型”)通常包括许多隐藏层,从而延长网络的深度。神经网络模型的各个层按顺序相连以使得前一层的输出被用作后一层的输入,其中输入层接收神经网络模型的输入,而输出层的输出作为神经网络模型的最终输出。神经网络模型的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。在本文中,术语“神经网络”、“模型”、“网络”和“神经网络模型”可互换使用。在本文中,“标注”和“标记”也可互换使用。

如以上提及的,机器学习方法(例如深度学习技术)已用于自动驾驶的对象检测。机器学习方法需要对机器学习模型进行训练。在训练机器学习的对象检测模型时,需要使用训练数据集,这种训练数据集需要采集视频图像数据,对数据进行合适的标注,最终应用于训练网络。经训练的模型取决于训练数据集(例如经标注的图像的二维和三维信息等)、训练过程(例如迭代次数等)以及模型类型(例如神经网络结构等)。

检测三维特征的深度学习模型需要用到激光雷达等传感器提供的点云数据样本进行训练,这样的传感器硬件成本很高。两种传感器采集数据时需要进行时间同步,获得的特征还要进行特征融合。在自动驾驶中,当涉及两种以上的传感器时,传感器的精确的数据采集时间是极其重要的,因为这些数据是感知和决策规划的输入。如果输入数据的时间不同步,可以引起决策规划出错误的动作,导致车辆做出危险的动作,而实际上要做到严格的时间同步是比较困难的,需要对硬件和软件都进行针对性的设计才可以实现。

当两种以上的传感器对同一场景进行对象检测时,从传感器数据中提取出的特征,需要进行匹配,以判断所提取的特征是否属于同一对象,这一过程中,还需要考虑到不同传感器的误差带来的误检、漏检问题。另外,目前采用的网络结构在需要人工设计锚框并且预先存储锚框,当锚框不适配时需要计算锚框与边界框的交并比来实现,这样所需的计算量较大,且计算效率低下,应用场景受限。

为此,本公开提出一种用于对象检测的方案,对采集到的图像数据进行清洗和标注,获得可用于深度学习模型训练的数据样本。该方案采用了对二维数据信息和三维数据信息联合标注的方法,并且网络结构能够不预设锚框,通过改变网络连接,大幅度提升了小物体的检测性能。而且,特征融合网络增广路径,能够较好地保留容易在多层传递中受到损失的浅层特征信息等目标特征信息。不仅如此,该方案采用了优化的关键点选取策略,关键点选取简洁高效,且能够准确地反馈出对象的三维特征信息。

下文将结合附图来更详细讨论本公开的实施例。

参考图1,其示出了根据本公开的一些实施例的模型训练系统100的示意性框图。如图1所示,模型训练系统100(也简称为系统100)可以包括计算设备130,计算设备130对已捕获二维图像集110进行处理,以生成与图像中的对象有关的数据,并且将这些数据作为训练集输入到对象检测模型150进行训练。

如前所提及的,对象检测模型150可以是能够处理输入并且提供相应输出的任何合适的模型。对象可以是图像中采集到的车辆,车辆可以是任何机动车辆或非机动车辆,例如可以是轿车、卡车、摩托车、公共汽车、电气汽车、警车、消防车、或其他执行特种作业设备的车辆等。

在一些实施例中,已捕获二维图像集110可以通过设置在对象(车辆)上的图像传感器而获得,该图像传感器可以是能够捕获二维图像的传感器或摄像头。图像传感器例如可以设置在车辆前、车后挡风玻璃、车侧面等位置,只要能够采集到清晰的道路上车辆二维图像即可。通常来说,图像传感器或摄像头会采集到连续的图像,从而生成已捕获二维图像集110。应当理解,当采集到的图像为连续帧图像时,已捕获二维图像集110包括大量的相似场景及特征类似的二维图像。

在一个实施例中,参照图1,计算设备130可以可选地对已捕获二维图像集110利用图像清洗装置130-1进行清洗或者选择,去除质量不好或不符合要求的“脏”数据。例如,图像清洗装置130-1能够去除已捕获二维图像集110中大量相似场景及特征类似的图像数据,只保留关键帧。这是因为,对于深度学习模型训练来说,相似的图片训练没有意义,模型无法学到更多信息,而图片直接差异较大的关键帧则更有助于帮助对象检测模型150进行深度学习。

在一个实施例中,参照图1,计算设备130可以利用图像标注装置130-2对已捕获二维图像集110中的图像中的对象直接进行标注,或者也可以对经过图像清洗装置130-1清洗过的待标注图像(又可以称为“待训练样本图像”)中的对象进行标注,以生成针对对象的二维特征和三维特征,并且将这些特征输入对象检测模型150进行训练。在一些实施例中,二维特征可以是图像中的对象的最小外接矩形框或其他外接边界框,三维特征可以是对象透视图下各个面的关键点,二维特征和三维特征的具体表达形式可以是标注工具后的例如坐标值的真值结果,并且可以被保存为特定的形式,例如txt、json等文本格式或其他任意合适的格式。

需要说明,图像清洗装置130-1以及图像标注装置130-2可以不必是单独的装置或模块,也就是说,计算设备130作为整体可以独立完成图像清洗装置130-1以及图像标注装置130-2的操作,不需单独设置图像清洗装置130-1以及图像标注装置130-2。另外,图像清洗装置130-1是可选的,可以不用经过清洗或选择直接对已捕获二维图像集110进行处理。此外,图像清洗装置130-1还可以独立于计算设备130单独设置。

在一个实施例中,已捕获二维图像集110可以通过单独的图像装置(未示出)提供给计算设备130。在另一实施例中,已捕获二维图像集110还可以由计算设备130直接采集,或者采用任意合适的方式被提供给计算设备130,本公开对此不做限制。

在一些实施例中,计算设备130可以是服务器或任何个人计算机,或能够进行有线数据通信或无线数据通信的任何其他处理器使能设备,或是以上的任意组合。计算设备130还可以是包括不能进行有线数据通信或无线数据通信的设备的其他计算设备、系统和/或体系结构,本公开对此不做限制。

上述多个装置可以分别实现在不同的物理设备中。备选地,上述多个装置中的至少一部分装置可以被实现在同一物理设备中。例如,当设置有单独的二维图像提供装置时,其可以与计算设备130被实现在同一物理设备中,而对象检测模型150可以被单独实现在另一物理设备中,本公开对此不做限制。

图2示出了根据本公开的实施例的训练对象检测模型150的示例方法200的流程图。方法200可以被实现在图1所示的系统100中。因此,下面将结合图1描述方法200的流程。

在框201,响应于接收到针对对象的将要用于训练对象检测模型的二维图像集,从二维图像集中选取待训练样本图像。将要用于训练对象检测模型的二维图像集可以是如图1所示的已捕获二维图像集110,计算设备130接收到已捕获二维图像集110之后,可以从二维图像中选取待训练样本图像。一般地,待训练样本图像可以作为单张图像用于对象检测模型150的训练。

在一些实施例中,计算设备130可以选取已捕获二维图像集110中所有的二维图像进行后续处理,也可以优选地利用图像清洗装置130-1对已捕获二维图像集110进行数据清洗,获得至少一个待训练二维图像,该操作可以在图1所示的图像清洗装置130-1中实现。

在一些实施例中,可以清洗二维图像集以得到一组关键帧图像,一组关键帧图像中的不同图像的参数差异大于预定阈值,并且选取一组关键帧图像中的一个或多个图像作为待训练样本图像。

在一个实施例中,具体地,可以使用感知哈希算法对已捕获二维图像集110进行数据清洗或选择。感知哈希算法可以首先生成每张图像的“指纹”字符串,并且比较不同图像的指纹信息之间的汉明距离,来判断图像的相似性,结果越接近图像越相似。对于结果相近的图像,则可以选择性去除,不用于后续的模型学习。

在一些实施例中,感知哈希算法包括可以均值哈希、感知哈希和差异值哈希。在一个实施例中,当采用感知哈希时,可以将图片缩小为32*32大小,随后做灰度化处理,例如,可以采用该式Gray=R*0.299+G*0.587+B*0.114来实现灰度化处理,其中RGB分别是彩色图片的三通道数值,Gray是转为灰度图之后的灰度值。应当理解,也可以采用其他颜色参数(如YUV等)来进行计算,本公开对此不作限制。

随后,可以计算离散余弦变换矩阵用于将数据或图像的压缩,这样就能够将空域的信号转换到频域上,从而实现去相关性的性能。离散余弦变换矩阵从左上角到右下角代表越来越高频率的系数,但是除左上角外,其他地方的系数为0或接近0,因此,在一个实施例中,可以只保留左上角的低频区域,取左上角8*8的矩阵。进一步地,可以采用如下等式来实现去相关化:

其中N和M为矩阵的行数和列数,f(i,j)为图像在i行j列的像素值,系数c(u)=c(v)目的为了能使离散余弦变换变换成正交矩阵,F(u,v)=离散余弦变换结果。这样一来,可以通过如下等式来计算图片的指纹信息:

F=AfA

其中,等式(3)中的f为等式(1)中f(i,j)的简写,A是变换矩阵的简写,A

由此计算得到离散余弦变换矩阵的均值,将每个离散余弦变换值与平均值进行比较,大于或等于平均值可以记为1,小于平均值可以记为0,由此组合64个bit位生成二进制数组,即为图片的指纹信息。

在一些实施例中,可以利用上述计算的指纹信息计算汉明距离,汉明距离表示两个(相同长度)字对应位不同的数量,汉明距离越大图片越不相似。可以对两个字符串进行异或运算,并统计结果为1的个数,就得到相应数字的汉明距离,例如1011101与1001001之间的汉明距离是2,又例如2143896与2233796之间的汉明距离是3。这样一来,设置合适的阈值之后,就能够排除大量相似场景及特征类似的图像数据。

需要说明,上述数据清洗或选择的方式仅仅是限制性的,不构成对本公开的限制。

在框203,在待训练样本图像中确定第一类型特征和一组关键点,其中第一类型特征和一组关键点与对象在待训练样本图像中的轮廓相关联。框203的操作可以在如图1所示的计算设备130中、具体地可以在图像标注装置130-2中实现。

第一类型特征例如可以图像中的对象的二维特征,二维特征通常是指在图像坐标系下的特征。在一些实施例中,可以确定包围对象的轮廓的最小外接框,并且基于该最小外接框,确定所述第一类型特征。最小外接框可以包括规则框和局部不规则框中的至少一者。在另一实施例中,除了最小外接矩形框以外,在语义分割中,还会使用一些离散点连线包围的不规则区域来表达对象所在的像素区域,这样最小外接框则变为了局部不规则框。在其他的实施例中,最小外接框还可以是完全不规则框或者其他非矩形规则框。

在一个实施例中,可以使用标注工具来得到二维特征的真值结果,并且将真值结果以txt、json等文本格式或者其他合适的格式导出,这些真值数据用户对象检测模型150的训练。在一个实施例中,标注工具可以是labelimg或其他任意额合适的标注工具。标注的方式例如可以是利用机器进行自动标注,也可以对原图进行手动标注。这样一来,图像中的对象的二维特征被表达出来。

为了提供图1所示的对象检测模型150所需的训练数据集,还需要提取图像的三维信息,即在世界坐标系下的对象特征。由于输入的是二维图像,因此需要基于二维图像提取到得到训练数据集所需的三维特征信息。在本公开的实施例中,三维特征信息可以通过确认在二维图像中的关键点并且基于关键点得到对象的三维特征真值获得。

在一个示例实施例中,具体地,可以在图像坐标下根据一点透视投影关系使用一组关键点(二维坐标)来表达对象的三维特征。在这种绘图方法中,场景中的水平线和竖直线在图像中仍然是水平线和竖直线,而离开观看者较远的线,将会有个倾角指向“消失点”。在一个实施例中,通常使用车道线在视线最远处的交点作为标注中参考的消失点。

在一个实施例中,为了得到一组关键点,可以确定针对对象的最小包络框的多个折点,随后确认对象在透视状态下的至少一个边界点,并且将至少一个边界点和折点至少部分地确认为一组关键点中的关键点。在一些实施例中,最小包络框可以是包围对象的最小边界框,其可以是规则框,也可以是不规则框。下文将结合图3介绍货车类型对象的关键点的示例性确认方法。

图3示出了根据本公开的一些实施例的用于训练对象检测模型150的货车对象关键点标注的示意图。如图3所示,P0、P2、P3、P4、P6和P7所包围的是车辆特征的最小包络框,P0、P1、P5和P4包围的是车辆透视图下车头的位置框,P3、P7、P6、P2是表达的车尾关键点。因此,可以选择P0至P7共计8个关键点作为表达对象三维特征的关键点。具体地,可以通过如下规则来进行这一组关键点的选取:

车侧身框下边线,取车侧面前后轮与地面相接点的连线,如P0-P3连线;

车辆最左侧和最右侧竖线,是车身和背景的分界线,垂直于地面,与图像边缘平行,如P0-P4连线、P2-P6连线;

车辆的中间竖线是车侧身与车头(或车尾)的分界线,如P3-P7连线;

车头(或车尾)框底边线需与车头(或车尾)的两轮接地点连线或保险杠或车牌平行,如P3-P2连线;

如果车头(或车尾)上边缘是规则的形状,那么直接与上边缘平行;如果车头(或车尾)上边缘是弧形,则与最高处切线平行,如P6-P7连线;

车侧身框上边线与车侧身上边缘平行,如果侧身上边缘是弧形,则与最高处切线平行,如P4-P7连线。

由此,可以得到表达对象三维特征的一组关键点。

在框205,基于一组关键点,获取针对待训练样本图像的第二类型特征,第二类型特征至少部分地用于表示对象的三维信息。

在一个实施例中,与表达二维图像特征类似,可以使用标注工具来得到三维特征的真值结果,并且将真值结果以txt、json等文本格式或者其他合适的格式导出,这些真值数据用户对象检测模型150的训练。在一个实施例中,标注工具可以是labelimg或其他任意合适的标注工具。标注的方式例如可以是利用机器进行自动标注,也可以对原图进行手动标注。这样一来,图像中对象的三维特征被表达出来。

在框207,至少基于第一类型特征和第二类型特征,训练对象检测模型,以用于检测待检测图像中与对象有关的目标信息。其中,可以将第一类型特征(对象的二维特征)和第二类型特征(对象的三维特征)作为模型的输入,来训练对象检测模型150。

在一些实施例中,为了得到检测效率高、检测结果精确的对象检测模型150,并且考虑到二维图像特征标注时对锚框的设置要求更高,对象检测模型150可以采用去预设锚框化的网络结构。

常规的预测对象的网络结构(如anchor-based网络)是指对每个预测对象的边界框,预先设计一组不同尺寸、大小的锚框,在网络训练时对对象的边界框回归是基于这些锚框中与真值的边界框的交并比(IoU)最大者来实现的。由于本公开的各个实施例需要在二维图像中对对象的三维特征和二维特征同时标注,因此这种方式需要预设较多不同尺寸和大小的锚框才能实现对象的精准预测,计算量很大,并且有可能造成结果不准确。

为此,本公开的实施例的网络结构可以构建基于特征金字塔的网络结构,该网络结构被去预设锚框化,并且在网络结构中构建多任务损失函数,以得到对象检测模型,其中多任务损失函数包括目标分类损失函数、目标回归损失函数以及关键点回归损失函数中的一者或多者。

为了实现高效便捷地标注各种尺寸大小的边界框的目的,在一个实施例中,可以采用Anchor-free网络结构。该网络结果不预设预先定义的锚框,而是可以基于边界框中心点和边界框角点两种路线自动地生成合适大小的锚框,用于对对象的精准预测。因此,在一个实施例中,可以首先构建基于特征金字塔的Anchor-free网络结构,随后可以构建多任务损失函数,多任务损失函数包括目标分类损失函数、目标回归损失函数以及关键点回归损失函数。

特征图金字塔网络主要解决的是对象检测中的多尺度问题,在基本不增加原有模型计算量的情况下,通过网络连接改变,大幅度提升了小物体的检测性能。在一个实施例中,可以利用卷积神经网络将图像重新定义大小,生成不同大小的图像金字塔,随后在图像金字塔上进行特征提取得到的特征金字塔。

多任务损失函数是用来估量模型的预测值f(x)与真实值Y的不一致程度,多任务损失函数是非负实值函数,通常使用L(Y,f(x))来表示,损失函数越小,模型的鲁棒性就越好。由于模型的学习过程中需要确认图像的二维和三维信息,也就是说需要进行多任务学习,因此,在一个实施例中,可以设置多个损失函数L1,L2,…,Ln,一般情况下损失函数有大量的共享参数、少量的独立参数,需要让每个损失函数都尽可能地小。为此,可以引入权重α1,α2,…,αn≥0,通过加权求和的方式转化为如下损失函数的单任务学习:

进一步,对于目标分类损失函数,可以通过减少易分类样本的权重,从而使得模型在训练时更专注于难分类的样本:

其中α是平衡因子,用来平衡正负样本本身的比例不均,γ称作聚焦参数,γ>=0,p是对某个对象类别的预测概率,y=1是指对对象的类别预测正确的情况,otherwise是指预测失败的情况。

目标回归损失函数用于反映两个对象边界框重合的程度。进一步,对于目标回归损失函数,可以用两个方框相交的面积/两个方框合并的面积,将得到的值取以e为底对数,添上负号就得到了目标回归损失函数。

关键点回归损失函数是预测值和真实值之间的绝对差之和。关键点回归损失函数例如可以通过如下等式来计算:

其中:MAE为平均绝对误差,对于n个待预测对象,y

相比于传统网络结构,本公开的各个实施例所采用的被去预定锚框化的能够去掉人工设计锚框的过程,对不同形状的对象检测更加友好,同时大大减小模型的计算量,达到了精度与效率的平衡。

需要说明,上述的去预定锚框化的网络是示例性的,还可以采用其他合适的去预定锚框化的网络结构,本公开对此不作限制。

图4示出了根据本公开的一些实施例的对象检测模型150的深度学习网络的示意图。

在一个实施例中,参考图4,基干Backbone、颈部Neck和探测头Detect Head组成了如前文所述的深度学习网络,也就是说,在接收到待训练样本图像的二维特征信息和三维特征信息后,该深度学习网络被训练。当该深度学习网络被训练而用于对象的检测时,基干Backbone可以对图像进行特征提取,在特征提取过程中,可以对图像不断进行降采样,使得图像尺寸变小,特征维度逐渐加深。

在一个实施例中,基干Backbone可以采用Resnet来提取参数。Resnet为残差网络,该系列网络可以用于对象分类等领域以及作为计算机视觉任务主干经典神经网络的一部分。在一个实施例中,可以例如采用网络层数共有50层的Resnet50网络结构。这样的网络可以高效并且准确地提取所需的目标特征信息,减小模型的计算量,提升提取精度。

在一些实施例中,颈部Neck可以对基干Backbone中提取的特征进行融合。这是因为,对象检测需要同时完成分类和回归(对象位置,也就是边界框的坐标)任务,其中类别属于语义特征,需要用到网络的深层特征,而对象的坐标属于浅层特征,需要用到浅层网络的输出,因此需要对提取到的特征进行融合。为了较好地保留浅层特征信息等目标特征信息,可以将特征融合网络增广路径。

在一个实施例中,可以采用增广路径特征金字塔网络(即PAFPN)。在这样的实施例中,图像特征从浅层逐渐变深层特征,深层特征多是语义特征,浅层特征多是边缘形状等特征。在本公开的各个实施例中,对边缘形状是否准确高效地提取决定了是否能够给模型提供正确的训练数据,因此浅层特征至关重要。

在传统FPN网络上,特定层想要获得浅层特征,要经过几十甚至一百多个网络层,经过这么多层的传递,浅层特征信息会损失较多。而根据本公开的增广路径特征金字塔网络在原有基础上增加若干特殊路径层,专门用于浅层特征路径,这样浅层特征只需要经过这若干特殊路径层的降采样就可以实现,从而能较好地保留浅层特征信息。

在一个实施例中,探测头Detect head对颈部Neck中融合输出的特征进行预测,预测的内容包括对象的类别、二维边界框坐标以及三维关键点坐标等,这些信息属于与对象有关的目标信息,用于后续的车辆自动驾驶中对象的识别和决策。

图5示出了根据本公开的一些实施例的对象检测模型150的特征预测模块示意图。

在一个实施例中,对象检测模型150训练中需要基干Backbone首先对待训练样本图像进行特征提取,其次需要颈部Neck对提取到的特征进行融合,随后用于训练探测头Detect head。经过训练的探测头Detect head可以看到有3个不同尺度的特征,用于最终的预测,图5所示出的是3个不同尺度的特征的每个尺度特征都要做的操作。在一个实施例中,具体的,每个特征都有上、下两个平行的处理分支,上面的分支对颈部Neck的输出分别经过3x3卷积和1x1卷积之后,可以得到对象的类别特征,对象的类别例如可以包括汽车、公交车、货车、救护车等车辆类别;下面的分支对颈部Neck的输出分别经过3x3卷积和1x1卷积之后,可以得到对象的二维边界框特征和三维关键点特征。在一个示例性实施例中,二维边界框的坐标例如可以是:bbox{“x1”:669.8,“y1”:418.2,“x2”:684.5,“y2”:431.0,}其中(x1,y1)是矩形框的左上角点,(x2,y2)是矩形框的右下角点。在一个示例性实施例中,关键点标注可以是:

3D[

{“point_id”:0,“x”:128.1,“y”:418.2,},

{“point_id”:1,“x”:669.8,“y”:248.5,},

{“point_id”:2,“x”:456.7,“y”:328.3,},

...]

以上所提及的数据在模型训练阶段可以作为模型训练数据集,来对模型进行训练。在对象检测模型150训练完成后,可以利用训练检测模型150对待检测图像进行检测,从而实现对对象的类型、二维特征和三维特征的识别和预测。

图6示出了根据本公开的一些实施例的对象检测系统600的示意性框图。如图6所示,对象检测系统600可以包括对象检测装置630,对象检测装置630对待检测图像610进行检测,以生成检测结果650。对象检测装置630可以包括对象检测模型635,对象检测装置630经由对象检测模型635对待检测图像610进行检测,对象检测模型635例如可以是如图1所示的对象检测模型150。应当理解,对象检测装置630还可以包括或部署有除对象检测模型635之外的其他模型。

如图6所示,对象检测模型635可以接收待检测图像610,待检测图像610可以是与图1所示的已捕获二维图像集110相同方式获得的图像或者其他任意合适方式获得的图像。在所示示例中,待检测图像610可以包括与图像中的对象有关类型、二维特征或三维特征等。在一些实施例中,待检测图像610可以是小汽车、卡车、货车或其他类型车辆的二维图像。

在这样的实施例中,待检测图像610可以可选地被清洗、标注,标注过程可以同时标注图像中对象的二维特征信息和三维特征信息,进而生成检测结果650。检测结果650例如可以包括对象的类型、二维特征和三维特征等,具体地可以包括对象的类型、二维坐标真值和三维坐标真值等。

需要说明,对象检测模型635可以集成在对象检测装置630之中,也可以是单独的装置,本公开对此不做限制。

图7示出了根据本公开的一些实施例的示例对象检测方法700的流程图。

在框701,获取待检测图像,待检测图像中包括对象。在一些实施例中,待检测图像可以是如图6所示的待检测图像610,对象例如可以是轿车、卡车、摩托车、公共汽车、电气汽车、警车、消防车、或其他执行特种作业设备的车辆等。

在框703,利用经训练的对象检测模型,确定与对象有关的目标信息。对象检测模型可以采用根据本公开的任意实施例进行训练,例如可以是如图1所示的对象检测模型150或如图6所示的对象检测模型635。

图8示出了能够实施本公开的多个实施例的计算设备800的框图。例如,如图1所示的系统100中的一个或多个装置或由图6所示的系统600中的装置可以由设备800来实施。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元806加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元806,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元801执行上文所描述的各个方法和处理,例如方法200和700中的任一个。例如,在一些实施例中,方法200和700中的任一个可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元806。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200和700中的任一个的一个或多个步骤。备选地,在其他实施例中,CPU 801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200和700中的任一个。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种用于校正显示设备的灰阶显示曲线的方法、电子设备及计算机可读存储介质
  • 对象搜索方法、装置、电子设备及计算机可读存储介质
  • 用于基于利用机器学习模型的输出的视觉证据而检测视频信号中的对象的设备、方法和计算机可读存储介质
  • 对象检测方法、装置、计算机可读存储介质和计算机设备
技术分类

06120115586952