Hướng dẫn về thao tác phân đoạn hình ảnh tương tác

Tác vụ của Công cụ phân đoạn hình ảnh tương tác MediaPipe cho phép bạn chia hình ảnh thành hai khu vực: một đối tượng đã chọn và mọi khu vực khác. Tác vụ sẽ lấy một vị trí trong hình ảnh, ước tính ranh giới của đối tượng tại vị trí đó và trả về dữ liệu hình ảnh khi xác định khu vực của đối tượng. Bạn có thể sử dụng tác vụ này để chọn một đối tượng trong hình ảnh theo cách có tính tương tác và sử dụng kết quả để áp dụng hiệu ứng cho hình ảnh, chẳng hạn như lớp phủ màu làm nổi bật đối tượng hoặc làm mờ nền xung quanh đối tượng đó. Tác vụ này hoạt động trên dữ liệu hình ảnh bằng mô hình học máy (ML). Bạn có thể sử dụng tác vụ này trên các hình ảnh đơn lẻ, tệp video hoặc luồng video liên tục.

Hãy dùng thử!

Bắt đầu

Hãy bắt đầu sử dụng tác vụ này bằng cách làm theo một trong những hướng dẫn triển khai sau cho nền tảng mục tiêu của bạn. Các hướng dẫn dành riêng cho nền tảng này sẽ hướng dẫn bạn cách triển khai cơ bản của tác vụ này, bao gồm cả mô hình được đề xuất và mã ví dụ với các lựa chọn cấu hình được đề xuất:

Thông tin chi tiết về việc cần làm

Phần này mô tả các tính năng, dữ liệu đầu vào, đầu ra và tuỳ chọn cấu hình của tác vụ này.

Tính năng

  • Xử lý hình ảnh đầu vào – Xử lý bao gồm việc xoay hình ảnh, đổi kích thước, chuẩn hoá và chuyển đổi không gian màu.
Dữ liệu đầu vào của việc cần làm Kết quả đầu ra của nhiệm vụ
  • Toạ độ địa điểm yêu thích cho một vật thể trong hình ảnh
  • Tệp hình ảnh sẽ được xử lý
Công cụ Phân đoạn hình ảnh tương tác sẽ xuất dữ liệu hình ảnh được phân đoạn, có thể bao gồm một hoặc cả hai thành phần sau, tuỳ thuộc vào lựa chọn cấu hình mà bạn đặt:
  • CATEGORY_MASK: một danh sách chứa một mặt nạ được phân đoạn dưới dạng hình ảnh định dạng uint8. Mỗi giá trị pixel cho biết liệu giá trị đó có thuộc đối tượng nằm ở khu vực quan tâm hay không.
  • CONFIDENCE_MASK: danh sách các kênh chứa mặt nạ được phân đoạn có các giá trị pixel ở định dạng float32. Mỗi giá trị pixel cho biết mức độ tin cậy rằng giá trị đó là một phần của đối tượng nằm ở khu vực quan tâm.

Lựa chọn về cấu hình

Tác vụ này có các chế độ cấu hình sau:

Tên lựa chọn Nội dung mô tả Khoảng giá trị Giá trị mặc định
output_category_mask Nếu bạn đặt thành True, thì kết quả sẽ bao gồm một mặt nạ phân đoạn dưới dạng hình ảnh uint8, trong đó mỗi giá trị pixel cho biết liệu pixel có thuộc đối tượng nằm ở khu vực quan tâm hay không. {True, False} False
output_confidence_masks Nếu được đặt thành True, kết quả sẽ bao gồm một mặt nạ phân đoạn dưới dạng hình ảnh giá trị số thực, trong đó mỗi giá trị số thực biểu thị niềm tin rằng pixel là một phần của đối tượng nằm ở khu vực quan tâm. {True, False} True
display_names_locale Đặt ngôn ngữ của nhãn để sử dụng cho tên hiển thị được cung cấp trong siêu dữ liệu của mô hình của tác vụ, nếu có. Giá trị mặc định là en đối với tiếng Anh. Bạn có thể thêm nhãn đã bản địa hoá vào siêu dữ liệu của mô hình tuỳ chỉnh bằng cách sử dụng API Trình viết siêu dữ liệu TensorFlow Lite Mã ngôn ngữ vi

Mô hình

Bạn có thể sử dụng Công cụ phân đoạn hình ảnh tương tác với nhiều mô hình ML. Hãy bắt đầu bằng mô hình mặc định, được đề xuất cho nền tảng mục tiêu khi bạn bắt đầu phát triển bằng tác vụ này. Các mô hình hiện có khác thường có sự đánh đổi giữa hiệu suất, độ chính xác, độ phân giải và các yêu cầu về tài nguyên, và trong một số trường hợp còn có thêm các tính năng bổ sung.

Mô hình này xác định các phân đoạn có toạ độ hình ảnh đã cho cho một khu vực quan tâm. Mô hình này sử dụng Mạng nơron tích chập, tương tự như cấu trúc MobileNetV3, với một bộ giải mã tuỳ chỉnh.

Tên mẫu thiết bị Hình dạng dữ liệu đầu vào Loại lượng tử hoá Thẻ mô hình Phiên bản
MagicTouch 512 x 512 x 4 Không có (float32) thông tin Mới nhất

Điểm chuẩn nhiệm vụ

Dưới đây là các điểm chuẩn tác vụ cho toàn bộ quy trình dựa trên các mô hình được huấn luyện trước ở trên. Kết quả về độ trễ là độ trễ trung bình trên Pixel 6 khi sử dụng CPU / GPU.

Tên mô hình Độ trễ của CPU Độ trễ của GPU
MagicTouch 130,11 mili giây 67,25 mili giây