看了《7行Python的人脸识别》一文后,简单尝试了一下,发现识别准确度不够。原始图像如下:
识别后的结果:
把酒杯识别成了人脸,而该是人脸的又没有识别出来,还多余识别了一条裤子。
检查代码,最关键是第2条语句:
我们检查这个目录,发现它下面的内容是这样的:
下面有2个子目录,分别是和,这里面还包括了眼睛识别,鼻子识别,嘴巴识别等等,甚至还有猫脸识别,此外,光人脸识别就有好几种:, , , 等等,你可以挨个试一下(我试的结果是哪个也不准确)。实际上就是通过特征和特征预置了一些事先做好的结果以方便用户调用。关于这些特征是如何提取的,可以参见《图像特征提取三大法宝:HOG特征,LBP特征,Haar特征》。
那我们把第2条语句换成试一下呢?
结果也并不理想,不是没有把人脸识别出来,就是把杯子识别成了人脸,不是多了就是少了,总是不能正确识别所有人脸。
那么有没有办法提高人脸识别的准确度呢?无意中发现了这个神器,它实现了一篇大牛论文《One Millisecond Face Alignment with an Ensemble of Regression Trees》里的算法,论文标题就叫《用集成回归树实现一毫秒的人脸识别》,可见作者的自信。
膜拜完大神,直接开干!首先,安装以及相关依赖工具:
代码略作改动:
执行之后效果是这样的:
完美识别!
结论:如果要做人脸识别的话,建议选择dlib,而不要选择OpenCV。
转载请注明来自金华市宝吉环境技术有限公司 ,本文标题:《10行Python实现更快更准的人脸识别》
百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!
还没有评论,来说两句吧...