[go: up one dir, main page]

CN118735999A - 相机定位 - Google Patents

相机定位 Download PDF

Info

Publication number
CN118735999A
CN118735999A CN202410335641.6A CN202410335641A CN118735999A CN 118735999 A CN118735999 A CN 118735999A CN 202410335641 A CN202410335641 A CN 202410335641A CN 118735999 A CN118735999 A CN 118735999A
Authority
CN
China
Prior art keywords
feature
vehicle
pose
ground
determined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410335641.6A
Other languages
English (en)
Inventor
王珊
张严皓
阿希尔·帕林谢里
安基特·吉里什·沃拉
李洪东
师玉娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Australian National University
Ford Global Technologies LLC
Original Assignee
Australian National University
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Australian National University, Ford Global Technologies LLC filed Critical Australian National University
Publication of CN118735999A publication Critical patent/CN118735999A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3852Data derived from aerial or satellite images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

本公开提供了“相机定位”。一种计算机,包括处理器和存储器,所述存储器包括指令,所述指令可由所述处理器执行以用第一神经网络从地面视图图像确定第一特征图和第一置信度图。可以基于第一特征图和置信度图来确定第一特征点。可以基于第一特征和第一置信度图来确定第一特征的第一三维(3D)特征位置。可以用第二神经网络从航拍视图图像确定第二特征图和第二置信度图。可以基于所述第一3D特征、所述第二特征图和所述第二置信度图来确定第二3D特征位置。可以通过迭代地确定所述第一3D特征位置与所述第二3D特征位置之间的几何对应关系来确定地面视图相机在全局坐标中的三自由度(DoF)姿态。

Description

相机定位
技术领域
本公开涉及车辆中的对象跟踪系统。
背景技术
计算机可以用于操作包括车辆、机器人、无人机和/或对象跟踪系统在内的系统。包括图像的数据可以由传感器获取并且使用计算机处理,以确定系统相对于系统周围环境中的对象的位置。计算机可以使用位置数据来确定用于在环境中移动系统的轨迹。然后,计算机可以根据所确定的轨迹来确定控制数据以传输到系统部件以控制系统部件来移动系统。
发明内容
感测系统(包括车辆、机器人、无人机等)可以通过获取关于系统周围的环境的传感器数据并且处理所述传感器数据以确定操作系统或所述系统的部分的路径来操作。可以处理传感器数据以确定环境中的对象的位置。对象可以包括道路、建筑物、输送机、车辆、行人、制造零件等。可以处理传感器数据以确定系统的姿态,其中系统姿态包括位置和取向。可以基于完整的六自由度(DoF)姿态来确定系统姿态,所述六自由度姿态包括x、y和z位置坐标,以及分别相对于x、y和z轴的侧倾、俯仰和横摆旋转坐标。可以相对于诸如纬度、经度和海拔的全球坐标系来确定六DoF姿态。
车辆在本文中用作感测系统的非限制性示例。可以使用更简单的三DoF姿态来相对于车辆周围的环境定位车辆,所述三DoF姿态假设车辆被支撑在诸如道路的平面表面上,所述平面表面固定车辆的z、俯仰和侧倾坐标以匹配道路。车辆姿态可以通过x和y位置坐标以及横摆旋转坐标来描述,以提供三DoF姿态,所述三DoF姿态限定车辆相对于支撑表面的位置和取向。
诸如基于卫星的全球定位系统(GPS)和基于加速度计的惯性测量单元(IMU)的车辆传感器可以提供车辆姿态数据,所述车辆姿态数据可以用于相对于包括全局坐标中的位置数据的航拍图像来定位车辆。例如,航拍图像中包括的位置数据可以用于确定航拍图像中的任何像素地址位置在全局坐标中的位置。航拍图像可以通过卫星、飞机、无人机或其他空中平台获得。在不失一般性的情况下,卫星数据将在本文中用作航拍图像数据的示例。例如,可以通过从互联网下载GOOGLETM地图等来获得卫星图像。
使用包括在卫星图像中或与卫星图像一起的全局坐标数据来确定相对于卫星图像数据的车辆姿态通常可以提供在+/-3米位置和+/-3度取向分辨率内的姿态数据。操作车辆可以依赖于姿态数据,所述姿态数据包括一米或更小的位置分辨率和一度或更小的取向分辨率。例如,+/-3米位置数据可能不足以确定车辆相对于道路上的行车道的位置。如本文所讨论的用于卫星图像引导的地理定位的技术可以确定指定分辨率内的车辆姿态,通常在一米或更小的位置分辨率内和一度或更小的取向分辨率内,例如,足以在道路上操作车辆的分辨率。在指定分辨率(例如,在示例性实现方式中为一米或更小的位置分辨率和一度或更小的取向分辨率)内确定的车辆姿态数据在本文中被称为高清晰度姿态数据。
本文描述的技术采用卫星图像引导的地理定位来增强对车辆的高清晰度姿态的确定。卫星图像引导的地理定位使用由包括在车辆中的传感器获取的图像来确定相对于卫星图像的高清晰度姿态,而无需预定的高清晰度(HD)地图。将车辆传感器图像和卫星图像输入到两个单独的神经网络,所述神经网络从图像中提取特征以及置信度图。在一些示例中,两个单独的神经网络可以是相同的神经网络。将来自车辆图像的3D特征点与来自卫星图像的3D特征点进行匹配,以确定车辆相对于卫星图像的高清晰度姿态。车辆的高清晰度姿态可以用于通过基于高清晰度路径确定车辆路径来操作车辆。
本文公开了一种方法,所述方法包括用第一神经网络从地面视图图像确定第一特征图和第一置信度图。可以基于第一特征图和置信度图来确定第一特征点。可以基于第一特征和第一置信度图来确定第一特征的第一三维(3D)特征位置。可以用第二神经网络从航拍图像确定第二特征图和第二置信度图。第一神经网络和第二神经网络可以共享权重,所述权重确定由第一神经网络和第二神经网络执行的处理。可以基于第一3D特征、第二特征图和第二置信度图来确定第二3D特征位置,并且可以通过迭代地确定所述第一3D特征位置与所述第二3D特征位置之间的几何对应关系直到全局损失函数小于用户确定的阈值来确定地面视图相机在全局坐标中的高清晰度估计的三自由度(DoF)姿态。可以通过基于几何投影变换第一3D位置来确定成对的第一3D特征位置和第二3D位置之间的几何对应关系,所述几何投影以地面视图相机的三DoF姿态的初始估计开始。可以通过将以下项相加来确定全局损失函数:1)通过计算变换后的第一3D特征位置与第二3D特征位置之间的三元组损失确定的姿态感知分支损失函数和2)通过使用Levenberg-Marquardt算法计算变换后的第一3D特征位置与第二3D特征位置之间的残差确定的递归姿态细化分支损失函数。
姿态感知分支损失函数可以基于地面视图相机的确定的三DoF姿态和地面实况三DoF姿态来确定特征残差。可以对全局损失进行微分以确定改变地面视图相机的估计的三DoF姿态的方向。可以基于用Levenberg-Marquardt算法递归地最小化残差,随后基于估计的姿态确定重新投影损失来对全局损失进行微分以确定改变地面视图相机的三DoF姿态的方向。可以基于航拍图像来确定地面视图相机在全局坐标中的估计的三自由度(DoF)姿态。第一置信度图可以包括地面视图图像中包括的特征被包括在地平面中的概率。第二置信度图可以包括航拍图像中包括的特征被包括在地平面中的概率。第一神经网络和第二神经网络可以是包括卷积层和全连接层的卷积神经网络。航拍图像可以是卫星图像。可以基于全分辨率的地面视图图像生成一个或多个分辨率降低的图像,并且通过要求第一特征以全分辨率和一个或多个降低的分辨率出现在地面视图图像中的每一者中来确定第一特征。可以基于车辆传感器数据来确定对地面视图相机的三DoF姿态的初始估计。可以输出地面视图相机的高清晰度估计的三DoF姿态并且将其用于操作车辆。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种被编程用于执行上述方法步骤中的一些或全部的计算机,所述计算机包括计算机设备,所述计算机设备被编程为用第一神经网络从地面视图图像确定第一特征图和第一置信度图。可以基于第一特征图和置信度图来确定第一特征点。可以基于第一特征和第一置信度图来确定第一特征的第一三维(3D)特征位置。可以用第二神经网络从航拍图像确定第二特征图和第二置信度图。可以基于第一3D特征、第二特征图和第二置信度图来确定第二3D特征位置,并且可以通过迭代地确定所述第一3D特征位置与所述第二3D特征位置之间的几何对应关系直到全局损失函数小于用户确定的阈值来确定地面视图相机在全局坐标中的高清晰度估计的三自由度(DoF)姿态。可以通过基于几何投影变换第一3D位置来确定成对的第一3D特征位置和第二3D位置之间的几何对应关系,所述几何投影以地面视图相机的三DoF姿态的初始估计开始。可以通过将以下项相加来确定全局损失函数:1)通过计算变换后的第一3D特征位置与第二3D特征位置之间的三元组损失确定的姿态感知分支损失函数和2)通过使用Levenberg-Marquardt算法计算变换后的第一3D特征位置与第二3D特征位置之间的残差确定的递归姿态细化分支损失函数。
所述指令可以包括另外的指令,其中姿态感知分支损失函数可以基于地面视图相机的确定的三DoF姿态和地面实况三DoF姿态来确定特征残差。可以对全局损失进行微分以确定改变地面视图相机的估计的三DoF姿态的方向。可以基于用Levenberg-Marquardt算法递归地最小化残差,随后基于估计的姿态确定重新投影损失来对全局损失进行微分以确定改变地面视图相机的三DoF姿态的方向。可以基于航拍图像来确定地面视图相机在全局坐标中的估计的三自由度(DoF)姿态。第一置信度图可以包括地面视图图像中包括的特征被包括在地平面中的概率。第二置信度图可以包括航拍图像中包括的特征被包括在地平面中的概率。第一神经网络和第二神经网络可以是包括卷积层和全连接层的卷积神经网络。航拍图像可以是卫星图像。可以基于全分辨率的地面视图图像生成一个或多个分辨率降低的图像,并且通过要求第一特征以全分辨率和一个或多个降低的分辨率出现在地面视图图像中的每一者中来确定第一特征。可以基于车辆传感器数据来确定对地面视图相机的三DoF姿态的初始估计。可以输出地面视图相机的高清晰度估计的三DoF姿态并且将其用于操作车辆。
附图说明
图1是示例性车辆感测系统的框图。
图2是包括车辆的示例性卫星图像的图示。
图3是包括车辆的另一示例性卫星图像的图示。
图4是由车辆获取的交通场景的示例性图像的图示。
图5是包括特征的交通场景的示例性图像的图示。
图6是包括特征的示例性卫星图像的图示。
图7是包括置信度图的交通场景的示例性图像的图示。
图8是包括置信度图的示例性卫星图像的图示。
图9是三种分辨率下交通场景的示例性图像的图示。
图10是被处理以确定特征的三维位置的交通场景的示例性图像的图示。
图11是用于确定全局坐标中的高分辨率三自由度车辆位置的示例性系统的图示。
图12是用于确定全局坐标中的高分辨率三自由度车辆位置的示例性过程的流程图。
图13是基于全球坐标中的高分辨率车辆位置来操作车辆的示例性过程的流程图。
具体实施方式
图1是感测系统100的图。感测系统100包括车辆110,所述车辆可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和/或乘员驾驶(也被称为非自主)模式下操作,如下文更详细地讨论。一个或多个车辆110的计算装置115可以从传感器116接收关于车辆110的操作的数据。计算装置115可以以自主模式、半自主模式或非自主模式操作车辆110。系统100还可以包括可以经由网络130与车辆110通信的服务器计算机120。
计算装置115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行以执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(即,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
计算装置115可以包括多于一个计算装置(即,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等(即,推进控制器112、制动控制器113、转向控制器114等)),或通信地耦合到(即经由如下面进一步描述的车辆通信总线)所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(即,包括车辆110中的总线,诸如控制器局域网络(CAN)等)通信;车辆110网络可另外或替代地包括诸如已知的有线或无线通信机制,即以太网或其他通信协议。
计算装置115可以经由车辆网络向车辆中的各种装置(即,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可以使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。此外,如下文所提及,各种控制器或感测元件(诸如传感器116)可以经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可以被配置用于通过车辆对基础设施(V2X)接口111经由网络130与远程服务器计算机120(即,云服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网或蜂窝网络的网络130与远程服务器计算机120通信。因此,V2X接口111可以包括被配置为利用各种有线和/或无线联网技术(即,蜂窝、蓝牙低功耗(BLE)、超宽带(UWB)、对等通信、基于UWB的雷达、IEEE 802.11和/或其他有线和/或无线分组网络或技术)的处理器、存储器、收发器等。计算装置115可被配置用于使用车辆对车辆(V2V)网络(即,根据包括蜂窝通信(C-V2X)无线通信蜂窝、专用短程通信(DSRC)和/或类似的通信)(即在邻近车辆110之间在移动自组网的基础上形成的或通过基于基础设施的网络形成的)通过V2X(车辆对外界)接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索,并经由车辆通信网络和车辆对基础设施(V2X)接口111传输到服务器计算机120或用户移动装置160。
如已经提及的,用于操作一个或多个车辆110部件(即,制动、转向、推进等)的编程通常包括在存储于存储器中并且可由计算装置115的处理器执行的指令中。使用在计算装置115中接收的数据(即,来自传感器116、服务器计算机120等的传感器数据),计算装置115可以做出各种确定和/或控制各种车辆110部件和/或操作。例如,计算装置115可以包括编程以调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的有效穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过十字路口的十字路口(无信号灯)最短时间。
如本文所使用的术语控制器包括通常被编程为监测和/或控制特定车辆子系统的计算装置。示例包括推进控制器112、制动控制器113和转向控制器114。控制器可以是诸如已知的电子控制单元(ECU),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置115并且从所述计算装置接收指令以根据指令来致动子系统。例如,制动控制器113可以从计算装置115接收指令以操作车辆110的制动器。
用于车辆110的一个或多个控制器112、113、114可以包括已知的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个推进控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一者可以包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可被编程并且连接到车辆110通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并且基于指令而控制致动器。
传感器116可以包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆110的前保险杠(未示出)的雷达可提供从车辆110到车辆110前方的下一车辆的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可提供车辆110的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用于自主或半自主地操作车辆110。
车辆110通常是能够自主和/或半自主操作并且具有三个或更多个车轮的基于地面的车辆110(即,乘用车、轻型货车等)。车辆110包括一个或多个传感器116、V2X接口111、计算装置115和一个或多个控制器112、113、114。传感器116可收集与车辆110和车辆110的操作环境相关的数据。以举例的方式但非限制,传感器116可以包括例如测高仪、相机、激光雷达(LIDAR)、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用于感测车辆110的操作环境,即,传感器116可以检测诸如天气条件(降雨、外界温度等)的现象、道路坡度、道路位置(即,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率水平、部件之间的连接性以及车辆110的部件的准确且及时的性能。
如上所述,车辆可以被配备为以自主、半自主或手动模式操作。半自主模式或完全自主模式意指车辆可以由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。出于本公开的目的,自主模式被定义为车辆推进(即,经由包括内燃发动机和/或电动马达的推进)、制动和转向中的每一者由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一者或多者。在非自主模式下,这些都不由计算机控制。在半自主模式中,其中的一些但非全部由计算机控制。
服务器计算机120通常具有与车辆110的V2X接口111和计算装置115共同的特征,即,经由网络130进行通信的计算机处理器和存储器和配置,并且因此将不进一步描述这些特征。服务器计算机120可以用于开发和训练可以传输到车辆110中的计算装置115的软件。
图2是卫星图像200的图示。卫星图像200可以是从诸如GOOGLE地图的源下载到车辆110中的计算装置115的地图。卫星图像200包括由直线形状指示的道路202、建筑物204和由不规则形状指示的植物306。本文使用的卫星图像200的版本是包括诸如道路202、建筑物204和植物206的对象的照片肖像的版本。卫星图像200中包括车辆110。车辆110包括传感器116,包括摄像机。卫星图像200中包括用于分别包括在车辆110的前部、右侧、后部和左侧的四个摄像机的四个视野208、210、212、214。
图3是包括车辆110的估计的三DoF姿态302的卫星图像200的图示。车辆110相对于卫星图像200的初始估计的三DoF姿态302可以基于包括车辆110中所包括的GPS传感器的车辆传感器数据。由于GPS传感器的有限分辨率和卫星图像200的有限分辨率,车辆110的估计的三DoF姿态302可能不等于车辆110的真实姿态。由于GPS传感器和卫星图像200的有限分辨率,因此估计的三DoF姿态302不能用于操作车辆110。
获得用于操作车辆110的高清晰度数据的问题的一种解决方案将是产生车辆110在其上操作的所有区域的HD地图。高清晰度地图将需要大量的制图工作和大量的计算机资源来产生和存储HD地图,以及大量的网络带宽来将HD地图下载到车辆110,更不用说将地图存储在车辆中所包括的计算装置115中所需的大量计算机存储器。本文描述的卫星图像引导的地理定位技术使用基于由包括在车辆110中的摄像机获取的视频图像而确定的3D特征点来基于卫星图像确定车辆110的高清晰度三DoF姿态,而无需产生、传输和存储HD地图所需的大量计算机资源。
图4是由包括在车辆110中的摄像机获取的四个图像400、402、404、406的图示,所述四个摄像机分别由视野208、210、212、214指示。图像400、402、404、406是以例如大约2K X1K像素的标准视频分辨率获取的红色、绿色和蓝色(RGB)彩色图像。图像400、402、404、406包括来自视野208、210、212、214的数据。本文描述的卫星图像引导的地理定位技术通常可以确定车辆110的在x,y位置一米内和一度横摆取向上的三DoF姿态,这比估计的三DoF姿态302的3+米位置和3+度取向准确度更准确。卫星图像引导的地理定位技术经由通过从图像中提取3D特征点并且将它们与从卫星图像200中提取的3D特征点匹配来确定视野208、210、212、214相对于卫星图像200的位置来确定车辆110的三DoF姿态。
图5是由包括在车辆110中的摄像机获取并且被处理以分别确定特征点508、510、512、514的四个图像400、402、404、406的图示。包括特征点508、510、512、514的图像400、402、404、406被称为特征图。特征点508、510、512、514由图像400、402、404、406中的圆圈指示,并且通过将图像400、402、404、406输入到第一神经网络1106来确定,如下面关于图11所述。第一神经网络1106是卷积神经网络,其包括卷积层,其后是全连接层。卷积层通过将输入图像400、402、404、406与一系列卷积核进行卷积来提取指示特征点的位置的潜在变量。潜在变量被输入到全连接层,所述全连接层通过使用线性和非线性函数组合潜在变量来确定特征点508、510、512、514。使用通过训练第一神经网络1106而确定的权重来对卷积核以及线性和非线性函数进行编程。
训练神经网络1106包括确定包括地面实况的图像的训练数据集。地面实况包括车辆110的真实车辆姿态。基于独立于神经网络1106的技术来确定地面实况。例如,可以通过使用图像处理软件处理训练数据集中的图像以检测特征点来确定地面实况特征点。特征点检测的示例包括在计算机视觉工具箱的特征检测和提取部分中,所述计算机视觉工具箱包括在由MathWorks(Natick,MA 01760)生产的MatLab软件库中。训练神经网络1106以检测特征点508、510、512、514可以包括多次输入来自训练数据集的图像,其中对于每次传递,来自神经网络1106的输出是用于估计车辆姿态的深度特征。为了训练网络,可以将估计的姿态的重新投影误差与地面实况数据进行比较以确定损失函数,所述损失函数指示输出与正确结果的接近程度。基于损失函数,调整控制卷积核以及线性和非线性函数的权重。当确定使训练数据集上的损失函数最小化的权重时,神经网络1106训练完成。
图6是包括从卫星图像200提取的卫星特征点602的卫星图像200的图示。与卫星特征点602组合的卫星图像200被称为卫星特征图。卫星特征点602由圆圈指示,并且通过将卫星图像200输入到第二神经网络1108来确定,如下面关于图11所述。第二神经网络1108可以是与第一神经网络1106相同的卷积神经网络架构,并且由于由用于训练第一神经网络1106和第二神经网络1108的训练数据集中包括的图像的相似性引起的训练相似性而可以共享相同的权重。训练第一神经网络1106和第二神经网络1108存在相似性,因为在每个训练过程中使用相同的特征提取软件来确定要包括在地面实况数据中的特征。在本文描述的技术的示例中,第一神经网络1106和第二神经网络1108可以是同一网络,其中图像被串行处理。如本文所述的卫星图像引导的地理定位技术可以取决于从由车辆110获取的视频图像400、402、404、406和卫星图像200两者确定特征点的一部分,所述卫星图像指示在小的用户确定的公差内的全局坐标中的相同位置。可以通过比较响应于用经训练的第一神经网络1106和第二神经网络1108处理训练数据集图像而产生的特征点508、510、512、514、602的位置来确定公差值。
图7是分别包括置信度图708、710、712、714的图像400、402、404、406的图示。由图像400、402、404、406中的暗像素指示的置信度图708、710、712、714指示图像400、402、404、406中包括的像素数据在地平面上出现的概率。在这种背景下的地平面是与支撑车辆的道路或其他表面(诸如停车场)重合的平面。置信度图708、710、712、714可以由第一神经网络1106输出,所述第一神经网络可以被训练为以与特征点508、510、512、514类似的方式输出置信度图。训练第一神经网络1106不需要地面上的地面实况置信度图或点。第一神经网络1106可以无监督方式进行训练。这是该技术的优点,因为它不需要用于训练第一神经网络1106的附加注释。
图8是包括卫星置信度图802的卫星图像200的图示。卫星置信度图802由图像200中的暗像素指示。卫星置信度图802指示包括在卫星图像200中的像素数据包括在地平面中的概率。包括在卫星图像200中的具有被包括在地平面中的高概率的像素数据的示例是出现在道路202上的像素。训练第二神经网络1108不需要地面上的地面实况置信度图或点。第二神经网络1108可以无监督方式进行训练。这是该技术的优点,因为它不需要用于训练第二神经网络1108的附加注释。卫星置信度图802可以与卫星特征点602组合以生成在卫星图像200的地平面上出现的卫星3D关键特征点804。包括在卫星图像200中的全局坐标数据可以用于确定卫星3D关键特征点804的全局坐标数据。
训练第一神经网络1106和第二神经网络1108以输出特征点508、510、512、514、602和置信度图708、710、712、714、802两者,以允许卫星图像引导的地理定位技术滤除不位于地平面上的所有特征点508、510、512、514、602。如上所述,第一神经网络1106和第二神经网络1108可以是同一网络。这关于图10进行描述。还训练第一神经网络1106和第二神经网络1108以滤除由诸如车辆和行人的动态对象生成的特征点。这可以经由无监督学习来学习,并且不需要地面实况。无监督学习不需要地面实况来确定损失函数,而是将输出数据与输入数据进行比较以确定损失。动态对象可以出现在视频图像400、402、404、406或卫星图像200中,但不能可靠地依赖于重新出现。因为不能可靠地依赖于它们重新出现,所以从所述过程中消除它们提高了卫星图像引导的地理定位技术的可靠性和准确性。
图9是在全分辨率和两个降低的分辨率下的六个图像900、902、904、906、908、910的图示。图像900、902分别包括特征点912和置信度图914。图像900、902由第一神经网络1106以获取它们的分辨率(例如大约2K X 1K)处理。图像904、906分别包括特征点916和置信度图918。图像904、906由第一神经网络以降低的分辨率(例如可以是大约1K X 0.5K)处理。图像908、910分别包括特征点920和置信度图922。图像908、910由第一神经网络以第二降低的分辨率(例如可以是大约0.5K X 0.25K)处理。
图像904、906、908、910可以从图像400、402、404、406以通过抽取获取其的全分辨率生成,其中选择像素邻域中的单个像素来表示较低分辨率图像中的邻域。例如,邻域可以是2X 2像素,这将使输入图像的分辨率在高度和宽度上降低两倍并且将像素数量减少四。替代地,图像904、906、908、910可以从图像400、402、404、406以通过像素平均化获取其的原始分辨率生成,其中像素邻域中的单个像素被确定为通过平均化邻域中的像素值表示较低分辨率图像中的邻域。例如,邻域也可以仍是2X 2像素,这将使输入图像的分辨率在高度和宽度上降低两倍并且将像素数量减少四。像素平均化可以通常在增加使用计算资源的情况下产生更准确的降低分辨率的图像。
如本文所述的卫星图像引导的地理定位技术由于能够在多尺度/分辨率设置中学习描述性特征而使用降低分辨率的图像904、906、908、910来提高准确性和可靠性。上面关于图5描述的选择特征点912、916、920的算法是基于图像分辨率。例如,选择特征点912、916、920的算法全都需要选定点之间的最小像素距离。分辨率越低,选定点越少。降低分辨率还减少了图像中对于算法将表现为特征点912、916、920的位置的数量,从而也减少了由第一神经网络1106选择的特征点的数量。以类似的方式,第一神经网络1106将降低分辨率的图像中的较少位置确定为置信度图914、918、922。
本文所述的卫星图像引导的地理定位技术通过像素复制提高最低分辨率图像908、910的分辨率并且将它们分别与下一个更高分辨率图像904、906进行“与”,将输出的降低分辨率的图像904、906、908、910分别与全分辨率图像900、902相结合。所得图像的分辨率提高到下一个更高分辨率,并且通过像素复制并与下一个更高分辨率图像900、902进行“与”来产生输出图像。输出图像将仅包括在较低分辨率图像904、906、908、910中但在高分辨率图像900、902中所包括的高分辨率位置处出现的特征点912和置信度图914。
图10是示出应用于来自图9的全分辨率输出图像的后处理技术的四个图像1000、1004、1010、1014的图示。包括特征点1002的全分辨率输出图像1000与包括超过用户选择的阈值的置信度图1008的全分辨率输出图像1004组合。保留落在图像1004的包括超过阈值的置信度图1008的部分内的特征点1002,并且删除所有其他特征点1002。可以通过检查从训练数据集的第一神经网络1106输出的置信度图来确定用户选择的阈值。
图像1010仅包括已经被确定为位于地平面上的特征点1012。这允许生成包括要包括的选定的k个特征点1012的3D位置的图像1014。3D位置的确定是可能的,因为可以在地平面上找到点,这减小了问题空间。相机距地面的高度由车辆上的相机位置确定,这允许地面上的点的位置。将点的3D位置限制到地平面允许确定缩放数据,特别是在单目情况下,例如当仅使用一个相机时。这也意味着本文描述的技术不需要多个相机或重叠的视野。关键特征点1016的数量可以被限制为数量k,其中k可以是例如12。限制关键特征点1016的数量可以限制确定车辆110的三DoF姿态所需的计算时间,这对于实时系统可能是有利的。可以基于关于在全局坐标中获取图像1000的摄像机的姿态的数据(外在相机数据)和关于摄像机的焦点和传感器大小的数据(固有相机数据)来确定k个特征点1016的3D位置。可以基于关于相机镜头和传感器的数据以及关于相机相对于安装有相机的车辆110的位置和取向的数据来确定外在相机数据和固有相机数据。外在相机数据和固有相机数据确定包括在车辆110中的摄像机的视野208、210、212、214在全局坐标中的位置和取向。
外在相机数据和固有相机数据可以用于将图像1000中的k个特征点1012在像素坐标中的位置变换为全局坐标中的3D位置。外在相机数据和固有相机数据可以基于投影几何来确定将像素地址变换为3D位置的参数。投影几何包括数学方程,所述数学方程可以确定单个点在从两个不同视角观察所述点的两个不同平面中的位置。在该示例中,由相机对位于地平面上的在全局坐标中具有3D位置的数据点进行成像,所述相机基于相机外在数据和固有数据将全局坐标中的点的3D位置变换为图像中的像素地址。本文描述的卫星图像引导的地理定位技术确定将k个特征点1012的像素坐标投影到全局坐标中的3D位置的变换并通过反转由形成图像1000的外在相机数据和固有相机数据确定的变换来确定3D关键特征点1016的全局坐标。确定3D关键特征点1016的全局坐标取决于确定k个特征点1012位于地平面上。
如下文将关于图11所讨论的,卫星图像引导的地理定位技术通过基于关键特征点1016与基于卫星图像200确定的卫星3D关键特征点804的3D位置之间的差异确定损失函数来迭代地细化关键特征点1016的3D位置的估计。通过将卫星特征点602与置信度图802组合以过滤卫星特征点602的位置以消除不位于地平面中的卫星特征点602来确定卫星3D关键特征点804。在迭代的每个步骤处,损失函数用于更新车辆110的估计的三DoF姿态302的估计。车辆110的估计的三DoF姿态302的更新的估计用于将特征点1012重新投影到关键特征点1016的3D位置上,直到损失函数小于用户确定的阈值。可以通过检查来自训练数据集的结果来确定用户确定的阈值。
图11是如本文所述的卫星图像引导的地理定位系统1100的图示。卫星图像引导的地理定位系统可以在包括在车辆110中的计算装置115上执行。卫星图像引导的地理定位系统可以输入来自车辆传感器的图像1102和来自计算装置115存储器或从互联网下载的卫星图像1104,并且输出车辆110的高清晰度估计的三DoF姿态1122。通过将来自包括在车辆110中的摄像机的图像1102输入到第一神经网络1106而开始处理。第一神经网络1106以三种或更多种分辨率将包括特征点912、916、920和置信度图914、918、922的图像900、902、904、906、908、910输出到地面关键点检测器1110,所述地面关键点检测器基于三个或更多个不同分辨率置信度图902、906、910基于来自三个或更多个不同分辨率图像900、904、908的特征点912、916、920选择k个特征点,如上文关于图9所讨论的。三个不同分辨率图像900、904、908和置信度图902、906、910被组合以形成具有k个关键特征点1012的单个图像1010,如关于图10所讨论的。这被称为地面关键点检测。
在将图像400、402、404、406输入到第一神经网络1106的同时,将卫星图像200输入到第二神经网络1108。如上所述,第一神经网络1106和第二神经网络1108可以是同一网络。可以基于车辆110的估计的三DoF姿态302来选择卫星图像200,并且可以从存储器调用所述卫星图像或从互联网将所述卫星图像下载到计算装置115。卫星图像200可以由第二神经网络1108处理以确定卫星特征点602和置信度图802并且输出到卫星特征点检测器1112。
卫星特征点检测器1112根据卫星特征点602和置信度图802确定卫星3D关键特征点804。通过使用包括在卫星图像数据中的全球坐标位置数据来确定卫星3D关键特征点804。卫星3D关键特征点804被确定为包括在地平面中,因为它们已经基于确定卫星图像的位于地平面上的部分的置信度图802进行了过滤。
几何投影可以用于确定k个关键特征点与卫星3D关键特征点804之间的对应关系。通过在3D投影仪1114处迭代地投影k个关键特征点和卫星3D关键特征点804来确定k个关键特征点与卫星3D关键特征点804之间的对应关系。3D投影仪1114基于获取所获取的k个经过滤和选择的特征点的摄像机的外在数据和固有数据来确定k个经过滤和选择的特征点在全局坐标中的3D位置,如上文关于图10所述。使用3D投影仪1114的几何投影以从车辆传感器获得的车辆110的估计的三DoF姿态302的初始估计开始。估计的三DoF姿态302用于将k个经滤波和选择的特征点投影到3D全局坐标中以确定3D关键特征点1016。在后续迭代中,基于由姿态感知分支1116损失函数和递归姿态细化分支1118损失函数确定的损失函数以及为每个视频图像400、402、404、406的k个经过滤和选择的特征点生成的更新的3D关键特征点1016来更新估计的三DoF姿态302。
因为由姿态感知分支1116和递归姿态细化分支1118确定的3D投影过程和损失函数是可微分的,所以3D投影仪1114可以确定在每次迭代中沿着相应的三DoF轴的哪个或哪些方向移动以减小3D关键特征点1016与3D卫星关键点804之间的总距离。另外,因为使用3D特征点和3D卫星特征点的全局坐标来确定车辆110的三DoF姿态,所以对视频图像400、402、404、406的数量和视野208、210、212、214没有限制。视野208、210、212、214可以重叠并且覆盖车辆110周围的环境的任何子集。
在3D投影仪1114之后,将组合的3D特征点1016和卫星3D关键特征点804输入到两个单独的损失函数。在训练期间使用姿态感知分支1116来确定组合的3D特征点和卫星3D关键特征点804的三元组损失。初始姿态用作不正确姿态,并且地面实况姿态用作三元组损失设置中的正确姿态。姿态感知分支1116区分使用这两个姿态获得的特征残差。损失被反向传播到特征提取器,这使其能够学习对姿态敏感的特征。姿态感知分支1116的目标是在特征表示空间中创建正确姿态与错误姿态之间的区分。
由递归姿态细化分支1118确定第二损失函数。递归姿态细化分支1118通过将3D特征点1016和卫星3D关键特征点804输入到可微分的Levenberg-Marquardt算法并且递归地最小化通过基于估计的姿态确定重新投影损失而形成的残差来优化车辆110的三DoF姿态。可微分Levenberg-Marquardt算法基于3D特征点1016与卫星3D关键特征点804之间的距离基于确定来自两组点数据的最近点对之间的差平方和并且计算残差来确定损失函数。另外,Levenberg-Marquardt算法是可微分的,这允许递归姿态细化分支确定在三个DoF轴中的每一者中的哪些方向上移动以使下一次迭代的损失函数更小。姿态感知分支1116和递归姿态细化分支1118的结果在加法器1120处相加并且反馈到地面关键点检测器1110和卫星关键特征点1112,以调整车辆110的三DoF姿态并且重新投影特征点1012以形成一组新的关键特征点1016以在3D投影仪1114处与卫星关键特征点1112组合并且开始下一次迭代。当加法器1120输出的组合损失函数小于预定阈值时,卫星图像引导的地理定位系统1100停止迭代,并且输出当前估计的三DoF姿态302作为高清晰度估计的三DoF姿态1122。
图12是关于图1至图11描述的用于基于卫星图像引导的地理定位来确定高清晰度估计的三DoF姿态1122的过程1200的流程图。过程1200可以在包括在车辆110中的计算装置115中实施。过程1200包括可以按所示次序执行的多个框。替代地或另外,过程1200可以包括更少的框,或者可以包括以不同次序执行的框。
过程1200开始于框1202,其中车辆110中的计算装置115从包括在车辆110中的一个或多个摄像机获取图像400、402、404、406。一个或多个图像400、402、404、406包括关于车辆110周围的环境的图像数据,并且可以包括车辆周围的环境的任何部分,包括重叠视野208、210、212、214,只要图像400、402、404、406包括关于地平面的数据,其中地平面是与支撑车辆110的道路或表面重合的平面。
在框1204处,计算装置115获取卫星图像200。例如,可以通过经由网络130从互联网下载卫星图像200来获取卫星图像200。还可以从包括在计算装置115中的存储器中调用卫星图像200。卫星图像200包括全局坐标中的位置数据,所述位置数据可以用于确定卫星图像200中的任何点在全局坐标中的位置。可以选择卫星图像200以包括估计的三DoF姿态302。可以通过从车辆传感器116(例如GPS)获取数据来确定估计的三DoF姿态302。
在框1206处,计算装置115将获取的图像400、402、404、406输入到经训练的第一神经网络1106。第一神经网络1106可以在服务器计算机120上进行训练并且将其传输到车辆110中的计算装置115。第一神经网络1106输入图像400、402、404、406并且输出特征点508、510、512、514和置信度图708、710、712、714,如上文关于图5和图7所描述的。特征点508、510、512、514和置信度图708、710、712、714被组合以确定k个关键特征点1012,如关于图10所讨论的。
在框1208处,计算装置115输入获取的卫星图像200并且输出卫星特征点602和卫星置信度图802,如上文关于图6和图8所描述的。卫星特征点602和卫星置信度图802被组合以确定卫星3D关键特征点804,如上文关于图8和图10所描述的。
在框1210处,计算装置115通过使用如上文关于图10所述的投影几何以及相机外在和固有数据将k个关键特征点1012投影到卫星图像200的地平面上来确定3D关键特征点1016。框1210的初始迭代使用来自车辆传感器116数据的估计的三DoF姿态302。过程1200的后续迭代通过减小确定3D关键特征点1016与3D卫星关键特征点804的位置之间的几何对应关系的全局损失函数来增强估计的三DoF姿态302。几何对应关系是3D关键特征点1016和3D卫星关键特征点804中的数据点配对并且迭代地重新投影整组3D关键特征点1016以最小化每对数据点的成对位置误差或差异的过程。
在框1212处,计算装置115确定姿态感知分支1116损失函数和递归姿态细化分支1118损失函数。分别从这些函数输出的两个值被相加以形成全局损失函数,并且与预定阈值进行比较以确定过程1200是否已经收敛到解。如果全局损失函数大于阈值,则过程1200循环回到框1210,其中对累积结果进行微分以确定改变估计的三DoF姿态302的三DoF参数中的每一者的方向以在下一次迭代中减小损失函数。使用新的估计的三DoF姿态302来重新投影k个关键特征点1012以形成一组新的3D关键特征点1016以及这组新的3D关键特征点1016与3D卫星关键特征点804之间的新的几何对应关系以确定新的全局损失函数。当全局损失函数小于阈值时,过程1200已经生成了高清晰度估计的三DoF姿态1122,并且过程1200转到框1214。
在框1214处,计算装置115输出将用于操作车辆110的高清晰度估计的三DoF估计姿态1122,如下面关于图13所描述的。在框1214之后,过程1200结束。
图13是关于图1至图12描述的用于根据基于卫星图像引导的地理定位系统1100确定的高清晰度估计的三DoF姿态1122来操作车辆110的过程1300的流程图。过程1200可以由包括在车辆110中的计算装置115实施。过程1300包括可以按所示次序执行的多个框。替代地或另外,过程1300可以包括更少的框,或者可以包括以不同次序执行的框。
过程1300开始于框1302,其中车辆110中的计算装置115从包括在车辆110中的一个或多个摄像机获取一个或多个图像400、402、404、406,并且通过经由网络130下载或从包括在计算装置115中的存储器调用来获取卫星图像200。基于由车辆传感器116获取的数据来确定车辆110的估计的三DoF姿态302。
在框1304处,计算装置115通过用关于图11描述的卫星图像引导的地理定位系统1100处理一个或多个图像400、402、404、406和卫星图像200,将估计的三DoF姿态302增强为高清晰度估计的三DoF姿态1122。
在框1306处,计算装置使用高清晰度估计的三DoF姿态1122来确定车辆110的车辆路径。车辆可以基于车辆路径通过确定命令来指示车辆的动力传动系统、制动和转向部件操作车辆以便沿着所述路径行驶,而在道路上操作。车辆路径通常是车辆110可以在其上操作的多项式函数。有时被称为路径多项式,多项式函数可以随时间指定车辆位置(例如,根据x、y和z坐标)和/或姿态(例如,侧倾、俯仰和横摆)。即,路径多项式可以是描述车辆在地面上的运动的三次或更少次的多项式函数。车辆在道路上的运动由多维状态向量描述,所述多维状态向量包括车辆位置、取向、速度和加速度。具体地,车辆运动向量可以包括在x、y、z、横摆、俯仰、侧倾上的位置、横摆率、俯仰率、侧倾率、航向速度和航向加速度,其例如可以通过将多项式函数拟合到车辆运动向量中所包括的相对于地面的连续2D位置来确定。此外,例如,路径多项式p(x)是将路径预测为由多项式方程描绘的线的模型。路径多项式p(x)通过确定横向坐标p来预测路径的预定的即将进入的距离x(例如,以米为单位进行测量):
p(x)=a0+a1x+a2x2+a3x3 (1)
其中a0是偏移量,即,在即将到来的距离x处路径与车辆105的中心线之间的横向距离,a1是路径的航向角,a2是路径的曲率,并且a3是路径的曲率变化率。
多项式函数可以用于将车辆110从由高清晰度估计的三DoF姿态1122指示的当前位置引导到车辆周围的环境中的另一个位置,同时维持对横向加速度和纵向加速度的最小和最大限制。可以通过向控制器112、113、114传输命令以控制车辆推进、转向和制动来沿着车辆路径操作车辆110。在框1306之后,过程1300结束。
诸如本文描述的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于执行上文描述的过程的框或步骤。例如,上文描述的过程框可以体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(即,微处理器)接收即来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用各种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(也称为处理器可读介质)包括参与提供可以由计算机(即,由计算机的处理器)读取的数据(即,指令)的任何非暂时性(即,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可以通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、电线、无线通信,包括构成联接到计算机的处理器的系统总线的内部件。共同形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带,或计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,即,对“示例性小部件”的候选应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何形状、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的候选标记指示相同的要素。此外,可以改变这些要素中的一些或全部。关于本文所描述的介质、过程、系统、方法等,应当理解,虽然此类过程等的步骤已被描述为按照特定顺序的序列发生,但是此类过程可以通过以本文所描述的顺序以外的顺序执行的所描述步骤来实践。还应理解,可以同时执行某些步骤,可添加其他步骤,或者可以省略本文所描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种系统,所述系统具有:计算机,所述计算机包括处理器和存储器,所述存储器包括指令,所述指令可由所述处理器执行以:用第一神经网络从地面视图图像确定第一特征图和第一置信度图;基于所述第一特征图和所述置信度图来确定第一特征点;基于所述第一特征点和所述第一置信度图来确定第一三维(3D)特征位置;用第二神经网络从航拍图像确定第二特征点和第二置信度图;基于所述第一3D特征位置、所述第二特征点和所述第二置信度图来确定第二3D特征位置;并且通过迭代地确定所述第一3D特征位置与所述第二3D特征位置之间的几何对应关系直到全局损失函数小于用户确定的阈值来确定地面视图相机在全局坐标中的高清晰度估计的三自由度(DoF)姿态。
根据一个实施例,所述指令还包括用于进行以下操作的指令:通过基于几何投影变换第一3D特征位置来确定成对的第一3D特征位置和第二3D位置之间的几何对应关系,所述几何投影以地面视图相机的三DoF姿态的初始估计开始。
根据一个实施例,所述指令还包括用于进行以下操作的指令:通过将以下项相加来确定全局损失函数:1)通过计算第一3D特征位置与第二3D特征位置之间的三元组损失确定的姿态感知分支损失函数和2)通过使用Levenberg-Marquardt算法计算第一3D特征位置与第二3D特征位置之间的残差确定的递归姿态细化分支损失函数。
根据一个实施例,姿态感知分支损失函数基于地面视图相机的确定的三DoF姿态和地面实况三DoF姿态来确定特征残差。
根据一个实施例,对全局损失进行微分以确定改变地面视图相机的三DoF姿态的方向。
根据一个实施例,基于用Levenberg-Marquardt算法递归地最小化残差,随后基于估计的姿态确定重新投影损失来对全局损失进行微分以确定改变地面视图相机的三DoF姿态的方向。
根据一个实施例,基于航拍图像来确定地面视图相机在全局坐标中的估计的三自由度(DoF)姿态。
根据一个实施例,第一置信度图包括地面视图图像中包括的特征被包括在地平面中的概率。
根据一个实施例,第二置信度图包括航拍图像中包括的特征被包括在地平面中的概率。
根据一个实施例,第一神经网络和第二神经网络是包括卷积层和全连接层的卷积神经网络。
根据一个实施例,航拍图像是卫星图像。
根据一个实施例,基于全分辨率的地面视图图像生成一个或多个分辨率降低的图像,并且通过要求第一特征以全分辨率和一个或多个降低的分辨率出现在地面视图图像中的每一者中来确定第一特征。
根据一个实施例,基于车辆传感器数据来确定对地面视图相机的三DoF姿态的初始估计。
根据一个实施例,输出地面视图相机的高清晰度估计的三DoF姿态并且将其用于操作车辆。
根据一个实施例,地面视图相机的高清晰度估计的三DoF姿态和航拍图像用于确定操作车辆的车辆路径。
根据本发明,一种方法包括:用第一神经网络从地面视图图像确定第一特征图和第一置信度图;基于所述第一特征图和所述置信度图来确定第一特征点;基于所述第一特征和所述第一置信度图来确定所述第一特征的第一三维(3D)特征位置;用第二神经网络从航拍图像确定第二特征图和第二置信度图;基于所述第一3D特征、所述第二特征图和所述第二置信度图来确定第二3D特征位置;并且通过迭代地确定所述第一3D特征位置与所述第二3D特征位置之间的几何对应关系直到全局损失函数小于用户确定的阈值来确定地面视图相机在全局坐标中的高清晰度估计的三自由度(DoF)姿态。
在本发明的一个方面,所述方法包括通过基于几何投影变换第一3D位置来确定成对的第一3D特征位置和第二3D位置之间的几何对应关系,所述几何投影以地面视图相机的三DoF姿态的初始估计开始。
在本发明的一个方面,所述方法包括通过将以下项相加来确定全局损失函数:1)通过计算变换后的第一3D特征位置与第二3D特征位置之间的三元组损失确定的姿态感知分支损失函数和2)通过使用Levenberg-Marquardt算法计算变换后的第一3D特征位置与第二3D特征位置之间的残差确定的递归姿态细化分支损失函数。
在本发明的一个方面,姿态感知分支损失函数基于地面视图相机的确定的三DoF姿态和地面实况三DoF姿态来确定特征残差。
在本发明的一个方面,对全局损失进行微分以确定改变地面视图相机的估计的三DoF姿态的方向。

Claims (15)

1.一种方法,其包括:
用第一神经网络从地面视图图像确定第一特征图和第一置信度图;
基于所述第一特征图和所述置信度图来确定第一特征点;
基于第一特征和所述第一置信度图来确定所述第一特征的第一三维(3D)特征位置;
用第二神经网络从航拍图像确定第二特征图和第二置信度图;
基于所述第一3D特征、所述第二特征图和所述第二置信度图来确定第二3D特征位置;以及
通过迭代地确定所述第一3D特征位置与所述第二3D特征位置之间的几何对应关系直到全局损失函数小于用户确定的阈值来确定地面视图相机在全局坐标中的高清晰度估计的三自由度(DoF)姿态。
2.如权利要求1所述的方法,其还包括通过基于几何投影变换所述第一3D位置来确定成对的所述第一3D特征位置和所述第二3D位置之间的几何对应关系,所述几何投影以所述地面视图相机的所述三DoF姿态的初始估计开始。
3.如权利要求1所述的方法,其还包括通过将以下项相加来确定所述全局损失函数:1)通过计算变换后的第一3D特征位置与所述第二3D特征位置之间的三元组损失确定的姿态感知分支损失函数和2)通过使用Levenberg-Marquardt算法计算所述变换后的第一3D特征位置与所述第二3D特征位置之间的残差确定的递归姿态细化分支损失函数。
4.如权利要求3所述的方法,其中所述姿态感知分支损失函数基于所述地面视图相机的所述确定的三DoF姿态和所述地面实况三DoF姿态来确定特征残差。
5.如权利要求4所述的方法,其中对所述全局损失进行微分以确定改变所述地面视图相机的所述估计的三DoF姿态的方向。
6.如权利要求5所述的方法,其中基于用所述Levenberg-Marquardt算法递归地最小化所述残差,随后基于估计的姿态确定重新投影损失来对所述全局损失进行微分以确定改变所述地面视图相机的所述三DoF姿态的方向。
7.如权利要求1所述的方法,其中基于所述航拍图像来确定所述地面视图相机在全局坐标中的所述估计的三自由度(DoF)姿态。
8.如权利要求1所述的方法,其中所述第一置信度图包括所述地面视图图像中包括的特征被包括在地平面中的概率。
9.如权利要求1所述的方法,其中所述第二置信度图包括所述航拍图像中包括的特征被包括在地平面中的概率。
10.如权利要求1所述的方法,其中所述第一神经网络和所述第二神经网络是包括卷积层和全连接层的卷积神经网络。
11.如权利要求1所述的方法,其中所述航拍图像是卫星图像。
12.如权利要求1所述的方法,其中基于全分辨率的所述地面视图图像生成一个或多个分辨率降低的图像,并且通过要求所述第一特征以全分辨率和所述一个或多个降低的分辨率出现在所述地面视图图像中的每一者中来确定所述第一特征。
13.如权利要求1所述的方法,其中基于车辆传感器数据来确定对所述地面视图相机的三DoF姿态的初始估计。
14.如权利要求1所述的方法,其中输出所述地面视图相机的所述高清晰度估计的三DoF姿态并且将其用于操作车辆。
15.一种系统,其包括被编程为执行如权利要求1至14中任一项所述的方法的计算机。
CN202410335641.6A 2023-03-28 2024-03-22 相机定位 Pending CN118735999A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18/191,165 2023-03-28
US18/191,165 US20240328816A1 (en) 2023-03-28 2023-03-28 Camera localization

Publications (1)

Publication Number Publication Date
CN118735999A true CN118735999A (zh) 2024-10-01

Family

ID=92712970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410335641.6A Pending CN118735999A (zh) 2023-03-28 2024-03-22 相机定位

Country Status (3)

Country Link
US (1) US20240328816A1 (zh)
CN (1) CN118735999A (zh)
DE (1) DE102024108500A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20250155254A1 (en) * 2023-11-14 2025-05-15 Ford Global Technologies, Llc Localization with point to line matching

Also Published As

Publication number Publication date
US20240328816A1 (en) 2024-10-03
DE102024108500A1 (de) 2024-10-02

Similar Documents

Publication Publication Date Title
US20240295655A1 (en) Vehicle navigation based on aligned image and lidar information
CN111442776B (zh) 顺序地面场景图像投影合成与复杂场景重构的方法及设备
US10955857B2 (en) Stationary camera localization
CN111209790A (zh) 使用相邻车辆的姿态观察进行路面表征
US11299169B2 (en) Vehicle neural network training
EP4020111B1 (en) Vehicle localisation
US11527012B2 (en) Vehicle pose determination
CN111986128A (zh) 偏心图像融合
CN110726399A (zh) 姿态估计
US12100189B2 (en) Three-dimensional object detection
CN112146618A (zh) 车辆视觉测距法
CN116783886A (zh) 多相机的基于运动的在线校准
US12217450B2 (en) Vehicle localization
US20240271941A1 (en) Drive device, vehicle, and method for automated driving and/or assisted driving
CN118735999A (zh) 相机定位
US12197208B2 (en) Camera calibration
US20230267640A1 (en) Pose estimation
US20250095169A1 (en) Camera pose refinement with ground-to-satellite image registration
US20250155254A1 (en) Localization with point to line matching
US12450774B2 (en) Visual odometry for operating a movable device
US12475596B2 (en) System for operating a movable device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication