等错误率曲线 matlab,Matlab图像处理:误拒率、误识率意义,计算等错误率的Matlab源码(网络首发)...

图像处理中经常有误拒率和误识率两个概念,今天简介下。

误拒率,就是错误拒绝的意思,指的类内匹配。如果有10个志愿者的样本,每个志愿者20幅样本。那么相对于类内测试,比如对1号志愿者,同一类的这20幅图片之间,互相匹配,假设1:1的匹配,互相不重复能够进行(20*19)/2次。如果10个志愿者都进行这么测试,就是10*(20*19)/2次。这是总的类内匹配次数。预设定阈值为TH,如果匹配值th>TH就会错误拒绝。

误识率,指错误接受的概率,相对于类间匹配而言。不同的类之间进行的匹配,如果阈值th小于预设阈值TH,就会认为属于同一类,这种情况就是错误接受。

计算公式如下:

0818b9ca8b590ca3270a3433284dd417.png

因为FRR和FAR互相矛盾,所以当两者相等时的概率就是等错误率。当阈值为TH时,此时对应的FRR有个数值、FAR有个数值。这样得到一组对应的FRR和FAR,以FAR为横坐标,FRR为纵坐标画曲线,就是ROC曲线。再画y=x的曲线,两个曲线相交时对应的横坐标或纵坐标就是等错误率,这个时候对应的阈值就是最优的。

典型的ROC曲线示意图:

0818b9ca8b590ca3270a3433284dd417.png

网上至今没有计算等错误率和画ROC的Matlab源码,我写了一个,仅供大家参考:

核心代码如下:

function out = YanEER(leinei, leijian)

NGRA = length(leinei); %类内测试的次数 对应误据率 FRR

NIRA = length(leijian); %类间测试的次数 对应误识率, FAR

FRR = [];

FAR = [];

th = 0.1:0.02:0.55; %阈值,一共xxx个

for i=1:length(th)

frr = sum(leinei>th(i))/NGRA; %大于预设阈值的 就错误的拒绝了

FRR=[FRR frr];

far = sum(leijian

FAR = [FAR far];

end

这里面的th是用来控制预设定阈值的,可以根据自己的需要设置。一般它跟你输入的参数的最小值和最大值有关系,也可以和这两个最值关联起来。另外,计算frr的时候也可以乘上100,这时坐标系就是(%)。大家灵活修改吧。

-----------------------本文系原创,转载请注明作者:yanzi1225627

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值