GPT
S

sd-controlnet-canny

קוד פתוח

lllyasvielopenrail2023-02-24

  • diffusers
  • safetensors
  • art
  • controlnet
  • stable-diffusion

שכבת בקרה לציור מחדש ששומרת על קווי מתאר מדויקים מתמונה קיימת. מתאים למי שחייב שהגנרציה תציית לגבולות הפיזיים של האובייקט ולא תמציא קומפוזיציה מאפס.

  • 361Mפרמטרים
  • 2.7 GBמשקל הקבצים
  • 26,849הורדות בחודש
  • 250לייקים

מה זה

מדובר ברשת תוסף שיושבת מעל מודל דיפוזיה ומזריקה לו תנאי ויזואלי נוסף, במקרה הזה מפת קצוות מסוג קאני שמורכבת מקווים לבנים על רקע שחור. בניגוד ליצירה רגילה מטקסט בלבד שבה הדיפוזיה מנחשת את מיקום האובייקטים, כאן אתם שולטים בצורה המדויקת דרך הקווים, והטקסט קובע בעיקר את הטקסטורה, הסגנון והתאורה.

המשקל שלו עומד על 361 מיליון פרמטרים בלבד, והוא אומן על שלושה מיליון זוגות של תמונות קצוות ותיאורים לאורך 600 שעות מעבד גרפי של A100. העיקרון פה הוא נעילת המבנה בלי לגעת במשקולות המקוריות של מודל הבסיס, מה שמאפשר להחליף מודלים תואמים ברקע בלי לאמן את הבקרה מחדש.

מתאים ל

  • רינדור קונספט לסקיצות

    הופך שרטוטי קו פשוטים או רישומים ידניים לתמונות גמורות תוך שמירה מלאה על הפרופורציות.

  • שינוי סגנון וטקסטורה

    הלבשת חומרים, צבעים ותאורה חדשים על מוצר קיים בלי להזיז אף אלמנט מהמיקום שלו.

  • עריכת תמונות מונחית גבולות

    יצירה מחודשת של רקע או דמות מתוך תצלום קיים תוך שמירה על המבנה המדויק של הגוף והחפצים.

איפה זה נופל

המודל תלוי לחלוטין באיכות חילוץ הקווים שאתם מייצרים לפני השליחה אליו. אם תגדירו ספי זיהוי שגויים ב־OpenCV ותקבלו מפה רועשת מדי עם יותר מדי פרטים זניחים, התוצאה הסופית תיראה מלוכלכת, נוקשה ועמוסה בקווים כפולים. בנוסף, הוא אומן ישירות על גרסה 1.5 של סטייבל דיפיוז'ן, ולכן ניסיון לחבר אותו ישירות לארכיטקטורות אחרות או חדשות יותר ייכשל או יניב פלט מרוח.

שאלות
נפוצות

האם המודל הזה מסוגל לייצר תמונה בכוחות עצמו?

לא. מדובר ברשת בקרה חיצונית של 361 מיליון פרמטרים שמחייבת חיבור למודל דיפוזיה מלא, והיא אומנה ספציפית לעבוד יחד עם Stable Diffusion 1.5.

האם אני חייב להכין מראש תמונת קווים שחור-לבן?

כן, המודל מקבל כקלט מפת קצוות שחורה עם קווים לבנים. בדרך כלל משתמשים בספריית OpenCV כדי להפיק את המפה הזו מתמונה רגילה לפני שמעבירים אותה לציור.

איך מריצים

בשביל להריץ אותו צריך להתקין את ספריית diffusers יחד עם transformers, accelerate וחבילת opencv שבעזרתה מייצרים את מפת הקצוות מהתמונה המקורית. קובצי המשקל שוקלים כ־2.7 גיגהבייט, אבל חובה לזכור שהם לא רצים לבד. אתם צריכים לטעון בזיכרון גם את מודל הבסיס Stable Diffusion 1.5, מה שאומר שבפועל צריך כרטיס מסך עם לפחות שמונה עד שנים עשר גיגהבייט זיכרון כדי לעבוד בנוחות.

אם אתם בונים שירות לקהל הרחב ואין לכם שרת עם מאיץ גרפי ייעודי, עדיף לפנות ל־API חיצוני שמוכר קריאות לפי דרישה. הפעלת מודל בסיס לצד רשת בקרה בזיכרון המקומי דורשת משאבים רציניים וניהול תורים, ולא משתלמת לפרויקטים עם תעבורה נמוכה.

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("lllyasviel/sd-controlnet-canny")
img = pipe("a photo").images[0]

הרישיון

הרישיון הוא CreativeML OpenRAIL M. הוא מתיר שימוש מסחרי חופשי והפצה של המודל או נגזרות שלו, אבל כולל רשימת הגבלות אתיות על שימושים פוגעניים, הפקת תוכן לא חוקי או הטעיה, ומחייב אתכם לצרף את תנאי הרישיון לכל הפצה של המוצר.

  • שימוש מסחרי
  • שינוי הקוד
  • מגבלות שימוש ברישיון

הרישיון המלא בעמוד המודל ↗