IOPaint - Descrição Detalhada do Projeto
Visão Geral do Projeto
IOPaint é uma ferramenta gratuita e de código aberto para restauração de imagens (inpainting) e expansão de imagens (outpainting), baseada nas mais avançadas tecnologias de modelos de IA. O projeto é desenvolvido e mantido por Sanster, com o objetivo de fornecer aos usuários funcionalidades de edição de imagem poderosas e convenientes.
Endereço do Projeto: https://github.com/Sanster/IOPaint
Site Oficial: https://www.iopaint.com/
Funcionalidades Principais
1. Restauração de Imagens (Inpainting)
- Remoção de Objetos: Remove objetos indesejados, imperfeições, marcas d'água, pessoas, etc., de imagens.
- Substituição de Conteúdo: Substitui qualquer conteúdo em imagens usando a tecnologia de difusão estável (Stable Diffusion).
- Preenchimento Inteligente: Reconhece e preenche automaticamente áreas removidas, mantendo a naturalidade da imagem.
2. Expansão de Imagens (Outpainting)
- Expansão da Tela: Expande as bordas da imagem, gerando imagens de tamanhos maiores.
- Geração de Fundo: Gera de forma inteligente conteúdo de fundo consistente com o estilo da imagem original.
3. Desenho de Texto
- Adição de Texto: Adiciona texto de vários estilos nas imagens.
- Personalização de Fonte: Suporta várias fontes e opções de estilo.
Modelos de IA Suportados
Modelos de Apagamento (Erase Models)
Esses modelos são especializados na remoção de objetos indesejados, imperfeições, marcas d'água e pessoas de imagens, incluindo:
- LAMA: Modelo de restauração de imagem leve e eficiente.
- LDM: Tecnologia de restauração baseada em modelos de difusão latente.
- ZITS: Algoritmo profissional de restauração de imagem.
- MAT: Modelo de transformador com percepção de máscara.
Modelos de Difusão (Diffusion Models)
Esses modelos são usados para tarefas de substituição de objetos e expansão de imagens, incluindo:
- PowerPaint: Modelo de difusão estável otimizado para inpainting/outpainting.
- Stable Diffusion: Modelo clássico de geração de imagem.
- SDXL: Versão expandida de maior qualidade.
- Kandinsky 2.2: Modelo de geração de imagem de alta qualidade desenvolvido na Rússia.
Sistema de Plugins
IOPaint oferece um rico ecossistema de plugins:
Plugins de Segmentação de Imagem
- Segment Anything (SAM): Segmentação de objetos interativa, precisa e rápida.
- MobileSAM: Versão leve, mais rápida e com menor consumo de recursos.
- Anime Segmentation: Modelo de segmentação otimizado para imagens de anime.
Plugins de Processamento de Fundo
- RemoveBG: Remove o fundo da imagem ou gera máscaras para objetos em primeiro plano.
Plugins de Aprimoramento de Imagem
- RealESRGAN: Tecnologia de super-resolução, melhora a nitidez da imagem.
- GFPGAN: Restauração e aprimoramento de rostos.
- RestoreFormer: Outra solução de restauração de rostos.
Plugins de Gerenciamento de Arquivos
- FileManager: Ferramenta conveniente para visualização e gerenciamento de imagens.
Características Técnicas
Suporte Multiplataforma
- Totalmente Gratuito e de Código Aberto: Segue o protocolo de código aberto, os usuários podem usar e modificar livremente.
- Auto-Hospedado: Implantação totalmente local, protege a privacidade do usuário.
- Suporte a Múltiplos Dispositivos:
- CPU: Adequado para computadores comuns.
- GPU: Suporta aceleração CUDA.
- Apple Silicon: Suporte nativo para chips da série M.
Interface Web
- UI Moderna: Fornece uma interface web intuitiva e fácil de usar.
- Visualização em Tempo Real: Suporta visualização em tempo real dos efeitos de edição.
- Processamento em Lote: Suporta o processamento em lote de várias imagens.
Instalação e Uso
Instalação Rápida
# Instalar IOPaint
pip3 install iopaint
# Iniciar o serviço (usando o modelo LAMA, modo CPU)
iopaint start --model=lama --device=cpu --port=8080
Instalação com Aceleração GPU
# Primeiro, instale o PyTorch versão CUDA
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
# Em seguida, instale o IOPaint
pip3 install iopaint
Suporte para GPU AMD
# Usuários de GPU AMD (apenas Linux)
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/rocm5.6
Iniciar o Serviço
Após a instalação, acesse http://localhost:8080 para começar a usar.
Processamento em Lote na Linha de Comando
iopaint run --model=lama --device=cpu \
--image=/path/to/image_folder \
--mask=/path/to/mask_folder \
--output=output_dir
Ativação de Plugins
# Ativar o plugin de segmentação interativa
iopaint start --enable-interactive-seg --interactive-seg-device=cuda
Configuração do Ambiente de Desenvolvimento
Desenvolvimento Front-End
# Clonar o projeto
git clone https://github.com/Sanster/IOPaint.git
cd IOPaint/web_app
# Instalar dependências
npm install
# Construir o front-end
npm run build
cp -r dist/ ../iopaint/web_app
# Modo de desenvolvimento
npm run dev
Desenvolvimento Back-End
# Instalar dependências do back-end
pip install -r requirements.txt
# Iniciar o serviço de back-end
python3 main.py start --model lama --port 8080
No ambiente de desenvolvimento, acesse http://localhost:5173/ para desenvolvimento front-end.
Aplicativo Móvel
IOPaint também lançou um aplicativo móvel:
- OptiClean: Aplicativo de remoção de objetos para macOS e iOS, disponível para download na App Store.
Cenários de Aplicação
- Pós-Processamento de Fotos: Remover transeuntes, objetos ou marcas d'água indesejados.
- Otimização de Imagens de Produtos: Limpar imperfeições em fotos de produtos.
- Criação Artística: Realizar edição criativa de imagens e substituição de conteúdo.
- Restauração de Imagens: Restaurar fotos antigas ou imagens danificadas.
- Processamento de Fundo: Substituir ou remover o fundo da imagem.
- Expansão de Imagens: Expandir o alcance da tela da imagem.
Vantagens do Projeto
- Código Aberto e Gratuito: Totalmente de código aberto, sem restrições de uso.
- Proteção de Privacidade: Implantação local, os dados não são enviados para a nuvem.
- Modelos Abundantes: Suporta vários modelos de IA de última geração.
- Fácil de Usar: Fornece uma interface web intuitiva.
- Altamente Personalizável: Suporta extensão de plugins e seleção de modelos.
- Multiplataforma: Suporta vários sistemas operacionais e arquiteturas de hardware.
- Atualização Contínua: Comunidade de desenvolvimento ativa e atualizações regulares.
IOPaint é uma das melhores ferramentas de restauração de imagem de código aberto atualmente disponíveis, oferecendo poderosas capacidades de edição de imagem tanto para usuários individuais quanto para desenvolvedores profissionais.
