Cámara binocular para calcular una nube de puntos de profundidad densa (2)

La cámara binocular calcula una densa nube de puntos de profundidad


Siguiendo el artículo anterior, usamos cámaras reales para calcular nubes de puntos 3D. En el experimento, usamos cámaras ZED.

1. Paquete de controladores de cámara ZED

En primer lugar, debemos instalar el paquete de controladores de la cámara ZED en la computadora. Aquí solo instalamos el paquete de controladores de la versión de la CPU, leemos las imágenes izquierda y derecha y la dirección del paquete del controlador [1]

```
cd catkin_ws/src
git clone https://github.com/transcendrobotics/zed_cpu_ros
cd ..
catkin_make
```

Después de que la cámara ZED se inicia correctamente, necesitamos calibrar los parámetros internos y externos de la cámara. Los valores de calibración en la fábrica también se proporcionan en el sitio web oficial de ZED. Puede descargar el archivo con el número correspondiente a través del número de serie de la cámara, pero creo que no es exacto. , Por lo que es mejor calibrarlo usted mismo.
Nota: Cuando lo usamos aquí, la cámara ZED se establece en una resolución de 1280 * 720 (el valor del parámetro de resolución en el archivo zed_cpu_ros.launch es 2).

2. Calibre la cámara ZED

Cree un nuevo archivo camera_calibration.launch en la carpeta de lanzamiento en el paquete zed_cpu_ros y complete el siguiente contenido

<launch>

    <include file="$(find zed_cpu_ros)/launch/zed_cpu_ros.launch"/>

    <arg name="size" default="8x6"/>
    <arg name="square" default="0.108"/>
    <arg name="no-service-check" default="true"/>

    <node pkg="camera_calibration" type="cameracalibrator.py" name="camera_calibration" output="screen" args="">
        <remap from="right" to="/camera/right/image_raw"/>
        <remap from="left" to="/camera/left/image_raw"/>
    </node>

</launch>

Donde el tamaño representa la longitud y el ancho del tablero de ajedrez, el cuadrado representa el tamaño de la cuadrícula, estoy usando un tablero de ajedrez de 8x6 aquí, y cada cuadrícula es de 108 mm

A continuación, inicie el archivo de inicio para comenzar a calibrar la cámara ZED

roslaunch  zed_cpu_ros camera_calibration.launch

Inserte la descripción de la imagen aquí
Luego mueva la cámara ZED y espere hasta que el botón CALIBRAR a la derecha se vuelva verde y luego haga clic en el botón para calibrar.

Una vez completada la calibración, puede ver el error de la línea polar de esta calibración, como se muestra en la figura siguiente:
Inserte la descripción de la imagen aquí
En términos generales, epi <0,2 es casi lo mismo y epi <0,15 se considera muy bueno.

En el proceso de calibración, se recomienda utilizar una placa de calibración más grande y luego repetir la calibración varias veces para comparar si los parámetros externos son estables en un rango.

Después de obtener los parámetros internos y externos izquierdo y derecho, actualice los parámetros calibrados a los dos archivos left.yaml y right.yaml en el directorio zed_cpu_ros / config. Luego, establezca el valor del parámetro use_zed_config en el archivo zed_cpu_ros.launch en falso para permitir que el nodo del controlador use los dos archivos que acabamos de actualizar left.yaml y right.yaml.

3. Ejecute ELAS

Luego, inicie elas_ros de acuerdo con el método del blog anterior, preste atención para verificar la imagen de salida después de la corrección estéreo.

Después de iniciar el nodo del controlador ROS de la cámara, preste atención para verificar si el tema camera_info tiene salida. Las condiciones para el funcionamiento de ELAS deben ser:
cámara / izquierda / image_raw
cámara / izquierda / cámara_info
cámara / derecha / imagen_raw
cámara / derecha / cámara_info

La siguiente imagen es el resultado del uso de una cámara ZED en exteriores. Siento que los parámetros de calibración de esta cámara aún tienen una gran influencia en la profundidad de salida. Otro problema es que las imágenes del ojo izquierdo y derecho de la cámara ZED no se activan de forma sincrónica, lo que también puede causar la salida de profundidad. Ineficaz.
Inserte la descripción de la imagen aquí

Referencia

[1] https://github.com/transcendrobotics/zed_cpu_ros

Si cree que el artículo es útil para usted, por favor déme un Me gusta. O (∩_∩) O

Bienvenidos a todos para intercambiar y discutir en el área de comentarios ([email protected])

Si la descarga de códigos y datos es lenta, puede dejar un buzón en el área de comentarios y puede enviar el código y el paquete de prueba de datos al buzón.

Supongo que te gusta

Origin blog.csdn.net/crp997576280/article/details/107972081
Recomendado
Clasificación