# 人脸检测

## 示例说明

演示眼镜端如何启动人脸检测模式、获取处理后的人脸模型，并从中提取最优抓拍图。

## 使用位置

眼镜端首页：

- `HomeActivity` -> `GlassFaceTrackActivity`

示例页面：

- `com.rokid.glass.GlassFaceTrackActivity`

## 适用端

- 眼镜端

## 关键文件

- [glassdemo/app/src/main/java/com/rokid/glass/GlassFaceTrackActivity.kt](https://gitee.com/as_pixar/glass3sdkdemo/blob/main/glassdemo/app/src/main/java/com/rokid/glass/GlassFaceTrackActivity.kt)

## 流程说明

1. 获取在线识别服务：`GlassSdk.getGlassOnlineRecService()`。
2. 注册 `IGlassDetectionListener`。
3. 调用 `startDetection(MODE_FACE)` 启动检测。
4. 在 `onProcessedFaceModels()` 中挑选最佳人脸。
5. 根据质量分数和追踪 ID 过滤无效或重复结果。
6. 通过 `getFaceSamllBitmap(trackId)` 拉取抓拍图。
7. 将抓拍图展示到页面上。

## 实现说明

### 示例里“最佳人脸”的判断逻辑是什么

当前实现综合使用了：

- 人脸框面积
- `iqaScore`
- `faceScore`
- `trackId`

其中 `iqaScore < 40` 的人脸会被过滤。

### 这更像人脸检测还是人脸识别

当前页面更偏“人脸检测 + 人脸抓拍质量筛选”，并没有在页面中直接完成身份比对。

## 注意事项

- 页面退出时会停止检测并移除监听器。
- 示例中有部分保存图片的逻辑被注释，说明作者主要用它验证识别链路，而不是最终存档流程。

