视频编辑利器,不喜欢就框除!开源视频物体移除软件video object removal


image inpainting

像上图中的image inpainting相信大家并不陌生,OpenCV就有相关的例子。

但如果是去除视频里的目标呢,就不那么容易了。

今天跟大家介绍一款基于PyTorch的video object removal的开源库,只用在第一帧框出物体就可以将框出的物体在视频中移除,操作很方便,移除的效果也不错。

代码链接:

https://github.com/zllrunning/video-object-removal

对于移除图像中的物体,我们可以先将物体使用mask遮住,再用image inpainting来解决,而视频中如果想移除某个物体呢?

可以简单的使用拆帧按照图像来处理,但是视频中的物体会有移动,那我们需要每幅图像的mask,这会带来很大的工作量,而且这种思路没有考虑到视频中时序上的关系。

CVPR 2019有篇文章Deep Video Inpainting[1]介绍了一种视频的处理方法,生成效果时序上更加一致,但此方法同样需要视频中每帧的物体的mask,如果想使用此方法那我们就需要想办法获取物体的mask。

在3月7日,52CV发了关于SiamMask[2]目标跟踪算法的文章(CVPR 2019 | 惊艳的SiamMask:开源快速同时进行目标跟踪与分割算法),将跟踪与分割结合起来,能够对给出目标的像素级标注。

那SiamMask提供视频帧中物体的mask,Deep Video Inpainting负责物体的移除、修复,便可以实现一键移除视频中的物体,解放了标注mask的双手。

这就是本文介绍的这款开源软件的做法。

软件使用也非常简单。

在配置好环境后,只需要一条命令:

python demo.py --data data/Human6

支持视频文件的测试:

python demo.py --data data/bag.avi

如果你发现这个物体的边缘处理的不是很干净你可以更改--mask-dilation这个参数,作用是扩大遮罩的范围:

python demo.py --data data/Human6 --mask-dilation 32

最后看下效果:

操作示例,框出要移除的物体

修复后的视频会自动存储results/inpaint文件夹下。

感觉用这个可以做很多有意思的应用,你有什么想法吗?欢迎留言。

参考文献

[1] Wang Q, Zhang L, Bertinetto L, et al. Fast online object tracking and segmentation: A unifying approach[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 1328-1338.

[2] Kim, Dahun and Woo, Sanghyun and Lee, Joon-Young and So Kweon, In, Deep Video Inpainting//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2019: 5792—5801.

这份代码刚刚开源,感谢开发者,也欢迎大家给大佬加星。

https://github.com/zllrunning/video-object-removal

(0)

相关推荐