Py之dlib:Python库之dlib库的简介、安装、使用方法详细攻略
Py之dlib:Python库之dlib库的简介、安装、使用方法详细攻略
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()