CN115065796A - 视频中间帧的生成方法和装置 - Google Patents
视频中间帧的生成方法和装置 Download PDFInfo
- Publication number
- CN115065796A CN115065796A CN202210669349.9A CN202210669349A CN115065796A CN 115065796 A CN115065796 A CN 115065796A CN 202210669349 A CN202210669349 A CN 202210669349A CN 115065796 A CN115065796 A CN 115065796A
- Authority
- CN
- China
- Prior art keywords
- optical flow
- layer
- image
- intermediate frame
- processing
- 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 64
- 230000003287 optical effect Effects 0.000 claims abstract description 132
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 56
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 49
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 claims description 4
- 238000005067 remediation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0127—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0127—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
- H04N7/0132—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the field or frame frequency of the incoming video signal being multiplied by a positive integer, e.g. for flicker reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种视频中间帧的生成方法和装置,其中方法包括:获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔;基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层处理得到的中间帧进行修复,得到当前层处理输出的中间帧。采用本申请,可以有效提高中间帧的真实度,降低实现复杂度。
Description
技术领域
本发明涉及计算机视觉技术,特别是涉及一种视频中间帧的生成方法和装置。
背景技术
视频插帧是计算机视觉中的一个重要应用,旨在通过合成连续帧之间不存在的帧(即中间帧)来提升视频的帧率,从而让视频中的运动变得更加平滑,提升观看者的观感体验。例如,对于一些年代久远的视频,受限于当时的拍摄设备,帧率一般只有25FPS。而现代高端电视通常支持120FPS的播放速度。这样,在现代电视上播放这些低帧率的视频,一方面会有卡顿的感觉,另一方面也无法发挥出电视的最强性能。为解决上述问题,可以使用人工智能技术,通过插帧的方式将视频的帧率实时提升到120FPS。此外,视频插帧技术在视频压缩、视角合成、自适应流媒体等方面也有广泛的应用。尤其是,对于元宇宙的应用,高清视频交互的实时性要求越来越重要。然而,实时传输高清高帧率的视频流,会给网络带宽带来的非常大的压力。在有限的带宽条件下,传输较低帧率的视频流,之后再在客户端采用视频插帧技术,将低帧率视频转换为高帧率视频,是一个非常有效的应用方案。
目前,深度学习算法在视频插帧领域已经取得了丰硕的成果。特别地,基于光流的像素合成是目前视频插帧领域的主流实现方式。该类算法中,首先,估计输入帧与目标帧之间的光流,然后,再用估计的光流来引导中间帧的合成。其中,光流刻画的是连续帧之间的像素级别的运动,它在像素合成过程中扮演的角色是通过向中间的前向扭曲(forward-warping)或者向中间的后向扭曲(backward-warping)操作,将输入帧中的像素移动到中间帧上。基于扭曲(warp)操作的结果,利用一个合成网络,融合像素和特征的信息,生成最终的中间帧。一般而言,光流估计网络是一个金字塔结构的网络,以迭代的方式由粗到细地估计光流;合成网络通常是一个编码器-解码器结构的网络,也就是通常所说的U-Net结构。
发明人在实现本申请的过程中发现:现有基于光流的像素合成实现的视频插帧方案存在中间帧真实度低、实现复杂等问题。具体原因分析如下:
上述视频插帧方案中,中间帧是基于光流的估计结果合成的,这样,光流估计结果的准确性,就会直接决定中间帧生成的准确性。而现有方案采用的用于估计光流的金字塔结构光流模型,通常只是在最高分辨率的层级上输出最终的结果,该结果容易与真实图像的误差较大。相应地,就会影响基于光流估计结果所合成的中间帧的真实度,即中间帧与相应时刻真实图像的误差较大。
另外,现有视频插帧方案的采用的是一次合成方式(即只运行一次合成网络模块),使得合成过程中需要多次下采样,以降低光流估计的不准确性,如此,使得合成网络规模较大,参数数量很多,不利用于在实际应用场景中的边缘设备中部署。
发明内容
有鉴于此,本发明的主要目的在于提供一种视频中间帧的生成方法和装置,可以有效提高中间帧的真实度,降低实现复杂度。
为了达到上述目的,本发明实施例提出的技术方案为:
一种视频中间帧的生成方法,包括:
获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔;
基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层所述图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层所述处理得到的中间帧进行修复,得到当前层所述处理输出的中间帧。
本发明实施例还提出一种视频中间帧的生成装置,包括:
图像金字塔构建模块,用于获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔;
中间帧生成模块,用于基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层所述图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层所述处理得到的中间帧进行修复,得到当前层所述处理输出的中间帧。
本发明实施例提出一种视频中间帧的生成设备,包括处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上所述视频中间帧的生成方法。
本发明实施例还提出一种计算机可读存储介质,其中存储有计算机可读指令,该计算机可读指令用于执行如上所述视频中间帧的生成方法。
本发明实施例一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如上所述视频中间帧的生成方法的步骤。
综上所述,本发明实施例提出的视频中间帧的生成方案,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,需要基于对上一层处理得到的光流进行修复,并基于当前层修复得到的双向光流和图像金字塔在当前层的图像,对在上一层中间帧生成处理得到的中间帧进行修复,如此,通过在基于每层图像进行中间帧的生成处理时,都要进行光流和中间帧的修复,而不仅是利用在最高分辨率的层级处理时获得的光流,来进行中间帧的修复,有效提升了光流估计质量的鲁棒性,从而可以有效提升中间帧的准确度,即,所生成的中间帧能够更接近相应时刻的真实图像,进而可以有效提升插帧视觉效果,尤其是可以明显提升关于高分辨率视频的插帧效果。
另外,通过在每一层处理都要进行中间帧的修复,使得中间帧的合成需要执行多次,如此,可以有效减少每次合成需要执行的采样数量,从而可以降低像素合成模型的规模,大幅度减少了模型的参数量。并且,通过采用逐层递归调用的方式进行中间帧的生成,使得各层处理可以共享模型,如此,也有效降低了整个方案的网络参数量。因此,采用本发明实施例可以有效降低实现复杂度。
附图说明
图1为本发明实施例的方法流程示意图;
图2为本发明实施例的双向光流估计模型示意图;
图3为本发明实施例的像素合成模型示意图;
图4为本发明实施例和现有PWC-Net算法的光流估计效果对比示意图;
图5为本发明实施例的视频中间帧生成模型结构示意图;
图6为本发明实施例和现有方案的单帧视频插帧示例及对比示意图;
图7为本发明实施例的多帧视频插帧示例示意图;
图8为本发明实施例的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图1为本发明实施例的方法流程示意图,如图1所示,该实施例实现的视频中间帧生成方法主要包括:
步骤101、获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔。
本步骤,为了便于提高后续光流估计的效率,基于当前待生成中间帧的目标视频帧对(具体由连续的两个视频帧组成)中的每个视频帧,分别构建相应的图像金字塔,以便在后续步骤中,基于图像金字塔中的每层图像,逐层进行中间帧的生成处理。
本步骤中图像金字塔的构建可以采用现有方法实现。图像金字塔的具体层数与目标视频帧对中视频帧分辨率相关,分辨率越大,金字塔层数越多。
在实际应用中,可以提高测试阶段时的金字塔层级,以便于预测超越训练集的超大光流。比如,在低分辨率的Vimeo90K上训练本发明实施例的模型,只需要三级金字塔就足以预测训练集上的光流。但是,如果在4K1000FPS这样的超高分辨率(4K)数据集上进行预测,就有必要提升测试时的金字塔层级,例如,建议使用7层。
步骤102、基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层所述图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层所述处理得到的中间帧进行修复,得到当前层所述处理输出的中间帧。
本步骤,用于基于步骤101获得的两个视频帧的图像金字塔,利用预先训练的双向光流估计模型和像素合成模型,生成这两个视频帧之间的中间帧。这里,中间帧对应的时刻介于两个视频帧之间,不限于正中间时刻。
需要说明的是,这里在基于每层图像进行中间帧的生成处理时,对于上一层级得到的光流和中间帧都要进行修复,而不仅是利用在最高分辨率的层级处理时获得的光流,进行中间帧的修复,如此,可以有效提升光流估计质量的鲁棒性,从而可以有效提升中间帧的真实度,进而可以有效提升插帧效果,尤其是可以明显提升关于高分辨率视频的插帧效果。并且,通过在每一层处理都要进行中间帧的修复,可以大幅度降低像素合成模型的规模,缩减了模型的参数数量。另外,通过采用逐层递归调用的方式,可以有效降低整个中间帧生成方案的网络参数规模,从而可以有效降低实现复杂度以及提高中间帧的生成效率。
步骤102中,基于金字塔最后一层图像进行中间帧生成处理所得到中间帧,即为最终获得的所述目标视频帧对的中间帧。
进一步地,发明人在实现本发明的过程中发现:现有视频插帧方案中的光流网络和合成网络在设计上都会使用关于输入图片的特征编码模块,即光流估计模型在进行光流估计时需要基于像素级别的特征来构建匹配代价(cost volume),像素合成模型则需要像素级别的特征图来提供上下文信息。故,对于用于为图像生成特征图的特征编码网络,可以被双向光流估计模型和像素合成模型共享。但是,在现有方案中光流网络和合成网络是独立运行的,相应的,两者也是独立使用各自的特征编码模块,如此,导致了模块的冗余配置,进而也会导致方案的参数规模较大,增加了方案实现的复杂度。针对上述问题,为了进一步减少参数规模,降低实现复杂度,在一种实施方式中,可以使得双向光流估计模型和像素合成模型共享特征编码网络,以降低模型冗余度,同时还可以提升为每层图像生成特征图的鲁棒性,具体可以采用下述方法实现:
在基于所述图像金字塔中的每层图像进行中间帧生成处理时,在利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复之前,利用预设的特征编码网络,为每个所述图像金字塔在当前层的图像,分别生成第一数量个不同分辨率的像素级别特征图,以提供给所述光流估计模型和所述像素合成模型分别进行所述修复。
其中,所述第一数量大于等于3;所述特征编码网络为具有至少第二数量次下采样的卷积网络;所述第二数量等于所述第一数量减一,具体地,本领域技术人员可根据实际需要设置第一数量和第二数量的合理取值,例如,第一数量为3时,第二数量为2,即特征编码网络具有两次下采样时,将输出三种不同分辨率的像素级别特征图。
一种实施方式中,特征编码网络具体可以由12层的卷积网络实现,其具有至少两次下采样的卷积网络,输出三种不同分辨率的特征图,该特征编码网络在第5层和第9层分别进行了下采样,最终输出的是三级不同分辨率的特征图(即每次下采样之前的特征图和最后一层卷积输出的特征图),也就是来自第4层、第8层第12层卷积网络的特征图。上述仅是对特征编码网络具体实现的示例性说明,实际应用中不限于此。
一种实施方式中,在步骤102中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,具体可以采用下述方法对上一层中间帧生成处理得到的双向光流进行修复:
在基于所述图像金字塔中的每层图像进行中间帧生成处理时,将当前层所述图像对应的像素级别特征图和上一层所述处理得到的双向光流,输入至所述双向光流估计模型进行光流修复处理。其中,所述像素级别特征图为当前层所述图像输入至预设的特征编码网络进行处理时,所述特征编码网络的最后一层卷积输出的特征图;所述双向光流为目标视频帧对中的每个视频帧各自到当前待生成中间帧的光流。
一种实施方式中,如图2所示,上述方法中双向光流估计模型具体可以采用下述步骤进行光流修复处理:
步骤a1、对上一层所述处理得到的双向光流进行线性加权,得到当前层处理的双向光流初始估计值。
这里,线性加权时采用的关于时刻的参量为当前待生成中间帧对应的时刻,线性加权的具体方法为本领域技术人员所掌握,在此不再赘述。
特别地,在进行第一层中间帧生成处理时,线性加权的对象,即双向光流的初始值,可以设置为0。
步骤a2、基于所述双向光流初始估计值,利用所述双向光流估计模型的前向扭曲层,对当前层的每个所述图像各自对应的像素级别特征图,分别进行向中间的前向扭曲。
这里需要说明的是,考虑到现有的向中间的前向扭曲(forward-warping)方法对于多帧插帧(在输入两张图片之间生成多帧)的支持较好,且整体的算法框架更加简洁,本发明实施例中选择采用向中间的前向扭曲(forward-warping)方法进行扭曲处理,以对齐目标视频帧对中两个视频帧对应的两张特征图中的像素。
具体地,在步骤a2中,当前层的每个所述图像各自对应的像素级别特征图,即特征编码网络的最后一层卷积核输出的特征图。
步骤a3、基于所述前向扭曲得到的特征图,利用所述双向光流估计模型的匹配代价层,构建局部匹配代价。
本步骤,用于利用匹配代价层(cost volume layer),构建局部匹配代价(partialcost volume)。这里,需要说明的是,cost volume用于表征两张输入图像的像素级别的特征的匹配分数,partial cost volume是一种对于光流任务而言,非常有判别力的表示,具体是指一张图片与另一张图片对应像素的局部像素块的特征的匹配分数。
这里,构建局部匹配代价的具体实现为本领域技术人员所掌握,在此不再赘述。
步骤a4、基于所述双向光流初始估计值、所述前向扭曲得到的特征图、所述局部匹配代价以及上一层所述处理时得到的双向光流的卷积神经网络CNN特征,进行通道堆叠;将所述通道堆叠的结果,输入至所述双向光流估计模型的光流估计层,进行光流估计,得到当前层的双向光流修复结果。
具体地,光流估计的具体实现为本领域技术人员所掌握,所述光流估计层可由6层的卷积网络实现,但不限于此。
一种实施方式中,如图3所示,在步骤102中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,具体可以采用下述方法利用像素合成模型,对上一层所述处理得到的中间帧进行修复:
步骤b1、对所述修复得到的双向光流进行线性加权。
步骤b2、对于每个所述视频帧,利用所述像素合成模型的前向扭曲层,基于该视频帧对应的所述线性加权后的光流,对该视频帧在当前层的所述图像以及该图像的上下文特征,进行向中间的前向扭曲。
其中,所述上下文特征为将该视频帧在当前层的所述图像输入至特征编码网络进行处理后,该特征编码网络输出的每次下采样之前的特征图以及最后一层卷积输出的特征图。
步骤b3、将所述前向扭曲的结果,以及上一层所述处理得到的中间帧,输入至所述像素合成模型的像素合成网络进行处理,得到在当前层的中间帧修复结果。
在一种实施方式中,像素合成网络具体可使用一个简单的仅有两个下采样层的U-Net结构(由编码层和解码层两部分组成)实现。具体而言,U-Net的第一层编码层的输入包含上一层所述处理得到的中间帧、扭曲处理后的输入图片以及扭曲处理后的上下文特征(即特征编码网络输出的特征图)。编码层每次下采样之后的下一层的输入,都会嵌入对应分辨率的扭曲处理后的上下文特征。U-Net一共包含两层下采样,以及对应的两层上采样。经过包含两层上采样的解码网络,可以得到该金字塔层修复后的中间帧。
在实际应用中,特别地,对于第一层处理,中间帧的初始值可以为当前层的两张图像经过扭曲后的平均化结果。
进一步地,考虑到上述方法实施例中,在每层处理时都对上一层得到的光流进行修复,使得最终可以获得准确性很高的光流估计结果,而在实际应用中关于中间帧的光流不仅可以应用于视频插帧,还可以应用于运动物体检测,视频显著性区域检测等,尤其是,由于上述实施例使用了灵活的金字塔递归结构,使得它能够灵活地处理小光流、大光流、以及复杂的非线性的光流。这样,可以利用上述方法实施例获得更准确的光流估计值,即可以在基于所述图像金字塔中的最低层图像获得所述中间帧之后,输出基于当前层所述图像进行所述修复得到的双向光流。
如图4所示,本发明方法实施例在估计复杂的大光流时,相比于现有常用的PWC-Net算法,可以获得更准确,高效的效果,有明显的应用优势。
图5为上述方法实施例对应的视频中间帧生成模型的较佳结构示意图。如图5所示,视频中间帧生成模型是一个金字塔递归网络,这种结构使得本申请能够在测试阶段使用指定的金字塔层级,灵活地处理不同分辨率的输入图片。在图像金字塔的不同层级重复执行同一个递归单元,并在最高分辨率的层级输出最终估计的中间帧。为了构建递归单元,需要先使用一个特征编码网络,提取输入图片的像素级别的特征,然后再用一个双向光流估计模型和一个像素合成模型分别修正上一层级估计的光流和中间帧。特别地,使用forward-warping来补偿帧间的光流。因为本申请实施例估计的是输入图片之间的双向光流,对于forward-warping所需要的从输入帧到中间帧之间的光流,通过线性加权的方式即可方便得到,所以本申请实施例的方法可以很方便地估计输入的两视频帧之间任意时刻的某一帧。
通过上述方法实施例可以看出,本申请提出的视频中间帧的生成方案,通过在基于每层图像进行中间帧的生成处理时,都要进行光流和中间帧的修复,可以有效提升光流估计质量的鲁棒性,从而可以有效提升中间帧的真实度,进而可以有效提升插帧效果。并且,通过在每一层处理都要进行中间帧的修复,可以大幅度降低像素合成模型的规模,缩减了模型的参数数量。另外,通过采用逐层递归调用模型,进行中间帧的生成,也有效降低了整个实现方案的网络参数规模,从而可以有效降低实现复杂度以及提高中间帧的生成效率。进一步地,还可以通过使得光流估计模型和像素合成模型共享特征编码网络,使得上述方法实施例的模型架构非常轻量化,参数量不到现有主流方案的1/10。
基于上述技术优势,在实时性要求较高或者计算功耗较低的应用需求限制下,上述方法实施例具有很强的应用潜力。具体而言,基于上述方法实施例非常轻量化的优点,上述方法实施例可以应用于终端上的视频插帧方案中。另外,上述方法实施例也可以应用于基于视频插帧的下游任务,比如视频压缩、视角合成等。上述方法实施例还可以被应用于缓解元宇宙项目中视频数据的传输压力,即传输低帧率的视频,通过插帧技术恢复出高帧率的视频。此外,还可以利用上述方法实施例可以提高双向光流估计值准确性的优势,将其应用于各种与光流相关的应用中。
下面结合单帧视频插帧和多帧视频插帧的具体实现示例,进一步阐述上述方法实施例的技术效果。
一、单帧视频插帧
常见的视频插帧的需求是,基于连续的两张视频帧(frame-0和frame-1),合成出这两张视频帧之间的一个中间帧,即frame-0.5。如图6所示,从左侧起,第一列是两张视频帧重合在一起的输入帧,第二列是目标中间帧(即真实的中间帧,ground truth),第三和第四列是利用两个目前最先进的视频插帧算法(AdaCoF和ABME)分别获得的中间帧,第五列是利用本发明方法实施例获得的中间帧。第二行是局部图片放大后的效果,基于这一行图像,更容易看出不同算法所合成中间帧之间的细微差别。从图中可以看出,在局部复杂的非线性光流的情况下(第二行),采用本发明方法实施例均能取得较好的结果。
二、多帧视频插帧
如果原始视频的帧率太低(比如25FPS),往往就需要在连续两帧之间插入多帧,才能使之达到较高的帧率(比如120FPS)。基于线性加权的方式,可以近似得到从输入帧到任意时刻中间帧的光流,然后结合forward-warping方法,就可以合成任意时刻的中间帧。当需要生成多个中间帧时,执行相应次数的上述方法实施例中的步骤102,即可得到相应数量的中间帧。图7给出了多帧视频插帧示例图,其中第一行为目标中间帧,第二行为采用本发明方法实施例得到的不同时刻的中间帧,从图中可以看出,采用本发明方法实施例得到的多个中间帧与目标中间帧非常接近。
基于上述方法实施例,本发明实施例提出一种视频中间帧的生成装置,如图8所示,包括:
图像金字塔构建模块801,用于获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔。
中间帧生成模块802,用于基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层所述图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层所述处理得到的中间帧进行修复,得到当前层所述处理输出的中间帧。
需要说明的是,上述方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此,装置和方法的实施可以相互参见,重复之处不再赘述。
基于上述方法实施例,本发明实施例还提出一种视频中间帧的生成设备,包括处理器和存储器;所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上所述视频中间帧的生成方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述视频中间帧的生成方法实施方式中任一实施方式的功能。
其中,存储器具体可以实施为电可擦可编程只读存储器(EEPROM)、快闪存储器(Flash memory)、可编程程序只读存储器(PROM)等多种存储介质。处理器可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为CPU或MCU。
本申请实施例实现了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述视频中间帧的生成方法的步骤。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种视频中间帧的生成方法,其特征在于,包括:
获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔;
基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层所述图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层所述处理得到的中间帧进行修复,得到当前层所述处理输出的中间帧。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在基于所述图像金字塔中的每层图像进行中间帧生成处理时,在利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复之前,利用预设的特征编码网络,为每个所述图像金字塔在当前层的图像,分别生成第一数量个不同分辨率的像素级别特征图,以提供给所述光流估计模型和所述像素合成模型分别进行所述修复;其中,所述第一数量大于等于3;所述特征编码网络为具有至少第二数量次下采样的卷积网络;所述第二数量等于所述第一数量减一。
3.根据权利要求1所述的方法,其特征在于,对上一层所述处理得到的双向光流进行修复包括:
在基于所述图像金字塔中的每层图像进行中间帧生成处理时,将当前层所述图像对应的像素级别特征图和上一层所述处理得到的双向光流,输入至所述双向光流估计模型进行光流修复处理;其中,所述像素级别特征图为当前层所述图像输入至预设的特征编码网络进行处理时,所述特征编码网络的最后一层卷积输出的特征图;所述双向光流为每个所述视频帧到所述中间帧的光流。
4.根据权利要求3所述的方法,其特征在于,所述光流修复处理包括:
对上一层所述处理得到的双向光流进行线性加权,得到当前层处理的双向光流初始估计值;
基于所述双向光流初始估计值,利用所述双向光流估计模型的前向扭曲层,对当前层的每个所述图像各自对应的像素级别特征图,分别进行向中间的前向扭曲;
基于所述前向扭曲得到的特征图,利用所述双向光流估计模型的匹配代价层,构建局部匹配代价;
基于所述双向光流初始估计值、所述前向扭曲得到的特征图、所述局部匹配代价以及上一层所述处理时得到的双向光流的卷积神经网络CNN特征,进行通道堆叠;将所述通道堆叠的结果,输入至所述双向光流估计模型的光流估计层,进行光流估计,得到当前层的双向光流修复结果。
5.根据权利要求1所述的方法,其特征在于,所述对上一层所述处理得到的中间帧进行修复包括:
对所述修复得到的双向光流进行线性加权;
对于每个所述视频帧,利用所述像素合成模型的前向扭曲层,基于该视频帧对应的所述线性加权后的光流,对该视频帧在当前层的所述图像以及该图像的上下文特征,进行向中间的前向扭曲;所述上下文特征为将该视频帧在当前层的所述图像输入至预设的特征编码网络进行处理后,所述特征编码网络输出的每次下采样之前的特征图以及最后一层卷积输出的特征图;
将所述前向扭曲的结果,以及上一层所述处理得到的中间帧,输入至所述像素合成模型的像素合成网络进行处理,得到在当前层的中间帧修复结果。
6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:在基于所述图像金字塔中的最低层图像获得所述中间帧之后,输出基于当前层所述图像进行所述修复得到的双向光流。
7.一种视频中间帧的生成装置,其特征在于,包括:
图像金字塔构建模块,用于获取目标视频帧对,为所述目标视频帧对中的每个视频帧,分别构建图像金字塔;
中间帧生成模块,用于基于所述图像金字塔,按照塔层由高到低的顺序,采用逐层递归调用的方式,利用预先训练的双向光流估计模型和像素合成模型,生成所述目标视频帧对的中间帧;其中,在基于所述图像金字塔中的每层图像进行中间帧生成处理时,基于当前层所述图像,利用所述光流估计模型,对上一层所述处理得到的双向光流进行修复,并基于所述修复得到的双向光流和当前层所述图像,利用所述像素合成模型,对上一层所述处理得到的中间帧进行修复,得到当前层所述处理输出的中间帧。
8.一种视频中间帧的生成设备,其特征在于,包括处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如权利要求1至6中任一项所述视频中间帧的生成方法。
9.一种计算机可读存储介质,其特征在于,其中存储有计算机可读指令,该计算机可读指令用于执行如权利要求1至6中任一项所述视频中间帧的生成方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6中任一项所述视频中间帧的生成方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210669349.9A CN115065796A (zh) | 2022-06-14 | 2022-06-14 | 视频中间帧的生成方法和装置 |
US18/206,459 US20230403371A1 (en) | 2022-06-14 | 2023-06-06 | Method and apparatus for generating video intermediate frame |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210669349.9A CN115065796A (zh) | 2022-06-14 | 2022-06-14 | 视频中间帧的生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115065796A true CN115065796A (zh) | 2022-09-16 |
Family
ID=83200833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210669349.9A Pending CN115065796A (zh) | 2022-06-14 | 2022-06-14 | 视频中间帧的生成方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230403371A1 (zh) |
CN (1) | CN115065796A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156218A (zh) * | 2023-02-20 | 2023-05-23 | 广州博冠信息科技有限公司 | 视频插帧模型的确定方法及装置、视频插帧方法及装置 |
-
2022
- 2022-06-14 CN CN202210669349.9A patent/CN115065796A/zh active Pending
-
2023
- 2023-06-06 US US18/206,459 patent/US20230403371A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156218A (zh) * | 2023-02-20 | 2023-05-23 | 广州博冠信息科技有限公司 | 视频插帧模型的确定方法及装置、视频插帧方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230403371A1 (en) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028150B (zh) | 一种快速时空残差注意力视频超分辨率重建方法 | |
Bao et al. | Memc-net: Motion estimation and motion compensation driven neural network for video interpolation and enhancement | |
US20200356827A1 (en) | Efficient cnn-based solution for video frame interpolation | |
US10860929B2 (en) | Machine-learning based video compression | |
CN111260560B (zh) | 一种融合注意力机制的多帧视频超分辨率方法 | |
CN113837938B (zh) | 基于动态视觉传感器重建潜在图像的超分辨率方法 | |
CN113747242B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
KR102242343B1 (ko) | 고해상도 동영상 프레임 율 고속 변환 방법 및 장치 | |
CN113850718A (zh) | 一种基于帧间特征对齐的视频同步时空超分方法 | |
CN110889809A (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN116862773A (zh) | 一种应用于复杂场景下的视频超分辨率重建方法 | |
JP2013519296A (ja) | パッチシフティングを通じてベクトル量子化誤差を低減する方法および装置 | |
US20230403371A1 (en) | Method and apparatus for generating video intermediate frame | |
CN114071167B (zh) | 视频增强方法、装置、解码方法、解码器及电子设备 | |
CN117333398A (zh) | 一种基于自监督的多尺度图像去噪方法及装置 | |
Su et al. | Local-global fusion network for video super-resolution | |
CN112862675A (zh) | 时空超分辨率的视频增强方法和系统 | |
CN115170402A (zh) | 基于循环残差卷积和过度参数化卷积的帧插入方法及系统 | |
Evain et al. | A lightweight neural network for monocular view generation with occlusion handling | |
CN115564655A (zh) | 基于深度学习的视频超分辨率重建方法、系统及介质 | |
CN114170085A (zh) | 一种时空超分辨率实时重建方法及系统 | |
Zou et al. | Stable Viewport-Based Unsupervised Compressed 360$^{\circ} $ Video Quality Enhancement | |
CN117896526B (zh) | 基于双向编码结构的视频帧插值方法及系统 | |
CN114554248B (zh) | 一种基于神经网络的视频插帧方法 | |
CN116895037B (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 |