2014-07-08 3 views
0

Je suis actuellement en train d'essayer de créer une application Desktop AR, en utilisant les lunettes Vuzix star 1200 XLD et C++. J'ai fait beaucoup de recherches concernant les algorithmes utilisés dans AR et par le célèbre SDK, et j'ai trouvé que SLAM visuel est un algorithme commun utilisé. Donc, j'aimerais avoir des commentaires si vous l'avez utilisé, et je suis ouvert à toute suggestion concernant d'autres algorithmes AR utilisés pour le suivi et l'appariement.Visual SLAM pour la réalité augmentée

Merci beaucoup!

+0

Visual SLAM est un sujet de recherche de niveau doctorat. Bonne chance et amusez-vous bien! ;) – dividebyzero

Répondre

5

sur un an plus tard ...

SLAM est pas un algorithme, il est une approche, une décomposition par étapes pour atteindre l'objectif. Chaque étape vous permet de choisir l'un des nombreux algorithmes appropriés, chacun d'entre eux avec des caractéristiques diverses, comme la performance, la précision, etc. SLAM peut être SLAM Visual monoculaire (monoSLAM), une branche spécialisée de SLAM, liée à l'odométrie visuelle.

Vous pouvez démarrer avec un détecteur de caractéristiques et un algorithme d'extracteur de descripteur, comme FAST & BRIEF. Plus de l'algorithme font les deux choses, comme ORB et AKAZE. Ainsi, vous extrayez et décrivez un nuage de points d'une image, d'une image.

Ensuite, vous faites correspondre les points de deux (disons consécutifs) trames, avec un matcher, comme un chasseur de distance Hamming de force brute, obtenant quelque chose comme des vecteurs de vitesse.

https://www.youtube.com/watch?v=G8XAHLJR8A4

Ensuite, vous appliquer un algorithme comme solveur PnP, pour obtenir la matrice de rototranslation qui expliquent le mouvement de la caméra relative. Vous avez maintenant un vecteur de position 3D pour chaque entité. Vous choisissez des points de repère parmi les caractéristiques détectées, commencez à construire une carte de base de nuages ​​de points 3D, chacun avec sa distribution d'erreur. Ensuite, vous appliquez un ajustement de bundle comme sba.

Ceci est le point de départ de bas niveau. Vous aurez envie de construire un monde en 3D avec la texture, vous aurez envie de fermer les chemins avec précision, vous aurez besoin de robustesse contre les pièces mobiles (comme le peolple, les véhicules) ...

Tout ce dont vous avez rêvé, c'est ici en attente d'être développé par vous-même :)