一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

相机位姿估计方法、装置、计算机设备和存储介质与流程

2023-02-19 13:55:59 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,特别是涉及一种相机位姿估计方法、装置、计算机设备和存储介质。


背景技术:

2.相机位姿估计是计算机视觉技术领域的经典问题,它是已知三维空间中一些3d坐标点以及它们在相机图像上的2d投影坐标,来估算相机在三维空间中的位置和姿态。
3.相机位姿估计中最常用的方法是pnp(perspectivenpoints),但在实现过程中,发明人发现由于常规的pnp算法依赖于与点特征的匹配,当点特征比较少时,相机位姿估计的精度不高。在一些弱纹理区域,例如一些规则的图案(如矩形),点特征比较少,但是有很多线特征,单纯依赖点特征对于相机位姿估计的精度并不理想。


技术实现要素:

4.基于此,本发明提供一种能够提高相机位姿估计精度的相机位姿估计方法、装置、计算机设备和存储介质。
5.第一方面,本发明提供一种相机位姿估计方法,包括:
6.对目标图像进行特征提取,得到目标图像的点特征和线特征;
7.根据点特征构建点特征位姿求解误差函数,以及根据线特征构建线特征位姿求解误差函数;
8.根据点特征位姿求解误差函数和线特征位姿求解误差函数得到的融合误差函数确定相机位姿估计结果。
9.第二方面,本发明提供一种相机位姿估计装置,包括:
10.特征提取模块,用于对目标图像进行特征提取,得到目标图像的点特征和线特征;
11.构建模块,用于根据点特征构建点特征位姿求解误差函数,以及根据线特征构建线特征位姿求解误差函数;
12.位姿确定模块,用于根据点特征位姿求解误差函数和线特征位姿求解误差函数得到的融合误差函数确定相机位姿估计结果。
13.第三方面,本发明提供一种计算机设备,计算机设备包括存储器、处理器以及存储于存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序以实现上述相机位姿估计方法中的步骤。
14.第四方面,本发明提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行以实现上述的相机位姿估计方法中的步骤。
15.本发明提供一种相机位姿估计方法、装置、计算机设备和存储介质,在弱纹理区域及点特征稀疏的区域同时提取并匹配点特征和线特征,以增强特征匹配的鲁棒性,并利用构造的点特征和线特征融合的误差函数,进行点线融合的相机位姿估计,提高相机位姿估算的精度。
附图说明
16.图1为本技术实施例中相机位姿估计方法的一种流程示意图。
17.图2为本技术实施例中相机位姿估计方法的另一种流程示意图。
18.图3为本技术实施例中相机位姿估计装置的一种结构示意图。
19.图4为本技术实施例中相机位姿估计装置的另一种结构示意图。
20.图5为本技术实施例中计算机设备的内部结构图。
具体实施方式
21.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
22.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
23.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
24.发明人发现现有技术中的相机位姿估计方案中依赖于与点特征的匹配,在一些弱纹理区域,例如一些规则的图案(如矩形),点特征比较少,但是有很多线特征,单纯依赖点特征对于相机位姿估计的精度并不理想。
25.为了克服现有技术中的上述问题,本实施例公开了一种相机位姿估计方法、装置、计算机设备和存储介质,本技术相机位姿估计方法可在相机上运行,具体的在相机的处理器上运行,在弱纹理区域同时提取并匹配点特征和线特征,以增强特征匹配的鲁棒性,并利用构造的点特征和线特征融合的误差函数,进行点线融合的相机位姿估计,提高相机位姿估算的精度。
26.下面结合附图和具体实施例,对本发明所提供的相机位姿方法、装置、计算机设备和存储介质做进一步详细的说明。
27.在一个示例中,如图1-2所示,提供了一种相机位姿估计方法,执行主体为计算机设备,该方法包括:
28.步骤s1、对目标图像进行特征提取,得到目标图像的点特征和线特征。
29.需要说明的是,本技术相机位姿估计方法应用在相机上,由相机的处理器执行本技术相机位姿估计方法的步骤,提高相机位姿估算的精度。
30.其中,目标图像为相机拍摄弱纹理区域得到的图像,弱纹理区域为梯度统计平均
值处于预设范围的区域;在相机拍摄到目标图像时,相机的处理器对从目标图像中提取特征,得到目标图像对应的点特征和线特征。该相机可以是单目相机或双目相机。
31.在一个示例中,选定目标场景区域后利用相机在弱纹理区域拍摄到的场景图像之后,相机的处理器对场景图像(目标图像)进行预处理。其中,相机的处理器对目标图像的预处理为对目标图像进行畸变矫正处理及掩膜处理。
32.为了避免从图像和边框交界处、拍摄到的干扰物体处错误地提取出特征,影响后续特征匹配,在使用相应的工具如pie sdk(pixel information expert sdk正射校正,是对影像空间和几何畸变进行校正生成多中心投影平面正射图像的处理过程)对影像进行畸变校正后,再对图像进行掩模处理。需要说明的是,由于掩膜是根据镜头的不同制作,因此每个镜头单独有固定的掩模,各个镜头的掩模对所属镜头拍摄的所有图像具有适应性。
33.可根据实际需求而选定特征提取方式,在一个示例中,步骤s1包括:
34.步骤s11、使用点特征提取算法提取目标图像中的点特征,并使用第一描述子(第一描述子可以为rbrief:rotation-aware brief,brief:binary robust independent elementary features是对已检测到的点特征进行描述,它是一种二进制编码的描述子)对点特征进行描述。
35.步骤s12、使用线特征提取算法提取目标图像中的线特征,并使用第二描述子(第二描述子可以为lbd:line banddiscriptor)对线特征进行描述。
36.在一个示例中,点特征提取和描述方法包括但不限于sift(scale-invariant feature transform,即尺度不变特征变换,是用于图像处理领域的一种描述),surf(speeded up robust features,是对sift的一种改进),orb(oriented fast and rotation brief)方法。
37.例如,采用orb特征提取和特征进行描述方法,orb特征进行描述算法的运行时间远优于sift与surf,可用于实时性特征检测。orb特征基于fast(features from accelerated segment test)角点的点特征检测与描述技术,具有尺度与旋转不变性,同时对噪声及透视仿射也具有不变性。
38.orb特征检测主要分为特征提取和特征进行描述以下两个步骤:
39.首先,方向fast点特征检测。
40.fast角点检测是一种基于机器学习的快速角点特征检测算法,具有方向的fast点特征检测是对兴趣点所在圆周上的16个像素点进行判断,若判断后的当前中心像素点为暗或亮,将确定其是否为角点。fast角点检测为加速算法实现,通常先对回周上的点集进行排序,排序使得其计算过程大大得到了优化。
41.其次,第一描述子特征描述。
42.从图像中提取到特征的关键点信息,通常只是其在图像的位置信息(有可能包含尺度和方向信息),仅仅利用这些信息无法很好的进行点特征的匹配,所以就需要更详细的信息,将特征区分开来,这就是特征进行描述子。另外,通过特征进行描述子可以消除视角的变化带来图像的尺度和方向的变化,能够更好的在图像间匹配。
43.第一描述子主要是通过随机选取兴趣点周围区域的若干点来组成小兴趣区域,将这些小兴趣区域的灰度二值化并解析成二进制码串,将串特征作为该点特征的描述子,第一描述子选取关键点附近的区域并对每一位比较其强度大小,然后根据图像块中两个二进
制点来判断当前关键点编码是0还是1。因为第一描述子的所有编码都是二进制数的,这样就节省了计算机存储空间。
44.在一个示例中,采用hough变换法提取线特征。
45.需要说明的是,直线提取方法包括但不限于hough变换法。hough变换是1962年由hough提出来的,用于检测图像中直线、圆、抛物线、椭圆等形状能够用一定函数关系描述的曲线。hough变换的基本原理是将影像空间中的曲线(包括直线)变换到参数空间中,通过检测参数空间中的极值点,确定出该曲线的描述参数,从而提取影像中的规则曲线。
46.在一个实施例中,在步骤s1之后还包括:分别对点特征和线特征进行筛选,得到筛选后的点特征和筛选后的线特征。本实施例中,将步骤s2:根据点特征构建点特征位姿求解误差函数,以及根据线特征构建线特征位姿求解误差函数,替换成:根据筛选后的点特征构建点特征位姿求解误差函数,以及根据筛选后的线特征构建线特征位姿求解误差函数。
47.在一个实施例中,分别对点特征和线特征进行筛选,得到筛选后的点特征和筛选后的线特征的步骤中,包括:
48.基于第一描述子对点特征进行筛选,得到与当前点特征的点积计算结果小于预设阈值的点特征,与当前点特征的点积计算结果小于预设阈值的点特征构成筛选后的点特征。在根据线特征构建线特征位姿求解误差函数之前,需要匹配线特征。
49.基于第二描述子对线特征进行筛选,得到与当前线段的夹角、距离和长度均满足设定条件的线段,与当前线段的夹角、距离和长度均满足设定条件的线段构成筛选后的线特征。
50.在一个示例中,按照以上orb方法提取图像中的点特征后,根据点特征的特征进行描述对图像中的点特征进行特征匹配,点特征匹配方法包括但不限于暴力搜索匹配,k最近邻匹配等。
51.例如,采用k最近邻匹配法,在匹配的时候选择k个与点特征最相似的点,如果这k个点之间的区别足够大,则选择最相似的那个点作为匹配点,通常选择k=2,也就是最近邻匹配。对每个匹配返回两个最近邻的匹配,如果第一匹配和第二匹配距离比率足够大(向量距离足够远),则认为这是一个正确的匹配,比率的阈值通常在2左右。
52.在一个示例中,提取图像中的线特征后,对图像中的线特征进行特征匹配,包括根据直线近邻匹配,得到直线匹配对其中每条直线由图像上直线的两个端点表示。
53.直线近邻匹配方法如下:对于每条直线,计算其与其他所有直线之间的夹角,将夹角大于某一阈值(如5度)的直线先剔除,对剩余的直线计算该直线中心到当前直线之间的距离,如果最近的距离小于某一阈值(如10个像素),则将当前直线与最近的直线进行匹配对。
54.需要说明书的是,夹角、距离和长度均满足设定条件是指夹角小于预设阈值,距离小于预设阈值,长度在设定误差范围内。
55.步骤s3、根据点特征位姿求解误差函数和线特征位姿求解误差函数得到的融合误差函数确定相机位姿估计结果。
56.其中,相机位姿估计结果可以用于即时定位与地图重建,在此不作限定。
57.在一个示例中,融合误差函数为:
58.e
point_line
=e
line,d
(pd,qd,i) e
point

59.点特征的位姿求解误差函数e
point
=(k-1
p2)
t
ek-1
p1,其中:
60.e为本征矩阵,p1、p2为空间匹配的两个点特征,以像素坐标给出,p2到p1的相对运动由外参{r,t}和内参k决定,r是旋转矩阵,t是平移矩阵;由于p1、p2是空间同一个点p的投影,则
61.d1p1=kp,
62.d2p2=k(rp t);
63.其中,d1为点p1到直线的距离,d2为点p1到直线的距离;
64.令
65.x1=k-1
p1,
66.x2=k-1
p2;
67.利用对极几何的本征矩阵关系,得
68.e=t*r,
[0069][0070]
线特征的位姿求解误差函数其中:
[0071]
p,q∈r3是空间直线的两个端点,pd,qd∈r2为其在图像中的投影坐标,记是其对应的空间坐标,得直线参数其中,为投影点的空间坐标;
[0072]
定义线特征的投影误差为投影线段的端点与在图像中检测到的直线之间的点到直线距离e
pl
之和,则线特征匹配的位姿求解误差为
[0073][0074]epl
=i
t
π(p,θ,k);
[0075]
i为直线参数,π(p,θ,k)为空间点p投影到图像平面的坐标,θ,k分别为相机的外参和内参,理想情况下,空间点p的投影点是在直线上,因此点到直线的距离为
[0076]epl
=0。
[0077]
在在弱纹理区域同时提取并匹配点特征和线特征,以增强特征匹配的鲁棒性,并利用构造的点特征和线特征融合的误差函数,进行点线融合的相机位姿估计,提高相机位姿估算的精度。
[0078]
应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0079]
在一个实施例中,如图3-4所示,提供了一种相机位姿估计装置,包括特征提取模
块10、构建模块20和位姿确定模块30,其中:
[0080]
特征提取模块10,用于对目标图像进行特征提取,得到目标图像的点特征和线特征。
[0081]
构建模块20,用于根据点特征构建点特征位姿求解误差函数,以及根据线特征构建线特征位姿求解误差函数。
[0082]
位姿确定模块30,用于根据点特征位姿求解误差函数和线特征位姿求解误差函数得到的融合误差函数确定相机位姿估计结果。
[0083]
在一个示例中,特征提取模块10包括点特征提取单元11和线特征提取单元12,其中:
[0084]
点特征提取单元11,用于使用点特征提取算法提取目标图像中的点特征,并使用第一描述子对点特征进行描述。
[0085]
线特征提取单元12,用于使用线特征提取算法提取目标图像中的线特征,并使用第二描述子对线特征进行描述。
[0086]
关于相机位姿估计装置的具体限定可以参见上文中对于相机位姿估计方法的限定,在此不再赘述。上述相机位姿估计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0087]
在一个实施例中,如图5所示,提供了一种计算机设备,计算机设备包括存储器、处理器以及存储于存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序以实现上述任一实施例中相机位姿估计方法中的步骤。
[0088]
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储相机位姿估计数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种相机位姿估计方法。
[0089]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0090]
在一个实施例中,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行以实现上述任一实施例中相机位姿估计方法中的步骤。
[0091]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、
电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0092]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0093]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献