视频编辑-通用领域
视频inpainting模型,输入视频和mask,可实现对指定帧范围内的video inpainting
  • 模型资讯
  • 模型资料

视频编辑

这是一个video inpainting模型。输入一段视频和mask区域,对视频进行修复。

模型描述

利用transfomer结构,基于STTN.进行了优化,适用深度可分离卷积替代标准卷积,同时对模型的宽度进行了瘦身。

使用方式和范围

如何使用

在ModelScope框架上,提供输入视频和mask目录,即可以通过简单的Pipeline调用来使用视频编辑/修复。

代码范例

from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

video_inpainting = pipeline(Tasks.video_inpainting, 
                       model='damo/cv_video-inpainting')
result_status = video_inpainting({'video_input_path':'data/test/videos/video_inpainting_test.mp4',
                           'mask_path':'data/test/videos/mask_dir',
                           'video_output_path':'out.mp4'})
result = result_status[OutputKeys.OUTPUT]

  • video_input_path 为输入视频的路径
  • mask_path 为mask文件的目录,支持一个视频对应多个mask,mask文件的命名规则示例:mask_00000_000321.png,mask_000322_000632.png,分别代表第1帧到第322帧的mask,和第323帧到底633帧的mask。mask中需要修复的区域像素为(0, 0, 0),其他区域像素为(255, 255, 255)
  • video_output_path 为输出视频的路径

正常情况下,算法返回字符串‘Done’,如果遇到输入视频无法解码时,算法返回字符串‘decode_error’

模型局限性以及可能的偏差

  • 对于文字背景,直线、曲线等规则图案的背景,修复效果会受到影响。

训练数据介绍

训练数据来自互联网搜索的视频

模型推理流程

预处理

  • 算法会根据mask的区域,自适应对对视频进行crop,然后进行推理。

推理

  • 会把连续的300帧送入模型,进行推理,得到修复结果

引用

@inproceedings{yan2020sttn,
  author = {Zeng, Yanhong and Fu, Jianlong and Chao, Hongyang,
  title = {Learning Joint Spatial-Temporal Transformations for Video Inpainting},
  booktitle = {The Proceedings of the European Conference on Computer Vision (ECCV)},
  year = {2020}
}