GPT
N

nsfw_image_detector

קוד פתוח

Freepikmit2025-04-10

  • transformers
  • safetensors
  • timm_wrapper
  • image-classification
  • pytorch

יש כאן גם סקירה על Freepik עצמו.

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

  • 86Mפרמטרים
  • 165 MBמשקל הקבצים
  • 383,554הורדות בחודש
  • 61לייקים

מה זה

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

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

מתאים ל

  • סינון תוצר של מחוללי תמונה

    הקלט מגיע כבר כטנסור ומשתלב ישירות בתוך פייפליין גנרטיבי במהירות של כעשרה מילישניות לתמונה.

  • בקרת תוכן גמישה לאתרים

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

  • מיון מקדים לתיוג אנושי

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

איפה זה נופל

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

שאלות
נפוצות

כדאי להשתמש ב־pipeline של transformers בקוד שרץ ללקוחות?

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

האם המודל יודע להחזיר תשובה של כן או לא?

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

איך מריצים

המשקל הכולל של הקבצים עומד על 165 מגה בייט, כך שכל כרטיס מסך בסיסי או אפילו מעבד יריצו אותו בלי בעיה. בבדיקות של פריפיק על כרטיס RTX 3090, הרצה של תמונה בודדת כטנסור ישיר לקחה כ־10 מילישניות בשימוש של 540 מגה בייט זיכרון גרפי, ועבודה באצוות של 16 תמונות ארכה 102 מילישניות עם צריכה של 1144 מגה בייט.

אפשר לטעון אותו עם ספריית transformers רגילה או דרך חבילת הפייתון הייעודית nsfw-image-detector. עם זאת, היוצרים מדגישים שלא כדאי להשתמש ב־pipeline הרגיל בסביבת ייצור, כי עבודה ישירה עם טנסורים ב־bf16 מהירה פי שלושה. אם אתם מעבדים אלפי תמונות בדקה, שווה להחזיק אותו מקומית במקום לשלם על API חיצוני.

from transformers import pipeline

pipe = pipeline("image-classification", model="Freepik/nsfw_image_detector")
print(pipe("שלום"))

הקבצים

5 קבצים במאגר, 165 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

הקוד והמשקלים שוחררו תחת רישיון MIT. מותר להשתמש בהם במוצרים מסחריים, לשנות את הקוד ולהפיץ אותו בחופשיות. הדרישה היחידה היא שמירת הודעת זכויות היוצרים המקורית של Freepik Company S.L. בתוך הקבצים.

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

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