CN112132888A - 大规模室内稀疏激光雷达点云内的单目相机定位 - Google Patents
大规模室内稀疏激光雷达点云内的单目相机定位 Download PDFInfo
- Publication number
- CN112132888A CN112132888A CN202010597347.4A CN202010597347A CN112132888A CN 112132888 A CN112132888 A CN 112132888A CN 202010597347 A CN202010597347 A CN 202010597347A CN 112132888 A CN112132888 A CN 112132888A
- Authority
- CN
- China
- Prior art keywords
- camera
- initial
- pose
- network
- depth
- 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.)
- Granted
Links
- 230000004807 localization Effects 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000005070 sampling Methods 0.000 claims abstract description 7
- 238000005259 measurement Methods 0.000 claims description 5
- 238000009795 derivation Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
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
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/42—Simultaneous measurement of distance and other co-ordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Electromagnetism (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
一种相机定位的方法,包括接收相机图像、接收激光雷达点云、估算相机图像的初始相机姿态、在激光雷达点云内采样初始深度投影集、测量初始相机姿态与初始深度投影集的相似度以及基于测量的相似度推导后续深度投影集。
Description
相关申请的交叉参考
本申请要求于2019年6月25日提交的美国临时申请第62/866,509号和于2019年8月6日提交的美国专利申请16/533,389的权益,所述两个申请的全部内容通过引用的方式并入本文。
技术领域
本发明涉及自动驾驶***,且具体而言,提供利用激光雷达点云的相机定位。
背景技术
对于在空间里自主导航的机器人,它必须在环境地图中精确地定位自己。因此,定位传感器的六自由度姿态估算是用于实现诸如自动驾驶汽车等机器人的技术之一。目前,最常用的定位传感器是相机和激光雷达(light detection and ranging,LiDAR)。激光雷达生成环境点云作为地图,定位***关于该地图的子区域在运行时点云之间找到最佳配准,以推断激光雷达的姿态。
目前,可以从高清晰度全球定位***(GPS)中找到对初始位置的猜测。因该大规模生产的方法带来的可能的问题包括高清晰度全球定位***的成本,以及GPS信号在天空被遮挡的地方(例如停车场类的室内等)可能不可用。如果无法提供对初始位置的猜测,那么LiDAR定位***将需要显著地增加计算资源或可能完全失败。
相机价格低廉且十分普遍,并且已经具备了视觉里程计(VO)和视觉即时定位与地图构建(visual Simultaneous Localization and Mapping,vSLAM)。可以仅通过视觉输入来确定相机的姿态,无需同时使用GPS。然而,在基于相机定位的情况下的一个缺点是其在给定的光照条件下的稳定性、视觉场景的结构以及其对场景深度的不准确感知。在照明顺序不均匀的情况下,例如从黑暗阴影中突然暴露于明亮的光线下,直接视觉里程计或vSLAM可能会失败。视觉方法通常依赖于结构的存在,从而这些算法可以找到很多特征来跨帧跟踪。例如,在典型的停车库中,常常会发现大量白色的墙和重复的柱子,这使得VO/vSLAM效率低下。此外,当无法获得精确的景深时,视觉方法可能会很快产生导致较大的累积定位误差的尺度漂移。
因此,为了更好地实现定位,提出了一种同时利用稀疏的LiDAR点云和相机图像以有效定位相机图像的方法。
发明内容
相机定位的第一示例,包括以下步骤中的至少一项:接收相机图像,接收LiDAR点云,估算相机图像的初始相机姿态,在LiDAR点云内采样初始深度投影集,测量初始相机姿态与初始深度投影集的相似度,以及基于测量的相似度推导后续深度投影集。
相机定位的第二示例,包括以下步骤中的至少一项:接收相机图像、接收LiDAR点云,估算相机图像的初始相机姿态,在LiDAR点云内采样初始深度投影集,测量初始相机姿态与初始深度投影集的相似度作为状态值,测量初始相机姿态与初始深度投影集的相似度的回归,测量初始相机姿态与初始深度投影集的相似度的梯度,以及基于相似度的梯度推导后续深度投影集。
附图说明
在附图中:
图1是根据本公开的一个实施例的第一示例的***图;
图2是根据本公开的一个实施例的第二示例的***图;
图3是根据本公开的一个实施例的数据收集车辆的示例描述;
图4是根据本公开的一个实施例的示例相机图像地图;
图5是根据本公开的一个实施例的深度图示例;
图6是根据本公开的一个实施例的EnforceNet网络的示例逻辑流程;
图7是根据本公开的一个实施例的姿态回归网络的示例逻辑流程;
图8是根据本公开的一个实施例的示例EnforceNet的卷积神经网络布局;
图9是根据本公开的一个实施例的***的不同训练设置的示例数据输出;
图10是根据本公开的一个实施例的相机定位的第一示例方法;以及
图11是根据本公开的一个实施例的相机定位的第二示例方法。
具体实施方式
描述以下所列的实施例仅用于说明该装置和方法的应用,并不对范围进行限制。对于该装置和方法的等同形式的修改应归入在权利要求的范围内。
贯穿以下说明书和权利要求使用某些术语来指代特定的***部件。本领域的技术人员将理解,不同的公司可以不同的名称来指代部件和/或方法。本文并意在在名称不同但功能相同的部件和/或方法之间进行区分。
在下面的讨论和权利要求中,术语“包括”和“包含”以开放式的方式使用,因此可被解释成意味着“包括,但不限于.......”。同样地,术语“耦合”或“进行耦合”旨在表示或直接或间接连接。因此,如果第一装置耦合到第二装置,那么这个连接可以通过直接连接或通过经由其他装置和连接的间接连接。
使用在先前的3D激光雷达(LiDAR)点云地图内的相机图像输入估算相机姿态可以提供可能的解决方案。相机对环境语义的捕捉是LiDAR的许多倍,并允许基于边缘定位。
目前主要的定位方法运行在一种传感器方式中,而LiDAR和相机属于不同的传感器方式。LiDAR SLAM比较点云结构,而vSLAM匹配相机图像特征。由于LiDAR扫描通常是稀疏的而密集的LiDAR扫描既费时又昂贵,因此使相机在稀疏的点云内进行定位工作更为合适。
在本公开中,端到端的新型神经网络结构可以提供在LiDAR点云内的相机姿态估算的解决方案。该方法使用单目相机。如果给予单个相机图像和初始粗略姿态估算,该方法利用点云制作深度投影集,并给出用于推断相机姿态的相机图像和深度投影的对。这个解决方案利用网络中的状态值约束(被称为电阻模块)来量化姿态估算拟合,并将其反向传播给该网络。电阻模块可以产生更快的网络收敛(convergence)。
采用LiDAR点云的当前相机定位从3D地图渲染合成视图并将它们与相机图像比较。这种方法在LiDAR地图密集且当前相机视图和渲染图像之间的姿态变换小的时候,最为适用。然而,随着光照条件和尺度漂移的变化,该方法可能遭受姿态跳跃和累积定位误差的影响。所公开的方法利用了状态值预测和姿态回归的通信,其产生了提高的推断速度。
图1描绘了自动泊车辅助***100的示例,其可用于实现与过程700和800中的一个或多个部分或步骤的操作相关联的深度神经网。在该示例中,与混合***相关联的处理器包括现场可编程门阵列(FPGA)122、图形处理单元(GPU)120和中央处理单元(CPU)118。
处理单元118、120和122具有提供深度神经网的性能。CPU是可以执行多种不同功能的通用处理器,其通用性使得其能够执行多种不同的任务,但是它对多个数据流的处理是有限的并且其关于神经网络的功能非常有限。GPU是图像处理器,其具有能够按顺序处理并行任务的许多小的处理核。FPGA是现场可编程器件,它具有被重新配置的能力且以硬接线电路的方式执行可被编程到CPU或GPU中的任何功能。由于对FPGA的编程是电路形式,因此其速度比CPU快很多倍且明显比GPU快。
有***可以包含的其它类型的处理器,例如包括具有片上GPU元件的CPU和专门用于执行高速数字数据处理的数字信号处理器(DSP)的加速处理单元(APU)。专用集成电路(ASIC)也可以执行FPGA的硬接线功能;然而,用于设计和生产ASIC的前置时间大约为一年的几个季度,而不是在编程FPGA中可获得的快速周转实现。
图像处理单元120、中央处理单元118和现场可编程门阵列122彼此连接,并连接到存储器接口控制器112。FPGA通过到存储器互连130的可编程逻辑电路连接到存储器接口。该额外设备由于FPGA以非常大的带宽运行的事实而被采用,并且被用于最小化从FPGA到执行存储器任务所使用的电路。存储器接口控制器112另外连接到持久存储磁盘110、***存储器114和只读存储器(ROM)116。
图2的***可用于编程和训练FPGA。GPU在非结构化数据的情况下运转良好,且可被用于进行训练,一旦该数据已被训练,就可发现确定性推断模型,并且CPU可以用由GPU确定的模型数据对FPGA编程。
存储器接口控制器连接到中央互连124,该中央互连另外连接到GPU 120、CPU 118和FPGA122。中央互连124另外连接到输入和输出接口128和网络接口126,该输入输出接口128连接到前向相机132、左侧相机134、LiDAR 136。
图2描绘了第二示例混合计算***200,其可用于实现与流程500的一个或多个部分或步骤的运行相关联的神经网。在本示例中,与***相关联的处理器包括现场可编程门阵列(FPGA)210和中央处理单元(CPU)220。
FPGA电连接到FPGA控制器212,该FPGA控制器212与直接存储器存取(DMA)218连接。该DMA连接到输入缓冲器214和输出缓冲器216,这些缓冲器分别耦合到FPGA以将数据缓冲进FPGA内和从FPGA缓冲出。DMA 218具有两个先进先出(FIFO)缓冲器,一个用于主CPU而另一个用于FPGA,该DMA允许向适当的缓冲器写数据以及从适当的缓冲器读数据。
主开关228在DMA的CPU侧上,其将数据和命令传送到直接存储器存取(DMA)。该DMA还连接到同步动态随机存储器(SDRAM)控制器224,其允许数据在FPGA和CPU 220之间往返传送,SDRAM控制器还连接到外部SDRAM 226和CPU 220。主开关228连接到***设备接口230,该***设备接口230连接到前向相机232、左侧相机234、LiDAR 236。闪存控制器222控制持久存储器并连接到CPU 220。
图3公开了本公开的***的拼接视图的鸟瞰图300。前向相机132和左侧相机134是红、蓝、绿(RGB)单目型相机,并且向***提供相机图像。相机132和134也可以是立体、红外、黑白相机等。本示例中的LiDAR是顶置式的,并提供车辆周围环境的稀疏LiDAR点云地图。
方法
所公开的方法将相机图像与深度投影集进行比较以确定用于姿态猜测的下一迭代的样本位置,其中,该深度投影集是从多个姿态猜测进行投影并量化每个猜测对实际相机姿态的接近度。所公开的方法运行在相机图像特征空间中,而不是从相机图像推断深度图和在点云空间中运行。
问题描述
形式上,六自由度相机姿态定义为p=[R,t]∈SE(3),其中R∈SO(3)为旋转而t∈R3为平移。LiDAR地图是空间M={mi|mi∈R3,i=1,2,3,…|M|}.中的点的集合。从视角姿态Vp得到的LiDAR地图的投影P被定义为:
其中
是剪裁平面的投影参数,以及
是相机内部参数的集合。
相机图像I(在姿态Pi处拍摄)和深度图D(在姿态Pd处投影)的对被定义为
其中运算符计算该对的表示向量。IPi和DPd的姿态差被定义为
△Pi,d=Pi-Pd,△Pi,d∈SE (3)
因此,姿态估算问题可以被表述为
其中E是量化IPi和DPd之间相似度的函数。为了便于陈述,将深度投影的姿态定义为Pd,并将拍摄相机图像的姿态定义为Pi。
由于LiDAR点云的稀疏性,即使在相同的姿态下拍摄,lP和DPd之间的信息也显著不足以被量化。因此,在稀疏深度图上的启发式后处理和相似度测量是低效的,这指向了用于网络设计的EnforceNet类型的学习方法。
图4是示例相机图像地图,在该示例中,410是完整相机图像,412是相机图像的滤波视图而414是相机图像的边缘。
图5是示例深度图,在该示例中,510是完整深度图,512是深度图的滤波视图而514是深度图的边缘。
EnforceNet设计
图6是EnforceNet网络的示例逻辑流程。由于相机姿态估算通常是在给定的各种光照条件下都需要可靠结果的实时任务,因此我们的网络设计目标是快速、准确和可泛化的。理想情况下,该***应该在具有有限计算资源的嵌入式硬件上以高频率运行。该***应在被应用到不同场景的受限的再训练/微调的情况下运转,并在面对照明条件变化时保持稳定。
该***利用(leverage)先前的3D点云M和基于具有姿态样本{Dd|d∈[1,∞]}的那些深度投影所生成的许多深度投影{Dj|j∈[1,∞]}。该***具有以大或小的姿态差来探索训练对Hi,d的能力,并逐渐得出接近Pi的合理姿态。
为了推断一幅相机图像的Pi,可以对M内的Pd集进行随机采样并测量E(HPi,Pd)以推导后续的一批{Pd},直到收敛完成。该过程可以被描述为马尔可夫决策过程(MDP),其中基于强化学习框架,未来的姿态估算与已过去的给定的当前估算无关。
虚拟代理为最佳姿态探索空间,且HPi,Pd被视为该虚拟代理的状态。状态值函数F(ΔPi,d)被定义为单调递减函数。因此,如果ΔPi,d低,则状态具有高的值;以及在ΔPi,d高时,状态值低。
在一个示例中,第一网络量化状态值,而第二网络回归ΔPi,d。第二网络的输入也是相机图像深度投影对HPi,Pd,并且其标签是它们各自的地面真值(ground truth)姿态差。
图6描绘了对两组相机图像610和616以及两组深度图614和620分别被进行比较612和618。一组相机图像和深度图被路由到状态值网络622而另一组路由到姿态回归网络624,其中,状态值网络622和姿态回归网络624共享权重626。状态值网络622和姿态回归网络624由约束状态值的电阻模块628连接。状态值网络的输出为630ΔPi,d,且姿态回归网络的输出为632ΔΔPi,d。反馈到状态值网络和姿态回归网络内的是地面真值634和梯度636。
姿态回归网络
图7是姿态回归网络的示例逻辑流程。姿态回归网络和状态值网络由电阻模块连接,其中ΔPi,d预测被用作状态值标签。在本示例中,因为深度投影远离图像,所以如果ΔPi,d大,则状态值小。当Δpose小,则状态值大。电阻模块强制状态值网络学习地面真值ΔPi,d。在姿态回归网络和状态值网络之间共享权重。由于状态值梯度和地面真值ΔPi,d通过回归网络反向传播,共享权重增加了对ΔPi,d回归网络的调节。随着训练复杂度和推断速度两者都被提高,状态值网络从共享权重更有效地额外学习地面真值信息。
图7描绘了姿态回归网络的示例,其中来自相机图像720的当前姿态Pi 712和来自LiDAR点云718的猜测姿态Pd 710被馈送到姿态卷积神经网络722中,该姿态卷积神经网络722输出Δpose 724,其被馈送到姿态损失模块716中,并且当前姿态和猜测姿态被馈送到ΔPi,d中,ΔPi,d也被馈送到姿态损失模块716中。
EnforceNet布局
图8是EnforceNet的示例卷积神经网络布局。在一个示例的用于实现***、方法和计算机可读介质的骨干网的网络架构中,使用了7层卷积神经网络(ConvNet),如图8所示的那样。相机图像与深度投影对HPi,Pd为网络输入。在本示例中,运算符是堆栈运算符。对于相机定位的性能来说,该示例架构是轻量化且精确的。
为了训练网络,采用结合平移和旋转的简单的欧几里德(Euclidean)误差。深度投影和相机图像捕获之间的时间戳t处的地面真值转换ΔPi,d(平移tt并旋转Rt)可以描述为:
△Pt,i,d=[△Rt,i,d,△tt,i,d]
姿态损失可被定义为来自旋转和平移的两个分量的误差的加权和(α1为姿态损失中的旋转损失,α2为姿态损失中的平移损失),如下:
除了姿态损失外,还增加了状态值损失。状态值具有评估当前姿态预测的能力。为了训练状态值函数,将负姿态Loss视为地面真值St,而状态值预测可表示为F(ΔPi,d)。因此,状态值姿态LF(ΔPt,i,d)可被表示如下(α3是状态值损失的权重):
总而言之,我们网络中的总损失Loss是:
为了有效地渲染深度图,代理执行深度投影和深度图增强。为了生成额外的相机图像和深度投影对,以随机噪声扰乱相机的姿态从而渲染额外的深度投影。扰乱产生了具有已知的地面真值ΔP的图像对。姿态的移置旋转为±5°且平移移置为±1m。在一个示例中,利用LiDAR SLAM和传感器同步来获得相机图像的关键帧。对停车库{Gijk|i∈|[1,2],j∈[1,2,3],k∈[1,2]}生成了具有地面真值姿态差的关键帧的许多图像对。为了训练模型,数据集被分成60%进行训练、30%进行验证以及10%进行测试。
图8描绘了EnforceNet卷积神经网络(CNN)的布局示例。该网络摄取相机图像814和深度投影812以创建ΔPi,d810。相机图像和深度投影被馈送到网络816-820的各个模块中,网络816-820输出状态值822和Δpose 826。ΔPi,d 810与Δpose 826一起被馈送到LossΔt模块828中。LossΔt模块828将信号830输出到-LossΔΔt模块824。-LossΔΔt模块824接收信号830和状态值822。
定位精度
使用在不同时刻来自不同停车库的数据确认定位准确性,以显示定位准确性和普遍适用性。图9中表910概括了车库、时间和相机方位的一些组合。
同一车库的视觉外观可能会由于停车条件和一天中的时间而显著不同。为了验证模型在面对视觉外观变化时保持准确性,对具有不同相机图像轨迹的若干训练设置运行性能测试。图9中表912包含了对于一个车库的定位精度的细节。数据表明对于一般情况测试数据集中平移误差小于10厘米,其中,旋转误差徘徊在0度。
经验证的该模型一旦被来自单个车库的数据训练,则该模型是高效率的。图9中表914表明训练数据的混合版本提高了收敛速度。所以,在同样的车库场景和跨车库场景中,数据表明了类似的结果。
图10中描绘了相机定位的方法,包括接收(1010)相机图像,接收(1012)LIDAR点云,估算(1014)相机图像的初始姿态,在LIDAR点云内采样(1016)初始深度投影集,测量(1018)初始相机姿态与初始深度投影集的相似度,以及基于所测量的相似度导出(1020)后续深度投影集。
图10的方法可另外提供基于测量的相似度的最小化来推导后续深度姿态投影集,以及提供相似度是基于状态值的函数。
图10的方法还可以包括以下步骤:对后续深度投影集的推导进行反向传播,测量姿态损失,随后基于测量的相似度推导后续深度投影集直至收敛,基于所测量的相似度回归地面真值姿态差,以及反向传播基于状态值的函数作为梯度和地面真值姿态差。
图11中描绘了相机定位的方法,包括接收(1110)相机图像,接收(1112)LIDAR点云,估算(1114)相机图像的初始姿态,在LIDAR点云内采样(1116)初始深度投影集,测量(1118)初始相机姿态与初始深度投影集的相似度作为状态值,测量(1120)初始相机姿态与初始深度投影集的相似度的回归,测量(1122)初始相机姿态与初始深度投影集的相似度梯度以及基于相似度梯度推导(1124)后续深度投影集。
图11的方法可以另外提供由第一网络执行相似度的测量,由第二网络执行对相似度的回归的测量,以及由电阻模块执行对反馈给第一网络和第二网络的测量的相似度的状态值的约束。
图11的方法还可以包括第一网络和第二网络之间的共享权重,约束反馈给第一网络和第二网络的测量的相似度的状态值,以及随后基于测量的相似度推导后续深度投影集直到收敛。
本公开提出了网络EnforceNet为大规模稀疏3D LiDAR点云内的相机姿态定位提供端到端解决方案。该EnforceNe网络具有电阻模块和权重分配方案。在大型室内停车库的实际数据集上的实验表明在出色的泛化性能下,EnforceNet已达到了最高水平的定位精度。
本领域技术人员可以理解,本文所描述的各种说明性块、模块、元件、部件、方法和算法可以被实现为电子硬件、计算机软件或其组合。为了说明硬件和软件的这种可互换性,上文已根据其功能性大体描述了各种说明性块、模块、元件、部件、方法和算法。这种功能是以硬件还是软件实现,取决于施加在整个***上的特定应用程序和设计约束。熟练的技术人员可以针对每个特定应用以不同的方式实现所描述的功能。在不脱离主题技术的范围的情况下,各种部件和块可被以不同的方式布置(例如,以不同的顺序布置,或以不同的方式分区)。
应理解,所公开的过程中步骤的特定顺序或层次结构是示例方法的说明。基于设计偏好,可以理解的是可以重新布置过程中步骤的特定顺序或层次结构。一些步骤可以同时执行。随附的方法权利要求书以示例顺序呈现各个步骤的元素,但不意味着受限于所呈现的特定顺序或层次结构。
提供上述描述是为了使本领域技术人员能够实现在此所述的各个方面。前面的描述提供了主题技术的各种示例,但主题技术不限于这些示例。这些方面的各种修改将对本领域技术人员而言显而易见,并且本文定义的一般原则可以应用于其他方面。因此,权利要求并不意在受限于此处所示的方面,而是应被赋予与权利要求语言一致的全部范围,其中,除非特别说明,否则对单数形式的元件的应用并不意在意味指“一个且仅一个”,而是指“一个或多个”。除非特别说明,否则术语“一些”指一个或多个。男性中的代词(例如,他的)包括女性和中性(例如,她和它的),反之亦然。标题和副标题(如果有的话)仅为了方便而使用,并不限制本发明。谓语“被配置以”、“可操作以”和“被编程以”并不暗示着对主语的任何特定的有形或无形修改,而是旨在可被互换地使用。例如,被配置以监视和控制操作或部件的处理器,还可以表示,该处理器被编程以监视和控制操作,或者该处理器可操作以监视和控制操作。同样地,被配置以执行代码的处理器,可以被解释为,被编程以执行代码的处理器或可操作以执行代码的处理器。
诸如“方面”之类的短语并不暗示这样的方面对于本技术是必不可少的,或者这样的方面适用于主题技术的所有配置。涉及一方面的公开可适用于所有配置、或一个或多个配置。一个方面可以提供一个或多个示例。诸如“方面”的短语可以指代一个或多个方面,反之亦然。诸如“实施例”之类的短语并不暗示这样的实施例对于主题技术是必不可少的,或者这样的实施例适用于主题技术的所有配置。涉及一个实施例的公开可应用于所有实施例,或一个或多个实施例。一个实施例可提供一个或多个示例。诸如“实施例”的短语可以指代一个或多个实施例,反之亦然。诸如“配置”之类的短语并不暗示这样的配置对于主题技术是必不可少的,或者这样的配置适用于主题技术的所有配置。涉及一种配置的公开可应用于所有配置、或一个或多个配置。一种配置可提供一个或多个示例。诸如“配置”的短语可以指一个或多个配置,反之亦然。
本文使用词语“示例”来表示“用作示例或说明”。本文描述为“示例”的任何方面或设计不必被解释为比其他方面或设计更优选或更具优势。
本领域普通技术人员已知或以后将知道的,贯穿本公开所描述的各个方面的元件的所有结构和功能等同物通过引用被明确地并入本文,并且旨在由权利要求所涵盖。此外,无论在权利要求中是否明确地叙述了这样的公开,本文的公开都不旨在捐献于公众。此外,关于在说明书或权利要求书中使用“包括”、“具有”或类似术语的含义,这样的术语旨在被包括在术语“包含”的方式内,类似于当“包括”在权利要求中被用作连接词时,对“包括”的解释那样。
对“一个实施例”、“实施例”、“一些实施例”、“各种实施例”或类似表述的引用表明特定元件或特性被包括在本发明的至少一个实施例中。虽然短语可能出现在多个地方,但短语不一定是指同一个实施例。结合本公开,本领域技术人员将能够设计和并入适合于实现上述功能的各种机制中的任何一种。
应理解,本发明仅教导了说明性的实施例的一个示例,并且本领域技术人员在阅读本发明之后可以容易地设计出本发明的许多变型,并且本发明的范围由以下权利要求确定。
Claims (16)
1.一种相机定位的方法,包括:
接收相机图像;
接收激光雷达点云;
估算所述相机图像的初始相机姿态;
在所述激光雷达点云内采样初始深度投影集;
测量所述初始相机姿态与所述初始深度投影集的相似度;以及
基于所测量的相似度推导后续深度投影集。
2.根据权利要求1所述的相机定位的方法,其特征在于,所述推导后续深度姿态投影集是基于所测量的相似度的最小化。
3.根据权利要求1所述的相机定位的方法,其特征在于,还包括将所述后续深度投影集的推导反向传播。
4.根据权利要求1所述的相机定位的方法,其特征在于,所测量的相似度是基于状态值的函数。
5.根据权利要求1所述的相机定位的方法,其特征在于,还包括测量姿态损失。
6.根据权利要求1所述的相机定位的方法,其特征在于,所述激光雷达点云是稀疏数据集。
7.根据权利要求1所述的相机定位的方法,其特征在于,还包括随后基于所测量的相似度推导所述后续深度投影集直到收敛。
8.根据权利要求4所述的相机定位的方法,其特征在于,还包括基于所测量的相似度回归地面真值姿态差。
9.根据权利要求8所述的相机定位的方法,其特征在于,还包括反向传播所述基于状态值的函数作为梯度和所述地面真值姿态差。
10.一种相机定位的方法,包括:
接收相机图像;
接收激光雷达点云;
估算所述相机图像的初始相机姿态;
在所述激光雷达点云内采样初始深度投影集;
测量所述初始相机姿态与所述初始深度投影集的相似度作为状态值;
测量所述初始相机姿态与所述初始深度投影集的所述相似度的回归;
测量所述初始相机姿态与所述初始深度投影集的所述相似度的梯度;以及
基于所述相似度的所述梯度推导后续深度投影集。
11.根据权利要求10所述的相机定位的方法,其特征在于,通过第一网络执行对所述相似度的测量。
12.根据权利要求11所述的相机定位的方法,其特征在于,通过第二网络执行对所述相似度的回归的测量。
13.根据权利要求12所述的相机定位的方法,其特征在于,还包括在所述第一网络和所述第二网络之间权重共享。
14.根据权利要求13所述的相机定位的方法,其特征在于,还包括约束反馈给所述第一网络和所述第二网络的所测量的相似度的状态值。
15.根据权利要求14所述的相机定位的方法,其特征在于,所述约束反馈给所述第一网络和所述第二网络的所测量的相似度的状态值由电阻模块执行。
16.根据权利要求15所述的相机定位的方法,其特征在于,还包括随后基于所测量的相似度推导所述后续深度投影集直到收敛。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962866509P | 2019-06-25 | 2019-06-25 | |
US62/866,509 | 2019-06-25 | ||
US16/533,389 US11380003B2 (en) | 2019-06-25 | 2019-08-06 | Monocular camera localization in large scale indoor sparse LiDAR point cloud |
US16/533,389 | 2019-08-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112132888A true CN112132888A (zh) | 2020-12-25 |
CN112132888B CN112132888B (zh) | 2024-04-26 |
Family
ID=73851141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010597347.4A Active CN112132888B (zh) | 2019-06-25 | 2020-06-28 | 大规模室内稀疏激光雷达点云内的单目相机定位 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132888B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934827A (zh) * | 2015-12-31 | 2017-07-07 | 杭州华为数字技术有限公司 | 三维场景的重建方法和装置 |
US20180139431A1 (en) * | 2012-02-24 | 2018-05-17 | Matterport, Inc. | Capturing and aligning panoramic image and depth data |
CN108509820A (zh) * | 2017-02-23 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 障碍物分割方法及装置、计算机设备及可读介质 |
CN108648240A (zh) * | 2018-05-11 | 2018-10-12 | 东南大学 | 基于点云特征地图配准的无重叠视场相机姿态标定方法 |
CN108717712A (zh) * | 2018-05-29 | 2018-10-30 | 东北大学 | 一种基于地平面假设的视觉惯导slam方法 |
US20180357503A1 (en) * | 2017-06-13 | 2018-12-13 | TuSimple | Sensor calibration and time system for ground truth static scene sparse flow generation |
WO2019060125A1 (en) * | 2017-09-22 | 2019-03-28 | Zoox, Inc. | THREE-DIMENSIONAL DELIMITATION FRAMEWORK BASED ON TWO-DIMENSIONAL IMAGE DATA AND CLOUD OF POINTS |
CN109887057A (zh) * | 2019-01-30 | 2019-06-14 | 杭州飞步科技有限公司 | 生成高精度地图的方法和装置 |
-
2020
- 2020-06-28 CN CN202010597347.4A patent/CN112132888B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180139431A1 (en) * | 2012-02-24 | 2018-05-17 | Matterport, Inc. | Capturing and aligning panoramic image and depth data |
CN106934827A (zh) * | 2015-12-31 | 2017-07-07 | 杭州华为数字技术有限公司 | 三维场景的重建方法和装置 |
CN108509820A (zh) * | 2017-02-23 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 障碍物分割方法及装置、计算机设备及可读介质 |
US20180357503A1 (en) * | 2017-06-13 | 2018-12-13 | TuSimple | Sensor calibration and time system for ground truth static scene sparse flow generation |
WO2019060125A1 (en) * | 2017-09-22 | 2019-03-28 | Zoox, Inc. | THREE-DIMENSIONAL DELIMITATION FRAMEWORK BASED ON TWO-DIMENSIONAL IMAGE DATA AND CLOUD OF POINTS |
CN108648240A (zh) * | 2018-05-11 | 2018-10-12 | 东南大学 | 基于点云特征地图配准的无重叠视场相机姿态标定方法 |
CN108717712A (zh) * | 2018-05-29 | 2018-10-30 | 东北大学 | 一种基于地平面假设的视觉惯导slam方法 |
CN109887057A (zh) * | 2019-01-30 | 2019-06-14 | 杭州飞步科技有限公司 | 生成高精度地图的方法和装置 |
Non-Patent Citations (3)
Title |
---|
VLADIMIR LEKIC 等: "Automotive radar and camera fusion using Generative Adversarial Networks", 《OMPUTER VISION AND IMAGE UNDERSTANDING》, pages 1 - 8 * |
俞毓锋 等: "基于相机与摇摆激光雷达融合的 非结构化环境定位", 《自动化学报》, pages 1791 - 1798 * |
张米令: "室内移动机器人RGB-D_SLAM算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 140 - 1534 * |
Also Published As
Publication number | Publication date |
---|---|
CN112132888B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Clark et al. | Vinet: Visual-inertial odometry as a sequence-to-sequence learning problem | |
CN111126399B (zh) | 一种图像检测方法、装置、设备及可读存储介质 | |
US11064178B2 (en) | Deep virtual stereo odometry | |
CN107808407A (zh) | 基于双目相机的无人机视觉slam方法、无人机及存储介质 | |
US20190301871A1 (en) | Direct Sparse Visual-Inertial Odometry Using Dynamic Marginalization | |
US20220051425A1 (en) | Scale-aware monocular localization and mapping | |
WO2019196476A1 (zh) | 基于激光传感器生成地图 | |
Yang et al. | Reactive obstacle avoidance of monocular quadrotors with online adapted depth prediction network | |
CN113568435B (zh) | 一种基于无人机自主飞行态势感知趋势的分析方法与*** | |
US20190138848A1 (en) | Realistic sensor simulation and probabilistic measurement correction | |
US9886763B2 (en) | Visual navigation method, visual navigation device and robot | |
Eynard et al. | Real time UAV altitude, attitude and motion estimation from hybrid stereovision | |
CN111623773B (zh) | 一种基于鱼眼视觉和惯性测量的目标定位方法及装置 | |
Ruf et al. | Real-time on-board obstacle avoidance for UAVs based on embedded stereo vision | |
WO2021081774A1 (zh) | 一种参数优化方法、装置及控制设备、飞行器 | |
US11866056B2 (en) | Ballistic estimation of vehicle data | |
Fan et al. | Dynamicfilter: an online dynamic objects removal framework for highly dynamic environments | |
John et al. | Automatic calibration and registration of lidar and stereo camera without calibration objects | |
CN115661341A (zh) | 一种基于多传感器融合的实时动态语义建图方法与*** | |
CN114943757A (zh) | 基于单目景深预测和深度增强学习的无人机森林探索*** | |
Zhou et al. | Real-time object detection and pose estimation using stereo vision. An application for a Quadrotor MAV | |
KR20200056905A (ko) | 3d 모델 정렬 방법 및 장치 | |
US11380003B2 (en) | Monocular camera localization in large scale indoor sparse LiDAR point cloud | |
CN112132888B (zh) | 大规模室内稀疏激光雷达点云内的单目相机定位 | |
CN114140660B (zh) | 一种车辆检测方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |