זיהוי תוויות בתמונה באמצעות שורת הפקודה
בדף הזה מוסבר איך לשלוח שלוש בקשות לזיהוי תכונות ולהוספת הערות ל-Vision API באמצעות ממשק REST והפקודה curl.
Vision API מאפשר לשלב בקלות את הטכנולוגיות של Google לזיהוי באמצעות ראייה ממוחשבת באפליקציות של מפתחים. אתם יכולים לשלוח נתוני תמונות וסוגי תכונות רצויים אל Vision API, שמחזיר תגובה תואמת על סמך מאפייני התמונה שמעניינים אתכם. מידע נוסף על סוגי התכונות שזמינות מופיע ברשימה של כל התכונות של Vision API.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את Vision API, אם הוא עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable vision.googleapis.com
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/storage.objectViewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את Vision API, אם הוא עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable vision.googleapis.com
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/storage.objectViewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
שליחת בקשה להוספת הערה לתמונה
אחרי שמבצעים את השלבים שבקטע לפני שמתחילים, אפשר להשתמש ב-Vision API כדי להוסיף הערות לקובץ תמונה.
בדוגמה הזו משתמשים ב-curl כדי לשלוח בקשה ל-Vision API באמצעות התמונה הבאה:
URI של Cloud Storage:
gs://cloud-samples-data/vision/using_curl/shanghai.jpeg
כתובת URL מסוג HTTPS:
https://console.cloud.google.com/storage/browser/cloud-samples-data/vision/using_curl/shanghai.jpeg
יצירת בקשת JSON
בקובץ request.json הבא מוצגות דוגמאות לבקשות לשלוש images:annotate תכונות ולהגבלת התוצאות בתשובה.
יוצרים את קובץ בקשת ה-JSON עם הטקסט הבא ושומרים אותו כקובץ טקסט פשוט request.json בספריית העבודה:
request.json
{ "requests": [ { "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/using_curl/shanghai.jpeg" } }, "features": [ { "type": "LABEL_DETECTION", "maxResults": 3 }, { "type": "OBJECT_LOCALIZATION", "maxResults": 1 }, { "type": "TEXT_DETECTION", "maxResults": 1, "model": "builtin/latest" } ] } ] }
שליחת הבקשה
משתמשים ב-curl ובתוכן הגוף מ-request.json כדי לשלוח את הבקשה ל-Vision API. מזינים את הפקודה הבאה בשורת הפקודה:
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" \ https://vision.googleapis.com/v1/images:annotate -d @request.json
פירוש התשובה
אמורה להתקבל תגובת JSON שדומה לזו שבהמשך.
גוף הבקשה בפורמט JSON מציין maxResults לכל סוג הערה.
לכן, תראו את הפרטים הבאים ב-JSON של התגובה:
- שלוש
labelAnnotationsתוצאות - תוצאה אחת (
textAnnotations) (לשם הבהרה) - תוצאה אחת (
localizedObjectAnnotations)
תוצאות של זיהוי תוויות
- description: "People", score: 0.950
- description: "Street", score: 0.891
- description: "Mode of transport", score: 0.890
תוצאות של זיהוי טקסט
- text: 牛牛面馆\n
- קודקודי התיבה: (x: 159, y: 212), (x: 947, y: 212), (x: 947, y: 354), (x: 159, y: 354 )
תוצאות של זיהוי אובייקטים
- name: "Person", score: 0.944
- קודקודי צורה מנורמלים: (x: 0.260, y: 0.468), (x: 0.407, y: 0.468), (x: 0.407, y: 0.895), (x: 0.260, y: 0.895)
כל הכבוד! שלחת בקשה ראשונה ל-Vision API.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט Google Cloud יחד עם המשאבים.
אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud.
gcloud auth revoke
המאמרים הבאים
- כאן אפשר לראות רשימה של כל סוגי התכונות והשימושים שלהן.
- כדי להתחיל להשתמש ב-Vision API בשפה הרצויה, אפשר להשתמש בספריית הלקוח של Vision API.
- במדריכים אפשר לקבל מידע נוסף על תכונות ספציפיות, לראות דוגמאות להערות ולקבל הערות לקובץ או לתמונה ספציפיים.
- מידע על הוספת הערות לתמונות וקבצים (PDF/TIFF/GIF) בכמות גדולה.
- עיון ברשימה מקיפה של דוגמאות לקוד של ספריות לקוח.