检测面部标记

什么是面部标记?

人脸标记点检测是形状预测问题的一个子集。给定一个输入图像(通常是一个指定感兴趣对象的ROI),形状预测器尝试沿形状定位感兴趣的关键点。

在人脸标记的背景下,我们的目标是使用形状预测方法检测人脸上的重要人脸结构。

因此,检测面部标记是一个两步过程:

步骤1:在图像中定位人脸。

步骤2:检测人脸ROI上的关键面部结构。

实现过程:第一步安装dlib

  1. 安装cmake,命令:pip install cmake

安装VS,选择C++的桌面开发和Python的桌面开发

cl.exe配置环境变量

安装dlib

git clone https://github.com/davisking/dlib.git

cd dlib

mkdir build

cd build

cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1

cmake --build .

cd ..

python setup.py install --set USE_AVX_INSTRUCTIONS=1 --set DLIB_USE_CUDA=1

dlib的面部标记检测器

dlib库中预先训练的面部标记检测器用于估计映射到面部结构的68xy)坐标的位置。

68个坐标的索引可在下图中显示:

这些注释是68iBUG 300-W数据集的一部分,dlib面部标记预测器是在该数据集上训练的。

rects检测面部标志并转为Numpy数组

shape将数字坐标绘制在图像上 

图像

打开一个新文件,将其命名为facial_landmarks.py,然后插入以下代码:

导入所需的Python包和dlib

解析命令行参数:

--shape-predictor:这是通往dlib预先训练的面部标记检测器的路径。你可以在这里下载检测器模型,也可以使用本文的下载部分来获取代码+示例图像+预先训练过的检测器。

--frame:要检测面部标记的输入图像的路径。

导入和命令行参数已经处理完毕,然后初始化dlib的面部检测器和面部标记预测器:

先检测输入图像的面部: 

最后使用dlib面部标记将其输出。

测试结果:

打开终端输入:python facial_landmarks.py --shape-predictor shape_predictor_68_face_landmarks.dat --image ff.jpg

演示视频:

人脸检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值