Question

Après avoir demandé et d'essayer les deux SURF et EIPD, aucun d'entre eux à coutures être suffisamment efficace pour générer des points d'intérêt assez rapide pour suivre un cours d'eau de l'appareil photo.

SURF, par exemple, prend environ 3 secondes pour générer des points d'intérêt pour une image, qui est trop lent pour suivre une vidéo provenant d'une caméra Web, et ce sera encore pire lorsque vous l'utilisez sur un téléphone mobile.

J'ai juste besoin d'un algorithme qui permet de suivre une certaine zone, son échelle, inclinaison, etc .. et je peux construire au-dessus de cela.

Merci

Était-ce utile?

La solution

Je soupçonne que votre utilisation SURF peut avoir besoin d'une modification?

Voici un lien pour un document sur l'utilisation du MIT pour SURF applications de réalité augmentée sur les appareils mobiles.

Extrait:

  

Dans cette section, nous vous présentons notre   la mise en œuvre du SURF al gorithme   et son adaptation au mobile   téléphone. Ensuite, nous discutons de l'impact   que la précision a la vitesse de la   recherche et spectacle le plus proche voisin que   nous pouvons parvenir à un ordre de grandeur   SPEED- avec un impact minimal sur   précision correspondant. Enfin, nous dis-   Cuss les détails du téléphone   la mise en œuvre de la mise en correspondance d'image   pipeline. Nous étudions les performances,   utilisation de la mémoire, et consommation de bande passante   sur le téléphone.

Vous pouvez également regarder dans les algorithmes de OpenCV parce qu'ils sont essayés et testés.

En fonction des contraintes de votre application, vous pourrez peut-être réduire la généricité de ces algorithmes pour rechercher des POI connus et des marqueurs dans l'image.

Partie de Suivi un point d'intérêt est l'estimation de son vecteur d'un point dans l'image en 2D à l'autre, puis éventuellement de confirmer qu'il existe toujours là (par le biais des caractéristiques de pixels). La même approche peut être utilisée pour suivre (pas ré-analyser l'ensemble de l'image) pour groupe POI et POI / perspective d'objet et les changements rotation.

Il y a des tonnes de papiers en ligne pour le suivi des objets sur une projection 2D (jusqu'à un biais servere dans de nombreux cas).

Bonne chance!

Autres conseils

Nous utilisons SURF pour un projet et nous avons trouvé OpenSURF pour surpasser la mise en œuvre de SURF de OpenCV la vitesse brute et de la performance. Nous avons quand même testé havent répétabilité et la précision, mais il est beaucoup plus rapide.


Mise à jour: Je voulais juste souligner que vous ne devez pas effectuer une étape de match SURF dans chaque trame, vous pouvez simplement le faire tout autre cadre et interpoler la position de l'objet dans le cadre que vous n'exécutez pas SURF sur.

Vous pouvez utiliser un algorithme plus simple si vous feriez des restrictions plus sévères sur la zone que vous souhaitez suivre. Comme vous le savez sûrement, ARToolKit est assez rapide, mais ne suit que des marqueurs en noir et blanc avec un cadre très distinct.

Si vous voulez un (peu) suivi d'usage général, vous pouvez vérifier PTAM. Le site ( http://www.robots.ox.ac.uk/~ gk / PTAM / ) est actuellement en panne, mais voici une vidéo tape à l'oeil de fonctionner sur un iPhone ( http://www.youtube.com/watch?v=pBI5HwitBX4 )

Comme d'autres l'ont mentionné, trois secondes semble anormalement longue. En testant la mise en œuvre de SURF dans la bibliothèque Mahotas , je trouve qu'il a fallu en moyenne 0.36sec, même avec certains images assez grandes (par exemple 1024x768). Et c'est avec un mélange de Python et C, donc j'imagine d'autres implémentations pur-C serait encore plus rapide.

J'ai trouvé cette belle comparaison de chaque algorithmes de détection de fonction http://computer-vision-talks.com/2011/01/comparison-of-the-opencvs-feature-detection-algorithms-2/

Avoir un coup d'oeil. Il pourrait être utile!

Selon cette comparaison, et comme mirror2image a également suggéré, FAST est le meilleur choix. Mais cela dépend de ce que vous voulez vraiment atteindre.

Une option que je l'ai utilisé dans les systèmes embarqués est contraints d'utiliser un détecteur de points d'intérêt plus simple: FAST ou Shi-Tomasi par exemple. Je Shi-Tomasi, comme je l'ai été un FPGA et ciblez pourrait facilement exécuter à une vitesse de pixels sans mémoire tampon importante requise.

Utilisez ensuite SURF pour générer les descripteurs pour le patch d'image autour des caractéristiques identifiées et les utiliser pour l'adaptation et à des fins de suivi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top