精华内容
下载资源
问答
  • *Python人脸识别相关库的安装*

    千次阅读 2019-02-24 20:16:37
    Python人脸识别相关库的安装 前一段时间,我在CSDN上发布了face_rec0gnition.py的人脸识别的代码,现在根据自己做的情况对于安装人脸识别所需要的库的安装做相关的补充。 cv2与face_recognition 首先,我的是在...

    Python人脸识别相关库的安装

    前一段时间,我在CSDN上发布了face_rec0gnition.py的人脸识别的代码,现在根据自己做的情况对于安装人脸识别所需要的库的安装做相关的补充。

    cv2与face_recognition

    首先,我的是在windows10系统在下Python3.6.4的版本。
    关于人脸识别的库其实很少,只有cv2和face_recognition这两个库就可以实现了,对与前一个Python库特别好安装,而第二个的face库却特别难安装,小逸9花了大概一个星期的时间才终于东搞西搞的安装上了,接下来我就针对这两个库按照自己的方法推荐给大家。

    为了防止Python的pip库版本过低,我们需要先升级一下pip库

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    **python -m pip install -U pip;**
    

    接下来依次安装以下的Python库

    **```
    pip install --upgrade setuptools

    pip install numpy Matplotlib

    pip install opencv-python

    pip install CMake

    pip install msgpack

    pip install dlib

    最后一步终于能导入我们的face_recognition库啦~
    

    pip install face_recognition

    ***
    
    ## 以上是我导入的方法,如果有什么问题,欢迎大家来留言提问哈~
    
    ***
    
    
    展开全文
  • Python人脸识别

    2019-08-08 18:14:22
    但如果仅仅是使用识别功能,目前已有封装好功能模块,并不需要训练模型,甚至不需要了解任何算法原理,只需调用Python的三方模块,几行代码即可实现人脸识别。  face_recognition是目前使用方法最简单,效果也...

     “人脸识别”是人工智能的一个重要应用,听起来技术含量很高,貌似非常复杂,具体的实现也的确非常复杂,目前的算法一般都基于深度学习神经网络。但如果仅仅是使用识别功能,目前已有封装好的功能模块,并不需要训练模型,甚至不需要了解任何算法原理,只需调用Python的三方模块,几行代码即可实现人脸识别。

     face_recognition是目前使用方法最简单,效果也非常好的人脸识别库,它的离线识别率高达99.38%。除了检测面部位置,它还能快速识别出面部特征:如眉毛、眼睛、鼻子、嘴,识别具体的人,对比两张脸的相似度等等。从后面例程可以看到,识别位置相当准确。

    一、安装和原理

     face_recognition底层基于dlib实现。dlib是一个人脸关键点检测库,它的核心功能由C++实现,适用于多个平台。不同于一般的Python三方模块,它在安装时需要编译,其Github上主要介绍了它在Linux和MacOS系统的安装方法。在Windows系统下编译安装过程比较复杂,需要安装Visual Studio的 Visual C++ for Linux环境,相关工具几十个G,安装步骤和注意事项也很多,因此还是建议使用Linux系统(尽管这可能让一些读者望而却步)。

     在Linux下安装方法非常简单:

     $ pip install face_recognition
    

     Linux将自动安装face_recognition及其依赖的三方工具集。同时,建议下载源码:

     $ git clone https://github.com/davisking/dlib.git
     $ git clone https://github.com/ageitgey/face_recognition_models
     $ git clone https://github.com/ageitgey/face_recognition
    

     下载源码主要为了通过其示例学习三方模块的使用方法,以及了解底层调用的库和具体的实现方法,以及相关的文档。

     dlib模块实现最核心的功能——人脸关键点检测,从源码中可以看到,它主要由C++语言实现,并提供了C++和Python接口,因此,可以在不同环境下开发和使用,目前也有开发者将其移植到android手机上。

     face_recognition_models存储了训练好的模型,供face_recognition模块调用,模型的扩展名为“.dat”。

     face_recognition模块的功能代码并不多,主要是封装了dlib,简化了开发者的调用步骤。其example中有很多有趣的例程,比如:虚化人脸(类似于马赛克效果),化妆,追踪视频中的人脸,甚至还启动WebService,识别用户上传的图片;还包括与机器学习模型KNN,SVM结合使用的例程,其原理也是用dlib提取人脸特征,再加入机器学习模型训练,根据需求,生成新的模型。可将其看作图像识别在人脸识别垂直领域的细化和封装。

     dlib的使用方法并不复杂,而face_recognition则更加简单,face_recognition还提供了直接运行的两个工具:人脸检测face_dection和人脸识别face_recognition。

    二、face­_recognition例程

     本例程调用face_recognition模块,实现了人脸识别,画眉、画眼线和涂口线的功能。

    from PIL import Image, ImageDraw
    import face_recognition
    image = face_recognition.load_image_file("face2.png")
    
    face_landmarks_list = face_recognition.face_landmarks(image)
    for face_landmarks in face_landmarks_list:
     color = [238,42,68]
     pil_image = Image.fromarray(image)
     d = ImageDraw.Draw(pil_image, 'RGBA')
     print(face_landmarks.keys())
     d.polygon(face_landmarks['left_eyebrow'], fill=(68, 54, 39, 50))
     d.polygon(face_landmarks['right_eyebrow'], fill=(68, 54, 39, 50))
    
     d.polygon(face_landmarks['top_lip'], fill=(color[0], color[1], color[2], 80))
     d.polygon(face_landmarks['bottom_lip'], fill=(color[0], color[1], color[2], 80))
    
     d.line(face_landmarks['left_eye'] + [face_landmarks['left_eye'][0]], fill=(0, 0, 0, 50), width=3)
     d.line(face_landmarks['right_eye'] + [face_landmarks['right_eye'][0]], fill=(0, 0, 0, 50), width=3)
    
    pil_image.show()
    pil_image.save('out4.png')
    

    三、dlib例程

     本例程直接调用dlib模块,使用face_recognition_models中训练好的模型,识别人脸上的68个特征点。

    import dlib
    import cv2
    
    detector = dlib.get_frontal_face_detector()
    predictor = dlib.shape_predictor('/exports/git/face_recognition_models/face_recognition_models/models/shape_predictor_68_face_landmarks.dat')
    img = cv2.imread("/tmp/face2.png")
    dets = detector(img, 1)
    
    for k, d in enumerate(dets):
     print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
     k, d.left(), d.top(), d.right(), d.bottom()))
     shape = predictor(img, d)
    
     for index, pt in enumerate(shape.parts()):
      print('Part {}: {}'.format(index, pt))
      pt_pos = (pt.x, pt.y)
      cv2.circle(img, pt_pos, 1, (255, 0, 0), 2)
      font = cv2.FONT_HERSHEY_SIMPLEX
      cv2.putText(img, str(index+1),pt_pos,font, 0.3, (0, 0, 255), 1, cv2.LINE_AA)
    
    cv2.imshow('img', img)
    k = cv2.waitKey()
    cv2.destroyAllWindows()
    

    四、总结

     对于大多数的Python程序,开发者需要的90%功能三方模块都已经实现完成,很多功能都已非常成熟,剩余的10%由开发者根据需求进行适配即可完成。这使得开发者在短时间内即可实现基本功能,并且看起来非常强大,但是后期效果提升比较困难。

     个人觉得:人脸识别工具真的很适合美妆卖家,买家上传一张相片,合成各种色号的效果;在视频通话过程中察言观色;图片识别,刷脸支付,美颜相机;稍加一些艺术处理,自动生成漫画等等。

    五、参考

    1. 具体用法介绍
    https://github.com/ageitgey/face_recognition

    2.表情识别规则
    https://www.jianshu.com/p/7596e428bcfe

    展开全文
  • face_recognition是Python的一个开源人脸识别库,支持Python 3.3+和Python 2.7。引用官网介绍: Recognize and manipulate faces from Python or from the command line with the world’s simplest face ...
  •   前两篇博客讲是人脸检测,今天主要来实现一下静态照片的人脸识别。可实现功能为,给你两张自拍照,你要能检测出自拍照是否为同一人。 1相关库的安装   在前面基础上我么们还需要安装一个face-...

    前言

      前两篇博客讲的是人脸检测,今天主要来实现一下静态照片的人脸识别。可实现功能为,给你两张自拍照,你要能检测出自拍照是否为同一人。

    1 相关库的安装

      在前面的基础上我么们还需要安装一个face-recognition库,但安装这个库有一个要求,直接pip install 会出错。第一步命令行输入命令pip install CMake -i https://pypi.douban.com/simple 安装Cmake。第二步输入命令pip install dlib==19.7.0 -i https://pypi.douban.com/simple安装dlib。最后输入命令pip install face_recognition -i https://pypi.douban.com/simple安装face-recognition。

    2 相关素材的准备

      在这里我桌面准备了4张照片。分别来做一下测试。# 在这里插入图片描述

    3 相关代码编写

    例:程序有相关注释

     #  导入相关库
    import cv2
    import face_recognition
    
    #  导入待检测照片
    face_image1 = face_recognition.load_image_file(r"C:\Users\Monster\Desktop\1.jpg")
    face_image2 = face_recognition.load_image_file(r"C:\Users\Monster\Desktop\2.jpg")
    #  进行人脸识别
    face_encoding1 = face_recognition.face_encodings(face_image1)
    face_encoding2 = face_recognition.face_encodings(face_image2)
    #  获得面部位置
    face_location1 = face_recognition.face_locations(face_image1)
    face_location2 = face_recognition.face_locations(face_image2)
    #  得到识别数据
    face1 = face_encoding1[0]
    face2 = face_encoding2[0]
    #  人脸数据比对
    result = face_recognition.compare_faces([face1],face2,tolerance=0.5)
    #  如果结果是同一人显示PASS,否则显示NO
    if result == [True]:
        name = "PASS"
    else:
        name = "NO"
    #  脸部区域绘图
    for (x1,y1,w1,h1)in face_location1:
        img1 = cv2.rectangle(face_image1,(y1,w1),(h1,x1),(255,0,0),2)  # 脸部框图绘制
        cv2.putText(face_image1,name,(y1-10,w1-10),cv2.FONT_HERSHEY_COMPLEX,0.8,(0,255,0),2)
    frame1 = cv2.cvtColor(face_image1,cv2.COLOR_BGR2RGB)
    #  脸部区域绘图
    for (x1,y1,w1,h1)in face_location2:
        img2 = cv2.rectangle(face_image2,(y1,w1),(h1,x1),(255,0,0),2)  # 脸部框图绘制
        cv2.putText(face_image2,name,(y1-10,w1-10),cv2.FONT_HERSHEY_COMPLEX,0.8,(0,255,0),2)
    frame2 = cv2.cvtColor(face_image2,cv2.COLOR_BGR2RGB)
    #  结果显示
    cv2.imshow("1",frame1)
    cv2.imshow("2",frame2)
    cv2.waitKey(0)

    修改相关图片的路径即可对比不同照片。

    4 效果展示

    这个是我大一大二的照片结果为PASS是同一人。
    在这里插入图片描述
    这个是大一照片和我开了哈哈镜效果的自拍。结果显示仍为同一人。
    在这里插入图片描述
    最后是我在网上随机找了一个照片做对比,应该不算侵权,然后最后结果显示不是同一人。
    在这里插入图片描述

    总结

    从上述几个实验测试里可以看出识别效果挺好,精度还不错。
    尽管开了滤镜特效,还可以识别出是同一人。

    我们生来就不是一尘不染,同是有罪的人又何必五十步笑百步。真正的强大并不是你出淤泥而不染,而是你肯向罪恶伸手,将他们拉向光明。

    展开全文
  • python中dlib人脸识别库安装历险记

    千次阅读 2017-11-01 14:37:00
    0x00 dlib简介dlib是一款出色的人脸识别库,这个库将很多常用的人脸识别算法都封装成为函数,而且是跨平台的库,支持在CPP和PYTHON中被调用。0x01 踩坑经历dlib库是建立在其他的库打基础进行使用的,这些库主要有:...


    0x00 dlib简介

    dlib是一款出色的人脸识别库,这个库将很多常用的人脸识别算法都封装成为函数,而且是跨平台的库,支持在CPP和PYTHON中被调用。

    0x01 踩坑经历

    dlib库是建立在其他的库打基础进行使用的,这些库主要有:

    openCV,boost库等

    在windows下安装直接输入:

    pip install dlib

    是可以找到这个包的,但是,会提示安装失败,需要下载VS编译器神码的

    由于windows默认是不带编译器的,这就很麻烦啦

    而且,还需要安装boost库,需要加上boost环境变量,,,还要用cmake进行编译,十分之坑。

    我在Linux上进行安装,cmake和gcc等编译器要更简单些,但是遇到boost库这里也很麻烦:

    cmake提示说

    找不到boost:

    FindBoost.cmake文件提示出错。。。

    0x02 解决方法

    使用anaconda神器来自动完成安装过程:

    下载安装annaconda,并且配置好环境变量!!!!(一般是默认的。。我强调一下)

    在windows和linux一样,执行下面的命令行(shell):

    #linux
    conda create -n dlib python=3.5
    source activate dlib
    conda install -c menpo dlib=19.9

    说明:

    创建了python3.5环境,安装的是dlib 19.9版本

    注意:dlib和python的版本十一一对应,截至发博文时期这是最新的版本,dlib 19.9增加了好多新功能,诸如使用cnn来识别人脸,同时可以进行人脸校正等功能。

    参见:

    https://anaconda.org/menpo/dlib/


    展开全文
  • 基于python的人脸识别

    千次阅读 2020-03-31 16:40:17
    案例一:识别图片中人头像案例二:在识别图片上面添加人脸识别:重点注意,需要添加模型案例三:调用摄像头案例四:摄像头识别人脸 三个python项目实战,打造人脸识别系统! 链接 案例一:识别图片中人头像 思路:...
  • face_recognition实现人脸识别的思路: 1.给定想要识别人脸图片并对其进行编码(每个人只需要一张),并将这些不同人脸编码构建成一个列表。编码其实就是将人脸图片映射成一个128维特征向量。 2.opencv...
  • windows下安装Python3.7 及人脸识别库基础环境1、先安装Python3.7版本2、安装numpy。3、安装face_recognition以下根据需要选择安装,非必须4、安装eventlet 5、安装socketio 6、安装 requests ...
  • 基于Python的人脸识别考勤系统

    万次阅读 2019-04-08 12:55:16
    基于Python的人脸识别考勤系统 Python源文件: 基于Python3.7编程环境开发 需要安装 tkinter pil face_recognition OpenCV2 来实现人脸识别 需要安装jpush和手机上jpush APP来实现向手机推送考勤信息 ...
  • python简易人脸识别

    2021-03-29 10:54:21
    使用python进行简易的人脸识别 需要用到的库:face_recognition,os,operator 需要安装的库:dlib,cmake,boost 等 import face_recognition import os import operator #第一部分:统计工作目录中的图片数量 picture_...
  • Kairos人脸识别API Python客户端 安装 pip install . 在项目根目录中 用法 设置API密钥 该公开了可以在其中设置API密钥设置对象。 需要说明是,必须在使用任何功能之前设置API密钥: import kairos_face...
  • 主要介绍了Python基于OpenCVAdaboost实现人脸识别功能,结合实例形式分析了Python下载与安装OpenCV及相关人脸识别操作实现技巧,需要的朋友可以参考下
  • 阅读文本大概需要 11分钟。今天给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提取、识别、操作人脸。基于业内领先 ...
  • Python基于Opencv的人脸识别

    千次阅读 2020-07-31 11:43:18
    人脸识别主要需要Opencv这个,去安装 pip install Opencv-python 1.调用摄像头 # 导入cv模块 import cv2 cap = cv2.VideoCapture(0)#调用摄像头 2.找出人脸识别分类器位置 # 使用OpenCV输入人脸识别分类器...
  • Python3.6安装face_recognition人脸识别库 https://www.jianshu.com/p/8296f2aac1aa 转载于:https://www.cnblogs.com/SakuraYuanYuan/p/11406572.html
  • 本源码基于github开源库face_...需要的库:  face_recognition, Flask (Windows版安装dlib极为繁琐, 建议使用其他系统或虚拟机进行!)   最终效果: 访问网络接口, 上传两张图片, 比较是否为同一个人.   废话...
  • 基于python的人脸识别签到系 统 程序界面 第一次使用时需要在在“签到名单”文件夹中新建一个名为签到次数、内容为字符’0’txt文件 import cv2 import face_recognition from tkinter import * #准备人脸编码...
  • 使用Python进行人脸识别 这是一个使用python软件包和,用于识别双眼皮并计算眼皮褶皱峰以下子单元与眉眼单元垂直比例。 OpenCV:使用基于Haar特征级联分类器对面部不同部分进行分类 人脸识别:基于CNN模型...
  • 支持face_recognition 需要安装模块(a)安装cMake(方法自行百度,这步很简单)(b)安装dlib(这里很多坑,提供一种比较简单方法)方法如下:1.到这里 https://pypi.org/simple/dlib/ 下载后缀名为 .whl文件...
  • 本文实例讲述了Python基于OpenCV库Adaboost实现人脸识别功能。分享给大家供大家参考,具体如下: 以前用Matlab写神经网络的面部眼镜识别算法,研究算法逻辑,采集大量训练数据,迭代...需要用到的库是opencv(open s...
  • 人脸识别主要步骤: face_recognition 库的安装 安装此,首先需要安装编译dlib,此处我们偷个懒,安装软件Anaconda(大牛绕过),此软件预装了dlib. 安装好后,我们直接通过pip 安装face_recognition,命令...
  • OpenCV 是最流行计算机视觉,原本用 C 和 C++ 开发,现在也支持 Python。 它使用机器学习算法在图像中搜索人面部。对于人脸这么复杂东西,并没有一个简单检测能对是否存在人脸下结论,而需要成千上万...
  • 目前,通过利用第三方,基本实现了人脸识别功能: 总结一下问题: 1、目前仍然没有实现活体检测,准备通过外加硬件检测手段配合,实现人脸活体检测,规避作弊可能。(需要说明是,我笔记本不行,无法实现...
  • 人脸检测及识别python实现系列(5)——利用keras训练人脸识别模型 经过前面稍显罗嗦准备工作,现在,我们终于可以尝试训练我们自己卷积神经网络模型了。CNN擅长图像处理,keras库的tensorflow版亦支持此种...
  • Python进行人脸识别(四)

    千次阅读 2019-04-20 18:42:05
    python进行人脸识别(四)OpenCV基本操作读取、保存图片改变大小、灰度转换矩形、文本调用摄像头 上一节已经成功安装 OpneCV,这节介绍一下OpneCV基本用法。 OpenCV基本操作 读取、保存图片 对图片进行读取...
  • 进行人脸识别的方法有很多,最简单一种就是使用opencv与face—recognition 此文程序在PyCharm中编译运行。 (此处face_recognition需要在dilib安装好了之后才能进行安装,dilib有些难安装,具体方法请读者...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 255
精华内容 102
关键字:

python人脸识别需要的库

python 订阅