Se requiere una suscripción a JoVE para ver este contenido. Inicie sesión o comience su prueba gratuita.

Artículo de método

Un protocolo de aprendizaje de características de imagen basado en la topología de componentes de prendas a nivel de imagen para la recuperación de referencias de diseño

45 visualizaciones

⸱

DOI:

10.3791/72103

⸱

1 de septiembre de 2026

 ,  ,  , 

En este artículo

Resumen

Este protocolo genera representaciones de prendas que consideran la estructura mediante la integración del análisis semántico de componentes, modelado de topología, codificación de características de doble flujo y fusión guiada por la estructura. Permite a investigadores en visión por computadora y en indumentaria realizar recuperación de prendas y comparación de referencias de diseño basadas en la organización de componentes y el diseño de la silueta, en lugar del color o la textura.

Resumen

Los métodos de recuperación de imágenes de ropa suelen enfatizar el color y la textura, lo que puede provocar confusión entre prendas que comparten un aspecto similar pero difieren en sus diseños de componentes. Este estudio presenta un protocolo de aprendizaje de características con reconocimiento de componentes para la recuperación de imágenes de prendas y la comparación de referencias de diseño. El protocolo analiza regiones semánticas de las prendas, construye un grafo de componentes de prenda a nivel de imagen, codifica en paralelo la apariencia y las relaciones de componentes, y fusiona ambas representaciones mediante pérdidas de consistencia estructural, relación estructural y discriminación estructural. Las imágenes de DeepFashion2 se estandarizan a 512 x 512 píxeles, se analizan con HRNet-W48, se codifican con ResNet-50 y convolución de grafos, y se evalúan mediante recuperación y agrupamiento estructurales. El modelo completo alcanzó un índice de consistencia estructural de 0,81, un índice de discriminación estructural de 0,71, un Recall@5 de 89,2 %, una precisión media promedio de 86,4 % y un coeficiente de silueta de 0,74. El protocolo permite la recuperación de la estructura de prendas, la comparación estructural y la localización de diferencias cuando la apariencia superficial no representa de forma fiable la construcción de la prenda.

Introducción

Con la creciente integración de la visión por computadora y la inteligencia artificial en la industria de la confección, el análisis de imágenes de ropa ha ampliado progresivamente su alcance desde tareas básicas de reconocimiento hasta análisis orientados al diseño y al apoyo en la toma de decisiones1,2. En el proceso de diseño de prendas, la distinción entre esquemas de diseño depende más de la composición estructural y de las relaciones entre componentes que de simples diferencias en la apariencia, lo que hace que la capacidad expresiva estructural de las características de las imágenes de ropa en la asistencia al diseño sea un factor clave que afecta la eficacia del análisis3,4. Sin embargo, la mayoría de los métodos visuales existentes aún dependen principalmente de la textura, el color y los contornos globales como sus características principales, lo que dificulta el análisis sistemático de jerarquías y diferencias constructivas en el proceso de diseño5,6. Por lo tanto, desarrollar un método de aprendizaje de características en imágenes sensible a la estructura para asistir en el diseño de prendas es fundamental para mejorar la objetividad y la coherencia del análisis de diseño7. Este protocolo resulta adecuado cuando las prendas comparten colores, texturas o contornos globales similares, pero difieren en la organización de sus componentes, en los patrones de conexión o en la distribución espacial. En estas condiciones, las representaciones centradas en la apariencia tienden a ubicar diseños estructuralmente diferentes muy próximos entre sí en el espacio de características, lo que reduce la fiabilidad de la recuperación y la comparación de diseños. El protocolo aborda tareas en las que las relaciones entre los componentes de la prenda constituyen la base principal para la recuperación estructural, la evaluación de diseños y el análisis de diferencias localizadas.

En cuanto a la escala de datos, la complejidad del modelo y la diversidad de tareas, la investigación actual sobre el análisis y la comprensión automáticos de imágenes de ropa ha logrado avances significativos8,9. Sin embargo, en aplicaciones prácticas, la información estructural de la ropa a menudo se incluye de forma implícita en los resultados de segmentación o detección y no se considera en la modelización unificada en la etapa de aprendizaje de características, lo que provoca una falta de distinción estable entre diferentes diseños estructurales en el espacio de características10,11. Las relaciones espaciales, las restricciones jerárquicas y las estructuras topológicas entre los componentes de la prenda no se codifican explícitamente, lo que dificulta que las representaciones de características reflejen diferencias estructurales a nivel de diseño12,13. La ausencia de una modelización estructural explícita limita la granularidad analítica y la fiabilidad de las decisiones basadas en las características de las imágenes de ropa en escenarios de asistencia al diseño, constituyendo una barrera importante para el desarrollo de sistemas inteligentes de diseño con una comprensión semántica más profunda14.

Para apoyar el aprendizaje y análisis de características de imágenes de prendas, estudios relacionados han explorado varias direcciones técnicas15. Los métodos de segmentación semántica y análisis de prendas han permitido una delimitación fina de las regiones y componentes de las prendas mediante anotación a nivel de píxel, proporcionando una base para la extracción de información estructural16,17. Los métodos de recuperación de prendas basados en consultas de imagen han incorporado fusión de topología y color-textura, alineación de atención global y local, análisis de prendas, representación multiescala y multigranular, y atención residual con selección de características. Estos métodos abordan búsquedas en catálogos, coincidencias de consumidor a tienda, recuperación de productos cruzados por dominio y búsquedas visuales en comercio electrónico. Sus contextos de aplicación están estrechamente relacionados con la recuperación de referencias de diseño, ya que cada método clasifica imágenes de prendas según una consulta visual, aunque sus representaciones no conservan las relaciones de adyacencia tipificada entre componentes ni las relaciones de orden vertical durante toda la fusión de características18,19,20. Mientras tanto, la investigación en escenarios de diseño y recomendación ha introducido progresivamente fusión multimodal, modelado de relaciones y análisis de estilos, ampliando así los límites de aplicación de las características visuales de la ropa21,22. Aunque estos métodos han logrado avances en sus respectivas tareas, sus características principales siguen basándose en gran medida en descripciones de apariencia, y la información estructural no ha sido modelada uniformemente como una restricción inherente para el aprendizaje de características, lo que dificulta satisfacer las necesidades de asistencia al diseño de prendas en cuanto a alineación estructural y comparación estructural23.

Para abordar la capacidad insuficiente de diferenciación estructural en la asistencia al diseño de prendas, este artículo propone un método de aprendizaje de características de imagen basado en la percepción de la estructura de la prenda. Este método incorpora los resultados del análisis de prendas y la información clave sobre la estructura en la etapa de entrada de la imagen de la prenda, modelando conjuntamente las regiones de los componentes de la prenda, las relaciones espaciales y las conexiones jerárquicas. La codificación de relaciones estructurales y la alineación de características visuales integran explícitamente las restricciones de la prenda en el proceso de aprendizaje de características, generando una representación que conserva tanto la apariencia visual como la coherencia estructural. Esta característica describe las diferencias estructurales de las prendas dentro de un espacio unificado, proporcionando una base estable para el análisis posterior de similitud estructural, agrupamiento estructural y toma de decisiones asistida en el diseño, aliviando así el problema de confusión de características causado por la falta de modelado estructural en los métodos existentes. A diferencia de las estrategias generales de recuperación visual que tratan la información estructural como atributos auxiliares débilmente conectados, este marco construye un mecanismo de modulación de características centrado en las relaciones topológicas. El mecanismo promueve que la representación aprendida siga la organización visible de las regiones de la prenda, reduciendo al mismo tiempo las respuestas dominadas por la textura. Cada nodo del grafo denota una región semántica a nivel de imagen, y cada relación del grafo describe la adyacencia visible o la posición relativa normalizada en el plano de la imagen. La representación resultante permite la comparación del diseño de componentes y la organización del contorno entre imágenes de prendas. Estas regiones y relaciones no corresponden a piezas de patrones de costura, conexiones de costuras, puntos de referencia de construcción ni parámetros de escalado. En comparación con los métodos de recuperación basados en la apariencia, el protocolo conserva explícitamente la topología de los componentes durante todo el proceso de aprendizaje de características, en lugar de tratar la información estructural como un resultado de análisis posterior. En comparación con los enfoques que introducen indicadores estructurales únicamente como entradas auxiliares, la codificación de doble flujo y la fusión coherente con la topología preservan las relaciones geométricas mientras reducen las respuestas dominadas por la textura. La representación resultante permite la recuperación de estructuras de prendas, el agrupamiento estructural, la selección de referencias de diseño y el análisis localizado de diferencias de diseño, a la vez que proporciona evidencia a nivel de componentes que permanece interpretable dentro del proceso de diseño de prendas. La investigación relacionada con este protocolo abarca el aprendizaje de características en imágenes de ropa, el modelado de estructuras de prendas, la representación con conciencia estructural y el análisis visual para la asistencia en el diseño de prendas.

A nivel de representación de características, la investigación sobre imágenes de ropa ha centrado durante mucho tiempo su atención en la modelización de la apariencia, la extracción de características profundas y la representación multiescala24,25. Trabajos iniciales utilizaron redes neuronales convolucionales para realizar modelado end-to-end de imágenes de ropa en tareas de clasificación, recuperación y coincidencia de similitud26,27. Posteriormente, se introdujeron la fusión de características multiescala y el aprendizaje cruzado de dominios para mitigar las diferencias en las imágenes de ropa bajo distintos ángulos de visión, posturas y condiciones de captura28,29. En tareas de recuperación, se emplearon mecanismos de atención y estrategias de compresión de características para mejorar la discriminación de las características y la eficiencia computacional30,31. Estos métodos logran una discriminación de la apariencia confiable, pero sus procesos de aprendizaje de características aún se centran en la información visual global y carecen de representaciones sistemáticas de las estructuras internas de las prendas32. Los métodos de recuperación de moda compuesta combinan además una imagen de referencia con instrucciones textuales de modificación, pero su modalidad de consulta difiere del protocolo basado únicamente en imágenes estudiado aquí. Se revisan como una dirección relacionada de recuperación comercial y no se incluyen en la comparación cuantitativa, ya que una entrada textual adicional impediría una evaluación controlada basada únicamente en consultas de imagen.

A medida que el análisis de imágenes de ropa ha pasado de la discriminación de la apariencia a la comprensión estructural, la investigación se ha centrado cada vez más en modelar componentes de prendas, relaciones geométricas y conexiones topológicas33. Las redes de segmentación semántica han logrado un análisis a nivel de componentes de la ropa mediante proyección de características y mecanismos de atención múltiple, proporcionando una base confiable para la extracción de información estructural34,35. Los métodos de detección de puntos clave y modelado de topología estructural han caracterizado además la relación entre los contornos de las prendas y las estructuras locales, mejorando la capacidad del modelo para representar las características geométricas de la ropa36,37. Varios estudios han introducido estructuras de grafos y redes de razonamiento relacional para modelar las relaciones entre los componentes de la ropa, mejorando así el reconocimiento detallado y el rendimiento en la recuperación cruzada de dominios38,39. Estos trabajos han verificado el papel importante de la información estructural en el análisis visual, pero la estructura se utiliza principalmente como una característica auxiliar o un resultado intermedio, y aún no se ha desarrollado un sistema de aprendizaje de características cuyo núcleo sea la imposición de restricciones estructurales40.

Dentro de la asistencia en diseño de prendas, estos avances han respaldado recomendaciones de diseño, análisis de estilo, construcción de sistemas interactivos y evaluación del diseño orientada a la estructura41. La investigación sobre sistemas de recomendación ha logrado combinaciones de prendas y recomendaciones personalizadas mediante la integración de características visuales con las preferencias del usuario42. Los trabajos relacionados con la asistencia en diseño han explorado nuevas vías para el soporte inteligente en el diseño, combinando modelos generativos, modelado de estilo y mecanismos de colaboración entre humanos y computadoras43. La investigación sobre probadores virtuales, medición de tallas y transferencia de estilo ha ampliado la aplicación del análisis visual de prendas a lo largo del proceso de diseño y producción. Aunque estos estudios han enriquecido las formas técnicas de asistencia en diseño de prendas, sus características visuales centrales siguen siendo principalmente impulsadas por la apariencia y carecen de una representación unificada de la estructura del diseño para su análisis. En contraste, este artículo considera la estructura de la prenda como la restricción fundamental en la representación de características y proporciona un método de representación visual para el análisis estructural en la asistencia al diseño de prendas.

A pesar de estos avances, los métodos recientes en diseño generativo suelen tratar las condiciones estructurales como matrices de orientación espacial flexible dentro de los procesos de difusión. Los marcos contemporáneos de análisis estructural representan las topologías como etiquetas semánticas auxiliares, separadas del espacio principal de incrustado visual. El marco propuesto modifica este mecanismo al definir una restricción topológica basada en una priori de grafos que modula explícitamente el aprendizaje de características visuales a nivel de componente. El objetivo de consistencia multinivel fomenta que las prendas con disposiciones de componentes similares a nivel de imagen permanezcan cercanas en el espacio de características, mientras separa las prendas con organizaciones diferentes de regiones visibles. Este objetivo reduce la dependencia de la textura en el entorno de recuperación evaluado, pero no establece invariancia ante cambios en el material, la postura o el fondo. El protocolo debe seleccionarse cuando la imagen de entrada contiene una prenda individual suficientemente visible, los componentes semánticos conservan límites identificables y el objetivo analítico requiere una comparación estructural a nivel de componente en lugar de un reconocimiento categórico grueso. Está dirigido a investigadores de visión por computadora, investigadores de diseño de prendas de vestir y equipos de desarrollo de prendas digitales que realicen análisis visuales sensibles a la estructura. No está destinado para tareas centradas únicamente en el reconocimiento de color o material, ni para imágenes en las que la topología de la prenda esté en gran parte oculta. El siguiente protocolo presenta el flujo de trabajo desde la preparación del conjunto de datos y la asignación de probabilidades semánticas hasta la construcción de relaciones geométricas, la codificación de características de doble flujo, la fusión guiada por estructura y la optimización basada en la consistencia. El flujo de trabajo completo se resume en Figura 1.

Acceso restringido. Inicie sesión o comience una prueba gratuita para ver este contenido.

Protocolo

Este estudio utiliza conjuntos de datos de imágenes de prendas de vestir disponibles públicamente y no recluta participantes humanos, no recopila información de identificación personal, no realiza experimentos con animales ni utiliza materiales biológicos. No son aplicables la aprobación ética institucional ni el consentimiento informado.

1. Entorno de software y configuración del proyecto

  1. Coloque los archivos del proyecto liberados en un directorio con espacio de almacenamiento suficiente y abra una terminal en el directorio raíz del proyecto.
  2. Ejecute conda env create -f environment.yml para crear el entorno de software. Ejecute conda activate garment_structure para activar el entorno.
  3. Ejecute python --version, conda --version, pip show numpy, pip show torch, pip show torchvision, y nvidia-smi. Guarde la salida completa del comando en software_versions.txt.
  4. Utilice el mismo entorno registrado para el preprocesamiento, entrenamiento, inferencia, medición de eficiencia y evaluación. Registre en el mismo archivo el nombre de archivo del punto de control HRNet-W48 y su valor SHA-256, el identificador de los pesos previamente entrenados de ResNet-50 en ImageNet y su valor SHA-256, la fuente de liberación de DeepFashion2 y el identificador del repositorio del código fuente.
  5. Cree los directorios data_raw, data_processed, parser_outputs, structural_priors, feature_outputs, checkpoints, logs y evaluation_results dentro del directorio raíz del proyecto.
  6. Abra configs/protocol.yaml. Ingrese el directorio DeepFashion2 en dataset_root, la ruta del punto de control previamente entrenado de HRNet-W48 en parser_checkpoint y el directorio de salida del proyecto en output_root.
  7. Establezca input_height en 512, input_width en 512, batch_size en 32, structural_categories_per_batch en 8, samples_per_category en 4, random_seed en 42, feature_dimension en 512, structural_constraint_weight en 1.0, structural_relationship_weight en 0.5, structural_discrimination_weight en 1.0 y separation_threshold en 0.3.
  8. Establezca el optimizador en descenso de gradiente estocástico por mini-lotes. Establezca initial_learning_rate en 0.0001, momentum en 0.9, weight_decay en 0.0005, max_epochs en 120, learning_rate_schedule en decaimiento multi-escalón y learning_rate_decay_factor en 0.1. Ingrese las épocas de decaimiento verificadas utilizadas por la configuración liberada en learning_rate_milestones.
  9. Ejecute python tools/export_experiment_tables.py --config configs/protocol.yaml --output evaluation_results. Exporte la configuración completa del modelo a model_setting_statistics.csv. Verifique que el archivo exportado registre el tamaño de la imagen de entrada, formato de entrada, composición del lote, optimizador, tasa de aprendizaje, programa de tasa de aprendizaje, cantidad de épocas, decaimiento del peso, momento, probabilidades de aumento, dimensión de características, pesos de pérdida estructural, umbral de separación, semillas aleatorias, regla de selección de puntos de control y cantidad de ejecuciones independientes.
  10. Salida esperada: Confirme que el entorno de software inicie sin errores de dependencia, que software_versions.txt contenga el registro del entorno, que existan todos los directorios de salida y que configs/protocol.yaml contenga rutas absolutas y configuraciones numéricas válidas.
    NOTA: Utilice el mismo entorno y archivo de configuración durante el procesamiento de datos, entrenamiento del modelo, inferencia y evaluación. Almacene una copia de configs/protocol.yaml con cada punto de control entrenado.
    ​SOLUCIÓN DE PROBLEMAS: Si la creación del entorno se detiene porque un paquete no está disponible, elimine el entorno incompleto, verifique los canales del paquete en environment.yml y vuelva a crear el entorno. Si nvidia-smi no informa una unidad de procesamiento gráfico, detenga el entrenamiento del modelo y restablezca el controlador gráfico y el entorno de ejecución CUDA. Si aparece un error de directorio durante la ejecución, reemplace las rutas relativas por rutas absolutas y verifique el permiso de escritura para output_root.

2. Aceptación de imágenes de entrada, construcción del conjunto de datos y preprocesamiento

  1. Utilice únicamente archivos con las extensiones JPG, JPEG o PNG. Use imágenes RGB de 8 bits que contengan una sola prenda principal.
  2. Mantenga imágenes RGB de 8 bits con un ancho y alto de al menos 512 píxeles y una prenda principal identificable. Rechace una imagen cuando la prenda en primer plano ocupe menos del 15 % del área total de la imagen, cuando más del 5 % del borde de la máscara de la prenda coincida con el borde de la imagen, cuando una región de prenda secundaria supere el 10 % del área de la prenda principal, cuando el área estimada de oclusión supere el 20 % de la máscara de la prenda principal, o cuando la varianza de la respuesta del laplaciano sea inferior a 100.
  3. Registre el identificador de la imagen, el valor medido, la regla de exclusión activada y la ruta de anotación en excluded_samples.csv.
  4. Aplique las reglas de aceptación de entrada a las imágenes fuente de DeepFashion2 antes de la etiquetación estructural y la partición de datos. Registre cada identificador de imagen aceptada y rechazada, la división original del conjunto de datos, el identificador de anotación de la prenda, el identificador del par fuente, la relación del área de primer plano, la relación de contacto con el borde, la relación de oclusión, la puntuación de desenfoque y el estado final de retención en data_filtering_manifest.csv.
  5. Ejecute python tools/prepare_data.py --config configs/protocol.yaml.
  6. Lea el cuadro delimitador de la prenda desde la anotación del conjunto de datos. Amplíe el cuadro delimitador en un 5 % de su ancho y alto, sin exceder los límites de la imagen.
  7. Recorte la región de la prenda, conserve su relación de aspecto original, agregue relleno cero para formar una imagen cuadrada y redimensione la imagen rellenada a 512 x 512 píxeles.
  8. Convierta la imagen redimensionada en un tensor RGB con valores de punto flotante. Divida cada valor de píxel por 255.
  9. Normalice los canales rojo, verde y azul con medias de 0,485, 0,456 y 0,406 y desviaciones estándar de 0,229, 0,224 y 0,225.
  10. Aplique volteo horizontal con una probabilidad de 0,5 y borrado aleatorio con una probabilidad de 0,2 a las imágenes de entrenamiento. Aplique únicamente recorte determinista, relleno, redimensionamiento y normalización a las imágenes de validación y prueba.
  11. Ejecute python tools/assign_structural_levels.py --config configs/protocol.yaml después de generar los mapas de componentes de siete canales y las matrices de límite compartido y orden vertical. Para cada imagen retenida, calcule el número de nodos activos, el número de componentes conectados, el número de nodos de bifurcación, el número de ciclos independientes y la ruta vertical dirigida más larga. Defina un nodo de bifurcación como un nodo activo conectado a al menos tres nodos activos más en el grafo de límite compartido.
  12. Asigne S1 cuando el grafo esté conectado, no contenga ciclos independientes, no contenga nodos de bifurcación y tenga una ruta de orden vertical más larga de no más de dos aristas. Asigne S2 cuando el grafo esté conectado, no contenga ciclos independientes, contenga exactamente un nodo de bifurcación y tenga una ruta de orden vertical más larga de no más de dos aristas. Asigne S3 cuando el grafo esté conectado, no contenga ciclos independientes y contenga al menos dos nodos de bifurcación o una ruta de orden vertical de al menos tres aristas. Asigne S4 cuando el grafo esté conectado, contenga exactamente un ciclo independiente y tenga una ruta de orden vertical de no más de dos aristas. Asigne S5 cuando el grafo contenga al menos dos ciclos independientes o contenga un ciclo independiente junto con una ruta de orden vertical de al menos tres aristas.
  13. Aplique las reglas en el orden S5, S4, S3, S2 y S1, y guarde las estadísticas del grafo calculadas, el nivel asignado y el identificador de la regla en structural_level_manifest.csv.
  14. Genere automáticamente las etiquetas preliminares S1–S5 a partir de las máscaras de componentes y matrices de relación guardadas. Marque una muestra como estructuralmente ambigua cuando su grafo de componentes contenga más de un componente conectado, cuando la probabilidad media máxima del componente dentro del primer plano de la prenda sea inferior a 0,60, cuando un componente activo ocupe menos del 1 % del primer plano de la prenda, o cuando su nivel estructural asignado cambie tras modificar el ancho de contacto del borde de un píxel a dos píxeles.
  15. Someta cada muestra ambigua a dos autores para inspección independiente de la imagen fuente, el mapa de componentes, la matriz de límite compartido, la matriz de orden vertical y el grafo preliminar. Mantenga la etiqueta si ambas inspecciones coinciden. En caso de desacuerdo, sométala a un tercer autor y utilice la decisión mayoritaria como etiqueta final. Excluya una muestra si no se recupera una relación de componentes estable tras la revisión. Registre la etiqueta automática, las etiquetas de revisión, la razón del desacuerdo, la etiqueta final y el estado de exclusión en structural_label_audit.csv.
  16. Calcule el valor SHA-256 de cada archivo fuente retenido y calcule un hash perceptual de 64 bits a partir del recorte normalizado de la prenda. Coloque las imágenes con valores SHA-256 idénticos en el mismo grupo de duplicados exactos. Coloque las imágenes cuyos hashes perceptuales tengan una distancia de Hamming de no más de cuatro en el mismo grupo de duplicados cercanos, tras verificar que provienen de la misma instancia de prenda.
  17. Combine todas las imágenes que compartan el mismo identificador de par fuente de DeepFashion2 o identidad de prenda en un solo grupo fuente. Guarde los hashes de archivo, hashes perceptuales, identificadores fuente y identificadores de grupo de duplicados en duplicate_group_manifest.csv.
  18. Realice la partición de datos a nivel de grupo fuente, no a nivel de imagen individual. Asigne cada grupo de duplicados exactos, grupo de duplicados cercanos y grupo de identidad fuente completamente a un solo subconjunto. Verifique todos los pares cruzados entre subconjuntos tras la partición y registre cada conflicto de identidad, conflicto de hash y conflicto de hash perceptual detectado en leakage_audit.csv. Vuelva a generar los manifiestos hasta que leakage_audit.csv no contenga registros cruzados sin resolver.
  19. Estratifique los grupos fuente según las etiquetas finales S1-S5 y asigne grupos completos a los subconjuntos de entrenamiento, validación y prueba según la asignación verificada que se muestra en Tabla 1. Reporte el número exacto de imágenes y el número de grupos fuente para cada nivel estructural y subconjunto.
  20. Calcule los porcentajes reales de entrenamiento, validación y prueba a partir del cohorte final retenido, no a partir del conjunto de datos sin filtrar. No utilice imágenes de validación, imágenes de prueba, imágenes excluidas ambiguas ni imágenes pertenecientes a sus grupos de duplicados durante el aprendizaje de parámetros, determinación de umbrales, ajuste de reglas de nivel estructural o selección de puntos de control.
  21. Guarde las imágenes procesadas en data_processed/images. Guarde train_manifest.csv, validation_manifest.csv, test_manifest.csv, pair_manifest.csv y structural_level_manifest.csv en data_processed/manifests.
  22. Lea las etiquetas estructurales finales, estado de revisión, identificadores de grupo de duplicados, identificadores de grupo fuente y etiquetas de subconjunto desde los manifiestos procesados. Cuente las muestras aceptadas automáticamente, muestras revisadas manualmente, exclusiones por ambigüedad, exclusiones por duplicados, grupos fuente, imágenes de entrenamiento, imágenes de validación e imágenes de prueba para S1 a S5.
  23. Calcule las proporciones reales de subconjuntos, el número medio de nodos activos, el número medio de nodos de bifurcación, el número medio de ciclos independientes, la profundidad media del orden vertical y el número medio de aristas tipificadas. Guarde las estadísticas completas en evaluation_results/dataset_statistics.csv.
  24. Resultado esperado: Confirme que cada imagen aceptada sea una imagen RGB de 8 bits con un tamaño de 512 x 512 píxeles y que tenga un registro de filtrado, una etiqueta final de nivel estructural, un identificador de grupo fuente, un identificador de grupo de duplicados, una etiqueta de subconjunto y una ruta de anotación válida. Confirme que cada muestra ambigua tenga un registro de revisión completo. Confirme que ningún identificador fuente, grupo de duplicados exactos, grupo de duplicados cercanos o identidad de prenda aparezca en más de un subconjunto. Confirme que los conteos de imágenes en train_manifest.csv, validation_manifest.csv, test_manifest.csv y dataset_statistics.csv sean idénticos.
    NOTA: Mantenga las imágenes originales sin procesar en data_raw. No aplique aumentación aleatoria a las imágenes de validación ni de prueba.
    ​SOLUCIÓN DE PROBLEMAS: Si el recorte elimina un cuello, manga, bajo o pierna de pantalón, restaure la anotación original y amplíe el margen del borde retenido. Si una prenda parece estirada, verifique que el relleno cuadrado esté presente antes del redimensionamiento. Si una imagen procesada contiene un canal o cuatro canales, convierta el archivo fuente a RGB de 8 bits y vuelva a ejecutar el preprocesamiento. Si aparecen identificadores duplicados entre subconjuntos, regenere todos los manifiestos de subconjunto antes del entrenamiento.

3. Análisis de componentes visuales restringido al primer plano y mapeo de probabilidades

  1. Ejecute python tools/parse_components.py --config configs/protocol.yaml.
  2. Cargue el punto de control previamente entrenado para el análisis semántico de prendas HRNet-W48 desde parser_checkpoint. Verifique que el punto de control genere las categorías de componentes de prenda definidas por la asignación de anotaciones del conjunto de datos. Cambie la red de análisis semántico al modo de evaluación y desactive el cálculo de gradientes.
  3. Lea las imágenes procesadas secuencialmente desde train_manifest.csv, validation_manifest.csv y test_manifest.csv.
  4. Extraiga un tensor de respuesta semántica de siete canales de cada imagen de entrada y establezca K igual a siete durante todo el flujo de trabajo. Utilice el orden fijo de categorías: Región Superior de Borde, Región del Escote, Región del Delantero, Región Inferior Izquierda de la Prenda, Región Inferior Derecha de la Prenda, Región Central Inferior de la Prenda y Región del Dobladillo. Mantenga este orden en los mapas de probabilidad, matrices de componentes, matrices de grafos, matrices de características, manifiestos y archivos de visualización.
  5. Aplique la función softmax a lo largo de la dimensión de canales para generar el mapa de probabilidad de componentes semánticos P. Verifique que las probabilidades en los K canales sumen uno en cada píxel, con una tolerancia de 0,0001.
  6. Cargue la máscara del primer plano de la prenda desde la anotación del conjunto de datos y alinéela con la imagen procesada de 512 x 512. Establezca la probabilidad de cada componente fuera del primer plano de la prenda en cero. Reajuste las probabilidades de los componentes dentro de la máscara del primer plano a lo largo de la dimensión de canales.
  7. Verifique que cada región de componente activo permanezca dentro del primer plano de la prenda. Rechace la muestra analizada si una región de componente coloreado se extiende hacia la pared, suelo, cortina u otra área de fondo. Registre el identificador de la imagen rechazada y el error de análisis en parsing_quality_log.csv.
  8. Calcule la proporción de cobertura del primer plano para cada componente y marque los componentes con regiones fragmentadas o áreas aisladas sin soporte para inspección manual.
  9. Guarde el tensor de respuesta semántica en parser_outputs/logits. Guarde el mapa de probabilidad en parser_outputs/probability_maps. Guarde una vista previa codificada por colores del componente en parser_outputs/previews.
  10. Resultado esperado: Confirme que cada imagen aceptada produzca un mapa de probabilidad restringido al primer plano con siete canales y un tamaño espacial de 512 x 512 píxeles, un tensor de respuesta semántica de siete canales y una imagen de vista previa. Confirme que los índices de canal de uno a siete sigan el orden fijo de componentes definido en el paso 3.4. Confirme que todas las regiones coloreadas de los componentes permanezcan dentro del primer plano de la prenda y que los píxeles del fondo tengan probabilidad cero para todos los componentes. Confirme que el identificador del archivo coincida con la entrada correspondiente en el manifiesto fuente.
    NOTA: Mantenga las probabilidades continuas de los componentes dentro del primer plano de la prenda durante la modelización estructural. Trate las regiones resultantes como regiones para análisis visual. No interprete sus límites como líneas de costura, líneas de corte, contornos de patrones, pinzas, muescas o referencias de escalado.
    ​SOLUCIÓN DE PROBLEMAS: Si todos los canales muestran probabilidades casi uniformes, verifique parser_checkpoint, el orden de los canales RGB y la normalización de la imagen. Si un componente está ausente en todo un subconjunto, compare el índice de anotación con el índice de canal de salida del analizador. Si los colores de los componentes se extienden al fondo, verifique la alineación de la máscara del primer plano, la configuración de interpolación y las coordenadas de anotación antes de la construcción del grafo. Si una región visual abarca múltiples áreas de prenda no relacionadas, marque la muestra como un fallo de análisis y exclúyala de la generación de referencias estructurales. Si las probabilidades de los canales no suman uno, aplique softmax a lo largo de la dimensión de canales, no en ninguna dimensión espacial. Si falta un archivo de salida, localice el identificador procesado final en el registro del analizador y reanude el análisis desde el siguiente identificador.

4. Modelado de la geometría de componentes y relaciones espaciales a nivel de imagen

  1. Cargue el tensor de características visuales superficiales y el mapa de probabilidad correspondiente P para cada imagen.
  2. Multilplique cada vector de características espaciales por la probabilidad asignada al componente semántico correspondiente.
  3. Suma los vectores de características ponderados a lo largo de las dimensiones espaciales y divida la suma por la masa de probabilidad total del componente.
  4. Asigne un vector cero y un indicador de nodo inactivo a cualquier componente con masa de probabilidad cero.
  5. Aplique normalización L2 a cada vector incorporado (embedding) de componente activo y apile los vectores incorporados según el orden fijo de componentes semánticos.
  6. Calcule las coordenadas del centro en el plano de la imagen, horizontal y vertical, de cada componente visual a partir de su distribución de probabilidad restringida al primer plano. Normalice las coordenadas por el ancho y alto de la imagen.
  7. Calcule la dispersión horizontal y vertical en el plano de la imagen de cada componente visual en el mismo sistema de coordenadas normalizado. Utilice estos valores únicamente para describir la extensión de la región visible en la imagen procesada.
  8. Cree siete nodos del grafo según el orden fijo de componentes y mantenga los componentes inactivos como nodos cero. Construya una matriz de frontera compartida de 7 × 7 utilizando el contacto de ocho vecinos entre las máscaras de componentes del primer plano. Construya una matriz de orden vertical de 7 × 7 utilizando las relaciones fijas desde la Región del Borde Superior hasta la Región del Escote, desde la Región del Escote hasta la Región del Sujetador, desde la Región del Sujetador hasta cada región de prenda inferior, y desde cada región de prenda inferior hasta la Región del Bajo. Almacene cada relación válida en ambas direcciones.
  9. Agregue un bucle autoconectado (self-loop) para cada nodo activo antes de la convolución del grafo, y mantenga las relaciones conectadas a nodos inactivos en cero.
  10. Calcule el desplazamiento relativo del centro y la dispersión espacial relativa entre cada par ordenado de componentes semánticos. Apile los valores geométricos por pares para formar el tensor de relaciones geométricas.
  11. Calcule el producto escalar entre cada par de vectores incorporados normalizados. Aplique softmax por filas a la matriz de similitud resultante y use los valores como pesos de relación.
  12. Multilplique el tensor de relaciones geométricas por los pesos de relación correspondientes y agregue las relaciones ponderadas para cada componente.
  13. Guarde la matriz de vectores incorporados de componentes, la matriz de centros de componentes, la matriz de dispersión espacial, la matriz de fronteras compartidas, la matriz de orden vertical, la matriz de bucles autoconectados, la matriz de pesos de relación, la máscara de nodos inactivos, la asignación de etiquetas de componentes y la representación de la estructura previa en structural_priors. Guarde cada matriz con siete filas y siete columnas cuando sea aplicable. El proceso completo de construcción, desde el mapa de componentes restringido al primer plano hasta la representación previa de la topología de componentes de prenda a nivel de imagen, se muestra en Figura 2.
  14. Genere la superposición del grafo de componentes para cada muestra de visualización a partir del mapa de probabilidad restringido al primer plano, la matriz de centros de componentes, la matriz de adyacencia tipificada, la máscara de nodos inactivos y la asignación de etiquetas de componentes.
  15. Coloque cada nodo activo en el centro del componente correspondiente. Dibuje aristas sólidas para las fronteras compartidas en el primer plano y aristas punteadas para las relaciones de orden vertical predefinidas.
  16. Guarde cada superposición del grafo en structural_priors/visualizations utilizando el identificador de la imagen original. Registre la ruta de la imagen original, la ruta del mapa de probabilidad, la ruta de la matriz de centros de componentes, la ruta de la matriz de adyacencia tipificada, la ruta de la máscara de nodos inactivos, el identificador del punto de control de análisis semántico y la ruta de la superposición del grafo en el archivo component_graph_visualization_manifest.csv.
  17. Resultado esperado: Confirme que cada imagen produzca una matriz de vectores incorporados con K filas, una matriz de adyacencia tipificada con K filas y K columnas, una matriz de pesos de relación con K filas y K columnas, una máscara de nodos inactivos con K valores, y una representación previa estructural a nivel de imagen. Confirme que cada muestra seleccionada de visualización produzca una superposición del grafo en la que los nodos activos permanezcan dentro de las regiones de prenda correspondientes.
    NOTA: Mantenga el mismo orden de componentes visuales en todas las matrices, manifiestos, grafos, archivos de características y superposiciones del grafo. Trate los centros de componentes, los valores de dispersión espacial y las relaciones del grafo como descriptores de regiones de prenda en el plano de la imagen. No interprete el grafo de componentes como un esqueleto de postura humana ni derive sus nodos a partir de coordenadas articulares anatómicas. No convierta estos descriptores en longitudes de costuras, radios de curvas, tomas de pinzas, posiciones de muescas, direcciones de hilo, incrementos de calibración ni dimensiones de piezas de patrón.
    ​SOLUCIÓN DE PROBLEMAS: Si una matriz contiene un valor no numérico, revise el denominador de masa de probabilidad y la normalización de coordenadas. Si los pesos de relación se concentran en un solo componente, reste el valor máximo de la fila de la matriz de similitud antes de aplicar softmax. Si el número de nodos del grafo varía entre imágenes, verifique que los componentes inactivos permanezcan presentes como vectores cero en lugar de ser eliminados.

5. Codificación de características con estructura de flujo dual

  1. Cargue los pesos de ResNet-50 preentrenados en ImageNet y elimine las capas finales de agrupamiento y clasificación.
  2. Pase cada imagen normalizada de prenda a través de ResNet-50 y extraiga el tensor de apariencia de la etapa del tronco principal indicada por appearance_stage en configs/protocol.yaml. Verifique el nombre de la etapa, el número de canales de salida y las dimensiones espaciales de salida generadas por la etapa del tronco principal seleccionada para una imagen de entrada de 512 x 512 píxeles. Utilice la misma etapa en cada ejecución de entrenamiento, inferencia, ablation y comparación.
  3. Redimensione el mapa de probabilidad semántica al tamaño espacial del tensor de características de apariencia mediante interpolación bilineal. Multiplique el tensor de características de apariencia por cada mapa de probabilidad de componente redimensionado, luego agregue las respuestas ponderadas a lo largo de las dimensiones espaciales.
  4. Pase cada vector integrado de apariencia del componente a través de la capa de recalibración de canales definida en configs/protocol.yaml. Registre el tipo de capa, dimensión de entrada, dimensión de salida, razón de reducción, función de activación y regla de compartición de parámetros. Apile los siete vectores de componente resultantes en el orden semántico fijo para formar la matriz de características de apariencia.
  5. Pase cada vector de relación geométrica a través de la capa de proyección estructural y establezca la dimensión de salida en 512. Construya el grafo de componentes con la matriz de pesos de relación y la máscara de nodos inactivos.
  6. Aplique dos capas de convolución gráfica con una dimensión de entrada de 512 y una dimensión de salida de 512. Aplique normalización por lotes después de cada capa de convolución gráfica y luego aplique LeakyReLU. Registre el valor de pendiente negativa utilizado por LeakyReLU. Aplique la máscara de nodos inactivos después de cada capa para mantener características cero para los componentes inactivos.
  7. Aplique alineación semántica con los vectores integrados de componentes normalizados y apile los vectores resultantes para formar la matriz de características estructurales.
  8. Salida esperada: Confirme que cada imagen produzca una matriz de características de apariencia y una matriz de características estructurales. Confirme que ambas matrices contengan K filas y 512 columnas.
    NOTA: Mantenga los componentes inactivos como vectores cero y conserve el orden de componentes establecido durante la construcción del prior estructural.
    SOLUCIÓN DE PROBLEMAS: Si las dos matrices de características tienen diferentes cantidades de filas, revise la asignación de categorías semánticas y el manejo de nodos inactivos. Si la multiplicación matricial reporta un error de dimensión, verifique que la salida de la proyección estructural y las dimensiones de canal de apariencia sean ambas 512. Si las características estructurales permanecen en cero para todos los componentes activos, verifique que las aristas del grafo y los pesos de relación se hayan agregado al lote actual.

6. Fusión de características guiada por estructura

  1. Aplique la secuencia de fusión de características guiada por estructura que se muestra en la Figura 3. Pase la matriz de características estructurales a través de la capa de pesos de fusión y aplique la función de activación declarada por fusion_activation en configs/protocol.yaml. Registre el nombre de la activación, la dimensión de entrada, la dimensión de salida y si los parámetros se comparten entre los siete nodos componentes.
  2. Verifique que la matriz de pesos estructurales generada contenga K filas y 512 columnas.
  3. Multilplique la matriz de características de apariencia por la matriz de pesos estructurales elemento a elemento.
  4. Concatene la matriz de apariencia modulada y la matriz de características estructurales a lo largo de la dimensión del canal.
  5. Concatene el vector de apariencia modulada de 512 dimensiones y el vector estructural de 512 dimensiones para cada componente y forme un vector de 1024 dimensiones. Pase el vector concatenado a través de la capa de proyección de fusión y reduzca su dimensión de 1024 a 512.
  6. Sume la matriz original de características estructurales a la matriz proyectada mediante una conexión residual.
  7. Apile los vectores componentes fusionados en el orden semántico fijo y aplique normalización L2 a la representación unificada sensible a la estructura.
  8. Guarde la matriz de pesos estructurales, la matriz de apariencia modulada, la matriz de componentes fusionados y la representación final sensible a la estructura en feature_outputs.
  9. Resultado esperado: Confirme que cada imagen produzca una matriz de componentes fusionados con K filas y 512 columnas, y un vector de características normalizado sensible a la estructura asociado al identificador de la imagen fuente.
    NOTA: Mantenga la matriz de pesos estructurales y la matriz de componentes fusionados para la visualización de respuestas y el análisis de diferencias locales.
    ​SOLUCIÓN DE PROBLEMAS: Si los valores fusionados siguen creciendo, revise la salida de activación y la capa de normalización. Si todos los pesos estructurales tienden al mismo valor, verifique que las características estructurales varíen entre imágenes y que la capa de fusión reciba gradientes. Si los archivos de características y los identificadores de imagen no coinciden, reconstruya el manifiesto de salida antes de la evaluación del entrenamiento o de la recuperación.

7. Entrenamiento del modelo y optimización de la consistencia

  1. Cargue los cinco valores de semilla aleatoria registrados en configs/seeds.yaml. Para cada ejecución, establezca la misma semilla aleatoria para las operaciones de Python, NumPy, PyTorch en CPU y todos los dispositivos CUDA. Habilite algoritmos deterministas, desactive el modo de referencia (benchmark) de cuDNN y registre los cinco valores exactos de semilla en el directorio de ejecución correspondiente.
  2. Cargue el manifiesto de entrenamiento procesado, el manifiesto de pares, los mapas de probabilidad y los priores estructurales.
  3. Construya cada lote de entrenamiento con ocho categorías estructurales y cuatro muestras con variación de apariencia de cada categoría.
  4. Calcule la pérdida de consistencia estructural a partir de pares de muestras positivas que comparten el mismo prior estructural.
  5. Calcule la pérdida de consistencia de relación estructural a partir de las distancias por pares entre las características componentes.
  6. Calcule la pérdida de discriminación estructural a partir de pares de muestras negativas con estructuras heterogéneas y aplique el umbral de separación de 0.3.
  7. Combine el objetivo de apariencia, el objetivo de consistencia estructural, el objetivo de relación estructural y el objetivo de discriminación estructural con los pesos almacenados en configs/protocol.yaml. El proceso de optimización en el espacio de características regido por los tres objetivos estructurales se muestra en Figura 4.
  8. Ejecute python train.py --config configs/protocol.yaml. Actualice todos los parámetros entrenables mediante descenso de gradiente estocástico por mini-lotes, utilizando la tasa de aprendizaje inicial, momento, decaimiento del peso, número de épocas, factor de decaimiento y épocas de decaimiento definidos en el paso 1.8. Registre la tasa de aprendizaje después de cada época en el registro de entrenamiento.
  9. Registre la pérdida total, la pérdida de apariencia, la pérdida de consistencia estructural, la pérdida de relación estructural, la pérdida de discriminación estructural, la tasa de aprendizaje, el Índice de Consistencia Estructural (SCI), el Índice de Discriminación Estructural (SDI) y Recall@5 después de cada época.
  10. Evalúe el modelo en validation_manifest.csv después de cada época. Guarde el punto de control asociado con el SCI de validación más alto en checkpoints/selected_model.pth.
  11. Repita el entrenamiento cinco veces con las cinco semillas aleatorias registradas. Guarde cada archivo de configuración, registro de entrenamiento y punto de control seleccionado en un directorio de ejecución separado.
  12. Resultado esperado: Confirme que cada ejecución produzca un registro de entrenamiento, un registro de validación, un archivo de métricas por época y un punto de control seleccionado. Confirme que el punto de control seleccionado se base en el desempeño de validación y no en el de prueba.
    NOTA: Utilice los mismos manifiestos de entrenamiento, validación y prueba en todas las comparaciones de modelos y experimentos de ablación.
    ​SOLUCIÓN DE PROBLEMAS: Si una pérdida se vuelve no numérica, detenga el entrenamiento, inspeccione las masas de probabilidad de los componentes, reduzca la tasa de aprendizaje en un factor de 10 y reinicie desde el último punto de control válido. Si el SCI de validación permanece sin cambios mientras la pérdida de entrenamiento disminuye, verifique que los parámetros de propagación y fusión del grafo reciban gradientes. Si se agota la memoria gráfica, reduzca el tamaño del lote y mantenga un tamaño de lote efectivo de 32 mediante acumulación de gradientes. Si el desempeño de validación cambia bruscamente entre ejecuciones, verifique la semilla aleatoria registrada y el orden del manifiesto de datos.

8. Inferencia, recuperación, agrupamiento y verificación de la salida

  1. Ejecute python infer.py --config configs/protocol.yaml --checkpoint checkpoints/selected_model.pth. Genere mapas de probabilidad, priores estructurales, matrices de características de apariencia, matrices de características estructurales, matrices de componentes fusionados y vectores finales de características para cada imagen de prueba.
  2. Guarde todas las salidas de inferencia en feature_outputs/test y registre sus rutas en test_feature_manifest.csv. Calcule la similitud del coseno entre cada característica de consulta y todas las características de la galería. Ordene los identificadores de la galería en orden descendente de similitud. Guarde los cinco resultados con mayor clasificación para cada consulta en evaluation_results/retrieval_results.csv.
  3. Para cada muestra de recuperación seleccionada para visualización, cargue la matriz de adyacencia tipificada, la matriz de pesos de relación, la matriz de centros de componentes, la máscara de nodos inactivos, la asignación de etiquetas de componentes y la matriz de componentes fusionados de la imagen de consulta. Cargue los mismos archivos para el resultado con mayor clasificación generado por el modelo consciente de la estructura.
  4. Represente gráficamente el grafo de componentes de la consulta y el grafo de componentes de la imagen recuperada a partir de sus centros de componentes guardados y sus matrices de adyacencia tipificadas. Mantenga el orden fijo de componentes y los tipos de relación utilizados durante la inferencia del modelo.
  5. Represente gráficamente la matriz de adyacencia tipificada de la consulta como una matriz categórica. Utilice valores matriciales separados para relaciones de inactividad, frontera compartida y orden vertical. Etiquete los ejes horizontal y vertical con los identificadores de componentes almacenados en la asignación de etiquetas de componentes.
  6. Aplique normalización L2 a la matriz de componentes fusionados de la consulta y a la matriz de componentes fusionados de la imagen recuperada. Calcule la similitud del coseno entre cada componente de la consulta y cada componente de la imagen recuperada. Guarde la matriz resultante de correspondencia de componentes K × K en evaluation_results/structural_retrieval_evidence.
  7. Para cada par referencia-objetivo seleccionado para el análisis de diferencias locales, cargue la matriz de adyacencia tipificada, la matriz de centros de componentes, la matriz de dispersión espacial, la matriz de pesos de relación y la matriz de componentes fusionados de ambas imágenes.
  8. Calcule la diferencia absoluta entre las dos matrices de adyacencia tipificadas. Calcule las diferencias absolutas en el desplazamiento de los centros de componentes, dispersión espacial y pesos de relación utilizando el orden fijo de componentes. Guarde la matriz resultante de diferencia topológica y la matriz de diferencia de relaciones geométricas en evaluation_results/structural_difference_evidence.
  9. Calcule la distancia L2 entre filas correspondientes de las dos matrices de componentes fusionados. Normalice las distancias a nivel de componente y asígnelas a los nodos del grafo de componentes del objetivo. Aumente el ancho de las aristas según la diferencia normalizada en el peso de la relación. Guarde el grafo resultante de diferencia de componentes posteriores a la fusión.
  10. Registre los identificadores de imagen, rutas de matrices, rutas de grafos, orden de componentes, identificador del punto de control y rutas de salida de visualización en structural_visualization_manifest.csv. Genere todas las visualizaciones estructurales de forma programática a partir de los archivos registrados; no agregue nodos, aristas o valores matriciales manualmente.
  11. Aplique K-Means con cinco clusters a los vectores finales de características y guarde las asignaciones de cluster en evaluation_results/cluster_assignments.csv. Ejecute python evaluate.py --config configs/protocol.yaml --feature_dir feature_outputs/test.
  12. Calcule el Índice de Compacidad Estructural (SCI), el Índice de Separación Estructural (SDI), Recall@5, Precisión Media (mAP) y el coeficiente de silueta para cada ejecución. Utilice SCI para evaluar la compacidad de las características normalizadas que comparten la misma etiqueta estructural, y utilice SDI para evaluar la separación entre diferentes etiquetas estructurales. Utilice Recall@5 para evaluar si una coincidencia estructural relevante aparece en la lista corta de recuperación, y utilice mAP para evaluar la calidad del ordenamiento en toda la galería. Utilice el coeficiente de silueta únicamente para el análisis de agrupamiento.
  13. Calcule la media aritmética y la desviación estándar muestral a través de cinco ejecuciones independientes. Mantenga los cinco valores por ejecución para cada método y métrica. No aplique normalización min-máx, normalización de rango ni reescalado basado en los métodos que se comparan. Realice una prueba t pareada utilizando los resultados obtenidos con la misma semilla aleatoria y registre el estadístico de prueba y el valor de significancia exacto bilateral.
  14. Compare el número de identificadores de prueba procesados, archivos de características, registros de recuperación y asignaciones de cluster. Resuelva cada discrepancia antes de informar o interpretar los resultados de evaluación.
  15. Salida esperada: Confirme que cada imagen de prueba tenga un registro completo de inferencia, una lista de recuperación, una asignación de cluster y un conjunto de entradas de evaluación. Confirme que cada caso de recuperación seleccionado para visualización tenga un grafo de componentes de consulta, un grafo de componentes de imagen recuperada, una matriz de adyacencia tipificada y una matriz de correspondencia de componentes fusionados.
  16. Confirme que cada caso de diferencia estructural tenga una matriz de diferencia topológica, una matriz de diferencia de relaciones geométricas, un grafo de diferencia de componentes posteriores a la fusión, un mapa de calor de diferencia espacial y una superposición de respuesta. Confirme que todos los archivos de visualización estén vinculados a sus matrices de origen mediante structural_visualization_manifest.csv. Guarde el mapa de calor puro, la superposición sobre la imagen objetivo, la máscara de primer plano y las coordenadas de la región de mayor respuesta para cada caso visualizado.
  17. Acepte una respuesta de diferencia calculada solo cuando la región principal de alta respuesta se superponga con el primer plano de la prenda y esté respaldada por el cambio correspondiente en la matriz de adyacencia tipificada, el cambio en la relación geométrica y la evidencia de distancia de componentes posteriores a la fusión. Si la respuesta más fuerte cae principalmente fuera del primer plano de la prenda, inspeccione la salida de análisis, el grafo de componentes y el registro de fusión.
    NOTA: Utilice el punto de control seleccionado a partir del conjunto de validación para la inferencia sobre el conjunto de prueba. No seleccione ni reemplace un punto de control según métricas del conjunto de prueba. Utilice el mismo orden de componentes, regla de nodos inactivos, codificación de tipos de relación y proceso de normalización al generar grafos y matrices durante la inferencia y visualización.
    ​SOLUCIÓN DE PROBLEMAS: Si la inferencia se detiene antes de procesar todas las imágenes de prueba, localice el último identificador en el registro de inferencia y reanude desde el identificador siguiente. Si los resultados de recuperación están dominados por similitud de color, inspeccione las salidas de prior estructural y fusión, y verifique que la carga del punto de control sea exitosa. Si la evaluación reporta identificadores duplicados, reconstruya test_feature_manifest.csv y elimine los registros duplicados antes del recálculo. Si K-Means produce un cluster vacío, verifique la normalización de características y vuelva a ejecutar el agrupamiento con la semilla aleatoria registrada.

9. Evaluación comparativa de modelos

  1. Ejecute python compare_models.py --config configs/protocol.yaml.
  2. Entrene y evalúe ResNet-50, Part-based Convolutional Baseline (PCB), GCN, FashionGraph, Swin Transformer, CLIP, Topology Feature Histogram with Color and Texture Fusion, Attention-Guided Cascade Network, MMFL-Net, FARE-RNET y el método propuesto con los mismos manifiestos de entrenamiento, validación y prueba.
  3. Utilice el mismo tamaño de imagen, operaciones de preprocesamiento, épocas de entrenamiento, tamaño de lote efectivo, consultas de evaluación y implementación de métricas para cada método.
  4. Mantenga el agrupamiento promedio global para ResNet-50. Aplique alineación de franjas horizontales en PCB. Aplique un grafo de prenda a nivel de imagen fijo en GCN. Aplique inferencia de grafo dinámico guiada por atributos en FashionGraph. Utilice los codificadores de imagen estándar de Swin Transformer y CLIP. Implemente Topology Feature Histogram with Color and Texture Fusion usando descriptores de topología, color y textura. Implemente una Attention-Guided Cascade Network utilizando ramas de características globales y locales con segmentación de prendas. Implemente MMFL-Net utilizando ramas de características multi-escala y multi-granularidad. Implemente FARE-RNET utilizando atención residual, selección de características y codificación contextual dilatada.
  5. Utilice únicamente la rama de consulta de imagen de cada método de comparación. Vuelva a entrenar cada método entrenable con el manifiesto común de entrenamiento y seleccione su punto de control (checkpoint) a partir del manifiesto común de validación. Genere una lista de galería ordenada para cada consulta de prueba.
  6. Proyecte cada embedding aprendido a 512 dimensiones mediante una capa lineal entrenable registrada cuando su dimensión original sea diferente. Aplique normalización L2 antes del ordenamiento por similitud coseno. Utilice la misma asignación de consulta-galería y la misma implementación de métricas para todos los métodos.
  7. Repita cada método de comparación con las mismas cinco semillas aleatorias. Reporte la media y la desviación estándar muestral de SCI, SDI, Recall@5, mAP y coeficiente de silueta. Para cada métrica, realice una prueba t pareada bilateral entre el método propuesto y cada método de comparación utilizando los resultados obtenidos con la misma semilla aleatoria. Registre los cinco valores por ejecución, el estadístico de prueba, los grados de libertad y el valor p exacto en evaluation_results/comparison_metrics.csv.
  8. Calcule SCI, SDI, Recall@5, mAP y el coeficiente de silueta para cada método. Guarde todos los valores por ejecución y agregados en evaluation_results/comparison_metrics.csv.
  9. Resultado esperado: Confirme que comparison_metrics.csv contenga los mismos campos de métricas y el mismo número de ejecuciones independientes para cada método de comparación.
    NOTA: No modifique las particiones de datos, el código de métricas ni la asignación consulta-galería entre los métodos de comparación.
    SOLUCIÓN DE PROBLEMAS: Si un modelo de comparación produce una dimensión de características distinta a 512, agregue una única capa de proyección lineal registrada antes del cálculo de la métrica y entrene esa capa junto con el modelo correspondiente. Si un modelo no converge con la tasa de aprendizaje común, utilice la tasa de aprendizaje especificada en su implementación publicada y mantenga todas las demás condiciones experimentales. Registre cada configuración específica por método en el registro de comparación.

Acceso restringido. Inicie sesión o comience una prueba gratuita para ver este contenido.

Resultados

Todos los experimentos descritos se realizaron utilizando el entorno de hardware y software documentado en la Tabla 2 y en la Tabla de Materiales. Se utilizaron las mismas versiones del controlador gráfico, CUDA, cuDNN, Python, NumPy, PyTorch y torchvision durante todo el preprocesamiento, entrenamiento, inferencia y evaluación. El entorno completo de hardware y software se resume en la Tabla 2 y en la Tabla de Materiales. La Tabla 1 res...

Acceso restringido. Inicie sesión o comience una prueba gratuita para ver este contenido.

Discusión

Las etapas más críticas del protocolo son el preprocesamiento que conserva la prenda y el análisis de componentes semánticos restringido al primer plano. Los centros de los componentes, los valores de dispersión espacial, las relaciones de límites compartidos, las relaciones de orden vertical, los pesos de las relaciones y las representaciones fusionadas se derivan todos del resultado del análisis. Las fugas de límites, las regiones de componentes fusionadas, las regiones de componentes ausentes y las asignaciones incorr...

Acceso restringido. Inicie sesión o comience una prueba gratuita para ver este contenido.

Divulgaciones

Los autores no tienen conflictos de intereses que declarar.

Agradecimientos

Este trabajo fue apoyado por el segundo lote de proyectos provinciales clave de reforma educativa de pregrado durante el 14.º Plan Quinquenal, bajo el proyecto titulado Reforma y Exploración Educativa de “Diseño de Ropa y Prendas” Basada en el Modelo Conjunto de “Tres Integraciones, Tres Fusiones” (Número de Proyecto: JGZD2024096).

Acceso restringido. Inicie sesión o comience una prueba gratuita para ver este contenido.

Materiales

Lista de materiales utilizados en este artículo
NombreEmpresaNúmero de catálogoComentarios
Unidad Central de ProcesamientoIntel CorporationIntel Core i9-13900K, 24 núcleos, 32 hilos, hasta 5,80 GHz
CondaAnaconda, Inc., anaconda.comMiniconda3 23.11.0
Kit de herramientas CUDANVIDIA Corporation, developer.nvidia.comCUDA 11.8
cuDNNNVIDIA Corporation, developer.nvidia.comcuDNN 8.9.7
Conjunto de datos DeepFashion2La Universidad China de Hong Kong, github.com/switchablenorms/DeepFashion2Lanzamiento oficial de DeepFashion2, Versión 1.0
Unidad de Procesamiento GráficoNVIDIA CorporationNVIDIA GeForce RTX 4090, 24 GB GDDR6X
Punto de control de análisis semántico HRNet-W48Proyecto HRNet, github.com/HRNet/HRNet-Semantic-Segmentationhrnet_w48_garment_parser_7class.pth, punto de control del proyecto Versión 1.0
Pesos de ResNet-50 preentrenado en ImageNetPyTorch Foundation, pytorch.orgResNet50_Weights.IMAGENET1K_V2
MatplotlibEquipo de desarrollo de Matplotlib, matplotlib.orgVersión 3.8.2
NumPyDesarrolladores de NumPy, numpy.orgVersión 1.26.4
Controlador gráfico NVIDIANVIDIA CorporationVersión 546.33
OpenCV-PythonEquipo de OpenCV, opencv.orgVersión 4.8.1.78
Sistema operativoMicrosoft CorporationWindows 11 Pro 23H2, 64 bits, compilación del sistema operativo 22631.3155
PandasEquipo de desarrollo de Pandas, pandas.pydata.orgVersión 2.1.4
PythonPython Software Foundation, python.orgVersión 3.10.13
PyTorchPyTorch Foundation, pytorch.orgVersión 2.1.2 con CUDA 11.8
PyYAMLProyecto PyYAML, pyyaml.orgVersión 6.0.1
scikit-learnDesarrolladores de scikit-learn, scikit-learn.orgVersión 1.3.2
SciPyDesarrolladores de SciPy, scipy.orgVersión 1.11.4
Repositorio de código fuenteArchivo suplementario de código fuente presentado con el manuscritoProtocolo de topología de prendas, Versión 1.0
Dispositivo de almacenamientoSamsung ElectronicsSSD NVMe Samsung 990 PRO, 2 TB
Memoria del sistemaKingston TechnologyKingston FURY Beast DDR5, 64 GB, 2 × 32 GB, 5600 MHz
torchvisionPyTorch Foundation, pytorch.orgVersión 0.16.2 con CUDA 11.8
Estación de trabajoEstación de trabajo personalizada para aprendizaje profundoIntel Core i9-13900K, NVIDIA GeForce RTX 4090, 64 GB de memoria, SSD NVMe de 2 TB

Referencias

  1. Xiang Z, Zhu C, Qian M, Shen Y, Shao Y. FashionSegNet: a model for high-precision semantic segmentation of clothing images. Vis Comput. 2024;40:1711-1727. doi:10.1007/s00371-023-02881-3.
  2. Sun K, Zhang J, Zhang P, Yuan K, Li G. TsrNet: a two-stage unsupervised approach for clothing region-specific textures style transfer. J Vis Commun Image Represent. 2023;91:103778. doi:10.1016/j.jvcir.2023.103778.
  3. Yang N, Ma X. Enhanced composed fashion image retrieval with a multi-hop reasoning framework. Sci Rep. 2025;15:32217. doi:10.1038/s41598-025-17402-6.
  4. Karthika Priya D, Sathyabama B. FARE-RNET: fashion cloth retrieval via Egret Swarm Optimization-based Convolutional Attention Module integrated ResNet. Int J Comput Intell Syst. 2026;19:29. doi:10.1007/s44196-025-00979-1.
  5. Köktürk Güzel BE. Efficient image retrieval in fashion: leveraging clustering and principal component analysis for search space reduction. Erzincan Univ J Sci Technol. 2024;17:638-649. doi:10.18185/erzifbed.1500279.
  6. Zhang X, Sun H, Ma J. Research on clothing image retrieval combining topology features with color texture features. Mathematics. 2024;12:2363. doi:10.3390/math12152363.
  7. Abbas W, Zhang Z, Asim M, Chen J, Ahmad S. AI-driven precision clothing classification: revolutionizing online fashion retailing with hybrid two-objective learning. Information. 2024;15:196. doi:10.3390/info15040196.
  8. Shirkhani S, Mokayed H, Saini R, Hum YC. Study of AI-driven fashion recommender systems. SN Comput Sci. 2023;4:514. doi:10.1007/s42979-023-01932-9.
  9. Balloni E, Pietrini R, Frontoni E, Mancini A, Paolanti M. OutfitAI: shop the outfit with a deep learning-based intelligent expert system. Multimed Tools Appl. 2025;84:40195-40214. doi:10.1007/s11042-025-20753-x.
  10. Kachbal I, El Abdellaoui S. Computer vision for fashion: a systematic review of design generation, simulation, and personalized recommendations. Information. 2026;17:11. doi:10.3390/info17010011.
  11. Saranya MS, Geetha P. Cross-domain fashion cloth retrieval via novel attention-guided cascade neural network and clothing parsing. Comput Vis Image Underst. 2023;235:103777. doi:10.1016/j.cviu.2023.103777.
  12. Ning T, Gao Y, Han Y. Segmentation of ethnic clothing patterns with fusion of multiple attention mechanisms. Complex Intell Syst. 2024;10:5759-5770. doi:10.1007/s40747-024-01457-5.
  13. Jiang A, Liu L, Fu X, Liu L, Peng W. Clothing hierarchical feature representation and association learning for cross-modal fashion retrieval. J Comput Aided Des Comput Graph. 2025;37:654-667. doi:10.3724/SP.J.1089.2023-00263.
  14. An H, Lee KY, Choi Y, Park M. Conceptual framework of hybrid style in fashion image datasets for machine learning. Fash Text. 2023;10:18. doi:10.1186/s40691-023-00338-8.
  15. Adel M, Mohammed AM, Elsaid AH, Abdelatey A. Deep learning for new fashion product demand prediction: integrating visual similarity and demand correction in cold-start scenarios. Int J Data Sci Anal. 2026;22:9. doi:10.1007/s41060-025-00888-8.
  16. Tang Y, Ye D, Tao F, Du G. Enhanced group relation learning via aligned attention masking for fashion product captioning. J King Saud Univ Comput Inf Sci. 2025;37:170. doi:10.1007/s44443-025-00195-z.
  17. Lyu X, Li X, Zhang Y, Lu W. Two-stage method for clothing feature detection. Big Data Cogn Comput. 2024;8:35. doi:10.3390/bdcc8040035.
  18. Tang G, Yu F, Li H, Shi Y, Liu L, Peng T, et al. ClothSeg: semantic segmentation network with feature projection for clothing parsing. J Vis Commun Image Represent. 2023;97:103980. doi:10.1016/j.jvcir.2023.103980.
  19. Cao S, Chai W, Hao S, Zhang Y, Chen H, Wang G. DiffFashion: reference-based fashion design with structure-aware transfer by diffusion models. IEEE Trans Multimedia. 2024;26:3962-3975. doi:10.1109/TMM.2023.3318297.
  20. Hou J, Lu Y, Yang Y, Liu Z. PDN: a priori dictionary network for fashion parsing. Appl Sci. 2024;14:3509. doi:10.3390/app14083509.
  21. Moratelli N, Barraco M, Morelli D, Cornia M, Baraldi L, Cucchiara R. Fashion-oriented image captioning with external knowledge retrieval and fully attentive gates. Sensors. 2023;23:1286. doi:10.3390/s23031286.
  22. Islam T, Miron A, Liu X, Li Y. Deep learning in virtual try-on: a comprehensive survey. IEEE Access. 2024;12:29475-29502. doi:10.1109/ACCESS.2024.3368612.
  23. Yan H, Zhang H, Liu L, Zhou D, Xu X, Zhang Z, et al. Toward intelligent design: an AI-based fashion designer using generative adversarial networks aided by sketch and rendering generators. IEEE Trans Multimedia. 2023;25:2323-2338. doi:10.1109/TMM.2022.3146010.
  24. Xie Z, Zhou Z, Wang Z, Ding H, Ma L. Multi-scale spatial feature-guided cloth landmark estimation. J Comput Aided Des Comput Graph. 2022;34:1763-1771. doi:10.3724/SP.J.1089.2022.19189.
  25. Jiang J, Wu D, Deng H, Long Y, Tang W, Li X, et al. HAIGEN: towards human-AI collaboration for facilitating creativity and style generation in fashion design. Proc ACM Interact Mob Wearable Ubiquitous Technol. 2024;8:107. doi:10.1145/3678518.
  26. Danner M, Brake E, Kosel G, Kyosev Y, Rose K, Rätsch M, et al. AI-assisted pattern generator for garment design. Commun Dev Assem Text Prod. 2024;5:195-206. doi:10.25367/cdatp.2024.5.p195-206.
  27. Bao C, Zhang X, Chen J, Miao Y. MMFL-net: multi-scale and multi-granularity feature learning for cross-domain fashion retrieval. Multimed Tools Appl. 2023;82:37905-37937. doi:10.1007/s11042-022-13648-8.
  28. Yang G. Clothing design style recommendation using optimized semantic-preserved generative adversarial network. J Electr Syst. 2024;20 Suppl 3:2396-2409. doi:10.52783/jes.3064.
  29. Wang Z, Tao X, Zeng X, Xing Y, Xu Z, Bruniaux P. Design of customized garments towards sustainable fashion using 3D digital simulation and machine learning-supported human-product interactions. Int J Comput Intell Syst. 2023;16:16. doi:10.1007/s44196-023-00189-7.
  30. Wu J, Huang Y, Gao M, Gao Z, Zhao J, Zhang H, et al. A two-stream hybrid convolution-transformer network architecture for clothing-change person re-identification. IEEE Trans Multimedia. 2024;26:5326-5339. doi:10.1109/TMM.2023.3331569.
  31. Khalid M, Keming M, Hussain T. Design and implementation of clothing fashion style recommendation system using deep learning. Rom J Inf Technol Autom Control. 2021;31:123-136. doi:10.33436/v31i4y202110.
  32. Wang Y, Liu L, Fu X, Liu L. MCCP: multi-modal fashion compatibility and conditional preference model for personalized clothing recommendation. Multimed Tools Appl. 2024;83:9621-9645. doi:10.1007/s11042-023-15659-5.
  33. Ma J, Sun H, Yang D, Zhang H. Personalized fashion recommendations for diverse body shapes and local preferences with contrastive multimodal cross-attention network. ACM Trans Intell Syst Technol. 2024;15:82. doi:10.1145/3637217.
  34. Yu Z, Zhao Y, Hong B, Jin Z, Huang J, Cai D, et al. Apparel-invariant feature learning for person re-identification. IEEE Trans Multimedia. 2022;24:4482-4492. doi:10.1109/TMM.2021.3119133.
  35. Peng D, Liu R, Lu J, Zhang S. Unsupervised multi-modal modeling of fashion styles with visual attributes. Appl Soft Comput. 2022;115:108214. doi:10.1016/j.asoc.2021.108214.
  36. Mathews A, Sejal N, Venugopal KR. Analysis of content based image retrieval using deep feature extraction and similarity matching. Int J Adv Comput Sci Appl. 2022;13:646-655. doi:10.14569/IJACSA.2022.0131277.
  37. Zhang C, Ji X, Cai L. Clothing recommendation with multimodal feature fusion: price sensitivity and personalization optimization. Appl Sci. 2025;15:4591. doi:10.3390/app15084591.
  38. Zhao M, Gao S, Ma J, Zhang Z. Joint clothes image detection and search via anchor-free framework. Neural Netw. 2022;155:84-94. doi:10.1016/j.neunet.2022.08.011.
  39. Fontanini T, Ferrari C. Would your clothes look good on me? Towards transferring clothing styles with adaptive instance normalization. Sensors. 2022;22:5002. doi:10.3390/s22135002.
  40. Kim S, Moon H, Oh J, Lee Y, Kwon H, Kim S. Automatic measurements of garment sizes using computer vision deep learning models and point cloud data. Appl Sci. 2022;12:5286. doi:10.3390/app12105286.
  41. Chang YH, Zhang YY. Deep learning for clothing style recognition using YOLOv5. Micromachines. 2022;13:1678. doi:10.3390/mi13101678.
  42. de Medeiros Dantas IJ, Curth M, Freire AG. Exploring databases for training models in machine learning in the fashion industry. DAT J. 2024;9:157-174. doi:10.29147/datjournal.v9i2.877.
  43. Zhu S, Zou X, Qian J, Wong WK. Learning structured relation embeddings for fine-grained fashion attribute recognition. IEEE Trans Multimedia. 2024;26:1652-1664. doi:10.1109/TMM.2023.3284593.

Acceso restringido. Inicie sesión o comience una prueba gratuita para ver este contenido.

Reimpresiones y permisos

Explorar más artículos

Recuperación de imágenes de prendas de vestirconsistencia estructuralimágenes DeepFashion2segmentación con HRNet-W48codificación con ResNet-50convolución de grafoscomparación estructurallocalización de diferencias