人脸关键点提取(dlib)

人脸识别系列(一):dlib安装和使用 Dlib是较流行的人脸识别的开源库,使用c++编写,里面包含了许多的机器学习算法,在python中也可以使用。Dlib保持着很好的更新节奏,文档也写得相当清晰,涉及到的资源都有标明在哪里下载,是一个优秀的人脸识别开源库。 在ubuntu下安装Dlib的python库 python是机器学习重要的语言,使用也较为方便,虽然Dlib是用c++编写,同样编译成python一样能很好的应用。 安装的过程也较为简单: Dlib的开发中使用到boost库,编译时使用cmake,在安装之前要先安装这两样,如果没有安装的话 阅读详情

作者使用开发环境Ubuntu16.04+Python3

摘要

人脸关键点识别在机器视觉领域已经发展的相当成熟。比如商汤科技人脸关键点定位
毫秒级别眼、口、鼻轮廓等人脸21、106、240个关键点定位。本文将使用一个人脸识别开源库Dlib进行演示人脸关键点提取。

1.环境搭建

参见《机器视觉开发环境搭建》

安装Dlib库,19.04版本之前,安装该库时需要编译,走过的坑不少。现在安装的话,直接pip安装,默认版本是19.15。切换至我们建立的python环境

workon cv
pip install dlib

2.应用阶段

2.1.人脸关键点提取

关键点提取需要一个特征提取器(predictor),构建特征提取器可以训练模型。当然我们也可以使用官方提供的一个模型‘shape_predictor_68_face_landmarks.dat’,可以去官网也可以在我的网盘里下载: https://pan.baidu.com/s/1dF7z26H 密码: 54i9

如下提供一张dlib提取到的关键点参考图
这里写图片描述

下面可以看一张效果图,作者进行了灰度转换
这里写图片描述

代码实现

# -*- coding:utf-8 -*- 
import cv2
import dlib
import numpy as np 

cap = cv2.VideoCapture(0)
cap.isOpened()

def key_points(img):
    points_keys = []
    PREDICTOR_PATH = "shape_predictor_68_face_landmarks.dat"
    detector = dlib.get_frontal_face_detector()
    predictor = dlib.shape_predictor(PREDICTOR_PATH)
    rects = detector(img,1)

    for i in range(len(rects)):
        landmarks = np.matrix([[p.x,p.y] for p in predictor(img,rects[i]).parts()])
        img = img.copy()
        for idx,point in enumerate(landmarks):
            pos = (point[0,0],point[0,1])
            points_keys.append(pos)
            cv2.circle(img,pos,2,(255,0,0),-1)
    return img

while(True):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    face_key = key_points(gray)
    cv2.imshow('frame',face_key)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

其中points_keys为收集的脸部68个特征关键点坐标

Dlib模型实现人脸识别 一、安装dlib库 下载Dlib安装包 下载链接:http://dlib.net/files/ 本文章下载的是dlib-19.14.zip,下载完成后解压安装dlib 安装Cmake 下载链接:https://cmake.org/download/ 下载安装包直接点击安装就行,注意环境变量的设置 下载boost 下载链接:http://www.boost.org/ 下载之后将其解压缩,进入解压后的文件夹中,找到bootstrap.bat批处理文件,双击运行,等待运行完成后(命令行自动消失)会生成文件b2. 阅读详情

相关推荐

Dlib 68点人脸特征提取实战:从OpenCV图像读取到关键点绘制完整代码

本文详细介绍了使用Dlib和OpenCV实现68点人脸特征提取的完整流程,包括环境配置、图像预处理、关键点检测与可视化。通过实战代码演示了从人脸检测到特征点绘制的全过程,并提供了性能优化和常见问题解决方案,助力开发者快速掌握人脸识别系统中的核心特征提取技术。

weixin_29045585的博客 265

人脸关键点序号106个 98个

106关键点: forked from 北京智云视图科技有限公司 / HyperLandmark 68和106对应,从0开始编号: 17-19 21-28 22-24 26-74 36-94 39-59 42-27 45-20 31-31 35-93 48-45 54-50 57-32 8 -0* add_new_pic.object_pts = np.float64([ ...

jacke121的专栏 8474

Python+OpenCV+Dlib实现人脸68个关键点检测

其中,人脸识别和人脸关键点检测是计算机视觉领域的两个重要方向。在本文中,我们将介绍如何使用Python语言结合OpenCV和Dlib库,实现人脸68个关键点的检测。接下来,我们需要下载预训练好的人脸关键点检测模型,在Dlib官网上可以找到下载地址。下载后,把模型文件放到项目根目录下。现在,让我们开始编写Python代码,实现人脸68个关键点的检测。在实际应用中,我们可以将人脸关键点检测技术应用到人脸识别、表情识别等领域。首先,我们需要安装所需的库。至此,我们成功地实现了人脸68个关键点的检测。

. 1203

用dlib和opencv进行不同角度人脸检测及68个关键点提取(Python)

用dlib和opencv进行不同角度人脸检测及68个关键点提取(Python)   摘要:用dlib和opencv进行不同角度人脸检测及68个关键点提取(Python)前几日为了在自己的单个旋转人脸数据集上复现SDMforfaceAlignment算法,研究了用dlib机器学习工具箱和opencv进行旋转人脸的检测及关键点提取,整理一下思路,希望有所帮助。1.软件要求Ubuntu(Window...

CVAIDL的博客 1456

Python实现人脸关键点检测

以上代码加载了一个图片,使用dlib库的人脸检测器检测出人脸位置,然后使用dlib库的关键点检测器检测出关键点位置。以上代码使用OpenCV库的VideoCapture函数获取摄像头数据,然后对每一帧进行人脸检测和关键点检测,最后显示检测结果。dlib库提供了训练好的人脸检测模型和关键点检测模型,OpenCV库则提供了图像处理和显示的功能。deoCapture函数获取摄像头数据,然后对每一帧进行人脸检测和关键点检测,最后显示检测结果。本文将介绍如何使用Python实现人脸关键点检测。

. 676

浅谈车联网概述-1

车联网技术目前在车企中应用广泛,车联网通过车载传感器、无线通信等技术,能够将车辆上百的传感器数据上传至云端,当前智能网联车辆可以理解为一个“大号”手机。

Hello, World! 新能源汽车智能网联工程师,分享日常工作思考。 560

【三:dlib人脸关键点】python3.5实现人脸关键点提取

人脸检测在系列二中,使用了dlib自带的人脸检测器(detector),关键点提取需要一个特征提取器(predictor),为了构建特征提取器,预训练模型必不可少。 官方提供了训练自己模型的例子,除了自行进行训练外,还可以使用官方提供的一个模型。该模型可从dlib sourceforge库下载: http://sourceforge.net/projects/dclib/files/dlib/...

qianmo0417的博客 2293

BugkuCTF-PWN题pwn2-overflow超详细讲解

解题思路 1)计算出get_shell_的地址偏移量 2)算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e, int f, int g, int h),首先他会把前6个参数从左往右存入到寄存器rdi、rsi、rdx、rcx、r8、r9,其余参数存入到栈里,保存的顺序是从右往左入栈。比如abcdef会存入到寄存器里,然后一次入栈h

am_03的博客 3014

dlib人脸关键点提取库在matlab 2018b平台的使用(VS2015和Matlab 2018b跨平台编程)

dlib人脸关键点提取库,拥有准确的提取精度,但是dlib人脸关键点提取库对于C++以及OpenCV具有很好的支持,对于matlab的支持较少,为了可以在matlab平台上使用dlib进行人脸关键点的提取,需要将dlib人脸关键点提取的代码编译成可供matlab 2018b平台使用的.mexw64文件,本文基于VS2015和Matlab 2018b在Windows 10平台下进行,本文所用的dli...

qq_34258054的博客 2289

2025年数学建模美赛(MCM)C题阅读与思考

2025年数学建模美赛(MCM)C题阅读与思考

carefreekid123的博客 7343

CSM中一些常见问题的解决方式

CSM中一些常见问题的解决方式 抖动 摄像机在每帧移动或者旋转时,会产生较严重的抖动问题。

小龙虾的博客 2131

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

一、首先安装DLib模块 这里只介绍linux安装的过程,windows安装过程请自行百度 1、首先,安装dlib、skimage前;先安装libboost sudo apt-getinstall libboost-python-dev cmake 接下来到dlib官网dlib.net下载最新的dlib版本(我下的是dlib-19.7),进入文件所在目录解压 bzip2 -d dlib...

人生苦短, 还不用Python? 1868

全网首发!Yolov8_obb旋转框训练、测试、推理手把手教学(DOTA1.0数据集map50已达80%)

其中,images/train和images/val放置原始图片文件,labels/train_original和labels/val_original分别放置原始的标签文件,labels/train和labels/val为空,然后运行步骤(3)的代码,运行结束转换后的标签会保存在labels/train和labels/val中,格式如下。(4)新建yolov8-obb.yaml,修改nc和scales,我使用的是yolov8n.(2)构建数据集,安装下面目录格式,其他test可为空,一定要对应。

小嘤熊的博客 2万+

dlib提取人脸区域及关键点检测

shape_predictor = "./shape_predictor_68_face_landmarks.dat" detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor(shape_predictor) frame = cv2.imread(imgfullpath) gray = cv2....

yy2yy99的专栏 787

避开这些坑!RK3588安卓系统内置输入法的正确姿势(含.mk文件修改指南)

本文详细解析了在RK3588安卓系统定制中预置第三方输入法的完整流程与关键避坑指南。重点涵盖APK签名、Android.mk文件编写、系统默认输入法配置(使用adb ime list命令获取服务名)以及SeLinux策略适配等核心步骤,并指出RK3566/RK3568等兄弟平台的通用性与差异点,帮助开发者实现稳定、深度的系统集成。

tgb34567890的博客 438

Maven证书信任危机:PKIX path building failed的全面解析与实战修复

本文全面解析了Maven构建中常见的`PKIX path building failed`证书验证错误。该错误通常在使用特定镜像仓库或自建仓库时,因SSL/TLS证书不被JDK默认信任而触发。文章深入剖析了错误根源,对比了临时忽略检查与永久导入证书等不同修复方案的安全性与适用场景,并推荐通过`keytool`将证书导入JDK信任库的根治方法,以保障构建安全与稳定。

zzz56的博客 508

原图像中的68个关键点是怎么获取_人脸识别之Python DLib库进行人脸关键点识别...

一、首先安装DLib模块这里只介绍linux安装的过程,windows安装过程请自行百度1、首先,安装dlib、skimage前;先安装libboostsudo apt-get install libboost-python-dev cmake接下来到dlib官网dlib.net下载最新的dlib版本(我下的是dlib-19.7),进入文件所在目录解压bzip2 -d dlib-19.7.tar....

weixin_39520199的博客 768

YOLO26剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

针对没有如何去选择剪枝的内容LAMP是层自适应幅度调整剪枝,无需任何参数,通过算法内部自己计算每个层的重要程度进行剪枝。基于权重重要程度和该层权重大小关系,权重越大表明该层越重要的思想进行优化。这个跟我前面说的非结构化全局剪枝是一个解法(MP),也就是lamp是在我前面那个非结构化剪枝的基础上进行优化的。但是这个逐层进行非结构剪枝目前还没有一个清晰的概念,确定每个层要剪枝多少。LAMP得分是一个平方权重大小,由层中所有“幸存权重”的总和归一化。

m0_64661770的博客 675

dlib:提取视频及图片68个人脸关键点

前言 为了方便已将需要下载的shape-predictor-68-face-landmarks.dat与案例打包。 提示: 需要提前下载dlib与opencv等的包。 --- 压缩包: dlib:提取视频及图片68个人脸关键点-Python文档类资源-优快云下载 ...

weixin_47707533的博客 188

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

基于 dlib 的人脸检测(68关键点)

imutils 这个图像处理工具包,除了简化 opencv 的一些操作之外,还有专门配合 dlib 处理人脸数据的工具 face_utils。

weixin_45303602的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

1 dlib库介绍 dlib官网:http://dlib.net/ dlib模型文件和源码下载:http://dlib.net/files/ dlib介绍 dlib人脸检测与人脸识别 2 dlib人脸检测:绘制出人脸检测框 2.1 dlib人脸检测源码 1、人脸检测,dlib官方例子face_detector.py face detector 这个人脸检测器是使用现在经典的直方图定向梯度(HOG)特征,结合线性分类器,图像金字塔和滑动窗口检测方案。这种类型的物体检测器是相当普遍的,除了人脸之外,还能够检

求真、务实 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python 人脸识别模块_人脸识别之Python DLib库进行人脸关键点识别

一、首先安装DLib模块这里只介绍linux安装的过程,windows安装过程请自行百度1、首先,安装dlib、skimage前;先安装libboostsudo apt-get install libboost-python-dev cmake接下来到dlib官网dlib.net下载最新的dlib版本(我下的是dlib-19.7),进入文件所在目录解压bzip2 -d dlib-19.7.tar....

weixin_39627481的博客 439

原图像中的68个关键点是怎么获取_dlib人脸关键点代码解析

介绍看了之前做的基于眨眼检测的活体识别,其中利用dlib提取68个人脸关键点,通过眼睛关键点提取到人眼做眨眼识别。dlib提取68个人脸关键点是基于One Millisecond Face Alignment with an Ensemble of Regression Trees这篇论文实现的,以gbdt为基础,下面先介绍下算法原理,做下源码解析算法原理输入标注人脸关键点的图像数据,先将脸提取处...

weixin_39664998的博客 2473

Python3+opencv3+dlib 使用摄像头实时提取人脸68个关键点

正文是解释,若懒得看解释就直接到最下方找完整代码 使用dlib库可以实现对人脸68个关键点进行标定,还可以搞5个点的标定,只需更换dat文件即可 首先需要引用dat文件、加载检测器预测器: dlib.get_frontal_face_detector()可以获取人脸检测器 dlib.shape_predictor(dat文件路径)可以配上检测使用的dat文件 predictor_path = "shape_predictor_68_face_landmarks.dat" detector = dlib.ge

小檬 1284
上一篇: python小工具集锦
下一篇: ubuntu+github+hexo+aliyun搭建个人博客
奥特曼不秃头
博客等级 码龄10年 24粉丝 24原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥特曼不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值