dlib_dlibdotnet - CSDN
精华内容
参与话题
  • Py之dlib:Python库之dlib库的简介、安装、使用方法详细攻略 目录 dlib库的简介 dlib库的安装 dlib库的使用函数 0、利用dlib.get_frontal_face_detector函数实现人脸检测可视化 1、hog提取特征的函数 2...

    Py之dlib:Python库之dlib库的简介、安装、使用方法详细攻略

     

     

     

    目录

    dlib库的简介

    dlib库的安装

    dlib库的使用函数

    0、利用dlib.get_frontal_face_detector函数实现人脸检测可视化

    1、hog提取特征的函数

    2、CNN提取特征的函数

     


     

    dlib库的简介

        一个机器学习的开源库,包含了机器学习的很多算法,使用起来很方便,直接包含头文件即可,并且不依赖于其他库(自带图像编解码库源码)。Dlib可以帮助您创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。

    Dlib是一个使用现代C++技术编写的跨平台的通用库,遵守Boost Software licence. 主要特点如下: 

    • 完善的文档:每个类每个函数都有详细的文档,并且提供了大量的示例代码,如果你发现文档描述不清晰或者没有文档,告诉作者,作者会立刻添加。 
    • 可移植代码:代码符合ISO C++标准,不需要第三方库支持,支持win32、Linux、Mac OS X、Solaris、HPUX、BSDs 和 POSIX 系统 
    • 线程支持:提供简单的可移植的线程API 
    • 网络支持:提供简单的可移植的Socket API和一个简单的Http服务器 
    • 图形用户界面:提供线程安全的GUI API 
    • 数值算法:矩阵、大整数、随机数运算等 
    • 机器学习算法:
    • 图形模型算法: 
    • 图像处理:支持读写Windows BMP文件,不同类型色彩转换 
    • 数据压缩和完整性算法:CRC32、Md5、不同形式的PPM算法 
    • 测试:线程安全的日志类和模块化的单元测试框架以及各种测试assert支持
    • 一般工具:XML解析、内存管理、类型安全的big/little endian转换、序列化支持和容器类
       


    dlib pypi
    dlib库
    dlib c++ library

     

     

    dlib库的安装

    本博客提供三种方法进行安装

    T1方法:pip install dlib

    此方法是需要在你安装cmake、Boost环境的计算机使用

    T2方法:conda install -c menpo dlib=18.18

    此方法适合那些已经安装好conda库的环境的计算机使用,conda库的安装本博客有详细攻略,请自行翻看。

    T3方法:pip install dlib-19.8.1-cp36-cp36m-win_amd64.whl

    dlib库的whl文件——dlib-19.7.0-cp36-cp36m-win_amd64.rar

    dlib-19.3.1-cp35-cp35m-win_amd64.whl

    哈哈,大功告成!如有资料或问题需求,请留言!

     

     

    dlib库的使用函数

    0、利用dlib.get_frontal_face_detector函数实现人脸检测可视化

    CV之dlib:利用dlib.get_frontal_face_detector函数实现人脸检测

     

    1、hog提取特征的函数

    dlib.get_frontal_face_detector()    #人脸特征提取器,该函数是在C++里面定义的

    help(dlib.get_frontal_face_detector())
    Help on fhog_object_detector in module dlib.dlib object:
    
    class fhog_object_detector(Boost.Python.instance)
     |  This object represents a sliding window histogram-of-oriented-gradients based object detector.
     |
     |  Method resolution order:
     |      fhog_object_detector
     |      Boost.Python.instance
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __call__(...)
     |      __call__( (fhog_object_detector)arg1, (object)image [, (int)upsample_num_times=0]) -> rectangles :
     |          requires
     |              - image is a numpy ndarray containing either an 8bit grayscale or RGB
     |                image.
     |              - upsample_num_times >= 0
     |          ensures
     |              - This function runs the object detector on the input image and returns
     |                a list of detections.
     |              - Upsamples the image upsample_num_times before running the basic
     |                detector.
     |
     |  __getstate__(...)
     |      __getstate__( (fhog_object_detector)arg1) -> tuple
     |
     |  __init__(...)
     |      __init__( (object)arg1) -> None
     |
     |      __init__( (object)arg1, (str)arg2) -> object :
     |          Loads an object detector from a file that contains the output of the
     |          train_simple_object_detector() routine or a serialized C++ object of type
     |          object_detector<scan_fhog_pyramid<pyramid_down<6>>>.
     |
     |  __reduce__ = <unnamed Boost.Python function>(...)
     |
     |  __setstate__(...)
     |      __setstate__( (fhog_object_detector)arg1, (tuple)arg2) -> None
     |
     |  run(...)
     |      run( (fhog_object_detector)arg1, (object)image [, (int)upsample_num_times=0 [, (float)adjust_threshold=0.0]]) -> tuple :
     |          requires
     |              - image is a numpy ndarray containing either an 8bit grayscale or RGB
     |                image.
     |              - upsample_num_times >= 0
     |          ensures
     |              - This function runs the object detector on the input image and returns
     |                a tuple of (list of detections, list of scores, list of weight_indices).
     |              - Upsamples the image upsample_num_times before running the basic
     |                detector.
     |
     |  save(...)
     |      save( (fhog_object_detector)arg1, (str)detector_output_filename) -> None :
     |          Save a simple_object_detector to the provided path.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  run_multiple(...)
     |      run_multiple( (list)detectors, (object)image [, (int)upsample_num_times=0 [, (float)adjust_threshold=0.0]]) -> tuple :
     |          requires
     |              - detectors is a list of detectors.
     |              - image is a numpy ndarray containing either an 8bit grayscale or RGB
     |                image.
     |              - upsample_num_times >= 0
     |          ensures
     |              - This function runs the list of object detectors at once on the input image and returns
     |                a tuple of (list of detections, list of scores, list of weight_indices).
     |              - Upsamples the image upsample_num_times before running the basic
     |                detector.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __instance_size__ = 160
     |
     |  __safe_for_unpickling__ = True
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Boost.Python.instance:
     |
     |  __new__(*args, **kwargs) from Boost.Python.class
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Boost.Python.instance:
     |
     |  __dict__
     |
     |  __weakref__

    2、CNN提取特征的函数

    cnn_face_detector = dlib.cnn_face_detection_model_v1(cnn_face_detection_model)

    help(dlib.cnn_face_detection_model_v1)
    Help on class cnn_face_detection_model_v1 in module dlib.dlib:
    
    class cnn_face_detection_model_v1(Boost.Python.instance)
     |  This object detects human faces in an image.  The constructor loads the face detection model from a file. You can download a pre-trained model from http://dlib.net/files/mmod_human_face_detector.dat.bz2.
     |
     |  Method resolution order:
     |      cnn_face_detection_model_v1
     |      Boost.Python.instance
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __call__(...)
     |      __call__( (cnn_face_detection_model_v1)arg1, (object)img [, (int)upsample_num_times=0]) -> mmod_rectangles :
     |          Find faces in an image using a deep learning model.
     |                    - Upsamples the image upsample_num_times before running the face
     |                      detector.
     |
     |      __call__( (cnn_face_detection_model_v1)arg1, (list)imgs [, (int)upsample_num_times=0 [, (int)batch_size=128]]) -> mmod_rectangless :
     |          takes a list of images as input returning a 2d list of mmod rectangles
     |
     |  __init__(...)
     |      __init__( (object)arg1, (str)arg2) -> None
     |
     |  __reduce__ = <unnamed Boost.Python function>(...)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __instance_size__ = 984
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Boost.Python.instance:
     |
     |  __new__(*args, **kwargs) from Boost.Python.class
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Boost.Python.instance:
     |
     |  __dict__
     |
     |  __weakref__

     

    inline frontal_face_detector get_frontal_face_detector()
     


     

    展开全文
  • 图片人脸检测——Dlib

    千次阅读 2019-06-05 12:54:30
    马上就五一了,发呆的时候想到了之前接触过一点儿的Dlib,在c++下的使用,正好今天有人问起了会不会OpenCV,于是… dlib与OpenCV对比:识别精准度:Dlib >= OpenCV,Dlib更多的人脸识别模型,可以检测脸部68甚至...

    马上就五一了,发呆的时候想到了之前接触过一点儿的Dlib,在c++下的使用,正好今天有人问起了会不会OpenCV,于是…

    dlib与OpenCV对比:识别精准度:Dlib >= OpenCV,Dlib更多的人脸识别模型,可以检测脸部68甚至更多的特征点。Dlib是一个跨平台的C++公共库,除了线程支持,网络支持,提供测试以及大量工具等等优点,Dlib还是一个强大的机器学习的C++库,包含了许多机器学习常用的算法。同时支持大量的数值算法如矩阵、大整数、随机数运算等等。Dlib同时还包含了大量的图形模型算法。
    Dlib主页:http://dlib.net/
    之前是在vs环境下,今天主要说一下在ubuntu下的环境配置。人脸标记的算法也是来自Dlib库,Dlib实现了One Millisecond Face Alignment with an Ensemble of Regression Trees中的算法(http://www.csc.kth.se/~vahidk/papers/KazemiCVPR14.pdf,作者为Vahid Kazemi 和Josephine Sullivan)

    安装模块:之前使用的一些模块numpy、python-dev、python-scipy、python-matplotlib等,还是“缺啥装啥”就可以。

    安装dlib

    首先必须安装libboost,不然是不能使用.so库的:

     sudo apt-get install libboost-python-dev cmake
    

    以dlib-18.17为例:下载在自己的一个目录下 链接:https://pan.baidu.com/s/1QWL1XA9E79KiVuTgotPaIA 提取码:qfmz

    之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake

    cd  /home/*****/dlib-18.17/python_examples
    
    sudo chmod 777 /home/*****/dlib-18.17/python_examples/compile_dlib_python_module.bat 
    
    ./compile_dlib_python_module.bat 
    

    之后会得到一个dlib.so,复制到dist-packages目录下即可使用(视自己的电脑python版本而定的对应目录)

    sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/
    或者 sudo cp dlib.so /usr/local/lib/python3.5/dist-packages/
    

    安装skimage的时候,发现有问题
    (1)from skimage import io 报错,找不到模块,直接安装发现pip版本不对
    在这里插入图片描述
    (2)sudo apt-get install python-skimage 发现已经安装

    在这里插入图片描述
    (3)sudo apt-get install scikit-image
    在这里插入图片描述

    之后使用 sudo -H python3 -m pip install scikit-image完成了.whl的安装

    在这里插入图片描述
    需要注意的是,在py文件import的时候,不需要from scikit-image import io,否则会报错“SyntaxError: invalid syntax”输入符号错误,直接使用from skimage import io即可。

    测试照片:
    控制台命令行输入:python3 test.py ./data/2.jpg

    # -*- coding: utf-8 -*-
    
    import sys
    import dlib
    from skimage import io
    
    #使用dlib自带的frontal_face_detector作为我们的特征提取器
    detector = dlib.get_frontal_face_detector()
    
    #使用dlib提供的图片窗口
    win = dlib.image_window()
    
    #sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始向后依次获取图片路径
    for f in sys.argv[1:]:
    
        #输出目前处理的图片地址
        print("Processing file: {}".format(f))
    
        #使用skimage的io读取图片
        img = io.imread(f)
    
        #使用detector进行人脸检测 dets为返回的结果
        dets = detector(img, 1)
    
        #dets的元素个数即为脸的个数
        print("Number of faces detected: {}".format(len(dets)))
    
        #使用enumerate 函数遍历序列中的元素以及它们的下标
        #下标i即为人脸序号
        #left:人脸左边距离图片左边界的距离 ;right:人脸右边距离图片左边界的距离 
        #top:人脸上边距离图片上边界的距离 ;bottom:人脸下边距离图片上边界的距离
        for i, d in enumerate(dets):
            print("dets{}".format(d))
            print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}"
                .format( i, d.left(), d.top(), d.right(), d.bottom()))
    
        #也可以获取比较全面的信息,如获取人脸与detector的匹配程度
        dets, scores, idx = detector.run(img, 1)
        for i, d in enumerate(dets):
            print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i]))    
    
        #绘制图片(dlib的ui库可以直接绘制dets)
        win.set_image(img)
        win.add_overlay(dets)
    
        #等待点击
        dlib.hit_enter_to_continue()
    
    

    在这里插入图片描述

    from skimage import io
    import matplotlib.pyplot as plt
    img=io.imread(‘2.jpg’)
    io.imshow(img)
    plt.show()

    在这里插入图片描述

    展开全文
  • Dlib库介绍(一)

    万次阅读 2017-09-18 11:35:16
    Dlib是一个包含机器学习算法的C++开源工具包。Dlib可以帮助您创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算...

    Dlib是一个包含机器学习算法的C++开源工具包。Dlib可以帮助您创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。

    Dlib是开源的、免费的;官网和git地址:

    # 官网
    http://dlib.net/
    # github
    https://github.com/davisking/dlib

    Dlib的主要特点:

    1. 文档齐全

    不像很多其他的开源库一样,Dlib为每一个类和函数提供了完整的文档说明。同时,还提供了debug模式;打开debug模式后,用户可以调试代码,查看变量和对象的值,快速定位错误点。另外,Dlib还提供了大量的实例。

    2. 高质量的可移植代码

    Dlib不依赖第三方库,无须安装和配置,这部分可参照(官网左侧树形目录的how to compile的介绍)。Dlib可用在window、Mac OS、Linux系统上。

    3. 提供大量的机器学习 / 图像处理算法

    >> 深度学习

    >> 基于SVM的分类和递归算法

    >> 针对大规模分类和递归的降维方法

    >> 相关向量机(relevance vector machine);是与支持向量机相同的函数形式稀疏概率模型,对未知函数进行预测或分类。其训练是在贝叶斯框架下进行的,与SVM相比,不需要估计正则化参数,其核函数也不需要满足Mercer条件,需要更少的相关向量,训练时间长,测试时间短。

    >> 聚类: linear or kernel k-means, Chinese Whispers, and Newman clustering. Radial Basis Function Networks

    >> 多层感知机

    详细内容可参加官网介绍


    展开全文
  • 利用VS2015+Qt580+dlib+opencv实现人脸68个特征点的检测,USB摄像头下可以实时检测,可以基于此代码实现换脸、换卡通五官、人脸考勤等···,资源包含源代码和可执行程序(release文件夹下的exe文件可以直接运行...
  • dlib直接安装

    2020-07-29 14:18:29
    dlib安装,这个whl文件,可以直接使用pip安装,不必再用繁杂的配置过程,非常方便
  • Dlib库的安装与使用

    千次阅读 2019-03-31 21:03:11
    —-dlib安装—— 1、下载文件 首先需要从网上下载 dlib:http://dlib.net/ 或者 https://github.com/davisking/dlib 下载完成后,解压缩 这时候需要的是dist文件夹中的下面图片中的两个文件夹(这里先不用管,下面...

    —-dlib安装——
    1、下载文件
    首先需要从网上下载
    dlib:http://dlib.net/ 或者 https://github.com/davisking/dlib
    下载完成后,解压缩
    在这里插入图片描述
    这时候需要的是dist文件夹中的下面图片中的两个文件夹(这里先不用管,下面已经完成的):

    2、编译
    ->打开终端,并且定位在dlib文件夹,使用python setup.py install产生上面的文件夹
    在运行上面的命令时可能会遇见以下两种问题:
    ①在运行的时候会出现找不到cmake的问题
    解决方法:
    当遇见这个问题的时候,说明你的系统环境中并没有cmake,所以这时候需要你在你的电脑上安装cmake编译环境。
    ->官网下载安装包:https://cmake.org/download/

    在这里插入图片描述
    ->下载完成之后,解压缩,然后将cmake的bin文件夹添加在系统环境路径中。
    在这里插入图片描述
    ->添加环境变量
    在这里插入图片描述
    然后理论上讲,应该不会出现cmake的错误,但是后面会出现第二个错误
    ②再次运行python setup.py install,出现could not find boost的问题
    解决方法:
    ->安装boost:下载地址:http://www.boost.org/
    ->下载相应的版本(可以选择最新的下载)

    在这里插入图片描述
    ->下载之后将其解压缩,进入boost_1_66_0文件夹中,找到bootstrap.bat批处理文件,双击运行,等待运行完成后(命令行自动消失)
    ->在boost_1_66_0\tools\build文件夹下找到以下两个文件:
    在这里插入图片描述
    ->然后将这两个文件复制到boost_1_66_0根文件夹下:
    ->同样开启一个命令行,定位到这个文件夹,运行命令:
    b2 install
    ->利用b2编译库文件:
    b2 -a –with-python address-model=64 toolset=msvc runtime-link=static
    ->之前你cmake下载的64位这里(address-model)写64,如果是32位的就把之前的64改成32
    ->然后将boost添加到环境变量中:

    ③运行完成之后,重新运行python setup.py install
    3、耐心等待,即可获得上面的dlib中的两个文件夹
    4、将其添加到python的lib中:
    —>例如我的python环境为python2.7,
    —>所以将其放在python2-7文件夹的Python2-7\Lib\site-packages中
    —>这时,就已经完成了dlib的配置

    展开全文
  • Python 安装dlib解决办法

    万次阅读 2018-07-09 01:11:29
    pypi.python.org/pypi/dlib/19.6.0 下载 dlib-19.6.0-cp36-cp36m-win_amd64.whl 成功安装 dlib 但是import 时候失败 尝试 pip install dlib==19.6.1 成功import。 其他版本下载 ...
  • Dlib介绍

    万次阅读 2019-01-05 23:12:36
    Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具。它广泛应用于工业界和学术界,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。Dlib的开源...
  • Dlib快速入门

    千次阅读 2019-03-15 18:42:00
    Dlib由C++编写,提供了和机器学习、数值计算、图模型算法、图像处理等领域相关的一系列功能 官方网站:http://dlib.net/ Github项目:https://github.com/davisking/dlib 安装 安装Dlib之前需要先安装cmake,这里...
  • dlib优化

    2019-01-12 11:26:11
    dlib优化   转自: https://blog.csdn.net/teleger/article/details/81382202 1.首先不做特别申明,dlib库为开源代码,具体是做什么的,请读者自行查阅。 2.本文只对dlib相关检测人脸代码进行详细解读优化指南...
  • dlib 配置及使用方法

    千次阅读 2019-03-02 23:08:48
    py3.6+dlib:目前window这么配置不会报错。dlib去官网或者python包网(https://pypi.org/simple/dlib/)都能下载,下载到本地,然后pip直接安装就好。 使用 准备工作 dlib之所以能识别脸部关键点是因为他是深度...
  • OpenCV/DLib人脸检测

    2020-08-24 10:40:51
    在python环境下实现人脸检测有多种方式,最简单易用的是使用opencv或者dlib,两者都提供了经典方法和深度学习方法进行人脸检测: opencv haar cascade检测:haarcascade_frontalface_alt.xml opencv dnn模块加载预...
  • python3.7添加dlib模块

    万次阅读 多人点赞 2018-11-19 16:21:45
    1.下载dlib安装包 安装dlib真是费劲,dlib下载地址:http://dlib.net/files/ 我下载的是dlib-19.14.zip,然后解压安装dlib 在安装dlib前需要安装Boost和Cmake,dlib19之后你需要安装vs2015以上的IDE,本人是...
  • 用pip安装dlib失败总结方法

    万次阅读 2018-01-08 08:10:53
    pip install dlib 安装时报这个错误:TypeError: parse() got an unexpected keyword argument 'transport_encoding' 在网上找到了解决方法时需要更新pip包 conda install pip 执行后发现还是不成功 再次执行 ...
  • dlib各版本下载地址

    千次阅读 2019-03-28 21:59:30
    dlib各版本下载地址:https://pypi.org/simple/dlib/
  • no moudle named dlib

    万次阅读 2018-06-05 12:32:52
    在使用pycharm导入dlib时提示错误 no moudle named dlib打开cmd窗口 输入指令 pip install dlib 结果各种提示错误,安装不上。有说要先安装Cmake的,结果装上了Cmake,配置好环境变量,还是依旧提示错误,如下图...
  • 成功解决Building wheels for collected packages: dlib Running setup.py bdist_wheel for dlib ... error 目录 解决问题 解决思路 解决方法 解决问题 Collecting dlib Using cached dlib-19.10.0.tar....
  • python3.7成功安装dlib库(亲测成功喔)

    万次阅读 多人点赞 2019-07-13 10:06:39
    不知道为什么python3.7版本安装dlib不能直接用pip,真的超级麻烦。然后看了其他一些博客感觉挺复杂的,boost居然也要设置环境变量,而且问题很多。我大概花了一天的时间才总算弄好,而且也不是很复杂。 1.先去下载...
  • Anaconda环境下安装dlib

    千次阅读 2017-12-27 11:53:34
    dlib是目前人脸检测方面常用到的一个库,检测的灵敏度和标记点的准确度都比较高,所以受到很多人的青睐。 1.打开cmd; 2.输入 conda install -c menpo dlib=18.18 3.安装成功。
  • 安装dlib失败的一种原因及解决方法

    千次阅读 2019-03-08 16:23:06
    在安装dlib扩展包时,发现总是安装失败,提示: Failed building wheel for dlib 解决方法:虽然是个很奇怪的问题了,但我发现应该是python版本的问题,python3.6虚拟环境下,无法安装。 但是在python3.5虚拟...
1 2 3 4 5 ... 20
收藏数 9,716
精华内容 3,886
关键字:

dlib