برنامه افزودنی Google Cloud Vision

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

نسخه: ۲.۰.۲

کشف محتوا و متن در تصاویر با استفاده از مدل‌های یادگیری ماشینی.

این محتوا مرجعی برای پیکربندی و استفاده از این افزونه ارائه می‌دهد. قبل از استفاده از این افزونه از طریق یک پروکسی API، باید:

  1. رابط برنامه‌نویسی کاربردی Cloud Vision را برای حساب سرویس خود فعال کنید .

  2. اگر از فضای ذخیره‌سازی ابری به عنوان منبع تصاویر خود استفاده می‌کنید، باید همانطور که در مرجع افزونه فضای ذخیره‌سازی ابری گوگل توضیح داده شده است، به این افزونه نیز اجازه دسترسی به فضای ذخیره‌سازی ابری را بدهید.

  3. وقتی یک حساب کاربری سرویس دارید که مجوز دسترسی به Cloud Vision (و Cloud Storage، در صورت استفاده از آن) را دارد، از کنسول Google Cloud برای ایجاد یک کلید برای حساب کاربری سرویس استفاده کنید .

  4. هنگام افزودن و پیکربندی افزونه با استفاده از مرجع پیکربندی ، از محتویات فایل JSON کلید حاصل استفاده کنید.

درباره کلود ویژن

رابط برنامه‌نویسی کاربردی (API) گوگل کلود ویژن (Google Cloud Vision API) از مدل‌های یادگیری ماشینی برای تجزیه و تحلیل تصاویر استفاده می‌کند. شما می‌توانید یک مدل را برای استفاده توسط این API آموزش دهید یا از مدل داخلی آن استفاده کنید .

با استفاده از مدل داخلی، Cloud Vision تصاویر را به دسته‌هایی مانند «آسمان‌خراش»، «قایق بادبانی»، «شیر» یا «برج ایفل» طبقه‌بندی می‌کند. این برنامه اشیاء، چهره‌ها، لوگوها و مکان‌های دیدنی را در تصاویر تشخیص می‌دهد و کلمات موجود در تصاویر را پیدا می‌کند.

نمونه‌ها

مثال‌های زیر نحوه پیکربندی پشتیبانی از اقدامات افزونه Cloud Vision را با استفاده از خط‌مشی ExtensionCallout نشان می‌دهند.

تشخیص برچسب‌ها

در مثال زیر، اکشن detectLabels افزونه، تصویر را از image_uri دریافت کرده و آن را برای تجزیه و تحلیل به API Cloud Vision ارسال می‌کند. 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>

سیاست تخصیص پیام زیر از مقدار متغیری که پاسخ افزونه را ذخیره می‌کند، برای تخصیص بار داده پاسخ استفاده می‌کند.

<?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 دریافت کرده و آن را برای تجزیه و تحلیل به API Cloud Vision ارسال می‌کند. 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>

سیاست تخصیص پیام زیر از مقدار متغیری که پاسخ افزونه را ذخیره می‌کند، برای تخصیص بار داده پاسخ استفاده می‌کند.

<?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
                  }
              ]
          }
      }
   ]
}

اقدامات

برچسب‌های تشخیص

اطلاعات مربوط به موجودیت‌های درون تصویر مشخص‌شده را شناسایی و استخراج می‌کند. موجودیت‌های شناسایی‌شده در طیف وسیعی از دسته‌ها قرار می‌گیرند. برای مثال، از این اقدام برای شناسایی اشیاء، مکان‌ها، فعالیت‌ها، گونه‌های جانوری، محصولات و موارد دیگر استفاده کنید.

همچنین، حتماً مستندات API مربوط به Cloud Vision را مشاهده کنید.

پارامترهای درخواست

پارامتر توضیحات نوع پیش‌فرض مورد نیاز
image_uri منبع تصویر. این منبع می‌تواند از اینترنت یا فضای ذخیره‌سازی ابری گوگل باشد (فرمت: gs://bucketname/filename ). اگر منبع فضای ذخیره‌سازی ابری گوگل است، فایل تصویر باید عمومی باشد. رشته هیچ کدام. بله.

نحو

<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 که نشان‌دهنده موجودیت‌های شناسایی‌شده در تصویر هستند. برای اطلاعات بیشتر، به بخش «شناسایی برچسب‌ها» مراجعه کنید.

متن را تشخیص دهید

متن را از تصویر مشخص شده تشخیص داده و استخراج می‌کند.

پارامترهای درخواست

پارامتر توضیحات نوع پیش‌فرض مورد نیاز
image_uri منبع تصویر. این منبع می‌تواند از اینترنت یا فضای ذخیره‌سازی ابری گوگل باشد (فرمت: gs://bucketname/filename ). اگر منبع فضای ذخیره‌سازی ابری گوگل است، فایل تصویر باید عمومی باشد. رشته هیچ کدام. بله.

نحو

<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 شناسایی‌شده. برای اطلاعات بیشتر، به بخش «شناسایی برچسب‌ها» مراجعه کنید.

مرجع پیکربندی

هنگام پیکربندی و استقرار این افزونه برای استفاده در پروکسی‌های API، از موارد زیر استفاده کنید. برای مراحل پیکربندی یک افزونه با استفاده از کنسول Apigee، به بخش افزودن و پیکربندی یک افزونه مراجعه کنید.

ویژگی‌های افزونه‌های رایج

ویژگی های زیر برای هر افزونه وجود دارد.

ویژگی شرح پیش فرض ضروری
name نامی که به این پیکربندی افزونه می‌دهید. هیچ یک آره
packageName نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. هیچ یک آره
version شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. هیچ یک آره
configuration مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید هیچ یک آره