CN115359455A - 一种基于深度学习的轻量级车辆检测方法 - Google Patents
一种基于深度学习的轻量级车辆检测方法 Download PDFInfo
- Publication number
- CN115359455A CN115359455A CN202211004182.0A CN202211004182A CN115359455A CN 115359455 A CN115359455 A CN 115359455A CN 202211004182 A CN202211004182 A CN 202211004182A CN 115359455 A CN115359455 A CN 115359455A
- Authority
- CN
- China
- Prior art keywords
- prediction
- loss
- box
- value
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度学习的轻量级车辆检测方法,针对车辆检测任务,对基于Anchor‑Free的一阶段目标检测算法架构的骨干网络,特征融合层,预测子网络分别进行了轻量化的改进,实现了一种基于深度学习的轻量级车辆检测方法;首先建立了一种轻量级骨干网络ResCSPNet‑Tiny;然后建立了一种轻量级的特征融合网络LPANet;最后采用联合表示的方式建立了一种轻量级的多尺度预测子网络;同时,为了提高算法的对车辆目标的检测能力,在训练期间采用了动态标签分配方法,以及广义的焦点损失函数和广义的交并比损失函数,最后在BDD车辆数据集上的实验结果表明:本发明的SFVD算法的速度能够达到448FPS,mAP能够达到37.1%,速度与精度都优于已有的轻量级检测算法,能够更好地处理驾驶场景下的车辆检测任务。
Description
技术领域
本发明属于图像处理及目标检测技术领域,具体涉及一种基于深度学习的轻量级车辆检测方法。
背景技术
车辆检测属于通用目标检测领域的一个分支,它通过对车载摄像头的视频数据进行特征提取和分类,从而检测出轿车,卡车,货车等车辆目标,为IDS提供周边车辆位置,类别,大小等信息供其进行智能决策。
深度学习的出现极大地推动了目标检测领域的发展,凭借着深度神经网络(DeepNeural Networks,DNN)强大的特征提取能力,基于深度学习的目标检测算法迅速成为研究主流。尽管这类算法虽然准确率较高,但常见的算法的网络结构复杂、参数量大、计算量大,而汽车搭载的处理器性能有限,在运行这类复杂的算法时,无法满足实时性需求。而目前常见的轻量级检测算法如YOLOv4-Tiny,NanoDet等,对车辆目标检测的准确率较低。
发明内容
为了克服上述现有技术存在的缺陷,本发明的目的在于提出一种基于深度学习的轻量级车辆检测方法,一方面能够减小算法模型的参数量和计算量,另一方面提升了检测模型的准确率,具有实时性好、计算量小、准确率高的优点,能够很好地在车载设备上进行实时车辆检测任务。
为了实现上述目的,本发明采用的技术方案是:
一种基于深度学习的轻量级车辆检测方法,具体包括以下步骤:
步骤1.输入待检测的车载视频图像数据;
步骤2.将步骤1输入的图像通过包括随机的翻转,亮度增强,对比度增强,饱和度增强,标准化,尺度缩放,拉伸方法进行预处理;
步骤3.将步骤2预处理过的图像输入到轻量级骨干网络ResCSPNet- Tiny进行多次下采样特征提取,并输出经过下采样特征提取后的多尺度特征Pi;
步骤4.通过轻量级的路径聚合网络LPANet对步骤3得到的多尺度特征Pi进行融合,并输出融合之后的多尺度特征Ci;
步骤5.通过多尺度的预测子网络对步骤4得到的多尺度特征Ci进一步处理,得到最终的多尺度预测值Oi;
步骤6.对步骤5得到的多尺度预测值Oi进行解码,得到预测的目标类别得分Score与位置信息Prebox;
步骤7.进行正负样本标签划分,计算获得正负样本的标签;然后通过GFL和GIOU进行损失计算,采用反向传播算法迭代更新模型参数,最终完成算法模型的训练;
步骤8.在算法模型的实际使用阶段,直接将步骤6得到的目标类别得分Score与位置信息Prebox通过NMS处理过后输出车辆检测的结果。
所述步骤3具体为:通过对轻量级骨干网络ResCSPNet-Tiny的特征提取单元,进行多次下采样特征提取,输出多尺度特征Pi:
第一特征提取单元,用于将输入图像依次经过切片操作、标准卷积层,得到特征图P1;
第二特征提取单元,用于将第一特征提取单元输出的特征图P1经过浅层残差模块和下采样模块,得到特征图P2;
第三特征提取单元,用于将第二特征提取单元输出的特征图P2经过浅层残差模块和下采样模块,得到特征图P3;
第四特征提取单元,用于将第三特征提取单元输出的特征图P3经过跨层级局部模块和下采样模块,得到特征图P4;
第五特征提取单元,用于将第四特征提取单元输出的特征图P4经过跨层级局部模块和下采样模块,得到特征图P5。
所述步骤4具体为:
将步骤3中得到的多尺度特征图P3,P4,P5分别通过卷积层,变换通道维度;
构建自上而下的特征融合路径,通过双线性插值的操作来完成对多尺度特征图P4,P5的上采样,通过相加操作来完成不同尺度特征间的融合,得到多尺度特征图H3,H4,H5;
构建自下而上的特征融合路径,通过双线性插值的操作来完成对多尺度特征图H3,H4的下采样,通过相加操作来完成不同尺度特征间的融合,得到多尺度特征图C3,C4,C5。
所述步骤5具体为:
对多尺度特征图C3,C4,C5依次通过卷积层、批量归一化层、激活函数层和卷积层后,得到最终的多尺度预测值O3,O4,O5。
所述步骤7具体为:
1).自定义设置深度学习网络训练超参数样本集;
2).将步骤7第1)步训练样本集中batch张图像输入到构建的网络中进行前向传播,得到预测的多尺度特征Oi;
3).解码步骤7第2)步得到的多尺度特征Oi中的不同尺度特征的预测信息:
3.1)对多尺度特征Oi在通道维度进行划分,得到维度为N的质量预测值Precls和维度为4*RegMax边框回归预测值Prebox;
3.2)对于一个S×S尺寸的多尺度特征Oi,将这S2个特征点映射回原图中,得到预设锚点A的坐标;
3.3)对于质量预测Precls,在通道维度通过Sigmoid函数激活之后,得到每一个锚点位置对应类别的分类预测得分Score;
3.4)对于边框回归预测Prebox,其值代表当前锚点Axy距离预测框4条边的距离(t,r,b,l),采用一个长度为RegMax的一维向量V来表示;将每条边的距离向量V进行Softmax函数之后,每个位置的值就代表其处在当前位置的概率,最终实际的距离distance,采用期望的方式来计算;
4)进行正负样本标签划分:
4.1)初始化质量预测的目标标签labelcls,边框回归的目标标签labelreg;
4.2)通过步骤7第3.1)步得到的回归预测值Prebox得到距离向量 (t,r,b,l),然后将其与Pxy进行解码,得到算法预测的目标框anchor;
4.3)选出所有中心点P落入GTbox内的P及其对应的anchor,记为Pcandidate,anchorcandidate,将Pcandidate的labelcls置为对应GTbox的GTlabel;
4.4)计算所有anchorcandidate与GTbox的iou,记为scoreiou;计算iou的代价costiou=-log(scoreiou);
4.5)对于Pcandidate的label值与scoreiou相乘,得到labelsoft,并令labelcls=labelsoft;
4.6)对于anchorcandidate,计算其质量Score与labelsoft的交叉熵损失,记为costcls;
4.7)计算anchorcandidate的代价矩阵M=costcls+costiou;
4.8)根据设置的K值,对每个GTbox选取scoreiou中前K个anchorcandidate,记为anchork,计算anchork的scoreiou之和,并且向下取整,得到了每个GTbox应该分配锚框数n;
4.9)根据每个GTbox需要分配的数量n,对每个GTbox选取M中前n小的 anchorcandidate作为正样本,其余视为负样本,根据正负样本选择对labelreg进行填充;
4.10)如果存在一个anchorcandidate被多个GTbox选择的情况,选择M中最小值对应的GTbox作为其目标,其他GTbox舍去;
4.11)返回划分的样本标签labelcls,labelreg;
5)定义广义焦点损失函数GFL,计算预测框与对应样本的损失值:
5.1)对于多尺度预测值Oi中的分类预测值,采用QFL进行分类质
量预测的损失计算,其计算方式如公式(1.1)所示;
losscls=lossQFL
lossQFL(σ)=-|y-σ|β((1-y)log(1-σ)+ylog(σ)) (1.1)
其中,y为真实的质量标签,其值是[0,1]之间的连续值,对于正样本其值是预测框与真实目标框的IOU值,对于负样本其值是0;σ为当前网络的分类预测得分,即分类预测值通过函数激活之后的数值,β为权重系数;
5.2)对于多尺度特征Oi中的边框回归预测值,仅针对正样本进行回归损失计算,边框回归分支的损失构成如公式(1.2)所示;
lossreg=lossDFL+lossGIOU (1.2)
5.2.1)采用DFL对于边框回归预测值的概率分布进行损失计算,对于边框概率的分布进行学习,优化最接近目标位置两侧的概率值,从而让模型能够快速地聚焦到目标位置的邻近区域的分布中去,DFL的计算方式如公式(1.3)所示:
lossDFL(Si,Si+1)=-((yi+1-y)log(Si)+(y-yi)log(Si+1)) (1.3)
5.2.2)对边框回归预测值,进行解码后得到目标框的位置信息,通过GIOU损失函数对预测出的目标框信息与真实的目标框信息直接进行损失计算,其计算过程如公式(1.4)所示:
其中A,B分别为预测框和真实框,C为包含A,B的最小外接矩形框;
5.3)最终,将QFL,DFL,GIOU损失计算结果进行相加,就得到了最终的损失函数,其具体的构成如公式(1.5)所示:
loss=W1lossQFL+W2lossDFL+W3lossGIOU (1.5)
其中,W1,W2,W3分别表示不同损失的权重。
所述步骤8具体为:
1)将实际使用场景中的图像即测试样本集按自定义的大小调整后,依次输入到训练好的深度学习网络进行前向传播,得到每张图像的预测类别和预测框坐标;
2)采用非极大值抑制法,筛选掉重叠的预测框,使用最终的预测框在图像上标记出目标的位置和类别:
2.1)设置筛选阈值N;
2.2)用所有预测框构成初始预测框集合B;
2.3)创建最终预测框集合D,并将其初始化为空集;
2.4)将预测框与真实框的IOU值和预测类别概率相乘作为置信度,并按照置信度对集合B中的预测框按照降序排序;
2.5)选取第一个预测框,添加到集合D中,再将其从集合B中删除;
2.6)遍历集合B中的所有预测框,计算它们与D集合中的最终预测框的IOU值,若IOU值大于阈值N,则将其从集合B中删除;
2.7)重复步骤2.5)~2.6)直到集合B为空;
2.8)输出集合D中的元素作为最终的预测框,并使用最终的预测框在该图像中标记出目标的位置和类别,完成目标检测。
本发明的有益效果是:
第一,本发明使用ResCSPNet-Tiny网络作为主干网络,在大幅度降低了深度学习网络的参数量,保证了骨干网络的特征提取能力,使得本发明可以在资源受限的设备上部署应用,在具有较高的检测速度的同时,拥有较高的检测精度。
第二,本发明使用LPANet网络作为特征融合网络,在大幅度降低了特征融合层计算复杂度的同时,保证了算法模型对尺度变化物体的检测能力。
第三,本发明建立的轻量级车辆检测算法,在保证算法模型轻量化的同时,大幅度提升了算法对复杂驾驶场景下车辆目标的检测能力。
附图说明
图1是本发明的实现流程图。
图2是本发明构建的ResCSPNet-Tiny网络结构图。
图3是本发明构建的浅层残差单元与ResNet中残差单元的对比图。
图4是本发明构建的浅层跨层级局部结构框架图。
图5是本发明中轻量级特征融合LPANet网络结构图。
图6是本发明中轻量级多尺度预测子网络结构图。
图7是本发明与现有技术检测效果对比图,其中,(a)为本发明算法法检测效果,(b)为采用YOLOv4-Tiny-416算法检测效果,(c) 为采用NanoDet-m算法检测效果。
具体实施方式
下面结合附图对本发明进一步详细描述。
参见图1,一种基于深度学习的轻量级车辆检测方法,包括以下
具体步骤:
(1)获取车辆数据集
从网络上下载BDD数据集,其包含了道路目标检测,可实行区域划分,车道线标记,实例分割4种图像注释;包含了下雪、雾天、晴天、多云、阴天、下雨6种天气,主要以晴天为主;包含了住宅区、加油站、隧道、公路、城市、停车场6种场景,主要以城市街道为主;包含了黎明(黄昏)、白天、夜晚3种时间阶段,主要以白天、夜晚居多;一共包含了Bus、Light、Sign、Person、Bike、Truck、Motor、 Car、Train、Rider共10种类别的物体。
本发明针对车辆检测的特定任务,从道路目标检测标签中提取了含有Car,Truck,Bus三种车辆类别的标注图像。并且由于测试集官方并未提供标注文件,所以本发明将验证集作为测试集使用。
经过提取过后,本发明所使用的训练集包含了69133张含有车辆的图像,测试集包含了9902张含有车辆的图像。
(2)构建轻量级骨干网络ResCSPNet-Tiny
该骨干网络一共由5个特征提取单元组成,如图2所示。
第一特征提取单元,用于将输入图像依次经过切片操作,再通过 1组3*3的标准卷积层,得到高160,宽160,通道数为32的特征图 P1;
第二特征提取单元,用于将第一特征提取单元输出的特征图经过浅层残差模块和下采样模块,得到高80,宽80,通道数为64的特征图P2;
第三特征提取单元,用于将第二特征提取单元输出的特征图经过浅层残差模块和下采样模块,得到高40,宽40,通道数为128的特征图P3;
第四特征提取单元,用于将第三特征提取单元输出的特征图依次经过跨层级局部模块和下采样模型,得到高20,宽20,通道数为256 的特征图P4;
第五特征提取单元,用于将第三特征提取单元输出的特征图依次经过跨层级局部模块和下采样模型,得到高10,宽10,通道数为512 的特征图P5;
第二,第三浅层残差模块的如图3所示,对应的N,C分别为160, 32和80,64。第四,第五残特征提取单元的如图4所示,对应的N,C 分别为40,128和20,256.
第三、第四、第五个特征提取单元的输出一组多尺度特征图P3、 P4、P5。该组特征图的通道数为128、256、512,且相对于图像的下采样比例为8、16、32。
(3)构建轻量级多尺度特征融合网络
将输入的多尺度特征图P3,P4,P5分别通过一个1*1,步长为1的卷积层,将通道维度变换为256;
构建自上而下的特征融合路径,通过双线性插值的操作来完成对多尺度特征图P4,P5的上采样,通过相加操作来完成不同尺度特征间的融合,得到多尺度特征图H3,H4,H5;
构建自下而上的特征融合路径,通过双线性插值的操作来完成对多尺度特征图H3,H4的下采样,通过相加操作来完成不同尺度特征间的融合,得到多尺度特征图C3,C4,C5;
特征融合的过程如图5所示。
(4)构建轻量级的多尺度预测头
对多尺度特征图C3,C4,C5先分别通过一个3*3,步长为1的卷积层,以及一个批量归一化层和LeakyReLU激活函数层后,再通过一个1*1,步长为1的卷积层,最终预测的多尺度特征O3,O4,O5。其中第一个卷积层的输出通道数为256,第二个卷积层的输出通道数为35。
轻量级多尺度预测子网络如图6所示。
(5)训练车辆检测模型
5.1)预处理训练样本集:调整图像尺寸大小为320×320,并采用如下表所示的数据增强方法。
5.2)设置深度学习网络训练超参数:设置损失函数的系数分别为: W1=1,W2=0.25,W3=2;使用AdamW优化器,初始学习率设置为0.001,权重衰减系数设置为0.05,批处理大小设置为160;训练的总周期设置为300,其中前500次迭代采用线性预热策略;使用余弦退火的学习率衰减策略,其中最小的学习率设置为0.00005。
5.3)将训练样本集中batch张图像输入到构建的网络中进行前向传播,得到预测的多尺度特征Oi。
5.4)采用自适应训练样本分配策略,为每个预测框分配正负样本。
5.4.1)解码不同尺度特征的预测信息:
5.4.1.1)对多尺度特征Oi在通道维度进行划分,得到维度为N的质量预测值Precls和维度为4*RegMax边框回归预测值Prebox。本发明中取N=3,RegMax=8。
5.4.1.2)对于一个S×S尺寸的多尺度特征Oi,将这S2个特征点映射回原图中,得到预设锚点P的坐标.
5.4.1.3)对于质量预测Precls,在通道维度通过Sigmoid函数激活之后,得到每一个锚点位置对应类别的分类预测得分Score。
5.4.1.4)对于边框回归预测Prebox,其值代表当前锚点Pxy距离预测框 4条边的距离(t,r,b,l),采用一个长度为RegMax的一维向量V来表示。将每条边的距离向量V进行Softmax函数之后,每个位置的值就代表其处在当前位置的概率,最终实际的距离distance,采用期望的方式来计算。
5.4.2)进行正负样本标签划分
5.4.2.1)初始化质量预测的目标标签labelcls,边框回归的目标标签labelreg;
5.4.2.2)对(t,r,b,l)与Pxy进行解码,得到算法预测目标框anchor;
5.4.2.3)选出所有中心点P落入GTbox内的P及其对应的anchor,记为 Pcandidate,anchorcandidate,将Pcandidate的labelcls置为对应GTbox的GTlabel;
5.4.2.4)计算所有anchorcandidate与GTbox的iou,记为scoreiou;计算iou的代价costiou=-log(scoreiou);
5.4.2.5)对于Pcandidate的label值与scoreiou相乘,得到labelsoft,并令 labelcls=labelsoft;
5.4.2.6)对于anchorcandidate,计算其质量Score与labelsoft的交叉熵损失,记为costcls;
5.4.2.7)计算anchorcandidate的代价矩阵M=costcls+costiou;
5.4.2.8)根据设置的K值,对每个GTbox选取scoreiou中前K个anchorcandidate (本发明中K取13),记为anchork,计算anchork的scoreiou之和,并且向下取整,得到了每个GTbox应该分配锚框数n;
5.4.2.9)然后根据每个GTbox需要分配的数量n,对每个GTbox选取M中前n小的anchorcandidate作为正样本,其余视为负样本,根据正负样本选择对labelreg进行填充;
5.4.2.10)如果存在一个anchorcandidate被多个GTbox选择的情况,选择M中最小值对应的GTbox作为其目标,其他GTbox舍去;
5.4.2.11)返回划分的样本标签labelcls,labelreg。
6)定义广义焦点损失函数GFL,计算预测框与对应样本的损失值.
6.1)对于分类预测,采用QFL进行分类质量预测的损失计算,其计算方式如下公式所示。
losscls=lossQFL
lossQFL(σ)=-|y-σ|β((1-y)log(1-σ)+ylog(σ))
其中,y为真实的质量标签,其值是[0,1]之间的连续值,对于正样本其值是预测框与真实目标框的IOU值,对于负样本其值是0;σ为当前网络的分类预测得分,即分类预测值通过Sigmoid函数激活之后的数值。β为权重系数,本发明中取2。
6.2)对于边框回归预测,仅针对正样本进行回归损失计算,本发明采用DFL和GIOU分别进行损失计算。边框回归分支的损失构成如下所示。
lossreg=lossDFL+lossGIOU
6.2.1)首先,采用DFL对于边框回归输出的概率分布进行损失计算,对于边框概率的分布进行学习,优化最接近目标位置两侧的概率值,从而让模型能够快速地聚焦到目标位置的邻近区域的分布中去。 DFL的计算方式如下所示:
lossDFL(Si,Si+1)=-((yi+1-y)log(Si)+(y-yi)log(Si+1))
6.2.2)对边框回归预测的输出,进行解码后得到目标框的位置信息,将预测的目标框与真实的目标框通过GIOU损失函数进行损失计算,其计算过程如下示:
lossGIOU=1-GIoU
其中,A,B分别为预测框和真实框,C为包含A,B的最小外接矩形框。
6.3)最终,将QFL,DFL,GIOU三个损失计算结果进行相加,就得到了最终的函数,其具体的构成如下所示:
loss=W1lossQFL+W2lossDFL+W3lossGIOU
其中W1,W2,W3分别表示不同损失的权重
7)进行车辆检测
7.1)将测试样本集中的图像调整为320×320,依次输入到训练好的深度学习网络进行前向传播,得到每张图像的预测类别和预测框坐标。
7.2)采用非极大值抑制法,筛选掉重叠的预测框,使用最终的预测框在图像上标记出目标的位置和类别:
7.2.1)设置筛选阈值N。
7.2.2)用所有预测框构成初始预测框集合B。
7.2.3)创建最终预测框集合D,并将其初始化为空集。
7.2.4)将预测框与真实框的IOU值和预测类别概率相乘作为置信度,并按照置信度对集合B中的预测框按照降序排序。
7.2.5)选取第一个预测框,添加到集合D中,再将其从集合B中删除。
7.2.6)遍历集合B中的所有预测框,计算它们与D集合中的最终预测框的IOU值,若IOU值大于阈值N,则将其从集合B中删除。
7.2.7)重复步骤7.2.5)~7.2.6)直到集合B为空。
7.2.8)输出集合D中的元素作为最终的预测框,并使用最终的预测框在该图像中标记出目标的位置和类别,完成目标检测。
实施例1
本发明的检测效果可以通过以下实验进一步说明:
实验的硬件环境为:
TU102[GeForce RTX 2080Ti]
32 Intel(R)Xeon(R)Silver 4110CPU@2.10GHz
软件环境配置如下:
Ubuntu 20.04,CUDA 11.4,OpenCV 4.5.3,Python 3.8.12,Pytorch 1.10.1。
BDD车辆数据集上与其他轻量级检测算法的性能对比:
从下表可以看到,当输入图像尺寸为320×320时,在速度方面,本发明的算法能够达到每秒448帧的推理速度,比YOLOv4-Tiny的推理速度快了5%左右,比NanoDet-m的推理速度快1.5倍左右;在精度方面,本发明的算法的mAP达到了37.1%,比YOLOv4-Tiny高出6.8%,比NanoDet-m高出12%;在模型参数量方面,SFVD有4.06M 参数量,是NanoDet-m的4倍多,但是相比于YOLOv4-Tiny,其参数量降低了近30%,总参数量也保持在可接受的范围之内。对于输入图像尺寸为416×416的YOLOv4-Tiny,本发明的算法依旧在各项指标上都保持领先。
为了更直观的对比检测结果,本发明将各类算法的检测结果进行了可视化,如附图7,其中从上到下依次对应本发明的算法,YOLOv4- Tiny-416,NanoDet-m的检测结果,从图中可以看到,本发明的算法对车辆目标检测结果更加精准。本发明设计的车辆检测算法速度快,精度高,拥有比已有轻量级算法更好的性能,更加适合处理驾驶场景下的车辆检测任务,参见图7。
Claims (6)
1.一种基于深度学习的轻量级车辆检测方法,其特征在于:具体包括以下步骤:
步骤1.输入待检测的车载视频图像数据;
步骤2.将步骤1输入的图像通过包括随机的翻转,亮度增强,对比度增强,饱和度增强,标准化,尺度缩放,拉伸方法进行预处理;
步骤3.将步骤2预处理过的图像输入到轻量级骨干网络ResCSPNet-Tiny进行多次下采样特征提取,并输出经过下采样特征提取后的多尺度特征Pi;
步骤4.通过轻量级的路径聚合网络LPANet对步骤3得到的多尺度特征Pi进行融合,并输出融合之后的多尺度特征Ci;
步骤5.通过多尺度的预测子网络对步骤4得到的多尺度特征Ci进一步处理,得到最终的多尺度预测值Oi;
步骤6.对步骤5得到的多尺度预测值Oi进行解码,得到预测的目标类别得分Score与位置信息Prebox;
步骤7.进行正负样本标签划分,计算获得正负样本的标签;然后通过GFL和GIOU进行损失计算,采用反向传播算法迭代更新模型参数,最终完成算法模型的训练;
步骤8.在算法模型的实际使用阶段,直接将步骤6得到的目标类别得分Score与位置信息Prebox通过NMS处理过后输出车辆检测的结果。
2.根据权利要求1所述的一种基于深度学习的轻量级车辆检测方法,其特征在于:所述步骤3具体为:通过对轻量级骨干网络ResCSPNet-Tiny的特征提取单元,进行多次下采样特征提取,输出多尺度特征Pi:
第一特征提取单元,用于将输入图像依次经过切片操作、标准卷积层,得到特征图P1;
第二特征提取单元,用于将第一特征提取单元输出的特征图P1经过浅层残差模块和下采样模块,得到特征图P2;
第三特征提取单元,用于将第二特征提取单元输出的特征图P2经过浅层残差模块和下采样模块,得到特征图P3;
第四特征提取单元,用于将第三特征提取单元输出的特征图P3经过跨层级局部模块和下采样模块,得到特征图P4;
第五特征提取单元,用于将第四特征提取单元输出的特征图P4经过跨层级局部模块和下采样模块,得到特征图P5。
3.根据权利要求1所述的一种基于深度学习的轻量级车辆检测方法,其特征在于:所述步骤4具体为:
将步骤3中得到的多尺度特征图P3,P4,P5分别通过卷积层,变换通道维度;
构建自上而下的特征融合路径,通过双线性插值的操作来完成对多尺度特征图P4,P5的上采样,通过相加操作来完成不同尺度特征间的融合,得到多尺度特征图H3,H4,H5;
构建自下而上的特征融合路径,通过双线性插值的操作来完成对多尺度特征图H3,H4的下采样,通过相加操作来完成不同尺度特征间的融合,得到多尺度特征图C3,C4,C5。
4.根据权利要求1所述的一种基于深度学习的轻量级车辆检测方法,其特征在于:所述步骤5具体为:
对多尺度特征图C3,C4,C5依次通过卷积层、批量归一化层、激活函数层和卷积层后,得到最终的多尺度预测值O3,O4,O5。
5.根据权利要求1所述的一种基于深度学习的轻量级车辆检测方法,其特征在于:所述步骤7具体为:
1).自定义设置深度学习网络训练超参数样本集;
2).将步骤7第1)步训练样本集中batch张图像输入到构建的网络中进行前向传播,得到预测的多尺度特征Oi;
3).解码步骤7第2)步得到的多尺度特征Oi中的不同尺度特征的预测信息:
3.1)对多尺度特征Oi在通道维度进行划分,得到维度为N的质量预测值Precls和维度为4*RegMax边框回归预测值Prebox;
3.2)对于一个S×S尺寸的多尺度特征Oi,将这S2个特征点映射回原图中,得到预设锚点A的坐标;
3.3)对于质量预测Precls,在通道维度通过Sigmoid函数激活之后,得到每一个锚点位置对应类别的分类预测得分Score;
3.4)对于边框回归预测Prebox,其值代表当前锚点Axy距离预测框4条边的距离(t,r,b,l),采用一个长度为RegMax的一维向量V来表示;将每条边的距离向量V进行Softmax函数之后,每个位置的值就代表其处在当前位置的概率,最终实际的距离distance,采用期望的方式来计算;
4)进行正负样本标签划分:
4.1)初始化质量预测的目标标签labelcls,边框回归的目标标签labelreg;
4.2)通过步骤7第3.1)步得到的回归预测值Prebox得到距离向量(t,r,b,l),然后将其与Pxy进行解码,得到算法预测的目标框anchor;
4.3)选出所有中心点P落入GTbox内的P及其对应的anchor,记为Pcandidate,anchorcandidate,将Pcandidate的labelcls置为对应GTbox的GTlabel;
4.4)计算所有anchorcandidate与GTbox的iou,记为scoreiou;计算iou的代价costiou=-log(scoreiou);
4.5)对于Pcandidate的label值与scoreiou相乘,得到labelsoft,并令labelcls=labelsoft;
4.6)对于anchorcandidate,计算其质量Score与labelsoft的交叉熵损失,记为costcls;
4.7)计算anchorcandidate的代价矩阵M=costcls+costiou;
4.8)根据设置的K值,对每个GTbox选取scoreiou中前K个anchorcandidate,记为anchork,计算anchork的scoreiou之和,并且向下取整,得到了每个GTbox应该分配锚框数n;
4.9)根据每个GTbox需要分配的数量n,对每个GTbox选取M中前n小的anchorcandidate作为正样本,其余视为负样本,根据正负样本选择对labelreg进行填充;
4.10)如果存在一个anchorcandidate被多个GTbox选择的情况,选择M中最小值对应的GTbox作为其目标,其他GTbox舍去;
4.11)返回划分的样本标签labelcls,labelreg;
5)定义广义焦点损失函数GFL,计算预测框与对应样本的损失值:
5.1)对于多尺度预测值Oi中的分类预测值,采用QFL进行分类质
量预测的损失计算,其计算方式如公式(1.1)所示;
losscls=lossQFL
lossQFL(σ)=-|y-σ|β((1-y)log(1-σ)+ylog(σ))
(1.1)
其中,y为真实的质量标签,其值是[0,1]之间的连续值,对于正样本其值是预测框与真实目标框的IOU值,对于负样本其值是0;σ为当前网络的分类预测得分,即分类预测值通过函数激活之后的数值,β为权重系数;
5.2)对于多尺度特征Oi中的边框回归预测值,仅针对正样本进行回归损失计算,边框回归分支的损失构成如公式(1.2)所示:
lossreg=lossDFL+lossGIOU (1.2)
5.2.1)采用DFL对于边框回归预测值的概率分布进行损失计算,对于边框概率的分布进行学习,优化最接近目标位置两侧的概率值,从而让模型能够快速地聚焦到目标位置的邻近区域的分布中去,DFL的计算方式如公式(1.3)所示:
lossDFL(Si,Si+1)=-((yi+1-y)log(Si)+(y-yi)log(Si+1))
(1.3)
5.2.2)对边框回归预测值,进行解码后得到目标框的位置信息,通过GIOU损失函数对预测出的目标框信息与真实的目标框信息直接进行损失计算,其计算过程如公式(1.4)所示:
其中A,B分别为预测框和真实框,C为包含A,B的最小外接矩形框;
5.3)最终,将QFL,DFL,GIOU损失计算结果进行相加,就得到了最终的损失函数,其具体的构成如公式(1.5)所示:
loss=W1lossQFL+W2lossDFL+W3lossGIOU (1.5)
其中W1,W2,W3分别表示不同损失的权重。
6.根据权利要求1所述的一种基于深度学习的轻量级车辆检测方法,其特征在于:所述步骤8具体为:
1)将实际使用场景中的图像即测试样本集按自定义的大小调整后,依次输入到训练好的深度学习网络进行前向传播,得到每张图像的预测类别和预测框坐标;
2)采用非极大值抑制法,筛选掉重叠的预测框,使用最终的预测框在图像上标记出目标的位置和类别:
2.1)设置筛选阈值N;
2.2)用所有预测框构成初始预测框集合B;
2.3)创建最终预测框集合D,并将其初始化为空集;
2.4)将预测框与真实框的IOU值和预测类别概率相乘作为置信度,并按照置信度对集合B中的预测框按照降序排序;
2.5)选取第一个预测框,添加到集合D中,再将其从集合B中删除;
2.6)遍历集合B中的所有预测框,计算它们与D集合中的最终预测框的IOU值,若IOU值大于阈值N,则将其从集合B中删除;
2.7)重复步骤2.5)~2.6)直到集合B为空;
2.8)输出集合D中的元素作为最终的预测框,并使用最终的预测框在该图像中标记出目标的位置和类别,完成目标检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211004182.0A CN115359455A (zh) | 2022-08-22 | 2022-08-22 | 一种基于深度学习的轻量级车辆检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211004182.0A CN115359455A (zh) | 2022-08-22 | 2022-08-22 | 一种基于深度学习的轻量级车辆检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115359455A true CN115359455A (zh) | 2022-11-18 |
Family
ID=84002157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211004182.0A Pending CN115359455A (zh) | 2022-08-22 | 2022-08-22 | 一种基于深度学习的轻量级车辆检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115359455A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797736A (zh) * | 2023-01-19 | 2023-03-14 | 北京百度网讯科技有限公司 | 目标检测模型的训练和目标检测方法、装置、设备和介质 |
CN116051561A (zh) * | 2023-03-31 | 2023-05-02 | 上海交强国通智能科技有限公司 | 一种基于车载边缘设备的轻量化路面病害巡检方法 |
-
2022
- 2022-08-22 CN CN202211004182.0A patent/CN115359455A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797736A (zh) * | 2023-01-19 | 2023-03-14 | 北京百度网讯科技有限公司 | 目标检测模型的训练和目标检测方法、装置、设备和介质 |
CN116051561A (zh) * | 2023-03-31 | 2023-05-02 | 上海交强国通智能科技有限公司 | 一种基于车载边缘设备的轻量化路面病害巡检方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993082B (zh) | 卷积神经网络道路场景分类与道路分割方法 | |
CN108509978B (zh) | 基于cnn的多级特征融合的多类目标检测方法及模型 | |
CN110427839B (zh) | 基于多层特征融合的视频目标检测方法 | |
CN111612807B (zh) | 一种基于尺度和边缘信息的小目标图像分割方法 | |
CN114120102A (zh) | 边界优化的遥感图像语义分割方法、装置、设备及介质 | |
CN111814623A (zh) | 一种基于深度神经网络的车辆车道偏离视觉检测方法 | |
CN110348384B (zh) | 一种基于特征融合的小目标车辆属性识别方法 | |
CN111401148A (zh) | 一种基于改进的多级YOLOv3的道路多目标检测方法 | |
CN112364855B (zh) | 一种基于多尺度特征融合的视频目标检测方法及系统 | |
CN113920499A (zh) | 一种面向复杂交通场景的激光点云三维目标检测模型及方法 | |
CN112233129B (zh) | 基于深度学习的并行多尺度注意力机制语义分割方法及装置 | |
CN112990065B (zh) | 一种基于优化的YOLOv5模型的车辆分类检测方法 | |
CN114092917B (zh) | 一种基于mr-ssd的被遮挡交通标志检测方法及系统 | |
CN112633149B (zh) | 一种域自适应雾天图像目标检测方法和装置 | |
CN110310241A (zh) | 一种融合深度区域分割的多大气光值交通图像去雾方法 | |
CN115359455A (zh) | 一种基于深度学习的轻量级车辆检测方法 | |
CN110781850A (zh) | 道路识别的语义分割系统和方法、计算机存储介质 | |
CN111738114B (zh) | 基于无锚点精确采样遥感图像车辆目标检测方法 | |
CN112257793A (zh) | 一种基于改进YOLO v3算法的远距离交通标志检测方法 | |
CN117557922A (zh) | 改进YOLOv8的无人机航拍目标检测方法 | |
CN113591617B (zh) | 基于深度学习的水面小目标检测与分类方法 | |
CN116630702A (zh) | 一种基于语义分割网络的路面附着系数预测方法 | |
CN106372597A (zh) | 基于自适应上下文信息的cnn交通检测方法 | |
CN116824543A (zh) | 一种基于od-yolo的自动驾驶目标检测方法 | |
CN115143950A (zh) | 一种智能汽车局部语义栅格地图生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |