AIGC背后的技术分析 | 人脸识别和人脸检测

简介: 机器学习案例:人脸识别和人脸检测

640.jpg


# 01、Python Dlib框架及人脸识别模型库
## 1、Dlib框架



Dlib是基于C++的一个跨平台通用的框架。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等。Dlib提供了Python的接口,在Python中安装Dlib时要先安装cmake模块和scikit-image模块,由于在安装dlib模块过程中需要对C++代码进行编译,所以安装dlib模块前要先安装好Visual Studio 2015以后版本。

使用pip模块管理工具下载dlib框架的相关模块。
1)下载cmake模块

pip install cmake
2)下载scikit-image模块
pip install scikit-image
3)下载dlib模块
pip install dlib
## 2、人脸识别模型库
在本案例中,使用下面两个已经训练好的人脸识别模型进行项目设计。

1)人脸关键点检测模型

shape_predictor_68_face_landmarks.dat是通过机器学习已经训练好的人脸关键点检测器,使用这个模型,可以很方便地检测人的脸部,并计算出人脸的特征关键点。

2)人脸识别模型

dlib_face_recognition_resnet_model_v1.dat是已经训练好的ResNet(Residual Neural Network)人脸识别模型。ResNet是一种经机器学习训练出152层的神经网络,称为残差网络,它可以加速神经网络的训练,模型的准确率也很高。

人脸检测模型和人脸识别模型的下载地址为 http://dlib.net/files/。

# 02、人脸检测



## 1、人脸脸部检测



下面介绍应用人脸检测模型进行人脸检测的程序设计方法。

【例1】 找出图像中的正向人脸,并用方框标识出来。

应用已经训练好的人脸检测模型,进行人脸检测,构建人脸外部矩形框,其核心语句为:
js detector = dlib.get_frontal_face_detector() shape = predictor(img, 1)
程序设计步骤如图1所示。

640.jpg


■ 图1 人脸检测主要步骤


程序代码如下:
js import dlib from skimage import io # 使用 Dlib 的正面人脸检测器 frontal_face_detector detector = dlib.get_frontal_face_detector() # Dlib 的人脸检测模型 predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat") # 图片所在路径 img = io.imread("x3.jpg") # 生成 Dlib 的图像窗口 win = dlib.image_window() win.set_image(img) # 使用 detector 检测器来检测图像中的人脸 faces = detector(img, 1) print("人脸数:", len(faces)) for i, d in enumerate(faces): print("第", i+1, "个人脸的矩形框坐标:", "left:", d.left(), "right:", d.right(), "top:", d.top(), "bottom:", d.bottom()) # 绘制人脸脸部矩形框 win.add_overlay(faces) # 保持图像 dlib.hit_enter_to_continue()
运行程序,可以输出每个人脸的脸部轮廓矩形框的坐标值,并在图片上绘制方框图形。检测单人及多人正面脸部的结果如图2所示。

640.jpg


■ 图2 检测正面脸部

shape_predictor_68_face_landmarks.dat是一个检测人脸68个关键点的检测器,应用这个模型,可以很方便地计算出人脸的特征关键点,并绘制出脸部轮廓。

提取脸部轮廓的核心语句为:

shape = predictor(img, faces[i]) # 计算脸部轮廓关键点的位置
  win.add_overlay(shape) # 绘制脸部轮廓线
目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)(一)
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)
119 0
|
2天前
|
存储 人工智能 API
【AIGC】基于检索增强技术(RAG)构建大语言模型(LLM)应用程序
【5月更文挑战第7天】基于检索增强技术(RAG)构建大语言模型(LLM)应用程序实践
|
7天前
|
安全 算法 API
【AIGC】人脸验证服务简介及实践案例分析
【5月更文挑战第3天】手把手教你如何基于pgVector和LangChain构建检索增强服务
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
【活动】AIGC 技术的发展现状与未来趋势
AIGC技术现正快速发展,涉及文本、图像、音频和视频生成。GPT-3等模型已能生成连贯文本,GANs创造高质量图像,WaveNet合成逼真音频。尽管面临质量控制、原创性、可解释性和安全性的挑战,未来趋势将聚焦更高生成质量、多模态内容、个性化定制、增强可解释性和透明度,以及关注安全性和伦理问题。AIGC将在多领域创造更多可能性。
158 3
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
【AIGC】文档智能助手技术解决方案报告
【4月更文挑战第14天】智能文档处理助手技术解决方案报告整理输出
|
10天前
|
人工智能 搜索推荐 UED
如何评价AIGC技术的社会需求和市场环境?
【4月更文挑战第30天】如何评价AIGC技术的社会需求和市场环境?
97 0
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术是什么?
【4月更文挑战第30天】AIGC技术是什么?
96 0
|
10天前
|
人工智能 搜索推荐
如何利用AIGC技术实现个性化定制的绘画作品?
【4月更文挑战第30天】如何利用AIGC技术实现个性化定制的绘画作品?
78 1
|
11天前
|
人工智能 搜索推荐 测试技术
你是如何看待AIGC技术的?
AIGC(AI Generated Content)技术,即人工智能生成内容技术,是指利用人工智能技术来生成文本、图片、音频、视频等内容的生产方式。这一技术在近年来得到了迅速发展,并且在多个领域展现出巨大的潜力和应用价值。
125 1
|
15天前
|
人工智能 监控 供应链
如何看待AIGC技术
如何看待AIGC技术
134 1

热门文章

最新文章