Main Content

Visual Simultaneous Localization and Mapping (vSLAM)

Visual SLAM map initialization, tracking, local mapping, loop detection, and drift correction

Visual simultaneous localization and mapping (vSLAM), refers to the process of calculating the position and orientation of a camera, with respect to its surroundings, while simultaneously mapping the environment. The process uses only visual inputs from the camera. Applications for visual SLAM include augmented reality, robotics, and autonomous driving. For more details, see Implement Visual SLAM in MATLAB.


expand all

detectSURFFeaturesDetect SURF features
detectORBFeaturesDetect ORB keypoints
extractFeaturesExtract interest point descriptors
matchFeaturesFind matching features
matchFeaturesInRadiusFind matching features within specified radius
triangulate3-D locations of undistorted matching points in stereo images
img2world2dDetermine world coordinates of image points
world2imgProject world points into image
estgeotform2dEstimate 2-D geometric transformation from matching point pairs
estgeotform3dEstimate 3-D geometric transformation from matching point pairs
estimateFundamentalMatrixEstimate fundamental matrix from corresponding points in stereo images
estworldposeEstimate camera pose from 3-D to 2-D point correspondences
findWorldPointsInViewFind world points observed in view
findWorldPointsInTracksFind world points that correspond to point tracks
estrelposeCalculate relative rotation and translation between camera poses
optimizePosesOptimize absolute poses using relative pose constraints
createPoseGraphCreate pose graph
bundleAdjustmentAdjust collection of 3-D points and camera poses
bundleAdjustmentMotionAdjust collection of 3-D points and camera poses using motion-only bundle adjustment
bundleAdjustmentStructureRefine 3-D points using structure-only bundle adjustment
imshowDisplay image
showMatchedFeaturesDisplay corresponding feature points
plotPlot image view set views and connections
plotCameraPlot a camera in 3-D coordinates
pcshowPlot 3-D point cloud
pcplayerVisualize streaming 3-D point cloud data
imageviewsetManage data for structure-from-motion, visual odometry, and visual SLAM
worldpointsetManage 3-D to 2-D point correspondences
indexImagesCreate image search index
invertedImageIndexSearch index that maps visual words to images
bagOfFeaturesBag of visual words object