CN115170400A - 一种视频修复的方法、相关装置、设备以及存储介质 - Google Patents
一种视频修复的方法、相关装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN115170400A CN115170400A CN202210355594.2A CN202210355594A CN115170400A CN 115170400 A CN115170400 A CN 115170400A CN 202210355594 A CN202210355594 A CN 202210355594A CN 115170400 A CN115170400 A CN 115170400A
- Authority
- CN
- China
- Prior art keywords
- video
- optical flow
- frame
- target mask
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 153
- 230000008439 repair process Effects 0.000 title claims description 88
- 230000003287 optical effect Effects 0.000 claims abstract description 370
- 238000012545 processing Methods 0.000 claims description 75
- 238000004590 computer program Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 40
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 30
- 238000005516 engineering process Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 17
- 230000001976 improved effect Effects 0.000 description 16
- 238000013461 design Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 8
- 238000010606 normalization Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 5
- 230000007812 deficiency Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种基于人工智能实现的视频修复方法,应用场景至少包括各类终端,如:手机、电脑、车载终端等。本申请包括:获取视频样本序列;根据视频样本序列获取目标掩膜样本序列;根据视频样本序列获取光流数据序列;基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果;根据每个目标掩膜帧的光流聚类结果确定光流质量分值;采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理。本申请还提供了相关装置。本申请将光流质量作为选择视频修复方式的依据,达到不同视频修复方式之间取长补短的目的,从而有利于获得修复效果更好的视频画面。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种视频修复的方法、相关装置、设备以及存储介质。
背景技术
视频修复(video inpainting)是一项旨在视频帧中缺失区域填补合理内容的任务,其主要利用视频中未被遮掩的区域信息对被遮掩的区域进行修复。例如,对损坏的视频进行修复,对不需要的对象移除,对视频重定位,对曝光不足的图像进行修复。
目前,视频修复技术主要分为两种,一种是利用光流传播与图像修复的技术,该技术先将可用像素通过光流传播到相应区域,再利用图像修复填充孤立的像素块。另一种是使用端到端的神经网络方法,使用生成模型的方式对遮挡区域进行填充。
然而,发明人发现现有方案中至少存在如下问题,光流法填充的内容清晰度较高,但过度依赖光流,而光流本身很容易受干扰且光流估计存在失准的可能性,因此,容易出现扭曲及错误填充的情况。端到端的生成方法考虑了语意信息,通常不会出现扭曲及严重错误等情况,但由于背景复杂,容易导致填充内容模糊的现象。
发明内容
本申请实施例提供了一种视频修复的方法、相关装置、设备以及存储介质。本申请将光流质量作为选择视频修复方式的依据,达到不同视频修复方式之间取长补短的目的,从而有利于获得修复效果更好的视频画面。
有鉴于此,本申请一方面提供一种视频修复的方法,包括:
获取针对待修复视频的视频样本序列,其中,视频样本序列包括K个视频帧对,每个视频帧对包括相邻的两个视频帧,K为大于或等于1的整数;
根据视频样本序列获取目标掩膜样本序列,其中,目标掩膜样本序列包括K个目标掩膜帧,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域,且,每个目标掩膜帧与每个视频帧对具有对应关系;
根据视频样本序列获取光流数据序列,其中,光流数据序列包括K个光流数据,且,每个光流数据与每个视频帧对具有对应关系;
基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果;
根据每个目标掩膜帧的光流聚类结果,确定光流质量分值;
采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理。
本申请另一方面提供一种视频修复装置,包括:
获取模块,用于获取针对待修复视频的视频样本序列,其中,视频样本序列包括K个视频帧对,每个视频帧对包括相邻的两个视频帧,K为大于或等于1的整数;
获取模块,还用于根据视频样本序列获取目标掩膜样本序列,其中,目标掩膜样本序列包括K个目标掩膜帧,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域,且,每个目标掩膜帧与每个视频帧对具有对应关系;
获取模块,还用于根据视频样本序列获取光流数据序列,其中,光流数据序列包括K个光流数据,且,每个光流数据与每个视频帧对具有对应关系;
处理模块,用于基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果;
确定模块,用于根据每个目标掩膜帧的光流聚类结果,确定光流质量分值;
修复模块,用于采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于从待修复视频中获取视频序列,其中,视频序列包括T个原始视频帧,每个原始视频帧显示有目标对象,T为大于1的整数;
从视频序列中抽取K个待处理视频帧对,其中,每个待处理视频帧对包括相邻的两个原始视频帧;
对每个待处理视频帧对中各个原始视频帧的尺寸进行归一化处理,得到K个视频帧对,并将K个视频帧对作为视频样本序列。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于针对视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧或后一个视频帧获取原始掩膜帧,其中,原始掩膜帧包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将K个目标掩膜帧作为目标掩膜样本序列。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于针对视频样本序列中的每个视频帧对,按照第一像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对视频样本序列中的每个视频帧对,按照第二像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,第二像素个数大于第一像素个数;
针对视频样本序列中的每个视频帧对,对第一掩膜区域以及第二掩膜区域进行异或操作,得到目标掩膜帧。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于针对视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧获取第一原始掩膜帧,并根据视频帧对中的后一个视频帧获取第二原始掩膜帧,其中,第一原始掩膜帧以及第二原始掩膜帧分别包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对视频样本序列中的每个视频帧对,对第一原始掩膜帧以及第二原始掩膜帧进行并集处理,得到原始掩膜帧;
针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将K个目标掩膜帧作为目标掩膜样本序列。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于针对视频样本序列中的每个视频帧对,按照第一像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对视频样本序列中的每个视频帧对,按照第二像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,第二像素个数大于第一像素个数;
针对视频样本序列中的每个视频帧对,对第一掩膜区域以及第二掩膜区域进行异或操作,得到目标掩膜帧。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于针对视频样本序列中的每个视频帧对,根据后一个视频帧中各个像素点相对于前一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将K个光流数据作为光流数据序列;
或,
获取模块,具体用于针对视频样本序列中的每个视频帧对,根据前一个视频帧中各个像素点相对于后一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将K个光流数据作为光流数据序列。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
处理模块,具体用于针对每个目标掩膜帧,根据光流数据序列中对应的光流数据,确定目标掩膜区域中X个像素点的二维光流值,其中,X为大于1的整数;
针对每个目标掩膜帧,根据X个像素点的二维光流值,对X个像素点进行聚类处理,得到光流聚类结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于根据每个目标掩膜帧的光流聚类结果,确定每个目标掩膜帧的总类别数量;
统计总类别数量小于或等于类别数量阈值的帧数;
根据帧数与K值之间的比值,确定类别单一比例;
若类别单一比例大于比例阈值,则确定光流质量分值为第一分值;
若类别单一比例小于或等于比例阈值,则确定光流质量分值为第二分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定每个聚类簇的移动平均值,其中,光流聚类结果用于确定一个或多个聚类簇;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若移动总距离大于或等于距离阈值,则确定光流质量分值为第一分值;
若移动总距离小于距离阈值,则确定光流质量分值为第二分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于根据每个目标掩膜帧的光流聚类结果,确定每个目标掩膜帧的总类别数量;
统计总类别数量小于或等于类别数量阈值的帧数;
根据帧数与K值之间的比值,确定类别单一比例;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定每个聚类簇的移动平均值,其中,光流聚类结果用于确定一个或多个聚类簇;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若类别单一比例大于比例阈值,且,移动总距离大于或等于距离阈值,则确定光流质量分值为第一分值;
若类别单一比例小于或等于比例阈值,且,移动总距离小于距离阈值,则确定光流质量分值为第二分值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
修复模块,具体用于若光流质量分值为第一分值,则采用光流法对待修复视频进行修复处理。
若光流质量分值为第二分值,则调用神经网络对待修复视频进行修复处理。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,视频修复装置还包括显示模块;
显示模块,用于显示待修复视频以及修复对象列表,其中,修复对象列表包括至少一个可修复对象;
获取模块,还用于响应针对于目标对象的选择指令,执行获取针对待修复视频的视频样本序列的步骤,其中,目标对象属于至少一个可修复对象;
显示模块,还用于采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理之后,响应针对已修复视频的播放指令,播放已修复视频。
本申请另一方面提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各方面的方法。
本申请的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种视频修复的方法,首先获取针对待修复视频的视频样本序列,然后可以根据视频样本序列获取目标掩膜样本序列,其中,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域。于是,根据视频样本序列获取光流数据序列,再基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果。基于此,可根据每个目标掩膜帧的光流聚类结果确定光流质量分值,并采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理。通过上述方式,利用被遮掩区域的光流聚类结果对光流质量进行预判,在光流质量较好的情况下,可使用光流法作为视频修复方式,以获得清晰度及可信度较高的填充内容。在光流质量较差的情况下,可使用使用生成模型作为视频修复方式,得到稳定性较高的填充效果。可见,本申请将光流质量作为选择视频修复方式的依据,达到不同视频修复方式之间取长补短的目的,从而有利于获得修复效果更好的视频画面。
附图说明
图1为本申请实施例中视频修复系统的一个架构示意图;
图2为本申请实施例中基于光流法实现视频帧填充的一个效果图;
图3为本申请实施例中基于模型法实现视频帧填充的一个效果图;
图4为本申请实施例中视频修复方法的一个流程示意图;
图5为本申请实施例中生成目标掩膜帧的一个示意图;
图6为本申请实施例中生成目标掩膜帧的另一个示意图;
图7为本申请实施例中生成目标掩膜帧的又一个示意图;
图8为本申请实施例中生成目标掩膜帧的再一个示意图;
图9为本申请实施例中基于前向光流确定二维光流值的一个示意图;
图10为本申请实施例中基于后向光流确定二维光流值的一个示意图;
图11为本申请实施例中基于视频修复应用移除标志的一个效果示意图;
图12为本申请实施例中基于视频修复应用移除字幕的一个效果示意图;
图13为本申请实施例中基于视频修复应用移除物体的一个效果示意图;
图14为本申请实施例中基于光流法和模型法实现视频帧修复的效果对比示意图;
图15为本申请实施例中视频修复装置的一个示意图;
图16为本申请实施例中终端的一个结构示意图;
图17为本申请实施例中服务器的一个结构示意图。
具体实施方式
本申请实施例提供了一种视频修复的方法、相关装置、设备以及存储介质。本申请将光流质量作为选择视频修复方式的依据,达到不同视频修复方式之间取长补短的目的,从而有利于获得修复效果更好的视频画面。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着多媒体和人工智能(Artificial Intelligence,AI)时代的来临,视频逐渐成为主流的信息交流方式,而海量的视频对于视频质量管理提出了更多的挑战。由于某种原因可能导致视频存在缺陷,例如,视频画面中存在马赛克图案,马赛克图案会影响用户的观看体验。又例如,视频在形成的过程中可能会存在台标或者广告图案等。基于此,本申请提出一种视频修复的方法,旨在对视频中不需要的对象移除或者对损坏的画面进行恢复等。
视频修复方法具体涉及到基于AI的计算机视觉(computer vision,CV)技术以及机器学习(machine learning,ML)。即,通过CV技术从视频中识别出可修复对象(例如,台标,字幕等)。通过ML训练得到的神经网络,对视频画面进行修复。
其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,AI是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。AI也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。AI基础技术一般包括如传感器、专用AI芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。AI软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
可以理解的是,CV是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,CV研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的AI系统。CV技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(optical character recognition,OCR)、视频处理、视频语义理解、视频内容、行为识别、三维物体重建、三维(3D)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
可以理解的是,ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。ML是AI的核心,是使计算机具有智能的根本途径,其应用遍及AI的各个领域。ML和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
为了提升视频画面修复的效果,本申请提出了一种视频修复方法,该方法应用于图1所示的视频修复系统,如图所示,视频修复系统系统包括服务器和终端,且客户端部署于终端上,其中,客户端可以通过浏览器的形式运行于终端上,也可以通过独立的应用程序(application,APP)的形式运行于终端上等,对于客户端的具体展现形式,此处不做限定。本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端的数量也不做限制。本申请提供的方案可以由终端独立完成,也可以由服务器独立完成,还可以由终端与服务器配合完成,对此,本申请并不做具体限定。
下面将结合图1所示的架构,介绍两种种视频修复的工作流程。
示例性地,一种情况下,用户通过终端将视频上传至服务器,服务器可直接调用视频修复功能。即,先判定所选的视频修复算法(即,光流法或模型法),基于此,使用相应的视频修复算法对视频进行修复。最后,将修复的视频存储至数据库。当终端向服务器请求播放视频时,服务器可从数据库中获取相应的视频,并反馈至终端。
示例性地,另一种情况下,用户通过终端将视频上传至服务器,服务器将终端上传的视频存储至数据库。在需要对视频进行修复时,可从数据库中选择相应的视频,然后调用视频修复功能。即,先判定所选的视频修复算法(即,光流法或模型法)。基于此,使用相应的视频修复算法对视频进行修复。最后,将修复的视频存储至数据库。
使用光流法和模型法对视频进行修复的效果存在一定差异。下面将结合图示进行介绍。
一、基于光流法填充掩膜区域;
为了便于介绍,请参阅图2,图2为本申请实施例中基于光流法实现视频帧填充的一个效果图,如图2中(A)图所示,在视频帧中检测出掩膜物体。经过光流法填充之后可得到如图2中(B)图所示的视频帧。可见,在出现物体遮挡及背景发生复杂运动的情况下,基于光流法填充效果会受到较大影响,而光流估计错误带来的错误像素会随其传播逐渐扩大,导致填充内容错误。
二、基于模型法填充掩膜区域;
为了便于介绍,请参阅图3,图3为本申请实施例中基于模型法实现视频帧填充的一个效果图,如图3中(A)图所示,在视频帧中检测出掩膜物体。经过模型法填充之后可得到如图3中(B)图所示的视频帧。可见,填充部分较为模糊,且受限于显存等原因,难以处理过高分辨率的输入,但整体效果较为稳定,不易发生对比强烈的明显错误。
结合上述介绍,受限于光流法的修复质量与模型法的修复质量,本申请提出一种视频修复方法,能够预先判定选择何种视频修复方式进行画面修复,以此达到更鲁棒的填充效果。下面将对本申请中视频修复的方法进行介绍,请参阅图4,本申请实施例中视频修复方法可以由计算机设备执行,该计算机设备可以是终端或服务器,本申请实施例包括:
110、获取针对待修复视频的视频样本序列,其中,视频样本序列包括K个视频帧对,每个视频帧对包括相邻的两个视频帧,K为大于或等于1的整数;
在一个或多个实施例中,获取待修复视频,再从待修复视频中抽取K个视频帧对作为视频样本序列,每个视频帧对包括相邻的两个视频帧,且每个视频帧具有对应的视频帧编号。示例性地,若未进行归一化,则视频样本序列可表示为xs,xs={(x1,x2),((x11,x12),…}。其中,视频样本序列包括K个视频帧对,即,第1个视频帧对表示为(x1,x2),第2个视频帧对表示为(x11,x12),以此类推。示例性地,若已进行归一化,则视频样本序列表示为xsr,xsr={(xr1,xr2),((xr11,xr12),…}。其中,视频样本序列包括K个视频帧对,即,第1个视频帧对表示为(xr1,xr2),第2个视频帧对表示为(xr11,xr12),以此类推。
120、根据视频样本序列获取目标掩膜样本序列,其中,目标掩膜样本序列包括K个目标掩膜帧,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域,且,每个目标掩膜帧与每个视频帧对具有对应关系;
在一个或多个实施例中,在得到视频样本序列之后,针对每个视频帧对,可分别获取对应的至少一个原始掩膜帧。针对每个原始掩膜帧,分别标记出对应的原始掩膜区域,然后按照一定像素点个数对原始掩膜区域进行扩张,从而得到目标掩膜区域。再根据目标掩膜区域得到目标掩膜帧。由此,得到包含有K个目标掩膜帧的目标掩膜样本序列。
130、根据视频样本序列获取光流数据序列,其中,光流数据序列包括K个光流数据,且,每个光流数据与每个视频帧对具有对应关系;
在一个或多个实施例中,根据视频样本序列中的K个视频帧对,分别生成对应的光流数据,由此,得到包括K个光流数据的光流数据序列。其中,光流数据可表示为两个通道的光流矩阵。一个光流矩阵用于记录视频帧对在所有像素点的水平方向偏移,另一个光流矩阵用于记录视频帧对在所有像素点的竖直方向偏移。
140、基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果;
在一个或多个实施例中,光流数据序列与目标掩膜样本序列是对齐的,即,光流数据序列中的光流数据对应于目标掩膜样本序列中的目标掩膜帧。基于此,针对每个目标掩膜帧,采用对应的光流数据为目标掩膜区域内的各个像素点赋予对应的二维光流值。然后,基于各个像素点的二维光流值,采用聚类算法对这些像素点进行聚类处理,由此,得到每个目标掩膜帧的光流聚类结果。
可以理解的是,本申请可采用具有噪声的基于密度的聚类方法(density-basedspatial clustering of applications with noise,DBSCAN),或,均值漂移聚类方法(meanshift),又或者其他聚类方法对像素点进行聚类,此处不做限定。
150、根据每个目标掩膜帧的光流聚类结果,确定光流质量分值;
在一个或多个实施例中,结合各个目标掩膜帧的光流聚类结果,可综合判断光流质量的好坏,由此,生成相应的光流质量分值。示例性地,本申请中的光流质量分值为第一分值或第二分值。其中,光流质量分值为第一分值时表示光流质量较好,例如,第一分值可以为“1”。而光流质量分值为第二分值时表示光流质量较差,例如,第二分值可以为“0”。
可以理解的是,实际应用中,还可以对第一分值和第二分值分别设置其他的值,此处仅为一个示意,不应理解为对本申请的限定。
160、采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理。
在一个或多个实施例中,可根据光流质量分值可选定相应的视频修复方式。即,如果光流质量分值为第一分值,则采用光流法对待修复视频进行修复处理。如果光流质量分值为第二分值,则调用神经网络对待修复视频进行修复处理。
具体地,采用光流法对待修复视频进行修复处理的过程主要包括:使用相邻帧进行光流估计,然后对各个帧中的原始掩膜区域进行光流填充,.应用光流将未遮掩区域的像素梯度传播至原始掩膜区域。再对像素梯度进行泊松重建,生成红绿蓝(red green blue,RGB)像素。最后,对光流无法填充的区域进行图像修复。而调用神经网络对待修复视频进行修复处理的过程为,将接收帧序列信息作为输入,经过神经网络处理后输出修复好的视频帧。
可以理解的是,神经网络多采用编码器-解码器结构。本申请采用的神经网络可以是细粒度图像分类(fine-grained visual categorization,FGVC)网络,或,时空变换器网络(spatial-temporal transformer network,STTN),或,解耦时空注意网络(decoupledspatial-temporal attention network,DSTT)等,此处不做限定。
本申请实施例中,提供了一种视频修复的方法。通过上述方式,利用被遮掩区域的光流聚类结果对光流质量进行预判,在光流质量较好的情况下,可使用光流法作为视频修复方式,以获得清晰度及可信度较高的填充内容。在光流质量较差的情况下,可使用使用生成模型作为视频修复方式,得到稳定性较高的填充效果。可见,本申请将光流质量作为选择视频修复方式的依据,达到不同视频修复方式之间取长补短的目的,从而有利于获得修复效果更好的视频画面。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,获取针对待修复视频的视频样本序列,具体可以包括:
从待修复视频中获取视频序列,其中,视频序列包括T个原始视频帧,每个原始视频帧显示有目标对象,T为大于1的整数;
从视频序列中抽取K个待处理视频帧对,其中,每个待处理视频帧对包括相邻的两个原始视频帧;
对每个待处理视频帧对中各个原始视频帧的尺寸进行归一化处理,得到K个视频帧对,并将K个视频帧对作为视频样本序列。
在一个或多个实施例中,介绍了一种生成视频样本序列的方式。由前述实施例可知,视频样本序列来源于待修复视频,待修复视频表示为x={xt}(t=1,2,…,T),可见,待修复视频包括T个原始视频帧,即,xt表示第t个原始视频帧。
具体地,可按照一定间隔抽取相邻的原始视频帧。例如,每隔10帧抽一组相邻的原始视频帧,那么抽取到的序列表示为xs,xs={(x1,x2),((x11,x12),…},其中,该序列包括K个待处理视频帧对,即,第1个待处理视频帧对表示为(x1,x2),第2个待处理视频帧对表示为(x11,x12),以此类推。基于此,对待处理视频帧对中的各个原始视频帧进行尺寸归一化处理,从而得到相应的视频帧。相邻的视频帧构成视频帧对,而K个视频帧对组成视频样本序列,其中,视频样本序列可表示为xsr,xsr={(xr1,xr2),((xr11,xr12),…}。
需要说明的是,经过归一化处理后的视频帧具有固定尺寸,例如,512×288。
其次,本申请实施例中,提供了一种生成视频样本序列的方式。通过上述方式,一方面从视频序列中抽取若干个待处理视频帧对用于后续处理,由此,能够减少数据处理量,节省数据处理资源。另一方面,对原始视频帧进行尺寸归一化处理,不仅可以对齐各个视频帧的统计量,还能够缩小视频帧的尺寸,从而提升处理效率。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据视频样本序列获取目标掩膜样本序列,具体可以包括:
针对视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧或后一个视频帧获取原始掩膜帧,其中,原始掩膜帧包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将K个目标掩膜帧作为目标掩膜样本序列。
在一个或多个实施例中,介绍了一种基于单视频帧生成目标掩膜帧的方式。由前述实施例可知,待修复视频中显示有目标对象,对此,需要对目标对象进行掩膜处理,从而得到相应的原始掩膜区域。再按照一定像素点个数对原始掩膜区域进行扩张,从而得到目标掩膜区域。
需要说明的是,目标对象可以是标志,字幕,物体等。可以理解的是,识别目标对象的方式包含但不限于人工标注以及模型识别等,例如,采用全卷积网络(fullyconvolution network,FCN)识别出目标对象。
示例性地,一种处理方式为,待修复视频为x={xt}(t=1,2,…,T)。可对待修复视频中的每个原始视频帧进行掩膜处理,由此,得到m={mt}(t=1,2,…,T)。假设每隔10帧抽一组相邻的原始视频帧,则抽取到视频样本序列表示为xs={(x1,x2),((x11,x12),…},由此,得到对应的掩膜帧序列表示为ms={(m1,m2),((m11,m12),…}。若采用前向光流,则基于ms提取每个视频帧对的前一个视频帧,得到msF={m1,m11,…},再对msF进行归一化,得到的原始掩膜帧序列表示为msr={mr1,mr11,…}。若采用后向光流,则基于ms提取每个视频帧对的后一个视频帧,得到msB={m2,m12,…},再对msB进行归一化,得到的原始掩膜帧序列表示为msr={mr2,mr12,…},其中,原始掩膜帧序列包括K个原始掩膜帧。
示例性地,一种处理方式为,待修复视频为x={xt}(t=1,2,…,T)。假设每隔10帧抽一组相邻的原始视频帧,则抽取到的序列表示为xs={(x1,x2),((x11,x12),…}。对xs中的每个原始视频帧进行归一化处理,得到视频样本序列表示为xsr={(xr1,xr2),((xr11,xr12),…}。若采用前向光流,则基于xsr提取每个视频帧对的前一个视频帧,得到xsrF={(xr1,xr11,…},再对xsrF进行掩膜处理,得到的原始掩膜帧序列表示为msr={mr1,mr11,…}。若采用后向光流,则基于xsr提取每个视频帧对的后一个视频帧,得到xsrB={(xr2,xr12,…},再对xsrB进行掩膜处理,得到的原始掩膜帧序列表示为msr={mr2,mr12,…},其中,原始掩膜帧序列包括K个原始掩膜帧。
具体地,为了便于理解,请参阅图5,图5为本申请实施例中生成目标掩膜帧的一个示意图,以图5中(a)图示出的原始掩膜帧为例,其中,标记为“1”的15个像素点构成原始掩膜区域。假设按照2个像素个数对原始掩膜区域进行扩张,得到目标掩膜区域(即,由标记为“1”构成的灰色区域)。基于此,得到如图5中(b)图所示的目标掩膜帧。
以此类推,对每个原始掩膜帧进行处理,直至得到目标掩膜样本序列。目标掩膜样本序列可表示为{mdst}(t=1,2,…,K)。其中,mdst表示第t个目标掩膜帧。
其次,本申请实施例中,提供了一种基于单视频帧生成目标掩膜帧的方式。通过上述方式,考虑到视频帧对中前后两个视频帧的原始掩膜区域差别不大,因此,可以仅对其中一个原始掩膜帧进行区域扩张处理,由此降低操作的复杂度。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧,具体可以包括:
针对视频样本序列中的每个视频帧对,按照第一像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对视频样本序列中的每个视频帧对,按照第二像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,第二像素个数大于第一像素个数;
针对视频样本序列中的每个视频帧对,对第一掩膜区域以及第二掩膜区域进行异或操作,得到目标掩膜帧。
在一个或多个实施例中,介绍了一种扩张原始掩膜区域的方式。由前述实施例可知,针对原始掩膜帧序列中的每个原始掩膜帧而言,还可以对原始掩膜区域进行扩,得到目标掩膜区域。以此获得包含有目标掩膜区域的目标掩膜帧。
具体地,为了便于理解,请参阅图6,图6为本申请实施例中生成目标掩膜帧的另一个示意图,以图6中(a)图示出的原始掩膜帧为例,其中,标记为“1”的15个像素点构成原始掩膜区域。假设按照第一像素个数(例如,2个像素个数)对原始掩膜区域进行扩张,得到第一掩膜区域(即,由标记为“1”构成的灰色区域)。基于此,得到如图6中(b)图所示的掩膜帧。假设按照第二像素个数(例如,4个像素个数)对原始掩膜区域进行扩张,得到第二掩膜区域(即,由标记为“1”构成的灰色区域)。基于此,得到如图6中(c)图所示的掩膜帧。基于此,对第一掩膜区域以及第二掩膜区域进行异或操作,得到如图6中(d)图所示的目标掩膜帧,其中,目标掩膜帧包括目标掩膜区域(即,由标记为“1”构成的灰色区域)。
以此类推,对每个原始掩膜帧进行处理,直至得到目标掩膜样本序列。目标掩膜样本序列可表示为{mdst=mda^mdb}(t=1,2,…,K0。其中,mdst表示第t个目标掩膜帧,mda表示包括第一掩膜区域的掩膜帧,a表示第一像素个数,md9表示包括第二掩膜区域的掩膜帧,b表示第二像素个数,“^”表示异或操作符。
实际应用中,第一像素个数可以是7,第二像素个数可以是9,由此,目标掩膜样本序列可表示为{mdst=md7^md9}(t=1,2,…,K0。需要说明的是,第一像素个数和第二像素个数还可以根据情况进行调整,此处不做限定。
再次,本申请实施例中,提供了一种扩张原始掩膜区域的方式。通过上述方式,原始掩膜区域内部的光流是通过周边的光流得到的,如果周边的光流比较混乱,那么原始掩膜区域内部的光流也无法得到很好的填充。考虑到紧贴原始掩膜区域的像素点可能存在一些噪声,因此,偏离原始掩膜区域而得到的目标掩膜区域具有更少的噪声,从而有利于提升光流质量的判定效果。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据视频样本序列获取目标掩膜样本序列,具体可以包括:
针对视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧获取第一原始掩膜帧,并根据视频帧对中的后一个视频帧获取第二原始掩膜帧,其中,第一原始掩膜帧以及第二原始掩膜帧分别包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对视频样本序列中的每个视频帧对,对第一原始掩膜帧以及第二原始掩膜帧进行并集处理,得到原始掩膜帧;
针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将K个目标掩膜帧作为目标掩膜样本序列。
在一个或多个实施例中,介绍了一种基于多视频帧生成目标掩膜帧的方式。由前述实施例可知,待修复视频中显示有目标对象,对此,需要对目标对象进行掩膜处理,从而得到相应的原始掩膜区域。再按照一定像素点个数对原始掩膜区域进行扩张,从而得到目标掩膜区域。
需要说明的是,目标对象可以是标志,字幕,物体等。可以理解的是,识别目标对象的方式包含但不限于人工标注以及模型识别等,例如,采用FCN识别出目标对象。
示例性地,一种处理方式为,待修复视频为x={xt}(t=1,2,…,T)。可对待修复视频中的每个原始视频帧进行掩膜处理,由此,得到m={mt}(t=1,2,…,T)。假设每隔10帧抽一组相邻的原始视频帧,则抽取到视频样本序列表示为xs={(x1,x2),((x11,x12),…},由此,得到对应的掩膜帧序列表示为ms={(m1,m2),((m11,m12),…}。再对ms进行归一化,得到的原始掩膜帧序列表示为msr={(mr1,mr2),((mr11,mr12),…}。原始掩膜帧序列包括K个第一原始掩膜帧(即,{mr1,mr11,…})以及K个第二原始掩膜帧(即,msr={mr2,mr12,…})。
示例性地,一种处理方式为,待修复视频为x={xt}(t=1,2,…,T)。假设每隔10帧抽一组相邻的原始视频帧,则抽取到的序列表示为xs={(x1,x2),((x11,x12),…}。对xs中的每个原始视频帧进行归一化处理,得到视频样本序列表示为xsr={(xr1,xr2),((xr11,xr12),…}。再对xsr进行掩膜处理,得到的原始掩膜帧序列表示为msr={(mr1,mr2),((mr11,mr12),…}。其中,原始掩膜帧序列包括K个第一原始掩膜帧(即,{mr1,mr11,…})以及K个第二原始掩膜帧(即,msr={mr2,mr12,…})。
具体地,为了便于理解,请参阅图7,图7为本申请实施例中生成目标掩膜帧的又一个示意图,图7中(a)图示出的为第一原始掩膜帧,其中,标记为“1”的13个像素点构成第一原始掩膜帧的原始掩膜区域。图7中(b)图示出的为第二原始掩膜帧,其中,标记为“1”的13个像素点构成第二原始掩膜帧的原始掩膜区域。对第一原始掩膜帧以及第二原始掩膜帧进行并集处理之后,得到如图7中(c)图所示的原始掩膜帧,其中,标记为“1”的15个像素点构成该原始掩膜帧的原始掩膜区域。假设按照2个像素个数对原始掩膜区域进行扩张,得到目标掩膜区域(即,由标记为“1”构成的灰色区域)。基于此,得到如图7中(d)图所示的目标掩膜帧。
以此类推,对每个原始掩膜帧进行处理,直至得到目标掩膜样本序列。目标掩膜样本序列可表示为{mdst}(t=1,2,…,K)。其中,mdst表示第t个目标掩膜帧。
其次,本申请实施例中,提供了一种基于多视频帧生成目标掩膜帧的方式。通过上述方式,考虑到视频帧对中前后两个视频帧的原始掩膜区域可能具有差异,因此,可以先对前后两帧的原始掩膜区域取并集,能够获得的更准确的原始掩膜区域。由此,提升视频帧的处理效果。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧,具体可以包括:
针对视频样本序列中的每个视频帧对,按照第一像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对视频样本序列中的每个视频帧对,按照第二像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,第二像素个数大于第一像素个数;
针对视频样本序列中的每个视频帧对,对第一掩膜区域以及第二掩膜区域进行异或操作,得到目标掩膜帧。
在一个或多个实施例中,介绍了一种扩张原始掩膜区域的方式。由前述实施例可知,针对原始掩膜帧序列中的每个原始掩膜帧而言,还可以对原始掩膜区域进行扩,得到目标掩膜区域。以此获得包含有目标掩膜区域的目标掩膜帧。
具体地,为了便于理解,请参阅图8,图8为本申请实施例中生成目标掩膜帧的再一个示意图,图8中(a)图示出的为第一原始掩膜帧,其中,标记为“1”的13个像素点构成第一原始掩膜帧的原始掩膜区域。图8中(b)图示出的为第二原始掩膜帧,其中,标记为“1”的13个像素点构成第二原始掩膜帧的原始掩膜区域。对第一原始掩膜帧以及第二原始掩膜帧进行并集处理之后,得到如图8中(c)图所示的原始掩膜帧,其中,标记为“1”的15个像素点构成该原始掩膜帧的原始掩膜区域。假设按照第一像素个数(例如,2个像素个数)对原始掩膜区域进行扩张,得到第一掩膜区域(即,由标记为“1”构成的灰色区域)。基于此,得到如图8中(d)图所示的掩膜帧。假设按照第二像素个数(例如,4个像素个数)对原始掩膜区域进行扩张,得到第二掩膜区域(即,由标记为“1”构成的灰色区域)。基于此,得到如图8中(e)图所示的掩膜帧。基于此,对第一掩膜区域以及第二掩膜区域进行异或操作,得到如图8中(f)图所示的目标掩膜帧,其中,目标掩膜帧包括目标掩膜区域(即,由标记为“1”构成的灰色区域)。
以此类推,对每个原始掩膜帧进行处理,直至得到目标掩膜样本序列。目标掩膜样本序列可表示为{mdst=mda^mdb}(t=1,2,…,K)。其中,mdst表示第t个目标掩膜帧,mda表示包括第一掩膜区域的掩膜帧,a表示第一像素个数,md9表示包括第二掩膜区域的掩膜帧,b表示第二像素个数,“^”表示异或操作符。
实际应用中,第一像素个数可以是7,第二像素个数可以是9,由此,目标掩膜样本序列可表示为{mdst=md7^md9}(t=1,2,…,K)。需要说明的是,第一像素个数和第二像素个数还可以根据情况进行调整,此处不做限定。
再次,本申请实施例中,提供了一种扩张原始掩膜区域的方式。通过上述方式,原始掩膜区域内部的光流是通过周边的光流得到的,如果周边的光流比较混乱,那么原始掩膜区域内部的光流也无法得到很好的填充。考虑到紧贴原始掩膜区域的像素点可能存在一些噪声,因此,偏离原始掩膜区域而得到的目标掩膜区域具有更少的噪声,从而有利于提升光流质量的判定效果。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据视频样本序列获取光流数据序列,具体可以包括:
针对视频样本序列中的每个视频帧对,根据后一个视频帧中各个像素点相对于前一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将K个光流数据作为光流数据序列;
或,
根据视频样本序列获取光流数据序列,具体可以包括:
针对视频样本序列中的每个视频帧对,根据前一个视频帧中各个像素点相对于后一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将K个光流数据作为光流数据序列。
在一个或多个实施例中,介绍了一种基于视频帧对确定光流数据的两种方式。由前述实施例可知,视频样本序列包括K个视频帧对,每个视频帧对包括两个视频帧。若视频帧已经过尺寸归一化处理,则视频样本序列可表示为xsr={(xr1,xr2),((xr11,xr12),…}。假设视频帧的尺寸为512×288,那么光流数据Flt表示通道数为2,尺寸大小为512×288的光流矩阵。而光流数据序列表示为{Flt}(t=1,…,K)。由此,结合光流数据可确定各个像素点对应的二维光流值(w′,h′),其中,w′表示像素点的水平偏移量,h′表示像素点的竖直偏移量。
下面将以一个像素点的为例,结合图示介绍确定光流数据的方式。
一、基于前向光流确定光流数据;
具体地,若采用前向光流,则需要根据后一个视频帧中各个像素点相对于前一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据。为了便于理解,请参阅图9,图9为本申请实施例中基于前向光流确定二维光流值的一个示意图,在前一个视频帧中,像素点坐标为(3,4)。在后一个视频帧中,像素点坐标为(4,5)。该像素点从后一个视频帧到前一个视频帧的水平偏移量为1(即,4-3),竖直偏移量为1(即,5-4),可见,该像素点的二维光流值为(1,1)。
二、基于后向光流确定光流数据;
具体地,若采用后向光流,则需要根据前一个视频帧中各个像素点相对于后一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据。为了便于理解,请参阅图10,图10为本申请实施例中基于后向光流确定二维光流值的一个示意图,在前一个视频帧中,像素点坐标为(1,3)。在后一个视频帧中,像素点坐标为(4,5)。该像素点从前一个视频帧到后一个视频帧的水平偏移量为-4(即,1-4),竖直偏移量为-2(即,3-5),可见,该像素点的二维光流值为(-4,-2)。
其次,本申请实施例中,提供了一种基于视频帧对确定光流数据的两种方式。通过上述方式,支持基于前向光流或后向光流生成光流数据,从而提升方案的灵活性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果,具体可以包括:
针对每个目标掩膜帧,根据光流数据序列中对应的光流数据,确定目标掩膜区域中X个像素点的二维光流值,其中,X为大于1的整数;
针对每个目标掩膜帧,根据X个像素点的二维光流值,对X个像素点进行聚类处理,得到光流聚类结果。
在一个或多个实施例中,介绍了一种对目标掩膜区域内的像素点进行聚类的方式。由前述实施例可知,目标掩膜样本序列包括K个目标掩膜帧,需要对每个目标掩膜帧中目标掩膜区域内的像素点进行光流聚类。可以理解的是,实际情况下,目标掩膜区域所包括的像素点数量可能较大,因此,还可以预先对目标掩膜区域内的像素点进行随机采样,得到X个像素点。其中,X为大于1的整数,例如,X可以设置为15000。
具体地,目标掩膜样本序列为{mdst}(t=1,2,…,K),光流数据序列为{Flt}(t=1,…,K)。基于此,可计算其中,“*”表示元素相乘,由此,可保留目标掩膜帧内标记为“1”的像素点所对应的二维光流值,而其余部分置为0。于是,可采用DBSCAN算法对目标掩膜帧内的X个像素点进行聚类,聚类依据为每个像素点的二维光流值,以此得到目标掩膜帧的光流聚类结果。
需要说明的是,每个目标掩膜帧的光流聚类结果包括经过聚类后各个像素点对应的类别标签。其中,类别标签为“0”的像素点属于噪声像素点,需要进行剔除,剔除后得到目标掩膜帧所对应的总类别数量。以第t个目标掩膜帧为例,其对应的总类别数量可表示为Ct,即,具有Ct个聚类簇。聚类簇可包括Nct个像素点个数。
其次,本申请实施例中,提供了一种对目标掩膜区域内的像素点进行聚类的方式。通过上述方式,可采用DBSCAN算法对像素点进行聚类,一方面能够实现自适应聚类,无需提前设定类别数量。另一方面,DBSCAN算法能够较好地判断离群点,且能发现任意形状的聚类簇。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据每个目标掩膜帧的光流聚类结果,确定光流质量分值,具体可以包括:
根据每个目标掩膜帧的光流聚类结果,确定每个目标掩膜帧的总类别数量;
统计总类别数量小于或等于类别数量阈值的帧数;
根据帧数与K值之间的比值,确定类别单一比例;
若类别单一比例大于比例阈值,则确定光流质量分值为第一分值;
若类别单一比例小于或等于比例阈值,则确定光流质量分值为第二分值。
在一个或多个实施例中,提供了一种基于类别单一比例(clean rate,CR)确定光流质量分值的方式。由前述实施例可知,每个目标掩膜帧的光流聚类结果包括经过聚类后各个像素点对应的类别标签。于是,可剔除类别标签为“0”的像素点,由此得到目标掩膜帧所对应的类别数量。
其中,CR表示类别单一比例。t表示目标掩膜帧的帧号,K表示目标掩膜帧的总帧数。c表示类别标签,Ct表示第t个目标掩膜帧的总类别数量。i表示像素编号,Nct表示第t个目标掩膜帧对应第c个类别标签的像素个数。表示示性函数,输入为1则返回1,否则返回0。
基于此,可统计出K个目标掩膜帧中,总类别数量小于或等于类别数量阈值(例如,1)的帧数占比,即,得到类别单一比例。
结合类别单一比例,可定义光流质量的判别标准为:
其中,Q表示光流质量分值。CR表示类别单一比例。CRthreshold表示比例阈值,示例性地,比例阈值可设置为0.8,或者其他合理取值,此处不做限定。
其次,本申请实施例中,提供了一种基于类别单一比例确定光流质量分值的方式。通过上述方式,考虑到由于类别单一比例越大,表示总类别数量越少,视频光流越稳定。因此,利用类别单一比例能够过滤掉光流受到干扰的视频,由此能够作为判定光流质量的依据,从而提升方案的可行性和可操作性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据每个目标掩膜帧的光流聚类结果,确定光流质量分值,具体可以包括:
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定每个聚类簇的移动平均值,其中,光流聚类结果用于确定一个或多个聚类簇;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若移动总距离大于或等于距离阈值,则确定光流质量分值为第一分值;
若移动总距离小于距离阈值,则确定光流质量分值为第二分值。
在一个或多个实施例中,介绍了一种基于移动总距离确定光流质量分值的方式。由前述实施例可知,每个目标掩膜帧的光流聚类结果包括经过聚类后各个像素点对应的类别标签。于是,可剔除类别标签为“0”的像素点,由此得到目标掩膜帧所对应的类别数量。
其中,D表示移动总距离。Dt表示第t个目标掩膜帧的移动平均值。t表示目标掩膜帧的帧号,K表示目标掩膜帧的总帧数。
可采用如下方式计算目标掩膜帧的移动平均值:
可采用如下方式计算聚类簇的移动平均:
其中,表示第t个目标掩膜帧中第c个聚类簇的移动平均值。表示第t个目标掩膜帧中第c个聚类簇内第i个像素点的二维光流值。i表示像素编号,Nct表示第t个目标掩膜帧对应第c个类别标签的像素个数。||.||表示欧式距离。
基于此,可统计出K个目标掩膜帧的移动总距离。结合移动总距离,可定义光流质量的判别标准为:
其中,Q表示光流质量分值。D表示移动总距离。Dthreshold表示距离阈值,示例性地,距离阈值可设置为4,或者其他合理取值,此处不做限定。
其次,本申请实施例中,提供了一种基于移动总距离确定光流质量分值的方式。通过上述方式,考虑到由于移动总距离越大,表示帧运动越明显,有利于进行光流估计。因此,利用移动总距离过滤掉出较为静止的视频,由此能够作为判定光流质量的依据,从而提升方案的可行性和可操作性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据每个目标掩膜帧的光流聚类结果,确定光流质量分值,具体可以包括:
根据每个目标掩膜帧的光流聚类结果,确定每个目标掩膜帧的总类别数量;
统计总类别数量小于或等于类别数量阈值的帧数;
根据帧数与K值之间的比值,确定类别单一比例;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定每个聚类簇的移动平均值,其中,光流聚类结果用于确定一个或多个聚类簇;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若类别单一比例大于比例阈值,且,移动总距离大于或等于距离阈值,则确定光流质量分值为第一分值;
若类别单一比例小于或等于比例阈值,且,移动总距离小于距离阈值,则确定光流质量分值为第二分值。
在一个或多个实施例中,介绍了一种基于类别单一比例以及移动总距离,共同确定光流质量分值的方式。由前述实施例可知,一方面可统计K个目标掩膜帧中,总类别数量小于或等于类别数量阈值(例如,1)的帧数占比,即,得到类别单一比例。另一方面可统计出K个目标掩膜帧的移动总距离。可以理解的是,类别单一比例和移动总距离的确定方式可参阅前述实施例,此处不做赘述。
具体地,结合类别单一比例和移动总距离,可定义光流质量的判别标准为:
其中,Q表示光流质量分值。D表示移动总距离。Dthreshold表示距离阈值,示例性地,距离阈值可设置为4,或者其他合理取值,此处不做限定。CR表示类别单一比例。CRthreshold表示比例阈值,示例性地,比例阈值可设置为0.8,或者其他合理取值,此处不做限定。
其次,本申请实施例中,提供了一种基于类别单一比例以及移动总距离,共同确定光流质量分值的方式。通过上述方式,一方面利用类别单一比例,能够过滤掉光流受到干扰的视频,另一方面,利用移动总距离,能够过滤掉出较为静止的视频。由此,两者相结合可以更全面准确地反映光流质量,从而提升光流质量分值的可靠性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理,具体可以包括:
若光流质量分值为第一分值,则采用光流法对待修复视频进行修复处理。
若光流质量分值为第二分值,则调用神经网络对待修复视频进行修复处理。
在一个或多个实施例中,介绍了一种基于光流质量分值实现视频修复的方法。由前述实施例可知,光流质量分值可以为第一分值或第二分值,下面将以第一分值为“1”,第二分值为“0”作为示例进行介绍。
具体地,可采用如下方式选择视频修复方式:
其中,F1(x,m)表示采用光流法进行视频修复处理。F2(x,m)表示调用神经网络进行视频修复处理。Q表示光流质量分值。
需要说明的是,本申请的目标是求解视频序列y={yt}(t=0,1,2,…,T)。该视频序列仅在原始掩膜区域与待修复视频相异,使得视频序列在时间和空间上是自然且一致的。由于自然和一致难以进行公式化定义,因此,在进行神经网络训练时,希望填充完成的视频序列与真实视频序列ygt接近。其中,ygt表示不带原始掩膜区域的视频序列真值。基于此,通过构建算法F,视频序列y的求解可以被定义为y=F(x,m)。
其次,本申请实施例中,提供了一种基于光流质量分值实现视频修复的方法。通过上述方式,在进行视频修复前,如果判断光流质量良好,则使用直接光流法即可得到清晰可靠的填充内容。如果光流不可靠,那么采用模型法填充内容,从而能够规避光流估计失准带来的错误填充,得到整体更加稳定的填充效果。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
显示待修复视频以及修复对象列表,其中,修复对象列表包括至少一个可修复对象;
响应针对于目标对象的选择指令,执行获取针对待修复视频的视频样本序列的步骤,其中,目标对象属于至少一个可修复对象;
采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理之后,还可以包括:
响应针对已修复视频的播放指令,播放已修复视频。
在一个或多个实施例中,介绍了一种智能修复视频的方式。由前述实施例可知,本申请可应用于各类视频修复任务,例如,移除标志,移除字幕,移除物体等。如果用户希望使用某些平台的视频,但由于视频带有标志,影响观感,那么可以使用视频修复应用进行台标去除。类似地,用户可以将字幕从一些视频中抹除,或者,将某些运动物体从视频中移除。下面将结合图示进行分别进行介绍。
示例性地,请参阅图11,图11为本申请实施例中基于视频修复应用移除标志的一个效果示意图,如图所示,在视频修复应用提供的界面上显示待修复视频以及修复对象列表,其中,修复对象列表显示有至少一个可修复对象(例如,标志,字幕,船,云朵等)。假设用户选择“标志”对应的控件,由此,触发针对目标对象(即,标志)的选择指令。于是,响应该选择指令,并调用视频修复功能。基于此,采用合适的视频修复方式对视频进行修复,以此得到已修复视频。可见,已修复视频中不存在标志。
当用户触发针对已修复视频的播放指令时,可播放已修复视频。
示例性地,请参阅图12,图12为本申请实施例中基于视频修复应用移除字幕的一个效果示意图,如图所示,在视频修复应用提供的界面上显示待修复视频以及修复对象列表,其中,修复对象列表显示有至少一个可修复对象(例如,标志,字幕,船,云朵等)。假设用户选择“字幕”对应的控件,由此,触发针对目标对象(即,字幕)的选择指令。于是,响应该选择指令,并调用视频修复功能。基于此,采用合适的视频修复方式对视频进行修复,以此得到已修复视频。可见,已修复视频中不存在字幕。
当用户触发针对已修复视频的播放指令时,可播放已修复视频。
示例性地,请参阅图13,图13为本申请实施例中基于视频修复应用移除物体的一个效果示意图,如图所示,在视频修复应用提供的界面上显示待修复视频以及修复对象列表,其中,修复对象列表显示有至少一个可修复对象(例如,标志,字幕,船,云朵等)。假设用户选择“船”对应的控件,由此,触发针对目标对象(即,船)的选择指令。于是,响应该选择指令,并调用视频修复功能。基于此,采用合适的视频修复方式对视频进行修复,以此得到已修复视频。可见,已修复视频中不存在物体“船”。
当用户触发针对已修复视频的播放指令时,可播放已修复视频。
需要说明的是,图11,图12和图13示出的界面元素,界面排布方式以及界面文案等,均为一个示意,不应理解为对本申请的限定。
其次,本申请实施例中,提供了一种智能修复视频的方式。通过上述方式,用户可借助视频修复应用选择对视频中的一个或多个对象进行修复,达到智能化修复的目的。由此,不仅提升方案的实用性,还能够提升视频修复效率。
可见,本申请能够准确并高效地进判断出视频片段中光流质量的优劣,即,在调用视频修复方式之前选择光流法或者模型法,使得修复效果要优于二者单独使用的效果。下面将结合实例介绍基于光流法和模型法实现视频帧修复的效果。请参阅图14,图14为本申请实施例中基于光流法和模型法实现视频帧修复的效果对比示意图,如图所示,一个示例中,图14中(a)图示出的是基于光流法填充的效果,图14中(b)图示出的是基于模型法填充的效果。其中,原始掩膜区域位于视频帧的左下角(即,矩形框圈出的区域),案例中镜头移动平滑,光流估计良好,因此,本申请选择使用光流法进行填充。另一个示例中,图14中(c)图示出的是基于光流法填充的效果,图14中(d)图示出的是基于模型法填充的效果。其中,原始掩膜区域位于视频帧的左下角(即,矩形框圈出的区域),案例由于光流受到人物手表的影响,因此,本申请选择使用模型法进行填充。
下面对本申请中的视频修复装置进行详细描述,请参阅图15,图15为本申请实施例中视频修复装置的一个实施例示意图,视频修复装置20包括:
获取模块210,用于获取针对待修复视频的视频样本序列,其中,视频样本序列包括K个视频帧对,每个视频帧对包括相邻的两个视频帧,K为大于或等于1的整数;
获取模块210,还用于根据视频样本序列获取目标掩膜样本序列,其中,目标掩膜样本序列包括K个目标掩膜帧,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域,且,每个目标掩膜帧与每个视频帧对具有对应关系;
获取模块210,还用于根据视频样本序列获取光流数据序列,其中,光流数据序列包括K个光流数据,且,每个光流数据与每个视频帧对具有对应关系;
处理模块220,用于基于光流数据序列中的各个光流数据,对每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到每个目标掩膜帧的光流聚类结果;
确定模块230,用于根据每个目标掩膜帧的光流聚类结果,确定光流质量分值;
修复模块240,用于采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理。
本申请实施例中,提供了一种视频修复装置。采用上述装置,利用被遮掩区域的光流聚类结果对光流质量进行预判,在光流质量较好的情况下,可使用光流法作为视频修复方式,以获得清晰度及可信度较高的填充内容。在光流质量较差的情况下,可使用使用生成模型作为视频修复方式,得到稳定性较高的填充效果。可见,本申请将光流质量作为选择视频修复方式的依据,达到不同视频修复方式之间取长补短的目的,从而有利于获得修复效果更好的视频画面。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
获取模块210,具体用于从待修复视频中获取视频序列,其中,视频序列包括T个原始视频帧,每个原始视频帧显示有目标对象,T为大于1的整数;
从视频序列中抽取K个待处理视频帧对,其中,每个待处理视频帧对包括相邻的两个原始视频帧;
对每个待处理视频帧对中各个原始视频帧的尺寸进行归一化处理,得到K个视频帧对,并将K个视频帧对作为视频样本序列。
本申请实施例中,提供了一种视频修复装置。采用上述装置,一方面从视频序列中抽取若干个待处理视频帧对用于后续处理,由此,能够减少数据处理量,节省数据处理资源。另一方面,对原始视频帧进行尺寸归一化处理,不仅可以对齐各个视频帧的统计量,还能够缩小视频帧的尺寸,从而提升处理效率。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
获取模块210,具体用于针对视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧或后一个视频帧获取原始掩膜帧,其中,原始掩膜帧包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将K个目标掩膜帧作为目标掩膜样本序列。
本申请实施例中,提供了一种视频修复装置。采用上述装置,考虑到视频帧对中前后两个视频帧的原始掩膜区域差别不大,因此,可以仅对其中一个原始掩膜帧进行区域扩张处理,由此降低操作的复杂度。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
获取模块210,具体用于针对视频样本序列中的每个视频帧对,按照第一像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对视频样本序列中的每个视频帧对,按照第二像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,第二像素个数大于第一像素个数;
针对视频样本序列中的每个视频帧对,对第一掩膜区域以及第二掩膜区域进行异或操作,得到目标掩膜帧。
本申请实施例中,提供了一种视频修复装置。采用上述装置,原始掩膜区域内部的光流是通过周边的光流得到的,如果周边的光流比较混乱,那么原始掩膜区域内部的光流也无法得到很好的填充。考虑到紧贴原始掩膜区域的像素点可能存在一些噪声,因此,偏离原始掩膜区域而得到的目标掩膜区域具有更少的噪声,从而有利于提升光流质量的判定效果。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
获取模块210,具体用于针对视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧获取第一原始掩膜帧,并根据视频帧对中的后一个视频帧获取第二原始掩膜帧,其中,第一原始掩膜帧以及第二原始掩膜帧分别包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对视频样本序列中的每个视频帧对,对第一原始掩膜帧以及第二原始掩膜帧进行并集处理,得到原始掩膜帧;
针对视频样本序列中的每个视频帧对,对原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将K个目标掩膜帧作为目标掩膜样本序列。
本申请实施例中,提供了一种视频修复装置。采用上述装置,考虑到视频帧对中前后两个视频帧的原始掩膜区域可能具有差异,因此,可以先对前后两帧的原始掩膜区域取并集,能够获得的更准确的原始掩膜区域。由此,提升视频帧的处理效果。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
获取模块210,具体用于针对视频样本序列中的每个视频帧对,按照第一像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对视频样本序列中的每个视频帧对,按照第二像素个数对原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,第二像素个数大于第一像素个数;
针对视频样本序列中的每个视频帧对,对第一掩膜区域以及第二掩膜区域进行异或操作,得到目标掩膜帧。
本申请实施例中,提供了一种视频修复装置。采用上述装置,原始掩膜区域内部的光流是通过周边的光流得到的,如果周边的光流比较混乱,那么原始掩膜区域内部的光流也无法得到很好的填充。考虑到紧贴原始掩膜区域的像素点可能存在一些噪声,因此,偏离原始掩膜区域而得到的目标掩膜区域具有更少的噪声,从而有利于提升光流质量的判定效果。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
获取模块210,具体用于针对视频样本序列中的每个视频帧对,根据后一个视频帧中各个像素点相对于前一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将K个光流数据作为光流数据序列;
或,
获取模块210,具体用于针对视频样本序列中的每个视频帧对,根据前一个视频帧中各个像素点相对于后一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将K个光流数据作为光流数据序列。
本申请实施例中,提供了一种视频修复装置。采用上述装置,支持基于前向光流或后向光流生成光流数据,从而提升方案的灵活性。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
处理模块220,具体用于针对每个目标掩膜帧,根据光流数据序列中对应的光流数据,确定目标掩膜区域中X个像素点的二维光流值,其中,X为大于1的整数;
针对每个目标掩膜帧,根据X个像素点的二维光流值,对X个像素点进行聚类处理,得到光流聚类结果。
本申请实施例中,提供了一种视频修复装置。采用上述装置,可采用DBSCAN算法对像素点进行聚类,一方面能够实现自适应聚类,无需提前设定类别数量。另一方面,DBSCAN算法能够较好地判断离群点,且能发现任意形状的聚类簇。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
确定模块230,具体用于根据每个目标掩膜帧的光流聚类结果,确定每个目标掩膜帧的总类别数量;
统计总类别数量小于或等于类别数量阈值的帧数;
根据帧数与K值之间的比值,确定类别单一比例;
若类别单一比例大于比例阈值,则确定光流质量分值为第一分值;
若类别单一比例小于或等于比例阈值,则确定光流质量分值为第二分值。
本申请实施例中,提供了一种视频修复装置。采用上述装置,考虑到由于类别单一比例越大,表示总类别数量越少,视频光流越稳定。因此,利用类别单一比例能够过滤掉光流受到干扰的视频,由此能够作为判定光流质量的依据,从而提升方案的可行性和可操作性。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
确定模块230,具体用于针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定每个聚类簇的移动平均值,其中,光流聚类结果用于确定一个或多个聚类簇;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若移动总距离大于或等于距离阈值,则确定光流质量分值为第一分值;
若移动总距离小于距离阈值,则确定光流质量分值为第二分值。
本申请实施例中,提供了一种视频修复装置。采用上述装置,考虑到由于移动总距离越大,表示帧运动越明显,有利于进行光流估计。因此,利用移动总距离过滤掉出较为静止的视频,由此能够作为判定光流质量的依据,从而提升方案的可行性和可操作性。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
确定模块230,具体用于根据每个目标掩膜帧的光流聚类结果,确定每个目标掩膜帧的总类别数量;
统计总类别数量小于或等于类别数量阈值的帧数;
根据帧数与K值之间的比值,确定类别单一比例;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定每个聚类簇的移动平均值,其中,光流聚类结果用于确定一个或多个聚类簇;
针对每个目标掩膜帧的光流聚类结果,根据每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若类别单一比例大于比例阈值,且,移动总距离大于或等于距离阈值,则确定光流质量分值为第一分值;
若类别单一比例小于或等于比例阈值,且,移动总距离小于距离阈值,则确定光流质量分值为第二分值。
本申请实施例中,提供了一种视频修复装置。采用上述装置,一方面利用类别单一比例,能够过滤掉光流受到干扰的视频,另一方面,利用移动总距离,能够过滤掉出较为静止的视频。由此,两者相结合可以更全面准确地反映光流质量,从而提升光流质量分值的可靠性。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,
修复模块240,具体用于若光流质量分值为第一分值,则采用光流法对待修复视频进行修复处理。
若光流质量分值为第二分值,则调用神经网络对待修复视频进行修复处理。
本申请实施例中,提供了一种视频修复装置。采用上述装置,在进行视频修复前,如果判断光流质量良好,则使用直接光流法即可得到清晰可靠的填充内容。如果光流不可靠,那么采用模型法填充内容,从而能够规避光流估计失准带来的错误填充,得到整体更加稳定的填充效果。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的视频修复装置20的另一实施例中,视频修复装置20还包括显示模块250;
显示模块250,用于显示待修复视频以及修复对象列表,其中,修复对象列表包括至少一个可修复对象;
获取模块210,还用于响应针对于目标对象的选择指令,执行获取针对待修复视频的视频样本序列的步骤,其中,目标对象属于至少一个可修复对象;
显示模块250,还用于采用与光流质量分值匹配的视频修复方式,对待修复视频进行修复处理之后,响应针对已修复视频的播放指令,播放已修复视频。
本申请实施例中,提供了一种视频修复装置。采用上述装置,用户可借助视频修复应用选择对视频中的一个或多个对象进行修复,达到智能化修复的目的。由此,不仅提升方案的实用性,还能够提升视频修复效率。
本申请实施例还提供了一种终端,如图16所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。在本申请实施例中,以终端为手机为例进行说明:
图16示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图16,手机包括:射频(radio frequency,RF)电路310、存储器320、输入单元330、显示单元340、传感器350、音频电路360、无线保真(wireless fidelity,WiFi)模块370、处理器380、以及电源390等部件。本领域技术人员可以理解,图16中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图16对手机的各个构成部件进行具体的介绍:
RF电路310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器380处理;另外,将设计上行的数据发送给基站。通常,RF电路310包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器320可用于存储软件程序以及模块,处理器380通过运行存储在存储器320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元330可包括触控面板331以及其他输入设备332。触控面板331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板331上或在触控面板331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器380,并能接收处理器380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板331。除了触控面板331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元340可包括显示面板341,可选的,可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板341。进一步的,触控面板331可覆盖显示面板341,当触控面板331检测到在其上或附近的触摸操作后,传送给处理器380以确定触摸事件的类型,随后处理器380根据触摸事件的类型在显示面板341上提供相应的视觉输出。虽然在图16中,触控面板331与显示面板341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板331与显示面板341集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路360、扬声器361,传声器362可提供用户与手机之间的音频接口。音频电路360可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器380处理后,经RF电路310以发送给比如另一手机,或者将音频数据输出至存储器320以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图16示出了WiFi模块370,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行手机的各种功能和处理数据。可选的,处理器380可包括一个或多个处理单元;可选的,处理器380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器380中。
手机还包括给各个部件供电的电源390(比如电池),可选的,电源可以通过电源管理系统与处理器380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述实施例中由终端所执行的步骤可以基于该图16所示的终端结构。
图17是本申请实施例提供的一种服务器结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图17所示的服务器结构。
本申请实施例中还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时,实现前述各个实施例描述方法的步骤。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现前述各个实施例描述方法的步骤。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现前述各个实施例描述方法的步骤。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是服务器或终端等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
1.一种视频修复的方法,其特征在于,包括:
获取针对待修复视频的视频样本序列,其中,所述视频样本序列包括K个视频帧对,每个视频帧对包括相邻的两个视频帧,所述K为大于或等于1的整数;
根据所述视频样本序列获取目标掩膜样本序列,其中,所述目标掩膜样本序列包括K个目标掩膜帧,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域,且,所述每个目标掩膜帧与所述每个视频帧对具有对应关系;
根据所述视频样本序列获取光流数据序列,其中,所述光流数据序列包括K个光流数据,且,每个光流数据与所述每个视频帧对具有对应关系;
基于所述光流数据序列中的各个光流数据,对所述每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到所述每个目标掩膜帧的光流聚类结果;
根据所述每个目标掩膜帧的光流聚类结果,确定光流质量分值;
采用与所述光流质量分值匹配的视频修复方式,对所述待修复视频进行修复处理。
2.根据权利要求1所述的方法,其特征在于,所述获取针对待修复视频的视频样本序列,包括:
从所述待修复视频中获取视频序列,其中,所述视频序列包括T个原始视频帧,每个原始视频帧显示有目标对象,所述T为大于1的整数;
从所述视频序列中抽取K个待处理视频帧对,其中,所述每个待处理视频帧对包括相邻的两个原始视频帧;
对所述每个待处理视频帧对中各个原始视频帧的尺寸进行归一化处理,得到所述K个视频帧对,并将所述K个视频帧对作为所述视频样本序列。
3.根据权利要求1所述的方法,其特征在于,所述根据所述视频样本序列获取目标掩膜样本序列,包括:
针对所述视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧或后一个视频帧获取原始掩膜帧,其中,所述原始掩膜帧包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对所述视频样本序列中的每个视频帧对,对所述原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将所述K个目标掩膜帧作为所述目标掩膜样本序列。
4.根据权利要求3所述的方法,其特征在于,所述针对所述视频样本序列中的每个视频帧对,对所述原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧,包括:
针对所述视频样本序列中的每个视频帧对,按照第一像素个数对所述原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对所述视频样本序列中的每个视频帧对,按照第二像素个数对所述原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,所述第二像素个数大于所述第一像素个数;
针对所述视频样本序列中的每个视频帧对,对所述第一掩膜区域以及所述第二掩膜区域进行异或操作,得到所述目标掩膜帧。
5.根据权利要求1所述的方法,其特征在于,所述根据所述视频样本序列获取目标掩膜样本序列,包括:
针对所述视频样本序列中的每个视频帧对,根据视频帧对中的前一个视频帧获取第一原始掩膜帧,并根据视频帧对中的后一个视频帧获取第二原始掩膜帧,其中,所述第一原始掩膜帧以及所述第二原始掩膜帧分别包括对目标对象进行掩膜处理后得到的原始掩膜区域;
针对所述视频样本序列中的每个视频帧对,对所述第一原始掩膜帧以及所述第二原始掩膜帧进行并集处理,得到原始掩膜帧;
针对所述视频样本序列中的每个视频帧对,对所述原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧;
将所述K个目标掩膜帧作为所述目标掩膜样本序列。
6.根据权利要求5所述的方法,其特征在于,所述针对所述视频样本序列中的每个视频帧对,对所述原始掩膜帧中的原始掩膜区域进行扩张,得到目标掩膜帧,包括:
针对所述视频样本序列中的每个视频帧对,按照第一像素个数对所述原始掩膜帧中的原始掩膜区域进行扩张,得到第一掩膜区域;
针对所述视频样本序列中的每个视频帧对,按照第二像素个数对所述原始掩膜帧中的原始掩膜区域进行扩张,得到第二掩膜区域,其中,所述第二像素个数大于所述第一像素个数;
针对所述视频样本序列中的每个视频帧对,对所述第一掩膜区域以及所述第二掩膜区域进行异或操作,得到所述目标掩膜帧。
7.根据权利要求1所述的方法,其特征在于,所述根据所述视频样本序列获取光流数据序列,包括:
针对所述视频样本序列中的每个视频帧对,根据后一个视频帧中各个像素点相对于前一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将所述K个光流数据作为所述光流数据序列;
或,
所述根据所述视频样本序列获取光流数据序列,包括:
针对所述视频样本序列中的每个视频帧对,根据前一个视频帧中各个像素点相对于后一个视频帧中各个像素点的水平偏移量以及竖直偏移量,确定光流数据;
将所述K个光流数据作为所述光流数据序列。
8.根据权利要求1所述的方法,其特征在于,所述基于所述光流数据序列中的各个光流数据,对所述每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到所述每个目标掩膜帧的光流聚类结果,包括:
针对所述每个目标掩膜帧,根据所述光流数据序列中对应的光流数据,确定所述目标掩膜区域中X个像素点的二维光流值,其中,所述X为大于1的整数;
针对所述每个目标掩膜帧,根据所述X个像素点的二维光流值,对所述X个像素点进行聚类处理,得到所述光流聚类结果。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述每个目标掩膜帧的光流聚类结果,确定光流质量分值,包括:
根据所述每个目标掩膜帧的光流聚类结果,确定所述每个目标掩膜帧的总类别数量;
统计所述总类别数量小于或等于类别数量阈值的帧数;
根据所述帧数与所述K值之间的比值,确定类别单一比例;
若所述类别单一比例大于比例阈值,则确定所述光流质量分值为第一分值;
若所述类别单一比例小于或等于所述比例阈值,则确定所述光流质量分值为第二分值。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述每个目标掩膜帧的光流聚类结果,确定光流质量分值,包括:
针对所述每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定所述每个聚类簇的移动平均值,其中,所述光流聚类结果用于确定一个或多个聚类簇;
针对所述每个目标掩膜帧的光流聚类结果,根据所述每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对所述每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若所述移动总距离大于或等于距离阈值,则确定所述光流质量分值为第一分值;
若所述移动总距离小于所述距离阈值,则确定所述光流质量分值为第二分值。
11.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述每个目标掩膜帧的光流聚类结果,确定光流质量分值,包括:
根据所述每个目标掩膜帧的光流聚类结果,确定所述每个目标掩膜帧的总类别数量;
统计所述总类别数量小于或等于类别数量阈值的帧数;
根据所述帧数与所述K值之间的比值,确定类别单一比例;
针对所述每个目标掩膜帧的光流聚类结果,根据每个聚类簇中各个像素点的二维光流值,确定所述每个聚类簇的移动平均值,其中,所述光流聚类结果用于确定一个或多个聚类簇;
针对所述每个目标掩膜帧的光流聚类结果,根据所述每个聚类簇的移动平均值,确定目标掩膜帧的移动平均值;
对所述每个目标掩膜帧的移动平均值进行累加处理,得到移动总距离;
若所述类别单一比例大于比例阈值,且,所述移动总距离大于或等于距离阈值,则确定所述光流质量分值为第一分值;
若所述类别单一比例小于或等于所述比例阈值,且,所述移动总距离小于所述距离阈值,则确定所述光流质量分值为第二分值。
12.根据权利要求1所述的方法,其特征在于,所述采用与所述光流质量分值匹配的视频修复方式,对所述待修复视频进行修复处理,包括:
若所述光流质量分值为第一分值,则采用光流法对所述待修复视频进行修复处理;
若所述光流质量分值为第二分值,则调用神经网络对所述待修复视频进行修复处理。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
显示所述待修复视频以及修复对象列表,其中,所述修复对象列表包括至少一个可修复对象;
响应针对于目标对象的选择指令,执行所述获取针对待修复视频的视频样本序列的步骤,其中,所述目标对象属于所述至少一个可修复对象;
所述采用与所述光流质量分值匹配的视频修复方式,对所述待修复视频进行修复处理之后,所述方法还包括:
响应针对已修复视频的播放指令,播放所述已修复视频。
14.一种视频修复装置,其特征在于,包括:
获取模块,用于获取针对待修复视频的视频样本序列,其中,所述视频样本序列包括K个视频帧对,每个视频帧对包括相邻的两个视频帧,所述K为大于或等于1的整数;
所述获取模块,还用于根据所述视频样本序列获取目标掩膜样本序列,其中,所述目标掩膜样本序列包括K个目标掩膜帧,每个目标掩膜帧包括对原始掩膜区域进行扩张后得到的目标掩膜区域,且,所述每个目标掩膜帧与所述每个视频帧对具有对应关系;
所述获取模块,还用于根据所述视频样本序列获取光流数据序列,其中,所述光流数据序列包括K个光流数据,且,每个光流数据与所述每个视频帧对具有对应关系;
处理模块,用于基于所述光流数据序列中的各个光流数据,对所述每个目标掩膜帧中目标掩膜区域所包括的像素点进行聚类处理,得到所述每个目标掩膜帧的光流聚类结果;
确定模块,用于根据所述每个目标掩膜帧的光流聚类结果,确定光流质量分值;
修复模块,用于采用与所述光流质量分值匹配的视频修复方式,对所述待修复视频进行修复处理。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355594.2A CN115170400A (zh) | 2022-04-06 | 2022-04-06 | 一种视频修复的方法、相关装置、设备以及存储介质 |
PCT/CN2023/075576 WO2023193521A1 (zh) | 2022-04-06 | 2023-02-13 | 一种视频修复的方法、相关装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355594.2A CN115170400A (zh) | 2022-04-06 | 2022-04-06 | 一种视频修复的方法、相关装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115170400A true CN115170400A (zh) | 2022-10-11 |
Family
ID=83482792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210355594.2A Pending CN115170400A (zh) | 2022-04-06 | 2022-04-06 | 一种视频修复的方法、相关装置、设备以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115170400A (zh) |
WO (1) | WO2023193521A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116229337A (zh) * | 2023-05-10 | 2023-06-06 | 瀚博半导体(上海)有限公司 | 用于视频处理的方法、装置、系统、设备和介质 |
WO2023193521A1 (zh) * | 2022-04-06 | 2023-10-12 | 腾讯科技(深圳)有限公司 | 一种视频修复的方法、相关装置、设备以及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055828B2 (en) * | 2019-05-09 | 2021-07-06 | Adobe Inc. | Video inpainting with deep internal learning |
CN110533615A (zh) * | 2019-08-30 | 2019-12-03 | 上海大学 | 一种基于生成对抗网络的老电影大面积破损修复方法 |
CN111105382B (zh) * | 2019-12-31 | 2021-11-16 | 北京大学 | 视频修复方法 |
CN112200732B (zh) * | 2020-04-30 | 2022-10-21 | 南京理工大学 | 一种清晰特征融合的视频去模糊方法 |
CN113436100B (zh) * | 2021-06-28 | 2023-11-28 | 北京百度网讯科技有限公司 | 用于修复视频的方法、装置、设备、介质和产品 |
CN115170400A (zh) * | 2022-04-06 | 2022-10-11 | 腾讯科技(深圳)有限公司 | 一种视频修复的方法、相关装置、设备以及存储介质 |
-
2022
- 2022-04-06 CN CN202210355594.2A patent/CN115170400A/zh active Pending
-
2023
- 2023-02-13 WO PCT/CN2023/075576 patent/WO2023193521A1/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023193521A1 (zh) * | 2022-04-06 | 2023-10-12 | 腾讯科技(深圳)有限公司 | 一种视频修复的方法、相关装置、设备以及存储介质 |
CN116229337A (zh) * | 2023-05-10 | 2023-06-06 | 瀚博半导体(上海)有限公司 | 用于视频处理的方法、装置、系统、设备和介质 |
CN116229337B (zh) * | 2023-05-10 | 2023-09-26 | 瀚博半导体(上海)有限公司 | 用于视频处理的方法、装置、系统、设备和介质 |
CN117152658A (zh) * | 2023-05-10 | 2023-12-01 | 瀚博半导体(上海)有限公司 | 用于视频处理的方法、装置、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023193521A1 (zh) | 2023-10-12 |
WO2023193521A9 (zh) | 2024-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220261960A1 (en) | Super-resolution reconstruction method and related apparatus | |
JP6824433B2 (ja) | カメラ姿勢情報の決定方法、決定装置、モバイル端末及びコンピュータプログラム | |
WO2020177582A1 (zh) | 视频合成的方法、模型训练的方法、设备及存储介质 | |
CN111556278B (zh) | 一种视频处理的方法、视频展示的方法、装置及存储介质 | |
CN109948611B (zh) | 一种信息区域确定的方法、信息展示的方法及装置 | |
CN111652121A (zh) | 一种表情迁移模型的训练方法、表情迁移的方法及装置 | |
CN110852942B (zh) | 一种模型训练的方法、媒体信息合成的方法及装置 | |
US20210152751A1 (en) | Model training method, media information synthesis method, and related apparatuses | |
CN112101329B (zh) | 一种基于视频的文本识别方法、模型训练的方法及装置 | |
CN111582116B (zh) | 一种视频抹除痕迹检测方法、装置、设备和存储介质 | |
CN111672109B (zh) | 一种游戏地图生成的方法、游戏测试的方法以及相关装置 | |
CN115170400A (zh) | 一种视频修复的方法、相关装置、设备以及存储介质 | |
CN108628985B (zh) | 一种相册的处理方法及移动终端 | |
CN113723378B (zh) | 一种模型训练的方法、装置、计算机设备和存储介质 | |
CN110263729A (zh) | 一种镜头边界检测的方法、模型训练方法以及相关装置 | |
CN103869977B (zh) | 图像显示方法、装置和电子设备 | |
CN111556337B (zh) | 一种媒体内容植入方法、模型训练方法以及相关装置 | |
CN112163993A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111914106B (zh) | 纹理与法线库构建方法、纹理与法线图生成方法及装置 | |
CN112270238A (zh) | 一种视频内容识别方法和相关装置 | |
CN115499577B (zh) | 一种图像处理方法及终端设备 | |
CN113709584B (zh) | 视频划分方法、装置、服务器、终端及存储介质 | |
CN113705309A (zh) | 一种景别类型判断方法、装置、电子设备和存储介质 | |
CN113819913A (zh) | 一种路径规划方法及装置、计算机设备和存储介质 | |
CN113723168A (zh) | 一种基于人工智能的主体识别方法、相关装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075319 Country of ref document: HK |