OpenCV中怎么实现人脸识别

2023-06-26

本篇文章给大家分享的是有关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中怎么实现人脸识别,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注本站行业资讯频道。

《OpenCV中怎么实现人脸识别.doc》

下载本文的Word格式文档,以方便收藏与打印。