一种更新高度自动化驾驶地图的系统和方法转让专利

申请号 : CN201880002187.5

文献号 : CN110859043A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马腾屈孝志李保利

申请人 : 北京嘀嘀无限科技发展有限公司

摘要 :

一种利用多终端(131-134)更新HAD地图的系统(100)。系统(100)可以包括被配置为通过网络与至少两个终端(131-134)通信的通信接口(202),被配置为存储HAD地图的存储器(214),至少一个处理器(204)。至少一个处理器(204)可以被配置为识别包括至少一个变化对象的目标区域,指示至少两个终端(131-134)从不同视角获取目标区域的数据,以及接收至少两个终端(131-134)获取的数据。至少一个处理器(204)还可以被配置为从获取的数据中构建至少一个变化对象的三维模型,以及基于三维模型更新HAD地图。还提供一种利用多终端(131-134)更新HAD地图的方法以及一种存储有计算机指令的计算机可读存储介质。提供了一种更新高度自动化驾驶地图的改善系统和方法。

权利要求 :

1.一种利用多终端更新HAD地图的系统,其特征在于,所述系统包括:通信接口,被配置为通过网络与至少两个终端通信;

存储器,被配置为存储HAD地图;以及至少一个处理器,被配置为:

识别目标区域,所述目标区域包括至少一个变化对象;

指示所述至少两个终端从不同视角获取所述目标区域的数据;

接收所述至少两个终端获取的数据;

从所述获取的数据中构建所述至少一个变化对象的三维模型;以及基于所述三维模型更新所述HAD地图。

2.如权利要求1所述的系统,其特征在于,所述至少两个终端包括至少一个用于获取图像数据的照相设备。

3.如权利要求1所述的系统,其特征在于,所述至少两个终端基于所述HAD地图实现自身定位。

4.如权利要求1所述的系统,其特征在于,所述至少两个终端被配置为:获取图像数据,所述图像数据指示与所述HAD地图相关的对象;

基于所述图像数据检测所述至少一个变化对象;以及报告所述至少一个变化对象至所述至少一个处理器。

5.如权利要求1所述的系统,其特征在于,所述至少一个处理器被配置为基于SfM算法重构所述至少一个变化对象。

6.如权利要求5所述的系统,其特征在于,所述SfM算法以一个预设形状作为约束条件。

7.如权利要求1所述的系统,其特征在于,所述三维模型是点云模型。

8.如权利要求1所述的系统,其特征在于,所述至少一个处理器被配置为基于所述三维模型,对所述至少两个终端进行调整以获取补充数据。

9.如权利要求1所述的系统,其特征在于,为更新所述HAD地图,所述至少一个处理器被配置为将与所述至少一个变化对象相关的第一点云和与所述HAD地图相关的第二点云进行匹配。

10.如权利要求1所述的系统,其特征在于,为更新所述HAD地图,所述至少一个处理器被配置为将所述三维模型转换为所述HAD地图的坐标。

11.一种利用多终端更新HAD地图的方法,其特征在于,所述方法包括:由至少一个处理器,识别目标区域,所述目标区域包括至少一个变化对象;

由所述至少一个处理器,指示至少两个终端从不同视角获取所述目标区域的数据;

接收所述至少两个终端获取的数据;

由所述至少一个处理器,从所述获取的数据中构建所述至少一个变化对象的三维模型;以及由所述至少一个处理器,基于所述三维模型更新所述HAD地图。

12.如权利要求11所述的方法,其特征在于,所述方法还包括:基于所述HAD地图定位所述至少两个终端。

13.如权利要求11所述的方法,其特征在于,所述方法还包括:由所述至少两个终端,获取图像数据,所述图像数据指示与所述HAD地图相关的对象;

以及

由所述至少两个终端,基于所述图像数据检测所述至少一个变化对象。

14.如权利要求11所述的方法,其特征在于,所述方法还包括:基于SfM算法重构所述至少一个变化对象。

15.如权利要求14所述的方法,其特征在于,所述SfM算法以一个预设形状作为约束条件。

16.如权利要求11所述的方法,其特征在于,所述三维模型是点云模型。

17.如权利要求11所述的方法,其特征在于,所述方法还包括:基于所述三维模型,对所述至少两个终端进行调整以获取补充数据。

18.如权利要求11所述的方法,其特征在于,所述更新所述HAD地图包括:将与所述至少一个变化对象相关的第一点云和与所述HAD地图相关的第二点云进行匹配。

19.如权利要求11所述的方法,其特征在于,所述更新所述HAD地图包括:将所述三维模型转换为所述HAD地图的坐标。

20.一种计算机可读存储介质,其特征在于,存储有计算机指令,当所述计算机指令被至少一个处理器执行时,实施一种利用多终端更新HAD地图的方法,所述方法包括:识别目标区域,所述目标区域包括至少一个变化对象;

指示至少两个终端从不同视角获取所述目标区域的数据;

接收所述至少两个终端获取的数据;

从获取的数据中构建所述至少一个变化对象的三维模型;以及基于所述三维模型更新所述HAD地图。

说明书 :

一种更新高度自动化驾驶地图的系统和方法

技术领域

[0001] 本申请涉及高度自动化驾驶(Highly Automated Driving,HAD)地图的更新技术,具体涉及聚合多数据获取终端的数据以更新HAD地图的系统和方法。

背景技术

[0002] 自动驾驶技术在很大程度上依赖于地图的精确程度。例如,导航地图的准确性对自动驾驶车辆的定位、环境识别、决策和控制等功能而言至关重要。在实践中,HAD地图可以基于各类传感器、探测器和车辆上的其他设备所获取的图像和信息生成。例如,配备有传感器(如光探测器和激光雷达)、高分辨率照相机、全球定位系统(Global Positioning System,GPS)或惯性测量装置(Inertial Measurement Unit,IMU)的测量车辆可以通过这些设备捕获道路或周围物体的特征。这些特征数据包括车道的中心线或边线坐标、周围物体(例如建筑物、其他车辆、地标、行人或交通标志)的坐标和模式等。
[0003] 由于地区(如城市道路)的重新规划、发展,建筑和其他基础设施的变化,HAD地图需要定期更新以准确反映道路信息。例如,单车道可能被扩展为双车道,相应地,道路标志、交通标志、交通灯以及周围的物体(如树木和建筑物)可能会发生变化或移动。更新HAD地图通常需要派遣测量车辆重新测量道路的变化部分。然而,如若道路一发生变化,就要派遣测量车辆获取这些反应在地图上变化细微的数据,会产生巨大的成本。因为该方法需要大量价值百万美元测量车辆才能得以实现。因此该方法不具备经济上的可行性。同时,该方法需要大量的人工干预,这将导致更高的成本。而另一方面,用低成本设备获得的低分辨率数据更新地图会降低地图的质量。因此,需要一种改进的系统和方法,用于更新高分辨率地图。
[0004] 为了解决上述问题,本发明的实施例提供一种地图更新方法,该方法聚合了多数据获取终端的数据,可以保证地图的高分辨率。

发明内容

[0005] 本申请的实施例公开了一种利用多终端更新HAD地图的系统,其特征在于,所述系统包括:通信接口,被配置为通过网络与至少两个终端通信;存储器,被配置为存储HAD地图;以及至少一个处理器,被配置为:识别目标区域,所述目标区域包括至少一个变化对象;指示所述至少两个终端从不同视角获取所述目标区域的数据;接收所述至少两个终端获取的数据;从所述获取的数据中构建所述至少一个变化对象的三维模型;以及基于所述三维模型更新所述HAD地图。
[0006] 本申请的实施例还公开了一种利用多终端更新HAD地图的方法,其特征在于,所述方法包括:由至少一个处理器,识别目标区域,所述目标区域包括至少一个变化对象;由所述至少一个处理器,指示至少两个终端从不同视角获取所述目标区域的数据;由所述至少一个处理器,接收所述至少两个终端获取的数据;由所述至少一个处理器,从所述获取的数据中构建所述至少一个变化对象的三维模型;以及由所述至少一个处理器,基于所述三维模型更新所述HAD地图。
[0007] 本申请的实施例还公开了一种计算机可读存储介质,存储有计算机指令,当所述计算机指令被至少一个处理器执行时,实施一种利用多终端更新HAD地图的方法,所述方法包括:识别目标区域,所述目标区域包括至少一个变化对象;指示至少两个终端从不同视角获取所述目标区域的数据;接收所述至少两个终端获取的数据;从获取的数据中构建所述至少一个变化对象的三维模型;以及基于所述三维模型更新所述HAD地图。
[0008] 应当理解的是,前文的一般描述和下文的详细描述仅是示例性和解释性的,并不如权利要求所主张的那样,构成对本发明的限制。

附图说明

[0009] 图1是根据本发明的一些实施例中的一种HAD地图更新系统的示意图;
[0010] 图2是根据本发明的一些实施例中的一种HAD地图更新系统的示例性框图;
[0011] 图3是根据本发明的一些实施例中的一种由终端获取数据以更新HAD地图的示例性流程图;
[0012] 图4是根据本发明的一些实施例中的一张检测到变化对象的示例性图像;
[0013] 图5是根据本发明的一些实施例中的一种更新HAD地图的示例性流程图;以及[0014] 图6是根据本发明的一些实施例中的一种重构变化对象的三维模型的示例性流程图。

具体实施方式

[0015] 对示例性实施例,在附图中说明的示例进行详细参照。在任何可能的情况下,相同的参考编号将被用于整个图纸,引用相同或相似的部分。
[0016] 图1是根据本发明的一些实施例中的一种HAD地图更新系统的示意图。与本申请公开的一些实施例一致的是,系统100可以包括服务器140,该服务器140与至少两个终端(包括终端131、132、133和134)进行通信连接。在一些实施例中,服务器140可以是本地物理服务器、云服务器(如图1所示)、虚拟服务器、分布式服务器或任意适合的计算设备。与本申请公开的一些实施例一致的是,服务器140可以存储HAD地图。在一些实施例中,HAD地图最初可以通过激光雷达获得的点云数据构建。激光雷达通过脉冲激光照射目标并通过传感器测量反射脉冲来测量到目标的距离。激光发射和返回时间的不同,以及波长的不同,可以用作目标的数字信号形式的三维表示。激光雷达照射出的光可以是紫外线、可见光或近红外(线)。由于对象重构的精度和效率高,激光雷达特别适合用于空间数据的获取以构建HAD。
[0017] 与本申请公开的一些实施例一致的是,服务器140也可以不时更新HAD地图,以反映地图的某些部分的变化。与使用激光雷达重新测量区域不同,服务器140可以聚合至少两个终端从不同视角捕获的变化对象的数据,并将这些数据集成在一起以更新HAD地图。例如,服务器140可以聚合来自终端131-134的数据。服务器140可以通过无线局域网(Wireless Local Area Network,WLAN)、广域网(Wide Area Network,WAN)、无线网络(如无线电波)、全国手机网络、卫星通信网络和/或本地无线网络(如BluetoothTM或WiFi)等网络与131-134终端进行通信。服务器140可以从终端131-134传输或接收数据。与图1中所示相比,服务器140可以聚合数量更多或更少的终端数据。
[0018] 在一些实施例中,终端131-134可以是移动终端,用于捕获图像。例如,131-134终端可以是照相机或其他具有成本效益的成像设备。在一些实施例中,终端131-134可以被装备、安装或以其他方式连接到车辆上,以便该终端由车辆承载。车辆可被配置为由使用车辆的操作员操作、远程控制和/或自动控制。在一些实施例中,某些终端131-134可以是静态的,例如安装在交通灯、建筑物、树等上的监视摄像头。
[0019] 当终端131-134是移动终端时,它们可以结合从不同来源获得的位置信息来实现自身的定位。例如,终端可以使用承载该终端的车辆提供的GPS信号和IMU信号,该终端捕获的图像,以及服务器140提供的HAD地图来实现自身的定位。在一些实施例中,可以用即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)的方法来定位每个终端。GPS/IMU信号和HAD地图可以为SLAM算法提供额外的信息,从而提高该方法的定位精度和可靠性。
[0020] 终端131-134可以从不同视角获得公路110的图像。根据获得的图像,终端131-134可以检测到场景中至少一个对象产生的变化。例如,公路110曾经是一条以车道标志111划分的双车道的道路。最近,公路110正在建设中,被扩展为一条以车道标志111和112划分的三车道公路。从获得的图像中,终端131-134可以检测到公路110的变化。例如,可以检测到车道标志112的增加和行人过路线标记113(即,斑马线)的修改。检测到的变化可以和捕获到的图像一起提供给服务器140。
[0021] 在获知已经发生的变化后,服务器140可以启动一个地图更新过程。在一些实施例中,服务器140可以识别包括变化对象的目标区域。例如,如果终端131报告变化,服务器140可以根据终端131的位置和变化对象(例如终端131检测到的标记112和113)确定目标区域。然后,服务器140可以向位于变化对象附近的终端131-134发送数据获取指令。在一些实施例中,指令可以指定目标区域,并指示终端131-134获取目标区域的图像。例如,目标区域可以是图1所示的公路110的一部分。
[0022] 由于终端131-134设置在相对于目标区域的不同角度和/或不同距离的位置,它们可以从不同的视角获取同一场景的图像。因此,所述不同的视角使得终端131-134能够分别获得关于公路110的特有信息。这些信息集成后,可以帮助服务器140重构一个公路110的三维模型。服务器140可以进一步将重构后的三维模型与HAD地图匹配,并更新地图的相应部分。
[0023] 尽管图1说明了公路110的一个包含示例性对象变化(如标记112和113)的区域,但是可以预计的是本申请所公开的系统和方法可以用于更新HAD地图以反映其他变化对象。例如,变化对象可以包括新的或修改过的交通标志,在公路110旁建造或拆除建筑物,在公路110上的景观变化等等。
[0024] 图2是根据本发明的一些实施例中的一种HAD地图更新系统的示例性框图。服务器140可以通过终端131-134收集数据,并集成来自至少两个源的数据,以更新HAD地图。
[0025] 在一些实施例中,例如图2所示,服务器140可以包括通信接口202、处理器204、内存212和存储器214。在一些实施例中,服务器140可以是一个包含不同模块的单个设备,例如独立计算设备,或是包含了不同专用功能的分离设备。在一些实施例中,服务器140的至少一个组件可以集成在云中,也可以只位于一个位置或分布在不同位置。服务器140的组件可能在集成一个设备中,或者分布在不同的位置,但是相互之间通过网络进行通信(图中未显示)。
[0026] 应当注意,虽然图2中并未显示,但终端131-134中的每一个可以包括类似服务器140中所示的硬件组件,如处理器230、通信接口(图中未显示)、内存(未显示)和存储(未显示)。
[0027] 通信接口202可以与终端131-134,或通过通信电缆、无线局域网(WLAN)、广域网(WAN)、无线网络(如无线电波、全国手机网络和/或本地无线网络(例如,BluetoothTM或WiFi)或其他通信方法连接到其他系统或设备(例如车辆)的终端实现数据的收发。在一些实施例中,通信接口202可以是一综合服务数字网(Integrated Services Digital Network,ISDN)卡、电缆调制解调器、卫星调制解调器或提供数据通信连接的调制解调器。又例如,通信接口202可以是一个用于向兼容的局域网提供数据通信连接的局域网(Local Area Network,LAN)卡。无线连接也可以通过通信接口202实现。此时,通过网络传输,通信接口202可以发送和接收电子、电磁或光学信号,这些信号代表各种类型信息的数字数据流。
[0028] 与本申请公开的一些实施例一致的是,通信接口202可以接收终端131-134捕获的图像,并将接收到的数据提供给存储器214存储或处理器204处理。通信接口202也可以接收处理器204产生的信息或信号,并将它们提供给终端131-134以协调它们获取图像。
[0029] 处理器204和处理器230可以包括任何适合类型的通用或专用微处理器、数字信号处理器或微控制器。在一些实施例中,处理器204可以配置为一个单独的处理器模块,用于更新HAD地图。在一些实施例中,处理器230可以配置为一个单独的处理器模块,用于获取图像以更新HAD地图。可选的,处理器204和处理器230可以配置为共享处理器模块,用于执行与地图更新无关的其他功能。
[0030] 如图2所示,处理器230可以包含多个模块,如定位单元231、图像获取单元232、变化检测单元233等。这些模块(以及任何相应的子模块或子单元)可以是处理器230的硬件单元(例如,集成电路的一部分),用于与其他组件一起使用或执行一部分程序。该程序可以存储在计算机可读介质上,当由处理器230执行时,它可以执行至少一个函数。应当注意的是,如图2所示,虽然单元231-233都在一个处理器230中,但是这些单元也可以分布在多个彼此邻近或相距较远的处理器之中。
[0031] 定位单元231可以配置为确定终端131的位置。在一些实施例中,定位单元231可以用SLAM算法来确定位置。然而,只适用单目图像的SLAM方法通常不能提供准确的定位信息,而且定位误差会累积。与本申请公开的一些实施例一致的是,定位单元231可以将GPS和IMU数据集成到SLAM算法中作为指导。在一些实施例中,定位单元231可以进一步集成现有HAD地图提供的信息,特别是当失去GPS信号或GPS信号被阻挡物(如高层建筑物)干扰时。GPS/IMU数据和HAD地图可以提供作为约束条件或先验信息的绝对位置信息,以改进SLAM算法。因此,改进的SLAM算法可以更准确可靠地定位终端131。
[0032] 图像获取单元232可以被配置为捕获周围对象的图像。在一些实施例中,图像获取单元232可以包括控制单目照相机的设置和操作的控制器。例如,图像获取单元232可以控制和调整相机的焦距、光圈、快门速度、白平衡、计量、滤波等设置。在一些实施例中,图像获取单元232可以控制和调整照相机的方向和位置,以便照相机以预设的视角和位置捕获图像。在一些实施例中,照相机可以设置为触发后连续或周期性地捕获图像,并将在某个时间点捕获的图像称为帧。
[0033] 变化检测单元233可以配置为基于捕获的图像检测至少一个变化对象。图像分割和机器学习技术可以应用于变化对象的检测。在一些实施例中,变化检测单元233可以将图像与现有HAD地图中相应的信息进行比较以确定变化。例如,变化检测单元233可以检测到公路110上的标记112和113已经变化。
[0034] 当检测到变化对象时,终端131可以向服务器140提供捕获的图像、检测到的变化对象及其定位信息。通信接口202可以接收数据并将数据发送到处理器204。如图2所示,处理器204可以包含多个模块,如目标区域识别单元241、指令单元242、聚合单元243、模型重构单元244、地图更新单元245等。这些模块(以及任何相应的子模块或子单元)可以是处理器204的硬件单元(例如,集成电路的一部分),用于与其他组件一起使用或执行一部分程序。该程序可以存储在计算机可读介质上,当由处理器204执行时,它可以执行至少一个函数。此外,如图2所示,虽然单元231-233都在一个处理器230中,但是这些单元也可以分布在多个彼此邻近或相距较远的处理器之中。
[0035] 目标区域识别单元241可以根据终端131提供的数据识别目标区域。目标区域可以包括检测到的变化对象。例如,在图1所示的示例中,目标区域可以是包括变化标记112和113的公路110的一部分区域。指令单元242之后可以确定一条获取目标区域图像的指令。指令单元242可以进一步识别至少两个终端(如终端131-134)以发送该图像获取指令。在识别终端的过程中,指令单元242基于终端的位置(例如,目标区域是否在终端的成像范围内)、终端相对于目标区域的视角等进行识别。在一些实施例中,指令单元242可以选择能够从不同视角捕获目标区域图像的终端。
[0036] 图像获取指令可以通过通信接口202发送到终端131-134。终端131-134的图像获取单元可以根据该图像获取指令获取目标区域的图像,并将图像发回服务器140。这些图像可以通过聚合单元243收集整理后再传递给模型重构单元244。
[0037] 模型重构单元244可以被配置为重构至少一个变化对象的三维模型。在一些实施例中,模型重构单元244可以获取终端131提供的至少一个变化对象的检测结果。在其他一些实施例中,模型重构单元244可以根据终端131提供的图像验证结果或重新检测至少一个对象本身。类似的技术可以实施类似的图像分割和机器学习技术来检测和提取至少一个变化对象。
[0038] 由于图像是由终端131-134从不同视角捕获的,模型重构单元244可以从这些图像中提取对象的不同视图。从这些图像中提取的对象是二维(2-D)的。基于分别从不同视角捕获的图像的位置和姿态,模型重构单元244可以从这些图像中提取出变化对象的不同视图,将对象的不同视图合并在一起以构建对象的三维模型。在一些实施例中,模型重构单元244可以使用基于运动结构(Structure from Motion,SfM)的方法来重建每个图像的位置和姿态。在一些实施例中,模型重构单元244能够判断所提供的图像不足以进行良好的重构。例如,可以判断出缺失了某个视角捕获的图像。模型重构单元244可以指示终端131-134和/或其他终端(未显示)获取更多图像进行补充。
[0039] 地图更新单元245可以将变化对象的三维模型与现有HAD地图进行匹配,当二者匹配时,将地图上对应于该对象的部分替换为与地图匹配的三维模型。在一些实施例中,模型重构单元244重构的三维模型可以是代表至少一个变化对象的点云。因此,地图更新单元245可以将变化对象的点云与HAD地图的点云匹配。在一些实施例中,作为匹配过程的一部分,地图更新单元245可以对重构的三维模型的数据实施坐标变换,将重构的三维模型的数据的坐标变换为HAD地图的坐标。
[0040] 可以预期的是,当发生任何变化时,当周期性地以预定频率发生重大变化时,或当以以上任何合适的组合形式发生变化时,服务器140能够进行地图更新。
[0041] 内存212和存储器214可以包括任何合适类型的大容量存储器,为处理器204可能需要的任何类型的信息提供存储空间。内存212和存储器214可以是易失性的或非易失性的、磁性的、半导体的、磁带的、光学的、可移动的、不可移动的,或其他类型的存储设备或有形的(例如非暂时性的)计算机可读介质,包括但不限于ROM、闪存、动态RAM和静态RAM。内存212和/或存储器214可以配置为存储处理器204将会执行的至少一个计算机程序,以实施本申请中公开的地图更新功能。例如,内存212和/或存储器214被配置为存储处理器204执行的程序,当这些程序被处理器204执行时,处理器204可以与终端131-134通信以获取图像,并用所获取的图像更新HAD地图。
[0042] 内存212和/或存储器214可以进一步配置为存储处理器204所使用的信息和数据。例如,内存212和/或存储器214可以用来存储包含点云数据的HAD地图、终端131-134捕获的图像、机器学习模型(例如,模型参数)和特征地图,以及在处理过程中创建的其他中间数据。在处理每一帧数据之后,这些数据可以被永久地存储、定期地删除或即刻舍弃。
[0043] 图3是根据本发明的一些实施例中的一种由终端获取数据以更新HAD地图的示例性方法300的流程图。例如,方法300可以被终端131的处理器230实现。方法300可以包括下面描述的步骤S302-S314。
[0044] 在S302步骤中,终端131可以对自身进行定位。例如,定位单元231可以被配置为执行SLAM算法,以确定终端131的位置。SLAM算法试图构造一个未知环境的地图,同时跟踪车辆或设备在其中的位置。因此,SLAM算法在没有绝对位置信息作为指导时,可能会累积定位误差。与本申请公开的一些实施例一致的是,定位单元231可以使用GPS/IMU数据和/或HAD地图来指导和改进SLAM算法。GPS/IMU数据和HAD地图可以为SLAM算法提供作为约束条件或先验信息的绝对位置信息。使用HAD地图可以确保定位精确度和可靠性,甚至当GPS信号不强或完全消失的时候仍可确保定位精确度和可靠性。
[0045] 在S304步骤中,终端131可以捕获场景图像。例如,图像获取单元232可以控制单目照相机来捕获场景的图像。在一些实施例中,图像获取单元232可以控制捕获图像的方式。例如,图像获取单元232可以控制和调整照相机的方向和位置,以便照相机以预定的视角和位置捕获图像。在一些实施例中,图像可以在触发后被连续或周期性地捕获。
[0046] 在步骤S306中,终端131可以基于捕获的图像检测至少一个变化对象。例如,变化检测单元233可以基于图像分割和机器学习技术检测至少一个变化对象。该至少一个变化对象可以包括交通标志(例如停止或[让]字标志)和公路标志等。该至少一个变化对象也可以包括道路标记,例如车道标记、方向/转弯标记和行人人行横道标记。在一些实施例中,图像与现有HAD地图中相应的信息进行比较以确定变化。
[0047] 例如,根据本发明的一些实施例,图4是一张检测到变化对象的示例性图像400。变化检测单元233可以首先识别图像400中捕获的各个对象,如交通标志411-413、车辆420和道路标记430。识别出的对象可以用方框标记。变化检测单元233可以识别出移动对象,如车辆420,并删除不应该包含在地图中的对象。在一些实施例中,对象区域可以与现有HAD地图中相应的区域进行比较以确定对象是否已经发生变化。例如,变化检测单元233可以确定交通标志411是新的或者交通标志412上的文字内容已经变化。在一些实施例中,机器学习方法可以用来识别交通标志上的文本和语义含义。
[0048] 回到图3,在步骤S308中,检测到变化对象时,终端131可以将变化对象报告至服务器140。另外,终端131还可以将从中检测到变化的捕获图像发送至服务器140,以供服务器验证或重新检测。因为服务器140比终端131具有更高的计算能力,服务器140可以使用复杂但更精确的方法来检测变化对象。终端131还可以发送自身的位置信息至服务器140。
[0049] 在步骤S310中,终端131可以接收来自服务器140的获取目标区域的图像数据的指令。在一些实施例中,指令进一步包括服务器140想要终端131捕获图像的视角。在步骤S312中,终端131可以按照指令从该视角捕获目标区域的图像。例如,图像获取单元232可以调整单目照相机至该视角。在步骤S314中,捕获到的图像数据可以回传给服务器140.[0050] 在步骤S316中,终端131可以接收来自服务器140的获取目标区域的补充数据的指令。在一些实施例中,补充数据可以像之前一样从同一个视角获取,或者从不同的视角获取。如果在步骤S316中接收到获取补充数据的指令,流程300可以返回步骤S310获取补充数据。否则,流程300会返回步骤S302继续捕获图像和检测变化。
[0051] 图5是根据本发明的一些实施例中的一种更新HAD地图的示例性方法500的流程图。例如,方法500可以被服务器140的处理器204实现。方法500可以包括下面描述的步骤S502-S518。
[0052] 在步骤S502中,服务器140可以接收来自至少一个终端的至少一个变化对象已经被检测到的报告。在一些实施例中,服务器140也可以接收终端捕获的图像。在可选步骤S504中,服务器140可以基于所接收到的图像验证或重新检测所述至少一个变化对象。因为服务器140比终端具备更高的计算能力,因此检测结果更加精确。例如,服务器140可以接收来自至少两个终端的图像,该至少两个终端捕获的对象为同一个。这使得服务器140具备更多可以用来检测变化对象的数据。
[0053] 在步骤S506中,服务器140可以基于接收的终端数据识别目标区域。例如,目标区域识别单元241可以确定一个包含被检测出的变化对象的目标区域。
[0054] 在步骤S508中,服务器140可以指示终端从不同视角获取目标区域的图像数据。例如,指令单元242可以识别多个应当被指示获取图像的终端,例如终端131-134。该识别过程基于终端的位置(例如,目标区域是否在终端的成像范围内),终端相对于目标区域的视角等等。在一些实施例中,指令单元242可以选择能够从不同的视角捕获目标区域图像的终端。
[0055] 在步骤S510中,当终端131-134将获取图像发回服务器140,在图像被执行模型重构前,聚合单元243可以接收并以一定顺序对图像进行整理。例如,聚合单元243可以根据变化对象的视角、分辨率和覆盖范围等对图像进行整理。
[0056] 在步骤S512中,服务器140可以重构至少一个变化对象的三维模型。在一些实施例中,在步骤S512中重构的三维模型可以是代表至少一个变化对象的点云。在一些实施例中,模型重构单元244可以基于从不同视角捕获的图像提取出对象的不同视图。模型重构单元244可以根据这些分别从不同视角获取的图像的位置和姿态,将提取出的二维对象图像合并在一起以构建该对象的三维模型。
[0057] 在一些实施例中,模型重构单元244可以使用SfM方法来重构每个图像的位置和姿态。例如,根据本发明的一些实施例,图6是基于SfM算法重构变化对象的三维模型的方法512(即图5中的步骤S512)的示例性流程图。例如,方法512可以由服务器140的处理器204实现。方法512可以包括下面描述的步骤S602-S618。
[0058] 步骤S602-S608用于计算被捕获图像的对应程度。在步骤S602中,服务器140可以检测终端捕获的每一个图像的特征。在一些实施例中。检测到的图像特征可以是语义特征,如像素强度、对比度、梯度、斑块,或非语义特征,这些信息与图像相关。在步骤S604中,服务器140可以对每对图像的关键点进行匹配。在一些实施例中,关键点匹配可以基于步骤S602中检测到的特征,通过机器学习方法实现。在步骤S606中,服务器140可以为每对图像估计一个F矩阵来优化步骤S604的匹配结果。在步骤S608中,服务器可以对每对图像的匹配点进行组织整理并将这些匹配点堆叠成轨迹。
[0059] 步骤S610-S616为SfM方法重构三维模型的一部分流程。在步骤S610中,服务器140可以选择一对初始图像进行重构。在一些实施例中,这对初始图像对变化对象覆盖得最完全。在选择初始图像对时,服务器140可以考虑各种因素,如图像质量、分辨率、图像捕获的视角、图像之间的整体对应程度等。在步骤S612中,可以添加额外的图像来优化重构模型。例如,可以添加步骤S602-S608中确定的图像对。额外的图像提供了来自不同视角的额外信息以改进三维模型重构。在步骤S614中,采用光束平差方法,以使整个三维模型更逼真。在S616中,服务器140可以确定是否有更多的图像可以从轨迹添加到三维模型的重构中。如果有,方法512可以返回到步骤S612继续重构。否则,方法512将在步骤S618中提供重构好的三维模型。
[0060] 回到图5,服务器140可以根据三维模型确定重构结果是否需要目标区域的补充数据。如果需要,模型重构单元244可以确定终端应当捕获的补充图像的视角。例如,如果接收到的图像是从0-180度的视角拍摄的,但是缺少从180-360度的视角拍摄的,模型重构单元244可以请求180-360度视角拍摄的补充数据。如果需要补充数据,方法500会回到步骤S508,指令单元242可以指示终端从所需的视角获取更多的图像。
[0061] 在步骤S516中,服务器140可以将变化对象的三维模型与现有HAD地图相匹配。在一些实施例中,地图更新单元245可以将变化对象的点云与HAD地图的点云匹配。在一些实施例中,地图更新单元245可以将重构的三维模型的数据从原始坐标转换为HAD地图的坐标。坐标转换实质上是通过旋转和平移将数据从一个坐标系映射到另一个坐标系。
[0062] 在一些实施例中,步骤S516可以包含两个子步骤。首先,基于终端提供的定位信息,重构的三维模型的点云可以在被映射到HAD地图的坐标系中。然后,地图更新单元245可以用三维模型点云和HAD地图点云的对应点构造成本函数。例如,一个示例成本函数f可以构造为如公式(1)所示:其中ps和pt是三维模型点云和HAD地图点云的一对对应点,Np是点对的总数。R和T分别是旋转矩阵和平移矩阵。在一些实施例中,通过最小化成本函数f可以获得最优化的R和T矩阵。例如,最优化问题可以通过迭代最接近点(Iterative Closest Points,ICP)方法或它的变型方法来解决。
[0063] 在步骤S518中,服务器140可以更新HAD地图。在一些实施例中,地图更新单元245可以用转换为地图坐标系统的三维模型替换地图中与该对象对应的部分。例如,地图更新单元245可以使用优化的R和T矩阵进行坐标变换。可选地,地图更新单元245可以基于三维模型修改相应的地图。
[0064] 公开的另一个方面指向非暂时性的计算机可读介质存储指令,当指令被至少一个处理器执行时,导致所述至少一个处理器执行本申请披露的方法。计算机可读介质可以包括易失性或非易失性的、磁性的、半导体的、磁带的、光学的、可移动的、不可移动的或其他类型的计算机可读介质或计算机可读存储设备。例如,像所公开的那样,计算机可读介质可以是存储有计算机指令的存储设备或存储器模块。在一些实施例中,计算机可读介质可以是存储有计算机指令的磁盘或闪存驱动器。
[0065] 对于本领域的技术人员来说,在了解本申请披露的系统和方法的原理后,可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
[0066] 需要注意的是,本申请的描述及实施例仅为了帮助更好地理解,并不能把本申请限制在所举实施例范围之内。本申请的实际范围由以下权利要求及其等价声明决定。