IOPaint  by Sanster

Image editing tool for inpainting and outpainting tasks

created 3 years ago
21,932 stars

Top 1.9% on sourcepulse

GitHubView on GitHub
Project Summary

IOPaint is a free, open-source, and self-hosted image editing tool specializing in inpainting and outpainting. It targets users needing to remove unwanted objects, defects, or people from images, or to replace and extend image content using state-of-the-art AI models. The tool offers a user-friendly web interface and command-line batch processing capabilities, supporting both CPU and GPU (including Apple Silicon) for accelerated performance.

How It Works

IOPaint leverages a modular architecture that supports various AI models for different tasks. For object removal and inpainting, it integrates models like LaMa. For object replacement and outpainting, it utilizes Stable Diffusion-based models such as PowerPaint and integrates text-to-image generation with AnyText. This flexibility allows users to select the best model for their specific editing needs, from simple object erasure to complex scene generation.

Quick Start & Requirements

  • Install: pip3 install iopaint
  • Run: iopaint start --model=lama --device=cpu --port=8080
  • Prerequisites: PyTorch with CUDA (e.g., pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118) or ROCm for AMD GPUs on Linux. Node.js for development.
  • Resources: Models are downloaded automatically. CPU usage can be significant for inference.
  • Docs: https://github.com/Sanster/IOPaint

Highlighted Details

  • Supports multiple AI models for inpainting, outpainting, object replacement, and background removal.
  • Includes plugins for interactive segmentation (Segment Anything), background removal (RemoveBG), super-resolution (RealESRGAN), and face restoration (GFPGAN).
  • Offers both a web UI and command-line batch processing.
  • Compatible with CPU, NVIDIA GPUs, and Apple Silicon.

Maintenance & Community

The project is actively maintained by Sanster and the community. Links to community resources are not explicitly provided in the README.

Licensing & Compatibility

The project appears to be released under the Apache 2.0 license, allowing for commercial use and integration into closed-source projects.

Limitations & Caveats

AMD GPU support for PyTorch is limited to Linux. The development setup requires manual frontend and backend configuration.

Health Check
Last commit

3 months ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
3
Star History
952 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.