# SI-M1 Face Detection Demo 该目录是 `SI-M1 Face Demo` Sample 内的人脸检测最小测试场景,用于验证 USB 摄像头、串口连接、录入、识别和用户数据存储。 ## 场景 场景位于包内普通 `Samples` 目录: ```text Packages/xin.aisu.si-m1.face/Samples/Face Detection Demo/Scenes/FaceDetectionDemo.unity ``` 打开该场景后运行,`FaceDetectionDemoBootstrap` 会自动生成单页 UGUI。 ## MVP 功能 - 使用 `WebCamTexture` 枚举摄像头。 - 选择摄像头并显示实时预览。 - 枚举串口,枚举失败时可手动输入串口名。 - 连接 / 断开 SI-M1 模组。 - 输入用户名并录入人脸。 - 检测人脸并显示识别结果。 - 刷新人脸数据列表。 - 删除指定用户。 - 下方日志窗口记录所有操作,可上下拖动查看。 ## 授权文件 真实串口运行需要授权文件: ```text Assets/StreamingAssets/si-m1_face.dat ``` Mock 模式不需要授权,但本 MVP 默认用于真实设备测试,不提供 Mock 开关。 ## Android 注意事项 - 摄像头读取使用 Unity `WebCamTexture`。 - Android 外接 USB 摄像头是否能被 `WebCamTexture.devices` 枚举,取决于设备系统和摄像头驱动。 - 如果 APK 中无法枚举或打开 USB 摄像头,需要接 Android UVC 原生插件。 - 串口枚举使用 `SerialPort.GetPortNames()`;Android 设备上如果枚举不到串口,可在输入框手动填写实际串口路径。 ## 测试顺序 1. 点击 `刷新摄像头`。 2. 从下拉框选择 USB 摄像头。 3. 点击 `打开摄像头`,确认预览画面正常。 4. 点击 `刷新串口`,选择或手动输入串口。 5. 点击 `连接模组`,等待 READY。 6. 输入用户名,点击 `录入人脸`。 7. 点击 `检测人脸`。 8. 点击 `刷新用户列表`,确认用户数据已存储。 9. 点击用户行的 `删除`,确认可删除用户。