תוסף Google Cloud Vision

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

גרסה: 1.4.1

משתמשים במודלים של למידת מכונה כדי לגלות את התוכן והטקסט בתמונות.

התוכן הזה מספק הפניה להגדרה של התוסף הזה ולשימוש בו. לפני השימוש בתוסף הזה דרך שרת proxy של API, צריך:

  1. מפעילים את Cloud Vision API לחשבון השירות.

  2. אם בחרתם להשתמש ב-Cloud Storage כמקור לתמונות, תצטרכו גם להעניק לתוסף הזה גישה ל-Cloud Storage, כפי שמתואר בחומר העזר בנושא תוסף Google Cloud Storage.

  3. אם יש לכם חשבון שירות עם הרשאה ל-Cloud Vision (ול-Cloud Storage, אם אתם משתמשים בו), אתם יכולים להשתמש במסוף GCP כדי ליצור מפתח לחשבון השירות.

  4. יש להשתמש בתוכן של קובץ ה-JSON שמכיל את המפתח שהתקבל במהלך הוספה והגדרה של התוסף באמצעות ההפניה לתצורה.

מידע על Cloud Vision

ב-Google Cloud Vision API נעשה שימוש במודלים של למידת מכונה לניתוח תמונות. אפשר לאמן את המודל כדי להשתמש בו ב-API או להשתמש במודל המובנה.

באמצעות המודל המובנה, התמונות ב-Cloud Vision מסווגות לקטגוריות כמו 'גורד שחקים', סירת מפרש, 'אריה' או 'מגדל אייפל'. היא מזהה אובייקטים, פנים, סמלי לוגו וציוני דרך בתוך תמונות, ומאתרת מילים שמופיעות בתוך תמונות.

טעימות

הדוגמאות הבאות ממחישות איך להגדיר תמיכה בפעולות של תוסף Cloud Vision באמצעות מדיניות היתרונות המרכזיים של תוסף.

זיהוי תוויות

בדוגמה הבאה, הפעולה detectLabels של התוסף מקבלת את התמונה image_uri ומעבירה אותה ל-Cloud Vision API לצורך ניתוח. ה-API יבדוק את התמונה ויקבע אילו תוויות רלוונטיות לתוכן של התמונה.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Extension">
    <DisplayName>Cloud Vision Extension</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectLabels</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
    }
    ]]></Input>
    <Output>vision.labels.retrieved</Output>
</ConnectorCallout>

במדיניות הבאה בנושא הקצאת הודעה, נעשה שימוש בערך של המשתנה שמאחסן את התגובה של התוסף כדי להקצות את המטען הייעודי (payload) של התגובה.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Labels">
    <DisplayName>Get Image Labels</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.labels.retrieved}</Payload>
    </Set>
</AssignMessage>

בהינתן תמונה של אזור עירוני שכולל בניין גבוה מאוד, ייתכן שתקבלו תשובה כזו:

{
  "labels": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/0j_s4",
          "locale": "",
          "description": "metropolitan area",
          "score": 0.9868549704551697,
          "confidence": 0,
          "topicality": 0.9868549704551697,
          "boundingPoly": null
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/079cl",
          "locale": "",
          "description": "skyscraper",
          "score": 0.966157853603363,
          "confidence": 0,
          "topicality": 0.966157853603363,
          "boundingPoly": null
      }
  ]
}

זיהוי טקסט

בדוגמה הבאה, הפעולה detectText של התוספים מקבלת את התמונה ב-image_uri ומעבירה אותה ל-Cloud Vision API לצורך ניתוח. ה-API יבדוק את התמונה ויזהה את הטקסט בה.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Text">
    <DisplayName>Cloud Vision Text</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectText</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
    }
    ]]></Input>
    <Output>vision.text.retrieved</Output>
</ConnectorCallout>

במדיניות הבאה בנושא הקצאת הודעה, נעשה שימוש בערך של המשתנה שמאחסן את התגובה של התוסף כדי להקצות את המטען הייעודי (payload) של התגובה.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Text">
    <DisplayName>Get Image Text</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.text.retrieved}</Payload>
    </Set>
</AssignMessage>

בהינתן תמונה שמכילה שלטים ביומן החניה, ייתכן שתקבלו תגובה כזו:

{
  "text": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "en",
          "description": "RESERVED\nVISITORPARKING\nPARKING\nONLY>\n$150 FINE\n",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 64,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 218
                  },
                  {
                      "x": 64,
                      "y": 218
                  }
              ]
          }
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "",
          "description": "RESERVED",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 243,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 84
                  },
                  {
                      "x": 243,
                      "y": 84
                  }
              ]
          }
      }
   ]
}

פעולות

detectLabels

מזהה ומחלץ מידע על ישויות בתמונה שצוינה. הישויות שאותרו נמצאות בטווח רחב של קטגוריות. לדוגמה, אפשר להשתמש בפעולה הזו כדי לזהות אובייקטים, מיקומים, פעילויות, מינים של בעלי חיים, מוצרים ועוד.

בנוסף, חשוב לעיין במסמכי התיעוד של Cloud Vision API.

פרמטרים של בקשה

פרמטר התיאור תיאור ברירת המחדל נדרש
image_uri מקור התמונה. מקור הנתונים יכול להיות מהאינטרנט או מ-Google Cloud Storage (בפורמט: gs://bucketname/filename). אם המקור הוא Google Cloud Storage, קובץ התמונה צריך להיות ציבורי. מחרוזת ללא. כן.

תחביר

<Input><![CDATA[{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

דוגמה

בדוגמה הבאה, הפעולה detectLabels של התוסף שולחת את התמונה שצוינה ל-Vision API לצורך ניתוח.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>

תשובה

אובייקט שמכיל מערך labels של תוויות שמייצגות ישויות שזוהו בתוך התמונה. מידע נוסף זמין במאמר זיהוי תוויות.

detectText

מזהה ומחלץ טקסט מהתמונה שצוינה.

פרמטרים של בקשה

פרמטר התיאור תיאור ברירת המחדל נדרש
image_uri מקור התמונה. מקור הנתונים יכול להיות מהאינטרנט או מ-Google Cloud Storage (בפורמט: gs://bucketname/filename). אם המקור הוא Google Cloud Storage, קובץ התמונה צריך להיות ציבורי. מחרוזת ללא. כן.

תחביר

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

דוגמה

בדוגמה הבאה, הפעולה detectText של התוסף שולחת את התמונה שצוינה ל-Vision API לצורך ניתוח.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>

תשובה

אובייקט שמכיל מערך text של הטקסט שזוהה. מידע נוסף זמין במאמר זיהוי תוויות.

סימוכין לתצורה

במהלך ההגדרה והפריסה של התוסף הזה לשימוש בשרתי proxy של API, צריך להשתמש בהגדרות הבאות. לשלבים להגדרת תוסף באמצעות מסוף Apigee, אפשר לעיין במאמר הוספה והגדרה של תוסף.

מאפיינים נפוצים של תוספים

המאפיינים הבאים קיימים בכל תוסף.

נכס תיאור ברירת המחדל נדרש
name השם שבחרת לתצורה הזו של התוסף. ללא כן
packageName השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. ללא כן
version מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. ללא כן
configuration ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו ללא כן