LabVIEW+OpenCV快速搭建人脸识别系统下

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: LabVIEW+OpenCV快速搭建人脸识别系统下

前言

当今世界,人脸识别作为一种常见的生物识别技术,已经成为了一个不可或缺的技术,广泛应用于安防、金融、教育等领域。其中,SFace 作为一种先进的人脸识别模型,已经被广泛使用。本篇博客将介绍如何使用LabVIEW 和 SFace 实现人脸识别。人脸检测内容可查看上一篇博客LabVIEW快速实现OpenCV DNN(YunNet)的人脸检测(含源码),本文主要想给大家介绍一下如何在LabVIEW部署人脸识别系统,相关基础知识可查看博文:https://developer.aliyun.com/article/1228553

本文的主要内容分为以下两部分:

1、实时检测人脸并将并人脸设置标签保存下来
2、调用摄像头实现实时人脸识别

项目实践

实现效果:利用 OpenCV FaceRecognizerSF 在 LabVIEW 平台实现人脸识别并显示该人名字。
实现思路
image.png

准备工作

  1. 新建项目文件face_recognition;
  2. 在项目文件face_recognition中新建文件夹model,并将下载的yunet.onnx以及face_recognizer_fast.onnx拷贝至model文件夹中;在项目文件face_detect中新建文件夹photos,等待存储人脸;

    4.1 实时检测人脸并将并人脸设置标签保存下来

    1.获取人脸检测及人脸识别模型文件及人脸图片路径;
    image.png

2.初始化相机并设置视频像素为640*480,默认摄像头id为0;
image.png

3.创建FaceDetectorYN、FaceRecognizerSF对象;
image.png

4.循环读取视频流中的每一帧并进行人脸检测,获取检测结果;
image.png

faces是一个二维数组,每一行代表检测的一张人脸,每行数据中分别表示获取人脸15维的基本信息:x1, y1, w, h, x_re, y_re, x_le, y_le, x_nt, y_nt, x_rcm, y_rcm, x_lcm, y_lcm,rate,即人脸区域矩形框,左右眼、鼻子,左右嘴角5点landmark,置信度
5.绘制边框及关键点;

image.png

我们将绘制边框及关键点单独封装成一个draw_face.vi实现,完成程序如上图所示。

6 保存视频流中的某张人脸,并为之命名,该人脸像素为112*112;
image.png

7.释放所有资源;
8.完整源码;
image.png

9.运行效果
1684901986456.png

save的图片保存到了该vi同路径下的photo文件夹中
image.png

4.2 调用摄像头实现实时人脸识别

  1. 获取人脸检测及人脸识别模型文件及之前已经保存的人脸图片路径;
    image.png

  2. 初始化相机并设置视频像素为640*480,默认摄像头id为0;
    image.png

  3. 创建FaceDetectorYN、FaceRecognizerSF对象;
    image.png

  4. 加载人脸数据,加载文件夹photo的每一张人脸图片,并获取每张人脸的128个特征点;
    image.png

  5. 循环读取视频流中的每一帧并进行人脸检测,获取检测结果;
    image.png

  6. 人脸识别(对比)
    image.png

人脸特征相似度度量有 FR_COSINE 和FR_NORM_L2方法,对应的判断是否为同一人的值分别为0.363和1.128,FRCOSINE 方法大于阈值 0.363判定为同一人, FR_NORM _L2 方法小于阈值1.128判定为同一人,在本项目中只要满足其中一种,即认为是同一人。

7.绘制人脸框及名字,若该人在图片数据库中,则显示该人名字,否则显示unknow;
image.png

8.完整源码;
image.png

9.运行效果;
1684902205442.png

python实现

安装OpenCV 4.5.4及更高版本,该版本收录了基于深度学习神经网络的人脸模块(以下称“OpenCV DNN Face”),包括人脸检测(使用模型YuNet,由OpenCV China团队贡献)和人脸识别(使用模型SFace,由北京邮电大学邓伟洪教授课题组贡献)。

# 人脸检测
img = cv.imread("path/to/image")
faceDetector = cv.FaceDetectorYN.create("/path/to/model", "", img.shape[:2])
faces = faceDetector.detect(image)
# 人脸识别
recognizer = cv.FaceRecognizerSF.create(recog_model_path, "" )
aligned_face = recognizer.alignCrop(img, faces[1][0])
feature = recognizer.feature(aligned_face)
cosine_score = recognizer.match(feature1, feature2, 0)

项目源码

如需源码,可查看:https://blog.csdn.net/virobotics/article/details/129918424

环境说明

操作系统:Windows10
LabVIEW:2018及以上 64位版本
视觉工具包:techforce_lib_opencv_cpu-1.0.0.xx.vip


总结

以上就是今天要给大家分享的内容,希望对大家有用。如果有问题可以在评论区里讨论,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们:705637299。

**如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 机器人
|
2月前
|
数据安全/隐私保护
数据安全用户系统问题之实人认证信息在用户模型中体现的如何解决
数据安全用户系统问题之实人认证信息在用户模型中体现的如何解决
|
2月前
|
机器学习/深度学习 人工智能 监控
利用Python和OpenCV实现实时人脸识别系统
【8月更文挑战第31天】本文将引导您了解如何使用Python结合OpenCV库构建一个简易的实时人脸识别系统。通过分步讲解和示例代码,我们将探索如何从摄像头捕获视频流、进行人脸检测以及识别特定个体。本教程旨在为初学者提供一条明晰的学习路径,帮助他们快速入门并实践人脸识别技术。
|
3月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统下编译OpenCV4.8源码
在Ubuntu上源码安装OpenCV 4.8分为三步:1) 下载源码包,使用`wget`命令;2) 安装依赖,如`g++`, `cmake`, `make`等;3) 创建编译目录,运行`cmake`配置,接着`make`编译,最后`sudo make install`安装。安装完成后,通过编写和运行一个简单的OpenCV C++程序来验证环境配置正确性。
104 10
|
3月前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
1月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
34 4
|
12天前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
2月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
WK
|
2月前
|
编解码 计算机视觉 Python
如何在OpenCV中进行图像转换
在OpenCV中,图像转换涉及颜色空间变换、大小调整及类型转换等操作。常用函数如`cvtColor`可实现BGR到RGB、灰度图或HSV的转换;`resize`则用于调整图像分辨率。此外,通过`astype`或`convertScaleAbs`可改变图像数据类型。对于复杂的几何变换,如仿射或透视变换,则可利用`warpAffine`和`warpPerspective`函数实现。这些技术为图像处理提供了强大的工具。
WK
75 1
|
4月前
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
112 1

热门文章

最新文章