Buckets:
الترميم
يعمل Inpainting على استبدال أو تحرير مناطق محددة من الصورة. وهذا يجعله أداة مفيدة لاستعادة الصور، مثل إزالة العيوب والاضطرابات، أو حتى استبدال منطقة في الصورة بشيء جديد تمامًا. يعتمد Inpainting على قناع (mask) لتحديد المناطق التي يجب ملؤها في الصورة؛ حيث تُمثَّل المنطقة المراد إدخالها بالبكسلات البيضاء، وتُمثَّل المنطقة التي يجب الحفاظ عليها بالبكسلات السوداء. يتم ملء البكسلات البيضاء بناءً على الأمر النصي (prompt).
مع 🤗 Diffusers، إليك كيفية تنفيذ inpainting:
- حمّل نقطة تفتيش لإعادة الرسم باستخدام فئة AutoPipelineForInpainting. سيقوم هذا تلقائيًا باكتشاف فئة خط الأنابيب المناسبة للتحميل بناءً على نقطة التفتيش:
import torch
from diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image, make_image_grid
pipeline = AutoPipelineForInpainting.from_pretrained(
"kandinsky-community/kandinsky-2-2-decoder-inpaint", dtype=torch.float16
)
pipeline.enable_model_cpu_offload()
# remove following line if xFormers is not installed or you have PyTorch 2.0 or higher installed
pipeline.enable_xformers_memory_efficient_attention()
ستلاحظ طوال الدليل أننا نستخدم enable_model_cpu_offload() و enable_xformers_memory_efficient_attention() لتوفير الذاكرة وزيادة سرعة الاستدلال. إذا كنت تستخدم PyTorch 2.0، فلا داعي لاستدعاء enable_xformers_memory_efficient_attention() على خط الأنابيب الخاص بك لأنه سيستخدم بالفعل scaled-dot product attention الأصلية في PyTorch 2.0.
- تحميل الصور الأساسية وأقنعة الصور:
init_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/inpaint.png")
mask_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/inpaint_mask.png")
- أنشئ موجهًا (prompt) لإعادة رسم الصورة، وقم بتمريره إلى خط الأنابيب (pipeline) مع الصور الأساسية والقناع:
prompt = "a black cat with glowing eyes, cute, adorable, disney, pixar, highly detailed, 8k"
negative_prompt = "bad anatomy, deformed, ugly, disfigured"
image = pipeline(prompt=prompt, negative_prompt=negative_prompt, image=init_image, mask_image=mask_image).images[0]
make_image_grid([init_image, mask_image, image], rows=1, cols=3)
الصورة الأساسية
صورة القناع
صورة مولّدة
إنشاء صورة قناع
في جميع أنحاء هذا الدليل، يتم توفير صورة القناع في جميع أمثلة الأكواد لتسهيل الاستخدام. يمكنك إجراء إعادة رسم (Inpainting) على صورك الخاصة، لكنك ستحتاج إلى إنشاء صورة قناع لها. استخدم المساحة (Space) أدناه لإنشاء صورة قناع بسهولة.
ارفع صورة أساسية لتطبيق إعادة التلوين عليها، واستخدم أداة الرسم لتخطيط قناع. عند الانتهاء، انقر على Run لتوليد صورة القناع وتنزيلها.
Xet Storage Details
- Size:
- 43.5 kB
- Xet hash:
- b46e39bf10de59d3922e28182efbec895b91e648a73691f0039e680bb3c0f1f0
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.