1.一种基于对抗蒸馏和实时目标检测的智能车辆压线检测方法,其特征在于,包括如下步骤:步骤1:对预先获取的包含车辆不规范的压线行为的数据集D1进行预处理,得到初始数据集D2;
步骤2:在进行预处理过的初始数据集D2上训练SSD检测模型作为教师模型;
步骤3:将特征金字塔引入到SSD检测模型中,将高层的特征图信息与低层的特征图信息进行融合,得到改进的SSD检测模型;
步骤4:使用对抗性攻击MTOG在SSD检测模型上生成相应的对抗性样例,提取对抗性特征模块,从而形成对抗性数据集D3;
步骤5:在生成的对抗性数据集D3上训练改进的SSD检测模型作为蒸馏模型,进而进行车辆不规范的压线行为的检测。
2.根据权利要求1所述的基于对抗蒸馏和实时目标检测的智能车辆压线检测方法,其特征在于,所述步骤1的具体方法为:步骤1.1:将获取到的数据集D1中的图像通过平移缩放、翻转变换、图像增强进行预处理;
步骤1.2:将数据集D1的图像中的停车线的边缘利用像素点将其分割出来,形成新的数据集D2。
3.根据权利要求1所述的基于对抗蒸馏和实时目标检测的智能车辆压线检测方法,其特征在于,所述步骤2的具体方法为:步骤2.1:使用标签标注工具LabelImg软件对数据集D2的图像进行车辆标注;
步骤2.2:将标注好的数据集D2按照8:1:1划分为训练集,验证集以及测试集;
步骤2.3:在标注好的数据集D2的训练集中进行训练SSD检测模型,将其作为教师模型;
步骤2.4:在标注好的数据集D2的测试集中测试训练好的SSD模型。
4.根据权利要求1所述的基于对抗蒸馏和实时目标检测的智能车辆压线检测方法,其特征在于,所述步骤3将特征金字塔引入到SSD检测模型中的具体方法为:步骤3.1:将SSD检测模型的卷积层中的Conv4_3层,Conv7层,Conv8_2层所对应的特征图提取出来,分别为R1,R2,R3;
步骤3.2:将获取到的三个特征图R1,R2,R3作为输入,分别用1×1的卷积进行处理,分别得到特征图RC1,RC2,RC3,从而保持三个特征图的输出通道数保持一致;
步骤3.3:将高层特征图RC3通过双线性插值上采样2倍,与中间特征图RC2进行特征融合,得到新的特征图RU2;再将RU2继续上采样2倍,与底层特征图RC1进行融合,得到融合特征图RU1;
步骤3.4:将融合后得到的特征图RU1,RU2和原特征图RC1分别用3×3的卷积进行处理,从而将图像的特征进行增强,得到输出特征图P1,P2,P3;
步骤3.5:将得到的包含多层特征的P1,P2,P3替换SSD模型默认的高层特征图。
5.根据权利要求1所述的基于对抗蒸馏和实时目标检测的智能车辆压线检测方法,其特征在于,所述步骤4的具体方法为:步骤4.1:输入一个初始的数据d、真值O、扰动的大小τ、衰减系数α,迭代次数T、目标检测器f以及符号函数Φ,所述目标检测器f即为改进后的SSD模型;
步骤4.2:将检测中的步长表示为s=τ/T,并且定义循环变量t,赋初值为0;
步骤4.3:在t=0时的初始梯度g0=0,初始的对抗性数据d'0,其计算公式为:是一个限制函数;
步骤4.4:如果t≤T‑1,执行步骤4.5‑4.8,否则跳转步骤4.9;
步骤4.5:将第t次迭代时所生成的对抗性数据d't输入到目标检测器f中,得到MTOG攻击数据集的梯度;
步骤4.6:将梯度方向上的速度矢量累加为动量gt+1;
步骤4.7:利用符号函数Φ和得到的动量gt+1来更新对抗性数据d't+1,其计算公式为:d't+1=Πd,τ[d't+sΦ×gt+1];
步骤4.8:进行下一次的迭代;
步骤4.9:结束循环,输出全部的对抗性数据d'={d'1,d'2,d'3,…,d'T};
步骤4.10:定义循环变量i,赋初值为1;
步骤4.11:将对抗性数据d'输入到目标检测器f中,得到边界框 并得到每个 所对应的对抗性分类特征
步骤4.12:规定阈值分数为score;
步骤4.13:如果i≤T,执行4.14‑4.15,否则跳转步骤4.16;
步骤4.14:如果 丢弃分数低于阈值的边界框,以确保对抗性分类特征有价值;
否则保存当前
步骤4.15:对下一个 进行判断;
步骤4.16:采用K‑means聚类算法对真值边界框进行聚类;
步骤4.17:使用IOGT方法将生成的与真值边界框相交的边界框进行删除,确保所选择的边界框不包含原始的定位特征,将其作为Temp1;
步骤4.18:采用非极大值抑制来保证进行MTOG攻击过生成的边界框不相交,使得生成的定位特征不重复,将其作为Temp2;
步骤4.19:将Temp2与对抗性数据集d'组合起来,生成新的数据集作为D3输出。
6.根据权利要求1所述的基于对抗蒸馏和实时目标检测的智能车辆压线检测方法,其特征在于,所述步骤5的具体方法为:步骤5.1:定义循环训练次数N;
步骤5.2:定义循环变量n,赋初值为1;
步骤5.3:当n≤N,执行5.4‑5.7,否则跳转到步骤5.8;
步骤5.4:在生产的对抗性数据集D3上训练教师模型,提取教师模型对每个样本的预测输出作为软标签;
步骤5.5:在对抗性数据集D3上训练改进后的SSD模型作为学生模型,损失函数为学生输出和教师软标签的差距;
步骤5.6:保存学生模型的参数和预测结果;
步骤5.7:进行下一次的模型训练;
步骤5.8:将得到的N个模型的结果进行融合,通过模型集成的方式,获得融合结果作为最终输出;
步骤5.9:使用训练好的蒸馏模型对车辆不规范的压线行为进行检测。
7.一种基于对抗蒸馏和实时目标检测的智能车辆压线检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1‑6任一项所述的基于对抗蒸馏和实时目标检测的智能车辆压线检测方法。