【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统

【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统

前言

本文主要介绍我最近开发的一个个人实战项目,“基于深度学习的人脸门禁+ IPC 智能安防监控系统”,全程满帧流畅运行。这个项目我目前全网搜了一圈,还没发现有相关类型的开源项目。这个项目只要稍微改进下,就可以变成市面上目前流行的三款产品,人脸识别门禁系统、IPC 安防和 NVR。在最下面会有视频演示。

本项目适用于瑞芯微 Rockchip 系列的板端,开源链接在文章最下面。

功能

人脸门禁系统

  • 人靠近自动亮屏,人走自动息屏
  • 支持人脸识别
  • 支持录入人脸,并进行人脸配对(极速配对 < 0.2S)

IPC 智能安防监控系统

  • 支持通过 onvif 实时查看摄像头画面
  • 支持实时目标检测(支持高达80种物体检测)
  • 支持录像
  • 支持检测到人时自动录像
  • 支持检测到人时自动报警

用到的硬件

1738765194618.jpg
  • 野火鲁班猫4 RK3588S2
  • IMX415 800W 4k 摄像头
  • RTL8822CE Wifi+BT
  • mipi LCD RGB 7寸 1024×600 触摸屏
  • 人体红外检测 SR501:通过 GPIO 读取相应数值,用于判断是否有人靠近
  • 128×32 OLED屏:通过 I2C 通信显示画面内容,用于显示人脸检测结果
  • 蓝牙音箱

用到的深度学习模型

  • yolo11:用于实时目标检测
  • retinaFace:用于人脸检测
  • facenet:用于人脸特征提取

模型需要经过转换和量化,并且进行精度评估,如果不知道如何在 Rockchip 平台进行模型转换的同学,可以参考我这篇文章:《瑞芯微 Rockchip 系列 RK3588 主流深度学习框架模型转成 rknn 模型教程》

用到的技术栈

  • C++
  • RKNN:用于在 Rockchip 上进行 NPU 推理
  • FFmpeg:用于音视频编解码,使用了 ffmpeg-rockchip 库进行 MPP 硬件编解码,提高编解码速度
  • Opencv:用于视频帧处理
  • LVGL:流行的 GUI 框架
  • Bluez-Alsa:用于连接蓝牙音箱并播放音频
  • Onvif:一个流行的 IP 摄像头协议标准,支持在电脑端直接查看摄像头画面,操作摄像头云台等等

线程架构图

这个项目涉及的线程较多,其中包含推理线程池、渲染线程、处理线程等待,使用了原子操作、锁、条件变量等解决了线程同步问题。

线程架构如下图所示:

image.png

如果不理解线程池概念的同学,可以参考我这篇文章:《C++ 线程池浅析》

项目演示

项目改进

由于是个人项目且时间有限,因此还存在很多可优化空间。

比如在人脸门禁系统中,可以有如下改进:

  • 加入 IR 摄像头,进行活体检测
  • 为人脸门禁系统加入 NFC 模块,支持通过 NFC 解锁
  • 为人脸门禁系统加入指纹模块,支持通过指纹解锁
  • 添加 mysql 数据库,将姓名、年龄、工号、人脸特征进行存储

而在 IPC 安防摄像头系统中,可以有如下改进:

  • 加入舵机云台,完善 onvif,支持远程控制云台转动
  • 对 yolo11 模型进行微调,加入摔倒识别、火焰识别、打架识别等等
  • 加入 IRCUT 滤光片,添加 IR 灯,实现日夜切换功能
  • 加入 webrtc,实现实时对话功能

https://github.com/qaz624824554/deep_learning_security_system

Read more

【Springer上传手稿记录】《Signal, Image and Video Processing》

【Springer上传手稿记录】《Signal, Image and Video Processing》

Springer上传手稿记录 * 以signal,image and video proecessing为例 * 手稿模板链接 * 上传手稿或图片时提示上传失败 * 无法编译成pdf * 错误1:出现`Unknown theoremstyle`相关错误 * 错误2:command Illegal * 错误3:command I found no style file * 通用问题 * 问题1:排版由单栏改双栏 * 问题2:图表放置 * 问题3:意见返回要求文稿页数不能超过十页 * 审阅进度 以signal,image and video proecessing为例 该期刊为SCI4区,接收信号图像视频处理相关文章,期刊主编的专业是深度神经网络研究。 手稿模板链接 此处下载Latex模板 这个是Springer出版社的最新模板,期刊要求双栏,下方有单栏改双栏的代码。(如果下载不下来就找个加速器)此处付费下载更改好的模板 Latex模板需要在TexStudio和Overleaf中使用,两者区别就是一个是离线版软件一个是在

By Ne0inhk

如何解决CC Switch常见问题:50+实用FAQ解答与故障排除

如何解决CC Switch常见问题:50+实用FAQ解答与故障排除 【免费下载链接】cc-switchA cross-platform desktop All-in-One assistant tool for Claude Code, Codex & Gemini CLI. 项目地址: https://gitcode.com/GitHub_Trending/cc/cc-switch CC Switch 是一款跨平台桌面全能助手工具,专为 Claude Code、Codex 和 Gemini CLI 设计。本文汇总了 50+ 实用 FAQ 解答与故障排除方法,帮助用户快速解决使用过程中遇到的各种问题,提升工作效率。 安装问题 macOS 提示「未知开发者」 问题:首次打开时提示「

By Ne0inhk

2026终极版|Spring Boot 3.5.11 + JDK21 整合 RabbitMQ / RocketMQ / Kafka(对比 + 选型 + 可运行示例)

适配环境:JDK 21(LTS)、Spring Boot 3.5.11 适用人群:Java 后端开发、架构师、技术选型决策者 特点:基于 Spring Boot 3.5.x + JDK21 实战验证,代码可直接运行,避免常见版本与虚拟线程误用问题 一、技术背景 1️⃣ JDK21 JDK21 是当前长期支持版本(LTS),虚拟线程(Project Loom)正式 GA,大幅降低高并发场景下的线程资源占用成本。 2️⃣ Spring Boot 3.5.11 Spring Boot 3.5.11 为

By Ne0inhk
我需要一个 Docker 安装 MySQL 8.0 的命令

我需要一个 Docker 安装 MySQL 8.0 的命令

我需要一个 Docker 安装 MySQL 8.0 的命令 为了帮你用 Docker 安装 MySQL 8.0,我准备了两个版本的命令。如果你是第一次使用,建议先用简化版快速跑起来;如果你希望数据能长期保存、配置更灵活(比如为了生产环境或重要开发),请直接使用完整版。 🚀 简化版(快速体验) 这条命令最短,适合快速启动一个 MySQL 实例进行测试,但容器删除后数据会丢失。 docker run -d\--name mysql8 \-p3306:3306 \-eMYSQL_ROOT_PASSWORD=root \ mysql:8.0 💡 完整版(推荐,数据持久化 + 详细配置) 这条命令包含了数据挂载、配置文件挂载、时区设置和开机自启,适合长期使用。 # 1.

By Ne0inhk