ITPub博客

首页 > 人工智能 > 人工智能 > 人脸识别之Python DLib库进行人脸关键点识别

人脸识别之Python DLib库进行人脸关键点识别

人工智能 作者:dicksonjyl560101 时间:2019-06-16 10:11:31 1 删除 编辑


https://www.toutiao.com/a6702287840765542920/


一、首先安装DLib模块

这里只介绍linux安装的过程,windows安装过程请自行百度

1、首先,安装dlib、skimage前;先安装libboost

sudo apt-get install libboost-python-dev cmake

接下来到dlib官网dlib.net下载最新的dlib版本(我下的是dlib-19.7),进入文件所在目录解压

bzip2 -d dlib-19.7.tar.bz2

tar xvf dlib-19.7.tar

这是一个二级解压过程,解压得到文件dlib-19.7,进入该目录下,执行如下命令安装dlib

python setup.py install

安装完成后,切换到python,键入import dlib,无异常提示表明安装成功!

接着安装skimage

sudo apt-get install python-skimage

二、人脸检测


人脸识别之Python DLib库进行人脸关键点识别


首先调用dlib.get_frontal_face_detector() 来加载dlib自带的人脸检测器

dets = detector(img, 1)将检测器应用在输入图片上,结果返回给dets(参数1表示对图片进行上采样一次,有利于检测到更多的人脸);

dets的个数即为检测到的人脸的个数;

遍历dets可以获取到检测到的每个人脸四个坐标极值。

为了框出检测到的人脸,用dlib.image_window()来加载显示窗口,window.set_image(img)先将图片显示到窗口上,再利用window.add_overlay(dets)来绘制检测到的人脸框;

dlib.hit_enter_to_continue()用于等待点击(类似于opencv的cv2.waitKey(0),不加这个会出现闪退)。

检测结果如下图:


人脸识别之Python DLib库进行人脸关键点识别


三、关键点的提取

实现关键点描述需要用到用于特征提取的官方模型,下载地址如下:

http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2


人脸识别之Python DLib库进行人脸关键点识别


首先通过dlib.shape_predictor(predictor_path)从路径中加载模型,返回的predictor就是特征提取器

对dets遍历,用predictor(img, d)计算检测到的每张人脸的关键点;

获取每个关键点坐标shape.parts()的x,y值,存入landmark矩阵(模型默认提取68个关键点,所以landmark为68×2矩阵)。

关键点提取结果如下:


人脸识别之Python DLib库进行人脸关键点识别


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29829936/viewspace-2647776/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
行万里路,读万卷书,阅无数人。 吃货一枚,爱吃湘菜,粤菜与杭帮菜,尝遍天下美食。 摄影爱好者,游遍名川大山,江河胡海,赏遍人间春色。 爱看电影,尤其是国产大片,好莱坞大片。英文名:Dickson Jin, 网名:风一样的BOY。精通SAP供应链咨询。2017年开始研习人工智能。

注册时间:2014-08-27

  • 博文量
    2598
  • 访问量
    4677080