问答
直播中

中科院

10年用户 208经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 嵌入式技术 连接器 光电显示 存储技术 接口/总线/驱动 控制/MCU RF/无线
私信 关注

【Z-turn Board试用体验】+ Z-Turn的人脸识别门禁系统项目开发(五)

也换IP,也注册了不同的账号,但是就是有一些face detection服务使用不了。
前几天和一个好朋友聊,他说有个人写的算法人脸识别准确度可以达到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

更多回帖

发帖
×
20
完善资料,
赚取积分