CN115115538A - 视频处理方法、装置、设备及存储介质 - Google Patents
视频处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115115538A CN115115538A CN202210545680.XA CN202210545680A CN115115538A CN 115115538 A CN115115538 A CN 115115538A CN 202210545680 A CN202210545680 A CN 202210545680A CN 115115538 A CN115115538 A CN 115115538A
- Authority
- CN
- China
- Prior art keywords
- sequence
- mask
- frame
- frame sequence
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000005070 sampling Methods 0.000 claims abstract description 197
- 230000003287 optical effect Effects 0.000 claims abstract description 195
- 238000012545 processing Methods 0.000 claims abstract description 195
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000000605 extraction Methods 0.000 claims abstract description 17
- 238000005520 cutting process Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 23
- 230000011218 segmentation Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 39
- 230000000694 effects Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 6
- 230000008439 repair process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000005429 filling process Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012549 training Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本公开实施例提供了一种视频处理方法、装置、设备及存储介质,涉及计算机技术领域,该方法包括:获取待处理视频的第一目标帧序列以及第一目标掩膜序列;进行抽帧处理,得到第一采样帧序列、第一剩余帧序列、第一采样掩膜序列、第一剩余掩膜序列;进行光流传播与图像修复处理,获得第一已修复采样帧序列与第一已修复剩余帧序列;对第一已修复采样帧序列以及第一已修复剩余帧序列进行合并处理,获得待处理视频的已修复视频。本公开可以通过抽帧处理,先处理采样帧序列与第一采样掩膜序列,得到第一已修复采样帧序列。再通过第一已修复采样帧序列对第一剩余帧序列进行处理,获取已修复视频。本公开可以提高视频处理的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种视频处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,对视频进行处理的需求也在逐渐增加。例如,人们可能需要将一段视频中的水印、字幕或者运动物体等进行去除。但是在视频中,水印、字幕或者运动物体等会对视频的背景进行遮挡。因此在去除操作完成之后,视频中会产生由于去除操作而产生的未知区域。因而还需要对视频中的未知区域进行填充与修复等处理,但相关技术中对视频进行修复的方案存在效率较低的问题,难以进行大规模商业部署。
发明内容
本公开实施例提供了一种视频处理方法、装置、设备及存储介质,可用于,提高视频处理的效率。
本公开实施例提供了一种视频处理方法,该方法包括:获取待处理视频的第一目标帧序列以及第一目标掩膜序列;分别对所述第一目标帧序列与所述第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列;对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列;对所述第一已修复采样帧序列、所述第一剩余帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列;对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列进行合并处理,获得所述待处理视频的已修复视频。
本公开实施例提供了一种视频处理装置,该装置包括:获取模块,用于获取待处理视频的第一目标帧序列以及第一目标掩膜序列;抽帧模块,用于分别对所述第一目标帧序列与所述第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列;所述获取模块,还用于对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列;所述获取模块,还用于对所述第一已修复采样帧序列、所述第一剩余帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列;所述获取模块,还用于对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列进行合并处理,获得所述待处理视频的已修复视频。
在本公开的一些示例性实施例中,获取模块,用于对所述第一剩余帧序列进行梯度像素转换处理,获得第一剩余梯度帧序列;根据所述第一剩余帧序列和所述第一采样帧序列,获得第一剩余光流序列;对所述第一剩余光流序列中的掩膜区域进行光流填充处理,获得第一已填充剩余光流序列;对所述第一剩余梯度帧序列、所述第一已填充剩余光流序列、所述第一已修复采样帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,获得所述第一已修复剩余帧序列。
在本公开的一些示例性实施例中,获取模块,用于确定所述第一剩余帧序列中的目标剩余帧;从所述第一采样帧序列中确定所述目标剩余帧的目标前向帧和目标后向帧;获得所述目标前向帧和所述目标剩余帧之间的前向光流图,以及所述目标后向帧和所述目标剩余帧之间的后向光流图;根据所述前向光流图和所述后向光流图,确定所述第一剩余光流序列。
在本公开的一些示例性实施例中,获取模块,用于对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播处理,得到第一更新采样梯度帧序列及第一更新采样掩膜序列;对所述第一更新采样梯度帧序列及所述第一更新采样掩膜序列进行泊松重建处理,获得第一更新采样帧序列;对所述第一更新采样帧序列进行逐帧的图像修复处理,获得所述第一已修复采样帧序列。
在本公开的一些示例性实施例中,获取模块,用于对所述第一采样帧序列进行光流估计处理,获得第一采样光流序列;对所述第一采样帧序列进行梯度像素转换处理,获得第一采样梯度帧序列;对所述第一采样光流序列中的掩膜区域进行光流填充处理,获得第一已填充采样光流序列;根据所述第一已填充采样光流序列对所述第一采样梯度帧序列与所述第一采样掩膜序列进行光流传播处理,获取所述第一更新采样梯度帧序列及所述第一更新采样掩膜序列。
在本公开的一些示例性实施例中,获取模块,用于获取所述待处理视频的第一帧序列及其对应的第一掩膜序列;若所述第一掩膜序列中的掩膜区域的占比小于占比阈值,则根据所述第一掩膜序列确定目标掩膜,所述目标掩膜的掩膜区域覆盖所述第一掩膜序列的掩膜区域;根据所述目标掩膜分别对所述第一帧序列和所述第一掩膜序列进行裁剪处理,获得所述第一目标帧序列和所述第一目标掩膜序列。
在本公开的一些示例性实施例中,获取模块,用于根据所述目标掩膜的掩膜区域的长和宽,获得所述目标掩膜的掩膜区域的对外扩展像素数;根据所述目标掩膜的掩膜区域的长、宽和所述对外扩展像素数,获得所述目标掩膜的掩膜区域的裁剪边界;根据所述目标掩膜的掩膜区域的裁剪边界以及所述目标掩膜的掩膜区域的长和宽,获得包括所述目标掩膜的掩膜区域的裁剪区域;根据所述裁剪区域,对所述第一帧序列和所述第一掩膜序列分别进行裁剪处理,获得所述第一目标帧序列和所述第一目标掩膜序列。
在本公开的一些示例性实施例中,获取模块,用于获取所述待处理视频的第一帧序列及其对应的第一掩膜序列;若所述第一掩膜序列中的掩膜区域的占比大于或等于占比阈值,则分别对所述第一帧序列和所述第一掩膜序列进行缩放处理,获得所述第一目标帧序列和所述第一目标掩膜序列。
在本公开的一些示例性实施例中,获取模块,用于获取所述待处理视频的完整帧序列以及对应的完整掩膜序列;分别对所述完整帧序列和所述完整掩膜序列进行镜头切分处理,获得单镜头帧序列及对应的单镜头掩膜序列;若所述单镜头帧序列及对应的单镜头掩膜序列超过时长阈值,则对所述单镜头帧序列及对应的单镜头掩膜序列进行分段处理,获得分段帧序列及对应的分段掩膜序列,所述分段帧序列包括第一帧序列,所述分段掩膜序列包括第一掩膜序列;根据所述第一帧序列及其对应的第一掩膜序列获得所述第一目标帧序列和所述第一目标掩膜序列。
在本公开的一些示例性实施例中,所述分段帧序列还包括第二帧序列,所述分段掩膜序列还包括第二掩膜序列;获取模块,用于分别将所述第一已修复采样帧序列和所述第一已修复剩余帧序列的尾帧***所述第二帧序列和所述第二掩膜序列,作为所述第二帧序列和所述第二掩膜序列的首帧;对所述第二帧序列和所述第二掩膜序列进行处理,获得第二已修复采样帧序列以及第二已修复剩余帧序列;对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列、以及所述第二已修复采样帧序列以及所述第二已修复剩余帧序列,获得所述已修复视频。
本公开实施例提供了一种计算机设备,包括处理器、存储器、输入输出接口;处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本公开任一实施例中的视频处理方法。
本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本公开任一实施例中的视频处理方法。
本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本公开任一实施例中的各种可选方式中提供的视频处理方法。
本公开实施例提供的技术方案,可以通过抽帧处理的方法,先对第一采样帧序列与第一采样掩膜序列进行处理,得到第一已修复采样帧序列。再通过第一已修复采样帧序列以及第一剩余掩膜序列对第一剩余帧序列进行处理,获取待处理视频的已修复视频。因此,本公开通过抽帧处理可以通过第一已修复采样帧序列来对剩余帧序列进行处理,避免对每帧图像进行多轮处理,降低了计算量,因而可以提高视频处理的效率。
附图说明
图1是本公开实施例提供的一种实施环境的示意图。
图2是本公开实施例提供的一种视频处理方法的流程图。
图3是本公开实施例提供的一种裁剪区域的示意图。
图4是本公开实施例提供的一种对某帧图像进行光流传播处理的示意图。
图5是本公开实施例提供的一种光流估计模块的框架图。
图6是本公开实施例提供的一种光流估计与光流填充的过程示意图。
图7是本公开实施例提供的一种得到第一已修复剩余帧序列的过程示意图。
图8是本公开实施例提供的一种视频处理的过程示意图。
图9是本公开实施例提供的另一种视频处理方法的流程图。
图10是本公开实施例提供的一种对水印进行去除的视频处理效果示意图。
图11是本公开实施例提供的一种对字幕进行去除的视频处理效果示意图。
图12是本公开实施例提供的一种对运动物体进行去除的视频处理效果示意图。
图13是本公开实施例提供的一种视频处理装置的示意图。
图14是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开实施例提供了一种视频处理方法,如图1所示,其示出了本公开实施例提供的实施环境的示意图。该实施环境可以包括:终端11与服务器12。
其中,终端11可以向服务器12发送待处理视频。服务器12可以对该待处理视频进行接收,并可以通过本公开实施例提供的方法对该待处理视频进行处理,获得该待处理视频的已修复视频,并可以向终端11发送处理后得到的已修复视频。终端11可以接收该已修复视频。或者,终端11可以通过本公开实施例提供的方法对该待处理视频进行处理,得到已修复视频。并且,终端11可以对该已修复视频进行存储。
示例性地,该终端11与服务器12可以通过网络进行连接,该网络可以为无线网络或有线网络。上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
示例性地,终端11可以是各种电子设备,包括但不限于手机、电脑、膝上型便携计算机、台式计算机、可穿戴设备、智能语音交互设备、车载终端、智能家电、飞行器、增强现实设备、虚拟现实设备等。
示例性地,服务器12可以是提供各种服务的服务器,例如对用户利用终端11所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的数据进行分析等处理,并将处理结果反馈给终端。
可选地,服务器12可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本领域技术人员可以知晓,图1中的终端11和服务器12的数量均是示意性的,根据实际需要,可以具有任意数目的终端11和服务器12。本公开实施例对此不作限定。
下面结合附图及实施例对本示例实施方式进行详细说明。
首先,本公开实施例中提供了一种视频处理方法,该方法可以由任意具备计算处理能力的计算机设备执行,下面以该方法应用于终端为例。
图2示出本公开实施例中一种视频处理方法的流程图,如图2所示,本公开实施例中提供的视频处理方法可以包括如下S201至S205。
S201,获取待处理视频的第一目标帧序列以及第一目标掩膜序列。
本公开实施例不对该待处理视频的类型及获取来源进行限定,例如,该待处理视频可以为用户的摄影作品或某视频平台中的视频。
在一些实施例中,待处理视频的第一目标帧序列可以包括待处理视频中连续的多帧图像和/或对该待处理视频中连续的多帧图像进行处理(例如裁剪和/或缩放)后获得的帧序列。该第一目标帧序列中包含至少一帧需要进行处理(例如修复,或者去除字幕、水印或者某些特定的物体或人等)的图像,该至少一帧需要进行处理的图像可以根据实际应用场景来确定,例如,对于视频修复场景而言,需要进行处理的图像是指待处理视频中存在缺失区域的图像,通过本公开实施例提供的方法对缺失区域进行修复。再例如,对于去除视频中的字幕的场景而言,需要进行处理的图像是指待处理视频中存在字幕的图像,通过本公开实施例提供的方法对字幕区域进行去除,并填充修复去除字幕之后的区域。
在一些实施例中,待处理视频的第一目标掩膜序列可以与第一目标帧序列相对应,第一目标掩膜序列用于指示第一目标帧序列中需要进行处理的图像中需要进行处理的区域,因而该第一目标掩膜序列可以表示为一个坐标矩阵集合,该坐标矩阵集合中包括多个坐标矩阵,每一个目标掩膜可以用一个对应的坐标矩阵来表示。例如,对于去除字幕的场景,该需要进行处理的区域是指需要去除的字幕所在的区域,再例如,对于需要去除水印的场景,该需要进行处理的区域是指需要去除的水印所在的区域。上述需要进行处理的区域也可以称之为掩膜区域。本公开实施例不对获得第一目标掩膜序列的方法进行限定,示例性地,该第一目标掩膜序列可以基于算法进行获得,例如,对于去除水印和/或字幕等的场景,可以基于算法对水印等进行检测,从而获取该第一目标掩膜序列。或者,也可以基于手动标注的方法获得该第一目标掩膜序列。
例如,第一目标帧序列可以表示为x={xt},(t=0,1,2,…,T),其中,T可以为一个大于或等于零的整数,xt为第一目标帧序列x中的第t+1帧图像。对应该第一目标帧序列,则第一目标掩膜序列可以表示为m={mt},(t=0,1,2,…,T)。其中,该第一目标掩膜序列m中的mt为第t+1个掩膜,该mt可以表示为一个二值矩阵。例如,对于第一目标帧序列中需要进行处理的区域,mt的值可以为1,对于第一目标帧序列中不需进行处理的区域,mt的值可以为0,但本公开并不限定于此。示例性地,对于如图12中所示的场景,需要对图12中骑自行车的人物进行去除,则可以令该骑自行车的人物所对应的区域的mt的值为1,其他区域的mt的值可以为0。
在一些实施例中,可以将待处理视频中任一包含至少一帧需要进行处理的图像的多帧图像直接作为第一目标帧序列,并将该多帧图像对应的掩膜序列作为第一目标掩膜序列。
在另一些实施例中,为了减少对待处理视频进行处理的工作量,以进一步提高视频处理速度,可以先对上述的第一帧序列以及第一掩膜序列进行处理,以获取待处理视频的第一目标帧序列以及第一目标掩膜序列。
示例性地,对第一帧序列以及第一掩膜序列进行处理,获取待处理视频的第一目标帧序列以及第一目标掩膜序列可以包括如下两种方式。
方式一,获取待处理视频的第一目标帧序列以及第一目标掩膜序列,可以包括:获取待处理视频的第一帧序列及其对应的第一掩膜序列;若第一掩膜序列中的掩膜区域的占比小于占比阈值,则根据第一掩膜序列确定目标掩膜,目标掩膜的掩膜区域覆盖第一掩膜序列的掩膜区域;根据目标掩膜分别对第一帧序列和第一掩膜序列进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列。
示例性地,可以获取第一掩膜序列中的全部掩膜,当全部掩膜中的任一掩膜区域占第一帧序列中对应的帧图像的占比均小于占比阈值,由于待填充区域(即对应掩膜区域)仅与其周围信息相关,若第一帧序列中的帧图像中的掩膜区域的覆盖面积较小,则无需对完整的第一帧序列和第一掩膜序列进行处理,因此,可以对第一帧序列和第一掩膜序列进行裁剪处理。本公开实施例不对该占比阈值的大小进行限定,该占比阈值的大小可以基于经验或应用场景进行限定。
在另一种示例性实施例中,可以先确定目标掩膜M,当该目标掩膜M覆盖第一掩膜序列中的全部掩膜,且该目标掩膜M中的掩膜区域在第一帧序列中的帧图像中的面积占比小于该占比阈值,则判定为第一掩膜序列中的掩膜区域的占比小于占比阈值。即当确定目标掩膜中的掩膜区域较小时,可以由此确定第一掩膜序列中的所有帧图像的掩膜区域都比较小。因此,可以对第一帧序列和第一掩膜序列进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列。
在一些实施例中,目标掩膜可以为覆盖第一掩膜序列中的全部掩膜的一个掩膜。特别地,当第一掩膜序列中每个掩膜均相同时,目标掩膜可以为第一掩膜序列中的任一一个掩膜。
例如,在去除水印和/或字幕的应用场景中,由于每一帧图像中的水印以及字幕对应的区域相同,因此当第一掩膜序列为m={mt},(t=0,1,2,...,T),对于不同的t1与t2(t1与t2均为大于等于零且小于等于T的正整数),对应的mt1与mt2可以相等,则该目标掩膜M可以等于该第一掩膜序列中的任一mt。之后,就可以基于该目标掩膜的掩膜区域的大小,对第一帧序列和第一掩膜序列进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列。
在示例性实施例中,根据目标掩膜分别对第一帧序列和第一掩膜序列进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列,可以包括:根据目标掩膜的掩膜区域的长和宽,获得目标掩膜的掩膜区域的对外扩展像素数;根据目标掩膜的掩膜区域的长、宽和对外扩展像素数,获得目标掩膜的掩膜区域的裁剪边界;根据目标掩膜的掩膜区域的裁剪边界以及目标掩膜的掩膜区域的长和宽,获得包括目标掩膜的掩膜区域的裁剪区域;根据裁剪区域,对第一帧序列和第一掩膜序列分别进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列。
在一些实施例中,在确定目标掩膜M后,可以根据该目标掩膜M中的掩膜区域的覆盖范围,确定该目标掩膜M的掩膜区域的长与宽。示例性地,该M中的掩膜区域的覆盖范围可以表示为[x1,y1,x2,y2],其中,(x1,y1)可以为M中的掩膜区域的覆盖范围的左上角的坐标值,(x2,y2)可以为掩膜区域的覆盖范围的右下角的坐标值。因此,可以通过如下公式(1)计算目标掩膜的掩膜区域的长(在公式(1)中长表示为h,h为大于0的实数),并通过如下公式(2)计算目标掩膜的掩膜区域的宽(在公式(2)中宽表示为w,w为大于0的实数)。
h=x2-x1 (1)
w=y2-y1 (2)
在得到目标掩膜的掩膜区域的长h与宽w之后,可以通过如下公式(3)计算得到目标掩膜的掩膜区域的对外扩展像素数minBoundpix。示例性地,该对外扩展像素数为目标掩膜的掩膜区域需要外扩的像素数的值,例如该对外扩展像素数可以为1152或2048。
其中,minBoundpix为目标掩膜的掩膜区域的对外扩展像素数。a为基于待处理视频的分辨率设定的最小外扩像素数,b是对于待处理视频分辨率的外扩像素数的斜率,c可以是数据量较大的待处理视频的长或宽像素数。示例性地,a、b以及c均为大于0的实数,本公开实施例不对公式(3)中的a、b以及c的取值进行限定,a、b以及c的取值均可以根据经验或应用场景进行设定,例如,a可以取128,b可以取64,c可以取1024,或者a可以取196,b可以取48,c可以取960。edge用于指示目标掩膜的掩膜区域的长与宽中的最大值,该edge的值可以通过如下公式(4)计算得到。
edge=max(h,w) (4)
之后,可以通过目标掩膜的掩膜区域的对外扩展像素数,得到目标掩膜的掩膜区域在x轴方向以及y轴方向上的外扩范围。示例性地,外扩范围的数值可以根据视频运动幅度进行估算,在该估算过程中可以考虑两个方面,一个是外扩区域需要覆盖一定范围,以包含光流传播处理过程中所需的像素以及上下文信息,同时,在确保光流传播不受影响的情况下,外扩范围可以尽量小,以减少处理时间。将目标掩膜的掩膜区域在x轴方向以及y轴方向上的外扩范围作为目标掩膜的掩膜区域的裁剪边界。例如,可以通过如下公式(5)计算得到目标掩膜的掩膜区域在x轴方向上的外扩范围,可以通过如下公式(6)计算得到目标掩膜的掩膜区域在y轴方向上的外扩范围。
其中,minBoundh为目标掩膜的掩膜区域在x轴方向上的外扩范围。minBoundw为目标掩膜的掩膜区域在y轴方向上的外扩范围。r为目标掩膜的掩膜区域的边长占裁剪区域对应边长的比例。因而该minBoundh与minBoundw即为目标掩膜的掩膜区域的在x轴方向以及y轴方向上的裁剪边界。
示例性地,可以通过如下公式(7)-(10)对裁剪(crop)区域进行计算。
xcrop1=clip(x1-minBoundw,0,w) (7)
ycrop1=clip(y1-minBoundh,0,h) (8)
xcrop2=clip(x2+minBoundw,0,w) (9)
ycrop2=clip(y2+minBoundh,0,h) (10)
其中,(xcrop1,ycrop1)是裁剪区域的左上角的坐标值。(xcrop2,ycrop2)是裁剪区域的右下角的坐标值。clip函数用于将clip函数中输入的值限缩到对应区间之内。示例性地,以xcrop1为例,clip函数中输入的值为x1-minBoundw,因此该(x1-minBoundw)的值应在0到w之间,因此当该(x1-minBoundw)的值在0到w之间,则直接将该(x1-minBoundw)的值作为xcrop1。当该(x1-minBoundw)的值大于w,则将w的值作为xcrop1。当该(x1-minBoundw)的值小于0,则令xcrop1=0。
示例性地,图3示出了一种裁剪区域的示意图。如图3所示,目标掩膜对应该骑自行车的人物。因此该目标掩膜M的掩膜区域可以如图3中的虚线所示,其中(x1,y1)为掩膜区域的覆盖范围的左上角的坐标值,(x2,y2)为掩膜区域的覆盖范围的右下角的坐标值。因此可以计算目标掩膜M的掩膜区域的长h,以及目标掩膜M的掩膜区域的宽w。然后,可以计算目标掩膜M的掩膜区域在x轴方向上的外扩范围minBoundh,以及y轴方向上的外扩范围minBoundw。由此得到的裁剪边界可以如图3中的点划线所示。再然后,可以通过上述的公式(7)-(10)对裁剪区域进行计算。对于图3中所示的情况,得到的(xcrop1,ycrop1)以及(xcrop2,ycrop2)即为裁剪边界所框出的区域的左上角的坐标值以及右下角的坐标值。
此处对目标掩膜的掩膜区域在x轴方向以及y轴方向上的外扩范围进行计算的目的是为了裁剪后可以保留足够量的非掩膜区域的像素,该非掩膜区域的像素可以用于掩膜区域内部的光流填充以及像素传播处理,并且对图像修复处理也有影响。
通过上述的计算过程,可以得到裁剪区域。之后,可以根据裁剪区域,对第一帧序列和第一掩膜序列分别进行裁剪处理,对第一帧序列和第一掩膜序列均仅保留裁剪区域内的部分,获得第一目标帧序列和第一目标掩膜序列。
上述对第一帧序列和第一掩膜序列进行裁剪处理,对于第一掩膜序列中的掩膜区域的占比小于占比阈值的场景,通过进行crop操作能有效减少处理的像素数量,因此可以减少对待处理视频进行处理的工作量,同时不会影响视频处理的效果,从而可以进一步提高视频处理速度。
在第一掩膜序列中的掩膜区域的占比大于或等于占比阈值的场景下,按照上述的公式(7)-(10)计算得到的裁剪区域较大,裁剪处理的效果会对应降低。在确定的目标掩膜M过大的情况下,则裁剪处理的效果过小,相当于未对第一帧序列和第一掩膜序列进行裁剪处理。此时,可以对第一帧序列及其对应的第一掩膜序列使用下述方式二进行缩放处理,以达到减少对待处理视频进行处理的工作量,同时不会影响视频处理的效果,从而可以进一步提高视频处理速度的效果。
方式二,获取待处理视频的第一目标帧序列以及第一目标掩膜序列,可以包括:获取待处理视频的第一帧序列及其对应的第一掩膜序列;若第一掩膜序列中的掩膜区域的占比大于或等于占比阈值,则分别对第一帧序列和第一掩膜序列进行缩放处理,获得第一目标帧序列和第一目标掩膜序列。
示例性地,可以获取第一掩膜序列中的全部掩膜,当全部掩膜中的任一掩膜区域占第一帧序列中对应的帧图像的占比均大于或等于占比阈值,则判定为第一掩膜序列中的掩膜区域的占比大于或等于占比阈值。或者,可以先确定目标掩膜M,令该目标掩膜M覆盖第一掩膜序列中的全部掩膜。当该目标掩膜M中的掩膜区域在第一帧序列中的帧图像中的面积占比大于或等于占比阈值,则判定为第一掩膜序列中的掩膜区域的占比大于或等于占比阈值。
示例性地,本公开实施例不对上述对第一帧序列和第一掩膜序列进行缩放处理的缩放比例进行限定,该缩放比例可以基于经验或应用场景进行限定,例如该缩放比例可以为原来的帧图像和掩膜的边长的二分之一或三分之一,该缩放比例不会导致对填充效果造成较大的影响,同时较大的减少处理的像素数量。另外,对于第一掩膜序列中的掩膜区域的占比小于占比阈值,但掩膜区域的分布较为分散的场景下,也可以采用方式二中提供的方法对获得第一目标帧序列和第一目标掩膜序列。例如,当掩膜散布在图像的不同区域,如掩膜位于图像右上角和左下角,在该种情况下,目标掩膜M的覆盖面积过大,对第一帧序列和第一掩膜序列进行裁剪处理的效果较小。
示例性地,对于数据量较小的待处理视频,可以直接将该待处理视频的完整帧序列以及完整掩膜序列作为上述的第一帧序列及其对应的第一掩膜序列。但是,对于数据量较大的待处理视频,可能导致内存无法装载,从而无法进行对该待处理视频进行处理。在该种情况下,获取待处理视频的第一目标帧序列以及第一目标掩膜序列,可以包括:获取待处理视频的完整帧序列以及对应的完整掩膜序列;分别对完整帧序列和完整掩膜序列进行镜头切分处理,获得单镜头帧序列及对应的单镜头掩膜序列;若单镜头帧序列及对应的单镜头掩膜序列超过时长阈值,则对单镜头帧序列及对应的单镜头掩膜序列进行分段处理,获得分段帧序列及对应的分段掩膜序列,分段帧序列包括第一帧序列,分段掩膜序列包括第一掩膜序列;根据第一帧序列及其对应的第一掩膜序列获得第一目标帧序列和第一目标掩膜序列。
示例性地,若某完整帧序列和完整掩膜序列均是由三个镜头组合而成。则对该完整帧序列和完整掩膜序列进行镜头切分处理,则可以得到三个单镜头帧序列及三个对应的单镜头掩膜序列。若该三个单镜头帧序列及三个对应的单镜头掩膜序列中的任一单镜头帧序列及对应的单镜头掩膜序列超过时长阈值,则可以对该单镜头帧序列及对应的单镜头掩膜序列超过时长阈值进行分段处理。本公开实施例不对该时长阈值进行限定,例如该时长阈值可以为1秒或2秒。本公开实施例也不对分段处理的分段数进行限定,示例性地,可以将每相邻的5帧分为一段,也可以将每相邻的8帧分为一段。在进行分段处理后,可以得到多个分段帧序列及多个对应的分段掩膜序列。
本公开实施例提供的对待处理视频进行镜头切分处理以及分段处理的方法,可以避免较大的待处理视频导致的内存无法装载,从而无法进行对该待处理视频进行处理的问题。
S202,分别对第一目标帧序列与第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列。
本公开实施例不对该抽帧处理的方法进行限定,例如,可以对第一目标帧序列每间隔3帧或4帧抽出一帧,从而得到第一采样帧序列,未被抽出的帧组成该第一剩余帧序列。同理,可以对第一目标掩膜序列,与第一目标帧序列间隔相同的帧数抽出一帧,从而得到第一采样掩膜序列,未被抽出的帧组成该第一剩余掩膜序列。
S203,对第一采样帧序列与第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列。
在一些实施例中,第一采样掩膜序列用于指示第一采样帧序列中需要进行处理的区域。在该需要进行处理的区域中,由于例如水印、运动物体等的去除,第一采样帧序列中的图像会产生未知区域,因此,需要对第一采样帧序列中的未知区域进行填充,从而对上述第一采样帧序列进行修复。
在示例性实施例中,对第一采样帧序列与第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列,包括:对第一采样帧序列与第一采样掩膜序列进行光流传播处理,得到第一更新采样梯度帧序列及第一更新采样掩膜序列;对第一更新采样梯度帧序列及第一更新采样掩膜序列进行泊松重建处理,获得第一更新采样帧序列;对第一更新采样帧序列进行逐帧的图像修复处理,获得第一已修复采样帧序列。
在一种可能的实施方式中,第一更新采样梯度帧序列即为对第一采样帧序列中的未知区域进行填充后得到的帧序列。第一更新采样掩膜序列即为与第一更新采样梯度帧序列相对应的掩膜序列。示例性地,可以通过某帧图像的前一帧图像与后一帧图像来对该帧图像进行光流传播处理。如图4所示,可以通过某帧图像的前一帧图像,即图4(a)进行向前传播,以对该帧图像中的未知区域进行填充,得到图4(b1)。并且通过该帧图像的后一帧图像,即图4(c)进行向后传播,以对该帧图像中的未知区域进行填充,得到图4(b2)。
对于该第一更新采样梯度帧序列中相比第一采样帧序列已被填充上了的区域,第一采样掩膜序列需要对应进行更新,从而得到第一更新采样掩膜序列。例如,可以将上述已被填充上了的区域所对应的第一采样掩膜序列的值由1转变为0,从而得到第一更新采样掩膜序列。
在示例性实施例中,在得到第一更新采样梯度帧序列及第一更新采样掩膜序列之后,可以对第一更新采样梯度帧序列及第一更新采样掩膜序列进行泊松重建处理,获得第一更新采样帧序列。该泊松重建处理用于将梯度像素模式的第一更新采样梯度帧序列及第一更新采样掩膜序列,重建为RGB(Red Green Blue,三原色)像素模式的第一更新采样帧序列。示例性地,将每帧图像都用二维离散函数来表示,对二维离散函数进行求导,因而可以使用导数值来描述对应位置的像素点,该种像素的描述方式可以称为梯度像素模式,例如(i,j)点的梯度像素G可以根据如下公式(11)来进行描述。
G=dx(i,j)+dy(i,j) (11)
其中,dx代表对自变量进行微分的操作,dy代表对函数值进行微分的操作。
另外,也可以使用RGB值来描述的像素点,该种像素的描述方式可以称为RGB像素模式。例如,某个像素点对应的RGB值可以为(50,80,10),则该像素点对应的红色值为50,绿色值为80,蓝色值为10。
示例性地,可以根据第一更新采样梯度帧序列及第一更新采样掩膜序列构建八叉树,并对八叉树的每个节点设置空间函数,所有空间函数的线性和可以表示一个向量场。之后,可以对该向量场求解泊松方程,该泊松方程的解可以采用拉普拉斯矩阵迭代求出。根据该泊松方程的解可以得到第一更新采样帧序列。
在一些实施例中,在第一更新采样帧序列中可能存在未能通过光流传播处理实现填充的未知像素,这些未能被填充的未知像素组成的区域可以被称为孤立区域,该孤立区域包含在上述的未知区域中。
示例性地,可以对第一更新采样帧序列中的孤立区域进行逐帧的图像修复处理,获得第一已修复采样帧序列。示例性地,可以通过预先训练好的神经网络模型对该孤立区域进行图像修复。本公开实施例不对该神经网络模型的种类进行限定,,例如可以采用DeepFillv2(一种基于门控卷积的神经网络模型)或CR-Fill(ContexutalReconstruction-Fill,上下文重建填充)。
在示例性实施例中,对第一采样帧序列与第一采样掩膜序列进行光流传播处理,得到第一更新采样梯度帧序列及第一更新采样掩膜序列,可以包括:对第一采样帧序列进行光流估计处理,获得第一采样光流序列;对第一采样帧序列进行梯度像素转换处理,获得第一采样梯度帧序列;对第一采样光流序列中的掩膜区域进行光流填充处理,获得第一已填充采样光流序列;根据第一已填充采样光流序列对第一采样梯度帧序列与第一采样掩膜序列进行光流传播处理,获取第一更新采样梯度帧序列及第一更新采样掩膜序列。
示例性地,在光流估计处理的方法中,可以输入该第一采样帧序列中任意的两帧相邻的图像,通过光流估计处理将该两帧相邻的图像中的像素点进行匹配。之后可以输出第一采样光流序列,该第一采样光流序列中包含任一帧图像对应的前向光流图与后向光流图。前向光流图即为该帧图像与该帧图像的前一帧图像之间的光流图,后向光流图即为该帧图像与该帧图像的后一帧图像之间的光流图。该前向光流图与后向光流图中均可以指示图像在水平及竖直方向的偏移量。
在示例性实施例中,可以对第一采样帧序列进行梯度像素转换处理,从而将RGB像素模式的第一采样帧序列转换为对应的梯度像素模式的第一采样梯度帧序列。再对该第一采样光流序列与第一采样掩膜序列进行光流填充处理,获得第一已填充采样光流序列。
示例性地,该光流填充处理用于填充光流图中的掩膜区域,在光流填充处理的过程中,可以先对光流图中的对应的掩膜区域解拉普拉斯方程,使填充的光流光滑衔接边缘光流。
在示例性实施例中,在光流填充处理的过程中,可以根据某帧图像与前一帧图像的前向光流图,以及该帧图像与后一帧图像的后向光流图,分别对该帧图像进行光流填充处理,以获得第一已填充采样光流序列。而后,可以通过该第一已填充采样光流序列中的匹配关系,对第一采样梯度帧序列与第一采样掩膜序列进行光流传播处理,获取第一更新采样梯度帧序列及第一更新采样掩膜序列。
本公开实施例不对该光流估计处理所使用的方法进行限定,在一种可能的实施方式中,可以采用CNN(Convolutional Neural Network,卷积神经网络)来进行光流估计处理。示例性地,一种基于CNN的光流估计模块图可以如图5所示,该基于CNN的光流估计模块为一个轻量的光流估计网络模块。
在图5中,相邻的两帧图像要首先经过卷积层来进行两次卷积(Convolution)操作,并通过两次池化(pooling)操作来进行金字塔特征的提取。之后可以通过成本体积(Cost Volume)构建模块,来得到该金字塔特征对应的第一成本体积,再将前一帧图像被提取的金字塔特征的卷积以及第一成本体积输入回归光流(regressing optical flow)模块,得到前一帧图像对应的预测光流图(Predicted Flow)。示例性地,上述的成本体积可以用于描述两帧图像中相对应的像素之间的匹配程度。回归光流模块可以用于通过一个回归模型,对两帧图像中对应的特征点进行光流估计,从而得到对应的预测光流图。
再之后,可以对前一帧图像对应的预测光流图进行上采样(Upsample)处理,得到上采样结果。将该上采样结构与后一帧图像经过一次池化后的结果输入翘曲(Warp)处理模块,得到翘曲结果。示例性地,该翘曲处理可以用于将镜头位置变动或图像中的物体变动等变动进行变换处理,可以从而使两帧图像中的对应像素对齐。该翘曲处理可以缩小光流估计处理对应的处理范围,以减小光流估计模块模块的计算量。然后,可以将该翘曲结果与前一帧图像经过一次池化后的结果一并输入成本体积构建模块,得到第二成本体积。并将后一帧图像经过一次池化后的结果的卷积以及第二成本体积输入回归光流模块,得到后一帧图像对应的预测光流图。相应的,之后还可以再基于该后一帧图像对应的预测光流图进行上采样处理等操作,得到再后一帧图像对应的预测光流图。
本公开实施例可以通过上述图5中的光流估计模块进行光流估计处理,其进行光流估计的速度可以达到91FPS(Frames Per Second,每秒传输帧数),是RAFT网络的27倍。因此,本公开实施例可以提高光流估计处理的速度,并得到效果良好的光流估计效果。从而可以提高该视频处理方法对视频进行处理的效率,并确保视频处理的质量。
在示例性实施例中,光流估计与光流填充的过程示意图可以如图6所示。在图6中,图6(a)为第一采样帧序列中的图像的示意图,如图6所示,该图像中包含掩膜区域。对该图像进行光流估计处理,可以得到如图6(b)所示的预测光流图,该预测光流图包含在第一采样光流序列中。之后,在对该预测光流图机进行光流填充处理,可以得到如图6(c)所示的已填充光流图,该已填充光流图包含在第一已填充采样光流序列中。
S204,对第一已修复采样帧序列、第一剩余帧序列以及第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列。
在示例性实施例中,对第一已修复采样帧序列、第一剩余帧序列以及第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列,可以包括:对第一剩余帧序列进行梯度像素转换处理,获得第一剩余梯度帧序列;根据第一剩余帧序列和第一采样帧序列,获得第一剩余光流序列;对第一剩余光流序列中的掩膜区域进行光流填充处理,获得第一已填充剩余光流序列;对第一剩余梯度帧序列、第一已填充剩余光流序列、第一已修复采样帧序列以及第一剩余掩膜序列光流传播和图像修复,获得第一已修复剩余帧序列。
在一些实施例中,对第一剩余帧序列进行梯度像素转换处理,获得第一剩余梯度帧序列的方法可以与上述的对第一采样帧序列进行梯度像素转换处理的方法相同,此处不再对此进行赘述。
在示例性实施例中,根据第一剩余帧序列和第一采样帧序列,获得第一剩余光流序列,可以包括:确定第一剩余帧序列中的目标剩余帧;从第一采样帧序列中确定目标剩余帧的目标前向帧和目标后向帧;获得目标前向帧和目标剩余帧之间的前向光流图,以及目标后向帧和目标剩余帧之间的后向光流图;根据前向光流图和后向光流图,确定第一剩余光流序列。
本公开实施例不对该目标剩余帧进行限定,该目标剩余帧可以为第一剩余帧序列中的任一帧。目标剩余帧的目标前向帧为在第一采样帧序列中在目标剩余帧前面且与目标剩余帧距离最近的一帧;目标剩余帧的目标后向帧为在第一采样帧序列中在目标剩余帧后面且与目标剩余帧距离最近的一帧。
示例性地,假设第一采样帧序列可以为{X_0,X_4,X_8,……},第一剩余帧序列可以为{X_1,X_2,X_3,X_5,X_6,X_7,X_9,……},当目标剩余帧为X_1,则目标剩余帧的目标前向帧为X_0,目标后向帧为X_4。在确定了目标剩余帧的目标前向帧和目标后向帧后,可以通过光流估计处理方法获得目标前向帧和目标剩余帧之间的前向光流图,以及目标后向帧和目标剩余帧之间的后向光流图。之后则可以根据多个目标剩余帧的前向光流图以及后向光流图,确定第一剩余光流序列。示例性地,该光流估计处理方法可以与上述对第一采样帧序列进行光流估计处理的方法相同,此处不再对此进行赘述。
在一些实施例中,对第一剩余光流序列中的掩膜区域进行光流填充处理的方法,可以与上述对对该第一采样光流序列进行光流填充处理的的方法相同,此处不再对此进行赘述。然后,可以通过第一已填充剩余光流序列以及第一已修复采样帧序列,来对第一剩余梯度帧序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列。示例性地,该对第一剩余梯度帧序列进行光流传播和图像修复处理的方法可以与上述对第一采样帧序列与第一采样掩膜序列进行光流传播和图像修复处理的方法相同,此处不再对此进行赘述。
可选地,在对第一剩余梯度帧序列进行光流传播处理的同时,还可以对第一剩余掩膜序列对应进行更新,得到第一更新剩余掩膜序列。该对第一剩余掩膜序列对应进行更新可以与上述对第一采样掩膜序列对应进行更新的方法相同,此处不再对此进行赘述。
在示例性实施例中,一种得到第一已修复剩余帧序列的过程示意图可以如图7所示。可以先对第一目标帧序列进行抽帧处理,在图7中,假设第一目标帧序列包括帧X_0至帧X_12的13帧,对该第一目标帧序列进行抽帧处理,得到了包括帧X_0、帧X_4、帧X_8、帧X_12的第一采样帧序列。然后,可以对该第一采样帧序列进行光流传播处理、图像修复处理,得到第一已修复采样帧序列。再然后,由于帧X_1的目标前向帧为帧X_0,目标后向帧为帧X_4,因此可以通过帧X_0与帧X_4,得到帧X_1对应的已填充光流图。同理可以通过帧X_0与帧X_4,得到帧X_2与帧X_3对应的已填充光流图。按照上述步骤,后面可以依次通过帧X_4与帧X_8得到帧X_5、帧X_6、帧X_7对应的已填充光流图;并依次通过帧X_8与帧X_12得到帧X_9、帧X_10、帧X_11对应的已填充光流图,此处不再赘述。
S205,对第一已修复采样帧序列以及第一已修复剩余帧序列进行合并处理,获得待处理视频的已修复视频。
在一些实施例中,可以按照帧的顺序,将第一已修复采样帧序列中的每帧图像,***第一已修复剩余帧序列中,则可以得到一个完整的已修复帧序列。该完整的帧序列即可以对应该待处理视频的已修复视频。
在示例性实施例中,在对第一采样帧序列以及第一剩余帧序列进行处理,得到第一已修复采样帧序列以及第一已修复剩余帧序列之前,可以对待处理视频进行镜头切分处理和/或分段处理。此时,分段帧序列还可以包括第二帧序列,分段掩膜序列还可以包括第二掩膜序列。在该种情况下,对第一已修复采样帧序列以及第一已修复剩余帧序列进行合并处理,获得待处理视频的已修复视频,可以包括:分别将第一已修复采样帧序列和第一已修复剩余帧序列的尾帧***第二帧序列和第二掩膜序列,作为第二帧序列和第二掩膜序列的首帧;对第二帧序列和第二掩膜序列进行处理,获得第二已修复采样帧序列以及第二已修复剩余帧序列;对第一已修复采样帧序列以及第一已修复剩余帧序列、以及第二已修复采样帧序列以及第二已修复剩余帧序列进行合并处理,获得已修复视频。
示例性地,一种视频处理的过程示意图可以如图8所示。在图8中,可以将每连续的4帧分为一段,则一个12帧的待处理视频可以被分为如图8所示的3段,分别为帧x_0至帧x_3、帧x_4至帧x_7、以及帧x_8至帧x_11。之后,可以按照帧的排列次序,对每段视频对应的分段帧序列及分段掩膜序列进行修复处理。因而可以先将帧x_0至帧x_3对应的分段帧序列及分段掩膜序列进行处理,得到帧x_0至帧x_3对应的已修复视频,即图8中所示的修复后的{X_0,X_1,X_2,X_3}。之后,可以将该已修复视频中的尾帧即帧x_3,***到帧x_4至帧x_7对应的分段帧序列及分段掩膜序列的开头。之后,可以对帧x_3至帧x_7对应的分段帧序列及分段掩膜序列进行修复处理,得到帧x_4至帧x_7对应的已修复视频,即图8中所示的修复后的{X_3,X_4,X_5,X_6,X_7}。对帧x_8至帧x_11对应的分段帧序列及分段掩膜序列进行处理的方法同理。通过该尾帧***的方法,可以在对分段帧序列及分段掩膜序列进行处理时,可以获取上一段的已修复视频中的信息。本公开实施例中,在对待处理视频进行镜头切分和/或片段切分之后,按顺序依次对各个分段帧序列及其对应的分段掩膜序列进行视频修复处理,同时,将每个修复好的分段帧序列的最后一帧作为首帧***下个分段帧序列,以用于进行下个分段帧序列的修复,通过该方法可以防止简单切分造成的片段间信息的损失,因此,可以获得较好的视频处理效果。
需要说明的是,上述的每连续的4帧分为一段,将一个12帧的视频分为3段的描述仅为举例,并不用于限定上述的尾帧***方法。
本公开实施例提供的方法,一方面,可以通过抽帧处理的方法,先对第一采样帧序列与第一采样掩膜序列进行处理,得到第一已修复采样帧序列。再通过第一已修复采样帧序列以及第一剩余掩膜序列对第一剩余帧序列进行处理,获取待处理视频的已修复视频。因此,本公开通过抽帧处理可以通过第一已修复采样帧序列来对剩余帧序列进行处理,避免对每帧图像进行多轮处理,降低了计算量,因而可以提高视频处理的效率。另一方面,还可以通过镜头切分和/或视频分段处理,从而可以有效避免由于视频较大而造成的内存不足的问题。此外,通过将每个修复好的分段帧序列的最后一帧作为首帧***下个分段帧序列,以用于进行下个分段帧序列的修复,通过该方法可以防止简单切分造成的片段间信息的损失,从而可以获得较好的视频处理效果。
如图9所示,图9示出了本公开实施例提供的一种视频处理方法的流程图。示例性地,第一目标帧序列可以表示为X={Xt},(t=0,1,2,...,T),第一目标掩膜序列可以表示为M={Mt},(t=0,1,2,...,T)。本方案的目的是得到处理后的视频序列y={yt},(t=0,1,2,...,T),该处理后的视频序列y仅在掩膜区域与X相异,而使得y在时间和空间上是自然且一致的。由于自然和一致难以公式化进行定义,因此本方案使处理后的视频序列y与ygt接近,其中ygt用于表示不带掩膜的视频序列的真值。
首先,可以先获取待修复视频的完整帧序列与完整掩膜序列,并可以对完整帧序列与完整掩膜序列进行镜头切分处理和/或分段处理,得到第一帧序列X_1与第一掩膜序列M_1。之后,可以对该第一帧序列X_1与第一掩膜序列M_1分别通过DPM(Data PreprocessingModule,数据预处理模块)进行裁剪处理或缩放处理,得到第一目标帧序列X以及第一目标掩膜序列M。
然后,可以对第一目标帧序列X进行抽帧处理得到第一采样帧序列X_sampled与第一剩余帧序列X_remain。示例性地,如对第一目标帧序列每隔4帧抽1帧,则X_sampled={X_0,X_4,X_8,…},若第一目标帧序列X的尾帧没有选中,将尾帧加入第一采样帧序列X_sampled。并对第一目标掩膜序列M进行抽帧处理得到第一采样掩膜序列M_sampled与第一剩余掩膜序列X_remain。之后可以将X_sampled及M_sampled输入FPM(Flow PropagationModule,光流传播模块)及IIM(Image Inpainting Module,图像修复模块),输出修复完成的子集。与多轮传播的方案有所区别,此处,我们只使用FPM模块进行一轮填充,未填充的孤立区域,我们使用IIM进行逐帧填充。
在图9中,可以对第一采样帧序列X_sampled进行梯度像素转换处理得到第一采样梯度帧序列X_sgrad,并将第一采样帧序列X_sampled输入轻量FEM(Flow EstimationModule,光流估计模块)进行光流估计处理得到第一采样光流序列F_sampled。将第一采样光流序列F_sampled输入FCM(Flow Completion Module光流填充模块)进行光流填充处理得到第一已填充采样光流序列F_scomp。
再然后,可以将第一已填充采样光流序列F_scomp、第一采样梯度帧序列X_sgrad以及第一采样掩膜序列M_sampled输入FPM模块,进行光流传播处理,得到第一更新采样梯度帧序列X_sgrad_fill及第一更新采样掩膜序列M_sfill。示例性地,此处的FPM以及抽帧处理的过程可以被包含在SPM(Sampled Propagation Module,抽帧传播模块)中。
再对第一更新采样梯度帧序列X_sgrad_fill及第一更新采样掩膜序列M_sfill输入PRM(Poisson Reconstruction Module,泊松重建模块)进行泊松重建处理,获得第一更新采样帧序列X_sfill_fpm。通过IIM对第一更新采样帧序列进行逐帧的图像修复处理,获得第一已修复采样帧序列X_sfill。
同理,可以对第一剩余帧序列X_remain进行梯度像素转换处理,获得第一剩余梯度帧序列X_rgrad。将第一剩余帧序列X_remain和第一采样帧序列X_sampled输入轻量FEM进行光流填充处理,获得第一剩余光流序列。对第一剩余光流序列中的掩膜区域进行光流填充处理,获得第一已填充剩余光流序列F_rcomp。
然后,可以将第一剩余梯度帧序列X_rgrad、第一已填充剩余光流序列F_rcomp、第一已修复采样帧序列X_sfill以及第一剩余掩膜序列X_remain输入FPM与PRM,进行光流填充处理、泊松重建处理,得到第一更新剩余帧序列X_rgrad_fill。并对第一更新剩余帧序列X_rgrad_fill通过IIM进行逐帧的图像修复处理获得第一已修复剩余帧序列X_rfill。可选地,对于每个未被选中的帧X_remain,找到X_sampled中与其最接近的前向帧X_prev与后向帧X_next。示例性地,对于上述的对第一目标帧序列每隔4帧抽1帧的情况下,假设X_remain为帧X_1,那么最接近的前向帧X_prev是帧X_0,最接近的后向帧X_next是帧X_4。
X_remain与这前向帧X_prev与后向帧X_next之间分别进行光流传播处理,使用光流将对应区域的像素填入,若相同位置都有像素填充,对像素取平均。未填充完成的区域,单独使用IIM模块进行填充。最后,将第一已修复剩余帧序列与第一已修复采样帧序列进行合并,得到待处理视频的已修复视频。
在本公开实施例中,FPM模块所作的计算量较大,为了减少光流传播模块的耗时,本方案在光流传播前先对帧序列进行抽帧处理,待抽取出来的帧填充完毕,我们使用光流一次性将前向帧与后向帧的内容传播到剩余的帧。因此,本方案只进行一轮光流传播处理,减少FPM模块的计算量,并降低了耗时。之后,可以使用IIM模块对其中的孤立区域进行逐帧的图像修复处理,使每一帧填充完整。此处避免使用多轮光流填充对孤立区域进行处理,可以减少FPM模块的计算量。因此,本方案可以对视频处理算法进行加速,以达到商业化可用的处理效率。
对于该图9提供的视频处理方法,可以避免进行多轮光流传播,以加快视频处理算法的部署。如表1所示对于一个188帧的镜头,本方案中通过DPM对视频进行预处理的过程,即对视频进行裁剪处理或缩放处理的过程,约用时267.8秒,多轮光流传播方案约用时267.8秒,约减少耗时67.4%。本方案中通过FEM对视频进行光流估计处理的过程,约用时217.4秒,对比多轮光流传播方案约减少耗时73.5%。本方案中通过SPM对视频进行抽帧处理与光流传播的过程,约用时88.2秒,由于在光流传播前进行了抽帧处理,因此可以与多轮光流传播方案相比减少耗时约89.3%。
表1
示例性地,一种对水印进行去除的视频处理效果示意图可以如图10所示。在图10(a)中,待处理视频中的左下角带有一个椭圆形的水印,通过本公开实施例提供的方法可以使将椭圆形的水印去除,去除后的效果可以如图10(b)所示。示例性地,一种对字幕进行去除的视频处理效果示意图可以如图11所示。在图11(a)中,待处理视频的下方带有一行字幕,通过本公开实施例提供的方法可以将该行字幕去除,去除后的效果可以如图11(b)所示。示例性地,一种对运动物体进行去除的视频处理效果示意图可以如图12所示。在图12(a)中,待处理视频中有一骑自行车的人物,通过本公开实施例提供的方法可以将该骑自行车的人物去除,去除后的效果可以如图12(b)所示。
图13是本公开实施例提供的一种视频处理装置的示意图。如图13所示,本公开实施例提供的视频处理装置可以包括获取模块1301以及抽帧模块1302。
获取模块1301,用于获取待处理视频的第一目标帧序列以及第一目标掩膜序列;
抽帧模块1302,用于分别对第一目标帧序列与第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列;
获取模块1301,还用于对第一采样帧序列与第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列;
获取模块1301,还用于对第一已修复采样帧序列、第一剩余帧序列以及第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列;
获取模块1301,还用于对第一已修复采样帧序列以及第一已修复剩余帧序列进行合并处理,获得待处理视频的已修复视频。
在示例性实施例中,获取模块1301,用于对第一剩余帧序列进行梯度像素转换处理,获得第一剩余梯度帧序列;根据第一剩余帧序列和第一采样帧序列,获得第一剩余光流序列;对第一剩余光流序列中的掩膜区域进行光流填充处理,获得第一已填充剩余光流序列;对第一剩余梯度帧序列、第一已填充剩余光流序列、第一已修复采样帧序列以及第一剩余掩膜序列进行光流传播和图像修复处理,获得第一已修复剩余帧序列。
在示例性实施例中,获取模块1301,用于确定第一剩余帧序列中的目标剩余帧;从第一采样帧序列中确定目标剩余帧的目标前向帧和目标后向帧;获得目标前向帧和目标剩余帧之间的前向光流图,以及目标后向帧和目标剩余帧之间的后向光流图;根据前向光流图和后向光流图,确定第一剩余光流序列。
在示例性实施例中,获取模块1301,用于对第一采样帧序列与第一采样掩膜序列进行光流传播处理,得到第一更新采样梯度帧序列及第一更新采样掩膜序列;对第一更新采样梯度帧序列及第一更新采样掩膜序列进行泊松重建处理,获得第一更新采样帧序列;对第一更新采样帧序列进行逐帧的图像修复处理,获得第一已修复采样帧序列。
在示例性实施例中,获取模块1301,用于对第一采样帧序列进行光流估计处理,获得第一采样光流序列;对第一采样帧序列进行梯度像素转换处理,获得第一采样梯度帧序列;对第一采样光流序列中的掩膜区域进行光流填充处理,获得第一已填充采样光流序列;根据第一已填充采样光流序列对第一采样梯度帧序列与第一采样掩膜序列进行光流传播处理,获取第一更新采样梯度帧序列及第一更新采样掩膜序列。
在示例性实施例中,获取模块1301,用于获取待处理视频的第一帧序列及其对应的第一掩膜序列;若第一掩膜序列中的掩膜区域的占比小于占比阈值,则根据第一掩膜序列确定目标掩膜,目标掩膜的掩膜区域覆盖第一掩膜序列的掩膜区域;根据目标掩膜分别对第一帧序列和第一掩膜序列进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列。
在示例性实施例中,获取模块1301,用于根据目标掩膜的掩膜区域的长和宽,获得目标掩膜的掩膜区域的对外扩展像素数;根据目标掩膜的掩膜区域的长、宽和对外扩展像素数,获得目标掩膜的掩膜区域的裁剪边界;根据目标掩膜的掩膜区域的裁剪边界以及目标掩膜的掩膜区域的长和宽,获得包括目标掩膜的掩膜区域的裁剪区域;根据裁剪区域,对第一帧序列和第一掩膜序列分别进行裁剪处理,获得第一目标帧序列和第一目标掩膜序列。
在示例性实施例中,获取模块1301,用于获取待处理视频的第一帧序列及其对应的第一掩膜序列;若第一掩膜序列中的掩膜区域的占比大于或等于占比阈值,则分别对第一帧序列和第一掩膜序列进行缩放处理,获得第一目标帧序列和第一目标掩膜序列。
在示例性实施例中,获取模块1301,用于获取待处理视频的完整帧序列以及对应的完整掩膜序列;分别对完整帧序列和完整掩膜序列进行镜头切分处理,获得单镜头帧序列及对应的单镜头掩膜序列;若单镜头帧序列及对应的单镜头掩膜序列超过时长阈值,则对单镜头帧序列及对应的单镜头掩膜序列进行分段处理,获得分段帧序列及对应的分段掩膜序列,分段帧序列包括第一帧序列,分段掩膜序列包括第一掩膜序列;根据第一帧序列及其对应的第一掩膜序列获得第一目标帧序列和第一目标掩膜序列。
在示例性实施例中,分段帧序列还包括第二帧序列,分段掩膜序列还包括第二掩膜序列;获取模块1301,用于分别将第一已修复采样帧序列和第一已修复剩余帧序列的尾帧***第二帧序列和第二掩膜序列,作为第二帧序列和第二掩膜序列的首帧;对第二帧序列和第二掩膜序列进行处理,获得第二已修复采样帧序列以及第二已修复剩余帧序列;对第一已修复采样帧序列以及第一已修复剩余帧序列、以及第二已修复采样帧序列以及第二已修复剩余帧序列,获得已修复视频。
本公开实施例提供的装置,可以通过抽帧处理的方法,先对第一采样帧序列与第一采样掩膜序列进行处理,得到第一已修复采样帧序列。再通过第一已修复采样帧序列以及第一剩余掩膜序列对第一剩余帧序列进行处理,获取待处理视频的已修复视频。因此,本公开通过抽帧处理可以通过第一已修复采样帧序列来对剩余帧序列进行处理,避免对每帧图像进行多轮处理,降低了计算量,因而可以提高视频处理的效率。
参见图14,图14是本公开实施例提供的一种计算机设备的结构示意图。如图14所示,本公开实施例中的计算机设备可以包括:一个或多个处理器1401、存储器1402和输入输出接口1403。该处理器1401、存储器1402和输入输出接口1403通过总线1404连接。存储器1402用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1403用于接收数据及输出数据,如用于宿主机与计算机设备之间进行数据交互,或者用于在宿主机中的各个虚拟机之间进行数据交互;处理器1401用于执行存储器1402存储的程序指令。
其中,该处理器1401可以执行如下操作:获取待处理视频的第一目标帧序列以及第一目标掩膜序列;分别对第一目标帧序列与第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列;根据第一采样帧序列与第一采样掩膜序列,获得第一已修复采样帧序列;根据第一已修复采样帧序列、第一剩余帧序列以及第一剩余掩膜序列,得到第一已修复剩余帧序列;根据第一已修复采样帧序列以及第一已修复剩余帧序列,获得待处理视频的已修复视频。
在一些可行的实施方式中,该处理器1401可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1402可以包括只读存储器和随机存取存储器,并向处理器1401和输入输出接口1403提供指令和数据。存储器1402的一部分还可以包括非易失性随机存取存储器。例如,存储器1402还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如上述任一方法实施例中各个步骤所提供的视频处理实现方式,具体可参见上述方法实施例所示图中各个步骤所提供的实现方式,在此不再赘述。
本公开实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行上述任一实施例中所示方法的各个步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行上述任一实施例中各个步骤所提供的声学模型的训练方法,具体可参见该上述任一实施例中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本公开所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本公开方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是前述任一实施例提供的视频处理装置或者或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的各种可选方式中所提供的方法。
本公开实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例提供的方法及相关装置是参照本公开实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程应用显示设备的处理器以产生一个机器,使得通过计算机或其他可编程应用显示设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程应用显示设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程应用显示设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本公开较佳实施例而已,当然不能以此来限定本公开之权利范围,因此依本公开权利要求所作的等同变化,仍属本公开所涵盖的范围。
Claims (14)
1.一种视频处理方法,其特征在于,包括:
获取待处理视频的第一目标帧序列以及第一目标掩膜序列;
分别对所述第一目标帧序列与所述第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列;
对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列;
对所述第一已修复采样帧序列、所述第一剩余帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列;
对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列进行合并处理,获得所述待处理视频的已修复视频。
2.如权利要求1所述的方法,其特征在于,对所述第一已修复采样帧序列、所述第一剩余帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列,包括:
对所述第一剩余帧序列进行梯度像素转换处理,获得第一剩余梯度帧序列;
根据所述第一剩余帧序列和所述第一采样帧序列,获得第一剩余光流序列;
对所述第一剩余光流序列中的掩膜区域进行光流填充处理,获得第一已填充剩余光流序列;
对所述第一剩余梯度帧序列、所述第一已填充剩余光流序列、所述第一已修复采样帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,获得所述第一已修复剩余帧序列。
3.如权利要求2所述的方法,其特征在于,根据所述第一剩余帧序列和所述第一采样帧序列,获得第一剩余光流序列,包括:
确定所述第一剩余帧序列中的目标剩余帧;
从所述第一采样帧序列中确定所述目标剩余帧的目标前向帧和目标后向帧;
获得所述目标前向帧和所述目标剩余帧之间的前向光流图,以及所述目标后向帧和所述目标剩余帧之间的后向光流图;
根据所述前向光流图和所述后向光流图,确定所述第一剩余光流序列。
4.如权利要求1至3任一项所述的方法,其特征在于,对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列,包括:
对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播处理,得到第一更新采样梯度帧序列及第一更新采样掩膜序列;
对所述第一更新采样梯度帧序列及所述第一更新采样掩膜序列进行泊松重建处理,获得第一更新采样帧序列;
对所述第一更新采样帧序列进行逐帧的图像修复处理,获得所述第一已修复采样帧序列。
5.如权利要求4所述的方法,其特征在于,对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播处理,得到第一更新采样梯度帧序列及第一更新采样掩膜序列,包括:
对所述第一采样帧序列进行光流估计处理,获得第一采样光流序列;
对所述第一采样帧序列进行梯度像素转换处理,获得第一采样梯度帧序列;
对所述第一采样光流序列中的掩膜区域进行光流填充处理,获得第一已填充采样光流序列;
根据所述第一已填充采样光流序列对所述第一采样梯度帧序列与所述第一采样掩膜序列进行光流传播处理,获取所述第一更新采样梯度帧序列及所述第一更新采样掩膜序列。
6.如权利要求1至3任一项所述的方法,其特征在于,获取待处理视频的第一目标帧序列以及第一目标掩膜序列,包括:
获取所述待处理视频的第一帧序列及其对应的第一掩膜序列;
若所述第一掩膜序列中的掩膜区域的占比小于占比阈值,则根据所述第一掩膜序列确定目标掩膜,所述目标掩膜的掩膜区域覆盖所述第一掩膜序列的掩膜区域;
根据所述目标掩膜分别对所述第一帧序列和所述第一掩膜序列进行裁剪处理,获得所述第一目标帧序列和所述第一目标掩膜序列。
7.如权利要求6所述的方法,其特征在于,根据所述目标掩膜分别对所述第一帧序列和所述第一掩膜序列进行裁剪处理,获得所述第一目标帧序列和所述第一目标掩膜序列,包括:
根据所述目标掩膜的掩膜区域的长和宽,获得所述目标掩膜的掩膜区域的对外扩展像素数;
根据所述目标掩膜的掩膜区域的长、宽和所述对外扩展像素数,获得所述目标掩膜的掩膜区域的裁剪边界;
根据所述目标掩膜的掩膜区域的裁剪边界以及所述目标掩膜的掩膜区域的长和宽,获得包括所述目标掩膜的掩膜区域的裁剪区域;
根据所述裁剪区域,对所述第一帧序列和所述第一掩膜序列分别进行裁剪处理,获得所述第一目标帧序列和所述第一目标掩膜序列。
8.如权利要求1至3任一项所述的方法,其特征在于,获取待处理视频的第一目标帧序列以及第一目标掩膜序列,包括:
获取所述待处理视频的第一帧序列及其对应的第一掩膜序列;
若所述第一掩膜序列中的掩膜区域的占比大于或等于占比阈值,则分别对所述第一帧序列和所述第一掩膜序列进行缩放处理,获得所述第一目标帧序列和所述第一目标掩膜序列。
9.如权利要求1至3任一项所述的方法,其特征在于,获取待处理视频的第一目标帧序列以及第一目标掩膜序列,包括:
获取所述待处理视频的完整帧序列以及对应的完整掩膜序列;
分别对所述完整帧序列和所述完整掩膜序列进行镜头切分处理,获得单镜头帧序列及对应的单镜头掩膜序列;
若所述单镜头帧序列及对应的单镜头掩膜序列超过时长阈值,则对所述单镜头帧序列及对应的单镜头掩膜序列进行分段处理,获得分段帧序列及对应的分段掩膜序列,所述分段帧序列包括第一帧序列,所述分段掩膜序列包括第一掩膜序列;
根据所述第一帧序列及其对应的第一掩膜序列获得所述第一目标帧序列和所述第一目标掩膜序列。
10.如权利要求9所述的方法,其特征在于,所述分段帧序列还包括第二帧序列,所述分段掩膜序列还包括第二掩膜序列;
其中,对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列进行合并处理,获得所述待处理视频的已修复视频,包括:
分别将所述第一已修复采样帧序列和所述第一已修复剩余帧序列的尾帧***所述第二帧序列和所述第二掩膜序列,作为所述第二帧序列和所述第二掩膜序列的首帧;
对所述第二帧序列和所述第二掩膜序列进行处理,获得第二已修复采样帧序列以及第二已修复剩余帧序列;
对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列、以及所述第二已修复采样帧序列以及所述第二已修复剩余帧序列进行合并处理,获得所述已修复视频。
11.一种视频处理装置,其特征在于,包括:
获取模块,用于获取待处理视频的第一目标帧序列以及第一目标掩膜序列;
抽帧模块,用于分别对所述第一目标帧序列与所述第一目标掩膜序列进行抽帧处理,得到第一采样帧序列及其第一剩余帧序列,以及第一采样掩膜序列及其第一剩余掩膜序列;
所述获取模块还用于对所述第一采样帧序列与所述第一采样掩膜序列进行光流传播和图像修复处理,获得第一已修复采样帧序列;
所述获取模块还用于对所述第一已修复采样帧序列、所述第一剩余帧序列以及所述第一剩余掩膜序列进行光流传播和图像修复处理,得到第一已修复剩余帧序列;
所述获取模块还用于对所述第一已修复采样帧序列以及所述第一已修复剩余帧序列进行合并处理,获得所述待处理视频的已修复视频。
12.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至10中任一项所述的视频处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至10中任一项所述的视频处理方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的视频处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210545680.XA CN115115538A (zh) | 2022-05-19 | 2022-05-19 | 视频处理方法、装置、设备及存储介质 |
PCT/CN2023/082430 WO2023221636A1 (zh) | 2022-05-19 | 2023-03-20 | 视频处理方法、装置、设备、存储介质和程序产品 |
US18/589,330 US20240202886A1 (en) | 2022-05-19 | 2024-02-27 | Video processing method and apparatus, device, storage medium, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210545680.XA CN115115538A (zh) | 2022-05-19 | 2022-05-19 | 视频处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115115538A true CN115115538A (zh) | 2022-09-27 |
Family
ID=83325858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210545680.XA Pending CN115115538A (zh) | 2022-05-19 | 2022-05-19 | 视频处理方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240202886A1 (zh) |
CN (1) | CN115115538A (zh) |
WO (1) | WO2023221636A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221636A1 (zh) * | 2022-05-19 | 2023-11-23 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备、存储介质和程序产品 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7184100B1 (en) * | 1999-03-24 | 2007-02-27 | Mate - Media Access Technologies Ltd. | Method of selecting key-frames from a video sequence |
WO2003084235A1 (en) * | 2002-03-28 | 2003-10-09 | British Telecommunications Public Limited Company | Video pre-processing |
EP2838268B1 (en) * | 2013-07-31 | 2019-02-20 | Axis AB | Method, device and system for producing a merged digital video sequence |
CN110443764A (zh) * | 2019-08-01 | 2019-11-12 | 北京百度网讯科技有限公司 | 视频修复方法、装置及服务器 |
WO2022093283A1 (en) * | 2020-11-02 | 2022-05-05 | Innopeak Technology, Inc. | Motion-based pixel propagation for video inpainting |
CN113038176B (zh) * | 2021-03-19 | 2022-12-13 | 北京字跳网络技术有限公司 | 视频抽帧方法、装置和电子设备 |
CN115115538A (zh) * | 2022-05-19 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备及存储介质 |
-
2022
- 2022-05-19 CN CN202210545680.XA patent/CN115115538A/zh active Pending
-
2023
- 2023-03-20 WO PCT/CN2023/082430 patent/WO2023221636A1/zh active Application Filing
-
2024
- 2024-02-27 US US18/589,330 patent/US20240202886A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221636A1 (zh) * | 2022-05-19 | 2023-11-23 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
US20240202886A1 (en) | 2024-06-20 |
WO2023221636A1 (zh) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898567B (zh) | 图像降噪方法、装置及*** | |
Shan et al. | Fast image/video upsampling | |
US20180137611A1 (en) | Novel View Synthesis Using Deep Convolutional Neural Networks | |
CN109462747B (zh) | 基于生成对抗网络的dibr***空洞填充方法 | |
CN112954450B (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN110163237A (zh) | 模型训练及图像处理方法、装置、介质、电子设备 | |
CN110166684B (zh) | 图像处理方法、装置、计算机可读介质及电子设备 | |
CN108694705A (zh) | 一种多帧图像配准与融合去噪的方法 | |
CN113689372B (zh) | 图像处理方法、设备、存储介质及程序产品 | |
CN111681177A (zh) | 视频处理方法及装置、计算机可读存储介质、电子设备 | |
CN111985281A (zh) | 图像生成模型的生成方法、装置及图像生成方法、装置 | |
CN111325667A (zh) | 图像处理方法及相关产品 | |
CN113556582A (zh) | 视频数据处理方法、装置、设备以及存储介质 | |
CN110163866A (zh) | 一种图像处理方法、电子设备及计算机可读存储介质 | |
US20240202886A1 (en) | Video processing method and apparatus, device, storage medium, and program product | |
WO2014120281A1 (en) | Increasing frame rate of an image stream | |
CN110852980A (zh) | 交互式图像填充方法及***、服务器、设备及介质 | |
CN113256781A (zh) | 虚拟场景的渲染和装置、存储介质及电子设备 | |
WO2024131565A1 (zh) | 服装图像提取方法及其装置、设备、介质、产品 | |
CN116012232A (zh) | 图像处理方法、装置及存储介质、电子设备 | |
CN112184587A (zh) | 一种边缘数据增强模型、以及基于所述模型的高效边缘数据增强方法及*** | |
CN115272438A (zh) | 一种面向三维场景重建的高精度单目深度估计***及方法 | |
CN117336527A (zh) | 视频编辑的方法和装置 | |
CN112489103A (zh) | 一种高分辨率深度图获取方法及*** | |
CN109448111B (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 |