本发明涉及计算机视觉,尤其是指一种位姿估计方法、装置、设备和存储介质。
背景技术:
1、现有的图像识别算法的主要流程分为三步:首先检测图像中的特征点,并提取每个特征点对应的特征描述因子,最后利用特征描述因子的相似性对图像进行匹配与识别。其中,特征描述子包含了关键点领域像素的信息与对应的方向向量,通过在向量空间中比对两张图像的特征描述子的相似性来进行匹配操作,从而完成图像识别。
2、目前在浏览器端的增强现实(augmented reality,ar)应用生成增强现实视频时使用的上述图像识别算法主要通过使用网络汇编代码(webassembly)技术,将其他语言的代码转译为浏览器端可执行的字节码来实现,但是在ar应用生成每帧图像的过程中,确定相机位姿时都要运行特征点匹配,运算时间过长,无法保证在浏览器端显示视频的实时性,导致页面卡顿。
技术实现思路
1、本发明技术方案的目的在于提供一种位姿生成方法、装置、设备和存储介质,解决现有技术中,确定相机位姿的运算时间长的问题。
2、为了解决上述技术问题,本发明实施例提供如下技术方案:
3、本发明实施例提供一种位姿估计方法,包括:
4、对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果;
5、在所述第一目标视频帧的识别结果指示在所述第一目标视频帧中识别到预设跟踪目标且满足目标条件的情况下,根据基于重投影的姿态估计算法和所述第一目标视频帧,生成所述第一目标视频帧对应的目标摄像设备的设备位姿;所述目标条件为第二目标视频帧的识别结果指示在所述第一目标视频帧中未识别到所述预设跟踪目标或所述第一目标视频帧为所述目标视频中的首个视频帧;所述第二目标视频帧为所述目标视频中,与所述第一目标视频帧前相邻的视频帧;所述目标摄像设备为采集所述目标视频的设备;
6、获取所述目标视频中的第三目标视频帧,根据光流法和所述第一目标视频帧对应的目标摄像设备的设备位姿,生成所述第三目标视频帧对应的目标摄像设备的设备位姿;所述第三目标视频帧为所述目标视频中,与所述第一目标视频帧后相邻的视频帧;
7、根据随机采样一致性ransac算法,确定所述第三目标视频帧中对所述预设跟踪目标的跟踪结果;
8、在所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪成功的情况下,将所述第一目标视频帧更新为所述第三目标视频帧,返回获取所述目标视频中的第三目标视频帧的步骤;在所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪失败的情况下,将所述第一目标视频帧更新为所述第三目标视频帧,返回对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果的步骤。
9、可选地,所述方法还包括:
10、在所述第一目标视频帧的识别结果指示在所述第一目标视频帧中未识别到所述预设跟踪目标的情况下,获取第四目标视频帧,将所述第一目标视频帧更新为所述第四目标视频帧,返回对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果的步骤;其中,所述第四目标视频帧为所述目标视频中,与所述第一目标视频帧后相邻的视频帧。
11、可选地,对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果,包括:
12、对所述第一目标视频帧进行特征点提取,得到所述第一目标视频帧的第一特征点;
13、将所述第一特征点与所述预设跟踪目标的特征点进行匹配,在匹配成功的特征点的数量大于第一预设阈值的情况下,确定所述第一目标视频帧的识别结果指示在所述第一目标视频帧中识别到所述预设跟踪目标,在匹配成功的特征点的数量小于或等于第一预设阈值的情况下,确定所述第一目标视频帧的识别结果指示在所述第一目标视频帧中未识别到所述预设跟踪目标。
14、可选地,根据基于重投影的姿态估计算法和所述第一目标视频帧,生成所述第一目标视频帧对应的目标摄像设备的设备位姿,包括:
15、根据所述第一目标视频帧和第一位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的第一投影点坐标和第一实际空间点坐标对应的第一投影误差;
16、根据所述第一位姿矩阵和随机数矩阵,得到第二位姿矩阵;
17、根据所述第一目标视频帧和所述第二位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的第二投影点坐标和第二实际空间点坐标对应的第二投影误差,以及,每一所述第二投影点坐标与相对的所述第二实际空间点坐标之间的误差向量;
18、在所述第二投影误差小于所述第一投影误差的情况下,确定所述第二投影误差是否小于预设误差,若是,将所述第二位姿矩阵作为所述第一目标视频帧对应的所述目标摄像设备的设备位姿,若否,根据所述误差向量得到第三位姿矩阵,将所述第三位姿矩阵更新为所述第一位姿矩阵,返回根据所述第一目标视频帧和第一初始位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的投影点坐标和实际顶点坐标对应的第一投影误差的步骤,直到确定所述第二投影误差小于所述预设误差,将所述第三位姿矩阵作为所述第一目标视频帧对应的所述目标摄像设备的设备位姿。
19、可选地,所述方法还包括:
20、在所述第二投影误差大于或等于所述第一投影误差的情况下,随机生成第四位姿矩阵;
21、根据所述第四位姿矩阵更新所述第一位姿矩阵,返回根据所述第一目标视频帧和第一位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的投影点坐标和实际顶点坐标对应的第一投影误差的步骤。
22、可选地,根据所述第一目标视频帧和第一位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的第一投影点坐标和第一实际空间点坐标对应的第一投影误差,包括:
23、根据所述第一目标视频帧和所述第一位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的至少三个第一投影点坐标;
24、根据每一所述第一投影点坐标与所述第一目标视频帧在所述目标摄像设备的画面中所述第一投影点坐标相对的所述第一实际空间点坐标之间的距离之和,得到所述第一投影误差。
25、可选地,根据所述第一目标视频帧和所述第二位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的第二投影点坐标和第二实际空间点坐标对应的第二投影误差,以及,每一所述第二投影点坐标与相对的所述第二实际空间点坐标之间的误差向量,包括:
26、根据所述第一目标视频帧和所述第二位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的至少三个第二投影点坐标;
27、根据每一所述第二投影点坐标与所述第一目标视频帧在所述目标摄像设备的画面中所述第二投影点坐标相对的所述第二实际空间点坐标之间的距离之和,得到所述第二投影误差;
28、根据每一所述第二投影点坐标与每一所述第二投影点坐标相对的第二实际空间点坐标,得到每一所述第二投影点坐标与对应的所述第二实际空间点坐标之间的误差向量。
29、可选地,根据随机采样一致性ransac算法,确定所述第三目标视频帧中对所述预设跟踪目标的跟踪结果,包括:
30、对所述第三目标视频帧进行特征点提取,得到第二特征点;
31、在根据ransac算法确定所述第二特征点中相对于所述第一目标视频帧的第一特征点跟踪成功的特征点的数量大于第二预设阈值的情况下,确定所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪成功;
32、在根据ransac算法确定所述第二特征点中相对于所述第一目标视频帧的第一特征点跟踪成功的特征点的数量小于或等于第二预设阈值的情况下,确定所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪失败。
33、可选地,获取所述目标视频中的第三目标视频帧,包括:
34、确定生成所述第一目标视频帧对应的所述目标摄像设备的设备位姿的处理时间;
35、获取所述第三目标视频帧;
36、根据所述处理时间,对所述第三目标视频帧进行裁剪和/或降采样处理。
37、可选地,所述方法还包括:
38、对所述第一目标视频帧对应的所述目标摄像设备的设备位姿进行滤波处理,得到所述第一目标视频帧对应的所述目标摄像设备的最终设备位姿;
39、和/或,
40、对所述第三目标视频帧对应的所述目标摄像设备的设备位姿进行滤波处理,得到所述第三目标视频帧对应的所述目标摄像设备的最终设备位姿。
41、可选地,所述方法还包括:
42、根据预设的虚拟模型、所述第一目标视频帧、所述第一目标视频帧对应的所述目标摄像设备的最终设备位姿和预设的渲染模型,所述第一目标视频帧对应的增强现实ar影像;
43、和/或,
44、根据预设的虚拟模型、所述第三目标视频帧、所述第三目标视频帧对应的所述目标摄像设备的最终设备位姿和预设的渲染模型,所述第三目标视频帧对应的增强现实ar影像。
45、本发明实施例还提供一种位姿估计装置,所述装置包括:
46、第一识别模块,用于对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果;
47、第一处理模块,用于在所述第一目标视频帧的识别结果指示在所述第一目标视频帧中识别到预设跟踪目标且满足目标条件的情况下,根据基于重投影的姿态估计算法和所述第一目标视频帧,生成所述第一目标视频帧对应的目标摄像设备的设备位姿;所述目标条件为第二目标视频帧的识别结果指示在所述第一目标视频帧中未识别到所述预设跟踪目标或所述第一目标视频帧为所述目标视频中的首个视频帧;所述第二目标视频帧为所述目标视频中,与所述第一目标视频帧前相邻的视频帧;所述目标摄像设备为采集所述目标视频的设备;
48、第二处理模块,用于获取所述目标视频中的第三目标视频帧,根据光流法和所述第一目标视频帧对应的目标摄像设备的设备位姿,生成所述第三目标视频帧对应的目标摄像设备的设备位姿;所述第三目标视频帧为所述目标视频中,与所述第一目标视频帧后相邻的视频帧;
49、第一确定模块,用于根据随机采样一致性ransac算法,确定所述第三目标视频帧中对所述预设跟踪目标的跟踪结果;
50、第三处理模块,用于在所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪成功的情况下,将所述第一目标视频帧更新为所述第三目标视频帧,返回获取所述目标视频中的第三目标视频帧的步骤;在所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪失败的情况下,将所述第一目标视频帧更新为所述第三目标视频帧,返回对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果的步骤。
51、本发明实施例还提供一种位姿估计设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上中任一项所述的位姿估计方法。
52、本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上中任一项所述的位姿估计方法中的步骤。
53、本发明上述技术方案中的至少一个具有以下有益效果:
54、本发明方案提供的位姿估计方法中,通过获取目标摄像设备采集的目标视频中的第一目标视频帧,对第一目标视频帧进行识别得到识别结果,在识别结果指示在第一目标视频帧中识别到预设跟踪目标且在满足目标条件(所述目标条件为与第一目标视频帧前相邻的第二目标视频帧中未识别到预设跟踪目标或所述第一目标视频帧为目标视频中的首个视频帧)的情况下,根据基于重投影的姿态估计算法和所述第一目标视频帧,生成所述第一目标视频帧对应的目标摄像设备的设备位姿,并获取所述目标视频中的第三目标视频帧,根据光流法和所述第一目标视频帧对应的目标摄像设备的设备位姿,生成与第一目标视频帧后相邻的第三目标视频帧对应的目标摄像设备的设备位姿,之后根据随机采样一致性ransac算法,确定所述第三目标视频帧中对所述预设跟踪目标的跟踪结果,在所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪成功的情况下,将所述第一目标视频帧更新为所述第三目标视频帧,返回获取所述目标视频中的第三目标视频帧的步骤;在所述跟踪结果指示所述第三目标视频帧中对所述预设跟踪目标跟踪失败的情况下,将所述第一目标视频帧更新为所述第三目标视频帧,返回对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果的步骤,直到获得目标视频中的最后一个视频帧对应的目标摄像设备的设备位姿,上述位姿估计方法相较于现有的在ar应用生成每帧图像的过程中,确定每帧图像对应的相机位姿时都要运行特征点匹配的方式,能够减少相机(即目标摄像设备)的位姿运算时长,且本方法还能够实现跨平台应用。
1.一种位姿估计方法,其特征在于,包括:
2.根据权利要求1所述的位姿估计方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的位姿估计方法,其特征在于,对目标视频中的第一目标视频帧进行预设跟踪目标的识别,得到所述第一目标视频帧的识别结果,包括:
4.根据权利要求1所述的位姿估计方法,其特征在于,根据基于重投影的姿态估计算法和所述第一目标视频帧,生成所述第一目标视频帧对应的目标摄像设备的设备位姿,包括:
5.根据权利要求4所述的位姿估计方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的位姿估计方法,其特征在于,根据所述第一目标视频帧和第一位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的第一投影点坐标和第一实际空间点坐标对应的第一投影误差,包括:
7.根据权利要求4所述的位姿估计方法,其特征在于,根据所述第一目标视频帧和所述第二位姿矩阵,得到所述第一目标视频帧在所述目标摄像设备的画面中的第二投影点坐标和第二实际空间点坐标对应的第二投影误差,以及,每一所述第二投影点坐标与相对的所述第二实际空间点坐标之间的误差向量,包括:
8.根据权利要求1所述的位姿估计方法,其特征在于,根据随机采样一致性ransac算法,确定所述第三目标视频帧中对所述预设跟踪目标的跟踪结果,包括:
9.根据权利要求1所述的位姿估计方法,其特征在于,获取所述目标视频中的第三目标视频帧,包括:
10.根据权利要求1所述的位姿估计方法,其特征在于,所述方法还包括:
11.根据权利要求10所述的位姿估计方法,其特征在于,所述方法还包括:
12.一种位姿估计装置,其特征在于,所述装置包括:
13.一种位姿估计设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至11中任一项所述的位姿估计方法。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至11中任一项所述的位姿估计方法中的步骤。