具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)导航设备,导航设备是指用于航海、天文、水文、陆上交通等方面的导航、制导装置,其终端类产品包括导航型、测量型、授时型、测向型等终端。
2)定位系统,定位系统是以确定空间位置为目标而构成的相互关联的一个集合体或装置(部件),除GPS外,还有北斗卫星导航系统等。
3)车载摄像头,一般是30帧每秒的帧率记录当前的路况图像。
4)深度神经网络(DNN,Deep Neural Networks),是机器学习的一个分支,是一种对数据高相关性进行数据压缩的一种算法,它可以自动高效地参数化数据特征,避免人工手动设计数据特征。
5)单应性(Homography),单应性是一个从实射影平面到射影平面的可逆变换,本申请实施例基于单应性能够实现摄像头坐标系到车辆坐标系的转换,直线在该变换下仍映射为直线,单应性用来描述物体在世界坐标系和像素坐标系之间的位置映射关系,在计算机视觉领域中,空间中同一平面的任意两幅图像通过单应性关联在一起。
6)增强现实(AR,Augmented Reality)导航,在拍摄的现实道路画面中,实时呈现直观的导航指引的技术。可以大幅降低驾驶人对传统2D电子地图的读图成本,辅助用户在转向、岔路口、变换车道等多种关键场景下,更快更准确地做动作决策。
在本申请实施例的实施过程中,申请人发现相关技术存在以下问题:相关技术中,在导航设备提供的行车路线中,通常会在行车路线中添加导航指引,以导航指引的指引方向直观地引导驾驶者,但是,导航指引通常都是基于二维图像或鸟瞰图去绘制的,相关技术中缺乏如何根据真实世界构建导航指引的方案。
本申请实施例提供一种实景导航方法、装置、设备、计算机可读存储介质和计算机程序产品,能够基于真实世界构建贴地导航指引。下面说明本申请实施例提供的实景导航设备的示例性应用,本申请实施例提供的设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备),车载终端等各种类型的用户终端设备,也可以实施为服务器。下面,将说明设备实施为终端设备时示例性应用。
参见图1,图1是本申请实施例提供的实景导航系统100的架构示意图,为实现支撑一个实景导航应用,终端设备400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端设备400用于提供实景导航功能,在图形界面411显示实景导航信息。
在一些实施例中,本申请实施例提供的实景导航方法可以由终端设备400实现,终端设备400中运行的客户端中可以植入有实景导航插件,用以在客户端本地实现实景导航方法。例如,终端设备400调用实景导航插件,在显示界面中实时显示当前帧路面图像,从当前帧路面图像中识别出多个车道线,并将多个车道线投影到车辆坐标系中,得到对应的多个投影车道线,从多个投影车道线中检测出两个当前跟随车道线,从当前帧路面图像中检测出车辆的当前位姿,基于当前位姿在两个当前跟随车道线之间显示贴地导航指引,以在图形界面411显示实景导航信息,辅助用户在转向、岔路口、变换车道等多种导航场景下,更快更准确地做动作决策。
在一些实施例中,本申请实施例提供的实景导航方法可以由终端设备和服务器协同实现。例如,用户在终端设备400中输入导航的起点以及终点,终端设备400可以将用户输入的起点和终点发送至服务器200,服务器200根据接收到的起点和终点制定导航路线,从当前帧路面图像中识别出多个车道线,并将多个车道线投影到车辆坐标系中,得到对应的多个投影车道线,从多个投影车道线中检测出两个当前跟随车道线,从当前帧路面图像中检测出车辆的当前位姿,基于当前位姿确定在两个当前跟随车道线之间的贴地导航指引,并将此次导航信息(包括当前跟随车道线、导航指引等)发送至终端设备400,以在图形界面411显示实景导航信息,辅助用户在转向、岔路口、变换车道等多种导航场景下,更快更准确地做动作决策。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载导航设备等,但并不局限于此。终端设备400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2是本申请实施例提供的具有实景导航功能的终端设备400的结构示意图,图2所示的终端设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的实景导航装置可以采用软件方式实现,图2示出了存储在存储器450中的实景导航装置455,其可以是程序和插件等形式的软件,包括以下软件模块:数据采集模块4551、车道投影模块4552、车道跟随模块4553、位姿检测模块4554、指引生成模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的实景导航方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
在一些实施例中,终端设备或服务器可以通过运行计算机程序来实现本申请实施例提供的权限发放方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如导航APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
如上所述,将结合本申请实施例提供的实景导航设备的示例性应用和实施,说明本申请实施例提供的实景导航方法。参见图3A,图3A是本申请实施例提供的实景导航方法的流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,在显示界面中实时显示当前帧路面图像,其中,当前帧路面图像是对车辆所行驶的道路进行图像采集得到的。
例如,当前帧路面图像可以是由车载摄像头拍摄的,也可以是由手机拍摄的,当前帧路面图像中包括了车辆所行驶的道路信息,与传统的基于二维平面的地图导航不同,本申请实施例是在实际拍摄的前帧路面图像中进行导航的。
作为示例,通过车载摄像头对车辆所行驶的道路信息进行实时拍摄,通常情况下,车载摄像头以30帧每秒的帧率进行拍摄,并通过在车内的人机交互设备(例如终端设备)显示当前帧路面图像。
需要说明的是,本申请实施例中的显示界面可以是仅有显示功能的界面,也可以是具有人机交互功能的界面(即人机交互界面)。
上述的方式,在显示界面中实时显示当前帧路面图像,为实景导航提供了图像基础。
在一些实施例中,在步骤102中的将多个车道线投影到车辆坐标系中,得到对应的多个投影车道线之前,还可以执行如下步骤:以车辆的四个端点的对角线的交点在底盘上的投影点为原点,以车辆的行驶方向为横轴的正方向或负方向,以车辆的上方为竖轴的正方向或负方向,以车辆的左侧为纵轴的正方向或负方向,构建车辆坐标系。
例如,车辆坐标系的原点的选取是以车辆的四个端点的对角线的交点在底盘上的投影点为原点,四个端点可以是车轮或车壳的四角,并且以车辆的行驶方向为横轴的正方向或负方向、以车辆的上方为竖轴的正方向或负方向,以车辆的左侧为纵轴的正方向或负方向构建车辆坐标系。
作为示例,参见图6B,图6B为本申请实施例提供的车辆坐标系原点选择示意图。为了使构建的坐标系能够更好地“贴地”,将车辆坐标系的原点定义为车辆的四个端点的对角线的交点在底盘上的投影点601,从而实现“贴地”。
在步骤102中,从当前帧路面图像中识别出多个车道线,并将多个车道线投影到车辆坐标系中,得到对应的多个投影车道线。
例如,从当前帧路面图像中识别出至少两个车道线,并将至少两个车道线投影到以车辆为原点构建的坐标系中,从而获得识别出的车道线在车辆坐标系中的位置。
作为示例,参见图6E,图6E为本申请实施例提供的车道线投影原理图。从当前帧路面图像中识别出四条车道线,分别为第一车道线611、第二车道线612、第三车道线613、第四车道线614,并将第一车道线611、第二车道线612、第三车道线613、第四车道线614投影到以车辆为原点构建的坐标系中,得到对应的第一投影车道线621、第二投影车道线622、第三投影车道线623、第四投影车道线624。
上述的方式,通过对当前帧路面图像进行识别,识别出至少两条车道线,并将至少两个车道线投影到以车辆为原点构建的坐标系中,从而获得识别出的车道线在车辆坐标系中的位置,为实景导航中贴地导航指引的生成提供了基础。
在一些实施例中,参见图3B,步骤102中的从当前帧路面图像中识别出多个车道线可以通过步骤10211-10215实现,将结合步骤进行说明。
在步骤10211中,对当前帧路面图像进行下采样处理,得到压缩尺寸后的下采样特征图。
例如,对当前帧路面图像进行下采样处理,从而压缩图像的大小,获取压缩图像大小后的特征图。
作为示例,参见图3J,图3J为本申请实施例提供的车道线提取网络结构图。首先对当前帧路面图像的图像特征进行提取,获得当前帧路面图像的特征图,然后通过下采样层对特征图进行下采样处理,下采样层包括卷积层以及池化层,例如将特征图输入第一卷积层3001进行卷积,获取卷积后的特征图,卷积后的特征图被输入第一池化层3011进行池化(Pooling),以压缩特征图的大小,之后再经过多次卷积和池化操作,例如依次经过第二卷积层3002进行卷积,第二池化层3012进行池化,第三卷积层3003进行卷积,第三池化层3013进行池化,获取最后一次池化后输出的经过压缩的特征图。
上述的方式,将当前帧路面图像的特征图进行了多次卷积和池化操作,压缩了图像大小,为特征图的上采样提供了基础。
在步骤10212中,对下采样得到的特征图进行上采样处理,得到还原尺寸后的上采样特征图。
例如,对压缩后的特征图进行上采样处理,从而还原图像的大小,获取还原压缩图像大小后的特征图。
作为示例,参见图3J,对经过压缩的特征图进行上采样操作,通过将经过压缩的特征图输入上采样层进行上采样,上采样层包括池化层以及卷积层,例如将经过压缩的特征图输入第四池化层3014进行逆池化(Unpooling),获取逆池化后的特征图,逆池化后的特征图被输入第四卷积层3004进行卷积,以提取图像特征,之后再经过多次逆池化和卷积操作,例如依次经过第五卷池化层3015进行池化,第五卷积层3005进行卷积,第六池化层3016进行池化,第六卷积层3006进行卷积,获取最后一层卷积层输出的还原原始尺寸的特征图。
上述的方式,对压缩后的特征图进行了多次池化和卷积操作,还原了图像大小,为特征分类提供了基础。
在步骤10213中,基于上采样特征图进行分类处理,分别得到车道线种类分类结果、车道线颜色分类结果、车道线虚实分类结果以及分别对应的置信度。
参见图3J,需要对特征图进行分类处理,从而提取车道线的特征,将特征图输入分类层3100进行分类,例如:对车道线种类、车道线颜色和车道线虚实进行分类,以获取道线种类分类结果、车道线颜色分类结果、车道线虚实分类结果。
作为示例,车道线种类分类结果包括车道线、停止线;车道线颜色分类结果包括:白色、黄色;车道线虚实分类结果包括:实线、虚线。对于每种分类结果,获取对应分类的置信度。
上述的方式,从特征图中获取了车道线的多组特征,为后续特征的组合提供了基础。
在步骤10214中,将超出车道线种类置信度阈值的车道线种类分类结果、超出车道线颜色置信度阈值的车道线颜色分类结果、以及超出车道线虚实置信度阈值的车道线虚实分类结果,作为车道线识别结果。
例如,得到车道线种类、车道线颜色和车道线虚实的分类结果后,还需要保留以上结果对应的置信度,并基于置信度对结果进行分类,从而得到车道线识别结果。
作为示例,在车道线、停止线中,车道线的置信度超过车道线种类置信度阈值,则车道线为车道线识别结果之一,在白色、黄色中,白色的置信度超过车道线颜色置信度阈值,则白色为车道线识别结果之一,在实线、虚线,实线的置信度超过车道线虚实置信度阈值,则实线为车道线识别结果之一,最终的车道线识别结果为:白色实线车道线。需要说明的是,停止线通常指路口处位于斑马线一侧的,用于提示车辆停止的白色实线,因此只有白色实线停止线一种。
上述的方式,获取的车道线识别结果为车道线投影提供了基础。
在步骤10215中,基于车道线识别结果确定当前帧路面图像包括的多个车道线。
参见图3K,图3K为本申请实施例提供的U型网络结构图,对车道线的提取操作还可以采用U型网络(U-net)从当前帧路面图像中识别出多个车道线,U型网络包括两部分:收缩路径(Contracting path)和扩展路径(Expanding path)。搜索路径主要是用来捕捉当前帧路面图像中的上下文信息(Context information),而与之相对称的扩展路径则是为了对当前帧路面图像中需要分割出来的部分进行精准定位(Localization),收缩路径是卷积网络架构,每个重复结构(下采样层)中都有2个卷积层和一个池化层,卷积层中卷积核大小均为33,激活函数使用ReLU,两个卷积层之后是一个22的步长为2的最大池化层。每一次下采样后都把特征通道的数量加倍,例如从64通道变为128通道,从128通道变为256通道,从256通道变为512通道,从512通道变为1024通道。扩展路径中的每一重复结构(上采样层)都首先使用反卷积,每次使用反卷积都将特征通道数量减半,特征图大小加倍。反卷积过后,将反卷积的结果与收缩路径中对应步骤的特征图拼接起来。收缩路径中的特征图尺寸更大,将其修剪过后进行拼接。对拼接后的特征图进行2次33的卷积。最后一层的卷积核大小为11,将64通道的特征图转化为特定深度(分类数量,二分类为2)的结果。网络总共23层。
在一些实施例中,参见图3C,步骤102中的将多个车道线投影到车辆坐标系中,得到对应的多个投影车道线可以通过步骤10221-10222实现,将结合步骤进行说明。
在步骤10221中,针对每个车道线执行以下处理:基于当前帧路面图像与车辆坐标系之间的单应性矩阵,将车道线投影到车辆坐标系中,得到对应的多个映射点。
例如,当前帧路面图像具体是当前帧路面图像所代表的摄像头坐标系,即以摄像头为参照的坐标系,单应性矩阵是当前路面图像的点与车辆坐标系的点之间的映射关系,使用单应性矩阵可以找到当前路面图像的任意点在车辆坐标系上对应点的确切位置。
作为示例,参见图6E,通过单应性矩阵可以获得车道线在车辆坐标系中的映射点,即车道线在车辆坐标系中的位置,对于当前路面图像,分别获取了第一车道线611、第二车道线612、第三车道线613、第四车道线614的位置。
上述的方式,通过单应性矩阵得到了检测到的车道线在车辆坐标系中的位置,为后续使用二次多项式拟合位置提供了基础。
在步骤10222中,构建拟合有多个映射点的二次多项式曲线,将二次多项式曲线作为与车道线对应的投影车道线。
例如,映射点代表了车道线的位置,而对于车辆坐标系来说,映射点在车辆坐标系中是在原点以下的点,考虑到路面并不一定平滑,因此映射点是近似位于同一平面的,根据这一特性,可以对映射点通过二次多项式进行拟合,从而获取与车道线对应的投影车道线。
作为示例,参见图6E,拟合后得到的投影车道线分别为:第一投影车道线621、第二投影车道线622、第三投影车道线623、第四投影车道线624,由于在拟合的过程中存在偏差,因此,使用二次多项式拟合后得到的投影车道线并非完全与检测到的车道线贴合。
在一些实施例中,参见图3D,图3D示出的步骤10221可以通过步骤102211-102212实现,将结合步骤进行说明。
在步骤102211中,对车辆中用于进行图像采集的摄像头进行摄像头标定处理,得到摄像头在车辆坐标系中的位置,其中,位置包括摄像头在车辆坐标系中的坐标和摄像头相对于车辆坐标系的姿态角。
在步骤102212中,获取摄像头的内参数,基于摄像头在车辆坐标系中的位置和摄像头的内参数,构建从当前帧路面图像到车辆坐标系的单应性矩阵,其中,通过同一摄像头拍摄的不同的路面图像共用单应性矩阵,不同位置的摄像头对应不同的单应性矩阵。
例如,为了得到当前路面图像到车辆坐标系中的单应性矩阵,需要获取摄像头在车辆坐标系中的坐标、姿态角以及摄像头内参数,并基于摄像头在车辆坐标系中的坐标、姿态角以及摄像头内参数,构建当前路面图像到车辆坐标系中的单应性矩阵。
作为示例,参见图3L,图3L为本申请实施例提供的单应性矩阵投影原理图。通过单应性矩阵H,可以获取当前路面图像中的像素点到车辆坐标系的映射关系,例如,当前路面图像中的第一像素点3201在车辆坐标系的映射为第四像素点3211,当前路面图像中的第二像素点3202在车辆坐标系的映射为第五像素点3212,当前路面图像中的第三像素点3203在车辆坐标系的映射为第六像素点3213。
上述的方式,构建了当前路面图像到车辆坐标系的单应性矩阵,为车道线的投影提供了投影基础。
在一些实施例中,单应性矩阵的构建可以通过图3E示出的步骤1022121-1022124实现,将结合步骤进行说明。
在步骤1022121中,将摄像头在车辆坐标系中的坐标,确定为摄像头到车辆坐标系的原点的平移关系,将摄像头在车辆坐标系中的姿态角,确定为摄像头到车辆坐标系的原点的旋转关系。
作为示例,参见图6C,图6C为本申请实施例提供的摄像头姿态角原理图。获取车载摄像头在车辆坐标系下的坐标值以及相较于车辆坐标系的姿态角:翻滚角(Roll)、俯仰角(Yaw)、偏摆角(Pitch),其中,翻滚角表示车载摄像头在竖轴上的旋转值,俯仰角表示车载摄像头在纵轴上的旋转值,偏摆角表示车载摄像头在横轴上的旋转值,计算摄像头到车辆坐标系原点的横轴、纵轴、竖轴值,作为平移关系;计算摄像头相较于车辆坐标系的翻滚角、俯仰角、偏摆角,作为旋转关系。
在步骤1022122中,将物理变换量是平移关系与旋转关系的加和,确定为摄像头到车辆坐标系中的物理变换量。
作为示例,平移关系通常表示为t,旋转关系表示为R,物理变换量表示为W=[Rt],其中W代表平移关系与旋转关系的和。
在步骤1022123中,基于摄像头的内参数构建内参数矩阵。
作为示例,参见图6D,图6D为本申请实施例提供的车载摄像头内参数在图像坐标系中的示意图。获取车载摄像头的内参数f
x、f
y、c
x、c
y,其中,f
x、f
y分别表示车载摄像头的图像在图像坐标系x、y方向上的焦距,c
x、c
y分别表示车载摄像头的光轴在图像坐标系x、y方向上的偏移量,其中f
x、c
x的正方向水平向右,f
y、c
y的正方向竖直向下,内参数矩阵
在步骤1022124中,将内参数矩阵、物理变换量和尺度比例的乘积,作为单应性矩阵,其中,尺度比例表示当前帧路面图像到车辆坐标系的转换比例。
作为示例,尺度比例一般定义为s,尺度比例表示当前帧路面图像到车辆坐标系的转换比例,最终构建的单应性矩阵表示为H=sMW。
在步骤103中,从多个投影车道线中检测出两个当前跟随车道线,其中,两个当前跟随车道线是距离车辆最近的两个投影车道线。
例如,从多个投影车道线中检测出距离车辆最近的两个投影车道线,作为两个当前跟随车道线,从而确定车辆所位于哪两条车道线之间。
作为示例,参见图7A,图7A是本申请实施例提供的当前跟随车道线检测原理图,从多个投影车道线中检测出距离车辆最近的两条投影车道线分别为第七车道线711和第八车道线712。
上述的方式,将距离车辆最近的两条投影车道线作为当前跟随车道线,为贴地导航指引的生成提供了位置基础。
在一些实施例中,步骤103可以通过如下步骤实现:针对上一帧路面图像中的两个历史跟随车道线,分别执行以下处理:将多个投影车道线分别与历史跟随车道线进行匹配处理,将匹配得到的与历史跟随车道线最近、且与历史跟随车道线的距离小于距离阈值的投影车道线,作为一个当前跟随车道线。
例如,上一帧路面图像中的历史跟随车道线与当前帧路面图像的跟随车道线可能并不吻合,需要做平滑处理,因此将多个投影车道线分别与历史跟随车道线进行匹配处理,将匹配得到的与历史跟随车道线最近、且距离小于距离阈值的投影车道线,作为一个当前跟随车道线。
作为示例,参见图7A,上一帧路面图像的两个历史跟随车道线为第五车道线701和第六车道线702,采用最近匹配原则,将匹配得到的与历史跟随车道线最近、且距离小于距离阈值的投影车道线,作为一个当前跟随车道线。例如,当前帧中投影车道线为第七车道线711和第八车道线712,采用最近匹配原则,如第五车道线701与第七车道线711最近,第六车道线702与第八车道线712最近,将第七车道线711和第八车道线712确定为当前帧中的跟随车道线。
上述的方式,通过最近匹配原则,将匹配得到的与历史跟随车道线最近、且距离小于距离阈值的投影车道线,作为一个当前跟随车道线,从而实现了上一帧与当前帧路面图像中跟随车道线的平滑处理。
需要说明的是,当两个当前跟随车道线分布于车辆两侧时,基于当前位姿在两个当前跟随车道线之间显示贴地导航指引;当两个当前跟随车道线分布于车辆一侧时,通过当前位姿确定贴地导航指引的起始生成位置,将起始生成位置向距离车辆最远的当前跟随车道线移动,得到目标位置,其中,目标位置位于两个当前跟随车道线之间,且位于两个当前跟随车道线所在的平面上,从目标位置开始,在两个当前跟随车道线之间显示贴地导航指引。
如图7B所示,两个当前跟随车道线为第七车道线711和第八车道线712,且第七车道线711和第八车道线712均位于车辆左侧,即车辆行驶在第八车道线712上,通过当前位姿确定贴地导航指引的起始生成位置713,将起始生成位置713向距离车辆最远的第七车道线711移动,得到目标位置714,从目标位置714开始,在第七车道线711和第八车道线712之间显示贴地导航指引,以通过贴地导航指引指示,提示用户调整状态,避免压线行驶的危险驾驶行为。
在步骤104中,从当前帧路面图像中检测出车辆的当前位姿。
例如,贴地导航指引需要绘制在车辆前方,因此还需要对车辆的当前位姿进行检测。
在一些实施例中,参见图3F,图3F示出的步骤104可以通过步骤1041-1043实现,将结合步骤进行说明。
在步骤1041中,当采集当前帧路面图像时,获取车辆中的惯性传感器同步输出的惯性传感数据,基于惯性传感数据确定车辆的第一估计位姿。
在步骤1042中,从当前帧路面图像提取图像特征,基于图像特征确定车辆的第二估计位姿。
在步骤1043中,基于第二估计位姿对第一估计位姿进行修正处理,得到车辆的当前位姿。
例如,相较于惯性传感器,车载摄像头的数据几乎不会产生漂移,如果车载摄像头固定不动,第二估计位姿也是固定不动的,因此,车载摄像头的数据可以有效地修正惯性传感器中产生的漂移值,而车载摄像头的缺点是运动过快时会出现运动模糊,即第一估计位姿会产生漂移值,这一点恰好被惯性传感器所弥补,而对于短时间的快速运动,惯性传感器能够提供估计。
在一些实施例中,步骤1041可以通过以下步骤具体实现:惯性传感器数据包括:车辆的加速度和角速度,其中加速度和角速度包括漂移值;获取车辆当前时刻与上一时刻的时间差,确定车辆相对于时间差和加速度而产生的位移值,将角速度对时间差的积分作为角位移,其中,位移值与角位移的参照物是上一时刻的车辆;将位移值与角位移确定为车辆的第一估计位姿。
作为示例,惯性传感器中的六轴陀螺仪可以感应车辆的加速度以及角速度,通过加速度、时间差以及上一时刻的初速度,利用加速度与位移的关系公式,计算出相较于车辆上一时刻的位移值;对于角位移,可以通过角速度对时间差的积分求得相较于车辆上一时刻的角位移,并将位移值与角位移确定为车辆的第一估计位姿。其中,位移值与角位移作为表征第一估计位姿的参数。
在一些实施例中,参见图3G,图3G示出的步骤1043可以通过步骤10431-10433实现,将结合步骤进行说明。
在步骤10431中,获取第二位姿估计值在当前位姿中所占的比重。
作为示例,当车辆还没有开始运动时,通过图像特征确定车辆的第二估计位姿几乎不会产生漂移值,初始时刻下,可以将第二估计位姿的比重定义为100%,对于此时通过惯性传感器获得第一估计位姿与第二估计位姿的比值,将比值作为第一估计位姿的比重;在下一个时刻,通过第一估计位姿的比重计算出下一个时刻的第一估计位姿,将下一个时刻的第一估计位姿与下一个时刻的第二估计位姿的比值,作为下一个时刻的第二估计位姿的比重,然后对初始时刻下第二估计位姿的比重与下一个时刻的第二估计位姿的比重求平均数,得到当前位姿的比重,如此进行迭代,获得每一个时刻的当前位姿在当前位姿中所占的比重。
在步骤10432中,将比重与第二估计位姿的乘积,确定为修正量。
在步骤10433中,将第一估计位姿与修正量的加和,确定为车辆的当前位姿。
例如,当第一估计位姿包括位移值与角位移时,获取第二位姿估计值中位移值在当前位姿中所占的比重,将比重与第二估计位姿中的位移值的乘积,确定为位移修正量,将第一估计位姿中位移值与位移修正量的加和,确定为车辆的当前位姿的位移值;获取第二位姿估计值中角位移在当前位姿中所占的比重,将比重与第二估计位姿中的角位移的乘积,确定为角位移修正量,将第一估计位姿中角位移与角位移修正量的加和,确定为车辆的当前位姿的角位移。
上述的方式,通过对第二位姿估计值进行修正,得到了车辆的当前位姿,为后续贴地导航指引的生成提供了基础。
在步骤105中,在显示界面中,基于当前位姿在两个当前跟随车道线之间显示贴地导航指引。
在一些实施例中,参见图3H,图3H示出的步骤105可以通过步骤10511-10512实现,将结合步骤进行说明。
在步骤10511中,通过当前位姿确定贴地导航指引的起始生成位置,其中,起始生成位置位于两个当前跟随车道线之间,且位于两个当前跟随车道线所在的平面上。
在步骤10512中,从起始生成位置开始,在两个当前跟随车道线之间显示贴地导航指引;其中,贴地导航指引的类型的包括:直行铺路指引、变道指引、路口指引。
作为示例,通过当前位姿可以确定贴地导航指引的起始生成位置,例如将当前位姿与设定位姿相加,得到贴地导航指引的起始生成位置,即知道贴地导航指引应当生成在车辆前方多远的距离处,设定位姿可以预先根据需求设定,生成的贴地导航指引位于两个当前跟随车道线之间,并且位于两个当前跟随车道线所在的平面上,从而使贴地导航指引实现真正意义上的贴地。
在一些实施例中,步骤105还可以通过以下步骤实现:输出语音导航指引,响应于车辆未按照语音导航指引行驶,基于当前位姿在两个当前跟随车道线之间显示贴地导航指引;其中,语音导航指引的类型包括以下至少一种:直行语音指引、变道语音指引、路口语音指引。
例如,为了增加贴地导航指引的沉浸感,需要在车辆前方的一定距离上,且在两个当前跟随车道线之间显示贴地导航指引;或者与语音导航指引同步,在车辆前方的一定距离上,且在两个当前跟随车道线之间显示与语音导航一致的贴地导航指引。语音导航指引的类型包括以下至少一种:直行语音指引、变道语音指引、路口语音指引。
作为示例,当语音导航指引提示车辆当前需要直行,则在车辆前方,且在两个当前跟随车道线之间显示直行铺路指引,当语音导航指引提示车辆当前需要变道,则在车辆前方,且在两个当前跟随车道线之间显示变道指引,当语音导航指引提示车辆当前需要路口转弯,则在车辆前方,且在两个当前跟随车道线之间显示路口指引。
上述的方式,通过将贴地导航指引与语音导航指引相融合,提高了贴地导航指引的沉浸感。
例如,通过当前位姿确定贴地导航指引的起始生成位置,从起始生成位置开始,沿两个当前跟随车道线之间显示贴地导航指引,根据导航信息,生成对应类型的贴地导航指引,若当前导航信息要求直行,则生成直行铺路指引;若当前导航信息要求变道,则生成变道指引;若当前导航信息要求路口转弯,则生成路口指引。
在一些实施例中,参见图3I,图3I示出的步骤201-202可以在步骤105之后执行,将结合步骤进行说明。
在步骤201中,对已经生成的每个贴地指引进行显示位置检测处理。
在步骤202中,当显示位置检测结果表征贴地指引在两个当前跟随车道线之间的显示位置位于车辆之后时,对贴地指引进行销毁处理。
例如,为了节省内存空间,需要对已经生成的位置位于车辆之后的贴地指引进行销毁处理,即对已经生成的每个贴地指引进行位置检测处理,当位于车辆之后,对贴地指引进行销毁处理。
上述的方式,销毁了冗余的贴地指引,释放了相关资源,节省了内存。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
车辆行驶之前,用户可以使用导航设备(例如实景导航设备),设定起点和终点,通过导航功能查询导航路线,并将导航路线以贴地指引的形式渲染在导航设备显示界面所呈现的实拍图像中,以使用户更直观地获知导航路线,导航设备显示界面所呈现的实拍图像通过车载摄像头获取,并由车载摄像头发送至导航设备。
参见图4A,图4A为本申请实施例提供的终点设置人机交互界面图。导航设备在人机交互界面中显示目的地的输入框401,用于提示用户设置目的地,起点的设置可以通过导航设备的定位系统对当前车辆的位置自动获取,响应于针对设置起点和设置终点的触发操作,导航设备从服务器获取导航信息。
参见图4B,图4B为本申请实施例提供的导航方案选择人机交互界面图。导航设备从服务器获取导航信息之后,在人机交互界面显示推荐路线402,同时提供备选方案以及导航方式的选择按钮,例如AR导航按钮403,响应于AR导航按钮403的触发操作,在人机交互界面上显示融合了贴地指引的当前路面图像。
在一些实施例中,参见图4C,图4C为本申请实施例提供的直行铺路贴地指引人机交互界面图。根据导航设备从服务器中获取的导航路线,此时导航路线为直行,在导航设备的人机交互界面显示直行铺路贴地指引404。
在一些实施例中,参见图4D,图4D为本申请实施例提供的变道提醒贴地指引人机交互界面图。导航设备从服务器中获取导航路线,此时导航路线为提醒车辆变道,导航设备的人机交互界面中显示变道提醒贴地指引405,提醒车辆变道。
在一些实施例中,参见图4E,图4E为本申请实施例提供的路口指引人机交互界面图。导航设备从服务器中获取导航路线,此时导航路线为提醒路口转弯,导航设备的人机交互界面中显示变道提醒贴地指引406,同时,在空中显示悬浮的变道提醒浮空指引407。
在一些实施例中,导航设备从服务器获取导航信息之后,根据导航设备从服务器中获取的导航路线生成对应的贴地指引,需要从车载摄像头拍摄的当前帧图像中提取车道线,并将车道线投影到以车辆为原点构建的车辆坐标系中。下面,将分别对车道线的提取操作和车道线的投影操作分别进行描述。
对于车道线的提取操作,参见图5,首先导航设备获取车载摄像头拍摄的当前帧图像,对当前帧图像的图像特征进行提取,得到特征图;
其次,对得到的特征图进行编码(Encoder)操作(即下采样操作),对于得到的特征图,在编码阶段进行多次卷积操作,得到编码后的特征图。
在一些实施例中,特征图通过第七卷积层501进行卷积,获取卷积后的特征图,卷积后的特征图被输入第七池化层511进行池化,以压缩特征图的大小,之后经过第八卷积层502、第八池化层512、第九卷积层503、第九池化层513进行多次卷积和池化操作,获取第九池化层513输出的经过压缩的特征图,即编码后的特征图。
再次,对编码后的特征图进行解码(Decoder)操作(即上采样操作),对于编码后的特征图,在解码阶段进行多次反卷积操作,得到解码后的特征图。
在一些实施例中,编码后的特征图通过第十池化层514进行逆池化,获取逆池化后的特征图,逆池化后的特征图被输入第十卷积层504进行卷积,以提取图像特征,之后经过第十一池化层515、第十一卷积层505、第十二池化层516、第十二卷积层506进行多次逆池化和卷积操作,获取第十二卷积层506输出的还原原始尺寸的特征图,即解码后的特征图。
最后,对解码后的特征图通过归一化函数(Softmax)进行分类操作,分别对车道线的种类、车道线的颜色、车道线的虚实进行分类,分别保留种类置信度、颜色置信度、虚实置信度以上的结果,并将三个结果进行组合,输出分类后的车道线。例如:白色实线的车道线、白色虚线的车道线、黄色实线的车道线、黄色虚线的车道线、白色实线的停止线。
在一些实施例中,对于车道线提取,可以采用图5示出的方法,也可以通过深度神经网络对车道线进行提取,这里,不对车道线的提取方式做限定。
对于车道线的投影操作,首先以车辆为原点构建空间坐标系。参见图6A,图6A为本申请实施例提供的车辆坐标系示意图。车辆坐标系的构建以车辆为原点(O点),以车辆行驶的方向横轴(x轴)、以车辆的上方为竖轴(z轴),以载具的左侧或右侧为纵轴(y轴)。
在一些实施例中,参见图6B,图6B示出了的车辆坐标系原点的选择方法,以车辆四轮交叉线在车辆底盘的交点601为车辆坐标系的原点,车载摄像头602的位置设置在挡风玻璃之后。
其次,标定出车载摄像头在车辆坐标系下的位置。参见图6C,获取车载摄像头在车辆坐标系下的坐标值以及相较于车辆坐标系的姿态角:翻滚角、俯仰角、偏摆角,其中,翻滚角表示车载摄像头在竖轴上的旋转值,俯仰角表示车载摄像头在纵轴上的旋转值,偏摆角表示车载摄像头在横轴上的旋转值;参见图6D,获取车载摄像头的内参数fx、fy、cx、cy,其中,fx、fy分别表示车载摄像头的图像在图像坐标系x,y方向上的焦距,cx、cy分别表示车载摄像头的光轴在图像坐标系x,y方向上的偏移量,其中fx、cx的正方向水平向右,fy、cy的正方向竖直向下。
再次,通过车载摄像头在车辆坐标系下的坐标值、相较于汽车坐标系的姿态角以及车载摄像头的内参构建车载摄像头的图像到车辆坐标系的单应性矩阵H,单应性矩阵H是车载摄像头图像的点与车辆坐标系的点之间的映射,使用单应性矩阵H可以找到车载摄像头图像的任意点在车辆坐标系上对应点的确切位置。
最后,通过单应性矩阵将检测到的车道线投影到车辆坐标系中。参见图6E,对于当前路面图像中检测到的第一车道线611、第二车道线612、第三车道线613、第四车道线614,通过图像到汽车坐标系的物理关系H找到在车辆坐标系中的位置,并在车辆坐标系中使用二次多项式来拟合检测到第一车道线611、第二车道线612、第三车道线613、第四车道线614,使用二次多项式拟合后的结果作为第一投影车道线621、第二投影车道线622、第三投影车道线623、第四投影车道线624,并在任意两条相邻的投影车道线之间使用二次多项式描述车道中线,例如:第一投影车道线621和第二投影车道线622之间的车道中线在车辆坐标系中被描述为第一车道中线631,第二投影车道线622和第三投影车道线623之间的车道中线在车辆坐标系中被描述为第二车道中线632,第三投影车道线623和第四投影车道线624之间的车道中线在车辆坐标系中被描述为第三车道中线633。
在一些实施例中,当将车道线投影到以车辆为原点构建的车辆坐标系中之后,需要确定两个当前跟随车道线。参见图7A,将上一帧路面图像的两个历史跟随车道线(即上一帧中距离车辆两侧最近的投影车道线)赋予唯一标识,例如,上一帧路面图像的两个历史跟随车道线为第五车道线701和第六车道线702,对第五车道线701和第六车道线702赋予唯一标识。然后对当前帧的投影车道线也赋予唯一标识,并分别将当前帧的多个投影车道线分别与历史跟随车道线进行匹配处理,采用最近匹配原则,将匹配得到的与历史跟随车道线最近、且距离小于距离阈值的投影车道线,作为一个当前跟随车道线。例如,当前帧中投影车道线为第七车道线711和第八车道线712,采用最近匹配原则,如第五车道线701与第七车道线711最近,第六车道线702与第八车道线712最近,将第七车道线711和第八车道线712确定为当前帧中的跟随车道线。
在一些实施例中,采用最近匹配原则匹配时,可以设置一米的阈值,从而过滤掉无效的匹配。
在一些实施例中,导航设备从服务器获取导航信息之后,还需要对车辆的当前位姿进行检测。参见图8,图8为本申请实施例提供的车辆位姿检测原理图。首先,获取车载摄像头的当前帧图像,对当前帧图像提取图像特征,作为车载摄像头的估计位姿,用于修正惯性传感器的漂移值。相较于惯性传感器,车载摄像头的数据几乎不会产生漂移,如果车载摄像头固定不动,位姿估计也是固定不动的,因此,车载摄像头的数据可以有效地修正惯性传感器中产生的漂移值,而车载摄像头的缺点是运动过快时会出现运动模糊,这一点恰好被惯性传感器所弥补。
其次,获取惯性传感器数据,惯性传感器数据包括自适应巡航(ACC,AdaptiveCruise Control)系统中的车速以及由六轴陀螺(Gyro)仪产生的角速度和加速度,对于短时间的快速运动,惯性传感器能够提供估计,通过惯性传感器数据获得惯性传感器的估计位姿。
再次,通过车载摄像头的估计位姿的比重确定修正比例。在确定修正比例时,可以通过加权平均计算车载摄像头的估计位姿的比重,以车载摄像头的估计位姿乘以比重,确定需要修正的数值,从而对惯性传感器的估计位姿进行修正。
最后,根据状态量对当前位姿进行更新,状态量(State)包括:惯性传感器的估计位姿(Posea),修正比例(Scale)和漂移值(Biases),从而获取车辆的当前位姿,当前位姿为一个包含了六自由度的位姿值(即沿x、y、z三个直角坐标轴方向的移动自由度和绕这三个坐标轴的转动自由度)。
在一些实施例中,当车辆处于起点,车辆还没有产生运动时,可以将车载摄像头的当前帧图像提取图像特征,获取位姿估计值,以位姿估计值直接作为车辆的当前位姿。
在一些实施例中,参见图4C、4D、4E,导航设备从服务器获取导航信息,根据导航信息生成对应种类的贴地导航指引,在生成贴地导航指引之前,首先通过位姿确定贴地导航指引的起始生成位置,其中,起始生成位置位于两个当前跟随车道线之间,然后从起始生成位置开始,沿两个当前跟随车道线之间生成贴地导航指引,生成的贴地导航指引的类型的包括:直行铺路指引、变道指引、路口指引。
在一些实施例中,参见图9,图9为本申请实施例提供的贴地导航指引生命周期示意图。对于贴地导航指引,1、生成贴地指引;2、将贴地导航指引与车辆的当前位姿进行位置比较;3、当通过位置比较确定贴地指引位于车辆身后时,销毁贴地导航指引。
可以理解的是,在本申请实施例中,涉及到用户信息相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的实景导航装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的实景导航装置455中的软件模块可以包括:
数据采集模块4551,用于在显示界面中实时显示当前帧路面图像,其中,所述当前帧路面图像是对车辆所行驶的道路进行图像采集得到的;车道投影模块4552,用于从所述当前帧路面图像中识别出多个车道线,并将所述多个车道线投影到车辆坐标系中,得到对应的多个投影车道线;车道跟随模块4553,用于从所述多个投影车道线中检测出两个当前跟随车道线,其中,所述两个当前跟随车道线是距离所述车辆最近的两个所述投影车道线;位姿检测模块4554,用于从所述当前帧路面图像中检测出所述车辆的当前位姿;指引生成模块4555,用于在所述显示界面中,基于所述当前位姿在所述两个当前跟随车道线之间显示贴地导航指引。
在一些实施例中,所述将所述多个车道线投影到车辆坐标系中,得到对应的多个投影车道线之前,所述车道投影模块4552还用于以所述车辆的四个端点的对角线的交点在底盘上的投影点为原点,以所述车辆的行驶方向为横轴的正方向或负方向,以所述车辆的上方为竖轴的正方向或负方向,以所述车辆的左侧为纵轴的正方向或负方向,构建所述车辆坐标系。
在一些实施例中,所述车道投影模块4552还用于对所述当前帧路面图像进行下采样处理,得到压缩尺寸后的下采样特征图;对所述下采样特征图进行上采样处理,得到还原尺寸后的上采样特征图;基于所述上采样特征图进行分类处理,分别得到车道线种类分类结果、车道线颜色分类结果、车道线虚实分类结果以及分别对应的置信度;将超出车道线种类置信度阈值的所述车道线种类分类结果、超出车道线颜色置信度阈值的所述车道线颜色分类结果、以及超出车道线虚实置信度阈值的所述车道线虚实分类结果,作为车道线识别结果;基于所述车道线识别结果确定所述当前帧路面图像包括的多个车道线。
在一些实施例中,所述车道投影模块4552还用于针对每个所述车道线执行以下处理:基于所述当前帧路面图像与所述车辆坐标系之间的单应性矩阵,将所述车道线投影到所述车辆坐标系中,得到对应的多个映射点;构建拟合有所述多个映射点的二次多项式曲线,将所述二次多项式曲线作为与所述车道线对应的投影车道线。
在一些实施例中,所述基于所述当前帧路面图像与所述车辆坐标系之间的单应性矩阵,将所述车道线投影到所述车辆坐标系中之前,所述车道投影模块4552还用于通过以下方式构建所述单应性矩阵:对所述车辆中用于进行所述图像采集的摄像头进行标定处理,得到所述摄像头在所述车辆坐标系中的位置;获取所述摄像头的内参数,基于所述摄像头在所述车辆坐标系中的位置和所述摄像头的内参数,构建从所述当前帧路面图像到所述车辆坐标系的单应性矩阵;其中,通过同一所述摄像头拍摄的不同的路面图像共用所述单应性矩阵,不同位置的所述摄像头对应不同的所述单应性矩阵。
在一些实施例中,所述摄像头在所述车辆坐标系中的位置包括:所述摄像头在所述车辆坐标系中的坐标,所述摄像头相对于所述车辆坐标系的姿态角;所述车道投影模块4552还用于将所述摄像头在所述车辆坐标系中的坐标,确定为所述摄像头到所述车辆坐标系的原点的平移关系;将所述摄像头在所述车辆坐标系中的姿态角,确定为所述摄像头到所述车辆坐标系的原点的旋转关系;将所述物理变换量是所述平移关系与所述旋转关系的加和,确定为所述摄像头到所述车辆坐标系中的物理变换量;基于所述摄像头的内参数构建内参数矩阵;将所述内参数矩阵、所述物理变换量和尺度比例的乘积,作为所述单应性矩阵,其中,所述尺度比例表示所述当前帧路面图像到所述车辆坐标系的转换比例。
在一些实施例中,所述位姿检测模块4554还用于当采集所述当前帧路面图像时,获取所述车辆中的惯性传感器同步输出的惯性传感数据,基于所述惯性传感数据确定所述车辆的第一估计位姿;从所述当前帧路面图像提取图像特征,基于所述图像特征确定所述车辆的第二估计位姿;基于所述第二估计位姿对所述第一估计位姿进行修正处理,得到所述车辆的当前位姿。
在一些实施例中,所述惯性传感器数据包括:所述车辆的加速度和角速度;所述位姿检测模块4554还用于获取所述车辆当前时刻与上一时刻的时间差,确定所述车辆相对于所述时间差和所述加速度而产生的位移值,将所述角速度对所述时间差的积分作为角位移,其中,所述位移值与所述角位移的参照物是所述上一时刻的所述车辆;将所述位移值与所述角位移确定为所述车辆的第一估计位姿。
在一些实施例中,所述位姿检测模块4554还用于获取所述第二位姿估计值在所述当前位姿中所占的比重;将所述比重与所述第二估计位姿的乘积,确定为修正量;将所述第一估计位姿与所述修正量的加和,确定为所述车辆的所述当前位姿。
在一些实施例中,所述车道跟随模块4553还用于针对上一帧路面图像中的两个历史跟随车道线,分别执行以下处理:将所述多个投影车道线分别与所述历史跟随车道线进行匹配处理,将匹配得到的与所述历史跟随车道线最近、且与所述历史跟随车道线的距离小于距离阈值的所述投影车道线,作为一个当前跟随车道线。
在一些实施例中,所述指引生成模块4555还用于通过所述当前位姿确定所述贴地导航指引的起始生成位置,其中,所述起始生成位置位于所述两个当前跟随车道线之间,且位于所述两个当前跟随车道线所在的平面上;从所述起始生成位置开始,在所述两个当前跟随车道线之间显示贴地导航指引;其中,所述贴地导航指引的类型的包括:直行铺路指引、变道指引、路口指引。
在一些实施例中,所述基于所述当前位姿在所述两个当前跟随车道线之间显示贴地导航指引之后,所述指引生成模块4555还用于对已经生成的每个所述贴地指引进行显示位置检测处理;当显示位置检测结果表征所述贴地指引在所述两个当前跟随车道线之间的显示位置位于所述车辆之后时,对所述贴地指引进行销毁处理。
在一些实施例中,所述指引生成模块4555还用于输出语音导航指引,响应于所述车辆未按照所述语音导航指引行驶,基于所述当前位姿在所述两个当前跟随车道线之间显示贴地导航指引;其中,所述语音导航指引的类型包括以下至少一种:直行语音指引、变道语音指引、路口语音指引。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的实景导航方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的实景导航方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例,能够从当前帧路面图像中识别出多个车道线,将所述多个车道线投影到车辆坐标系中,得到对应的多个投影车道线,并从多个投影车道线中检测出两个当前跟随车道线,然后从所述当前帧路面图像中检测出所述车辆的当前位姿;最后基于位姿在两个当前跟随车道线之间显示贴地导航指引,能够在实景场景中实现导航指引与路面的精确贴合。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。