זיהוי תוויות בתמונה באמצעות שורת הפקודה
בדף הזה מוסבר איך לשלוח שלוש בקשות לזיהוי תכונות ולהוספת הערות ל-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, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים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, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים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)
סימון תוצאות הזיהוי בתווית
- תיאור: 'אנשים', ציון: 0.950
- description: "Street", score: 0.891
- תיאור: 'אופן התחבורה', ניקוד: 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
- normalized vertices: (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) בכמות גדולה
- עיון ברשימה מקיפה של דוגמאות קוד של ספריות לקוח samples.