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

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

वर्शन: 2.0.2

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

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

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

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

  3. अगर आपके पास ऐसा सेवा खाता है जिसके पास Cloud Vision का ऐक्सेस है (और Cloud Storage का भी, अगर इसका इस्तेमाल किया जा रहा है), तो Google Cloud 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>

Assign Message की यह नीति, एक्सटेंशन के जवाब को सेव करने वाले वैरिएबल की वैल्यू का इस्तेमाल करके, जवाब के पेलोड को असाइन करती है.

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

Assign Message की यह नीति, एक्सटेंशन के जवाब को सेव करने वाले वैरिएबल की वैल्यू का इस्तेमाल करके, जवाब के पेलोड को असाइन करती है.

<?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 कंसोल का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और उसे कॉन्फ़िगर करना लेख पढ़ें.

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

हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.

प्रॉपर्टी जानकारी डिफ़ॉल्ट ज़रूरी है
name वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. कभी नहीं हां
packageName एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. कभी नहीं हां
version उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. कभी नहीं हां
configuration आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां