GithubHelp home page GithubHelp logo

whiteio / lama-cleaner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sanster/iopaint

0.0 0.0 0.0 10.35 MB

Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.

Home Page: https://lama-cleaner-docs.vercel.app/

License: Apache License 2.0

Shell 0.04% Python 62.04% TypeScript 30.18% HTML 0.76% SCSS 6.81% Dockerfile 0.17%

lama-cleaner's Introduction

Lama Cleaner

A free and open-source inpainting tool powered by SOTA AI model.

total download version Open in Colab Sanster

img

Features

  • Completely free and open-source
  • Fully self-hosted
  • Multiple SOTA AI models
    1. LaMa
    2. LDM
    3. ZITS
    4. MAT
    5. FcF
    6. SD1.4
  • Support CPU & GPU
  • Various inpainting strategy
  • Run as a desktop APP

Usage

Usage Before After
Remove unwanted things unwant_object2 unwant_object2
Remove unwanted person unwant_person unwant_person
Remove Text text text
Remove watermark watermark watermark_clean
Fix old photo oldphoto oldphoto_clean
Text Driven Inpainting dog fox

Quick Start

pip install lama-cleaner

# Model will be downloaded automatically
lama-cleaner --model=lama --device=cpu --port=8080
# Lama Cleaner is now running at http://localhost:8080

Available arguments:

Name Description Default
--model lama/ldm/zits/mat/fcf/sd. See details in Inpaint Model lama
--hf_access_token stable-diffusion(sd) model need huggingface access token https://huggingface.co/docs/hub/security-tokens
--device cuda or cpu cuda
--port Port for backend flask web server 8080
--gui Launch lama-cleaner as a desktop application
--gui_size Set the window size for the application 1200 900
--input Path to image you want to load by default None
--debug Enable debug mode for flask web server

Inpainting Model

Model Description Config
LaMa ๐Ÿ‘ Generalizes well on high resolutions(~2k)
LDM ๐Ÿ‘ Possible to get better and more detail result
๐Ÿ‘ The balance of time and quality can be achieved by adjusting steps
๐Ÿ˜ Slower than GAN model
๐Ÿ˜ Need more GPU memory
Steps: You can get better result with large steps, but it will be more time-consuming
Sampler: ddim or plms. In general plms can get better results with fewer steps
ZITS ๐Ÿ‘ Better holistic structures compared with previous methods
๐Ÿ˜ Wireframe module is very slow on CPU
Wireframe: Enable edge and line detect
MAT TODO
FcF ๐Ÿ‘ Better structure and texture generation
๐Ÿ˜ Only support fixed size (512x512) input
SD1.4 ๐Ÿ‘ SOTA text-to-image diffusion model

LaMa vs LDM

Original Image LaMa LDM
photo-1583445095369-9c651e7e5d34 photo-1583445095369-9c651e7e5d34_cleanup_lama photo-1583445095369-9c651e7e5d34_cleanup_ldm

LaMa vs ZITS

Original Image ZITS LaMa
zits_original zits_compare_zits zits_compare_lama

Image is from ZITS paper. I didn't find a good example to show the advantages of ZITS and let me know if you have a good example. There can also be possible problems with my code, if you find them, please let me know too!

LaMa vs FcF

Original Image Lama FcF
texture texture_lama texture_fcf

Inpainting Strategy

Lama Cleaner provides three ways to run inpainting model on images, you can change it in the settings dialog.

Strategy Description VRAM
Original Use the resolution of the original image ๐ŸŽ‰
Resize Resize the image to a smaller size before inpainting. Lama Cleaner will make sure that the area of the image outside the mask is not degraded. ๐ŸŽ‰ ๐ŸŽ‰
Crop Crop masking area from the original image to do inpainting ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰

Download Model Mannually

If you have problems downloading the model automatically when lama-cleaner start, you can download it manually. By default lama-cleaner will load model from TORCH_HOME=~/.cache/torch/hub/checkpoints/, you can set TORCH_HOME to other folder and put the models there.

Development

Only needed if you plan to modify the frontend and recompile yourself.

Frontend

Frontend code are modified from cleanup.pictures, You can experience their great online services here.

  • Install dependencies:cd lama_cleaner/app/ && yarn
  • Start development server: yarn start
  • Build: yarn build

Docker

Run within a Docker container. Set the CACHE_DIR to models location path. Optionally add a -d option to the docker run command below to run as a daemon.

Build Docker image

docker build -f Dockerfile -t lamacleaner .

Run Docker (cpu)

docker run -p 8080:8080 -e CACHE_DIR=/app/models -v  $(pwd)/models:/app/models -v $(pwd):/app --rm lamacleaner python3 main.py --device=cpu --port=8080

Run Docker (gpu)

docker run --gpus all -p 8080:8080 -e CACHE_DIR=/app/models -v $(pwd)/models:/app/models -v $(pwd):/app --rm lamacleaner python3 main.py --device=cuda --port=8080

Then open http://localhost:8080

lama-cleaner's People

Contributors

sanster avatar blessedcoolant avatar loretoparisi avatar bediryilmaz avatar callmepantoine avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.