本篇文章给大家分享的是有关OpenCV中怎么实现人脸识别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1.人脸检测,OpenCV使用Caffe训练好的SSD检测模型检测人脸;
2.提取人脸嵌入特征,OpenCV使用OpenFace工程中的FaceNet模型提取深度学习人脸嵌入特征;
3.训练人脸识别模型,使用scikit-learn中的SVM算法在人脸嵌入特征上训练分类器;
4.使用步骤3中训练的模型在图像和视频中识别人脸。
作者收集的数据库就是他们夫妻两个人的照片,并增加了“unknown”类来自电影侏罗纪公园的部分剧照。每类只有6幅图片。
看看效果
虽然库很小,但还是能将这甜蜜小两口认出来的。
不过也出现了一些看起来不太理想的情况。毕竟数据库太小了。
作者又探讨了下如何提高人脸识别系统的识别率:
1.收集更多的数据,作者推荐最少每人10-20张人脸图像;
2.增加人脸对齐预处理,相当于包含旋转、尺度、平移的人脸几何归一化;
3.调整超参数;
4.使用dlib的深度学习嵌入特征提取,嗯,dlib开源的人脸识别模型比较强大。
参见:
http://blog.dlib.net/2017/02/high-quality-face-recognition-with-deep.html
为什么要在使用SVM分类器而不是end-to-end训练?
因为数据库太小没法训练,通常的做法就是使用在大库上训练的人脸模型提取特征,使用传统的分类算法识别人脸。
Adrian在博文中说“As I mentioned in the introduction to today’s face recognition post, I was just married over the weekend, so this post is a “gift” to my new wife .“
以上就是OpenCV中怎么实现人脸识别,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。