תכונת מעקב אחרי אובייקטים עוקבת אחרי אובייקטים שזוהו בסרטון קלט. כדי לשלוח בקשה למעקב אחרי אובייקט, צריך לבצע קריאה ל-method annotate ולציין OBJECT_TRACKING בשדה features.
עבור ישויות ומיקומים מרחביים שמזוהים בסרטון או בקטעי סרטון, בקשה למעקב אחרי אובייקטים מוסיפה לסרטון את התוויות המתאימות לישויות ולמיקומים המרחביים האלה. לדוגמה, סרטון של כלי רכב שחוצים רמזור יכול להניב תוויות כמו 'מכונית', 'משאית', 'אופניים', 'צמיגים', 'אורות', 'חלון' וכן הלאה. כל תווית יכולה לכלול סדרה של תיבות תוחמות, ולכל תיבה תוחמת יש פלח זמן משויך שמכיל היסט זמן שמציין את היסט משך הזמן מתחילת הסרטון. ההערה מכילה גם מידע נוסף על הישות, כולל מזהה ישות שבו אפשר להשתמש כדי למצוא מידע נוסף על הישות ב-Google Knowledge Graph Search API.
מעקב אחרי אובייקטים לעומת זיהוי תוויות
יש הבדל בין מעקב אחרי אובייקטים לבין זיהוי תוויות. זיהוי תוויות מספק תוויות ללא תיבות תוחמות, בעוד שמעקב אחרי אובייקטים מספק את התוויות של האובייקטים הספציפיים שמופיעים בסרטון נתון, יחד עם התיבה התוחמת של כל מופע של אובייקט בכל שלב זמן.
כמה מופעים של אותו סוג אובייקט מוקצים למופעים שונים של הודעת ObjectTrackingAnnotation, כאשר כל המופעים של אובייקט נתון נשמרים במופע משלהם של ObjectTrackingAnnotation. לדוגמה, אם בסרטון מופיעות מכונית אדומה ומכונית כחולה למשך 5 שניות, בקשת המעקב צריכה להחזיר שני מקרים של ObjectTrackingAnnotation. המופע הראשון יכיל את המיקומים של אחת משתי המכוניות, למשל המכונית האדומה, והמופע השני יכיל את המיקומים של המכונית השנייה.
בקשת מעקב אחר אובייקט בסרטון ב-Cloud Storage
בדוגמאות הבאות מוצג מעקב אחרי אובייקט בקובץ שנמצא ב-Cloud Storage.
REST
שליחת בקשת העיבוד
בדוגמה הבאה אפשר לראות איך לשלוח בקשת POST ל-method annotate.
בדוגמה נעשה שימוש באסימון גישה לחשבון שירות שהוגדר לפרויקט באמצעות Google Cloud CLI. הוראות להתקנת Google Cloud CLI, להגדרת פרויקט עם חשבון שירות ולקבלת אסימון גישה מופיעות במאמר מדריך למתחילים בנושא Video Intelligence.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INPUT_URI: STORAGE_URI
לדוגמה:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
תוכן בקשת JSON:
{
"inputUri": "STORAGE_URI",
"features": ["OBJECT_TRACKING"]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID"
}
אם הבקשה מצליחה, Video Intelligence API מחזיר את name של הפעולה. בדוגמה שלמעלה מוצגת תגובה כזו, כאשר PROJECT_NUMBER הוא מספר הפרויקט ו-OPERATION_ID הוא המזהה של הפעולה ארוכת הטווח שנוצרה עבור הבקשה.
קבלת התוצאות
כדי לקבל את תוצאות הבקשה, שולחים בקשת GET באמצעות שם הפעולה שמוחזר מהקריאה אל videos:annotate, כמו בדוגמה הבאה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- OPERATION_NAME: השם של הפעולה כפי שמוחזר על ידי Video Intelligence API. שם הפעולה הוא בפורמט
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
הורדת תוצאות ההערות
מעתיקים את ההערה מהמקור לדלי היעד: (ראו העתקת קבצים ואובייקטים)
gcloud storage cp gcs_uri gs://my-bucket
הערה: אם המשתמש מספק את ה-URI של GCS בפלט, ההערה מאוחסנת ב-URI הזה.
Go
Java
Node.js
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Video Intelligence בנושא .NET.
PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Video Intelligence מאמרי עזרה for PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעבור אל מסמך העזר של Video Intelligence ל-Ruby.
בקשה למעקב אחר אובייקט בסרטון מקובץ מקומי
בדוגמאות הבאות אפשר לראות מעקב אחרי אובייקט בקובץ שמאוחסן באופן מקומי.
REST
שליחת בקשת העיבוד
כדי להוסיף הערות לקובץ וידאו מקומי, צריך להשתמש בקידוד Base64 לתוכן של קובץ הווידאו.
כוללים את התוכן בקידוד base64 בשדה inputContent של הבקשה.
מידע על קידוד Base64 של תוכן קובץ וידאו זמין במאמר בנושא קידוד Base64.
בדוגמה הבאה אפשר לראות איך לשלוח בקשת POST למתודה videos:annotate. בדוגמה נעשה שימוש באסימון הגישה של חשבון שירות שהוגדר לפרויקט באמצעות Google Cloud CLI. הוראות להתקנת Google Cloud CLI, להגדרת פרויקט עם חשבון שירות ולקבלת אסימון גישה מופיעות במאמר מדריך למתחילים בנושא Video Intelligence.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- inputContent: BASE64_ENCODED_CONTENT
לדוגמה:"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
תוכן בקשת JSON:
{
"inputContent": "BASE64_ENCODED_CONTENT",
"features": ["OBJECT_TRACKING"]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
אם הבקשה תצליח, Video Intelligence יחזיר את name עבור הפעולה. בדוגמה הבאה מוצגת תגובה כזו, כאשר PROJECT_NUMBER הוא מספר הפרויקט ו-OPERATION_ID הוא המזהה של הפעולה הממושכת שנוצרה עבור הבקשה.
קבלת התוצאות
כדי לקבל את תוצאות הבקשה, צריך לשלוח GET באמצעות שם הפעולה שמוחזר מהקריאה אל videos:annotate, כמו בדוגמה הבאה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- OPERATION_NAME: השם של הפעולה כפי שמוחזר על ידי Video Intelligence API. שם הפעולה הוא בפורמט
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
Go
Java
Node.js
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Video Intelligence בנושא .NET.
PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Video Intelligence מאמרי עזרה for PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעבור אל מסמך העזר של Video Intelligence ל-Ruby.