前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频编辑利器,不喜欢就框除!开源视频物体移除软件video object removal

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

作者头像
CV君
发布2019-12-27 12:12:29
1.6K0
发布2019-12-27 12:12:29
举报
文章被收录于专栏:我爱计算机视觉

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的双手。

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

软件使用也非常简单。

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

代码语言:javascript
复制
python demo.py --data data/Human6

支持视频文件的测试:

代码语言:javascript
复制
python demo.py --data data/bag.avi

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

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档