一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

交通灯的分类方法、分类装置、电子设备及存储介质与流程

2022-03-08 22:33:45 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,具体涉及一种交通灯的分类方法、分类装置、电子设备及存储介质。


背景技术:

2.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
3.在道路要素检测识别项目中,我们需要检测出道路图片上出现的所有交通灯。然而,由于交通灯普遍呈长条形且在整张图片中占比很小,因此使用现有成熟算法很难将同一场景内的所有交通灯都检测出来。现有技术中红绿灯只通过一个检测器进行检测,由于检测网络模型检测视野有限,而大部分的红绿灯在图片视野中一般很小,因此一个检测网络模型直接检测的做法容易导致错检漏检,交通灯分类准确度不高。
4.也即现有技术中交通灯分类准确度不高。


技术实现要素:

5.本技术旨在提供一种交通灯的分类方法、分类装置、电子设备及存储介质,旨在解决现有技术中交通灯分类准确度不高的问题。
6.一方面,本技术提供一种交通灯的分类方法,所述交通灯的分类方法包括:
7.获取第一交通灯图像;
8.对所述第一交通灯图像进行交通灯检测,得到多个第一目标检测框;
9.对所述多个第一目标检测框进行聚类,得到第二交通灯图像;
10.对所述第二交通灯图像进行交通灯检测,得到多个第二目标检测框;
11.基于所述多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
12.其中,所述对所述第二交通灯图像进行交通灯检测,得到多个第二目标检测框,包括:
13.获取预设的目标检测网络模型,其中,所述目标检测网络模型的卷积层的卷积核的尺寸为a*a,a为大于0的整数;
14.将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,得到所述第二交通灯检测模型,其中,b1与h1不相等,h1和b1均为大于0的整数;
15.基于所述第二交通灯检测模型对所述第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
16.其中,所述基于所述多个第二目标检测框进行交通灯分类,得到交通灯分类结果,
包括:
17.将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b2*h2,得到第三交通灯检测模型,其中,当b1小于h1时,设置b2大于h2,当b1大于h1时,设置b2小于h2,h2和b2均为大于0的整数;
18.基于所述第三交通灯检测模型对所述第二交通灯图像进行交通灯检测,得到多个第三目标检测框;
19.基于所述多个第二目标检测框和所述多个第三目标检测框进行交通灯分类,得到交通灯分类结果。
20.其中,所述基于所述多个第二目标检测框和所述多个第三目标检测框进行交通灯分类,得到交通灯分类结果,包括:
21.基于所述目标检测网络模型对所述第二交通灯图像进行交通灯检测,得到多个第四目标检测框;
22.基于所述多个第二目标检测框、所述多个第三目标检测框以及所述多个第四目标检测框进行交通灯分类,得到交通灯分类结果。
23.其中,所述将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,得到所述第二交通灯检测模型,包括:
24.将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,将所述目标检测网络模型中锚框数量减少至第一预设值,得到所述第二交通灯检测模型。
25.其中,所述对所述多个第一目标检测框进行聚类,得到第二交通灯图像,包括:
26.获取所述多个第一目标检测框的预测置信度;
27.基于所述多个第一目标检测框的预测置信度从所述多个第一目标检测框中筛选出预设数量的第一目标检测框,作为第五目标检测框;
28.对所述第五目标检测框进行聚类,得到第二交通灯图像。
29.其中,所述基于所述多个第二目标检测框进行交通灯分类,得到交通灯分类结果,包括:
30.基于非极大值抑制算法去除所述多个第二目标检测框中的冗余框,得到目标预测边框,其中,所述非极大值抑制算法采用diou为距离度量;
31.基于所述目标预测边框进行交通灯分类,得到交通灯分类结果。
32.其中,所述基于第二交通灯检测模型对所述第二交通灯图像进行交通灯检测,得到多个第二目标检测框,包括:
33.将所述第二交通灯图像按预设比例放大,得到放大后的第二交通灯图像;
34.将放大后的第二交通灯图像输入第二交通灯检测模型进行交通灯检测,得到多个第二目标检测框。
35.其中,所述基于目标预测边框进行交通灯分类,得到交通灯分类结果,包括:
36.获取拍摄的原始交通灯图像;
37.基于交通灯上灯具的数量、交通灯上显示的图案以及交通灯呈现的颜色对原始交通灯进行标注,得到交通灯训练集;
38.利用所述交通灯训练集对交通灯分类模型进行训练,得到训练后的交通灯分类模型;
39.将所述目标预测边框输入至所述训练后的交通灯分类模型,得到交通灯分类结果。
40.一方面,本技术提供一种交通灯的分类装置,所述交通灯的分类装置包括:
41.获取单元,用于获取第一交通灯图像;
42.第一检测单元,用于对所述第一交通灯图像进行交通灯检测,得到多个第一目标检测框;
43.聚类单元,用于对所述多个第一目标检测框进行聚类,得到第二交通灯图像;
44.第二检测单元,用于对所述第二交通灯图像进行交通灯检测,得到多个第二目标检测框;
45.分类单元,用于基于所述多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
46.其中,所述第二检测单元,还用于获取预设的目标检测网络模型,其中,所述目标检测网络模型的卷积层的卷积核的尺寸为a*a,a为大于0的整数;
47.将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,得到所述第二交通灯检测模型,其中,b1与h1不相等,h1和b1均为大于0的整数;
48.基于所述第二交通灯检测模型对所述第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
49.其中,所述分类单元,还用于将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b2*h2,得到第三交通灯检测模型,其中,当b1小于h1时,设置b2大于h2,当b1大于h1时,设置b2小于h2,h2和b2均为大于0的整数;
50.基于所述第三交通灯检测模型对所述第二交通灯图像进行交通灯检测,得到多个第三目标检测框;
51.基于所述多个第二目标检测框和所述多个第三目标检测框进行交通灯分类,得到交通灯分类结果。
52.其中,所述分类单元,还用于基于所述目标检测网络模型对所述第二交通灯图像进行交通灯检测,得到多个第四目标检测框;
53.基于所述多个第二目标检测框、所述多个第三目标检测框以及所述多个第四目标检测框进行交通灯分类,得到交通灯分类结果。
54.其中,所述第二检测单元,还用于将所述目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,将所述目标检测网络模型中锚框数量减少至第一预设值,得到所述第二交通灯检测模型。
55.其中,所述聚类单元,还用于获取所述多个第一目标检测框的预测置信度;
56.基于所述多个第一目标检测框的预测置信度从所述多个第一目标检测框中筛选出预设数量的第一目标检测框,作为第五目标检测框;
57.对所述第五目标检测框进行聚类,得到第二交通灯图像。
58.其中,所述分类单元,还用于基于非极大值抑制算法去除所述多个第二目标检测框中的冗余框,得到目标预测边框,其中,所述非极大值抑制算法采用diou为距离度量;
59.基于所述目标预测边框进行交通灯分类,得到交通灯分类结果。
60.其中,所述第二检测单元,还用于将所述第二交通灯图像按预设比例放大,得到放
大后的第二交通灯图像;
61.将放大后的第二交通灯图像输入第二交通灯检测模型进行交通灯检测,得到多个第二目标检测框。
62.其中,所述分类单元,还用于获取拍摄的原始交通灯图像;
63.基于交通灯上灯具的数量、交通灯上显示的图案以及交通灯呈现的颜色对原始交通灯进行标注,得到交通灯训练集;
64.利用所述交通灯训练集对交通灯分类模型进行训练,得到训练后的交通灯分类模型;
65.将所述目标预测边框输入至所述训练后的交通灯分类模型,得到交通灯分类结果。
66.一方面,本技术还提供一种电子设备,所述电子设备包括:
67.一个或多个处理器;
68.存储器;以及
69.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的交通灯的分类方法。
70.一方面,本技术还提供一种电子设备,所述电子设备包括:
71.一个或多个处理器;
72.存储器;以及
73.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的交通灯的分类方法。
74.一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的交通灯的分类方法中的步骤。
75.本技术提供一种交通灯的分类方法,先对第一交通灯图像进行交通灯检测,得到多个第一目标检测框,从而初步确定交通灯的位置,然后对多个第一目标检测框聚类得到第二交通灯图像,第二交通灯图像上的交通灯占比会大于交通灯在第一交通灯图像中的占比,因此对第二交通灯图像进行交通灯检测不再是小目标检测,交通灯更容易被检测出来,从而能够提高交通灯分类的准确度。
附图说明
76.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
77.图1为本技术实施例所提供的交通灯的分类系统的场景示意图;
78.图2是本技术实施例提供的交通灯的分类方法的一个实施例流程示意图;
79.图3是本技术实施例提供的交通灯的分类方法的另一个实施例流程示意图;
80.图4是本技术实施例中提供的交通灯的分类装置一个实施例结构示意图;
81.图5是本技术实施例中提供的电子设备的一个实施例结构示意图。
具体实施方式
82.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
83.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
84.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
85.需要说明的是,本技术实施例方法由于是在电子设备中执行,各电子设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。
86.本技术实施例提供一种交通灯的分类方法、分类装置、电子设备及存储介质,以下分别进行详细说明。
87.请参阅图1,图1为本技术实施例所提供的交通灯的分类系统的场景示意图,该交通灯的分类系统可以包括电子设备100,电子设备100中集成有交通灯的分类装置,如图1中的电子设备。
88.本技术实施例中,该电子设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的电子设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloud computing)的大量计算机或网络服务器构成。
89.本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本技术方案一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的电子设备,例如图1中仅示出1个电子设备,可以理解的,该交通灯的分类系统还可以包括一个或多个其他服务,具体此处不作限定。
90.另外,如图1所示,该交通灯的分类系统还可以包括存储器200,用于存储数据,如存储数据,例如训练数据等。
91.需要说明的是,图1所示的交通灯的分类系统的场景示意图仅仅是一个示例,本技术实施例描述的交通灯的分类系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着交通灯的分类系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
92.首先,本技术实施例中提供一种交通灯的分类方法,该交通灯的分类方法的执行主体为交通灯的分类装置,该交通灯的分类装置应用于电子设备,该交通灯的分类方法包括:
93.获取第一交通灯图像;
94.对第一交通灯图像进行交通灯检测,得到多个第一目标检测框;
95.对多个第一目标检测框进行聚类,得到第二交通灯图像;
96.对第二交通灯图像进行交通灯检测,得到多个第二目标检测框;
97.基于多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
98.参阅图2,图2是本技术实施例提供的交通灯的分类方法的一个实施例流程示意图。如图2所示,该交通灯的分类方法包括:
99.s201、获取第一交通灯图像。
100.本技术实施例中,交通灯有两种,给机动车看的叫机动车灯,通常指由红、黄、绿三种颜色灯组成用来指挥交通通行的信号灯。绿灯亮时,准许车辆通行,黄灯闪烁时,已越过停止线的车辆可以继续通行;没有通过的应该减速慢行到停车线前停止并等待,红灯亮时,禁止车辆通行。给行人看的叫人行横道灯,通常指由红、绿二种颜色灯组成用来指挥交通通行的信号灯,红灯停,绿灯行。第一交通灯图像可以是相机、行车记录仪等拍摄的交通灯的图片,第一交通灯图像中可能存在1个或多个交通灯。
101.s202、对第一交通灯图像进行交通灯检测,得到多个第一目标检测框。
102.本技术实施例中,将第一交通灯图像输入第一交通灯检测模型进行交通灯检测,得到多个第一目标检测框。具体的,第一交通灯检测模型为经过交通灯训练集训练过的交通灯检测模型。其中,第一交通灯检测模型可以是ssd(single shot multibox detector,单射探测器),也可以是yolov3-tiny。ssd是2016年iccv的一篇论文,是目前为止主要的目标检测算法。算法的主要优点:速度比faster-rcnn快,精度比yolo高。在兼顾速度的同时,精度也很高。为提高准确率在不同特征图下面进行结果的预测,特征金字塔预测方式。采用了end-to-end的训练方式,即使分辨率比较小的图片,分类结果也很准确。yolo(you only look once)是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时系统。现在yolo已经发展到v3版本。yolov3-tiny就是在yolov3的基础上去掉了一些特征层,只保留了2个独立预测分支。
103.根据yolo的设计,输入图像被划分为7*7的网格(grid),输出张量中的7*7就对应着输入图像的7*7网格。或者我们把7*7*30的张量看作7*7=49个30维的向量,也就是输入图像中的每个网格对应输出一个30维的向量。将第一交通灯图像输入第一交通灯检测模型进行交通灯检测,第一交通灯检测模型会对第一交通灯图像中每个网格预测固定数量的第一目标检测框和第一目标检测框的预测置信度,因此可以得到多个第一目标检测框。
104.s203、对多个第一目标检测框进行聚类,得到第二交通灯图像。
105.本技术实施例中,利用k均值聚类算法对多个第一目标检测框进行聚类,得到第二交通灯图像。k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预将数据分为k组,则随机选取k个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
106.具体的,对多个第一目标检测框进行聚类,得到聚类检测框,从第一交通灯图像中将聚类检测框中的图像提取出来,得到第二交通灯图像。
107.一般而言,交通灯在第一交通灯图像中的占比较小,属于小目标检测,不容易被检测出来,因此,先对第一交通灯图像进行交通灯初步检测,得到的第一目标检测框很有可能就是交通灯所在位置。通过对第一目标检测框进行聚类,得到第二交通灯图像,第二交通灯图像上的交通灯占比会大于交通灯在第一交通灯图像中的占比,因此对第二交通灯图像进行交通灯检测不再是小目标检测,更容易被检测出来。
108.在一个具体的实施例中,对多个第一目标检测框进行聚类,得到第二交通灯图像,包括:
109.(1)获取多个第一目标检测框的预测置信度。
110.第一交通灯检测模型对第一交通灯图像进行交通灯检测会输出多个第一目标检测框和多个第一目标检测框的预测置信度。从第一交通灯检测模型的输出结果中获取多个第一目标检测框的预测置信度。例如,目标检测框a,预测置信度0.7;目标检测框b,预测置信度0.6;目标检测框c,预测置信度0.5。
111.(2)基于多个第一目标检测框的预测置信度从多个第一目标检测框中筛选出预设数量的第一目标检测框,作为第五目标检测框。
112.其中,预设数量可以是50,100,200等,根据具体情况设定,预设数量小于多个第一目标检测框的数量。具体的,将多个第一目标检测框按预测置信度从高到低进行排序,将排序位置靠前的预设数量的第一目标检测框筛选出来,得到预设数量的第五目标检测框。
113.例如,目标检测框a,预测置信度0.7;目标检测框b,预测置信度0.6;目标检测框c,预测置信度0.5。预设数量为2,则预设数量的第五目标检测框为目标检测框a和目标检测框b。
114.(3)对第五目标检测框进行聚类得到第二交通灯图像。
115.具体的,利用k均值聚类算法对预设数量的第五目标检测框进行聚类,得到第二交通灯图像。从多个第一目标检测框筛选出一部分后得到预设数量的第五目标检测框进行聚类,得到第二交通灯图像。
116.优选地,利用k均值聚类算法对预设数量的第五目标检测框进行聚类,得到正方形的第二交通灯图像。第二交通灯图像的边长为可变参数,例如设置为320。具体的,对预设数量的第五目标检测框进行聚类,得到正方形的聚类检测框,从第一交通灯图像中将正方形的聚类检测框中的图像提取出来,得到正方形的第二交通灯图像。
117.s204、对第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
118.需要说明的是,聚类得到的第二交通灯图像可能是1个,也可以能是多个。当第二交通灯图像数量为多个时,分别对多个第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
119.本技术实施例中,在对第二交通灯图像进行交通灯检测,得到多个第二目标检测框,包括:
120.(1)获取预设的目标检测网络模型。
121.预设的目标检测网络模型可以为yolov1,yolov2,yolov3等,本技术以预设的目标检测网络模型为yolov3进行说明。其中,目标检测网络模型的卷积层的卷积核的尺寸为a*a,a为大于0的整数。第一交通灯检测模型可以是目标检测网络模型,第一交通灯检测模型也可以是检测层数量少于目标检测网络模型的检测模型。
122.(2)将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,得到第二交通灯检测模型。
123.在一个具体的实施例中,将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,得到第二交通灯检测模型,其中,b1与h1不相等,h1和b1均为大于0的整数。yolov3中的卷积层的卷积核尺寸一般为3*3。例如,将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为1*3或者3*1。即第二交通灯检测模型采用矩形的卷积核,对检测窄长型的交通灯具有较好的检测效果。
124.随着输出的特征图的数量和尺度的变化,锚框的尺寸也需要相应的调整。yolov2已经开始采用k均值聚类算法得到锚框的尺寸,yolov3延续了这种方法,为每种下采样尺度设定3种锚框,总共聚类出9种尺寸的锚框。在coco数据集这9个锚框是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。
125.在另一个具体实施例中,将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,将目标检测网络模型中锚框数量减少至第一预设值,得到第二交通灯检测模型。第一预设值根据具体情况设定。例如,将yolov3中9个锚框减少至3个,长宽比分别为:1:1,1:2,1:3。
126.进一步的,将目标检测网络模型中检测层的数量减少至第二预设值,得到第二交通灯检测模型。第二预设值根据具体情况设定。yolov3中的检测层的数量一般为3个。例如,将目标检测网络模型中检测层的数量减少至2个。
127.(3)基于第二交通灯检测模型对第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
128.本技术实施例中,基于第二交通灯检测模型对第二交通灯图像进行交通灯检测,得到多个第二目标检测框,包括:将第二交通灯图像按预设比例放大,得到放大后的第二交通灯图像;将放大后的第二交通灯图像输入第二交通灯检测模型进行交通灯检测,得到多个第二目标检测框。
129.需要说明的是,也可以在得到第二交通灯检测模型之后,存储第二交通灯检测模型,在执行基于第二交通灯检测模型对第二交通灯图像进行交通灯检测,得到多个第二目标检测框时,直接读取存储的第二交通灯检测模型,基于第二交通灯检测模型对第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
130.本技术实施例中,预设比例根据具体情况设定,例如1:2;1:1.5等。优选地,预设比
例为1:1.5。考虑到计算效率和精度的平衡,对这个第二交通灯图像做1.5倍的放大后,再放入第二阶检测模型中检测出准确目标。此方法通过放大先生成的目标区域,既节省了运算成本(不需要跑全图,只需要在小图中检测),同时亦提高了小目标的检出效果。
131.s205、基于多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
132.本技术实施例中,基于多个第二目标检测框进行交通灯分类,得到交通灯分类结果,包括:
133.(1)基于非极大值抑制算法去除多个第二目标检测框中的冗余框,得到目标预测边框,其中,非极大值抑制算法采用diou为距离度量。
134.本技术实施例中,非极大值抑制算法(nms,non-maximum suppression)的核心思想是:选择得分最高的作为输出,与该输出重叠的去掉,不断重复这一过程直到所有备选处理完。非极大值抑制算法广泛应用于目标检测算法中。其目的是为了消除冗余框,找到最佳的物体检测位置。
135.常规的非极大值抑制算法采用iou作为距离度量,iou就是我们所说的交并比,是目标检测中最常用的指标,它可以反映预测检测框与真实检测框的检测效果。
136.此外,由于目标窄长且细小,被广泛用于目标框和真实框配对的iou算法很容易失效,为解决此问题,我们在这里将非极大值抑制算法中的iou修改成diou,如下:
[0137][0138]
其中b,b
gt
分别代表第二目标检测框和真实框中心点,p代表两个中心点欧氏距离,c代表两个框闭包举行的对角线长度。通过此法可有效避免iou中可能出现的目标框与目标不贴合情况。
[0139]
(2)基于目标预测边框进行交通灯分类,得到交通灯分类结果。
[0140]
在一个具体的实施例中,将目标预测边框输入至训练后的交通灯分类模型,得到交通灯分类结果。其中,交通灯分类模型可以是efficientnet分类网络模型。efficientnet(rethinking model scaling for convolutional neural networks)的基础网络架构是通过使用神经网络架构搜索(neural architecture search)设计得到。使用简单而高效的复合系数来权衡网络深度、宽度和输入图片分辨率。
[0141]
具体的,在基于目标预测边框进行交通灯分类,得到交通灯分类结果,之前还包括:获取拍摄的原始交通灯图像,基于交通灯上灯具的数量、交通灯上显示的图案以及交通灯呈现的颜色对原始交通灯进行标注,得到交通灯训练集,利用交通灯训练集对交通灯分类模型进行训练,得到训练后的交通灯分类模型。
[0142]
由于各地交通灯制式的不同,祈求在没有规范的情况下用一个分类模型将交通灯细致地分成车道灯,人行道等细类是一种奢望。我们通过多个城市的大量数据分析总结出一个三级粒度分类规范,试图解决这个问题并已获得初步成功。这个规范其实就是,依靠三个条件判断交通灯细分类所属,即交通灯上灯具的数量,交通灯上显示的图案,以及交通灯呈现的颜色。通过这种分类,我们将交通灯分成以下大类别,即圆形灯,直行灯,左转灯,右转灯,调头灯,人行道灯,单车灯,以及车道灯。有效降低标注难度,提高实际标注效率。
[0143]
由于交通灯亮灯时一般只有部分区域亮灯,其他区域为无效区域,且具体分类需要观察亮灯区域显示的图案,这显然与一般情况下的物体分类有较大差异。
[0144]
因此,为了提高交通灯分类模型的训练效果,在一个具体的实施例中,基于交通灯上灯具的数量、交通灯上显示的图案以及交通灯呈现的颜色对原始交通灯进行标注,包括:
[0145]
对原始交通灯图像进行预处理,得到预处理后的交通灯图像,基于交通灯上灯具的数量、交通灯上显示的图案以及交通灯呈现的颜色对预处理后的交通灯图像进行标注,
[0146]
对原始交通灯图像进行预处理可包括两种方式:(1)将矩形原始交通灯图像居中补码得到正方形的交通灯图像;(2)将矩形原始交通灯图像裁剪成正方形的交通灯图像。大大提高了数据增广的效率。
[0147]
参阅图3,图3是本技术实施例提供的交通灯的分类方法的另一个实施例流程示意图。如图3所示,该交通灯的分类方法包括:
[0148]
s301、获取第一交通灯图像。
[0149]
本技术实施例中,s301与s201相同,s302的实现具体可参照s201的具体实现过程,在此不再赘述。
[0150]
s302、对第一交通灯图像进行交通灯检测,得到多个第一目标检测框。
[0151]
本技术实施例中,s302与s202相同,s302的实现具体可参照s202的具体实现过程,在此不再赘述。
[0152]
s303、对多个第一目标检测框进行聚类,得到第二交通灯图像。
[0153]
本技术实施例中,s303与s203相同,s303的实现具体可参照s203的具体实现过程,在此不再赘述。
[0154]
s304、对第二交通灯图像进行交通灯检测,得到多个第二目标检测框。
[0155]
本技术实施例中,s304与s204相同,s304的实现具体可参照s204的具体实现过程,在此不再赘述。
[0156]
需要说明的是,s304中,第二交通灯检测模型中至少一个卷积层的卷积核的尺寸为b1*h1,b1小于h1。例如,第二交通灯检测模型中的第二个卷积层和第三个卷积层中的卷积核的尺寸为b1*h1。优选地,b1*h1为1*3。在其他实施例中,也可以是b1大于h1。
[0157]
s305、将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b2*h2,得到第三交通灯检测模型。
[0158]
其中,当b1小于h1时,设置b2大于h2,当b1大于h1时,设置b2小于h2,h2和b2均为大于0的整数。
[0159]
例如,第二交通灯检测模型中的第二个卷积层和第三个卷积层中的卷积核的尺寸为b2*h2。优选地,b2*h2为3*1。
[0160]
进一步的,将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b2*h2,将目标检测网络模型中锚框数量减少至第一预设值,得到第三交通灯检测模型。第一预设值根据具体情况设定。例如,将yolov3中9个锚框减少至3个,长宽比分别为:1:1,1:2,1:3。
[0161]
在其他实施例中,第二交通灯检测模型至少一个卷积层的卷积核的尺寸为b1*h1,b1大于h1,第三交通灯检测模型至少一个卷积层的卷积核的尺寸为b2*h2,b2小于h2。
[0162]
s306、基于第三交通灯检测模型对第二交通灯图像进行交通灯检测,得到多个第三目标检测框。
[0163]
具体的,将第二交通灯图像按预设比例放大,得到放大后的第二交通灯图像;将放大后的第二交通灯图像输入第三交通灯检测模型进行交通灯检测,得到多个第三目标检测
框。
[0164]
s307、基于目标检测网络模型对第二交通灯图像进行交通灯检测,得到多个第四目标检测框。
[0165]
具体的,将第二交通灯图像按预设比例放大,得到放大后的第二交通灯图像;将放大后的第二交通灯图像输入目标检测网络模型进行交通灯检测,得到多个第四目标检测框。
[0166]
进一步的,将目标检测网络模型的锚框数量减少至3个,得到第四交通灯检测模型。将第二交通灯图像按预设比例放大,得到放大后的第二交通灯图像;将放大后的第二交通灯图像输入第四交通灯检测模型进行交通灯检测,得到多个第四目标检测框。
[0167]
s308、基于多个第二目标检测框、多个第三目标检测框以及多个第四目标检测框进行交通灯分类,得到交通灯分类结果。
[0168]
具体的,基于非极大值抑制算法去除多个第三目标检测框以及多个第四目标检测框中的冗余框,得到目标预测边框,其中,非极大值抑制算法采用diou为距离度量。基于目标预测边框进行交通灯分类,得到交通灯分类结果。
[0169]
在其他实施例中,s304、s306、s307可以按不同顺序先后进行,也可以同时进行,本技术对此不作限定。
[0170]
为了更好实施本技术实施例中交通灯的分类方法,在交通灯的分类方法基础之上,本技术实施例中还提供一种交通灯的分类装置,如图4所示,图4是本技术实施例中提供的交通灯的分类装置一个实施例结构示意图,该交通灯的分类装置包括:
[0171]
获取单元401,用于获取第一交通灯图像;
[0172]
第一检测单元402,用于对第一交通灯图像进行交通灯检测,得到多个第一目标检测框;
[0173]
聚类单元403,用于对多个第一目标检测框进行聚类,得到第二交通灯图像;
[0174]
第二检测单元404,用于对第二交通灯图像进行交通灯检测,得到多个第二目标检测框;
[0175]
分类单元405,用于基于多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
[0176]
其中,第二检测单元404,还用于获取预设的目标检测网络模型;
[0177]
将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,得到第二交通灯检测模型,其中,b1与h1不相等,h1和b1均为大于0的整数。
[0178]
其中,分类单元405,还用于将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b2*h2,得到第三交通灯检测模型,其中,当b1小于h1时,设置b2大于h2,当b1大于h1时,设置b2小于h2,h2和b2均为大于0的整数;
[0179]
基于第三交通灯检测模型对第二交通灯图像进行交通灯检测,得到多个第三目标检测框;
[0180]
基于多个第二目标检测框和多个第三目标检测框进行交通灯分类,得到交通灯分类结果。
[0181]
其中,分类单元405,还用于基于目标检测网络模型对第二交通灯图像进行交通灯检测,得到多个第四目标检测框;
[0182]
基于多个第二目标检测框、多个第三目标检测框以及多个第四目标检测框进行交通灯分类,得到交通灯分类结果。
[0183]
其中,第二检测单元404,还用于将目标检测网络模型中至少一个卷积层的卷积核的尺寸调整为b1*h1,将目标检测网络模型中锚框数量减少至第一预设值,得到第二交通灯检测模型。
[0184]
其中,聚类单元403,还用于获取多个第一目标检测框的预测置信度;
[0185]
基于多个第一目标检测框的预测置信度从多个第一目标检测框中筛选出预设数量的第一目标检测框,作为第五目标检测框;
[0186]
对第五目标检测框进行聚类,得到第二交通灯图像。
[0187]
其中,分类单元405,还用于基于非极大值抑制算法去除多个第二目标检测框中的冗余框,得到目标预测边框,其中,非极大值抑制算法采用diou为距离度量;
[0188]
基于目标预测边框进行交通灯分类,得到交通灯分类结果。
[0189]
其中,第二检测单元404,还用于将第二交通灯图像按预设比例放大,得到放大后的第二交通灯图像;
[0190]
将放大后的第二交通灯图像输入第二交通灯检测模型进行交通灯检测,得到多个第二目标检测框。
[0191]
其中,分类单元405,还用于获取拍摄的原始交通灯图像;
[0192]
基于交通灯上灯具的数量、交通灯上显示的图案以及交通灯呈现的颜色对原始交通灯进行标注,得到交通灯训练集;
[0193]
利用交通灯训练集对交通灯分类模型进行训练,得到训练后的交通灯分类模型;
[0194]
将目标预测边框输入至训练后的交通灯分类模型,得到交通灯分类结果。
[0195]
本技术实施例还提供一种电子设备,其集成了本技术实施例所提供的任一种交通灯的分类装置。如图5所示,其示出了本技术实施例所涉及的电子设备的结构示意图,具体来讲:
[0196]
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0197]
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
[0198]
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数
据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
[0199]
电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0200]
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0201]
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
[0202]
获取第一交通灯图像;
[0203]
对第一交通灯图像进行交通灯检测,得到多个第一目标检测框;
[0204]
对多个第一目标检测框进行聚类,得到第二交通灯图像;
[0205]
对第二交通灯图像进行交通灯检测,得到多个第二目标检测框;
[0206]
基于多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
[0207]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0208]
为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种交通灯的分类方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
[0209]
获取第一交通灯图像;
[0210]
对第一交通灯图像进行交通灯检测,得到多个第一目标检测框;
[0211]
对多个第一目标检测框进行聚类,得到第二交通灯图像;
[0212]
对第二交通灯图像进行交通灯检测,得到多个第二目标检测框;
[0213]
基于多个第二目标检测框进行交通灯分类,得到交通灯分类结果。
[0214]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0215]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0216]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0217]
以上对本技术实施例所提供的一种交通灯的分类方法、分类装置、电子设备及存
储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献