案例概述
该项目面向智能眼镜上的本地人脸检测能力建设,重点不是身份识别,而是在设备端完成正脸、左侧脸、右侧脸等方向的人脸目标检测,并将检测框、置信度、五点关键点、姿态角、方向分类和同一检测会话内的 trackId 输出给上层 Android 应用。项目交付形态包括 Android Face SDK、可安装 Demo APK、源码工程、模型文件、接入指南、错误排查文档和交付状态说明。公开案例不披露客户名称、现场样本和内部评测数据;页面中的信息用于说明技术路线、交付内容和工程边界。
项目背景与需求
智能眼镜、移动巡检终端和边缘视觉设备通常需要在网络不可用、隐私约束较强或响应路径较短的条件下运行视觉算法。与云端识别不同,端侧离线检测需要在设备算力、内存、摄像头帧格式、Android 生命周期和功耗约束之间取得平衡。该项目的核心需求是让 Android 应用能够在 RK3588 智能眼镜上接入离线人脸检测能力,支持实时摄像头画面与本地图像输入,输出可直接用于预览叠加、计数、方向判断和后续业务逻辑的数据结构。
需求边界在项目初期进行了明确:SDK 提供人脸框、置信度、五点关键点、yaw/pitch/roll 姿态角、正脸与左右侧脸方向分类、同步与异步检测接口、Camera2 实时帧和本地图像检测示例;SDK 不提供人员注册、特征提取、1:1 或 1:N 身份比对、姓名或证件识别、云端 API、摄像头驱动、USB Host 或 UVC 采集驱动。这样的边界有利于客户区分“检测能力交付”和“身份识别系统交付”,也便于后续按阶段扩展。
技术路线
算法侧采用离线 CPU 检测路线,基于 OpenCV Java API 与 YuNet 模型封装人脸检测能力,并在 Android 工程中拆分为 Core 与 Face 两个 AAR 模块。Core AAR 承担通用运行、状态和基础工具能力,Face AAR 提供人脸检测接口、参数配置和结果结构。两个 AAR 需要使用相同 SDK 版本,并与 OpenCV 4.10.0 的 Android 依赖配合接入。目标平台为 RK3588 Android 设备,首阶段验证 ABI 为 arm64-v8a,最低 Android API 为 24,compileSdk 与 targetSdk 为 30。
输入层面支持 YUV_420_888、NV21 和 RGBA_8888。实时预览场景采用 Camera2 获取 1280×720 YUV_420_888 帧,在关闭 Image 前将 plane 数据复制到自有 DirectBuffer,再提交给 SDK;本地图像场景可将 JPG 或 PNG 转换为 RGBA DirectBuffer 后进行静态检测。预览镜像、画面缩放和检测框叠加属于 UI 显示层映射,SDK 返回的是基于原始输入图像坐标的检测结果,前端绘制时需要按实际预览区域和是否镜像进行转换。
Android SDK接入要点
SDK 接入流程以“先运行 Demo,再集成 AAR”为原则。客户可先安装 Debug Demo APK,授权摄像头权限,验证正脸、左侧脸、右侧脸和多目标场景的基础输出,再将 Core AAR、Face AAR、OpenCV 依赖和模型文件纳入自己的 Android 工程。应用初始化时执行模型安装和 SDK 创建,避免每帧重复 install 或 create;实时检测建议使用异步接口,单个 SDK 实例同一时间只保留一个异步任务,若上一帧任务未结束则返回 BUSY 状态,由应用侧根据业务需求做丢帧或节流。
Demo 工程采用约 100 ms 的检测提交间隔,约等于 10 次/秒的演示策略;这不是 SDK 的固定上限,实际检测频率需要结合 RK3588 设备负载、输入分辨率、线程数、画面复杂度和功耗策略确认。检测配置包括最大人脸数、最小人脸像素尺寸、置信度阈值、NMS 阈值、是否输出姿态和关键点、是否启用会话内跟踪等参数。对于侧脸检测,极近侧面、可见面部特征不足、姿态超出样本分布、运动模糊、屏幕反光、低照度或旋转角处理错误,都会影响检测稳定性,需要结合样本和现场条件校验。
交付内容与验证结果
本次交付包命名为 EyeAlgo-Face-SDK-0.4.5-fix5-CUSTOMER_TEST-NOT_PRODUCTION-20260729,用于客户功能测试和 Android 工程接入评估,不作为生产签名版本。交付内容包含 eye-algo-core-0.4.5-release.aar、eye-algo-face-0.4.5-release.aar、Eye-Algo-Face-Combined-Demo-0.4.5-fix5-debug-NOT_PRODUCTION.apk、FaceSdkProject、DemoProject、接入指南、常见问题与错误排查、交付状态说明、第三方许可和校验脚本。
| 验证项 | 结果 | 说明 |
|---|---|---|
| 交付包完整性 | 通过 | 138 个包内文件与 SHA256SUMS.txt 匹配,无额外未列明文件。 |
| SDK源码构建 | 通过 | JDK 11、Gradle 7.5.1、AGP 7.4.2 环境下构建成功。 |
| 单元测试 | 通过 | Core 6/6、Face 1/1、Demo 13/13 通过。 |
| Lint错误 | 通过 | 0 个错误,存在 19 个警告,警告需按客户工程规范评估。 |
| 生产签名与量产验收 | 未纳入 | 生产签名、客户冻结样本准确率和长时间稳定性验收需在客户环境继续确认。 |
可复用价值
该案例适用于评估智能眼镜、移动巡检终端、边缘计算盒、Android 工业手持终端等设备上的离线人脸检测 SDK 交付。可复用内容包括端侧模型封装、AAR 模块化交付、Camera2 帧处理、实时预览叠加、方向分类结果输出、静态图片检测、错误码设计、接入文档和验证清单。对于需要在本地完成视觉感知但不希望上传图像到云端的项目,该模式可以作为 方案验证、样机验证和客户 SDK 交付的参考路径。
需要说明的是,公开案例只呈现已验证的工程交付事实,不把未完成的客户官方准确率、8 小时稳定性、生产签名或量产结论写成已达成指标。正式项目仍需根据客户冻结样本、真实镜头模组、光照范围、佩戴角度、设备温升、应用线程模型和验收协议进行独立验证。
常见问题
RK3588智能眼镜离线人脸检测 SDK 交付包含什么?
包含 Core AAR、Face AAR、Debug Demo APK、源码工程、模型文件、Android 接入指南、常见问题、交付状态说明、许可信息和校验脚本,适用于客户功能测试与工程接入评估。
该 SDK 是否包含身份识别功能?
不包含。该交付范围是人脸检测与方向分类,输出人脸框、置信度、关键点、姿态角和会话内 trackId,不提供注册、特征库、1:1 或 1:N 身份比对、姓名或证件识别。
正式上线前还需要验证什么?
需要在客户真实设备和样本上确认检测准确率、长时间稳定性、生产签名、功耗、温升、相机驱动、不同光照与佩戴姿态下的表现,并形成双方认可的验收记录。