在增强现实中显示虚拟对象的定位方法和装置与流程

文档序号:20115080发布日期:2020-03-17 19:45阅读:228来源:国知局
在增强现实中显示虚拟对象的定位方法和装置与流程

相关申请的交叉引用

本申请要求2018年9月11日在韩国知识产权局递交的韩国专利申请no.10-2018-0108252的优先权,出于所有目的,其全部公开通过引用合并于此。

以下描述涉及用于在增强现实(ar)中显示虚拟对象的定位方法和装置。



背景技术:

在各种领域中提供各种类型的增强现实(ar)服务,例如,用于车辆和其他运输设备的驾驶辅助、游戏和娱乐。可以使用各种定位方法逼真地提供ar。例如,基于传感器的定位方法可以使用各种传感器(例如,全球定位系统(gps)传感器和惯性测量单元(imu)传感器),以验证对象的位置和方向。当需要高准确性时,基于传感器的定位方法需要具有高准确性的非常高价的传感器,因此难以实现商业化和小型化。此外,使用相机信息获取高精度坐标信息的基于视觉的定位方法可能难以在包括许多具有连续运动的动态对象的环境中使用。



技术实现要素:

提供本发明内容是为了以简化的形式介绍对以下在具体实施方式中进一步描述的构思的选择。本发明内容不意在确认要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。

在一个总的方面,提供了一种定位方法,包括:获取设备的定位信息;生成第一图像,第一图像包括与输入图像中包括的对象相对应的方向特性;生成第二图像,在第二图像中,对象基于定位信息而投影到与对象的位置相对应的地图数据上;以及基于第一图像和第二图像之间的视觉对准来更新定位信息。

定位信息可以包括装置的位置和装置的姿势。

生成第二图像可以包括:在地图数据上所述位置处放置虚拟相机,并基于装置的姿势调整虚拟相机的姿势,以及生成从虚拟相机观看对象的视角的图像。

方向特性可以对应于指示与对象的接近度的概率分布。

输入图像可以基于第一传感器的输出,定位信息可以基于第二传感器的输出。

该定位方法可以包括:确定地图数据上用于增强现实(ar)服务的虚拟对象,以及基于更新的定位信息显示虚拟对象和输入图像。

虚拟对象可以表示驾驶路线信息。

生成第一图像可以包括:使用经训练的神经网络生成表示方向特性的概率图。

概率图中的每个像素可以被配置为存储从每个像素到最接近的种子像素的距离。

种子像素可以包括输入图像中包括的像素之中与对象相对应的像素。

生成第二图像可以包括:使用变换器生成第二图像,其中变换器被配置为将地图数据的坐标系变换为第二图像的坐标系。

定位信息可以包括6自由度(6dof)。

更新定位信息可以包括:通过将第一图像和第二图像相匹配来计算视觉对准度,以及基于方向特性修改定位信息以增加视觉对准度。

计算可以包括:将第一图像中的像素之中与第二图像中的对象相对应的像素的值相加。

基于方向特性修改定位信息可以包括:基于方向特性修改定位信息以对第二图像中的对象进行变换。

基于方向特性修改定位信息可以包括:基于方向特性移动或旋转第二图像中的对象。

第一图像可以被配置为基于对象类型将对象分类,并针对每种对象类型存储方向特性,第二图像可以被配置为基于对象类型将对象分类,并针对每种对象类型存储投影对象。

修改可以包括:通过将第一图像和第二图像相匹配来针对每种对象类型计算视觉对准度,以及基于方向特性修改定位信息以增加视觉对准度。

输入图像可以包括车辆的驾驶图像。

对象可以包括线、路面标记、交通灯、标志、路缘石和结构中的任何一个或任何组合。

在另一个总的方面,提供了一种学习方法,包括:接收学习图像;基于用于学习图像的地图数据生成参考图像,参考图像包括与学习图像中的对象相对应的方向特性;使用神经网络生成推断图像,推断图像推断与学习图像中的对象相对应的方向特性;以及基于参考图像和推断图像之间的差异训练神经网络。

训练可以包括:训练神经网络以使参考图像和推断图像之间的差异最小化。

方向特性可以对应于指示与对象的接近度的概率分布。

参考图像和推断图像中的每个像素可以被配置为存储从每个像素到最接近的种子像素的距离。

参考图像和推断图像中的每一个可以被配置为:基于对象的类型将对象分类,并针对每种对象类型存储方向特性。

训练可以包括:基于参考图像和推断图像之间的类型差异训练神经网络。

学习图像可以包括车辆的驾驶图像。

对象可以包括线、路面标记、交通灯、标志、路缘石和结构中的任何一个或任何组合。

在另一个总的方面,提供了一种定位装置,包括:传感器,被配置为获取设备的定位信息和输入图像;以及处理器,被配置为:生成第一图像,第一图像包括与输入图像中包括的对象相对应的方向特性;生成第二图像,在第二图像中,对象基于定位信息而影到与对象的位置相对应的地图数据上;以及基于第一图像和第二图像之间的视觉对准来调整定位信息。

在另一个总的方面,提供了一种定位方法,包括:获取与设备的位置相对应的输入图像;接收与对象的位置相对应的地图数据;生成第二图像,在第二图像中,对象基于多个相应的候选定位信息而投影到地图数据上;通过将输入图像和每个第二图像相匹配来针对每个第二图像计算视觉对准度;从第二图像中选择具有最高视觉对准度的第二图像;以及基于与所选择的第二图像相对应的候选定位信息更新定位信息。

该定位方法可以包括:生成第一图像,第一图像包括指示与对象相对应的方向特性的概率图,并且其中,计算视觉对准度可以包括:将第一图像和每个第二图像相匹配。

在另一个总的方面,提供了一种定位装置,包括:第一传感器,被配置为捕获图像;第二传感器,被配置为获取设备的定位信息;平视显示器(hud);处理器,被配置为:生成第一图像,第一图像包括与所述图像中包括的对象相对应的方向特性;生成第二图像,在第二图像中,对象基于定位信息而投影到与对象的位置相对应的地图数据上;基于第一图像和第二图像之间的视觉对准更新定位信息;以及在用于增强现实(ar)服务的hud中,基于调整的定位信息,将对象和输入图像显示到地图数据上。

其他特征和方面将从下面的具体实施方式、附图和权利要求中显而易见。

附图说明

图1a、图1b和图1c示出了与定位误差相对应的视觉对准结果的示例。

图2是示出了定位方法的示例的图。

图3示出了定位方法的示例。

图4示出了定位过程的示例。

图5示出了生成第一图像的过程的示例。

图6示出了修改定位信息的方法的示例。

图7a和图7b示出了修改定位信息的方法的示例。

图8是示出了学习方法的示例的图。

图9示出了学习过程的示例。

图10示出了图像的示例以用于学习。

图11示出了学习方法的示例。

图12示出了图11的定位更新过程的示例。

图13是示出了定位方法的示例的图。

图14是示出了定位装置的示例的图。

贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图标记将被理解为指代相同的元件、特征和结构。附图可以不按比例绘制,并且为了清楚、例释和方便,可以扩大附图中元件的相对尺寸、比例和描绘。

具体实施方式

提供下面的具体实施方式是为了帮助读者获得对本文中所描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开之后,本文中所描述的方法、装置和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中所描述的操作次序仅仅是示例,并且不限于在本文中所阐述的那些操作次序,而是可以在理解了本申请的公开之后显而易见地改变,除了必须按一定顺序发生的操作之外。此外,为了更加清楚和简洁,可以省略对本领域已知的特征的描述。

本文中所描述的特征可以以不同形式来体现,并且不应被解释为限于本文中所描述的示例。相反,提供本文中所描述的示例仅仅是为了示出实现本文中所描述的方法、装置和/或系统的许多可行方式中的一些,在理解了本申请的公开之后这些方式将是显而易见的。

尽管本文中可以使用诸如“第一”、“第二”、“第三”、“a”、“b”、(a)和(b)之类的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不受这些术语的限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一个构件、组件、区域、层或部分进行区分。因此,在不脱离示例的教导的情况下,本文中所描述的示例中提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。

如果说明书指出一个组件“连接”、“耦接”或“接合”到第二组件,则第一组件可以直接“连接”、“耦接”或“接合”到第二组件,或者可以在第一组件和第二组件之间“连接”、“耦接”或“接合”第三组件。然而,如果说明书指出第一组件“直接连接”或“直接接合”到第二组件,则在第一组件和第二组件之间不可“连接”或“接合”第三组件。也应以这种方式解释类似表述,例如“在...之间”和“紧接在...之间”以及“与...相邻”和“与...紧邻”。

本文中所使用的术语仅是出于描述具体示例的目的,并不旨在限制本公开或权利要求。除非上下文另外明确地指示,否则单数形式“一”、“一个”和“该”也包括复数形式。术语“包括”、“包括有”、“包含”和“包含有”指明存在所陈述的特征、数目、操作、元件、组件或其组合,但不排除存在或添加一个或多个其他特征、数目、操作、元件、组件或其组合。

在本文中,关于示例或实施例的术语“可以”的使用(例如,关于示例或实施例可以包括或实现什么)意味着存在至少一个包括或实现了这样特征的示例或实施例,而所有示例和实施例不限于此。

在下文中,参考附图描述示例实施例。贯穿附图,本文中使用的相似的附图标记可以指代相似的元件。

图1a、图1b和图1c示出了与定位误差相对应的视觉对准结果的示例。

增强现实(ar)指代向图像添加或增加基于现实的信息并提供添加或增加的信息。例如,ar可以提供如下图像:其中将与虚拟图像相对应的虚拟对象添加到现实世界的图像或背景图像。由于现实世界和虚拟世界在ar中协调,所以用户可以体验到能够在用户和虚拟世界之间进行实时交互的沉浸感,而无需认识到虚拟环境与现实环境不同。为了使虚拟对象与现实图像相匹配,应该对位置和姿势(即,ar将被提供到的用户设备或用户的定位信息)进行验证。

定位信息用于在图像中期望的位置处定位虚拟对象。在ar中,当将虚拟对象投影到二维(2d)图像上时视觉对准度比在实际三维(3d)空间上发生的错误或在特征匹配中发生的错误更重要。例如,视觉对准度对应于虚拟对象和现实图像之间的重叠比率或匹配比率。如图1a和图1b所示,视觉对准度基于定位误差而变化。在下文中,作为示例,描述在路面上显示与虚拟对象相对应的驾驶引导车道的示例。

在下面的描述中,本文中所描述的示例可以用于生成支持驾驶员或控制自主车辆的信息。本文中所描述的示例还可以用于在设备(例如,在车辆中为了完全自主驾驶或驾驶辅助而安装的智能系统)中解释视觉信息以及用于辅助安全和舒适驾驶。本文中所描述的示例可以应用于车辆和车辆管理系统,例如自主车辆、自动或自主驾驶系统、智能车辆、高级驾驶员辅助系统(adas)、通过安全地保持车辆正在其上行进的车道来辅助车辆的导航系统、智能电话或移动设备。与显示对应于虚拟对象的驾驶引导车道有关的示例仅作为示例提供,并且诸如训练、游戏、健康保健中的应用、公共安全、旅游和市场营销之类的其他示例被认为完全在本公开的范围内。

参考图1a,ar图像120基于当定位误差为小时的视觉对准结果。参考图1b,ar图像140基于当定位误差为大时的视觉对准结果。

例如,基于对象110的定位信息在道路图像上显示车辆的参考路径。在示例中,对象110对应于执行定位的用户终端和/或车辆。当对象110的定位误差小时,驾驶引导车道115(即,要显示的虚拟对象)可以在视觉上与实际道路图像良好地对准,如在ar图像120中所示。当对象130的定位误差大时,作为要显示的虚拟对象的驾驶引导车道135可能未在视觉上与实际道路图像对准,如在ar图像140中所示。

在示例中,可以通过优化定位信息来提供准确的ar服务,以在将虚拟对象投影到二维(2d)图像上时增加视觉对准度。

参考图1c,定位信息包括装置的位置和姿势。位置对应于3d坐标(x,y,z)。这里,x坐标表示横向位置tx,y坐标表示竖直位置ty,z坐标表示纵向位置tz。此外,姿势对应于俯仰rx、偏航ry和横滚rz。例如,使用例如地理定位系统(gps)传感器和激光雷达获取位置,使用例如惯性测量单元(imu)传感器和陀螺仪传感器获取姿势。可以将定位信息理解为包括6自由度(6dof),6dof包括位置和姿势。

在示例中,本文中所描述的车辆指代任何运输、运送或传送模式,例如汽车、卡车、拖拉机、滑板车、摩托车、自行车、水陆两用车辆、雪地摩托车、船、公共运输车辆、公共汽车、单轨电车、火车、有轨电车、自主或自动驾驶车辆、智能车辆、自驾车辆、无人驾驶飞行器、电动车辆(ev)、混合动力车辆、智能移动设备、adas或无人机。在示例中,智能移动设备包括诸如电动方向盘、电动浮板和电动自行车之类的移动设备。在示例中,车辆包括机动和非机动车辆,例如具有动力引擎的车辆(例如,中耕机或摩托车)、自行车或手推车。

术语“道路”是在两个地方之间已被改善的允许通过步行或某种形式的运输工具(例如,车辆)行进的大道、路线或连接。道路可以包括各种类型的道路,例如高速公路、国道、田间道、省道或高速国道。道路可以包括单个车道或多个车道。车道对应于通过在道路表面上标记的道路线彼此区分的道路空间。在示例中,“车道”是多个车道中车辆正在其上行进的平面的空间,即,被车辆占用和使用的空间。通过车道的右侧标记和左侧标记区分一个车道与其他车道。

此外,可以将术语“线”理解为各种类型的线,例如实线、虚线、曲线和z字形线,其在路面上以诸如白色、蓝色或黄色之类的颜色标记。线可以对应于区分单个车道的一侧上的线,也可以是一对线(即,与区分单个车道的车道边界线相对应的左车道和右车道)、道路的中心线和停车线。此外,线可以指示禁止泊车和停车的区域、人行横道、停车拖走区和限速指示。

例如,下面的示例可以应用于智能车辆中的ar导航设备。在示例中,ar导航设备被用于标记线,生成视觉信息以帮助自主驾驶车辆的转向,或者提供用于车辆驾驶的各种控制信息。ar导航设备可以向显示器提供视觉信息。在示例中,显示器是使用增强现实的平视显示器(hud)、车辆信息娱乐系统、车辆中的仪表板或车辆中的屏幕。安装显示器用于车辆的驾驶辅助或完全自主驾驶,以及辅助安全和愉悦驾驶。在示例中,显示器也可以被实现为包括单眼眼镜或双眼眼镜在内的眼镜显示器(egd)。

图2是示出了定位方法的示例的图。图2中的操作可以以所示顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,可以改变一些操作的顺序或省略一些操作。图2中示出的许多操作可以并行或同时执行。图2中的一个或多个块和块的组合可以由用于执行特定功能的基于专用硬件的计算机来实现,或者由专用硬件和计算机指令的组合来实现。除以下对图2的描述以外,对图1的描述也适用于图2,并通过引用合并于此。因此,此处可以不再重复上述描述。

参考图2,在操作210中,定位装置获取对应装置的定位信息。这里,装置指代执行定位方法的装置,例如车辆、导航设备和诸如智能电话之类的用户设备。定位信息可以具有包括装置的位置和姿势在内的6dof。基于传感器(例如,imu传感器、gps传感器、激光雷达传感器和雷达)的输出获取定位信息。例如,定位信息可以是定位装置的初始定位信息。

在操作220中,定位装置生成第一图像,第一图像包括与输入图像中包括的对象相对应的方向特性。输入图像可以对应于背景图像或与用于ar服务的虚拟对象一起显示的另一图像。例如,输入图像包括车辆的驾驶图像。可以从例如安装到车辆的拍摄设备捕获驾驶图像。在示例中,驾驶图像包括多个帧。定位装置基于拍摄设备的输出获取输入图像。拍摄设备固定在诸如挡风玻璃、仪表板、前挡泥板和后视镜之类的位置处,以捕获车辆前方的图像。例如,拍摄设备可以包括视觉传感器、图像传感器或执行类似功能的设备。拍摄设备可以捕获单个图像,或者如果需要的话,可以以每帧捕获图像。在另一示例中,除了从定位装置捕获驾驶图像之外,还可以从另一装置捕获驾驶图像。驾驶图像可以是图4的输入图像410。在一个示例中,对象包括线、路面标记、交通灯、标志、路缘石、行人、其他车辆和结构。

在操作220中,定位装置使用预训练的神经网络生成概率图,例如指示方向特性的距离场图。在示例中,“与对象相对应的方向特性”可以对应于指示与对象的接近度的概率分布。这里,概率图中包括的像素中的每一个存储从对应像素到最接近的种子像素的距离。种子像素可以是图像中包括的像素之中与对象相对应的像素。例如,第一图像可以是图5的距离场图550。将参考图5进一步描述使用定位装置生成概率图的方法。

在操作230中,定位装置基于包括对象的位置的地图数据生成第二图像,在第二图像中对象根据定位信息而投影。在示例中,地图数据是高密度(hd)地图数据。hd地图指代用于自主驾驶的具有高密度(例如,基于厘米的密度)的三维(3d)地图。例如道路的中心线和边界线的基于线的信息以及例如交通灯、标志、路缘石、路面标记和各种结构的信息可以以3d数字格式包括在hd地图中。例如,可以使用移动地图绘制系统(mms)建立hd地图。mms指代包括各种传感器的3d空间信息勘测系统,并且可以包括具有传感器的移动对象,例如用于测量位置和地理特征的相机、激光雷达和gps。mms的传感器灵活地彼此交互并获取各种精确的位置信息。

在操作230中,基于地图数据生成其中对象根据定位信息而投影的第二图像意味着,例如,定位装置在地图数据上定位信息中所包括的位置处放置虚拟相机,基于定位信息中所包括的姿势调整虚拟相机的姿势,并生成从虚拟相机观看对象的视角的图像。

在操作230中,定位装置使用例如变换器生成第二图像,变换器将地图数据的坐标系变换为第二图像的坐标系。这里,例如,变换器可以是表示当将一个平面投影到另一平面上时对应点之间的变换关系的单应函数或执行变换的人工神经网络。定位装置基于定位信息从地图数据中提取局部数据,并使用变换器根据提取的局部数据生成第二图像。例如,第二图像可以是图4的第二图像430。

在操作240中,定位装置基于第一图像与第二图像之间的视觉对准来修改或调整定位信息。定位装置通过将第一图像和第二图像相匹配来计算视觉对准度。例如,定位装置将第一图像中包括的多个像素中与第二图像中包括的对象相对应的像素的值相加,并将相加的结果确定为视觉对准度。例如,可以以梯度下降的形式表示视觉对准度。在示例中,定位装置基于与对象相对应的方向特性修改定位信息以增加视觉对准度。定位装置基于方向特性修改定位信息以对第二图像中包括的对象进行变换(例如,移动或旋转)。将参考图6进一步描述定位装置修改定位信息的方法。

定位装置确定地图数据上用于ar服务的虚拟对象。例如,虚拟对象可以使用指示行进方向的箭头指示符或道路标记表示驾驶路线信息。定位装置可以基于在操作240中修改的定位信息,在例如平视显示器(hud)、导航系统或用户设备的显示器上显示虚拟对象和输入图像。

图3示出了定位方法的示例,图4示出了描述定位过程的示例。图3至图4中的操作可以以所示顺序和方式来执行,然而在不脱离所描述的说明性示例的精神和范围的情况下,可以改变一些操作的顺序或省略一些操作。图3至图4中所示出的许多操作可以并行或同时执行。图3至图4的一个或多个块和块的组合可以由执行特定功能的基于专用硬件的计算机实现或由专用硬件和计算机指令的组合实现。除了以下对图3至图4的描述之外,对图1至图2的描述也适用于图3至图4,并且通过引用合并于此。因此,此处可以不再重复以上描述。

参考图3和图4,在操作310中,定位装置获取输入图像410。例如,定位装置接收通过使用图像传感器捕获对象而生成的输入图像410。这里,输入图像410可以是与装置的当前位置相对应的图像。

在操作320中,定位装置接收或获取包括对象的位置的地图数据。

在操作330中,定位装置从在操作310中获取的输入图像410估计对象。定位装置可以基于输入图像410生成包括与对象相对应的方向特性的第一图像420。在示例中,定位装置使用预训练的神经网络生成第一图像420。定位装置可以使用预训练的神经网络稳定地估计对象,而不管输入图像410中的各种障碍物(例如,车辆、行人和街道树木)。例如,当应用输入图像410时,预训练的神经网络通过激活所应用的输入图像410中与线相对应的部分来生成第一图像420。例如,第一图像420可以包括2d距离场图。

在操作340中,定位装置执行初始定位。在操作350中,定位装置通过在操作320中获取的地图数据上应用与初始定位相对应的定位信息来生成其中对象基于初始定位而投影的第二图像430。

定位装置对第一图像420和第二图像430执行视觉对准。定位装置将第一图像420和第二图像430在视觉上对准,如在图像440中所不。

在操作360中,定位装置对视觉对准进行优化。定位装置计算定位修改值,使得第一图像420和第二图像430可以通过视觉对准最大限度地重叠。定位装置可以通过基于在操作340中执行的初始定位改变定位信息以使第一图像420和第二图像430之间的重叠最大化来对视觉对准进行优化。在一个示例中,可以使用其中信息散布在整个图像上的第一图像420(即,距离场图)容易地执行基于梯度的优化。

在操作370中,定位装置将定位修改值应用于定位信息并更新定位信息,以对第一图像420和第二图像430之间的视觉对准进行优化,如在图像450中所示。

图5示出了描述生成第一图像的过程的示例。将参考图5描述将输入图像510应用于神经网络530并生成与第一图像相对应的距离场图550的过程。

神经网络530指代经预训练的以基于输入图像510生成包括与输入图像510中包括的对象相对应的方向特性的第一图像的神经网络。神经网络530可以是深度神经网络(dnn)或n层神经网络。dnn或n层神经网络可以对应于卷积神经网络(cnn)、递归神经网络(rnn)、深度信念网络(deepbeliefnetwork)、全连接网络、双向神经网络、受限玻尔兹曼(boltzman)机和双向长短期记忆网络(blstm),或者可以包括分别具有全连接、卷积连接、递归连接和/或双向连接的不同的或重叠的神经网络部分。例如,神经网络530可以实现为cnn,但不限于此。

神经网络530可以实现为具有多个层的架构,所述多个层包括输入图像、特征图和输出。在神经网络530中,利用被称为内核的滤波器对输入图像执行卷积运算,结果是,输出特征图。利用内核对作为输入特征图的输出特征图再次执行卷积运算,并输出新的特征图。当这样重复执行卷积运算时,可以通过神经网络530最终输出关于输入图像的特征的识别结果。在示例中,除了卷积层之外,神经网络530还可以包括池化层(poolinglayer)或全连接层。

神经网络530基于距离场图550的形式估计输入图像510中包括的对象。例如,当第一图像如在距离场图550中那样包括与接近的对象相关联的方向特性信息时,可以使用梯度下降方案容易地确定优化的方向特性。当指示与对象的接近度的概率分布如在距离场图550中那样在整个图像上分布时,可以增加用于学习的数据的量。与通过稀疏数据的学习相比,神经网络530的性能可以增强。

图6示出了描述修改定位信息的方法的示例。图6示出了输入图像605、第一图像610和第二图像620。基于输入图像605生成第一图像610。基于地图数据,通过基于与初始定位相对应的定位信息(x,y,z,rx,ry,rz)l投影对象来生成第二图像620。

定位装置将第一图像610和第二图像620相匹配得到图像630,并以例如得分l的形式计算它们之间的视觉对准度。定位装置将第一图像610中包括的多个像素之中与第二图像620中包括的对象相对应的像素的值相加,并以得分的形式计算相加结果。

例如,第一图像610中包括的多个像素中的每一个可以基于距与相应像素相邻的对象的距离而具有0和1之间的值。随着距相邻对象的距离减小,每个像素可以具有接近1的值,随着距相邻对象的距离增加,每个像素可以具有接近0的值。定位装置从第一图像610中包括的多个像素之中提取与第二图像620匹配的像素,将所提取的像素的值相加,并计算得分。

定位装置基于第一图像610的方向特性修改定位信息以增加视觉对准度,即,得分l。定位装置计算定位修改值,使得第二图像620中包括的对象的定位符合第一图像610的方向特性。定位装置通过将定位修改值应用于与初始定位相对应的定位信息而将定位信息更新为l→l′640。例如,定位装置基于第一图像610中包括的方向特性确定要对第二图像620的对象进行移动的方向以增加得分。定位信息一经更新,就对第二图像620的对象进行移动。因此,定位装置基于第一图像610中包括的方向特性更新定位信息。

定位装置基于更新的定位信息l′生成更新的第二图像650。定位装置通过将更新的第二图像650和第一图像610相匹配来计算得分l′。

定位装置通过前述过程计算定位修改值以使得分最大化,并输出优化的定位信息l*。

图7a和图7b示出了描述修改定位信息的方法的示例。

图7a示出了未针对每种类型将输入图像中包括的对象分类的示例。例如,当线710和线730对应于第一图像中包括的对象,并且线720包括在第二图像中时,定位装置修改定位信息以增加通过将第一图像和第二图像相匹配而计算的第一图像和第二图像之间的视觉对准度。在一个示例中,当如图7a所示不区分每种对象类型时,定位装置可能无法准确地验证是否将线720和线710进行匹配或是否将线720和线730进行匹配,这可能使得难以准确地修改定位信息。

图7b示出了根据对象的类型将输入图像中的对象分类的示例。第一图像可以基于对象的类型将对象分类,并且可以针对每种对象类型存储方向特性。此外,第二图像可以基于对象的类型将对象分类,并且可以针对每种对象类型存储投影对象。例如,线740和线760可以对应于第一图像中包括的对象。线740可以对应于第一类型(类型1),线760可以对应于第二类型(类型2)。此外,线750可以包括在第二图像中并且对应于第一类型(类型1)。

参考图7b,当针对每种类型将所述对象中的每一个分类时,定位装置将第一图像和第二图像相匹配,并针对每种对象类型计算视觉对准度。定位装置基于方向特性修改定位信息以增加每种类型的视觉对准度。

例如,定位装置可以计算与第一类型(类型1)相对应的对象(线740和750)的视觉对准度,并且可以基于方向特性修改定位信息以增加与第一类型相对应的视觉对准度。定位装置可以修改定位信息以使所述对象(线740和750)相匹配。

图8是示出了学习方法的示例的图,图9示出了学习过程的示例。图8中的操作可以以所示顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,可以改变一些操作的顺序或省略一些操作。图8中示出的许多操作可以并行或同时执行。图8中的一个或多个块和块的组合可以由执行特定功能的基于专用硬件的计算机来实现,或者由专用硬件和计算机指令的组合来实现。将参考图8、图9和图10描述通过学习装置对神经网络的训练,以根据输入图像生成第一图像,从而对用于ar的定位信息进行优化。除了以下对图8的描述之外,对图1至图7b的描述也适用于图8,并通过引用合并于此。因此,此处可以不再重复以上描述。

参考图8和图9,在操作810中,学习装置接收学习图像910。例如,学习图像910可以包括车辆的驾驶图像。例如,学习图像910可以是图10的学习图像1010。

在操作820中,学习装置基于用于学习图像910的地图数据940生成参考图像950,参考图像950包括与学习图像910中包括的对象相对应的方向特性。在示例中,方向特性对应于指示与对象的接近度的概率分布。参考图像950可以对应于地面实况(gt)图像。例如,参考图像950可以是图10的参考图像1030或参考图像1040。

在操作830中,学习装置使用神经网络920生成推断图像930,推断图像930推断与学习图像910中包括的对象相对应的方向特性。例如,神经网络920可以是图5的神经网络530。将参考图10进一步描述学习装置生成推断图像930的方法。

在操作840中,学习装置基于参考图像950和推断图像930之间的差异(例如,损失960)训练神经网络920。学习装置可以训练神经网络920,以使参考图像950和推断图像930之间的差异最小化。例如,学习装置可以通过监督学习来训练神经网络920。学习装置可以基于通过反向传播学习而反向传播到神经网络920的损失960,通过梯度下降方案更新神经网络920,并输出神经网络920中包括的节点的值。反向传播学习指代如下方法:通过对参考图像950执行正向计算来估计损失960,并且在将估计的损失960从神经网络920的输出层开始朝向隐藏层和输入层传播的同时更新神经网络920,以减少损失960。

图10示出了用于学习的图像的示例。图10示出了学习图像1010、地图数据图像1020以及参考图像1030和1040。

参考图10,学习装置训练神经网络,以根据学习图像1010估计参考图像1030和1040。在示例中,地图数据图像1020使用离散的二进制值表示学习图像1010中的对象。因此,当使用地图数据图像1020时,学习信息可能太稀疏而不能平滑地执行学习。在示例中,可以使用距离场图(例如,参考图像1030和1040)执行学习。稀疏的学习信息可以通过距离场图而遍及整个图像。当如在距离场图中那样在整个目标图像上存在学习信息时,可以基于足够的学习信息训练神经网络。

在示例中,学习装置通过调整距离场中散布的信息的重要性,根据地图数据图像1020生成参考图像1030或参考图像1040。例如,学习装置可以调整距离场中散布的信息的重要性,如e-0.02d一样。这里,d表示与对象相对应的种子像素和对应像素之间的距离。

图11示出了学习方法的示例,图12示出了图11的定位更新过程的示例。图11中的操作可以以所示顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,可以改变一些操作的顺序或省略一些操作。图11中示出的许多操作可以并行或同时执行。图11中的一个或多个块和块的组合可以由执行特定功能的基于专用硬件的计算机来实现,或者由专用硬件和计算机指令的组合来实现。除了以下对图11的描述之外,对图1至图10的描述也适用于图11,并通过引用合并于此。因此,此处可以不再重复以上描述。

参考图11和图12,在操作1110中,定位装置获取输入图像。在示例中,输入图像指代与对应装置的当前位置相对应的图像。

在操作1120中,定位装置接收或获取包括对象的位置的地图数据。在操作1140中,定位装置将多条候选定位信息应用于在操作1120中获取的地图数据。在操作1150中,定位装置生成第二候选图像,在每个第二候选图像中对象基于候选定位信息而投影。例如,定位装置可以生成均应用了候选定位信息的第二候选图像,例如图12的第一候选图像(候选1)1210和第二候选图像(候选2)1220。

在操作1130中,定位装置对输入图像与第二候选图像中的每一个之间的视觉对准进行评分。例如,输入图像和第一候选图像1210之间的视觉对准度被评分为0.43,输入图像与第二候选图像1220之间的视觉对准度被评分为0.98。

在操作1160中,定位装置在操作1130中输出的得分之中搜索具有最高值的最佳得分。参考图12,定位装置从得分0.43和0.98中检索出0.98作为最佳得分。在操作1170中,定位装置通过选择与在操作1160中检索出的最佳得分相对应的候选定位来更新定位信息。

图13是示出了定位方法的示例的图。图13中的操作可以以所示顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,可以改变一些操作的顺序或省略一些操作。图13中示出的许多操作可以并行或同时执行。图13中的一个或多个块和块的组合可以由执行特定功能的基于专用硬件的计算机来实现,或者由专用硬件和计算机指令的组合来实现。除了以下对图13的描述之外,对图1至图12的描述也适用于图13,并通过引用合并于此。因此,此处可以不再重复以上描述。

参考图13,在操作1360中对视觉对准度进行评分之前,定位装置通过在操作1330中对对象进行估计,根据输入图像生成第一图像(例如,距离场图)。定位装置计算第一图像和第二候选图像之间的得分。

图14是示出了定位装置的示例的图。参考图14,定位装置1400包括传感器1410和处理器1430。定位装置1400还包括存储器1450、通信接口1470和显示设备1490。传感器1410、处理器1430、存储器1450、通信接口1470和显示设备1490通过通信总线1405彼此连接。

例如,传感器1410可以包括图像传感器、视觉传感器、加速度计传感器、陀螺仪传感器、gps传感器、imu传感器、雷达和激光雷达。传感器1410可以获取包括车辆的驾驶图像的输入图像。除了定位信息(例如,车辆的gps坐标、位置和姿势)之外,传感器1410可以感测感测信息,例如速度、加速度、驾驶方向、车辆的手柄转向角和车辆的速度。

在示例中,处理器1430生成第一图像,第一图像包括与输入图像中包括的对象相对应的方向特性。在示例中,处理器1430基于包括对象的位置的地图数据生成第二图像,在第二图像中对象基于定位信息而投影。在示例中,处理器1430基于第一图像和第二图像之间的视觉对准来修改定位信息。

在示例中,定位装置1400通过通信接口1470从各种传感器获取包括输入图像的各种感测信息。在一个示例中,通信接口1470从位于定位装置1400外部的其他传感器接收包括驾驶图像的感测信息。

处理器1430通过经由通信接口1470和/或显示设备1490输出修改的定位信息,或者通过基于修改的定位信息在地图数据上显示虚拟对象和输入图像,来提供ar服务。此外,处理器1430可以执行参考图1至图13描述的一种或多种方法或与其相对应的算法。

处理器1430指代数据处理设备,该数据处理设备被配置为在物理结构上具有电路的硬件以执行期望的操作。例如,期望的操作可以包括程序中包括的代码或指令。例如,被配置为硬件的数据处理设备可以包括微处理器、中央处理单元(cpu)、处理器核、多核处理器、多处理器、专用集成电路(asic)和现场可编程门阵列(fpga)。以下提供关于处理器1430的更多细节。

处理器1430执行程序并控制定位装置1400。可以将由处理器1430执行的程序代码存储在存储器1450中。

存储器1450存储定位装置1400的定位信息、第一图像、第二图像和/或修改的定位信息。存储器1450存储在处理器1430的处理过程期间生成的各种信息。在示例中,存储器1450存储地图数据。另外,存储器1450存储各种数据和程序。例如,存储器1450可以包括易失性存储器或非易失性存储器。存储器1450可以包括诸如硬盘之类的大容量存储介质以存储各种数据。以下提供关于存储器1450的更多细节。

显示设备1490输出由处理器1430修改的定位信息,或基于修改的定位信息在地图数据上与输入图像一起显示虚拟对象。在示例中,显示设备1490是包括提供用于渲染用户界面和/或接收用户输入的能力的一个或多个硬件组件在内的物理结构。在示例中,定位信息或者基于修改的定位信息在地图数据上与输入图像一起的虚拟对象使用平视显示器(hud)在车辆的挡风玻璃或分离的屏幕上得以显示或者在增强现实平视显示器(arhud)上得以显示。在示例中,定位装置1400将定位信息发送给车辆的电子控制单元(ecu)或车辆控制单元(vcu)。ecu或vcu在车辆的显示设备1490上显示定位信息。

然而,对像的显示不限于上述示例,并且任何其他仪表组、车辆信息娱乐系统、车辆中的屏幕或车辆中的显示面板可以执行显示功能。在不脱离所描述的说明性示例的精神和范围的情况下,可以使用可操作地连接到定位装置1400的其他显示器,例如智能电话和眼镜显示器(egd)。

在一个示例中,尽管拍摄设备与定位装置之间的视角不匹配(例如,hud和ar眼镜),但是通过使用基于拍摄设备执行定位方法的结果更新定位装置的3d定位信息,定位装置可以独立于视角执行定位方法。此外,当拍摄设备和定位装置之间的视角匹配时(例如,移动终端和智能电话),定位装置可以更新3d定位信息,并且附加地,可以直接使用图像中的2d位置以供修改。

通过硬件组件来实现本文中所描述的定位装置、处理器1430以及其他装置、单元、模块、设备和其他组件。在适当的情况下可以用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、发生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、累加器以及被配置为执行本申请中所描述的操作的任何其他电子组件。在其他示例中,执行本申请中所描述的操作的一个或多个硬件组件由计算硬件实现,例如,由一个或多个处理器或计算机实现。处理器或计算机可以由一个或多个处理元件实现,例如逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以定义的方式响应并执行指令以实现期望结果的任何其他设备或设备的组合。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如操作系统(os)和在os上运行的一个或多个软件应用,以执行本申请中所描述的操作。响应于指令或软件的执行,硬件组件还可以访问、操纵、处理、创建和存储数据。为了简单起见,在对本申请中所描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但在其他示例中,可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件或多种类型的处理元件或两者兼而有之。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器或者两个或更多个处理器或者处理器和控制器实现。一个或多个硬件组件可以由一个或多个处理器或处理器和控制器实现,一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件或者两个或更多个硬件组件。硬件组件可以具有任何一种或多种不同的处理配置,其示例包括单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。

由计算硬件执行用于执行本申请中所描述的操作的方法,例如,由一个或多个处理器或计算机执行所述方法,所述一个或多个处理器或计算机如上所述地执行指令或软件以执行本申请中所描述的由所述方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器或者两个或更多个处理器或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其他处理器或另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。

用于控制处理器或计算机实现硬件组件并执行上述方法的指令或软件被编写成计算机程序、代码段、指令或其任何组合,以便单独地或共同地指示或配置处理器或计算机作为机器或专用计算机进行操作,以执行由硬件组件执行的操作和上述方法。在示例中,指令或软件包括以下至少一项:小应用程序、动态链接库(dll)、中间件、固件、设备驱动程序、存储防止冲突的方法的应用程序。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由处理器或计算机使用解释器执行的更高级代码。本领域的普通编程人员能够基于附图中所示出的框图和流程图以及说明书中公开了用于执行由硬件组件执行的操作和上述方法的算法的对应描述来容易地编写指令或软件。

用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或其上。非暂时性计算机可读存储介质的示例包括只读存储器(rom)、随机存取存储器(ram)、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及任何其他设备,所述任何其他设备被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并向一个或多个处理器或计算机提供指令或软件以及任何相关联的数据、数据文件和数据结构以使得所述一个或多个处理器或计算机可以执行指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器或计算机以分布方式存储、访问和执行所述指令和软件以及任何相关联的数据、数据文件和数据结构。

尽管本公开包括特定示例,但在理解了本申请的公开之后将清楚的是,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。本文中所描述的示例应被认为仅是描述性的,而不是出于限制的目的。对每个示例中的特征或方面的描述应被认为适用于其他示例中的类似特征或方面。如果所描述的技术按不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,则可以实现合适的结果。因此,本公开的范围不是由具体实施方式限定,而是由权利要求及其等同物限定,并且在权利要求及其等同物的范围内的所有变化应被解释为包括在本公开中。

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