Cómo generar imágenes sintéticas para tareas de detección de objetos |  de Dr. León Eversberg |  marzo de 2024

Un tutorial paso a paso usando Blender, Python y 3D Assets

Imagen creada por el autor.

No tener suficientes datos de entrenamiento es uno de los mayores problemas del aprendizaje profundo actual.

Una solución prometedora para las tareas de visión por computadora es la generación automática de imágenes sintéticas con anotaciones.

En este artículo, primero daré una descripción general de algunas técnicas de generación de imágenes para datos de imágenes sintéticas.

Luego, generamos un conjunto de datos de entrenamiento sin necesidad de anotaciones manuales y lo usamos para entrenar un modelo de detección de objetos Faster R-CNN.

Finalmente, probamos nuestro modelo entrenado en imágenes reales.

En teoría, las imágenes sintéticas son perfectas. Puede generar una cantidad casi infinita de imágenes sin ningún esfuerzo de anotación manual..

Los conjuntos de datos de entrenamiento con imágenes reales y anotaciones manuales pueden contener una cantidad significativa de errores de etiquetado humanos y, a menudo, son conjuntos de datos desequilibrados con sesgos (por ejemplo, las imágenes de automóviles probablemente se toman desde el costado/de frente y en una carretera).

Sin embargo, las imágenes sintéticas sufren de un problema llamado brecha de dominio sim a real.

La brecha entre el dominio sim y el real surge del hecho de que estamos usando imágenes de entrenamiento sintéticas, pero queremos usar nuestro modelo en imágenes del mundo real durante la implementación.

Existen varias técnicas diferentes de generación de imágenes que intentan reducir la brecha de dominio.

Cortar y pegar

Una de las formas más sencillas de crear imágenes de entrenamiento sintéticas es el método de cortar y pegar.

Como se muestra a continuación, esta técnica requiere unas imágenes reales de las que se recortan los objetos a reconocer. Estos objetos luego se pueden pegar en imágenes de fondo aleatorias. para generar una gran cantidad de nuevas imágenes de entrenamiento.

Una imagen que muestra el método de cortar y pegar: los objetos segmentados se recortan de imágenes reales y luego se pegan en imágenes de fondo aleatorias para generar datos de entrenamiento sintéticos.
Para generar imágenes de entrenamiento sintéticas adicionales, recorte algunos ejemplos reales de sus objetos y luego péguelos en imágenes de fondo. Imagen de Dwibedi, Misra y Hebert. [1]

Mientras que Georgakis et al. [2] Argumentan que la posición de estos objetos debe ser realista para obtener mejores resultados (por ejemplo, un objeto…