python抠图(去水印)开源库lama-cleaner入门应用实践

这篇具有很好参考价值的文章主要介绍了python抠图(去水印)开源库lama-cleaner入门应用实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 关于 Lama Cleaner

Lama Cleaner 是由 SOTA AI 模型提供支持的免费开源图像修复工具。可以从图片中移除任何不需要的物体、缺陷和人,或者擦除并替换(powered by stable diffusion)图片上的任何东西。

特征:

  • 完全免费开源,完全自托管,支持CPU & GPU & M1/2
  • Windows 一键安装程序
  • 本机 macOS 应用程序
  • 多种SOTA AI模型
    • 擦除模型:LaMa/LDM/ZITS/MAT/FcF/Manga
    • 擦除和替换模型:稳定扩散/绘制示例
  • 后期处理插件:
    • RemoveBG:删除图像背景
    • RealESRGAN:超分辨率
    • GFPGAN:面部恢复
    • RestoreFormer:面部修复
    • 分割任何东西:准确快速的交互式对象分割
  • 文件管理器:方便地浏览您的图片并将它们直接保存到输出目录。

插件
在图像清洗的后处理中,除了擦除之外,还经常使用面部修复或超分辨率等算法。现在您可以直接在 Lama Cleaner 中使用它们。启动Lama Cleaner服务时,您可以通过命令行参数启用插件。启用的插件将在左上角显示。

开源地址:https://github.com/Sanster/lama-cleaner

2. 擦除模型

Lama Cleaner默认擦除模型为LaMa,开源地址为:https://github.com/advimman/lama 。

LaMa 图像修复,采用傅立叶卷积的分辨率鲁棒大型掩模修复,WACV 2022

现代图像修复系统尽管取得了显着的进步,但常常难以应对大面积缺失区域、复杂的几何结构和高分辨率图像。我们发现造成这种情况的主要原因之一是修复网络和损失函数都缺乏有效的感受野。为了缓解这个问题,我们提出了一种称为大掩模修复(LaMa)的新方法。 LaMa 基于:

  • 一种新的修复网络架构,使用快速傅立叶卷积,具有图像范围的感受野
  • 高感受野感知损失;
  • 大型训练掩码(masks),释放前两个组件的潜力。

我们的修复网络提高了一系列数据集的最新技术,即使在具有挑战性的场景(例如完成周期性结构)中也能实现出色的性能。我们的模型出人意料地很好地概括了比训练时所见的分辨率更高的分辨率,并且以比竞争基准更低的参数和计算成本实现了这一点。

python抠图(去水印)开源库lama-cleaner入门应用实践,人工智能及Python,Python,python,抠图,LaMa Cleaner,AI
其中,模型中FFC结构如下:
python抠图(去水印)开源库lama-cleaner入门应用实践,人工智能及Python,Python,python,抠图,LaMa Cleaner,AI

3. 安装 Lama Cleaner

很遗憾,我的电脑没有GPU,具体环境如下:

  • Windows 10专业版
  • 处理器:Intel® Core™ i5-9400 CPU @ 2.90GHz 2.90 GHz
  • 内存(RAM):32.0 GB(31.8 GB可用)
  • 显卡:Intel® UHD Graphics 630

安装Lama Cleaner最简单的方法是通过pip安装(支持python 3.7 ~ 3.10)。

关于GPU安装,官方说明如下:

	# 为了使用GPU,请先安装cuda版本的pytorch。
	# pip install torch==1.13.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117

我的电脑没有GPU,直接使用CPU。

	pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lama-cleaner

另外还有基于Docker安装,在此略过,感兴趣自己看官方文档实践。

下面附上安装包列表,供参考:

 Werkzeug-2.3.7
 aiofiles-23.2.1 
 annotated-types-0.5.0 
 antlr4-python3-runtime-4.9.3 
 anyio-3.7.1 
 bidict-0.22.1 
 controlnet-aux-0.0.3 
 diffusers-0.16.1 
 einops-0.6.1 
 fastapi-0.103.1 
 ffmpy-0.3.1 
 filelock-3.12.4 
 flask-2.2.3 
 flask-cors-4.0.0 
 flask-socketio-5.3.6 
 flaskwebgui-0.3.5 
 fsspec-2023.9.1 
 gradio-3.44.3 
 gradio-client-0.5.0 
 httpcore-0.18.0 
 httpx-0.25.0 
 huggingface-hub-0.17.1 
 itsdangerous-2.1.2 
 lama-cleaner-1.2.3 
 mpmath-1.3.0 
 omegaconf-2.3.0 
 orjson-3.9.7 
 piexif-1.1.3 
 pydantic-2.3.0 
 pydantic-core-2.6.3 
 pydub-0.25.1 
 python-engineio-4.7.1 
 python-multipart-0.0.6 
 python-socketio-5.9.0 
 regex-2023.8.8 
 safetensors-0.3.3 
 semantic-version-2.10.0 
 simple-websocket-0.10.1 
 starlette-0.27.0 
 sympy-1.12 
 timm-0.9.7 
 tokenizers-0.13.3 
 torch-2.0.1 
 torchvision-0.15.2 
 transformers-4.27.4 
 uvicorn-0.23.2 
 websockets-11.0.3 
 whichcraft-0.6.1 
 yacs-0.1.8

安装完成后,可以通过lama-cleaner命令启动服务器,第一次使用时会下载模型文件(建议确保网络畅通)。

GPU启动命令如下:lama-cleaner --model=lama --device=cuda --port=8080

4. 启动

启动命令如下:

	lama-cleaner --model=lama --device=cpu --port=8080
	
	- Platform: Windows-10-10.0.17763-SP0
	- Python version: 3.8.10
	- torch: 2.0.1
	- torchvision: 0.15.2
	- Pillow: 8.4.0
	- diffusers: 0.16.1
	- transformers: 4.27.4
	- opencv-python: 4.7.0.72
	- xformers: N/A
	- accelerate: N/A
	- lama-cleaner: 1.2.3
	- rembg: N/A
	- realesrgan: N/A
	- gfpgan: N/A
	
	The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling `transformers.utils.move_cache()`.
	0it [00:00, ?it/s]
	Downloading: "https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt" to C:\Users\xiaoyw\.cache\torch\hub\checkpoints\big-lama.pt
	
	2023-09-18 14:10:06.177 | INFO     | lama_cleaner.helper:download_model:52 - Download model success, md5: e3aa4aaa15225a33ec84f9f4bc47e500
	2023-09-18 14:10:06.179 | INFO     | lama_cleaner.helper:load_jit_model:102 - Loading model from: C:\Users\xiaoyw\.cache\torch\hub\checkpoints\big-lama.pt
	Running on http://127.0.0.1:8080

工具的使用是基于浏览器的,我安装在本机,使用默认端口8080,打开浏览器使用如下地址:http://127.0.0.1:8080。
python抠图(去水印)开源库lama-cleaner入门应用实践,人工智能及Python,Python,python,抠图,LaMa Cleaner,AI

5. 去水印抠图操作

如下图所示,从左到右操作,中间图分两块涂抹需要清除的标记,最后按下方的橡皮檫,形成最右边的图像。

声明:感谢哈马的摄影者,就这样把你的水印删除了,感谢哈马组委会,同时也给删除了。本文只是讲抠图处理AI技术,未涉及到商业活动。
python抠图(去水印)开源库lama-cleaner入门应用实践,人工智能及Python,Python,python,抠图,LaMa Cleaner,AI
其中,标记多块需要清除点时,需要使用手动修复模式。默认情况下,Lama Cleaner 将在绘制笔划后运行修复。您可以在设置中启用手动修复模式。
python抠图(去水印)开源库lama-cleaner入门应用实践,人工智能及Python,Python,python,抠图,LaMa Cleaner,AI

6. 其他擦除模型对比举例

LDM 与 LaMa 模型擦除效果对比:
python抠图(去水印)开源库lama-cleaner入门应用实践,人工智能及Python,Python,python,抠图,LaMa Cleaner,AI

👍 可能得到比 LaMa 更好、更详细的结果
👍 通过调整步骤可以达到时间和质量的平衡
😐 比 LaMa 模型慢得多(3080 12it/s)
😐 需要更多GPU内存(512x512 5.8G)

7. 最后

如果要取得好的图像效果,是需要GPU的。文章来源地址https://www.toymoban.com/news/detail-731359.html

到了这里,关于python抠图(去水印)开源库lama-cleaner入门应用实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • webgl canvas系列——快速加背景、抠图、加水印并下载图片

    大家好,我是yma16,本文分享webgl canvas系列——快速抠图、加水印。 该系列往期文章 web canvas系列——快速入门上手绘制二维空间点、线、面 方法 作用 drawImage(image, x, y) image 是 image 或者 canvas 对象,x 和 y 是其在目标 canvas 里的起始坐标。 drawImage(image, x, y, width, height) width 和

    2024年04月09日
    浏览(36)
  • 动态水印也能去除?ProPainter一键视频抠图整合包下载

    ProPainter 是一个基于 E2FGVI 实现的 AI 视频编辑工具,它结合了增强的传播和 Transformer 机制,能够快速高效地进行视频修复和水印去除 功能特点 ·   对象移除:智能地检测和移除视频中的动态物体,对于去除不需要的元素或错误的特效非常有用   · 对象补全:填补视频中缺失

    2024年03月23日
    浏览(87)
  • 字节跳动开源!超好用的视频抠图工具;GitHub开源项目维护协作指南;自动化数据清洗工具包;强化学习入门教程;前沿论文 | ShowMeAI资讯日报

    👀 日报合辑 | 📆 电子月刊 | 🔔 公众号下载资料 | 🍩 @韩信子 https://github.com/HelixNGC7293/DeforumStableDiffusionLocal https://space.bilibili.com/176003 文本提示作画工具。本代码库实现是本地版本的Deforum Stable Diffusion V0.4,支持txt设置文件输入和动画功能! https://github.com/PeterL1n/RobustVideoMat

    2023年04月08日
    浏览(44)
  • SAM语义分割模型开源,AIGC时代,图像抠图工具都被大模型统一了?(下)

    大家好,我是千与千寻,很高兴今天和大家再一次分享我在ChatGPT上的学习经历! 这次是《SAM语义分割模型开源,AIGC时代,图像抠图工具都被大模型统一了?》系列的最终版本了。 在之前的两节中我们介绍了分割一切的 Segment Anything模型,以及分割视频的 Segment-and-Track Anyth

    2024年02月13日
    浏览(30)
  • 如何用python抠图和切换背景

    原理: python的函数库Image是个非常强大的数据库,拥有很多处理图片的功能,像是P图软件一样。当我们想要实现把人P到另一张背景的操作时,我们就需要先把人给扣出来,再粘到背景上。抠图,我们需要先准备好绿色背景的图片。用Image里的convert函数把图片的RGB格式改为R

    2024年02月17日
    浏览(32)
  • Python + AI:完美抠图,更换背景

    翻看家里的老照片,发现一只小 dog,很趣致吧,这眼神汪汪地~ (背景是在厨房)。 有时候就想把某些照片里的人物或者主角抠出来,然后贴到喜欢的背景图里,比如你想自己制作一个 DIY 的头像。 虽然有很多 APP 或者小程序可以提供这类的功能,付费购买服务固然没问题,

    2024年02月01日
    浏览(37)
  • Python抠图:使用OpenCV实现背景去除

    抠图(Matting)是图像处理领域的重要任务之一,旨在将对象与其它部分分离。OpenCV是一个开源计算机视觉库,它提供了丰富的函数和工具进行图像编辑处理,可以简单而快速地实现抠图功能,同时可以进行更多的图像处理、分析。下面我们将基于OpenCV,详细介绍如何使用Py

    2024年02月08日
    浏览(34)
  • Lnton羚通云算力平台OpenCV Python颜色空间转换与抠图教程

    在 OpenCV Python 中,颜色空间转换和图像抠图是常见的图像处理任务。下面我将为你介绍如何进行颜色空间转换和图像抠图。 颜色空间转换: 在 OpenCV Python 中,可以使用  cv2.cvtColor()  函数将图像从一个颜色空间转换为另一个颜色空间。常用的颜色空间转换包括 RGB、BGR、灰度

    2024年02月11日
    浏览(34)
  • 几种python入门级OCR开源库中文识别效果对比

    目录   素材图片 pytesseract easyocr PaddleOCR 总结 pytesseract是google做的ocr库,一般用在验证码的识别。实测中文的识别速度最快,但是效果也是最差的。 安装: 下载中文语言包,把语言包放在tessdata目录: chi_sim.traineddata 编码: 结果: 支持CUDA的显示进行运算,因笔者没有此类显

    2024年02月16日
    浏览(32)
  • 最强Python开源库PyTorch入门实战(案例实战)+快速上手TorchServe

    作者:禅与计算机程序设计艺术 在过去几年里,深度学习领域涌现了一大批高水平的模型,这些模型基于大量的数据和GPU计算能力实现了炫酷的效果。这其中最具代表性的是卷积神经网络(Convolutional Neural Networks, CNN),其网络结构可以学习到图像、视频、文本等多种模态特

    2024年02月07日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包