התכונה זיהוי פנים מזהה כמה פנים בתמונה, יחד עם מאפייני הפנים העיקריים שמשויכים אליהם, כמו wearing headwear.
אין תמיכה בזיהוי פנים של אדם ספציפי.
נסו בעצמכם
אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של Cloud Vision API בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.
התנסות ב-Cloud Vision API בחינםבקשות לזיהוי פנים
הגדרת הפרויקט והאימות ב- Google Cloud
זיהוי פנים בתמונה מקומית
אתם יכולים להשתמש ב-Vision API כדי לזהות מאפיינים בקובץ תמונה מקומי.
בבקשות REST, שולחים את התוכן של קובץ התמונה כמחרוזת בקידוד base64 בגוף הבקשה.
בבקשות של gcloud וספריית הלקוח, צריך לציין את הנתיב לתמונה מקומית בבקשה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- BASE64_ENCODED_IMAGE: ייצוג base64 (מחרוזת ASCII) של נתוני התמונה הבינאריים. המחרוזת הזו אמורה להיראות בערך כך:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- RESULTS_INT: (אופציונלי) ערך של מספר שלם של תוצאות שיוחזרו. אם משמיטים את השדה
"maxResults"ואת הערך שלו, ה-API מחזיר את ערך ברירת המחדל של 10 תוצאות. השדה הזה לא רלוונטי לסוגי התכונות הבאים:TEXT_DETECTION,DOCUMENT_TEXT_DETECTIONאוCROP_HINTS. - PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
ה-method של ה-HTTP וכתובת ה-URL:
POST https://vision.googleapis.com/v1/images:annotate
גוף בקשת JSON:
{
"requests": [
{
"image": {
"content": "BASE64_ENCODED_IMAGE"
},
"features": [
{
"maxResults": RESULTS_INT,
"type": "FACE_DETECTION"
}
]
}
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/v1/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/v1/images:annotate" | Select-Object -Expand Content
אם הבקשה תתבצע בהצלחה, השרת יחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON.
תגובה של FACE_DETECTION כוללת תיבות תוחמות לכל הפנים שזוהו, נקודות ציון שזוהו בפנים (עיניים, אף, פה וכו') ודירוגי סמך למאפייני הפנים והתמונה (שמחה, צער, כעס, הפתעה וכו').
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Vision באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של Vision Go API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Vision API באמצעות ספריות לקוח. מידע נוסף מופיע ב מאמרי העזרה של Vision API Java.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של Vision באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של Vision Node.js API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Vision באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של Vision Python API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פעלו לפי הוראות ההגדרה של C# בדף ספריות הלקוח, ואז עיינו ב מאמרי העזרה של Vision ל- .NET.
PHP: פעלו לפי הוראות ההגדרה של PHP בדף ספריות הלקוח ואז עיינו ב מאמרי העזרה של Vision ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Vision ל-Ruby.
זיהוי פנים בתמונה מרוחקת
אתם יכולים להשתמש ב-Vision API כדי לזהות מאפיינים בקובץ תמונה מרוחק שנמצא ב-Cloud Storage או באינטרנט. כדי לשלוח בקשה לקובץ מרוחק, צריך לציין את כתובת ה-URL או את ה-URI של Cloud Storage של הקובץ בגוף הבקשה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- CLOUD_STORAGE_IMAGE_URI: הנתיב לקובץ תמונה תקין בקטגוריה של Cloud Storage. צריכות להיות לכם לפחות הרשאות קריאה בקובץ.
לדוגמה:
gs://cloud-samples-data/vision/face/faces.jpeg
- RESULTS_INT: (אופציונלי) ערך של מספר שלם של תוצאות שיוחזרו. אם משמיטים את השדה
"maxResults"ואת הערך שלו, ה-API מחזיר את ערך ברירת המחדל של 10 תוצאות. השדה הזה לא רלוונטי לסוגי התכונות הבאים:TEXT_DETECTION,DOCUMENT_TEXT_DETECTIONאוCROP_HINTS. - PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
ה-method של ה-HTTP וכתובת ה-URL:
POST https://vision.googleapis.com/v1/images:annotate
גוף בקשת JSON:
{
"requests": [
{
"image": {
"source": {
"imageUri": "CLOUD_STORAGE_IMAGE_URI"
}
},
"features": [
{
"maxResults": RESULTS_INT,
"type": "FACE_DETECTION"
}
]
}
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/v1/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/v1/images:annotate" | Select-Object -Expand Content
אם הבקשה תתבצע בהצלחה, השרת יחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON.
תגובה של FACE_DETECTION כוללת תיבות תוחמות לכל הפנים שזוהו, נקודות ציון שזוהו בפנים (עיניים, אף, פה וכו') ודירוגי סמך למאפייני הפנים והתמונה (שמחה, צער, כעס, הפתעה וכו').
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Vision באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של Vision Go API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Vision API באמצעות ספריות לקוח. מידע נוסף מופיע ב מאמרי העזרה של Vision API Java.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של Vision באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של Vision Node.js API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Vision באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של Vision Python API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
gcloud
כדי לבצע איתור פנים, השתמשו בפקודה gcloud ml vision detect-faces, כמו בדוגמה הבאה:
gcloud ml vision detect-faces gs://cloud-samples-data/vision/face/faces.jpeg
שפות נוספות
C#: פעלו לפי הוראות ההגדרה של C# בדף ספריות הלקוח, ואז עיינו ב מאמרי העזרה של Vision ל- .NET.
PHP: פעלו לפי הוראות ההגדרה של PHP בדף ספריות הלקוח ואז עיינו ב מאמרי העזרה של Vision ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Vision ל-Ruby.
אני רוצה לנסות
אפשר לנסות את זיהוי הפנים למטה. אפשר להשתמש בתמונה שכבר צוינה (gs://cloud-samples-data/vision/face/faces.jpeg) או לציין תמונה משלכם במקומה. לוחצים על Execute כדי לשלוח את הבקשה.
גוף הבקשה:
{
"requests": [
{
"features": [
{
"maxResults": 10,
"type": "FACE_DETECTION"
}
],
"image": {
"source": {
"imageUri": "gs://cloud-samples-data/vision/face/faces.jpeg"
}
}
}
]
}פותחים את Google APIs Explorer ושולחים את הבקשה
כדי לפתוח את Google APIs Explorer, לוחצים על Try it!.
זה שינוי אופציונלי. משנים את גוף הבקשה הקיים.
כדי לשלוח את הבקשה, לוחצים על Execute.