图片人脸检测——dlib版

王磊的博客 王磊的博客     2022-11-06     391

关键词:

上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。

往期目录

视频人脸检测——Dlib版(六)
OpenCV添加中文(五)
图片人脸检测——Dlib版(四)
视频人脸检测——OpenCV版(三)
图片人脸检测——OpenCV版(二)
OpenCV环境搭建(一)
更多更新,欢迎访问我的github:https://github.com/vipstone/faceai

 

dlib与OpenCV对比

识别精准度:Dlib >= OpenCV

Dlib更多的人脸识别模型,可以检测脸部68甚至更多的特征点

效果展示

人脸的68个特征点

安装dlib

下载地址:https://pypi.org/simple/dlib/ 选择适合你的版本,本人配置:

Window 10 + Python 3.6.4

我现在的版本是:dlib-19.8.1-cp36-cp36m-win_amd64.whl

使用命令安装:

pip3 install D:\\soft\\py\\dlib-19.8.1-cp36-cp36m-win_amd64.whl

显示结果: Processing d:\\soft\\py\\dlib-19.8.1-cp36-cp36m-win_amd64.whl Installing collected packages: dlib Successfully installed dlib-19.8.1

为安装成功。

下载训练模型

训练模型用于是人脸识别的关键,用于查找图片的关键点。

下载地址:http://dlib.net/files/

下载文件:shape_predictor_68_face_landmarks.dat.bz2

当然你也可以训练自己的人脸关键点模型,这个功能会放在后面讲。

下载好的模型文件,我的存放地址是:C:\\Python36\\Lib\\site-packages\\dlib-data\\shape_predictor_68_face_landmarks.dat.bz2

解压:shape_predictor_68_face_landmarks.dat.bz2得到文件:shape_predictor_68_face_landmarks.dat

代码实现

#coding=utf-8

import cv2
import dlib

path = "img/meinv.png"
img = cv2.imread(path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#人脸分类器
detector = dlib.get_frontal_face_detector()
# 获取人脸检测器
predictor = dlib.shape_predictor(
    "C:\\\\Python36\\\\Lib\\\\site-packages\\\\dlib-data\\\\shape_predictor_68_face_landmarks.dat"
)

dets = detector(gray, 1)
for face in dets:
    shape = predictor(img, face)  # 寻找人脸的68个标定点
    # 遍历所有点,打印出其坐标,并圈出来
    for pt in shape.parts():
        pt_pos = (pt.x, pt.y)
        cv2.circle(img, pt_pos, 2, (0, 255, 0), 1)
    cv2.imshow("image", img)

cv2.waitKey(0)
cv2.destroyAllWindows()

 

 

dlib代码解读人脸检测器的训练

...[-]综述代码解读stepbystep1预处理阶段11载入训练集测试集12图片上采样13镜像图片2训练阶段21定义scanner用于扫描图片并提取特征22设置scanner扫描窗口大小23定义trainer用于训练人脸 查看详情

python3dlib人脸检测(代码片段)

实现代码importdlibimportcv2#使用Dlib的正面人脸检测器frontal_face_detectordetector=dlib.get_frontal_face_detector()#图片所在路径img=cv2.imread('data/imgs/faces_2.jpeg')#将图片转为灰度frame_gray=cv2.cvtColor(i 查看详情

dlib库包的介绍与使用,opencv+dlib检测人脸框opencv+dlib进行人脸68关键点检测,opencv+dlib实现人脸识别,dlib进行人脸特征聚类dlib视频目标跟踪(代码片段)

文章目录:1dlib库介绍2dlib人脸检测:绘制出人脸检测框2.1dlib人脸检测源码2.2opencv+dlib人脸检测2.3dlib人脸检测总结3dlib人脸关键点检测:并绘制检测框、关键点、不同区域关键点连线3.1dlib人脸关键点检测源码3.2opencv... 查看详情

opencv联合dlib人脸识别例子(代码片段)

...别功能。本文章中的代码实现了人脸识别功能。检测目标图片中的人脸是不是库中的某张图片中的人脸,按照以下操作步骤实现效果:1.搜集一些目标人物的人脸图片,每张图片的名字为名字+后缀(.jpg/.png.…&#... 查看详情

opencv联合dlib人脸识别例子(代码片段)

...别功能。本文章中的代码实现了人脸识别功能。检测目标图片中的人脸是不是库中的某张图片中的人脸,按照以下操作步骤实现效果:1.搜集一些目标人物的人脸图片,每张图片的名字为名字+后缀(.jpg/.png.…&#... 查看详情

Dlib 人脸检测不适用于灰度图像

】Dlib人脸检测不适用于灰度图像【英文标题】:Dlibfacedetectiondoesn\'tworkwithgrayscaleimages【发布时间】:2019-02-2020:06:31【问题描述】:你知道为什么dlib人脸检测不适用于灰度图像(python对灰度图像效果很好)吗?我的代码:mFaceDetec... 查看详情

基于dlib进行人脸识别demo(代码片段)

...ib项目所要达到的目的:实现人脸识别(输入几张图片,人脸检测、关键点检测、人脸关键点进行编码存储起来,再传进来一张图片,判断新传来来这张图片属于哪一个人)如果dlib安装不成功请参 查看详情

基于dlib进行人脸识别demo(代码片段)

...ib项目所要达到的目的:实现人脸识别(输入几张图片,人脸检测、关键点检测、人脸关键点进行编码存储起来,再传进来一张图片,判断新传来来这张图片属于哪一个人)如果dlib安装不成功请参 查看详情

opencv添加中文——(代码片段)

...OpenCV添加中文使用。往期目录《OpenCV环境搭建(一)》《图片人脸检测——OpenCV版(二)》《视频人脸检测——OpenCV版(三)》《图片人脸检测——Dlib版(四)》效果预览实现思路使用PIL的图片绘制添加中文,可以指 查看详情

Dlib 正面人脸检测在 IOS 中不起作用。?

】Dlib正面人脸检测在IOS中不起作用。?【英文标题】:DlibfrontalfacedetectionisnotworkinginIOS.?【发布时间】:2015-11-0123:25:56【问题描述】:我正在使用IOS的dlib包实现示例人脸检测代码。我为dlib包生成了静态库。我做了什么为IOS生成DL... 查看详情

opencv联合dlib人脸检测例子二(加快检测)(代码片段)

本篇博客是在opencv联合dlib人脸检测例子的基础上改进了下,加快检测流程观察了下,opencv利用haar级联分类器检测人脸区域的速度要稍快于dlib的frontal_face_detector检测人脸区域的速度。所以这篇博客是利用opencv先检测出人... 查看详情

在 dlib 中获取检测到人脸的概率[关闭]

】在dlib中获取检测到人脸的概率[关闭]【英文标题】:Gettingprobabilityofdetectedfaceindlib[closed]【发布时间】:2017-11-2217:45:22【问题描述】:我正在使用dlib库(使用python2)在静态图像中进行人脸检测,如果检测到的人脸的概率/质量... 查看详情

Dlib 人脸检测在 C++ 上的糟糕表现,在 python 中很好,为啥?

】Dlib人脸检测在C++上的糟糕表现,在python中很好,为啥?【英文标题】:DlibfacedetectionterribleperformanceonC++,goodinpython,why?Dlib人脸检测在C++上的糟糕表现,在python中很好,为什么?【发布时间】:2018-12-1710:01:57【问题描述】:我正... 查看详情

opencv联合dlib人脸检测例子二(加快检测)(代码片段)

本篇博客是在opencv联合dlib人脸检测例子的基础上改进了下,加快检测流程观察了下,opencv利用haar级联分类器检测人脸区域的速度要稍快于dlib的frontal_face_detector检测人脸区域的速度。所以这篇博客是利用opencv先检测出人... 查看详情

opencv联合dlib人脸检测例子

...文注释。本例子是用opencv加载图像,然后调用dlib进行人脸检测,得到人脸所在区域以及特征点,最后还是用opencv描绘人脸特征点。例子源码以及解释:#include<dlib/image_processing/frontal_face_detector.h 查看详情

dlib的人脸地标检测程序中如何获取点坐标位置?

】dlib的人脸地标检测程序中如何获取点坐标位置?【英文标题】:Howtogetpointscoordinatepositioninthefacelandmarkdetectionprogramofdlib?【发布时间】:2017-02-0903:49:36【问题描述】:dlib中有一个示例python程序来检测面部标志位置。face_landmark_de... 查看详情

dlib 的 CNN 人脸检测器使用哪种架构?

】dlib的CNN人脸检测器使用哪种架构?【英文标题】:Whicharchitecturedoesdlib\'sCNNfacedetectoruse?【发布时间】:2019-01-1916:51:20【问题描述】:我用谷歌搜索了很多,但找不到。是对发表在CNN人脸检测上的一些论文的实现吗?dlib的卷积... 查看详情

dlib人脸关键点检测的模型分析与压缩

...duo.com博客原文(排版更精美):https://www.miaoerduo.com/c/dlib人脸关键点检测的模型分析与压缩.htmlgithub项目:https://github.com/miaoerduo/dlib-face-landmark-compression 人脸关键点检测的技术在很多领域上都 查看详情