GPT
C

controlnet-openpose-sdxl-1.0

קוד פתוח

xinsirapache-2.02024-05-13

  • diffusers
  • safetensors
  • openpose
  • controlnet
  • controlnet-openpose-sdxl-1.0

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

  • 1.3Bפרמטרים
  • 4.7 GBמשקל הקבצים
  • 109,554הורדות בחודש
  • 311לייקים

מה זה

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

בבדיקה כמותית על מאגר HumanArt עם אלפיים תמונות, הוא הגיע לציון של 0.357 ב־mAP. זה מציב אותו מעל הגרסה המקבילה של thibaud לאותו מודל בסיס שקיבלה 0.209, וגם מעל גרסת ה־1.5 המוכרת שנעצרה ב־0.326. הפער הזה מורגש בעיקר ביציבות של הידיים והגפיים תחת זוויות מורכבות.

מתאים ל

  • הפקת דמויות בעמידה מוגדרת

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

  • שחזור תנוחות מצילום קיים

    חילוץ שלד מתמונה קיימת והלבשת דמות חדשה באותה זווית בדיוק בלי לאבד פרופורציות.

  • פייפליין אנימציה בסיסי

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

איפה זה נופל

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

שאלות
נפוצות

למה התוצאות נראות עקומות למרות שהשלד תקין?

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

האם אפשר להריץ אותו יחד עם SD 1.5?

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

איך מריצים

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

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

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("xinsir/controlnet-openpose-sdxl-1.0")
img = pipe("a photo").images[0]

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

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