news 2026/5/13 23:49:43

.NET 8 + YOLOv8 + ArcFace 高性能人脸注册、识别与轨迹追踪系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
.NET 8 + YOLOv8 + ArcFace 高性能人脸注册、识别与轨迹追踪系统

前言

智能安防、人员管理等场景对身份识别需求的增长,一套稳定、高效、可私有化部署的人脸识别系统变得尤为重要。许多现有方案要么依赖云端服务,存在隐私风险;要么架构复杂,难以维护。

本文推荐一个完全本地运行、基于 .NET 8 开发的人脸识别与追踪服务。它不依赖外部 API,核心识别逻辑采用本地余弦相似度比对,兼顾性能与可控性,适合企业级私有部署。

项目介绍

一个基于 .NET 8.0 开发的高性能人脸识别与追踪服务系统。系统集成了深度学习模型(YOLOv8 人脸检测 + ArcFace 特征提取)、向量数据库(Qdrant)和关系型数据库(PostgreSQL),实现了完整的人脸注册、识别和轨迹追踪功能。

识别阶段默认采用本地余弦相似度比对(不依赖 Qdrant 相似度检索),确保低延迟与高可靠性。

项目功能

1、人脸注册

通过 API 接口提交 Base64 图片,系统自动检测人脸、筛选清晰图像、提取 512 维特征向量,并将数据存储到 PostgreSQL 和 Qdrant。

2、实时识别监控

后台服务 FtpRecognitionWorker 持续监控指定 FTP 文件夹,自动处理新的人脸快照,完成检测、特征提取与本地相似度匹配,并记录识别结果。

3、轨迹追踪记录

系统记录人员在不同摄像头间的移动轨迹和时间信息,支持按人员 ID 查询完整路径。

4、清晰度筛选

基于拉普拉斯方差评估人脸清晰度,自动过滤模糊图像,确保识别质量。

5、RESTful API

提供完整的 HTTP 接口,支持人脸注册、查询、删除及轨迹查询,集成 Swagger 文档便于调试。

项目特点

高精度人脸检测:基于 YOLOv8s-face 模型,支持实时检测

特征向量提取:使用 ArcFace 模型生成 512 维特征

相似度比对:从 PostgreSQL 读取向量,本地计算余弦相似度

实时监控识别:通过 FTP 文件夹轮询,自动处理快照

轨迹追踪记录:完整记录跨摄像头移动路径与时间

清晰度筛选:动态阈值过滤低质量人脸

配置灵活:所有参数(模型路径、阈值、线程数等)均可通过 JSON 配置调整

项目技术

系统采用以下技术栈开发

  • 框架:.NET 8.0 (ASP.NET Core)

  • 数据库:PostgreSQL 10.0+

  • 向量数据库:Qdrant 1.16+

  • 深度学习:ONNX Runtime 1.23+

  • 图像处理:EmguCV 4.12+、SkiaSharp 3.119+

  • API 文档:Swagger/OpenAPI

核心组件包括

  • FaceDetector:使用 YOLOv8s-face ONNX 模型检测人脸

  • FaceFeatureService:调用 ArcFace 提取特征并计算余弦相似度

  • SharpnessEvaluator:基于拉普拉斯方差判断图像清晰度

  • FtpRecognitionWorker:后台轮询 FTP 目录,处理快照并记录轨迹

  • QdrantVectorManager:管理向量存储与同步

项目结构清晰分层,包含 API 控制器、Core 算法、Infrastructure 数据访问、Services 业务逻辑等模块,便于维护与扩展。

项目效果

系统启动后自动初始化 PostgreSQL 表结构,包括face_persons(人脸信息)、track_records(轨迹记录)、camera_mappings(摄像头映射)。

在普通 Windows 服务器上,单张图片处理耗时约 100–150ms,本地比对千级人脸库响应在 10ms 内。

FTP 监控默认每 2 秒轮询一次,支持多线程并行处理,队列缓冲防止积压。实际测试中,系统可稳定运行数周无内存泄漏,日志与异常处理机制完善。

项目源码

项目源码组织如下:

├── API/Controllers/ # FaceController, TrackController ├── Core/Algorithms/ # FaceDetector, FaceFeatureService 等 ├── Infrastructure/Database/ # PostgreSQL 上下文 ├── Services/ # 注册、删除、轨迹等服务 ├── res/model/ # yolov8s-face.onnx, arcface.onnx └── appsettings.json # 全量配置文件

打包采用单文件发布模式,运行build.bat即可生成FaceTrackService.exe及配套资源。

部署时只需安装 PostgreSQL 和 Qdrant(可通过 Docker 快速启动),配置连接字符串与模型路径,即可运行服务。支持作为 Windows 服务注册,便于生产环境管理。

总结

项目以实用为导向,充分利用 .NET 8 的性能优势,结合成熟的开源模型与数据库,开发了一套完整、可控、易部署的人脸服务系统。其"本地比对优先"的设计思路,有效规避了向量数据库实时检索的延迟与成本问题,同时保留 Qdrant 作为未来扩展选项。

不管是用于门禁联动、考勤统计还是客流分析,该系统都能提供稳定可靠的技术支撑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 0:46:34

闭眼入! 更贴合继续教育的降AIGC平台 千笔·专业降AIGC智能体 VS 笔捷Ai

在AI技术迅猛发展的今天,越来越多的学生和研究人员开始借助AI工具辅助论文写作,以提升效率、优化内容。然而,随着学术审查标准的不断提高,AI生成内容的痕迹愈发明显,论文中的“AI率”问题成为许多人的隐痛。无论是知网…

作者头像 李华
网站建设 2026/5/14 0:46:34

Tauri vs Electron vs 纯 Web 应用的对比

以下是 Tauri、Electron 和 纯 Web 应用 的对比表,帮助你理解它们各自的特点、优劣和适用场景:特性TauriElectron纯 Web 应用技术栈前端:HTML, CSS, JS / Vue, React 等后端:Rust前端:HTML, CSS, JS / Vue, React 等后…

作者头像 李华
网站建设 2026/5/11 7:20:12

AI办公利器:用BERT模型自动分段长文本文档

AI办公利器:用BERT模型自动分段长文本文档 1. 引言:长文档处理的痛点与解决方案 在日常办公和学习中,我们经常需要处理长篇文档:会议记录、讲座文稿、采访稿、学术论文等等。这些文档往往缺乏清晰的结构分段,阅读起来…

作者头像 李华
网站建设 2026/5/10 10:07:17

零基础入门 DAMO-YOLO TinyNAS:手把手教你搭建视觉分析系统

零基础入门 DAMO-YOLO TinyNAS:手把手教你搭建视觉分析系统 1. 为什么你需要一个“看得懂”的视觉系统? 你有没有遇到过这些场景? 工厂产线需要实时识别缺陷,但部署一个检测模型要配环境、调参数、改代码,光配置就卡…

作者头像 李华