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.2.0

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 đang 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 theo mô tả trong tài liệu tham khảo về Tiện ích Google Cloud Storage.

  3. Nếu bạn có một tài khoản dịch vụ có quyền sử dụng Cloud Vision (và Cloud Storage, nếu bạn đang dùng), 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 củ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ể huấn luyện 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 sẽ 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". Công cụ này phát hiện các vật thể, khuôn mặt, biểu trưng và địa danh trong hình ảnh, đồng thời định vị 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 thao tác với tiện ích Tầm nhìn đám mây bằng chính sách về Tiện ích chú thích.

Phát hiện nhãn

Trong ví dụ sau, thao tác detectLabels của tiện ích sẽ lấy hình ảnh tại image_uri rồi truyền hình ảnh đó đến API Cloud Vision để phân tích. API 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>

Cho trước 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, hành động detectText của tiện ích sẽ lấy hình ảnh tại image_uri và chuyển hình ảnh đó đến Cloud Vision API để phân tích. API sẽ kiểm tra hình ảnh để 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>

Khi sử dụng hình ảnh có các biển báo ghi 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 đối tượng trong hình ảnh được chỉ định. Các thực thể được phát hiện rất đa dạng. Ví dụ: sử dụng hành động này để xác định các vật thể, vị trí, hoạt động, loài động vật, sản phẩm và nhiều nội dung khác.

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

Yêu cầu thông số

Thông số Mô tả Loại Mặc định Bắt buộc
image_uri Nguồn của hình ảnh. Tệp này có thể lấy 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 có. Có.

Cú pháp

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

Ví dụ:

Trong ví dụ sau, thao tác 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 đối tượng được phát hiện trong hình ảnh này. Để biết thêm thông tin, hãy xem phần 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.

Yêu cầu thông số

Thông số Mô tả Loại Mặc định Bắt buộc
image_uri Nguồn của hình ảnh. Tệp này có thể lấy 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 có. Có.

Cú pháp

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

Ví dụ:

Trong ví dụ sau, thao tác 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 phần Phát hiện nhãn.

Tham chiếu cấu hình

Sử dụng mã sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong 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.

Các 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ó