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

地面区域的特效展示方法、装置、设备及存储介质与流程

2022-09-07 13:09:14 来源:中国专利 TAG:


1.本技术涉及计算机技术,尤其涉及一种地面区域的特效展示方法、装置、设备及计算机可读存储介质。


背景技术:

2.用户在采集视频的过程中,若采集的视频画面中存在地面区域,则会将地面区域替换为相应的特效元素进行展示,以增加趣味性。然而,在对视频中地面区域进行识别分割的过程中,相关技术对每一帧图像进行独立分割,然而此种方式得到的每帧图像的分割结果会有一定的跳动,影响了地面区域分割的帧间一致性,导致所展示的特效元素与地面区域之间存在分离现象。


技术实现要素:

3.本技术实施例提供一种地面区域的特效展示方法、装置、设备及计算机可读存储介质,能够保证地面区域分割时帧间的一致性,进而使得所展示的特效元素与地面区域的紧密贴合。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种地面区域的特效展示方法,包括:
6.在采集视频的过程中,获取当前视频帧图像中地面区域对应的第一掩膜图像、以及历史视频帧图像中地面区域对应的第二掩膜图像;
7.将所述第二掩膜图像投影到所述当前视频帧图像中,得到所述历史视频帧图像对应的投影掩膜图像;
8.将所述第一掩膜图像与所述投影掩膜图像进行图像融合,得到所述当前视频帧图像中地面区域对应的目标掩膜图像;
9.对所采集的视频帧图像中的地面区域进行跟踪处理,以确定所述地面区域在所采集视频中的移动轨迹;
10.在所采集的视频中地面区域按照所述移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
11.本技术实施例提供一种地面区域的特效展示方法,包括:
12.采集包含地面区域的视频,并在采集所述视频的过程中,对所述视频中的地面区域采用相应的特效元素进行展示;
13.其中,所述特效元素,为对采集的视频帧图像中地面区域对应的目标掩膜图像替换得到;所述目标掩膜图像,为将当前视频帧图像中地面区域对应的第一掩膜图像与历史视频帧图像中地面区域对应的第二掩膜图像,投影到所述当前视频帧图像中得到的投影掩膜图像进行图像融合得到;
14.伴随所述视频对应的采集姿态的变化,同步调整所展示视频中所述特效元素的姿态。
15.本技术实施例提供一种地面区域的特效展示装置,包括:
16.获取模块,用于在采集视频的过程中,获取当前视频帧图像中地面区域对应的第一掩膜图像、以及历史视频帧图像中地面区域对应的第二掩膜图像;
17.投影模块,用于将所述第二掩膜图像投影到所述当前视频帧图像中,得到所述历史视频帧图像对应的投影掩膜图像;
18.融合模块,用于将所述第一掩膜图像与所述投影掩膜图像进行图像融合,得到所述当前视频帧图像中地面区域对应的目标掩膜图像;
19.跟踪模块,用于对所采集的视频帧图像中的地面区域进行跟踪处理,以确定所述地面区域在所采集视频中的移动轨迹;
20.替换模块,用于在所采集的视频中地面区域按照所述移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
21.上述方案中,所述获取模块,还用于对当前视频帧图像的旋转角度进行重力校正,得到所述当前视频帧图像对应的校正图像;
22.对所述校正图像进行地面区域检测,并对检测出的地面区域进行分割处理,得到所述当前视频帧图像中地面区域对应的分割图像;
23.对所述分割图像进行非地面区域过滤,得到所述当前视频帧图像中地面区域对应的第一掩膜图像。
24.上述方案中,所述获取模块,还用于获取视频采集设备采集所述当前视频帧图像时的姿态旋转矩阵;
25.基于所述姿态旋转矩阵,确定相应的重力方向的旋转角度;
26.根据所述旋转角度将所述当前视频帧图像进行重力方向旋转,得到所述当前视频帧图像对应的校正图像。
27.上述方案中,所述获取模块,还用于获取视频采集设备采集所述当前视频帧图像时的姿态旋转矩阵,并基于所述姿态旋转矩阵,获取与所述视频采集设备处于同一水平面的第一参考点和第二参考点,以及位于所述视频采集设备的垂直平面的第三参考点;
28.基于所述第一参考点和所述第二参考点,确定所述当前视频帧图像的水平消逝线,并基于所述第三参考点,确定所述当前视频帧图像的重力方向;
29.基于所述水平消逝线及所述重力方向,对所述分割图像进行非地面区域过滤,得到所述当前视频帧图像中地面区域对应的第一掩膜图像。
30.上述方案中,所述获取模块,还用于分别将所述第一参考点、所述第二参考点和所述第三参考点投影到所述当前视频帧图像中,得到所述第一参考点对应的第一目标点、所述第二参考点对应的第二目标点,及所述第三参考点对应的第三目标点;
31.将所述第一目标点与所述第二目标点之间的连线,确定为所述当前视频帧图像的水平消逝线;
32.将从所述第三目标点出发且垂直于所述水平消逝线的射线所指示的方向,确定为所述当前视频帧图像的重力方向。
33.上述方案中,所述获取模块,还用于获取所述水平消逝线与所述当前视频帧图像的交点的数量;
34.基于所述交点的数量及所述重力方向,确定所述当前视频帧图像中的非地面区
域;
35.当所述分割图像对应的地面区域中含有所述非地面区域时,对所述分割图像进行非地面区域过滤,得到所述当前视频帧图像中地面区域对应的第一掩膜图像。
36.上述方案中,所述获取模块,还用于当所述交点的数量为0或1、且所述重力方向指示的第三目标点与所述当前视频帧图像位于所述水平消逝线的同一侧时,确定所述当前视频帧图像为非地面区域;
37.当所述交点的数量为2时,将与所述当前视频帧图像中所述重力方向所指示的第三目标点处于所述水平消逝线同一侧的部分区域确定为非地面区域。
38.上述方案中,所述投影模块,还用于获取所述历史视频帧图像与所述当前视频帧图像之间的光流场;
39.基于所述光流场,得到所述历史视频帧图像与所述当前视频帧图像之间的变换矩阵;
40.基于所述变换矩阵,将所述第二掩膜图像投影到所述当前视频帧图像中,得到所述历史视频帧图像对应的投影掩膜图像。
41.上述方案中,所述融合模块,还用于分别获取所述第一掩膜图像与所述投影掩膜图像对应的权重;
42.基于获取的权重,对所述第一掩膜图像与所述投影掩膜图像进行加权处理,得到所述当前视频帧图像中地面区域对应的目标掩膜图像。
43.上述方案中,所述跟踪模块,还用于获取视频采集设备采集视频时的姿态旋转矩阵,并基于所述姿态旋转矩阵确定所述地面区域在所采集视频中相对重力方向的姿态旋转角度;
44.确定所述地面区域在所采集视频中相对水平方向的位置平移量;
45.基于所述姿态旋转角度及所述位置平移量,确定所述地面区域在所采集视频中的移动轨迹。
46.上述方案中,所述跟踪模块,还用于对所述历史视频帧图像对应的目标掩膜图像进行特征点提取,得到所述历史视频帧图像对应的第一图像特征点,并基于所述第一图像特征点进行特征点跟踪,得到所述当前视频帧图像对应的目标掩膜图像中与所述第一图像特征点相匹配的第二图像特征点;
47.对所述第一图像特征点进行映射处理,得到所述第一图像特征点对应的第一相机特征点,并基于所述第一相机特征点及所述第二图像特征点,构造特征点匹配对;
48.基于所述特征点匹配对,确定所述地面区域在所采集视频中相对水平方向的位置平移量。
49.上述方案中,所述跟踪模块,还用于获取所述特征点匹配对对应的视频采集设备的姿态旋转矩阵、以及所述视频采集设备的内参矩阵;
50.基于所述特征点匹配对、所述姿态旋转矩阵及所述内参矩阵,进行地面区域的平移估计,得到所述地面区域在所采集视频中相对水平方向的位置平移量。
51.本技术实施例提供一种地面区域的特效展示装置,包括:
52.展示模块,用于采集包含地面区域的视频,并在采集所述视频的过程中,对所述视频中的地面区域采用相应的特效元素进行展示;
53.其中,所述特效元素,为对采集的视频帧图像中地面区域对应的目标掩膜图像替换得到;所述目标掩膜图像,为将当前视频帧图像中地面区域对应的第一掩膜图像与历史视频帧图像中地面区域对应的第二掩膜图像,投影到所述当前视频帧图像中得到的投影掩膜图像进行图像融合得到;
54.调整模块,用于伴随所述视频对应的采集姿态的变化,同步调整所展示视频中所述特效元素的姿态。
55.本技术实施例提供一种电子设备,包括:
56.存储器,用于存储可执行指令;
57.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的地面区域的特效展示方法。
58.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的地面区域的特效展示方法。
59.本技术实施例具有以下有益效果:
60.通过将当前视频帧图像中地面区域对应的第一掩膜图像与历史视频帧图像中地面区域对应的第二掩膜图像,投影到当前视频帧图像中得到的投影掩膜图像进行融合,得到所采集的视频帧图像中地面区域对应的目标掩膜图像,并对采集的视频帧图像中的地面区域进行跟踪处理,以确定地面区域在所采集视频中的移动轨迹;在视频中地面区域按照移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示;由于综合考虑了当前视频帧图像及历史帧图像中地面区域对应的掩膜图像,并进行地面区域跟踪,因此减轻了目标掩膜图像的跳动,进而保证了地面区域分割的帧间一致性,进而使得所展示的特效元素与地面区域的紧密贴合。
附图说明
61.图1为本技术实施例提供的地面区域的特效展示系统100的架构示意图;
62.图2为本技术实施例提供的电子设备500的一个可选的结构示意图;
63.图3为本技术实施例提供的地面区域的特效展示方法的流程示意图;
64.图4为本技术实施例提供的地面区域的特效展示方法的流程示意图;
65.图5为本技术实施例提供的地面区域的特效展示方法的流程示意图;
66.图6为本技术实施例提供的地面区域的特效展示方法的流程示意图;
67.图7为本技术实施例提供的地面区域的特效展示方法的流程示意图;
68.图8a-8b为本技术实施例提供的地面区域的特效展示界面示意图;
69.图9a-9b为本技术实施例提供的确定非地面区域的示意图;
70.图10为本技术实施例提供的移动轨迹评估耗时性能比较示意图;
71.图11为本技术实施例提供的移动轨迹评估精度比较示意图;
72.图12为本技术实施例提供的地面区域的特效展示装置的结构示意图;
73.图13为本技术实施例提供的地面区域的特效展示装置的结构示意图。
具体实施方式
74.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进
一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
75.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
76.在以下的描述中,所涉及的术语“第一\第二
…”
仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二
…”
在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
77.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
78.参见图1,图1为本技术实施例提供的地面区域的特效展示系统100的架构示意图,为实现支撑一个示例性应用,终端(包括终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、相机等,但并不局限于此。服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery net work)、以及大数据和人工智能平台等基础云计算服务的云服务器。
79.在实际应用中,终端上设置有客户端,如视频播放客户端、即时通讯客户端和短视频客户端等,服务器200位终端上设置的客户端对应的后台服务器。终端在采集视频的过程中,将所采集的视频帧图像发送至服务器200,服务器200获取当前视频帧图像中地面区域对应的第一掩膜图像、以及历史视频帧图像中地面区域对应的第二掩膜图像;将第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像;将第一掩膜图像与投影掩膜图像进行图像融合,得到当前视频帧图像中地面区域对应的目标掩膜图像;对所采集的视频帧图像中的地面区域进行跟踪处理,以确定地面区域在所采集视频中的移动轨迹;并将跟踪结果返回至终端,终端基于跟踪结果,在视频中地面区域按照移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
80.接下来对实施本技术实施例的地面区域的特效展示方法的电子设备进行说明。参见图2,图2为本技术实施例提供的电子设备500的一个可选的结构示意图,在实际应用中,电子设备500可以为图1中的终端(如终端400-1和终端400-2)或服务器200,以电子设备为图1所示的终端为例,图2所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
81.处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
82.用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
83.存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
84.存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only me mory),易失性存储器可以是随机存取存储器(ram,random access memor y)。本技术实施例描述的存储器550旨在包括任意适合类型的存储器。
85.在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
86.操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
87.网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
88.呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
89.输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
90.在一些实施例中,本技术实施例提供的地面区域的特效展示装置可以采用软件方式实现,图2示出了存储在存储器550中的地面区域的特效展示装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、投影模块5552、融合模块5553、跟踪模块5554和替换模块5555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
91.在另一些实施例中,本技术实施例提供的地面区域的特效展示装置可以采用硬件方式实现,作为示例,本技术实施例提供的地面区域的特效展示装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的地面区域的特效展示方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、ds p、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpg a,field-programmable gate array)或其他电子元件。
92.基于上述对本技术实施例的地面区域的特效展示系统及电子设备的说明,接下来对本技术实施例提供的地面区域的特效展示方法进行说明,在一些实施例中,该地面区域
的特效展示方法可由终端或服务器单独实施,如通过图1中的终端400-1、终端400-2或服务器200单独实施,还可由服务器及终端协同实施,如通过图1中的终端400-1和服务器200协同实施,接下来结合图1及图3,图3为本技术实施例提供的地面区域的特效展示方法的流程示意图,以图1中的终端实施本技术实施例提供的地面区域的特效展示为例进行说明。
93.步骤101:终端在采集视频的过程中,获取当前视频帧图像中地面区域对应的第一掩膜图像、以及历史视频帧图像中地面区域对应的第二掩膜图像。
94.参见图4,图4为本技术实施例提供的地面区域的特效展示方法的流程示意图,在一些实施例中,图4示出图3中的步骤101中获取当前视频帧图像中地面区域对应的第一掩膜图像,可通过1011-步骤1013实现:
95.步骤1011:对当前视频帧图像的旋转角度进行重力校正,得到当前视频帧图像对应的校正图像。
96.在一些实施例中,终端可通过如下方式对当前视频帧图像的旋转角度进行重力校正,得到当前视频帧图像对应的校正图像:获取视频采集设备采集当前视频帧图像时的姿态旋转矩阵;基于姿态旋转矩阵,确定相应的重力方向的旋转角度;根据旋转角度将当前视频帧图像进行重力方向旋转,得到当前视频帧图像对应的校正图像。
97.在实际实施时,根据惯性测量单元(imu,inertial measurement unit),计算当前视频帧图像的重力方向,通过重力传感器获取视频采集设备采集当前视频帧图像时的姿态旋转矩阵r=[r0,r1,r2;r3,r4,r5;r6,r7,r8];基于姿态旋转矩阵,确定相应的重力方向的旋转角度为θ=arctan(r8/r5);根据旋转角度将当前视频帧图像进行重力方向旋转,即将当前视频帧图像旋转θ角度,得到当前视频帧图像对应的校正图像。
[0098]
步骤1012:对校正图像进行地面区域检测,并对检测出的地面区域进行分割处理,得到当前视频帧图像中地面区域对应的分割图像。
[0099]
在实际实施时,可将进行重力校正后的校正图像输入至地面区域分割模型中,得到当前视频帧图像中地面区域对应的分割图像,其中,地面区域分割模型包括但不限于:传统分割算法(如图割(graphcut),条件随机场,马尔科夫随机场等)、深度网络分割模型(如mask r-cnn(region-convolutional neur al networks)、编码-解码架构的分割模型等)。
[0100]
步骤1013:对分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像。
[0101]
在一些实施例中,终端可通过如下方式对分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像:
[0102]
获取视频采集设备采集当前视频帧图像时的姿态旋转矩阵,并基于姿态旋转矩阵,获取与视频采集设备处于同一水平面的第一参考点和第二参考点,以及位于视频采集设备的垂直平面的第三参考点;基于第一参考点和第二参考点,确定当前视频帧图像的水平消逝线,并基于第三参考点,确定当前视频帧图像的重力方向;基于水平消逝线及重力方向,对分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像。
[0103]
其中,水平消逝线用于指示视频帧图像中的地面区域的消失尽头,水平消逝线与地面区域所在水平面相互平行,视频帧图像的重力方向与水平消逝线相互垂直。
[0104]
在一些实施例中,终端可通过如下方式基于第一参考点和第二参考点确定当前视
频帧图像的水平消逝线,并基于第三参考点,确定所述当前视频帧图像的重力方向:
[0105]
分别将第一参考点、第二参考点和第三参考点投影到当前视频帧图像中,得到第一参考点对应的第一目标点、第二参考点对应的第二目标点,及第三参考点对应的第三目标点;将第一目标点与第二目标点之间的连线,确定为当前视频帧图像的水平消逝线;将从第三目标点出发且垂直于水平消逝线的射线所指示的方向,确定为当前视频帧图像的重力方向。
[0106]
这里,在计算当前视频帧图像的水平消逝线和重力方向时,首先获取视频采集设备采集当前视频帧图像时的姿态旋转矩阵r=[r0,r1,r2;r3,r4,r5;r6,r7,r8],并基于姿态旋转矩阵,获取与视频采集设备处于同一水平面、且在视频采集设备正前方的第一参考点(p1=[r2,r5,0])和另一个第二参考点(p2=[r2 r5,r5-r2,0]),以及位于视频采集设备的垂直平面的第三参考点(p3=[r2,r5,-1]),其中,z轴方向定义为重力方向朝下;然后分别将第一参考点(p1)、第二参考点(p2)和第三参考点(p3)投影到当前视频帧图像中,得到第一参考点(p1)对应的第一目标点(u1,v1)、第二参考点(p2)对应的第二目标点(u2,v2),及第三参考点(p3)对应的第三目标点(u3,v3),即将处于视频采集设备所对应的坐标系(又称相机坐标系)中的参考点投影到图像坐标系中的参考点;最后将第一目标点(u1,v1)与第二目标点(u2,v2)之间的连线确定为当前视频帧图像的水平消逝线;将从第三目标点(u3,v3)出发且垂直于水平消逝线的射线所指示的方向确定为当前视频帧图像的重力方向。
[0107]
在一些实施例中,终端可通过如下方式基于水平消逝线及重力方向,对分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像:
[0108]
获取水平消逝线与当前视频帧图像的交点的数量;基于交点的数量及重力方向,确定当前视频帧图像中的非地面区域;当分割图像对应的地面区域中含有非地面区域时,对分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像。
[0109]
在一些实施例中,终端可通过如下方式基于交点的数量及重力方向,确定当前视频帧图像中的非地面区域:当交点的数量为0或1、且重力方向指示的第三目标点与所述当前视频帧图像位于水平消逝线的同一侧时,确定当前视频帧图像为非地面区域;当交点的数量为2时,将与当前视频帧图像中所述重力方向所指示的第三目标点处于所述水平消逝线同一侧的的部分区域确定为非地面区域。
[0110]
这里,在确定当前视频帧图像的水平消逝线和重力方向后,可获取水平消逝线与当前视频帧图像的交点的数量;当交点的数量为0或1时,根据(u3,v3)判断整个当前视频帧图像地地面区域还是非地面区域,如当交点的数量为0或1、且重力方向指示的第三目标点与当前视频帧图像位于水平消逝线的同一侧时,确定当前视频帧图像为非地面区域;当交点的数量为0或1、且重力方向指示的第三目标点与当前视频帧图像位于水平消逝线的两侧时,确定当前视频帧图像为地面区域。当交点的数量为2时,当前视频帧图像被水平消逝线划分为两部分,根据(u3,v3)区分地面区域部分和非地面区域部分,如当交点的数量为2时,将与当前视频帧图像中重力方向所指示的第三目标点处于同一侧的部分区域确定为非地面区域,将与当前视频帧图像中重力方向所指示的第三目标点处于所述水平消逝线不同侧的的部分区域确定为地面区域。
[0111]
在确定好地面区域和非地面区域后,对上述获取的当前视频帧图像中地面区域对应的分割图像进行非地面区域过滤,当分割图像对应的地面区域中含有非地面区域时,对
分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像;采用上述同样的方式,即可得到历史视频帧图像中地面区域对应的第二掩膜图像,其中,历史视频帧图像的数量可为n个(n值可根据视频采集设备的计算性能确定,如取1-10中任意一个)。
[0112]
通过上述方式,先根据imu对所采集的视频帧图像进行重力校正,再对校正后的视频帧图像进行地面区域分割,能够解决用户大角度旋转视频采集设备(如大角度旋转手机甚至倒拿手机)时导致的分割效果差的问题,提高了鲁棒性。同时,将当前视频帧图像中地面区域对应的分割图像中的非地面区域的误检过滤到,提高了地面区域分割的精准度。
[0113]
步骤102:将第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像。
[0114]
参见图5,图5为本技术实施例提供的地面区域的特效展示方法的流程示意图,在一些实施例中,图5示出图3中的步骤102可通过1021-步骤1022实现:
[0115]
步骤1021:获取历史视频帧图像与当前视频帧图像之间的光流场;
[0116]
步骤1022:基于光流场,将第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像。
[0117]
在实际应用中,光流场包括稀疏光流场、稠密光流场,在一些实施例中,当光流场为稀疏光流场时,基于光流场,得到历史视频帧图像与当前视频帧图像之间的变换矩阵;基于变换矩阵,将第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像。
[0118]
在一些实施例中,当光流场为稠密光流场时,基于光流场,得到历史视频帧图像与当前视频帧图像之间的位置映射关系,基于位置映射关系,将第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像。
[0119]
这里,在计算历史视频帧图像与当前视频帧图像之间的稠密光流场时,计算方法包括但不限于:farneback、dis-flow和lucas

kanade等,根据稠密光流场将n张历史帧视频帧图像的第二掩膜图像投影到当前视频帧图像中,得到n张历史视频帧图像对应的投影掩膜图像,由于稠密光流场的结果记录了当前视频帧图像中每个像素点在历史帧视频帧图像中的位置,从而直接将历史视频帧图像中对应位置的掩膜值转换过来,相当于对每个像素点单独根据光流的结果进行投影,由于通过稠密光流场可以进行像素级别的图像配准,所以其配准精度比较高。
[0120]
步骤103:将第一掩膜图像与投影掩膜图像进行图像融合,得到当前视频帧图像中地面区域对应的目标掩膜图像。
[0121]
在一些实施例中,终端可通过如下方式将第一掩膜图像与所述投影掩膜图像进行图像融合,得到当前视频帧图像中地面区域对应的目标掩膜图像:
[0122]
分别获取第一掩膜图像与投影掩膜图像对应的权重;基于获取的权重,对第一掩膜图像与投影掩膜图像进行加权处理,得到当前视频帧图像中地面区域对应的目标掩膜图像。其中,加权处理方式包括但不限于:平均加权、学习率衰减加权等。
[0123]
通过上述方式,由于当前视频帧图像中地面区域对应的目标掩膜图像融合了当前视频帧图像及历史帧图像中地面区域对应的掩膜图像,通过融合多帧的分割结果,减轻了目标掩膜图像的跳动,进而提高了地面区域分割的帧间一致性。
[0124]
需要说明的是,由于当前视频帧图像中地面区域对应的目标掩膜图像融合了当前视频帧图像及历史帧图像中地面区域对应的掩膜图像,若当前视频帧图像为首帧图像,则当前视频帧图像中地面区域对应的目标掩膜图像为当前视频帧图像中地面区域对应的第一掩膜图像(未融合)。采用上述方方法,也可以得到除第一帧视频帧图像之外的其他各个历史视频帧图像对应的目标掩膜图像。
[0125]
步骤104:对所采集的视频帧图像中的地面区域进行跟踪处理,以确定地面区域在所采集视频中的移动轨迹。
[0126]
在实际实施时,在对所采集的视频帧图像中地面区域进行跟踪处理时,可通过如下方式来实现:对所采集的视频帧图像中地面区域对应的目标掩膜图像进行特征点提取,并基于提取的特征点进行地面区域跟踪,以确定地面区域在所采集视频中的移动轨迹。其中,当对从历史视频帧图像对应的目标掩膜图像提取的特征点进行地面区域跟踪时,确定的是该特征点在历史视频帧图像与当前视频帧图像之间的帧间移动轨迹;当对从当前视频帧图像对应的目标掩膜图像提取的特征点进行地面区域跟踪时,确定的是该特征点在当前视频帧图像与未来后一帧视频帧图像之间的帧间移动轨迹。
[0127]
例如,若当前视频帧图像为第2帧,对第1帧视频帧图像(即历史视频帧图像)进行地面区域对应的目标掩膜图像进行特征点提取,对提取的特征点进行地面区域跟踪,确定的是该特征点在第1帧视频帧图像与第2帧视频帧图像之间的帧间移动轨迹;对第2帧视频帧图像(即当前视频帧图像)进行地面区域对应的目标掩膜图像进行特征点提取,对提取的特征点进行地面区域跟踪,确定的是该特征点在第2帧视频帧图像与第3帧视频帧图像(即未来视频帧图像)之间的帧间移动轨迹。
[0128]
参见图6,图6为本技术实施例提供的地面区域的特效展示方法的流程示意图,在一些实施例中,图6示出图3中的步骤104可通过1041-步骤1043实现:
[0129]
步骤1041:获取视频采集设备采集视频帧图像时的姿态旋转矩阵,并基于姿态旋转矩阵确定地面区域在所采集视频中相对重力方向的姿态旋转角度;
[0130]
这里,地面区域在所采集视频中相对重力方向的姿态旋转角度基于视频采集设备(如相机)姿态旋转矩阵r来确定。
[0131]
步骤1042:确定地面区域在所采集视频中相对水平方向的位置平移量;
[0132]
在一些实施例中,终端可通过如下方式确定地面区域在所采集视频中相对水平方向的位置平移量:
[0133]
对历史视频帧图像对应的目标掩膜图像进行特征点提取,得到历史视频帧图像对应的第一图像特征点,并基于第一图像特征点进行特征点跟踪,得到当前视频帧图像对应的目标掩膜图像中与第一图像特征点相匹配的第二图像特征点;对第一图像特征点进行映射处理,得到第一图像特征点对应的第一相机特征点,并基于第一相机特征点及所述第二图像特征点,构造特征点匹配对(3d-2d匹配对);基于特征点匹配对,确定地面区域在所采集视频中相对水平方向的位置平移量。
[0134]
在一些实施例中,可通过如下方式基于特征点匹配对,确定地面区域在所采集视频中相对水平方向的位置平移量:获取所述特征点匹配对对应的视频采集设备的姿态旋转矩阵、以及视频采集设备的内参矩阵;基于特征点匹配对、姿态旋转矩阵及所述内参矩阵,进行地面区域的平移估计,得到地面区域在所采集视频中相对水平方向的位置平移量。
[0135]
在实际实施时,可采用pnp(perspective-n-point)算法对3d-2d匹配对,计算旋转和平移,pnp算法求解如下等式:su=k(rp t),其中,p为3d的相机坐标系下的特征点,u为p在图像上的投影,k为相机内参矩阵,pnp已知多对3d-2d匹配对{pi,ui}
i=1,2,...,n
来求解旋转r和平移t。
[0136]
通常情况下,pnp至少需要3组匹配对才能求解出r,t,但如果视频采集设备的姿态旋转矩阵r已知(例如通过陀螺仪积分获得),则只需要两个点就可以求解出平移向量,所以叫二点法。由于r,p已知,我们令p

=rp,将k乘到等式左边,令u

=k-1
u,则等式(3)可以简化为su

=p

t,即:
[0137][0138]
将第三行s=p
′z tz替代前两行可得:
[0139][0140][0141]
可见,共有t
x
,ty,tz三个未知数,每组3d-2d匹配对只能得到两个约束方程,所以只是需要两组3d-2d匹配对才能求解出t,因此,将步骤c)得到的第一特征点匹配对和第二特征点匹配对带入上式,即可得到地面区域在所采集视频中相对水平方向的位置平移量。
[0142]
在构造两组特征点匹配对时,可先对历史视频帧图像对应的目标掩膜图像进行特征点提取,得到历史视频帧图像对应的第一图像特征点,并基于第一图像特征点进行特征点跟踪,得到当前视频帧图像对应的目标掩膜图像中与第一图像特征点相匹配的第二图像特征点;对第一图像特征点进行映射处理,得到第一图像特征点对应的第一相机特征点,基于第一相机特征点及第二图像特征点,构造第一特征点匹配对。
[0143]
然后对第二图像特征点进行映射处理,得到第二图像特征点对应的第二相机特征点;并对第二图像特征点进行跟踪,得到未来视频帧图像中对应的目标掩膜视图与第二图像特征点相匹配的第三图像特征点,基于第二相机特征点及第三图像特征点,构造第二特征点匹配对;基于第一特征点匹配对及第二特征点匹配对,确定地面区域在所采集视频中相对水平方向的位置平移量。
[0144]
其中,历史视频帧图像为当前视频帧图像相邻的前一帧帧图像,未来视频帧图像为当前视频帧图像相邻的后一帧帧图像,如当前视频帧图像为第3帧图像,则历史视频帧图像为第2帧图像,未来视频帧图像为第4帧图像。
[0145]
例如,对第t0帧的视频帧图像对应的目标掩膜视图进行特征点提取,得到第一图像特征点为对第一图像特征点进行映射处理,得到第一图像特征点在相机坐标系中对应的第一相机特征点为并对第一图像特征点进行跟踪,得到第t0帧对应的第一图像特征点在t1帧的视频帧图像中对应的目标掩膜视图的第二图像特征点(即跟踪特征点)为:基于第一相机特征点(3d)及第二图像特征点(2d),构造第一特征点匹配对(3d-2d匹配对)。
[0146]
然后对第二图像特征点进行映射处理,得到第二图像特征点在相机坐标系中对应的第二相机特征点为并对第二图像特征点进行跟踪,得到第t1帧对应的第二图像特征点在t2帧的视频帧图像中对应的目标掩膜视图的第三图像特征点(即跟踪特征点)为:基于第二相机特征点(3d)及第三图像特征点(2d),构造第二特征点匹配对(3d-2d匹配对)。
[0147]
在一些实施例中,终端可通过如下方式基于第一特征点匹配对及第二特征点匹配对,确定地面区域在所采集视频中相对水平方向的位置平移量:
[0148]
获取第一特征点匹配对对应的视频采集设备的第一姿态旋转矩阵、第二特征点匹配对对应的视频采集设备的第二姿态旋转矩阵、以及视频采集设备的内参矩阵;基于第一特征点匹配对、第二特征点匹配对、内参矩阵、第一姿态旋转矩阵及第二姿态旋转矩阵,进行地面区域的平移估计,得到地面区域在所采集视频中相对水平方向的位置平移量。
[0149]
这里,基于构建的第一特征点匹配对、第二特征点匹配对、视频采集设备的内参矩阵、视频采集设备对应视频帧图像的姿态旋转矩阵,利用p2p算法进行求解,根据求解结果得到地面区域在所采集视频中相对水平方向的位置平移量。
[0150]
步骤1043:基于姿态旋转角度及位置平移量,确定地面区域在所采集视频中的移动轨迹。
[0151]
通过上述方式,分别确定地面区域在所采集视频中相对重力方向的姿态旋转角度,以及所采集视频中相对水平方向的位置平移量后,结合两者即可确定地面区域在所采集视频中的移动轨迹,由于该方法将姿态旋转角度估计和位置平移量估计进行解耦,使用imu估计姿态旋转角度,使用视频帧图像估计位置平移量,并提出了3自由度位置平移估计方法,位置平移估计的精度和速度相比传统的跟踪算法有明显的提升。
[0152]
步骤105:在所采集的视频中地面区域按照移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
[0153]
这里,在视频中地面区域按照移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示,如用户移动视频采集设备时,特效元素会随着地面区域一起移动,给用户的感觉类似于特效元素钉在地面上,用户可通过拉远、拉近、或旋转视频采集设备等方式,实现从不同角度观看特效效果。
[0154]
接下来继续对本技术实施例提供的地面区域的特效展示方法进行说明,参见图7,图7为本技术实施例提供的地面区域的特效展示方法的流程示意图,该方法包括:
[0155]
步骤201:终端采集包含地面区域的视频,并在采集视频的过程中,将视频中的地面区域采用相应的特效元素进行展示;
[0156]
其中,特效元素为对采集的视频帧图像中地面区域对应的目标掩膜图像替换得到;目标掩膜图像,为将当前视频帧图像中地面区域对应的第一掩膜图像,与历史视频帧图像中地面区域对应的第二掩膜图像投影到当前视频帧图像中得到的投影掩膜图像进行图像融合得到。
[0157]
需要说明的,步骤201中将视频中的地面区域采用相应的特效元素进行展示,可通过步骤101-步骤105所示的方法来实现,在此不再赘述。
[0158]
参见图8a,图8a为本技术实施例提供的地面区域的特效展示界面示意图,在采集
视频的过程中,所采集的视频中存在地面区域801时,将视频中的地面区域801采用相应的特效元素802进行展示。
[0159]
步骤202:伴随视频的采集姿态的变化,同步调整所展示视频中特效元素的姿态。
[0160]
这里,在用户移动视频采集设备时,伴随视频的采集姿态的变化,所采集的视频帧图像中的地面区域随着进行变化,相应的,特效元素会随着地面区域一起移动,给用户的感觉类似于特效元素钉在地面上。
[0161]
参见图8b,图8b为本技术实施例提供的特效元素的展示界面示意图,“斜线条纹”指示地面区域,“箭头”指示特效元素,用户移动视频采集设备时,特效元素会随着地面区域一起移动,给用户的感觉类似于特效元素钉在地面上,用户可通过拉远、拉近、或旋转视频采集设备等方式,实现从不同角度观看特效效果。
[0162]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。本技术实施例提供的地面区域的特效展示方法应用于用户拍摄视频场景中,在用户通过视频采集设备(如相机、手机摄像头等)拍摄视频的过程中,当所拍摄视频画面中存在地面区域时,则会将地面区域替换成特效元素(如虚拟火山岩浆、虚拟鲜花等)进行展示,当用户移动视频采集设备时,特效元素会随着地面区域一起移动,给用户的感觉类似于特效元素钉在地面上,用户可通过拉远、拉近、或旋转视频采集设备等方式,实现从不同角度观看特效效果。
[0163]
本技术实施例提供的地面区域的特效展示方法主要涉及:地面区域分割和地面区域跟踪,接下来将逐一进行说明。
[0164]
1、地面区域分割
[0165]
终端在采集视频的过程中,对采集的当前视频帧图像进行地面区域分割,得到当前视频帧图像中地面区域对应的第一掩膜图像,同样地,对采集的历史视频帧图像进行地面区域分割,得到历史视频帧图像中地面区域对应的第二掩膜图像,接下来以对当前视频帧图像进行地面区域分割为例,对本技术实施例提供的地面区域分割方法进行说明。
[0166]
a)对当前视频帧图像的旋转角度进行重力校正,得到当前视频帧图像对应的校正图像。
[0167]
在实际实施时,根据imu计算当前视频帧图像的重力方向,通过重力传感器获取视频采集设备采集当前视频帧图像时的姿态旋转矩阵r=[r0,r1,r2;r3,r4,r5;r6,r7,r8];基于姿态旋转矩阵,确定相应的重力方向的旋转角度为θ=arctan(r8/r5);根据旋转角度将当前视频帧图像进行重力方向旋转,即将当前视频帧图像旋转θ角度,得到当前视频帧图像对应的校正图像。
[0168]
b)对校正图像进行地面区域检测,并对检测出的地面区域进行分割处理,得到当前视频帧图像中地面区域对应的分割图像。
[0169]
在实际实施时,可将进行重力校正后的校正图像输入至地面区域分割模型中,得到当前视频帧图像中地面区域对应的分割图像,其中,地面区域分割模型包括但不限于:传统分割算法(如图割(graphcut),条件随机场,马尔科夫随机场等)、深度网络分割模型(如mask r-cnn(region-convolutional neur al networks)、编码-解码架构的分割模型等)。
[0170]
c)根据imu计算当前视频帧图像中的非地面区域。
[0171]
在实际实施时,首先计算当前视频帧图像的水平消逝线和重力方向,并基于当前视频帧图像的水平消逝线和重力方向确定当前视频帧图像中的非地面区域。
[0172]
在计算当前视频帧图像的水平消逝线和重力方向时,首先获取视频采集设备采集当前视频帧图像时的姿态旋转矩阵r=[r0,r1,r2;r3,r4,r5;r6,r7,r8],并基于姿态旋转矩阵,获取与视频采集设备处于同一水平面的第一参考点(p1=[r2,r5,0])和第二参考点(p2=[r2 r5,r5-r2,0]),以及位于视频采集设备的垂直平面的第三参考点(p3=[r2,r5,-1]),其中,z轴方向定义为重力方向朝下;然后分别将第一参考点(p1)、第二参考点(p2)和第三参考点(p3)按照如下公式(1)投影到当前视频帧图像中,得到第一参考点(p1)对应的第一目标点(u1,v1)、第二参考点(p2)对应的第二目标点(u2,v2),及第三参考点(p3)对应的第三目标点(u3,v3);最后将第一目标点(u1,v1)与第二目标点(u2,v2)之间的连线确定为当前视频帧图像的水平消逝线;将从第三目标点(u3,v3)出发且垂直于水平消逝线的射线所指示的方向确定为当前视频帧图像的重力方向。
[0173][0174]
其中,r为相机的姿态旋转矩阵,[xc,yc,zc]
t
为相机坐标系中的空间点,设点p图像坐标为p(x,y),像素坐标为(u,v),像素坐标原点在左上角,u轴水平向左,v轴竖直向下,图像坐标原点在图像中心点,图像坐标与像素坐标之间有一个平移(c
x
,cy),f
x
和fy分别为在u轴和v轴上的归一化焦距。
[0175]
在确定当前视频帧图像的水平消逝线和重力方向后,可获取水平消逝线与当前视频帧图像的交点的数量;当交点的数量为0或1时,根据(u3,v3)判断整个当前视频帧图像地地面区域还是非地面区域,如当交点的数量为0或1、且重力方向指示的第三目标点与当前视频帧图像位于水平消逝线的同一侧时,确定当前视频帧图像为非地面区域;当交点的数量为0或1、且重力方向指示的第三目标点与当前视频帧图像位于水平消逝线的两侧时,确定当前视频帧图像为地面区域。当交点的数量为2时,当前视频帧图像被水平消逝线划分为两部分,根据(u3,v3)区分地面区域部分和非地面区域部分,如将与当前视频帧图像中重力方向所指示的第三目标点处于水平消逝线的同一侧的部分区域确定为非地面区域,将与当前视频帧图像中重力方向所指示的第三目标点处于水平消逝线的不同侧的的部分区域确定为地面区域。
[0176]
参见图9a-9b,图9a-9b为本技术实施例提供的确定非地面区域的示意图,图9a中,水平消逝线901将当前视频帧图像分为第一区域902和第二区域903两部分,将与当前视频帧图像中重力方向所指示的第三目标点904位于水平消逝线901的同一侧的第一区域902确定为非地面区域,将与第三目标点904位于不同侧的第二区域903确定为地面区域;图9b中,水平消逝线905将当前视频帧图像分为第一区域906和第二区域907两部分,将与当前视频帧图像中重力方向所指示的第三目标点908位于同一侧的第一区域907确定为非地面区域,将与第三目标点908位于水平消逝线905的不同侧的第二区域906确定为地面区域。
[0177]
d)对于b)获取的当前视频帧图像中地面区域对应的分割图像,进行非地面区域过滤,当分割图像对应的地面区域中含有非地面区域时,对分割图像进行非地面区域过滤,得到当前视频帧图像中地面区域对应的第一掩膜图像。
[0178]
通过上述步骤a)-d),即可得到历史视频帧图像中地面区域对应的第二掩膜图像,其中,历史视频帧图像的数量可为n个(n值可根据视频采集设备的计算性能确定,如取1-10中任意一个)。
[0179]
通过上述步骤a)-步骤d),先根据imu对所采集的视频帧图像进行重力校正,再对校正后的视频帧图像进行地面区域分割,能够解决用户大角度旋转视频采集设备(如大角度旋转手机甚至倒拿手机)时导致的分割效果差的问题,提高了鲁棒性。同时,将当前视频帧图像中地面区域对应的分割图像中的非地面区域的误检过滤到,提高了地面区域分割的精准度。
[0180]
e)将历史视频帧图像中地面区域对应的第二掩膜图像与当前视频帧图像中地面区域对应的第一掩膜图像进行图像融合,得到当前视频帧图像中地面区域对应的目标掩膜图像。
[0181]
在实际实施时,得到历史视频帧图像中地面区域对应的第二掩膜图像后,可计算历史视频帧图像与当前视频帧图像之间的光流场(如稀疏光流场、稠密光流场),在一些实施例中,当光流场为稀疏光流场时,基于光流场,得到历史视频帧图像与当前视频帧图像之间的变换矩;基于变换矩阵,将历史视频帧图像中地面区域对应的第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像。
[0182]
在一些实施例中,当光流场为稠密光流场时,基于光流场,得到历史视频帧图像与当前视频帧图像之间的位置映射关系,基于位置映射关系,将第二掩膜图像投影到当前视频帧图像中,得到历史视频帧图像对应的投影掩膜图像。
[0183]
其中,在计算历史视频帧图像与当前视频帧图像之间的稠密光流场时,计算方法包括但不限于:farneback、dis-flow和lucas

kanade等,根据稠密光流将n张历史帧视频帧图像的第二掩膜图像投影到当前视频帧图像中,得到n张历史视频帧图像对应的投影掩膜图像,由于稠密光流的结果记录了当前视频帧图像中每个像素点在历史帧视频帧图像中的位置,从而直接将历史视频帧图像中对应位置的掩膜值转换过来,相当于对每个像素点单独根据光流的结果进行投影,由于通过稠密光流场可以进行像素级别的图像配准,因此配准精度比较高。
[0184]
在得到历史视频帧图像对应的投影掩膜图像后,分别获取当前视频帧图像中地面区域对应的第一掩膜图像与投影掩膜图像对应的权重;基于获取的权重,对第一掩膜图像与投影掩膜图像进行加权处理,得到当前视频帧图像中地面区域对应的目标掩膜图像,其中,加权处理方式包括但不限于:平均加权、学习率衰减加权等。
[0185]
通过上述方式,由于当前视频帧图像中地面区域对应的目标掩膜图像融合了当前视频帧图像及多帧历史帧图像中地面区域对应的掩膜图像,通过融合多帧的分割结果,减轻了目标掩膜图像的跳动,进而提高了地面区域分割的帧间一致性。在得到当前视频帧图像中地面区域对应的目标掩膜图像之后,即可将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
[0186]
2、地面区域跟踪
[0187]
这里,根据相邻帧的视频帧图像以及采集相应视频帧图像时视频采集设备的姿态旋转矩阵,估计视频采集设备(相机)相对于地面的6自由度运动(3自由度姿态 3自由度位置),进而确定地面区域在所采集的视频中的移动轨迹,在视频中地面区域按照移动轨迹移
动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
[0188]
其中,地面区域在所采集视频中相对重力方向的姿态旋转角度可基于相机姿态旋转矩阵r来确定,地面区域在所采集视频中相对水平方向的位置平移量,将通过如下步骤来实施:
[0189]
a)通过步骤1可得到每一帧视频帧图像中地面区域对应的目标掩膜图像,对历史(上一帧)视频帧图像的目标掩膜图像进行特征点提取,得到上一帧视频帧图像的目标掩膜图像的第一图像特征点;其中,特征点提取算法包括但不限于:harris、fast(features from accelerated segment test)、good feature to track等。
[0190]
b)对该第一图像特征点进行特征点跟踪,得到第一图像特征点在当前视频帧图像中对应的第二图像特征点,其中,跟踪算法包括但不限于:lucas

kan ade光流跟踪,尺度不变特征变换(sift,scale-invariant feature transform)、s urf(speeded-up robust features)、orb(oriented fast and rotated brief)特征匹配等。
[0191]
c)假设视频采集设备(相机)的初始位置默认为(0,0,h),其中,h为视频采集设备初始对地高度,可取1或其他任意值,假设采集上一帧视频帧图像时,视频采集设备的位置为(tx,ty,tz),通过如下公式(2)恢复特征点的三维坐标:
[0192][0193]
其中,u、v为特征点的图像坐标,k为视频采集设备的内参矩阵,r为采集视频帧图像时,视频采集设备的姿态旋转矩阵,s为未知尺度因子,(px,py,pz)为待求特征点的三维坐标。
[0194]
例如,对第t0帧的视频帧图像对应的目标掩膜视图进行特征点提取,得到第一图像特征点为对第一图像特征点进行映射处理,得到第一图像特征点在相机坐标系中对应的第一相机特征点为并对第一图像特征点进行跟踪,得到第t0帧对应的第一图像特征点在t1帧的视频帧图像中对应的目标掩膜视图的第二图像特征点(即跟踪特征点)为:基于第一相机特征点(3d)及第二图像特征点(2d),构造第一特征点匹配对(3d-2d匹配对)。
[0195]
然后对第二图像特征点进行映射处理,得到第二图像特征点在相机坐标系中对应的第二相机特征点为并对第二图像特征点进行跟踪,得到第t1帧对应的第二图像特征点在t2帧的视频帧图像中对应的目标掩膜视图的第三图像特征点(即跟踪特征点)为:基于第二相机特征点(3d)及第三图像特征点(2d),构造第二特征点匹配对(3d-2d匹配对)。
[0196]
基于构建的第一特征点匹配对、第二特征点匹配对、视频采集设备的内参矩阵、视频采集设备对应视频帧图像的姿态旋转矩阵,利用pnp(perspective-n-point)算法进行求
解,根据求解结果得到地面区域在所采集视频中相对水平方向的位置平移量。其中,pnp算法包括但不限于epnp、直接线性转换(dlt,direct linear transformation)算法、单应性矩阵分解法(homography)等。由于这里只对地面区域的位置平移进行估计,因此采用p2p算法进行计算,接下来对p2p算法进行说明。
[0197]
p2p算法属于pnp算法的其中一种,pnp算法根据3d-2d匹配计算旋转和平移的一类算法,它是求解如下等式(3):
[0198]
su=k(rp t)
ꢀꢀꢀ
(3)
[0199]
其中,p为3d的相机特征点,u为p在图像上的投影,k为相机内参矩阵,pnp已知多对3d-2d匹配对{pi,ui}
i=1,2,...,n
来求解旋转r和平移t。
[0200]
通常情况下,pnp至少需要3组匹配对才能求解出r,t,但如果r已知(例如通过陀螺仪积分获得),则只需要两个点就可以求解出平移向量,所以叫二点法。由于r,p已知,我们令p

=rp,将k乘到等式左边,令u

=k-1
u,则等式(3)可以简化为su

=p

t,即:
[0201][0202]
将第三行s=p
′z tz替代前两行可得:
[0203][0204]
共有t
x
,ty,tz三个未知数,每组3d-2d匹配对只能得到两个约束方程,所以只是需要两组3d-2d匹配对才能求解出t,因此,将步骤c)得到的第一特征点匹配对和第二特征点匹配带入上式,即可得到地面区域在所采集视频中相对水平方向的位置平移量。
[0205]
通过上述方式,分别确定地面区域在所采集视频中相对重力方向的姿态旋转角度,以及所采集视频中相对水平方向的位置平移量后,结合两者即可确定地面区域在所采集视频中的移动轨迹,由于该方法将姿态旋转角度估计和位置平移量估计进行解耦,使用imu估计姿态旋转角度,使用视频帧图像估计位置平移量,并提出了3自由度位置平移估计方法,位置平移估计的精度和速度相比传统的跟踪算法有明显的提升。
[0206]
参见图10-图11,图10为本技术实施例提供的移动轨迹评估耗时性能比较示意图,图11为本技术实施例提供的移动轨迹评估精度比较示意图,从中可知,本技术实施例提供的3自由度pnp算法相比常规的6自由度pnp(如homogra phy和ground truth)耗时缩小了10倍,精度也提高了10倍。
[0207]
下面继续说明本技术实施例提供的地面区域的特效展示装置555的实施为软件模块的示例性结构,在一些实施例中,如图12所示,图12为本技术实施例提供的地面区域的特效展示装置的结构示意图,存储在存储器550的地面区域的特效展示装置555包括:
[0208]
获取模块5551,用于在采集视频的过程中,获取当前视频帧图像中地面区域对应的第一掩膜图像、以及历史视频帧图像中地面区域对应的第二掩膜图像;
[0209]
投影模块5552,用于将所述第二掩膜图像投影到所述当前视频帧图像中,得到所述历史视频帧图像对应的投影掩膜图像;
[0210]
融合模块5553,用于将所述第一掩膜图像与所述投影掩膜图像进行图像融合,得
到所述当前视频帧图像中地面区域对应的目标掩膜图像;
[0211]
跟踪模块5554,用于对所采集的视频帧图像中的地面区域进行跟踪处理,以确定所述地面区域在所采集视频中的移动轨迹;
[0212]
替换模块5555,用于在所采集的视频中地面区域按照所述移动轨迹移动的过程中,将所采集的视频帧图像中地面区域对应的目标掩膜图像替换为特效元素进行展示。
[0213]
在一些实施例中,所述获取模块,还用于对当前视频帧图像的旋转角度进行重力校正,得到所述当前视频帧图像对应的校正图像;
[0214]
对所述校正图像进行地面区域检测,并对检测出的地面区域进行分割处理,得到所述当前视频帧图像中地面区域对应的分割图像;
[0215]
对所述分割图像进行非地面区域过滤,得到所述当前视频帧图像中地面区域对应的第一掩膜图像。
[0216]
在一些实施例中,所述获取模块,还用于获取视频采集设备采集所述当前视频帧图像时的姿态旋转矩阵;
[0217]
基于所述姿态旋转矩阵,确定相应的重力方向的旋转角度;
[0218]
根据所述旋转角度将所述当前视频帧图像进行重力方向旋转,得到所述当前视频帧图像对应的校正图像。
[0219]
在一些实施例中,所述获取模块,还用于获取视频采集设备采集所述当前视频帧图像时的姿态旋转矩阵,并基于所述姿态旋转矩阵,获取与所述视频采集设备处于同一水平面的第一参考点和第二参考点,以及位于所述视频采集设备的垂直平面的第三参考点;
[0220]
基于所述第一参考点和所述第二参考点,确定所述当前视频帧图像的水平消逝线,并基于所述第三参考点,确定所述当前视频帧图像的重力方向;
[0221]
基于所述水平消逝线及所述重力方向,对所述分割图像进行非地面区域过滤,得到所述当前视频帧图像中地面区域对应的第一掩膜图像。
[0222]
在一些实施例中,所述获取模块,还用于分别将所述第一参考点、所述第二参考点和所述第三参考点投影到所述当前视频帧图像中,得到所述第一参考点对应的第一目标点、所述第二参考点对应的第二目标点,及所述第三参考点对应的第三目标点;
[0223]
将所述第一目标点与所述第二目标点之间的连线,确定为所述当前视频帧图像的水平消逝线;
[0224]
将从所述第三目标点出发且垂直于所述水平消逝线的射线所指示的方向,确定为所述当前视频帧图像的重力方向。
[0225]
在一些实施例中,所述获取模块,还用于获取所述水平消逝线与所述当前视频帧图像的交点的数量;
[0226]
基于所述交点的数量及所述重力方向,确定所述当前视频帧图像中的非地面区域;
[0227]
当所述分割图像对应的地面区域中含有所述非地面区域时,对所述分割图像进行非地面区域过滤,得到所述当前视频帧图像中地面区域对应的第一掩膜图像。
[0228]
在一些实施例中,所述获取模块,还用于当所述交点的数量为0或1、且所述重力方向指示的第三目标点与所述当前视频帧图像位于所述水平消逝线的同一侧时,确定所述当前视频帧图像为非地面区域;
[0229]
当所述交点的数量为2时,将与所述当前视频帧图像中所述重力方向所指示的第三目标点处于所述水平消逝线同一侧的部分区域确定为非地面区域。
[0230]
在一些实施例中,所述投影模块,还用于获取所述历史视频帧图像与所述当前视频帧图像之间的光流场;
[0231]
基于所述光流场,将所述第二掩膜图像投影到所述当前视频帧图像中,得到所述历史视频帧图像对应的投影掩膜图像。
[0232]
在一些实施例中,所述融合模块,还用于分别获取所述第一掩膜图像与所述投影掩膜图像对应的权重;
[0233]
基于获取的权重,对所述第一掩膜图像与所述投影掩膜图像进行加权处理,得到所述当前视频帧图像中地面区域对应的目标掩膜图像。
[0234]
在一些实施例中,所述跟踪模块,还用于获取视频采集设备采集所述当前视频帧图像时的姿态旋转矩阵,并基于所述姿态旋转矩阵确定所述地面区域在所采集视频中相对重力方向的姿态旋转角度;
[0235]
确定所述地面区域在所采集视频中相对水平方向的位置平移量;
[0236]
基于所述姿态旋转角度及所述位置平移量,确定所述地面区域在所采集视频中的移动轨迹。
[0237]
在一些实施例中,所述跟踪模块,还用于对所述历史视频帧图像对应的目标掩膜图像进行特征点提取,得到所述历史视频帧图像对应的第一图像特征点,并基于所述第一图像特征点进行特征点跟踪,得到所述当前视频帧图像对应的目标掩膜图像中与所述第一图像特征点相匹配的第二图像特征点;
[0238]
对所述第一图像特征点进行映射处理,得到所述第一图像特征点对应的第一相机特征点,并基于所述第一相机特征点及所述第二图像特征点,构造特征点匹配对;
[0239]
基于所述特征点匹配对,确定所述地面区域在所采集视频中相对水平方向的位置平移量。
[0240]
在一些实施例中,所述跟踪模块,还用于获取所述特征点匹配对对应的视频采集设备的姿态旋转矩阵、以及所述视频采集设备的内参矩阵;
[0241]
基于所述特征点匹配对、所述姿态旋转矩阵及所述内参矩阵,进行地面区域的平移估计,得到所述地面区域在所采集视频中相对水平方向的位置平移量。
[0242]
参见图13,图13为本技术实施例提供的地面区域的特效展示装置13的结构示意图,包括:
[0243]
展示模块131,用于采集包含地面区域的视频,并在采集所述视频的过程中,对所述视频中的地面区域采用相应的特效元素进行展示;
[0244]
其中,所述特效元素,为对采集的视频帧图像中地面区域对应的目标掩膜图像替换得到;所述目标掩膜图像,为将当前视频帧图像中地面区域对应的第一掩膜图像,与历史视频帧图像中地面区域对应的第二掩膜图像投影到所述当前视频帧图像中得到的投影掩膜图像进行图像融合得到;
[0245]
调整模块132,用于伴随所述视频的采集姿态的变化,同步调整所展示视频中所述特效元素的姿态。
[0246]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计
算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的地面区域的特效展示方法。
[0247]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的地面区域的特效展示方法。
[0248]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、ep rom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0249]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0250]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(h tml,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0251]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0252]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献