Tiện ích Google Cloud Vision

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Phiên bản: 1.4.1

Khám phá nội dung và văn bản trong hình ảnh bằng các mô hình học máy.

Nội dung này cung cấp tài liệu tham khảo để định cấu hình và sử dụng tiện ích này. Trước khi sử dụng tiện ích này từ proxy API, bạn phải:

  1. Bật Cloud Vision API cho tài khoản dịch vụ của bạn.

  2. Nếu sử dụng Cloud Storage làm nguồn hình ảnh, bạn cũng cần cấp quyền truy cập cho tiện ích này vào Cloud Storage như mô tả trong Tài liệu tham khảo về tiện ích Google Cloud Storage.

  3. Khi bạn có tài khoản dịch vụ có quyền sử dụng Cloud Vision (và Cloud Storage, nếu đang sử dụng tính năng này), hãy sử dụng Bảng điều khiển GCP để tạo khoá cho tài khoản dịch vụ.

  4. Sử dụng nội dung của tệp JSON chứa khoá thu được khi thêm và định cấu hình tiện ích bằng cách sử dụng tài liệu tham khảo về cấu hình.

Giới thiệu về Cloud Vision

Google Cloud Vision API sử dụng các mô hình học máy để phân tích hình ảnh. Bạn có thể đào tạo mô hình để API sử dụng hoặc sử dụng mô hình được tích hợp sẵn.

Bằng cách sử dụng mô hình tích hợp sẵn, Cloud Vision phân loại hình ảnh thành các danh mục như "nhà chọc trời", thuyền buồm", "sư tử" hoặc "Tháp Eiffel". Tính năng này phát hiện các đối tượng, khuôn mặt, biểu trưng và địa danh trong hình ảnh và xác định vị trí của các từ có trong hình ảnh.

Mẫu

Các ví dụ sau minh hoạ cách định cấu hình tính năng hỗ trợ các hành động đối với tiện ích Cloud Vision bằng Chính sách về tiện ích.

Phát hiện nhãn

Trong ví dụ sau, hành động detectLabels của tiện ích sẽ nhận hình ảnh ở image_uri rồi truyền hình ảnh đó đến Cloud Vision API để phân tích. API này sẽ kiểm tra hình ảnh và xác định nhãn nào áp dụng cho nội dung của hình ảnh.

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

Chính sách Chỉ định thông báo sau đây sử dụng giá trị của biến lưu trữ phản hồi của tiện ích để chỉ định tải trọng phản hồi.

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

Với hình ảnh của một khu vực đô thị có một toà nhà rất cao bên trong, bạn có thể nhận được phản hồi như sau:

{
  "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
      }
  ]
}

Phát hiện văn bản

Trong ví dụ sau, thao tác detectText của tiện ích sẽ nhận hình ảnh tại image_uri rồi truyền hình ảnh đó đến Cloud Vision API để phân tích. API sẽ kiểm tra hình ảnh và xác định văn bản trong hình ảnh.

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

Chính sách Chỉ định thông báo sau đây sử dụng giá trị của biến lưu trữ phản hồi của tiện ích để chỉ định tải trọng phản hồi.

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

Với hình ảnh có chứa biển báo trong nhật ký đỗ xe, bạn có thể nhận được phản hồi như sau:

{
  "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
                  }
              ]
          }
      }
   ]
}

Thao tác

detectLabels

Phát hiện và trích xuất thông tin về các thực thể trong hình ảnh được chỉ định. Các thực thể được phát hiện nằm trong một nhóm danh mục rộng. Ví dụ: dùng thao tác này để xác định vật thể, vị trí, hoạt động, loài động vật, sản phẩm, v.v.

Ngoài ra, hãy nhớ xem tài liệu về Cloud Vision API.

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
image_uri Nguồn của hình ảnh. Có thể ở trên Internet hoặc Google Cloud Storage (định dạng: gs://bucketname/filename). Nếu nguồn là Google Cloud Storage thì tệp hình ảnh phải ở chế độ công khai. Chuỗi Không nội dung nào. Có.

Cú pháp

<Input><![CDATA[{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Ví dụ:

Trong ví dụ sau, hành động detectLabels của tiện ích sẽ gửi hình ảnh được chỉ định đến Vision API để phân tích.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>

Phản hồi

Một đối tượng chứa một mảng nhãn labels đại diện cho các thực thể được phát hiện trong hình ảnh. Để biết thêm thông tin, hãy xem bài viết Phát hiện nhãn.

detectText

Phát hiện và trích xuất văn bản từ hình ảnh được chỉ định.

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
image_uri Nguồn của hình ảnh. Có thể ở trên Internet hoặc Google Cloud Storage (định dạng: gs://bucketname/filename). Nếu nguồn là Google Cloud Storage thì tệp hình ảnh phải ở chế độ công khai. Chuỗi Không nội dung nào. Có.

Cú pháp

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Ví dụ:

Trong ví dụ sau, hành động detectText của tiện ích sẽ gửi hình ảnh được chỉ định đến Vision API để phân tích.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>

Phản hồi

Đã phát hiện một đối tượng chứa mảng văn bản text. Để biết thêm thông tin, hãy xem bài viết Phát hiện nhãn.

Tài liệu tham khảo về cấu hình

Sử dụng các đoạn mã sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong các proxy API. Để biết các bước định cấu hình một tiện ích bằng bảng điều khiển Apigee, hãy xem bài viết Thêm và định cấu hình tiện ích.

Thuộc tính tiện ích phổ biến

Các thuộc tính sau có sẵn cho mỗi tiện ích.

Tài sản Mô tả Mặc định Bắt buộc
name Tên mà bạn đang đặt cho cấu hình của tiện ích này. Không có
packageName Tên của gói tiện ích do Apigee Edge cung cấp. Không có
version Số phiên bản của gói tiện ích mà bạn đang định cấu hình tiện ích. Không có
configuration Giá trị cấu hình cụ thể cho tiện ích bạn đang thêm. Xem Thuộc tính cho gói tiện ích này Không có