J'ai implémenté un détecteur de fonctionnalités basé sur les coins Harris . Cela fonctionne très bien la plupart du temps, mais il y a des cas où il fonctionne mal. Je dois le faire fonctionner sur de nombreuses images différentes sans le configurer individuellement.
Le problème vient de la valeur seuil du détecteur. S'il est réglé trop bas, le détecteur se déclenche trop de fois, ce qui entraîne un grand nombre de fonctionnalités. S'il est réglé trop haut, il y a trop de fonctionnalités.
J'ai partiellement résolu ce problème par ANMS (Adaptive Non-Maximal Suppression) pour réduire le nombre de fonctionnalités avant de leur affecter un vecteur de descripteur.
Cependant, des images comme celle-ci sont le problème:
Ils ont un faible contraste et je ne peux pas "me permettre" de définir un seuil trop bas pour toutes les images. Cela ferait fonctionner le détecteur sur ces images, mais d'autres images contiendraient des centaines de milliers de fonctionnalités, qui seront lentes à filtrer avec ANMS et cela nuirait aux performances globales.
Je pensais à ajuster l'image avant la détection des fonctionnalités. Peut-être que l'égalisation d'histogramme ferait l'affaire. Cela peut être une opération valide car le changement global de contraste n'a aucun effet sur les descripteurs de caractéristiques (ils sont invariants pour changer de luminosité et de contraste).
Peut-être que travailler avec un seuil adaptatif ou une heuristique fonctionnerait mieux.
D'autres suggestions?
Réponses:
Une possibilité serait de faire une simple détection de bord (comme Laplace), et d'utiliser l'intensité moyenne du résultat comme base pour le seuil des coins Harris. Lorsque vous avez un faible contraste, vous obtiendrez moins de bords et avec une intensité plus faible, avec un contraste élevé, vous obtiendrez plus de bords et avec des intensités plus élevées.
Vous n'êtes pas le seul à lutter contre ce problème. Si vous avez accès à des bases de données papier, cela peut être intéressant:
Il pourrait être utile de rechercher davantage la détection de coin harris (auto) adaptative.
la source
Devez-vous vraiment utiliser les coins Harris? Il existe de nombreuses fonctionnalités développées après les coins Harris, avec de meilleures propriétés. Un bon aperçu peut être trouvé dans cet article:
Sur la base de cet article ainsi que de mon expérience personnelle, je suggérerais de passer soit à MSER (Maximally Stable Extermal Regions) , soit même à les combiner avec DoG (Difference of Gaussians) - les fonctionnalités présentées pour la première fois dans le cadre du pipeline SIFT.
Si le problème est vraiment à faible contraste , alors les fonctionnalités MSER devraient vraiment vous faire plaisir: elles sont (assez) invariantes aux changements d'éclairage. En bref, ce sont des régions connectées de l'image stables grâce à une série de binarisations à seuils différents.
Le processus d'extraction des fonctionnalités est indépendant du calcul des descripteurs, il ne devrait donc pas être trop difficile d'intégrer de nouvelles méthodes d'extraction des fonctionnalités dans votre processus.
De plus, j'ai entendu parler (mais jamais vraiment travaillé avec) des coins Harris à plusieurs échelles comme une extension des coins Harris. Je ne sais pas grand-chose à leur sujet et personnellement, je ne peux recommander aucun matériel de lecture sur ce sujet, je vous laisse donc rechercher des articles et choisir les documents les plus intéressants.
De plus, puis-je suggérer que l'image que vous avez publiée pourrait avoir d'autres problèmes qu'un faible contraste . D'après mon expérience personnelle, la végétation comme les buissons ou peut-être le champ que vous avez, ainsi que les jolis nuages pétillants ont tendance à produire des "caractéristiques génériques" - des caractéristiques qui ont tendance à avoir des descripteurs tout aussi similaires (ou différents) que beaucoup d'autres caractéristiques.
En pratique, cela signifie que lors de la mise en correspondance de fonctionnalités sur deux images sous un angle différent, les fonctionnalités extraites de ces types de surfaces avaient tendance à être faussement mises en correspondance. J'ai fait une thèse de Master qui traite en grande partie de l'extraction des fonctionnalités à utiliser dans la correspondance des fonctionnalités, utilisée pour calculer une transformation d'homographie entre deux images lorsque je suis tombé sur ce problème. Je n'ai pas trouvé d'autres articles décrivant ce problème à l'époque, mais ma thèse pourrait être utile pour votre approche globale.
Enfin, comme vous l'avez défini, les seuils et les techniques qui fonctionnent très bien sur la plupart des images se transforment en petites fonctionnalités dans ce type d'images, en raison de ses zones principalement homogènes. Ce type d'images présente des problèmes de correspondance des fonctionnalités (qui peuvent être étendues à l'assemblage d'images), de récupération d'image basée sur le contenu, et je suppose que le suivi ainsi que des applications similaires. Aucune méthode ne fonctionne actuellement assez bien sur eux.
Des méthodes qui fonctionnent bien sur ce type d'images ainsi que les cas typiques sont actuellement explorées et recherchées, comme une approche sur laquelle j'ai commencé à travailler brièvement décrite dans cette réponse .
la source