Ich habe einen Feature-Detektor basierend auf Harris-Ecken implementiert . Es funktioniert meistens gut, aber es gibt Fälle, in denen es schlecht funktioniert. Ich muss dafür sorgen, dass es auf vielen verschiedenen Bildern funktioniert, ohne es einzeln zu konfigurieren.
Das Problem liegt beim Detektorschwellenwert. Wenn der Detektor zu niedrig eingestellt ist, wird er zu oft ausgelöst, was zu einer Vielzahl von Funktionen führt. Wenn zu hoch eingestellt, gibt es zu wenig Funktionen.
Ich habe dies teilweise durch ANMS (Adaptive Non-Maximal Suppression) gelöst , um die Anzahl der Merkmale zu verringern, bevor ihnen Deskriptorvektoren zugewiesen wurden .
Bilder wie dieses sind jedoch das Problem:
Sie haben einen geringen Kontrast und ich kann es mir nicht leisten, den Schwellenwert für alle Bilder zu niedrig einzustellen. Dies würde dazu führen, dass der Detektor an diesen Bildern arbeitet, aber andere Bilder würden Hunderttausende von Funktionen enthalten, die mit ANMS nur langsam gefiltert werden und die Gesamtleistung beeinträchtigen.
Ich dachte daran, das Bild vor der Feature-Erkennung anzupassen. Vielleicht würde der Histogrammausgleich den Job machen. Dies kann eine gültige Operation sein, da globale Änderungen des Kontrasts keine Auswirkungen auf Merkmalsdeskriptoren haben (sie sind unveränderlich gegenüber Änderungen der Helligkeit und des Kontrasts).
Vielleicht würde es besser funktionieren, mit einer adaptiven Schwelle oder einer Heuristik zu arbeiten.
Irgendwelche anderen Vorschläge?