מודלים וסכימות נתמכים

כשמגדירים העשרת אובייקטים, בוחרים אילו מודלים של למידת מכונה ינתחו את האובייקטים המאוחסנים. כל מודל מעריך תמונות או מסמכי PDF שעומדים בדרישות ומצרף מטא-נתונים מובְנים ישירות לאובייקטים של Cloud Storage.

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

הקשר בין מודלים לבין העשרת אובייקטים

כדי להפעיל מודלים, יוצרים הגדרת תכונה (FeatureConfig) שמציינת אילו קטגוריות לסרוק ואילו מודלים להריץ. במהלך העיבוד האסינכרוני, Cloud Storage מעריך את האובייקטים המתאימים באמצעות המודלים שבחרתם, ויוצר מטא-נתונים מובְנים בפורמט JSON שנקראים "העשרת אובייקטים".

כל מודל יוצר מטען ייעודי (payload) ייעודי בפורמט JSON, שמערכת Cloud Storage מצרפת ישירות לאובייקט כהקשר של אובייקט בניהול Google, במאפיין contexts.custom. מפתח הקשר ייחודי עם הקידומת google:annotation: מזהה כל מטען ייעודי (payload).

בהתאם לתהליך העבודה שלכם, יש שתי דרכים להשתמש במטא-נתונים האלה:

זיהוי פנים

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

פרטי המודל

  • שם המודל: face-detector
  • מפתח הקשר: google:annotation:face-detector-v1
  • אובייקטים שעומדים בדרישות: אובייקטים של תמונות בגודל 20MiB או פחות, עם Content-Type נתמך של BMP, ‏ GIF, ‏ ICO, ‏ JPEG, ‏ PNG, ‏ TIFF או WEBP.

סכימת הפלט

המודל מחזיר אובייקט JSON שמכיל את השדות modelName, modelVersion ו-faceAnnotationGroup עם מערך של faceAnnotations. אם הפעלת המודל נכשלת, אובייקט ה-JSON מכיל אובייקט error במקום faceAnnotationGroup.

שדה סוג טווח תיאור
modelName string לא רלוונטי שם המודל של למידת המכונה שיצר את ההעשרה הזו.
modelVersion string לא רלוונטי גרסת המודל של למידת המכונה שיצרה את ההעשרה הזו.
faceAnnotationGroup object לא רלוונטי אובייקט קונטיינר ברמה העליונה להעשרות של זיהוי פנים. מוצג כשהרצת המודל מצליחה.
faceAnnotationGroup.faceAnnotations[] array לא רלוונטי רשימה של הפנים שזוהו בתמונה.
faceAnnotationGroup.faceAnnotations[].boundingPoly object לא רלוונטי ‫BoundingPoly שמקיף את כל הראש והפנים, ומוגדר בהתאם למידות של התמונה המקורית.
faceAnnotationGroup.faceAnnotations[].faceDetectionBoundingPoly object לא רלוונטי ‫BoundingPoly לזיהוי פנים. הוא צריך להיות קטן יותר מ-boundingPoly, ולכלול רק את העור ואת תווי הפנים הגלויים.
faceAnnotationGroup.faceAnnotations[].landmarks[] array לא רלוונטי רשימה של אובייקטים מסוג FaceLandmark שזוהו ומייצגים תווי פנים ספציפיים.
faceAnnotationGroup.faceAnnotations[].rollAngle number -180 עד 180 סיבוב התצוגה בכיוון השעון או נגד כיוון השעון, במעלות.
faceAnnotationGroup.faceAnnotations[].panAngle number -180 עד 180 הזווית האופקית שבה הפנים פונות שמאלה או ימינה, במעלות.
faceAnnotationGroup.faceAnnotations[].tiltAngle number -180 עד 180 זווית הגובה האנכית של הפנים, שמציינת אם הפנים מופנות כלפי מעלה או מטה, במעלות.
faceAnnotationGroup.faceAnnotations[].detectionConfidence number ‫0 עד 1 (0% עד 100%) ציון המהימנות של זיהוי הפנים הכולל.
faceAnnotationGroup.faceAnnotations[].landmarkingConfidence number ‫0 עד 1 (0% עד 100%) ציון מהימנות למיקום של נקודות ציון בפנים.
faceAnnotationGroup.faceAnnotations[].joyProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהפנים מביעות שמחה.
faceAnnotationGroup.faceAnnotations[].sorrowProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהפנים מביעות צער.
faceAnnotationGroup.faceAnnotations[].angerProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהפנים מביעות כעס.
faceAnnotationGroup.faceAnnotations[].surpriseProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהפנים מביעות הפתעה.
faceAnnotationGroup.faceAnnotations[].underExposedProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהפנים בתמונה לא נחשפו מספיק.
faceAnnotationGroup.faceAnnotations[].blurredProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהפנים בתמונה מטושטשות.
faceAnnotationGroup.faceAnnotations[].headwearProbability number ‫0 עד 1 (0% עד 100%) הסבירות שהאדם חובש כיסוי ראש, כמו כובע או מצחייה.
error object לא רלוונטי אובייקט google.rpc.Status שמכיל את code ואת message. השדה הזה מאוכלס רק כשהרצת המודל נכשלת.

BoundingPoly

האובייקט BoundingPoly מייצג פוליגון תוחם שמקיף מאפיין תמונה שזוהה.

שדה סוג טווח תיאור
vertices[] array לא רלוונטי קואורדינטות של פוליגון תיחום באמצעות אובייקטים של פיקסלים מוחלטים Vertex.
normalizedVertices[] array לא רלוונטי קואורדינטות של מצולע תוחם באמצעות אובייקטים יחסיים של NormalizedVertex, בקנה מידה של 0 עד 1.

Vertex

האובייקט Vertex מייצג נקודת קואורדינטה דו-ממדית שמותאמת לממדי התמונה המקוריים.

שדה סוג טווח תיאור
x integer ‫0 או יותר קואורדינטת X אופקית, בפיקסלים מהקצה השמאלי.
y integer ‫0 או יותר הקואורדינטה האנכית Y, בפיקסלים מהקצה העליון.

NormalizedVertex

האובייקט NormalizedVertex מייצג נקודת קואורדינטה דו-ממדית שמבוטאת כיחס לממדי התמונה המקורית.

שדה סוג טווח תיאור
x number 0 עד 1 קואורדינטת X אופקית ביחס לרוחב התמונה, כאשר 0.0 הוא הקצה השמאלי ו-1.0 הוא הקצה הימני.
y number 0 עד 1 קואורדינטת Y אנכית ביחס לגובה התמונה, כאשר 0.0 הוא הקצה העליון ו-1.0 הוא הקצה התחתון.

FaceLandmark

אובייקט FaceLandmark מייצג נקודת ציון ספציפית בפנים שזוהו.

שדה סוג טווח תיאור
type enum סוג ציון הדרך נקודת הציון הספציפית בפנים שזוהתה.
position object לא רלוונטי המיקום התלת-ממדי Position של נקודת הציון.

סוג ציון הדרך

המודל מזהה 36 נקודות ציון ספציפיות בפנים:

  • TYPE_UNSPECIFIED
  • LEFT_EYE
  • RIGHT_EYE
  • LEFT_OF_LEFT_EYEBROW
  • RIGHT_OF_LEFT_EYEBROW
  • LEFT_OF_RIGHT_EYEBROW
  • RIGHT_OF_RIGHT_EYEBROW
  • MIDPOINT_BETWEEN_EYES
  • NOSE_TIP
  • UPPER_LIP
  • LOWER_LIP
  • MOUTH_LEFT
  • MOUTH_RIGHT
  • MOUTH_CENTER
  • NOSE_BOTTOM_RIGHT
  • NOSE_BOTTOM_LEFT
  • NOSE_BOTTOM_CENTER
  • LEFT_EYE_TOP_BOUNDARY
  • LEFT_EYE_RIGHT_CORNER
  • LEFT_EYE_BOTTOM_BOUNDARY
  • LEFT_EYE_LEFT_CORNER
  • RIGHT_EYE_TOP_BOUNDARY
  • RIGHT_EYE_RIGHT_CORNER
  • RIGHT_EYE_BOTTOM_BOUNDARY
  • RIGHT_EYE_LEFT_CORNER
  • LEFT_EYEBROW_UPPER_MIDPOINT
  • RIGHT_EYEBROW_UPPER_MIDPOINT
  • LEFT_EAR_TRAGION
  • RIGHT_EAR_TRAGION
  • LEFT_EYE_PUPIL
  • RIGHT_EYE_PUPIL
  • FOREHEAD_GLABELLA
  • CHIN_GNATHION
  • CHIN_LEFT_GONION
  • CHIN_RIGHT_GONION
  • LEFT_CHEEK_CENTER
  • RIGHT_CHEEK_CENTER

מקום

האובייקט Position מייצג את הקואורדינטות התלת-ממדיות של נקודת ציון בפנים.

שדה סוג טווח תיאור
x number לא רלוונטי קואורדינטת X אופקית.
y number לא רלוונטי קואורדינטת Y אנכית.
z number לא רלוונטי קואורדינטת העומק ביחס למישור הפנים, שבה ערכים קטנים יותר קרובים יותר למצלמה.

פלט לדוגמה

{
  "modelName": "face-detector",
  "modelVersion": "v1",
  "faceAnnotationGroup": {
    "faceAnnotations": [
      {
        "boundingPoly": {
          "vertices": [
            { "x": 1079, "y": 148 },
            { "x": 2152, "y": 148 },
            { "x": 2152, "y": 1396 },
            { "x": 1079, "y": 1396 }
          ],
          "normalizedVertices": [
            { "x": 0.35, "y": 0.12 },
            { "x": 0.70, "y": 0.12 },
            { "x": 0.70, "y": 0.95 },
            { "x": 0.35, "y": 0.95 }
          ]
        },
        "faceDetectionBoundingPoly": {
          "vertices": [
            { "x": 1190, "y": 427 },
            { "x": 2037, "y": 427 },
            { "x": 2037, "y": 1285 },
            { "x": 1190, "y": 1285 }
          ]
        },
        "landmarks": [
          {
            "type": "LEFT_EYE",
            "position": { "x": 1368.8, "y": 737.6, "z": 0.0016 }
          },
          {
            "type": "RIGHT_EYE",
            "position": { "x": 1659.2, "y": 755.1, "z": -116.4 }
          }
        ],
        "rollAngle": 1.959,
        "panAngle": -21.954,
        "tiltAngle": -2.267,
        "detectionConfidence": 0.98,
        "landmarkingConfidence": 0.61,
        "joyProbability": 0.18,
        "headwearProbability": 0.80
      }
    ]
  }
}

זיהוי אובייקטים

אפשר להשתמש במודל object-detector כדי לזהות ולעקוב אחרי כמה אובייקטים שונים בתמונה. לכל אובייקט מזוהה, המודל מספק שם ישות, מזהה ישות ב-Knowledge Graph (knowledgeGraphId), ציון מהימנות וקואורדינטות של תיבת התוחמת.

פרטי המודל

  • שם הדגם: object-detector
  • מפתח הקשר: google:annotation:object-detector-v1
  • אובייקטים שעומדים בדרישות: אובייקטים של תמונות בגודל של 20MiB או פחות עם Content-Type נתמך של BMP,‏ GIF,‏ ICO,‏ JPEG,‏ PNG,‏ TIFF או WEBP.

סכימת הפלט

המודל מחזיר אובייקט JSON שמכיל את השדות modelName, modelVersion ו-objectAnnotationGroup עם מערך של objectAnnotations. אם הפעלת המודל נכשלת, אובייקט ה-JSON מכיל אובייקט error במקום objectAnnotationGroup.

שדה סוג טווח תיאור
modelName string לא רלוונטי שם המודל של למידת המכונה שיצר את ההעשרה הזו.
modelVersion string לא רלוונטי גרסת המודל של למידת המכונה שיצרה את ההעשרה הזו.
objectAnnotationGroup object לא רלוונטי אובייקט קונטיינר ברמה העליונה להעשרות של זיהוי אובייקטים. מוצג כשהמודל פועל בהצלחה.
objectAnnotationGroup.objectAnnotations[] array לא רלוונטי רשימה של אובייקטים שזוהו בתמונה.
objectAnnotationGroup.objectAnnotations[].knowledgeGraphId string לא רלוונטי מזהה הישות ב-Knowledge Graph של Google של האובייקט שזוהה.
objectAnnotationGroup.objectAnnotations[].name string לא רלוונטי השם או הלייבל של האובייקט שזוהה, כמו "Person" או "Chair".
objectAnnotationGroup.objectAnnotations[].score number ‫0 עד 1 (0% עד 100%) ציון המהימנות של זיהוי האובייקטים.
objectAnnotationGroup.objectAnnotations[].boundingPoly object לא רלוונטי התווים BoundingPoly שמקיפים את האובייקט, שמכילים קואורדינטות של פיקסלים (vertices) וקואורדינטות מנורמלות (normalizedVertices).
error object לא רלוונטי אובייקט google.rpc.Status שמכיל את code ו-message. השדה הזה מאוכלס רק כשהרצת המודל נכשלת.

פלט לדוגמה

{
  "modelName": "object-detector",
  "modelVersion": "v1",
  "objectAnnotationGroup": {
    "objectAnnotations": [
      {
        "knowledgeGraphId": "/m/01g317",
        "name": "Person",
        "score": 0.89,
        "boundingPoly": {
          "normalizedVertices": [
            { "x": 0.1, "y": 0.15 },
            { "x": 0.2, "y": 0.15 },
            { "x": 0.2, "y": 0.3 },
            { "x": 0.1, "y": 0.3 }
          ]
        }
      }
    ]
  }
}

הוספת תוויות לתמונות באופן כללי

אפשר להשתמש במודל label-detector כדי ליצור תוויות תיאוריות, מילות מפתח וקטגוריות סמנטיות רחבות לתמונות. המודל מזהה ישויות כלליות, נופים, פעילויות ומיקומים, כמו Landscape, Urban או Night, ומאפשר לחפש בנכסים החזותיים ולקטלג אותם.

פרטי המודל

  • שם המודל: label-detector
  • מפתח הקשר: google:annotation:label-detector-v1
  • אובייקטים שעומדים בדרישות: אובייקטים של תמונות בגודל 20MiB או פחות, עם Content-Type נתמך של BMP, ‏ GIF, ‏ ICO, ‏ JPEG, ‏ PNG, ‏ TIFF או WEBP.

סכימת הפלט

המודל מחזיר אובייקט JSON שמכיל את השדות modelName, modelVersion ו-labelAnnotationGroup עם מערך של labelAnnotations. אם הביצוע של המודל נכשל, אובייקט ה-JSON מכיל אובייקט error במקום labelAnnotationGroup.

שדה סוג טווח תיאור
modelName string לא רלוונטי שם המודל של למידת המכונה שיצר את ההעשרה הזו.
modelVersion string לא רלוונטי גרסת המודל של למידת המכונה שיצרה את ההעשרה הזו.
labelAnnotationGroup object לא רלוונטי אובייקט קונטיינר ברמה העליונה להעשרות של תוויות תמונה. מוצג כשהמודל פועל בהצלחה.
labelAnnotationGroup.labelAnnotations[] array לא רלוונטי רשימה של תוויות וקטגוריות שזוהו.
labelAnnotationGroup.labelAnnotations[].knowledgeGraphId string לא רלוונטי מזהה הישות ב-Google Knowledge Graph של התווית.
labelAnnotationGroup.labelAnnotations[].description string לא רלוונטי תיאור טקסטואלי או שם התווית של הישות שזוהתה.
labelAnnotationGroup.labelAnnotations[].score number ‫0 עד 1 (0% עד 100%) ציון המהימנות של התווית.
labelAnnotationGroup.labelAnnotations[].topicality number ‫0 עד 1 (0% עד 100%) רלוונטיות התווית לנושא העיקרי של התמונה, כאשר ציונים גבוהים יותר מצביעים על בולטות גבוהה יותר.
error object לא רלוונטי אובייקט google.rpc.Status שמכיל את code ו-message. השדה הזה מאוכלס רק כשהרצת המודל נכשלת.

פלט לדוגמה

{
  "modelName": "label-detector",
  "modelVersion": "v1",
  "labelAnnotationGroup": {
    "labelAnnotations": [
      {
        "knowledgeGraphId": "/m/01d74z",
        "description": "Night",
        "score": 0.92,
        "topicality": 0.19
      }
    ]
  }
}

זיהוי תוכן בוטה

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

פרטי המודל

  • שם המודל: content-safety
  • מפתח הקשר: google:annotation:content-safety-v1
  • אובייקטים שעומדים בדרישות: אובייקטים של תמונות בגודל של 20MiB או פחות עם Content-Type נתמך של BMP,‏ GIF,‏ ICO,‏ JPEG,‏ PNG,‏ TIFF או WEBP.

סכימת הפלט

המודל מוציא אובייקט JSON שמכיל את modelName, modelVersion ואובייקט contentSafetyAnnotation עם דירוגי סבירות. אם הפעלת המודל נכשלת, אובייקט ה-JSON מכיל אובייקט error במקום contentSafetyAnnotation.

שדה סוג ערכים / טווח תיאור
modelName string לא רלוונטי שם המודל של למידת המכונה שיצר את ההעשרה הזו.
modelVersion string לא רלוונטי גרסת המודל של למידת המכונה שיצרה את ההעשרה הזו.
contentSafetyAnnotation object לא רלוונטי אובייקט קונטיינר ברמה העליונה לתוצאות של ניתוח תוכן. מוצג כשהמודל פועל בהצלחה.
contentSafetyAnnotation.adultContentLikelihood string VERY_UNLIKELY, UNLIKELY, POSSIBLE, LIKELY, VERY_LIKELY הסבירות שהתמונה מכילה תוכן למבוגרים בלבד.
contentSafetyAnnotation.violentContentLikelihood string VERY_UNLIKELY, UNLIKELY, POSSIBLE, LIKELY, VERY_LIKELY הסבירות שהתמונה מציגה אלימות.
error object לא רלוונטי אובייקט google.rpc.Status שמכיל את code ו-message. השדה הזה מאוכלס רק כשהרצת המודל נכשלת.

פלט לדוגמה

{
  "modelName": "content-safety",
  "modelVersion": "v1",
  "contentSafetyAnnotation": {
    "adultContentLikelihood": "VERY_UNLIKELY",
    "violentContentLikelihood": "UNLIKELY"
  }
}

סיווג קובצי PDF

אפשר להשתמש במודל pdf-classification כדי לסווג באופן אוטומטי מסמכי PDF על סמך המבנה הטקסטואלי והוויזואלי שלהם. המודל מקצה קטגוריות היררכיות סטנדרטיות לעסקים, לענפים ולנושאים. הקטגוריות האלה עוזרות לארגן אוספים גדולים של מסמכים, לבסס את השליפה של AI גנרטיבי ולנתב מסמכים לתהליכי עבודה במורד הזרם.

פרטי המודל

  • שם הדגם: pdf-classification
  • מפתח ההקשר: google:annotation:pdf-classification-v1
  • אובייקטים שעומדים בדרישות: אובייקטים של מסמכי PDF בגודל ‎20MiB או פחות, עם Content-Type של application/pdf.

סכימת הפלט

הפלט מהמודל מוציא אובייקט JSON שמכיל את modelName, modelVersion ו-pdfClassificationCategoryList עם מערך של categories מסווגים. אם הביצוע של המודל נכשל, אובייקט ה-JSON מכיל אובייקט error במקום pdfClassificationCategoryList.

שדה סוג טווח תיאור
modelName string לא רלוונטי שם המודל של למידת המכונה שיצר את ההעשרה הזו.
modelVersion string לא רלוונטי גרסת המודל של למידת המכונה שיצרה את ההעשרה הזו.
pdfClassificationCategoryList object לא רלוונטי אובייקט קונטיינר ברמה העליונה לתוצאות הסיווג של קובצי PDF. מוצג כשהמודל פועל בהצלחה.
pdfClassificationCategoryList.categories[] array לא רלוונטי רשימה של קטגוריות סיווג שזוהו.
pdfClassificationCategoryList.categories[].label string קטגוריות סיווג של קובצי PDF הנתיב של הקטגוריה ההיררכית, למשל "/Finance/Accounting & Auditing/Tax Preparation & Planning".
pdfClassificationCategoryList.categories[].score number ‫0 עד 1 (0% עד 100%) ציון המהימנות של הקטגוריה שהוקצתה.
error object לא רלוונטי אובייקט google.rpc.Status שמכיל את code ו-message. השדה הזה מאוכלס רק כשהרצת המודל נכשלת.

קטגוריות נתמכות

מודל pdf-classification מקצה קטגוריות תוכן היררכיות סטנדרטיות למסמכי PDF.

הקטגוריות בנויות בהיררכיה, והקו הנטוי (/) משמש להפרדה בין רמות הקטגוריות. הם מתחילים בקטגוריה רחבה ברמה העליונה ומצטמצמים לקטגוריות משנה ספציפיות:

  • תחומים אנכיים ברמה העליונה: דומיינים רחבים של נושאים, כמו /Finance,‏ /Law & Government או /Computers & Electronics.
  • קטגוריות משנה: נושאים ספציפיים בתוך תחום, כמו /Finance/Accounting & Auditing/Tax Preparation & Planning.
  • קטגוריות משנה של /Other: קטגוריות של תוכן שתואם לקטגוריית ההורה, אבל לא מתאים לאף קטגוריית משנה ספציפית.

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

קטגוריות ברמה העליונה

המודל מסווג מסמכי PDF ל-27 קטגוריות ברמה העליונה:

  • /Adult
  • /Arts & Entertainment
  • /Autos & Vehicles
  • /Beauty & Fitness
  • /Books & Literature
  • /Business & Industrial
  • /Computers & Electronics
  • /Finance
  • /Food & Drink
  • /Games
  • /Health
  • /Hobbies & Leisure
  • /Home & Garden
  • /Internet & Telecom
  • /Jobs & Education
  • /Law & Government
  • /News
  • /Online Communities
  • /People & Society
  • /Pets & Animals
  • /Real Estate
  • /Reference
  • /Science
  • /Sensitive Subjects
  • /Shopping
  • /Sports
  • /Travel & Transportation

קטגוריות המשנה מופיעות בנתיב ההיררכי /Top-Level-Vertical/Subcategory, עם רמות עמוקות יותר (אופציונלי) מתחת לקטגוריות ברמה העליונה. הרשימה המלאה של כל נתיבי הקטגוריות הנתמכים מופיעה בקטגוריות סיווג בפורמט PDF.

פלט לדוגמה

{
  "modelName": "pdf-classification",
  "modelVersion": "v1",
  "pdfClassificationCategoryList": {
    "categories": [
      {
        "label": "/Finance/Accounting & Auditing/Tax Preparation & Planning",
        "score": 0.85
      },
      {
        "label": "/Business & Industrial/Printing & Publishing/Document & Printing Services",
        "score": 0.25
      }
    ]
  }
}

המאמרים הבאים