Saltar al contenido principal

SO Development

Cómo utilizar CVAT desde la configuración hasta la extracción de un proyecto

Índice
    Agregue un encabezado para comenzar a generar la tabla de contenido

    Introducción

    En el mundo del aprendizaje automático y la inteligencia artificial, los datos precisos y bien etiquetados son cruciales para entrenar modelos que funcionen eficazmente. CVAT (Computer Vision Annotation Tool) es una herramienta de anotación de código abierto diseñada para anotar datos de imagen y vídeo, y admite una amplia gama de casos de uso, como la detección de objetos, la segmentación de imágenes y el seguimiento de vídeo.

    Esta guía le explicará todo lo que debe saber sobre la configuración de CVAT en su máquina local, la gestión de proyectos, la realización de anotaciones y la extracción de datos anotados para el entrenamiento de modelos de aprendizaje automático. Tanto si es un principiante como si es un usuario experimentado, esta guía le proporcionará una comprensión completa de cómo utilizar CVAT de forma eficaz.

    ¿Qué es CVAT?

    CVAT es una herramienta web desarrollada por Intel, diseñada para simplificar el proceso de anotación de imágenes y vídeos para aplicaciones de visión artificial. Permite a los equipos anotar de forma colaborativa grandes conjuntos de datos con diferentes formatos y tareas, como la creación de cuadros delimitadores, la segmentación de imágenes y el seguimiento de objetos.

    Características principales de la CVAT
    • Interfaz de usuario amigable:CVAT ofrece una interfaz intuitiva, lo que hace que sea fácil de navegar tanto para principiantes como para expertos.
    • Múltiples formatos de anotación:Admite varios formatos de anotación, incluidos PASCAL VOC, COCO, TFRecord y más, que se pueden exportar para su uso en modelos de aprendizaje automático.
    • Gestión basada en tareas:Los proyectos se dividen en tareas manejables, que pueden asignarse a diferentes anotadores. Esto ayuda a organizar los esfuerzos de anotación de datos de manera eficiente, especialmente para equipos grandes.
    • Integración de modelos de aprendizaje automático:CVAT le permite integrar modelos de aprendizaje automático previamente entrenados para acelerar el proceso de anotación con funciones de etiquetado automático.
    • Admite anotación de vídeo e imágenes.:Puede anotar tanto imágenes estáticas como datos de vídeo dinámicos con herramientas como cuadros delimitadores, polígonos, puntos clave y segmentación semántica.
    Beneficios de utilizar CVAT para la anotación de datos
    • Escalabilidad organizacional:CVAT es perfecto para manejar grandes conjuntos de datos, lo que lo hace ideal para proyectos a escala empresarial.
    • Entorno colaborativo:Varios usuarios pueden trabajar en el mismo proyecto, con roles claros para anotadores, supervisores y administradores.
    • Personalizable:Los usuarios pueden modificar o ampliar las capacidades de la herramienta con complementos o scripts personalizados.
    CVAT frente a otras herramientas de anotación

    Si bien CVAT es popular, existen otras herramientas de anotación como Labelbox , Supervisely y VGG Image Annotator (VIA) . Sin embargo, CVAT ofrece varias ventajas, entre ellas su naturaleza de código abierto, su facilidad de uso y su flexibilidad para manejar diferentes tipos de datos, lo que la convierte en una opción sólida para tareas de anotación a gran escala.

    Creación de una cuenta CVAT

    Crear una cuenta en el sitio web de CVAT es sencillo. Siga estos pasos:

    1. Visita el sitio web de CVAT: Navegue a Sitio web oficial de CVAT.
    2. Haga clic en "Registrarse":En la página de inicio, busque y haga clic en el botón “Registrarse”.
    3. Complete sus datos:Ingrese su dirección de correo electrónico, cree una contraseña segura y proporcione su nombre completo.
    4. verificar Correo:Revise su bandeja de entrada en busca de un correo electrónico de verificación y haga clic en el enlace proporcionado para confirmar su cuenta.
    5. Iniciar Sesión:¡Vuelve al sitio web de CVAT, inicia sesión con tu correo electrónico y contraseña y comienza a utilizar la plataforma!

    Disfrute de realizar anotaciones con CVAT

    Configuración de CVAT

    Prerrequisitos de 2.1

    Antes de configurar CVAT, asegúrese de tener lo siguiente:

    • Sistema operativo : CVAT puede ejecutarse en Linux, macOS o Windows. Docker se utiliza para contenerizar el proceso de configuración, lo que facilita la instalación en diferentes sistemas.

    • Herramientas de software :

      • Docker : CVAT utiliza Docker para la contenerización, por lo que necesitarás tener Docker y Docker Compose instalados en tu máquina.

      • Git : Necesario para clonar el repositorio CVAT desde GitHub.

      • Python : Necesario para ejecutar scripts o servicios adicionales relacionados con CVAT.

    2.2 Proceso de instalación

    1. Instalar ventana acoplable

    En primer lugar, asegúrese de tener instalados Docker y Docker Compose. A continuación, se incluye una guía básica para cada plataforma:

    Para Linux:Ejecute los siguientes comandos para instalar Docker y Docker Compose:
    golpear

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    sudo apt-get install docker-compose
    Linux

    Para macOS y Windows : Descargue Docker Desktop desde el sitio web oficial y siga las instrucciones de instalación.

    2. Clonar el repositorio CVAT

    Después de instalar Docker, puedes clonar el repositorio CVAT:

    git clone https://github.com/openvinotoolkit/cvat.git
    cd cvat
    Windows y Mac

    3. Construya los contenedores Docker

    Ejecute los siguientes comandos para configurar los contenedores Docker y crear CVAT localmente:

    docker-compose build
    docker-compose up

    Esto inicializará los servicios necesarios y hará que CVAT sea accesible desde su servidor local (normalmente http://localhost:8080 ).

    4. Crea una cuenta de superusuario

    Una vez que los contenedores Docker estén en funcionamiento, puede acceder a CVAT a través de un navegador web en http://localhost:8080La primera vez que inicie sesión, deberá crear una cuenta de superusuario:
    Proporcione el nombre de usuario, el correo electrónico y la contraseña requeridos.

    docker exec -it cvat bash
    python3 manage.py createsuperuser
    
    3 Configuración inicial
    • Configuración de la base:CVAT admite dos tipos de bases de datos: SQLite (predeterminado, para proyectos pequeños) y PostgreSQL (para proyectos más grandes). Se recomienda PostgreSQL para manejar conjuntos de datos más grandes y entornos multiusuario.
    • Notificaciones por correo electrónico:Si desea habilitar las notificaciones por correo electrónico para sus usuarios, configure los ajustes SMTP dentro del docker-compose.yml .
    4 Solución de problemas de configuración

    Los problemas comunes durante la instalación pueden incluir:

    • Conflictos portuarios:Si el puerto 8080 está en uso, cambie el puerto en docker-compose.yml.
    • Errores de base de datos:Asegúrese de que su base de datos esté funcionando y configurada correctamente. En el caso de PostgreSQL, verifique las cadenas de conexión.
    • problemas de permisos:Ejecute comandos Docker con permisos elevados si es necesario (por ejemplo, sudo).

    Navegación por la interfaz CVAT

    1 Panel de control CVAT

    Al iniciar sesión en CVAT, verá el panel de control, que es el centro neurálgico para administrar proyectos y tareas. El panel de control está dividido en secciones:

    • Gestión de proyectos :Administra todos tus proyectos activos y archivados.
    • Gestión de usuarios:Agregue usuarios y asigne roles como anotador, supervisor o administrador.
    • Lista de tareas:Ver todas las tareas asociadas a tus proyectos, junto con sus estados.
    2 Creación y gestión de proyectos

    Para crear un nuevo proyecto:

    1. Vaya a la Proyectos sección y haga clic en Crear nuevo proyecto.
    2. Ingrese el nombre del proyecto, la descripción y seleccione el tipo de anotación (por ejemplo, Clasificación de imagen, Detección de objetos).
    3. Sube tu conjunto de datos (ya sea mediante carga directa de archivo o una URL).
    4. Establezca las configuraciones adecuadas, como el tamaño de la imagen, las opciones de etiquetado, etc.

    Una vez creado el proyecto, se pueden asignar tareas a los anotadores y se puede realizar un seguimiento del progreso.

    3 Permisos y roles de usuario

    En CVAT, los roles de usuario definen los niveles de acceso y capacidades:

    • Administración:Control total sobre el proyecto, incluida la creación de tareas, la gestión de usuarios y la configuración.
    • Anotador:Limitado a anotar tareas y enviarlas para revisión.
    • Supervisor o Supervisión.:Puede revisar, editar y aprobar anotaciones, lo que garantiza el control de calidad.
    Panel de control CVAT

    Anotación con CVAT

    La anotación es la función principal de CVAT. Es esencial para preparar conjuntos de datos para modelos de aprendizaje automático. En esta sección, se exploran las herramientas y técnicas disponibles en CVAT para anotar imágenes y videos, junto con ejemplos, prácticas recomendadas y estudios de casos para garantizar una anotación precisa y eficiente.

    1 Importación de datos a CVAT

    Antes de comenzar a anotar datos, es necesario cargarlos en CVAT. CVAT admite una variedad de tipos de archivos, tanto de imágenes como de videos.

    1. Formatos de datos admitidos
    • Imágenes:JPEG, PNG, TIFF, BMP, etc.
    • Videos:MP4, AVI, MOV, MKV, etc.

    Ejemplo:

    • Para una tarea de detección de objetos que involucre cámaras de tráfico, puede cargar una carpeta de Imágenes JPEG de escenas callejeras o Video MP4 Clips de cámaras que monitorean el tráfico. Cada fotograma o segmento de video se anotará en función de la tarea en cuestión.
    2. Carga de datos

    Para cargar datos, siga estos pasos:

    1. En la sección Panel de Control, Haga clic en el Proyectos donde desea agregar datos.
    2. Seleccionar crear tarea o editar una tarea existente.
    3. Haga clic en Agregar archivo/s, seleccione el conjunto de datos de su máquina local y cárguelo.

    Una vez cargados los datos, CVAT los organizará en tareas manejables que usted podrá comenzar a anotar.

    2 Descripción general de las herramientas de anotación

    CVAT ofrece una variedad de herramientas de anotación, cada una diseñada para diferentes tipos de anotaciones. A continuación, se incluye una descripción general de cada herramienta y cómo usarla.

    1. Cuadros delimitadores

    Los cuadros delimitadores se utilizan para marcar la ubicación de objetos en imágenes y vídeos. Esta herramienta es esencial para tareas de detección de objetos , donde se necesita localizar y clasificar objetos como coches, peatones o animales en imágenes o fotogramas de vídeo.

    Ejemplo:

    En un conjunto de datos de imágenes de coches en la carretera, se usarían cuadros delimitadores para identificar cada coche y etiquetarlo con la clase apropiada (por ejemplo, coche , camión , motocicleta ).

    Pasos:
    • Seleccione el elemento  Cuadro delimitador herramienta de la barra de herramientas de anotación.
    • Haga clic y arrastre para crear un cuadro alrededor del objeto.
    • Asignar la etiqueta (por ejemplo, de, peatonal, señal de tráfico).
    • Ajuste el cuadro arrastrando sus bordes si es necesario.
    Mejores prácticas:
    • Precisión:Asegúrese de que el cuadro delimitador encierre firmemente el objeto, sin dejar ningún espacio vacío significativo.

    Consistencia : Aplique las mismas convenciones de etiquetado de forma consistente en todo el conjunto de datos (por ejemplo, utilice siempre "coche" para vehículos, no "vehículo" ni "automóvil" ).

    Cuadro delimitador
    2. Polígonos

    Los polígonos son más flexibles que los cuadros delimitadores y se utilizan para tareas de segmentación , donde es necesario anotar los límites precisos de objetos con formas irregulares.

    Ejemplo:

    En un conjunto de datos de imágenes satelitales, es posible que necesite anotar áreas forestales , que pueden tener formas muy irregulares. Mediante polígonos, puede crear un contorno preciso alrededor de los límites del bosque.

    Pasos:
    • Seleccione el elemento Polígono .
    • Haga clic para colocar vértices alrededor del objeto.
    • Cierra el polígono conectando el último vértice con el primero.
    • Etiqueta el polígono (por ejemplo, bosque, edificio, Etc).
    Mejores prácticas:
    • Minimizar la complejidad:Utilice una cantidad razonable de vértices para garantizar que el polígono siga de cerca la forma del objeto, pero evite detalles excesivos.
    • Cerrar formas:Asegúrese siempre de que los polígonos estén cerrados para evitar errores de datos.
    polígono
    3. Líneas y polilíneas

    Las líneas y polilíneas se utilizan para anotar objetos que tienen una estructura continua o similar a una ruta, como carreteras, tuberías y vías. Las polilíneas son especialmente útiles para anotar redes de carreteras en imágenes satelitales o anotar la ruta de objetos en movimiento en videos.

    Ejemplo:

    Para detectar carreteras en imágenes satelitales, se utilizan polilíneas para trazar la red vial.

    Pasos:
    • Seleccione el elemento Polilínea .
    • Haga clic para colocar puntos a lo largo de la ruta que desea anotar.
    • Complete la polilínea haciendo clic en el punto final.
    Mejores prácticas:
    • Líneas rectas para objetos rectos:Utilice líneas rectas cuando sea posible (como en carreteras o ferrocarriles) para reducir la complejidad de las anotaciones.
    • detallando:Para objetos curvos como ríos, asegúrese de colocar suficientes puntos para seguir el objeto de cerca.
    polilíneas
    4. Puntos clave

    Los puntos clave se utilizan para anotar puntos específicos en los objetos. Esta herramienta es esencial para las tareas de anotación de puntos de referencia , donde se necesita localizar características específicas, como puntos de referencia faciales o la ubicación de las articulaciones en posturas humanas.

    Ejemplo:

    En una tarea de reconocimiento facial, utilizarías puntos clave para anotar los ojos, la nariz y la boca de las personas en las imágenes.

    Pasos:
    • Seleccione el elemento Lista de verificación .
    • Haga clic en las ubicaciones específicas que desea marcar (por ejemplo, las esquinas de los ojos, la punta de la nariz).
    • Etiqueta cada punto (por ejemplo, ojo izquierdo, Ojo derecho, esquina de la boca).

    Mejores prácticas:

    • Colocación precisa:Coloque los puntos clave con la mayor precisión posible en la característica relevante para mantener la consistencia y la calidad de los datos.
    • Utilice suficientes puntos:Para la detección de la postura humana, anote todos los puntos clave relevantes (por ejemplo, codos, hombros, rodillas, etc.).
    Puntos clave
    5. Segmentación semántica

    Para tareas que requieren precisión a nivel de píxel, se necesita la segmentación semántica . Esta técnica consiste en etiquetar cada píxel de una imagen para identificar diferentes objetos o regiones.

    Ejemplo:

    En una tarea de imágenes médicas, es posible que necesite segmentar las regiones de tejido en tomografías computarizadas o imágenes de resonancia magnética.

    Pasos:

    • Seleccione el elemento Segmentación semántica .
    • Utilice el pincel para pintar sobre las regiones de interés en la imagen.
    • Asigne la etiqueta correcta al área segmentada (por ejemplo, , tejido sano).

    Mejores prácticas:

    • Consistencia:Mantenga la coherencia en el etiquetado de las regiones de píxeles (por ejemplo, utilice siempre el mismo umbral para determinar qué constituye tejido sano).
    • Refinamiento:Refina cuidadosamente los bordes de las regiones segmentadas para evitar etiquetar mal los pequeños detalles.
    segmentación
    3 Anotación de datos de vídeo

    CVAT también admite la anotación de vídeo , que introduce funciones adicionales como la anotación fotograma a fotograma y el seguimiento de objetos.

    1. Anotación cuadro por cuadro

    En la anotación de videos, los objetos pueden cambiar de posición, forma u orientación de un fotograma al siguiente. Debes anotar estos objetos fotograma a fotograma, asegurándote de que las anotaciones sean precisas en cada fotograma.

    Ejemplo:

    En un video de vigilancia en el que se sigue un automóvil en movimiento, se dibujarían cuadros delimitadores alrededor del automóvil en cada fotograma del video.

    Pasos:

    • Seleccione la herramienta (por ejemplo, cuadro delimitador o polígono).

    • Anote el objeto en el primer cuadro.

    • Pase al siguiente fotograma, ajuste la anotación a la nueva posición del objeto y repita hasta el final del vídeo.

    2. Seguimiento de objetos

    Para objetos en movimiento, CVAT admite el seguimiento automático y la interpolación para acelerar la anotación. Esta función utiliza algoritmos para rastrear objetos entre fotogramas consecutivos.

    Ejemplo:

    En una tarea de seguimiento de vehículos, una vez que se anota un vehículo en el primer cuadro, CVAT puede usar la herramienta de seguimiento para propagar automáticamente el cuadro delimitador o el polígono a los cuadros subsiguientes.

    Pasos:

    • Anotar un objeto en el primer cuadro (por ejemplo, dibujar un cuadro delimitador alrededor de un automóvil).

    • Seleccione la opción Seguimiento para permitir que CVAT realice el seguimiento del objeto a través de los fotogramas.

    Mejores prácticas para la anotación de videos:

    • Anotación de fotogramas clave : Anote los fotogramas clave donde los objetos cambian significativamente y deje que CVAT se encargue de la interpolación de los fotogramas intermedios.

    Correcciones manuales : Incluso con seguimiento, ajuste manualmente las anotaciones para los fotogramas donde el movimiento del objeto se desvíe.

    anotación de video
    4 Flujo de trabajo de anotación colaborativa

    En proyectos grandes, es posible que varios anotadores trabajen en el mismo proyecto. Las funciones colaborativas de CVAT facilitan la gestión y coordinación de anotaciones entre equipos.

    1. Asignación de tareas
    • Rol de administrador : El administrador crea tareas, establece plazos y asigna anotadores a cada tarea.

    • Función del anotador : A los anotadores se les asignan tareas y comienzan a anotar las imágenes o los vídeos que se les han encomendado.

    • Función del supervisor : Los supervisores revisan y aprueban las anotaciones, proporcionando comentarios si es necesario.

    Ejemplo:

    En un proyecto grande para anotar imágenes de carreteras para vehículos autónomos, el administrador podría dividir el conjunto de datos en tareas más pequeñas y asignar a cada anotador un subconjunto de imágenes en las que trabajar. Los supervisores pueden revisar el trabajo y aprobar las anotaciones que cumplan con los estándares de calidad.

    2. Retroalimentación y control de calidad

    Mediante las funciones de comentarios y revisión , los supervisores pueden proporcionar retroalimentación a los anotadores, garantizando que las anotaciones cumplan con los estándares requeridos.

    Mejores prácticas:

    • Comunicación clara : Proporcione comentarios detallados a los anotadores para evitar confusiones y reducir el tiempo dedicado a las correcciones.

    • Retroalimentación iterativa : Después de que un anotador revise sus anotaciones, los supervisores deben verificarlas rápidamente para garantizar la coherencia.

    5 Caso práctico: Anotaciones para vehículos autónomos

    En este estudio de caso, describimos un proyecto en el que se utilizó CVAT para anotar grabaciones de cámaras de calles con el fin de entrenar un modelo de detección de objetos para un sistema de vehículos autónomos.

    Problema:

    La tarea consistía en anotar 10,000 imágenes de calles tomadas desde un vehículo en movimiento, con diversos objetos (por ejemplo, automóviles, peatones, señales de calle) para entrenar un modelo de aprendizaje automático para la detección de objetos.

    La Solución:
    • Paso 1 : Se cargaron los datos en CVAT y se utilizó la herramienta de cuadro delimitador para anotar los coches y los peatones.

    • Paso 2 : Para las señales de tráfico, se utilizaron polígonos para seguir de cerca las formas irregulares de las señales.

    • Paso 3 : Un equipo de anotadores trabajó en colaboración, y los supervisores revisaron las anotaciones cada 500 imágenes.

    • Paso 4 : Se habilitó la función de seguimiento para los vehículos en movimiento, lo que permitió una anotación más rápida de las trayectorias de los vehículos en los fotogramas del vídeo.

    Resultado:

    El proyecto se completó a tiempo, con una precisión de anotación de más del 95%, que luego se utilizó para entrenar el modelo de detección de objetos, mejorando significativamente la capacidad del vehículo para detectar objetos en tiempo real.

    Si sigue estos pasos, ejemplos y prácticas recomendadas, podrá asegurarse de que sus anotaciones sean de alta calidad, precisas y estén listas para el entrenamiento del modelo de aprendizaje automático. La clave del éxito en los proyectos de anotaciones radica en seleccionar las herramientas adecuadas, mantener la coherencia y revisar periódicamente el progreso para garantizar el control de calidad.

    vehículo autónomo

    Automatización de anotaciones con CVAT

    1 Integración de CVAT con herramientas externas

    CVAT admite la integración de modelos de aprendizaje automático externos para ayudar en el proceso de anotación. A continuación, se explica cómo hacerlo:

    1. Configurar el modelo preentrenado:Elija un modelo como YOLO o Faster R-CNN que pueda etiquetar datos automáticamente.
    2. Conecte el modelo a CVAT:Modifique la configuración de CVAT para incluir la API o el punto de integración del modelo.

    Una vez configurado, el modelo ayudará sugiriendo anotaciones, que los anotadores luego podrán verificar o refinar.

    2 Exportación e importación de anotaciones

    CVAT admite una variedad de formatos para exportar anotaciones, incluidos:

    • COCO:Ideal para tareas de detección y segmentación de objetos.
    • VOC PASCAL:Otro formato para tareas de detección de objetos.
    • Registro TF:Utilizado por TensorFlow.

    Importar anotaciones de otras fuentes (como tareas CVAT anteriores u otras herramientas) también es sencillo a través de la función de importación.

    Gestión y seguimiento del proyecto

    1 Gestión de tareas

    La gestión eficiente de proyectos es fundamental para gestionar tareas de anotación a gran escala. CVAT le permite:

    • Dividir tareas : Dividir los conjuntos de datos grandes en partes manejables.

    • Seguimiento del progreso : Supervise la finalización de las tareas y gestione los plazos de entrega.

    • Supervise el rendimiento : utilice las herramientas integradas de CVAT para comprobar el estado de cada tarea.

    2 Control de calidad

    Para garantizar anotaciones de alta calidad:

    • Establecer estándares : Definir criterios de calidad para las anotaciones, como la precisión y la coherencia.

    • Tareas de revisión : Los supervisores pueden revisar el trabajo presentado por los anotadores y sugerir correcciones.

    • Mejoras iterativas : Tras revisar las anotaciones, se pueden proporcionar comentarios para mejorar los procesos de anotación futuros.

    Exportación de datos y finalización del proyecto

    1 Opciones de exportación de datos

    Una vez que se hayan completado las anotaciones, puede exportar los datos en varios formatos que sean compatibles con las herramientas de aprendizaje automático. Para exportar:

    1. Ve a la sección de Tareas.

    2. Seleccione la tarea y haga clic en Exportar.

    3. Elija el formato (COCO, PASCAL VOC, TFRecord, etc.) y continúe.

    2 Preparación para el entrenamiento del modelo de aprendizaje automático

    Al exportar datos, asegúrese de que las anotaciones tengan el formato correcto para la tarea en cuestión. Por ejemplo:

    • Detección de objetos : Asegúrese de que las coordenadas del cuadro delimitador sean correctas.

    • Segmentación de imágenes : Verifique que las anotaciones de polígonos o máscaras estén limpias.

    3 Proyectos de archivo

    CVAT le permite archivar proyectos completados para futuras referencias. Puede almacenarlos en su servidor o exportarlos a un almacenamiento en la nube para su custodia.

    Conclusión

    Si sigue los pasos que se describen en esta guía, podrá configurar CVAT de manera eficaz, administrar tareas de anotación y extraer datos listos para entrenar modelos de aprendizaje automático. La flexibilidad y la variedad de funciones de CVAT lo convierten en una excelente opción para equipos que manejan proyectos de anotación a gran escala. Con la práctica, podrá optimizar su flujo de trabajo de anotación y garantizar datos etiquetados de alta calidad para sus aplicaciones de inteligencia artificial y aprendizaje automático.

    Visite nuestro servicio de anotación de datos