当前位置: 首页 > news >正文

lama cleaner

这里写自定义目录标题

  • 安装
  • 参数
    • 包含的额外plugins
  • 代码结构
    • Freehand
    • Background Removal
    • InteractiveSeg

安装

conda create --name lamacleaner python==3.10
pip install -r requirements.txt  
pip install gfpgan
pip install realesrgan
pip install rembg
pip install .

如果安装本package报错,可以尝试改:

packages=setuptools.find_packages("./") 

换成:

packages=setuptools.find_packages(".")

如果是GPU的,一定要装GPU版本的pytorch: (我用的11.8版本)

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

参数

默认的参数地址在:

lama_cleaner\parse_args.py

包含的额外plugins

这个工具包里包含着以下内容:

  • Interactive Segmentation
  • Background Removal
  • Anime Segmentation
  • RealESRGAN
  • GFPGAN
  • RestoreFormer
  • GIF

如果要使用以上的内容,需要在parse_args.py 这个文件里添加default=True
例如:

parser.add_argument("--enable-realesrgan",default=True,action="store_true",help=REALESRGAN_HELP,)

把这些内容打开后,这个包会自动下载所有相关权重
请添加图片描述

代码结构

消除主要使用lama clean的inpaint模型

Freehand

工具提供界面画自己的mask,然后将其和图片一起用lama模型做inpaint式的消除

Background Removal

这个工具主要使用U2net做背景消除,没有用到Lama cleaner。这个模型对于任意物体效果最佳,但是人像抠图欠佳。

InteractiveSeg

这个工具的构成是分割的模型 Segment Anything(SAM) + Lama 的inpaint

SAM 的主要作用是用来获取mask, 获取mask的前提如下:

  • image_encoder (ImageEncoderViT): 输入的图片
  • prompt_encoder (PromptEncoder): 用于额外conditioning的限制(这个项目包含3种prompts:坐标点【】,box【】,mask【】)
  • mask_decoder (MaskDecoder): 根据 image encode + prompt encoder的结果预测mask,最后用bilinear恢复原始尺寸
  • pixel_mean (list(float)): 用于做输入图像的normalisation(预处理)
  • pixel_std (list(float)): 用于做输入图像的normalisation(预处理)

通过SAM获取完mask后,可以按照 lama cleaner来操作接下来的消除。

http://www.lryc.cn/news/98005.html

相关文章:

  • 制作一个简易的计算器app
  • 48. 旋转图像
  • “深入解析Spring Boot:从入门到精通的完整指南“
  • 【C++】C++11——包装器
  • 插件使用权限管理软件(三)WebAPI项目IIS部署
  • [算法很美打卡] 多维数组篇 (打卡第二天)
  • K8S初级入门系列之十一-安全
  • 【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境6
  • “深入解析Spring Boot:从入门到精通“
  • [自然语言处理] 自然语言处理库spaCy使用指北
  • 【新日语(2)】第6課 拓哉もさしみを食べたがってします
  • uni-app 经验分享,从入门到离职(一)——初始 uni-app,快速上手(文末送书福利1.0)
  • Python爬虫实例之淘宝商品页面爬取(api接口)
  • 并发编程 | CompletionService - 如何优雅地处理批量异步任务
  • 医学案例|ROC曲线之面积对比
  • Kotlin线程的基本用法
  • 2.03 PageHelper分页工具
  • VUE中使用ElementUI组件的单选按钮el-radio-button实现第二点击时取消选择的功能
  • 瓴羊Quick BI:可视化大屏界面设计满足企业个性需求
  • 617. 合并二叉树
  • 【T1】存货成本异常、数量为零金额不为零的处理方法。
  • EtherNet IP转PROFINET网关连接西门子与欧姆龙方法
  • 低代码开发重要工具:jvs-flow(流程引擎)审批功能配置说明
  • [SQL挖掘机] - GROUP BY语句
  • 【ubuntu|内核】ubuntu 22.04修改内核为指定版本
  • Carla教程一:动力学模型到LQR
  • IDE/mingw下动态库(.dll和.a文件)的生成和部署使用(对比MSVC下.dll和.lib)
  • 点击加号添加新的输入框
  • SQL AND OR 运算符
  • 6、C++内存模型