CN110702111A - 使用双事件相机的同时定位与地图创建(slam) - Google Patents
使用双事件相机的同时定位与地图创建(slam) Download PDFInfo
- Publication number
- CN110702111A CN110702111A CN201910292883.0A CN201910292883A CN110702111A CN 110702111 A CN110702111 A CN 110702111A CN 201910292883 A CN201910292883 A CN 201910292883A CN 110702111 A CN110702111 A CN 110702111A
- Authority
- CN
- China
- Prior art keywords
- pose
- event
- events
- frame
- map
- 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 20
- 230000009977 dual effect Effects 0.000 title abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 93
- 238000005457 optimization Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000006870 function Effects 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000005259 measurement Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 8
- 230000001902 propagating effect Effects 0.000 claims 2
- 230000000644 propagated effect Effects 0.000 claims 1
- 230000033001 locomotion Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000013519 translation Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005266 casting Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 102000008115 Signaling Lymphocytic Activation Molecule Family Member 1 Human genes 0.000 description 3
- 108010074687 Signaling Lymphocytic Activation Molecule Family Member 1 Proteins 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007670 refining Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000023077 detection of light stimulus Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/00002—Operational features of endoscopes
- A61B1/00004—Operational features of endoscopes characterised by electronic signal processing
- A61B1/00009—Operational features of endoscopes characterised by electronic signal processing of image signals during a use of endoscope
- A61B1/000094—Operational features of endoscopes characterised by electronic signal processing of image signals during a use of endoscope extracting biological structures
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- 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
- 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
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- 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
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/00163—Optical arrangements
- A61B1/00193—Optical arrangements adapted for stereoscopic vision
-
- 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/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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
-
- 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/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- 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/20076—Probabilistic image processing
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Pathology (AREA)
- Radiology & Medical Imaging (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Optics & Photonics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Studio Devices (AREA)
Abstract
用于同时定位与地图创建(SLAM)的方法采用双基于事件的相机。来自相机的事件流由图像处理***处理以立体检测环境中的表面点,动态地计算相机移动时的姿态,并同时更新环境的地图。基于梯度下降的优化可用于针对每事件或每小批量事件更新姿态。
Description
技术领域
本公开一般涉及计算机视觉以及同时定位与地图创建(simultaneouslocalization and mapping,SLAM)。
背景技术
SLAM是用于对感测的环境进行同时地图创建和计算设备相对于地图创建的环境的位置的技术。该设备可以是可能没有先进的环境知识的、配备相机的移动设备,诸如机器人、无人机、手持智能电话、自主车辆等。被称为并行跟踪和地图创建(Parallel Trackingand Mapping,PTAM)的SLAM的子集采用用于跟踪设备的位置和地图创建的并行处理线程。一个线程通过检测和维持通过相机可见的一组显著视觉地标来对环境进行地图创建。另一线程,即,姿态(pose)跟踪线程,频繁地更新相机相对于可见地标的位置。
发明内容
根据本发明概念,SLAM方法采用双事件相机。该相机与图像处理***结合使用,以立体地检测环境中的表面点、动态地计算相机移动时的姿态并同时地更新环境地图。
在说明性实施例中,SLAM方法包括分别从第一和第二图像传感器接收表示环境中的表面点的异步事件的第一事件流和第二事件流。该第一和第二图像传感器布置有重叠的视场,以使点的极线(epipolar)能深度测量。随着相机移动,动态地计算至少第一图像传感器相对于环境中的参考元素的姿态;并且同时地,至少基于由第一事件流表示的点及其计算的深度,动态更新环境地图。
基于梯度下降的优化可用于针对每个事件或针对每个小批量事件更新姿态。
在实施例中,SLAM***可以包括:第一图像传感器,提供表示环境中的表面点的异步事件的第一事件流;第二图像传感器,被布置成具有与第一图像传感器的视场重叠的视场,并提供表示环境中的表面点的异步事件的第二事件流;和图像处理***,包括至少一个处理器。该至少一个处理器可以运行从存储器读取的指令,以:基于由第一和第二事件流表示的匹配特征的公共点,立体地计算来自第一和第二图像传感器的深度;以及至少基于由第一事件流表示的匹配特征点及其计算的深度,动态地计算至少第一图像传感器相对于环境中的参考元素的姿态,并更新环境的地图。
各种实施例可以表现出优于常规SLAM***的优点,诸如减少的功耗、减少的延迟、减少的抖动以及对高速运动的稳健性(robustness)。
附图说明
结合附图,从以下详细描述中,本发明概念的上述和其他方面和特征将变得更加明显,在附图中,相同的附图标记表示相同的元件或特征,其中:
图1示意性地示出了其中配备相机的设备可以根据本发明概念执行SLAM的环境;
图2A示出了与图1的环境中的参考地标相关的双基于事件的相机;
图2B示出了根据本发明概念的更新初始姿态和初始地图的方法的概念;
图2C示出了利用第一和第二事件相机的物体的角特征的标识;
图2D示出了在优化过程之前测量的特征点的帧位置相对于估计的帧位置的比较;
图2E示出了优化过程之后图2D的帧位置比较;
图3A示出了与使用常规摄像机创建的帧相比、使用事件相机创建的事件帧;
图3B示出了从基于事件的图像传感器输出的事件分组的示例结构;
图4描绘了与常规静止帧相比的示例事件帧;
图5A是根据本发明概念的用于SLAM的示例方法的流程图;
图5B是可用作图5A的方法的部分的示例子过程的流程图;
图6是根据本发明概念的示例姿态优化方法的流程图;
图7是根据本发明概念的采用基于梯度下降的优化的示例姿态优化方法的流程图;
图8是根据本发明概念的地图更新方法的流程图;以及
图9是根据本发明概念的示例双基于事件的相机的功能框图。
具体实施方式
参考附图,提供以下描述以帮助全面理解本文公开的发明概念的某些示例性实施例以用于说明性目的。该描述包括各种具体细节,以帮助本领域普通技术人员理解本发明概念,但是这些细节将仅被认为是说明性的。为了简单和清楚的目的,当熟知的功能和结构的描述被包括在内可能会使本领域技术人员或普通技术人员对本发明概念的理解模糊时,可以省略对它们的描述。
本发明概念采用基于立体事件的相机,结合基于优化的图像处理,以实现同时定位与地图创建,这提供了优于已知***的某些优点。例如,常规SLAM方法典型地采用其中单个相机捕获场景图像的单目方案。单目***没有环境的比例(scale)的测量,并且因此依赖于针对此信息的外部来源。典型地,这是通过使用激光、飞行时间、声纳或其他方法测量图像点的深度来完成的。此外,即使此环境比例信息是在***初始化期间提供的,除非它被连续提供,否则一旦相机探索远离初始位置的新区域,比例信息将倾向于漂移。比例总是可以基于初始比例测量来间接推断。因此,单目***经常表现出比例模糊和比例漂移的问题。
单目***的其他缺点是延迟的特征初始化和特殊的***初始化要求。在单目SLAM***中,新图像特征的深度信息可以仅在相机中心已经从先前定位充分移动之后导出。在此时间期间,***使用现有特征(当新特征可见时,其典型地不在整个视场内)维持精确跟踪,并且因此***在探索新区域时倾向于失效。为了最初标识用于跟踪的特征,可以定义特殊的初始化阶段,其中常常要求用户合作。
根据本发明概念,当与具有两个图像传感器的校准立体***工作时,可以通过在两个传感器之间执行立体匹配来提取比例信息。此外,事件相机的使用有助于立体匹配过程,因为只有来自非常短时间间隔的信息可以被考虑用于匹配,并且实际上可能是唯一相关的信息。立体***可用于将新特征***PTAM的地图创建线程中的维持的特征地图中。它可以通过首先检测由相机中的一个相机捕获的图像中的突出特征并且对于每个特征在第二相机中执行受约束的极线搜索来这样做。在第二相机中具有匹配的特征可以被三角测量以获得其深度的估计,并且然后被***到地图中。
一般来说,视觉测距法(visual odometry,VO)是通过分析相关联的相机图像来确定诸如机器人的移动设备的位置和定向的过程。当多个图像传感器用于VO时,这些传感器的定向和位置,如果未知,则可以根据传感器的测量来确定。本发明概念可以使用VO——其通常要求一些地图感知——作为SLAM***的部分。SLAM***可以同时估计相机的6个自由度姿态(6-Degrees of Freedom pose,6-DoF,即,针对位置的3个自由度,针对定向的3个自由度)和其周围的3D地图。姿态和3D地图是许多***(例如,虚拟现实(virtual reality,VR)、增强现实、汽车导航、无人机导航、家用机器人等)中有用的信息分量。如果特定的应用程序只要求姿态跟踪(例如,VR)或者仅仅地图创建(例如,3D扫描),则也期望估计其他分量,因为这可以产生更高的稳健性水平。
图1示意性地描绘了其中配备相机的设备可以根据本发明概念执行SLAM的环境。配备相机的设备50包括诸如机器人、智能电话、车辆、无人机等的载体40,以及安装的相机20。设备50可以确定其在受约束或不受约束的环境E中的初始位置,生成环境的初始地图,以及随着该设备在环境内移动而建立地图的同时跟踪其位置。在图1的示例中,为了解释的简单性,示出了墙壁受限(wall-confined)环境的顶视图,其中该环境可以包括通过设备50的图像捕获/模式识别可检测的水平地面HS。可以利用诸如具有各种特性的O1、O2、O3…ON的、环境中的物体(例如,位于随机定位的特征丰富的物体、边界物体等)来生成体积地图。
相机20可以是具有形成图像传感器对的第一图像传感器10-1和第二图像传感器10-2(例如,左和右图像传感器)的立体型相机。图像传感器10-1、10-2每个是“事件传感器”,诸如,动态视觉传感器(dynamic vision sensor,DVS),其异步地输出具有与“事件”一致的时间戳和像素定位的图像数据(稍后详细描述)。与可以以恒定帧速率输出每帧中每个像素的数据的传统摄像机相比,这种事件的输出生成相对稀疏的数据流。
此后,图像传感器10-1、10-2每个可以被互换地称为“事件相机”。因此,相机20在本文中可称为“双事件相机”。相机20还包括图像处理***30,该图像处理***30处理来自图像传感器10-1、10-2的异步图像数据以生成“事件帧”,以及执行SLAM处理。第一图像传感器10-1和第二图像传感器10-2具有彼此重叠的第一视场fov1(field of view 1)和第二视场fov2(field of view 2),这允许图像处理***30计算每个公共成像点的深度值。因此,相机20也可以被称为深度相机。
图2A示出了与环境E内的参考地标点LM0相关的相机20。共同参考图1和2A,通过具有跨相机20的表面S的已知的分离距离d,以及通过具有彼此已知的相对定向,第一图像传感器10-1和第二图像传感器10-2彼此校准。这些参数可以被预先存储,并由图像处理***30使用以测量物体特征的深度以及从而创建深度图像。例如,图像传感器10-1、10-2可以具有彼此平行或以预定义角度朝向或远离彼此略微倾斜的光轴。通过知道图像传感器的分离距离d和相对定向,图像处理***30可以计算从相机20到环境E中的物体点的距离,该距离通常由图像传感器10-1、10-2感测。也就是说,成像点的z方向深度可以基于由第一图像传感器10-1捕获的第一2D事件帧(在x-y空间中)和由第二图像传感器10-2捕获的第二事件帧内的相对位置的差来计算。(此后,第一和第二事件帧可以被互换地称为第一和第二图像帧,或者被称为左和右图像。)
相机的姿态通常可以定义为相对于确定的参考点(用于定位)和相对于参考轴***(用于定向)的相机的定位和定向。在下文描述的图像处理/SLAM计算中,图像传感器10-1和10-2的各个姿态可以每个通过视觉测距法来估计。相机20的姿态是其定位L和旋转R;图像传感器10-1具有由其自身定位L-1和旋转R-1定义的姿态;以及图像传感器10-2类似地具有由其定位L-2和旋转R-2定义的姿态。(为了便于在下面的讨论中解释,可以假设图像传感器具有平行的光轴,并且可以假设它们的旋转等于相机20的公共旋转R。)可以定义具有轴xc、yc、zc的局部相机坐标系,其中相对于原点估计和测量到环境中的点的基于矢量的距离。在图2A的示例中,原点在定位L-1。从表面S垂直延伸的法线n可以被假设为与轴zc对准,并且被假设为平行于图像传感器10-1、10-2的光轴。轴xc和yc可以任意定义。局部坐标系可以转换成具有轴xg、yg、zg的环境E的全局坐标系。
在用于跟踪和地图创建的初始化过程中,相机20的初始定位L0(或者图像传感器10-1、10-2的初始定位L0-1、L0-2)可以相对于在环境E中检测到的至少一个参考地标点LM0来确定。这发生在通过事件的初始检测生成全局参考帧的初始时间t0(稍后讨论)。例如,如图1所示,参考地标LM0可以是由图像传感器10-1和10-2两者捕获的特征(诸如物体O1的边缘特征或角特征)上的点。地标LM0可以从左图像和右图像确定为位于距离相机20的初始定位L0起的zc方向上的深度d00处的点。具有轴xg、yg、zg的全局坐标系可以在地标点LM0处定义原点,以建立用于地图创建的参考点和参考方向。例如,轴xg和zg中的每一个可以平行于水平表面HS,同时轴yg垂直于表面HS。其他特征/物体的位置的每个可以参考地标点LM0。同样地,可以参考地标点LM0的相机20的初始定位L0自身可以被认为是相机跟踪过程中的原点,其中后续姿态位置可以通过平移T参考定位L0。
这里注意到,在一些实施例中,初始姿态可以借助于被包括在载体40内的惯性测量单元(Inertial Measurement Unit,IMU)(未示出)来估计。IMU包括加速度计和陀螺仪,并且可以改善姿态的初始猜测(初始地和/或在更新姿态时)。
相机20的旋转R可以被定义为具有三个分量Rx、Ry和Rz(三个自由度)。在示例中,相机20的图像处理***可以标识环境中的水平表面HS,使得相机20旋转R可以相对于表面HS和参考地标点LM0处的全局轴来定义。相机20的初始定向可以被定义为具有基于左和右图像的旋转R0,其可以被指定为零旋转,即,0、0、0(Rx=0,Ry=0,Rz=0)。
结合在初始化过程中确定初始定位L0和初始旋转R0,可以生成环境的初始地图创建。为此,可以确定和存储初始体积地图,其中各种物体相对于(多个)参考点LM0和参考表面HS(和/或其他参考表面)的表面点。
在捕获与初始定位L0和旋转R0一致的初始左和右图像之后的时间t1,相机20可以移动平移T到更新定位L1。平移T可以被定义为具有三个分量Tx、Ty和Tz(三个自由度)的向量。在新的定位L1处,相机已经被旋转了量R。因此,在时间t1处,相机20具有更新姿态,该更新姿态具有旋转R(相对于R0)和通过平移T改变的定位(其中T是定位L0和L1之间的矢量距离)。根据本发明概念,基于源自新检测的事件的、由第一传感器10-1和第二传感器10-2捕获的图像中的改变来标识更新姿态的估计。此外,可以以更新姿态来获得环境E中的物体的新地图点,并且更新初始地图。下面讨论的SLAM方法描述计算姿态改变的方法,以及基于由于事件检测引起的图像改变来建立地图的方法。
图2B至图2E一般地示出了根据本发明概念的更新姿态和地图的方法的概念。该示例示出了如何更新初始姿态和初始地图,但也适用于更新任何当前姿态和当前地图。简而言之,SLAM***中姿态和地图的更新可能需要解决优化问题,在该优化问题中,将表示来自当前视点的环境E的第一3D点云的点坐标与来自第二视点的环境的第二3D点云的相对应的点坐标进行比较。由于噪声和其他因素,光的图像捕捉是不完善的,因此并不是表示两点云中的公共物体点的所有点都将匹配。然后,可以运行优化例程以最佳地对准两个点云,并达到针对相机20位置的每次改变的最优姿态估计和地图创建估计。
在图2B中,第一“事件帧”FR0可以被指定为全局参考帧,该全局参考帧表示相机20以初始姿态“pose-init”在时间t0捕捉到的环境E的视图。更具体地,事件帧FR0可以是由图像传感器10-1捕获的2D帧,并且是由具有范围从u0,v0到um,vn的像素坐标u,v的(m×n)像素网格定义的帧。同时,图像传感器10-2还捕获事件帧(未示出),该事件帧包括与帧FR0中的像素定位略微偏移的像素定位处的特征F0和F1。由于来自事件相机的事件典型地与物体边缘亮度的改变一致,因此事件帧通常仅包含稀疏数据。为了简单起见,图2B中仅示出了两个特征F0和F1,但是事件帧可以包含几个、几十个、几百个甚至几千个特征。全局参考帧FR0可以被称为第一关键帧(keyframe),并且后续帧可以被称为帧FR0。例如,基于诸如是否检测到超过阈值数量的新特征的至少一个预定义标准,任何后续帧也可以被指定为关键帧。任何给定的帧——无论是关键帧还是非关键帧——可以被配准(register)为关键帧。
帧FR0可以具有特征F0,诸如物体的边缘,该特征F0以长度d0出现在帧FR0中。特征F0可以被指定为与其他特征进行比较的地标(landmark,LM)。为了解释简单,假设特征F0由位于像素坐标ui,vj处的地标点LM0标识。另一特征F1是显示为具有拐角点p1的角类型特征。因为特征F0和F1也由第二图像传感器10-2成像,所以计算它们距相机20的深度。基于这些深度,图像传感器10-1、10-2的视场以及特征的u、v像素坐标的定位,可以在局部相机坐标xc、yc、zc中计算特征F0和F1的3D位置。因此,作为初始地图的部分,可以获得并存储表示特征F0和F1的表面的点(其中相机坐标系中的3D坐标可以被转换为地标点LM0被用作全局参考原点的全局坐标系)。
此后,在时间t1处,图像传感器10-1捕获事件帧FR1,该事件帧FR1包括相同的特征F0和F1,但是出现在不同的像素坐标和几何形状处,因为这些特征是从不同的视角成像的。在该示例中,特征F0和F1向左移位,并且看起来比它们在帧FR0中的移位大(特征F1的长度d0′比长度d0长,并且中心像素定位移动到ui’、vj’)。这表示相机20已经向右移动并且更接近特征F0和F1。基于特征F0和F1的像素定位的改变,并且具有它们在3D空间中的先前定位的知识,图像处理***30可以计算对于图像传感器10-1的更新姿态估计“pose-1-est”。该估计可以通过使用目标函数的迭代算法来细化,以获得优化的姿态估计。
如图2B所示,在姿态估计优化过程中,可以对时间t1处的新姿态估计“pose-1-est”进行初始猜测。在一个实施例中,初始猜测可以等于先前姿态。在其他实施例中,基于运动模型或其他方案,初始猜测可以不同于先前姿态。在图2B的示例中,假设传感器10-1已经移动到用于初始猜测的定位。(接近的初始猜测可能使得后续优化算法相对更快地收敛。)然后,先前帧FR0的特征点可以被重新投影到与针对当前帧FR1的姿态猜测相对应的点。也就是说,从姿态猜测的观点来看,如果姿态猜测不同于先前姿态,特征点的估计位置(用x表示)将在当前帧FR1中相对于先前帧FR0移位。在姿态猜测时,由此为帧FR1建立估计坐标,诸如LM0-est。
可以确定这些估计坐标和相对应的测量坐标之间的距离。然后可以将距离***诸如基于梯度下降的成本函数的迭代优化方程,以细化估计姿态。例如,使用基于两个传感器10-1、10-2的深度测量,经由2D-3D投影从其在帧FR1中的位置确定测量坐标LM0-meas。获得3D坐标LM0-est和测量坐标LM0-meas之间的距离,并将其用于优化方程中。当基于该方程的优化例程收敛到阈值以下时,由此在时间t1处针对姿态获得优化姿态估计。对每个新事件帧重复该过程,以跟踪设备50的移动。
可以使用来自第二图像传感器10-2的事件帧作为基线来执行与上述相同的处理。在这种情况下,可以计算更精确的姿态。
在图2B中还可以看出,事件帧FR1包括没有出现在帧FR0中的附加特征F2(由点p2组成)。使用深度信息,可以对特征F2进行2D-3D投影,以及然后可以将3D坐标存储在地图数据库中,由此继续建立地图。由于帧FR1包含附加信息,所以帧FR1自身可以被指定为关键帧,其他帧可以参考该关键帧以用于随着相机20的移动更新姿态和地图。
图2C至图2E示出了上述姿态优化的示例。图2C示出了具有四个角特征F0、F1、F2和F3的物体Oi。在事件相机20从先前位置移动之后的时间t1,事件相机20的图像传感器10-1和10-2中的每一个传感器检测到特征,在该先前位置也检测到特征。图2D描绘了在时间t1处分别由图像传感器10-1、10-2捕获的事件生成的二维“事件帧”(下文讨论)FR1-1、FR1-2。事件帧中示出的圆形表示成像的(即“测量的”)特征,诸如F0-meas、F1-meas。这些正方形表示基于上述新姿态估计的初始猜测的这些特征的位置的初始猜测。被称为重新投影误差的、诸如F0-est、F1-est的估计特征与相对应的测量特征F0-meas、F1-meas之间的距离被确定并被***到优化例程中。针对相机20的优化旋转和平移优化目标函数的优化例程从而计算细化的姿态估计,在该姿态估计下,所估计的特征位置与所测量的特征位置更接近地对准,如图2E所示(初始估计的位置F1-est被改进为处于优化姿态的“F1-opt”)。关于地图建立,使用优化的姿态估计,在时间t1处检测到的任何新特征(尽管在图2D和2E中未示出)可以后续被接近地配准到在先前帧中测量的地标位置。此外,可以运行捆绑调整(bundleadjustment)例程来细化物体的边缘和其他图像元素,从而进一步细化地图。
图3A示出了与利用以恒定帧速率输出图像数据的常规摄像机创建的帧相比,使用事件相机的事件帧创建。图3B示出了从基于事件的图像传感器输出的事件分组的示例结构。图4描绘了与常规静止帧相比的示例事件帧。共同参考图3A、图3B和图4,与常规摄像机相反,事件相机输出表示每个像素上光强的时间对比度的异步事件数据流。如图3B所示,当像素的对数强度改变超过阈值时,事件被触发,并且事件流的事件分组由组织的图像传感器以几个字段输出。这些字段可以是表示改变的精确时间的时间戳310;像素定位320(x,y像素地址,即,事件发生的x列和y行);以及指示强度的变化是正还是负的极性(polarity)位330。
在同时定位与地图创建的上下文中,当相机20自身正在一些环境中移动时,每个事件相机(图像传感器)10-1、10-2都响应。当这种情况发生时,由事件相机触发同时发生的事件的突发(burst)。图像处理***30使用事件相机的此特性来定义事件帧,该事件帧是累积最后N个传感器事件的二维网格(例如,图2B的帧FR0或FR1中的u×v像素网格)。如图4所看到的,由于只有接近场景边缘的像素响应由移动引起的亮度改变,因此所得到的事件帧,诸如事件帧404,看起来像来自图像传感器的边缘地图。(这里注意,为了生成初始事件帧FR0,可以假设在时间t0处发生相机20的略微移动。)另一方面,常规图像帧402是在给定时间根据来自像素网格的所有像素的图像信息生成的完整静止帧。
事件相机10-1、10-2用于SLAM提供了几个优点。首先,帧时间是异步的。如图3A的序列301所示,恰好累积N个事件来构建每个事件帧404具有仅当传感器发生足够的移动时接收用于处理的帧的好处。当快速移动时,由于触发了更多的事件,会产生更多的帧,并且这正是SLAM***期望响应的时候,使能够快速更新姿态和地图创建。当没有移动时,可以不创建帧并且也不执行计算,从而保存(conserve)了功率和资源。在常规相机中,以固定的帧速率(序列305)创建帧,其中,为每一帧恒定地提供一组完整的像素数据,而不管数据是否已经逐帧地改变。
事件相机还表现出低延迟的优点。当传感器移动时,触发的事件是同时发生的,并且因此帧可以构成在几分之一毫秒内捕获的事件。事件帧通常是一种稀少填充(populate)类型的边缘地图,并且只有对运动处理有信息的区域会响应运动,而其他区域可以被丢弃,而不需要对它们执行任何计算。
此外,通过控制每事件帧的事件数量N来控制延迟比精确性(latencyvs.accuracy)的能力在设计上提供了极大的灵活性。较小的N意味着更快地创建帧(参见序列303与序列301)。当N越小时,具有越小延迟地创建帧,以及边缘将越清晰(sharp)且模糊度越低。然而,对于较小的N,帧将具有更多噪声且具有更少的信息,导致运动估计不那么精确。较大的N给出了用于约束运动计算的更多信息,但可能导致运动模糊。
因此,事件相机对SLAM是有利的,因为它们对相机的突然移动的快速响应、高功率效率和高动态范围,所有都使得SLAM能够用于常规相机可能失效的场景。第二事件相机10-2的附加使用进一步增加了SLAM***的稳健性和可靠性。
图5A是根据本发明概念的用于同时定位与地图创建的示例方法500的流程图。该方法由设备50执行,并且可以由事件帧生成过程510、跟踪线程530和地图创建线程520构成。总体方法可以是基于PTAM的过程,该过程维持这些分离的处理线程用于跟踪和地图创建,线程之间共享一些信息。注意,替代实施可以采取非PTAM方法,其中单个处理线程执行定位和地图创建。
对于事件帧生成,事件被第一图像传感器10-1和第二图像传感器10-2捕获512,并且将捕获的事件分别累积514到第一事件帧FR-1和第二事件帧FR-2中。图像处理***30可以通过将新事件帧定义为由最新N个事件的图像数据组成,来预定义异步帧将如何被生成。可以取决于传感器的类型、图像传感器的图像感测元件的数量(可互换地称为像素或“事件像素”)、期望的延迟和精确度、被穿越和地图创建的环境的类型等来预设N的值。在极端情况下,N等于1,使得单个事件可能触发新的事件帧。在其他情况下,N可以设置为几个、几十个、几百个或几千个事件。每个事件可以被定义为对于单个像素或者对于预定批量的空间邻近像素超过阈值的强度改变。在N值已经被预定义的情况下,可以检测到M>N个事件同时发生,并且在这种情况下,新事件帧可以包含M个事件,而不仅仅包含N个事件。事件帧FR-1被提供给地图创建线程520和跟踪线程530,同时事件帧FR-2至少被提供给地图创建线程520,并且可选地被提供给跟踪线程530(如虚线路径所指示)。
最初,设备50可能没有环境E的任何物体或边界的先验知识。为了建立到参考点的初始配准,初始化过程522可以在设备50首次在环境E内放置或激活的时间t0处,作为使用初始事件帧FR-1、FR-2的地图创建线程520的部分来执行。由于第一和第二图像传感器是事件相机,当相机20进行初始移动时,这触发在时间t0处检测大量同时发生的事件。因此,基于初始事件,在操作522中,该方法可以生成与事件帧FR-1相对应的全局参考帧。全局参考帧可以被称为用于特征定位配准的一组关键帧中的第一关键帧(类似于图2B中示例的帧FR0)。全局参考帧可以表示在时间t0处发生的M>N个事件,或者最早检测开始于时间t0的N个最新事件。
在全局参考帧中,诸如物体的角或边缘的特征可以由一组空间邻近事件来标识。特征可以由一组图像点来标识,即,对于在帧内形成预定形状的“事件像素”(每个与事件相关联的事件帧像素)。至少一个特征可以被指定为参考地标,并且参考地标的点可以被指定为参考地标点LM0。如上所述,参考地标点LM0可以被指定为全局坐标系的原点。特征标识可以通过本领域已知的模式检测算法来执行以用于找到特征定位,该模式检测算法的一个示例是Harris角检测器。作为描述符,可以从特征定位的帧中提取小窗口。因此,帧FR-1的事件,即,仅来自一个图像传感器10-1的事件,可用于生成第一关键帧(其中可使用帧FR-2的事件将深度随后分配给关键帧点)。
在操作524中,可以对帧FR-2执行相同种类的特征检测。然后,帧FR-2的特征与帧FR-1的特征相匹配,并比较匹配特征的位置以提取深度。换句话说,对于来自一个图像传感器10-1的每个事件,来自其他图像传感器10-2的同时匹配事件可以用于使用基于极线的深度测量来计算(多个)图像点的深度。两帧之间的特征匹配可以利用标准方法来完成,该标准方法的一些示例包括SIFT(scale-invariant feature transform,比例不变特征变换)或SURF(peeded-up-robust-features,加速稳健特征)点/键和匹配。随着特征点的深度被这样确定,特征点位置可以从相机坐标系转换到原点在LM0的全局坐标系,并且地图点被***544到地图540。
同时,在跟踪线程530中,基于帧FR-1初始地估计姿态532,并且使用来自帧FR-1的测量以及可选地来自帧FR-2的测量、基于特征定位来细化估计姿态534。更具体地说,在初始化过程中,图像传感器10-1的初始姿态“pose-init”可以相对于原点位于地标点LM0的全局坐标系来计算(再次参见图2B)。初始姿态可以基于第一关键帧(FR0)中地标点LM0的u,v坐标和LM0的深度测量来计算。(深度测量可在地图创建线程520的操作524中进行,以及例如通过路径544、546提供给跟踪线程530。)姿态的定位分量可以用全局坐标系中的坐标(“全局坐标”)来定义。姿态的定向分量同样可以相对于全局坐标系的轴来设置。(注意,姿态的定向方面以及全局坐标系自身的轴可以相对于在环境E中检测到的水平表面HS被部分地定义(参见图1))。由于图像传感器10-1和10-2彼此校准,图像传感器10-2的初始姿态可以从图像传感器10-1的初始姿态导出。第一关键帧的初始姿态可以用作参考姿态,使用相对于该参考姿态的旋转R和平移T来定义后续计算的姿态。
对后续事件帧FR-1执行估计姿态细化的操作534。如上针对图2B所述,对于全局参考帧之后的任何当前帧,估计姿态细化可以包括对新姿态估计(例如,“pose-1-est”)进行初始猜测。然后,先前帧的特征点被重新投影到与针对当前帧的姿态猜测相对应的点。在姿态猜测时,由此为当前帧建立估计坐标,诸如LM0-est。然后,这些估计坐标和相对应的测量坐标之间的距离被确定,并且被***运行迭代优化方程以细化估计姿态的处理器运行的优化例程。当优化例程收敛到阈值以下时,由此针对当前帧姿态获得优化姿态估计。可选地,例程还可以使用来自帧FR-2的测量特征点来进一步优化姿态。可以根据需要将优化的姿态输出536到载体设备40。优化的姿态也可以经由路径546存储在地图540中,并经由路径542提供给地图创建线程520。
对于当前帧(在全局参考帧之后),地图创建线程520可以使用针对该帧的优化姿态来运行全局优化526。全局优化可以是捆绑调整,其中特征位置和关键帧姿态被细化。所细化的特征位置和关键帧姿态然后可以被存储544在地图540内以更新它们。
图5B是示出可在图5A的方法500内使用的子过程550的流程图。子过程550由初始化过程560和随后的操作集570构成以用于随着相机移动的姿态/地图更新。在初始化560期间,捕获初始事件562,以及基于初始事件来生成全局参考帧(这里可互换地被称为第一关键帧FR0)564。全局参考帧可以与至少第一传感器10-1相关联,并且包括至少一个标识的地标LM0。在跟踪线程中,可以相对于在其原点指定有地标点LM0的全局坐标系来定义初始姿态“pose-init”566。在地图创建线程中,在第一关键帧FR0中标识的其他物体特征可以被标识并与全局坐标配准568,以提供环境的初始地图创建。这里,图像点相对于相机20的定位可以首先由相机坐标系中的坐标来定义,并且这些坐标可以利用姿态的知识(获得567)被转换成全局坐标。
由至少第一传感器10-1基于紧接在第一关键帧FR0的事件之后检测到的接下来的N个事件来生成下一事件帧FR1。由跟踪线程和也由地图创建线程接收下一事件帧(576)572。跟踪线程使用如上所述的姿态猜测来初始地估计帧FR1的姿态574。帧FR1的特征可以以与对关键帧FR0做出的相同或相似的方式来标识,例如使用Harris角检测器或其他合适的技术。注意,这种特征检测不需要等到累积了整个事件帧的N个事件,而是可以在接收单个事件或更小批量的K个事件(K<N)时进行。在帧FR1的初始估计姿态处,先前帧FR0的特征点被重新投影590,并与帧FR1的测量图像点相比较以优化姿态估计。在该过程中,帧FR1的特征可以首先以与初始化过程中类似的匹配方法与关键帧FR0的特征匹配,例如,使用SIFT或SURF。运行诸如基于梯度下降的例程的优化例程以优化姿态。该例程可以确定最小化相对应的估计点和测量点之间的距离(如上图2C至图2E所示)的旋转R和平移T的最优值(相对于参考姿态“pose-init”)。优化姿态被提供给地图创建线程591。可选地,使用第二传感器10-2的测量图像点(来自图5A的帧FR-2)进一步优化姿态592,并且该优化姿态被替代地提供给地图创建线程595。
在地图创建线程的操作580中,标识帧FR1的新特征,即,与关键帧FR0中的任何特征不匹配。使用优化姿态来将在相机坐标中获得的其图像点的定位转换成全局坐标。可以存储这些新特征来更新地图。
在操作582中,所有特征的位置的优化可以通过运行基于捆绑调整的优化例程来执行,该优化例程细化它们的位置并且也细化姿态。该优化还可以优化地将表示当前帧的3D图像点的点云与先前帧或先前关键帧的点云对准。细化的特征位置和姿态可以被存储在地图中以更新该地图584,由此可针对下一组捕获的事件重复该组操作570。也就是说,每个新获得的事件帧的特征可以与先前事件帧的特征相匹配,以导出位置信息。此外,可以利用第二传感器10-2的图像点进一步细化位置。也就是说,来自第二传感器10-2的测量可以被添加到优化例程的误差函数中。这些测量已经用于特征点初始化的目的,并且因此不需要附加的计算成本。
优化例程的操作582(或526)可以基于捆绑调整的批量处理技术。具体地,由于传感器10-1、10-2对光的检测不完善,一些检测到的事件实际上可能是错误或噪声。也就是说,包括特征的任何给定事件或邻近事件组可能实际上不代表该特征在环境中的准确定位,或者可能代表该特征的失真或噪声版本。为了减少这种性质的误差,优化例程可以使用捆绑调整过程来平均/过滤图像数据,从而细化帧FR1中特征的位置,并且还细化先前优化的姿态。捆绑调整过程可以通过从估计姿态和估计3D位置投影来最小化由特征的测量位置和这些特征的估计位置之间的差组成的误差函数(即,上述重新投影误差)。在示例中,优化例程可以利用基于梯度下降的误差函数。在另一示例中,优化例程可以包括最小化以下目标函数的迭代过程:
方程式(1)的目标函数在Klein&Murray,Parallel Tracking and Mapping forSmall AR Workspaces(ISMAR 2007)中有所描述。在方程式(1)中,Si是与第i个关键帧相关联的一组图像测量;Obj(·,σ)是Tukey双权重目标函数;σ是分布标准差的估计;j是第j个地图点;eji是第j个地图点和第i个关键帧的重新投影误差向量;u2···uN和p′1···p′M表示地图上的点。
这里注意,一些实施例可以被配置用于稀疏深度计算。深度可以通过仅计算由传感器10-1、10-2之一中的兴趣点检测器找到有信息的区域的深度信息来稀疏地计算。这节省了计算能力,因为计算密集深度地图是计算密集型任务。
如上所述,基于诸如是否存在至少阈值数量的新特征的至少一个预定义标准,可以将任何事件帧指定为关键帧。此外,如前所述,校准第一和第二传感器10-1、10-2(它们的相对姿态是已知的),并且只有第一传感器10-1的姿态可以表示为用于优化的参数。因此,通过采用第一传感器10-1的姿态参数,使用已知的校准将其转换为第二传感器10-2的姿态,然后将3D特征投影到第二传感器上,可以执行由第二传感器10-2捕获的特征的重新投影。在一些实施例中,这也可以在跟踪线程的优化过程(姿态估计)中完成,但代价是在两个传感器10-1、10-2中将每帧执行附加的测量。
在上述方法中,使用具有双事件相机的立体配置可以提供某些优点。对于新的特征发现(新的特征初始化),与常规SLAM***中采用的具有恒定帧速率相机的立体配置相比,使用两个事件相机可以提供更精确的视差(disparity)计算。这里,视差是指由不同视点创建的两个传感器中图像特征的位置差。也就是说,使用如上所述的两个事件相机可以有利地减少错误视差的机会。对于在(一个传感器的)一个帧中找到的每个特征,在(另一传感器的)另一帧中应该找到相对应的特征。由于与恒定帧速率相机相比,两个帧在非常短的时间间隔内用事件相机10-1、10-2被典型地创建,这减少了找到虚假匹配的机会。此外,如前所述,通过使用双事件相机提供稀疏深度计算。
图6是根据本发明概念的姿态优化的示例方法600的流程图。方法600可以用作SLAM***的部分,并且可以是图5A的方法500内的姿态优化操作的替代(例如操作534)。最初,在块602,存储的姿态参数等于最新计算的姿态,该最新计算的姿态可以是初始姿态pose-init或者在相机20已经移动后随后确定的姿态。然后接收下一批量的K≥1个事件604,其中K是可以预设的整数值。(K个事件可以是从第一图像传感器10-1和第二图像传感器10-2之一计数的事件,或者,只有来自图像传感器10-1、10-2两者的匹配事件可以被计数以到达K个事件。)然后使用基于梯度下降的优化的至少一个优化步骤来更新姿态606。存储/输出更新姿态608,并且此后重复方法600的操作。在一个示例中,K被预设为比第一或第二图像传感器中的像素数量小至少一个数量级(小于像素数量的10%)的值。在另一示例中,K被预设为小于像素数量的2%;以及在又一示例中,K被预设为小于像素数量的1%。在极端情况下,K被预设为1,由此在操作606中针对每个事件更新姿态。
梯度下降是一种用于找到函数局部最小的优化技术。通常,这是通过确定当前点处的函数梯度,并通过采取与当前点处该梯度的负值成比例的步骤来完成的。在当前讨论的方法600中,梯度下降优化606可以最小化以下误差函数:
其中R是旋转,t是平移,xi,j表示在任何帧的3D投影图像中的所有像素上迭代的相机坐标系中坐标(i,j)处的3D点,E(R,t)表示与3D图像相关联的预测和测量姿态参数R,t之间的误差,表示有符号(signed)距离函数。有符号距离函数可以被认为是基于体素(voxel)的数据结构,其中3D环境被离散为体素,并且每个体素被分配表示到环境中物体的最近表面的近似距离的值。分配的体素值可以为对于与物体边界一致的体素的零,与远离物体表面的距离成比例的负值,与远离物体内部的物体表面的距离成比例的正值。方程式(2)可以被称为成本函数,其中迭代地寻求R和t的优化值,以最小化i,j范围内的误差E(R,t)的值。
方法600的基于梯度下降的优化表现出优于解决姿态优化问题的常规方案(诸如Bylow、Strurm等人Real-Time Camera Tracking and 3D Reconstruction Using SignedDistance Functions,Robotics:Science and Systems,2(2013)采取的高斯牛顿迭代(Gauss Newton iterative)方案)的某些优点。(注意,以上方程式(2)也可在Bylow的文章中找到)。例如,如果在双基于事件的相机的情况下,在每一事件或批量事件处将尝试高斯牛顿迭代方案以用于姿态优化,则处理将会计算量过大,并且因此在许多应用中不现实。另一方面,方法600的方案采取输入事件流的连续和随机特性,以及通过对每事件或批量事件(在后一种情况中的K>1个事件)执行梯度下降步骤606,将相机姿态成本函数保持为最小。
可以使用的一种梯度下降算法是Nesterov加速梯度下降方法。这种方法经常用来在机器学习中以随机地最小化目标函数,使用训练集合的(多个)随机示例。这种(多个)随机示例可以被称为“训练示例”或“批量的示例”。在方法600的操作606中,训练示例或批量的示例可以由事件或批量的事件代替,以实现成本函数最小化(并且从而实现姿态优化)。
图7是根据本发明概念的采用梯度下降优化的示例优化方法700的流程图。如在图6的方法600中,方法700可以被用作针对图5A的方法描述的姿态优化的替代。方法700的操作同样可以针对每K≥1个事件执行,其中K是如上文针对方法600所讨论的预设整数。当接收到K个事件702时,事件每个都在三维中被重新投影704。然后计算成本函数相对于“体积离散化”的3D梯度706。体积离散化假设地图被表示为体积。典型地,对于这种体积表示有两种方式:i)截断的有符号距离函数(Truncated Signed Distance Function,TSDF);以及ii)地图点似然函数(Map Point Likelihood Function,MPLF)。TSDF函数如上面针对有符号距离函数所述在每个体素中存储到物体表面的距离,但是将最大值(例如1.0)分配给位于超过距表面阈值距离的体素。TSDF体积表示通常用于融合深度信息。在MPLF表示中,每个体素包含在体素定位处存在地图点的概率。
在下一操作708中,梯度被“反向传播”(例如,使用“链式法则(chain rule)”)以计算相对于6-DOF姿态参数的成本函数的梯度。(链式法则是微积分中用来计算两个或更多函数的组合导数(derivative)的数学公式。)最后,执行梯度下降迭代710,以将估计姿态移动到更接近最优姿态。然后,每次接收到K个事件时,重复上述操作。在一个示例中,估计姿态可以初始设置为等于先前计算的姿态,这利用了事件的快速异步采集。
利用针对每K个事件更新姿态的上述方案,与恒定帧速率相机相反,不需要等到整个常规帧周期(典型地,对于30f/s的~33毫秒)来处理事件和更新姿态。结果,利用本发明概念的基于双事件相机/梯度下降的方案,可以实现更高的姿态更新速率。本发明概念还允许抖动的减少,抖动是常规虚拟现实SLAM***中众所周知的问题。例如,对于常规***(例如,在Bylow,supra),累积超过33ms的误差可能很高,因此每帧发生的校正可能大,并且给用户带来抖动和不适,尤其是在虚拟现实***中。本发明概念减少了这种抖动,因为姿态被非常频繁地(每K个事件)校正,由此姿态更新总是小,并且轨迹是平滑的。
图8是根据本发明概念的地图更新方法800的流程图。方法800可用作上述图5A的方法的地图优化的替代。不是通过分析大量新获得的图像点来执行优化,而是针对每个新检测到的事件进行基于光线投射的更新。方法800可以与刚才讨论的姿态更新方法600或700结合使用。
在初始块802,存储的地图数据可以表示环境E的最新地图,其可以是初始地图或者在相机20移动之后进一步建立的地图。物体的表面可以通过诸如前面讨论的TSDF或MPLF表示的体积表示反映在地图中。然后接收一个图像传感器10-1的单个事件(804),其中该事件对应于投影图像平面的像素坐标x,y。这里,可以假设与事件(“事件像素”)相关联的图像传感器坐标x,y可以与从相机的视点(即,相机中心)投影的虚拟2D图像平面(“虚拟事件像素”)的像素坐标x,y相关联。在光线投射中,这种虚拟2D图像平面被投影在相机视点和虚拟3D环境之间的定位,这种虚拟3D环境包括对环境建模的一组体素。这里,可以假设相机视点是对应于在方法600或700中计算的更新姿态的视点。此外,这里考虑的单个事件可能是用于生成更新姿态的K个事件中的第一个。
在光线投射操作(806)中,虚拟线从视点开始绘制,并穿过虚拟事件像素处的投影图像平面。该线继续进入该组体素并沿途与至少一个体素相交。然后,通过假设物体的边缘存在于射线进入体素的定位处的该体素中来更新(多个)相交体素。体积地图表示(无论是TSDF还是MPLF表示)由此被更新和存储(808)。
根据上述各种实施例,采用双事件相机的SLAM***能够为每个事件或相对小批量的K个事件更新相机姿态。因此,根据本发明概念的各种实施例的SLAM***可以在功率效率、延迟和对高速运动的稳健性方面优于常规SLAM***。
具体地,可以通过仅处理由事件组成的稀疏流来提高功率效率。相比之下,部署常规恒定帧速率相机的SLAM***处理表示对于每帧的每个像素的数据。此外,延迟可以比具有恒定帧速率相机的SLAM***更快。例如,实施例可以使用典型地每秒发送大于100万个事件的现有事件相机。在这种情况下,可能会达到亚毫秒延迟。此外,根据本发明概念的SLAM***由于这种低延迟,可以表现出对超高速运动的稳健性。
上述方法的处理可以每个由图像处理***30的至少一个处理器执行。所述至少一个处理器可以是专用硬件电路,或者至少一个通用处理器,该至少一个通用处理器通过运行从存储器加载的程序指令被转换为专用处理器。
图9是根据本发明概念的相机20的示例配置的功能框图。相机20包括以示例性配置示出的第一图像传感器10-1和第二图像传感器10-2,以及图像处理***30。该图像处理***30包括:至少一个处理器900,执行上述方法中的处理;存储器950;输入接口电路902和输出接口电路960。
处理器900可以是集成电路的部分,并且可以包括各种电路,每个电路用于执行上述方法中的一种或多种方法中的特定功能。为此,处理器900可以包括事件帧生成电路905、深度计算电路910、初始化电路920、特征匹配电路925、姿态更新计算电路930和地图更新计算电路940。处理器900的各种电路905、920等中的每一个可以由运行从存储器950读取的程序指令的处理器900内的公共或不同电路来形成。
第一图像传感器10-1和第二图像传感器10-2可以分别向输入接口电路902输出第一和第二事件流,该输入接口电路902以适当的形式向处理器900提供其数据。事件帧生成电路905可以生成针对如上所述的每个图像传感器的每N个或M个事件的事件帧,同时深度计算电路910可以计算针对由两个图像传感器10-1、10-2的每个共同成像的点(或匹配特征的每个点)的深度。初始化电路920可以执行针对上述初始化过程510的处理。特征匹配电路925可以执行各种特征标识、搜索和匹配,诸如初始化过程560和方法500的操作522中的那些。对于PTAM实施方式,用于分离姿态更新和地图创建的处理可以分别由姿态更新计算电路930和地图创建更新计算电路940来处理。姿态更新计算电路930可以包括姿态优化电路932以执行图5A、5B的姿态优化或图6或7的基于梯度下降的优化。地图更新计算电路940可以包括用于图8的光线投射的光线投射电路942,以及用于执行针对图5A、图5B描述的地图优化的地图优化电路944。
存储器950可由处理器900中所示的电路905、910等中的一个或多个电路使用,以用于计算期间的临时存储,以及用于存储计算的姿态和地图数据。存储器950还可以存储由处理器900读取并运行以执行其操作的程序指令。输出接口960可以根据在图1的设备50内运行的具体应用程序的要求来输出由处理器900生成的姿态和地图数据。
这里注意,由于相机20被配置为实施SLAM,相机20可以被互换地称为SLAM***。此外,相机20可以作为具有其他功能的电子设备50的部分被包括(如前面结合图1所提到的)。电子设备的一些示例包括但不限于机器人、智能电话、无人机、自主车辆、医疗成像装置、便携式电子设备、个人计算机、笔记本计算机、平板电脑和可穿戴设备。便携式电子设备的尺寸可以被设置为和配置为由典型的用户单手容易地携带。
本文已经参考信号箭头、框图和算法表达式描述了本发明概念的示例性实施例。框图中的每个块、框图中的块的组合以及根据算法表达式的操作可以由伴随着计算机程序指令的硬件来实施。这种计算机程序指令可以被存储在可以引导计算机、其他可编程数据处理装置或其他设备以具体方式运行的非暂时性计算机可读介质中,使得存储在计算机可读介质中的指令产生包括实施流程图和/或框图/示意图中指定的功能/动作的指令的制品。
本文使用的术语“处理器”意图包括任何处理设备,诸如,例如,包括中央处理单元(central processing unit,CPU)和/或其他处理电路(例如,数字信号处理器(digitalsignal processor,DSP)、微处理器等)的处理设备)的处理设备。此外,“处理器”包括计算硬件,并且可以指在计算设备中包含多个处理核心的多核处理器。与处理设备相关联的各种元件可以由其他处理设备共享。
根据本技术的上述方法可以以硬件、固件或经由软件或计算机代码地使用来实施,该软件或计算机代码可以被存储在诸如CD ROM、RAM、软盘、硬盘或磁光盘的记录介质中,或者最初存储在远程记录介质或非暂时性机器可读介质上并将存储在本地记录介质上的、通过网络下载的计算机代码中,使得本文描述的方法可以使用这样的软件来呈现,该软件使用通用计算机、或专用处理器、或可编程或专用硬件(诸如ASIC或FPGA)被存储在记录介质上。如本领域所理解的,计算机、处理器、微处理器控制器或可编程硬件包括存储器组件,例如RAM、ROM、闪存等。其可以存储或接收软件或计算机代码,当该软件或计算机代码由计算机、处理器或硬件访问和运行时,实施本文描述的处理方法。此外,应该认识到,当通用计算机访问用于实施本文所示处理的代码时,代码的运行将通用计算机转换成用于运行本文所述处理的专用计算机。
虽然本文描述的发明概念已经参考其示例性实施例被具体示出和描述,但是本领域普通技术人员将理解,在不脱离由所附权利要求及其等同物定义的所要求保护的主题的精神和范围的情况下,可以在形式和细节上进行各种改变。
Claims (20)
1.一种用于同时定位与地图创建的方法,包括:
分别从第一和第二图像传感器接收表示环境中的表面点的异步事件的第一和第二事件流,其中所述第一和第二图像传感器布置有重叠的视场;
基于由所述第二事件流表示的公共点的相对像素定位,计算由所述第一事件流表示的点的深度;以及
动态地计算至少所述第一图像传感器相对于环境中的参考元素的姿态,以及至少基于由所述第一事件流表示的点及其计算的深度来更新环境的地图。
2.根据权利要求1所述的方法,其中动态地计算姿态包括:针对所述第一事件流的每K个事件更新所述姿态,其中K是预定义的≥1的整数,并且比所述第一或第二图像传感器的图像捕获元素的总数少至少一个数量级。
3.根据权利要求2所述的方法,其中K=1,由此针对所述第一事件流的每个事件更新所述姿态。
4.根据权利要求1所述的方法,还包括运行优化例程以优化地图定位。
5.根据权利要求4所述的方法,其中所述优化例程使用由所述第一图像传感器的事件表示的第一组点和由所述第二图像传感器的事件表示的第二组点来最小化误差函数。
6.根据权利要求1所述的方法,其中动态地计算姿态包括:确定测量点和初始估计姿态的点之间的距离,所述初始估计姿态是与先前事件帧相对应的先前计算的姿态。
7.根据权利要求1所述的方法,其中动态地计算姿态包括:借助惯性测量单元初始地估计姿态。
8.根据权利要求1所述的方法,其中使用并行跟踪和地图创建过程的分离的处理线程来执行动态地计算姿态和更新地图。
9.根据权利要求1所述的方法,其中所述姿态的动态计算包括:使用基于梯度下降的优化方法来优化所述姿态。
10.根据权利要求1所述的方法,其中动态地计算姿态包括:
在三维中重新投影与每个新接收的事件相对应的表面点;
计算成本函数相对于体积离散化的三维梯度;
反向传播梯度以计算相对于六个自由度姿态参数的梯度;以及
执行梯度下降迭代以将估计姿态移动到更接近最优姿态。
11.根据权利要求10所述的方法,其中使用链式法则来反向传播所述梯度。
12.一种同时定位与地图创建***,包括:
第一图像传感器,其提供表示环境中的表面点的异步事件的第一事件流;
第二图像传感器,被布置成具有与所述第一图像传感器的视场重叠的视场,并且提供表示环境中的表面点的异步事件的第二事件流;
图像处理***,包括至少一个处理器,所述至少一个处理器运行从存储器读取的指令以:
基于由所述第一和第二事件流表示的匹配特征点,立体地计算来自所述第一和第二图像传感器的深度;以及
动态地计算至少所述第一图像传感器相对于环境中的参考元素的姿态,以及至少基于由所述第一事件流表示的匹配特征点及其计算的深度更新环境地图。
13.根据权利要求12所述的同时定位与地图创建***,其中所述参考元素是在初始化过程中标识的地标的至少一个点。
14.根据权利要求12所述的同时定位与地图创建***,其中,所述至少一个处理器被配置为通过针对所述第一事件流的每K个事件更新姿态来动态地计算所述姿态,其中,K是预定义的≥1的整数,并且比所述第一或第二图像传感器的图像捕获元件的总数少至少一个数量级。
15.根据权利要求14所述的同时定位与地图创建***,其中K=1,由此针对所述第一事件流的每个事件更新所述姿态。
16.根据权利要求12所述的同时定位与地图创建***,其中使用在所述至少一个处理器上运行的并行跟踪和地图创建过程的分离的处理线程来执行所述姿态的动态计算和地图的并发更新。
17.根据权利要求12所述的同时定位与地图创建***,其中所述姿态的动态计算包括:使用基于梯度下降的优化方法来优化所述姿态。
18.根据权利要求12所述的同时定位与地图创建***,其中所述姿态的动态计算包括:
在三维中重新投影与每个新接收的事件相对应的表面点;
计算成本函数相对于体积离散化的三维梯度;
反向传播梯度以计算相对于六个自由度姿态参数的梯度;以及
执行梯度下降迭代以将估计姿态移动到更接近最优姿态。
19.根据权利要求12所述的同时定位与地图创建***,其中所述姿态的动态计算包括:确定测量点和初始估计姿态的点之间的距离,所述初始估计姿态是与先前事件帧相对应的先前计算的姿态。
20.根据权利要求12所述的同时定位与地图创建***,其中所述姿态的动态计算包括:借助惯性测量单元初始地估计姿态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/030,273 | 2018-07-09 | ||
US16/030,273 US10948297B2 (en) | 2018-07-09 | 2018-07-09 | Simultaneous location and mapping (SLAM) using dual event cameras |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110702111A true CN110702111A (zh) | 2020-01-17 |
CN110702111B CN110702111B (zh) | 2024-05-17 |
Family
ID=69101516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910292883.0A Active CN110702111B (zh) | 2018-07-09 | 2019-04-12 | 使用双事件相机的同时定位与地图创建(slam) |
Country Status (3)
Country | Link |
---|---|
US (3) | US10948297B2 (zh) |
KR (1) | KR20200005999A (zh) |
CN (1) | CN110702111B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111798370A (zh) * | 2020-06-30 | 2020-10-20 | 武汉大学 | 基于流形约束的事件相机图像重建方法及*** |
CN111881773A (zh) * | 2020-07-06 | 2020-11-03 | 武汉大学 | 一种基于位置偏移的事件相机人体姿态估计方法及*** |
CN112200856A (zh) * | 2020-10-16 | 2021-01-08 | 北京航空航天大学 | 一种基于事件相机的视觉测距方法 |
CN112525107A (zh) * | 2020-11-24 | 2021-03-19 | 革点科技(深圳)有限公司 | 一种基于事件相机的结构光三维测量方法 |
CN112631314A (zh) * | 2021-03-15 | 2021-04-09 | 季华实验室 | 基于多线激光雷达与事件相机slam的机器人控制方法、*** |
CN112688991A (zh) * | 2020-12-15 | 2021-04-20 | 北京百度网讯科技有限公司 | 用于执行点云扫描操作的方法、相关装置及计算机程序产品 |
CN113155032A (zh) * | 2020-12-16 | 2021-07-23 | 重庆邮电大学 | 一种基于动态视觉传感器dvs的建筑物结构位移测量方法 |
WO2022067836A1 (en) * | 2020-10-01 | 2022-04-07 | Qualcomm Incorporated | Simultaneous localization and mapping using cameras capturing multiple spectra of light |
US20220215576A1 (en) * | 2021-01-04 | 2022-07-07 | Kabushiki Kaisha Toshiba | Information processing device, information processing method, and computer program product |
CN114777764A (zh) * | 2022-04-20 | 2022-07-22 | 中国科学院光电技术研究所 | 一种基于事件相机的高动态星敏感器星点提取方法 |
CN114789457A (zh) * | 2022-03-25 | 2022-07-26 | 哈尔滨工业大学(威海) | 智能紫外消杀机器人 |
CN117808847A (zh) * | 2024-02-29 | 2024-04-02 | 中国科学院光电技术研究所 | 融合仿生动态视觉的空间非合作目标特征跟踪方法 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2567012B (en) * | 2017-10-02 | 2021-05-12 | Advanced Risc Mach Ltd | Motion Sensing |
US10948297B2 (en) | 2018-07-09 | 2021-03-16 | Samsung Electronics Co., Ltd. | Simultaneous location and mapping (SLAM) using dual event cameras |
CN108921947B (zh) * | 2018-07-23 | 2022-06-21 | 百度在线网络技术(北京)有限公司 | 生成电子地图的方法、装置、设备、存储介质以及采集实体 |
WO2020072328A1 (en) * | 2018-10-02 | 2020-04-09 | Convergascent Llc | Endoscope with inertial measurement units and/or haptic input controls |
US11288842B2 (en) | 2019-02-15 | 2022-03-29 | Interaptix Inc. | Method and system for re-projecting and combining sensor data for visualization |
US11050932B2 (en) * | 2019-03-01 | 2021-06-29 | Texas Instruments Incorporated | Using real time ray tracing for lens remapping |
US12008782B2 (en) * | 2019-03-27 | 2024-06-11 | Sony Group Corporation | Information processing apparatus, information processing method, and program |
CN112013844B (zh) * | 2019-05-31 | 2022-02-11 | 北京小米智能科技有限公司 | 建立室内环境地图的方法及装置 |
US11022972B2 (en) * | 2019-07-31 | 2021-06-01 | Bell Textron Inc. | Navigation system with camera assist |
CN110610520B (zh) * | 2019-08-29 | 2022-03-29 | 中德(珠海)人工智能研究院有限公司 | 一种基于双球幕相机的视觉定位方法及*** |
DE102019217147A1 (de) * | 2019-11-06 | 2021-05-06 | Robert Bosch Gmbh | Verwendung von Kostenkarten und Konvergenzkarten zur Lokalisierung und Kartierung |
JP2021083004A (ja) * | 2019-11-21 | 2021-05-27 | アイシン精機株式会社 | センサシステム |
CN113256726A (zh) * | 2020-02-13 | 2021-08-13 | 纳恩博(北京)科技有限公司 | 移动装置的传感***的在线标定和检查方法、移动装置 |
US11886968B2 (en) * | 2020-03-27 | 2024-01-30 | Intel Corporation | Methods and devices for detecting objects and calculating a time to contact in autonomous driving systems |
CN111696143B (zh) * | 2020-06-16 | 2022-11-04 | 清华大学 | 一种事件数据的配准方法与*** |
CN115702320A (zh) * | 2020-07-13 | 2023-02-14 | 索尼集团公司 | 信息处理装置、信息处理方法和程序 |
AU2021273605B2 (en) * | 2020-08-25 | 2022-03-31 | Commonwealth Scientific And Industrial Research Organisation | Multi-agent map generation |
CN112146654B (zh) * | 2020-08-25 | 2022-08-23 | 浙江大学 | 基于关键约束帧的前视成像声呐水下定位与导航方法 |
US11232595B1 (en) | 2020-09-08 | 2022-01-25 | Weta Digital Limited | Three-dimensional assembly for motion capture calibration |
US11282233B1 (en) * | 2020-09-08 | 2022-03-22 | Weta Digital Limited | Motion capture calibration |
US11405580B2 (en) * | 2020-09-09 | 2022-08-02 | Fotonation Limited | Event camera hardware |
KR20220039110A (ko) | 2020-09-21 | 2022-03-29 | 삼성전자주식회사 | 증강 현실 시스템 및 그 생성 방법 |
CN112581610B (zh) * | 2020-10-16 | 2023-06-13 | 武汉理工大学 | 从多波束声呐数据中建立地图的鲁棒优化方法和*** |
CN112669344B (zh) * | 2020-12-24 | 2024-05-28 | 北京灵汐科技有限公司 | 一种运动物体的定位方法、装置、电子设备及存储介质 |
CN112815939B (zh) * | 2021-01-04 | 2024-02-23 | 清华大学深圳国际研究生院 | 移动机器人的位姿估计方法及计算机可读存储介质 |
CN113050668A (zh) * | 2021-02-26 | 2021-06-29 | 桂林电子科技大学 | 一种使用事件相机位置反馈的无人机自抗扰控制装置 |
EP4057226A1 (en) * | 2021-03-09 | 2022-09-14 | Samsung Electronics Co., Ltd. | Method and apparatus for estimating pose of device |
KR102678475B1 (ko) * | 2021-05-28 | 2024-06-26 | 한국과학기술원 | 음파와 광학 매칭을 통한 수중 경로 추정을 위한 전자 장치 및 그의 동작 방법 |
US11835341B2 (en) | 2021-07-20 | 2023-12-05 | Honeywell International Inc. | Integrity monitoring of vehicle kinematic states using map-based, vision navigation systems |
CN113516676B (zh) * | 2021-09-14 | 2021-12-28 | 成都时识科技有限公司 | 角点检测方法、脉冲神经网络处理器、芯片及电子产品 |
JPWO2023047653A1 (zh) * | 2021-09-27 | 2023-03-30 | ||
CN113888639B (zh) * | 2021-10-22 | 2024-03-26 | 上海科技大学 | 基于事件相机与深度相机的视觉里程计定位方法及*** |
WO2023240129A1 (en) * | 2022-06-07 | 2023-12-14 | Objectvideo Labs, Llc | Robot pose estimation |
US20240046575A1 (en) * | 2022-08-05 | 2024-02-08 | Samsung Electronics Co., Ltd. | Video See-Through Augmented Reality |
CN115937261B (zh) * | 2023-01-09 | 2023-05-09 | 中国人民解放军国防科技大学 | 基于事件相机的空间目标运动参数测量方法 |
CN116883648B (zh) * | 2023-09-06 | 2024-02-13 | 南方电网数字电网研究院股份有限公司 | 一种异物检测方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182518A1 (en) * | 2004-02-13 | 2005-08-18 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
CN104374395A (zh) * | 2014-03-31 | 2015-02-25 | 南京邮电大学 | 基于图的视觉slam方法 |
US20150363970A1 (en) * | 2014-06-16 | 2015-12-17 | Replica Labs, Inc. | Model and Sizing Information from Smartphone Acquired Image Sequences |
CN105865462A (zh) * | 2015-01-19 | 2016-08-17 | 北京雷动云合智能技术有限公司 | 带有深度增强视觉传感器的基于事件的三维slam方法 |
KR20170007102A (ko) * | 2015-07-08 | 2017-01-18 | 고려대학교 산학협력단 | 3차원 지도 생성 및 표시 장치 및 방법 |
CN106885574A (zh) * | 2017-02-15 | 2017-06-23 | 北京大学深圳研究生院 | 一种基于重跟踪策略的单目视觉机器人同步定位与地图构建方法 |
CN107747941A (zh) * | 2017-09-29 | 2018-03-02 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及*** |
WO2018048353A1 (en) * | 2016-09-09 | 2018-03-15 | Nanyang Technological University | Simultaneous localization and mapping methods and apparatus |
CN107808407A (zh) * | 2017-10-16 | 2018-03-16 | 亿航智能设备(广州)有限公司 | 基于双目相机的无人机视觉slam方法、无人机及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925049B2 (en) * | 2006-08-15 | 2011-04-12 | Sri International | Stereo-based visual odometry method and system |
US9953618B2 (en) * | 2012-11-02 | 2018-04-24 | Qualcomm Incorporated | Using a plurality of sensors for mapping and localization |
US9083960B2 (en) * | 2013-01-30 | 2015-07-14 | Qualcomm Incorporated | Real-time 3D reconstruction with power efficient depth sensor usage |
US9519289B2 (en) * | 2014-11-26 | 2016-12-13 | Irobot Corporation | Systems and methods for performing simultaneous localization and mapping using machine vision systems |
AU2017317599B2 (en) * | 2016-08-22 | 2021-12-23 | Magic Leap, Inc. | Augmented reality display device with deep learning sensors |
EP3504682B1 (en) | 2016-08-24 | 2020-07-15 | Universität Zürich | Simultaneous localization and mapping with an event camera |
FR3069690A1 (fr) * | 2017-07-25 | 2019-02-01 | Parrot Drones | Dispositif electronique et procede de generation, a partir d'au moins une paire d'images successives d'une scene, d'une carte de profondeur de la scene, drone et programme d'ordinateur associes |
US10482619B2 (en) * | 2017-07-27 | 2019-11-19 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
CN107506722A (zh) * | 2017-08-18 | 2017-12-22 | 中国地质大学(武汉) | 一种基于深度稀疏卷积神经网络人脸情感识别方法 |
CN109029417B (zh) * | 2018-05-21 | 2021-08-10 | 南京航空航天大学 | 基于混合视觉里程计和多尺度地图的无人机slam方法 |
US10948297B2 (en) | 2018-07-09 | 2021-03-16 | Samsung Electronics Co., Ltd. | Simultaneous location and mapping (SLAM) using dual event cameras |
-
2018
- 2018-07-09 US US16/030,273 patent/US10948297B2/en active Active
-
2019
- 2019-04-12 CN CN201910292883.0A patent/CN110702111B/zh active Active
- 2019-07-01 KR KR1020190078921A patent/KR20200005999A/ko not_active Application Discontinuation
-
2021
- 2021-02-16 US US17/176,500 patent/US11668571B2/en active Active
-
2023
- 2023-04-27 US US18/308,133 patent/US20230258455A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182518A1 (en) * | 2004-02-13 | 2005-08-18 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
CN104374395A (zh) * | 2014-03-31 | 2015-02-25 | 南京邮电大学 | 基于图的视觉slam方法 |
US20150363970A1 (en) * | 2014-06-16 | 2015-12-17 | Replica Labs, Inc. | Model and Sizing Information from Smartphone Acquired Image Sequences |
CN105865462A (zh) * | 2015-01-19 | 2016-08-17 | 北京雷动云合智能技术有限公司 | 带有深度增强视觉传感器的基于事件的三维slam方法 |
KR20170007102A (ko) * | 2015-07-08 | 2017-01-18 | 고려대학교 산학협력단 | 3차원 지도 생성 및 표시 장치 및 방법 |
WO2018048353A1 (en) * | 2016-09-09 | 2018-03-15 | Nanyang Technological University | Simultaneous localization and mapping methods and apparatus |
CN106885574A (zh) * | 2017-02-15 | 2017-06-23 | 北京大学深圳研究生院 | 一种基于重跟踪策略的单目视觉机器人同步定位与地图构建方法 |
CN107747941A (zh) * | 2017-09-29 | 2018-03-02 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及*** |
CN107808407A (zh) * | 2017-10-16 | 2018-03-16 | 亿航智能设备(广州)有限公司 | 基于双目相机的无人机视觉slam方法、无人机及存储介质 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111798370A (zh) * | 2020-06-30 | 2020-10-20 | 武汉大学 | 基于流形约束的事件相机图像重建方法及*** |
CN111798370B (zh) * | 2020-06-30 | 2023-11-28 | 武汉大学 | 基于流形约束的事件相机图像重建方法及*** |
CN111881773B (zh) * | 2020-07-06 | 2023-08-25 | 武汉大学 | 一种基于位置偏移的事件相机人体姿态估计方法及*** |
CN111881773A (zh) * | 2020-07-06 | 2020-11-03 | 武汉大学 | 一种基于位置偏移的事件相机人体姿态估计方法及*** |
WO2022067836A1 (en) * | 2020-10-01 | 2022-04-07 | Qualcomm Incorporated | Simultaneous localization and mapping using cameras capturing multiple spectra of light |
CN112200856A (zh) * | 2020-10-16 | 2021-01-08 | 北京航空航天大学 | 一种基于事件相机的视觉测距方法 |
CN112525107A (zh) * | 2020-11-24 | 2021-03-19 | 革点科技(深圳)有限公司 | 一种基于事件相机的结构光三维测量方法 |
CN112688991A (zh) * | 2020-12-15 | 2021-04-20 | 北京百度网讯科技有限公司 | 用于执行点云扫描操作的方法、相关装置及计算机程序产品 |
CN113155032A (zh) * | 2020-12-16 | 2021-07-23 | 重庆邮电大学 | 一种基于动态视觉传感器dvs的建筑物结构位移测量方法 |
US20220215576A1 (en) * | 2021-01-04 | 2022-07-07 | Kabushiki Kaisha Toshiba | Information processing device, information processing method, and computer program product |
CN112631314A (zh) * | 2021-03-15 | 2021-04-09 | 季华实验室 | 基于多线激光雷达与事件相机slam的机器人控制方法、*** |
CN112631314B (zh) * | 2021-03-15 | 2021-06-04 | 季华实验室 | 基于多线激光雷达与事件相机slam的机器人控制方法、*** |
CN114789457A (zh) * | 2022-03-25 | 2022-07-26 | 哈尔滨工业大学(威海) | 智能紫外消杀机器人 |
CN114777764B (zh) * | 2022-04-20 | 2023-06-30 | 中国科学院光电技术研究所 | 一种基于事件相机的高动态星敏感器星点提取方法 |
CN114777764A (zh) * | 2022-04-20 | 2022-07-22 | 中国科学院光电技术研究所 | 一种基于事件相机的高动态星敏感器星点提取方法 |
CN117808847A (zh) * | 2024-02-29 | 2024-04-02 | 中国科学院光电技术研究所 | 融合仿生动态视觉的空间非合作目标特征跟踪方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200011668A1 (en) | 2020-01-09 |
KR20200005999A (ko) | 2020-01-17 |
US10948297B2 (en) | 2021-03-16 |
US20230258455A1 (en) | 2023-08-17 |
US11668571B2 (en) | 2023-06-06 |
US20210190497A1 (en) | 2021-06-24 |
CN110702111B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110702111B (zh) | 使用双事件相机的同时定位与地图创建(slam) | |
CN107990899B (zh) | 一种基于slam的定位方法和*** | |
CN109993113B (zh) | 一种基于rgb-d和imu信息融合的位姿估计方法 | |
CN108406731B (zh) | 一种基于深度视觉的定位装置、方法及机器人 | |
KR101725060B1 (ko) | 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
CN110807350B (zh) | 用于面向扫描匹配的视觉slam的***和方法 | |
KR101708659B1 (ko) | 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법 | |
US10659768B2 (en) | System and method for virtually-augmented visual simultaneous localization and mapping | |
KR101776622B1 (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
CN106446815B (zh) | 一种同时定位与地图构建方法 | |
KR101776621B1 (ko) | 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
CN108700946B (zh) | 用于并行测距和建图的故障检测和恢复的***和方法 | |
JP6198230B2 (ja) | 深度カメラを使用した頭部姿勢トラッキング | |
KR101784183B1 (ko) | ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
CN112219087A (zh) | 位姿预测方法、地图构建方法、可移动平台及存储介质 | |
JP2018522348A (ja) | センサーの3次元姿勢を推定する方法及びシステム | |
KR102455632B1 (ko) | 스테레오 매칭 방법 및 장치 | |
WO2020063878A1 (zh) | 一种处理数据的方法和装置 | |
CN113012224B (zh) | 定位初始化方法和相关装置、设备、存储介质 | |
CN112802096A (zh) | 实时定位和建图的实现装置和方法 | |
Tamjidi et al. | 6-DOF pose estimation of a portable navigation aid for the visually impaired | |
WO2023030062A1 (zh) | 一种无人机的飞行控制方法、装置、设备、介质及程序 | |
CN115311353A (zh) | 一种多传感器多手柄控制器图优化紧耦合追踪方法及*** | |
Russo et al. | Blurring prediction in monocular slam | |
KR102555269B1 (ko) | 전방향 영상센서 및 관성측정센서의 자세추정 융합 방법 및 시스템 |
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 |