手把手教学图片、视频去背景
点击下方“AI算法与图像处理”,一起进步!
重磅干货,第一时间送达
环境
windows 10 64-bit python 3.8.11 backgroundremover 0.1.9
前言
backgroundremover
是一款开源免费的命令行工具,专门用来消除图片和视频中的背景,使用python
语言编写,项目地址 https://github.com/nadermx/backgroundremover。
软件安装
可以使用pip
安装
pip install backgroundremover
当然,下载源码进行安装也是可以的
git clone https://github.com/nadermx/backgroundremover.git
cd backgroundremover
python setup.py install
目前最新版本为0.1.9,后面测试也是基于这个版本进行。
接下来还需要安装ffmpeg
,它是用来进行视频处理的。从官网下载编译好的二进制文件 http://ffmpeg.org/download.html,尽量下载较新的版本,并将其路径加入到系统环境变量中
最后安装下torch
,由于本机有gpu
,安装的是gpu
版本的,版本要求1.7以上
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
使用方法
准备一张带背景的原图
执行下面命令就可以去除背景,操作非常简单
backgroundremover -i original.jpg -o output.png
操作过程中会到google driver
去下载所需要的u2net
模型,但是由于国内的网络环境,无法访问
这时候,可以通过下面的链接去下载
u2net.pthu2net_human_seg.pth
另外也提供个网盘的地址
链接:https://pan.baidu.com/s/1ZYzV0SYEjlBldsGXIn2IXA
提取码:srix
下载后的模型文件,将其放到~/.u2net
文件夹下,如果文件夹不存在就自己创建
准备就绪后,重新执行上面的去背指令,就可以得到去掉背景的图片了
backgroundremover
可以使用三种模型来达到图片视频去背的目的,分别是u2netp
、u2net
和u2net_human_seg
比如说要使用u2net_human_seg
,可以使用-m
参数
backgroundremover -i original.jpg -m u2net_human_seg -o output.png
如果要处理视频的话,可以这样
backgroundremover -i test.mp4 -tv -o output.mov
视频背景去除后叠加到另一个视频上
backgroundremover -i test.mp4 -tov -tv videtobeoverlayed.mp4 -o output.mov
视频去背后生成gif
动图
backgroundremover -i test.mp4 -tg -o output.gif
更多场景使用及参数设置,请参考官方文档
参考资料
https://github.com/nadermx/backgroundremover https://github.com/nadermx/backgroundremover/issues/9 https://github.com/xuebinqin/U-2-Net
交流群
欢迎加入公众号读者群一起和同行交流,目前有美颜、三维视觉、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群
个人微信(如果没有备注不拉群!) 请注明:地区+学校/企业+研究方向+昵称
下载1:何恺明顶会分享
在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析
下载2:终身受益的编程指南:Google编程风格指南
在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!
下载3 CVPR2021 在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文