Prétraitement pour améliorer le suivi des coins Harris entre les images vidéo?

8

Dans notre application de stabilisation d'image vidéo en niveaux de gris de véhicule aérien sans pilote, nous avons du mal à trouver les "bons" coins Harris dans l'image N + 1 sélectionnés à partir de l'image N.La source de la difficulté semble être des changements de contraste de pixels non uniformes radicaux entre les images. Peut-être étant aéroporté et utilisant une fréquence d'images lente (~ 3 ips) est la cause principale du décalage de contraste des pixels.

Nous avons essayé diverses techniques d'égalisation d'histogramme pour essayer de lisser les contrastes de pixels entre les images afin d'améliorer le suivi des "bons" coins Harris dans l'image N + 1. Les résultats restent médiocres.

Quelqu'un a-t-il des suggestions sur la façon d'améliorer le suivi des coins Harris entre les images vidéo dans un environnement aérien diurne à faible fréquence d'images? Merci d'avance.

Édition: 30 janvier 2012, ajout d'images de cas de test (pas la taille réelle du cadre)

Résumé de la mise à jour: 8 février 2012. Les gens suggèrent que les coins Harris ne sont pas si utiles dans le suivi des fonctionnalités vidéo en niveaux de gris. Les réponses ci-dessous suggèrent et fournissent des liens vers diverses alternatives. Nous évaluons ces alternatives et je rendrai compte des résultats lorsque nous arriverons à ce point. Merci à tous pour vos commentaires et réponses.

Voici le cadre précédent N avec 35 "bons" coins harris 5x5 sélectionnés. Le cadre d'origine est de 8 bpp pixels bruts.

image précédente N

Voici un excellent coin Harris 5x5 situé au rang 59 col 266:

précédent 5x5 à r59 c266

Le cadre actuel N + 1 avec quelques coins Harris 5x5 suivis, dont un seul est valide:

trame actuelle N + 1

Le cadre précédent 5x5 coin Harris apparaissant dans le cadre N + 1 à r47 c145:

précédent 5x5 au courant 5x5 r47 c145

Notez comment les intensités de pixels dans le 5x5 sélectionné ont toutes changé de manière non uniforme de l'image précédente à l'image actuelle. Les techniques d'égalisation de contraste entre les images ne permettent pas de détecter l'image précédente sélectionnée 5x5 pixels dans l'image actuelle. Toutes les suggestions sont les bienvenues.

David Pointer
la source
3
Veuillez télécharger quelques images. Sinon, vous obtiendrez des suggestions aléatoires.
nav
Ça ira. Désolé, j'aurais dû y penser.
David Pointer
@nav Done! Merci pour votre excellente suggestion.
David Pointer

Réponses:

9

Pouvez-vous essayer un détecteur de fonctionnalité différent? FAST peut être, euh, plus rapide, et une fréquence d'images plus élevée facilitera la correspondance (en supposant que vos fonctionnalités se déplacent beaucoup entre les images)


On dirait que vous essayez d'utiliser la région en niveaux de gris autour du point de caractéristique identifié pour correspondre d'une image à l'autre. C'est susceptible d'être pauvre, surtout s'il y a beaucoup de mouvement entre les images.

Vous pouvez obtenir de meilleures performances en utilisant ce que l'on appelle souvent un "descripteur" de la région autour du point de fonctionnalité sur lequel correspondre.

Certains descripteurs possibles sont utilisés dans les algorithmes SURF et SIFT - ils ont également des techniques pour identifier les régions à suivre, mais vous avez ignoré l'exigence pour cela. Un descripteur plus simple conçu pour être utilisé dans l'appariement en stéréo-vision est la transformation du recensement, bien que cela puisse ne pas fonctionner aussi bien pour l'appariement d'une image à l'autre, pour la même raison que votre méthode actuelle (qui est également largement déployée en stéréo-vision)

Le livre à lire à ce sujet est Géométrie à vues multiples en vision par ordinateur .

Martin Thompson
la source
Merci pour votre suggestion. Le facteur de limitation de fps est en fait la caméra du système - de très grandes tailles d'image. Nous pourrions en fait aller jusqu'à 12 images par seconde avec ces tailles de trame avec l'ensemble actuel d'algorithmes avec la technologie que nous utilisons.
David Pointer
Ohhhh, attends. Êtes-vous en train de dire qu'une fréquence d'images plus élevée de la caméra évite complètement ce problème de décalage d'intensité / contraste, car il y a moins de temps disponible pour que les intensités changent réellement sur les objets observés entre les images? La cellule elle-même peut bouger beaucoup en 33 millisecondes.
David Pointer
3

Comme alternative à SIFT / SURF / Other, vous pouvez également utiliser la corrélation de phase FFT, si les images sont transformées principalement par des translations (rotation / perspective est petite). Vous pouvez également appliquer une corrélation de phase aux régions de l'image de manière itérative pour une meilleure précision.

http://en.wikipedia.org/wiki/Phase_correlation

mirror2image
la source
1

Si vous essayez d'aligner les deux images, vous devez utiliser un meilleur détecteur de caractéristiques locales. SIFT est probablement le plus populaire / le plus utilisé.

Roronoa Zoro
la source
1

Je pense que c'est mieux d'utiliser Shi et Tomasi, vous pouvez les utiliser avec la même fonction goodfeaturestotrack, cela a donné de meilleurs résultats que les coins harris

Ellian Herrera-Bandin
la source