Google Cloud विज़न एक्सटेंशन

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

वर्शन: 1.4.1

मशीन लर्निंग मॉडल का इस्तेमाल करके, इमेज में मौजूद कॉन्टेंट और टेक्स्ट का पता लगाएं.

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है. एपीआई प्रॉक्सी से इस एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:

  1. अपने सेवा खाते के लिए, Cloud Vision API चालू करें.

  2. अगर आपको इमेज के सोर्स के तौर पर Cloud Storage का इस्तेमाल करना है, तो आपको इस एक्सटेंशन के लिए Cloud Storage का ऐक्सेस भी देना होगा. इसके बारे में Google Cloud Storage एक्सटेंशन के रेफ़रंस में बताया गया है.

  3. अगर आपके पास ऐसा सेवा खाता है जिसके पास Cloud Vision और Cloud Storage (अगर इसका इस्तेमाल किया जा रहा है) की अनुमति है, तो सेवा खाते के लिए पासकोड जनरेट करने के लिए, GCP Console का इस्तेमाल करें.

  4. कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके एक्सटेंशन को जोड़ने और कॉन्फ़िगर करने के दौरान, जनरेट हुई कुंजी वाली JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.

Cloud Vision के बारे में जानकारी

Google Cloud Vision API, इमेज का विश्लेषण करने के लिए मशीन लर्निंग मॉडल का इस्तेमाल करता है. एपीआई के इस्तेमाल के लिए, किसी मॉडल को ट्रेनिंग दी जा सकती है या पहले से मौजूद मॉडल का इस्तेमाल किया जा सकता है.

Cloud Vision, पहले से मौजूद मॉडल का इस्तेमाल करके, इमेज को "स्काईस्क्रेपर", "सैलबोट", "शेर" या "ईफ़ेल टावर" जैसी कैटगरी में बांटता है. यह इमेज में मौजूद ऑब्जेक्ट, चेहरों, लोगो, और लैंडमार्क की पहचान करता है. साथ ही, इमेज में मौजूद शब्दों का पता लगाता है.

सैंपल

यहां दिए गए उदाहरणों में, ExtensionCallout नीति का इस्तेमाल करके, Cloud Vision एक्सटेंशन ऐक्शन के लिए सहायता कॉन्फ़िगर करने का तरीका बताया गया है.

लेबल का पता लगाना

नीचे दिए गए उदाहरण में, एक्सटेंशन की detectLabels कार्रवाई, image_uri पर मौजूद इमेज को ऐक्सेस करती है और विश्लेषण के लिए उसे 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 पर मौजूद इमेज को पाता है और विश्लेषण के लिए उसे 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
                  }
              ]
          }
      }
   ]
}

कार्रवाइयां

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 कलेक्शन होता है. ज़्यादा जानकारी के लिए, लेबल का पता लगाना लेख पढ़ें.

कॉन्फ़िगरेशन का रेफ़रंस

एपीआई प्रॉक्सी में इस्तेमाल करने के लिए, इस एक्सटेंशन को कॉन्फ़िगर और डिप्लॉय करते समय इनका इस्तेमाल करें. Apigee console का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और कॉन्फ़िगर करना लेख पढ़ें.

सामान्य एक्सटेंशन प्रॉपर्टी

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes