一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有未知关联的基于2D到3D线的配准的制作方法

2022-06-02 00:59:59 来源:中国专利 TAG:

具有未知关联的基于2d到3d线的配准
1.相关申请的交叉引用
2.本技术要求2020年3月30日提交的美国非临时申请第16/834,466号的权益或优先权,该申请要求2019年9月13日提交的美国临时申请第62/900,102号的权益或优先权,其每篇的内容通过引用全文并入本文。
技术领域
3.本说明书通常涉及用于确定具有已知或未知数据关联的2d数据和3d数据之间的刚体变换(rigid-body transformation)的系统和方法。更具体地,本说明书公开了用于在利用基于2d和3d线的配准的环境内校准和/或定位传感器的系统和方法。


背景技术:

4.确定2d图像数据和3d点云数据之间的刚体变换具有用于移动机器人的应用,包括传感器校准和到先验地图的定位。假设2d线数据和3d线数据之间的数据关联是已知的,2d-3d配准的常用方法使用最小二乘求解器,这些数据关联通常由启发式前端(heuristic front-end)提供。2d图像数据和3d点云数据提供环境的互补表示。3d点云提供重要的度量信息,而2d图像报告环境的丰富视觉表示。必须准确知道成像和点云传感器之间的刚体变换,以便有效地对其数据进行几何推断。2d到3d配准是寻求确定这种变换的问题。依赖于该问题的准确解的任务包括确定相机与光检测和测距(lidar)传感器之间的外部校准,以及将相机定位到3d地图中。这个问题是更大的配准问题的子集,其估计两个输入之间的变换。
5.在求解配准问题时通常考虑两个变量:刚体变换变量和表示部分2d数据和部分3d数据之间的数据关联的变量。数据关联是在求解配准问题的大多数方法中起重要作用的潜在变量。先前的方法使用一组已知的数据关联来求解配准问题。然而,在没有关于变换或关联的可靠知识的情况下,这种假设可能是有问题的。虽然存在一些处理未知关联的方法(例如算法随机样本一致性(algorithms random sample consensus,ransac)或使用软赋值比例正交投影迭代变换(soft assign pose from orthography and scaling with iterations,softposit)),但这些方法依赖于随机抽样可能的关联,直到找到足够的内点(inlier)或在分别找到最佳关联和找到最佳变换之间迭代切换。
6.因此,需要利用具有已知或未知的初始数据关联的基于2d和3d线的配准来在由地图数据定义的环境内校准传感器和/或定位传感器的系统和方法。


技术实现要素:

7.在一个实施例中,一种系统包括被配置为捕获环境的图像数据的第一传感器、被配置为捕获环境的点云数据的第二传感器、以及通信地耦合到第一传感器和第二传感器的计算设备。计算设备被配置为:接收来自第一传感器的图像数据和来自第二传感器的点云数据,参数化来自图像数据的一条或多条2d线,参数化来自点云数据的一条或多条3d线,通过求解被公式化为混合整数线性规划的配准问题,将一条或多条2d线与一条或多条3d线对
准,以同时求解投影变换向量和数据关联集,并基于投影变换向量生成包括与点云数据对准的图像数据的数据网格。
8.在一些实施例中,一种系统包括被配置为捕获定义环境的数据的第一传感器,其中所述数据包括图像数据或点云数据中的至少一种,以及通信地耦合到所述第一传感器的计算设备。计算设备被配置为:接收来自第一传感器的数据,检索环境的地图数据,参数化来自从第一传感器所接收的数据的一条或多条线,参数化来自地图数据的一条或多条线,通过求解被公式化为混合整数线性规划的配准问题,将从接收自第一传感器的数据参数化的一条或多条线与从地图数据参数化的一条或多条线对准,以同时求解投影变换向量和数据关联集,并基于投影变换向量生成包括从第一传感器所接收的与地图数据对准的数据的数据网格。
9.在一些实施例中,一种系统包括计算设备,该计算设备被配置为检索环境的由相机所捕获的图像数据、检索环境的点云数据、参数化来自图像数据的一条或多条线、参数化来自点云数据的一条或多条线,通过求解被公式化为混合整数线性规划的配准问题,将从图像数据参数化的一条或多条线与从点云数据参数化的一条或多条线对准,以同时求解投影变换向量和数据关联集,并基于投影变换向量生成包括与点云数据对准的图像数据的数据网格。
10.鉴于以下详细描述并结合附图,将更充分地理解由本文描述的实施例提供的这些和附加特征。
附图说明
11.附图中阐述的实施例在本质上是说明性和示例性的,并不旨在限制由权利要求限定的主题。当结合以下附图阅读时,可以理解说明性实施例的以下详细描述,其中用类似的附图标记指示类似的结构,并且其中:
12.图1描绘了根据本文所示和描述的一个或多个实施例的用于获得2d图像数据和3d点云数据并确定2d图像数据和3d点云数据之间的刚体变换的示例系统;
13.图2描绘了根据本文所示和描述的一个或多个实施例的用于确定2d图像数据和3d点云数据之间的刚体变换的计算设备的说明性示意图;
14.图3描绘了实现根据本文所示和描述的一个或多个实施例的用于确定2d数据和3d数据之间的刚体变换的系统的车辆的说明性示意图;
15.图4描绘了根据本文所示和描述的一个或多个实施例的用于确定2d图像数据和3d点云数据之间的刚体变换以生成可用于校准相机、lidar传感器或radar传感器的投影变换向量的说明性方法的流程图;
16.图5描绘了根据本文所示和描述的一个或多个实施例的用于确定2d图像数据和3d点云数据之间的刚体变换以生成可用于定位相机、lidar传感器或radar传感器的投影变换向量的说明性方法的流程图;
17.图6a描绘了基于中描述的方法的从2d图像数据参数化的线和从3d点云数据参数化的线的对准的说明性表示;
18.图6b描绘了根据本文所示和描述的一个或多个实施例的从2d图像数据参数化的线和从3d点云数据参数化的线的对准的说明性表示。
具体实施方式
19.本公开的实施例涉及确定2d图像数据和3d点云数据之间的刚体变换。本文描述的用于确定2d图像数据和3d点云数据之间的刚体变换的系统和方法可以在诸如移动机器人、自主车辆、自动化装备、制造装配线等的应用中实施。这些应用可以利用确定2d图像数据和3d点云数据之间的刚体变换的过程以用于诸如传感器校准和/或在由地图数据定义的环境中的定位之类的操作。
20.更具体地,本公开涉及被公式化为混合整数线性规划(milp)的鲁棒的基于线的2d-3d配准算法,以同时求解2d数据和3d数据之间的正确变换和数据关联。本文被公式化的基于线的2d-3d配准算法对离群点(outlier)是鲁棒的,由于可以使用现成的线性规划求解器,因此在实现中递送通用性,并且能够在2d线和3d线之间的关联未知时进行操作。此外,如下文更详细讨论的,用于确定2d图像数据和3d点云数据之间的刚体变换的本系统和方法已被证明优于其他基于线的配准方法。
21.本文描述的实施例包括被配置为捕获来自环境的2d图像数据和3d点云数据的系统和方法。可以从驾驶环境、建筑物内部或可以实现机器人设备或系统的其他位置收集2d图像数据和3d点云数据。在一些实施例中,该系统包括参数化逻辑,其被配置为确定来自2d图像数据和3d点云数据的一条或多条线。使用由参数化逻辑确定的线,系统可以实现被配置为公式化和/或求解配准问题的对准逻辑。配准问题被公式化为milp,使得可以确定投影变换向量和数据关联集。本文公开的方法包括其中关联被公式化为线性问题中的二元变量的方法,该方法允许将配准问题转化为milp。这里将更详细地描述配准问题、参数化逻辑和对准逻辑。此外,对准逻辑基于投影变换向量生成包括与3d点云数据对准的2d图像数据的数据网格。如本文所用,“数据网格”可以是基于对配准问题的解定义2d图像数据与3d点云数据的对准的任何形式的数据表示或数据格式。即,数据网格可以是表示2d图像数据与3d点云数据的对准的模型、矩阵、其中标注有深度数据的图像等。
22.投影变换向量和数据关联集定义了使数据在两种模态(2d线和3d线)之间最一致的变换。本文所公开的投影操作的一个独特方面是该操作是线保留的(line preserving)。这意味着3d点云空间中的任意三个共线点在投影操作后也是共线的。另外,本公开的另一独特方面是当数据关联未知时(即,当来自图像数据的2d线与来自3d点云数据的3d线之间的关联未知时),系统可以实现最近邻启发式算法(nearest neighbor heuristic)。
23.在一些实施例中,投影变换向量和数据关联集可用于对传感器(诸如相机、lidar传感器、radar传感器等)执行校准操作。此外,投影变换向量和数据关联集可用于在环境中定位传感器。例如,可以通过确定由相机捕获的2d图像数据和包括3d点云数据的地图数据之间的投影变换向量和数据关联集来在环境内定位相机(和/或耦合到相机的车辆)的位置。即,通过使用3d点云数据的初始已知视点用于进行2d图像数据到3d点云数据的对准操作,得到的投影变换向量给出从3d点云数据的初始已知视点到捕获地图数据中表达的环境的2d图像数据的位置的平移和旋转。在某些情况下,环境的地图数据可以是定义环境的3d模型的3d点云。本文将更详细地描述用于确定2d图像数据和3d点云数据之间的刚体变换的系统和方法的至少这些实施方式。
24.下面将参考附图更详细地描述这些系统和方法,并且其中相同的数字指代相同的结构。
25.参考图1,描绘了用于获得2d图像数据和3d点云数据并确定2d图像数据和3d点云数据之间的刚体变换的示例系统100。图1描绘了包括经由网络160通信地耦合到电子控制器130和一个或多个传感器(例如相机142、lidar传感器144和/或radar传感器146)的计算设备102的系统100。电子控制器130、相机142、lidar传感器144和radar传感器146可以通过网络接口硬件150通信地耦合到网络160。虽然图1描绘了经由网络160通信地耦合到其他组件的计算设备102,但这只是一个示例。在一些实施例中,计算设备102(例如经由通信路径120)直接通信地耦合到其他组件。即在一些实施例中,计算设备102、电子控制器130、相机142、lidar传感器144和radar传感器146可各自在车辆、机器人或其他设备内实现。
26.可以由能够传输信号的任何介质(诸如例如导线、导电迹线、光波导等)形成通信路径120。通信路径120也可以指电磁辐射及其对应的电磁波穿过的范围(expanse)。此外,可以由能够传输信号的介质的组合形成通信路径120。在一个实施例中,通信路径120包括导电迹线、导线、连接器和总线的组合,其协作以允许将电数据信号传输到诸如处理器、存储器、传感器、输入设备、输出设备和通信设备之类的组件。因此,通信路径120可以包括总线。另外,应注意,术语“信号”是指能够通过介质传播的波形(例如,电的、光的、磁的、机械的或电磁的),例如直流、交流、正弦波、三角波、方波、振动等。通信路径120通信地耦合系统100的各种组件。如本文所用,术语“通信地耦合”是指经耦合的组件能够彼此交换信号,例如,经由导电介质的电信号、经由空气的电磁信号、经由光波导的光信号等。
27.仍参考图1,计算设备102可以包括显示器102a、处理单元102b(例如,至少具有处理器和存储器)和输入设备102c,其中的每个可以通信地耦合在一起和/或通信地耦合到网络160。计算设备102可以被配置为执行用于确定2d图像数据和3d点云数据之间的刚体变换的过程。将参考图2更详细地描述计算设备102。
28.电子控制器130可以是车辆ecu或机器人控制设备。电子控制器130包括处理器132和非暂时性计算机可读存储器134。因此,处理器132可以是控制单元、集成电路、微芯片、计算机或任何其他计算设备。处理器132通过通信路径120通信地耦合到系统100的其他组件。因此,通信路径120可以将任意数量的处理器132彼此通信地耦合,并且允许耦合到通信路径120的组件在分布式计算环境中操作。具体地,组件中的每个可以作为可以发送和/或接收数据的节点来操作。虽然图1中描绘的实施例包括单个处理器132,但其他实施例可以包括多于一个的处理器132。
29.系统100的非暂时性计算机可读存储器134耦合到通信路径120并且通信地耦合到处理器132。非暂时性计算机可读存储器134可以包括ram、rom、闪存存储器、硬盘驱动器、或能够存储机器可读指令使得机器可读指令可以由处理器132访问和执行的任何非暂时性存储器设备。机器可读指令集可以包括以任何代(例如,1gl、2gl、3gl、4gl或5gl)的任何编程语言(诸如例如可以由处理器132直接执行的机器语言,或可以被编译或组装成机器可读指令并存储在非暂时性计算机可读存储器134中的汇编语言、面向对象编程(oop)、脚本语言、微代码等)编写的逻辑或算法。或者,可以以硬件描述语言(hdl)(例如经由现场可编程门阵列(fpga)配置或专用集成电路(asic)或其等效物实现的逻辑)编写机器可读指令集。因此,可以以任何传统的计算机编程语言、作为预编程的硬件元件、或作为硬件和软件组件的组合来实现本文描述的功能。虽然图1中描绘的实施例包括单个非暂时性计算机可读存储器134,但其他实施例可以包括多于一个的存储器模块。
30.电子控制器130可以通信地耦合到相机142。相机142可以是具有能够检测在紫外波段、可见光波段和/或红外波段中的辐射的感测设备的阵列的任何设备。相机142可以具有任何分辨率。相机142可以是全向相机或全景相机。在一些实施例中,一个或多个光学组件(例如反射镜、鱼眼镜头或任何其他类型的镜头)可以光学地耦合到相机142中的每个。在一些实施例中,相机142可以是rgb-d类型的相机(例如英特尔realsense
tm
深度相机或能够捕获环境中的深度测量值或捕获能够被分析以基于图像数据确定环境中的深度的图像数据的类似设备)。在本文描述的实施例中,相机142可以捕获环境的2d图像数据。例如,如参考图3所描绘和描述的,相机142可以耦合到车辆,用于捕获车辆周围环境的2d图像数据。
31.系统100还可以包括光检测和测距(lidar)传感器144。lidar传感器144通信地耦合到通信路径120并且经由网络接口硬件150通信地耦合到计算设备102。lidar传感器144使用脉冲激光光测量从lidar传感器144到反射脉冲激光光的物体的距离。lidar传感器144可以被制成具有很少或没有移动部件的固态设备,包括被配置为光学相控阵设备的那些设备,其中其类似棱镜的操作允许宽视场,而没有与传统旋转lidar传感器144相关联的重量和尺寸复杂性。lidar传感器144特别适用于测量飞行时间,其依次可以与lidar传感器144的视场内的物体的距离测量相关。通过计算由lidar传感器144发射的脉冲激光光的各种波长的返回时间差,可以生成目标或环境的数字3d表示(例如,点云表示)。lidar传感器144发射的脉冲激光光可以在电磁光谱的红外范围内或附近以一种形式操作,其中一个示例具有约905纳米的所发射的辐射。可以由车辆使用诸如lidar传感器144之类的传感器来提供关于车辆周围环境的详细3d空间信息,以及将此类信息用于车辆地图测绘(vehicular mapping)、导航和自主操作的系统的服务中,尤其是当与地理参考设备(诸如gps系统或基于陀螺仪的惯性导航单元(inu,未显示)或相关航位推算系统等)以及非暂时性计算机可读存储器134(其自身或电子控制器130和/或计算设备102的存储器)结合使用时。
32.在一些实施例中,系统100的一个或多个传感器可以包括radar传感器146。radar传感器146通信地耦合到通信路径120和电子控制器130和/或计算设备102。radar传感器146是采用使用无线电波来确定物体的范围、角度和相对速度的方法的系统。在一些实施例中,radar传感器146可以生成目标或环境的数字3d表示(例如,点云表示)。可以与相机142、lidar传感器144和/或其他传感器结合使用radar传感器146,以获得关于车辆的周围环境的信息。
33.radar传感器146通常在窄频带和超宽频带不受管制的频谱两者中利用24ghz频带中的频率。但是,新的频谱法规已限制24ghz频带的使用,因此一些系统现在可以利用77-81ghz频带中的频率。尽管这些频带通常用于汽车radar传感器,但本文描述的系统和方法的范围不限于这些频率范围。通常,radar传感器146发射高能脉冲信号(ping)并测量接收反射所需的时间。然而,一些系统实现了传输“啁啾(chirp)”的调频连续波,其是跨系统的带宽的频率扫描。然后,信号的路径中的物体会将这个啁啾反射回来。发射器发出的啁啾的频率与所接收的经反射的信号的频率之间的差值,在任何时候与发射器到物体的距离是线性相关的。
34.使用radar传感器146的定位部分地取决于该距离测量的分辨率和准确度。分辨率可以确定物体在被可区分为两个物体之前需要相距多远。准确度就是:距离测量的准确度。距离测量中的误差和最小可分辨距离与啁啾的带宽成反比。例如,由于可用频率的宽度,从
24ghz移动到77ghz可以在距离分辨率和准确度方面实现20倍的更好性能。77ghz系统的距离分辨率可以为4厘米,而24ghz雷达的距离分辨率为75厘米,这可以允许更好地检测靠近在一起的多个物体。
35.尽管图1描绘了radar传感器146,但本文描述的一些系统100可以不包括radar传感器146。或者,系统100可以包括位于车辆上的各种位置处的多个radar传感器146以检测在车辆的环境内在各种视场中的物体。此外,应理解,本文提及的“传感器”可指前述传感器、相机142、lidar传感器144、radar传感器146或本领域技术人员已知的任何其他传感器中的任何一个。
36.仍参考图1,系统100可以包括耦合到通信路径120并通信地耦合到电子控制器130的网络接口硬件150。网络接口硬件150可以是能够经由网络160传输和/或接收数据的任何设备。因此,网络接口硬件150可以包括用于发送和/或接收任何有线或无线通信的通信收发器。例如,网络接口硬件150可以包括天线、调制解调器、lan端口、wi-fi卡、wimax卡、移动通信硬件、近场通信硬件、卫星通信硬件和/或用于与其他网络和/或设备通信的任何有线或无线硬件。在一个实施例中,网络接口硬件150包括被配置为根据蓝牙无线通信协议操作的硬件。在另一实施例中,网络接口硬件150可以包括用于向网络160发送/从网络160接收蓝牙通信的蓝牙发送/接收模块。
37.在一些实施例中,系统100可以经由网络160通信地耦合到附近的车辆、其他机器人和/或其他计算设备(例如,诸如计算设备102之类的远程经定位的设备)。在一些实施例中,网络160是利用蓝牙技术以将系统100和附近车辆通信地耦合的个域网。在其他实施例中,网络160可以包括一个或多个计算机网络(例如,个域网、局域网或广域网)、蜂窝网络、卫星网络和/或全球定位系统及其组合。因此,系统100可以经由有线、经由广域网、经由局域网、经由个域网、经由蜂窝网络、经由卫星网络等通信地耦合到网络160。合适的局域网可以包括有线以太网和/或无线技术(诸如例如wi-fi)。合适的个域网可以包括无线技术(诸如例如irda、蓝牙、无线usb、z-wave、zigbee和/或其他近场通信协议)。合适的个域网可以类似地包括有线计算机总线(诸如例如usb和firewire)。合适的蜂窝网络包括但不限于诸如lte、wimax、umts、cdma和gsm之类的技术。
38.现在参考图2,描绘了用于确定2d图像数据238a和3d点云数据238b之间的刚体变换的计算设备102的说明性示意图。计算设备102可以被集成在诸如车辆、机器人系统等之类的通用装置内,或者可以远程定位并且可通信地耦合到传感器(诸如相机142、lidar传感器144、radar传感器146和/或之类的)。计算设备102可以包括经由本地接口220通信地耦合的若干组件。类似于参考图1公开和描述的通信路径120,可以将本地接口220实现为总线或其他接口以促进计算设备102的组件之间的通信。
39.计算设备102可以包括处理器232、存储器模块234、可以存储2d图像数据238a和/或3d点云数据238b的数据存储组件236、输入/输出硬件240和网络接口硬件242。存储器模块234可以是机器可读存储器(也可以称为非暂时性处理器可读存储器)。存储器模块234可以被配置为易失性和/或非易失性存储器,并且因此可以包括随机存取存储器(包括sram、dram和/或其他类型的随机存取存储器)、闪存存储器、寄存器、光盘(cd)、数字多功能光盘(dvd)和/或其他类型的存储组件。存储器模块234可以是类似于参考图1公开和描述的非暂时性计算机可读存储器134的组件。另外,存储器模块234可以被配置为存储操作逻辑234a、
2d参数化逻辑234b、3d参数化逻辑234c、对准逻辑234d、校准逻辑234e和/或定位逻辑234f(作为示例,其中的每个可以体现为计算机程序、固件或硬件)。
40.处理器232可以包括被配置为接收和执行编程指令(诸如来自数据存储组件136和/或存储器模块234)的任何处理组件。处理器232可以是类似于参考图1公开和描述的处理器132的组件。指令可以是存储在数据存储组件236和/或存储器模块234中的机器可读指令集的形式。输入/输出硬件240可以包括监视器、键盘、鼠标、打印机、相机、麦克风、扬声器和/或其他用于接收、发送和/或呈现数据的设备。网络接口硬件242可以包括任何有线或无线网络硬件(诸如调制解调器、lan端口、wi-fi卡、wimax卡、移动通信硬件和/或用于与其他网络和/或设备通信的其他硬件)。网络接口硬件242可以是类似于参考图1公开和描述的网络接口硬件150的组件。
41.应当理解,数据存储组件236可以驻留在计算设备102本地或远离计算设备102,并且可以被配置为存储一条或多条数据以供由计算设备102和/或其他组件访问。如图1所示,数据存储组件236可以存储2d图像数据238a和3d点云数据238b。2d图像数据238a可以包括从系统100的一个或多个传感器(例如相机142)捕获的环境的图像。3d点云数据238b可以包括空间中的一组或多组数据点。点云通常由3d扫描仪产生,其测量他们周围的物体的外表面上的许多点。例如,3d扫描仪可以包括lidar传感器144、radar传感器146、rgb-d相机系统或其他传感器。在一些实施例中,2d图像数据238a和/或3d点云数据238b可以包括在数据集内注释的参数化的线参考。在一些实施例中,3d点云数据238b可以表示环境的3d模型或地图数据。
42.在一些实施例中,2d图像数据238a和/或3d点云数据238b是从观察环境的传感器(例如,相机142、lidar传感器144和/或radar传感器146)接收的。如本文更详细描述的,系统100寻求将2d图像数据238a与其对应的3d点云数据238b对准。对准过程也被称为2d图像数据238a和3d点云数据238b之间的变换。通常,变换包括确定配准问题的解,该解提供将一组数据与另一组数据对准(例如,将2d图像数据238a与其对应的3d点云数据238b对准)的平移和/或旋转值。在一些实施例中,对准过程还可以包括缩放数据。例如,可以以比对应的3d点云数据238b更大的放大率来捕获2d图像数据238a。因此,可能需要缩放一组或两组数据以实现对准。
43.现在参考存储器模块234,存储器模块234包括用于在计算设备102和/或系统100内执行操作的逻辑。在一些情况下,存储器模块234还可以存储诸如2d图像数据238a和/或3d点云数据238b之类的数据。例如,存储器模块234可以包括操作逻辑234a、2d参数化逻辑234b、3d参数化逻辑234c、对准逻辑234d、校准逻辑234e和/或定位逻辑234f。操作逻辑234a可以包括用于管理系统和/或电子控制器130的组件并与其接口的操作系统和/或其他软件。
44.2d参数化逻辑234b包括用于参数化2d图像数据238a内的线的逻辑。例如,参数化2d图像数据238a内的线可以包括识别边缘(即,具有相对不同灰度级的区域之间的边界)的方法。其他方法可以包括产生输入图像中细线的图像描述的基于卷积的技术。例如,可以调整卷积核以检测特定宽度和/或取向的线的存在。不管被实现以从图像数据参数化2d线的方法如何,2d参数化逻辑234b生成表示图像的多条线以用于与从3d点云数据238b参数化的线的对准过程。
45.3d参数化逻辑234c包括用于参数化3d点云数据238b内的线的逻辑。例如但不限于,3d参数化逻辑234c可以实现其中从3d点云数据238b参数化的线l由pl
ü
cker坐标表示的方法。例如,如果ps是3维空间中表示3d线段的起点的点,并且pe是终点,则对应的pl
ü
cker坐标可以被计算为其中pe×
ps表示线的法线并且pe–
ps是线的方向。为了变换pl
ü
cker坐标,使用以下6
×
6线变换矩阵τ
ab
:其中r表示旋转矩阵,并且[
·
]
x
表示将中的平移转换为斜对称矩阵的操作。因此,3d参数化逻辑234b生成表示3d点云数据238b的多条线,以用于在与从2d图像数据238a参数化的线的对准过程中。
[0046]
仍参考图2,对准逻辑234d被配置为获得2d和3d参数化的线数据并确定平移和/或旋转值并且可选地确定2d和3d线数据之间的数据关联。如上所述,对准过程也称为2d图像数据238a和3d点云数据238b之间的变换。通常,该变换包括确定配准问题的解,该解提供将一组数据与另一组数据对准(例如,将2d图像数据238a与其对应的3d点云数据238b对准)的平移值和/或旋转值。在本公开中,对准逻辑234d被配置为确定正确的变换t
ab
,给定由相机固有矩阵k提供的从3d到2d的投影,其参考帧b,将一组3d点其参考帧b,将一组3d点变换为一组2d像素的参考帧a。为了降低问题的维度,可以使用更稀疏的特征用于变换。此外,也可被称为投影操作的对准操作是线保留的。这意味着中的任何三个共线点在投影算子之后也是共线的。
[0047]
换言之,对准逻辑234d寻求求解表达为以下等式1的唯一配准问题
[0048][0049]
其中p表示投影变换向量,i表示数据关联集,n表示3d线,而m表示2d线,以及m表示测量矩阵。
[0050]
鉴于在(例如可用作pl
ü
cker坐标的前半部分的)图像线法线和3d线的法线之间寻求最小化的基于线配准的方法,变换矩阵可以表示为以下等式2。
[0051]
p
ab
=[r[t]
x
r]等式2
[0052]
遵循以下等式3的等式表达式,并通过将矩阵p向量化为p,实现了如以下等式4所结构化的18x2测量矩阵m
{n,m}
用于3d线和2d线之间的关联。
[0053][0054][0055]
在已知关联的实施例中,它们作为集合a被输入,这使得配准问题被表达为上面的等式1。然而,即使没有提供该集合,也可以通过使用最近邻启发式算法来对投影变换p进行初始猜测。在任一情况下,对准逻辑234d被配置为当没有用于p或i的先验可用时最小化等式1。
[0056]
等式1中配准问题的公式化的优点是残差(即,结果中的误差)相对于投影参数是线性的。虽然一些方法可能包括通过将m
{n,m}
组装成单个矩阵,并且随后执行svd分解以找到所组合的测量矩阵的零空间来求解l
,
范数的这个问题,但这里教导的更鲁棒的方法是最小化等式1的l1范数。
[0057]
此外,已经确定为了对准逻辑234d求解投影变换向量p和数据关联集i,需要指示线lm和ln是否相关联的二元变量s
mn
。也就是说,如果这些线是相关联的,则该值为0。最后,添加与l1范数等效的松弛变量α,可以生成如下面等式6所表达的混合整数线性规划。
[0058][0059]
s.t.m
{m,n}
p-λs
nm


nm
[0060]m{m,n}
p λs
nm

‑∝
nm
[0061][0062][0063]

nm
≥0
[0064]6nm
∈{0,1}
[0065]
在一些实施例中,为了处理任何离群点情况,等式可以被改变为以及对s的其他维度求和进行类似改变。此外,在一些实例中,对准逻辑234d可以被进一步配置为利用视场约束。例如,如果存在3d线lm的匹配,则它的某些部分必须已被投影到图像平面中。这可以用以下等式(等式7和等式8)来近似。
[0066][0067][0068]
在一些实施例中,对准逻辑234d被配置为使得milp被约束到se(2)。这减少了问题的维数并加快了寻找解的过程。例如,可以沿定义3d点云数据238b和2d图像数据238a的坐标空间的y轴和z轴以及围绕x轴的旋转来约束平移。这可以通过向变换矩阵p添加约束来实现,如下面在等式9中所示。
[0069][0070]
仍然参考图2,对准逻辑234d被配置为获得2d和3d参数化的线数据并确定平移和/或旋转值并且可选地确定2d和3d线数据之间的数据关联。上述等式由对准逻辑234d实现以获得投影变换向量(例如,定义平移和旋转值)以及识别哪些2d线对应于3d线的数据关联集。如上所述,确定2d和3d线数据之间的投影变换向量和数据关联的方法是通过将配准问题配置和求解为milp来实现的。求解被公式化为milp的配准问题的一些优点是,在公式化之前不需要知道数据关联,可以以直接的方式为milp配置约束,可以使用可以在保持或改
进结果的同时减少实现时间的现成可用的求解器来求解milp,并且结果可用于校准传感器和/或定位操作。
[0071]
一旦由系统100执行对准逻辑234d,计算设备102可以进一步基于投影变换向量执行校准操作或定位操作。校准操作可以由校准逻辑234e定义,校准逻辑234e被配置为利用一个经校准的传感器的数据连同投影变换向量来确定另一传感器的校准参数。例如,参考图3,车辆110可以包括相机142和lidar传感器144。相机142被配置为捕获环境的2d图像数据238a。lidar传感器144被配置为捕获相同环境或车辆110周围环境的至少重叠部分的3d点云数据238b。可能存在已校准相机142或lidar传感器144,但其他的校准需要被核实和/或更新的情况。在已校准相机142情况下,即,相机142的外在和/或固有校准值是已知的,可以实现校准逻辑234e以校准(即,核实和/或更新)lidar传感器144的外在和/或固有校准值。相机142和lidar传感器144两者捕获它们各自的环境的数据并将2d图像数据238a和3d点云数据238b输入到系统100中。系统100通过电子控制器130和/或通过例如参考图2所描述的计算设备102,实现例如参考图4描述和描绘的方法,将在此对其进行更详细的描述。一旦基于分别由相机142和lidar传感器144所捕获的2d图像数据238a和3d点云数据238b确定投影变换向量,校准逻辑234e就利用投影变换向量中确定的值来核实和更新lidar传感器144的校准。换句话说,如果投影变换向量确定在2d图像数据238a和3d点云数据238b之间存在平移和/或旋转,则可以在lidar传感器144中实现平移和/或旋转值,使得未来的3d点云数据238b与由相机142所捕获的2d图像数据238a对准。也可以在已知lidar传感器144的校准的情况下执行相反的操作并且相机142的校准需要被核实和/或更新。
[0072]
在一些实施例中,用于确定2d图像数据238a和3d点云数据238b之间的刚体变换的系统和方法可以用于定位捕获环境内的环境的2d图像或3d点云的传感器。在此描述的定位操作可以使用定义具有导航坐标和视觉(例如,具有2d图像数据238a)和/或空间(例如,具有3d点云数据238b)的环境的先验地图数据。例如,车辆110(图3)可以包括捕获环境的2d图像数据238a或3d图像数据的相机142和/或lidar传感器144。参考图5更详细地描述的定位操作实现定位逻辑234f以确定所捕获的2d图像数据238a或3d点云数据238b之间的投影变换向量与先验地图数据。先验地图数据可以是来自由导航坐标(例如,导航坐标可以包括经度、纬度、高度、滚动、俯仰和/或偏航)定义的已知位置的环境的2d图像数据238a。定位逻辑234f通过将投影变换向量(即,例如,应用平移和/或旋转值)应用到先验地图数据的导航坐标来确定从其捕获2d图像数据238a或3d点云数据238b的导航坐标。换言之,给定在先地图数据的导航坐标以及在投影变换向量中定义的平移和旋转值,可以确定从其捕获2d图像数据238a或3d点云数据238b的坐标。因此,可以确定车辆、机器人或其他系统的定位。
[0073]
将参考本文中的图4和图5更详细的描述上述逻辑模块。然而,应当注意,虽然先前公开的逻辑模块被描述为独立单元,但实施例可以包括各种组合和每个的部分。此外,虽然参考计算设备102描述了逻辑模块,但类似的逻辑模块可以由电子控制器130实现。
[0074]
现在参考图3,描绘了实现用于确定2d数据和3d数据之间的刚体变换的系统100的车辆110的示意性示意图。如所描绘的,例如但不限于,相机142设置在挡风玻璃上方并被放置以观察车辆110前方的环境。然而,这只是示例,因为可以在车辆110上实现一个或多个相机142用于捕获车辆110周围环境的2d图像数据238a。车辆110还可以包括一个或多个lidar传感器144。如所描绘的,可以用前照灯阵列实现lidar传感器144,然而,这也仅仅是可以在
车辆110上的各个位置中实现lidar传感器144的lidar传感器以捕获车辆110周围环境的3d点云数据238b的示例。车辆110还可以包括一个或多个radar传感器和系统146。如所描绘的,可以用前照灯阵列实现radar传感器146,然而,这也仅仅是一个示例,因为可以在车辆110上的各种位置中实现radar传感器146的radar传感器以捕获车辆110周围环境的3d点云数据238b。车辆110还可以包括被配置为从车辆110上的一个或多个传感器捕获数据,经由网络接口硬件150(诸如计算设备102)与外部计算资源通信,和/或执行如本文所述的校准和/或定位操作的电子控制器130。也就是说,在一些实施例中,电子控制器130可以实现本文描述的一种或多种方法。车辆110可以是自主车辆或半自主车辆。此外,尽管图3描绘了车辆110,一些实施例可以是移动机器人、自动化装备、制造装配线等。
[0075]
随着对系统100和基于确定2d图像数据238a和3d点云数据238b之间的刚体变换以生成投影变换向量的由系统100执行的操作的理解,我们转向图4和图5以更全面地描述相关方法。在讨论这两种说明性方法之前,应当理解这些方法中的每个基于本文描述的确定从2d图像数据238a和3d点云数据238b参数化的线、通过求解被公式化为混合整数线性规划的配准问题对准从2d图像数据238a和3d点云数据238b参数化的线以同时求解投影变换向量和/或数据关联集,并且基于投影变换向量生成和/或输出包括与3d点云数据238b对准的2d图像数据238a的数据网格的唯一方法。此外,应当理解,可以实时或接近实时地收集2d图像数据238a和3d点云数据238b,或者可以从保留从过去时间捕获的数据集的副本的数据存储装置中检索。
[0076]
参考图4,描述了用于确定2d图像数据238a(图2)和3d点云数据238b(图2)之间的刚体变换以生成可用于校准相机142、lidar传感器144或radar传感器146的投影变换向量的说明性方法的流程图400。可以由参考图1和图2所描绘和描述的系统100来实现说明该方法的流程图400。
[0077]
转向流程图400,在框402处,相机142(图1)或其他图像感测设备可以被配置为捕获环境的2d图像数据238a。由相机142所捕获的2d图像数据238a可以存储在数据存储组件236或类似设备中。在框404处,系统100实现例如2d线参数化逻辑234b以参数化来自2d图像数据238a的一条或多条2d线。在框406处,诸如lidar传感器144(图1)或radar传感器146(图1)之类的传感器可以被配置为捕获环境的3d点云数据238b(图2)。由传感器所捕获的3d点云数据238b(图2)可以存储在数据存储组件236或类似设备中。在框408处,系统100实现例如3d线参数化逻辑234c(图2)以参数化来自3d点云数据238b的一条或多条3d线。应当理解,术语“2d线”和“3d线”分别是指从2d图像数据238a和3d点云数据238b参数化的线,并不一定意味着关于线的维度的含义。也就是说,从2d图像数据238a参数化的线可以被定义在2维空间或3维空间中。同样,从3d点云数据238b参数化的线可以被定义在2维空间或3维空间中,然而,更经常地将被定义在3维空间中。
[0078]
一旦为要确定刚体变换的两组数据(例如,2d图像数据238a和3d点云数据238b)生成参数化的线,系统100就在框410处实现对准逻辑234d。也就是说,系统100在框410处通过求解被公式化为混合整数线性规划的配准问题来将一条或多条2d线与一条或多条3d线对准,以同时求解投影变换向量和数据关联集。如上文更详细讨论的,将一条或多条2d线与一条或多条3d线对准的过程可包括最小化等式6的l1范数。作为求解配准问题的结果,即将一条或多条2d线与一条或多条3d线对准,系统100生成投影变换向量和数据关联集。投影变换
向量定义用于将2d线与3d线对准的平移和旋转值。数据关联集识别2d线和3d线之间的对应关系。
[0079]
在一些实施例中,数据关联在完成参数化过程之后是未知的。在这种情况下,可以对定义数据关联的对应关系进行初始猜测,并且可以应用最近邻启发式算法来建立数据关联以用于求解配准问题。
[0080]
在一些实施例中,一旦在框410处通过对准步骤确定了投影变换向量,系统100就可以输出来自投影变换向量的平移值或旋转值中的至少一个,该投影变换向量通过将一条或多条2d线与一条或多条3d线对准而被确定。在一些实施例中,投影变换向量进一步用于对系统100中的传感器执行校准操作。因此,在框420处,系统100可以检索或接收经校准的传感器的校准值。经校准的传感器可以是生成2d图像数据238a的传感器(例如,相机142)或生成3d点云数据238b的传感器(例如,lidar传感器144或radar传感器146)。在框430处,系统100可以检索或接收另一传感器的校准值,该传感器的校准值要被核实和/或更新。在框440处,系统100可以基于来自经校准的传感器的校准值和投影变换向量生成要被核实的传感器的预期校准值。换言之,投影变换向量对于应如何调整经校准的传感器的校准值以使两个传感器(即,经校准的传感器和要被核实的传感器)生成未来对准的2d图像数据238a和3d点云数据238b具有指导意义。
[0081]
例如,相机142可以位于车辆110上以参考车辆从特定位置(例如,x坐标、y坐标、z坐标、滚动、俯仰和偏航)查看环境。也可以在车辆110上实现lidar传感器144,以查看车辆周围的环境的区域,该区域至少部分与相机的视场重叠。在经校准的环境中,其视场重叠的两个传感器,将生成对应于空间中相同点的数据。然而,在安装时或随着时间的推移,lidar传感器144可能变得未经校准或由于在现场使用而需要被核实其校准。对于相机142可能同样如此,然而,出于该示例的目的,相机142是经校准的传感器并且lidar传感器144是要被核实和/或更新的传感器。
[0082]
系统100仍然参考框440,确定预期校准值是否与要被核实的传感器的校准值匹配。如果核实值例如在预定义的误差幅度(margin of error)内,则完成核实并且系统100完成校准过程。然而,当与要被核实的传感器的实际校准值相比时,当预期校准值不满足预定义的误差幅度时,然后系统100在框460处更新要被核实的传感器的校准值。该更新可以包括基于投影变换向量调整要被核实的传感器的当前校准值。可以被调整的校准值包括固有和外在值。在可能无法调整传感器的校准的某些情况下,系统100可以实现数据变换过程,其中随后基于投影变换向量变换由传感器收集的数据。
[0083]
现在参考图5,描绘了用于确定2d图像数据238a(图2)和3d点云数据238b(图2)之间的刚体变换以生成可用于定位相机142(图1)、lidar传感器144(图1)或radar传感器146(图1)的投影变换向量的说明性方法的流程图500。在框502处,系统100使用诸如相机142、lidar传感器144、radar传感器146等的传感器捕获数据以生成环境的2d图像数据238a或3d点云数据238b。环境的2d图像数据238a或3d点云数据238b可以存储在数据存储组件236(图2)或类似设备中。在框504处,系统100实现例如2d线参数化逻辑234b(图2)以参数化来自2d图像数据238a的一条或多条2d线或实现3d线参数化逻辑234c(图2)以参数化来自3d点云数据238b的一条或多条3d线。
[0084]
在框506处,系统100接收或检索环境的地图数据。地图数据可以是3d点云数据
238b或定义环境的2d图像数据238a的汇编。地图数据在本文中可以被称为“先验地图数据”,指的是可以在定位的操作之前在某个时间处生成地图数据的事实。在一些实施例中,地图数据是可以选择多个透视图的环境的3d模型。每个透视图可以由导航坐标(诸如经度、纬度、高度、滚动、俯仰和/或偏航)定义。系统100可以选择地图数据中的透视图以与由传感器所捕获的数据进行配准,以确定传感器在捕获数据(例如,2d图像或3d点云)时位于环境中的地点。该操作已在本文被称为定位。
[0085]
在一些实施例中,例如,可以在2个阶段中完成在框502和框506中所捕获的数据。在第一阶段中,车辆行驶路线并且来自全球定位系统(gps)、惯性测量单元(imu)、lidar传感器144和相机142的数据被收集并组合在离线即时定位与地图构建(offline simultaneous localization and mapping(slam)system,slam)系统中以生成环境的3d线特征的地图。在第二阶段中,车辆可以再次行驶路线以收集2d线特征检测以在评估中使用。
[0086]
在框508处,取决于地图数据的格式(即,是2d图像数据238a还是3d点云数据238b),系统100实现例如2d线参数化逻辑234b(图2)以参数化来自地图数据的一条或多条2d线或实现3d线参数化逻辑234c(图2)以参数化来自地图数据的一条或多条3d线。一旦为要被确定刚体变换的两组数据(例如,地图数据和2d图像数据238a或3d点云数据238b)生成参数化的线,系统100就在框510处实现对准逻辑234d。
[0087]
也就是说,系统100在框510处通过求解被公式化为混合整数线性规划的配准问题来将从2d图像数据238a或3d点云数据238b获得的一条或多条线与从地图数据获得的一条或多条线对准以同时求解投影变换向量和数据关联集。如上面更详细地讨论的,对准的过程包括最小化等式6的l1范数。作为求解配准问题的结果,系统100生成投影变换向量和数据关联集。投影变换向量定义用于将从2d图像数据238a或3d点云数据238b获得的线与从地图数据获得的线对准的平移和旋转值。
[0088]
在一些实施例中,一旦在框510处由对准步骤确定了投影变换向量,系统100就可以输出来自投影变换向量的平移值或旋转值中的至少一个,该投影变换向量通过将一条或多条2d线与一条或多条3d线对准而被确定。在一些实施例中,投影变换向量还被用于在环境中执行传感器的定位操作。因此,在框520处,系统100可以检索或接收用于与传感器数据对准的地图数据的透视图的导航坐标。例如,透视图可以描述地图数据(例如,来自预定义位置的环境的3d点云)的位置(例如,经度、纬度和/或高度)和视点(例如,滚动、俯仰和/或偏航))。
[0089]
在框530处,系统100可以实现定位逻辑234f(图2)。定位逻辑234f确定捕获在环境中的2d图像数据238a或3d点云数据238b的传感器的位置。定位逻辑234f可以通过将投影变换向量(即,例如,应用平移和/或旋转值)应用于与用于将地图数据与传感器数据对准的先验地图数据的透视图相对应的导航坐标来实现这一点。换言之,给定地图数据的导航坐标以及在投影变换向量中定义的平移和旋转值,可以确定从其捕获环境的2d图像数据238a或3d点云数据238b的坐标。因此,可以确定在环境中的车辆、机器人或其他系统的定位。
[0090]
应当理解,在仍然实现本公开的目的的同时,上述过程的步骤可以被省略或以多种顺序执行。这里描述的功能块和/或流程图元素可以被翻译成机器可读指令。作为非限制性示例,可以使用任何编程协议来编写机器可读指令,例如:要被解析的描述性文本(例如,诸如超文本标记语言、可扩展标记语言等),(ii)汇编语言,(iii)由编译器从源代码生成的
目标代码,(iv)使用来自任何合适编程语言的语法编写的供解释器执行的源代码,(v)由即时编译器编译和执行的源代码,等等。或者,可以用硬件描述语言(hdl)编写机器可读指令,诸如经由现场可编程门阵列(fpga)配置或专用集成电路(asic)或它们的等价物实现的逻辑。因此,可以以任何传统的计算机编程语言、作为预编程的硬件元件、或作为硬件和软件组件的组合来实现本文描述的功能。
[0091]
此外,虽然上述两种方法通常涉及校准过程和定位过程,但参数化来自2d图像数据238a和3d点云数据238b的线,并且然后通过求解被公式化为混合整数线性规划的配准问题,将一条或多条2d线与一条或多条3d线以同时求解投影变换向量和数据关联集的基本概念是通常是相同的。
[0092]
为了进一步理解由利用被公式化为混合整数线性规划的配准问题来确定2d图像数据和3d点云数据之间的刚体变换的本概念所提供的改进,在本文所公开的方法和在等人由2016年英国机器视觉会议的论文集发表的题为“camera pose estimation from lines using pl
ü
cker coordinates”(以下简称)中描述的方法之间执行评估。图6a和6b提供了从2d图像数据参数化的线与从3d点云数据参数化的线的对准(也称为配准)的说明性表示。特别地,图6a提供了基于中描述的方法的从2d图像数据参数化的线和从3d点云数据参数化的线的对准的说明性表示。图6b提供了基于本文描述的系统和方法的从2d图像数据参数化的线和从3d点云数据参数化的线的对准的说明性表示。当一起查看时,显然本文描述的系统和方法提供改进的从2d图像数据参数化的线和从3d点云数据参数化的线之间的对准。
[0093]
在图6a和图6b中,短虚线表示从2d图像数据参数化的线并且长虚线表示从3d点云数据参数化的线。此外,粗实线表示从2d图像数据参数化的线与从3d点云数据参数化的线之间的变换或数据关联。如上所述,目标是将从2d图像数据参数化的线和从3d点云数据参数化的线对准。
[0094]
为了评估本文所述的系统和方法以及中公开的方法的性能,利用了公开可用的数据集oxford vgg multiview dataset(url:https://www.robots.ox.ac.uk/~vgg/data/mview/)。利用本方法和中的方法处理oxford“corridor”数据集。通过最小化l2范数来求解其成本函数,而本方法最小化其成本函数(例如,混合整数线性规划,等式6)(与不同的成本函数)的l1范数。观察参数化的线610的对准与使用本文描述的系统和方法对准的参数化的线710的对准,显然参数化的线710比参数化的线610更紧密地对准。另外,观察参数化的线620的对准与使用本文描述的系统和方法对准的参数化的线720的对准,显然参数化的线720比参数化的线620更紧密地对准。此外,观察参数化的线630的对准与使用本文描述的系统和方法对准的参数化的线730的对准,显然参数化的线730比参数化的线630更紧密地对准。与中的方法相比,这些只是通过本文描述的系统和方法实现的更好的对准的几个示例
[0095]
下面的表1进一步描绘了图6a和图6b中描绘的评估的结果。
[0096][0097]
现在应该理解,本文描述的实施例针对涉及用于确定2d图像数据和3d点云数据之间的刚体变换的系统和方法。可以在诸如移动机器人、自主车辆、自动化装备、制造装配线等的应用中实现本文描述的用于确定2d图像数据和3d点云数据之间的刚体变换的系统和方法。这些应用可以利用确定2d图像数据和3d点云数据之间的刚体变换的过程以用于诸如传感器校准和/或在先验地图的环境中的定位之类的操作。在实施例中,该系统和方法包括确定从2d图像数据和3d点云数据参数化的线,通过求解被公式化为混合整数线性规划的配准问题来对准从2d图像数据和3d点云数据参数化的线以同时求解投影变换向量和/或数据关联集,以及基于投影变换向量生成和/或输出包括与3d点云数据对准的2d图像数据的数据网格。
[0098]
注意,术语“基本上”和“大约”在本文中可用于表示可归因于任何定量比较、值、测量或其他表示的固有不确定性的程度。这些术语在本文中也用于表示定量表示可能与规定的参考不同的程度,而不会导致讨论中的主题的基本功能发生变化。
[0099]
虽然本文已经说明和描述了特定实施例,但是应当理解,在不脱离所要求保护的主题的精神和范围的情况下,可以进行各种其他改变和修改。此外,尽管本文已经描述了要求保护的主题的各个方面,但是不需要组合利用这些方面。因此,旨在所附权利要求涵盖在所要求保护的主题范围内的所有这些变化和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献