Dlib库与人脸检测

dlib

Dlib是一个机器学习的C++库,包含了许多机器学习常用的算法。Dlib官网地址

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

特点是:

  • 文档齐全
  • 高质量的可移植代码
  • 提供大量的机器学习 / 图像处理算法

git地址:https://github.com/davisking/dlibDlib

openCV

OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV 使用类BSDlicense,所以对非商业应用和商业应用都是免费(FREE)的。

可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

最新版本是3.4 ,2017年12月23日发布 。

OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。 OpenCV 为Intel® Integrated Performance Primitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的 IPP 库,OpenCV 将在运行时自动加载这些库。

python 版本 opencv-python

pip install --upgrade setuptools
pip install numpy Matplotlib
pip install opencv-python

numpy

np.linalg.norm

linalg = linear + algebra,normnorm则表示范数,首先需要注意的是范数是对向量(或者矩阵)的度量,是一个标量(scalar):

首先help(np.linalg.norm)查看其文档:

norm(x, ord=None, axis=None, keepdims=False)

x 表示要度量的向量,ord表示范数的种类,

pyqt5 and pycharm

用过VS(c++)、anaconda3的spide,这次用了下pycharm,调试风格与VS很像,不过集成了QTdesign/pyuic/pyrcc等工具后,还是非常好用的。

这次在上面写了一个人脸识别检测的程序,带界面,还是很方便的,比用C++的QT快了好多,这就是脚本化的快捷!

贴上一个界面图,如下:

人脸识别界面

效果还是很不错的,不过速度不是很快,支持图片和视频。用C++重写会快好多。

参考:

  1. Dlib库介绍(一)
  2. 应用一个基于Python的开源人脸识别库,face_recognition
  3. 共有65款 计算机视觉库/人脸识别开源软件
  4. Dlib 实现人脸的68点检测
  5. python+OpenCv+dlib实现人脸68个关键点检测并标注
  6. Dlib格式与Opencv之间的转化
  7. OPENCV 文档
  8. Python环境搭建之OpenCV
  9. numpy.linalg学习
  10. 范数(机器学习中的使用)
  11. 几种范数的简单介绍