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.
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 --vision_encoder_path --instantir_path --test_path --out_path
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:
importar tocha
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
# Carregar modelo pré-treinado
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)
# Carregar e reparar a imagem corrompida
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= 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.