1.本发明涉及车辆自动驾驶技术领域,具体涉及一种用于自动驾驶的视觉识别车辆方法、装置、出行装置、设备及介质。
背景技术:
2.本部分向读者介绍可能与发明实施例的各个方面相关的背景技术,相信能够向读者提供有用的背景信息,从而有助于读者更好地理解本发明实施例的各个方面。因此,可以理解,本部分的说明是用于上述目的,而并非构成对现有技术的承认。
3.自动驾驶汽车(autonomous vehicles;self-pilotingautomobile)又称无人驾驶汽车、电脑驾驶汽车、或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车。自动驾驶汽车依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作,让电脑可以在没有任何人类主动的操作下,自动安全地操作机动车辆。近年来,自动驾驶车辆的出现逐渐取代了传统的交通工具,使得人们的生活更为便捷。
4.为了保证自动驾驶汽车在道路上安全的行驶,降低交通事故的发生概率,提高操作准确性,自动驾驶车辆通常需要识别当前所处的环境信息,根据识别到的环境信息执行驾驶操作,如当检测到前方有障碍物时进行减速操作。自动驾驶汽车首先需要对道路情况进行识别,其中,最重要的就是对道路上的车辆进行识别。在现有技术中,自动驾驶汽车主要通过视频摄像头、雷达传感器以及激光测距器来了解周围的交通状况,并通过一个详尽的地图(通过有人驾驶汽车采集的地图) 对前方的道路进行导航。其中,通过视频摄像头了解交通状况的方式中,主要是采用摄像头获取车辆前方的图像,并对获取的图像进行轮廓识别从而识别图像中的车辆。但是,现有的轮廓识别都是通过对整个车辆的的轮廓进行识别并与数据库中的样本进行匹配,由于车辆的轮廓形状复杂,在进行匹配和识别时计算量大,识别效率也很低,对硬件的要求较高,因此提升了自动驾驶汽车的制造成本。
5.随着社会的进步,人们对自动驾驶车辆的需求越来越多,这就要求更加精准快速有效地实现车辆的自动识别。
技术实现要素:
6.要解决的技术问题是如何提供一种用于自动驾驶的视觉识别车辆方法、装置、出行装置、设备及介质。
7.针对现有技术中的缺陷,本发明提供一种用于自动驾驶的视觉识别车辆方法、装置、出行装置、设备及介质,可以有效降低环境噪音带来的干扰,有效提升识别效果。
8.第一方面,本发明提供了一种用于自动驾驶的视觉识别车辆方法,包括:
9.采集车辆前方的视频数据;
10.提取视频数据中的视频帧;
11.将视频输入预先设置的视觉识别模型;
12.使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记
识别结果;
13.输出识别结果。
14.可选地,所述视觉识别模型是按照以下方法训练得到的:
15.收集测试数据;
16.采用卷积神经网络的深度学习方法在特征图中生成多个默认框;
17.输入测试数据进入深度学习神经网络模型;
18.通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;
19.根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
20.可选地,所述收集测试数据包括:
21.采集车辆驾驶中道路不同环境下各个视角的图片;
22.对图片中的车辆真实位置做标记。
23.可选地,所述采用卷积神经网络的深度学习方法在特征图中生成多个默认框,具体包括:
24.抽取卷积层的特征图;
25.分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;
26.对输入数据逐一和各个默认框进行检测和分类。
27.可选地,还包括对默认框筛选,具体包括:
28.将不同特征图获得的默认框结合起来;
29.经过边框有效值裁定去掉一部分重叠或者不正确的默认框,生成最终的默认框集合。
30.可选地,所述经过边框有效值裁定去掉一部分重叠的默认框包括:
31.通过匹配成绩排序去掉匹配成绩低的默认框,然后得出最终有效的默认框。
32.可选地,所述通过对比默认框匹配系数选择最大匹配程度的默认框包括:
33.对于图片中每个真实框,找到与其匹配值最大的默认框,该默认框与其匹配。
34.可选地,所述通过对比默认框匹配系数选择最大匹配程度的默认框还包括:
35.如果未匹配默认框中的某个默认框的交并比大于预设阈值,该默认框也与这个真实框进行匹配。
36.可选地,所述通过对比默认框匹配系数选择最大匹配程度的默认框还包括:
37.如果多个默认框与真实框交并比大于阈值,那么默认框标记为候选框集合。
38.可选地,所述更新生成默认框的权重包括:
39.计算相应的预选框与目标框类别的数值以及相应的位置回归丢失数值来更新模型权重。
40.第二方面,本发明实施例还提供一种用于自动驾驶的视觉识别车辆装置,包括:包括:
41.视频数据采集单元,用以采集车辆前方的视频数据;
42.数据提取单元,用以提取视频数据中的视频帧;
43.数据输入单元,用以将视频输入预先设置的视觉识别模型;
44.视觉识别单元,用以使用所述视觉识别模型按照预定的识别方法对视频帧中的图
像做识别处理,标记识别结果;
45.数据输出单元,用以输出识别结果。
46.可选地,还包括模型训练单元,所述模型训练单元包括:
47.测试数据收集模块,用以收集测试数据;
48.数据生成模块,用以采用卷积神经网络的深度学习方法在特征图中生成多个默认框;
49.测试数据输入模块,输入测试数据进入深度学习神经网络模型;
50.误差计算模块,用以通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;
51.权重更新模块,用以根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
52.可选地,所述测试数据收集模块包括:
53.图片采集模块,用以采集车辆驾驶中道路不同环境下各个视角的图片;
54.数据标记模块,用以对图片中的车辆真实位置做标记。
55.可选地,所述数据生成模块包括:
56.特征图提取模块,用以抽取卷积层的特征图;
57.默认框生成模块,用以分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;
58.默认框处理模块,用以对输入数据逐一和各个默认框进行检测和分类。
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.图6为本发明一个实施例中模型训练单元结构示意图;
83.图7为本发明一个实施例中测试数据收集模块结构示意图;
84.图8为本发明一个实施例中数据生成模块结构示意图;
85.图9为本发明一个实施例中数据筛选模块结构示意图;
86.图10为本发明一个实施例中误差计算模块结构示意图;
87.图11为本发明一个实施例中运行本说明书实施例的电子设备一种硬件结构示意图。
具体实施方式
88.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
89.本发明实施例提供一种用于自动驾驶的视觉识别车辆方法,如图1 所示,该方法包括:采集车辆前方的视频数据;提取视频数据中的视频帧;将视频帧输入预先设置的视觉
识别模型;使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;输出识别结果。下面对本发明提供的用于自动驾驶的视觉识别车辆方法展开详细的说明。
90.本发明提供的用于自动驾驶的视觉识别车辆方法,在车辆行驶过程中实时获取车辆前方的视频流数据,通过对视频流数据进行分析判定后识别出视频流数据中的车辆信息,并将该车辆信息传送给行驶辅助决策服务模块,它会根据视觉识别情况规划车辆下一步行驶操作,从而增加自动驾驶车辆行驶的安全性和稳定性。
91.首先,介绍采集车辆前方的视频数据。
92.在无人驾驶汽车前方设置有视觉采集摄像头,通过摄像头实时采集车辆前方的视频图像数据,将摄像头采集到视频流数据输入自动驾驶汽车的视觉识别模块以供进一步处理。
93.其次,介绍提取视频数据中的视频帧。
94.将摄像头采集到的视频流数据按照帧分解为若干张图片,将每一帧的图片输入预先设置的视觉识别模型进一步识别区分处理。在本发明实施例中将视频中的视频帧提取成图片的方式可以采用现有的方法实现,在此不再一一赘述。
95.第三,介绍使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果。
96.例如,在本发明实施例中,将视频帧输入预先设置的视觉识别模型;视频帧数据通过对比不同特征图的所有默认框后找出匹配程度最大的默认框作为输出识别结果。
97.其中,所述视觉识别模型是按照以下方法训练得到的:如图2所示,例如:收集测试数据;采用卷积神经网络的深度学习方法在特征图中生成多个默认框;输入测试数据进入深度学习神经网络模型;通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
98.在本发明实施例中,收集测试数据可以通过以下方式:如图3所示,例如,采集车辆驾驶中道路不同环境下各个视角的图片;对图片中的车辆真实位置做标记,生成带标记的测试数据。采集车辆驾驶中道路不同环境下各个视角的图片可以是在车辆行驶场景中拍摄的照片,也可以是通过网络下载的带有汽车驾驶场景的图片。对图片中的车辆真实位置做标记包括采用人工或者软件等工具将这些带有汽车驾驶场景的图片做标记,在图片中标记处车辆的真实位置称为真实框。
99.所述采用卷积神经网络的深度学习方法在特征图中生成多个默认框,如图4所示,具体包括:抽取卷积层的特征图;分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;对输入数据逐一和各个默认框进行检测和分类。具体他,采用卷积神经网络的深度学习方法特征图成多个默认框具体包括:分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;对输入数据使用默认框分别进行检测和分类。例如,建立8个卷基层和3个池化层的深度学习网络。在该深度学习网络中,抽取卷积层的特征图。例如,抽取卷积层6、卷积层7、卷积层8的特征图,然后分别在这些特征图层上面的每一个点构造5个不同尺度大小的默认框,然后分别进行检测和分类,检测主要是做回归操作,就是从图片中框定最匹配识别对象外形的框。分类主要是通过权重数值计算出模型中框定对象概率最大
的类别,如是一辆车,或者是一个人,这里是2个类别。生成多个默认框。卷积层6、卷积层7、卷积层8的默认框数量设置为5,5,5,通过公式:长尺寸
×
宽尺寸
×
默认框统计出默认框数量,那么我们可以获得的默认框分别为8
×8×
5=320,4
×4×
5=80,2
×2×
5=20,即我们总共可以获得 420个默认框。
100.此时生成的默认框有可能存在重叠或者不正确的情况,为了避免这种问题将不同特征图获得的默认框结合起来;经过边框有效值裁定去掉一部分重叠或者不正确的默认框,生成最终的默认框集合。具体地,例如还包括对默认框筛选,具体包括:将不同特征图获得的默认框结合起来;经过边框有效值裁定去掉一部分重叠或者不正确的默认框,生成最终的默认框集合。通过此举,大大减小候选目标的数量,从而使系统更加容易、高效的找到最终的识别目标。进一步地,通过上述处理后还存在一些不良的默认框需要进一步处理。所述经过边框有效值裁定去掉一部分重叠或者不正确的默认框包括通过匹配成绩排序去掉匹配成绩低的默认框,然后得出最终有效的默认框。多个特征图最后会产生大量的默认框,然而在这些默认框中存在着大量的错误的、重叠的、不准确的默认框,这不仅造成了巨大的计算量,如果处理不好会影响算法的性能。边框有效值裁定模块可以通过匹配成绩排序得到匹配成绩最高的默认框,该默认框就是最终有效的默认框。
101.在本发明实施例中,通过对比默认框匹配系数选择最大匹配程度的默认框包括:对于图片中每个真实框,找到与其匹配值最大的默认框,该默认框与其匹配。在训练过程中,首先要确定训练图片中的已经标注的真实框与哪个默认框来进行匹配,与之匹配的默认框所对应的边界框将负责预测它。默认框与真实框匹配原则主要有两点。首先,对于图片中每个真实框,找到与其匹配值最大的默认框,该默认框与其匹配,这样,可以保证每个真实框一定与某个默认框匹配。通常称与真实框匹配的默认框为正样本,反之,若一个默认框没有与任何真实框进行匹配,那么该默认框只能与背景匹配,就是负样本。一个图片中有可能有多个真实框,如里面有3辆车,就有三个真实框。对比起默认框,真实框数量是非常少的,而默认框却很多,需要进一步筛选默认框。通过对比默认框匹配系数选择最大匹配程度的默认框还包括:未匹配默认框,那么该默认框只能与背景匹配,就是负样本。如果未匹配默认框中的若某个与真实框的交并比大于预设阈值,该默认框也与这个真实框进行匹配。所述通过对比默认框匹配系数选择最大匹配程度的默认框还包括:如果多个某个默认框与真实框交并比大于预设阈值,那么默认框标记为候选框集合。
102.所述更新生成模型的权重包括:计算相应的预选默认框与目标真实框类别的数值以及相应的位置回归丢失数值来更新模型权重。通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
103.在本发明实施例提供的用于自动驾驶的视觉识别车辆方法能够有效的、快速的识别车辆,结合自动驾驶辅助决策服务模块,能够根据视觉的输入信息提前进行自动驾驶下一步的行为规划,从而增加自动驾驶车辆行驶的安全性和稳定性。
104.为进一步体现本发明提供的一种用于自动驾驶的视觉识别车辆方法的优越性,本发明还提供一种应用上述用于自动驾驶的视觉识别车辆方法的决策装置,如图5所示,所述决策装置包括:视频数据采集单元,用以采集车辆前方的视频数据;数据提取单元,用以提取视频数据中的视频帧;数据输入单元,用以将视频输入预先设置的视觉识别模型;视觉识
别单元,用以使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;数据输出单元,用以输出识别结果。本发明提供的决策装置与上述用于自动驾驶的视觉识别车辆方法采用了相同的发明构思,能够取得相同的有益效果,具体工作原理和步骤可以参照上述方法执行。下面对本发明提供的用于自动驾驶的视觉识别车辆装置展开详细的说明。
105.首先,介绍视频数据采集单元。
106.视频数据采集单元可以是设置在无人驾驶汽车前方的视觉采集摄像头,通过摄像头实时采集车辆前方的视频图像数据,将摄像头采集到视频流数据输入自动驾驶汽车的视觉识别模块以供进一步处理。
107.其次,介绍数据提取单元。
108.数据提取单元提取视频数据中的视频帧,将摄像头采集到的视频流数据按照帧分解为若干张图片,将每一帧的图片输入预先设置的视觉识别模型进一步识别区分处理。在本发明实施例中将视频中的视频帧提取成图片的方式可以采用现有的方法实现,在此不再一一赘述。
109.第三,介绍视觉识别单元。
110.视觉识别单元,用以使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果。例如,在本发明实施例中,将视频帧输入预先设置的视觉识别模型;视频帧数据通过对比不同特征图的所有默认框后找出匹配程度最大的默认框作为输出识别结果。
111.本发明实施例还包括模型训练单元,如图6所示,所述模型训练单元包括:测试数据收集模块,用以收集测试数据;数据生成模块,用以采用卷积神经网络的深度学习方法在特征图中生成多个默认框;测试数据输入模块,输入测试数据进入深度学习神经网络模型;误差计算模块,用以通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;权重更新模块,用以根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
112.在本发明实施例中,如图7所示,所述测试数据收集模块包括:图片采集模块,用以采集车辆驾驶中道路不同环境下各个视角的图片;数据标记模块,用以对图片中的车辆真实位置做标记。收集测试数据可以通过以下方式:例如,采集车辆驾驶中道路不同环境下各个视角的图片;对图片中的车辆真实位置做标记,生成带标记的测试数据。采集车辆驾驶中道路不同环境下各个视角的图片可以是在车辆行驶场景中拍摄的照片,也可以是通过网络下载的带有汽车驾驶场景的图片。对图片中的车辆真实位置做标记包括采用人工或者软件等工具将这些带有汽车驾驶场景的图片做标记,在图片中标记处车辆的真实位置称为真实框。
113.在本发明实施例中,如图8所示,所述数据生成模块包括:特征图提取模块,用以抽取卷积层的特征图;默认框生成模块,用以分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;默认框处理模块,用以对输入数据逐一和各个默认框进行检测和分类。具体他,采用卷积神经网络的深度学习方法特征图成多个默认框具体包括:分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;对输入数据使用默认框分别进行检测和分类。例如,建立8 个卷基层和3个池化层的深度学习网络。在该深度学习网络
中,抽取卷积层的特征图。例如,抽取卷积层6、卷积层7、卷积层8的特征图,然后分别在这些特征图层上面的每一个点构造5个不同尺度大小的默认框,然后分别进行检测和分类,检测主要是做回归操作,就是从图片中框定最匹配识别对象外形的框。分类主要是通过权重数值计算出模型中框定对象概率最大的类别,如是一辆车,或者是一个人,这里是2个类别。生成多个默认框。卷积层6、卷积层7、卷积层8的默认框数量设置为5,5,5,通过公式:长尺寸
×
宽尺寸
×
默认框统计出默认框数量,那么我们可以获得的默认框分别为8
×8×
5=320,4
×4×ꢀ
5=80,2
×2×
5=20,即我们总共可以获得420个默认框。
114.此时生成的默认框有可能存在重叠或者不正确的情况,为了避免这种问题将不同特征图获得的默认框结合起来;经过边框有效值裁定去掉一部分重叠或者不正确的默认框,生成最终的默认框集合。如图9 所示,还包括数据筛选模块,所述还包括数据筛选模块包括:所述信息组合模块,用以将不同特征图获得的默认框结合起来;去重模块,用以经过边框有效值裁定去掉一部分重叠或者不正确的默认框,生成最终的默认框集合。将不同特征图获得的默认框结合起来;经过边框有效值裁定去掉一部分重叠或者不正确的默认框,生成最终的默认框集合。通过此举,大大减小候选目标的数量,从而使系统更加容易、高效的找到最终的识别目标。进一步地,通过上述处理后还存在一些不良的默认框需要进一步处理。所述去重模块包括:匹配去重模块,用以通过匹配成绩排序去掉匹配成绩低的默认框,然后得出最终有效的默认框。所述经过边框有效值裁定去掉一部分重叠或者不正确的默认框包括通过匹配成绩排序去掉匹配成绩低的默认框,然后得出最终有效的默认框。多个特征图最后会产生大量的默认框,然而在这些默认框中存在着大量的错误的、重叠的、不准确的默认框,这不仅造成了巨大的计算量,如果处理不好会影响算法的性能。边框有效值裁定模块可以通过匹配成绩排序得到匹配成绩最高的默认框,该默认框就是最终有效的默认框。
115.在本发明的实施例中,如图10所示,所述误差计算模块还包括:匹配模块,用以对于图片中每个真实框,找到与其匹配值最大的默认框,该默认框与其匹配。对于图片中每个真实框,找到与其匹配值最大的默认框,该默认框与其匹配,这样,可以保证每个真实框一定与某个默认框匹配。通常称与真实框匹配的默认框为正样本,反之,若一个默认框没有与任何真实框进行匹配,那么该默认框只能与背景匹配,就是负样本。一个图片中真实框是非常少的,而默认框却很多,需要进一步筛选默认框。所述误差计算模块还包括:第一默认框匹配单元,用于在默认框的交并比大于预设阈值时,所述默认框与这个真实框进行匹配。如果未匹配默认框中的某个真实框的交并比大于预设阈值,该默认框也与这个真实框进行匹配。所述误差计算模块还包括:第二默认框匹配单元,用于默认框与真实框交并比大于预设阈值时,将默认框标记为候选框集合。
116.所述权重更新模块,包括:权重数据更新模块,计算相应的预选框与目标框类别的数值以及相应的位置回归丢失数值来更新模型权重。通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
117.为进一步体现本发明提供的一种用于自动驾驶的视觉识别车辆装置的优越性,本发明还提供一种应用上述一种用于自动驾驶的视觉识别车辆装置的出行装置,所述装置包括所述用于自动驾驶的视觉识别车辆装置。本发明提供的出行装置与上述用于自动驾驶的
视觉识别车辆装置采用了相同的发明构思,能够取得相同的有益效果,具体方法和步骤可以参照上述装置、方法执行,再次就不再一一赘述了。
118.本发明实施例还提供一种电子设备,包括所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如下的操作指令:采集车辆前方的视频数据;提取视频数据中的视频帧;将视频输入预先设置的视觉识别模型;使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;输出识别结果。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。在本发明实施例中,操作的指令可以参照上述用于自动驾驶的视觉识别车辆方法的流程执行,在此不再赘述。
119.本说明书一种电子设备的实施例可以应用在计算机设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在计算机设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图11所示,为本说明书一种电子设备所在计算机设备的一种硬件结构图,除了图11所示的处理器 (processor)、存储器(memory)、内存、通信接口(communicationsinterface)、以及非易失性存储器之外,实施例中电子设备所在的计算机设备通常根据该设备的实际功能,还可以包括用于实现网络通信功能的板卡等其他硬件对此不再赘述。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
120.处理器可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integratedcircuit,asic)、或者是被配置成实施本发明实施例的一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。终端设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
121.通信接口用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等) 实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
122.总线包括一通路,在设备的各个组件(例如处理器、存储器、输入 /输出接口和通信接口)之间传输信息。总线可以包括任意数量的互联的总线和桥,总线将包括由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa) 局域总线以及外围组件互连(pci)总线。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
123.存储器用于存放程序,存储器可以包括rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等计算机系统可读存储介质形式实现。也可能还包括非易失性存储器(non-volatile memory)等计算机系统可读存储介质形式实现,例如随机存取存储器(ram)和/或高速缓存存储器。终端可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统可以用于读写不可移动的、非易失性磁存储介质(图中未显示,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom 或者其它光存储介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据存储介质接口与总线相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。具有一组(至少一个)程序模块的程序/实用工具,可以存储在例如存储器中,这样的程序模块包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本发明所描述的实施例中的功能和/或方法。
124.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存 (flashram)。内存是计算机可读介质的示例。
125.终端也可以与一个或多个外部终端(例如键盘、指向终端、显示器等)通信,还可与一个或者多个使得用户能与该终端交互的终端通信,和/或与使得该终端能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出 (i/o)接口进行。并且,终端还可以通过网络适配器与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与终端的其它模块通信。应当明白,尽管图中未示出,可以结合终端使用其它硬件和/或软件模块,包括但不限于:微代码、终端驱动器、冗余处理单元、外部磁盘驱动阵列、 raid系统、磁带驱动器以及数据备份存储系统等。
126.处理器通过运行存储在系统存储器中的多个程序中其他程序的至少一个,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种用于自动驾驶的视觉识别车辆方法。
127.本发明实施例还提供一种计算机程序,具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。程序具体可以用于使得处理器执行以下操作:采集车辆前方的视频数据;提取视频数据中的视频帧;将视频输入预先设置的视觉识别模型;使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;输出识别结果。
128.在本发明中,计算机程序可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网 (lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例
如利用因特网服务提供商来通过因特网连接)。
129.本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中上述用于自动驾驶的视觉识别车辆方法的各个步骤。用于自动驾驶的视觉识别车辆实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
130.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器 (rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitorymedia),如调制的数据信号和载波。
131.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的存储介质的任意组合。计算机可读存储介质可以是计算机可读信号存储介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器 (cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形存储介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
132.计算机可读的信号存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号存储介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
133.计算机可读存储介质上包含的程序代码可以用任何适当的存储介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
134.综上所述,本发明实施例提供的用于自动驾驶的视觉识别车辆方法、装置、出行装置、设备及介质,与现有技术相比,通过规模化的车辆图片去训练车辆识别模型,生成的数据模型能够有效的、快速的识别车辆,结合自动驾驶辅助决策服务模块,将接收到的信息经过系统分析规划,然后将结果传送给自动驾驶行驶系统,自动驾驶行驶系统连接车辆的运行电机从而控制车辆运行。能够根据视觉的输入信息提前进行自动驾驶下一步的行为规划,从而增加自动驾驶车辆行驶的安全性和稳定性。
135.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。计算机的具体形式可以是个人计算机、
膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
136.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logicdevice,pld)(例如现场可编程门阵列(field programmable gatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld 上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language, hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedboolean expression language)、ahdl(altera hardware descriptionlanguage)、confluence、cupl(cornell university programminglanguage)、hdcal、jhdl(java hardware description language)、 lava、lola、myhdl、palasm、rhdl(ruby hardware description language) 等,目前最普遍使用的是vhdl(very-high-speed integrated circuithardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
137.控制器或处理器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
138.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
139.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
140.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
141.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
142.这些计算机程序指令也可存储在能引导计算机、也可装载到计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令执行一系列操作步骤以产生计算机实现的处理,产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
143.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
144.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
145.本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特
征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
146.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例、装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
147.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行任何明显的变化、重新调整、修改、等同替换、改进等;而这些任何明显的变化、重新修改、等同替换、改进等,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:
1.一种用于自动驾驶的视觉识别车辆方法,其特征在于:包括:采集车辆前方的视频数据;提取视频数据中的视频帧;将视频输入预先设置的视觉识别模型;使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;输出识别结果。2.根据权利要求1所述的用于自动驾驶的视觉识别车辆方法,其特征在于,所述视觉识别模型是按照以下方法训练得到的:收集测试数据;采用卷积神经网络的深度学习方法在特征图中生成多个默认框;输入测试数据进入深度学习神经网络模型;通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。3.根据权利要求2所述的用于自动驾驶的视觉识别车辆方法,其特征在于,所述采用卷积神经网络的深度学习方法在特征图中生成多个默认框,具体包括:抽取卷积层的特征图;分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;对输入数据逐一和各个默认框进行检测和分类。4.根据权利要求2所述的用于自动驾驶的视觉识别车辆方法,其特征在于,所述通过对比默认框匹配系数选择最大匹配程度的默认框包括:对于图片中每个真实框,找到与其匹配值最大的默认框,该默认框与其匹配。5.一种用于自动驾驶的视觉识别车辆装置,其特征在于:包括:视频数据采集单元,用以采集车辆前方的视频数据;数据提取单元,用以提取视频数据中的视频帧;数据输入单元,用以将视频输入预先设置的视觉识别模型;视觉识别单元,用以使用所述视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;数据输出单元,用以输出识别结果。6.根据权利要求5所述的用于自动驾驶的视觉识别车辆装置,其特征在于,还包括模型训练单元,所述模型训练单元包括:测试数据收集模块,用以收集测试数据;数据生成模块,用以采用卷积神经网络的深度学习方法在特征图中生成多个默认框;测试数据输入模块,输入测试数据进入深度学习神经网络模型;误差计算模块,用以通过对比默认框匹配系数选择最大匹配程度的默认框,将默认框数据输出结果后和实际结果比对后计算出误差数值;权重更新模块,用以根据误差数值计算模型梯度,使用梯度更新生成视觉识别模型的权重。
7.根据权利要求6所述的用于自动驾驶的视觉识别车辆装置,其特征在于,所述数据生成模块包括:特征图提取模块,用以抽取卷积层的特征图;默认框生成模块,用以分别在这些特征图层上面的每一个点构造多个不同尺度大小的默认框;默认框处理模块,用以对输入数据逐一和各个默认框进行检测和分类。8.一种出行装置,其特征在于,所述装置包括权利要求1-4任意一项所述的用于自动驾驶的视觉识别车辆装置。9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任意一项所述的视觉识别车辆方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任意一项所述的用于自动驾驶的视觉识别车辆方法。
技术总结
本发明涉及一种用于自动驾驶的视觉识别车辆方法、装置、出行装置、设备及存储介质,其中,该方法,包括:采集车辆前方的视频数据;提取视频数据中的视频帧;将视频输入预先设置的视觉识别模型;使用视觉识别模型按照预定的识别方法对视频帧中的图像做识别处理,标记识别结果;输出识别结果。本发明实施例通过规模化的车辆图片训练车辆识别模型,生成的数据模型能够有效的、快速的识别车辆,结合自动驾驶辅助决策,能够根据视觉的输入信息提前进行自动驾驶下一步的行为规划,从而增加自动驾驶车辆行驶的安全性和稳定性。将接收到的信息经过系统分析规划,然后将结果传送给自动驾驶行驶系统,自动驾驶行驶系统连接车辆的运行电控部分从而控制车辆运行。从而控制车辆运行。从而控制车辆运行。
技术研发人员:陈章芳 姚永深
受保护的技术使用者:易特智行科技(张家口)有限公司
技术研发日:2021.07.21
技术公布日:2022/3/8