CN116580374A - 车辆定位 - Google Patents
车辆定位 Download PDFInfo
- Publication number
- CN116580374A CN116580374A CN202310052551.1A CN202310052551A CN116580374A CN 116580374 A CN116580374 A CN 116580374A CN 202310052551 A CN202310052551 A CN 202310052551A CN 116580374 A CN116580374 A CN 116580374A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- pose
- image
- camera
- dof
- 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
Links
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 10
- 230000033001 locomotion Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 50
- 238000000692 Student's t-test Methods 0.000 claims description 8
- 238000012353 t test Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- XGWIJUOSCAQSSV-XHDPSFHLSA-N (S,S)-hexythiazox Chemical compound S([C@H]([C@@H]1C)C=2C=CC(Cl)=CC=2)C(=O)N1C(=O)NC1CCCCC1 XGWIJUOSCAQSSV-XHDPSFHLSA-N 0.000 description 1
- 241001028048 Nicola Species 0.000 description 1
- 241000124703 Torilis Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- DQJCHOQLCLEDLL-UHFFFAOYSA-N tricyclazole Chemical compound CC1=CC=CC2=C1N1C=NN=C1S2 DQJCHOQLCLEDLL-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Remote Sensing (AREA)
- Biodiversity & Conservation Biology (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供“车辆定位”。可以通过将由车辆相机获取的第一图像输入到第一卷积神经网络来确定路线上的大致相机位置。可以使用特征提取算法从第一图像中提取第一图像特征点。可以基于所述大致相机位置来选择用于姿态估计算法的姿态估计参数。可以通过将所述第一图像特征点和包括在基于所述路线的运动恢复结构(SfM)地图中的第二特征点输入到由所述姿态估计参数控制的所述姿态估计算法来确定六自由度(DoF)相机姿态。可以基于所述六DoF相机姿态确定六DoF车辆姿态。
Description
技术领域
本公开涉及车辆中用于确定对象的位置的感测系统。
背景技术
图像可以由传感器获取并使用计算机进行处理以确定关于系统周围环境中的对象的数据。感测系统的操作可以包括获取关于系统环境中的对象的准确且及时的数据。计算机可以从一个或多个图像传感器获取图像,所述图像可以被处理以确定对象的位置。计算机可以使用从图像中提取的对象位置数据来操作系统,包括车辆、机器人、安全和对象跟踪系统。
发明内容
感测系统可以获取关于系统周围的环境的数据(例如图像数据),并且处理所述数据以确定对象的位置。例如,计算机可以被编程为确定由系统中的传感器获取的图像数据中的对象的位置,所述系统包括车辆引导、机器人操作、安全性、制造和产品跟踪。车辆引导可以包括车辆在包括多个对象的环境中在自主或半自主模式下操作。机器人引导可以包括引导机器人末端执行器(例如夹持器)来拾取零件并对零件进行取向以在包括多个零件的环境中进行组装。安全系统包括其中计算机从观察安全区域的相机获取视频数据以向授权用户提供访问权限并检测包括多个用户的环境中的未经授权进入的特征。在制造系统中,DNN可以确定包括多个零件的环境中的一个或多个零件的位置和取向。在产品跟踪系统中,深度神经网络可以确定包括多个包裹的环境中的一个或多个包裹的位置和取向。
车辆引导在本文中将被描述为使用计算机来确定交通场景中的对象(例如,车辆)的位置并且基于确定的位置来确定操作车辆的车辆路径的非限制性示例。交通场景是交通基础设施系统或车辆周围的环境,其可以包括道路的一部分以及包括建筑物、桥梁、车辆和行人等的对象。例如,车辆中的计算装置可以被编程为从包括在车辆中的一个或多个传感器获取一个或多个图像、确定图像中对象的位置并确定车辆相对于所确定的对象的位置的位置。基于处理车辆周围环境的图像来确定车辆的位置可以被称为车辆定位或六自由度(DoF)相机姿态估计。
基于车辆定位来操作车辆可以包括确定车辆的六自由度(DoF)姿态。六DoF姿态包括相对于x、y和z正交轴的三个位置测量值以及分别围绕三个正交轴的三个旋转测量值(侧倾、俯仰和横摆)。六DoF姿态通常相对于全局坐标系(例如纬度、经度和海拔)进行测量。基于车辆定位来操作车辆可以包括将车辆的六DoF姿态确定为在x、y和z坐标中在+/-10厘米(cm)内以及在三个旋转中的每一个中在+/-1度内。例如,确定车辆六DoF姿态在位置上在+/-10cm内并且在旋转上在+/-1度内可以允许车辆在交通中的道路上以合法速度限制移动的操作。
用于车辆定位的技术包括使用卫星信号确定车辆位置的全球定位系统(GPS)接收器。可以使用实时运动学(RTK)信号将GPS位置数据改进为在精度上接近10cm(厘米),所述实时运动学(RTK)信号用地面信号增强卫星数据。GPS-RTK由于诸如隧道、桥梁和高层建筑物的结构引起的阻塞和多次信号反射而遭受问题。惯性测量单元(IMU)采用加速度计来确定相对运动。IMU需要额外的硬件和软件来进行初始化和校准以确定关于全局坐标的位置,并且具有提供车辆定位所需的准确性和可靠性的IMU太昂贵而无法包括在车辆中。在没有由信号阻塞或多次信号反射引起的问题的情况下,如本文所述的基于图像数据的车辆定位可以提供在位置上在+/-10cm以内并且在旋转上在+/-以内的六DoF车辆姿态数据,而无需除了已经包括在自主车辆中的典型传感器和计算资源之外的附加传感器和计算资源。
有利地,通过如本文所述的六DoF相机姿态估计进行的车辆定位可以提高车辆中的计算装置使用单目RGB相机确定车辆周围环境中的六DoF车辆姿态的能力。一种单目相机包括具有单个光轴的单个镜头总成,所述单个镜头总成在单个传感器或传感器总成上形成图像。RGB相机是获取包括单独的红色像素、绿色像素和蓝色像素的彩色图像数据的相机。如本文所讨论的六DoF相机姿态估计使用由包括在车辆中的单目RGB相机和计算装置获取的图像,以基于先前获取的运动恢复结构(SfM)地图来确定六DoF车辆姿态。SfM地图包括关于车辆路线周围的环境的三维(3D)数据,其中路线是车辆可以沿着其行驶的包括相对于地图以全局坐标确定的起点和终点的一系列连接的位置。如本文所述的六DoF相机姿态估计可以在独立的基础上用于车辆定位,或者与GPS-RTK车辆定位相组合以提高车辆定位的可靠性和准确性。
使用先前获取的SfM地图的六DoF相机姿态估计可以被称为同时定位和建图(SLAM)的类型。SLAM可以被描述为确定或更新未知环境的地图,同时确定地图内的代理(诸如车辆)的位置。本文讨论的技术通过穿越路线获取该路线的地图,然后调整参数来改进基本SLAM技术,所述参数基于在路线的后续穿越中获取的图像数据来控制六DoF相机姿态估计。可以选择诸如相机选择、图像区域选择、局部特征匹配器选择、再投影误差选择和RANSAC评分函数选择等参数来改进六DoF相机姿态估计。下文将关于图6讨论这些参数。以这种方式选择参数可以提高基于SfM地图的六DoF相机姿态估计的准确性和可靠性,并且允许在更长的时间段内估计六DoF相机姿态,而无需更新SfM地图,即,不管环境的季节性变化以及包括在SfM地图中的建筑物和结构的改变。
本文公开了一种方法,所述方法包括:通过将由相机获取的第一图像输入到卷积神经网络来确定路线上的大致相机位置,从所述第一图像提取第一图像特征点,基于所述大致相机位置来选择用于姿态估计算法的姿态估计参数,通过将所述第一图像特征点和包括在基于所述路线的运动恢复结构(SfM)地图中的第二特征点输入到由所述姿态估计参数控制的所述姿态估计算法来确定六自由度(DoF)相机姿态,以及基于所述六DoF相机姿态确定六DoF车辆姿态。可通过基于六DoF车辆姿态确定车辆路径来操作车辆。可由包括在车辆中的相机随所述车辆行驶所述路线来获取参考图像的数据集。可基于参考图像的通用数据集来训练所述卷积神经网络。所述SfM地图可包括从所述路线可见的通过根据参考图像的所述数据集在全局坐标中确定图像特征点的三维位置并使用3D制图软件程序将它们组合而生成的三维点的集合。
所述姿态估计算法可包括随机样本一致性(RANSAC)循环中的N点透视(P-n-P)算法。所述姿态估计参数可包括相机选择、图像区域选择、特征匹配器、再投影误差和RANSAC评分函数中的一者或多者。可相对于所述路线的具有大致相等长度的重叠部分基于所述大致相机位置来选择所述姿态估计参数。从所述第一图像提取所述第一图像特征点可包括使用特征提取算法,所述特征提取算法包括超点、可靠且可重复的检测器和描述符以及尺度不变特征变换中的一者或多者。可通过确定所述车辆与所述相机之间的六DoF偏移而基于所述六DoF相机姿态来确定所述六DoF车辆姿态。可在相对于三个正交位置轴和分别围绕所述三个正交位置轴的三个旋转的全局坐标中确定所述六DoF相机姿态和所述六DoF车辆姿态。所述3D制图软件程序可包括COLMAP、AgiSoft Metashape和VisualSFM中的一者或多者。所述姿态估计软件可以以不同的配置参数和不同的随机种子进行n次试验。针对统计显著性的配对两样本t检验可用于将来自试验的结果与基线配置进行比较。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种包括计算机设备的计算机,所述计算机被编程用于执行上述方法步骤中的一些或全部,所述计算机被编程为:通过将由相机获取的第一图像输入到卷积神经网络来确定路线上的大致相机位置,从所述第一图像提取第一图像特征点,基于所述大致相机位置来选择用于姿态估计算法的姿态估计参数,通过将所述第一图像特征点和包括在基于所述路线的运动恢复结构(SfM)地图中的第二特征点输入到由所述姿态估计参数控制的所述姿态估计算法来确定六自由度(DoF)相机姿态,以及基于所述六DoF相机姿态确定六DoF车辆姿态。可通过基于六DoF车辆姿态确定车辆路径来操作车辆。可由包括在车辆中的相机随所述车辆行驶所述路线来获取参考图像的数据集。可基于参考图像的通用数据集来训练所述卷积神经网络。所述SfM地图可包括从所述路线可见的通过根据参考图像的所述数据集在全局坐标中确定图像特征点的三维位置并使用3D制图软件程序将它们组合而生成的三维点的集合。
所述指令可包括另外的指令,其中所述姿态估计算法可包括随机样本一致性(RANSAC)循环中的N点透视(P-n-P)算法。所述姿态估计参数可包括相机选择、图像区域选择、特征匹配器、再投影误差和RANSAC评分函数中的一者或多者。可相对于所述路线的具有大致相等长度的重叠部分基于所述大致相机位置来选择所述姿态估计参数。从所述第一图像提取所述第一图像特征点可包括使用特征提取算法,所述特征提取算法包括超点、可靠且可重复的检测器和描述符以及尺度不变特征变换中的一者或多者。可通过确定所述车辆与所述相机之间的六DoF偏移而基于所述六DoF相机姿态来确定所述六DoF车辆姿态。可在相对于三个正交位置轴和分别围绕所述三个正交位置轴的三个旋转的全局坐标中确定所述六DoF相机姿态和所述六DoF车辆姿态。所述3D制图软件程序可包括COLMAP、AgiSoftMetashape和VisualSFM中的一者或多者。所述姿态估计软件可以以不同的配置参数和不同的随机种子进行n次试验。针对统计显著性的配对两样本t检验可用于将来自试验的结果与基线配置进行比较。
附图说明
图1是示例性交通基础设施系统的框图。
图2是示例性交通场景的图示。
图3是包括特征点的交通场景的示例性图像的图示。
图4是示例性运动恢复结构(SfM)地图的图示。
图5是示例性路线系统的图示。
图6是示例性六自由度相机姿态系统的图示。
图7是用于确定六自由度车辆姿态的示例性过程的流程图。
具体实施方式
图1是可以包括交通基础设施系统105的感测系统100的图示,所述交通基础设施系统包括服务器计算机120和固定传感器122。感测系统100包括车辆110,所述车辆可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式下操作。一个或多个车辆110的计算装置115可从传感器116接收关于车辆110的操作的数据。计算装置115可以自主模式、半自主模式或非自主模式操作车辆110。
计算装置115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
计算装置115可以包括多于一个计算装置(例如,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等(例如,动力传动系统控制器112、制动控制器113、转向控制器114等)),或例如经由如下面进一步描述的车辆通信总线通信地联接到所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(例如,包括车辆110中的总线,诸如控制器局域网络(CAN)等)通信;车辆110网络可另外或替代地包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
计算装置115可经由车辆网络向车辆中的各种装置(例如,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。另外,如下文所提及,各种控制器或感测元件(诸如传感器116)可经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可被配置用于通过车辆对基础设施(V2I)接口111经由网络130与远程服务器计算机120(诸如云服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网或蜂窝网络的网络130与远程服务器计算机120通信。因此,V2I接口111可以包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝、/>以及有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置115可被配置用于使用例如在邻近车辆110之间在移动自组网的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V2V)网络(例如根据专用短程通信(DSRC)和/或类似的通信)通过V2I接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络和车辆对基础设施(V2I)接口111传输到服务器计算机120或用户移动装置160。
如已经提及的,通常包括在存储在存储器中并可由计算装置115的处理器执行的指令中的是用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(例如,制动、转向、推进等)的编程。使用在计算装置115中接收的数据(例如,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆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、V2I接口111、计算装置115和一个或多个控制器112、113、114。传感器116可以收集与车辆110和车辆110的操作环境相关的数据。以举例的方式但非限制,传感器116可以包括例如测高仪、相机、激光雷达、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用来感测车辆110的操作环境,例如,传感器116可以检测诸如天气状况(降雨、外部环境温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率电平、在部件之间的连接性以及车辆110的部件的准确且及时的性能。
车辆可被配备成以自主模式和乘员驾驶模式两者操作。半自主模式或完全自主模式意指车辆可由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。车辆可能被占用或未被占用,但是在任一种情况下,都可在没有乘员协助的情况下部分地或完全地驾驶车辆。出于本公开的目的,自主模式被定义为车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一个由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一者或多者。在非自主模式中,这些都不由计算机控制。
图2是交通场景200的图示。交通场景200包括道路202和车辆110。车辆110在道路202上沿着路线204行驶。当车辆110在道路202上沿着路线204行驶时,相机206(其可以是单目RGB相机)获取(由虚线指示)图像208、210、212、214、216、218(统称为图像222)。图像222可以与关于在获取每个图像208、210、212、214、216、218时的车辆110的位置的六DoF姿态数据一起存储在车辆110中所包括的计算装置115中。六DoF姿态数据可以由GPS-RTK数据、IMU数据和激光雷达传感器220数据中的一者或多者确定。GPS-RTK数据、IMU数据和激光雷达传感器220数据可以与例如从服务器计算机120下载的高分辨率地图数据组合,以确定全局坐标下的六DoF车辆姿态数据。
可以处理图像222和指示在获取每个图像208、210、212、214、216、218时车辆的位置的六DoF车辆姿态数据,以确定路线204的图像数据库和SfM地图。图像数据库和SfM地图可以存储在车辆110中的计算装置115中所包括的存储器中或传输到服务器计算机120。稍后,在路线204上行驶的车辆可以从计算装置115存储器调用图像数据库和SfM地图,或者从服务器计算机120接收图像数据库和SfM地图,并使用图像数据库和SfM地图来使用六DoF相机姿态估计确定车辆六DoF姿态。在输入到图像数据库中之前,图像222由计算装置115或服务器计算机120处理以确定图像特征点。图像特征点是由图像处理软件确定的图像中的位置,所述图像处理软件基于像素值的布置来确定图像位置。例如,形成边、拐角、线的交点等的像素值可以用于确定特征点。
图3是当车辆110在路线204上行驶时获取的车辆110周围的环境的图像300的图示。图像300包括在车辆周围的环境中出现的对象,所述对象可以包括树叶,或者在该示例中,包括建筑物302。可以使用图像处理软件来处理图像300以确定在图像300中指示为圆圈的特征点304。可以确定图像300中的特征点304的图像处理软件的示例包括超点、可靠且可重复的检测器和描述符(R2D2)以及尺度不变特征变换(SIFT)。超点、R2D2和SIFT是输入图像数据并输出特征点的软件程序。超点、R2D2和SIFT都通过处理像素邻域以确定可以在包括相同对象的多个图像中可靠且可重复地确定的像素值的布置的位置来确定特征点,不管在照明、尺度和视角方面的差异。超点、R2D2和SIFT可以确定相对于获取图像的条件的差异不变的特征点。例如,超点、R2D2和SIFT可以确定类似对象上的相同特征点,尽管它们是在一天中的不同时间从不同视角以不同的照明条件获取的。
如本文所述的六自由度相机姿态估计用超点、R2D2和SIFT中的一者或多者处理所获取的图像222以确定特征点304。图像222、每个图像300的特征点以及在获取图像222时相机的六DoF姿态可以输入到路线204的图像数据库。可以通过将六DoF相机偏移添加到六DoF车辆姿态来确定六DoF相机姿态。六DoF相机偏移是相机相对于车辆的位置和取向的位置和取向的差异。因为相机与车辆处于固定关系,所以可以在将相机安装在车辆中时(通常在制造时)测量六DoF相机偏移。可以通过行驶路线204一次并获取重叠图像222来构建图像数据库,或者可以多次行驶路线204,并且处理来自路线204的多次穿越的图像222并将其输入到图像数据库。包括在图像数据库中的特征点304是2D特征点304,这意味着特征点是关于其在2D图像阵列中的x,y像素位置来确定的。然后可以使用图像数据库来基于路线204创建SfM地图。
图4是SfM地图400的图示。SfM地图包括路线402,该路线已由包括在车辆110中的相机随车辆行驶该路线而行驶了一次或多次,从而获取图像404、406并构建包括图像404、406、每个图像的六DoF相机姿态和每个图像的特征点408、410的图像数据库。图像404、406重叠意味着各种特征点408、410可以各自出现在多于一个图像404、406中。因为图像404、406是在车辆110沿着路线402行驶时获取的,所以通常从多于一个位置以六自由度观察特征点408、410。这允许从两个或更多个不同的视角对单个2D特征点408、410的位置进行三角测量,并且相对于路线402确定特征点408、410的三维3D位置。SfM地图400示出了基于特征点408、410相对于路线402组合的多个图像404、406。可以使用根据图像数据生成3D点云图(诸如SfM地图)的制图软件将图像404、406组合成SfM地图400。
根据图像数据生成3D点云图的制图软件的示例是COLMAP软件程序(https://colmap.github.io,自本申请的提交日期起可用)。COLMAP在J.L.和J.Frahm的“Structure-from-Motion Revisited”(2016IEEE计算机视觉和模式识别(CVPR)会议,2016年,第4104-4113页)中描述。其他3D制图软件程序包括在本申请的提交日期起可从https://www.agisoft.com/获得的AgiSoft Metashape和可从http://ccwu.me/vsfm/获得的VisualSFM。AgiSoft Metashape也被称为摄影测量软件,摄影测量是指从照片确定测量值的术语。
图5是可以输出SfM地图510的路线系统500的图示。路线系统500可以接收多个图像502作为输入,所述多个图像包括在车辆穿越路线204、402时获取的六DoF相机姿态。包括六DoF相机姿态的图像502被输入到特征点提取块504以确定图像502中包括的2D特征点。特征点提取可以包括超点、R2D2或SIFT中的一者或多者。在替代实现方式中,可以基于所获取的参考图像的数据集来训练卷积神经网络,以在特征点提取块504中从图像502提取2D特征点。图像502、六DoF相机姿态和提取的2D特征点可以输出到图像数据库506并传递到SfM构建块508。例如,所述SfM地图包括可通过光学传感器从路线捕获并通过根据参考图像的所述数据集在全局坐标中确定图像特征点的三维位置并使用COLMAP算法将它们组合而生成的三维点的集合。在SfM构建块508处,COLMAP软件可以根据图像502、六DoF姿态和2D特征点构建3D SfM地图,如上面关于图4所讨论的。可以从SfM构建块508输出完整的SfM地图510。
图6是六DoF相机姿态系统600的图示。当车辆110在路线204、402上行驶时,六DoF相机姿态系统600可以接收由车辆相机206获取的图像602作为输入,并且输出六DoF车辆姿态。在相对于三个正交x,y,z轴和围绕正交位置轴的三个旋转的全局坐标中确定所述六DoF车辆姿态。可基于一个或多个六DoF相机姿态以及相机与车辆之间的六DoF偏移中的一者或多者来确定所述六DoF车辆姿态。可以基于组合成SfM地图的所获取的相机数据来确定六DoF相机姿态。路线204、402先前已经由车辆110或配备有传感器的另一车辆行驶了一次或多次以获取图像数据和六DoF相机姿态数据。图像数据库506和SfM地图510已经由路线系统500生成并且从包括在车辆110中的计算装置115中所包括的存储器调用或从服务器计算机120下载。除了图像数据库506和SfM地图510之外,六DoF相机姿态系统600已经用于处理来自图像数据库506的图像以确定最佳图像参数用于从SfM地图510确定六DoF相机姿态。
如下面将进一步讨论的,在六DoF相机姿态确定块608处,随机样本一致性(RANSAC)循环中的N点透视(P-n-P)算法通过比较从图像602提取的2D特征点与SfM地图510中包括的3D点来确定六DoF相机姿态。在如上面关于图4所讨论的那样生成SfM地图510时,路线被划分为潜在地重叠的路段,所述路段的长度可以是大致相等的并且长度例如为约100米。例如,可以确定路段从0到75%重叠。可以通过沿着路段获取的图像的内容的相似性来确定路段和重叠。例如,路线路段可以包括主要包括树叶的图像。另一个路段可以包括主要包括建筑物的图像。以这种方式将路线划分为路段可以允许针对正在处理的图像数据的内容优化P-n-P/RANSAC循环。
在确定SfM地图时,可以多次将来自图像数据库的图像输入到六DoF相机姿态系统600,每次改变相机选择、图像区域选择和控制P-n-P/RANSAC循环的姿态估计参数。相机选择是指选择用来获取图像的包括在车辆110中的可能的多个相机中的哪一个。包括在车辆110中的每个相机可以相对于车辆110周围的环境具有不同的视野,并且因此,来自不同相机的图像可以不同地匹配包括在图像数据库中的图像。可以使用卷积神经网络将来自不同相机的图像与图像数据库中的图像进行比较,以确定哪个图像与图像数据库最匹配。可以在包括获取的车辆周围环境的随机图像的通用数据集上训练比较图像的卷积神经网络。
一旦选择了与图像数据库最匹配的相机图像,就选择了包括在来自图像数据库的匹配图像中的SfM地图中包括的特征点的子集。在训练期间,可以将输出的六DoF相机姿态与图像数据库中包括的地面实况六DoF相机姿态进行比较,以基于选择的图像、选择的图像区域(即,来自一个或多个参考图像的特征点的子集)和选择的姿态估计参数来确定输出的六DoF相机姿态的准确度。可以为包括六DoF相机姿态的路线路段选择确定最准确的六DoF相机姿态的图像、图像区域和姿态估计参数。
图像、图像区域和姿态估计参数的单个配置由这些变量(例如,MNN匹配器、5像素再投影误差、5000次RANSAC迭代、MAGSAC评分、10个检索到的参考图像)的值的组合给出。我们的方法旨在为路线的每个路段中的每个位置从一组N个可能的配置(C1,…,CN)中选择最佳配置。这些配置中的一个,例如C1,将是基线配置。这些可以是实现PnP+RANSAC(例如,OpenCV)的软件包内的默认参数,或者它们可以是关于跨所有可能配置的整个路线的姿态估计性能的最佳参数集。默认情况下,对于沿着路线的每个位置,可以选择基线C1。然而,如果剩余配置中的任一者基于将针对相关联的训练图像的车辆110的x,y位置与地面实况进行比较而产生优异的六DoF相机姿态估计性能,则替代地使用那些配置中的一者将是优选的。
对于与给定配置Ci的位置相关联的每个训练图像,我们进行n次试验,其中针对每次试验将不同的随机种子以及给定的配置参数传递给PnP+RANSAC。这产生了一组平移误差t_i值,包括在1,…,t_i,n中,其中t_i,j是配置i试验j的平移误差。对于所有配置之间的相同试验次数,随机种子值是相同的。也对基线C1执行该程序。对于C2,…,CN,我们针对统计显著性使用配对两样本t检验以获得将样本t_i,1,…,t_i,n与基线t_1,1,…,t_1,n进行比较的手段。我们想要检验针对配置Ci,真实平均平移误差是否低于基线(换句话说,考虑到RANSAC中存在的固有随机性,Ci是否优于C1)。
与标准两样本t检验相比,我们选择配对两样本t检验,因为同一试验的配置之间的样本共享相同的随机种子。配对t检验将产生配置Ci的p值,表示为p_i,并且通过将该p_i与用户选择的临界值(例如,0.05或0.1)进行比较,我们可以确定配置Ci是否优于基线C1。对于每个配置C2,…,CN,我们具有通过执行配对两样本t检验来确定的一组相关联的p值p_1,…,p_N。如果这些p值都不小于临界值,则与基线相比,没有其他配置在统计显著性上更好,并且我们选择C1作为地点配置。否则,我们选择具有最低p值的配置,其是用于确定最强配置的代理。
继续图6,由车辆110中的相机206获取的图像602被输入到2D特征点提取块604以提取2D特征点,如上面关于图4和图5所讨论的。首先使用诸如APGeM、DenseVLAD、NetVLAD等技术来执行图像检索。该步骤确定来自图像数据库的图像集以执行2D特征点之间的2D-2D匹配。APGeM是平均精度广义平均池化,并且在Revaud、Jon A.Almazán、RafaelS.Rezende、Cesar De Souza的“Learning with Average Precision:Training ImageRetrieval with aListwise Loss”(ICCV 2019)中有所描述。DenseVLAD是用于从图像数据库中检索匹配图像的另一种技术,并且在Donghwan Lee、Soohyun Ryu、Suyong Yeon、Yonghan Lee、Deokhwa Kim、Cheolho Han、Yohann Cabon、Philippe Weinzaepfel、NicolasGuérin、Gabriela Csurka、Martin Humenberger的“Large-scale Localization Datasetsin Crowded Indoor Spaces”(CVPR 2021)中有所描述。NetVLAD是用于从图像数据库确定匹配图像的另一种技术,并且在Relja/>Petr Gronat、Akihiko Torii、TomasPajdla、Josef Sivic的“NetVLAD:CNN architecture for weakly supervised placerecognition”(CVPR 2016)中有所描述。这些技术将来自输入图像602的2D特征点与包括在图像数据库506中的2D特征点进行比较,以确定来自图像数据库的包括所提取的2D特征点中的一个或多个的图像集。
将提取的2D特征点输入到2D-2D匹配606,其中可以通过将提取的2D特征点的位置与图像数据库中的特征点的位置进行迭代匹配以最小化两个集之间的求和的欧几里德距离来执行所提取的2D-2D匹配。例如,可以使用相互最近邻来确定匹配。对于图像对,如果第二图像中与第一特征匹配的最小欧几里德特征距离点具有作为其对应的最小距离点的第一特征,则认为两个特征满足相互最近邻。可以使用几何验证来过滤来自图像数据库的图像集,以确保来自图像数据库的图像集从由输入图像602获取的相同3D位置获取。在相互最近邻匹配以确定2D-2D匹配之后,可以通过验证匹配与姿态估计的一致性来应用进一步的几何验证。几何匹配可以将针对如上所述的来自图像数据库的图像集确定的3D位置与来自相机的六DoF姿态的投影射线进行比较,以确保它们相交。
来自每个车辆图像/数据库对的2D-2D匹配被聚合并转换成与SfM地图的2D-3D匹配。然后将PnP+RANSAC应用于2D-3D匹配集。基于选择的路线路段,可以选择先前选择的相机和控制P-n-P/RANSAC循环的一组确定的姿态估计参数,所述一组确定的姿态估计参数已经被确定为优化由P-n-P/RANSAC循环确定的六DoF相机姿态的准确性。在确定姿态估计参数之后,将来自获取的输入图像602的2D特征点和来自图像数据库的图像集的该组2D特征点输入到六DoF相机姿态确定608。以大致相机位置开始P-n-P/RANSAC循环可以显著地加速确定六DoF相机姿态的过程。
在六DoF相机姿态确定块608处,将来自获取的图像602的2D特征点和在2D-2D匹配时选择的来自图像数据库的图像集中包括的2D特征点输入到P-n-P/RANSAC循环以确定六DoF相机姿态。P-n-P算法基于通过最小化以下方程将来自输入图像602的2D特征点与包括在SfM地图中的3D特征点进行匹配来确定六DoF相机姿态:
其中R、t是六DoF相机姿态相对于SfM地图的旋转和平移,uj是{1,…,j,…N}2D特征点,并且Xj是来自SfM的{1,…,j,…N}3D特征点。在RANSAC循环内迭代地评估方程(1)以确定最小值,即,使用高斯-牛顿非线性梯度下降算法的来自输入图像602的2D特征点与来自SfM地图的一组3D特征点之间的最佳匹配。RANSAC循环是指用于系统地忽略异常数据点,即,忽略匹配不良的各对2D/3D特征点以帮助算法更快地收敛的技术。
控制P-n-P/RANSAC循环的姿态估计参数包括相机选择、图像部分选择、局部特征匹配器、再投影误差和RANSAC评分函数。示例性车辆110可以具有六个相机,每个相机面向相对于车辆的不同方向,即前方、左侧、右侧、后方等。每个相机可以具有SfM重建,并且每个路线路段可以具有相机指示符,其指示要使用哪个相机图像作为其配置的一部分。局部特征匹配器参数在相互最近邻(MNN)匹配与MNN+几何验证匹配之间进行选择。MNN匹配要求2D特征点和3D特征点在两组特征点中都是彼此的最近邻。几何验证确定来自当前六DoF相机姿态的2D特征点的投影在适当位置处与SfM 3D地图相交,如上面所讨论的。再投影误差参数确定P-n-P/RANSAC循环是收敛到5像素误差、10像素误差还是15像素误差。RANSAC评分参数修改RANSAC算法以用MAGSAC评分函数替换引导RANSAC算法中的异常结果的选择的σ参数,所述MAGSAC评分函数包括引导异常值的选择的固定上限。MAGSAC可以延迟P-n-P/RANSAC循环的收敛,但是可以产生更稳定的结果。局部特征匹配器的两个选择、再投影误差的三个选择以及RANSAC评分参数的两个选择产生12种不同的姿态估计参数可能性。每个路线路段将具有选择的在检验数据集上产生最准确结果的12个不同的可能姿态估计参数组合的一组姿态估计参数。
在相对于三个正交位置轴(x,y,z,坐标轴)和三个旋转轴(定义围绕位置轴的相应旋转)的全局坐标中确定的六DoF相机姿态被输出为六DoF车辆姿态确定610,其中基于六DoF相机姿态与六DoF车辆姿态之间的六DoF偏移将六DoF相机姿态转换为六DoF车辆姿态。可在将相机安装在车辆110中时确定六DoF相机姿态与六DoF车辆姿态之间的六DoF偏移。六DoF车辆姿态可被输出到车辆110中包括的计算装置115,以用于操作车辆110。因为六DoF车辆姿态是相对于高分辨率地图确定的,所以可以使用六DoF车辆姿态来操作车辆110。车辆中的计算装置115可以确定车辆110预期在其上行驶的相对于高分辨率地图的车辆路径。也可使用该六DoF车辆姿态通过控制车辆动力传动系统、车辆转向和车辆制动中的一者或多者来保持车辆相对于车辆路径的位置。更新六DoF车辆姿态可以向计算装置115提供反馈,以允许计算装置115引导车辆110在车辆路径上操作。
图7是相关于图1到图6所描述的用于基于由车辆传感器116获取的图像来确定六DoF车辆姿态的过程700的流程图。过程700可以由计算装置115或服务器计算机120的处理器来实施,所述处理器将来自传感器116的图像数据作为输入,并在计算装置115上执行命令,并且输出六DoF车辆姿态。过程700包括可以按所示次序执行的多个框。替代地或另外,过程700可以包括更少的框,或者可以包括以不同次序执行的框。
过程700开始于框702,其中计算装置115将查询图像602输入到六DoF相机姿态系统600。查询图像602可以是可以由包括在车辆110中的相机获取的单目RGB图像。
在框704处,六DoF相机姿态系统600确定2D图像特征,如上文关于图3和图5所讨论的。
在框706处,六DoF相机姿态系统600基于2D图像特征来确定包括在图像数据库中的图像集,并且确定相机相对于路线402的大致位置。
在框708处,六DoF相机姿态系统600使用P-n-P/RANSAC算法和SfM地图基于2D图像特征、来自图像数据库的图像集和基于相机的大致位置的姿态估计参数来确定六DoF相机姿态,如上文关于图6所述。
在框710处,六DoF相机姿态系统600基于六DoF相机姿态来确定六DoF车辆姿态,如上面关于图6所讨论的。在框710之后,过程700结束。
诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文论述的过程框可体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、线、无线通信,包括构成联接到计算机的处理器的系统总线的内部件。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何形状、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的附图标记指示相同的要素。另外,可改变这些要素中的一些或全部。相对于本文描述的介质、过程、系统、方法等,应理解,尽管此类过程等的步骤或框已被描述为根据特定的有序顺序发生,但是此类过程可通过以本文描述的次序以外的次序执行所描述的步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种计算机,所述计算机具有:处理器;和存储器,所述存储器包括可由处理器执行以进行以下操作的指令:通过将由相机获取的第一图像输入到卷积神经网络来确定路线上的大致相机位置;从所述第一图像提取第一图像特征点;基于所述大致相机位置来选择用于姿态估计算法的姿态估计参数;通过将所述第一图像特征点和包括在基于所述路线的运动恢复结构(SfM)地图中的第二特征点输入到由所述姿态估计参数控制的所述姿态估计算法来确定六自由度(DoF)相机姿态;以及基于所述六DoF相机姿态确定六DoF车辆姿态。
根据实施例,所述指令包括用于通过基于六DoF车辆姿态确定车辆路径来操作车辆的另外的指令。
根据实施例,由包括在车辆中的相机随所述车辆行驶所述路线来获取参考图像的数据集。
根据实施例,基于参考图像的通用数据集来训练所述卷积神经网络。
根据实施例,所述SfM地图包括从所述路线可见的通过根据参考图像的所述数据集在全局坐标中确定图像特征点的三维位置并使用3D制图软件程序将它们组合而生成的三维点的集合。
根据实施例,所述姿态估计算法包括随机样本一致性(RANSAC)循环中的N点透视(P-n-P)算法。
根据实施例,所述姿态估计参数包括相机选择、图像区域选择、本地特征匹配器、再投影误差和RANSAC评分函数中的一者或多者。
根据实施例,相对于所述路线的具有大致相等长度的重叠部分基于所述大致相机位置来选择所述姿态估计参数。
根据实施例,所述指令包括用于使用特征提取算法从所述第一图像提取所述第一图像特征点的另外的指令,所述特征提取算法包括超点、可靠且可重复的检测器和描述符以及尺度不变特征变换中的一者或多者。
根据实施例,通过确定所述车辆与所述相机之间的六DoF偏移而基于所述六DoF相机姿态来确定所述六DoF车辆姿态。
根据实施例,在相对于三个正交位置轴和分别围绕所述三个正交位置轴的三个旋转的全局坐标中确定所述六DoF相机姿态和所述六DoF车辆姿态。
根据本发明,一种方法包括:通过将由相机获取的第一图像输入到卷积神经网络来确定路线上的大致相机位置;从所述第一图像提取第一图像特征点;基于所述大致相机位置来选择用于姿态估计算法的姿态估计参数;通过将所述第一图像特征点和包括在基于所述路线的运动恢复结构(SfM)地图中的第二特征点输入到由所述姿态估计参数控制的所述姿态估计算法来确定六自由度(DoF)相机姿态;以及基于所述六DoF相机姿态确定六DoF车辆姿态。
在本发明的一个方面,该方法包括通过基于所述六DoF车辆姿态确定车辆路径来操作车辆。
在本发明的一个方面,由包括在车辆中的相机随所述车辆行驶所述路线来获取参考图像的数据集。
在本发明的一个方面,基于参考图像的通用数据集来训练所述卷积神经网络。
在本发明的一个方面,所述SfM地图包括从所述路线可见的通过根据参考图像的所述数据集在全局坐标中确定图像特征点的三维位置并使用3D制图软件程序将它们组合而生成的三维点的集合。
在本发明的一个方面,所述姿态估计算法包括随机样本一致性(RANSAC)循环中的N点透视(P-n-P)算法。
在本发明的一个方面,所述姿态估计参数包括相机选择、图像区域选择、特征匹配器、再投影误差和RANSAC评分函数中的一者或多者。
在本发明的一个方面,相对于所述路线的具有大致相等长度的重叠部分基于所述大致相机位置来选择所述姿态估计参数。
在本发明的一个方面,所述指令包括用于使用特征提取算法从所述第一图像提取所述第一图像特征点的另外的指令,所述特征提取算法包括超点、可靠且可重复的检测器和描述符以及尺度不变特征变换中的一者或多者。
Claims (15)
1.一种方法,其包括:
通过将由相机获取的第一图像输入到卷积神经网络来确定路线上的大致相机位置;
从所述第一图像提取第一图像特征点;
基于所述大致相机位置来选择用于姿态估计算法的姿态估计参数;
通过将所述第一图像特征点和包括在基于所述路线的运动恢复结构(SfM)地图中的第二特征点输入到由所述姿态估计参数控制的所述姿态估计算法来确定六自由度(DoF)相机姿态;以及
基于所述六DoF相机姿态确定六DoF车辆姿态。
2.如权利要求1所述的方法,其还包括通过基于所述六DoF车辆姿态确定车辆路径来操作车辆。
3.如权利要求1所述的方法,其中由包括在车辆中的相机随所述车辆行驶所述路线来获取参考图像的数据集。
4.如权利要求3所述的方法,其中基于参考图像的通用数据集来训练所述卷积神经网络。
5.如权利要求4所述的方法,其中所述SfM地图包括从所述路线可见的通过根据参考图像的所述数据集在全局坐标中确定图像特征点的三维位置并使用3D制图软件程序将它们组合而生成的三维点的集合。
6.如权利要求1所述的方法,其中所述姿态估计算法包括随机样本一致性(RANSAC)循环中的N点透视(P-n-P)算法。
7.如权利要求1所述的方法,其中所述姿态估计参数包括相机选择、图像区域选择、特征匹配器、再投影误差和RANSAC评分函数中的一者或多者。
8.如权利要求1所述的方法,其中相对于所述路线的具有大致相等长度的重叠部分基于所述大致相机位置来选择所述姿态估计参数。
9.如权利要求1所述的方法,其中从所述第一图像提取所述第一图像特征点包括使用特征提取算法,所述特征提取算法包括超点、可靠且可重复的检测器和描述符以及尺度不变特征变换中的一者或多者。
10.如权利要求1所述的方法,其中通过确定所述车辆与所述相机之间的六DoF偏移而基于所述六DoF相机姿态来确定所述六DoF车辆姿态。
11.如权利要求1所述的方法,其中在相对于三个正交位置轴和分别围绕所述三个正交位置轴的三个旋转的全局坐标中确定所述六DoF相机姿态和所述六DoF车辆姿态。
12.如权利要求5所述的方法,其中所述3D制图软件程序能够包括COLMAP、AgiSoftMetashape和VisualSFM中的一者或多者。
13.如权利要求1所述的方法,其中所述姿态估计软件以不同的配置参数和不同的随机种子进行n次试验。
14.如权利要求13所述的方法,其中针对统计显著性的配对两样本t检验用于将来自试验的结果与基线配置进行比较。
15.一种系统,其包括被编程为执行如权利要求1-14中任一项所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/666,609 US20230252667A1 (en) | 2022-02-08 | 2022-02-08 | Vehicle localization |
US17/666,609 | 2022-02-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116580374A true CN116580374A (zh) | 2023-08-11 |
Family
ID=87312813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310052551.1A Pending CN116580374A (zh) | 2022-02-08 | 2023-02-02 | 车辆定位 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230252667A1 (zh) |
CN (1) | CN116580374A (zh) |
DE (1) | DE102023102645A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220026423A (ko) * | 2020-08-25 | 2022-03-04 | 삼성전자주식회사 | 지면에 수직인 평면들의 3차원 재구성을 위한 방법 및 장치 |
-
2022
- 2022-02-08 US US17/666,609 patent/US20230252667A1/en active Pending
-
2023
- 2023-02-02 CN CN202310052551.1A patent/CN116580374A/zh active Pending
- 2023-02-02 DE DE102023102645.3A patent/DE102023102645A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230252667A1 (en) | 2023-08-10 |
DE102023102645A1 (de) | 2023-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11029699B2 (en) | Navigating a vehicle based on a detected barrier | |
US10853670B2 (en) | Road surface characterization using pose observations of adjacent vehicles | |
US11312372B2 (en) | Vehicle path prediction | |
US11143514B2 (en) | System and method for correcting high-definition map images | |
CN110857085A (zh) | 车辆路径规划 | |
CN111016872A (zh) | 车辆路径规划 | |
US10955857B2 (en) | Stationary camera localization | |
US11460851B2 (en) | Eccentricity image fusion | |
WO2018138584A1 (en) | Vehicle navigation based on aligned image and lidar information | |
US20200020117A1 (en) | Pose estimation | |
US11527012B2 (en) | Vehicle pose determination | |
US11138452B2 (en) | Vehicle neural network training | |
US11189049B1 (en) | Vehicle neural network perception and localization | |
CN110858866A (zh) | 前景检测 | |
US20230282000A1 (en) | Multi-object tracking | |
CN116580374A (zh) | 车辆定位 | |
US11887317B2 (en) | Object trajectory forecasting | |
US20230136871A1 (en) | Camera calibration | |
US20230186587A1 (en) | Three-dimensional object detection | |
US20230267640A1 (en) | Pose estimation | |
US20230154313A1 (en) | Sensor localization | |
CN115640832A (zh) | 对象姿态估计 | |
CN116403181A (zh) | 对象检测 | |
CN115731524A (zh) | 对象分割 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |