Allgemeine Einführung
InstantIR ist ein innovatives Einzelbild-Restaurationsmodell, das vom InstantX-Team entwickelt wurde, um Ihre beschädigten Bilder mit extrem hoher Qualität und naturgetreuen Details wiederherzustellen. Das Tool stellt nicht nur Bilddetails wieder her, sondern verbessert auch die Genauigkeit des wiederhergestellten Bildes durch zusätzliche Texthinweise. InstantIR verwendet SDXL- und DINOv2-Modelle und bietet eine flexible Pipeline von Konfigurationen, die vom Benutzer an seine spezifischen Bedürfnisse angepasst werden können.

Online-Erfahrung: https://huggingface.co/InstantX/InstantIR

InstantIR-Konfiguration
Funktionsliste
- Bild-RestaurierungHochwertige Restaurierung beschädigter oder minderwertiger Bilder.
- Modelle generierenImage detail recovery using generative modeling techniques.
- Text-Tipp-EditorBenutzerdefinierte Bearbeitung von Bildern mit Hilfe von Texteingabeaufforderungen.
- Flexible KonfigurationUnterstützt eine Vielzahl von Parametereinstellungen, um unterschiedlichen Bildverarbeitungsanforderungen gerecht zu werden.
- lokaler EinsatzGradio-Skripte werden zur Verfügung gestellt, um den lokalen Einsatz und Demos zu unterstützen.
- Kompatibilität: Kompatibel mit Diffusoren und unterstützt viele leistungsstarke Funktionen.
Hilfe verwenden
Einbauverfahren
- Klonen des Repositorys und Einrichten der Umgebung::
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
- Herunterladen des vortrainierten ModellsInstantIR basiert auf den Modellen SDXL und DINOv2, die von HuggingFace heruntergeladen werden können:
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")
- logische Schlussfolgerung: Verwendung
infer.sh
Skripte für die Argumentation:./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>
Tipps und Tricks
- übermäßige Glättung: Wille
--cfg
Der Parameter wird zwischen 3,0 und 5,0 eingestellt. - geringe Wiedergabetreue: Einstellungen
--preview_start
beträgt 0,1 bis 0,4, um die Eingabetreue zu erhalten. - lokale Verzerrung: Wille
--creative_start
Setzen Sie diesen Wert auf 0,6 bis 0,8, um in der Nachbearbeitung Details mit hohen Frequenzen zu erzeugen. - Beschleunigte Argumentation: Verbesserung
--preview_start
und niedriger--creative_start
Dadurch können die Rechenkosten gesenkt und die Argumentation beschleunigt werden.
Verwendung von Diffusoren
InstantIR ist vollständig kompatibel mit Diffusoren und kann direkt geladen und verwendet werden:
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]
Lokale Bereitstellung Gradio Demo
Für die lokale Bereitstellung der Gradio-Demo wird ein Python-Skript bereitgestellt:
INSTANTIR_PATH=<path_to_InstantIR> python gradio_demo/app.py
Besuchen Sie dann in Ihrem Browser http://localhost:7860
Führen Sie eine Demonstration durch.
InstantIR Ein-Klick-Installer
Reparatur 1024 Auflösung Bilder, Speicher mindestens 24gb Videospeicher mindestens 16gb, niedrige Grafikkarte nicht versuchen. Nach der Erzeugung mehrerer Bilder zur gleichen Zeit, ist die Speicherwiederherstellung abnormal.