欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tsaiedu,并注明消息来源,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:supersayajin,深度学习爱好者。
博客园地址:https://www.cnblogs.com/supersayajin/
在计算机视觉和机器学习方向有一个特别好用但是比较低调的库,也就是dlib,与opencv相比其包含了很多最新的算法,尤其是深度学习方面的,因此很有必要学习一下。恰好最近换了一台笔记本,内含一块GTX1060的显卡,可以用来更快地跑深度学习算法。以前用公司HP的工作站配置过dlib,GPU是Quadro K420,用dlib自带的人脸识别算法(ResNet)测试过,相比较1060的速度确实要快上很多。dlib、cuda和cudnn的版本经常会更新,每次重新配置环境会遇到一些问题,在这里记下来吧。
一、dlib介绍
介绍
dlib是一个非常非常非常好用的机器学习库,所有的源代码都用C++实现,而且也提供了编译得到的供python使用的接口。很多算法在工业界和学术界都取得了广泛应用,有不少对实时计算的性能要求很高的场合已经用到这些了吧,比如嵌入式、手机等等。官方网址戳这里: http://dlib.net/,官方博客http://blog.dlib.net/也会经常更新一些新的算法介绍,不过博客网站可能需要FQ,下面的评论很多~从官网的介绍可以看出来里面实现了不少像矩阵计算、图像处理、机器学习之类的算法,并且提供了好用的接口;你可以按照教程使用cmake+vs2015(这个至少需要比update3的vs版本,否则cmake会报错)编译得到lib库,然后在C++环境下对库中的算法进行使用,不过对于很多人还是喜欢用python来捣鼓~~一般情况直接用pip安装就可以了。不过非常重要的一点是,默认的安装是不带某些特殊功能的,比如使用GPU对深度学习算法进行加速,或者利用CPU架构的特性提高逻辑运算的速度,这种情况下需要手动编译了,这个在后面部分会提高怎样配置这些~
与opencv的比较
大部分同学接触的计算机视觉方面的库应该是opencv,不过相比较而言dlib提供了一些最近几年很新的算法,而且实现的效果非常的好,比如在人脸检测方面,opencv依然用的是Viloa-Jones的haar特征+adaboost级联分类的经典算法,opencv自带的训练模型跑起来的检测效果会很差;dlib上会使用到HOG特征+回归树,其提供的已经训练好的模型检测效果要远好于opencv上面的,不过代价是提高了计算开销,在我的机器上测试一张640x480的图像大概需要0.2s不到;不过dlib也封装了一套用cnn实现的人脸检测算法,如果开启了cuda,检测同