项目概述
这是一个基于瑞芯微 Rockchip 系列(特别是 RK3588)的嵌入式 Linux 实战项目,集成了深度学习人脸识别与 IPC 智能安防监控功能。系统运行流畅,具备人脸门禁、目标检测、录像报警等核心能力。该架构具备良好的扩展性,稍作调整即可适配人脸识别门禁、IPC 安防及 NVR 等多种主流产品形态。
功能特性
人脸门禁系统
- 人靠近自动亮屏,人走自动息屏
- 支持人脸识别
- 支持录入人脸,并进行人脸配对(极速配对 < 0.2S)
IPC 智能安防监控系统
- 支持通过 ONVIF 实时查看摄像头画面
- 支持实时目标检测(支持高达 80 种物体检测)
- 支持录像
- 支持检测到人时自动录像
- 支持检测到人时自动报警
硬件选型

- 野火鲁班猫 4 RK3588S2
- IMX415 800W 4K 摄像头
- RTL8822CE Wifi+BT
- MIPI LCD RGB 7 寸 1024×600 触摸屏
- 人体红外检测 SR501:通过 GPIO 读取相应数值,用于判断是否有人靠近
- 128×32 OLED 屏:通过 I2C 通信显示画面内容,用于显示人脸检测结果
- 蓝牙音箱
模型与算法
- YOLO11:用于实时目标检测
- RetinaFace:用于人脸检测
- FaceNet:用于人脸特征提取
模型需要经过转换和量化,并且进行精度评估。在 Rockchip 平台上进行模型转换时,需特别注意算子兼容性与性能优化。
技术栈
- C++
- RKNN:用于在 Rockchip 上进行 NPU 推理
- FFmpeg:用于音视频编解码,使用了 ffmpeg-rockchip 库进行 MPP 硬件编解码,提高编解码速度
- OpenCV:用于视频帧处理
- LVGL:流行的 GUI 框架
- Bluez-Alsa:用于连接蓝牙音箱并播放音频
- ONVIF:一个流行的 IP 摄像头协议标准,支持在电脑端直接查看摄像头画面,操作摄像头云台等等
架构设计
这个项目涉及的线程较多,其中包含推理线程池、渲染线程、处理线程等待,使用了原子操作、锁、条件变量等解决了线程同步问题。
线程架构如下图所示:

项目中使用了线程池来管理推理任务,配合原子操作、锁及条件变量解决同步问题,确保高并发下的稳定性。
扩展方向
由于是个人项目且时间有限,因此还存在很多可优化空间。


