首页 > 其他分享 >基于开源模型的实时人脸识别系统

基于开源模型的实时人脸识别系统

时间:2023-08-17 22:13:25浏览次数:56  
标签:人脸识别 实时 face --- 开源 人脸 注册 摄像头

目录

背景

人脸识别已经发展了很多年,随着深度学习发展,开源的模型也有很不错的效果了。我们可以在不需要深入各种算法细节的情况下,就能搭建自己的人脸识别系统了,除了用于学习,还可以将我们自己家的摄像头接入到我们自己搭的系统,真正用起来。这个专栏就基于这样一个设想,从开源的模型中寻找适合的算法,一步步搭建一个实时的人脸识别系统出来。

效果

img
视频:https://www.bilibili.com/video/BV1Bh4y157f3/
源码:CoderInCV的个人主页 (mbd.pub)

实现功能

  • 完全基于开源模型
  • 支持输入视频文件、USB摄像头、rtsp视频流
  • 注册信息和识别记录存储在sqlite,重启后不消失
  • 除了识别人员,还会累计其出现次数
  • 对于非注册人员,也会累计其出现次数
  • CPU上可实时

系列预计写得一些内容

  • 人脸检测
  • 人脸跟踪
  • 人脸关键点
  • 人脸质量
  • 人脸特征提取
  • 人脸比对
  • 动态人脸识别逻辑
    计划首先在CSDN更,视情况再看是否转发博客园。
    人脸识别_CodingInCV的博客-CSDN博客

整体框架

image

代码结构

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

软件界面如下:
6df8fec2281f164fcc4f9313bbfff1ec_MD5

注册人员

点击注册人员按钮,选择导入的文件夹,将注册文件夹下的图片,图片的名称为人员的名字。
146e468c0fcabacd78749e7dd7bfa19c_MD5
注册进度会在日志输出区域显示,在识别过程中也可以执行注册人员的操作。
人员注册信息会存在register.sqlite数据库中。

打开输入源

软件支持3种输入源:视频文件、USB摄像头以及rtsp流。

打开视频文件

点击“打开文件”按钮,选择要打开的视频文件,视频预览区将开始播放视频,并画人脸框以及名称。

打开USB摄像头

在USB Camera区域输入摄像头的索引,一般为数字0,然后点击打开摄像头按钮。

打开IP摄像头(rtsp)

在IP Camera区域输入摄像头流地址rtsp://xxxxx,点击打开IP摄像头。
9dc613cd27d1194588856b9ea0d929b9_MD5

输出说明

识别结果包含人员姓名(不在底库中的为Unkown), 出现的时间以及出现的次数。
注意该出现次数是从注册这个人开始计算,即使软件重启也不会清零,因为识别记录是存储在数据库中,只有点击清空记录,才会重新开始计算。

数据说明

人员注册信息以及识别记录存储在sqlite数据库中,关闭软件不会清空。再次打开时,会自动载入人员,无需重复注册。需要清空可以删除数据库文件或者在软件界面点击相应的按钮。

标签:人脸识别,实时,face,---,开源,人脸,注册,摄像头
From: https://www.cnblogs.com/haoliuhust/p/17638976.html

相关文章

  • 15种实时uv实现方案系列(附源码)之一:Flink基于set实时uv统计
    UVStatMultiPlans(GitHub)项目持续收集各种高性能实时uv实现方案并对各种实现方案的优缺点进行对比分析!需求描述统计每分钟用户每个页面的uv访问量。Kafka数据格式{"userId":"c61b801e-22e7-4238-8f67-90968a40f2a7","page":"page_1","behaviorTime":1692247408129}{"userId......
  • 如何利用量化交易平台获取实时行情数据进行分析之代码分享
    量化交易平台之行情数据获取方式续通过开放的方式提供全球股票(A股、港股、美股)、期货(国内期货、国际期货)等历史数据查询及实盘实时行情订阅平台特色:全球大多数行情一次购买即可享受全部数据行情订阅。历史数据可以提供下载服务方便使用云端自定义指数合成能力自定义品种的支持(如不......
  • 打造属于自己的人体识别系统:基于openpose,开源且免费
    安装CMake:访问CMake的官方网站(https://cmake.org/download/),下载最新的Windows安装程序。运行下载的安装程序,并按照安装向导的说明进行安装。安装CUDA(可选):CUDA是用于GPU加速的平行计算平台,对于OpenPose的一些功能来说是可选的,但推荐安装。访问NVIDIA官方网站(https://developer.nvid......
  • Dify 加入更多国内外优秀模型,轻松调用 Llama2、ChatGLM 等热门开源模型
    Dify的朋友们,不少细心的网友在周末的时候就已经发现了我们产品上的更新--模型供应商上新增了一大批新模型,这也是很多朋友翘首以盼的版本--V0.3.13。此前Dify已经陆续支持了全球前列的模型优秀代表:OpenAI的GPT系列、Anthropic的Claude系列、AzureOpenAI系列。本次更新......
  • Unity之如何计算实时帧率
    代码如下:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassCalcFPSTool:MonoBehaviour{privatefloatm_UpdateInterval,m_FPS;floatUpdateInterval{set=>m_UpdateInterval=Mathf.Cla......
  • 人脸识别储物柜对于传统储物柜的优势
     传统的智能储物柜需要IC/ID、钥匙或者条形码等,然而这些小东西,很容易弄丢,保存不方便,使用不方便,如果卡片使用次数过多,机器老旧、条形码读取就有困难。即使采用指纹识别也会受到到手指的破损,干净程度,湿度等造成识别率降低而影响使用。 人脸识别储物柜解决方案采用人脸识别技术,......
  • 从0开始,Cloudreve开源云盘在centos7上部署,并可在外网访问(资料整合)
    全程我在网络上收集这些资料,太零碎了,每一个一看就会,一动手就废,而且很多都不能实现我白嫖的梦想我一个人折腾了快一周,现在可以正常访问手机电脑多端访问给个赞再走吧此处为没有公网IP(回去折腾你家宽带去,不知道可以去搜索如何获得)和域名的办法简单的说就是想完全白嫖的那种(甚至......
  • 一个可将执行文件打包成Windows服务的.Net开源工具
    Windows服务一种在后台持续运行的程序,它可以在系统启动时自动启动,并在后台执行特定的任务,例如监视文件系统、管理硬件设备、执行定时任务等。今天推荐一个可将执行文件打包成Windows服务的工具,方便我们封装第三个的软件。项目简介winsw一个基于.Net开发的开源项目,可以帮助开发......
  • 应用开源框架平台,实现流程化办公!
    如今,实现流程化办公,管理好数据资源是很多企业的共同想法。如果采用传统的办公方式显然无法实现这一愿望。利用开源框架平台,可以管理好数据资源,为企业提高办公协作效率,进入流程化办公。流辰信息是专业的低代码技术平台服务商,一直坚守研发初心,为客户实现高效办公贡献优质产品服务。......
  • 如何用GitHub快速找到优秀的开源项目
    版本控制Git和GitHub分布式版本控制系统配有两个仓库,在你的电脑上有一个本地仓库,在远程的服务器上有一个远程仓库。我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。Git就是一个典型的分布式版本控制系统Github就担任......