具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
请参看图1,其为本发明实施例提供的高精地图生成方法的流程图。应用高精地图生成方法生成的高精地图,可以用于识别交通灯。用于识别交通灯的高精地图生成方法具体包括如下步骤。
步骤S102,获取路测数据。其中,路测数据包括每一交通灯的视频数据。在本实施例中,路测数据可以由数据采集车辆进行路测采集得到。具体地,数据采集车辆安装有拍摄装置,数据采集车辆于每天不同的时间段不停地在路口行驶,行驶过程中通过拍摄装置拍摄关于交通灯的视频。通过地图和数据采集车辆的定位信息可以从拍摄的视频中提取出每一交通灯相对应的视频数据,或者将拍摄的视频输入至深度学习模型中可以形成每一交通灯相对应的视频数据。
步骤S104,对视频数据进行标注得到交通灯的标注数据。在本实施例中,选取多个不同时间段内的视频帧,对视频帧中交通灯的状态进行标注。多个不同时间段包括但不限于早高峰、晚高峰、以及平峰等车流量不同的交通时间段。在一些可行的实施例中,多个不同时间段也可以包括但不限于早晨、上午、中午、下午、傍晚、以及夜晚等现实时间段,在此不做限定。标注的方法可以采用人工标注或者半自动标注。在本实施例中,半自动标注为电脑自动标注后,再进行人工检查。其中,标注数据包括交通灯的状态、以及交通灯信息。具体地,交通灯的状态包括亮灯状态和不亮灯状态。亮灯状态包括亮红灯、黄灯、绿灯、或者左转灯、右转灯、直行灯等,其中,左转灯、右转灯、直行灯等包括不同的颜色。不亮灯状态为所有灯都不亮的状态,如仅包括红灯、黄灯、以及绿灯的交通灯,绿灯进行闪烁时红灯和黄灯均不亮,绿灯闪烁至不亮时即为不亮灯状态。交通灯信息包括但不限于交通灯是否安装有指示牌等。安装有指示牌的交通灯,其智能模型还包括指示牌的含义等。举例来说,若交通灯安装有指示牌,指示牌上写着“红灯禁止右转”,则该交通灯的标注数据包括“当该交通灯的状态为亮红灯时,禁止右转”的信息。
步骤S106,利用视频数据和标注数据生成交通灯的识别模型。其中,识别模型包括智能模型和状态机,智能模型用于识别交通灯的静态状态,状态机用于识别交通灯状态的改变。在本实施例中,利用标注数据生成智能模型。具体地,标注数据可以通过深度学习等生成智能模型。将标注数据输入至深度学习模型中,标注数据通过多层过滤可以到交通灯的特征。深度学习模型可以通过其中的滤波器学习并进行特征提取,输出相应的智能模型。标注数据也可以基于现有的通用模型生成智能模型,如将标注数据输入类似场景中已有的关于交通灯的模型中进行训练生成关于该交通灯的智能模型。根据视频数据和标注数据进行分析得到交通灯的状态机。具体地,状态机可以通过交通灯的视频数据和标注数据自动或者人工分析形成。
每一交通灯包括一个智能模型,智能模型根据相对应的交通灯的标注数据生成。每一交通灯包括一个状态机,状态机包括交通灯的所有状态、以及交通灯所有状态的变化过程。即是说,每一交通灯均具有一个智能模型和一个状态机。智能模型和状态机均根据交通灯的实际情况生成,由于不同的交通灯有不同的状态、以及不同的状态变化,则不同的交通灯所对应的智能模型和状态机不同。
在一些可行的实施例中,识别模型可以直接用于识别交通灯的静态状态、以及交通灯状态的改变,在此不做限定。
步骤S108,将识别模型和交通灯信息储存到高精地图中,生成用于识别交通灯的高精地图。具体地,将每一交通灯的识别模型,包括智能模型、以及状态机,和交通灯信息储存到高精地图相对应的交通灯数据中,生成新的可用于识别交通灯的高精地图。
上述实施例中,利用交通灯的路测数据生成关于该交通灯的识别模型,识别模型中包括用于识别交通灯静态状态的智能模型和用于识别交通灯状态改变的状态机。将智能模型和状态机均储存到高精地图中生成可用于识别交通灯的高精地图,有效结合了高精地图实现对交通灯的识别。由于每一交通灯均具有一个智能模型和一个状态机,本技术方案生成的高精地图对各种各样不同的交通灯都能进行识别,具有极高的应用性。
请结合参看图2和图4,其为本发明实施例提供的识别交通灯方法的流程图、以及本发明实施例提供的识别交通灯方法应用场景的示意图。识别交通灯的方法应用了利用如上述实施例所述的高精地图生成方法生成的高精地图。识别交通灯的方法包括但不限于应用于轿车、摩托车、卡车、运动型多用途车辆(SUV)、休闲车辆(RV)、船舶、飞行器等任何运输设备,用于辅助运输设备在行驶过程中对交通灯进行识别。
在本实施例中,识别交通灯的方法应用于车辆200。其中,车辆200具有所谓的四级或五级自动化系统。四级自动化系统指的是“高度自动化”,具有四级自动化系统的车辆原则上在其功能范围内不再需要人类驾驶员参加,即使人类驾驶员对干预请求没有做出适当响应,车辆也具备自动达到最小风险状态的能力。五级系统指的是“全自动化”,具有五级自动化系统的车辆可以在任何合法的、可行驶的道路环境下实现自动驾驶,人类驾驶员仅需要设置好目的地并开启系统,车辆就可以通过最优化的路线行驶至指定地点。
在当前应用场景中,路口处设有交通灯300,交通灯300包括红灯301、黄灯302、以及绿灯303。其中,绿灯303会闪烁。车辆200朝着靠近交通灯300的方向行驶并将要行驶至路口。下文将以此应用场景为例进行详细描述。应用高精地图识别交通灯的方法包括如下步骤。
步骤S202,获取当前时刻车辆的定位信息。具体地,本方法通过设置于车辆200的定位模块(图未示)获取车辆200当前时刻的定位信息。其中,定位模块包括但不限于全球定位系统、北斗卫星导航系统、惯性测量单元等,在此不做限定。
步骤S204,根据定位信息与高精地图判断预设范围内是否存在交通灯。具体地,本方法利用设置于车辆200的主控制设备20进行判断,通过定位信息和高精地图判断预设范围内是否存在交通灯300。当预设范围内不存在交通灯300时,执行步骤S202。当预设范围内存在交通灯300时,执行步骤S206。在本实施例中,预设范围为车辆200前方50米的范围。在一些可行的实施例中,预设范围可以是车辆200前方30米、80米、或者100米的范围,预设范围也可以根据实际情况进行设定,在此不做限定。在当前应用场景中,预设范围内存在交通灯300。
步骤S206,从高精地图中提取交通灯的智能模型和状态机。具体地,本方法利用主控制设备20从高精地图中提取交通灯300的智能模型和状态机。在当前应用场景中,交通灯300的智能模型包括状态:亮红灯、亮黄灯、亮绿灯、以及不亮灯。交通灯300的状态机包括所有状态的变化过程:亮红灯变为亮绿灯、亮绿灯变为不亮灯、不亮灯变为亮绿灯、亮绿灯变为亮黄灯、亮黄灯变为亮红灯。
步骤S208,控制摄像装置拍摄交通灯的图像并获取图像。具体地,车辆200安装有摄像装置10,本方法利用主控制设备20控制摄像装置10进行拍摄并获取拍摄的图像,图像中包括交通灯300。其中,摄像装置10可以安装于车辆200的车头,也可以安装于车辆200的车顶,摄像装置10还可以根据实际情况进行安装,在此不做限定。当摄像装置10安装于车辆200时,摄像装置10的拍摄方向与车辆200的行驶方向相同(如图5所示)。
步骤S210,获取当前时刻的时间。具体地,本方法利用主控制设备20获取当前时刻的时间。主控制设备20可以通过车辆200上设有的时钟(图未示)获取当前时刻的时间,也可以通过无线网络等获取当前时刻的时间,在此不做限定。
步骤S212,利用图像、当前时刻的时间、智能模型、以及状态机识别交通灯的状态。
具体地,本方法利用主控制设备20将图像、当前时刻的时间输入至智能模型中,并获取智能模型输出的第一输出结果。其中,第一输出结果包括交通灯300当前时刻的状态。在当前应用场景中,当交通灯300亮绿灯时,将拍摄的图像、以及当前时刻的时间输入至智能模型后,获取第一输出结果为交通灯300当前时刻的状态为亮绿灯。
具体地,本方法利用主控制设备20将图像、当前时刻的时间输入至状态机中,并获取状态机输出的第二输出结果。其中,第二输出结果包括交通灯300下一时刻的状态。在当前应用场景中,当交通灯300当前时刻的状态为亮绿灯时,根据状态机可知交通灯300下一时刻的状态可能为不亮灯的状态,也可能为亮黄灯的状态。
第二输出结果还包括时间标签。其中,时间标签为每一交通灯状态所对应的现实时间段。在本实施例中,数据采集车辆进行路测拍摄视频时,会同时将当时的时间节点记录下来。在对视频数据进行标注时,会对相应的时间节点进行标注。故,标注数据中包括交通灯状态所对应的时间节点。在形成状态机的过程中,根据交通灯状态和相对应的时间节点生成每一状态所对应的现实时间段,即时间标签。举例来说,一交通灯在每天的10时开始亮绿灯,10时2分结束亮绿灯,并变化为其它状态;在每天的10时5分开始亮绿灯,10时7分结束亮绿灯,并变化为其它状态。则该交通灯亮绿灯所对应的现实时间段就包括10时-10时2分、以及10时5分-10时7分。则,结合当前时刻的时间即可获取交通灯300下一时刻的状态。在当前应用场景中,若交通灯300状态为亮绿灯所对应的时间标签包括8时8分-8时9分、8时9分2秒、8时9分4秒等;交通灯300状态为不亮灯所对应的时间标签包括8时9分1秒、8时9分3秒等;交通灯300状态为亮黄灯所对应的时间标签包括8时9分5秒-8时9分10秒等;交通灯300状态为亮红灯所对应的时间标签包括8时9分11秒-8时11分等。即是说,8时8分至8时11分这段时间内,交通灯300状态变化过程为:亮绿灯-不亮灯-亮绿灯-不亮灯-亮绿灯-亮黄灯-亮红灯。若当前时刻的时间为8时8分10秒,与时间标签8时8分-8时9分相匹配,该时间标签所对应的下一个状态为不亮灯的状态。输出交通灯300下一时刻的状态为不亮灯。即是说,交通灯300的绿灯303即将进行闪烁。
上述实施例中,利用储存于高精地图中的智能模型和状态机来识别交通灯当前时刻的状态、以及交通灯下一时刻的状态。当车辆行驶至交通灯预设范围内时,车辆就可以从高精地图中调取该交通灯的智能模型和状态机。由于智能模型和状态机分别与交通灯一一对应,通过高精地图就能够快速且精准地识别出每一个交通灯当前时刻的状态、以及下一时刻的状态。同时,本技术方案提供的方法对各种各样的交通灯都能够进行识别,能够保证识别的准确性,且应用广泛。此外,本技术方案提供的识别交通灯的方法还能够辅助车辆合理地决策启动或是停止,帮助车辆更好地规划行驶路径。
在一些可行的实施例中,车辆200也可以为具有所谓的二级或三级自动化系统的车辆。二级自动化系统指的是“部分自动化”,具有二级自动化系统的车辆需要人类驾驶员时刻进行监管并需要根据环境随时对车辆进行控制。三级自动化系统指的是“条件自动化”,具有三级自动化系统的车辆需要人类驾驶员在适当的时间内及时对车辆进行接管。应用于二级或三级自动化车辆的识别交通灯的方法可以辅助人类驾驶员进行交通灯的识别,帮助驾驶员更好地判断交通灯当前时刻的状态和下一时刻的状态,从而更好地进行决策,使得驾驶更加轻松。
请参看图3,其为本发明实施例提供的识别交通灯方法的子流程图。第一输出结果还包括交通灯是否具有倒计时模块。其中,倒计时模块用于表示还有多长时间从当前时刻的状态变化为下一时刻的状态。当交通灯具有倒计时模块时,执行步骤S302。当交通灯没有倒计时模块时,执行步骤S304。
步骤S302,根据第一输出结果获取交通灯变为下一时刻的状态所需要的时间。具体地,本方法利用主控制设备20根据第一输出结果获取交通灯300变为下一时刻的状态所需要的时间。其中,第一输出结果还包括倒计时模块当前时刻显示的数字。举例来说,交通灯300具有倒计时模块,交通灯300当前时刻的状态为亮绿灯,倒计时模块显示的数字为30,则表示30秒后交通灯300会变为下一时刻的状态。
步骤S304,根据当前时刻的时间和时间标签计算交通灯变为下一时刻的状态所需要的时间。其中,第二输出结果包括时间标签,时间标签为不同的交通灯状态所对应的现实时间段。具体地,本方法利用主控制设备20根据当前时刻的时间和时间标签计算交通灯变为下一时刻的状态所需要的时间。
首先,选取时间标签中的最大时间节点。其中,时间标签包括最小时间节点和最大时间节点,最小时间节点表示交通灯某一状态开始时的现实时间,最大时间节点表示交通灯该状态结束时的现实时间。在当前应用场景中,相匹配的时间标签为8时8分-8时9分,则该时间标签中最小时间节点为8时8分,最大时间节点为8时9分。
其次,计算当前时刻的时间与最大时间节点之差。当前时刻的时间与最大时间节点的时间差即为交通灯300变为下一时刻的状态所需要的时间。在当前应用场景中,当前时刻的时间为8时8分10秒,最大时间节点为8时9分,则时间差为50秒。即是说,50秒后交通灯300变为下一时刻的状态。
上述实施例中,通过交通灯的倒计时模块可以快速获取交通灯变为下一时刻的状态所需要的时间。当交通灯没有倒计时模块时,可以通过当前时刻的时间、以及时间标签计算出交通灯变为下一时刻的状态所需要的时间,从而可以更好地帮助车辆合理地进行决策、以及行驶路径的规划。对于没有倒计时模块的交通灯,直接利用当前时刻的时间和时间标签计算时间差,从而得到交通灯变为下一时刻的状态所需要的时间,极大减少了计算量。
请参看图6,其为本发明实施例提供的识别交通灯系统的内部结构示意图。应用高精地图识别交通灯的系统100包括摄像装置10、以及主控制设备20。识别交通灯的系统100包括但不限于安装于轿车、摩托车、卡车、运动型多用途车辆(SUV)、休闲车辆(RV)、船舶、飞行器等任何运输设备。摄像装置10和主控制设备20可以为一体式,也可以分开设置,在此不做限定。
在本实施例中,主控制设备20包括处理器21和存储器22,存储器22用于存储应用高精地图识别交通灯的程序指令,处理器21用于执行应用高精地图识别交通灯的程序指令以实现应用高精地图识别交通灯的方法。
其中,处理器21在一些实施例中可以是一中央处理器(Central ProcessingUnit, CPU)、控制器、微控制器、微处理器或其它数据处理芯片,用于运行存储器22中存储的应用高精地图识别交通灯的程序指令。
存储器22至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器22在一些实施例中可以是计算机设备的内部存储单元,例如计算机设备的硬盘。存储器22在另一些实施例中也可以是外部计算机设备的存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)等。进一步地,存储器22还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器22不仅可以用于存储安装于计算机设备的应用软件及各类数据,例如实现应用高精地图识别交通灯的方法的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。该计算机设备可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、流动硬盘、只读存储介质(ROM,Read-Only Memory)、随机存取存储介质(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。