大家好,欢迎来到IT知识分享网。
- 背景
- 效果
- 实现功能
- 系列预计写得一些内容
- 整体框架
- 代码结构
- 软件使用说明
- 注册人员
- 打开输入源
- 打开视频文件
- 打开USB摄像头
- 打开IP摄像头(rtsp)
- 输出说明
- 数据说明
背景
人脸识别已经发展了很多年,随着深度学习发展,开源的模型也有很不错的效果了。我们可以在不需要深入各种算法细节的情况下,就能搭建自己的人脸识别系统了,除了用于学习,还可以将我们自己家的摄像头接入到我们自己搭的系统,真正用起来。这个专栏就基于这样一个设想,从开源的模型中寻找适合的算法,一步步搭建一个实时的人脸识别系统出来。
效果
视频:https://www.bilibili.com/video/BV1Bh4y157f3/
源码:CoderInCV的个人主页 (mbd.pub)
实现功能
- 完全基于开源模型
- 支持输入视频文件、USB摄像头、rtsp视频流
- 注册信息和识别记录存储在sqlite,重启后不消失
- 除了识别人员,还会累计其出现次数
- 对于非注册人员,也会累计其出现次数
- CPU上可实时
系列预计写得一些内容
- 人脸检测
- 人脸跟踪
- 人脸关键点
- 人脸质量
- 人脸特征提取
- 人脸比对
- 动态人脸识别逻辑
计划首先在CSDN更,视情况再看是否转发博客园。
人脸识别_CodingInCV的博客-CSDN博客
整体框架
代码结构
face_recognition_modules
—base_model 模型推理基类
— configs 全局配置
— database sqlite数据库相关炒作
— face_alignment 人脸关键点
— face_detection 人脸检测
—face_quality 人脸质量
— face_search 基于faiss的人脸搜索
— face_recognition 人脸识别,包括识别模型和识别服务
—tracker 人脸跟踪
—common 一些通用结构体和功能函数
models 模型目录
test_images 测试视频和图片
ui 窗口界面
face_detect_task 算法运行的线程
gui.py 程序入口
软件使用说明
在项目目录,运行gui.py
python gui.py
软件界面如下:
注册人员
点击注册人员按钮,选择导入的文件夹,将注册文件夹下的图片,图片的名称为人员的名字。
注册进度会在日志输出区域显示,在识别过程中也可以执行注册人员的操作。
人员注册信息会存在register.sqlite数据库中。
打开输入源
软件支持3种输入源:视频文件、USB摄像头以及rtsp流。
打开视频文件
点击“打开文件”按钮,选择要打开的视频文件,视频预览区将开始播放视频,并画人脸框以及名称。
打开USB摄像头
在USB Camera区域输入摄像头的索引,一般为数字0,然后点击打开摄像头按钮。
打开IP摄像头(rtsp)
在IP Camera区域输入摄像头流地址rtsp://xxxxx,点击打开IP摄像头。
输出说明
识别结果包含人员姓名(不在底库中的为Unkown), 出现的时间以及出现的次数。
注意该出现次数是从注册这个人开始计算,即使软件重启也不会清零,因为识别记录是存储在数据库中,只有点击清空记录,才会重新开始计算。
数据说明
人员注册信息以及识别记录存储在sqlite数据库中,关闭软件不会清空。再次打开时,会自动载入人员,无需重复注册。需要清空可以删除数据库文件或者在软件界面点击相应的按钮。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31410.html