我正在用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得到的:
另一方面,当查询是一张扑克牌(相当简单)时,它会给出相当好的结果,至少在某些算法(如Sift)中是这样。
我想知道结果如此糟糕和变化无常是否正常?事实上,我只是使用了OpenCV函数,所以我不知道哪里可能出错。。。
是否可以对某些描述符进行加权和?仅仅通过规范化距离,加权它们就可以对全局和进行排序?
有没有其他方法可以“简单地”改善结果?简单地说,我的意思是在OpenCV中保留相同的描述符。
谢谢你