Я реалізував функцію детектора на основі кутів Харріса . Він працює чудово в більшості разів, але є випадки, коли він працює погано. Мені потрібно змусити його працювати на багатьох різних зображеннях, не конфігуруючи їх окремо.
Проблема полягає у пороговому значенні детектора. Якщо встановлено занадто низький рівень, детектор спрацьовує занадто багато разів, що призводить до величезної кількості функцій. Якщо встановлено занадто високо, можливостей занадто мало.
Я частково вирішив це за допомогою ANMS (Adaptive Non-Maximal Suppression), щоб зменшити кількість функцій, перш ніж призначити їм вектори дескриптора.
Однак проблема подібних зображень:
У них низька контрастність, і я не можу "дозволити" поріг встановлення занадто низький для всіх зображень. Це призведе до того, що детектор буде працювати над цими зображеннями, але інші зображення міститимуть тисячі тисяч функцій, які повільно фільтруватимуться з ANMS, і це зашкодить загальній продуктивності.
Я думав про коригування зображення перед виявленням функції. Можливо, вирівнювання гістограми зробить цю роботу. Це може бути дійсною операцією, оскільки глобальна зміна контрасту не впливає на дескриптори ознак (вони інваріантні для зміни яскравості та контрасту).
Можливо, робота з адаптивним порогом або якась евристика спрацювала б краще.
Будь-які інші пропозиції?