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.

Functions

expand all

detectSURFFeaturesDetect SURF features and return SURFPoints object
detectORBFeaturesDetect ORB keypoints and return an ORBPoints object
extractFeaturesExtract interest point descriptors
matchFeaturesFind matching features
matchFeaturesInRadiusFind matching features within specified radius
triangulate3-D locations of undistorted matching points in stereo images
worldToImageProject world points into image
pointsToWorldDetermine world coordinates of image points
estimateGeometricTransform2DEstimate 2-D geometric transformation from matching point pairs
estimateGeometricTransform3DEstimate 3-D geometric transformation from matching point pairs
estimateFundamentalMatrixEstimate fundamental matrix from corresponding points in stereo images
estimateWorldCameraPoseEstimate camera pose from 3-D to 2-D point correspondences
findWorldPointsInViewFind world points observed in view
findWorldPointsInTracksFind world points that correspond to point tracks
relativeCameraPoseCompute relative rotation and translation between camera poses
optimizePosesOptimize absolute poses using relative pose constraints
createPoseGraphCreate pose graph
bundleAdjustmentRefine 3-D points and camera poses
bundleAdjustmentMotionRefine camera pose using motion-only bundle adjustment
bundleAdjustmentStructureRefine 3-D points using structure-only bundle adjustment
imshowDisplay image
showMatchedFeaturesDisplay corresponding feature points
plotPlot 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

Topics

Stereo Visual Simultaneous Localization and Mapping

Process image data from a stereo camera to build a map of an outdoor environment and estimate the trajectory of the camera.

Visual Localization in a Parking Lot

Develop a visual localization system using synthetic image data from the Unreal Engine® simulation environment.

Stereo Visual SLAM for UAV Navigation in 3D Simulation

Develop a visual SLAM algorithm for a UAV equipped with a stereo camera.

Develop Visual SLAM Algorithm Using Unreal Engine Simulation (Automated Driving Toolbox)

Develop a visual simultaneous localization and mapping (SLAM) algorithm using image data from the Unreal Engine® simulation environment.

Implement Visual SLAM in MATLAB

Understand the visual simultaneous localization and mapping (vSLAM) workflow and how to implement it using MATLAB.

Choose SLAM Workflow Based on Sensor Data

Choose the right simultaneous localization and mapping (SLAM) workflow and find topics, examples, and supported features.

Featured Examples