Hướng dẫn thiết lập dành cho Android

Trang này cho bạn biết cách thiết lập môi trường phát triển để sử dụng MediaPipe Tasks trong các ứng dụng Android.

Thiết bị và nền tảng được hỗ trợ

Để tạo ứng dụng Android bằng MediaPipe Tasks, môi trường phát triển của bạn yêu cầu:

  • Android Studio với một phiên bản đề xuất tối thiểu là 2021.1.1 (Bumblebee) hoặc một IDE tương thích khác.
  • SDK Android phiên bản 24 trở lên
  • Thiết bị Android có phiên bản SDK tối thiểu. Trình mô phỏng Android có thể không hoạt động được với một số tác vụ.

Thiết lập môi trường dành cho nhà phát triển

Trước khi chạy một tác vụ MediaPipe trên ứng dụng Android, bạn phải có sẵn một ứng dụng hoặc tạo một dự án Android Studio mới trên máy cục bộ. MediaPipe nằm vừa vặn với lớp Dữ liệu của ứng dụng, chứa dữ liệu ứng dụng và logic nghiệp vụ. Để biết thêm thông tin về cấu trúc ứng dụng Android, hãy tham khảo Hướng dẫn về cấu trúc ứng dụng.

Thiết lập thiết bị Android

Bạn phải bật Tuỳ chọn cho nhà phát triển và gỡ lỗi qua USB trên thiết bị Android thực trước khi sử dụng để kiểm thử ứng dụng. Để biết hướng dẫn về cách định cấu hình thiết bị bằng Tuỳ chọn cho nhà phát triển, hãy tham khảo bài viết Định cấu hình tuỳ chọn cho nhà phát triển trên thiết bị.

Đối với các tác vụ không yêu cầu máy ảnh hoặc micrô của thiết bị, bạn có thể sử dụng trình mô phỏng thiết bị Android thay vì thiết bị Android thực. Để biết hướng dẫn về cách thiết lập Trình mô phỏng Android, hãy tham khảo bài viết Chạy ứng dụng trên Trình mô phỏng Android.

Ví dụ về cách thiết lập mã

Kho lưu trữ Ví dụ MediaPipe chứa các ứng dụng Android mẫu cho từng tác vụ MediaPipe. Bạn có thể tạo một dự án từ mã ví dụ, tạo dự án rồi chạy dự án đó.

Cách nhập và tạo dự án mã mẫu:

  1. Khởi động Android Studio.
  2. Trong Android Studio, hãy chọn File > New > Import Project (Tệp > Mới > Nhập dự án).
  3. Chuyển đến thư mục mã mẫu chứa tệp build.gradle rồi chọn thư mục đó, ví dụ: .../mediapipe/examples/text_classification/android/build.gradle
  4. Nếu Android Studio yêu cầu Đồng bộ hoá Gradle, hãy chọn OK.
  5. Đảm bảo rằng thiết bị Android của bạn được kết nối với máy tính và bật chế độ nhà phát triển. Nhấp vào mũi tên màu xanh lục Run.

Nếu bạn chọn đúng thư mục, Android Studio sẽ tạo một dự án mới và xây dựng dự án đó. Quá trình này có thể mất vài phút, tuỳ thuộc vào tốc độ của máy tính và bạn có sử dụng Android Studio cho các dự án khác hay không. Khi quá trình tạo bản dựng hoàn tất, Android Studio sẽ hiển thị thông báo BUILD SUCCESSFUL trong bảng điều khiển trạng thái Build Output (Đầu ra của bản dựng).

Cách chạy dự án:

  1. Trên Android Studio, hãy chạy dự án bằng cách chọn Run > Run... (Chạy > Chạy...).
  2. Chọn một thiết bị Android (hoặc trình mô phỏng) đi kèm để kiểm thử ứng dụng.

Các phần phụ thuộc MediaPipe Tasks

MediaPipe Tasks cung cấp 3 thư viện tạo sẵn dành cho thị giác, văn bản và âm thanh. Tệp mô hình .tflite phải nằm trong thư mục tài sản của mô-đun Android sử dụng mô hình. Tuỳ thuộc vào Tác vụ của MediaPipe mà ứng dụng sử dụng, hãy thêm hình ảnh, văn bản hoặc thư viện âm thanh vào danh sách các phần phụ thuộc trong tệp build.gradle.

Nhiệm vụ dựa trên AI tạo sinh

Thư viện MediaPipe Tasks (AI tạo sinh) chứa các nhiệm vụ xử lý việc tạo hình ảnh hoặc văn bản. Để nhập các thư viện AI tạo sinh của MediaPipe Tasks trong Android Studio, hãy thêm các phần phụ thuộc vào tệp build.gradle.

Trình tạo hình ảnh

Tác vụ của Trình tạo hình ảnh MediaPipe nằm trong thư viện tasks-vision-image-generator. Thêm phần phụ thuộc vào tệp build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

API suy luận LLM

Tác vụ Suy luận LLM MediaPipe nằm trong thư viện tasks-genai. Thêm phần phụ thuộc vào tệp build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

Nhiệm vụ liên quan đến thị giác

Thư viện thị giác của MediaPipe Tasks chứa các nhiệm vụ xử lý dữ liệu đầu vào là hình ảnh hoặc video. Để nhập thư viện thị giác MediaPipe Tasks trong Android Studio, hãy thêm các phần phụ thuộc sau vào tệp build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

Việc cần làm liên quan đến văn bản

Thư viện văn bản MediaPipe Tasks chứa các nhiệm vụ xử lý dữ liệu ngôn ngữ ở định dạng văn bản. Để nhập thư viện văn bản MediaPipe Tasks trong Android Studio, hãy thêm các phần phụ thuộc sau vào tệp build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

Việc cần làm về âm thanh

Thư viện âm thanh MediaPipe Tasks chứa các nhiệm vụ xử lý đầu vào âm thanh. Để nhập thư viện âm thanh MediaPipe Tasks trong Android Studio, hãy thêm các phần phụ thuộc sau vào tệp build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

Cấu hình BaseOptions

BaseOptions cho phép định cấu hình chung của các MediaPipe Task API.

Tên tùy chọn Nội dung mô tả Giá trị được chấp nhận
modelAssetBuffer Nội dung tệp thành phần mô hình dưới dạng ByteBuffer trực tiếp hoặc MappedByteBuffer. ByteBuffer hoặc MappedByteBuffer dưới dạng chuỗi
modelAssetPath Đường dẫn mô hình đến tệp thành phần mô hình trong thư mục thành phần ứng dụng Android. Đường dẫn tệp ở dạng chuỗi
modelAssetFileDescriptor Số nguyên của mã mô tả tệp gốc của tệp thành phần mô hình. Số nguyên chỉ định chỉ số mô tả tệp
Delegate Bật tính năng tăng tốc phần cứng thông qua tính năng uỷ quyền thiết bị để chạy quy trình MediaPipe. Giá trị mặc định: CPU. [CPU,
GPU]

Tăng tốc phần cứng

MediaPipe Tasks hỗ trợ việc sử dụng các đơn vị xử lý đồ hoạ (GPU) để chạy các mô hình học máy. Trên thiết bị Android, bạn có thể cho phép sử dụng tính năng thực thi được tăng tốc GPU cho các mô hình bằng cách sử dụng một thực thể đại diện. Thẻ uỷ quyền đóng vai trò là trình điều khiển phần cứng cho MediaPipe, cho phép bạn chạy mô hình của mình trên bộ xử lý GPU thay vì bộ xử lý CPU tiêu chuẩn.

Định cấu hình tính năng uỷ quyền GPU trong các tuỳ chọn tác vụ thông qua BaseOptions:

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

Khắc phục sự cố

Để được trợ giúp về các câu hỏi kỹ thuật liên quan đến MediaPipe, hãy truy cập vào nhóm thảo luận hoặc StackOverflow để được cộng đồng hỗ trợ. Để báo cáo lỗi hoặc đưa ra yêu cầu về tính năng, hãy gửi vấn đề trên GitHub.

Để được trợ giúp thiết lập môi trường phát triển Android, hãy truy cập tài liệu dành cho nhà phát triển Android.