בדף הזה מוסבר איך לזהות סלבריטאים בתמונות באמצעות Vision API.
Vision API מאפשר לכם לזהות פנים בתמונה. כשמזוהה פנים, Vision API יכול להשוות את הפנים לגלריה מאונדקסת של סלבריטאים שאותה אוספת Google.
Vision API יכול לזהות אלפי ידוענים, והוא מיועד לשימוש רק בתוכן מדיה שצולם באופן מקצועי, שבו ידוענים מוכרים מופיעים בתמונה.
אם נמצאה התאמה, Vision API מספק את מזהה המכונה (MID) של Knowledge Graph של הסלבריטי, את השם שלו ואת תיבת התוחמת שמציינת איפה הפנים מופיעות בתמונה.
שליחת בקשת גישה ל-API
התכונה הזו מיועדת לשימוש של חברות מדיה ובידור או של שותפים מאושרים בתכנים מדיה שהופקו באופן מקצועי. כדי לבקש גישה ל-API, צריך למלא את הטופס הזה ולספק מידע על החברה ועל תרחיש השימוש.
בקשה לזיהוי אנשים מפורסמים בתמונה מקומית
אתם יכולים להשתמש ב-Vision API כדי לבצע זיהוי תכונות בקובץ תמונה מקומי.
בבקשות REST, שולחים את תוכן קובץ התמונה כמחרוזת מקודדת ב-Base64 בגוף הבקשה.
בבקשות של gcloud וספריית לקוח, מציינים את הנתיב לתמונה מקומית בבקשה.
כדי לשלוח בקשה לזיהוי סלבריטאים, קודם צריך לקבל גישה לתכונה בפרויקט, ואז להשתמש בתכונה הקיימת של זיהוי פנים (מסוג enum FACE_DETECTION).
אם מזוהה סלבריטי, התוצאות יכללו מידע עליו.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- BASE64_ENCODED_IMAGE: ייצוג base64 (מחרוזת ASCII) של נתוני התמונה הבינאריים. המחרוזת הזו צריכה להיראות כמו המחרוזת הבאה:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
ה-method של ה-HTTP וכתובת ה-URL:
POST https://vision.googleapis.com/v1p4beta1/images:annotate
גוף בקשת JSON:
{
"requests": [
{
"image": {
"content": "BASE64_ENCODED_IMAGE"
},
"features": [
{
"type": "FACE_DETECTION"
}
],
"imageContext": {
"faceRecognitionParams": {
"celebritySet": ["builtin/default"]
}
}
}
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1p4beta1/images:annotate"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1p4beta1/images:annotate" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
בקשה לזיהוי אנשים מפורסמים בתמונה מרוחקת
אתם יכולים להשתמש ב-Vision API כדי לבצע זיהוי תכונות בקובץ תמונה מרוחק שנמצא ב-Cloud Storage או באינטרנט. כדי לשלוח בקשה לקובץ מרוחק, מציינים את כתובת ה-URL של הקובץ באינטרנט או את ה-URI של Cloud Storage בגוף הבקשה.
כדי לשלוח בקשה לזיהוי סלבריטאים, קודם צריך לקבל גישה לתכונה בפרויקט, ואז להשתמש בתכונה הקיימת של זיהוי פנים (מסוג enum FACE_DETECTION).
אם מזוהה סלבריטי, התוצאות יכללו מידע עליו.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- CLOUD_STORAGE_IMAGE_URI: הנתיב לקובץ תמונה תקין בקטגוריה של Cloud Storage. צריכות להיות לכם לפחות הרשאות קריאה לקובץ.
דוגמה:
gs://my-cloud-bucket/img/celebrity_image.jpg
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
ה-method של ה-HTTP וכתובת ה-URL:
POST https://vision.googleapis.com/v1p4beta1/images:annotate
גוף בקשת JSON:
{
"requests": [
{
"image": {
"source": {
"imageUri": "CLOUD_STORAGE_FILE_URI"
}
},
"features": [
{
"type": "FACE_DETECTION"
}
],
"imageContext": {
"faceRecognitionParams": {
"celebritySet": ["builtin/default"]
}
}
}
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1p4beta1/images:annotate"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1p4beta1/images:annotate" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
בקשה לביטול הסכמה של מפורסם
אם אתם מפורסמים ולא רוצים להיכלל בתכונה הזו ב-Cloud Vision או ב-Video Intelligence API, אתם יכולים למלא את הטופס הזה ולשלוח אותו.
דיווח על שימוש לרעה
אם אתם חושדים שנעשה שימוש לרעה בתכונה 'זיהוי אישים מפורסמים' ב-Vision API, אתם יכולים לדווח לנו על כך באמצעות הטופס הזה.