Tóm tắt dự án
Dự án dành cho kính thông minh RK3588 Android, phát hiện khuôn mặt chính diện, nghiêng trái và nghiêng phải ngay trên thiết bị, không phụ thuộc dịch vụ nhận dạng đám mây. SDK nhận khung hình Camera2 hoặc ảnh cục bộ và trả về hộp khuôn mặt, năm điểm mốc, hướng, yaw, độ tin cậy, ID theo dõi ngắn hạn và thời gian xử lý. Phạm vi bàn giao gồm Core AAR, Face AAR, Camera2 Demo và tài liệu tích hợp.
Đây là phát hiện khuôn mặt và ước lượng hướng tư thế, không phải nhận dạng danh tính. Phạm vi không bao gồm tên hoặc mã nhân viên, cơ sở dữ liệu khuôn mặt, xác minh 1:1, tìm kiếm 1:N, phát hiện sống, phân tích tuổi, giới tính hoặc cảm xúc.
Bối cảnh
Thiết bị mục tiêu là kính thông minh RK3588 Android kiến trúc arm64-v8a. Khách hàng cần xác định người trong hình xem trước để chạm chọn, phóng to cục bộ và phục vụ các thao tác nghiệp vụ tiếp theo. Thuật toán phải chạy ngoại tuyến trên thiết bị và tích hợp được vào ứng dụng Android hiện có.
Đầu vào gồm Camera2 YUV_420_888, NV21, RGBA_8888 và ảnh tĩnh cục bộ. Giải pháp cũng xử lý chênh lệch giữa tốc độ camera và tần suất suy luận, vòng đời bộ đệm, xoay, lật gương, YUV stride và ánh xạ tọa độ mô hình lên khung xem trước.
Phạm vi bàn giao
| Hạng mục | Nội dung |
|---|---|
| Android SDK | Core AAR và Face AAR |
| Demo | Camera2 Demo APK phát hiện khuôn mặt thời gian thực |
| API | Phát hiện đồng bộ và bất đồng bộ |
| Đầu vào | YUV_420_888, NV21, RGBA_8888, ảnh cục bộ |
| Đầu ra | Hộp khuôn mặt, độ tin cậy, năm điểm mốc, chính diện/trái/phải, yaw, trackId, thời gian mỗi lần gọi |
| Tài liệu | Hướng dẫn tích hợp, mã ví dụ, xử lý lỗi, ghi chú phiên bản và danh sách SHA-256 |
| Vận hành | Xử lý ngoại tuyến trên thiết bị RK3588 Android |
Giải pháp kỹ thuật
Luồng xử lý: Camera2 hoặc ảnh tĩnh → xử lý định dạng và hướng → phát hiện OpenCV YuNet → phân tích hình học năm điểm mốc → phân loại chính diện/trái/phải → theo dõi ngắn hạn → callback kết quả và lớp phủ giao diện.
Đường cơ sở sử dụng OpenCV 4.10.0 và bộ phát hiện YuNet CPU. Luồng thời gian thực dùng đầu vào 320×320; ảnh tĩnh tiêu chuẩn dùng 640×640. Ba hướng dùng chung bộ phát hiện và API SDK, hướng được ước lượng từ quan hệ hình học của các điểm mốc.
Demo gửi một yêu cầu mỗi 100 ms, khoảng 10 lần/giây. Mỗi phiên bản SDK chỉ giữ một yêu cầu bất đồng bộ chưa hoàn tất. DirectBuffer do ứng dụng sở hữu lưu Y/U/V. Camera2 dùng acquireLatestImage() để bỏ qua khung hình cũ và hạn chế tích lũy độ trễ.
Nguyên nhân và sửa lỗi
Một số ảnh phát hiện được trên máy tính nhưng Android Demo trả về 0 kết quả. So sánh mô hình, đầu vào và đầu ra di động cho thấy lỗi nằm ở cách đọc ma trận kết quả OpenCV Java.
FaceDetectorYN.detect() trả về ma trận một kênh N×15. Mã Android ban đầu không đọc đủ 15 giá trị của mỗi hàng nên kết quả hợp lệ bị loại ở bước kiểm tra độ dài. Bản sửa đọc đủ hàng theo số cột và kênh, đồng thời bổ sung xoay, chuyển màu, phương án dự phòng cho ảnh rộng và kiểm tra tính nhất quán của AAR.
Phạm vi hồi quy được mở rộng sang mặt chính diện, mặt nghiêng, ảnh không có mặt, ảnh tĩnh và Camera2 để tách lỗi mô hình, tiền xử lý, giải mã kết quả và ánh xạ tọa độ UI.
Xác minh kỹ thuật
Dữ liệu sau lấy từ hồ sơ bàn giao ngày 2026-07-29, áp dụng cho Eye Algo Face SDK 0.4.5 fix5 trên RK3588 Android arm64-v8a. Kết quả chứng minh bản dựng, API và luồng ngắn tương ứng hoạt động; không đại diện cho độ chính xác theo lô, độ ổn định dài hạn hoặc hiệu năng sản xuất.
| Kiểm tra | Kết quả |
|---|---|
| Unit test SDK, Core và Face | 157/157 đạt |
| Unit test Demo độc lập | 13/13 đạt |
| Test công cụ khuôn mặt Python | 143/143 đạt |
| Android Lint | 0 Error, 19 Warning |
| Build APK và AAR | Đạt |
| Cài đặt, khởi động và quyền RK3588 | Đạt |
| Luồng Camera2 10 giây | submit/callback 79/79; dropped 0 |
| Quét lỗi ngắn | Không thấy lỗi crash, camera, quyền hoặc thư viện native |
Tập mẫu kỹ thuật gồm mặt chính diện, mẫu nghiêng trái/phải đối xứng và mẫu âm không có mặt. Tập nhỏ này chỉ xác minh phát hiện, hướng và luồng giao diện, không dùng để kết luận Precision, Recall, F1 hoặc độ chính xác theo tư thế.
Kết quả và tình huống áp dụng
- Hợp nhất phát hiện chính diện, trái và phải trong một API Android SDK.
- Khung hình Camera2 và ảnh cục bộ dùng chung cấu trúc kết quả.
- Xử lý tại thiết bị giúp giảm nhu cầu tải video gốc lên đám mây và vẫn hoạt động khi không có mạng.
- Hộp khuôn mặt và năm điểm mốc có thể dùng cho chạm chọn, theo dõi ngắn, phóng to và thuật toán tiếp theo.
- Gói bàn giao có Demo chạy được, AAR, hướng dẫn tích hợp, xử lý lỗi và danh sách hash.
Phù hợp với chọn người trong tầm nhìn kính thông minh, cảnh nhiều người, nhắc hướng khuôn mặt, ảnh ngoại tuyến và tạo ảnh cắt cho xử lý sau. Nhận dạng danh tính, phát hiện sống và phân tích hành vi tiếp theo không thuộc phạm vi này.
Giới hạn nghiệm thu
Hiện vật hiện tại dành cho kiểm thử khách hàng và tích hợp kỹ thuật, chưa phải bản ký sản xuất. Trước khi phát hành cần vật liệu ký của khách hàng và tập nghiệm thu thực tế đã đóng băng để xác nhận quy tắc gán nhãn, Precision, Recall, F1, ma trận nhầm lẫn theo tư thế và ngưỡng cho phép.
Mặt nghiêng cực đoan, che khuất, phản xạ mạnh, thiếu sáng, mặt nhỏ và chụp lại màn hình vẫn có thể gây bỏ sót hoặc sai hướng. Thời gian của một ảnh không thể suy rộng thành trung bình, P95, tốc độ khung hình ổn định hoặc hiệu năng dài hạn. Bài kiểm tra 8 giờ chưa hoàn tất không được ghi là đạt.
Câu hỏi thường gặp
SDK có cần mạng không?
Luồng phát hiện chạy trên thiết bị RK3588 Android và không phụ thuộc nhận dạng đám mây. Kết nối mạng của ứng dụng phụ thuộc chức năng nghiệp vụ của khách hàng.
Có nhận dạng danh tính khuôn mặt không?
Không. Phạm vi chỉ gồm vị trí khuôn mặt, năm điểm mốc và hướng chính diện/trái/phải, không có tên, cơ sở dữ liệu khuôn mặt, 1:1 hoặc 1:N.
Tích hợp vào ứng dụng Android hiện có thế nào?
Core AAR và Face AAR cung cấp API đồng bộ và bất đồng bộ. Gói có Camera2 Demo, quy tắc định dạng đầu vào, vòng đời bộ đệm, mã ví dụ và tài liệu xử lý lỗi.
Đã hoàn tất kiểm tra RK3588 nào?
Đã kiểm tra cài đặt, khởi động, quyền, mẫu ảnh tĩnh và luồng Camera2 10 giây. Độ chính xác chính thức, ký sản xuất và ổn định 8 giờ là hạng mục nghiệm thu riêng.
Có thể dùng trực tiếp trên thiết bị RK3588 khác không?
Có thể tái sử dụng API và cách tích hợp, nhưng khác biệt về camera, Android, hướng, stride, bộ nhớ, nhiệt độ và tải yêu cầu kiểm tra lại build, chức năng, hiệu năng và độ ổn định.

Online
Phone
WeChat
Top