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

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

वर्शन: 1.2.0

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

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

  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>

यहां दी गई 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 आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां