Я строю систему CBIR с базой данных Corel (100 классов по 100 изображений).Я реализовал некоторые «текущие» (не глубокое обучение) дескрипторы (Sift, Surf, HOG, Цветная гистограмма, гистограмма HSV, гистограмма LBP, ORB, Hu Моменты изображения, дескрипторы GLCM (контраст, однородность, ...)).Также я реализовал FlannMatcher и BFMatcher для Sift, Surf и ORB;compareHist
функция OpenCV и его четырех расстояний для всех гистограмм и векторов заполнения NORM1,2, INF (Hu & GLCM).
Однако, я получаю очень плохие результаты и плохую кривую R / P.Точнее, похоже, что это действительно зависит от запроса.Например, для медведя лучшие результаты (Top 50) достигаются с помощью GLCM, где я получаю это:
С другой стороны, когдазапрос - игральная карта (которая довольно проста), которая дает довольно хорошие результаты, по крайней мере, с некоторыми алгоритмами, такими как Sift.
IИнтересно, было ли нормально иметь столь плохие и переменные результаты?На самом деле, я просто использовал функции OpenCV, поэтому я не вижу, где я мог ошибаться ...
Может быть уместно сделать взвешенную сумму некоторых дескрипторов?Просто нормализуя расстояния, прибавьте к ним вес и сортируйте общую сумму?
Есть ли другой способ улучшить "просто" результаты?Просто я имею в виду сохранение дескрипторов такого же типа в OpenCV.
Спасибо