stereovslam
Localización y mapeo visual simultáneo basado en características (vSLAM) y fusión de sensores visuales-inerciales con cámara estéreo
Desde R2025a
Descripción
Utilice el objeto stereovslam
para realizar localización y mapeo visual simultáneo (vSLAM) con datos de cámara estéreo. Para obtener más información sobre SLAM visual, consulte Implement Visual SLAM in MATLAB (Computer Vision Toolbox).
El objeto stereovslam
extrae características Oriented FAST y Rotated BRIEF (ORB) de imágenes leídas incrementalmente y luego rastrea esas características para estimar poses de cámara, identificar fotogramas clave y reconstruir un entorno 3D. El algoritmo vSLAM también busca cierres de bucle utilizando el algoritmo de bolsa de características y luego optimiza las poses de la cámara utilizando la optimización del gráfico de poses. Puede mejorar la precisión y la robustez del SLAM integrando este objeto con datos IMU para realizar una fusión de sensores visuales-inerciales.
Creación
Sintaxis
Descripción
crea un objeto SLAM visual estéreo, vslam
= stereovslam(intrinsics
,baseline
)vslam
, utilizando los parámetros intrínsecos de la cámara estéreo rectificada intrinsics
y la distancia baseline
entre las cámaras izquierda y derecha rectificadas.
El objeto representa puntos de mapas 3D y poses de cámara en coordenadas mundiales, y asume que la pose de la cámara del primer fotograma clave es una transformación de identidad rigidtform3d
(Image Processing Toolbox).
Nota
El objeto stereovslam
se ejecuta en varios subprocesos internamente, lo que puede retrasar el procesamiento de un cuadro de imagen agregado mediante la función addFrame
. Además, el objeto que se ejecuta en varios subprocesos significa que el cuadro actual que el objeto está procesando puede ser diferente del cuadro agregado recientemente.
crea un objeto SLAM visual estéreo vslam
= stereovslam(reprojectionMatrix
,imageSize
)vslam
utilizando la matriz de reproyección de cámara estéreo, reprojectionMatrix
, y el tamaño de la imagen, imageSize
.
realiza un SLAM visual-inercial estéreo basado en el vslam
= stereovslam(___,imuParameters
)imuParameters
especificado. Al utilizar este argumento con datos IMU, se requiere Navigation Toolbox™
establece propiedades utilizando uno o más argumentos de nombre-valor además de cualquier combinación de argumentos de entrada de sintaxis anteriores. Por ejemplo, vslam
= stereovslam(___,PropertyName=Value
)MaxNumPoints=850
establece el número máximo de puntos de características ORB para extraer de cada imagen en 850
.
Argumentos de entrada
Propiedades
Funciones del objeto
addFrame | Agregue un par de imágenes de color y profundidad al objeto SLAM visual estéreo |
checkStatus | Comprobar el estado del objeto SLAM visual estéreo |
hasNewKeyFrame | Compruebe si se agregó un nuevo fotograma clave en el objeto SLAM visual estéreo |
isDone | Estado de fin de procesamiento para el objeto SLAM visual estéreo |
mapPoints | Construya un mapa 3D de puntos del mundo a partir de un objeto vSLAM estéreo |
plot | Graficar puntos de mapa 3D y trayectoria estimada de la cámara en SLAM visual estéreo |
poses | Poses absolutas de cámara de fotogramas clave estéreo |
reset | Restablecer el objeto SLAM visual estéreo |
Ejemplos
Sugerencias
El objeto
stereovslam
:No tiene en cuenta la distorsión de la lente. Puedes desdistorsionar las imágenes utilizando la función
undistortImage
(Computer Vision Toolbox) antes de agregarlas.Se supone que las imágenes han sido rectificadas. Puede rectificar imágenes estéreo no distorsionadas utilizando la función
rectifyStereoImages
(Computer Vision Toolbox) antes de agregar imágenes.Se ejecuta en varios subprocesos internamente, lo que puede retrasar el procesamiento de un cuadro de imagen agregado mediante la función
addFrame
. Además, el objeto que se ejecuta en varios subprocesos significa que el cuadro actual que el objeto está procesando puede ser diferente del cuadro agregado más recientemente.
Las poses de la cámara son las poses de la cámara principal, que corresponde a la imagen de entrada
I1
agregada por la función de objetoaddFrame
.El objeto representa puntos de mapas 3D y poses de cámara en coordenadas mundiales. El objeto asume que la pose de la cámara del primer fotograma clave es una transformación de identidad
rigidtform3d
(Image Processing Toolbox).
Referencias
[1] Mur-Artal and J. D. Tardós, "ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras," in IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255-1262, Oct. 2017, doi: 10.1109/TRO.2017.2705103.
Capacidades ampliadas
Historial de versiones
Introducido en R2025aConsulte también
Objetos
monovslam
|rgbdvslam
(Computer Vision Toolbox) |factorGraph
|factorIMUParameters
|cameraIntrinsics
(Computer Vision Toolbox) |imageDatastore
Funciones
detectORBFeatures
(Computer Vision Toolbox)
Temas
- Implement Visual SLAM in MATLAB (Computer Vision Toolbox)
- Performant and Deployable Stereo Visual SLAM with Fisheye Images (Computer Vision Toolbox)
- Monocular Visual Simultaneous Localization and Mapping (Computer Vision Toolbox)
- Monocular Visual-Inertial SLAM (Computer Vision Toolbox)