我使用SIFT和其他基于特征的算法(使用OpenCV和Python3)实现了CBIR,现在我必须评估它们的组合(即SIFT / SURF,ORB / BRISK ......)的表现。
我发现我可以使用Precision | TP | /(| TP | + | FP |)和Recall | TP | /(| TP | + | FN |)。我知道TP是正确的肯定,FN是未返回的相关文档,FP是返回但不相关的文档
我用BF计算我的比赛,我认为:
matches=bf.knnMatch(descriptor1, descriptor2, k=2)
是我的TP + FP 如何计算我的FN?比如相关但未归还的比赛?
请注意,我只是在制定一个假设,所以如果我错了,请纠正我。
我想对具体实现有一些帮助,比如这些数据在图像匹配的具体情况下在哪里。
另外,您可以建议我如何评估基于特征检测和描述的CBIR系统吗?
答案 0 :(得分:0)
我终于找到了我的问题的答案,也许它可以帮助别人!
PRECISION和RECALL在信息检索上下文和分类上下文中有区别。
用于信息检索:
precision = (relevant documents + retrieved documents) / retrieved documents
recall = (relevant documents + retrieved dcuments) / relevant documents
对于分类上下文,可以谈论混淆矩阵:
precision = TP/TP+FP
recall = TP/TP+FN
在我的情况下,例如,无法使用混淆矩阵。