人脸识别-dlib

366 篇文章 23 订阅
订阅专栏

本文要做一个人脸比对功能,输入两张图片,输出是否同一人,用到了dlib模块。
dlib是一个可以做人脸检测和识别的第三方模块,官方给出预训练模型在亚洲人脸的识别率不是很理想,我们需要在自己的数据集上重新训练,提高准确率。

  1. 安装使用dlib模块
  2. 安装图片标注工具imglab
  3. 制作自己的数据集
  4. 训练人脸检测模型
  5. 人脸比对
  6. 人脸检测和比对源码下载

一、安装dlib模块

环境:win10,pip

1、下载“dlib-19.8.1-cp36-cp36m-win_amd64.whl”

百度云链接链接: https://pan.baidu.com/s/1yTQ_404E_CbQUF4KDxTIYA
提取码:orgh

2、打开命令行并进入到whl文件所在目录

运行pip install dlib-19.8.1-cp36-cp36m-win_amd64.whl

3、引入dlib模块

找到dlib安装路径,找到dlib.pyd文件,直接复制到项目里,就可以正常引用和调用里面的方法

二、安装图片标注工具imglab

1、编译imglab

官方提供了imglab工具用于制作人脸识别的数据集,遗憾的是官方提供的是源码,需要我们自己编译 。这里提供一个编译好的exe文件下载,能用可以直接跳到数据集制作部分。

链接: https://pan.baidu.com/s/1jNArBPkW0S4ifgP_pHbmnA
提取码:w2re

1)在github下载dlib的源码,进入到imglab所在目录,可以看到源码,需要我们自己编译。

在imglab下新建build文件夹。

2)安装vs2019

https://visualstudio.microsoft.com/zh-hans/vs/​visualstudio.microsoft.com

 

3)安装cmake

安装好后打开cmake-gui.exe

Configure配置完成后,cmake显示如下信息,此时点击【Generate】按钮,生成exe文件

打开build文件夹,可以发现生成了imglab.exe文件

三、制作自己的数据集

1)新建文件夹images并添加图片

2)复制imglab.exe到images文件夹下

3)打开命令行,进入到images文件夹下,输入imglab -c mydataset.xml ./,按回车,在当前目录生成mydataset.xml文件。

4)命令行输入imglab mydataset.xml,按回车,打开imglab程序窗口。

5)如果想要训练的模型检测出来的人脸可以提取出人脸特征,供后面的人脸识别对接,那么标记图片的时候需要按照特定方式来标记,标记方式有两种,一种是68个特征点的标记方式,另一种是5个特征点的标记方式,特征标记顺序如下图:

注意,特征点的顺序必须如下图所示,顺序不能错,不然可以正常训练,但是训练出来的模型提取不了特征向量。

68个特征点位置

5个特征点位置

步骤:

  1. 按住ctrl+加鼠标滚轮,调整图片人脸是合适大小
  2. 松开ctrl,按住shift键,框出人脸位置,刚画出来的框是红色
  3. 松开shift,双击框的线条选中框,选中的框颜色变蓝
  4. 按住shift,按照标记点位置画出人脸标记

标记完成的图片如下:

四、训练人脸检测模型

官方预训练的模型对亚洲人脸的识别度不好,所以如果你有自己的数据集,可以训练自己的模型来改善这个问题。
人脸识别需要两个模型,一个是人脸检测模型,一个是人脸特征提取模型。官方的说法是:人脸特征提取模型是使用几百万张图片训练出来的,如果你有几千张图片,训练的模型不会对准确率有太大提高,所以应该训练人脸检测模型,提高在特定数据集上的准确度。
  1. 将images文件夹复制到项目里
  2. 运行train_shape_predictor.py 文件,传入参数./images。
  3. 训练完成,生成模型文件【predictor.dat】,进行测试,结果如下:

五、人脸比对

实现功能:输入两张图片,判断是否同一人。

人脸比对使用了两个预训练的模型:

  • 人脸检测:shape_predictor_68_face_landmarks.dat
  • 特征点提取:dlib_face_recognition_resnet_model_v1.dat

其中的人脸检测模型可以换成我们自己训练的模型predictor.dat

from skimage import io
import numpy as np
import dlib

def getVector(picPath):
    print("Processing file: {}".format(picPath))
    detector = dlib.get_frontal_face_detector()
    model1_path = 'shape_predictor_68_face_landmarks.dat'
    model2_path = 'dlib_face_recognition_resnet_model_v1.dat'
    sp = dlib.shape_predictor(model1_path)
    facerec = dlib.face_recognition_model_v1(model2_path)
    img = io.imread(picPath)
    dets = detector(img, 1)
    print("Number of faces detected: {}".format(len(dets)))
    for k, d in enumerate(dets):
        shape = sp(img, d)
        face_descriptor = facerec.compute_face_descriptor(img, shape)
        return np.array(face_descriptor,dtype=float)

def comparePic(pic1,pic2):
    vector1 = getVector(pic1)
    vector2 = getVector(pic2)
    op1 = np.sqrt(np.sum(np.square(vector1 - vector2)))
    print("欧氏距离:{}".format(op1))
    return op1

if __name__ == '__main__':
    score = comparePic('images/Aaron_Eckhart_0001.jpg','images/Aaron_Guiel_0001.jpg')
    if score <  0.6:
        print('同一人')
    else:
        print('不是一个人')

六、人脸检测和比对源码下载

链接: https://pan.baidu.com/s/1X0gBamWDz8cEjm_h1QwmKQ
提取码:y7uy

 

编辑于 2020-03-13

python dlib人脸识别_Python-Dlib人脸识别
weixin_39580749的博客
12-05 641
Python-Dlib人脸识别前言:基于dlib实现人脸识别功能。Anaconda是基于Windows和Linux -X86系统,Miniforge是基于ARM一、环境windows/linux+python(Anaconda/Miniforge)+cmake+dlib二、安装过程1、windows1)基于Anaconda安装Python2)python导入dlib模块2、Linux1)基于Min...
人脸识别dlib-face-recognition.zip
05-12
但是由于Dlib对于人脸特征提取支持很好,有很多训练好的人脸特征提取模型供开发者使用,所以Dlib人脸识别开发很适合做人脸项目开发。 上面所说的人脸识别开发,主要是指人脸验证,就是输入两张人脸照片,系统会对比...
dlib_face_recognition_resnet_model_v1.dat-free.zip
12-23
dlib模型文件
dlib_face_recognition_resnet_model_v1.dat.zip
06-03
dlib_face_recognition_resnet_model_v1.dat是训练好的ResNet人脸识别模型,可以实现使用dlib中的深度残差网络(ResNet)进行实时人脸识别 。ResNet是何凯明在微软的时候提出的深度残差网络,获得了 ImageNet 2015 冠军,通过让网络对残差进行学习,在深度和精度上做到了比CNN 更加强大。
OpenCV与dlib库的人脸识别实战详解
最新发布
weixin_42263617的博客
09-15 1867
本文还有配套的精品资源,点击获取 简介:人脸识别技术是计算机视觉领域的重要组成部分,利用OpenCV和dlib库可以实现高效准确的人脸检测与识别。本文深入探讨了OpenCV的图像处理、计算机视觉函数以及dlib库的机器学习和数值计算能力如何协同工作,以达到快速检测和精确识别的效果。项目“Face_Recognition_dlib-master”涵盖人脸检测、关键点检测、人脸...
dlib_face_recognition_resnet_model_v1.dat
06-09
dlib_face_recognition_resnet_model_v1.dat
人脸识别系统+windows64位-dlib-19.17.0-cp37-cp37m-win_amd64.zip
01-10
在这个压缩包中,包含了一个基于Python编写的人脸识别程序以及预编译的dlib库,特别为Windows 64位操作系统设计,适用于Python 3.7环境。 dlib是一个强大的C++工具包,由戴维·坎贝尔(David K. Campbell)开发,它...
人工智能-人脸识别-表情识别-基于Python的人脸识别之表情识别项目相关源码
04-17
人工智能_人脸识别_表情识别_基于Python的人脸识别之表情识别项目相关源码 简介 使用卷积神经网络构建整个系统,在尝试了Gabor、LBP等传统人脸特征提取方式基础上,深度模型效果显著。在FER2013、JAFFE和CK+三个...
python+人脸识别+dlib-19.17.0-cp37-cp37m-win_amd64+whl
05-31
**Python与人脸识别** 在Python编程领域,人脸识别是一种广泛应用于图像处理和计算机视觉的高级技术。它涉及到了人类面部特征的检测、识别以及分析。在这个场景中,`dlib`库是一个强大的工具,专为机器学习任务和...
dlib_face_recognition_resnet_model_v1.dat人脸识别模型
07-06
dlib库训练好的人脸识别的模型,使用python,导入dlib库和模型,就可以完成人脸识别
dlib_face_recognition_resnet_model_v1.zip
01-21
dlib_face_recognition_resnet_model_v1.dat是训练好的ResNet人脸识别模型,可以实现使用dlib中的深度残差网络(ResNet)进行实时人脸识别
dlib_face_recognition_resnet_model_v1和shape_predictor_68_face_landmarks
04-19
dlib人脸识别需要的2个文件:dlib_face_recognition_resnet_model_v1和shape_predictor_68_face_landmarks
dlib官方人脸识别模型,用于构建dlib的特征提取器(predictor)
01-03
shape_predictor_5_face_landmarks.dat.bz2 /5个标记点的dlib官方人脸识别模型,用于构建dlib的特征提取器(predictor)
dlib_face_recognition_resnet_model_v1.dat.zip_ResNet_dlib_face r
07-15
人脸识别中需要的resnet网络模型,用于处理人脸数据
dlib重新训练dlib_face_recognition_resnet_model_v1.dat
xia4215的博客
11-23 5072
训练来源 代码
人脸识别(dlib.face_recognition_model_v1 方法 -- 使用resnet模型)
雪剑封心
11-08 5466
文件名:weights 的目录下:resnet模型(.dat文件)、识别68个关键点模型(.dat文件)、共两个模型文件。补充:你如果不使用dlib库中自带的HOG人脸检测器, 那你可能会将识别人脸区域的模型再放入其中。文件名:save 的目录下:每个人的多张图像文件被存储在独立的文件夹内。思路:通过检测面部特征, 对该特征与数据存放的特征进行比对。3.将68个关键点转换为128D面部描述符。4.转换为自己需要的np格式。2.检测人脸68个关键点。
dlib: 下载dlib_face_recognition_resnet_model_v1
Bigpity的博客
12-30 626
链接:https://pan.baidu.com/s/1KUZTz6jxfhPyt--pt66KTw?--来自百度网盘超级会员V3的分享。面部的,直接上链接,免费。
python人脸识别Dlib
08-03
Dlib是一个强大的机器学习工具包,其中包含了人脸识别库。通过使用Dlib库,我们可以进行人脸检测、人脸特征提取和人脸识别等任务。在使用Dlib进行人脸识别之前,我们需要安装Dlib库和其它相关依赖库。 首先,我们需要下载Dlib的预训练模型文件,可以从[1]中提供的链接中下载下载完成后,我们可以使用该模型进行人脸识别。 接下来,我们可以使用Dlib库提供的函数进行人脸识别。在[2]中提供了一个示例代码,该代码演示了如何使用Dlib进行单张人脸识别检测。该代码首先调用了一个名为`face_common`的函数,该函数用于检测人脸并返回人脸的名称。然后,该代码打印出检测到的人脸名称,并将其返回。 此外,我们还可以使用OpenCV库来读取图片并显示人脸识别结果。在[3]中提供了一个示例代码,该代码使用Dlib和OpenCV库来检测人脸并在图片上标注出人脸位置。 综上所述,Dlib是一个用于人脸识别的强大库,可以通过安装Dlib库和相关依赖库,并使用提供的示例代码来进行人脸识别任务。
859
原创
2277
点赞
6027
收藏
2890
粉丝
关注
私信
写文章

热门文章

  • 什么是倒排索引? 50551
  • 克服过拟合和提高泛化能力的20条技巧和诀窍 43688
  • 回归、分类与聚类:三大方向剖解机器学习算法的优缺点 42404
  • 2017,最受欢迎的 15 大 Python 库有哪些? 37967
  • 创业公司天使轮、A轮、B轮……IPO融资时如何分配股权?(附图表分析) 34706

分类专栏

  • 云计算 167篇
  • 短视频 366篇
  • 元宇宙 58篇
  • 分析 103篇
  • 大数据 651篇
  • JAVA 32篇
  • JAVAscript 79篇
  • NN deep learning neural network 38篇
  • 互联网 106篇
  • 股票 11篇
  • 管理 16篇
  • NN deep learning neural netwo 31篇
  • 区块 80篇
  • 区块链 188篇

最新评论

  • DiT结构原理代码详解

    smj-sunny: 原文链接:https://zhuanlan.zhihu.com/p/683612528

  • 一文详解扩散模型:DDPM

    weixin_44607996: 希望得到作者大大的回复,谢谢~

  • 一文详解扩散模型:DDPM

    weixin_44607996: 您好,这篇文章对我帮助很大,后期可能会引用,所以我想知道这是哪篇文章里面的?

  • Diffusion Models 简单代码示例

    怎样才能回到过去: 你是真抽象啊,直接照搬别人的内容还打原创表情包

  • ​扩散模型(Diffusion Model)详解:直观理解、数学原理、PyTorch 实现​

    白露灬欺霜: 讲的太好了哥,请问可以发布在github上不?还有计算的公式都是乱码,实在不行截个图?表情包

最新文章

  • 突发:OpenAI o1颠覆了人类,o1为什么超越了人类,sam万字长文解读
  • 突发:Sam万字长文,OpenAI o1超越人类,o1模型训练原理、微调、能力来源-AI已死,大模型当立
  • 突发:Sam Altman指出AI时代已死,ASI超级智能时代来临!
2024
09月 4篇
07月 4篇
04月 3篇
03月 60篇
02月 9篇
01月 5篇
2023年5篇
2022年44篇
2021年167篇
2020年319篇
2019年181篇
2018年122篇
2017年378篇
2016年222篇
2015年369篇
2014年97篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI周红伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值

玻璃钢生产厂家浙江戏曲玻璃钢脸谱雕塑定做虹口区拉丝玻璃钢雕塑哪家好泸州市玻璃钢雕塑定制白银景区玻璃钢雕塑玻璃钢雕塑艺术效果图东川区玻璃钢雕塑代理湖北玻璃钢雕塑方案时尚玻璃钢泡沫雕塑湖北现代人物玻璃钢雕塑漯河商场美陈雕塑供应商组合式玻璃钢雕塑摆件湘潭永州玻璃钢雕塑生产厂家广东大型商场美陈市场福建特色商场美陈价格江西玻璃钢雕塑制作厂家专业玻璃钢雕塑公司山西抽象玻璃钢造型雕塑制作内江玻璃钢卡通雕塑定制布景玻璃钢雕塑纪念馆玻璃钢雕塑驻马店公园玻璃钢雕塑玻璃钢欧式天使雕塑鹤壁玻璃钢卡通雕塑厂家电话清远仿铜西式玻璃钢雕塑焦作商场美陈大型玻璃钢南瓜屋雕塑家居建材商场美陈创意设计开远市玻璃钢雕塑售价仿木纹玻璃钢雕塑楚雄玻璃钢雕塑生产商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化