Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

estimateCameraIMUTransform

Estimar la transformación de la cámara al sensor IMU utilizando datos de calibración

Desde R2024a

    Descripción

    tform = estimateCameraIMUTransform(imagePoints,patternPoints,imuMeasurements,cameraIntrinsics,imuParams) estima la transformación SE(3) fija desde la cámara al marco del sensor IMU utilizando las pistas de puntos de imagen distorsionadas de una placa de objetivo de calibración capturada por la cámara, los puntos de patrón de la placa de objetivo de calibración en el marco mundial, los intrínsecos de la cámara, las mediciones IMU correspondientes a las imágenes de calibración y los parámetros del modelo de ruido IMU. La función estimateCameraIMUTransform asume que la cámara y la IMU están unidas rígidamente entre sí. Para ver un ejemplo, consulte Estimación de la transformación de cámara a IMU mediante calibración extrínseca.

    De forma predeterminada, esta función traza el progreso de la estimación de la pose y la eliminación de la distorsión. Para deshabilitar la visualización, establezca la propiedad ShowProgress de options en "none".

    [tform,params] = estimateCameraIMUTransform(___) también devuelve los parámetros de calibración estimados.

    [___] = estimateCameraIMUTransform(___,options) también especifica opciones de calibración.

    Argumentos de entrada

    contraer todo

    Detecciones de puntos de destino en la imagen de calibración, especificadas como una matriz P por 2 por N o como un objeto timetable. P es el número de detecciones de puntos de patrón detectadas y cada fila representa la coordenada xy de una detección de puntos de patrón en el formato [x y]. N es el número de imágenes de calibración.

    Si imagePoints se especifica como un objeto timetable, el objeto timetable contiene la variable imagePoints como una matriz N por P por 2. La primera página de la matriz representa los puntos x de las imágenes y la segunda página de la matriz representa los puntos y de las imágenes.

    Puede utilizar las funciones detectCheckerboardPoints (Computer Vision Toolbox) y detectCircleGridPoints (Computer Vision Toolbox) para detectar los puntos de destino en una placa de calibración.

    Nota

    Si especifica imagePoints como una matriz P por 2 por N, también debe especificar las propiedades ImageSampleRate o ImageTime en options. Si se especifican ambos, entonces estimateCameraIMUTransform utiliza ImageTime para mayor precisión.

    Puntos clave del patrón del tablero de destino de calibración en el marco mundial, especificados como una matriz N por 2. M es el número de imágenes de calibración. Cada fila representa una coordenada xy.

    Puede utilizar las funciones generateCheckerboardPoints (Computer Vision Toolbox) y generateCircleGridPoints (Computer Vision Toolbox) para obtener puntos de patrón clave.

    Mediciones del acelerómetro y giroscopio IMU, especificadas como un objeto timetable con las variables Accelerometer y Gyroscope. Cada fila representa mediciones con el paso de tiempo asociado de los datos de calibración.

    Tanto Accelerometer como Gyroscope se especifican en el objeto timetable como una matriz numérica de N por 3. N es el número total de lecturas de IMU en los datos de calibración.

    Las mediciones del acelerómetro se miden en metros por segundo al cuadrado. Las medidas del giroscopio se miden en radianes por segundo.

    Características intrínsecas de la cámara, especificadas como un objeto cameraIntrinsics (Computer Vision Toolbox).

    Ejemplo: cameraIntrinsics([800 800],[320 240],[480 640]) crea un objeto cameraIntrinsics utilizando la distancia focal, el punto principal y el tamaño de imagen de la cámara.

    Parámetros del modelo de ruido IMU, especificados como un objeto factorIMUParameters.

    Ejemplo: factorIMUParameters(SampleRate=400,GyroscopeNoise=6.93e-5*eye(3),AccelerometerNoise=2.9e-6*eye(3)) crea un objeto factorIMUParameters utilizando la frecuencia de muestreo, el ruido del giroscopio y el ruido del acelerómetro.

    Opciones de calibración, especificadas como un objeto cameraIMUCalibrationOptions. Si no especifica options, entonces estimateCameraIMUTransform utiliza las opciones de calibración predeterminadas.

    Ejemplo: cameraIMUCalibrationOptions(ShowProgress="camera-poses")

    Argumentos de salida

    contraer todo

    Transformación SE(3) del marco de la cámara al marco del sensor IMU, devuelta como un objeto se3.

    Si establece la propiedad InitialTransform de options en rigidtform3d (Image Processing Toolbox), entonces tform es un objeto rigidtform3d.

    Estimaciones de parámetros de optimización de calibración, devueltas como un objeto cameraIMUParameters.

    Referencias

    [1] Qin, Tong, and Shaojie Shen. “Online Temporal Calibration for Monocular Visual-Inertial Systems,” 3662–69. Madrid, Spain: 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2018. https://doi.org/10.1109/IROS.2018.8593603.

    [2] Furgale, Paul, Joern Rehder, and Siegwart Roland. “Unified Temporal and Spatial Calibration for Multi-Sensor Systems,” 1280–86. Tokyo, Japan: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013. https://doi.org/10.1109/IROS.2013.6696514.

    [3] Qin, Tong, Peiliang Li, and Shaojie Shen. “VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator.” IEEE Transactions on Robotics 34, no. 4 (August 2018): 1004–20. https://doi.org/10.1109/TRO.2018.2853729.

    Historial de versiones

    Introducido en R2024a