Tác vụ Trình nhúng hình ảnh MediaPipe cho phép bạn tạo một bản trình bày dạng số của hình ảnh, rất hữu ích trong việc hoàn thành nhiều tác vụ hình ảnh dựa trên công nghệ học máy. Chức năng này thường được dùng để so sánh mức độ tương đồng của hai hình ảnh bằng các kỹ thuật so sánh toán học như Cosine Similarity (Mức độ tương đồng theo cosin). 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) dưới dạng dữ liệu tĩnh hoặc luồng liên tục, đồng thời xuất ra một bản trình bày dạng số của dữ liệu hình ảnh dưới dạng danh sách các vectơ đặc điểm có chiều cao, còn gọi là vectơ nhúng, ở dạng dấu phẩy động hoặc dạng lượng tử.
Bắt đầu
Bắt đầu sử dụng tác vụ này bằng cách làm theo một trong các hướng dẫn triển khai sau đây cho nền tảng mục tiêu của bạn. Các hướng dẫn dành riêng cho từng nền tảng này sẽ hướng dẫn bạn cách triển khai cơ bản nhiệm vụ này bằng cách sử dụng mô hình được đề xuất và cung cấp các ví dụ về mã với các tuỳ chọn cấu hình được đề xuất:
- Android – Ví dụ về mã – Hướng dẫn
- Python – Ví dụ về mã – Hướng dẫn
- Web – Ví dụ về mã – Hướng dẫn
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, dữ liệu đầ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 – Quá trình xử lý bao gồm xoay hình ảnh, đổi kích thước, chuẩn hoá và chuyển đổi không gian màu.
- Vùng quan tâm – Thực hiện nhúng vào một vùng của hình ảnh thay vì toàn bộ hình ảnh.
- Tính toán độ tương đồng nhúng – Hàm tiện ích tích hợp để tính toán độ tương đồng cosin giữa hai vectơ đặc điểm
- Lượng tử hoá – Hỗ trợ lượng tử hoá vô hướng cho các vectơ đặc điểm.
Dữ liệu đầu vào của việc cần làm | Kết quả của tác vụ |
---|---|
Dữ liệu đầu vào có thể là một trong các loại dữ liệu sau:
|
Trình nhúng hình ảnh sẽ xuất ra danh sách các phần nhúng bao gồm:
|
Tuỳ chọn cấu hình
Tác vụ này có các tuỳ chọn cấu hình sau:
Tên tuỳ chọn | Mô tả | Phạm vi giá trị | Giá trị mặc định |
---|---|---|---|
running_mode |
Đặt chế độ chạy cho tác vụ. Có 3 chế độ: HÌNH ẢNH: Chế độ cho dữ liệu đầu vào là một hình ảnh. VIDEO: Chế độ cho các khung hình đã giải mã của video. LIVE_STREAM: Chế độ phát trực tiếp dữ liệu đầu vào, chẳng hạn như từ máy ảnh. Ở chế độ này, bạn phải gọi resultListener để 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 |
l2_normalize |
Liệu có chuẩn hoá vectơ đặc điểm được trả về bằng chuẩn L2 hay không. Chỉ sử dụng tuỳ chọn này nếu mô hình chưa chứa thao tác L2_NORMALIZATION TFLite gốc. Trong hầu hết các trường hợp, đây đã là trường hợp và việc chuẩn hoá L2 được thực hiện thông qua suy luận TFLite mà không cần tuỳ chọn này. | Boolean |
False |
quantize |
Liệu nội dung nhúng được trả về có được lượng tử hoá thành byte thông qua lượng tử hoá vô hướng hay không. Các phần nhúng được giả định ngầm là đơn vị chuẩn và do đó, mọi phương diện đều được đảm bảo có giá trị trong [-1.0, 1.0]. Sử dụng tuỳ chọn l2_normalize nếu không phải như vậy. | Boolean |
False |
result_callback |
Đặt trình nghe kết quả để nhận kết quả nhúng không đồng bộ khi Trình nhúng hình ảnh ở chế độ phát trực tiếp. Chỉ có thể sử dụng khi chế độ chạy được đặt thành LIVE_STREAM |
Không áp dụng | Chưa đặt |
Mô hình
Trình nhúng hình ảnh yêu cầu tải mô hình nhúng hình ảnh xuống và lưu trữ trong thư mục dự án. Bắt đầu với 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 nhiệm vụ này. Các mô hình khác có sẵn thường đánh đổi giữa hiệu suất, độ chính xác, độ phân giải và yêu cầu về tài nguyên, đồng thời trong một số trường hợp, bao gồm cả các tính năng bổ sung.
Mô hình MobileNetV3
Nhóm mô hình này sử dụng cấu trúc MobileNet V3 và được huấn luyện bằng dữ liệu ImageNet. Mô hình này sử dụng hệ số 0,75 cho độ sâu (số lượng đặc điểm) trong các lớp convolutional để điều chỉnh độ trễ-tính chính xác. Ngoài ra, MobileNet V3 có hai kích thước khác nhau, nhỏ và lớn, để điều chỉnh mạng cho các trường hợp sử dụng tài nguyên thấp hoặc cao.
Tên mẫu thiết bị | Hình dạng đầu vào | Loại lượng tử hoá | Phiên bản |
---|---|---|---|
MobileNet-V3 (nhỏ) | 224 x 224 | Không có (float32) | Mới nhất |
MobileNet-V3 (lớn) | 224 x 224 | Không có (float32) | Mới nhất |
Điểm chuẩn tác vụ
Dưới đây là đ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ễ CPU | Độ trễ GPU |
---|---|---|
MobileNet-V3 (nhỏ) | 3,94 mili giây | 7,83 mili giây |
MobileNet-V3 (lớn) | 9,75 mili giây | 9,08 mili giây |