首先感谢作者制作并分享这么好用的小工具
以下为作者原文引用
前言
由于需要批量抠图,原本是想用MODNet的,可惜最新的模型官方不开源,旧模型扣的人物边缘有白边。最后发现了PP飞桨。
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。
本程序封装自PP飞桨的PaddleSeg(飞桨高性能图像分割开发套件,端到端完成从训练到部署的全流程图像分割应用。)
工具内置了两个模型PP-Matting和PP-MattingV2
以下说明节选自官方文档:
PP-Matting是PaddleSeg自研的高精度抠图模型,通过引导流设计实现语义引导下高分辨率图像抠图。追求更高精度,推荐使用该模型。 且该模型提供了512和1024两个分辨率级别的预训练模型。
PP-MattingV2是PaddleSeg自研的轻量级抠图SOTA模型,通过双层金字塔池化及空间注意力提取高级语义信息,并利用多级特征融合机制兼顾语义和细节的预测。 对比MODNet模型推理速度提升44.6%, 误差平均相对减小17.91%。追求更高速度,推荐使用该模型。
作者 逍遥一仙
下面是我实测结果演示
软件截图
这是我选模型效率优先输出的结果
这2张是为了对比效率优先和精度优先
上图为效率优先可以看到有些部分扣的不好。。。
上图为精度优先 可以看到差距还是很明显的。只是如果选了精度优先的话处理速度会慢很多
使用说明
1、工具应解压到非中文路径,含中文的路径必出错。
2、完整解压后,运行main.exe。将单个/多个图片拖入工具,等待提示完成后,在运行目录下的out目录内可找到扣好的图片。
3、如果需要alpha图,可勾选输出-保留蒙版
注:
1、模型菜单内,效率优先为PP-MattingV2(默认),精度优先为PP-Matting,可根据具体需求选择。
2、如果使用精度优先,等待时间会比较长
3、工具使用CPU版的PaddlePaddle,非GPU版本
下载地址:
链接:https://pan.baidu.com/s/1FCoO_dayxNOo--dTrncEUg?pwd=gprf
提取码:gprf
有没有其他下载链接,百度太慢。
开个会员就好了
扣不了图,提示失败
[15064] Failed to execute script 'predict' due to unhandled exception!
Traceback (most recent call last):
File "paddleseg\cvlibs\builder.py", line 66, in build_component
File "paddleseg\cvlibs\builder.py", line 80, in build_component_impl
File "D:\360DOW~1\AIkouTu\predict\ppmatting\models\ppmatting.py", line 49, in __init__
self.loss_func_dict = self.get_loss_func_dict()
File "D:\360DOW~1\AIkouTu\predict\ppmatting\models\ppmatting.py", line 94, in get_loss_func_dict
loss_func_dict['detail'].append(GradientLoss())
File "D:\360DOW~1\AIkouTu\predict\ppmatting\models\losses\loss.py", line 59, in __init__
self.kernel_x, self.kernel_y = self.sobel_kernel()
File "D:\360DOW~1\AIkouTu\predict\ppmatting\models\losses\loss.py", line 99, in sobel_kernel
[-1.0, 0.0, 1.0]]).astype('float32')
File "paddle\fluid\dygraph\math_op_patch.py", line 117, in astype
OSError: Invalid enum backend type `64`.
[..\paddle/phi/common/backend.h:140]
暂无最新版本,无法解决
我再次测试 没有发现你说的问题。
我扣不了图,提示失败,看了下日志好像数据库没有连接成功,再试就提示这不是一个可运行的命令
我扣不了图,提示失败,看了下日志好像数据库没有连接成功,再试就提示这不是一个可运行的命令