用于从透视图生成环境的俯视图的方法,装置和计算机程序产品与流程

文档序号:21313621发布日期:2020-06-30 20:41阅读:357来源:国知局
用于从透视图生成环境的俯视图的方法,装置和计算机程序产品与流程

示例实施例一般涉及生成车辆的环境的鸟瞰图,并且更具体地,涉及使用单应性变换将透视图像变形到地平面以实时估计鸟瞰图。



背景技术:

现代车辆利用多个传感器,例如相机,lidar和雷达,来完成各种安全和导航任务。例如,一些自主车辆至少使用lidar,相机和各种其它传感器来确保正确且安全地进行车辆导航和控制。传感器用于采集环境的表现形式(representation),包括环境特征(“特征”)。自主车辆可检测和/或解释特征以执行车辆定位。例如,自主车辆可检测车道线以确定与先前生成和/或存储的档案环境地图相对应的车辆位置。

车辆可以使用附接到车辆的传感器采集图像,该传感器提供从车辆的角度来看的环境的透视图。透视图对于某些导航功能是足够的,甚至是理想的;然而,透视图通常受到限制,因为远处的对象不清楚,并且随着车辆沿着道路行驶,运动中的车辆可能会相对较快地遮盖视图中最详细的,靠近车辆的部分。过去,使用地图进行导航,这些地图可以提供可包括道路网的区域的俯视图或“鸟瞰图”。道路网的鸟瞰图提供了车辆路径的更直观的视图,并且在遵循路线或对道路网进行导航时可能比透视图更为理想。



技术实现要素:

根据示例实施例提供了一种方法,装置和计算机程序产品,以便建立车辆的环境的鸟瞰图,并且更具体地,使用单应性变换将透视图像变形到地平面中以实时估计鸟瞰图。本文描述的实施例可以提供一种装置,该装置包括至少一个处理器和至少一个包括程序代码指令的非暂时性存储器。所述计算机程序代码指令可被配置为在执行时使所述装置:从在环境中沿着路段行驶的第一车辆接收第一传感器数据,其中,所述第一传感器数据包括该环境的透视图像数据,并且其中,第一传感器数据包括位置和前进方向;取得与位置和前进方向相关联的卫星图像;应用深度神经网络以从透视图像数据复原鸟瞰图像;使用卫星图像作为生成对抗网络(gan)的目标来对所复原的鸟瞰图像应用gan,以获得稳定的鸟瞰图像;获得传感器数据与该稳定的鸟瞰图像之间的单应性矩阵的值;并存储所获得的单应性矩阵的值。

可以使示例实施例的装置:从在环境中沿着路段行驶的第二车辆接收第二传感器数据,其中,传感器数据包括从第二车辆的角度来看的环境的透视图像数据;基本实时地将包括所存储的所获得的值的单应性矩阵应用于传感器数据,以将透视图像数据变形到车辆沿其行驶的地平面中;从透视图像数据中生成车辆的环境的鸟瞰图;以及在显示器上提供环境的鸟瞰图的呈现。可以使该装置用环境的鸟瞰图来增强环境的卫星图像数据。环境的鸟瞰图可包括在环境的卫星图像中未发现的动态对象。使该装置取得与该位置和前进方向相关联的卫星图像可包括:使该装置在卫星图像地图数据库中识别该位置并识别卫星图像中与前进方向相对应的部分。可进一步使该装置接收包括环境的透视图像的第二传感器数据,并用包括所获得的值的单应性矩阵来将该透视图像变形以获得鸟瞰图。可使装置使用所获得的鸟瞰图像来修复卫星图像。

本文提供的实施例可包括一种计算机程序产品,该计算机程序产品包括具有存储在其中的计算机可执行程序代码部分的至少一个非暂时性计算机可读存储介质。计算机可执行程序代码部分包括程序代码指令,该程序代码指令被配置为:从在环境中沿着路段行驶的第一车辆接收第一传感器数据,其中,第一传感器数据包括环境的透视图像数据,并且其中,第一传感器数据包括位置和前进方向;取得与位置和前进方向相关联的卫星图像;应用深度神经网络以从透视图像数据复原鸟瞰图像;使用卫星图像作为生成对抗网络(gan)的目标来对所复原的鸟瞰图像应用gan,以获得稳定的鸟瞰图像;获得传感器数据与稳定的鸟瞰图像之间的单应性矩阵的值;以及存储所获得的单应性矩阵的值。

一些实施例的计算机程序产品可包括程序代码指令,以:从在环境中沿着路段行驶的第二车辆接收第二传感器数据,其中,传感器数据包括从第二辆车的角度来看的环境的透视图像数据;基本实时地将包括所存储的所获得的值的单应性矩阵应用于传感器数据,以将透视图像数据变形到车辆沿其行驶的地平面中;从透视图像数据中生成车辆的环境的鸟瞰图;并在显示器上提供环境的鸟瞰图的呈现。实施例可以包括程序代码指令,以用环境的鸟瞰图来增强环境的卫星图像数据。环境的鸟瞰图可包括在环境的卫星图像中未发现的动态对象。用于取得与位置和前进方向相关联的卫星图像的程序代码指令可包括:用于在卫星图像地图数据库中识别该位置并识别卫星图像中与前进方向相对应的部分的程序代码指令。实施例可包括程序代码指令以接收包括环境的透视图像的第二传感器数据,并用包括所获得的值的单应性矩阵将透视图像变形以获得鸟瞰图像。实施例可包括用于使用所获得的鸟瞰图像来修复卫星图像的程序代码指令。

实施例可以提供一种方法,该方法包括:从在环境中沿着路段行驶的第一车辆接收第一传感器数据,其中第一传感器数据包括环境的透视图像数据,并且其中第一传感器数据包括位置和前进方向;取得与位置和前进方向相关联的卫星图像;应用深度神经网络以从透视图像数据复原鸟瞰图像;使用卫星图像作为生成对抗网络(gan)的目标来对所复原的鸟瞰图像应用gan,以获得稳定的鸟瞰图像;获得传感器数据与已建立的鸟瞰图像之间的单应性矩阵的值;以及存储所获得的单应性矩阵的值。实施例可以可选地包括:从在环境中沿着路段行驶的第二车辆接收第二传感器数据,其中,传感器数据包括从第二车辆的角度来看的环境的透视图像数据;基本实时地将包括所存储的所获得的值的单应性矩阵应用于传感器数据,以将透视图像数据变形到车辆沿其行驶的地平面中;从透视图像数据中生成车辆的环境的鸟瞰图;并在显示器上提供环境的鸟瞰图的呈现。

方法可包括用环境的鸟瞰图来增强环境的卫星图像数据。环境的鸟瞰图可包括在环境的卫星图像中未发现的动态对象。取得与位置和前进方向相关联的卫星图像可包括:在卫星图像地图数据库中识别位置以及识别卫星图像中与前进方向相对应的部分。方法可包括:接收包括环境的透视图像的第二传感器数据,并用包括所获得的值的单应性矩阵将透视图像变形以获得鸟瞰图像。

实施例可以提供一种装置,该装置包括:用于从在环境中沿着路段行驶的第一车辆接收第一传感器数据的装置,其中第一传感器数据包括环境的透视图像数据,并且其中第一传感器数据包括位置和前进方向;用于取得与位置和前进方向相关联的卫星图像的装置;用于应用深度神经网络以从透视图像数据复原鸟瞰图像的装置;用于使用卫星图像作为生成对抗网络(gan)的目标来对所复原的鸟瞰图像应用gan以获得稳定的鸟瞰图像的装置;用于获得传感器数据与已建立的鸟瞰图像之间的单应性矩阵的值的装置;以及用于存储所获得的单应性矩阵的值的装置。实施例可以可选地包括:用于从在环境中沿着路段行驶的第二车辆接收第二传感器数据的装置,其中,传感器数据包括从第二车辆的角度来看的环境的透视图像数据;用于基本实时地将包括所存储的所获得的值的单应性矩阵应用于传感器数据,以将透视图像数据变形到车辆沿其行驶的地平面中的装置;用于从透视图像数据中生成车辆的环境的鸟瞰图的装置;以及用于在显示器上提供环境的鸟瞰图的呈现的装置。

示例装置可包括用于用环境的鸟瞰图来增强环境的卫星图像数据的装置。环境的鸟瞰图可包括在环境的卫星图像中未发现的动态对象。用于取得与位置和前进方向相关联的卫星图像的装置可包括:用于在卫星图像地图数据库中识别该位置并识别卫星图像中与前进方向相对应的部分的装置。该装置可包括:用于接收包括环境的透视图像的第二传感器数据的装置;以及用于用包括所获得的值的单应性矩阵将透视图像变形以获得鸟瞰图像的装置。

提供以上概述仅出于总结一些示例实施例的目的,以提供对本发明的某些方面的基本理解。因此,将认识到,上述实施例仅是示例,并且不应被解释为以任何方式缩小本发明的范围或精神。应当理解,本发明的范围除了这里总结的那些实施例之外还包括许多潜在的实施例,其中一些将在下面进一步描述。

附图说明

这样,已经概括地描述了本公开的某些示例实施例,下文中将参考附图,这些附图不一定按比例绘制,并且在附图中:

图1是根据本公开的示例实施例的装置的框图;

图2是根据本公开的示例实施例的用于生成车辆的环境的鸟瞰图的系统的框图;

图3是描绘根据本公开的示例实施例的生成车辆的环境的鸟瞰图的方法的图;以及

图4是示出了诸如由图1的装置执行的操作的流程图,以便生成车辆的环境的鸟瞰图。

具体实施方式

现在将在下文中参考附图更全面地描述本发明的一些实施例,在附图中示出了本发明的一些但不是全部实施例。实际上,本发明的各种实施例可以以许多不同的形式来体现,并且不应该被解释为限于在此阐述的实施例。相反,提供这些实施例以使本公开满足适用的法律要求。贯穿全文,相似的参考标号指代相似的元件。如本文所使用的,根据本发明的实施例,术语“数据”,“内容”,“信息”和类似术语可以互换使用,以指代能够被发送,接收和/或存储的数据。因此,不应使用任何这样的术语来限制本发明的实施例的精神和范围。

根据示例实施例,提供一种方法,装置和计算机程序产品,以便生成车辆的环境的“鸟瞰图”或俯视图,并且更具体地,是使用单应性变换来将透视图像变形到地平面中以实时地估计鸟瞰图。本文描述的实施例涉及用于手动驾驶车辆,自主和半自主驾驶以及高清晰度(hd)地图构建/更新的导航辅助的用例。

配备有传感器的车辆可以沿着路段行驶并产生指示该路段及其特性的探测数据。取决于车辆的传感器的能力,数据可包括道路的路径,沿道路的行驶速度,识别车道线或沿道路的标志(例如,限速,停车标志等)的图像等,距离传感器(诸如光成像,探测和测距(lidar))可以提供沿道路的对象的位置和大小等。沿着路段行驶的车辆可以使用传感器(例如图像传感器)感知它们的环境。图像传感器通常以面向行驶方向的配置安装到车辆,因为这提供了即将到来的对象和地形的视图。传感器还可以被配置为最大化视场,以在行进方向上采集尽可能多的信息。

尽管面向前的传感器配置对于检测场景中感兴趣的对象(例如,车道线,标志,动态对象(例如,其它车辆,行人等))是有用的,但视图在一定程度上受到限制,特别是随着与传感器的距离增加,图像中的对象变小。此外,透视图模拟了车辆的乘员可以看到的。本文所述的实施例将执行透视图像数据到地平面的专门转换,以沿车辆行驶方向创建环境的鸟瞰图。鸟瞰图可用在绘制上下文中,因为转换后的图像的每个像素都对应一个度量表现形式,而将这些视图缝合在一起可以创建环境的度量图。本文描述的实施例从大量数据自动生成鸟瞰图。鸟瞰图的实时生成可以为车辆的乘员提供一个替代的视角,以了解他们相对于车辆环境的位置。鸟瞰图提供类似于俯视图的视图,以便用户可以更好地识别路线以帮助导航或了解环境中的位置。

本文描述的实施例可以使用一种装置来收集在来自沿着路段行驶的车辆的透视图中的图像传感器数据,并且执行专门的变换以将透视数据转换成环境的鸟瞰图。示例实施例的装置可以由包括例如导航系统,高级驾驶员辅助系统(adas)等的各种计算设备来体现。附加地或替代地,该装置可以体现在其它类型的计算设备中,特别是当来自一个或多个车辆的传感器数据的数据转换由地图服务提供商(其可由服务器,计算机工作站,多个联网的计算设备等来体现)执行时,该计算设备被配置为与本文所述的地图服务提供商通信或用作地图服务提供商。就这一点而言,图1描绘了示例实施例的装置10,该示例实施例可以由包括以上识别的那些的各种计算设备来体现。如图所示,示例实施例的装置可以包括处理器12和存储器设备14,并且可以可选地包括通信接口16和/或用户接口18,或者可以与之相关联或者可以以其它方式与之通信。

在一些实施例中,处理器12(和/或协同处理器或辅助处理器或以其它方式与处理器相关联的任何其它处理电路)可以经由总线与存储器设备14通信,以在装置10的组件之间传递信息。该存储器设备可以是非暂时性的,并且可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器设备可以是包括门的电子存储设备(例如,计算机可读存储介质),该门被配置为存储可由机器(例如,如处理器的计算设备)取得的数据(例如,位)。存储器设备可以被配置为存储信息、数据、内容、应用、指令等,以使得装置能够根据本发明的示例实施例执行各种功能。例如,存储器设备可以被配置为缓冲输入数据以供处理器处理。附加地或可替代地,存储器设备可以被配置为存储指令以供处理器执行。

处理器12可以多种不同方式体现。例如,处理器可以被实现为各种硬件处理装置中的一个或多个,例如,协处理器,微处理器,控制器,数字信号处理器(dsp),具有或不具有伴随dsp的处理元件,或包括集成电路的各种其它处理电路,该集成电路例如是asic(专用集成电路),fpga(现场可编程门阵列),微控制器单元(mcu),硬件加速器,专用计算机芯片等。这样,在一些实施例中,处理器可以包括一个或多个被配置为独立执行的处理内核。多核处理器可以在单个物理封装内实现多处理。附加地或可替代地,处理器可以包括经由总线连起来配置的一个或多个处理器,以使得能够独立执行指令,流水线和/或多线程。

在示例实施例中,处理器12可以被配置为执行存储在存储器设备14中或以其它方式可被处理器访问的指令。替代地或附加地,处理器可以被配置为执行硬编码功能。这样,无论是通过硬件或软件方法来配置,还是通过其组合来配置,处理器都可以表示在相应地配置的情况下,能够执行根据本发明实施例的操作的实体(例如,物理地体现在电路中)。因此,例如,当处理器被体现为asic,fpga等时,处理器可以是被具体配置的用于进行本文所述操作的硬件。替代地,作为另一示例,当处理器被体现为软件指令的执行器时,指令可以具体地配置处理器以在执行指令时执行本文所述的算法和/或操作。然而,在某些情况下,处理器可以是特定设备(例如,计算设备)的处理器,该特定设备被配置为通过用于执行本文所述的算法和/或操作的指令对处理器进行进一步的配置来采用本发明的实施例。此外,处理器可包括时钟,算术逻辑单元(alu)和被配置为支持处理器的操作的逻辑门。

示例实施例的装置10还可选地包括通信接口16,该通信接口可以是诸如以硬件或硬件和软件的组合体现的设备或电路的任何装置,其被配置为,例如通过被配置为从一个传感器或多个传感器接收探测数据并将所述探测数据提供给与地图服务提供商相关联的数据库、云存储或其它外部存储器设备,从与该装置通信的其它电子设备接收数据和/或向该其它电子设备发送数据。通信接口可以被配置为诸如从地图服务提供商接收数据,包括道路几何形状对车载全球定位系统(gps),车载导航系统,个人导航设备(pnd),便携式导航设备等的表现形式。就这一点而言,通信接口可以包括例如天线(或多个天线)以及用于允许与无线通信网络进行通信的支持硬件和/或软件。附加地或替代地,通信接口可包括用于与天线交互以引起经由天线的信号传输或处理经由天线接收的信号的接收的电路。在某些环境中,通信接口可以替代地或者也支持有线通信。

如图1所示,装置10还可以可选地包括用户接口18或与用户接口18通信。用户接口可以包括触摸屏显示器,键盘,鼠标,操纵杆或其它输入/输出机构(mechanism)。在一些实施例中,诸如显示器,扬声器等的用户接口也可以被配置为向用户提供输出。在该示例实施例中,处理器12可包括被配置为控制一个或多个输入/输出机构的至少一些功能的用户接口电路。用户接口18可以包括例如显示器,以基于从地图服务提供商接收的数据向用户提供导航辅助或路线指南。处理器和/或包括处理器的用户接口电路可被配置为通过存储在处理器可访问的存储器(例如,存储器设备14等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个输入/输出机构的一个或多个功能。

装置10可以支持绘制或导航应用程序以呈现地图,该地图可包括本文描述的图像数据的鸟瞰表现形式,或者以其它方式提供导航或驾驶员辅助。为了支持绘制应用程序,计算设备可以包括地理数据库或以其它方式与之通信,例如可以存储在存储器14中。例如,地理数据库包括节点数据记录,路段或链路数据记录,兴趣点(poi)数据记录和其它数据记录。可以提供更多,更少或不同的数据记录。在一个实施例中,其它数据记录包括制图数据记录,路线数据和操纵数据。为了充分利用地图数据库中的地图数据,必须将探测数据点与地图上的位置(例如路段或链路)进行精确的地图匹配。

示例实施例的装置10可以包括如图1所示的一个或多个传感器20,其可包括惯性测量传感器,全球定位传感器,图像传感器,lidar(光距离和测距)或雷达传感器等。传感器20可以用于促进自主或半自主车辆控制,并且可以提供代表车辆的环境的感测数据。感测数据可以包括到对象的距离的点云,以建立环境的三维模型。感测数据可以包括图像数据,例如从车辆位置感测到的车辆的环境的透视图。例如在检测车辆运动,车辆控制参数的传感器(例如,牵引力控制传感器,防抱死制动传感器等)的情况下,来自传感器20的所收集的传感器数据可能是巨大的,并且可以提供与车辆的环境相关以及与车辆的任何状况相关的信息。感测数据可以被本地存储在存储器14上,或者可以经由通信接口16提供以用于在装置10外部进行处理。

在示例实施例中,可以提供导航系统用户接口以向沿着道路网络行驶的用户提供驾驶员辅助。可选地,本文描述的实施例可以为自主或半自主车辆控制提供帮助。自主车辆控制可以包括无人驾驶车辆能力,其中所有车辆功能由软件和硬件提供,以通过本文所述的地图匹配技术沿着由车辆识别的路径安全地驾驶车辆。半自主车辆控制可以是从自适应巡航控制到车道保持辅助等的任何级别的驾驶员辅助。

地图服务提供商数据库可以用于通过导航系统和/或通过具有自主或半自主车辆控制特征的adas来提供驾驶员辅助。图2示出了用于实现本文描述的示例实施例的系统的示例实施例的通信图。图2的所示实施例包括移动设备104以及地图数据服务提供商或云服务108,移动设备104可例如是图1中的装置10,诸如移动电话、车载导航系统、adas等。移动设备104和地图数据服务提供商108可以经由网络112与图2所示的其它元件中的至少一个通信,该网络可以是如将在下面进一步描述的任何形式的无线或部分无线网络。可以提供附加的,不同的或更少的组件。例如,许多移动设备104可以与网络112连接。地图数据服务提供商108可以是基于云的服务和/或可以经由托管服务器进行操作,该托管服务器接收数据,处理数据并将数据提供给系统的其它元件。

地图数据服务提供商可以包括地图数据库110,其可以包括节点数据,路段数据或链路数据,兴趣点(poi)数据,交通数据等。地图数据库110还可包括地图制图数据,路线数据和/或操纵数据。根据一些示例实施例,路段数据记录可以是代表道路,街道或路径的链接或段,如可用于计算路线或记录的路线信息以用于确定一条或多条个性化路线。节点数据可以是对应于路段数据的各个链接或段的端点。道路链接数据和节点数据可以代表例如由车辆,轿车,卡车,公共车辆,摩托车和/或其它实体使用的道路网络。可选地,例如,除了或代替车辆道路记录数据,地图数据库110还可包含路径段和节点数据记录或可表示行人路径或区域的其它数据。道路/链接路段和节点可以与属性关联,例如地理坐标,街道名称,地址范围,速度限制,十字路口的转弯限制及其它与导航相关的属性,以及poi,例如加油站,旅馆,餐馆,博物馆,体育馆,办公室,车辆维修店,建筑物,商店,公园等。地图数据库110可包括关于poi及其在poi记录中的相应位置的数据。地图数据库110可包括关于诸如城市,城镇或其它社区的地方的数据,以及关于诸如水体,山脉等的其它地理特征的数据。这样的地方或特征数据可以是poi数据的一部分或者可以与poi或poi数据记录(例如用于显示或表示城市位置的数据点)相关联。另外,地图数据库110可包括与poi数据记录或地图数据库110的其它记录相关联的事件数据(例如,交通事故,建设活动,预定事件,未预定事件等)。

地图数据库110可以由内容提供商(例如,地图数据服务提供商)维护,并且可例如由内容或服务提供商处理服务器102进行访问。举例来说,地图数据服务提供商可以收集地理数据和动态数据以生成和增强地图数据库110以及其中包含的动态数据(例如与交通相关的数据)。地图开发人员可以使用不同的方式来收集数据。这些方式可以包括例如通过全球信息系统数据库,从其它来源(例如,市政当局或相应的地理主管部门)获取数据。此外,地图开发人员可以例如聘请现场人员乘车辆沿着整个地理区域的道路行驶,以观察特征和/或记录有关其的信息。同样,诸如航空或卫星摄影和/或lidar的遥感技术可用于直接生成地图几何图形或通过如本文所述的机器学习生成地图几何图形。然而,最普遍形式的可用数据是由诸如移动设备104的车辆在它们遍及整个区域的道路上行驶时所提供的车辆数据。

地图数据库110可以是以促进更新,维护和开发的格式存储的主地图数据库。例如,主地图数据库或在主地图数据库中的数据可以是oracle空间格式或其它空间格式,例如用于开发或生产目的。可以将oracle空间格式或开发/生产数据库编译为交付格式,例如地理数据文件(gdf)格式。生产和/或交付格式的数据可以被编译或进一步编译以形成地理数据库产品或数据库,其可以在最终用户导航设备或系统中使用。

例如,地理数据可被编译(例如,编译为物理存储格式(psf))以组织和/或配置数据,以例如由导航设备(例如由移动装置104代表的车辆)执行与导航相关的功能和/或服务,例如路线计算,路线引导,地图显示,速度计算,距离和行驶时间功能以及其它功能。与导航有关的功能可以对应于车辆导航,行人导航,或其它类型的导航。尽管本文描述的示例实施例通常涉及沿道路的车辆行驶,但是示例实施例可以被实现为用于沿着人行道行驶的行人,沿着自行车道行驶的自行车,沿着海上航行路线行驶的船等。生成最终用户数据库的编译可以由与地图开发者分开的一方或实体执行。例如,地图开发人员的客户,例如导航设备开发人员或其它最终用户设备开发人员,可以以传递格式对接收到的地图数据库执行编译,以生成一个或多个编译的导航数据库。

如上所述,地图数据服务提供商108地图数据库110可以是主地理数据库,但是在替代实施例中,客户端地图数据库可以表示用于提供导航和/或地图相关功能的可以在最终用户设备中使用或与最终用户设备一起使用的已编译的导航数据库(例如移动设备104)。例如,地图数据库110可以与移动设备104一起使用,以向最终用户提供导航特征。在这种情况下,例如,地图数据库110可以被下载或存储在可以通过无线或有线连接(例如,经由处理服务器102和/或网络112)访问地图数据库110的最终用户设备上。

在一个实施例中,如上所述,最终用户设备或移动设备104可以包括图1中的装置20,并且可以由高级驾驶员辅助系统(adas)来体现,该高级驾驶员辅助系统可以包括信息娱乐车载系统或车载导航系统,和/或诸如个人导航设备(pnd),便携式导航设备,蜂窝电话,智能电话,个人数字助理(pda),手表,照相机,计算机的设备,和/或可执行导航相关功能的其它设备,例如数字路由和地图显示。根据一些示例实施例,最终用户可以例如将移动设备104用于导航和地图功能,诸如引导和地图显示,以及用于确定有用的驾驶员辅助信息。

随着车辆在技术上更加先进,并且包括生成大量数据的传感器阵列,存在机会利用可用数据并从可用数据中生成比所收集的原始数据对用户具有更大的益处的信息。如上所述,车辆可在车辆行驶方向上从车辆的角度收集图像数据。该数据可以提供信息,并可用于特征检测和导航辅助,例如用于自主或半自主车辆控制;但是,透视图像视图可能会受到限制,并且可能无法为车辆控制和导航的某些方面提供足够的视觉信息。环境的鸟瞰图可提供附加信息,以促进导航控制和/或自主或半自主车辆控制。

可使用预定的单应性矩阵来实现在来自车辆传感器的透视图像到鸟瞰图之间的转换。单应性矩阵是3×3矩阵,它将一个平面(透视图像)转换为另一平面(鸟瞰图像)。用于将图像变形的单应性矩阵的估计是具有挑战性的,并且单应性矩阵值很敏感,因为值的小变化会导致变形的图像发生大的变化,如果处理不当则会导致失真。本文描述的实施例提供了一种从数据生成单应性矩阵的全自动技术。

当针对特定传感器配置手动计算时,单应性矩阵的估计是最直接的。地平面上已知的几何形状,例如具有预定尺寸的正方形,记录在透视图像中。在地平面中和在图像中的正方形的四个角表示变换,并且单应性矩阵可被估计。然而,该方法是人工密集型的并且特定于传感器配置,使得该方法既在计算上昂贵又不能容易地在不同的传感器配置上缩放。一种替代实施方式包括直接从诸如惯性导航传感器(ins)的传感器获得车辆姿态与本地地面框架之间的转换。但是,当车辆横越环境时,嘈杂的ins读数会使估算过程产生抖动。在这两种情况下,都必须使用ins进行在线估计,才能知道或估计采集透视图像的图像传感器的传感器配置。

在此描述的实施例提供了一种实时方法以在不考虑传感器配置的情况下估计透视数据的鸟瞰图变换。通过避免对手动计算特定于单个传感器配置的单应性矩阵的需求,这可以改善计算机本身的功能。可以使用神经网络来复原单应性矩阵的值,然后可以将该值应用于将透视图像变形到地平面中。实施例不知道(agnostic)传感器配置,从而不需要手动校准,并且可扩展以包括来自ins的数据(如果可用并在可用时)。

为了训练示例实施例的机器学习系统,必须首先收集训练数据。实施例利用图像采集平台,该图像采集平台被专门配置为沿道路网络的路段采集图像数据。此类平台可以例如由地图数据服务提供商108采用以产生“真实图像”,该“真实图像”是具有已知质量和准确性的图像。除了已知的传感器质量和传感器位置/角度外,所收集的真实图像还包括准确的位置识别。这使所收集的真实数据可以用作数据的有价值的参考点,这些参考点具有已知和可信的准确性。除了真实图像之外,用于区域的卫星图像可以用于训练本文描述的示例实施例的深度神经网络。

使用在同一位置的包括环境的透视图像数据的真实图像和相应的卫星图像,本文描述的实施例训练深度神经网络。卫星图像是理想的地面投影或“鸟瞰图”,因为它是从空中角度采集的,而不是通过转换生成的。卫星图像必须独立于在道路网络中行驶的车辆的传感器配置。利用采集的真实图像,深度神经网络用于从来自车辆的所采集的图像的透视图像中还原地面投影/鸟瞰图像。这种复原可能是鸟瞰图的近似值,但可能并不理想。这样,为了细化所复原的图像,可以使用生成对抗网络(gan)来稳定所复原的图像。所复原的图像用作gan的输入,而卫星图像是目标。gan学习将输入图像中的相关特征隐式推导到地平面中。可以基于采集透视图像的传感器的位置以及与采集透视图像的方向有关的前进方向,来识别用作目标的卫星图像。这使得对应于透视图像的卫星图像能够被识别并且与复原图像相关联。

除了真实图像生成的透视图像以外,其它图像传感器数据也可用于训练目的。使用训练的gan,实际上任何室外图像都可用于训练和完善具有卫星图像的相应位置的深度神经网络,从而增强如上所述的数据集。训练好网络后,对于任何传感器配置,都可以从透视图自动生成鸟瞰图,并且可以将鸟瞰图应用于实时车载地图生成过程。这可以使得能够呈现区域的自顶向下的地图视图,其包括在透视图像中采集的来自车辆的传感器数据的对象和特征,该对象和特征将被包括在车辆正在其中行驶的区域的鸟瞰图中。

图3示出了用于训练深度神经网络的本公开的示例实施例。如图所示,透视图像210由传感器(诸如装置10的传感器20)采集。基于感测数据的位置(其可以通过全球定位系统或其它定位装置生成),车辆的环境的卫星图像220可被识别。可以基于车辆的前进方向或采集透视图像的方向来更具体地识别该卫星图像。该卫星图像220与透视图像210一起用作复原网络225的输入,从该网络中,从透视图像生成了复原的鸟瞰图像230。该复原图像可以是用于稳定复原图像的生成对抗网络240的输入,以便从透视图像生成稳定的鸟瞰图像250。

基于来自车辆(例如,装置10)的图像传感器(例如,传感器20)的透视图像自动生成的道路及其周围环境的鸟瞰图可以以多种方式使用。可以向车辆的乘员提供鸟瞰图,以提供对环境中车辆位置的理解。由于通常是从鸟瞰的角度来看地图,因此从俯视角度查看车辆的道路和环境的图像数据可以为用户提供环境的替代的并且可能是优选的视图,特别是当用户正在试图理解道路网络中的位置或路线时。此外,尽管卫星图像提供了环境的俯视图,但卫星图像仅定期收集和发布,其中,区域的更新有时相隔数年。本文描述的实施例可以提供图像,该图像以可以有规律地更新的方式通过鸟瞰图复制卫星图像,尤其是使用来自沿道路网络行驶的车辆的众包数据来更新。此类数据可用性可以使俯视图像被常规性地更新到动态对象和临时在环境中的对象可在俯视图像中识别并示出的点。通过本文描述的实施例产生的鸟瞰图可以与卫星图像结合使用以将卫星图像增强为包括当采集区域的卫星图像时可能尚未采集并且可能未出现的特征。这样,本文提供的实施例具有广泛的应用,其中数据可用于向用户提供细节和信息,以促进导航和/或自主或半自主车辆控制。

图4示出了根据本发明的示例实施例的装置、方法和计算机程序产品的流程图。将理解,流程图中的每个框,以及流程图中的框的组合可以通过各种方式来实现,诸如硬件,固件,处理器,电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它通信设备。例如,上述过程中的一个或多个可以由计算机程序指令来体现。在这方面,体现上述过程的计算机程序指令可以由采用本发明实施例的装置10的存储器设备14存储,并由装置10的处理器12执行。将理解,可以将计算机程序指令加载到计算机或其它可编程装置(例如,硬件)以产生机器,从而使得所得的计算机或其它可编程装置实现流程图框中指定的功能。这些计算机程序指令还可以存储在计算机可读存储器中,该计算机可读存储器可以指导计算机或其它可编程装置以特定方式起作用,从而使得存储在计算机可读存储器中的指令产生制品,该制品的执行实现流程图块中指定的功能。也可以将计算机程序指令加载到计算机或其它可编程装置上,以使一系列操作在计算机或其它可编程装置上执行以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令设备提供用于实现流程图框中指定的功能的操作。

因此,流程图中的框支持用于执行指定功能的装置的组合以及用于执行指定功能的操作的组合,以用于执行指定功能。还将理解,流程图中的一个或多个框以及流程图中的框的组合可以通过执行指定功能的基于专用硬件的计算机系统来实现,或通过专用硬件和计算机指令的组合来实现。

根据图4的示例实施例,在310处,从在环境中沿着路段行驶的第一车辆接收第一传感器数据,其中,传感器数据包括环境的透视图像,车辆的位置,以及采集的透视图像的前进方向。在320处,取得与车辆的位置和前进方向相关联的卫星图像。在330处,将深度神经网络应用于透视图像数据,以从透视图像数据中复原鸟瞰图像。在340处,使用卫星图像作为gan的目标来将生成对抗网络应用于所复原的鸟瞰图像,以获得稳定的鸟瞰图像。在350处,获得传感器数据与稳定的鸟瞰图像之间的单应性矩阵的值。在360处,所获得的单应性矩阵的值存储在例如存储器14中或地图数据服务提供商108的数据库110中。

在示例实施例中,用于执行以上图3的方法的装置可以包括处理器(例如,处理器12),其被配置为执行所述操作中的一些或每个操作(310-360)。处理器可以例如被配置为通过执行硬件实现的逻辑功能,执行存储的指令,或执行用于执行每个操作的算法来执行操作(310-360)。可替代地,该装置可以包括用于执行上述每个操作的装置。就这一点而言,根据示例实施例,用于执行操作310-360的装置的示例可以包括例如处理器12和/或如上所述的用于执行指令或执行用于处理信息的算法的设备或电路。

在一些实施例中,可以修改或进一步放大上述操作中的某些操作。此外,在一些实施例中,可以包括附加的可选操作,上面已经描述了其中的一些。对以上操作的修改,添加或放大可以以任何顺序和以任何组合来执行。

受益于前述描述和相关附图中呈现的教导,这些发明所属领域的技术人员将想到本文中阐述的本发明的许多修改和其它实施例。因此,应当理解,本发明不限于所公开的特定实施例,并且修改和其它实施例旨在被包括在所附权利要求的范围内。此外,尽管前述描述和相关附图在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应当理解,可以由替代实施例提供元件和/或功能的不同组合,而不脱离所附权利要求的范围。在这点上,例如,如在所附权利要求中的一些所阐述的,与上文明确描述的元件和/或功能的组合不同的组合也被设想。尽管本文采用了特定术语,但是它们仅在一般性和描述性意义上使用,而不是出于限制的目的。

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