CN110060202B - 一种单目slam算法的初始化方法及*** - Google Patents
一种单目slam算法的初始化方法及*** Download PDFInfo
- Publication number
- CN110060202B CN110060202B CN201910319610.0A CN201910319610A CN110060202B CN 110060202 B CN110060202 B CN 110060202B CN 201910319610 A CN201910319610 A CN 201910319610A CN 110060202 B CN110060202 B CN 110060202B
- Authority
- CN
- China
- Prior art keywords
- pixel points
- image
- slam algorithm
- monocular
- overlapping area
- 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.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 130
- 238000011423 initialization method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000008859 change Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 14
- 230000008901 benefit Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000015243 ice cream Nutrition 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- 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
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种单目SLAM算法的初始化方法及***,该方法包括:从采集图像中选取图像交叠区内的像素点,并将选取的像素点转换为对应双目SLAM算法的像素点后,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标,并将像素点的三维坐标转换为相机坐标系的坐标信息,进而可以依据相机坐标系的坐标信息对单目SLAM算法进行初始化。由此,本发明实施例可以通过依据双目SLAM算法来辅助单目SLAM算法实现初始化,从而能够使单目SLAM算法对应的单目***更快、更好的实现初始化,提高了单目SLAM算法的稳定性和计算精度。
Description
技术领域
本发明涉及汽车技术领域,特别是涉及一种单目SLAM算法的初始化方法及***。
背景技术
目前自动泊车辅助***(Auto Parking Assist,APA)的解决方案中,一般会自带4个低成本的鱼眼摄像头,用以实现全车监视***(Around View Monitoring,AVM)功能,或者达到与APA相关的视觉显示效果。现有技术中车辆在采用APA寻找车位的过程中,通常需要检测车位及静态障碍物,比如雪糕筒、轮档、杆子及网栏等等,甚至需要检测一些不常见的障碍物,比如自行车、椅子等等。采用目前常用的机器学习方法来检测静态障碍物,需要预先知道障碍物的类别以及大量的训练数据,该方法使得寻找车位的通用性和灵活性较差。
另外,目前最新的研究热点的是使用点云来实现静态障碍物检测,但是通常需要使用比较好的全局相机(Global Shutter Camera),或者双目相机,而现有汽车上大量配置的鱼眼相机无法很好的实现。现有的基于单目鱼眼相机的视觉SLAM(SimultaneousLocalization And Mapping)点云生成方法主要存在稳定性差、精度不高、难以获取静态障碍物真实尺度等问题。其中,稳定性差主要表现在点云生成过程中经常出现初始化失败、点云生成偏差较大、噪声较大、以及对于能够生成的点云存在尺度偏差也较大等方面。精度问题及真实尺度问题主要表现在单目SLAM算法生成点云没有真实尺度、尺度有较大随机性、随场景和关键帧间隔等有所变化等其他方面。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的单目SLAM算法的初始化方法及***。
依据本发明一方面,提供了一种单目SLAM算法的初始化方法,包括:
从采集图像中选取图像交叠区内的像素点,其中,所述图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
将选取的像素点转换为对应双目SLAM算法的像素点,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
将所述像素点的三维坐标转换为相机坐标系的坐标信息;
依据所述相机坐标系的坐标信息对单目SLAM算法进行初始化。
可选地,从采集图像中选取图像交叠区内的像素点,包括:
获取采集图像,将获取到的图像输入至预设相机模型中;
所述图像经所述相机模型处理后,从处理后的图像中根据单目SLAM算法选取图像交叠区内的像素点。
可选地,将选取的像素点转换为对应双目SLAM算法的像素点,包括:
基于图像坐标系将选取的像素点转换为对应双目SLAM算法的像素点。
可选地,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标,包括:
获取预先测量的采集图像对应的相机间的基线距离;
基于所述双目SLAM算法并根据所述相机间的基线距离,计算出图像交叠区中转换后的像素点的三维坐标。
可选地,依据所述相机坐标系的坐标信息对单目SLAM算法进行初始化之后,还包括:
从采集图像中根据初始化的单目SLAM算法选取图像交叠区内的像素点,其中,所述图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
将选取的像素点转换为对应双目SLAM算法的像素点,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
将所述像素点的三维坐标转换为相机坐标系的坐标信息,利用所述初始化后的单目SLAM算法基于所述相机坐标系的坐标信息计算从一个角度采集图像的相机的位姿变化;
依据所述位姿变化计算图像非交叠区内的像素点的三维坐标,其中,所述图像非交叠区为通过不同角度采集的两个图像的内容不交叠区域;
依据图像非交叠区和交叠区内的像素点的三维坐标生成点云。
可选地,依据所述位姿变化计算图像非交叠区内的像素点的三维坐标,包括:
通过初始化后的单目SLAM算法并依据所述位姿变化,计算从一个角度采集图像的相机在任意两个不同时刻之间的位移距离;
通过初始化后的单目SLAM算法依据所述位移距离计算图像非交叠区内的像素点的三维坐标。
可选地,所述相机的位姿变化,包括:所述相机的旋转矩阵和/或平移矩阵。
依据本发明另一方面,还提供了一种单目SLAM算法的初始化***,包括单目子***、双目子***、转换子***,其中,
所述单目子***,从采集图像中选取图像交叠区内的像素点,其中,所述图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
所述转换子***,将选取的像素点转换为适用于所述双目子***、且对应双目SLAM算法的像素点;
所述双目子***,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
所述转换子***,将所述像素点的三维坐标转换为适用于所述单目子***的相机坐标系的坐标信息;
所述单目子***,依据所述相机坐标系的坐标信息对单目SLAM算法进行初始化。
依据本发明再一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上文任意实施例中的单目SLAM算法的初始化方法。
在本发明实施例中,在从采集图像中选取图像交叠区内的像素点,并将选取的像素点转换为对应双目SLAM算法的像素点后,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标,并将像素点的三维坐标转换为相机坐标系的坐标信息,进而可以依据相机坐标系的坐标信息对单目SLAM算法进行初始化。由此,本发明实施例可以通过依据双目SLAM算法来计算得到图像交叠区中更准确、稳定的像素点的坐标信息,从而利用这些像素点的坐标信息辅助单目SLAM算法实现初始化,从而能够使单目SLAM算法对应的单目***更快、更好的实现初始化,提高了单目SLAM算法的稳定性和计算精度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的单目SLAM算法的初始化方法的流程示意图;
图2示出了根据本发明一个实施例的车辆上鱼眼相机的采集视野示意图;
图3示出了根据本发明一个实施例的单目SLAM算法的初始化***的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种单目SLAM算法的初始化方法。图1示出了根据本发明一个实施例的单目SLAM算法的初始化方法的流程示意图。参见图1,该方法至少包括步骤S102至步骤S108。
步骤S102,从采集图像中选取图像交叠区内的像素点,其中,图像交叠区为通过不同角度采集的两个图像的内容交叠区域。
该步骤中,图像交叠区内的像素点实际上是被激活点,在图像交叠区内选取像素点时优选的进行均匀选点,且选点的密度稍大,以满足单目SLAM算法的初始化的需求。
步骤S104,将选取的像素点转换为对应双目SLAM算法的像素点,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标。
该步骤中,转换后的像素点的三维坐标指的是基于世界坐标系的三维坐标信息。
步骤S106,将像素点的三维坐标转换为相机坐标系的坐标信息。
步骤S108,依据相机坐标系的坐标信息对单目SLAM算法进行初始化。
在本发明实施例中,在从采集图像中选取图像交叠区内的像素点,并将选取的像素点转换为对应双目SLAM算法的像素点后,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标,并将像素点的三维坐标转换为相机坐标系的坐标信息,进而可以依据相机坐标系的坐标信息对单目SLAM算法进行初始化。由此,本发明实施例通过双目SLAM算法来计算得到图像交叠区中更准确、稳定的像素点的坐标信息,从而利用这些像素点的坐标信息辅助单目SLAM算法实现初始化,从而能够使单目SLAM算法对应的单目***更快、更好的实现初始化,提高了单目SLAM算法的稳定性和计算精度。
由于目前视觉SLAM算法都需要基于图像的矫正图,矫正图的视场角FOV较小,相邻两个摄像头的交叠区域不够大。而采用双目视觉SLAM算法可以很好的解决单目算法碰到的稳定性以及尺度精度问题。因此,本发明实施例需要使用至少两个相机做双目,才有足够的视场角重叠区域给双目视觉SLAM算法使用,至少两个相机可以分别位于车辆上的不同角度的任意位置。
参见上文步骤S102,在本发明一实施例中,图像交叠区可以是安装在车辆不同位置上的任意两个相机分别采集的两个图像中的内容交叠区域。在从采集图像中选取图像交叠区内的像素点时,可以从其中一个相机在初始工作时采集到的一帧或多帧图像中选取图像交叠区内任意物体的像素点。当然,本发明实施例中的采集图像的设备不仅仅限于相机,还可以是其他的图像采集设备,本发明实施例对此不做具体的限定。
为了兼顾相机低成本和大视角的采集图像,车辆不同位置角度安装的相机可以采用采集图像的视角范围较大的鱼眼相机。
例如,参见图2,安装在汽车上的鱼眼相机的采集视野范围以半圆形表示,图2所示实施例的汽车中安装了4个鱼眼相机,分别位于汽车车身的前、后、左、右四个方向,在本发明实施例中,对于任意相邻两个鱼眼相机,其采集的图像均可以分为两部分,一部分是图像交叠区,另一部分是图像非交叠区,其中,图像交叠区为相邻两个鱼眼相机采集图像内容相同的区域,图像非交叠区为相邻两个鱼眼相机采集图像内容不同的区域。假设相邻两个鱼眼相机包括前置鱼眼相机和侧边鱼眼相机,在从侧边鱼眼相机对应的图像中选取任意物体的多个像素点时,需要在图像交叠区和图像非交叠区分别进行均匀选点,且在图像交叠区域内选择的点的密度稍大。
参见上文步骤S102,在本发明一实施例中,从采集图像中选取图像交叠区内的像素点的过程中,为了能够直接使用相机采集的图像,可以在获取到相机采集的图像后,将获取到的图像输入至预设相机模型中,由相机模型对图像进行处理,进而从处理后的图像中根据单目SLAM算法选取图像交叠区内的像素点。
本发明实施例分别使用单目针孔相机模型和鱼眼相机模型(Omnidirectio nalCamera Model)对鱼眼相机采集的图像进行处理,通过对各自处理后的图像中的有效地像素点进行对比可知,鱼眼相机模型处理的图像中被激活像素的覆盖范围较大且数量较多。因此,本发明实施例优选地采用鱼眼相机模型,从而可以无需对鱼眼摄像头采集的鱼眼图做畸变校正(即无需将鱼眼图转换为平面图),能够直接将鱼眼图片的内容应用到视觉SLAM算法中,提高了最终点云的稠密度和质量。并且,使用鱼眼相机模型来可以增大视场角,提升匹配精度。
若选取鱼眼相机模型作为预设相机模型,那么在执行上文步骤S102时,为了能够直接使用鱼眼相机采集的图像,避免将鱼眼摄像头采集的图像矫正成非鱼眼的图片,以防止图像视野缩小。本发明实施例可以先获取两个鱼眼相机分别采集的两个图像,然后将两个图像分别输入至鱼眼相机模型中,进而在图像经鱼眼相机模型处理后,从处理后的图像中选择任一鱼眼相机对应的图像,并从选择的处理后的图像中选取任意物体的多个像素点。
通常情况下,安装在车辆上的相邻两个鱼眼相机之间的距离较远,且朝向不同,采集图像的角度不同。例如,对于汽车上相邻的前置鱼眼相机和侧边鱼眼相机,两者距离较远且分别朝向前侧、左侧/右侧。在选择任一鱼眼相机对应的图像时,需要根据实际应用场景来去确定选择哪个鱼眼相机对应的图像更为合适。
例如,在自动泊车场景中,由于驾驶人员可以直观地看到车辆前方的场景,而无法直观的看到车辆侧边的场景。因此,可以选择侧边鱼眼相机的视野为目标区域,即选取侧边鱼眼相机对应的图像,以方便驾驶员查找车位时检测车辆侧边的静态障碍物。
参见上文步骤S104,在本发明一实施例中,将选取的像素点中位于图像交叠区的像素点转换为对应双目SLAM算法的像素点的过程中,可以结合图像坐标系来对像素点进行转换,具体转换的过程现有技术可以实现,此处不再赘述。
在本发明另一实施例中,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标的过程中,可以先获取预先测量的采集图像对应的相机间的基线距离,然后,采用双目SLAM算法并依据相机间的基线距离计算出图像交叠区中转换后的像素点的三维坐标。该实施例中的三维坐标信息还包括了像素点的深度信息。
在该实施例中,若使用安装在车辆前方和侧边的鱼眼相机组成双目,那么,可以预先测量车辆前方和侧边的鱼眼相机之间的基线距离,进而采用双目SLAM算法并依据两个鱼眼相机间的基线距离计算出图像交叠区中转换后的像素点的三维坐标。
在对单目SLAM算法进行初始化之后,还可以利用双目SLAM算法来辅助初始化后的单目SLAM算法更快、更精确地实时获取采集图像中的成熟点,并依据图像非交叠区和交叠区内的像素点的三维坐标生成物体的点云。由此,本发明实施例还提供了一种双目点云生成方法,该方法主要包括如下步骤1至步骤5。
步骤1,从采集图像中根据初始化的单目SLAM算法选取图像交叠区内的像素点。
在该步骤中,图像交叠区为通过不同角度采集的两个图像的内容交叠区域。并且,由于安装在车辆上的相机可以实时的采集图像,因此,该方法可以从实时采集的图像中选取图像交叠区内的像素点。
在该步骤中,从采集图像中选取的多个像素点指的是成熟点,是在从图像中初步选取出像素点之后,又进一步筛选出来的稳定的像素点,成熟点在后续能够计算得到三维坐标信息。
步骤2,将选取的像素点转换为对应双目SLAM算法的像素点,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标。
该步骤中,在将选取的像素点转换为对应双目SLAM算法的像素点时,也可以基于图像坐标系将选取的像素点转换为对应双目SLAM算法的像素点。
步骤3,将像素点的三维坐标转换为相机坐标系的坐标信息,利用初始化后的单目SLAM算法基于相机坐标系的坐标信息计算从一个角度采集图像的相机的位姿变化。
步骤4,依据位姿变化计算图像非交叠区内的像素点的三维坐标,其中,图像非交叠区为通过不同角度采集的两个图像的内容不交叠区域。
步骤5,依据图像非交叠区和交叠区内的像素点的三维坐标生成点云。
本发明实施例通过在车辆不同位置角度安装的相机构成双目***,利用双目***中的双目SLAM算法计算出图像交叠区的像素点的三维坐标(即世界坐标系坐标)后,可以根据不同坐标系之间坐值标的转换方式将图像交叠区的像素点的三维坐标转换为一个相机的相机坐标系的坐标信息,进而依据单目SLAM算法并基于转换得到的相机坐标系的坐标信息计算出图像非交叠区的像素点的三维坐标,由此,该实施例方案可以依据采集图像的图像交叠区域内的像素点信息进行尺度的推算,得到图像非交叠区域的像素点信息。由于双目SLAM算法具有不需要初始化、能够获取物体更精确的尺度信息、稳定性更好等优点,因此,利用双目SLAM算法能够辅助单目SLAM算法更快、更精确地获得采集图像中的成熟点,从而提高了点云生成的稳定性和物体真实尺度获取的准确性。
参见上文步骤1,在本发明一实施例中,选取图像交叠区内的像素点的过程可以参照上文实施例,在获取到相机采集的图像后,将获取到的图像输入至预设相机模型中,由相机模型对图像进行处理,进而从处理后的图像中根据初始化的单目SLAM算法选取图像交叠区内的像素点。
参见上文步骤4,在本发明一实施例中,依据相机的位姿变化计算图像非交叠区内的像素点的三维坐标的具体过程是,首先,通过初始化后的单目SLAM算法并依据相机的位姿变化,计算该相机在任意两个不同时刻之间的位移距离。然后,通过初始化后的单目SLAM算法并依据位移距离计算出图像非交叠区内的像素点的三维坐标。
在该实施例中,位姿变化的相机指的是选取像素点的一个图像对应的相机。因此,计算在任意两个不同时刻之间的位移距离对应的相机是选取像素点的图像对应的相机。例如,任意两个不同角度的相机分别安装在车辆的前方和侧边,上文实施例从侧边的相机采集的图像中选取图像交叠区内任意物体的像素点,在该实施例中,可以通过单目SLAM算法并依据侧边相机的位姿变化,计算侧边相机在任意两个不同时刻之间的位移距离。
该实施例中,一个相机在任意两个不同时刻之间的位移距离也可以理解成该相机在任意两个不同时刻之间的基线距离。
在本发明一实施例中,相机的位姿变化可以包括相机的旋转矩阵和/或平移矩阵。
基于同一发明构思,本发明实施例还提供了一种单目SLAM算法的初始化***。图3示出了根据本发明一个实施例的单目SLAM算法的初始化***的结构示意图。参见图3,单目SLAM算法的初始化***300包括单目子***320、转换子***330、双目子***340。
现介绍本发明实施例的单目SLAM算法的初始化***300的各组成或器件的功能以及各部分间的连接关系:
单目子***320,从采集图像中选取图像交叠区内的像素点,其中,图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
转换子***330,与单目子***320耦合,将选取的像素点转换为适用于双目子***340、且对应双目SLAM算法的像素点;
双目子***340,与转换子***330耦合,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
转换子***330,将像素点的三维坐标转换为适用于单目子***320的相机坐标系的坐标信息;
单目子***320,依据相机坐标系的坐标信息对单目SLAM算法进行初始化。
在本发明一实施例中,单目子***320还可以获取采集图像,并将获取到的图像输入至预设相机模型中,当图像经相机模型处理后,可以从处理后的图像中根据单目SLAM算法选取图像交叠区内的像素点。
在本发明一实施例中,转换子***330在将选取的像素点转换为对应双目SLAM算法的像素点时,可以基于图像坐标系将选取的像素点转换为对应双目SLAM算法的像素点。
在本发明一实施例中,双目子***340可以先获取预先测量的采集图像对应的相机间的基线距离,然后基于双目SLAM算法并根据相机间的基线距离,计算出图像交叠区中转换后的像素点的三维坐标。
在本发明一实施例中,当单目子***320依据相机坐标系的坐标信息对单目SLAM算法进行初始化之后,相应的单目子***320、双目子***340、转换子***330还可以执行生成物体点云的过程,具体的过程如下:
单目子***320,从采集图像中根据初始化的单目SLAM算法选取图像交叠区内的像素点。
其中,图像交叠区为通过不同角度的相机采集的两个图像的内容交叠区域。并且,由于安装在车辆上的相机可以实时的采集图像,因此,单目子***320可以从实时采集的图像中选取图像交叠区内的像素点。
转换子***330,将选取的像素点转换为适用于双目子***340且对应双目SLAM算法的像素点。
双目子***340,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标。
转换子***330,将像素点的三维坐标转换为适用于单目子***320的相机坐标系的坐标信息。
单目子***320,利用单目SLAM算法基于相机坐标系的坐标信息计算从一个角度采集图像的相机的位姿变化,并依据位姿变化计算图像非交叠区的任意物体像素点的三维坐标。其中,图像非交叠区为通过不同角度采集的两个图像的内容不交叠区域。
单目子***320,依据图像非交叠区和交叠区内的像素点的三维坐标生成点云。
在本发明一实施例中,单目子***320在依据位姿变化计算图像非交叠区内的像素点的三维坐标时,可以通过初始化后的单目SLAM算法并依据位姿变化,计算从一个角度采集图像的相机在任意两个不同时刻之间的位移距离。然后,通过初始化后的单目SLAM算法依据位移距离计算图像非交叠区内的像素点的三维坐标。
在本发明一实施例中,相机的位姿变化包括相机的旋转矩阵和/或平移矩阵。
本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上文任意实施例中的单目SLAM算法的初始化方法。
根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
在本发明实施例中,在从采集图像中选取图像交叠区内的像素点,并将选取的像素点转换为对应双目SLAM算法的像素点后,基于双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标,并将像素点的三维坐标转换为相机坐标系的坐标信息,进而可以依据相机坐标系的坐标信息对单目SLAM算法进行初始化。由此,本发明实施例可以通过依据双目SLAM算法来辅助单目SLAM算法实现初始化,从而能够使单目SLAM算法对应的单目***更快、更好的实现初始化,提高了单目SLAM算法的稳定性和计算精度。
所属领域的技术人员可以清楚地了解到,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
Claims (9)
1.一种单目SLAM算法的初始化方法,包括:
从采集图像中选取图像交叠区内的像素点,其中,所述图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
将选取的像素点转换为对应双目SLAM算法的像素点,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
将所述像素点的三维坐标转换为相机坐标系的坐标信息;
依据所述相机坐标系的坐标信息对单目SLAM算法进行初始化。
2.根据权利要求1所述的方法,其中,从采集图像中选取图像交叠区内的像素点,包括:
获取采集图像,将获取到的图像输入至预设相机模型中;
所述图像经所述相机模型处理后,从处理后的图像中根据单目SLAM算法选取图像交叠区内的像素点。
3.根据权利要求1或2所述的方法,其中,将选取的像素点转换为对应双目SLAM算法的像素点,包括:
基于图像坐标系将选取的像素点转换为对应双目SLAM算法的像素点。
4.根据权利要求1或2所述的方法,其中,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标,包括:
获取预先测量的采集图像对应的相机间的基线距离;
基于所述双目SLAM算法并根据所述相机间的基线距离,计算出图像交叠区中转换后的像素点的三维坐标。
5.根据权利要求1所述的方法,其中,依据所述相机坐标系的坐标信息对单目SLAM算法进行初始化之后,还包括:
从采集图像中根据初始化的单目SLAM算法选取图像交叠区内的像素点,其中,所述图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
将选取的像素点转换为对应双目SLAM算法的像素点,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
将所述像素点的三维坐标转换为相机坐标系的坐标信息,利用所述初始化后的单目SLAM算法基于所述相机坐标系的坐标信息计算从一个角度采集图像的相机的位姿变化;
依据所述位姿变化计算图像非交叠区内的像素点的三维坐标,其中,所述图像非交叠区为通过不同角度采集的两个图像的内容不交叠区域;
依据图像非交叠区和交叠区内的像素点的三维坐标生成点云。
6.根据权利要求5所述的方法,其中,依据所述位姿变化计算图像非交叠区内的像素点的三维坐标,包括:
通过初始化后的单目SLAM算法并依据所述位姿变化,计算从一个角度采集图像的相机在任意两个不同时刻之间的位移距离;
通过初始化后的单目SLAM算法依据所述位移距离计算图像非交叠区内的像素点的三维坐标。
7.根据权利要求5或6所述的方法,其中,
所述相机的位姿变化,包括:所述相机的旋转矩阵和/或平移矩阵。
8.一种单目SLAM算法的初始化***,包括单目子***、双目子***、转换子***,其中,
所述单目子***,从采集图像中选取图像交叠区内的像素点,其中,所述图像交叠区为通过不同角度采集的两个图像的内容交叠区域;
所述转换子***,将选取的像素点转换为适用于所述双目子***、且对应双目SLAM算法的像素点;
所述双目子***,基于所述双目SLAM算法计算图像交叠区中转换后的像素点的三维坐标;
所述转换子***,将所述像素点的三维坐标转换为适用于所述单目子***的相机坐标系的坐标信息;
所述单目子***,依据所述相机坐标系的坐标信息对单目SLAM算法进行初始化。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行权利要求1-7任一项所述的单目SLAM算法的初始化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910319610.0A CN110060202B (zh) | 2019-04-19 | 2019-04-19 | 一种单目slam算法的初始化方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910319610.0A CN110060202B (zh) | 2019-04-19 | 2019-04-19 | 一种单目slam算法的初始化方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110060202A CN110060202A (zh) | 2019-07-26 |
CN110060202B true CN110060202B (zh) | 2021-06-08 |
Family
ID=67319832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910319610.0A Active CN110060202B (zh) | 2019-04-19 | 2019-04-19 | 一种单目slam算法的初始化方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110060202B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678244B2 (en) | 2017-03-23 | 2020-06-09 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
SG11202103493QA (en) | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
CN113661513A (zh) * | 2019-12-27 | 2021-11-16 | 深圳市大疆创新科技有限公司 | 一种图像处理方法、设备、图像处理***及存储介质 |
CN111311684B (zh) * | 2020-04-01 | 2021-02-05 | 亮风台(上海)信息科技有限公司 | 一种进行slam初始化的方法与设备 |
CN112348868A (zh) * | 2020-11-06 | 2021-02-09 | 养哇(南京)科技有限公司 | 一种通过检测和标定恢复单目slam尺度的方法及*** |
CN112380963B (zh) * | 2020-11-11 | 2024-05-31 | 东软睿驰汽车技术(沈阳)有限公司 | 基于全景环视***的深度信息确定方法和装置 |
CN112067007B (zh) * | 2020-11-12 | 2021-01-29 | 湖北亿咖通科技有限公司 | 地图生成方法、计算机存储介质及电子设备 |
CN113763252B (zh) * | 2021-09-16 | 2022-12-09 | 中国电子科技集团公司第五十四研究所 | 一种用于无人机的大地坐标系与slam坐标系转换方法 |
CN117434570B (zh) * | 2023-12-20 | 2024-02-27 | 绘见科技(深圳)有限公司 | 坐标的可视化测量方法、测量设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016021252A1 (ja) * | 2014-08-05 | 2016-02-11 | ソニー株式会社 | 情報処理装置及び情報処理方法、並びに画像表示システム |
CN106570913A (zh) * | 2016-11-04 | 2017-04-19 | 上海玄彩美科网络科技有限公司 | 基于特征的单目slam快速初始化方法 |
CN106595639A (zh) * | 2016-12-27 | 2017-04-26 | 纳恩博(北京)科技有限公司 | 定位***及其定位方法和装置及机器人 |
CN107657640A (zh) * | 2017-09-30 | 2018-02-02 | 南京大典科技有限公司 | 基于orb slam的智能巡防巡检管理方法 |
CN109493378A (zh) * | 2018-10-29 | 2019-03-19 | 宁波研新工业科技有限公司 | 一种基于单目视觉与双目视觉相结合的垂直度检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930023B2 (en) * | 2009-11-06 | 2015-01-06 | Irobot Corporation | Localization by learning of wave-signal distributions |
-
2019
- 2019-04-19 CN CN201910319610.0A patent/CN110060202B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016021252A1 (ja) * | 2014-08-05 | 2016-02-11 | ソニー株式会社 | 情報処理装置及び情報処理方法、並びに画像表示システム |
CN106570913A (zh) * | 2016-11-04 | 2017-04-19 | 上海玄彩美科网络科技有限公司 | 基于特征的单目slam快速初始化方法 |
CN106595639A (zh) * | 2016-12-27 | 2017-04-26 | 纳恩博(北京)科技有限公司 | 定位***及其定位方法和装置及机器人 |
CN107657640A (zh) * | 2017-09-30 | 2018-02-02 | 南京大典科技有限公司 | 基于orb slam的智能巡防巡检管理方法 |
CN109493378A (zh) * | 2018-10-29 | 2019-03-19 | 宁波研新工业科技有限公司 | 一种基于单目视觉与双目视觉相结合的垂直度检测方法 |
Non-Patent Citations (2)
Title |
---|
Fast initialization for feature-based monocular slam;A. Shaobo 等;《2017 IEEE International Conference on Image Processing (ICIP)》;20171231;第2119-2123页 * |
室内环境下结合里程计的双目视觉SLAM研究;王晓华 等;《西安理工大学学报》;20090430;第25卷(第4期);第466-471页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110060202A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110060202B (zh) | 一种单目slam算法的初始化方法及*** | |
KR102275310B1 (ko) | 자동차 주변의 장애물 검출 방법 | |
KR101188588B1 (ko) | 모노큘러 모션 스테레오 기반의 주차 공간 검출 장치 및방법 | |
US11407363B2 (en) | Method for calculating a tow hitch position | |
JP6675448B2 (ja) | 車両位置検出方法及び装置 | |
KR101842811B1 (ko) | 차량의 주변을 표시하는 운전자 보조 시스템 | |
CN111582080B (zh) | 车辆360度环视监控实现方法及装置 | |
CN103778649B (zh) | 用于相机建模和虚拟视图合成的成像表面建模 | |
KR20150008056A (ko) | 단일-카메라 거리 추정 | |
CN110084851B (zh) | 一种双目点云生成方法及*** | |
CN103411536A (zh) | 基于双目立体视觉的驾驶辅助障碍物检测方法 | |
JP7107931B2 (ja) | 移動オブジェクトのレンジを推定する方法および装置 | |
US20160288711A1 (en) | Distance and direction estimation of a target point from a vehicle using monocular video camera | |
CN107209930A (zh) | 环视图像稳定方法和装置 | |
GB2574697A (en) | Method, system and device of obtaining 3D-information of objects | |
JP2023505891A (ja) | 環境のトポグラフィを測定するための方法 | |
EP2432660B1 (fr) | Procede et dispositif pour etendre une zone de visibilite | |
JP4696925B2 (ja) | 画像処理装置 | |
KR101071061B1 (ko) | 차량의 특징점을 이용한 운전 보조 장치 및 방법과 이에 사용되는 마이크로프로세서 및 기록매체 | |
CN107886472B (zh) | 全景泊车***的图像拼接校准方法和图像拼接校准装置 | |
CN114750746A (zh) | 基于域控制器的停车位追踪方法、电子设备及存储介质 | |
CN110751731B (zh) | 一种用于结构光的3d重建方法和*** | |
CN112270311B (zh) | 一种基于车载环视逆投影的近目标快速检测方法及*** | |
GB2540527A (en) | Perspective shifting parking camera system | |
JP2021086258A (ja) | 姿勢推定装置、および、姿勢推定方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220323 Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province Patentee after: Yikatong (Hubei) Technology Co.,Ltd. Address before: No.c101, chuanggu start up area, taizihu cultural Digital Industrial Park, No.18 Shenlong Avenue, Wuhan Economic Development Zone, Hubei Province Patentee before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |