具有基准标记物的车辆姿态检测转让专利

申请号 : CN202011305399.6

文献号 : CN112824837A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 普纳杰·查克拉瓦蒂拉姆钱德拉·加内什·卡兰迪卡尔

申请人 : 福特全球技术公司

摘要 :

本公开提供了“具有基准标记物的车辆姿态检测”。基于来自静止传感器的图像来检测在车辆上的一个或多个数字显示器上显示的标记物。通过分析所述图像中的像素来确定所述标记物在坐标系中的第一位置和第一取向。基于来自地图的静止传感器位置和取向来确定所述车辆在所述坐标系中的第二位置和第二取向。

权利要求 :

1.一种方法,其包括:

基于来自静止传感器的图像来检测在车辆上的一个或多个数字显示器上显示的标记物;

通过分析所述图像中的像素来确定所述标记物在坐标系中的第一位置和第一取向;以及

基于来自地图的静止传感器位置和取向来确定所述车辆在所述坐标系中的第二位置和第二取向。

2.根据权利要求1所述的方法,其还包括基于标记物标号和所述标记物的尺寸中的至少一者来确定所述标记物的所述第一位置和所述第一取向。

3.根据权利要求1所述的方法,其还包括通过将来自所述静止传感器的所述图像输入到机器学习程序中来确定所述标记物的所述第一位置和所述第一取向。

4.根据权利要求1所述的方法,其中所述标记物是所述车辆的标识符。

5.根据权利要求1所述的方法,其还包括基于所述标记物的视觉图案来识别所述标记物。

6.根据权利要求1所述的方法,其还包括基于将所述图像中的标记物标号与存储的标记物图像中的标记物标号进行比较来识别所述标记物。

7.根据权利要求1所述的方法,其还包括基于来自所述静止传感器的视频数据来识别所述一个或多个数字显示器。

8.根据权利要求1所述的方法,其还包括:在远程计算机中生成包括所述静止传感器位置和取向的地图,其中所述远程计算机被编程为执行同时定位和构图(SLAM);

将所述地图传输到所述计算机;以及在所述计算机中从所述远程计算机接收所述地图。

9.根据权利要求8所述的方法,其还包括在确定所述车辆在所述坐标系中的所述第二位置和所述第二取向时将所述车辆包括在所述地图中。

10.根据权利要求9所述的方法,其还包括基于所述标记物来确定所述车辆的尺寸。

11.根据权利要求8所述的方法,其还包括将所述地图提供给所述车辆并且基于所述地图来操作所述车辆。

12.根据权利要求1所述的方法,其中所述取向包括俯仰、横摆和侧倾。

13.一种计算机,其被编程为执行根据权利要求1至12中任一项所述的方法。

14.一种计算机程序产品,其包括用于执行根据权利要求1至12中任一项所述的方法的指令。

15.一种车辆,其包括被编程为执行根据权利要求1至12中任一项所述的方法的计算机。

说明书 :

具有基准标记物的车辆姿态检测

技术领域

[0001] 本公开总体上涉及车辆传感器,并且更具体地涉及车辆姿态检测。

背景技术

[0002] 车辆可被配备成在自主模式和乘员驾驶模式两者下操作。车辆可配备有计算装置、网络、传感器和控制器以获取关于车辆环境的信息并基于所述信息而操作车辆。车辆的
安全且舒适的操作可取决于获取关于车辆环境的准确且及时的信息。车辆传感器可提供关
于在车辆环境中要行驶的路线和要避开的对象的数据。车辆的安全且高效的操作可取决于
在车辆正在道路上进行操作时获取关于在车辆环境中的路线和对象的准确且及时的信息。

发明内容

[0003] 一种系统包括计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令可由所述处理器执行以基于来自静止传感器的图像来检测在车辆上的一个或多个
数字显示器上显示的标记物。所述指令还包括用于进行以下操作的指令:通过分析所述图
像中的像素来确定所述标记物在坐标系中的第一位置和第一取向。所述指令还包括用于进
行以下操作的指令:基于来自地图的静止传感器位置和取向来确定所述车辆在所述坐标系
中的第二位置和第二取向。
[0004] 所述标记物可以是所述车辆的标识符。
[0005] 所述指令还可包括用于进行以下操作的指令:从远程计算机接收所述地图。所述远程计算机可以被编程为执行同时定位和构图  (simultaneous localization and 
mapping,SLAM)以生成包括所述静止传感器位置和取向的所述地图,并且将所述地图传输
到所述计算机。
[0006] 所述指令还可包括用于进行以下操作的指令:在确定所述车辆在所述坐标系中的所述第二位置和所述第二取向时将所述车辆包括在所述地图中。
[0007] 所述指令还可包括用于进行以下操作的指令:基于所述标记物来确定所述车辆的尺寸。
[0008] 所述指令还可包括用于进行以下操作的指令:将所述地图提供给所述车辆并且基于所述地图来操作所述车辆。
[0009] 所述指令还可包括用于进行以下操作的指令:基于来自所述静止传感器的视频数据来识别所述一个或多个数字显示器。
[0010] 所述取向可包括俯仰、横摆和侧倾。
[0011] 所述指令还可包括用于进行以下操作的指令:基于标记物标号和所述标记物的尺寸中的至少一者来确定所述标记物的所述第一位置和所述第一取向。
[0012] 所述指令还可包括用于进行以下操作的指令:通过将来自所述静止传感器的所述图像输入到机器学习程序中来确定所述标记物的所述第一位置和所述第一取向。
[0013] 所述指令还可包括用于进行以下操作的指令:基于所述标记物的视觉图案来识别所述标记物。
[0014] 所述指令还可包括用于进行以下操作的指令:基于将所述图像中的标记物标号与存储的标记物图像中的标记物标号进行比较来识别所述标记物。
[0015] 一种方法包括基于来自静止传感器的图像来检测在车辆上的一个或多个数字显示器上显示的标记物。所述方法还包括通过分析所述图像中的像素来确定所述标记物在坐
标系中的第一位置和第一取向。所述方法还包括基于来自地图的静止传感器位置和取向来
确定所述车辆在所述坐标系中的第二位置和第二取向。
[0016] 所述方法可包括基于标记物标号和所述标记物的尺寸中的至少一者来确定所述标记物的所述第一位置和所述第一取向。
[0017] 所述方法可包括通过将来自所述静止传感器的所述图像输入到机器学习程序中来确定所述标记物的所述第一位置和所述第一取向。
[0018] 所述标记物可以是所述车辆的标识符。
[0019] 所述方法可包括基于所述标记物的视觉图案来识别所述标记物。
[0020] 所述方法可包括基于将所述图像中的标记物标号与存储的标记物图像中的标记物标号进行比较来识别所述标记物。
[0021] 所述方法可包括基于来自所述静止传感器的视频数据来识别所述一个或多个数字显示器。
[0022] 所述取向可包括俯仰、横摆和侧倾。
[0023] 本文还公开了一种计算装置,所述计算装置被编程为执行上述方法步骤中的任一者。本文还公开了一种计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计
算机可读介质存储指令,所述指令可由计算机处理器执行,以执行上述方法步骤中的任一
者。

附图说明

[0024] 图1示出了示出用于利用标记物定位车辆的示例性系统的图式。
[0025] 图2A至图2B是示例性标记物的图示。
[0026] 图3是用于利用标记物定位车辆的示例性过程的流程图。

具体实施方式

[0027] 图1示出了用于利用标记物106定位车辆105的示例性系统100。远离车辆105的计算机150被编程为基于来自静止传感器140的图像来检测在车辆105上的一个或多个数字显
示器145上显示的标记物 106。计算机150还被编程为通过分析图像中的像素来确定标记物
106 在坐标系中的第一位置和第一取向。计算机150还被编程为基于来自地图的静止传感
器位置140和取向来确定车辆105在坐标系中的第二位置和第二取向。
[0028] 车辆传感器115可提供关于车辆105行驶的路线和/或关于车辆 105的环境中的对象的数据。为了操作车辆105,车辆计算机110至少基于根据车辆传感器115确定的车辆105
的第一位置和第一取向来确定路径。有利地,为了补充和/或替换来自车辆传感器115的数
据,计算机150可以接收指定静止传感器140在环境中的位置和取向的地图以及来自车辆
105外部的静止传感器140的图像数据,所述图像数据指示车辆105上的标记物106。然后,计
算机150可以基于标记物 106相对于静止传感器140的第一位置和第一取向来确定车辆105
在环境中的第二位置和第二取向。计算机150可以基于车辆105的第二位置和第二取向将车
辆105添加到环境地图并且将地图提供给车辆计算机110,这可以有利地减少车辆计算机
110在环境中操作车辆105 的处理和/或处理时间。
[0029] 车辆105包括车辆计算机110、传感器115、用于致动各种车辆部件125的致动器120以及车辆通信模块130。通信模块130允许车辆计算机110例如经由消息传递或广播协议(诸
如专用短程通信 (DSRC)、蜂窝和/或可支持车辆对车辆、车辆对基础设施、车辆对云通信等
的其他协议)和/或经由分组网络135与一个或多个基础设施元件140和计算机150通信。
[0030] 车辆计算机110包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由车辆计算机110执行以用于执行包括如本文所公开的各种
操作的指令。
[0031] 车辆计算机110可以自主模式、半自主模式或非自主(或手动)模式来操作车辆105。出于本公开的目的,自主模式被定义为其中车辆 105的推进、制动和转向中的每一者
都由车辆计算机110控制的模式;在半自主模式中,车辆计算机110控制车辆105的推进、制
动和转向中的一者或两者;在非自主模式中,人类操作员控制车辆105的推进、制动和转向
中的每一者。
[0032] 车辆计算机110可包括用于进行以下操作的编程:操作车辆105 制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆105的加速
度)、转向、变速器、气候控制、内部和/或外部灯等中的一者或多者,以及确定车辆计算机 
110(而非人类操作员)是否以及何时控制此类操作。
[0033] 车辆计算机110可包括一个以上的处理器或可例如经由如下面进一步描述的车辆通信网络(诸如,通信总线)通信地耦合到所述一个以上的处理器,所述一个以上的处理器
例如包括在车辆105中所包括的用于监测和/或控制各种车辆部件125(例如,变速器控制
器、制动控制器、转向控制器等)的电子控制器单元(ECU)等中。车辆计算机 110通常被布置
用于在车辆通信网络上进行通信,所述车辆通信网络可包括车辆105中的总线,诸如控制器
局域网(CAN)等,和/或其他有线和/或无线机制。
[0034] 经由车辆105网络,车辆计算机110可向车辆105中的各种装置 (例如,传感器115、致动器120、ECU等)传输消息和/或从各种装置接收消息(例如,CAN消息)。替代地或另外,在
车辆计算机110实际上包括多个装置的情况下,车辆通信网络可用于在本公开中表示为车
辆计算机110的装置之间的通信。此外,如下所述,各种控制器和/ 或传感器115可以经由车
辆通信网络向车辆计算机110提供数据。
[0035] 车辆105的传感器115可包括诸如已知的用于向车辆计算机110 提供数据的多种装置。例如,传感器115可包括设置在车辆105的顶部上、在车辆105的前挡风玻璃后面、在车
辆105周围等的光探测和测距(激光雷达)传感器115等,所述传感器提供车辆105周围的对
象的相对位置、大小和形状。作为另一示例,固定到车辆105保险杠的一个或多个雷达传感
器115可提供数据来提供对象、第二车辆105等相对于车辆105的位置的位置。替代地或另
外,传感器115还可例如包括一个或多个相机传感器115(例如,前视、侧视等),所述相机传
感器提供来自车辆105周围的区域的图像。在本公开的背景中,对象是可以通过可由传感器
115检测到的物理现象(例如,光或其他电磁波或声音等)来表示的物理(即,物质)物品。因
此,车辆105以及包括以下讨论的其他物品都落在本文的“对象”的定义内。
[0036] 车辆105致动器120经由电路、芯片或可根据如已知的适当控制信号来致动各种车辆子系统的其他电子和/或机械部件来实施。致动器120可用于控制部件125,包括车辆105
的制动、加速和转向。
[0037] 在本公开的背景中,车辆部件125是适于执行机械或机电功能或操作(诸如使车辆105移动、使车辆105减速或停止、使车辆105转向等)的一个或多个硬件部件。部件125的非
限制性示例包括推进部件(其包括例如内燃发动机和/或电动马达等)、变速器部件、转向部
件 (例如,其可包括方向盘、转向齿条等中的一者或多者)、制动部件(如以下所描述)、停车
辅助部件、自适应巡航控制部件、自适应转向部件、一个或多个被动约束系统(例如,气囊)、
可移动座椅等。
[0038] 另外,车辆计算机110可被配置用于经由车辆对车辆通信模块 130或接口与车辆105外部的装置进行通信,例如,通过到另一车辆、到静止传感器140(通常经由直接射频通
信)和/或(通常经由网络135) 到计算机150的车辆对车辆(V2V)或车辆对基础设施(V2X)无
线通信(蜂窝和/或DSRC等)。通信模块130可包括车辆105的计算机110可以通过其进行通信
的一种或多种机制(诸如收发器),包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制
的任何期望组合以及任何期望的网络拓扑(或当利用多种通信机制时的拓扑)。经由通信模
块 130提供的示例性通信包括提供数据通信服务的蜂窝、蓝牙、IEEE 802.11、专用短程通
信(DSRC)和/或包括因特网的广域网(WAN)。
[0039] 网络135表示车辆计算机110可以借此来与远程计算装置(例如,计算机150、另一个车辆计算机等)进行通信的一种或多种机制。因此,网络135可以是各种有线或无线通信
机制中的一者或多者,包括有线 (例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微
波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑(或利用多种通信机制时
的多种拓扑)。示例性通信网络包括提供数据通信服务的无线通信网络(例如,使用
低功耗 (BLE)、IEEE 802.11、车辆对车辆(V2V)诸如专用短程通
信(DSRC)等)、局域网(LAN) 和/或包括因特网的广域网(WAN)。
[0040] 车辆105包括一个或多个数字显示器145。数字显示器145可使用芯片、电子部件和/或发光二极管(LED)、液晶显示器(LCD)、有机发光二极管(OLED)等来实施。数字显示器
145可附接到车辆105的外表面或者可被制造为车身的外表面的一部分。计算机150可以被
编程为在从静止传感器140接收到视频数据时例如使用图像分析技术来识别车辆105上的
一个或多个数字显示器145。
[0041] 数字显示器145可例如经由车辆通信网络等从车辆计算机110接收图像,例如视频数据流中的帧。数字显示器145通常具有可以每秒帧数(fps)或赫兹(Hz)指定的刷新速率。
例如,数字显示器145可具有 30fps或30Hz的刷新速率(即,每秒30次替换/刷新显示的帧)。
在一个示例中,车辆计算机110可以被编程为基于数字显示器145的刷新率将帧序列传输到
数字显示器145,例如,将每秒30帧的集合传输到数字显示器145。在另一个示例中,车辆计
算机110可以被编程为发送具有相关联的时间戳的帧,并且数字显示器145可以被配置(即,
包括用于执行这种编程的编程和硬件)为基于每一帧的时间戳来输出接收的帧。
[0042] 车辆计算机110可以被编程为致动车辆105上的数字显示器145 以显示第一内容集合和/或第二内容集合。第一内容集合可包括常规的数字静态或运动(即,视频)图像(例
如,车辆105显示器145可用于提供广告、文本信息、徽标等)。第二内容集合可包括标记物
106。车辆计算机110可以例如致动数字显示器145以显示第一内容集合持续高于阈值的持
续时间,并且紧接着在第一内容集合之后显示第二内容集合持续低于阈值的持续时间。所
述阈值可基于通常已知用于显示人眼检测到的或未检测到的内容的时间量来确定。所述时
间量通常已知为基本上100ms。人类视觉通常在观看超过100ms时识别图像(或将图像呈现
为可检测的)。另一方面,静止传感器140可包括成像传感器,所述成像传感器允许检测到显
示持续少于100ms的图像,例如,相机传感器可每秒采样100个图像,并且因此可捕获被示出
超过10 ms的图像。因此,计算机150可以被编程为检测第一内容集合和第二内容集合,而人
眼可识别第一内容集合(例如,广告)而不识别第二内容(例如,标记物106)。
[0043] 计算机150包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机150执行以用于执行各种操作(包括如本文所公开的操
作)的指令。此外,可以经由网络 135(例如,因特网或某种其他广域网)来访问计算机150。
数据存储装置155可以是计算机150的存储器和/或通信地耦合到(包括经由网络 135耦合
到)计算机150的常规数据存储装置,例如硬盘驱动器、固态驱动器、服务器或任何易失性或
非易失性介质。
[0044] 数据存储装置155通常包括多个数据记录。每个数据记录可以由可以从标记物106解码的标识符基本上唯一地识别。由标记物106标识符识别的每个数据记录包括关于车辆
105的数据,包括对车辆105 尺寸的描述。在本背景中,车辆105尺寸是对车辆105的三维描
述,即,可以预测车辆105将在物理环境中占据的空间的数据。在本背景中,尺寸是沿着线的
可测量范围,例如长度、宽度和/或高度。车辆 105可以由一个或多个规则的几何形状(诸如
一个或多个长方体)表示;在该示例中,车辆105几何形状可以通过给出长方体的长度、宽度
和高度来提供。由标记物106标识符识别的数据记录可以替代地或另外包括车辆105的三维
模型;可以结合所述三维模型根据如下所述确定的车辆105的第二位置和第二取向来预测
车辆105将在物理环境中占据的空间。三维数据模型包括车辆105的模型以及三维标记物 
106,并且对车辆105和标记物106进行建模以在真实世界空间中表示它们。标记物106的记
录通常还包括指定标记物106在车辆105(例如,数字显示器145)上的位置和取向的数据,使
得车辆105的第二位置和第二取向可以根据车辆105的静止传感器140图像(包括标记物 
106)的分析来确定。
[0045] 远程计算机160是车辆105外部的并且通常在地理上远离车辆的计算机,并且可以是被编程为提供诸如本文公开的操作的常规计算装置,即,包括一个或多个处理器和一个
或多个存储器。例如,远程计算机160可以是远程车辆计算机、基础设施计算机等。替代地,
远程计算机160可以是基于云的服务器。此外,可以经由网络135(例如,因特网或某种其他
广域网)来访问远程计算机160。
[0046] 远程计算机160可以例如从一个或多个静止传感器140、从安装在车辆105上的传感器115等接收关于环境的图像数据。可以在坐标系(即,在真实世界参考点(例如,全球定
位系统(GPS)参考点)处具有原点的常规笛卡尔坐标系)中收集关于环境的数据。然后,远程
计算机160可以执行同时定位和构图(SLAM)以生成环境地图。在本公开的背景中,环境地图
是包括被构图环境内的表面(例如,路面、交通标志、建筑物、植被等)上的点的3D位置坐标
的数字地图。环境由地面的区域限定并且包括指定地面上方的体积。地面的区域由地理地
标和/或地理坐标限定。环境中的点(例如,路面上的点)的位置坐标可由例如在笛卡尔坐标
系中的X、Y和Z坐标指定。X坐标和Y坐标(即,水平坐标)可以是例如全球定位系统(GPS)坐标
(即,纬度坐标和经度坐标)等,而Z坐标可以指定位置的竖直分量,即,点距指定的水平参考
面(例如,海平面或地平面)的高度(或海拔)。远程计算机160可以例如经由网络135将地图
传输到计算机150。
[0047] 静止传感器140可以提供数字图像,例如,作为压缩格式(诸如 MPEG等)的视频帧。MPEG是指通常由国际标准组织/国际电气委员会运动图像专家组(MPEG)发布的标准集合。
来自静止传感器140的视频数据中的每一帧可以是指定数量的像素宽乘以指定数量的像素
高。可以根据各种图像或图案识别技术在帧中识别标记物106,包括用于描绘标记物106的
图像中的像素的一个或多个位置,然后可以如下文进一步描述地那样确定帧中的标记物
106的坐标。
[0048] 静止传感器140可以固定或静止方式部署,,例如安装到杆、定位在非移动卡车上、安装到环境内的建筑物等。静止传感器140包括在环境地图中。也就是说,地图包括静止传
感器140在相对于坐标系定义的坐标中的姿态。诸如静止传感器140、标记物106或车辆105 
的对象的姿态表示取向(例如,如下文所讨论的横摆、俯仰和侧倾)和位置(例如,指定坐标
系中的位置的坐标集合,例如,X、Y、Z坐标)。例如,静止传感器140的姿态是静止传感器140
例如在诸如以上所引用的笛卡尔坐标系中的位置和取向。作为另一个示例,标记物106的姿
态指定标记物106相对于坐标系的第一位置和第一取向。静止传感器140的姿态可以是用于
在识别来自静止传感器140的视频数据帧中的标记物106的姿态时确定车辆105在坐标系中
的姿态(即,第二位置和第二取向)的基础。。
[0049] 标记物106可以是识别车辆105的任何视觉图案,例如字母和/ 或数字、条形码或其他形状、线或标记物(例如,可以在公司徽标等中提供)的图案。标记物106可以被称为基
准标记物106。基准标记物 106是放置在成像系统的视野中的对象,所述对象出现在所产生
的图像中,以用作参考点或测量点。例如,如图2A所示,基准标记物106 可以是所谓的快速
响应(QR)代码;众所周知,QR代码可以用于对标识符进行编码,所述标识符可以在获取QR代
码的图像时进行解码。作为另一个示例,如图2B所示,基准标记物106可包括多个ArUco 基
准标记。ArUco基准标记是来自在2019年5月15日西班牙科尔多瓦大学“Aplicaciones de 
la Vision Artificial”、 www.uco.es/grupos/ava/node/26处描述的基准标记库的二维
(2D)图案。 ArUco基准标记被设计成由机器视觉软件读取,所述机器视觉软件可通过处理
基准标记物106的2D(二维)图像来确定基准标记物106中所包括的每个ArUco基准标记的相
对于坐标系的姿态。ArUco标记物具有比QR代码更简单的图案,并且因此通常需要更少的处
理和/ 或更少的处理时间来解码和/或分析。
[0050] 计算机150可以例如基于视觉图案(例如,使用图案识别技术)来识别标记物106。作为另一个示例,计算机150可以基于将图像中的标记物106与存储的标记物图像进行比较
来识别标记物106。在此示例中,在从静止传感器140检测到图像中的标记物106时,计算机 
150可以例如从数据存储155中检索存储的标记物图像。
[0051] 静止传感器140可以提供数据以确定在车辆105上示出的基准标记物106的姿态。例如,安装在车辆105的车顶、车门等上的数字显示器145可显示基准标记物106。当车辆105
进入静止传感器140的视野中时,可获取车辆105的包括基准标记物106的图像(或视频图
像),并且计算机150可根据图像来确定基准标记物106相对于坐标系的姿态。例如,一旦例
如根据实施图案识别技术的计算机150中的编程在静止传感器140数据的帧中识别出标记
物106,计算机150就可以从数据存储装置155中检索标记物106数据记录。标记物106数据记
录可以例如根据XY坐标系指定标记物106的尺寸,例如长度和宽度,以及标记物106中的特
定标号107、108的尺寸。
[0052] 标记物标号107、108是标记物106中的可识别形状或记号,例如标记物106中的单个正方形标记,其可以由计算机150在标记物 106的图像中识别。也就是说,计算机150可以
例如通过识别标记物 106图像中的形状或形状组合来识别标记物106图像中表示特定标号 
107、108的像素。然后,可以例如通过使用勾股定理确定标记物106 图像中的两个点的相应
XY坐标之间的距离来确定标记物106图像中的第一标号107与第二标号108之间的例如以像
素为单位测量的欧几里得(即,直线)距离。
[0053] 计算机150(或数据存储装置155)还可以存储指定距静止传感器 140的第一距离的表等,所述第一距离由标记物106图像中的第一标号107与第二标号108之间的距离中所
包括的相应数量的像素来指示。此外,标记物106数据记录可以指定第二距离,即,标号107、 
108之间的物理欧几里得距离或直线距离。基于第一距离和第二距离,可以根据标记物106
在坐标系中的XYZ坐标(例如,根据包括勾股定理的欧几里德几何原理)来提供第一位置。
[0054] 还可以根据标记物106图像来确定根据坐标系的标记物106的第一取向。例如,坐标系可以限定XY平面、XZ平面和YZ平面。计算机150可以确定标记物106中的两个点与XY平
面、XZ平面和YZ 平面中的每一者之间的线的相应角度。这些角度可以用于给出俯仰、横摆
和侧倾,即,取向。为了避免疑义,术语俯仰、横摆和侧倾在本文具有其平常和普通的含义。
例如,相对于车辆,俯仰是围绕横向轴线的旋转,横摆是围绕竖直轴线的旋转,并且侧倾是
围绕纵向轴线的旋转(例如,车辆的横向轴线、竖直轴线和纵向轴线可以是或者可以平行于
XYZ坐标系中的相应X、Y和Z轴)。可以根据俯仰、横摆和侧倾来指定诸如标记物106或车辆
105的对象的取向。
[0055] 作为另一个示例,计算机150可以通过将来自静止传感器140的包括车辆105和标记物106的图像输入到机器学习程序(例如,卷积神经网络(CNN))中来确定标记物106的姿
态。CNN是可在计算装置上实施的软件程序,所述软件程序可被训练以输入车辆105的图像
并输出标记物106的姿态。CNN包括多个卷积层,所述多个卷积层从车辆105的输入图像中提
取隐藏特征,所述隐藏特征被传递到将所述隐藏特征变换为标记物106的姿态的多个全连
接层。可通过处理包括所显示的一个或多个基准标记物106的车辆105的多个图像来确定标
记物106的姿态来训练CNN以执行标记物106姿态处理。标记物106 的所确定姿态被定义为
“地面实况”,因为它是独立于CNN而确定的。通过输入由静止传感器140捕获的车辆105的图
像并向后传播结果以与地面实况姿态进行比较以确定损失函数来训练CNN。训练CNN包括确
定卷积层和全连接层的使损失函数最小化的参数。当被训练时, CNN可以输入从静止传感
器140接收的车辆105的图像,并且输出标记物106的姿态,即,第一位置和第一取向。
[0056] 计算机150被编程为确定车辆105相对于坐标系的姿态,即,第二位置和第二取向。例如,计算机150可以从在识别图像数据中的标记物106时检索的标记物106数据记录接收
描述车辆105的尺寸以及标记物106在车辆105上的位置和取向的数据,如上所述。基于标记
物106相对于坐标系的姿态,计算机150可以使用描述车辆105的尺寸以及标记物106在车辆
105上的位置和取向的数据来外推车辆105 相对于坐标系的姿态。也就是说,基于描述车辆
105的尺寸以及标记物106在车辆105上的位置和取向的数据,计算机150可以确定车辆 105
相对于标记物106的位置和取向。然后,计算机150可以基于车辆105相对于标记物106的位
置和取向根据标记物106相对于坐标系的第一位置和第一取向来确定车辆105相对于坐标
系的第二位置和第二取向。
[0057] 计算机150可以被编程为基于在一个或多个数字显示器145上显示的一个或多个基准标记物106来确定车辆105的姿态。例如,计算机150可以基于一个基准标记物106来确
定车辆105相对于坐标系的姿态,如上文所讨论的。作为另一个示例,计算机150可以根据在
一个数字显示器145上显示的第一基准标记物106来确定车辆105相对于坐标系的第一姿
态,以及根据在另一个数字显示器145上显示的第二基准标记物106来确定车辆105相对于
坐标系的第二姿态。然后,计算机150可以对车辆105相对于坐标系的姿态求平均以提供车
辆 105相对于坐标系的确定姿态,这可以有利地提高所确定姿态与第一和第二姿态相比的
准确度。
[0058] 在确定车辆105相对于坐标系的姿态时,计算机150可以将车辆 105的姿态包括在地图中。例如,计算机150可以基于对标记物106 解码来确定车辆105的尺寸,如上面所讨论
的,从而允许对车辆105 进行缩放以放置在地图中。另外,车辆105的姿态和地图具有与坐
标系相对应的坐标,从而允许车辆105被取向以放置在地图中。然后,计算机150可以例如经
由网络135将环境地图(包括车辆105的姿态) 传输到车辆计算机110。
[0059] 车辆计算机110可以被编程为至少部分地基于车辆105的姿态和环境地图来操作车辆105。例如,车辆计算机110可以被编程为基于车辆105的确定姿态和环境地图来识别对
象,诸如一个或多个道路边缘、建筑物、十字路口等。在这些情况下,车辆计算机110可以被
编程为致动一个或多个车辆部件125以将车辆105围绕环境操作。替代地,计算机150可以被
编程为基于车辆105的姿态和环境地图来操作车辆105。在这些情况下,计算机150可将用于
指定致动一个或多个车辆部件125以操作车辆105的指令传输到车辆计算机110。
[0060] 车辆计算机110可以被编程为将车辆105标识符(例如,牌照号码、车辆识别号码(VIN)等)嵌入显示在相应车辆显示器145上的基准标记物106中。因此,基准标记物106可识
别在其上显示标记物106 的车辆105。换句话说,可从基准标记物106解码车辆105标识符。
计算机150可以被编程为从显示在车辆显示器145上的基准标记物 106解码车辆105标识
符,并且经由网络135广播车辆105标识符和车辆105的姿态。因此,接收车辆105的姿态和车
辆105标识符的车辆计算机110可以被编程为基于存储的车辆105标识符来确定所接收的车
辆姿态是车辆105的姿态还是另一车辆的姿态。计算机110可以被编程为在确定所接收的车
辆105姿态是相应的车辆105姿态时基于所接收的车辆105姿态来操作车辆105。另外或替代
地,车辆计算机 110可以被编程为在确定所接收的车辆105姿态是相应的车辆105姿态时从
计算机150接受指定车辆105的操作的指令。
[0061] 图3是用于利用标记物定位车辆的示例性过程的流程图。过程 300在框305中开始。
[0062] 在框305中,计算机150例如经由网络135从远程计算机160接收环境地图。远程计算机160例如使用如上面所讨论的SLAM技术生成地图,然后将地图传输到计算机150。如上
所述,地图指定所构图环境内的表面(例如,路面、交通标志、建筑物、植被等)上的点的位置
坐标。例如,地图指定静止传感器140相对于坐标系(例如,GPS 坐标系)的位置和取向。过程
300在框310中继续。
[0063] 在框310中,计算机150例如经由网络135从静止传感器140接收图像数据。图像数据可包括车辆105和车辆105上的一个或多个数字显示器145。过程300在框315中继续。
[0064] 在框315中,计算机150确定在图像数据中是否检测到车辆105 的标记物106,例如,如在数字显示器145上显示的。例如,计算机 150例如根据常规的图像分析或图案识别
技术来分析图像数据。如上文所讨论的,计算机150可以检测图像数据中的一个或多个标记
物 106,例如,一个或多个数字显示器145上的一个相应标记物106。在计算机150检测到标
记物106的情况下,过程300在框320中继续。否则,过程300返回到框310。
[0065] 在框320中,计算机150确定标记物106在坐标系中的姿态,即,第一位置和第一取向。例如,计算机150可以被编程为从标记物106 解码标记物106标识符,并且例如从数据存
储装置155中检索包括关于标记物106的数据的记录,如上所述。因此,计算机150可以如上
所述识别标号107、108,并且还可以基于标号107、108和静止传感器140位置和取向(例如,
根据包括勾股定理的欧几里得几何原理,如上所述)来确定标记物106在坐标系中的姿态,
即,第一位置和第一取向。过程300在框325中继续。
[0066] 在框325中,计算机150例如从数据存储装置155中检索描述在框320中检索的标记物106记录中指定和/或包括的车辆105的数据。通常,描述车辆105的数据包括车辆105的尺
寸,例如高度、宽度和长度。另外,所述数据描述了标记物106在车辆105上的位置和取向。所
述数据可以另外或替代地包括车辆105的三维模型。过程300在框 330中继续。
[0067] 在框330中,计算机150确定车辆105在坐标系中的姿态,即,第二位置和第二取向。例如,基于标记物106相对于坐标系的姿态,计算机150使用描述车辆105的尺寸以及车辆
105上的标记物106位置和取向的数据来外推车辆105相对于坐标系的姿态,如上所述。过程
300在框335中继续。
[0068] 在框335中,计算机150将车辆105放置在环境地图中。地图具有与坐标系相对应的坐标,这允许计算机150基于车辆105在坐标系中的姿态来缩放和取向车辆105以放置在地
图中,如上所述。过程 300在框340中继续。
[0069] 在框340中,计算机150可以基于确定车辆105在地图中的姿态而采取一个或多个动作。例如,计算机150可以例如经由网络135将数据(例如,包括车辆105姿态的地图)传输
到车辆计算机110。然后,车辆计算机110可以使用由计算机150传输的数据作为在环境中操
作车辆105的基础。也就是说,车辆计算机110可以致动一个或多个车辆部件125以基于地图
在环境中操作车辆105,例如,沿着道路和/ 或路径导航并避开诸如其他车辆的障碍物。在
此示例中,车辆计算机 110可以基于与所存储的车辆标识符匹配的所传输的车辆标识符来
接受数据,如上所述。替代地,计算机150可以使用所述数据作为用于生成指令以致动车辆
部件125以在环境中操作车辆105的基础。然后,计算机150可以将指令传输到车辆计算机
110。在这些情况下,车辆计算机110基于来自计算机150的指令致动一个或多个车辆部件
125 以在环境中操作车辆105。在此示例中,车辆计算机110可以基于与所存储的车辆标识
符匹配的所传输的车辆标识符来接受指令,如上所述。另外或替代地,计算机150可以将数
据存储在数据存储装置155 中。过程300在框340之后结束。
[0070] 如本文所使用,副词“基本上”意指形状、结构、测量结果、数量、时间等因为材料、机加工、制造、数据传输、计算速度等的缺陷而可能偏离精确描述的几何形状、距离、测量结
果、数量、时间等。
[0071] 一般来讲,所描述的计算系统和/或装置可采用许多计算机操作系统中的任一者,包括但绝不限于以下版本和/或变型:Ford 应用、AppLink/Smart Device Link中间
件、Microsoft 操作系统、Microsoft 操作系统、Unix操作系统
(例如,由加州红木海岸的Oracle Corporation发布的 操作系统)、由纽约阿蒙克
市的International Business Machines发布的AIX UNIX操作系统、Linux操作系统、由加
州库比蒂诺的Apple Inc.发布的Mac OSX 和iOS操作系统、由加拿大滑铁卢的Blackberry,
Ltd.发布的 BlackBerry OS以及由Google,Inc.和开放手机联盟开发的Android操作系统,
或由QNX Software Systems供应的 CAR信息娱乐平台。计算装置的示例包括但不限
于车载计算机、计算机工作站、服务器、台式机、笔记本、膝上型计算机或手持计算机、或一
些其他计算系统和/或装置。
[0072] 计算机和计算装置通常包括计算机可执行指令,其中所述指令可能够由一个或多个计算装置(诸如以上所列出的那些)执行。可由使用多种编程语言和/或技术创建的计算
机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但
TM
不限于 Java 、C、C++、Matlab、Simulink、Stateflow、Visual Basic、Java Script、Perl、
HTML等。这些应用程序中的一些可在诸如Java虚拟机、Dalvik 虚拟机等虚拟机上编译和执
行。一般来说,处理器(例如,微处理器) 例如从存储器、计算机可读介质等接收指令,并且
执行这些指令,由此执行一个或多个过程,包括本文所述的过程中的一者或多者。可使用各
种计算机可读介质来存储和传输此类指令和其他数据。计算装置中的文件通常是存储在诸
如存储介质、随机存取存储器等计算机可读介质上的数据集合。
[0073] 存储器可包括计算机可读介质(也称为处理器可读介质),所述计算机可读介质包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时
(例如,有形)介质。此类介质可采取许多形式,包括但不限于非易失性介质和易失性介质。
非易失性介质可包括例如光盘或磁盘以及其他持久性存储器。易失性介质可包括例如通常
构成主存储器的动态随机存取存储器(DRAM)。此类指令可以由一种或多种传输介质传输,
所述一种或多种传输介质包括同轴电缆、铜线和光纤,包括构成联接到ECU的处理器的系统
总线的电线。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁性
介质、CD‑ROM、DVD、任何其他光学介质、穿孔卡片、纸带、任何其他具有孔图案的物理介质、
RAM、PROM、EPROM、 FLASH‑EEPROM、任何其他存储器芯片或盒式磁带,或计算机可从中读取
的任何其他介质。
[0074] 数据库、数据存储库或本文所述的其他数据存储装置可包括用于存储、访问和检索各种数据的各种机构,包括分层数据库、文件系统中的文件集、呈专用格式的应用数据
库、关系数据库管理系统 (RDBMS)等。每个此类数据存储装置通常包括在采用计算机操作
系统 (诸如以上所提到的那些操作系统中的一个操作系统)的计算装置内,并且经由网络
以多种方式中的任一种或多种方式来访问。文件系统可从计算机操作系统访问,并且可包
括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(例如上
述PL/SQL 语言)之外,RDBMS还通常采用结构化查询语言(SQL)。
[0075] 在一些示例中,系统元件可被实施为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读
指令(例如,软件)。计算机程序产品可包括存储在计算机可读介质上的用于执行本文所描
述功能的此类指令。
[0076] 关于本文描述的介质、过程、系统、方法、启发等,应理解,尽管此类过程等的步骤已被描述为按照某一有序的顺序发生,但是可以通过以与本文所述顺序不同的顺序执行所
述步骤来实践此类过程。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本
文所描述的某些步骤。换句话说,本文中对过程的描述是出于说明某些实施例的目的而提
供的,并且绝不应被解释为限制权利要求。
[0077] 因此,应理解,以上描述旨在是说明性的而非限制性的。在阅读以上描述时,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员将是明显的。不应参考以上
描述来确定本发明的范围,而应参考所附权利要求连同这些权利要求赋予的等效物的全部
范围来确定。预期并期望本文所讨论的领域未来将有所发展,并且所公开的系统和方法将
结合到此类未来的实施例中。总之,应理解,本发明能够进行修改和变化,并且仅受所附权
利要求的限制。
[0078] 除非本文做出明确的相反指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和一般的含义。具体地,除非权利要求叙述相反的明确限制,否则
对诸如“一个”、“该”、“所述”等单数冠词的使用应被解读为叙述所指示要素中的一者或多
者。
[0079] 根据本发明,提供了一种系统,所述系统具有计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令可由所述处理器执行以:基于来自静止传感器的图像
来检测在车辆上的一个或多个数字显示器上显示的标记物;通过分析所述图像中的像素来
确定所述标记物在坐标系中的第一位置和第一取向;以及基于来自地图的静止传感器位置
和取向来确定所述车辆在所述坐标系中的第二位置和第二取向。
[0080] 根据一个实施例,所述标记物是所述车辆的标识符。
[0081] 根据一个实施例,所述指令还包括用于进行以下操作的指令:从远程计算机接收所述地图,其中所述远程计算机被编程为执行同时定位和构图(SLAM)以生成包括所述静止
传感器位置和取向的所述地图,并且将所述地图传输到所述计算机。
[0082] 根据一个实施例,所述指令还包括用于进行以下操作的指令:在确定所述车辆在所述坐标系中的所述第二位置和所述第二取向时将所述车辆包括在所述地图中。
[0083] 根据一个实施例,所述指令还包括用于进行以下操作的指令:基于所述标记物来确定所述车辆的尺寸。
[0084] 根据一个实施例,所述指令还包括用于进行以下操作的指令:将所述地图提供给所述车辆并且基于所述地图来操作所述车辆。
[0085] 根据一个实施例,所述指令还包括用于进行以下操作的指令:基于来自所述静止传感器的视频数据来识别所述一个或多个数字显示器。
[0086] 根据一个实施例,所述取向包括俯仰、横摆和侧倾。
[0087] 根据一个实施例,所述指令还包括用于进行以下操作的指令:基于标记物标号和所述标记物的尺寸中的至少一者来确定所述标记物的所述第一位置和所述第一取向。
[0088] 根据一个实施例,所述指令还包括用于进行以下操作的指令:通过将来自所述静止传感器的所述图像输入到机器学习程序中来确定所述标记物的所述第一位置和所述第
一取向。
[0089] 根据一个实施例,所述指令还包括用于进行以下操作的指令:基于所述标记物的视觉图案来识别所述标记物。
[0090] 根据一个实施例,所述指令还包括用于进行以下操作的指令:基于将所述图像中的标记物标号与存储的标记物图像中的标记物标号进行比较来识别所述标记物。
[0091] 根据本发明,一种方法包括:基于来自静止传感器的图像来检测在车辆上的一个或多个数字显示器上显示的标记物;通过分析所述图像中的像素来确定所述标记物在坐标
系中的第一位置和第一取向;以及基于来自地图的静止传感器位置和取向来确定所述车辆
在所述坐标系中的第二位置和第二取向。
[0092] 在本发明的一方面,所述方法包括基于标记物标号和所述标记物的尺寸中的至少一者来确定所述标记物的所述第一位置和所述第一取向。
[0093] 在本发明的一方面,所述方法包括通过将来自所述静止传感器的所述图像输入到机器学习程序中来确定所述标记物的所述第一位置和所述第一取向。
[0094] 在本发明的一方面,所述标记物是所述车辆的标识符。
[0095] 在本发明的一方面,所述方法包括基于所述标记物的视觉图案来识别所述标记物。
[0096] 在本发明的一方面,所述方法包括基于将所述图像中的标记物标号与存储的标记物图像中的标记物标号进行比较来识别所述标记物。
[0097] 在本发明的一方面,所述方法包括基于来自所述静止传感器的视频数据来识别所述一个或多个数字显示器。
[0098] 在本发明的一方面,所述取向包括俯仰、横摆和横摆。