基于改进yolov5的红绿灯检测方法、系统、设备及介质
未命名
08-25
阅读:387
评论:0

1.本发明属于图像识别的技术领域,具体涉及一种基于改进yolov5的红绿灯检测方法、系统、设备及介质。
背景技术:
2.传统的基于视觉方面的红绿灯识别方法是利用hsv色彩空间与红绿灯的形状特征相结合的方法,对图像进行处理来识别红绿灯。如2021年5月25日发表在中国知网上的、题名为《基于视觉的红绿灯识别》的论文,该论文记载了利用红绿灯具有形状为矩形、带有黑色背板这两点特点,使用边缘检测算法,将仅含有红绿灯黑色背板的区域提取出来,将图像从rgb色彩空间转为hsv色彩空间,再利用hsv色彩空间识别红绿灯画面颜色得出识别结果的方法。
3.这种方法利用hsv色彩空间来识别红绿灯颜色,但是hsv色彩空间本身就存在着局限性,如果图像颜色的饱和度s很低时,那么所计算出来的色调h就是不可靠的。因为根据rgb转hsv的转换公式,假设保持亮度v不变,如果饱和度s越小,则v-min(r,g,b)越小。同时,色调h的分母也是v-min(r,g,b),分母变小就导致色调h对分子的变化更为敏感,所以当饱和度较小时,色调h的计算往往带有很大的“跳变”。所以,这种识别方法的结果存在不可靠性。
4.此外,传统的yolov5模型采用的backbone骨干网络(用来提取图像特征的网络)一般是resnet网络或者是cspdarknet53网络,该模型的图像识别存在着一定的错误率。
技术实现要素:
5.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于改进yolov5的红绿灯检测方法、系统、设备及介质,克服了利用hsv色彩空间进行红绿灯识别本身所存在的不可靠性,提高红绿灯识别的准确率及速度;进一步降低传统yolov5模型识别的错误率。
6.为了达到上述目的,本发明采用以下技术方案:
7.第一方面,本发明提供了一种基于改进yolov5的红绿灯检测方法,包括下述步骤:
8.获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;
9.构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用inception-resnet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型的骨干网络包括stem模块、inception-resnet-a模块、reduction-a模块、inception-resnet-b模块、reduction-b模块以及进入inception-resnet-c模块,所述stem模块用于对进入inception模块前的数据进行预处理,所述inception-resnet-a模块用于对输入的结果先进行6次卷积处理,再将处理结果进行堆叠;所述reduction-a模块用于对来自上一层的输入进行4次卷积处理以及最大值池化处理;所述inception-resnet-b模块用于对来自上一层的输入进行4次卷积处理,再将处理结果进行堆叠,所述reduction-b模块用于对来自上一层的输入进行7次卷积处理以及最大值池化
处理,所述inception-resnet-c模块用于对来自上一层的输入进行5次卷积处理,再将处理结果进行堆叠;
10.将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。
11.作为优选的技术方案,在预处理的过程中,对所述红绿灯图片数据进行标注,获得目标的类别标签信息,整理制作成红绿灯图片检测数据集。
12.作为优选的技术方案,所述构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型,具体为:
13.将yolov5模型原来的input修改为299x299x3;
14.将input的数据通过stem模块进行处理,具体处理过程为:先将input数据进行三次卷积核为3x3的二维卷积,然后再进行最大池化,最大池化后再进行两次卷积处理,然后再进行四次分支处理,最后将这四个分支进行堆叠,输入的图像尺寸由原来的299x299x3变为35x35x256;
15.在通过stem模块处理后,进入inception-resnet-a模块进行处理,具体处理过程为:inception-resnet-a模块的结构分为4个分支,分别为未经处理直接输出、经过一次1x1的32通道的卷积处理、经过一次1x1的32通道的卷积处理和一次3x3的32通道的卷积处理、经过一次1x1的32通道的卷积处理与一次3x3的48通道和一次3x3的64通道卷积处理这四个分支,将后三个分支的处理结果堆叠后进行一次卷积,然后再与第一个分支的结果相加,最后得出处理结果;
16.进入reduction-a模块处理,所述reduction-a模块分为最大池化操作、1次卷积核为3x3的卷积处理和3次卷积处理这3个分支,将这3个分支处理后的结果按维数1进行拼接,拼接后数据就由原来的35x35x256变为17x17x896;
17.进入inception-resnet-b模块处理,所述inception-resnet-b模块分为未经处理直接输出,经过一次1x1的192通道的卷积处理,经过一次1x1的128通道的卷积处理、一次1x7的160通道的卷积处理和一次7x1的192通道的卷积处理这3个分支;将第2个分支和第3个分支的处理结果堆叠后进行一次卷积,再与第一个分支的处理结果相加;
18.进入reduction-b模块处理,所述reduction-b模块分为最大池化操作,一次1x1的通道数为256的卷积操作和一次3x3的通道数为384的卷积操作,一次1x1的通道数为256的卷积操作和一次3x3的通道数为288的卷积操作,一次1x1的通道数为256的卷积操作、一次3x3的通道数为288的卷积操作以及一次3x3的通道数为320的卷积操作这4个分支,将这个分支得到的处理结果按维数1进行拼接,拼接后数据就由原来的17x17x896变为8x8x1792;
19.进入inception-resnet-c模块处理,所述inception-resnet-c模块分为未经处理直接输出,经过一次1x1的192通道的卷积处理,经过一次1x1的192通道的卷积处理、一次1x3的224通道的卷积处理和一次3x1的256通道的卷积处理这3个分支,将第2个分支和第3个分支的处理结果堆叠后进行一次卷积,再与第一个分支的处理结果相加;
20.在经过上述操作后,进行二维平均池化操作,设置kernel_size参数的值为8,处理后输出数据为1792。
21.作为优选的技术方案,在stem模块处理过程中,在进行最大池化时设置kernel_size参数的值为3,stride参数的值为2。
22.作为优选的技术方案,所述reduction-a模块处理过程中,第一次是卷积核为1x1的卷积处理,第2次和第3次卷积操作的卷积核为3x3。
23.作为优选的技术方案,所述stem模块处理过程、inception-resnet-b模块、inception-resnet-c模块均需重复多次。
24.作为优选的技术方案,将yolov5模型的骨干网络换成inception-resnet v2网络后,修改原始yolov5模型的models文件夹下的任意一个yaml文件,将yaml文件中的depth_multiple参数的值修改为0.5,width_multiple的值修改为1,然后将backbone部分修改为7层,从第0层到第6层分别为stem模块处理层、inception-resnet-a模块处理层、reduction-a模块处理层、inception-resnet-b模块处理层、reduction-b模块处理层、inception-resnet-c模块处理层以及二维平均池化操作层。
25.第二方面,本发明提供了一种基于改进yolov5的红绿灯检测系统,应用于所述的基于改进yolov5的红绿灯检测方法,包括数据获取模块、模型构建模块以及检测模块;
26.所述数据获取模块,用于获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;
27.所述模型构建模块,用于构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用inception-resnet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型的骨干网络包括stem模块、inception-resnet-a模块、reduction-a模块、inception-resnet-b模块、reduction-b模块以及进入inception-resnet-c模块,所述stem模块用于对进入inception模块前的数据进行预处理,所述inception-resnet-a模块用于对输入的结果先进行6次卷积处理,再将处理结果进行堆叠;所述reduction-a模块用于对来自上一层的输入进行4次卷积处理以及最大值池化处理;所述inception-resnet-b模块用于对来自上一层的输入进行4次卷积处理,再将处理结果进行堆叠,所述reduction-b模块用于对来自上一层的输入进行7次卷积处理以及最大值池化处理,所述inception-resnet-c模块用于对来自上一层的输入进行5次卷积处理,再将处理结果进行堆叠;
28.所述检测模块,用于将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。
29.第三方面,本发明提供了一种电子设备,所述电子设备包括:
30.至少一个处理器;以及,
31.与所述至少一个处理器通信连接的存储器;其中,
32.所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于改进yolov5的红绿灯检测方法。
33.第四方面,本发明提供了一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于改进yolov5的红绿灯检测方法。
34.本发明与现有技术相比,具有如下优点和有益效果:
35.本发明使用的inception-resnet v2网络就是将inception网络和resnet网络这两种网络的优势进行结合的一种网络。利用用inception-resnet v2网络替换掉原始yolov5模型中的resnet网络等骨干网络,相比于原始的yolov5模型,本发明这种改进的
yolov5模型具有识别错误率更低、更加高效的优点。同时,相比于传统的利用hsv色彩空间进行红绿灯识别,本发明的方法具有精确度更高、识别效果更可靠、识别误差更小的优点。
附图说明
36.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1为本发明实施例基于改进yolov5的红绿灯检测方法的流程图;
38.图2为本发明实施例改进后的yolov5的骨干网络结构图;
39.图3为本发明实施例基于改进yolov5的红绿灯检测系统的方框图。
40.图4为本发明实施例电子设备的结构图。
具体实施方式
41.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
42.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
43.在深度网络中大部分的激活值是不必要的(为0),或者由于相关性是冗余。因此,最高效的深度网络架构应该是激活值之间是稀疏连接的,inception网络就是使用密集结构来近似一个稀疏的cnn。此外,inception网络还使用了一种瓶颈层(实际上就是1x1卷积)来降低输入的通道数,从而降低计算量。该网络在最后的的卷积层后使用全局均值池化层替换了全连接层,大大减少了模型的总参数量。
44.resnet网络的优点是既可以加速训练,还可以提升性能(防止梯度弥散)。
45.请参阅图1,本实施例提供的一种基于改进yolov5的红绿灯检测方法,包括下述步骤:
46.s1、采集至少约2万张的红绿灯图片(其中训练集至少16000张,测试集至少4000张图片),使用lableme软件对这些图片进行标注,获得目标的类别标签信息,整理制作成红绿灯识别的数据集。
47.s2、将yolov5模型的骨干网络替换为inception-resnet v2,具体实现步骤如下:
48.s21、将yolov5原来的input修改为299x299x3;
49.s22、将input的数据通过stem模块进行处理,具体处理过程为:先将input数据进行三次卷积核为3x3的二维卷积,然后再进行最大池化(在进行最大池化时可以设置kernel_size参数的值为3,stride参数的值为2),最大池化后再进行两次卷积处理(此时通道数为64),然后再进行四次分支处理。四次分支处理后输出的通道数分别为64、96、64、96,
最后将这四个分支进行堆叠,输入的图像尺寸就由原来的299x299x3变为35x35x256。
50.s23、在通过stem模块处理后,进入inception-resnet-a模块进行处理。具体处理过程为:inception-resnet-a模块的结构分为4个分支,分别为未经处理直接输出、经过一次1x1的32通道的卷积处理、经过一次1x1的32通道的卷积处理和一次3x3的32通道的卷积处理、经过一次1x1的32通道的卷积处理与一次3x3的48通道和一次3x3的64通道卷积处理这四个分支。将后三个分支的处理结果堆叠后进行一次卷积,然后再与第一个分支的结果相加,最后得出处理结果。此模块需要循环5次操作。
51.s24、进入reduction-a模块处理,此模块分为最大池化操作、1次卷积核为3x3的卷积处理和3次卷积处理(第一次是卷积核为1x1的卷积处理,第2次和第3次卷积操作的卷积核为3x3)这3个分支。将这3个分支处理后的结果按维数1进行拼接,拼接后数据就由原来的35x35x256变为17x17x896。
52.s25、进入inception-resnet-b模块处理,此模块分为未经处理直接输出,经过一次1x1的192通道的卷积处理,经过一次1x1的128通道的卷积处理、一次1x7的160通道的卷积处理和一次7x1的192通道的卷积处理这3个分支。将第2个分支和第3个分支的处理结果堆叠后进行一次卷积,再与第一个分支的处理结果相加。重复这个模块的操作10次。
53.s26、进入reduction-b模块处理,此模块分为最大池化操作,一次1x1的通道数为256的卷积操作和一次3x3的通道数为384的卷积操作,一次1x1的通道数为256的卷积操作和一次3x3的通道数为288的卷积操作,一次1x1的通道数为256的卷积操作、一次3x3的通道数为288的卷积操作以及一次3x3的通道数为320的卷积操作这4个分支。将这个分支得到的处理结果按维数1进行拼接,拼接后数据就由原来的17x17x896变为8x8x1792。
54.s27、进入inception-resnet-c模块处理,此模块分为未经处理直接输出,经过一次1x1的192通道的卷积处理,经过一次1x1的192通道的卷积处理、一次1x3的224通道的卷积处理和一次3x1的256通道的卷积处理这3个分支。将第2个分支和第3个分支的处理结果堆叠后进行一次卷积,再与第一个分支的处理结果相加。重复这个模块的操作5次。
55.s28、在经过上述操作后,进行二维平均池化操作,可以设置kernel_size参数的值为8,处理后输出数据为1792。
56.s3、在将yolov5的骨干网络换成inception-resnet v2网络后,修改原始yolov5模型的models文件夹下的任意一个yaml文件,可以将yaml文件中的depth_multiple参数的值修改为0.5,width_multiple的值修改为1,然后可以将backbone部分修改为7层,从第0层到第6层分别为stem模块处理层、inception-resnet-a模块处理层、reduction-a模块处理层、inception-resnet-b模块处理层、reduction-b模块处理层、inception-resnet-c模块处理层以及二维平均池化操作层。从第0层到第6层的number参数的值可以分别设为2、10、2、20、2、10,经过网络计算最终各层的number参数(从第0层到第6层)的值分别为2x 0.5=1、10x 0.5=5、2x 0.5=1、20x 0.5=10、2x 0.5=1、10x 0.5=5。
57.s4、保留yolov5模型原始的其他部分不变。
58.s5、使用改进后的yolov5模型训练红绿灯数据集,在数据集数量约为2万张的情况下,可以选择训练次数为100次左右,以保证训练结果能够趋于拟合,训练效果达到最佳,不会出现过拟合的情况。
59.需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的
动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
60.基于与上述实施例中的基于改进yolov5的红绿灯检测方法相同的思想,本发明还提供了基于改进yolov5的红绿灯检测系统,该系统可用于执行上述基于改进yolov5的红绿灯检测方法。为了便于说明,基于改进yolov5的红绿灯检测系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
61.请参阅图3,在本技术的另一个实施例中,提供了一种基于改进yolov5的红绿灯检测系统100,该系统包括数据获取模块101、模型构建模块102以及检测模块103;
62.所述数据获取模块101,用于获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;
63.所述模型构建模块102,用于构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用inception-resnet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型包括stem模块、inception-resnet-a模块、reduction-a模块、inception-resnet-b模块、reduction-b模块以及进入inception-resnet-c模块,所述stem模块用于对进入inception模块前的数据进行预处理,所述inception-resnet-a模块用于对输入的结果先进行6次卷积处理,再将处理结果进行堆叠;所述reduction-a模块用于对来自上一层的输入进行4次卷积处理以及最大值池化处理;所述inception-resnet-b模块用于对来自上一层的输入进行4次卷积处理,再将处理结果进行堆叠,所述reduction-b模块用于对来自上一层的输入进行7次卷积处理以及最大值池化处理,所述inception-resnet-c模块用于对来自上一层的输入进行5次卷积处理,再将处理结果进行堆叠;
64.所述检测模块103,用于将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。
65.需要说明的是,本发明的基于改进yolov5的红绿灯检测系统与本发明的基于改进yolov5的红绿灯检测方法一一对应,在上述基于改进yolov5的红绿灯检测方法的实施例阐述的技术特征及其有益效果均适用于基于改进yolov5的红绿灯检测的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
66.此外,上述实施例的基于改进yolov5的红绿灯检测系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于改进yolov5的红绿灯检测系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
67.请参阅图4,在一个实施例中,提供了一种实现基于改进yolov5的红绿灯检测方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如基于改进yolov5的红绿灯检测程序203。
68.其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光
盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(securedigital,sd)卡、闪存卡(flash card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如基于改进yolov5的红绿灯检测程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
69.所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块,以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
70.图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
71.所述电子设备200中的所述第一存储器202存储的基于改进yolov5的红绿灯检测程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:
72.获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;
73.构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用inception-resnet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型包括stem模块、inception-resnet-a模块、reduction-a模块、inception-resnet-b模块、reduction-b模块以及进入inception-resnet-c模块,所述stem模块用于对进入inception模块前的数据进行预处理,所述inception-resnet-a模块用于对输入的结果先进行6次卷积处理,再将处理结果进行堆叠;所述reduction-a模块用于对来自上一层的输入进行4次卷积处理以及最大值池化处理;所述inception-resnet-b模块用于对来自上一层的输入进行4次卷积处理,再将处理结果进行堆叠,所述reduction-b模块用于对来自上一层的输入进行7次卷积处理以及最大值池化处理,所述inception-resnet-c模块用于对来自上一层的输入进行5次卷积处理,再将处理结果进行堆叠;
74.将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。
75.进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
76.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取
存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
77.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
78.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
技术特征:
1.基于改进yolov5的红绿灯检测方法,其特征在于,包括下述步骤:获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用inception-resnet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型的骨干网络包括stem模块、inception-resnet-a模块、reduction-a模块、inception-resnet-b模块、reduction-b模块以及进入inception-resnet-c模块,所述stem模块用于对进入inception模块前的数据进行预处理,所述inception-resnet-a模块用于对输入的结果先进行6次卷积处理,再将处理结果进行堆叠;所述reduction-a模块用于对来自上一层的输入进行4次卷积处理以及最大值池化处理;所述inception-resnet-b模块用于对来自上一层的输入进行4次卷积处理,再将处理结果进行堆叠,所述reduction-b模块用于对来自上一层的输入进行7次卷积处理以及最大值池化处理,所述inception-resnet-c模块用于对来自上一层的输入进行5次卷积处理,再将处理结果进行堆叠;将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。2.根据权利要求1所述的基于改进yolov5的红绿灯检测方法,其特征在于,在预处理的过程中,对所述红绿灯图片数据进行标注,获得目标的类别标签信息,整理制作成红绿灯图片检测数据集。3.根据权利要求1所述的基于改进yolov5的红绿灯检测方法,其特征在于,所述构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型,具体为:将yolov5模型原来的input修改为299x299x3;将input的数据通过stem模块进行处理,具体处理过程为:先将input数据进行三次卷积核为3x3的二维卷积,然后再进行最大池化,最大池化后再进行两次卷积处理,然后再进行四次分支处理,最后将这四个分支进行堆叠,输入的图像尺寸由原来的299x299x3变为35x35x256;在通过stem模块处理后,进入inception-resnet-a模块进行处理,具体处理过程为:inception-resnet-a模块的结构分为4个分支,分别为未经处理直接输出、经过一次1x1的32通道的卷积处理、经过一次1x1的32通道的卷积处理和一次3x3的32通道的卷积处理、经过一次1x1的32通道的卷积处理与一次3x3的48通道和一次3x3的64通道卷积处理这四个分支,将后三个分支的处理结果堆叠后进行一次卷积,然后再与第一个分支的结果相加,最后得出处理结果;进入reduction-a模块处理,所述reduction-a模块分为最大池化操作、1次卷积核为3x3的卷积处理和3次卷积处理这3个分支,将这3个分支处理后的结果按维数1进行拼接,拼接后数据就由原来的35x35x256变为17x17x896;进入inception-resnet-b模块处理,所述inception-resnet-b模块分为未经处理直接输出,经过一次1x1的192通道的卷积处理,经过一次1x1的128通道的卷积处理、一次1x7的160通道的卷积处理和一次7x1的192通道的卷积处理这3个分支;将第2个分支和第3个分支的处理结果堆叠后进行一次卷积,再与第一个分支的处理结果相加;
进入reduction-b模块处理,所述reduction-b模块分为最大池化操作,一次1x1的通道数为256的卷积操作和一次3x3的通道数为384的卷积操作,一次1x1的通道数为256的卷积操作和一次3x3的通道数为288的卷积操作,一次1x1的通道数为256的卷积操作、一次3x3的通道数为288的卷积操作以及一次3x3的通道数为320的卷积操作这4个分支,将这个分支得到的处理结果按维数1进行拼接,拼接后数据就由原来的17x17x896变为8x8x1792;进入inception-resnet-c模块处理,所述inception-resnet-c模块分为未经处理直接输出,经过一次1x1的192通道的卷积处理,经过一次1x1的192通道的卷积处理、一次1x3的224通道的卷积处理和一次3x1的256通道的卷积处理这3个分支,将第2个分支和第3个分支的处理结果堆叠后进行一次卷积,再与第一个分支的处理结果相加;在经过上述操作后,进行二维平均池化操作,设置kernel_size参数的值为8,处理后输出数据为1792。4.根据权利要求3所述的基于改进yolov5的红绿灯检测方法,其特征在于,在stem模块处理过程中,在进行最大池化时设置kernel_size参数的值为3,stride参数的值为2。5.根据权利要求3所述的基于改进yolov5的红绿灯检测方法,其特征在于,所述reduction-a模块处理过程中,第一次是卷积核为1x1的卷积处理,第2次和第3次卷积操作的卷积核为3x3。6.根据权利要求3所述的基于改进yolov5的红绿灯检测方法,其特征在于,所述stem模块处理过程、inception-resnet-b模块、inception-resnet-c模块均需重复多次。7.根据权利要求1所述的基于改进yolov5的红绿灯检测方法,其特征在于,将yolov5模型的骨干网络换成inception-resnet v2网络后,修改原始yolov5模型的models文件夹下的任意一个yaml文件,将yaml文件中的depth_multiple参数的值修改为0.5,width_multiple的值修改为1,然后将backbone部分修改为7层,从第0层到第6层分别为stem模块处理层、inception-resnet-a模块处理层、reduction-a模块处理层、inception-resnet-b模块处理层、reduction-b模块处理层、inception-resnet-c模块处理层以及二维平均池化操作层。8.基于改进yolov5的红绿灯检测系统,其特征在于,应用于权利要求1-7中任一项所述的基于改进yolov5的红绿灯检测方法,包括数据获取模块、模型构建模块以及检测模块;所述数据获取模块,用于获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;所述模型构建模块,用于构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用inception-resnet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型的骨干网络包括stem模块、inception-resnet-a模块、reduction-a模块、inception-resnet-b模块、reduction-b模块以及进入inception-resnet-c模块,所述stem模块用于对进入inception模块前的数据进行预处理,所述inception-resnet-a模块用于对输入的结果先进行6次卷积处理,再将处理结果进行堆叠;所述reduction-a模块用于对来自上一层的输入进行4次卷积处理以及最大值池化处理;所述inception-resnet-b模块用于对来自上一层的输入进行4次卷积处理,再将处理结果进行堆叠,所述reduction-b模块用于对来自上一层的输入进行7次卷积处理以及最大值池化处理,所述inception-resnet-c模块用于对来自上一层的输入进行5次卷积
处理,再将处理结果进行堆叠;所述检测模块,用于将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任意一项所述的基于改进yolov5的红绿灯检测方法。10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7任一项所述的基于改进yolov5的红绿灯检测方法。
技术总结
本发明公开了一种基于改进yolov5的红绿灯检测方法、系统、设备及介质,方法包括:获取红绿灯图片数据并进行预处理,构建红绿灯图片检测数据集;构建改进的yolov5模型训练所述红绿灯图片检测数据集,得到训练好的改进的yolov5模型;所述改进的yolov5模型是用Inception-ResNet v2网络替换掉原始yolov5的骨干网络;所述改进后yolov5模型骨干网络包括Stem模块、Inception-resnet-A模块、Reduction-A模块、Inception-resnet-B模块、Reduction-B模块以及进入Inception-resnet-C模块;将待检测的红绿灯图片输入至所述训练好的改进的yolov5模型进行检测,输出检测结果。本发明基于改进的yolov5模型对红绿灯图像具有识别错误率更低、更加高效的优点。更加高效的优点。更加高效的优点。
技术研发人员:李康顺 李婷婷 李丹丹 郑俊锋 张昱
受保护的技术使用者:东莞城市学院
技术研发日:2023.04.25
技术公布日:2023/8/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/