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的视觉工作流",欢迎前往阅读。

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

相关推荐
硬核子牙2 分钟前
你管这破玩意叫ChatGPT?
人工智能·chatgpt·程序员
亲爱的译官.5 分钟前
能精准双语翻译的智能手表!独立离线可用,全能好用更省心
人工智能·旅游·智能手表·亲爱的翻译官·翻译设备
风华圆舞5 分钟前
鸿蒙 + Flutter 下 AI 页面的状态协同设计
人工智能·flutter·harmonyos
马***4118 分钟前
科学高效学英语:全方位提升语言综合应用能力
人工智能
人工智能AI技术10 分钟前
AI‑Skills解锁效率天花板,告别低效闲聊式提问
人工智能
comcoo14 分钟前
告别复杂配置!Hermes Windows 极简部署流程详解【附部署包】
人工智能·开源软件·hermes·hermes部署包
qq_4112624214 分钟前
AI-01开发板编译、烧录与双配网模式说明
人工智能·ai·esp32-c2·四博
百度搜知知学社15 分钟前
ChatOn全新升级:融合GPT-4.0的AI聊天与绘画体验
人工智能·ai聊天·gpt-4.0·绘画生成·模型升级
TinssonTai15 分钟前
这个 VS Code 插件让我的 AI Coding 又快又稳 - 旧瓶装新酒
前端·人工智能·程序员
code_pgf16 分钟前
改进模型架构来减少MLLMs中的幻觉现象
人工智能·深度学习·算法