数据处理方法和装置与流程

文档序号:30259711发布日期:2022-06-02 02:55阅读:71来源:国知局
数据处理方法和装置与流程

1.本技术属于同时定位与地图构建领域,具体涉及一种数据处理方法和装置。


背景技术:

2.slam(simultaneous localization and mapping,同时定位与地图构建)指的是机器人在未知环境中一边移动一边进行自身定位,且根据采集到的环境信息建造增量式地图。通过相机采集环境信息的slam为视觉slam,具有成本低、图像信息丰富等优势,该技术越来越受到人们关注。
3.然而,随着相机的运动,环境信息中的某个特征对象可能从相机视野中消失又出现,使得在相机所采集到的环境信息中,在消失之后重新出现的特征对象被相机视为全新的特征对象,进而导致相机采集的环境信息中包含大量冗余数据。冗余数据可能占据大量内存,导致数据处理时间增加以及数据处理效果降低。


技术实现要素:

4.本技术实施例的目的是提供一种数据处理方法和装置,能够解决在采集的环境信息中减少冗余数据的问题。
5.第一方面,本技术实施例提供了一种数据处理方法,该方法包括:
6.从包括多帧图像的视频数据中提取多个第一特征点集合;每个所述第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个所述特征点从对应的一帧图像中提取;
7.获取每个所述特征点的描述子,根据获取的描述子,对所述多个第一特征点集合进行合并处理,得到多个第二特征点集合;
8.根据每个所述第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对所述待判断地图点之间的距离小于第一距离阈值;
9.根据每对所述待判断地图点对应的重投影误差,对每对所述待判断地图点进行合并处理,得到对应的合并后的地图点。
10.第二方面,本技术实施例提供了一种数据处理装置,该装置包括:
11.提取模块,用于从包括多帧图像的视频数据中提取多个第一特征点集合;每个所述第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个所述特征点从对应的一帧图像中提取;
12.第一合并模块,用于获取每个所述特征点的描述子,根据获取的描述子,对所述多个第一特征点集合进行合并处理,得到多个第二特征点集合;
13.确定模块,用于根据每个所述第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对所述待判断地图点之间的距离小于第一距离阈值;
14.第二合并模块,用于根据每对所述待判断地图点对应的重投影误差,对每对所述
待判断地图点进行合并处理,得到对应的合并后的地图点。
15.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的数据处理方法的步骤。
16.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的数据处理方法的步骤。
17.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的数据处理方法。
18.在本技术实施例中,从包括多帧图像的视频数据中提取多个第一特征点集合;每个第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个特征点从对应的一帧图像中提取;获取每个特征点的描述子,根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合;根据每个第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对待判断地图点之间的距离小于第一距离阈值;根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点。通过本技术实施例,能够在特征对象的被观测次数较多的情况下,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,减少同一个特征对象被识别到对应于多个不同的第一特征点集合导致的冗余数据,还能够生成与每个第二特征点集合对应的地图点,对距离较近的每对待判断地图点进行合并处理,以减少同一特征对象被识别到对应于多个不同的地图点导致的冗余数据,从而在利用环境信息进行数据处理的过程中提高数据处理效率。
附图说明
19.图1是本技术实施例提供的第一种数据处理方法的流程示意图;
20.图2是本技术实施例提供的第二种数据处理方法的流程示意图;
21.图3是本技术实施例提供的一种合并第一特征点集合的流程示意图;
22.图4是本技术实施例提供的一种重投影误差示意图;
23.图5是本技术实施例提供的一种合并地图点的流程示意图;
24.图6是本技术实施例提供的一种数据处理装置的示意框图;
25.图7是本技术实施例提供的一种电子设备的示意框图;
26.图8是本技术实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
28.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
29.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的数据处理方法和装置进行详细地说明。
30.图1是本技术实施例提供的第一种数据处理方法的流程示意图。
31.步骤102,从包括多帧图像的视频数据中提取多个第一特征点集合;每个第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个特征点从对应的一帧图像中提取。
32.视频数据可以是通过相机拍摄获得的,相机可以是单目相机,也可以是双目相机,还可以是深度相机。本技术实施例不对相机的种类进行特殊限制。
33.相机在拍摄获得视频数据的过程中可以改变位姿。相机的位姿可以包括相机的位置信息与相机的拍摄角度。
34.特征对象,可以是在视频数据包括的多帧图像中出现过的对象,例如,一棵树,一把凳子,一个人。一个特征对象在多帧图像中出现过,可以视为,该特征对象被拍摄视频数据的相机多次观测到,则在一段视频数据中,包含同一个特征对象的图像的帧数可以视为该特征对象的被观测次数。
35.每个第一特征点集合包括对应于同一个特征对象的多个特征点,每个特征点从对应的一帧图像中提取,例如,一段视频数据包括60帧图像,其中,从第11帧图像到第20帧图像,该10帧图像中均包括一把凳子,且由于相机的位姿随着时间改变,则该10帧图像中该凳子的位置不同。从第11帧图像中提取该凳子对应的特征点,从第12帧图像中提取该凳子对应的特征点
……
从第20帧图像中提取该凳子对应的特征点,则提取得到的10个特征点构成一个第一特征点集合,该10个特征点对应于同一把凳子,且每个特征点是从对应的一帧图像中提取得到的。
36.从视频数据中提取一个第一特征点集合,可以是从视频数据的每帧图像中提取至少一个特征点,针对每个特征点,在相邻两帧图像之间进行特征匹配或者特征跟踪,从而确定对应于同一个特征对象的一个第一特征点集合。
37.从视频数据的每帧图像中提取至少一个特征点,可以是从一帧图像中提取orb(oriented fast and rotated brief)特征点、sift(scale-invariant feature transform,尺度不变特征变换)特征点或surf(speed up robust feature)特征点等。
38.特征匹配可以是描述子匹配。特征跟踪可以是光流跟踪。
39.描述子可以理解为,针对每个特征点,可以通过一组二进制的数字来描述该特征点周围的一圈像素点的特征信息,特征信息包括且不限于亮度信息、颜色信息等。
40.具体实施时,可以在步骤102执行之前,对视频数据中的每帧图像进行预处理。图像预处理方式可以是根据相机的标定参数,对每帧图像进行畸变矫正。标定参数包括且不限于相机焦距、相机偏移量以及相机的畸变参数。图像预处理方式也可以是对图像的亮度进行调节操作,还可以是对图像进行运动模糊处理操作,等等。通过对图像进行预处理,获得质量较好的图像,从而在提取特征点的过程中降低特征提取误差。
41.步骤104,获取每个特征点的描述子,根据获取的描述子,对多个第一特征点集合
进行合并处理,得到多个第二特征点集合。
42.在完成特征提取和特征匹配之后,可以对第一特征点集合进行相似性判断,本技术实施例可以采用描述子距离来判断第一特征点集合的相似程度。
43.可选地,根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,包括:根据每个特征点的描述子,计算每个第一特征点集合中的任意两个特征点的描述子距离;根据计算得到的任意两个特征点的描述子距离,统计每个特征点对应的描述子距离集合;描述子距离集合包括与对应的特征点属于同一个第一特征点集合的其他特征点的描述子距离;根据每个特征点对应的描述子距离集合,确定每个第一特征点集合对应的目标描述子;根据每个第一特征点集合对应的目标描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合。
44.根据每个特征点的描述子,计算每个第一特征点集合中的任意两个特征点的描述子距离;根据计算得到的任意两个特征点的描述子距离,统计每个特征点对应的描述子距离集合;描述子距离集合包括与对应的特征点属于同一个第一特征点集合的其他特征点的描述子距离。
45.例如,第一特征点集合1包括3个特征点,分别为特征点1、特征点2以及特征点3。对于特征点1,特征点2和特征点3即为与该特征点1属于同一个第一特征点集合的其他特征点。对于特征点2,特征点1和特征点3为与该特征点1属于同一个第一特征点集合的其他特征点。对于特征点3,特征点1和特征点2为与该特征点1属于同一个第一特征点集合的其他特征点。
46.可以计算第一特征点集合1中的任意两个特征点的描述子距离:特征点1的描述子与特征点2的描述子的描述子距离r1,特征点1的描述子与特征点3的描述子的描述子距离r2,计算特征点2的描述子与特征点3的描述子的描述子距离r3。
47.则,特征点1对应的描述子距离集合包括:r1、r2;特征点2对应的描述子距离集合包括:r1、r3;特征点3对应的描述子距离集合包括:r2、r3。
48.可选地,根据每个特征点对应的描述子距离集合,确定每个第一特征点集合对应的目标描述子,包括:对每个特征点对应的描述子距离集合中的描述子距离进行平均处理,得到每个特征点对应的平均描述子距离;在每个第一特征点集合中,将对应的平均描述子距离最小的特征点的描述子确定为每个第一特征点集合对应的目标描述子。
49.对每个特征点对应的描述子距离集合中的描述子距离进行平均处理,得到每个特征点对应的平均描述子距离。例如,第一特征点集合1包括3个特征点,分别为特征点1、特征点2以及特征点3。特征点1对应的描述子距离集合包括:r1、r2;特征点2对应的描述子距离集合包括:r1、r3;特征点3对应的描述子距离集合包括:r2、r3。则对特征点1对应的描述子距离集合中的描述子距离进行平均处理,获得特征点1对应的平均描述子距离,即1/2(r1+r2);对特征点2对应的描述子距离集合中的描述子距离进行平均处理,获得特征点2对应的平均描述子距离,即1/2(r1+r3);对特征点3对应的描述子距离集合中的描述子距离进行平均处理,获得特征点3对应的平均描述子距离,即1/2(r2+r3)。
50.在每个第一特征点集合中,将对应的平均描述子距离最小的特征点的描述子确定为每个第一特征点集合对应的目标描述子,例如,在前述的第一特征点集合1中,特征点1对应的平均描述子距离1/2(r1+r2)最小,特征点2对应的平均描述子距离1/2(r1+r3)最大,特
征点3对应的平均描述子距离1/2(r2+r3)位于二者之间,则可以将特征点1的描述子确定为第一特征点集合1对应的目标描述子。
51.可选地,多个第二特征点集合包括至少一个合并特征点集合与至少一个非合并特征点集合;根据每个第一特征点集合对应的目标描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,包括:在多个第一特征点集合中确定至少一对待判断的特征点集合;根据每个第一特征点集合对应的目标描述子,计算每对待判断的特征点集合的描述子距离,获得目标描述子距离;对目标描述子距离小于第二距离阈值的每对待判断的特征点集合进行合并处理,获得对应的一个合并特征点集合。
52.第二特征点集合可以是将至少两个第一特征点集合合并后获得的对应的一个合并特征点集合,也可以是与第一特征点集合对应的一个非合并特征点集合。在多个第一特征点集合中,一部分第一特征点集合可以进行合并处理,另一部分第一特征点集合无法进行合并处理。
53.可以进行合并处理的两个第一特征点集合,可以被视为,对应于同一个特征对象的两个第一特征点集合。例如,在一段60秒的视频数据中,从第10帧到第20帧提取对应于石头甲的第一特征点集合1,从第45帧到第52帧提取对应于石头乙的第一特征点集合2,若第一特征点集合1与第一特征点集合2可以合并处理,则可以视为,石头甲与石头乙是同一块石头。
54.在多个第一特征点集合中确定至少一对待判断的特征点集合,例如,多个第一特征点集合包括对应于石头甲的第一特征点集合1和对应于石头乙的第一特征点集合2,在石头甲与石头乙的相似性大于预设相似性阈值的情况下,将第一特征点集合1与第一特征点集合2确定为一对待判断的特征点集合。
55.根据每个第一特征点集合对应的目标描述子,计算每对待判断的特征点集合的描述子距离,获得目标描述子距离。例如,一对待判断的特征点集合包括第一特征点集合1与第一特征点集合2。第一特征点集合1包括特征点1、特征点2以及特征点3,第一特征点集合2包括特征点4、特征点5、特征点6以及特征点7,且第一特征点集合1对应的目标描述子为特征点1的描述子,第一特征点集合2对应的目标描述子为特征点6的描述子。则计算特征点1的描述子与特征点6的描述子的描述子距离,作为该对待判断的特征点集合的描述子距离,即目标描述子距离。
56.对目标描述子距离小于第二距离阈值的每对待判断的特征点集合进行合并处理,获得对应的一个合并特征点集合。
57.第二距离阈值可以是预先设置的描述子距离的距离阈值。
58.在任意一对待判断的特征点集合的目标描述子距离小于第二距离阈值的情况下,对该对待判断的特征点集合进行合并处理,获得与该对待判断的特征点集合对应的一个合并特征点集合。
59.在任意一对待判断的特征点集合的目标描述子距离小于第二距离阈值的情况下,确定不需要对该对待判断的特征点集合进行合并处理。
60.下面可以结合图2来具体说明步骤104。图2是本技术实施例提供的一种合并第一特征点集合的流程示意图。
61.具体实施时,可以根据第一特征点集合对应的特征对象的相似度判断结果,从多
个第一特征点集合中确定待比较的第一特征点集合1和第一特征点集合2,也可以将多个第一特征点集合中的任意两个第一特征点集合作为待比较的第一特征点集合1和第一特征点集合2。
62.如图2所示,步骤202,计算第一特征点集合1的描述子距离。
63.步骤204,计算第一特征点集合2的描述子距离。
64.步骤202与步骤204可以同时执行,也可以先执行步骤202,再执行步骤204,还可以反过来执行。
65.步骤206,获取第一特征点集合1的目标描述子。
66.在步骤202执行之后,执行步骤206。
67.步骤208,获取第一特征点集合2的目标描述子。
68.在步骤204执行之后,执行步骤208。
69.步骤210,计算第一特征点集合1的目标描述子与第一特征点集合2的目标描述子的描述子距离。
70.步骤212,判断描述子距离是否小于第二距离阈值。
71.若是,则执行步骤214。
72.步骤214,合并第一特征点集合1与第一特征点集合2,获得第二特征点集合1。
73.步骤106,根据每个第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对待判断地图点之间的距离小于第一距离阈值。
74.地图点用于反映在每帧图像上特征点在三维空间中的具体位置信息。对于单目相机,一般采用三角化方法获取特征点对应的深度信息;对于双面相机,可以通过计算左右目视差来获取特征点对应的深度信息;对于深度相机,可以直接获取特征点对应的深度信息。
75.在生成的多个地图点中确定至少一对待判断地图点,可以是计算相邻的两个地图点之间的地图点距离,再判断地图点距离是否小于第一距离阈值,若是,则将该相邻的两个地图点确定为一对待判断地图点。
76.第一距离阈值可以是预先设置的地图点距离阈值。
77.可选地,根据每个第二特征点集合,生成对应的一个地图点之前,数据处理方法还包括:获取采集所述视频数据的相机的目标相机位姿;根据每个第二特征点集合,生成对应的一个地图点,包括:根据每个第二特征点集合中的每个特征点的坐标信息和深度信息,确定每个第二特征点集合对应的初始地图点的坐标信息和目标深度信息;根据目标相机位姿以及目标深度信息对初始地图点的坐标信息进行修正,得到每个第二特征点集合对应的目标地图点。
78.目标相机位姿可以是采集视频数据的相机的位置信息和姿态信息。
79.视觉slam系统可以采用重投影误差构建最小二乘问题,来优化系统的结果,即位姿和深度等。
80.图3是本技术实施例提供的一种重投影误差示意图。如图3所示,假设某个空间点的坐标为p=[x,y,z]
t
,其投影的像素坐标为u=[u,v]
t
,像素位置与空间位置的对应关系如下:
[0081][0082]
写成矩阵形式为:
[0083]
su=ktp
ꢀꢀ
(2)
[0084]
其中,s为相机坐标系下特征点对应的深度信息,k为相机内参,t为相机位姿。
[0085]
如图3所示,点p可以为空间点,p1可以为p在相机处于位姿1时的投影,p2可以为p在相机处于位姿2时的投影,但实际上,通过p1的坐标信息、深度信息以及相机位姿1计算得到的空间点p,该空间点p在位姿2处的投影坐标是不准确的,如p2’。
[0086]
即由于视觉slam系统的系统噪声存在,上述公式存在误差,把误差求和,构建最小二乘问题,确定目标相机位姿和深度,使得下述的公式(3)的数值最小。
[0087][0088]
根据目标相机位姿以及目标深度信息对初始地图点的坐标信息进行修正,获得每个第二特征点集合对应的目标地图点,可以理解为,将目标相机位姿以及目标深度信息代入公式(1),可以确定每个第二特征点集合对应的目标地图点的坐标信息。
[0089]
由于特征点被相机多次观测后,需要构建约束参与地图点的坐标修,以获得系统最优值。在特征点集合合并时,特征点对应的地图点已经获得了深度值,所以除了特征点自身属性合并外,还需对特征点对应的地图点进行合并,本文采用特征点数量作为权重值更新深度。如第一特征点集合1有w1个特征点,其深度为d1,第一特征点集合2有w2个特征点,其深度为d2,合并后的深度d如下述的公式(4)所示。
[0090][0091]
可以理解为,在合并第一特征点集合的情况下,第一特征点集合包括的特征点数量越多,该特征点多的第一特征点集合对应的目标深度信息的权重越高。
[0092]
在通过单目相机观测特征点,或者,通过双目相机观测特征点的技术方案中,可能会获取大量比较准确的深度信息和少量不太准确的深度信息。该情况下,采用上述方式对特征点集合的深度合并之后,深度信息的可信度有所提升,进而,没有必要再通过其他采集手段来重新获取深度信息。,另外,在后续的步骤108中,需要利用特征点的深度信息合并地图点,通过合并深度信息以减少深度信息的数量,能够在合并地图点的过程中有效减少计算量,也可以避免传感器噪声影响系统精度。
[0093]
步骤108,根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点。
[0094]
可选地,根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点,包括:在每对待判断地图点中,根据每个待判断地图点对应的第二特征点集合中的每个特征点的深度信息和坐标信息,计算每个特征点的重投影误差,得到每个特征点的第一重投影误差;根据每个特征点的第一重投影误差的中值,确
定每个待判断地图点对应的目标特征点;根据每个待判断地图点对应的目标特征点的深度信息和坐标信息,交叉计算每个目标特征点的重投影误差,得到每个目标特征点的第二重投影误差;对两个第二重投影误差之和小于预设误差阈值的每对待判断地图点进行合并处理,得到对应的一个合并后的地图点。
[0095]
在每对待判断地图点中,根据每个待判断地图点对应的第二特征点集合中的每个特征点的深度信息和坐标信息,计算每个特征点的重投影误差,获得每个特征点的第一重投影误差r1。例如,一对待判断地图点包括地图点1与地图点2。重投影误差的计算公式可以参照前述的公式(3),即
[0096][0097]
地图点1对应的第二特征点集合包括特征点1、特征点2以及特征点3;地图点2对应的第二特征点集合包括特征点4以及特征点5、特征点6。可以分别计算特征点1至特征点6的重投影误差,获得六个第一重投影误差r1。
[0098]
根据每个特征点的第一重投影误差的中值,确定每个待判断地图点对应的目标特征点。例如,针对地图点1,特征点1的r1数值最小,特征点2的r1数值稍大,特征点3的r1数值最大,则地图点1对应的目标特征点为特征点2。
[0099]
根据每个待判断地图点对应的目标特征点的深度信息和坐标信息,交叉计算每个目标特征点的重投影误差,获得每个目标特征点的第二重投影误差。
[0100]
例如,交叉计算地图点1的目标特征点与地图点2的重投影误差,作为地图点1的目标特征点的第二重投影误差r2;交叉计算地图点2的目标特征点与地图点1的重投影误差,作为地图点2的目标特征点的第二重投影误差r2’。
[0101]
对两个第二重投影误差之和小于预设误差阈值的每对待判断地图点进行合并处理,得到对应的一个合并后的地图点。
[0102]
预设误差阈值可以是预先设置的重投影误差阈值r。例如,在r2+r2’小于r的情况下,可以将地图点1与地图点2进行合并处理,得到对应的一个合并后的地图点;在r2+r2’大于等于r的情况下,可以确定不需要将地图点1与地图点2进行合并处理。
[0103]
图4是本技术实施例提供的一种合并地图点的流程示意图。
[0104]
如图4所示,步骤402,计算地图点1关联特征点重投影误差。
[0105]
步骤404,计算地图点2关联特征点重投影误差。
[0106]
步骤406,获取地图点1对应的目标特征点。
[0107]
步骤408,获取地图点2对应的目标特征点。
[0108]
步骤410,交叉计算与地图点2的重投影误差,获得r_1。
[0109]
步骤412,交叉计算与地图点1的重投影误差,获得r_2。
[0110]
步骤414,判断r_1与r_2之和是否小于预设误差阈值。
[0111]
若是,则执行步骤416。
[0112]
步骤416,合并地图点1与地图点2。
[0113]
可选地,根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点之后,还包括:确定每个合并后的地图点对应的特征点的数量是否大于预设数量阈值;若每个合并后的地图点对应的特征点的数量大于预设数量
阈值,则将合并后的地图点对应的特征点确定为待筛选特征点,根据每个待筛选特征点的第一重投影误差、平均描述子距离以及对应的特征对象被观测次数,计算对应的关联分数;根据每个待筛选特征点对应的关联分数,对合并后的地图点对应的待筛选特征点进行筛选,得到合并后的地图点对应的至少一个代表特征点。
[0114]
在步骤108执行之后,还可以分析地图点关联的特征点数量,判断是否大于设定数量阈值,筛选出最佳特征点集。地图点关联的特征点数量,可以为地图点对应的第二特征点集合所包括的特征点数量。
[0115]
本方案通过下述的公式(6)计算地图点关联的特征点的关联分数,按照关联分数进行排序,根据排序结果,确定合并后的地图点对应的至少一个代表特征点,
[0116]
s=a*e
rep
+b*d
avg
+c*n
ob
ꢀꢀꢀꢀꢀ
(6)
[0117]
其中,s为关联分数,e
rep
为重投影误差,a为重投影误差对应系数,d
avg
为平均描述子距离,b为平均描述子距离系数,n
ob
为特征点被观测次数,c为特征点数系数。
[0118]
在如图1所示的实施例中,从包括多帧图像的视频数据中提取多个第一特征点集合;每个第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个特征点从对应的一帧图像中提取;获取每个特征点的描述子,根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合;根据每个第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对待判断地图点之间的距离小于第一距离阈值;根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点。通过本技术实施例,能够在特征对象的被观测次数较多的情况下,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,减少同一个特征对象被识别到对应于多个不同的第一特征点集合导致的冗余数据,还能够生成与每个第二特征点集合对应的地图点,对距离较近的每对待判断地图点进行合并处理,以减少同一特征对象被识别到对应于多个不同的地图点导致的冗余数据,从而在利用环境信息进行数据处理的过程中提高数据处理效率。
[0119]
图5是本技术实施例提供的第二种数据处理方法的流程示意图。
[0120]
步骤502,输入图像数据预处理。
[0121]
步骤504,图像特征提取和匹配。
[0122]
步骤506,相似特征点融合。
[0123]
步骤508,地图点生成。
[0124]
步骤510,地图点修正和更新。
[0125]
步骤512,地图点融合。
[0126]
对于上述数据处理方法实施例而言,由于其与前述的各个数据处理方法实施例基本相似,所以描述的比较简单,相关之处参见前述的各个数据处理方法实施例基的部分说明即可。
[0127]
需要说明的是,本技术实施例提供的数据处理方法,执行主体可以为数据处理装置,或者该数据处理装置中的用于执行数据处理方法的控制模块。本技术实施例中以数据处理装置执行数据处理方法为例,说明本技术实施例提供的数据处理装置。
[0128]
图6是本技术实施例提供的一种数据处理装置的示意框图。
[0129]
如图6所示,数据处理装置包括:
[0130]
提取模块601,用于从包括多帧图像的视频数据中提取多个第一特征点集合;每个第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个特征点从对应的一帧图像中提取;
[0131]
第一合并模块602,用于获取每个特征点的描述子,根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合;
[0132]
第一确定模块603,用于根据每个第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对待判断地图点之间的距离小于第一距离阈值;
[0133]
第二合并模块604,用于根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点。
[0134]
可选地,第一合并模块602,包括:
[0135]
计算单元,用于根据每个特征点的描述子,计算每个第一特征点集合中的任意两个特征点的描述子距离;
[0136]
统计单元,用于根据计算得到的任意两个特征点的描述子距离,统计每个特征点对应的描述子距离集合;描述子距离集合包括与对应的特征点属于同一个第一特征点集合的其他特征点的描述子距离;
[0137]
确定单元,用于根据每个特征点对应的描述子距离集合,确定每个第一特征点集合对应的目标描述子;
[0138]
合并单元,用于根据每个第一特征点集合对应的目标描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合。
[0139]
可选地,确定单元,具体用于:
[0140]
对每个特征点对应的描述子距离集合中的描述子距离进行平均处理,得到每个特征点对应的平均描述子距离;
[0141]
在每个第一特征点集合中,将对应的平均描述子距离最小的特征点的描述子确定为每个第一特征点集合对应的目标描述子。
[0142]
可选地,多个第二特征点集合包括至少一个合并特征点集合与至少一个非合并特征点集合;合并单元,具体用于:
[0143]
在多个第一特征点集合中确定至少一对待判断的特征点集合;
[0144]
根据每个第一特征点集合对应的目标描述子,计算每对待判断的特征点集合的描述子距离,得到目标描述子距离;
[0145]
对目标描述子距离小于第二距离阈值的每对待判断的特征点集合进行合并处理,得到对应的一个合并特征点集合。
[0146]
可选地,数据处理装置还包括:
[0147]
获取模块,用于获取采集视频数据的相机的目标相机位姿;
[0148]
第一确定模块603,具体用于:
[0149]
根据每个第二特征点集合中的每个特征点的坐标信息和深度信息,确定每个第二特征点集合对应的初始地图点的坐标信息和目标深度信息;
[0150]
根据目标相机位姿以及目标深度信息对初始地图点的坐标信息进行修正,得到每个第二特征点集合对应的目标地图点。
[0151]
可选地,第二合并模块604,具体用于:
[0152]
在每对待判断地图点中,根据每个待判断地图点对应的第二特征点集合中的每个特征点的深度信息和坐标信息,计算每个特征点的重投影误差,得到每个特征点的第一重投影误差;
[0153]
根据每个特征点的第一重投影误差的中值,确定每个待判断地图点对应的目标特征点;
[0154]
根据每个待判断地图点对应的目标特征点的深度信息和坐标信息,交叉计算每个目标特征点的重投影误差,得到每个目标特征点的第二重投影误差;
[0155]
对两个第二重投影误差之和小于预设误差阈值的每对待判断地图点进行合并处理,得到对应的一个合并后的地图点。
[0156]
可选地,数据处理装置还包括:
[0157]
第二确定模块,用于确定每个合并后的地图点对应的特征点的数量是否大于预设数量阈值;
[0158]
若每个合并后的地图点对应的特征点的数量大于预设数量阈值,则运行计算模块,计算模块用于将合并后的地图点对应的特征点确定为待筛选特征点,根据每个待筛选特征点的第一重投影误差、平均描述子距离以及对应的特征对象被观测次数,计算对应的关联分数;
[0159]
筛选模块,用于根据每个待筛选特征点对应的关联分数,对合并后的地图点对应的待筛选特征点进行筛选,得到合并后的地图点对应的至少一个代表特征点。
[0160]
在本技术实施例中,从包括多帧图像的视频数据中提取多个第一特征点集合;每个第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个特征点从对应的一帧图像中提取;获取每个特征点的描述子,根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合;根据每个第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对待判断地图点之间的距离小于第一距离阈值;根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点。通过本技术实施例,能够在特征对象的被观测次数较多的情况下,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,减少同一个特征对象被识别到对应于多个不同的第一特征点集合导致的冗余数据,还能够生成与每个第二特征点集合对应的地图点,对距离较近的每对待判断地图点进行合并处理,以减少同一特征对象被识别到对应于多个不同的地图点导致的冗余数据,从而在利用环境信息进行数据处理的过程中提高数据处理效率。
[0161]
本技术实施例中的数据处理装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
[0162]
本技术实施例中的数据处理装置可以为具有操作系统的装置。该操作系统可以为
安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0163]
本技术实施例提供的数据处理装置能够实现图1至图5的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0164]
图7是本技术实施例提供的一种电子设备的示意框图。可选地,如图7所示,本技术实施例还提供一种电子设备700,包括处理器701,存储器702,存储在存储器702上并可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0165]
需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0166]
图8是本技术实施例提供的一种电子设备的硬件结构示意图。
[0167]
该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。
[0168]
本领域技术人员可以理解,电子设备800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0169]
其中,处理器810,用于从包括多帧图像的视频数据中提取多个第一特征点集合;每个所述第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个所述特征点从对应的一帧图像中提取;
[0170]
获取每个所述特征点的描述子,根据获取的描述子,对所述多个第一特征点集合进行合并处理,得到多个第二特征点集合;
[0171]
根据每个所述第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对所述待判断地图点之间的距离小于第一距离阈值;
[0172]
根据每对所述待判断地图点对应的重投影误差,对每对所述待判断地图点进行合并处理,得到对应的合并后的地图点。
[0173]
在本技术实施例中,从包括多帧图像的视频数据中提取多个第一特征点集合;每个第一特征点集合包括对应于同一个特征对象的多个特征点;其中,每个特征点从对应的一帧图像中提取;获取每个特征点的描述子,根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合;根据每个第二特征点集合,生成对应的一个地图点,在生成的多个地图点中确定至少一对待判断地图点;每对待判断地图点之间的距离小于第一距离阈值;根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点。通过本技术实施例,能够在特征对象的被观测次数较多的情况下,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,减少同一个特征对象被识别到对应于多个不同的第一特征点集合导致的冗余数据,还能够生成与每个第二特征点集合对应的地图点,对距离较近的每对待判断地图点进行合并处理,以减少同一特征对象被识别到对应于多个不同的地图点导致的冗余数据,从而在利用环境信息进行
数据处理的过程中提高数据处理效率。
[0174]
可选地,处理器110,还用于:根据获取的描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,包括:
[0175]
根据每个特征点的描述子,计算每个第一特征点集合中的任意两个特征点的描述子距离;
[0176]
根据计算得到的任意两个特征点的描述子距离,统计每个特征点对应的描述子距离集合;描述子距离集合包括与对应的特征点属于同一个第一特征点集合的其他特征点的描述子距离;
[0177]
根据每个特征点对应的描述子距离集合,确定每个第一特征点集合对应的目标描述子;
[0178]
根据每个第一特征点集合对应的目标描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合。
[0179]
可选地,处理器110,还用于:根据每个特征点对应的描述子距离集合,确定每个第一特征点集合对应的目标描述子,包括:
[0180]
对每个特征点对应的描述子距离集合中的描述子距离进行平均处理,得到每个特征点对应的平均描述子距离;
[0181]
在每个第一特征点集合中,将对应的平均描述子距离最小的特征点的描述子确定为每个第一特征点集合对应的目标描述子。
[0182]
可选地,多个第二特征点集合包括至少一个合并特征点集合与至少一个非合并特征点集合;处理器110,还用于:根据每个第一特征点集合对应的目标描述子,对多个第一特征点集合进行合并处理,得到多个第二特征点集合,包括:
[0183]
在多个第一特征点集合中确定至少一对待判断的特征点集合;
[0184]
根据每个第一特征点集合对应的目标描述子,计算每对待判断的特征点集合的描述子距离,得到目标描述子距离;
[0185]
对目标描述子距离小于第二距离阈值的每对待判断的特征点集合进行合并处理,得到对应的一个合并特征点集合。
[0186]
可选地,处理器110,还用于:
[0187]
根据每个第二特征点集合,生成对应的一个地图点之前,获取采集视频数据的相机的目标相机位姿;
[0188]
根据每个第二特征点集合,生成对应的一个地图点,包括:
[0189]
根据每个第二特征点集合中的每个特征点的坐标信息和深度信息,确定每个第二特征点集合对应的初始地图点的坐标信息和目标深度信息;
[0190]
根据目标相机位姿以及目标深度信息对初始地图点的坐标信息进行修正,得到每个第二特征点集合对应的目标地图点。
[0191]
可选地,处理器110,还用于:根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点,包括:
[0192]
在每对待判断地图点中,根据每个待判断地图点对应的第二特征点集合中的每个特征点的深度信息和坐标信息,计算每个特征点的重投影误差,得到每个特征点的第一重投影误差;
[0193]
根据每个特征点的第一重投影误差的中值,确定每个待判断地图点对应的目标特征点;
[0194]
根据每个待判断地图点对应的目标特征点的深度信息和坐标信息,交叉计算每个目标特征点的重投影误差,得到每个目标特征点的第二重投影误差;
[0195]
对两个第二重投影误差之和小于预设误差阈值的每对待判断地图点进行合并处理,得到对应的一个合并后的地图点。
[0196]
可选地,处理器110,还用于:根据每对待判断地图点对应的重投影误差,对每对待判断地图点进行合并处理,得到对应的合并后的地图点之后,还包括:
[0197]
确定每个合并后的地图点对应的特征点的数量是否大于预设数量阈值;
[0198]
若每个合并后的地图点对应的特征点的数量大于预设数量阈值,则将合并后的地图点对应的特征点确定为待筛选特征点,根据每个待筛选特征点的第一重投影误差、平均描述子距离以及对应的特征对象被观测次数,计算对应的关联分数;
[0199]
根据每个待筛选特征点对应的关联分数,对合并后的地图点对应的待筛选特征点进行筛选,得到合并后的地图点对应的至少一个代表特征点。
[0200]
通过本技术实施例,能够合并第一特征点集合,合并待判断地图点,从相机采集的环境信息中减少冗余数据,提高数据处理效率,还能够减少每个地图点对应的特征点的数量。
[0201]
应理解的是,本技术实施例中,输入单元804可以包括图形处理器(graphics processing unit,gpu)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器809可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
[0202]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0203]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0204]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0205]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0206]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0207]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0208]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1