מדריך לזיהוי אובייקטים

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

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

מפרטים של אפליקציות עם מודל לזיהוי אובייקטים

כדי ליצור מודל לזיהוי אובייקטים במסוףGoogle Cloud , פועלים לפי ההוראות הבאות.

המסוף

יצירת אפליקציה במסוף Google Cloud

  1. כדי ליצור אפליקציה לזיהוי אובייקטים, פועלים לפי ההוראות במאמר יצירת אפליקציה.

    עוברים לכרטיסייה 'אפליקציות'

הוספה של מודל לזיהוי אובייקטים

  1. כשמוסיפים צמתי מודל, בוחרים באפשרות Object detector (גלאי אובייקטים) מתוך רשימת המודלים שאומנו מראש.

הוספת מחבר ל-BigQuery

  1. כדי להשתמש בפלט, צריך לחבר את האפליקציה למחבר BigQuery.

    מידע על השימוש במחבר BigQuery זמין במאמר חיבור נתונים ואחסון שלהם ב-BigQuery. מידע על התמחור של BigQuery זמין בדף התמחור של BigQuery.

הצגת תוצאות הפלט ב-BigQuery

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

אם לא ציינתם נתיב BigQuery, תוכלו לראות את הנתיב שנוצר על ידי המערכת בדף Studio של Agent Platform Vision.

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. לוחצים על הרחבה לצד פרויקט היעד, שם קבוצת הנתונים ושם האפליקציה.

    בוחרים את טבלת האפליקציה ב-BigQuery.

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

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

פלט המודל

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

בדוגמה הבאה של פלט מאגר אחסון לפרוטוקולים, שימו לב לנקודות הבאות:

  • חותמת זמן – חותמת הזמן תואמת לזמן של תוצאת ההסקה הזו.
  • תיבות מזוהות – תוצאת הזיהוי הראשית שכוללת את זהות התיבה, מידע על תיבת התוחמת, ציון רמת הביטחון ותחזית לגבי האובייקט.

דוגמה לאובייקט JSON של פלט הערות

{
  "currentTime": "2022-11-09T02:18:54.777154048Z",
  "identifiedBoxes": [
    {
      "boxId":"0",
      "normalizedBoundingBox": {
        "xmin": 0.6963465,
        "ymin": 0.23144785,
        "width": 0.23944569,
        "height": 0.3544306
      },
      "confidenceScore": 0.49874997,
      "entity": {
        "labelId": "0",
        "labelString": "Houseplant"
      }
    }
  ]
}

הגדרה של מאגר אחסון לפרוטוקולים

// The prediction result protocol buffer for object detection
message ObjectDetectionPredictionResult {
  // Current timestamp
  protobuf.Timestamp timestamp = 1;

  // The entity information for annotations from object detection prediction
  // results
  message Entity {
    // Label id
    int64 label_id = 1;

    // The human-readable label string
    string label_string = 2;
  }

  // The identified box contains the location and the entity of the object
  message IdentifiedBox {
    // An unique id for this box
    int64 box_id = 1;

    // Bounding Box in normalized coordinates [0,1]
    message NormalizedBoundingBox {
      // Min in x coordinate
      float xmin = 1;
      // Min in y coordinate
      float ymin = 2;
      // Width of the bounding box
      float width = 3;
      // Height of the bounding box
      float height = 4;
    }
    // Bounding Box in the normalized coordinates
    NormalizedBoundingBox normalized_bounding_box = 2;

    // Confidence score associated with this bounding box
    float confidence_score = 3;

    // Entity of this box
    Entity entity = 4;
  }
  // A list of identified boxes
  repeated IdentifiedBox identified_boxes = 2;
}

שיטות מומלצות ומגבלות

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

המלצות לגבי נתוני המקור

מומלץ: מוודאים שהאובייקטים בתמונה ברורים ולא מכוסים או מוסתרים ברובם על ידי אובייקטים אחרים.

דוגמה לנתוני תמונה שגלאי האובייקטים יכול לעבד בצורה תקינה:

עצמים בסלון שרואים בבירור.
מקור התמונה: Spacejoy ב-Unsplash.

שליחת נתוני התמונה האלה למודל מחזירה את פרטי זיהוי האובייקטים הבאים*:

* ההערות בתמונה הבאה הן למטרות המחשה בלבד. תיבות התוחמות, התוויות וציוני הביטחון מצוירים באופן ידני ולא מתווספים על ידי המודל או כלי כלשהו במסוף Google Cloud .

אובייקטים בסלון עם תיבות תוחמות, תוויות והערות של ציון מהימנות.
מקור התמונה: Spacejoy ב-Unsplash (ההערות נוספו באופן ידני).

לא מומלץ: לא להשתמש בנתוני תמונה שבהם הפריטים המרכזיים קטנים מדי בפריים.

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

פריטים של אובייקטים שקטנים מדי בפריים כדי שניתן יהיה לזהות אותם.
מקור התמונה: Bernard Hermant ב-Unsplash (התמונה נחתכה).

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

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

פריטים של אובייקטים שמכוסים באופן חלקי על ידי אובייקטים אחרים בחזית.
מקור התמונה: Şahin Sezer Dinçer ב-Unsplash.

מגבלות

  • רזולוציית הסרטון: הרזולוציה המקסימלית המומלצת של סרטון קלט היא ‎1920 x 1080, והרזולוציה המינימלית המומלצת היא ‎160 x 120.
  • תאורה: ביצועי המודל רגישים לתנאי התאורה. בהירות או חושך קיצוניים עלולים להוביל לאיכות זיהוי נמוכה יותר.
  • גודל האובייקט: לגלאי האובייקטים יש גודל מינימלי של אובייקט שאפשר לזהות. חשוב לוודא שאובייקטי היעד גדולים מספיק וגלויים בנתוני הסרטון.