【发布时间】:2015-06-30 21:19:06
【问题描述】:
我在 MATLAB 中制作了一个 CBIR 系统,并使用相似度测量作为欧几里得距离。 对每个查询图像使用它,我检索前 20 个图像。
我使用WANG Dataset 测试我的系统。
它包含 10 个类别(如非洲人、巴士、玫瑰等),每个类别包含 100 张图片。(总共 1000 张图片)。
我的方法:
1. 我正在使用相关图、共现矩阵(CCM)和像素扫描模式(DBPSP)之间的差异来构建我的向量(分别为 64+196+28=288 维)。
- 1000 db 图像中的每一个我都预先构建了它的向量。
- 现在出现了一个查询图像,我也构建了它的向量(再次为 228 维)。
- 我使用欧几里得距离来表示相似性,并按欧几里得距离的降序对 db 图像向量进行排序。
显示前 20 个结果。
在这 20 个人中,我可以有 TP 或 FP。
对于单个查询图像,我可以使用 link 轻松计算 Precision 和 Recall 并绘制 PR 曲线。
我怎样才能为全班做同样的事情?
我的方法:对于属于 A 类的每个图像,找到前 20 个图像,它们分别是 TP(真阳性)和 FP(假阳性)。
TP FP
Image1 17 3
Image2 15 5
...
...
Image100 10 10
Total 1500 500
A 类精度 =1500/(2000) = .75(对吗??)
召回 A 类 ---> 卡住 ??
PR曲线---->卡住了??有些链接说我需要一个分类器,有些则不需要……我真的很困惑。
【问题讨论】:
-
你有混淆矩阵还是只有TP/FP?
-
只有 TP 和 FP。在 20 张图像中,如果图像属于正确的类别,我将 TP 增加 1,如果不是,我将 FP 增加 1。如何检查图像的类别是否正确很简单,因为 A 类图像是从 0 到 99,然后 B 类是从 100 到 199,依此类推。所以一个简单的 if-else 循环给了我答案。
-
呸呸呸呸呸我的解决方案将无法正常工作:(
-
让我发一个新的
-
FN或者false数怎么样?您需要计算召回率
标签: matlab image-processing cbir precision-recall