一种指示标识的解析设备和方法与流程

文档序号:20691760发布日期:2020-05-08 19:38阅读:159来源:国知局
一种指示标识的解析设备和方法与流程

本发明的技术领域属于无人驾驶,尤其是无人驾驶中指示标识解析领域。

技术背景

随着网络信息技术的发展与科学技术水平的提高,人们对汽车的要求也达到了一个新的高度。目前无人驾驶、智能驾驶和辅助驾驶汽车安全技术得到了世界各地的广泛研究。其中,无人驾驶汽车依靠人工智能、视觉计算、济钢雷达、高精地图、监控装置和全球定位系统协同工作,可以在没有任何人类操作的情况下,较安全地驾驶。

然而无人驾驶汽车在解析指示标识(例如,交通信号灯)方面还存在着诸多问题,亟待人们去解决。



技术实现要素:

本申请披露了一种指示标识的解析方法,比如对交通信号灯的解析方法。当无人驾驶汽车行驶在道路上时,可以使用该方法解析各种指示标识(例如,交通信号灯),从而获取指示无人驾驶汽车行驶的信息(例如,停车、直行、左转或右转)。以解析交通信号灯为例,该解析方法可以包括:获取包含有候选交通信号灯的图像,并通过该图像获取交通信号灯的信息;通过高精度地图获取汽车所在地真实交通信号灯的信息;通过对比候选交通信号灯的信息和真实交通信号灯的信息,获取和真实交通信号灯一一对应的候选交通信号灯,进而利用真实交通信号灯对行车的指示(左转、直行、右转等等)的信息解析候选交通信号灯。

本申请的一个方面提供了一种指示标识的解析方法,其特征在于,所述方法包括:获取目标图像,所述目标图像包含待识别的候选指示标识;基于所述目标图像获取识别组,所述识别组包括所述待识别的候选指示标识的信息;获取参照组,所述参照组包括指示标识的参照信息和解析信息;基于所述参照组中所述指示标识的参照信息,通过所述识别组获取当前最优组;基于历史数据中的历史最优组的统计信息,决定当前最优组的真实性;若所述当前最优组的真实性满足一定条件,则根据所述当前最优组和所述参照组之间的对应关系,解析当前最优组中的所述待识别的候选指示标识。

本申请另一方面提供一种自动驾驶辅助设备,包括车载相机,行驶决策模块,当所述自动驾驶辅助设备正常工作的时候,所述辅助设备执行上述指示标识的解析方法。

附图说明

以下附图详细描述了本申请中披露的示例性实施例。其中相同的附图标记在附图的若干视图中表示类似的结构。本领域的一般技术人员将理解这些实施例是非限制性的、示例性的实施例,附图仅用于说明和描述的目的,并不旨在限制本公开的范围,其他方式的实施例也可能同样的完成本申请中的发明意图。其中:

图1示出了根据本申请的一些实施例所示的指示标识的解析方法的应用场景图;

图2示出了根据本申请的一些实施例所示的自动驾驶汽车系统的框图;

图3示出了根据本申请的一些实施例所示的可以在其上实现自动驾驶汽车系统的示例性计算设备;

图4示出了根据本申请的一些实施例所示的指示标识的解析方法的示例性流程图;

图5示出了根据本申请的一些实施例所示的指示标识的解析方法中具体步骤的示例性流程图;

图6示出了根据本申请的一些实施例所示的指示标识的解析方法中具体步骤的示例性流程图。

实施方式具体描述

本申请披露了一种指示标识的解析方法。具体地,所述解析方法包括:在无人驾驶车辆行驶过程中,获取包含道路上交通信号灯路口的交通信号灯的目标图像,通过解析所述目标图像获取所有候选交通信号灯的信息,然后调取数据库中高精地图获取所述道路上的交通信号灯的参考信息(例如,交通信号灯的位置信息、尺寸信息、排布信息)和解析信息(例如,交通信号灯的语义信息,比如左转、右转和/或直行)。系统然后将该交通信号灯的参考信息进行坐标变换,投射到跟所述目标图像同样的坐标系下,以便将参考信息同目标图像做比对。通过所述参考信息,确定与所述道路上的交通信号灯一一对应的候选交通信号灯:当目标图像中只识别出一组对应的交通信号灯的时候,对该组交通信号灯进行识别;当目标图像中识别出多个疑似交通信号灯的物体时(比如收路灯干扰而错误识别的情况),则通过排列组合选出多组待识别交通信号灯,并选中跟参考信息最贴近的一组做后续识别。最后,通过所述解析信息,解析与所述道路上的交通信号灯一一对应的候选交通信号灯。在一些实施例中,所述解析信息为交通信号灯的直行、左转和右转信息,通过上述指示标识的解析方法,无人驾驶车辆可以正确做出直行、左转或右转的判断。

为了给本领域普通技术人员提供相关披露的透彻理解,在以下详细描述中通过示例阐述了本发明的具体细节。然而本申请披露的内容应该理解为与权利要求的保护范围一致,而不限于该具体发明细节。比如,对于本领域普通技术人员来说,对本申请中披露的实施例进行各种修改是显而易见的;并且在不脱离本公开的精神和范围的情况下,本领域的普通技术人员可以将这里定义的一般原理应用于其他实施例和应用。再比如,这些细节如果没有以下披露,对本领域普通技术人员来说也可以在不知道这些细节的情况下实践本公开。另一方面,为了避免不必要地模糊本申请的内容,本申请对公知的方法,过程,系统,组件和/或电路做了一般性概括而没有详细描述。因此,本申请披露的内容不限于所示的实施例,而是与权利要求的组款范围一致。

本申请中使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如除非上下文另有明确说明,本申请中如果对某要件使用了单数形式的描述(比如,″一″、″一个″和/或等同性的说明)也可以包括多个该要件。在本申请中使用的术语″包括″和/或″包含″是指开放性的概念。比如a包括/包含b仅仅表示a中有b特征的存在,但并不排除其他要件(比如c)在a中存在或添加的可能性。

应当理解的是,本申请中使用的术语,比如″系统″,″单元″,″模块″和/或″块″,是用于区分不同级别的不同组件,元件,部件,部分或组件的一种方法。但是,如果其他术语可以达到同样的目的,本申请中也可能使用该其他术语来替代上述术语。

本申请中描述的模块(或单元,块,单元)可以实现为软件和/或硬件模块。除非上下文另有明确说明,当某单元或模块被描述为″接通″、″连接到″或″耦合到″另一个单元或模块时,该表达可能是指该单元或模块直接接通、链接或耦合到该另一个单元或模块上,也可能是指该单元或模块间接的以某种形式接通、连接或耦合到该另一个单元或模块上。在本申请中,术语″和/或″包括一个或多个相关所列项目的任何和所有组合。

图1示出了根据本申请的一些实施例所示的指示标识的解析方法的应用场景图。

自动驾驶车辆130可以包括自动驾驶辅助设备和控制单元150。自动驾驶辅助设备可以执行多种方法,获取指示自动驾驶车辆130安全顺利行驶的信息。控制单元150可以根据所述指示自动驾驶车辆130安全顺利行驶的信息控制自动驾驶车辆130的运行。更多关于自动驾驶车辆130可以参考图2的描述。

如图所示当自动驾驶车辆130在道路120上行驶时,自动驾驶车辆130可能会遇到多种指示标识,例如,交通信号的灯、路标、指示牌。这些交通信号灯、路标、指示牌等指示标识可能是人眼易识别的标识,比如文字、图标等,也可能是方便机器进行识别的标识,比如条码等。然而,因为实际路况的干扰因素,自动驾驶车辆130未必会准确定位标识。比如道路两边的路灯可能对前方交通信号灯的识别进行干扰。此时,自动驾驶辅助设备需要执行指示标识的解析方法,对所述多种指示标识解析,再将解析结果发送给控制单元,从而控制无人驾驶车辆的行驶。

作为示例,上述指示标识可以为交通信号灯,例如,交通信号灯111、交通信号灯112、......、交通信号灯119。在自动驾驶车辆130行驶到交通信号灯路口的停止线121之前,自动驾驶辅助设备需要将解析的交通信号灯的指示信息(比如,可以或者不可以左转、右转或直行等)发送给控制单元。更多关于指示标识的解析方法可以参考其他附图的描述。

在一些实施例中,所述自动驾驶辅助设备可以包括一个或多个传感器,例如传感器142、传感器144和传感器146,以及行驶决策模块(未示出)。上述一个或多个传感器可以包括摄像单元、定位单元、激光雷达、惯性传感器等。

所述摄像单元可以获取无人驾驶车辆预定方向上(例如,自动驾驶车辆130的正前方、左侧、右侧)的图像。在一些实施例中,所述摄像单元可以实时获取图像,也可以以一定的频率获取图像。

所述定位单元可以利用gps全球定位系统确定自动驾驶车辆130的粗略位置,所述激光雷达可以探测障碍物(例如,道路上的其他行驶车辆)的位置与速度,所述惯性传感器可以检测自动驾驶车辆130的加速度和转动速度。当然,自动驾驶辅助设备还可以包括其他传感器,这里不再赘述。

行驶决策模块可以包括一个或多个处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,行驶决策模块可以包括中央处理单元(centralprocessingunit,cpu),专用集成电路(application-specificintegratedcircuit,asic),专用指令集处理器(application-specificinstruction-setprocessor,asip),图形处理单元(graphicsprocessingunit,gpu),物理处理单元(physicsprocessingunit,ppu),数字信号处理器(digitalsignalprocessor,dsp),场可编程门阵列(fieldprogrammablegatearray,fpga),可编程逻辑器件(programmablelogicdevice,pld),控制器,微控制器单元,精简指令集计算机(reducedinstruction-setcomputer,risc),微处理器(microprocessor)等,或其任何组合。

在一些实施例中,上述自动驾驶辅助设备可以均安装在自动驾驶车辆130上,即指示标识的解析由车载自动驾驶辅助设备完成。

在一些实施例中,上述自动驾驶辅助设备可以部分安装在自动驾驶车辆130上,部分安装在其他地方。例如,传感器(例如,摄像单元)可以安装在自动驾驶车辆130上,行驶决策模块可以安装在其他地方(例如,云计算中心)。此时,自动驾驶车辆130可以将车载摄像单元获取的图像发送给云计算中心,由云计算中心将指示标识的解析结果发送再发送给自动驾驶车辆130。

应当可以理解的是,上述对指示标识的解析方法的应用场景的描述仅为示意性的,并不限制本申请保护的范围。在一些实施例中,上述指示标识的解析方法也可以运用到无人驾驶船只、无人驾驶飞行器等领域。

图2示出了根据本申请的一些实施例所示的自动驾驶汽车系统200的框图。

例如,自动驾驶车辆130可包括控制单元150,自动驾驶辅助设备(例如,多个传感器142,144,146),存储器220,网络230,网关模块240,控制器区域网络(can)250,发动机管理系统(ems)260,电动稳定性控制(esc)270,电力系统(eps)280,转向柱模块(scm)290,节流系统265,制动系统275和转向系统295。

控制单元150可以处理与车辆驾驶(例如,自动驾驶)有关的信息和/或数据,以执行本公开中描述的一个或多个功能。在一些实施例中,控制单元150可以配置成自主地驱动车辆。例如,控制单元150可以输出多个控制信号。多个控制信号可以被配置为由多个电子控制单元(electroniccontrolunits,电子控制单元)接收,以控制车辆的驱动。在一些实施例中,控制单元150可基于自动驾驶辅助设备获取的解析信息控制车辆直行、左转或右转。在一些实施例中,控制单元150可以包括一个或多个处理引擎(例如,单核处理引擎或多核处理器)。在一些实施例中,控制单元150可以与图1中描述的行驶决策模块相同。

存储器220可以存储数据和/或指令。在一些实施例中,存储器220可以存储从自动驾驶车辆130获得的数据,例如,车载摄像单元获取的图像。在一些实施例中,存储器220可以存储控制单元150可以执行或使用的数据和/或指令,以执行本公开中描述的示例性方法。在一些实施例中,存储器220可以包括大容量存储器,可移动存储器,易失性读写存储器(volatileread-and-writememory),只读存储器(rom)等,或其任何组合。作为示例,比如大容量存储器可以包括磁盘,光盘,固态驱动器等;比如可移动存储器可以包括闪存驱动器,软盘,光盘,存储卡,拉链盘,磁带;比如易失性读写存储器可以包括随机存取存储器(ram);比如ram可以包括动态ram(dram),双倍数据速率同步动态ram(ddrsdram)静态ram(sram),可控硅ram(t-ram)和零电容器ram(z-ram);比如rom可以包括掩模rom(mrom),可编程rom(prom),可擦除可编程rom(eprom),电可擦除可编程rom(eeprom),光盘rom(cd-rom),以及数字通用磁盘rom等。在一些实施例中,存储可以在云平台上实现。仅作为示例,云平台可以包括私有云,公共云,混合云,社区云,分布式云,云间云,多云等,或其任何组合。

在一些实施例中,存储器220可以连接到网络230以与自动驾驶车辆130的一个或多个组件(例如,控制单元150,传感器142)通信。自动驾驶车辆130中的一个或多个组件可以经由网络230访问存储在存储器220中的数据或指令。在一些实施例中,存储器220可以直接连接到自动驾驶车辆130中的一个或多个组件或与其通信(例如,控制单元150,传感器142)。在一些实施例中,存储器220可以是自动驾驶车辆130的一部分。

网络230可以促进信息和/或数据的交换。在一些实施例中,自动驾驶车辆130中的一个或多个组件(例如,控制单元150,传感器142)可以经由网络230将信息和/或数据发送到自动驾驶车辆130中的其他组件。例如。控制单元150可以经由网络230获得/获取车辆的动态情况和/或车辆周围的环境信息。在一些实施例中,网络230可以是任何类型的有线或无线网络,或其组合。仅作为示例,网络230可以包括有线网络,有线网络,光纤网络,远程通信网络,内联网,因特网,局域网(lan),广域网(wan),无线局域网(wlan),城域网(man),广域网(wan),公共电话交换网(pstn),蓝牙网络,zigbee网络,近场通信(nfc)网络等,或其任何组合。在一些实施例中,网络230可以包括一个或多个网络接入点。例如,网络230可以包括有线或无线网络接入点,例如基站和/或互联网交换点230-1,......,230-1。通过该自动驾驶车辆130的一个或多个部件可以连接到网络230以交换数据和/或信息。

网关模块240可以基于车辆的当前驾驶状态确定多个电子控制单元(例如,ems260,eps280,esc270,scm290)的命令源。命令源可以来自人类驾驶员,来自控制单元150等,或其任何组合。

网关模块240可以确定车辆的当前驾驶状态。车辆的驾驶状态可以包括手动驾驶状态,半自动驾驶状态,自动驾驶状态,错误状态等,或其任何组合。例如,网关模块240可以基于来自人类驾驶员的输入将车辆的当前驾驶状态确定为手动驾驶状态。又例如,当前道路状况复杂时,网关模块240可以将车辆的当前驾驶状态确定为半自动驾驶状态。作为又一示例,当发生异常(例如,信号中断,处理器崩溃)时,网关模块240可以将车辆的当前驾驶状态确定为错误状态。

在一些实施例中,网关模块240可以判断车辆的当前驾驶状态是手动驾驶状态并做出响应,将人类驾驶员的操作发送到多个电子控制单元。例如,确定了车辆的当前驾驶状态是手动驾驶状态后,网关模块240可以做出响应将由人类驾驶员执行的对车辆130的加速器的按压操作发送到ems260。确定了车辆的当前驾驶状态是自动驾驶状态后,网关模块240可以做出响应将控制单元150的控制信号发送到多个电子控制单元。例如,确定车辆的当前驾驶状态是自动驾驶状态后,网关模块240可以做出响应将与转向操作相关联的控制信号发送到scm290。网关模块240可以响应于车辆的当前驾驶状态是半自动驾驶状态的结论,将人驾驶员的操作和控制单元150的控制信号发送到多个电子控制单元。当确定了车辆的当前驾驶状态是错误状态的时候,网关模块240可以做出响应将错误信号发送到多个电子控制单元。

控制器区域网络(can总线)是个可靠的车辆总线标准(例如,基于消息的协议,message-basedprotocol),其允许微控制器(例如,控制单元150)和设备(例如,ems260,eps280,esc270和/或scm290等)在没有主计算机的应用程序中彼此通信。can250可以被配置为将控制单元150与多个电子控制单元(例如,ems260,eps280,esc270,scm290)连接。

ems260可以确定自动驾驶车辆130的发动机性能。ems260可以包括多个传感器和至少一个微处理器。在一些实施例中,ems260可以基于来自控制单元150的控制信号确定自动驾驶车辆130的发动机性能。

节流系统265可以改变自动驾驶车辆130的运动。例如,节流系统265可以基于发动机输出确定自动驾驶车辆130的速度。在一些实施例中,节流系统265可以是ems260的外部执行器。节流系统265可以被配置为基于由ems260确定的多个发动机控制参数来控制发动机输出。

esc270可以改善车辆的稳定性。esc270可以通过检测和减少牵引力损失来改善车辆的稳定性。在一些实施例中,esc270可以控制制动系统275的操作以响应于确定esc270检测到转向控制的损失而帮助操纵车辆。

制动系统275可以控制自动驾驶车辆130的运动状态。例如,制动系统275可以使自动驾驶车辆130减速。eps280可以控制自动驾驶车辆130的电力供应。eps280可以为自动驾驶车辆130供应传输和/或存储电力。scm290可以控制车辆的方向盘。

scm290可以锁定/解锁车辆的方向盘。scm290可以基于车辆的当前驾驶状态来锁定/解锁车辆的方向盘。例如,scm290可以响应于确定当前驾驶状态是自动驾驶状态而锁定车辆的方向盘。响应于确定当前驾驶状态是自动驾驶状态,scm290可以进一步缩回转向柱轴。作为另一示例,scm290可以响应于确定当前驾驶状态是半自动驾驶状态,手动驾驶状态和/或错误状态而解锁车辆的方向盘。

scm290可以基于控制单元150的控制信号来控制自动驾驶车辆130的转向。控制信号可以包括与转弯方向,转弯位置,转弯角度等有关的信息,或其任何组合。

转向系统295可以操纵自动驾驶车辆130。在一些实施例中,转向系统295可以基于从scm290发送的信号来操纵自动驾驶车辆130。例如,转向系统295可以响应于确定当前驾驶状态是自动驾驶状态,基于从scm290发送的控制单元150的控制信号来引导自动驾驶车辆130。在一些实施例中,转向系统295可以基于人类驾驶员的操作来操纵自动驾驶车辆130。例如,当人类驾驶员响应于确定当前驾驶状态是手动驾驶状态而将方向盘转向左方向时,转向系统295可以将自动驾驶车辆130转向左方向。

图3示出了根据本申请的一些实施例所示的可以在其上实现自动驾驶汽车系统的示例性计算设备。

计算设备300上可以承载实施控制单元150,ems360,esc270,eps280,scm290,自动驾驶辅助设备等等。例如,控制单元150可以在计算设备300上实现以执行本公开中公开的控制单元150的功能。

例如,计算设备300可以包括连接到与其连接的网络的com端口350,以便于数据通信。计算设备300还可以包括处理器320,处理器320以一个或多个处理器的形式,用于执行计算机指令。计算机指令可以包括例如执行本文描述的特定功能的例程,程序,对象,组件,数据结构,过程,模块和功能。例如,处理器320可以获得包含有候选指示标识的图像,根据所述图像找到与真实指示标识对应的候选指示标识,从而多候选指示标识进行解析。

在一些实施例中,处理器320可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令-集处理器(asip),中央处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。

示例性计算机设备300可以包括内部通信总线310,程序存储和不同形式的数据存储(例如,磁盘270,只读存储器(rom)330,或随机存取存储器(ram)340)用于由计算机处理和/或发送的各种数据文件。示例性计算机设备300还可以包括存储在rom330,ram340和/或将由处理器320执行的其他类型的非暂时性存储介质中的程序指令。本公开的方法和/或过程可以作为程序指令实现。计算设备300还包括i/o组件360,支持计算机和其他组件(例如,用户界面元件)之间的输入/输出。计算设备300还可以通过网络通信接收编程和数据。

仅仅为了说明问题,在本公开中计算设备300中仅描述了一个处理器。然而,应当注意,本公开中的计算设备300还可以包括多个处理器,因此,本公开中披露的操作和/或方法步骤可以如本公开所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本公开中计算设备300的处理器320执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由信息处理中的两个不同处理器联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。

图4示出了根据本申请的一些实施例所示的指示标识的解析方法的示例性流程图。流程400可以实施为自动驾驶车辆系统的非临时性存储介质中的一组指令。作为示例,下面描述中以自动驾驶辅助设备中的行驶决策模块对所述指令进行操作为例来说明本申请中的方法。然而本领域的技术人员可以理解自动驾驶辅助设备中的计算设备300、处理器320和/或行驶决策模块均可以/可能执行该一组指令并且可以指导自动驾驶汽车系统200中的对应硬件设施相应地执行过程400中的步骤。

以下呈现的所示流程400的操作,旨在是说明性的而非限制性的。在一些实施例中,流程400在实现时可以添加一个或多个未描述的额外操作,和/或删减一个或多个此处所描述的操作。此外,图4中所示的和下文描述的操作的顺序并不对此加以限制。

在410中,自动驾驶辅助设备中的摄像单元可以获取目标图像,所述目标图像包含待识别的候选指示标识。

在一些实施例中,摄像单元可以实时获取目标图像,也可以以一定的频率获取目标图像。所述频率可以由自动驾驶车辆130的车速、自动驾驶辅助设备的计算速度等因素确定。例如,当自动驾驶车辆130的车速越大和/或自动驾驶辅助设备的计算速度越快时,所述频率越高。

在一些实施例中,指示标识可以包括交通信号灯、路标、指示牌,或其他作为指示的标识。作为示例,指示标识可以为交通信号灯,例如交通信号灯111-119。相应地,待识别的候选指示标识为候选交通信号灯。所述候选交通信号灯包括真实交通信号灯和虚假交通信号灯(例如,路灯、车灯),也就是说,目标图像中的路灯和/或车灯可能会对自动驾驶汽车系统200的对交通信号灯的识别产生干扰。

在420中,自动驾驶辅助设备中的行驶决策模块可以基于所述目标图像获取识别组,所述识别组包括所述待识别的候选指示标识的信息。

在一些实施例中,行驶决策模块可以对所述目标图像进行目标识别,从而识别目标图像中的一个或多个待识别的候选指示标识。所述目标识别可以基于深度学习,例如,卷积神经网络(convolutionalneuralnetworks)。

进一步地,行驶决策模块可以获取每个待识别的候选指示标识的信息,即识别组。所述每个待识别的候选指示标识的信息包括待识别的候选指示标识的位置信息、尺寸信息、排布信息、状态信息。

在一些实施例中,待识别的候选指示标识的位置信息可以通过目标识别过程中的识别边框确定。每个识别边框包含有一个待识别的候选指示标识。在一些实施例中,识别边框可以为矩形、圆形或其他图形。当识别边框为矩形时,待识别的候选指示标识的位置信息可以包括一个或多个矩形顶点的坐标信息。待识别的候选指示标识的尺寸信息和排布信息也可以通过所述一个或多个矩形识别边框顶点的坐标信息获取。

在一些实施例中,待识别的候选指示标识的状态信息可以指示待识别候选指示标识的状态。所述状态可以有效或无效,打开或关闭,或者是不同时刻下的不同状态。对于交通信号灯,所述状态可以包括红灯、绿灯、黄灯和灭灯。

在430中,自动驾驶辅助设备中的行驶决策模块可以获取参照组,所述参照组包括指示标识的参照信息和解析信息。

在一些实施例中,行驶决策模块可以通过高精地图获取指示标识的参照信息和解析信息。

具体地,行驶决策模块可以基于当前自动驾驶车辆130的位置信息从高精地图中获取参照组对应的图像;将所述参照组对应的图像投影转换到目标图像坐标系中,进而获取参照组。所述目标图像坐标系应当尽可能地与上述目标图像的图像坐标系一致。

在一些实施例中,行驶决策模块可以利用摄像单元的内参、外参和自动驾驶车辆当前的位置信息将所述参照组对应的图像投影转换到目标图像坐标系中。所述摄像单元的内参包括焦距、焦点位置及相关机电参数。所述摄像单元的外参包括摄像单元与自动驾驶车辆130的位置关系,例如,相对于自动驾驶车辆130车头的横向和纵向距离,与自动驾驶车辆130底面倾斜的角度。

当指示标识为道路上真实交通信号灯时,所述指示标识的参照信息包括所述真实交通信号灯的位置信息、尺寸信息和排布信息,所述指示标识的解析信息包括所述真实交通信号灯不同状态对应的不同交通指示。比如图1中的示例,十字路口可能会有3组交通信号灯,分别按照左中右来排布,其中最左边的一组信号灯111、112、113用来指示左转向,中间一组信号灯114、115、116用来对车辆直行做指示,而最右边的一组信号灯117、118、119用来对车辆的右转做指示。

在一些实施例中,参考待识别的候选指示标识的位置信息,上述真实交通信号灯的位置信息可以为一个或多个矩形识别边框顶点的坐标信息。上述真实交通信号灯的尺寸信息和排布信息也可以通过所述一个或多个矩形识别边框顶点的坐标信息获取。

在一些实施例中,当为交通信号灯为绿灯时,上述真实交通信号灯的解析信息为可以分别直行、左转或右转。

在440中,自动驾驶辅助设备中的行驶决策模块可以基于所述参照组中所述指示标识的参照信息,通过所述识别组获取当前最优组。在一些实施例中,所述最优组中的待识别的候选指示标识的数量应当与参照组中的指示标识的数量一致。在一些实施例中,行驶决策模块可以依照图5的描述执行步骤440。

在450中,自动驾驶辅助设备中的行驶决策模块可以基于历史数据中的历史最优组的统计信息,决定当前最优组的真实性。在一些实施例中,历史最优组的统计信息可以为历史最优组的选中次数。对于每一个时刻,当当前最优组与某一历史最优组最相关时,该历史最优组被选中,记该历史最优组的选中次数加一。在一些实施例中,行驶决策模块可以基于历史最优组的选中次数决定最优组的真实性。在一些实施例中,行驶决策模块可以依照图6的描述执行步骤450。

在460中,若所述当前最优组的真实性满足一定条件,则自动驾驶辅助设备中的行驶决策模块可以根据所述当前最优组和所述参照组之间的对应关系,解析当前最优组中的所述待识别的候选指示标识、做出自动驾驶行驶策略并控制自动驾驶汽车系统200中的相应硬件设施做出响应。

当所述当前最优组的真实性满足一定条件时,所述当前最优组中的待识别的候选指示标识与所述参照组中的指示标识一一对应。此时,行驶决策模块可以利用所述参照组中的指示标识的解析信息解析所述当前最优组中的待识别的候选指示标识。

当然,当所述当前最优组的真实性不满足一定条件时,行驶决策模块可以舍弃所述当前最优组并获取下一时刻的目标图像。

以下,以交通信号灯为示例,进一步地描流程400。摄像单元可以获取目标图像,所述目标图像包含候选交通信号灯。行驶决策模块可以基于所述目标图像获取识别组,所述识别组包括所述候选交通信号灯的信息;可以获取参照组,所述参照组包括真实交通信号灯的参照信息和解析信息;可以基于所述真实交通信号灯的参照信息,从所述识别中组获取当前最优组;可以基于历史数据中的历史最优组的统计信息,决定当前最优组的真实性;若所述当前最优组的真实性满足一定条件,可以根据所述当前最优组和所述参照组之间的对应关系,解析当前最优组中的候选交通信号。

在一些实施例中,流程400可以进一步包括判断自动驾驶车辆130是否足够接近前方交通信号灯路口。当判断自动驾驶车辆130足够接近前方交通信号灯路口时,流程400开始执行步骤410;否则,流程400继续进行上述判断。

在一些实施例中,可以基于自动驾驶车辆130与道路120上的停止线121之间的距离判断自动驾驶车辆130是否足够接近前方的交通信号灯路口。当所述距离大于预设距离时,判断自动驾驶车辆130没有足够接近前方的交通信号灯路口;否则,判断自动驾驶车辆130已经足够接近前方的交通信号灯路口。

图5示出了根据本申请的一些实施例所示的指示标识的解析方法中具体步骤的示例性流程图。流程500可以实施为自动驾驶车辆系统的非临时性存储介质中的一组指令。自动驾驶辅助设备中的行驶决策模块可以执行该一组指令并且可以相应地执行过程500中的步骤。

以下呈现的所示流程500的操作,旨在是说明性的而非限制性的。在一些实施例中,流程500在实现时可以添加一个或多个未描述的额外操作,和/或删减一个或多个此处所描述的操作。此外,图5中所示的和下文描述的操作的顺序并不对此加以限制。

在510中,自动驾驶辅助设备中的行驶决策模块可以比较识别组中候选交通信号灯的数量与真实交通信号灯的数量。

当所述识别组中候选交通信号灯的数量小于真实交通信号灯的数量,行驶决策模块执行步骤520。在520中,自动驾驶辅助设备中的行驶决策模块可以舍弃所述识别组并获取下一时刻的图像。

当所述识别组中候选交通信号灯的数量等于真实交通信号灯的数量,行驶决策模块执行步骤530。在530中,自动驾驶辅助设备中的行驶决策模块可以确定所述识别组为当前最优组。

当所述识别组中候选交通信号灯的数量大于真实交通信号灯的数量,行驶决策模块执行步骤540。在540中,自动驾驶辅助设备中的行驶决策模块可以基于所述识别组生成多个预选组。所述多个预选组中的每个预选组的候选交通信号灯的数量与所述真实交通信号灯的数量相等。

在一些实施例中,行驶决策模块可以从所述识别组中任意取出与真实交通信号灯的数量相等的候选交通信号灯组成所述多个预选组。作为示例,识别组中有四个候选交通信号的灯,分别标记为候选交通信号灯1′、2′、3′和4′;参照组中有三个交通信号灯,分别标记为交通信号灯1、2和3。行驶决策模块可以从1′、2′、3′和4′中任意选出3个交通信号灯作为预选组,从而从所述识别组中获取4个预选组,分别为由候选交通信号灯1′、2′和3′组成的预选组、由候选交通信号灯1′、2′和4′组成的预选组、由候选交通信号灯1′、3′和4′组成的预选组、由候选交通信号灯2′、3′和4′组成的预选组。

在550中,自动驾驶辅助设备中的行驶决策模块可以从所述多个预算组中确定满足预设条件的预选组。

在一些实施例中,所述预设条件包括:当所述预选组中的候选交通信号灯同所述参照组中的真实交通信号灯的排列一致时,所述预选组中的候选交通信号灯的位置处于预设的第一范围内,所述预选组中的候选交通信号灯的长度和/或宽度处于预设的第二范围内,所述预选组中相邻两个候选交通信号灯之间的距离处于预设的第三范围内。

上述预选组中的候选交通信号灯同参照组中的真实交通信号灯的排列一致是指,候选交通信号灯和真实交通信号灯均是横向或纵向排列。

所述预设的第一范围、所述预设的第二范围和所述预设的第三范围由所述参照组中真实交通信号灯确定。

当满足预设条件的预选组的数量为零时,行驶决策模块执行步骤560。在560中,自动驾驶辅助设备中的行驶决策模块可以舍弃所述识别组并获取下一时刻的图像。

当满足预设条件的预选组的数量为一时,行驶决策模块执行步骤570。在570中,自动驾驶辅助设备中的行驶决策模块可以确定满足预设条件的预选组为当前最优组。

当满足预设条件的预选组的数量大于等于二时,行驶决策模块执行步骤580来对所述预选组进行进一步筛选。在580中,自动驾驶辅助设备中的行驶决策模块可以确定满足预设条件的预选组与所述参照组之间的最小欧式距离,并以此为依据来判断所述预算组的可信度,也就是是否足够类似于参照组。

具体地,行驶决策模块可以确定每个满足预设条件的预选组与所述参照组之间的欧氏距离,并选择其中最小的欧氏距离。

上述预选组与参照组之间的欧式距离是指预选组的位置与参照组的位置之间的欧氏距离。参考前文的描述,预选组和参照组的位置可以通过矩形识别边框的顶点(例如,左上角)位置确定。

在590中,自动驾驶辅助设备中的行驶决策模块可以确定所述最小欧式距离对应的预选组为所述当前最优组。

图6示出了根据本申请的一些实施例所示的指示标识的解析方法中具体步骤的示例性流程图。流程600可以实施为自动驾驶车辆系统的非临时性存储介质中的一组指令。作为示例,下面描述中以自动驾驶辅助设备中的行驶决策模块对所述指令进行操作为例来说明本申请中的方法。然而本领域的技术人员可以理解自动驾驶辅助设备中的计算设备300、处理器320和/或行驶决策模块均可以/可能执行该一组指令并且可以指导自动驾驶汽车系统200中的对应硬件设施相应地执行过程600中的步骤。

以下呈现的所示流程600的操作,旨在是说明性的而非限制性的。在一些实施例中,流程600在实现时可以添加一个或多个未描述的额外操作,和/或删减一个或多个此处所描述的操作。此外,图6中所示的和下文描述的操作的顺序并不对此加以限制。

在610中,自动驾驶辅助设备中的行驶决策模块可以获取预设时间内的多个历史最优组。所述历史最优组是指当前时刻之前预设时间内的最优组。应当理解的是历史最优组和当前最有组只是获取的时间不同,其他条件(例如,无人驾驶车辆、交通信号灯路口)是相同的。

在一些实施例中,所述预设时间可以为一个或多个滑动时间窗口,或自获取到第一个最优组到当前时刻的时间段。比如,所述预设时间可以为1秒、2秒、3秒、4秒、5秒等等。所述预设时间窗口从所述无人驾驶车辆开始一段行驶开始,沿着时间轴进行滑动。自动驾驶辅助系统对目标图像的采样和识别周期可以为每秒10次、20次、30次、40次等等。因此,对于2秒的预设滑动时间窗口中,所述历史最优组的数量可能为40个。

在620中,自动驾驶辅助设备中的行驶决策模块可以确定所述当前最优组与所述多个历史最优组之间的最小欧式距离。

上述当前最优组与历史最优组之间的欧式距离是指当前最优组的位置与历史最优组的位置之间的欧氏距离。参考前文的描述,当前最优组与历史最优组的位置可以通过矩形识别边框的顶点(例如,左上角)位置确定。

在630中,自动驾驶辅助设备中的行驶决策模块可以判断所述最小欧式距离是否小于预设阈值。

在640中,若所述最小欧式距离小于预设阈值,自动驾驶辅助设备中的行驶决策模块可以确定所述最小欧式距离对应的历史最优组为选中历史最优组,并根据所述当前最优组更新所述选中历史最优组。比如,行驶决策模块可以更新所述选中历史最优组中的选中次数以及所述选中历史最优组的位置。

在一些实施例中,行驶决策模块更新历史最优组的选中次数时可以将选中次数加1。比如本次出行到当前时刻的时候所述自动驾驶车辆已经进行了10万次对红绿灯的解析(也就是说当前最优组时第10001次解析),假设由此形成了10万次的选中历史最优组,则如果解析正确率为95%的话,则其中9.5万次解析记录会在2秒的滑动时间窗口记录中显示为一个历史最优组。相应于这个历史最优组的选中次数为9.5万次。其余5千次的错误识别记录会分散成其他小规模的历史最优组中。有些可能仍然保留在所述2秒的滑动时间窗口记录中,有些则可能随着时间窗口沿时间轴的滑动而划出了所述窗口。这些仍然保留在所述当前2秒的时间窗口记录中的小规模历史最优组相对应的选中次数一定时小于9.5万次的。若所述当前最优组同某一个历史最优组的欧式距离小于预设阈值,则系统在该历史最优组的选中次数中加1.

在一些实施例中,行驶决策模块可以根据平均值、加权平均值等算法更新选中历史组的位置。这样,尽管所述选中历史组的选中次数为多次,其位置始终表达为一个。

在640中,若所述最小欧式距离不小于所述预设阈值,自动驾驶辅助设备中的行驶决策模块可以确定所述当前最优组为选中历史最优组。当前时刻,该选中历史最优组的选中次数为1。

在650中,根据所述预设时间内选中历史最优组的选中次数,决定当前最优组的真实性。

如前所述,当一个历史最优组被选中时,记该历史最优组的选中次数加一。由此,行驶决策模块可以统计预设时间内选中历史最优组的选中次数。

在一些实施例中,如果所述对交通指示标识的识别和解析足够准确的话,在所述预设时间内,一个选中历史最优组的选中次数一定大于其他选中历史最优组的选中次数,该选中历史最优组为匹配组。若当前最优组与所述匹配组的欧式距离最小并小于预设阈值,则当前最优组的真实性满足条件;若否,则当前最优组的真实性不满足条件。

综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本申请意图囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本公开提出,并且在本公开的示例性实施例的精神和范围内。

此外,本申请中的某些术语已被用于描述本公开的实施例。例如,″一个实施例″,″实施例″和/或″一些实施例″意味着结合该实施例描述的特定特征,结构或特性可以包括在本公开的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对″实施例″或″一个实施例″或″替代实施例″的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本公开的一个或多个实施例中适当地组合。

应当理解,在本公开的实施例的前述描述中,为了帮助理解一个特征,出于简化本公开的目的,本申请有时将各种特征组合在单个实施例、附图或其描述中。或者,本申请又是将各种特征分散在多个本发明的实施例中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本申请的时候完全有可能将其中一部分特征提取出来作为单独的实施例来理解。也就是说,本申请中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。

在一些实施方案中,表达用于描述和要求保护本申请的某些实施方案的数量或性质的数字应理解为在某些情况下通过术语″约″,″近似″或″基本上″修饰。例如,除非另有说明,否则″约″,″近似″或″基本上″可表示其描述的值的±20%变化。因此,在一些实施方案中,书面描述和所附权利要求书中列出的数值参数是近似值,其可以根据特定实施方案试图获得的所需性质而变化。在一些实施方案中,数值参数应根据报告的有效数字的数量并通过应用普通的舍入技术来解释。尽管阐述本申请的一些实施方案列出了广泛范围的数值范围和参数是近似值,但具体实施例中都列出了尽可能精确的数值。

本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。

最后,应理解,本文公开的申请的实施方案是对本申请的实施方案的原理的说明。其他修改后的实施例也在本申请的范围内。因此,本申请披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本申请中的实施例采取替代配置来实现本申请中的发明。因此,本申请的实施例不限于申请中被精确地描述过的哪些实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1