关于测试LFW的识别正确率

来源:互联网 发布:在线预约系统asp源码 编辑:程序博客网 时间:2024/06/06 05:51

写于2017.6.7


本科毕业设计是《基于DL的人脸识别算法研究》,感谢MR.GAO提供给我接触DL的机会。我只是一个平庸的不能再平庸的二流本科生小白。


前两天刚刚完成答辩,顺利通过,非常开心。回首毕设工作的种种辛酸,还是很感恩这段时间的磨练,一方面更加深刻的认识了DL(deep learning),一方面也开阔了眼界。未来的研究生估计也不搞这个了,真的算是纪念留念作品吧。


先大概介绍下我的主要工作:寻找一个效果比较好的模型(我用的牛津VGG)也没有经过train,verification,直接就利用贾sir的CAFFE加载使用,然后成功识别人脸。当然为了提高精度,检测处理人脸模块首选国内于仕琪老师的开源杰作与DLIB库68点人脸对齐效果强强联手,最后将人脸导入模型提取特征(4096最好),得出相似度识别。


最后为了充实论文,添加了一个任务,就是对这个系统采用的方法进行测试,我选择的是LFW view2协议,需要做这个的而且不懂的可自行查阅资料,这里面最麻烦的是6000对人脸需要人脸检测矫正剪切,而且需要批处理,你要一张张处理不知道猴年马月搞的定了。最后我采用了GitHub上开源的face_tools,一键批处理。处理后的人脸我打包放在CSDN下载了,希望各位有需要的可以下载(效果有限请见谅)。如果你需要效果更好地可自行寻找MTCNN的算法处理人脸。


--------------------------------------------------------------------------------

LFW view2 对齐剪切成品 下载地址:


http://download.csdn.net/download/qq_23947237/10046411 

--------------------------------------------------------------------------------

生成ROC曲线如下,最后感谢论坛的两位博主ChenJoya与csuwujiyang,在你们的文章【参考文章链接在最下面】指示下我完成了毕设,再次感谢。


在最后我贴一下在Linux服务器上的代码和问题解释:

1) 为了在服务器使用pycaffe

export PYTHONPATH=/data/caoyashuai/caffe/python:$PYTHONPATHpython vgg_lfw.py
2) 计算余弦相似度cos_sim而非余弦距离cos_dis [注:cos_dis=1-cos_sim]

#进行距离计算  cosine相似度 这里用dis表示相似度    print "computing distance..."    dis = pw.pairwise_distances(leftfeature, rightfeature, metric='cosine')    dis = 1-dis    distance = np.empty((len(labels),))    for i in range(len(labels)):        distance[i] = dis[i][i]    print 'Distance before normalization:\n', distance    print 'Distance max:', np.max(distance), 'Distance min:', np.min(distance), '\n'#计算识别率,    选取阈值,计算识别率    '''         accuracy = {}    predict = np.empty((num,))    threshold = 0.1    while threshold <= 0.9 :        for i in range(num):            if distance[i] >= threshold:                predict[i] = 1            else:                predict[i] = 0        predict_right =0.0        for i in range(num):            if predict[i] == labels[i]:               predict_right += 1.0        current_accuracy = (predict_right / num)        accuracy[str(threshold)] = current_accuracy        threshold = threshold + 0.001



致谢参考:

【1】http://blog.csdn.net/u013078356/article/details/60955197

【2】http://blog.csdn.net/mr_curry/article/details/52714020



原创粉丝点击