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?
Antworten:
Eine Möglichkeit wäre, eine einfache Kantenerkennung (wie Laplace) durchzuführen und die mittlere Intensität des Ergebnisses als Grundlage für den Schwellenwert für die Harris-Ecken zu verwenden. Wenn Sie einen geringen Kontrast haben, erhalten Sie weniger Kanten und bei geringerer Intensität erhalten Sie bei hohem Kontrast mehr Kanten und höhere Intensitäten.
Sie sind nicht der einzige, der mit diesem Problem zu kämpfen hat. Wenn Sie Zugriff auf Papierdatenbanken haben, könnte dies interessant sein:
Es könnte sich lohnen, mehr nach (automatischer) adaptiver Harris-Eckenerkennung zu suchen.
quelle
Müssen Sie wirklich Harris-Ecken verwenden? Nach Harris-Ecken wurden viele Funktionen mit besseren Eigenschaften entwickelt. Eine gute Übersicht finden Sie in diesem Artikel:
Basierend auf diesem Artikel sowie meiner persönlichen Erfahrung würde ich vorschlagen, entweder auf MSER (Maximally Stable Extermal Regions) umzusteigen oder sie sogar mit DoG (Difference of Gaussians) zu kombinieren - den Funktionen, die zuerst als Teil der SIFT-Pipeline vorgestellt wurden.
Wenn das Problem wirklich kontrastarm ist , sollten die MSER-Funktionen Sie wirklich glücklich machen: Sie sind (ziemlich) unveränderlich gegenüber Änderungen in der Beleuchtung. Kurz gesagt, sie sind verbundene Bereiche des Bildes, die durch eine Reihe verschiedener Schwellenwert-Binärisierungen stabil sind.
Der Feature-Extraktionsprozess ist unabhängig von der Berechnung der Deskriptoren. Daher sollte es nicht zu schwierig sein, neue Methoden zur Feature-Extraktion in Ihren Prozess zu integrieren.
Außerdem habe ich von Multiscale Harris-Ecken als Erweiterung von Harris-Ecken gehört (aber noch nie damit gearbeitet) . Ich weiß nicht viel über sie und kann persönlich keine Lesematerialien zu diesem Thema empfehlen. Deshalb überlasse ich Ihnen die Artikelsuche und wähle die interessantesten Materialien aus.
Darüber hinaus könnte ich vorschlagen, dass das von Ihnen gepostete Bild andere Probleme als einen geringen Kontrast aufweist . Nach meiner persönlichen Erfahrung neigen Vegetation wie Büsche oder möglicherweise das Feld, das Sie haben, sowie die schönen sprudelnden Wolken dazu, "generische Merkmale" zu erzeugen - Merkmale, die tendenziell ähnliche (oder unähnliche) Deskriptoren aufweisen wie viele andere Merkmale.
In der Praxis bedeutet dies, dass bei der Merkmalsanpassung von zwei Bildern aus einer anderen Perspektive Merkmale, die aus diesen Arten von Oberflächen extrahiert wurden, tendenziell falsch übereinstimmen. Ich habe eine Masterarbeit gemacht , die sich zu einem großen Teil mit der Merkmalsextraktion befasst, die beim Merkmalabgleich verwendet werden soll, um eine Homographietransformation zwischen zwei Bildern zu berechnen, als ich auf dieses Problem stieß. Ich habe zu diesem Zeitpunkt keine anderen Artikel gefunden, die dieses Problem beschreiben, aber meine These könnte für Ihren Gesamtansatz hilfreich sein.
Wie Sie bereits festgelegt haben, werden Schwellenwerte und Techniken, die bei den meisten Bildern einwandfrei funktionieren, aufgrund ihrer meist homogenen Bereiche zu kleinen Merkmalen in dieser Art von Bildern extrahiert. Diese Art von Bildern stellt Probleme beim Feature-Matching (das auf das Zusammenfügen von Bildern erweitert werden kann), beim inhaltsbasierten Abrufen von Bildern und bei der Verfolgung sowie bei ähnlichen Anwendungen dar. Derzeit funktioniert keine Methode recht gut.
Methoden, die sowohl für diese Art von Bildern als auch für die typischen Fälle gut funktionieren, werden derzeit untersucht und erforscht, beispielsweise ein Ansatz, an dem ich in dieser Antwort kurz beschrieben habe .
quelle