1.一种基于场景复杂度预分类的自适应目标检测方法,其特征在于,该方法具体包括如下步骤:
步骤S1:获取场景复杂度数据集,所述场景复杂度数据集中每一个场景复杂度数据包括一张交通场景图像及其对应的场景复杂度分类结果;
步骤S2:构建复杂度预分类CNN网络模型,所述复杂度预分类CNN网络模型包含两个卷积层和一个分类器,采用步骤S1获取的所述场景复杂度数据集训练所述复杂度预分类CNN网络模型,得到训练好的复杂度预分类CNN网络模型;将待分类的交通场景图像序列中的交通场景图像按帧依次输入所述训练好的复杂度预分类CNN网络模型,所述训练好的复杂度预分类CNN网络模型输出每一帧交通场景图像分别为简单、中等复杂和复杂三个场景复杂度类型的分类预测概率,选择三个分类预测概率最大者对应的复杂度类型为该帧交通场景图像的场景复杂度分类预测结果;
步骤S3:构建规模可变目标检测网络模型,所述规模可变目标检测网络模型包含一个用于特征下采样的主干特征提取网络Backbone&SPP,一个用于各阶段特征图融合的Neck模块,以及最后用于目标预测的Head模块,其中Neck模块由可叠加的三层PAN网络构成,当叠加三层PAN网络时实现复杂图像识别、叠加两层PAN网络时实现中等复杂图像识别、叠加一层PAN网络时实现简单图像识别;
步骤S4:综合步骤S2所述复杂度预分类CNN网络模型与步骤S3所述规模可变目标检测网络模型构成基于场景复杂度预分类的自适应目标检测模型,具体的构成方式是根据所述训练好的复杂度预分类CNN网络模型输出的场景复杂度分类预测结果,实现对规模可变目标检测网络模型的PAN网络叠加个数进行控制,从而形成整体上能够根据交通场景图像的不同场景复杂度类型进行自适应调整的目标检测模型,由于简单场景以及中等复杂场景采用相比复杂场景更小的网络进行运算,推理速度相比复杂场景网络更快且性能不变,从而提高了规模可变目标检测网络模型在使用时的运行速度;最终基于场景复杂度预分类的自适应目标检测模型输出每一帧交通场景图像中目标检测框的位置坐标及目标物体标签类别,其中目标物体标签类别包括汽车、货车、卡车、行人、坐着的人、骑行者、电车、杂项以及可忽略目标;
其中,所述规模可变目标检测网络模型的实现基于分类结果,待分类的交通场景图像序列中的任意一帧交通场景图像通过训练好的复杂度预分类CNN网络模型后,得到该帧交通场景图像分别为简单S、中等复杂M和复杂H三种场景复杂度类别的概率,P(Img=Di′)=F(Img),Di′∈{S,M,H} (11)
其中,Di′代表场景复杂度类别,i′=1,2,3,D1为S、D2为M、D3为H;P(Img=Di′)表示交通场景图像Img的场景复杂度类别概率;F(*)代表所述训练好的复杂度预分类CNN网络模型执行的操作,输出一帧交通场景图像分别为简单、中等复杂和复杂三种场景复杂度类别概率,其中最高场景复杂度类别概率对应的场景复杂度类别为该帧交通场景图像的场景复杂度分类预测结果;
在得到待分类的交通场景图像序列中任意一帧交通场景图像的最高场景复杂度类别
概率后,需要根据所述待分类的交通场景图像序列中下一帧交通场景图像的最高场景复杂度类别概率以及累计误差来确定是否改变规模可变目标检测网络模型结构;下一帧交通场景图像的场景复杂度类别概率采用全概率公式表示,具体为:其中,P(Imgt+1=Di′|Imgt=Di′), 通过实际路测样本得到,
表示Di′的补集;Imgt表示待分类的交通场景图像序列中第t帧交通场景图像,Imgt+1表示第t+1帧交通场景图像;
得到下一帧交通场景图像的场景复杂度类别概率后,按照马尔科夫链的规则,得到未来K′帧的难度估计,在得到难度估计后,累计误差LDT定义为:其中, 表示当前第t帧交通场景图像计算的最高场景复杂度类别概率对应的场
景复杂度与所述训练好的复杂度预分类CNN网络模型预测的场景复杂度是否符合的情况,不符合的情况表示为1,符合的情况则表示为0;et作为预设系数用以表明在当前时间点t往前K′个时间点的时间段内,离当前时间点t越近的时间点的判断更为重要,如果在这个时间段内,LDT大于预设常数值C,则说明这个时间段内的交通场景图像场景复杂度类别发生了改变,即可改变规模可变目标检测网络模型的结构。
2.根据权利要求1所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述场景复杂度数据集的制作方法包括:步骤S11:获取KITTI数据集,该KITTI数据集包含交通场景图像以及图像中目标物体标注信息,其中,所述目标物体标注信息包括目标检测框的位置坐标、目标物体遮挡程度标注值、目标物体截断程度标注值;
步骤S12:确定KITTI数据集中交通场景图像的目标物体识别难易度规则:容易识别的目标物体定义为其检测框最小边框高度大于或等于40个像素点,目标物体完全没有遮挡,最大截断比例小于15%;识别难度为中等难度的目标物体定义为其检测框最小边框高度大于或等于25个像素点,目标物体部分遮挡,最大截断比例小于30%;识别困难的目标物体定义为其检测框最小边框高度大于或等于25个像素点,目标物体严重遮挡,最大截断比例小于50%;采用标注值0表示目标物体完全没有遮挡、1表示目标物体部分遮挡、2和3表示目标物体严重遮挡;
步骤S13:根据步骤S12确定的目标物体识别难易度规则计算KITTI数据集中每一张交通场景图像的四个场景复杂度特征:图像中包括的容易识别的目标物体数量、识别难度为中等难度的目标物体数量、识别困难的目标物体数量及图像中这三类目标物体的总数;
步骤S14:引入YOLOv4目标检测模型分别对KITTI数据集中的每一张交通场景图像进行识别,并统计每一张交通场景图像中识别漏检的目标物体数量作为附加场景复杂度特征;
步骤S15:根据步骤S13和步骤S14获得所述KITTI数据集中每张交通场景图像的五个场景复杂度特征,分别为:容易识别的目标物体数量、识别难度为中等难度的目标物体数量、识别困难的目标物体数量、图像中上述三类目标物体的总数及YOLOv4在交通场景图像中出现漏检的目标物体数量;
步骤S16:将所述KITTI数据集中任意一张交通场景图像的五个场景复杂度特征作为该张交通场景图像的场景复杂度分类的特征样本,输入谱聚类算法进行场景复杂度分类,对所述KITTI数据集中的所有交通场景图像均进行场景复杂度分类,场景复杂度分类类型分为简单、中等复杂和复杂;
步骤S17:通过谱聚类算法输出所述KITTI数据集中每一张交通场景图像的场景复杂度分类结果,将任意一张交通场景图像的场景复杂度分类结果与其对应的交通场景图像结合形成一个场景复杂度数据,所有交通场景图像的场景复杂度分类结果与其对应的交通场景图像一起构成场景复杂度数据集。
3.根据权利要求2所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述谱聚类算法具体为:通过将KITTI数据集中的每一张交通场景图像的场景复杂度分类的特征样本数据归一化,得到用于谱聚类算法聚类使用的输入数据,即归一化数据集,所述归一化数据集中每张交通场景图像对应五个维度特征数据,包括:归一化后的容易识别的目标物体数量,归一化后的识别难度为中等难度的目标物体数量,归一化后的识别困难的目标物体数量,归一化后的交通场景图像中目标物体的总数,归一化后的YOLOv4在交通场景图像中漏检物体的个数,将任意一张交通场景图像归一化后的场景复杂度分类的特征样本称为一个特征样本点;
场景复杂度分类包括特征图构建和特征图切分两部分,对于特征图构建,首先度量两个特征样本点之间的距离,这里采用高斯相似度s(i,j)作为距离衡量,表示为:2
其中xi,yj表示空间上的任意两个特征样本点,||xi‑yj||表示特征样本点xi,yj之间的欧氏距离,σ是表示高斯距离中的方差,任意两个特征样本点之间距离的集合表示为相似度矩阵W,该矩阵W中元素的计算表示为:其中,W(i,j)表示相似度矩阵W中第i行第j列的元素,其值为第i个特征样本点与第j个特征样本点之间的高斯距离;
同时通过计算所述相似度矩阵W的每一列非零元素之和作为单位对称矩阵对角线值获得度矩阵D,度矩阵D为每一个特征样本点所连其他特征样本点的个数,度矩阵D中元素值的计算如公式(3)所示,度矩阵D中仅有对角线上的值大于或等于零,其中ωi,j为W第j列的非零元素和,并进一步计算得到拉普拉斯矩阵L:其中D(i,j)表示度矩阵D中第i行第j列的元素;
L=D‑W (4)
由于相似度矩阵W与度矩阵D均为对称阵,拉普拉斯矩阵L也为对称阵,且半正定;
特征图切分的目的是找到权重最小的边,这里的权重最小代表两个特征样本点之间的距离最远,把图切开,并使得切开后的子图尽量平衡,即子图间连边的权重小,而子图内部的连边权重大,切分后的子图的集合为:{A1,A2,…,Ak},子图间满足A1∪A2∪…∪Ak=V,的性质,其中V表示整图,k表示切分后的子图总数、Ak表示第k个子图,定义切图cut为:
这里 为Ai′的补集, 表示Ai′与其补集 的权重和,因此问题转化为求
cut(A1,A2,L,Ak)的最小值,表示为公式(6):
min(cut(A1,A2,L,Ak)) (6)
而公式(6)的最优化问题,采用Ncut方法,表示为公式(7):
其中,vol(Ai′)表示Ai′中所有边的权重和,1/vol(Ai′)用来代替表示Ai′的指示向量hi′,将min(cut(A1,A2,L,Ak))问题转化为min(Ncut(A1,A2,L,Ak))问题,min(Ncut(A1,A2,L,Ak))转化为公式(8):T
arg(minHTr(HLH))
T
s.t.HDH=I (8)
T T
其中,arg(minHTr(H LH))表示使式子Tr(HLH)达到最小值时H的取值,I表示单位矩阵,H={h1,h2,...,hi′,...,hk},hi′={hi′1,hi′2,...,hi′j′,...,hi′n},k表示子图总数,n表示所述KITTI数据集中特征样本点的个数,公式(8)中的L与D分别表示拉普拉斯矩阵和度矩阵,T TTr(HLH)表示HLH的迹,而
其中vj′表示所述KITTI数据集中第j′个特征样本点的特征向量,Ai′表示第i′个子图;
‑1/2
再进一步,令H=D F,F为待求的特征矩阵,则公式(8)可以简化为:
‑1/2 ‑1/2
对于公式(10),求出D LD 前k个最小的特征值及其对应的特征向量,并将这k个特
征向量标准化后得到特征矩阵F,F代表了所述KITTI数据集中所有特征样本点的特征信息,再采用K‑means聚类即可得到所述KITTI数据集中每一张交通场景图像的场景复杂度分类结果。
4.根据权利要求3所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述规模可变目标检测网络模型的训练通过采用所述KITTI数据集进行训练得到,训练所需的输入为道路交通图像,输出则为目标检测框及其位置坐标以及对应的目标物体标签类别,经过迭代训练后得到收敛后的模型参数文件。
5.根据权利要求4所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述主干特征提取网络Backbone&SPP中的主干神经网络Backbone采用SHNet网络(Saliency‑aware Hybrid Network),其功能用于对交通场景图像进行复合卷积操作,通过卷积获得交通场景图像的特征图像;所述主干特征提取网络Backbone&SPP中的SPP网络主要由三个不同的平行池化操作组成,其功能在于将Backbone输出的特征图像进行特征加强;Backbone&SPP的组合共同构成了卷积网络的纵向主特征提取模块,交通场景图像在纵向主特征提取模块中经过卷积层处理的层数越深,得到的图像特征越抽象。
6.根据权利要求5所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述Neck模块为动态结构部分,整体上包括三层PAN网络,每一层PAN网络的输入为主干神经网络Backbone以及SPP网络输出的三种不同深度的卷积输出特征图像,且包含两次上采样与两次下采样,上采样是对当前特征图像进行通道缩小使得分辨率增加,下采样是对当前特征图像进行通道扩张使得分辨率减少,在这个过程中融合不同抽象程度的特征图像,PAN网络叠加越多,得到的图像的特征信息越多,从而能够识别更加复杂的图像,因此,根据所述训练好的复杂度预分类CNN网络模型的不同场景复杂度分类预测结果控制PAN网络上下采样层规模叠加实现对交通场景图像的不同识别深度,从而得到交通场景图像的融合特征图。
7.根据权利要求6所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述Head模块用于接收PAN网络的融合特征图,并由此进行目标检测框回归以及目标物体标签类别的判定。
8.根据权利要求7所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述σ=0.9。
9.根据权利要求8所述的基于场景复杂度预分类的自适应目标检测方法,其特征在于,所述K′=30。