Nhiệm vụ của Trình phân đoạn hình ảnh MediaPipe cho phép bạn chia hình ảnh thành các vùng dựa trên danh mục. Bạn có thể dùng chức năng này để xác định những đối tượng hoặc hoạ tiết rồi áp dụng hiệu ứng hình ảnh như làm mờ nền. Việc cần làm này bao gồm một số mô hình được huấn luyện đặc biệt để phân khúc người dùng và trong dữ liệu hình ảnh, bao gồm:
- Người và phông nền
- Chỉ tóc của người
- Mái tóc, khuôn mặt, da, quần áo và phụ kiện của người
Nhiệm vụ này hoạt động dựa trên dữ liệu hình ảnh bằng mô hình học máy (ML) với một hình ảnh hoặc luồng video liên tục. Công cụ này đưa ra danh sách các khu vực được phân đoạn, thể hiện các đối tượng hoặc vùng trong một hình ảnh, tuỳ thuộc vào mô hình bạn chọn.
Bắt đầu
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. Những hướng dẫn dành riêng cho nền tảng này sẽ hướng dẫn bạn từng bước việc triển khai tác vụ này, bao gồm mô hình được đề xuất và ví dụ về mã 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 chức năng, dữ liệu đầu vào, đầu ra và cấu hình các tuỳ chọn của nhiệm vụ này.
Tính năng
- Xử lý hình ảnh đầu vào – Quá trình xử lý bao gồm xoay, đổi kích thước hình ảnh, chuẩn hoá và chuyển đổi hệ màu.
Dữ liệu đầu vào của việc cần làm | Kết quả đầu ra của việc cần làm |
---|---|
Dữ liệu đầu vào có thể là một trong những kiểu dữ liệu sau:
|
Công cụ phân đoạn hình ảnh xuất ra dữ liệu hình ảnh được phân đoạn, có thể bao gồm một hoặc
cả hai điều sau, tuỳ thuộc vào tuỳ chọn cấu hình mà bạn đã đặt:
|
Tuỳ chọn cấu hình
Tác vụ này có các lựa chọn cấu hình sau:
Tên lựa chọn | Mô tả | Khoảng giá trị | Giá trị mặc định |
---|---|---|---|
running_mode |
Thiết lập chế độ chạy cho tác vụ. Có ba
chế độ: HÌNH ẢNH: Chế độ cho đầu vào một hình ảnh. VIDEO: Chế độ cho các khung đã giải mã của video. LIVE_STREAM: Chế độ phát trực tiếp đầu vào chẳng hạn như từ máy ảnh. Trong chế độ này, ResultsListener phải là để thiết lập trình nghe để nhận kết quả một cách không đồng bộ. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
Nếu bạn đặ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 uint8, trong đó mỗi giá trị pixel cho biết danh mục chiến thắng
giá trị. |
{True, False } |
False |
output_confidence_masks |
Nếu bạn đặ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ị độ tin cậy
bản đồ điểm số của danh mục. |
{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 về mô hình của công việc (nếu có). Mặc định là en cho
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 TensorFlow Lite Metadata Writer API |
Mã ngôn ngữ | vi |
result_callback |
Thiết lập trình nghe kết quả để nhận kết quả phân đoạn
không đồng bộ khi trình phân đoạn hình ảnh đang ở chế độ LIVE_STREAM .
Chỉ sử dụng được khi bạn đặt chế độ chạy thành LIVE_STREAM |
Không áp dụng | Không áp dụng |
Mô hình
Bạn có thể sử dụng Trình phân đoạn hình ảnh với nhiều mô hình học máy. Hầu hết các yêu cầu sau các mô hình phân đoạn được xây dựng và huấn luyện để thực hiện phân đoạn bằng hình ảnh của người. Tuy nhiên, mô hình DeepLab-v3 được xây dựng dưới dạng một mã tổng quát trình phân đoạn hình ảnh mục đích. Chọn mô hình phù hợp nhất với ứng dụng của bạn.
Mô hình phân đoạn ảnh chân dung tự chụp
Mô hình này có thể phân đoạn ảnh chân dung của người dùng và có thể được dùng để thay thế hoặc sửa đổi nền trong một hình ảnh. Mô hình này đưa ra 2 danh mục, nền ở chỉ mục 0 và người ở chỉ mục 1. Mô hình này có các phiên bản có hình dạng đầu vào khác nhau bao gồm phiên bản hình vuông và phiên bản ngang có thể hiệu quả hơn cho các ứng dụng mà đầu vào luôn có dạng đó, chẳng hạn như cuộc gọi video.
Tên mẫu thiết bị | Hình dạng đầu vào | Loại định lượng | Thẻ mô hình | Phiên bản |
---|---|---|---|---|
Trình phân đoạn ảnh tự chụp (hình vuông) | 256 x 256 | số thực dấu phẩy động 16 | thông tin | Mới nhất |
Trình phân đoạn ảnh tự chụp (ngang) | 144 x 256 | số thực dấu phẩy động 16 | thông tin | Mới nhất |
Mô hình phân đoạn tóc
Người mẫu này chụp ảnh một người, xác định vị trí tóc trên đầu và cho ra bản đồ phân đoạn hình ảnh cho kiểu tóc của họ. Bạn có thể sử dụng mô hình này cho nhuộm lại tóc hoặc áp dụng các hiệu ứng khác cho tóc. Mô hình cho ra những kết quả sau: danh mục phân khúc:
0 - background
1 - hair
Tên mẫu thiết bị | Hình dạng đầu vào | Loại định lượng | Thẻ mô hình | Phiên bản |
---|---|---|---|---|
HairSegmenter | 512 x 512 | Không có (float32) | thông tin | Mới nhất |
Mô hình phân đoạn ảnh chân dung tự chụp đa lớp
Mô hình này chụp ảnh một người, xác định vị trí của các khu vực như tóc, da và quần áo rồi tạo ra bản đồ phân đoạn hình ảnh cho các mục này. Bạn có thể sử dụng mô hình này để áp dụng nhiều hiệu ứng khác nhau cho mọi người trong hình ảnh hoặc video. Mô hình sẽ đưa ra các danh mục phân đoạn sau:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
Tên mẫu thiết bị | Hình dạng đầu vào | Loại định lượng | Thẻ mô hình | Phiên bản |
---|---|---|---|---|
SelfieMulticlass (256 x 256) | 256 x 256 | Không có (float32) | thông tin | Mới nhất |
Mô hình DeepLab-v3
Mô hình này xác định các phân đoạn cho một số danh mục, bao gồm nền, người, mèo, chó và cây trồng trong chậu. Mô hình này sử dụng kim tự tháp không gian ngang để thu thập thông tin có phạm vi dài hơn. Để biết thêm thông tin, hãy xem DeepLab-v3.
Tên mẫu thiết bị | Hình dạng đầu vào | Loại định lượng | Phiên bản |
---|---|---|---|
DeepLab-V3 | 257 x 257 | Không có (float32) | Mới nhất |
Điểm chuẩn của việc cần làm
Sau đây là điểm chuẩn cho toàn bộ quy trình dựa trên nội dung được huấn luyện trước ở trên người mẫu. Kết quả về độ trễ là độ trễ trung bình trên Pixel 6 sử dụng CPU / GPU.
Tên mô hình | Độ trễ của CPU | Độ trễ của GPU |
---|---|---|
Công cụ phân đoạn ảnh tự chụp (hình vuông) | 33,46 mili giây | 35,15 mili giây |
Trình phân đoạn ảnh tự chụp (ngang) | 34,19 mili giây | 33,55 mili giây |
HairSegmenter | 57,90 mili giây | 52,14 mili giây |
SelfieMulticlass (256 x 256) | 217,76 mili giây | 71,24 mili giây |
DeepLab-V3 | 123,93 mili giây | 103,30 mili giây |