Project · 04 / 04
边缘端离线人脸情绪识别 Demo
在无独显工控机上接通采集、检测、情绪推理到远程显示的整条链路,4 周完成约定 6 周的 Demo。
- 时间
- 2026.05–2026.06
- 单位
- 四川机器人企业 · 算法实习
- 阶段
- 离线 Demo 交付
- 我的角色
- 负责 ROS2 节点架构、多线程调度、曝光控制与设备接入
4 周完成约定 6 周的离线 Demo,提前 2 周交付测试条件范围是工业相机采集、人脸检测、本地情绪推理与可视化的演示链路,不含后续优化
10.0 FPS人脸检测支路稳定帧率测试条件实习期间测得,平均检测耗时 22.4ms;指的是检测支路,不是情绪推理耗时或完整情绪输出帧率
A
结构一览
- 相机接入MindVision / USB 相机
- 曝光控制测光 · 锁定 · 人脸优先
- 人脸检测MediaPipe · 10.0 FPS
- 情绪推理DeepFace · 后台线程
- 自定义消息人脸与情绪结果
- 显示本地 GUI / Foxglove 远程
检测与推理解耦:单次推理不占住图像处理,无人脸时清空旧结果
B
我做了什么
- 节点架构:在无独显工控机上接通采集、检测、推理和可视化,把 MediaPipe 与 DeepFace 封装为 ROS2 节点,通过自定义消息交换人脸与情绪结果。
- 多线程调度:把检测与后台情绪推理解耦,避免单次推理占住图像处理;加入人脸对齐和光照预处理,保持检测与显示独立更新。
- 曝光控制:通过测光、锁定和人脸优先状态调节曝光与增益;亮度突变时重新测光,无人脸后回退,用死区与渐进调节减少反复调整。
- 设备接入:适配 MindVision / USB 相机和本地 / 远程显示,排查节点入口、无图和旧结果残留,支持无头调试和录屏。
C
结果
4 周完成约定 6 周的离线 Demo 工作,提前 2 周交付,覆盖工业相机采集、人脸检测、本地情绪推理与可视化的演示链路。
实习期间,人脸检测支路稳定在 10.0 FPS,平均检测耗时 22.4ms。情绪推理在后台线程单独运行,不拖慢检测与显示。
之后的课程延伸版本加入了 Blendshape 融合,单次情绪推理典型约 430ms、每 1.5 秒触发一次;其中一个 21.2 分钟的 session 平均置信度为 87.7%,这是模型输出置信度,不是准确率。
!
已知局限
- 10.0 FPS 是人脸检测支路的帧率,不是情绪推理耗时,也不是全链路延迟。
- 交付范围是离线演示链路,不代表正式商业验收或生产上线。
- 系统总内存与 CPU 的统计口径尚未闭合;USB 与 arm64 的完整实机验收尚未完成。