我已经实现了一个基于Harris 角的特征检测器。它在大多数情况下都能正常工作,但在某些情况下表现不佳。我需要让它在许多不同的图像上工作,而不需要单独配置。
问题在于检测器阈值。如果设置得太低,检测器会触发太多次,从而导致大量特征。如果设置得太高,则功能太少。
我已经通过ANMS(自适应非最大抑制)部分解决了这个问题,以在为它们分配描述符向量之前减少特征数量。
但是,像这样的图像是问题所在:
它们的对比度很低,我不能“负担”为所有图像设置太低的阈值。它会导致检测器在这些图像上工作,但其他图像将包含数十万个特征,使用 ANMS 过滤这些特征会很慢,这会损害整体性能。
我正在考虑在特征检测之前调整图像。也许直方图均衡可以完成这项工作。这可能是一个有效的操作,因为对比度的全局变化对特征描述符没有影响(它们对于亮度和对比度的变化是不变的)。
也许使用自适应阈值或一些启发式会更好。
还有其他建议吗?