Vision API יכול להפעיל שירותי זיהוי אופליין (אסינכרוני) והוספת הערות לקבוצה גדולה של קובצי תמונות באמצעות כל סוג תכונה של Vision. לדוגמה, אפשר לציין תכונה אחת או יותר של Vision API (כמו TEXT_DETECTION, LABEL_DETECTION ו-LANDMARK_DETECTION) עבור קבוצה אחת של תמונות.
הפלט מבקשת Batch במצב אופליין נכתב לקובץ JSON שנוצר בקטגוריה של Cloud Storage שצוינה.
מגבלות
Vision API מקבל עד 2,000 קובצי תמונות. אם תנסו להעלות קבוצה גדולה יותר של קובצי תמונות, תופיע שגיאה.
סוגי התכונות שנתמכות כרגע
| סוג התכונה | |
|---|---|
CROP_HINTS |
קביעת קודקודים מוצעים לאזור חיתוך בתמונה. |
DOCUMENT_TEXT_DETECTION |
ביצוע OCR בתמונות עם טקסט צפוף, כמו מסמכים (PDF/TIFF) ותמונות עם כתב יד.
אפשר להשתמש ב-TEXT_DETECTION לתמונות עם טקסט דליל.
מקבל עדיפות אם מופיעים גם DOCUMENT_TEXT_DETECTION וגם
TEXT_DETECTION.
|
FACE_DETECTION |
זיהוי פנים בתמונה. |
IMAGE_PROPERTIES |
חישוב של קבוצת מאפייני תמונה, כמו הצבעים הדומיננטיים בתמונה. |
LABEL_DETECTION |
הוספת תוויות על סמך תוכן התמונה. |
LANDMARK_DETECTION |
זיהוי ציוני דרך גיאוגרפיים בתמונה. |
LOGO_DETECTION |
זיהוי לוגואים של חברות בתמונה. |
OBJECT_LOCALIZATION |
זיהוי ושליפה של כמה אובייקטים בתמונה. |
SAFE_SEARCH_DETECTION |
הפעלת החיפוש הבטוח כדי לזהות תוכן שעלול להיות לא בטוח או לא רצוי. |
TEXT_DETECTION |
מבצעים זיהוי תווים אופטי (OCR) על הטקסט בתמונה.
זיהוי טקסט מותאם לאזורים עם טקסט דליל בתוך תמונה גדולה יותר.
אם התמונה היא מסמך (PDF/TIFF), מכילה טקסט צפוף או כתב יד,
אפשר להשתמש במקום זאת ב-DOCUMENT_TEXT_DETECTION.
|
WEB_DETECTION |
לזהות ישויות נושאיות כמו חדשות, אירועים או סלבריטאים בתמונה, ולמצוא תמונות דומות באינטרנט באמצעות היכולות של חיפוש תמונות Google. |
קוד לדוגמה
אפשר להשתמש בדוגמאות הקוד הבאות כדי להריץ שירותי הערות אופליין על קבוצה של קובצי תמונות ב-Cloud Storage.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
תשובה
בקשה מוצלחת מחזירה קובצי JSON של תגובה בקטגוריה של Cloud Storage שציינתם בדוגמת הקוד. מספר התגובות בכל קובץ JSON נקבע על ידי batch_size בדוגמת הקוד.
התשובה שמוחזרת דומה לתשובות של תכונות רגילות של Vision API, בהתאם לתכונות שביקשתם עבור תמונה.
בתגובות הבאות מוצגות הערות LABEL_DETECTION ו-TEXT_DETECTION לגבי image1.png, הערות IMAGE_PROPERTIES לגבי image2.jpg והערות OBJECT_LOCALIZATION לגבי image3.jpg.
התשובה מכילה גם את השדה context שבו מוצג ה-URI של הקובץ.
offline_batch_output/output-1-to-2.json
{ "responses": [ { "labelAnnotations": [ { "mid": "/m/07s6nbt", "description": "Text", "score": 0.93413997, "topicality": 0.93413997 }, { "mid": "/m/0dwx7", "description": "Logo", "score": 0.8733531, "topicality": 0.8733531 }, ... { "mid": "/m/03bxgrp", "description": "Company", "score": 0.5682425, "topicality": 0.5682425 } ], "textAnnotations": [ { "locale": "en", "description": "Google\n", "boundingPoly": { "vertices": [ { "x": 72, "y": 40 }, { "x": 613, "y": 40 }, { "x": 613, "y": 233 }, { "x": 72, "y": 233 } ] } }, ... ], "blockType": "TEXT" } ] } ], "text": "Google\n" }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image1.png" } }, { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 229, "green": 230, "blue": 238 }, "score": 0.2744754, "pixelFraction": 0.075339235 }, ... { "color": { "red": 86, "green": 87, "blue": 95 }, "score": 0.025770646, "pixelFraction": 0.13109145 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 1599 }, { "x": 1599, "y": 1199 }, { "y": 1199 } ] }, "confidence": 0.79999995, "importanceFraction": 1 } ] }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image2.jpg" } } ] }
offline_batch_output/output-3-to-3.json
{ "responses": [ { "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image3.jpg" }, "localizedObjectAnnotations": [ { "mid": "/m/0bt9lr", "name": "Dog", "score": 0.9669734, "boundingPoly": { "normalizedVertices": [ { "x": 0.6035543, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.98426414 }, { "x": 0.6035543, "y": 0.98426414 } ] } }, ... { "mid": "/m/0jbk", "name": "Animal", "score": 0.58003056, "boundingPoly": { "normalizedVertices": [ { "x": 0.014534635, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.98426414 }, { "x": 0.014534635, "y": 0.98426414 } ] } } ] } ] }