代码之家  ›  专栏  ›  技术社区  ›  MysteryGuy

我的CBIR系统结果这么差是正常的吗?

  •  1
  • MysteryGuy  · 技术社区  · 7 年前

    我正在用Corel数据库(100类100张图片)构建一个CBIR系统。我已经实现了一些“当前”(非深度学习)描述符(Sift、Surf、HOG、颜色直方图、HSV直方图、LBP直方图、ORB、图像的Hu矩、GLCM描述符(对比度、同质性…)。同时,实现了筛、碎、球的FlannMatcher和BFMatcher; compareHist OpenCV函数及其所有直方图和NORM1,2,INF pour向量的四个距离(Hu&GLCM)。

    但是,我得到了很差的结果和糟糕的R/P曲线。更确切地说,它似乎真的依赖于查询。例如,对于bear,最好的结果(前50名)是通过GLCM得到的:

    results with GLCM

    另一方面,当查询是一张扑克牌(相当简单)时,它会给出相当好的结果,至少在某些算法(如Sift)中是这样。

    results with Sift

    我想知道结果如此糟糕和变化无常是否正常?事实上,我只是使用了OpenCV函数,所以我不知道哪里可能出错。。。

    是否可以对某些描述符进行加权和?仅仅通过规范化距离,加权它们就可以对全局和进行排序?

    有没有其他方法可以“简单地”改善结果?简单地说,我的意思是在OpenCV中保留相同的描述符。

    谢谢你

    0 回复  |  直到 7 年前
    推荐文章