Investigación de tesis | Método de anotación de datos en la segmentación de imágenes

Con la continua profundización de la exploración en el campo de la inteligencia artificial, los trenes de alta velocidad y el transporte urbano se están convirtiendo gradualmente en inteligentes, y cada vez se aplican más algoritmos de reconocimiento de imágenes a la navegación auxiliar y la conducción automática. En escenarios reales, el tren de alta velocidad enfrentará algunas situaciones extremas durante la conducción, como desastres por deslizamientos de tierra, descarrilamiento de vías, etc. El reconocimiento de imágenes generalmente se usa para evaluar estas situaciones extremas. El entrenamiento de algoritmos de reconocimiento de imágenes requiere una gran cantidad de conjuntos de datos de alta calidad, especialmente datos de anotación y segmentación semántica para algoritmos de segmentación de imágenes, y el costo de adquisición es extremadamente alto.

La segmentación y el etiquetado semánticos consisten en dividir y clasificar áreas de objetos y, por lo general, utilizan el etiquetado de polígonos para etiquetar los contornos de varios objetos. En la actualidad, existen ineficiencias más obvias en la forma de etiquetar polígonos para contornos de objetos, y el costo del etiquetado manual es demasiado alto. Para controlar el costo del etiquetado de datos, mejorar la eficiencia del etiquetado manual de contornos de objetos es el método más directo y efectivo.Es muy importante diseñar e implementar una herramienta de etiquetado de datos eficiente.

Hoy compartiré un artículo sobre el método de anotación de datos que vi.

 1. Información general

levemente.

2 Descripción general de los problemas de etiquetado de datos

levemente.

3 Diseño e implementación de sistema de etiquetado de datos

Este capítulo propone un método para mejorar la eficiencia del etiquetado manual de contornos de objetos y diseña e implementa un sistema de etiquetado de datos. En primer lugar, se realiza el diseño de la arquitectura del sistema de etiquetado de datos; luego, para resolver el problema del dibujo y etiquetado manual de polígonos, se propone y aplica al sistema un método de etiquetado rápido de contornos de objetos con el mouse; finalmente, el la copia general se realiza utilizando las características de cuadro continuo del video / Ajustar la investigación y aplicación del método de etiquetado de polígonos.

3.1 Arquitectura del sistema

Este sistema de etiquetado adopta la arquitectura B/S [6], el front-end usa el framework React [7], el back-end usa el framework Flask [8], la comunicación front-end y back-end usa la biblioteca Axios y la tecnología SocketIO [9] , adopta el modo de separación front-end y back-end, y utiliza la relación Una base de datos de tipo MySQL[10] almacena datos. El front-end o cliente incluye principalmente la capa de interfaz de usuario y la capa de lógica de negocios. La capa de interfaz de usuario es responsable de la visualización de la interfaz y la visualización de datos, y proporciona funciones interactivas relacionadas con el trabajo de etiquetado de datos. La capa de lógica de negocios es responsable de realizar la lógica de negocios de front-end -terminar las operaciones de etiquetado, procesar cambios de datos y proporcionar funciones para comunicarse con el backend. El backend, es decir, el lado del servidor, incluye principalmente una capa de lógica de negocios y una capa de acceso a datos. La capa de lógica de negocios proporciona una interfaz para el cliente, proporciona procesamiento de lógica de negocios para la realización de las funciones del cliente e integra módulos de algoritmos de segmentación de imágenes. La capa de acceso a datos controla el acceso a la base de datos.Operación, que proporciona métodos para agregar, eliminar, modificar y verificar la capa de lógica empresarial. El diseño de la arquitectura del sistema se muestra en la Figura 1.

 3.2 Diseño del método de etiquetado rápido del ratón

El sistema de etiquetado de datos orientado a la segmentación de imágenes puede admitir el uso de polígonos para marcar contornos de objetos. Actualmente, el etiquetado de polígonos puramente manual requiere marcar puntos a lo largo de los contornos de objetos. Para contornos de objetos complejos, la dificultad y complejidad de marcar puntos aumentará exponencialmente. Para facilitar el contorno del objeto, este sistema de anotación propone una forma de anotar rápidamente el contorno del objeto con el mouse: presione el botón izquierdo del mouse y siga moviéndose a lo largo del contorno del objeto, y la posición donde se mueve el mouse genera un polígono de anotación.

Se generarán muchos puntos continuos durante el movimiento del mouse, y las coordenadas de estos puntos se registrarán como los datos originales. Estos puntos continuos forman una curva. Si todos los puntos se muestran en la interfaz, habrá demasiados puntos que describan el contorno y los datos que se mantendrán serán demasiado grandes. No es realista editar una gran cantidad de puntos fijos y la mayoría de los vértices no producirán etiquetas efectos positivos. Por lo tanto, es necesario filtrar los puntos de coordenadas y mantener los puntos de coordenadas mínimos tanto como sea posible para marcar un contorno de objeto más completo y preciso.

En resumen, el esquema de diseño se resume de la siguiente manera: presione el botón izquierdo del mouse y no lo suelte, mueva el mouse a lo largo del contorno del objeto e inicie el proceso de etiquetado rápido.Durante este proceso, cada punto de coordenadas de el movimiento del mouse se recopila y almacena en la colección de manera ordenada. Suelte el botón izquierdo del mouse cuando el mouse termine de dibujar el contorno del objeto, y el proceso de etiquetado rápido finaliza, y todos los puntos en el conjunto de puntos de coordenadas ordenados recopilados se filtran de acuerdo con un cierto valor de tolerancia, y se obtiene un nuevo conjunto de puntos de coordenadas ordenados después del filtrado. Este es el punto de coordenadas del polígono formado por el mouse para marcar rápidamente el contorno del objeto, y usar estos puntos para dibujar el polígono marcado en La interfaz.

De acuerdo con el esquema de diseño preliminar anterior, debe implementarse en este sistema de etiquetado y perfeccionarse en los siguientes esquemas de diseño más específicos. En primer lugar, la operación de arrastre del botón izquierdo del mouse activará la operación de movimiento del área de dibujo, así que configure un botón de activación para la función de etiquetado rápido del mouse. Cuando se activa la función de etiquetado rápido del mouse, ingresará al estado de etiquetado rápido. y deshabilite la operación de movimiento del área de dibujo. Luego, cuando se activa la función de anotación rápida del mouse, se debe registrar el evento de arrastre del botón izquierdo del mouse, incluidos los eventos "drag move" y "drag end". En la función de devolución de llamada del evento de arrastre "drag move", recopile las coordenadas del punto de activación y guárdelas en la colección especificada; en la función de devolución de llamada del evento de fin de arrastre "fin de arrastre", procese las coordenadas en la colección para obtener el filtrado Después de la colección de , reemplaza el polígono dibujado por la colección original. De esta forma, se muestra en la interfaz un polígono que puede describir el contorno del objeto. Finalmente, cuando no se necesite la función de etiquetado rápido del mouse, haga clic en el botón de activación para cancelar la función de etiquetado rápido, salir del estado de etiquetado rápido y reanudar la operación de movimiento del área de dibujo. En esta operación, el evento de arrastre previamente registrado debe eliminarse, de modo que ingrese el estado predeterminado del sistema de etiquetado.

3.3 Diseño general del método de copiar/ajustar etiquetas de polígonos

Cuando la fuente de datos etiquetada es video, el módulo de preprocesamiento filtrará un conjunto de imágenes de cuadros continuos. Obviamente, existe una relación continua entre este grupo de imágenes. Sin embargo, cuando se etiqueta manualmente, esta relación no se usa, ya que etiquetar manualmente cada cuadro de imágenes no es eficiente. En base a la continuidad entre las imágenes de marco, los objetos en dos imágenes de marco consecutivas también tienen continuidad, y las posiciones y tamaños de los polígonos marcados correspondientes también son similares. Por lo tanto, se propone una idea: copiar el polígono etiquetado del marco de imágenes anterior al siguiente marco de imágenes consecutivo y luego ajustar el polígono como un todo para que se ajuste al objeto. Basado en las ideas anteriores, se propone un método para copiar/ajustar el polígono marcado como un todo.

De acuerdo con el análisis anterior, el método general de copia/ajuste está diseñado en detalle y refinado en los siguientes tres puntos de función:

1) Copie todo el polígono de anotación;

2) Mover todo el polígono marcado;

3) Cambiar el tamaño de todo el polígono de dimensión.

Para el primer punto de función "copiar todo el polígono marcado", este sistema proporciona dos métodos de copia, a saber, "copiar todo en la imagen actual" y "copiar todo en la imagen siguiente". Se muestra un menú de opciones para el anotador Para escoger de. El polígono de anotación copiado en la imagen actual se encuentra originalmente en la misma posición que los gráficos de anotación originales y se superpondrán entre sí, lo que hará imposible distinguir entre las selecciones. Por lo tanto, los gráficos de anotación copiados están diseñados para tener una compensación de 5 píxeles respecto al abajo a la derecha, lo cual es conveniente para que el personal de anotaciones distinga y seleccione, como se muestra en la Figura 2 Mostrar. El polígono de anotación copiado a la siguiente imagen permanece igual en posición y tamaño que el polígono de anotación original.

 Para el segundo punto de función "mover todo el polígono de anotación", este sistema lo realiza registrando el evento de arrastre para todo el polígono de anotación y registrando los eventos "arrastrar mover" y "finalizar arrastre" para todo el polígono de anotación. En la función de devolución de llamada del evento "movimiento de arrastre", las coordenadas de los vértices del polígono arrastrado se calculan en tiempo real y se actualizan al polígono mostrado para darse cuenta del efecto del movimiento en tiempo real del polígono después del arrastre; en la devolución de llamada del evento "final de arrastre", Obtenga las coordenadas de los vértices del polígono actual y actualícelos en el modelo de datos para mantener las coordenadas del polígono en el modelo de datos consistentes con las coordenadas del polígono que se muestran en la interfaz.

Para evitar conflictos con la operación de movimiento del área marcada, se agrega el estado general del polígono en movimiento. Use la tecla de atajo M para activar el estado general del polígono en movimiento y registre el evento de arrastre para el polígono de acuerdo con la discusión anterior. En este momento, no puede editar un solo vértice del polígono, ni puede ajustar el tamaño, ancho, y la altura del polígono en su conjunto. Cuando el mouse se mueve sobre el polígono de etiquetado, el polígono de etiquetado actual se llena de forma translúcida con el color de la clase. Esta pantalla resaltada le dice al etiquetador que el polígono de etiquetado actual se puede mover como un todo; cuando el mouse se aleja del polígono de etiquetado, el el color de relleno semitransparente desaparece y el color de relleno del polígono actual es transparente.

Cuando el polígono marcado muestra un color de relleno semitransparente, significa que el polígono se puede arrastrar y mover. Presione el botón izquierdo del mouse sobre el polígono sin soltarlo, mueva el mouse y el polígono seguirá el movimiento en tiempo real según a la posición de movimiento del mouse. Suelte el botón izquierdo del mouse. Encendido, el movimiento del polígono finaliza y la posición actual es la nueva posición del polígono. Como se muestra en la Figura 3, el polígono discontinuo es la posición del polígono antes del movimiento, y el el polígono de línea continua es la posición del polígono después del movimiento.

 Tomemos como ejemplo el movimiento del vértice (x0, y0) de la Figura 3, según las distancias horizontal y vertical Δx, Δy, las nuevas coordenadas (x1, y1)=(x0+ Δx, y0+Δy). Para el tercer punto de función "cambiar el tamaño de todo el polígono de anotación", este sistema permite que el anotador arrastre el punto de ajuste para ajustar el tamaño de todo el polígono de anotación proporcionando puntos de ajuste, que es similar a la realización de la función de polígono móvil general. Puntos de ajuste Registre el evento de arrastre, los detalles no se repetirán, puede consultar la descripción de todo el evento de arrastre de registro de polígono.

Se agregó el estado de ajuste del tamaño general del polígono. Use la tecla de acceso rápido R para activar el estado general de ajuste del tamaño del polígono. En este momento, no podrá editar un solo punto del polígono, ni podrá mover el polígono como un Haga clic en el polígono a ajustar con el botón izquierdo del mouse para activar el ajuste general de la función de polígono, dibuje el cuadro delimitador y los puntos de ajuste de acuerdo con el cuadro delimitador P(x, y, w, h), como se muestra en Figura 4, que indica que el polígono actual se puede redimensionar como un todo.

 Registre el evento de arrastre para el punto de ajuste. El punto de ajuste en el lado del cuadro delimitador es un punto de ajuste unidireccional, y el punto de ajuste en el vértice del cuadro delimitador es un punto de ajuste bidireccional. El punto de ajuste en el medio de los lados superior e inferior solo admite arrastrar hacia arriba y hacia abajo para ajustar la altura del polígono. El punto de ajuste en el medio de la izquierda y la derecha solo admite el arrastre hacia la izquierda y hacia la derecha, que se usa para ajustar el ancho del polígono. Los puntos de ajuste bidireccional en los vértices permiten arrastrar hacia arriba, abajo, izquierda y derecha para ajustar la altura y el ancho del polígono al mismo tiempo. Tome arrastrar el punto de ajuste superior izquierdo para cambiar el tamaño del polígono como un ejemplo para deducir y calcular las coordenadas de los vértices del polígono.

Arrastre el punto de ajuste superior izquierdo del cuadro delimitador para ajustar el tamaño del polígono como un todo, como se muestra en la Figura 5. Suponiendo que el ancho de ajuste hacia la izquierda es Δx y el ancho de ajuste hacia arriba es Δy, entonces el cuadro delimitador ajustado P (x , y , w ,h )=(x-Δx, y-Δy, w+Δx, h+Δy), con vértices de polígono (x0, y0) como ejemplo, el vértice ajustado es (x0, y0), y es obvio que x0 = x0-Δx, y0 se calcula como se muestra en la fórmula (1).

 4 Aplicación del sistema

Este documento clasifica la escena de conducción de trenes de alta velocidad. La escena habitual es la vía normal. Los rieles, barandillas, trenes, montañas, etc. están marcados, y las etiquetas de clasificación están marcadas para obtener el conjunto de datos marcados para entrenar el reconocimiento de imágenes. algoritmo. Como se muestra en la Figura 6, este sistema de etiquetado etiqueta la escena de conducción del tren de alta velocidad.

El reconocimiento de imágenes [11] para escenas de conducción de trenes de alta velocidad tiene un significado práctico cuando se encuentran fallas o desastres naturales extremadamente especiales, como deslizamientos de tierra. Descarrilamiento de vías, etc. Si estas situaciones se pueden identificar con anticipación, se pueden tomar medidas a tiempo para reducir las víctimas y los daños a las instalaciones.

 5. Experimento del sistema y análisis de resultados.

5.1 Experimento de etiquetado rápido del ratón

En el experimento, se seleccionaron 30 anotadores para marcar los contornos del mismo lote de objetos designados utilizando dos formas de marcado de puntos y marcado rápido con el mouse, respectivamente.

Para la primera anotación, 30 anotadores utilizaron el método de marcar puntos para anotar 54 objetos especificados en 30 imágenes anotadas. Para el segundo etiquetado, 30 etiquetadores usaron el mouse para etiquetar rápidamente, y los objetos de etiquetado fueron los mismos que en el primer etiquetado.

Para comparar los datos de las dos anotaciones anteriores de manera más intuitiva, el tiempo empleado por el personal de anotación en los dos métodos de anotación se muestra en forma de histograma, como se muestra en la Figura 7. Para reflejar la mejora de la eficiencia del uso del método rápido del mouse, el porcentaje de mejora de la eficiencia de cada persona se calcula y se muestra en forma de diagrama de dispersión, como se muestra en la Figura 8.

 Puede verse en la Figura 7 que, en las mismas condiciones de otras condiciones de etiquetado, el tiempo de etiquetado de cada etiquetador que usa el método de etiquetado rápido del ratón es menor que el tiempo de etiquetado del etiquetado de puntos. Del análisis en la Figura 8, se puede ver que la eficiencia de etiquetado del 76.7% del personal ha aumentado en más del 10%, y la eficiencia de etiquetado del 100% del personal ha mejorado, y la eficiencia de etiquetado ha aumentado en un promedio de 11,6%, lo que indica que este método puede mejorar efectivamente la eficiencia del etiquetado.

5.2 Experimento general de copiar/ajustar polígono de etiquetas

En el experimento, se seleccionaron 30 anotadores para realizar el marcado de puntos y el marcado general de copia/ajuste en el mismo vehículo con una trayectoria de movimiento continuo especificada en 30 imágenes marcadas.

Para la primera anotación, 30 anotadores utilizaron el método de marcado de puntos para anotar los objetos de destino en 30 imágenes. Para la segunda anotación, 30 anotadores pueden usar el método de copia/ajuste general para ayudar en la anotación de puntos para anotar los objetos de destino en las 30 imágenes.

Para comparar los datos de las dos anotaciones anteriores de manera más intuitiva, el tiempo empleado por el personal de anotación en los dos métodos de anotación se muestra en forma de histograma, como se muestra en la Figura 9. Para reflejar la mejora de la eficiencia del uso del método de etiquetado de copia/ajuste general, el porcentaje de mejora de la eficiencia de cada persona se calcula y se muestra en forma de diagrama de dispersión, como se muestra en la Figura 10.

 Se puede ver en la Figura 9 que, bajo las mismas condiciones de otras condiciones de etiquetado, el tiempo de etiquetado de cada etiquetador que usa el método de etiquetado de copia/ajuste general para el etiquetado auxiliar es menor que el de usar solo el método de etiquetado de dibujo de puntos. En la Figura 10, se puede ver que la eficiencia de etiquetado del 90 % del personal ha aumentado en más del 28 %, y la eficiencia de etiquetado ha aumentado en un promedio de 29,7 %, lo que indica que este método puede mejorar efectivamente la eficiencia de etiquetado.

6 Resumen

Este documento se centra principalmente en la baja eficiencia del etiquetado manual de los contornos de los objetos, con el objetivo de mejorar la eficiencia del etiquetado manual de los contornos de los objetos, y propone dos métodos de etiquetado: etiquetado rápido del mouse y polígonos de etiquetado de copia/ajuste general, que se aplican a el sistema de etiquetado de datos. conclusión de la siguiente manera.

Se estudia la influencia del método de etiquetado rápido del ratón en la eficiencia del etiquetado, y el método de etiquetado rápido del ratón puede mejorar la velocidad del etiquetado manual a través de experimentos, que pueden lograr el propósito de mejorar la eficiencia del etiquetado. El método de etiquetado rápido del ratón mejora la eficiencia en un promedio del 11,6 % en comparación con el método de etiquetado de puntos.

Se estudia el efecto de la copia/ajuste general del método del polígono de anotación en la eficiencia de la anotación, y el experimento demuestra que la copia/ajuste general del método del polígono de anotación puede mejorar la eficiencia de la anotación de los anotadores. El método general de copia/ajuste de etiquetado de polígonos reduce el tiempo de etiquetado en un promedio de 29,7 % en comparación con el método de etiquetado de puntos de dibujo.

7. Referencias

levemente.

Los estudiantes interesados ​​pueden ir a Zhiwang para descargar este documento.


Fuente del artículo: Zhang Yue, Wang Xiaoyi, Li Juan. Sistema de anotación de datos para la segmentación de imágenes [J]. Tecnología de ingeniería de señales de comunicación ferroviaria (RSCE) , 2022, 19 (11)


Con respecto a la parte de la segmentación semántica, me gustaría recomendar una plataforma de visión artificial doméstica: Coovally, que es una plataforma de visión artificial que incluye un proceso completo de modelado de IA, gestión de proyectos de IA y gestión de implementación de sistemas de IA. El ciclo de desarrollo se puede acortar de meses a días, y se puede acelerar el desarrollo, la integración, las pruebas y la verificación de las soluciones de visión de IA. Ayude a mejorar las capacidades de desarrollo de software de pila de IA de la empresa, de modo que los sistemas de IA avanzados puedan popularizarse a un costo más bajo y más rápido. "Empaque sus propias capacidades de IA" para que las use el personal comercial, a fin de realizar "enseñar a la gente a pescar". En la actualidad, Coovally ha cubierto múltiples áreas de aplicación, que incluyen inspección de calidad de fabricación, monitoreo de desastres geológicos, monitoreo de equipos de la industria energética, diagnóstico de enfermedades médicas especiales, transporte inteligente, parques inteligentes, etc.

La solución de etiquetado de datos de Coovally resuelve las manos de la empresa y se puede entregar a Coovally para completar la detección de desastres por deslizamientos de tierra y descarrilamientos de vías.

Supongo que te gusta

Origin blog.csdn.net/Bella_zhang0701/article/details/128114625
Recomendado
Clasificación