Logotipo de Zephyrnet

Aprendizaje profundo para la prueba virtual de ropa: desafíos y oportunidades

Fecha:

Aprendizaje profundo para la prueba virtual de ropa: desafíos y oportunidades

Conozca los experimentos de MobiDev para transferir prendas de vestir en 2D a la imagen de una persona. Como parte de sus esfuerzos para llevar las tecnologías de RA e IA al desarrollo de probadores virtuales, revisan la arquitectura y los algoritmos de aprendizaje profundo en desarrollo y el estado actual de los resultados.


By Tatariants de Maksym, Ingeniero de ciencia de datos en MobiDev.

La investigación descrita a continuación fue realizada por MobiDev como parte de una investigación sobre traer Tecnologías de RA e IA para el desarrollo de probadores virtuales.

Explorando la transferencia de tela 2D a una imagen de una persona

Cuando trabajamos en aplicaciones de probadores virtuales, realizamos una serie de experimentos con pruebas virtuales de ropa y descubrimos que la representación adecuada de un modelo de ropa en 3D en una persona sigue siendo un desafío. Para una experiencia de RA convincente, el modelo de aprendizaje profundo debe detectar no solo el conjunto básico de puntos clave correspondientes a las articulaciones del cuerpo humano. También debe identificar la forma real del cuerpo en tres dimensiones para que la ropa pueda ajustarse adecuadamente al cuerpo.

Para ver un ejemplo de este tipo de modelo, podemos mirar el Pose densa por el equipo de investigación de Facebook ( ). Sin embargo, este enfoque no es preciso, lento para dispositivos móviles y caro.

Figura 1 y XNUMX: Detección de malla corporal mediante DensePose (fuente).

Por lo tanto, es necesario buscar alternativas más simples a las técnicas de prueba de ropa virtual.

Una opción popular aquí es, en lugar de elegir prendas de vestir en 3D, trabajar con prendas de vestir en 2D y siluetas de personas en 2D. Es exactamente lo que zeekits empresa lo hace, dando a los usuarios la posibilidad de aplicar varios tipos de ropa (vestidos, pantalones, camisas, etc.) a su foto.

Figura 2 y XNUMX: Prueba de ropa 2D, Zeekit (fuente, 0:29 - 0:39).

Dado que las técnicas de transferencia de telas utilizadas por la empresa no han sido reveladas además de incorporar modelos de aprendizaje profundo, vamos a referirnos a artículos científicos sobre el tema. Tras revisar varios de los trabajos más recientes (fuente 1, fuente 2, fuente 3), el enfoque predominante del problema es utilizar Redes Adversariales Generativas (GAN) en combinación con Pose Estimation y Análisis humano modelos. La utilización de los dos últimos modelos ayuda a identificar las áreas en la imagen correspondientes a partes específicas del cuerpo y a determinar la posición de las partes del cuerpo. El uso de modelos generativos ayuda a producir una imagen deformada de la ropa transferida y la aplica a la imagen de la persona para minimizar el número de artefactos producidos.

Modelo y plan de investigación seleccionados

Para esta investigación, elegimos el modelo Adaptive Content Generating and Preserving Network (ACGPN) descrito en el "Hacia una prueba virtual fotorrealista mediante la generación adaptativaContenido de imagen" papel. Para explicar cómo funciona ACGPN, revisemos su arquitectura que se muestra en .

Figura 3 y XNUMX: Arquitectura del modelo ACGPN (crédito: Yang et al., 2020).

El modelo consta de tres módulos principales: generación semántica, deformación de ropa y fusión de contenido.

El módulo de generación semántica recibe la imagen de la ropa de un objetivo y su máscara, datos sobre la pose de la persona, un mapa de segmentación con todas las partes del cuerpo (las manos son especialmente importantes) y las prendas identificadas.

El primer modelo generativo (G1) del módulo de generación semántica modifica el mapa de segmentación de la persona para que identifique claramente el área del cuerpo de la persona que debe cubrirse con la ropa objetivo. Recibida esta información, el segundo modelo generativo (G2) deforma la máscara de la ropa para que corresponda con el área que debe ocupar.

Después de eso, la máscara de ropa deformada se pasa al módulo de deformación de ropa, donde la Red de transformación espacial (STN) deforma la imagen de la ropa según la máscara. Y finalmente, la imagen de la ropa deformada, el mapa de segmentación modificado del Módulo de generación semántica y la imagen de una persona se introducen en el tercer módulo generativo (G3) y se produce el resultado final.

Para probar las capacidades del modelo seleccionado, pasamos por los siguientes pasos en orden de dificultad creciente:

  1. Replicación del resultados de los autores sobre los datos originales y nuestros modelos de preprocesamiento (Simple).
  2. Aplicación de ropa personalizada a imágenes predeterminadas de una persona (Medio).
  3. Aplicación de ropa por defecto a imágenes personalizadas de una persona (Difícil).
  4. Aplicación de ropa personalizada a imágenes personalizadas de una persona (Muy difícil).

Replicación de los resultados de los autores sobre los datos originales y nuestros modelos de preprocesamiento

Los autores de la papel original no mencionó los modelos que utilizaron para crear etiquetas de segmentación de personas y detectar los puntos clave en un cuerpo humano. Por lo tanto, elegimos los modelos nosotros mismos y nos aseguramos de que la calidad de los resultados del modelo ACGPN fuera similar a la informada en el documento.

Como detector de puntos clave, elegimos el pose abierta modelo porque proporcionó el orden apropiado de puntos clave (conjunto de datos de puntos clave COCO) y se utilizó en otras investigaciones relacionadas con la prueba virtual para el reemplazo de ropa.

Figura 4 y XNUMX: Ejemplo de detecciones de puntos clave de COCO utilizando OpenPose.

Elegimos el modelo SCHP presentado en el Autocorrección para análisis humano papel para la segmentación de las partes del cuerpo. Este modelo utiliza la arquitectura común de análisis sintáctico humano CE2P con algunas modificaciones de las funciones de pérdida.

El modelo de segmentación de SCHP utiliza una columna vertebral previamente entrenada (codificador) para extraer características de la imagen de entrada. Las características recuperadas se utilizan luego para la predicción del contorno de la persona en la rama del borde y la segmentación de la persona en la rama de análisis. Las salidas de estas dos ramas junto con los mapas de características del codificador se introdujeron en la rama de fusión para mejorar la calidad de los mapas de segmentación.

Figura 5 y XNUMX: Arquitectura del modelo SCHP (basado en CE2P), crédito de imagen - Li y col.

Otro elemento nuevo en el modelo SCHP es la función de autocorrección utilizada para mejorar de forma iterativa la predicción del modelo en etiquetas de verdad de suelo ruidosas. Estas etiquetas se utilizan comúnmente en tareas de análisis sintáctico humano, ya que puede resultar difícil para los anotadores humanos producir etiquetas de segmentación. Durante este proceso, el modelo, entrenado en primer lugar en anotaciones humanas inexactas, se agrega con nuevos modelos entrenados en máscaras de verdad pseudo-terreno obtenidas del modelo previamente entrenado.

El proceso se repite varias veces hasta que tanto el modelo como las máscaras de verdad del pseudo-terreno alcanzan una mayor precisión. Para la tarea de análisis humano, usamos el modelo entrenado en el Mirar en persona (LIP) conjunto de datos porque es el más apropiado para esta tarea.

Figura 6 y XNUMX: Ejemplos de análisis sintáctico humano utilizando el modelo SCHP (persona - izquierda, segmentación - derecha).

Finalmente, cuando los modelos de análisis sintáctico humano y de puntos clave estaban listos, usamos sus resultados para ejecutar el modelo ACGPN en los mismos datos utilizados por los autores para el entrenamiento. En la imagen a continuación, puede ver los resultados que obtuvimos del conjunto de datos de VITON.

El módulo de generación semántica modifica la segmentación original para que refleje el nuevo tipo de ropa. Por ejemplo, el jersey de la imagen original tiene mangas largas, mientras que la tela de destino (camiseta) tiene mangas cortas. Por tanto, la máscara de segmentación debe modificarse para que los brazos queden más al descubierto. Esta segmentación transformada luego es utilizada por el módulo Content Fusion para pintar partes del cuerpo modificadas (por ejemplo, dibujar los brazos desnudos), y es una de las tareas más desafiantes para que el sistema la realice ( ).

Figura 7 y XNUMX: Entradas y salidas del modelo ACGPN.

En la imagen de abajo ( ), puede ver los resultados de la compilación del reemplazo de ropa exitoso y no exitoso utilizando el modelo ACGPN. Los errores más frecuentes que encontramos fueron una pintura deficiente (B1), ropa nueva superpuesta con partes del cuerpo (B2) y defectos en los bordes (B3).

Figura 8 y XNUMX: Reemplazo de ropa exitoso (A1-A3) y no exitoso (B1-B3). Los artefactos están marcados con rectángulos rojos.

Aplicación de ropa personalizada a imágenes de personas predeterminadas

Para este experimento, elegimos varias prendas ( ) y los aplicó a imágenes de una persona del conjunto de datos de VITON. Tenga en cuenta que algunas imágenes no son fotos reales de ropa, sino renderizaciones 3D o dibujos 2D.

Figura 9 y XNUMX: Imágenes de ropa utilizadas para la prueba virtual (A - foto de un artículo, B, C - renders 3D, D - dibujo 2D).

Pasando a los resultados del reemplazo de ropa ( ), podemos ver que pueden dividirse aproximadamente en tres grupos.

Figura 10 y XNUMX: Ejemplos de reemplazo de ropa usando ropa personalizada (Fila A: éxito con artefactos menores, Fila B: artefactos moderados, Fila C: artefactos mayores).

Las imágenes de la Fila A no tienen defectos y se ven más naturales. Esto se puede atribuir al hecho de que las personas en las imágenes tienen una pose similar de cámara en posición vertical y de frente. Como los autores de la Explicado, tal pose hace que sea más fácil para el modelo definir cómo la nueva ropa debe ser deformada y aplicada a la imagen de la persona.

Las imágenes en la Fila B presentan la pose más desafiante para ser procesada por el modelo. El torso de la persona está ligeramente doblado y los brazos ocluyen parcialmente el área del cuerpo donde se supone que se aplica la ropa. Como se muestra en , un torso doblado produce defectos en los bordes. Observe que la ropa de manga larga difícil (elemento C de ) se procesa correctamente. Es porque las mangas deben pasar por complicadas transformaciones para alinearse apropiadamente con los brazos de la persona. Es increíblemente complicado si los brazos están doblados o su silueta está ocluida por la ropa en la imagen original.

Las imágenes de la Fila C muestran ejemplos en los que el modelo falla casi por completo. Es un comportamiento esperado ya que la persona en las imágenes de entrada tiene un torso fuerte y los brazos doblados de manera que ocluyen casi la mitad del área del estómago y el pecho.

Aplicación de ropa predeterminada a las imágenes personalizadas de la persona

Repasemos los experimentos de la aplicación del modelo a las imágenes sin restricciones de personas en entornos naturales. El conjunto de datos de VITON utilizado para el entrenamiento del modelo tiene condiciones de iluminación muy estáticas y no muchas variantes de perspectivas y poses de la cámara.

Cuando usamos imágenes reales para probar el modelo, nos dimos cuenta de que la diferencia entre los datos de entrenamiento y los datos no restringidos disminuye significativamente la calidad de la salida del modelo. El ejemplo de este problema que puede ver en Higo. 11.

Figura 11 y XNUMX: Reemplazo de ropa: el impacto de la diferencia de fondo con los datos de capacitación. Fila A: fondo original, fila B: fondo reemplazado por un fondo similar al del conjunto de datos de VITON.

Encontramos imágenes de una persona que tenía una pose y una perspectiva de cámara similares a las imágenes del conjunto de datos de entrenamiento y vimos numerosos artefactos presentes después del procesamiento (Fila A). Sin embargo, después de eliminar la textura de fondo inusual y llenar el área con el mismo color de fondo que en el conjunto de datos de entrenamiento, se mejoró la calidad de salida recibida (aunque algunos artefactos todavía estaban presentes).

Al probar el modelo con más imágenes, descubrimos que el modelo se comportaba de forma semi-decente en las imágenes similares a las de la distribución de entrenamiento y fallaba completamente donde la entrada era lo suficientemente distinta. Puede ver los intentos más exitosos de aplicar el modelo y los problemas típicos que encontramos en Fig 12.

Figura 12 y XNUMX: Salidas de reemplazo de ropa en imágenes con un entorno sin restricciones (Fila A: artefactos menores, Fila B: artefactos moderados, Fila C: artefactos mayores).

Las imágenes de la Fila A muestran ejemplos de lugares donde los defectos principales son defectos de borde.

Las imágenes de la Fila B muestran casos más críticos de errores de enmascaramiento. Por ejemplo, tela borrosa, agujeros y parches de piel / ropa en aquellos lugares donde no deberían estar presentes.

Las imágenes de la Fila C muestran graves errores de pintura, como brazos mal dibujados y errores de enmascaramiento, como la parte desenmascarada del cuerpo.

Aplicación de ropa personalizada a las imágenes de personas personalizadas

Aquí probamos qué tan bien el modelo puede manejar tanto la ropa personalizada como las fotos de personas personalizadas y dividimos los resultados en tres grupos nuevamente.

Figura 13 y XNUMX: Reemplazo de ropa con un entorno sin restricciones e imágenes de ropa personalizadas.

Las imágenes de la Fila A muestran el mejor resultado que pudimos obtener del modelo. La combinación de ropa personalizada e imágenes de personas personalizadas resultó ser demasiado difícil de procesar sin al menos artefactos moderados.

Las imágenes de la Fila B muestran los resultados donde los artefactos se volvieron más abundantes.

Las imágenes de la Fila C muestran los resultados más distorsionados debido a los errores de transformación.

Proyectos futuros

El modelo ACGPN tiene sus limitaciones, como que los datos de entrenamiento deben contener imágenes emparejadas de la ropa objetivo y personas que usan esa ropa específica.

Teniendo en cuenta todo lo descrito anteriormente, puede haber la impresión de que una prueba virtual de ropa no se puede implementar, pero no lo es. Siendo una tarea desafiante ahora, también está brindando una ventana de oportunidad para las innovaciones basadas en inteligencia artificial en el futuro. Y ya existen nuevos enfoques diseñados para resolver esos problemas. Otra cosa importante es tener en cuenta las capacidades de la tecnología al elegir un escenario de caso de uso adecuado.

Relacionado:

Fuente: https://www.kdnuggets.com/2020/10/deep-learning-virtual-try-clothes.html

punto_img

café vc

café vc

Información más reciente

punto_img