学习笔记--bag of words(3)--roc曲线,precision/recall曲线,ap

本文介绍如何使用OpenCV生成ROC(接收者操作特性)曲线和Precision-Recall(精确率-召回率)曲线,并通过gnuplot工具进行可视化。文章详细描述了计算图像置信度、精确率及召回率的过程,最终生成可视化图表。
摘要由CSDN通过智能技术生成

关于这两个曲线的概念可以看wiki

http://en.wikipedia.org/wiki/ROC_curve  roc

http://en.wikipedia.org/wiki/Precision_and_recall precision

 

recall 翻译为召回,或者叫做查全率,我理解叫做调出率更好。

ap就是平均正确率,average precision,还有map,mean ap,宏平均正确率

 

这里主要涉及如何画这两个曲线。

 

opencv中的例子,生成的是plt文件,这个文件可以用gnuplot来运行。

gnuplot的使用可以看

http://t16web.lanl.gov/Kawano/gnuplot/intro/working-e.html

 

例子已经生成了plt文件。

只要通过 gnuplot < **。plt就可以了。例子中的输出是一个png文件,一开始还以为会跳出一个窗口,后来看了plt文件才明白,输出的是一个png文件,在当前目录下。plt文件可以用记事本打开看。

 

 

bows例子中这个曲线是怎么产生的呢?

大致步骤如下:1)计算每个图像的confidence,2)计算每个类的precision/recall  3) 生成plt文件。

 最后 如果要对数据进行更多的处理,可以打开vocabulary。xml文件。

 

 例子中默认内存大小是200M,大概用了30%的图片和中的30%的特征向量。识别结果,ap低的可怜。

我设置为2000M,结果在left 2153个图片处出错了。。没提示信息,自动退出。debug 跟踪提示是内存定位错误,估计是内部不够引起的。而且出错了重头开始有要重新计算sift特征。很是不效率。而且后面计算图像描述的时候还是要计算sift特征。如果可以从文件中读,就好多了。。接下去就做这个改进吧。否则实验做不下去了。电脑和大牛的不能比啊。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值