ส่วนขยาย Google Cloud Vision

คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เวอร์ชัน: 2.0.0

สำรวจเนื้อหาและข้อความในรูปภาพโดยใช้โมเดลแมชชีนเลิร์นนิง

เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ คุณต้องดำเนินการต่อไปนี้ก่อนใช้ส่วนขยายนี้จากพร็อกซี 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 โดยใช้นโยบาย ExtensionCallout

ตรวจหาป้ายกำกับ

ในตัวอย่างต่อไปนี้ การดำเนินการ 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>

นโยบายกำหนดข้อความต่อไปนี้ใช้ค่าของตัวแปรที่จัดเก็บคำตอบของส่วนขยายเพื่อกำหนดเพย์โหลดคำตอบ

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

นโยบายกำหนดข้อความต่อไปนี้ใช้ค่าของตัวแปรที่จัดเก็บคำตอบของส่วนขยายเพื่อกำหนดเพย์โหลดคำตอบ

<?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 ของข้อความที่ตรวจพบ ดูข้อมูลเพิ่มเติมได้ที่ตรวจหาป้ายกำกับ

ข้อมูลอ้างอิงการกําหนดค่า

ใช้ข้อมูลต่อไปนี้เมื่อกําหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API ดูขั้นตอนการกำหนดค่าส่วนขยายโดยใช้คอนโซล Apigee ได้ที่การเพิ่มและกําหนดค่าส่วนขยาย

พร็อพเพอร์ตี้ส่วนขยายทั่วไป

พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
name ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย ไม่มี ได้
packageName ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge ไม่มี ได้
version หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย ไม่มี ได้
configuration ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ ไม่มี ได้