blufr 算法的理解---理解的不对的,欢迎拍砖
来源:互联网 发布:主机mac地址怎么查 编辑:程序博客网 时间:2024/05/21 08:56
现在已知的算法是lfw 有6000对,3000 对正样本,3000 对负样本,利用十重交叉验证的方式来计算识别率。
虽然在现在的lfw 数据集上已经可以达到99% 但是并不能保证在真实的场景下有比较好的性能。
作者提出了一种新的方法,主要是扩展了原来基础上只有6000 对正负样本的计算。
现在作者把lfw 数据集分成一部分训练集,一部分测试集,训练集的样本平均在3400 多张左右,训练集的选取和测试集的选取都基于一些规则(比如要求训练集有1500 个人,其中包含至少437人有2个以上的人脸,因为总共有5749 个人,所以测试集包含其余的(5729-1500)个人,大概是1243 个人有2个以上的人脸,经过测试里面含有2个人以上的人是 1680个,跟paper 里面讲的是吻合的)。
训练集对于我们的作用目前在我看来是用来求主成分分析的W 矩阵,本文要求的时候降维之后为400.
作者把原来的verfication 的任务扩展为 更接近于实际场景的verfication +DIR
verfication 任务是只校验两个人脸是不是一个人。
以第一轮为例:
作者训练部分的样本为:2952 那么相应的测试部分的样本为(13233-2952)=10281
对于测试样本经过pca 之后是降低维度之后的样本,先求norm,(如果不求norm 会对结果有什么影响)
10281 个样本之间两两求相似度.(作者采用的trick是求一个下三角的方式)
这样得到是所有10281 之间样本的相似度。 我们还可以得到这些样本之间那些是一类的,那些不是一类的
我们可以得到不是一个人的总的个数和他们的计算分值。(10281*10281-10281)/2 所有对的个数
其中负样本对的个数为:52612506 正样本对的个数为:231834
我们把这些负样本的score 从大往小排,根据:
thresholds(~isZeroFAR & ~isOneFAR) = impScore( falseAlarms(~isZeroFAR & ~isOneFAR) );
这样我们得到每个falseAlarms 点处的阈值:
FAR false accept ratio (是将其他人看做你的概率)
计算方法是:非同人分数>T/非同人比较次数
我的理解为:因为负样本为52612506 个,如果FAR 为0.0001 那么允许错分的样本数目为 52612506*0.0001=5261.2506个,那么由于负样本的score 是从上往下排的,所以只允许上面得分高的被错分掉,
那么阈值要设置为0.8293
那么我们可以计算 VR 就是正样本里面score>0.8293 的值, 与全部正样本的比值。
对DIR 我现在的理解为:
DIR 是把测试集分成三部分:一部分是gallay set G(only one image per subject was selected),由于测试集包含1242 个人, 那么除了gallay 以外的其他的人脸组成PG, 其他的人脸组成PN, 平均下来,PG 大概有4350 张图片,PN 有3249 个人的4357 张图片。(互斥的关系)
以第五轮为例: PG 有4417 个, PN 有4053 个样本
FAR 的选取方式跟VR 的方式是一样的。阈值的选取方式。
对于PN 里面的样本,都是负样本,那么我们在每一行找一个与gallay 里面的图片相似度最高的得到一个列向量。
把这些元素降序排列,
对于face verification 这个任务,我们采用ROC 曲线来刻画。
对于DIR 这个任务,采用CMC 曲线来刻画
- blufr 算法的理解---理解的不对的,欢迎拍砖
- c#的string 欢迎拍砖! 欢迎解疑!
- RequisiteWeb的理解,欢迎指正
- 业余时间写的一个项目的大致流程,欢迎拍砖
- 四则运算算法,欢迎拍砖
- Java数组学习心得,欢迎拍砖 选择自 jjjer 的 Blog
- 学Linux的一些经验,和大家交流欢迎拍砖
- 带CheckBox的net版日历生成,欢迎高手拍砖
- 写了个DOM4J 的工具类。欢迎拍砖
- 我项目使用的数据库连接管理、事务管理类(欢迎拍砖)
- 发布应用“我的东西(The Things)”,欢迎拍砖^_^
- dm365的i2c总结最终版(菜鸟入门,欢迎拍砖)
- 分享一个MVC的多层架构,欢迎大家拍砖斧正
- 匈牙利算法的理解。
- KMP算法的理解
- DP算法的理解
- 有关算法的理解
- 对算法的理解
- CodeForces 635A Orchestra(水题)
- C# 特性demo
- 关于Android中Toast使用小结
- git学习笔记之版本回退
- 值得学习的C语言开源项目
- blufr 算法的理解---理解的不对的,欢迎拍砖
- Spring AOP 实现过程的总结
- C# Random随机数、TimeZone、OperatingSystem信息、StringBuilder这个好用
- JS文件中获取路径
- Java 向上和向下转型
- 关于发布App时遇到的坑(二)
- 湘潭大学1185 Bob's Problem
- CodeForces 635B Island Puzzle
- 面试整理之DOM事件阶段