C# 基于OpenCv的视觉工作流-章57-人脸识别

C# 基于OpenCv的视觉工作流-章57-人脸识别

本章目标:
一、算法解释;
二、模型训练;
三、人脸识别;

章49-人脸检测是识别图像中人脸的位置,本章进一步深入,对识别的人脸具体是谁进行识别。人脸识别算法有多种,本文介绍LBPHFaceRecognizer‌经典算法,先进行模型训练,再进行识别。

一、算法解释

二、模型训练

1、创建识别器

var recognizer = LBPHFaceRecognizer.Create(

radius=1, # LBP 圆形邻域半径

neighbors=8, # 邻域采样点数

grid_x=8, # 水平网格数

grid_y=8, # 垂直网格数

threshold: double.PositiveInfinity); #预测阈值

2、训练模型

recognizer.Train(matList, indexList);

说明:参数1,为图像列表;

参数2,为各图像对应的姓名列表;

以下为训练的模型文件,如下图

三、人脸识别

1、检测人脸

先检测出人脸的位置,用章49-人脸检测实现

2、读取模型

LBPHFaceRecognizer recognizer = LBPHFaceRecognizer.Create();

recognizer.Read(autoModelUrl);

说明:参数为保存的模型路径

3、图像预处理

遍历取得的人脸图像,进行预处理,使图像尺寸与模型训练时的尺寸一致,用Cv2.Resize算子实现。

4、识别

int predictedLabel = -1;

double confidence = 0.0;

recognizer.Predict(faceMat, out predictedLabel, out confidence);

说明:参数1,为输入的人脸图像;

参数2,为输出的姓名;

参数3,为输出的置信度;

5、对识别结果进行显示处理

效果如下

参考链接

https://www.bilibili.com/video/BV1mM4y1B7Zc/?spm_id_from=333.788.videopod.episodes\&vd_source=3f9438f03abb9d3e91fda0640164d626\&p=8

"VisionTool 探迹"免费视觉工具

下载地址:https://pan.baidu.com/s/11tktKOSnepLNIEqNbvnv6w?pwd=qv5i

"VisionTool Halcon"付费视觉工具(淘宝可搜)

对应系列文章"C# 基于Halcon的视觉工作流",欢迎前往阅读。

上述内容需要一定的技术功底,本章至此已结束,欢迎阅读下章,谢谢!

相关推荐
YOLO数据集集合5 分钟前
光伏板红外-可见光配对缺陷检测数据集 | 光伏板缺陷 红外可见光配准 多模态检测 无人机巡检 目标检测 YOLO格式9094期
人工智能·目标检测·计算机视觉·目标跟踪·红外·无人机视角·太阳能板
知几蜗牛7 分钟前
Agent会互相调用了,但A2A 1.0真正解决的是协作边界
人工智能
qq_410194298 分钟前
.NET 8.0 下基于 PaddleOCRSharp 的离线文字识别落地指南
算法·.net
HIT_Weston9 分钟前
227、【AI】【模型部署】基座模型研究:RoPE 旋转位置编码
人工智能·模型部署
Omics Pro12 分钟前
1个月2轮融资!长寿虚拟细胞
数据库·人工智能·算法·机器学习·自然语言处理
residual_fan12 分钟前
航空发动机故障诊断专用智能体(六):实际机队健康管理中的应用考量与展望
人工智能·算法·数据挖掘·数据分析
知几蜗牛17 分钟前
AI越懂你越好吗?五天实验给出一个不舒服的答案
人工智能
能源革命19 分钟前
AI 日报 2026-09-19
人工智能
天远Date Lab22 分钟前
零信任架构实战:基于天远二手车VIN估值构建自动化资产定价网关
人工智能·ai·工具分享
知几蜗牛22 分钟前
AI给面试打分不够,求职者更需要可核对的证据
人工智能