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.通过将欲嵌入图像的顶点映射为所述能够嵌入图像的物体的关键点,确定欲嵌入图像到所述能够嵌入图像的物体的映射关系;
37.根据所述能够嵌入图像的物体的分割掩码,利用所述映射关系,通过映射将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置。
38.在一些实施例中,按照曲面物体的嵌入方式,将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置包括:
39.根据所述能够嵌入图像的物体的分割掩码和关键点坐标,确定所述能够嵌入图像的物体的符合预设稀疏条件的边界点集;
40.利用所述边界点集中的边界点,将所述能够嵌入图像的物体划分为多个三角形;
41.针对每个三角形,通过将欲嵌入图像中相应三角区域的顶点映射为所述能够嵌入图像的物体中相应三角形的顶点,确定所述欲嵌入图像中相应三角区域到所述能够嵌入图像的物体中相应三角形的映射关系,利用所述映射关系,通过映射将所述欲嵌入图像中相应三角区域嵌入到视频帧图像中所述能够嵌入图像的物体中相应三角形所在的位置。
42.在一些实施例中,根据所述能够嵌入图像的物体的分割掩码和关键点坐标,确定所述能够嵌入图像的物体的符合预设稀疏条件的边界点集包括:
43.根据所述能够嵌入图像的物体的分割掩码,确定所述能够嵌入图像的物体的符合预设稀疏条件的轮廓点集;
44.将所述轮廓点集中的距离所述能够嵌入图像的物体的关键点最近的轮廓点替换为所述能够嵌入图像的物体的关键点,得到边界点集。
45.在一些实施例中,还包括:
46.根据一段视频的相邻视频帧图像中的能够嵌入图像的物体的关键点坐标,在前一视频帧图像中找到能够嵌入图像的第一物体,其距离后一视频帧图像中的能够嵌入图像的第二物体最近;
47.如果第一物体与第二物体之间的距离小于预设距离阈值,判定第一物体与第二物体是同一物体;
48.将同一欲嵌入图像嵌入到前一视频帧图像中的第一物体所在的位置和后一视频帧图像中的第二物体所在的位置。
49.在一些实施例中,还包括:
50.针对一段视频的相邻视频帧图像中的能够嵌入图像的同一物体,根据前一视频帧图像中所述同一物体稳定后的关键点坐标、后一视频帧图像中所述同一物体的关键点坐标、和预设稳定阈值,确定稳定参考坐标;
51.根据前一视频帧图像中所述同一物体稳定后的关键点坐标和所述稳定参考坐标,确定后一视频帧图像中所述同一物体稳定后的关键点坐标。
52.在一些实施例中,确定稳定参考坐标包括:
53.计算前一视频帧图像中所述同一物体稳定后的关键点坐标与后一视频帧图像中所述同一物体的关键点坐标之间的差值;
54.取该差值和预设稳定阈值中的较小者作为稳定参考坐标。
55.在一些实施例中,确定后一视频帧图像中所述同一物体稳定后的关键点坐标包括:
56.判定前一视频帧图像中所述同一物体稳定后的关键点坐标是否小于后一视频帧图像中所述同一物体的关键点坐标;
57.如果是,将前一视频帧图像中所述同一物体稳定后的关键点坐标加上所述稳定参考坐标作为后一视频帧图像中所述同一物体稳定后的关键点坐标;
58.如果否,将前一视频帧图像中所述同一物体稳定后的关键点坐标减去所述稳定参考坐标作为后一视频帧图像中所述同一物体稳定后的关键点坐标。
59.在一些实施例中,还包括:根据欲嵌入图像所嵌入到的视频帧图像的显示元素,对欲嵌入图像的显示元素进行渲染。
60.在一些实施例中,所述欲嵌入图像包括广告图像。
61.本公开一些实施例提出一种视频中嵌入图像的装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行视频中嵌入图像的方法。
62.本公开一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现视频中嵌入图像的方法的步骤。
附图说明
63.下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开。
64.显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
65.图1a示出本公开一些实施例的视频中嵌入图像的方法的流程示意图。
66.图1b示出了本公开一些实施例的平面物体和曲面物体的关键点示意图。
67.图1c示出了本公开一些实施例的利用深度学习网络进行物体掩码分割和关键点定位的示意图。
68.图1d示出了本公开一些实施例的对视频帧图像的填充示意图。
69.图2a示出本公开另一些实施例的视频中嵌入图像的方法的流程示意图。
70.图2b示出本公开另一些实施例的曲面物体s的边界点集p
r
和相应的欲嵌入图像上的点集p
a
的示意图。
71.图3为本公开一些实施例的视频中嵌入图像的装置的结构示意图。
具体实施方式
72.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
73.除非特别说明,否则,本公开中的“第一”“第二”等描述用来区分不同的对象,并不用来表示大小或时序等含义。
74.图1a示出本公开一些实施例的视频中嵌入图像的方法的流程示意图。
75.如图1a所示,该实施例的视频中嵌入图像的方法包括:步骤110
‑
120。
76.在步骤110,利用深度学习网络,检测一段视频的视频帧图像中能够嵌入图像的物体,并获得所述能够嵌入图像的物体的分割掩码和关键点坐标。
77.所述能够嵌入图像的物体包括平面物体或曲面物体。平面物体例如是墙面、相框等。曲面物体例如是弧形沙发靠背、弧形花坛、电线杆子等。所述能够嵌入图像的物体的关键点坐标包括平面物体的顶点坐标或曲面物体的顶点坐标。图1b示出了平面物体和曲面物体的关键点示意图。
78.图1c示出了利用深度学习网络进行物体掩码分割和关键点定位的示意图。
79.利用深度学习网络中的语义分割分支(也即语义分割网络),检测一段视频的视频帧图像中能够嵌入图像的物体,并获得所述能够嵌入图像的物体的分割掩码。语义分割网络可以参见相关技术实现。通常情况下,语义分割网络是编码器和解码器组成的网络。编码器通常是一个预训练的分类网络,如vgg、resnet。解码器的任务是将编码器学习到的可判别特征(较低分辨率)从语义上投影到像素空间(较高分辨率),以获得密集分类。
80.利用语义分割网络,得到视频帧图像的每个像素点的类别特征图。假设视频帧图像i∈r
h
×
w
×3输入语义分割网络得到每个像素点的类别特征图f
m
∈r
c
×
h
×
w
,其中,h、w、3分别表示视频帧图像的高、宽和rgb三通道,c表示可检测的物体类别数量。根据f
m
得到每个类别物体的掩码m={m1,...,m
n
},表示视频帧图像i中共检测到n个类别的物体,m∈r
n
×
h
×
w
。具体来说,根据类别特征图在每个像素点的特征向量确定每个像素点的类别。特征图f
m
在像素点(i,j)的特征向量k=1,...,c,则该像素点(i,j)的类别l
i,j
为:由此对于视频帧图像i上的每个像素点得到其类别l∈r
h
×
w
。相同类别的所有像素点组成一个物体,从中确定能够嵌入图像的物体,如平面物体或曲面物体;在所述能够嵌入图像的物体的分割掩码中,组成所述能够嵌入图像的物体的相同类别的所有像素点对应预设的第一掩码值,其他像素值对应预设的第二掩码值。可检测的物体类别数量c是一个比较大的数字,即网络可以检测到很多类别的物体,但是一张图像中出现的物体类别个数n往往比较小,即n<c。也就是说,对于一张视频帧图像来说,在l中一共会出现n个数字,相同数字的像素点组成一个物体。对于第n个物体,假设其所有像素点所属的类别为l
n
,则第n个物体的掩码m
n
为:
81.利用深度学习网络中的关键点回归预测分支(也即关键点回归预测网络),获得所述能够嵌入图像的物体的关键点坐标。关键点回归预测分支由若干卷积神经网络(convolutional neural networks,cnn)模块组成。
82.在一些实施例中,将视频帧图像输入关键点回归预测网络,获得视频帧图像中能够嵌入图像的各个物体的各个关键点坐标的热点图(heatmap)和能够嵌入图像的同一物体的各个关键点的连接图(pafmap)。根据热点图和连接图获得每个能够嵌入图像的物体的关键点坐标。假设一个物体有4个关键点,则关键点回归预测网络输出8个heatmap,也即4个关键点的x、y坐标高斯响应,并输出4个pafmap,能够表示关键点的连接关系,通过pafmap图可以把同一个物体的关键点分为一组。
83.在另一些实施例中,对视频帧图像进行像素填充,将填充后的视频帧图像输入关键点回归预测网络,获得填充后的视频帧图像中能够嵌入图像的各个物体的各个关键点坐标的热点图和能够嵌入图像的同一物体的各个关键点的连接图,根据热点图和连接图获得每个能够嵌入图像的物体的关键点坐标。从而,能够预测在视频帧图像之外的关键点坐标,进而使得物体在视频帧图像中未显示的部分也可以被嵌入图像,物体在视频帧图像中显示的部分以及该显示部分所嵌入的图像部分会呈现给用户,给用户呈现一种更自然地图像嵌入感受。
84.例如,如图1d所示,由于物体的部分关键点在视频帧图像之外,对视频帧图像的填充示意图。假设输入的视频帧图像i的大小为(h,w),如白色部分所示,将视频帧图像i的上下左右分别填充如灰色部分所示,得到填充后的视频帧图像i
pad
的大小为(2h,2w),在i
pad
上预测物体的关键点坐标,然后生成关键点的heatmap图和pafmap图的大小均为(2h,2w)。
85.在步骤120,根据所述能够嵌入图像的物体的分割掩码和关键点坐标,将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置。
86.所述欲嵌入图像包括广告图像或其他图像等。例如,室内设计中的更换地板图像等。但不限于所举示例。
87.根据视频帧图像和所述能够嵌入图像的物体的分割掩码,能够获得所述能够嵌入图像的物体在视频帧图像中的像素位置;通过将欲嵌入图像的顶点映射为所述能够嵌入图像的物体的关键点,确定欲嵌入图像到所述能够嵌入图像的物体的映射关系;利用所述映射关系,通过映射将欲嵌入图像的像素嵌入到所述能够嵌入图像的物体在视频帧图像中的像素位置。从而使得欲嵌入图像与视频融合地更自然。
88.例如,在视频帧图像中,相框前面有一个花瓶遮挡,如果将广告图像张贴到整个相框,则广告图像会挡住部分花瓶,使得广告图像与视频融合地不自然,按照相框的分割掩码嵌入广告图像时,由于相框前面的花瓶会被分割为另一物体,因此,相框被花瓶遮挡部分的位置并不会嵌入广告图像,从而呈现广告图像前面有一个花瓶遮挡的视觉效果,延续了原始的视频帧图像中相框前面有一个花瓶遮挡的视觉效果,使得广告图像与视频融合地更自然。
89.上述实施例通过检测一段视频的视频帧图像中能够嵌入图像的物体,根据获得的所述能够嵌入图像的物体的分割掩码和关键点坐标,将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置,使得欲嵌入图像与视频自然融合。此外,通过图像填充,能够预测在视频帧图像之外的关键点坐标,进而使得物体在视频帧图像中未显示的部分也可以被嵌入图像,物体在视频帧图像中显示的部分以及该显示部分所嵌入的图像部分会呈现给用户,给用户呈现一种更自然地图像嵌入感受。
90.图2a示出本公开另一些实施例的视频中嵌入图像的方法的流程示意图。
91.如图2a所示,该实施例的视频中嵌入图像的方法包括:步骤210
‑
270,其中,步骤220,230,270是可选择执行的,步骤250和260可以根据物体是平面物体还是曲面物体选择其中一个步骤执行。
92.在步骤210,物体分割和关键点定位,具体实现参考步骤110,这里不再赘述。
93.在步骤220,物体跟踪。以使得随着视频的播放,在不同帧中出现的同一个物体上嵌入的图像是同一个。
94.所谓“跟踪”是找到当前帧中物体在上一帧中的位置。本实施例提出一种通过物体匹配进行物体跟踪的方法。
95.根据一段视频的相邻视频帧图像中的能够嵌入图像的物体的关键点坐标,在前一视频帧图像中找到能够嵌入图像的第一物体,该第一物体距离后一视频帧图像中的能够嵌入图像的第二物体最近;如果第一物体与第二物体之间的距离小于预设距离阈值,判定第
一物体与第二物体是同一物体;将同一欲嵌入图像嵌入到前一视频帧图像中的第一物体所在的位置和后一视频帧图像中的第二物体所在的位置。
96.记第t帧图像为i
t
,检测到n
t
个物体,第i物体的关键点坐标为个物体,第i物体的关键点坐标为其中第i物体的第k关键点坐标k∈[1,2,3,4],故第t帧图像检测到的所有物体的关键点集合为第t帧图像检测到的所有物体的关键点集合为记第t
‑
1帧图像为i
t
‑1,检测到n
t
‑1个物体,第j物体的关键点坐标为故第t
‑
1帧图像检测到的所有物体的关键点集合为
[0097]
对前后两帧检测到的物体进行匹配,计算第t帧n
t
个物体和第t
‑
1帧n
t
‑1个物体的距离其中i∈[1,n
t
],j∈[1,n
t
‑1],],对于第t帧的第i个物体,在第t
‑
1帧中找到和其距离最近的物体j
*
,如果小于距离阈值δ,认为第t帧的第i物体和第t
‑
1帧的第j
*
物体为同一个物体。此时,第t帧的第i物体和第t
‑
1帧的第j
*
物体嵌入同一图像。
[0098]
在步骤230,关键点稳定。也即,对网络预测的关键点进行稳定操作。由于网络预测的关键点的位置有一定误差,这样会导致嵌入图像以后,随着视频的播嵌入图像会有抖动的情况。通过关键点稳定操作,可以解决该抖动问题。
[0099]
针对一段视频的相邻视频帧图像中的能够嵌入图像的同一物体,根据前一视频帧图像中所述同一物体稳定后的关键点坐标、后一视频帧图像中所述同一物体的关键点坐标、和预设稳定阈值,确定稳定参考坐标;根据前一视频帧图像中所述同一物体稳定后的关键点坐标和所述稳定参考坐标,确定后一视频帧图像中所述同一物体稳定后的关键点坐标。
[0100]
在一些实施例中,确定稳定参考坐标包括:计算前一视频帧图像中所述同一物体稳定后的关键点坐标与后一视频帧图像中所述同一物体的关键点坐标之间的差值;取该差值和预设稳定阈值中的较小者作为稳定参考坐标。
[0101]
在一些实施例中,确定后一视频帧图像中所述同一物体稳定后的关键点坐标包括:判定前一视频帧图像中所述同一物体稳定后的关键点坐标是否小于后一视频帧图像中所述同一物体的关键点坐标;如果是,将前一视频帧图像中所述同一物体稳定后的关键点坐标加上所述稳定参考坐标作为后一视频帧图像中所述同一物体稳定后的关键点坐标;如果否,将前一视频帧图像中所述同一物体稳定后的关键点坐标减去所述稳定参考坐标作为后一视频帧图像中所述同一物体稳定后的关键点坐标。
[0102]
物体s在第t帧的第k个关键点相应的稳定参考坐标为
[0103][0104][0105]
物体s在第t帧的稳定后的第k个关键点坐标为
[0106][0107][0108]
其中,物体s在第t帧的第k个关键点坐标物体s在第t
‑
1帧的稳定后的第k个关键点坐标α表示预设稳定阈值,用于限制相邻视频帧图像之间同一物体的移动幅度不能太大,min表示取最小值。关于初始值的设置,物体s在第一帧的稳定后的第k个关键点坐标可以设为物体s在第一帧的第k个关键点坐标。
[0109]
在步骤240,判断物体是平面物体还是曲面物体。
[0110]
根据所述能够嵌入图像的物体的分割掩码,判断所述能够嵌入图像的物体是平面物体或曲面物体。下面提供两种示例性的判断方法。
[0111]
第一种示例性的判断方法,判断所述能够嵌入图像的物体是平面物体或曲面物体包括:根据所述能够嵌入图像的物体的分割掩码,确定所述能够嵌入图像的物体的符合预设稀疏条件的轮廓点集;在轮廓点集中找到距离所述能够嵌入图像的物体的每个关键点最近的轮廓点;计算相邻关键点分别对应的最近轮廓点之间的直线距离;计算相邻关键点分别对应的最近轮廓点之间的掩码边界长度;通过比较所述直线距离和所述掩码边界长度之间的差距,确定所述相邻关键点的掩码边界是直线或曲线;如果所有相邻关键点的掩码边界均是直线,所述能够嵌入图像的物体是平面物体;如果任一组相邻关键点的掩码边界是曲线,所述能够嵌入图像的物体是曲面物体。下面结合公式具体说明。
[0112]
记视频帧图像i中的某个物体s的分割掩码为m,物体s(经过稳定后或未经过稳定后)的关键点坐标为
[0113]
在物体s的分割掩码m的密集轮廓点中找到m个稀疏等距轮廓点保证密集轮廓点中距离关键点最近的轮廓点保留在p
m
中,且和之间的轮廓点等距。在p
m
中找到与4个p
key
分别距离最近的4个轮廓点也即也即
[0114]
计算相邻关键点和分别对应的最近轮廓点和之间的直线距离计算经过轮廓点的掩码边界长度
[0115]
如果和之间的直线距离与掩码边界长度相差较大,即认为和之间的掩码边界为具有弧度的曲线,反之则为直线。
[0116]
第二种示例性的判断方法,判断所述能够嵌入图像的物体是平面物体或曲面物体
包括:根据所述能够嵌入图像的物体的分割掩码,确定所述能够嵌入图像的物体的符合预设稀疏条件的轮廓点集;计算相邻关键点之间的直线距离;根据轮廓点集中相邻关键点之间的轮廓点,计算相邻关键点之间的掩码边界长度;通过比较所述直线距离和所述掩码边界长度之间的差距,确定所述相邻关键点的掩码边界是直线或曲线;如果所有相邻关键点的掩码边界均是直线,所述能够嵌入图像的物体是平面物体;如果任一组相邻关键点的掩码边界是曲线,所述能够嵌入图像的物体是曲面物体。
[0117]
上述两种判断方法,第一种例如可以适用于物体作为关键点的顶点被遮挡或未在视频帧图像中显示等情况下的平面或曲面物体的判断,第二种例如可以适用于作为关键点的顶点未被遮挡或完全在视频帧图像中显示等情况下的平面或曲面物体的判断。
[0118]
在步骤250,平面效果的图像嵌入。
[0119]
针对平面物体,根据所述能够嵌入图像的物体的分割掩码和关键点坐标,按照平面物体的嵌入方式,将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置。
[0120]
平面物体的嵌入包括:通过将欲嵌入图像的顶点映射为所述能够嵌入图像的物体的关键点,确定欲嵌入图像到所述能够嵌入图像的物体的映射关系;根据所述能够嵌入图像的物体的分割掩码,利用所述映射关系,通过映射将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置。
[0121]
在步骤260,曲面效果的图像嵌入。
[0122]
针对曲面物体,根据所述能够嵌入图像的物体的分割掩码和关键点坐标,按照曲面物体的嵌入方式,将欲嵌入图像嵌入到视频帧图像中所述能够嵌入图像的物体所在的位置。
[0123]
曲面物体的嵌入包括以下步骤。
[0124]
首先,根据所述能够嵌入图像的物体的分割掩码和关键点坐标,确定所述能够嵌入图像的物体的符合预设稀疏条件的边界点集。
[0125]
边界点集的一种示例性的确定方法包括:根据所述能够嵌入图像的物体的分割掩码,确定所述能够嵌入图像的物体的符合预设稀疏条件的轮廓点集;将所述轮廓点集中的距离所述能够嵌入图像的物体的关键点最近的轮廓点替换为所述能够嵌入图像的物体的关键点,得到边界点集。
[0126]
在曲面物体s的分割掩码m的密集轮廓点中找到m个稀疏等距轮廓点曲面物体s的关键点(4个顶点)曲面物体s的关键点(4个顶点)p
m
中包括距离关键点最近的轮廓点将pm中的替换为得到曲面物体s的边界点集p
r
。
[0127]
在曲面物体s的边界被遮挡或未在视频帧图像显示的情况下,导致和的距离较远。此时,如果直接用轮廓点p
m
进行图像嵌入,欲嵌入图像的4个顶点不能映射到曲面物体s的4个关键点p
key
上,使得图像与视频的融合不自然。此时,如果利用边界点集p
r
进行图像嵌入,欲嵌入图像的4个顶点依然能映射到曲面物体s的4个关键点p
key
上,使得图像与视频的融合更自然。
[0128]
然后,利用所述边界点集中的边界点,将所述能够嵌入图像的物体划分为多个三角形;针对每个三角形,通过将欲嵌入图像中相应三角区域的顶点映射为所述能够嵌入图像的物体中相应三角形的顶点,确定所述欲嵌入图像中相应三角区域到所述能够嵌入图像的物体中相应三角形的映射关系。
[0129]
记曲面物体s的边界点集p
r
为视频帧图像i上的点坐标,相应的欲嵌入图像上的点集p
r
和p
a
数量相等,且均为稀疏等距的轮廓点,且p
a
包含了欲嵌入图像的四个顶点,会被映射到所在的位置。图2b示出曲面物体s的边界点集p
r
和相应的欲嵌入图像上的点集p
a
的示意图。
[0130]
对于曲面物体s的边界点集p
r
,构建三角网t,其中包括f个三角形,对于第f个三角形t
f
=(f1,f2,f3),其在视频帧图像i上的顶点坐标为欲嵌入图像上对应的三角区域的顶点坐标为将欲嵌入图像中相应三角区域的顶点映射到曲面物体s的相应三角形的顶点,其映射矩阵q(也即,欲嵌入图像中相应三角区域到曲面物体s的相应三角形的映射矩阵)为
[0131][0132]
最后,利用所述映射关系,通过映射将所述欲嵌入图像中相应三角区域嵌入到视频帧图像中所述能够嵌入图像的物体中相应三角形所在的位置。
[0133]
在步骤270,图像渲染。
[0134]
根据欲嵌入图像所嵌入到的视频帧图像的显示元素,例如,亮度、光照、阴影等,对欲嵌入图像的显示元素进行渲染,以使得欲嵌入图像的显示元素与欲嵌入图像所嵌入到的视频帧图像的显示元素保持一致,进一步提升欲嵌入图像与视频的融合效果,使得欲嵌入图像与视频的融合更自然。
[0135]
图3为本公开一些实施例的视频中嵌入图像的装置的结构示意图。
[0136]
如图3所示,该实施例的装置300包括:存储器310以及耦接至该存储器310的处理器320,处理器320被配置为基于存储在存储器310中的指令,执行前述任意一些实施例中的视频中嵌入图像的方法。
[0137]
其中,存储器310例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0138]
装置300还可以包括输入输出接口330、网络接口340、存储接口350等。这些接口330,340,350以及存储器310和处理器320之间例如可以通过总线360连接。其中,输入输出接口330为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口340为各种联网设备提供连接接口。存储接口350为sd卡、u盘等外置存储设备提供连接接口。
[0139]
本公开一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现视频中嵌入图像的方法的步骤。
[0140]
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机程序代码的非瞬时性计算机可读存储介质(包括但不限于磁盘存储器、cd
‑
rom、光学存储器等)上实施的计算机程序产品的形式。
[0141]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144]
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。