IOPaint/README.md

93 lines
5.5 KiB
Markdown
Raw Normal View History

2024-01-21 16:25:50 +01:00
<h1 align="center">IOPaint</h1>
<p align="center">A free and open-source inpainting & outpainting tool powered by SOTA AI model.</p>
2022-07-22 17:20:12 +02:00
<p align="center">
2024-01-21 16:25:50 +01:00
<a href="https://github.com/Sanster/IOPaint">
<img alt="total download" src="https://pepy.tech/badge/iopaint" />
2022-07-22 17:20:12 +02:00
</a>
2024-01-21 16:25:50 +01:00
<a href="https://pypi.org/project/iopaint">
<img alt="version" src="https://img.shields.io/pypi/v/iopaint" />
2022-11-16 14:18:51 +01:00
</a>
2022-12-11 15:50:37 +01:00
<a href="">
2024-01-21 16:25:50 +01:00
<img alt="python version" src="https://img.shields.io/pypi/pyversions/iopaint" />
2022-10-08 06:55:51 +02:00
</a>
2024-02-05 04:04:48 +01:00
<a href="https://huggingface.co/spaces/Sanster/iopaint-lama">
<img alt="HuggingFace Spaces" src="https://img.shields.io/badge/%F0%9F%A4%97%20HuggingFace-Spaces-blue" />
</a>
<a href="https://colab.research.google.com/drive/1wg3Y874eAgdaX0EIjIgTZROze3hqXyo7?usp=sharing">
<img alt="Open in Colab" src="https://colab.research.google.com/assets/colab-badge.svg" />
</a>
2022-07-22 17:20:12 +02:00
</p>
2024-02-09 08:03:50 +01:00
|Erase([LaMa](https://www.iopaint.com/models/erase/lama))|Replace Object([PowerPaint](https://www.iopaint.com/models/diffusion/powerpaint))|
2024-02-03 14:54:20 +01:00
|-----|----|
|<video src="https://github.com/Sanster/IOPaint/assets/3998421/264bc27c-0abd-4d8b-bb1e-0078ab264c4a"> | <video src="https://github.com/Sanster/IOPaint/assets/3998421/1de5c288-e0e1-4f32-926d-796df0655846">|
2024-02-09 08:03:50 +01:00
|Draw Text([AnyText](https://www.iopaint.com/models/diffusion/anytext))|Out-painting([PowerPaint](https://www.iopaint.com/models/diffusion/powerpaint))|
2024-02-03 14:54:20 +01:00
|---------|-----------|
|<video src="https://github.com/Sanster/IOPaint/assets/3998421/ffd4eda4-f7d4-4693-93d8-d2cd5aa7c6d6">|<video src="https://github.com/Sanster/IOPaint/assets/3998421/c4af8aef-8c29-49e0-96eb-0aae2f768da2">|
2021-12-12 07:54:37 +01:00
2022-07-22 17:20:12 +02:00
## Quick Start
2021-11-15 08:22:34 +01:00
2024-01-24 15:21:47 +01:00
### Start webui
2024-02-03 14:31:08 +01:00
IOPaint provides a convenient webui for using the latest AI models to edit your images.
2024-01-24 15:21:47 +01:00
You can install and start IOPaint easily by running following command:
2022-10-05 17:15:09 +02:00
2022-04-18 16:40:23 +02:00
```bash
2024-01-21 16:25:50 +01:00
# In order to use GPU, install cuda version of pytorch first.
# pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
2024-01-24 15:21:47 +01:00
# AMD GPU users, please utilize the following command, only works on linux, as pytorch is not yet supported on Windows with ROCm.
# pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/rocm5.6
2024-01-21 16:25:50 +01:00
pip3 install iopaint
iopaint start --model=lama --device=cpu --port=8080
2022-04-18 16:40:23 +02:00
```
2024-02-09 08:06:11 +01:00
That's it, you can start using IOPaint by visiting http://localhost:8080 in your web browser. You can see more models supported by `--model` [here](https://www.iopaint.com/models).
2022-11-21 07:02:44 +01:00
2024-01-24 15:21:47 +01:00
### Batch processing
2022-07-25 04:16:01 +02:00
2024-02-03 14:31:08 +01:00
You can also use IOPaint in the command line to batch process images:
2021-11-15 08:22:34 +01:00
2024-01-21 16:25:50 +01:00
```bash
iopaint run --model=lama --device=cpu \
--input=/path/to/image_folder \
--mask=/path/to/mask_folder \
--output=output_dir
```
2022-02-05 12:58:25 +01:00
2024-02-03 14:31:08 +01:00
`--input` is the folder containing input images, `--mask` is the folder containing corresponding mask images.
When `--mask` is a path to a mask file, all images will be processed using this mask.
2021-11-15 08:22:34 +01:00
2024-01-24 15:00:01 +01:00
You can see more information about the available models and plugins supported by IOPaint below.
2024-01-21 16:25:50 +01:00
## Features
2021-11-15 08:22:34 +01:00
2024-01-24 15:00:01 +01:00
- Completely free and open-source, fully self-hosted, support CPU & GPU & Apple Silicon
2024-02-06 16:17:19 +01:00
- [Windows 1-Click Installer](https://www.iopaint.com/install/windows_1click_installer)
2024-01-21 16:25:50 +01:00
- Supports various AI models:
2024-02-03 14:59:54 +01:00
- [Erase models](https://www.iopaint.com/models#erase-models): These models can be used to remove unwanted object, defect, watermarks, people from image. I have also developed a macOS native app called [OptiClean](https://opticlean.io/) that provides this feature.
2024-02-09 08:03:50 +01:00
- Stable Diffusion models: These models can be used to replace objects or perform outpainting. You can use any Stable Diffusion inpainting(or normal) models from [Huggingface](https://huggingface.co/models?other=stable-diffusion) in IOPaint.
2024-02-03 14:59:54 +01:00
Some popular used models include:
- [runwayml/stable-diffusion-inpainting](https://huggingface.co/runwayml/stable-diffusion-inpainting)
- [diffusers/stable-diffusion-xl-1.0-inpainting-0.1](https://huggingface.co/diffusers/stable-diffusion-xl-1.0-inpainting-0.1)
- [andregn/Realistic_Vision_V3.0-inpainting](https://huggingface.co/andregn/Realistic_Vision_V3.0-inpainting)
- [Lykon/dreamshaper-8-inpainting](https://huggingface.co/Lykon/dreamshaper-8-inpainting)
- [Sanster/anything-4.0-inpainting](https://huggingface.co/Sanster/anything-4.0-inpainting)
- [Sanster/PowerPaint-V1-stable-diffusion-inpainting](https://huggingface.co/Sanster/PowerPaint-V1-stable-diffusion-inpainting)
2024-02-03 14:31:08 +01:00
- Other Diffusion models:
2024-01-24 15:00:01 +01:00
- [Sanster/AnyText](https://huggingface.co/Sanster/AnyText)
2024-01-21 16:25:50 +01:00
- [timbrooks/instruct-pix2pix](https://huggingface.co/timbrooks/instruct-pix2pix)
2024-01-24 15:00:01 +01:00
- [Fantasy-Studio/Paint-by-Example](https://huggingface.co/Fantasy-Studio/Paint-by-Example)
2024-02-03 14:31:08 +01:00
- [kandinsky-community/kandinsky-2-2-decoder-inpaint](https://huggingface.co/kandinsky-community/kandinsky-2-2-decoder-inpaint)
2024-01-24 15:21:47 +01:00
- Plugins
2024-01-21 16:25:50 +01:00
- [Segment Anything](https://iopaint.com/plugins/interactive_seg): Accurate and fast interactive object segmentation
- [RemoveBG](https://iopaint.com/plugins/rembg): Remove image background or generate masks for foreground objects
- [Anime Segmentation](https://iopaint.com/plugins/anime_seg): Similar to RemoveBG, the model is specifically trained for anime images.
- [RealESRGAN](https://iopaint.com/plugins/RealESRGAN): Super Resolution
- [GFPGAN](https://iopaint.com/plugins/GFPGAN): Face Restoration
- [RestoreFormer](https://iopaint.com/plugins/RestoreFormer): Face Restoration
2024-02-03 14:59:54 +01:00
- [FileManager](https://iopaint.com/file_manager): Browse your pictures conveniently and save them directly to the output directory.