当前位置: 首页 > 专利查询>吉林大学专利>正文

一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法技术

技术编号:28464935 阅读:23 留言:0更新日期:2021-05-15 21:30
本发明专利技术属于计算机视觉和自动驾驶汽车环境感知技术领域,具体的说是一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法。本发明专利技术基于改进的单阶段YOLOv3检测算法框架,采用生成对抗网络模型获得训练集数据,针对训练集和测试集分别来自不同分布的数据域的问题进行跨域目标检测。同时通过对YOLOv3算法进行改进提高了单阶段目标检测的精度,生成对抗网络的应用减少了对不同数据域之间多类别目标物的重新标注,一定程度上解决了自动驾驶汽车跨域目标检测面临的难点问题。域目标检测面临的难点问题。域目标检测面临的难点问题。

【技术实现步骤摘要】
一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法


[0001]本专利技术属于计算机视觉和自动驾驶汽车环境感知领域
,具体的说是一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法。

技术介绍

[0002]随着自动驾驶汽车研究的深入,如何将摄像头输入的视频流数据中的多种目标物准确地检测出来对于后续的规划和决策工作有着重要的意义。自动驾驶汽车存在驾驶场景复杂多变且目标物种类多种多样的问题,而传统手工提取特征的方法由于其检测精度和鲁棒性不够高,使其不适合应用在自动驾驶汽车上,因此,基于深度学习的目标检测算法具有较高的研究价值。近年来随着计算机视觉技术的发展,出现了越来越多性能较好的检测框架,它们在检测精度和速度上有各自不同的特点,分别适用于不同的应用场景。
[0003]尽管基于数据驱动的深度学习检测算法在诸多检测任务中都取得了重大的进展,但是在实际生产应用中,却面临诸多的困难。首先,深度学习检测算法极大地依赖于训练数据,数据量过少时无法充分学习到数据的全部特征且很容易导致模型过拟合问题。对于实际道路场景复杂多变的问题,若要使模型在不同时间段、不同地点、不同天气下的检测精度都较高,就需要在这些场景下都进行数据采集和标注,而有些不常见的场景中的数据采集存在很大难度,因此很难将各种不同道路场景下的数据采集完全。其次,在一个场景下训练得到的深度学习模型如何将其很好地应用在不同场景下进行检测,并取得很高的检测精度,这对于模型的鲁棒性要求较高。最后,自动驾驶汽车在要求检测精度较高的同时,对算法的实时检测速度也有要求,为使算法很好地应用在实际驾驶任务中,算法每秒检测的帧数应该能满足汽车行驶速度的要求。
[0004]针对上述问题,深度学习模型需要解决的问题主要有两个:1.如何提高模型的泛化能力,使得在一个数据域下训练得到的模型能够很好地应用在另一个不同分布的数据域中进行目标检测,即实现跨域目标检测的目的。2.对于能够满足实时性要求的检测算法如何提高其对于多种不同类别的目标物的检测精度,以及其在若干种复杂环境下的平均检测精度。

技术实现思路

[0005]本专利技术提供了一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,本专利技术基于改进的单阶段YOLOv3检测算法框架,采用生成对抗网络的方法获得训练集数据,针对训练集和测试集分别来自不同分布的数据域的问题进行跨域目标检测,并且通过对YOLOv3算法进行改进以提高目标检测的精度,生成对抗网络减少了不同数据域之间数据重新标注的问题,解决了自动驾驶汽车中跨域目标检测的问题。
[0006]本专利技术技术方案结合附图说明如下:
[0007]一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,包括以下步骤:
[0008]步骤一、将源域图像和目标域图像输入到对抗生成网络CycleGAN模型中进行训
练,得到合成图;
[0009]步骤二、将合成图像作为训练集,目标域图像作为测试集;
[0010]步骤三、通过K

means聚类算法对训练集标记框聚类,确定聚类数目并计算先验框尺寸;
[0011]步骤四、搭建改进的YOLOv3网络;特征来提取骨干网络;
[0012]步骤五、用YOLOv3网络训练CycleGAN模型生成的虚假图像;
[0013]步骤六、用训练得到的模型对测试集图像进行检测并计算平均检测精度;
[0014]步骤七、对跨域目标进行检测。
[0015]所述步骤一采用无监督生成对抗网络CycleGAN算法完成源域图像和目标域图像之间的自适应;具体为:
[0016]11)循环对抗生成网络CycleGAN;
[0017]输入到对抗生成网络CycleGAN模型的源域图像通过生成器得到其具有目标域风格的合成图并且不断训练;
[0018]通过判别器将生成器合成的合成图和原数据域中的真图区分开;
[0019]12)计算对抗生成网络CycleGAN损失函数;
[0020]所述对抗生成网络CycleGAN损失函数包括生成器损失函数和判别器损失函数;
[0021]所述生成器损失函数包括两个生成器的循环一致性损失、GAN损失和本身损失;
[0022]两个所述生成器的循环一致性损失通过公式(1)计算,具体如下:
[0023][0024]式中,G
S

T
和G
T

S
表示两个生成器;L
cyc
表示循环一致性损失值;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;L
cyc1
表示第一个方向的循环一致性损失值;L
cyc2
表示第二个方向的循环一致性损失值;λ1表示用来平衡损失值的常系数;E
s~S_real
表示源数据域S_real中的图像s;E
t~T_real
表示目标数据域T_real中的图像t;s表示S_real中的一张图片;t表示T_real中的一张图片;
[0025]所述GAN损失通过公式(2)计算,具体如下:
[0026][0027]式中,L
GAN
表示总的GAN损失值;G
S

T
和G
T

S
表示两个生成器;D
S
和D
T
是两个判别器;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;L
GAN1
表示第一个生成器的GAN损失值;L
GAN2
表示第二个生成器的GAN损失值;E
s~S_real
表示源数据域S_real中的图像s;s表示S_real中的一张图片;E
t~T_real
表示目标数据域T_real中的图像t;t表示T_real中的一张图片;
[0028]所述本身损失通过公式(3)计算,具体如下:
[0029][0030]式中,L
idt
表示总的本身损失;G
S

T
和G
T

S
表示两个生成器;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;L
idt1
表示第一个生成器的本身损失值;L
idt2
表示第二个生成器的本身损失值;λ、λ1、λ2表示用来平衡损失值的常系数;E
s

S_real
表示源数据域S_real中的图像s;s表示S_real中的一张图片;E
t~T_real
表示目标数据域T_real中的图像t;t表示T_real中的一张图片;
[0031]所述生成器损失函数通过公式(4)计算,具体如下:
[0032][0033]式中,L
G
表示两个生成器总的损失函数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,其特征在于,包括以下步骤:步骤一、将源域图像和目标域图像输入到对抗生成网络CycleGAN模型中进行训练,得到合成图;步骤二、将合成图像作为训练集,目标域图像作为测试集;步骤三、通过K

means聚类算法对训练集标记框聚类,确定聚类数目并计算先验框尺寸;步骤四、搭建改进的YOLOv3网络;特征来提取骨干网络;步骤五、用YOLOv3网络训练CycleGAN模型生成的虚假图像;步骤六、用训练得到的模型对测试集图像进行检测并计算平均检测精度;步骤七、对跨域目标进行检测。2.根据权利要求1所述的一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,其特征在于,所述步骤一采用无监督生成对抗网络CycleGAN算法完成源域图像和目标域图像之间的自适应;具体为:11)循环对抗生成网络CycleGAN;输入到对抗生成网络CycleGAN模型的源域图像通过生成器得到其具有目标域风格的合成图并且不断训练;通过判别器将生成器合成的合成图和原数据域中的真图区分开;12)计算对抗生成网络CycleGAN损失函数;所述对抗生成网络CycleGAN损失函数包括生成器损失函数和判别器损失函数;所述生成器损失函数包括两个生成器的循环一致性损失、GAN损失和本身损失;两个所述生成器的循环一致性损失通过公式(1)计算,具体如下:式中,G
S

T
和G
T

S
表示两个生成器;L
cyc
表示循环一致性损失值;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;L
cyc1
表示第一个方向的循环一致性损失值;L
cyc2
表示第二个方向的循环一致性损失值;λ1表示用来平衡损失值的常系数;E
s~S_real
表示源数据域S_real中的图像s;E
t~T_real
表示目标数据域T_real中的图像t;s表示S_real中的一张图片;t表示T_real中的一张图片;所述GAN损失通过公式(2)计算,具体如下:式中,L
GAN
表示总的GAN损失值;G
S

T
和G
T

S
表示两个生成器;D
S
和D
T
是两个判别器;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;L
GAN1
表示第一个生成器的
GAN损失值;L
GAN2
表示第二个生成器的GAN损失值;E
s~S_real
表示源数据域S_real中的图像s;s表示S_real中的一张图片;E
t~T_real
表示目标数据域T_real中的图像t;t表示T_real中的一张图片;所述本身损失通过公式(3)计算,具体如下:式中,L
idt
表示总的本身损失;G
S

T
和G
T

S
表示两个生成器;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;L
idt1
表示第一个生成器的本身损失值;L
idt2
表示第二个生成器的本身损失值;λ、λ1、λ2表示用来平衡损失值的常系数;E
s

S_real
表示源数据域S_real中的图像s;s表示S_real中的一张图片;E
t~T_real
表示目标数据域T_real中的图像t;t表示T_real中的一张图片;所述生成器损失函数通过公式(4)计算,具体如下:式中,L
G
表示两个生成器总的损失函数值;L
cyc
表示总的循环一致性损失值;L
GAN
表示总的GAN损失值;L
idt
表示总的本身损失值;G
S

T
和G
T

S
表示两个生成器;S_real表示源域中的真实图片集;T_real表示目标域中的真实图片集;D
S
和D
T
是两个判别器;所述判别器损失函数通过公式(5)计算,具体如下:式中,L
D
表示两个判别器总的损失值;表示判别器D
T
的损失值;表示判别器D
S
的损失值;E
t'~T_fake
表示具有目标域特征的虚假图像集T_fake中的假图t

;E
s'~S_fake
表示具有源数据域特征的虚假图像集S_fake中的假图s

;t'表示T_fake中的一张图片;s'表示S_fake中的一张图片;D
S
和D
T
是两个判别器;E
s~S_real
表示源数据域S_real中的图像s;s表示S_real中的一张图片;E
t~T_real
表示目标数据域T_real中的图像t;t表示T_real中的一张图片;综上,所述对抗生成网络CycleGAN损失函数通过公式(6)计算,具体如下:式中,L
total
表示对抗生成网络CycleGAN总的损失函数值;L
D
表示两个判别器总的损失值;L
G
表示两个生成器总的损失函数值;L
cyc
表示总的循环一致性损失值;L
GAN
表示总的GAN损失值;L
idt
表示总的本身损失值;G
S

T
和G
T

S
表示两个生成器;S_real表示源域中的真实图
片集;T_real表示目标域中的真实图片集;D
S
和D
T
是两个判别器;表示判别器D
T
的损失值;表示判别器D
S
的损失值。3.根据权利要求1所述的一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,其特征在于,所述步骤二的具体方法如下:通过步骤一中的对抗生成网络CycleGAN模型得到合成图作为训练集数据,制作图片文件夹、数据文件夹和图像标记文件夹。4.根据权利要求3所述的一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,其特征在于,所述图片文件夹中包含训练集、验证集、测试集中所有的.jpg图像;所述数据文件夹中包含三个.txt文件,分别记录着训练集所有图片名称、验证集所有图片名称和测试集所有图片名称;所述图像标记文件夹包含训练集、验证集、测试集中所有标记框的左上角坐标(x
min
,y
min
)、右下角坐标(x
max
,y
max
)以及目标物所属的类别(其中0,1,2,

分别表示每种不同类别的目标物)的.xml文件,即每一张图片对应有一个.xml文件。5.根据权利要求4所述的一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法,其特征在于,所述步骤三的具体方法如下:所述.txt文件中包含训练集所有目标物标记框,按照框的宽ω、高h尺寸对所有标记框按照公式(9)—(14)进行K

means聚类,进而得到训练集标记框尺寸的统计情况;d=1

imp_IOU(b...

【专利技术属性】
技术研发人员:范佳琦霍天娇李鑫魏珍琦王嘉琛高炳钊
申请(专利权)人:吉林大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1