也换IP,也注册了不同的账号,但是就是有一些face detec
tion服务使用不了。
前几天和一个好朋友聊,他说有个人写的算法人脸识别准确度可以达到100张图进去训练之后,之后就有99.9%以上的可能性识别第101张图,我觉得真的非常的困难,在这样的情况,硬件就不是限制了,往往是算法更烂,(现在大部分的硬件虽然也不行,但是未来10年后绝对不会存在这个问题了)。
人脸识别主要包括 4 个步骤 :人脸图像的预处理、人脸图像的分割与定位、人脸特征提取和人脸识别. 而人脸定位和特征提取比较重要 ,其中以基于人脸的几何特征进行识别比较简单易行 ,且识别率较高.
在一组训练图像中 ,得到几个特征矢量矩阵 ,通过计算方差来决定相应的权值. 再将这些权值用于相似度计算中 ,根据设置的判决门限 ,即可得到识别结果. 计算出的权值 ,对于那些特征变化大的有一定的削弱作用 ,也增强了特征变化小的作用 ,应用于人脸等具有易变性的图像处理中 ,具有一定的稳健性.
其实opencv里有许多优化已经不错,封装也比较完善的库可以直接使用,但是自己写也是可以的。
知乎的大神回答的就非常好:
确定两张脸的相似性,分为如下几个步骤:
1,人脸检测,找到图像中人脸所在的位置,经典方法为haar+adaboost;
2,脸部特征点定位,包括眼球中心点,还可以进一步包括脸颊等轮廓特征点,经典方法包括基于
haar+adaboost的眼睛定位,和asm等alignment方法等;
3,人脸几何归一化,根据脸部特征点位置从图像中得到归一化的人脸区域图像,这一步主要是使得不同人脸上
的像素对应的人脸位置一致,这样才有可比性,这个步骤可以看作是一个对图像进行仿射变化的过程;
4,人脸光照归一化,主要目的是克服不同光照对人脸的影响,提高算法对光照条件的鲁棒性,预处理方法很
多,自商,或者DOG等方法效果较好;
5,人脸表示(特征提取),比如gabor特征和上述的lbp特征,常常会对多种特征进行融合;
6,鉴别特征提取,就是将高维的人脸特征映射到分类能力更强的低维特征,成熟的思路是PCA+LDA的方法;
7,计算两个脸得到的鉴别特征之间的距离,作为相似度衡量,距离最经典的是cos距离;
大家请看 https://github.com/potatozhao/OpenCV_PCA_LBP