Introdução geral
O InstantIR é um modelo inovador de restauração de imagem única desenvolvido pela equipe do InstantX, projetado para ressuscitar suas imagens danificadas com qualidade extremamente alta e detalhes realistas, permitindo a restauração de alta qualidade de imagens danificadas. A ferramenta não apenas restaura os detalhes da imagem, mas também aumenta a precisão da imagem restaurada com dicas textuais adicionais. O InstantIR usa os modelos SDXL e DINOv2, fornecendo um pipeline flexível de configurações que podem ser adaptadas pelo usuário para atender a necessidades específicas.

Experiência on-line: https://huggingface.co/InstantX/InstantIR

Configuração do InstantIR
Lista de funções
- Restauração de imagensRestauração de alta qualidade de imagens danificadas ou de baixa qualidade.
- Geração de modelosRecuperação de detalhes de imagens usando técnicas de modelagem generativa.
- Editor de dicas de textoEdição personalizada de imagens por meio de prompts de texto.
- Configuração flexívelSuporte a uma variedade de ajustes de parâmetros para atender a diferentes necessidades de processamento de imagens.
- implantação localScripts do Gradio são fornecidos para dar suporte à implantação local e às demonstrações.
- compatibilidadeCompatível com difusores e compatível com muitos recursos avançados.
Usando a Ajuda
Processo de instalação
- Clonar o repositório e configurar o ambiente::
git clone https://github.com/instantX-research/InstantIR.git cd InstantIR conda create -n instantir python=3.9 -y conda activate instantir pip install -r requirements.txt
- Download do modelo pré-treinadoInstantIR: O InstantIR é baseado nos modelos SDXL e DINOv2, que podem ser baixados do HuggingFace:
from huggingface_hub import hf_hub_download hf_hub_download(repo_id="stabilityai/stable-diffusion-xl-base-1.0") hf_hub_download(repo_id="facebook/dinov2-large") hf_hub_download(repo_id="InstantX/InstantIR")
- raciocínio de execução: Uso
infer.sh
Scripts para raciocínio:./infer.sh --sdxl_path <path_to_SDXL> --vision_encoder_path <path_to_DINOv2> --instantir_path <path_to_InstantIR> --test_path <path_to_input> --out_path <path_to_output>
Dicas e truques
- alisamento excessivo: Will
--cfg
O parâmetro é ajustado entre 3,0 e 5,0. - baixa fidelidade: Configurações
--preview_start
é de 0,1 a 0,4 para manter a fidelidade da entrada. - distorção local: Will
--creative_start
Defina como 0,6 a 0,8 para gerar detalhes de alta frequência na pós-produção. - raciocínio acelerado: Aprimoramento
--preview_start
e inferior--creative_start
Ele pode reduzir os custos de computação e acelerar o raciocínio.
Uso de difusores
O InstantIR é totalmente compatível com difusores e pode ser carregado e usado diretamente:
import torch
from PIL import Image
from diffusers import DDPMScheduler
from schedulers.lcm_single_step_scheduler import LCMSingleStepScheduler
from module.ip_adapter.utils import load_adapter_to_pipe
from pipelines.sdxl_instantir import InstantIRPipeline
# 加载预训练模型
pipe = InstantIRPipeline.from_pretrained('stabilityai/stable-diffusion-xl-base-1.0', torch_dtype=torch.float16)
load_adapter_to_pipe(pipe, 'facebook/dinov2-large')
pipe.prepare_previewers('path_to_InstantIR')
pipe.scheduler = DDPMScheduler.from_pretrained('stabilityai/stable-diffusion-xl-base-1.0', subfolder="scheduler")
lcm_scheduler = LCMSingleStepScheduler.from_config(pipe.scheduler.config)
# 加载损坏图像并进行修复
low_quality_image = Image.open('path_to_image').convert("RGB")
image = pipe(image=low_quality_image, previewer_scheduler=lcm_scheduler).images[0]
Demonstração do Gradio de implantação local
Um script Python é fornecido para a implantação local da demonstração do Gradio:
INSTANTIR_PATH=<path_to_InstantIR> python gradio_demo/app.py
Em seguida, acesse em seu navegador http://localhost:7860
Conduzir uma demonstração.
Instalador InstantIR com um clique
Reparar imagens com resolução de 1024, memória de pelo menos 24 gb, memória de vídeo de pelo menos 16 gb, placa de vídeo fraca não tente. Depois de gerar várias imagens ao mesmo tempo, a recuperação da memória é anormal.