一种基于全局卷积、局部深度卷积融合的目标检测方法与流程

文档序号:21547878发布日期:2020-07-17 18:00阅读:304来源:国知局
一种基于全局卷积、局部深度卷积融合的目标检测方法与流程

本发明涉及计算机视觉领域,具体涉及一种基于全局卷积、局部深度卷积融合的目标检测方法。



背景技术:

物体检测是计算机视觉中的经典问题之一,其任务是用框去标出图像中物体的位置,并给出物体的类别。从传统的人工设计特征加浅层分类器的框架,到基于深度学习的端到端的检测框架,物体检测一步步变得愈加成熟。物体检测对于人眼来说并不困难,但计算机面对的是rgb像素矩阵,很难从图像中直接得到狗和猫这样的抽象概念并定位其位置,再加上物体姿态、光照和复杂背景混杂在一起,使得物体检测更加困难。检测算法里面通常包含三个部分,第一个是检测窗口的选择,第二个是特征的设计,第三个是分类器的设计。

神经网络是一组大致模仿人类大脑构造设计的算法,用于识别模式。神经网络通过机器感知系统解释传感器数据,对原始输入进行标记或聚类。随着深度学习技术的不断完善与发展,基于深度学习的物体检测技术已经在诸多现实领域中具有广泛的应用场景,但在诸如无人驾驶研究领域中,由于该应用中需要系统得到感兴趣目标的3d空间中的位置信息才能更好地实现相应的功能,提高系统的稳定性与安全性。为了提高3d图像检测的准确性,现有的3d图像检测方法依赖于昂贵的激光雷达传感器,其可以提供的稀疏深度数据,以作为输入。单目图像由于缺乏深度信息,相对于激光雷达传感器提供的稀疏深度数据在进行三维检测时要困难得多。

本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:

现有技术中,单目3d检测工作都严重依赖于外部sota子网络,这些子网络分别负责点云生成,语义分割,2d检测,或者深度估计。2d和3d检测目标不能在一个统一的框架内,更谈不上利用2d检测的强大功能来指导和改进3d检测的性能。在这种情况下,用于目标检测的单目三维区域建议网络诞生了,它使2d和3d空间都利用共享的锚点和分类目标,但是用于目标检测的单目三维区域建议网络仍不能很好地提取深层次的特征,从而导致检测效果不佳。

由此可知,现有技术中的方法存在检测效果不佳的技术问题。



技术实现要素:

本发明提出一种基于全局卷积、局部深度卷积融合的目标检测方法,用于解决或者至少部分解决现有技术中的方法存在的检测效果不佳的技术问题。

为了解决上述技术问题,本发明公开了一种基于全局卷积、局部深度卷积融合的目标检测方法,包括:

s1:构建基于全局卷积、局部深度卷积融合的目标检测网络,其中,目标检测网络包括主干网络、全局网络和深度感知卷积区域建议网络,主干网络用于对输入的图片进行特征提取,全局网络用于对主干网络处理后的图片进行全局特征抽取,深度感知卷积区域建议网络用于对主干网络处理后的图片进行局部特征抽取;

s2:设置2d目标的锚点模板、3d目标的锚点模板以及可视化锚点生成方式,采用rpn机制生成预测框,采用非极大值抑制方法删除不符合条件的框;

s3:对剩余的预测框进行调整,生成2d边界框、3d边界框以及在各个类别上的概率;

s4:基于分类损失、2d边界框回归损失和3d边界框回归损失,设置目标检测网络的损失函数;

s5:将3d边界框投影至2d边界框,并根据损失函数对目标检测网络的参数进行优化处理,得到优化后的目标检测网络;

s6:利用优化后的目标检测网络对待检测图片进行检测,得到检测的目标参数。

在一种实施方式中,s1中深度感知卷积区域建议网络对主干网络处理后的图片进行局部特征抽取的方式,包括横向非对称分割深度感知卷积、竖向非对称分割深度感知卷积以及针对多目标分支的卷积,其中,横向非对称分割深度感知卷积采用条带分割方法,竖向非对称分割深度感知卷积采用纵向切割的方法,针对多目标分支的卷积根据检测目标的数量采用不同的分支。

在一种实施方式中,当深度感知卷积区域建议网络的特征提取方式为多目标分支卷积时,采用将已有的大模型学习到的参数模型应用至深度感知卷积区域建议网络的训练,具体包括:

采用带有绝对标签的数据训练大模型,绝对标签为hard目标,表示已知的目标在各个分类上的概率分布,一个目标在所属类别上的概率为1,在其他类别上的概率为0,即非0即1;

利用训练好的大模型来计算相对标签:soft目标,其中,大模型经过温度系数t软化后,再经过softmax的输出为soft目标,soft目标表示已知的目标在各个分类上的概率分布,一个目标在所属类别上的概率大于在其他类别上的概率;

训练小模型,在小模型的基础上再加一个额外与soft目标对应的损失函数,将hard目标和soft目标分别代入小模型训练,得到的第一损失和第二损失,并通过lambda匿名函数来调节第一损失和第二损失的比重,得到训练好的小模型,作为训练好的网络。

在一种实施方式中,s2具体包括:

s2.1:设置2d目标的锚点模板:[w,h]2d、3d目标的锚点模板:[w,h,l,θ]3d,其中,w、h和l分别表示目标检测物体宽度、高度和长度,θ表示相机对目标检测物的观察视角角度;

s2.2:设置可视化锚点生成方式为公式(1):

其中,2d共享空间的中心像素位置为[x,y]p,2d共享空间的参数[w,h]2d与像素坐标[x,y]2d之间的关系为[x,y]2d=p·[w,h]2d,p表示需要将目标物投影的已知投影矩阵,[x,y,z,1]3d表示3d共享空间的参数或者坐标,zp表示预设深度信息,[x,y,z]p表示3d共享空间的中心像素位置,即锚点的位置坐标;

s2.3:根据2d目标的锚点模板、3d目标的锚点模板、可视化锚点生成方式以及预先计算的3d先验信息,采用rpn机制生成预测框;每个锚点的输出包括c,[tx,ty,tw,th]2d,[tx,ty,tz]p,[tw,th,tl,tθ]3d,其中,c表示类别,[tx,ty,tw,th]2d表示2d预测框的参数,[tx,ty,tz]p,[tw,th,tl,tθ]3d表示3d预测框的参数;

s2.4:采用非极大值抑制方法删除不符合条件的框。

在一种实施方式中,s3包括

通过下述公式对2d预测框、3d预测框进行转换,得到生成2d边界框、3d边界框,

其中,xp和yp表示每个框的空间中心位置,为相机坐标系下的参数,表示2d预测框的参数,w2d、h2d表示2d预测框的宽度和高度,x′2d、w′2d、y′2d和h′2d为生成的2d边界框的参数,为相机坐标系下的参数,为3d预测框的参数,zp为深度信息,w3d、h3d、l3d、θ3d为3d预测框的宽度、高度、长度和偏转角,x′p、w′3d、y′p、h′3d、z′p、l′3d和θ′3d为生成的3d边界框的参数。

在一种实施方式中,s4包括:

s4.1:采用基于softmax的多项逻辑损失函数计算分类损失,公式为:

s4.2:引入2d框回归损失用于匹配2d真实框与2d边界框b′2d之间的交并比:

s4.3:对3d框回归损失函数分析,用于将3d边界框中的每项用smoothl1回归损失函数来优化,其公式为:

s4.4:对2d框回归损失函数和3d框回归损失函数进行加权,获得目标检测网络的损失函数:

其中,nc表示类别的数量,ci表示在第i类上的得分,exp为指数函数,cτ表示当前类的得分,公式(4)的分母是表示第i到nc类得分的指数结果之和,分子为当前类得分的指数结果,为2d真实框,b′2d是2d边界框,b3d、分别为3d边界框和3d真实框,l为目标检测网络的损失函数,λ1和λ2分别表示2d框回归损失函数和3d框回归损失函数的正则化权重。

在一种实施方式中,s5包括:

将3d投影至2d框的步骤的公式如下:

其中,φ表示轴[x,y,z]的索引,γ0等式右边的l,h,w为3d边界框b′3d中的l,h,w,θ为偏转角,p为相机坐标系投影矩阵,x,y,z为3d边界框b′3d变换得到的坐标参数,利用3d框投影后的2d框参数[xmin,ymin,xmax,ymax]与2d边界框b′2d计算损失,当θ±σ范围内损失没有更新时,则用衰减因子γ来改变步长σ,当σ>β时反复执行上述操作,直到σ<β。

在一种实施方式中,在步骤s1之后,所述方法还包括:对全局特征和局部特征提取的输出进行加权处理。

在一种实施方式中,采用标度-旋转-平移评分srts指标对2d框回归损失函数和3d框回归损失函数进行优化,将分数ssrt定义为尺度ss、旋转sr和平移st三个独立分数的组成:

sx,sy,sz表示在x,y,z方向的尺寸比例,θ表示不同的偏航角,t两个对象中心之间的欧式距离,pt是处罚函数,st是根据两个对象的大小来计算,两个物体的对角线的长度di被用来计算两个半径ri,i可取1,2,为调整分数,使用ws,wt和wr,用于控制单个分数的严格程度,之前所有的分数都在区间[0,1],用简单的加权平均和惩罚pt合并成最终分数ssrt;

ssrt=pt·(αss+βst+γsr)(14)

其中,α+β+γ=1。

在一种实施方式中,当检测目标包括三类目标时针对多目标分支的卷积根据检测目标的数量采用不同的分支,包括:采用三分支网络结构,其中,检测目标包括汽车car、行人pedestrian和骑自行车的人cyclist,3d框回归损失函中新增在各类目标上的损失函数,如下:

l=lcar+lpedestrian+lcyclist+lcls(15)

其中,lcarlpedestrianlcyclist分别是car在2d、3d回归框上损失,pedestrian在2d、3d回归框上损失以及cyclist三类在2d、3d回归框上损失,lcls为总的分类上的损失,

lcar=λcar1lcar2d+λcar2lcar3d(16)

lpedestrian=λpedestrian1lpedestrian2d+λpedestrian2lpedestrian3d(17)

lcyclist=λcyclist1lcyclist2d+λcyclist2lcyclist3d(18)

其中λi1、λi2,其中i为car、pedestrian、cyclist的定义如下:

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本发明提供的一种基于全局卷积、局部深度卷积融合的目标检测方法,首先构建基于全局卷积、局部深度卷积融合的目标检测网络;接着设置2d目标的锚点模板、3d目标的锚点模板以及可视化锚点生成方式,采用rpn机制生成预测框,采用非极大值抑制方法删除不符合条件的框;接下来对剩余的预测框进行调整,生成2d边界框、3d边界框以及在各个类别上的概率;接着基于分类损失、2d边界框回归损失和3d边界框回归损失,设置目标检测网络的损失函数;再将3d边界框投影至2d边界框,并根据损失函数对目标检测网络的参数进行优化处理,得到优化后的目标检测网络;最后利用优化后的目标检测网络对待检测图片进行检测,得到检测的目标参数。

由于本发明提供的方法构建的目标检测网络包括深度感知卷积区域建议网络,通过全局网络对主干网络处理后的图片进行全局特征抽取,深度感知卷积区域建议网络对主干网络处理后的图片进行局部特征抽取可以更充分地提取特征图中每个层次和深度的特征,基于分类损失、2d边界框回归损失和3d边界框回归损失,设置目标检测网络的损失函数,对网络参数进行优化处理,从而可以提高网络的检测效果。

进一步地,设置了目标对象的2d和3d的锚点模板,结合了成像特性,对新的卷积层进行按照一定比例的横向条带分割,结果更准确,在横向条带分割在基础上延伸至竖向条带分割。

进一步地,当深度感知卷积区域建议网络采用多目标的分支形式进行特征提取时,采用知识蒸馏的方法对本发明的模型进行训练,将结构比较复杂的大模型学习到的参数模型运用在本发明的小模型中,从而减少在实验训练过程中消耗的时间和设备资源,同时达到不损失信息的效果。

进一步地,本发明采用新的计算损失的方法--srts算法,对2d框回归损失函数和3d框回归损失函数进行优化,使得3d目标检测方面更精准。

进一步地,修改网络损失函数,针对三类目标分别计算这三类在2d、3d框上的损失再结合分类损失再求和,利用损失函数更好的调整网络参数。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于全局卷积、局部深度卷积融合的目标检测方法的实现流程示意图;

图2为本发明实施例中densenet的网络架构图;

图3为本发明实施例中全局网络和深度感知卷积区域建议网络的结构示意图;

图4为本发明实施例中第一种局部特征提取示意图;

图5为本发明实施例中第二种局部特征提取示意图;

图6为本发明实施例中三类目标分支网络示意图

图7为本发明实施例中知识蒸馏模型示意图;

图8为本发明实施例中锚点模板的参数定义示意图。

具体实施方式

本发明的目的在于提供一种基于全局卷积、局部深度卷积融合的目标检测方法,从而更充分地提取特征图中每个层次和深度的特征,基于分类损失、2d边界框回归损失和3d边界框回归损失,设置目标检测网络的损失函数,对网络参数进行优化处理,从而可以提高网络的检测效果。

在本发明提供的技术方案中,改变了原来的三维区域建议网络,提出了一种基于非对称分割深度感知的asd网络结构(深度感知卷积区域建议网络)用于目标检测。通过这种方式,可以更充分地提取特征图中每个层次和深度的特征。此外,本发明还引入了水平和垂直卷积融合网络以及蒸馏网络、角度优化算法等创新技术,进一步提高了检测效果。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本实施例提供了一种基于全局卷积、局部深度卷积融合的目标检测方法,请参见图1,该方法包括:

s1:构建基于全局卷积、局部深度卷积融合的目标检测网络,其中,目标检测网络包括主干网络、全局网络和深度感知卷积区域建议网络,主干网络用于对输入的图片进行特征提取,全局网络用于对主干网络处理后的图片进行全局特征抽取,深度感知卷积区域建议网络用于对主干网络处理后的图片进行局部特征抽取。

具体来说,在自主驾驶汽车视觉感知系统中3d目标视觉分析起着重要的作用。利用激光雷达和图像数据的三维空间中的物体检测来实现在道路场景中对物体进行高度精确的目标定位和识别。

在具体的实施过程中,输入图片的可以为分辨率为110*32的图像。本发明3d目标检测方法的主干网络是建立在densenet-121基础上进行的,其densenet的网络架构具体可参见图2,densenet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。可以看到,在densenet中,每个层都会与前面所有层在channel维度上连接(concat)在一起(这里各个层的特征图大小是相同的,后面会有说明),并作为下一层的输入。对于一个l层的网络,densenet共包含个l*(l+1)/2连接,是一种密集连接。而且densenet是直接concat来自不同层的特征图,这可以实现特征重用,提升效率。

本发明中用densenet(拥有较深层数的卷积神经网络)作为基础特征提取器,然后将该特征图分别送入两个分支,一个是全局特征抽取,一个是局部特征抽取,最后将两个分支的特征按照一定的权重进行结合。

s3:设置2d目标的锚点模板、3d目标的锚点模板以及可视化锚点生成方式,采用rpn机制生成预测框,采用非极大值抑制方法删除不符合条件的框。

具体来说,为了同时预测2d框和3d框,需要在各自维度空间定义锚点模板,锚点模板就是定义一个2d/3d框应该是怎样的,应该具备哪些参数。需要说明的是,此处的2d框为3d目标对象所观察到的最大长与宽。

rpn的全称是regionproposalnetwork,“区域选取”,也就是“提取候选框或者预测框”的意思,所以rpn就是用来提取预测框的网络,通过rpn机制提候选框,还不用判断类别,所以只要求区分是不是物体就行,那么就有两个分数,前景(物体)的分数和背景的分数。计算出的分数后续用于计算损失函数,并不断回归更新权重参数。

s4:对剩余的预测框进行调整,生成2d边界框、3d边界框以及在各个类别上的概率。

具体来说,为进一步提高框的准确性,可以采用iou机制和坐标转换公式进一步生成2d边界框、3d边界框以及目标在各个类别上的概率。

s5:基于分类损失、2d边界框回归损失和3d边界框回归损失,设置目标检测网络的损失函数。

s6:将3d边界框投影至2d边界框,并根据损失函数对目标检测网络的参数进行优化处理,得到优化后的目标检测网络。

s7:利用优化后的目标检测网络对待检测图片进行检测,得到检测的目标参数。

以深度感知卷积区域建议网络为例,首先进行局部特征提取得到特征图,最终输出的是13个参数。先有特征图,才能在其上面生成预测框,然后转换为边界框,进而得到一系列参数。

在一种实施方式中,s1中深度感知卷积区域建议网络对主干网络处理后的图片进行局部特征抽取的方式,包括横向非对称分割深度感知卷积、竖向非对称分割深度感知卷积以及针对多目标分支的卷积,其中,横向非对称分割深度感知卷积采用条带分割方法,竖向非对称分割深度感知卷积采用纵向切割的方法,针对多目标分支的卷积根据检测目标的数量采用不同的分支。

具体地,建立深度感知卷积区域建议网络,以提高区域建议网络中高阶特征空间感知的能力。全局网络和深度感知卷积区域建议网络(局部深度网络)如图3所示。

引入超参数b,其中b表示行级别的bin数量,用于表示将特征图沿横向分为b个,每个bin表示特定的卷积核k。

其中全局网络,采用常规的3x3和1x1卷积作用于整张特征图;而局部深度网络,采用不同的3x3核作用于不同的bin,这个bin见图3中横条,沿纵向将其划分了b个bin。

在具体的实施过程中,对于全局特征提取,本实施例采用常规的卷积,其卷积核在整个空间作用,即为全局卷积;其在卷积过程中引入全局特征fglobal,该全局特征fglobal中引入了一个padding(填充空隙)数量为1,且为3*3的卷积核,然后接着有relu函数(rectifiedlinearunit,线性整流函数)非线性激活,以生成512个特征图。然后在每个特征图f上连出13个输出(由前面可知,其13个输出分别为:c,θ,[tx,ty,tw,th]2d,[tx,ty,tz]p,[tw,th,tl,tθ]3d),且每个特征图再连接一个1*1的卷积核oglobal。

对于局部特征提取,本实施例采用深度感知卷积(depth-awareconvolution),即为局部卷积。其在卷积过程中引入全局特征flocal,该全局特征flocal中引入了一个padding(填充空隙)数量为1,且为3*3的卷积核,然后接着有relu函数非线性激活,以生成512个特征图。然后在每个特征图f上连出13个输出(由前面、可知,其13个输出分别为:c,θ,[tx,ty,tw,th]2d,[tx,ty,tz]p,[tw,th,tl,tθ]3d),且每个特征图再连接一个1*1的卷积核olocal。

需要说明的是,对于局部特征提取这部分,具体的示例中采用了三种特征提取方法,具体请参见图4,为第一种特征提取方式,横向非对称分割深度感知卷积。

由于本发明的数据集是基于车辆上单目摄像头的具有深度的图片,所以图像中的目标对象会随地平线远近变化。这就类似于人眼看世界,看的越远的时候,所能覆盖的范围就窄,看的近的时候,则覆盖的范围就广一些。因此,对于地平线往上的目标,对象分辨率较小;对于地平线往下的目标,对象分辨率较大。将此基于对图像进行条带分割以达到不同分辨率目标采取不同卷积算子的想法,提取局部特征时,沿着纵向按不均匀但遵循一定规律分布的规则划分b个纵向的横条,以此,在卷积过程中,随地平线远近均匀变化设置相应的卷积算子,这样增加了更有针对性的提取大小目标,从而提高了识别率。

除此之外,为了更准确的识别3d目标图像,在仿照上述横向条带分割的基础上,本技术方案还提供了一种纵向分割的方法,竖向非对称分割深度感知卷积,具体划分方法参见图5。由于采用的纵向切割的方法,同时获得分辨率大和分辨率小的特征目标。使得信息更加完备,特征提取更加完全。

具体来说,由于网络结构基于kitti数据集,主要检测对象包括以下三类car、pedestrian、cyclist。在上述改进的基础上,本技术方案又提出了一种针对这三类目标分别进行检测的网络结构。网络流程图6所示。

在一种实施方式中,当深度感知卷积区域建议网络的特征提取方式为多目标分支卷积时,采用将已有的大模型学习到的参数模型应用至深度感知卷积区域建议网络的训练,具体包括:

采用带有绝对标签的数据训练大模型,绝对标签为hard目标,表示已知的目标在各个分类上的概率分布,一个目标在所属类别上的概率为1,在其他类别上的概率为0,即非0即1;

利用训练好的大模型来计算相对标签:soft目标,其中,大模型经过温度系数t软化后,再经过softmax的输出为soft目标,soft目标表示已知的目标在各个分类上的概率分布,一个目标在所属类别上的概率大于在其他类别上的概率;

训练小模型,在小模型的基础上再加一个额外与soft目标对应的损失函数,将hard目标和soft目标分别代入小模型训练,得到的第一损失和第二损失,并通过lambda匿名函数来调节第一损失和第二损失的比重,得到训练好的小模型,作为训练好的网络。

在具体的实施过程中,在考虑到上述网络结构最优化的情况下,为了对各类目标进行更好的分类检测,设计了该三分支的网络,不可避免的,该网络模型十分庞大,在实验训练过程中,也将消耗更多的时间和设备资源。因此,在现有基础上,本方案进一步提出了一个创新点:“知识蒸馏”机制。将结构比较复杂的大模型学习到的参数模型运用在我们的小模型中,且同时达到不损失信息的效果。

其中,已有的模型为大模型:也称作教师模型,模型结构更加复杂;小模型:也称作学生模型,模型结构更加简单。举例来说,可以采用含三层卷积层的教师模型提取特征学习得到的参数,来训练只有一层卷积层的学生模型。

hardtarget作为真实标签,在各类上表现为非0即1,太绝对化,因此训练好的大模型来计算softtarget,由于hardtarget包含的信息量(信息熵)很低,而类似于[0.6,0.2,0.1,0.1]的soft目标包含的信息量大,所以知识蒸馏机制致力于将hardtarget转化成softtarget。softtarget也就是大模型经过温度系数t软化后,再经过softmax的output输出。预测时,直接建立在已经训练好的小模型上,训练好的小模型即为训练好的网络(网络结构优化后的全局网络+深度感知区域建议网络)。

在一种实施方式中,s2具体包括:

s2.1:设置2d目标的锚点模板:[w,h]2d、3d目标的锚点模板:[w,h,l,θ]3d,其中,w、h和l分别表示目标检测物体宽度、高度和长度,θ表示相机对目标检测物的观察视角角度;

s2.2:设置可视化锚点生成方式为公式(1):

其中,2d共享空间的中心像素位置为[x,y]p,2d共享空间的参数[w,h]2d与像素坐标[x,y]2d之间的关系为[x,y]2d=p·[w,h]2d,p表示需要将目标物投影的已知投影矩阵,[x,y,z,1]3d表示3d共享空间的参数或者坐标,zp表示预设深度信息,[x,y,z]p表示3d共享空间的中心像素位置,即锚点的位置坐标;

s2.3:根据2d目标的锚点模板、3d目标的锚点模板、可视化锚点生成方式以及预先计算的3d先验信息,采用rpn机制生成预测框;每个锚点的输出包括c,[tx,ty,tw,th]2d,[tx,ty,tz]p,[tw,th,tl,tθ]3d,其中,c表示类别,[tx,ty,tw,th]2d表示2d预测框的参数,[tx,ty,tz]p,[tw,th,tl,tθ]3d表示3d预测框的参数;

s2.4:采用非极大值抑制方法删除不符合条件的框。

具体来说,为了同时预测2d框和3d框,需要在各自维度空间定义锚点模板,需要说明的是,此处的2d框为3d目标对象所观察到的最大长与宽。具体的,以汽车为例,参见图8,其2d目标锚点和3d目标的锚点模板的具体公式分别为[w,h]2d和[w,h,l,θ]3d,其中w、h和l分别标书目标检测物体宽度、高度和长度,且其w、h和l为检测相机坐标系中给定值;另外,鉴于3d目标物不同于2d目标物,其具有旋转性,故其θ表示相机对目标检测物的观察视角角度,相当于相机绕着其相机坐标系的y轴旋转,观察视角角度考虑的是物体相对于相机视角的相对方位,而不是地面的鸟瞰图(bev),此处引入θ在处理3d图像特征时,直观地估计视角更有意义。

如图8所示,为锚点模板的示意图。其中,为定义一个完整目标物的2d/3d框的位置,引入一个预设深度信息参数zp,并指定共享的中心像素位置[x,y]p,其中2d表示的参数按照像素坐标表示,为[x,y]2d=p·[w,h]2d。我们还可以利用已知的投影矩阵将摄像机坐标系中的三维中心位置投影到平面图像上,并对深度信息参数zp进行编码,为公式(1)的形式,可视化锚点生成公式也称为二维、三维中心位置坐标点转换公式,利用投影矩阵p,可以得到左边的深度信息zp,进而得到[x,y,z]p.也就是锚点坐标。根据定义目标物体的锚点模板,可视化锚点生成公式和预先计算的3d先验生成预测框。

在一种实施方式中,s3包括

通过下述公式对2d预测框、3d预测框进行转换,得到生成2d边界框、3d边界框,

其中,xp和yp表示每个框的空间中心位置,为相机坐标系下的参数,表示2d预测框的参数,w2d、h2d表示2d预测框的宽度和高度,x′2d、w′2d、y′2d和h′2d为生成的2d边界框的参数,为相机坐标系下的参数,为3d预测框的参数,zp为深度信息,w3d、h3d、l3d、θ3d为3d预测框的宽度、高度、长度和偏转角,x′p、w′3d、y′p、h′3d、z′p、l′3d和θ′3d为生成的3d边界框的参数。

具体来说,每个像素点,设置每个像素的锚点数量为na,类别个数为nc,h*w是特征图的分辨率。因此,输出预测框总数为nbox=w×h×na,每个锚点分布在每个像素位置中[x,y]p∈rw×h,第一个输出c表示维度为na×nc×h×w的共享分类预测,其中每个类的输出维度为na×h×w。

进一步的,[tx,ty,tw,th]2d表示2d边界框转换,具体的,其中边界框变换公式为公式(2),其中xp和yp表示每个框的空间中心位置,变换后的2d边界框b′2d定义为[x,y,w,h]′2d,。将上述锚点的7个输出:投影中心[tx,ty,tz」p,尺度[tw,th,tl]3d,以及方向,统称为b3d,经公式(3)变换后为b′3d。类似于2d,转换应用于带参数[w,h]2d,zp,[w,h,l,θ]3d的锚点:

同理,b′3d表示[x,y,z]′p和[w,h,l,θ]′3d。如前所述,奔赴买哪个估计投影的3d中心而不是相机坐标,以更好地处理基于图像空间的卷积特征。在推理过程中,利用公式(1)的逆变换,由得到的在图像空间中投影后的3d中心位置[x,y,z]′p来计算其相机坐标[x,y,z]′3d。

根据生成的预测框,检查是否存在预测框与gt(groundtruth,地面真实情况)的交并比(iou)是否≥0.5。

若不存在,则将目标物的类别设置为背景类,并忽略(或删除)其边界框;

若存在,则根据生成的预测框的最佳匹配gt来定义一个目标的类别索引τ,真实2d框和真实3d框为了与b′3d匹配,还使用式(1)来转换以获得投影坐标。

在一种实施方式中,s4包括:

s4.1:采用基于softmax的多项逻辑损失函数计算分类损失,公式为:

s4.2:引入2d框回归损失用于匹配2d真实框与2d边界框b′2d之间的交并比:

s4.3:对3d框回归损失函数分析,用于将3d边界框中的每项用smoothl1回归损失函数来优化,其公式为:

s4.4:对2d框回归损失函数和3d框回归损失函数进行加权,获得目标检测网络的损失函数:

其中,nc表示类别的数量,ci表示在第i类上的得分,exp为指数函数,cτ表示当前类的得分,公式(4)的分母是表示第i到nc类得分的指数结果之和,分子为当前类得分的指数结果,为2d真实框,b′2d是2d边界框,b3d、分别为3d边界框和3d真实框,l为目标检测网络的损失函数,λ1和λ2分别表示2d框回归损失函数和3d框回归损失函数的正则化权重。

具体来说,分析目标物的网络损失函数,具体包括分类损失分析、2d回归框损失函数分析和3d框回归损失函数分析。

在一种实施方式中,采用标度-旋转-平移评分srts指标对2d框回归损失函数和3d框回归损失函数进行优化,将分数ssrt定义为尺度ss、旋转sr和平移st三个独立分数的组成:

sx,sy,sz表示在x,y,z方向的尺寸比例,θ表示不同的偏航角,t两个对象中心之间的欧式距离,pt是处罚函数,st是根据两个对象的大小来计算,两个物体的对角线的长度di被用来计算两个半径ri,i可取1,2,为调整分数,使用ws,wt和wr,用于控制单个分数的严格程度,之前所有的分数都在区间[0,1],用简单的加权平均和惩罚pt合并成最终分数ssrt;

ssrt=pt·(αss+βst+γsr)(14)

其中,α+β+γ=1。

具体来说,本实施例的技术方案针对iou进行了如下改进:

在网络训练过程中,采用的损失函数在一定程度上也会影响网络模型的性能针对以往的iou损失,本技术方案提出了一种第四个创新点:新的计算损失的方法--srts算法,用来取代传统的iou算法。在训练过程中,如果使用iou来比较检测和地面真实。那么在比较旋转的边框时,它有以下一些缺点:

如果两个bbox(汽车的bbox均为矩形)比较具有相同的大小和位置,这两个bbox之间的角度差别是π,那么iou则为1,意味着它们完全匹配。显然不是这样的,因为两个方框之间的角度有最大的差异。因此,在训练一个网络时,预测这样的bbox并不会受到惩罚,甚至会受到鼓励。这将导致对对象定向的错误预测。此外,计算一个准确的iou旋转bbox在三维空间是一个耗时的任务。

为了克服这两个问题,本发明引入了一个新的高度参数化的简单评估指标,称为标度-旋转-平移评分(srts)。ssrt是基于这样一个事实,即给定两个具有相同形状的任意3d对象,其中一个可以使用转换成另一个。因此,我们可以将分数ssrt定义为尺度ss、旋转sr和平移st三个独立分数的组成。ssrt与三个子任务(旋转、位置、大小)完美地结合在一起,这是一个网络为了预测具有偏航角度的3dbbox所必须做的。它被设计成可以参数化来近似iou,但要考虑对象的方向。使用所有的参数可以调整分数以适应问题的需要。

在一种实施方式中,当检测目标包括三类目标时针对多目标分支的卷积根据检测目标的数量采用不同的分支,包括:采用三分支网络结构,其中,检测目标包括汽车car、行人pedestrian和骑自行车的人cyclist,3d框回归损失函中新增在各类目标上的损失函数,如下:

l=lcar+lpedestrian+lcyclist+lcls(15)

其中,lcarlpedestrianlcyclist分别是car在2d、3d回归框上损失,pedestrian在2d、3d回归框上损失以及cyclist三类在2d、3d回归框上损失,lcls为总的分类上的损失,

lcar=λcar1lcar2d+λcar2lcar3d(16)

lpedestrian=λpedestrian1lpedestrian2d+λpedestrian2lpedestrian3d(17)

lcyclist=λcyclist1lcyclist2d+λcyclist2lcyclist3d(18)

其中λi1、λi2,其中i为car、pedestrian、cyclist的定义如下:

具体来说,在提到的三分支网络结构的基础上,本技术方案针对损失函数这部分也做了改进:由原来的损失函数表达式(7),新增了在各类目标上的损失函数,如下公式(16)

其中,lcarlpedestrianlcyclist分别是car、pedestrian、cyclist三类在2d、3d框上损失,lcls为总的分类上的损失。

由前文三分支网络结构图可以知道,对car、pedestrian、cyclist三类创建独立的单个网络分支,将数据通路由原来的global与local两条更新为global与local_car、local_pedestrian、local_cyclist共计四条通路。其中每条local与global组合负责一种对象的识别与画框(这也意味着我们需要3个α值,每一个α值对应一个对象)。每条local通路中的条带分布都不相同,每条通路只追求对一种对象的识别最优化,最后将3条路径结果整合之后再输出。有效做到针对三类目标,分别寻求最合适的网络结构进行检测识别并输出有效结果。

在一种实施方式中,s5包括:

将3d投影至2d框的步骤的公式如下:

其中,φ表示轴[x,y,z]的索引,γ0等式右边的l,h,w为3d边界框b′3d中的l,h,w,θ为偏转角,p为相机坐标系投影矩阵,x,y,z为3d边界框b′3d变换得到的坐标参数,利用3d框投影后的2d框参数[xmin,ymin,xmax,ymax]与2d边界框b′2d计算损失,当θ±σ范围内损失没有更新时,则用衰减因子γ来改变步长σ,当σ>β时反复执行上述操作,直到σ<β。

具体来说,将2d和3d的边界框b′2d,[x,y,z]′p和[w,h,l,θ]′3d,以及步长σ,程序while循环终止参数β,衰减系数γ(用来更新σ的)这些参数作为θ优化算法的输入。算法的迭代步骤是通过将3d框的投影和2d的估计框b′2d作为l1loss,并不断调整θ。且将3d投影至2d框的步骤的如公式(8)所示。

在一种实施方式中,在步骤s1之后,所述方法还包括:对全局特征和局部特征提取的输出进行加权处理。

具体来说,对全局特征和局部特征提取的输出oglobali、olocali进行加权处理。此处引入一个加权数αi(该αi为学习到的),该参数利用了卷积神经网络的空间不变性的优点,以此作为第1到第13的输出的索引,其具体的输出函数如下:

oi=oglobali·αi+olocali·(1-αi)

(22)

将13个参数输出,此13个参数分别为:c,θ,[tx,ty,tw,th]2d,[tx,ty,tz]p,[tw,th,tl,tθ]3d。

总体来说,本申请的技术方案的关键点包括以下几个方面:

1、同时构造了目标对象的2d和3d的锚点模板,结合了成像特性,对新的卷积层进行按照一定比例的横向条带分割,结果更准确。

2、在1的基础上延伸至竖向条带分割。

3、针对三类目标分别搭建不同的针对性网络,改造出更全面的网络结构。

4、优化网络模型,利用训练好的大模型的输出权重模型去训练网络结构更加简洁的小模型。

5、采用srts算法,取代原始的iou算法,在针对3d目标检测方面更精准

6、修改网络损失函数,针对三类目标分别计算这三类在2d、3d框上的损失再结合分类损失再求和,利用损失函数更好的调整网络参数。

与最接近的现有技术相比,本申请的技术方案具有如下优点或者有益技术效果:

在现有的技术方案中,对于提取特征方面,深度卷积网络只能横向均匀的切割,没有考虑到图像中目标物体会随着相机采像视角的变化而分辨率不同,因此按照一定比例的横向条带分割,使得分类结果更加准确。

其次,新加入的竖向卷积(竖向非对称分割深度感知卷积)使得特征提取的更加丰富。

再者,从根本性的,针对三类目标直接涉及三条网络通道,更具有针对性和准确性。

除此以外,利用大模型训练小模型,不能降低小模型的网络复杂度,同时也能使得网络在迭代过程和模型训练更加迅速和集中。

当然,本方案提出摒弃以往的iou算子,而是通过srts算法,这是因为srts算法可以考虑到3d图像中目标转向等多方面,使得信息更加丰富,同时解决了2d中无法解决的偏转角问题。

最后,在十分重要的损失函数上,考虑到三种目标的各自损失,并进行损失融合,使得学习率参数更加精确。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1