开源黑科技!视频内容补全和隐藏,如此简单!
【导语】:FGVC 是一种基于光流的视频修复算法,既能补全视频也能让视频中不想要的物体消失。
简介
FGVC,即Flow-edge Guided Video Completion(光流-边缘引导的视频补全),是弗吉尼亚理工大学博士高谌等人的研究成果,该研究成果在视频修复上能实现惊人的效果。
让荡秋千的美女消失
补全视频缺失的部分
下载安装
项目地址:https://github.com/vt-vl-lab/FGVC
环境要求
Linux (已在CentOS Linux release 7.4.1708测试过) Anaconda Python 3.8 (已在3.8.5测试过) PyTorch 1.6.0
安装相关依赖库
conda create -n FGVC
conda activate FGVC
conda install pytorch=1.6.0 torchvision=0.7.0 cudatoolkit=10.1 -c pytorch
conda install matplotlib scipy
pip install -r requirements.txt
下载模型权重和demo数据
chmod +x download_data_weights.sh
./download_data_weights.sh
简单使用
1、如果需要移除视频中的指定物体,方法如下:
cd tool
python video_completion.py \
# 处理模式
--mode object_removal \
# 输入数据
--path ../data/tennis \
# 需要移除的物体掩码数据
--path_mask ../data/tennis_mask \
# 输出结果
--outroot ../result/tennis_removal \
# 无缝效果,想减少处理时间可以去掉
--seamless
输入数据
需要移除的物体掩码数据
处理效果
2、如果需要补全视频画面,方法如下:
cd tool
python video_completion.py \
# 处理模式
--mode video_extrapolation \
# 输入数据
--path ../data/tennis \
# 输出结果
--outroot ../result/tennis_extrapolation \
--H_scale 2 \
--W_scale 2 \
# 无缝效果,想减少处理时间可以去掉
--seamless
输入数据
处理效果
开发者还展示了其他一些处理效果不错的视频例子:
让奔跑的马消失
补全飞鸟翱翔的背景
不想自己折腾环境的童鞋也可以直接在colab上体验:https://colab.research.google.com/drive/1pb6FjWdwq_q445rG2NP0dubw7LKNUkqc?usp=sharing
原理介绍
该研究的主要原理——光流法是视域中物体运动检测的概念,其用于描述运动所造成的观测目标、表面或边缘的运动,主要应用于计算机视觉和影像处理等。使用光流法,可寻到不同帧之间的关系,并通过在不同帧之间传播信息来补全视频。
本次研究主要包含三个步骤:光流完成(Flow completion)、内容传播(Temporal propagation)和融合(Fusion) 。
Flow completion:具体操作时,要计算相邻帧之间的正向光流和反向光流、以及一组非相邻帧的正向光流和反向光流。
Temporal propagation:按照光流的轨迹,为每个丢失的像素找到一组候选像素,对于每个候选帧,都要估计一个置信分数以及一个二进制有效性指标。
Fusion:使用置信加权平均值,将每个缺失像素的候选像素与至少一个有效候选像素融合。对于没有候选像素,则使用一个关键帧,并使用单个图像补全技术来填充它。
结语
FGVC就简单介绍到这里了,感兴趣的朋友可以到项目主页了解更多详情。
- EOF -
更多优秀开源项目(点击下方图片可跳转)
开源前哨
日常分享热门、有趣和实用的开源项目。参与维护10万+star 的开源技术资源库,包括:Python, Java, C/C++, Go, JS, CSS, Node.js, PHP, .NET 等
关注后获取
回复 资源 获取 10万+ star 开源资源
分享、点赞和在看
支持我们分享更多优秀开源项目,谢谢!