É necessária uma assinatura do JoVE para visualizar este conteúdo. Faça login ou inicie seu teste gratuito.

Artigo de método

Um Protocolo de Aprendizado de Características de Imagem Baseado na Topologia de Componentes de Vestuário ao Nível da Imagem para Recuperação de Referências de Design

45 visualizações

⸱

DOI:

10.3791/72103

⸱

1 de setembro de 2026

 ,  ,  , 

Neste artigo

Resumo

Este protocolo gera representações de roupas com reconhecimento de estrutura ao integrar análise semântica de componentes, modelagem de topologia, codificação de características em fluxo duplo e fusão orientada por estrutura. Ele permite que pesquisadores de visão computacional e vestuário realizem recuperação de roupas e comparação com referências de design com base na organização dos componentes e no traçado da silhueta, em vez da cor ou textura.

Resumo

Métodos de recuperação de imagens de roupas frequentemente enfatizam cor e textura, o que pode levar à confusão entre peças que compartilham aparência semelhante, mas diferem em seus layouts de componentes. Este estudo apresenta um protocolo de aprendizado de características com percepção de componentes para recuperação de imagens de roupas e comparação de referências de design. O protocolo analisa regiões semânticas da peça, constrói um grafo de componentes da roupa em nível de imagem, codifica em paralelo a aparência e as relações entre componentes e funde ambas as representações utilizando perdas de consistência estrutural, relação estrutural e discriminação estrutural. As imagens do DeepFashion2 são padronizadas para 512 x 512 pixels, analisadas com HRNet-W48, codificadas com ResNet-50 e convolução de grafo, e avaliadas por meio de recuperação estrutural e agrupamento. O modelo completo alcançou um índice de consistência estrutural de 0,81, um índice de discriminação estrutural de 0,71, um Recall@5 de 89,2%, uma precisão média de 86,4% e um coeficiente de silhueta de 0,74. O protocolo permite a recuperação da estrutura da peça, comparação estrutural e localização de diferenças quando a aparência superficial não representa de forma confiável a construção da roupa.

Introdução

Com a contínua integração da visão computacional e da inteligência artificial na indústria do vestuário, a análise de imagens de roupas tem se expandido gradualmente de tarefas básicas de reconhecimento para análises orientadas ao design e ao suporte de decisões1,2. No processo de design de vestuário, a distinção entre esquemas de design depende mais da composição estrutural e das relações entre componentes do que de simples diferenças na aparência, o que torna a expressividade estrutural das características de imagens de roupas em assistência ao design um fator-chave que afeta a eficácia da análise3,4. No entanto, a maioria dos métodos visuais existentes ainda depende de textura, cor e contornos globais como suas características principais, dificultando a análise sistemática de hierarquias e diferenças construtivas nas peças durante o processo de design5,6. Portanto, desenvolver um método de aprendizado de características de imagem com percepção estrutural para assistência ao design de vestuário é importante para melhorar a objetividade e a consistência da análise de design7. Este protocolo é adequado quando as peças de vestuário possuem cores, texturas ou contornos globais semelhantes, mas diferem na organização dos componentes, nos padrões de conexão ou no layout espacial. Nessas condições, representações centradas na aparência tendem a posicionar designs estruturalmente diferentes próximos uns dos outros no espaço de características, o que enfraquece a confiabilidade da recuperação e da comparação de designs. O protocolo aborda tarefas nas quais as relações entre os componentes das peças de vestuário constituem a base principal para a recuperação estrutural, avaliação de design e análise de diferenças localizadas.

Em termos de escala de dados, complexidade do modelo e diversidade de tarefas, a pesquisa atual sobre análise e compreensão automáticas de imagens de roupas obteve progressos significativos8,9. No entanto, em aplicações práticas, a informação estrutural das roupas é frequentemente incluída de forma implícita nos resultados de segmentação ou detecção e não é considerada na modelagem unificada da etapa de aprendizado de características, resultando na falta de distinção estável entre diferentes designs estruturais no espaço de características10,11. As relações espaciais, as restrições hierárquicas e as estruturas topológicas entre os componentes das roupas não são codificadas explicitamente, dificultando a capacidade das representações de características refletirem diferenças estruturais no nível do design12,13. A ausência de modelagem estrutural explícita limita a granularidade analítica e a confiabilidade das decisões baseadas nas características de imagens de roupas em cenários assistidos por design, representando um obstáculo importante para o desenvolvimento de sistemas inteligentes de design com compreensão semântica mais profunda14.

Para apoiar a aprendizagem e análise de características de imagens de roupas, estudos relacionados exploraram diversas direções técnicas15. Métodos de segmentação semântica e análise de vestuário permitiram a delimitação fina de regiões e componentes do vestuário por meio de anotação em nível de pixel, fornecendo uma base para a extração de informações estruturais16,17. Métodos de recuperação de vestuário baseados em consulta por imagem incorporaram fusão de topologia e cor-textura, alinhamento de atenção global e local, análise de vestuário, representação multiescala e multigranular e atenção residual com seleção de características. Esses métodos abordam busca em catálogos, correspondência de consumidor para loja, recuperação de produtos em domínios cruzados e busca visual em comércio eletrônico. Seus contextos de aplicação estão estreitamente relacionados à recuperação de referências de design, pois cada método classifica imagens de vestuário com base em uma consulta visual, embora suas representações não preservem as relações de adjacência tipificada entre componentes e de ordem vertical ao longo da fusão de características18,19,20. Enquanto isso, pesquisas em cenários de design e recomendação têm introduzido gradualmente fusão multimodal, modelagem de relações e análise de estilo, expandindo os limites de aplicação das características visuais de roupas21,22. Embora esses métodos tenham obtido progressos em suas respectivas tarefas, suas características centrais ainda são amplamente baseadas em descrições de aparência, e a informação estrutural não foi uniformemente modelada como uma restrição inerente para a aprendizagem de características, dificultando o atendimento às necessidades de assistência ao design de roupas em termos de alinhamento estrutural e comparação estrutural23.

Para resolver a capacidade insuficiente de diferenciação estrutural na assistência ao design de roupas, este artigo propõe um método de aprendizado de características de imagem baseado na percepção da estrutura do vestuário. Este método incorpora resultados de análise de roupas e informações estruturais-chave na etapa de entrada da imagem do vestuário, modelando conjuntamente regiões de componentes do vestuário, relações espaciais e conexões hierárquicas. A codificação de relações estruturais e o alinhamento de características visuais integram explicitamente restrições do vestuário ao processo de aprendizado de características, gerando uma representação que preserva tanto a aparência visual quanto a consistência estrutural. Essa característica descreve as diferenças estruturais do vestuário dentro de um espaço unificado, fornecendo uma base estável para análises subsequentes de similaridade estrutural, agrupamento estrutural e tomada de decisões assistidas por design, aliviando assim o problema de confusão de características causado pela falta de modelagem estrutural nos métodos existentes. Diferentemente das estratégias gerais de recuperação visual que tratam a informação estrutural como atributos auxiliares fracamente conectados, esta estrutura constrói um mecanismo de modulação de características centrado em relações topológicas. O mecanismo incentiva a representação aprendida a seguir a organização visível das regiões do vestuário, reduzindo respostas dominadas por textura. Cada nó do grafo denota uma região semântica em nível de imagem, e cada relação do grafo descreve adjacência visível ou posição relativa normalizada no plano da imagem. O embedding resultante permite a comparação do layout dos componentes e da organização da silhueta entre imagens de roupas. Essas regiões e relações não correspondem a peças de moldes de costura, conexões de costuras, marcos construtivos ou parâmetros de graduação. Em comparação com métodos de recuperação orientados pela aparência, o protocolo mantém a topologia explícita dos componentes durante todo o aprendizado de características, em vez de tratar a informação estrutural como um resultado de análise posterior. Em comparação com abordagens que introduzem pistas estruturais apenas como entradas auxiliares, a codificação em duplo fluxo e a fusão consistente com a topologia preservam as relações geométricas enquanto reduzem respostas dominadas por textura. A representação resultante suporta recuperação da estrutura do vestuário, agrupamento estrutural, seleção de referências de design e análise localizada de diferenças de design, fornecendo ao mesmo tempo evidências em nível de componente que permanecem interpretáveis no processo de design de roupas. A pesquisa relacionada a este protocolo abrange aprendizado de características de imagens de roupas, modelagem da estrutura do vestuário, representação com consciência estrutural e análise visual para assistência ao design de vestuário.

No nível de representação de características, a pesquisa com imagens de roupas há muito se concentra na modelagem da aparência, na extração de características profundas e na representação em múltiplas escalas24,25. Trabalhos iniciais utilizaram redes neurais convolucionais para realizar modelagem end-to-end de imagens de roupas em tarefas de classificação, recuperação e correspondência de similaridade26,27. Posteriormente, foram introduzidas fusão de características em múltiplas escalas e aprendizado cruzado de domínios para atenuar as diferenças em imagens de roupas sob diferentes ângulos de visão, poses e condições de captura28,29. Em tarefas de recuperação, mecanismos de atenção e estratégias de compressão de características foram utilizados para melhorar a discriminatividade das características e a eficiência computacional30,31. Esses métodos alcançam uma discriminação de aparência confiável, mas seus processos de aprendizado de características ainda se concentram em informações visuais globais e carecem de representações sistemáticas das estruturas internas das roupas32. Métodos compostos de recuperação de moda combinam ainda mais uma imagem de referência com instruções textuais de modificação, mas sua modalidade de consulta difere do protocolo baseado apenas em imagem estudado aqui. Eles são revisados como uma direção comercial relacionada de recuperação e não são incluídos na comparação quantitativa, pois a entrada adicional de texto impediria uma avaliação controlada com consulta por imagem.

À medida que a análise de imagens de roupas passou da discriminação de aparência para a compreensão estrutural, a pesquisa tem se concentrado cada vez mais na modelagem de componentes de vestuário, relações geométricas e conexões topológicas33. Redes de segmentação semântica alcançaram análise em nível de componente de roupas por meio de projeção de características e mecanismos de múltipla atenção, fornecendo uma base confiável para a extração de informações estruturais34,35. Métodos de detecção de pontos-chave e modelagem de topologia estrutural caracterizaram ainda mais a relação entre contornos de roupas e estruturas locais, aprimorando a capacidade do modelo de representar as características geométricas das vestimentas36,37. Vários estudos introduziram estruturas em forma de grafo e redes de raciocínio relacional para modelar as relações entre componentes de roupas, melhorando assim o desempenho no reconhecimento fino e na recuperação cruzada de domínios38,39. Esses trabalhos comprovaram o importante papel da informação estrutural na análise visual, mas a estrutura é usada principalmente como uma característica auxiliar ou um resultado intermediário, e ainda não foi desenvolvido um sistema de aprendizado de características com restrições estruturais no seu núcleo40.

Na assistência ao design de vestuário, esses avanços têm apoiado recomendações de design, análise de estilo, construção de sistemas interativos e avaliação de design orientada à estrutura41. A pesquisa em sistemas de recomendação alcançou combinações de roupas e recomendações personalizadas ao integrar características visuais com preferências dos usuários42. Trabalhos relacionados à assistência ao design têm explorado novos caminhos para suporte inteligente ao design, combinando modelos generativos, modelagem de estilo e mecanismos de colaboração entre homem e máquina43. Pesquisas sobre provas virtuais, medição de tamanhos e transferência de estilo têm ampliado a aplicação da análise visual de vestuário em todo o processo de design e produção. Embora esses estudos tenham enriquecido as formas técnicas de assistência ao design de vestuário, suas características visuais centrais ainda são predominantemente guiadas pela aparência e carecem de uma representação unificada da estrutura do design para análise. Em contraste, este artigo trata a estrutura da peça de vestuário como a restrição central na representação de características e fornece um método de representação visual para análise estrutural na assistência ao design de vestuário.

Apesar desses avanços, métodos recentes em design generativo frequentemente tratam condições estruturais como matrizes de orientação espacial soltas dentro de processos de difusão. Atuais estruturas de análise estrutural representam topologias como rótulos semânticos auxiliares, separados do espaço principal de incorporação visual. A estrutura proposta altera esse mecanismo ao definir uma restrição topológica baseada em grafo-prior que modula explicitamente a aprendizagem de características visuais no nível dos componentes. O objetivo de consistência multiescalar incentiva que peças de vestuário com disposições de componentes semelhantes no nível da imagem permaneçam próximas no espaço de características, ao mesmo tempo que separa peças com organizações diferentes de regiões visíveis. O objetivo reduz a dependência de textura na configuração de recuperação avaliada, mas não estabelece invariância a mudanças no material, na pose ou no fundo. O protocolo deve ser selecionado quando a imagem de entrada contém uma peça de vestuário individual suficientemente visível, os componentes semânticos mantêm fronteiras identificáveis e o objetivo analítico exige comparação estrutural no nível dos componentes, em vez de reconhecimento de categoria grosseiro. É destinado a pesquisadores de visão computacional, pesquisadores de design de vestuário e equipes de desenvolvimento digital de roupas envolvidas em análise visual sensível à estrutura. Não é indicado para tarefas focadas exclusivamente no reconhecimento de cor ou material, nem para imagens nas quais a topologia da peça de vestuário está amplamente obscurecida. O protocolo a seguir apresenta o fluxo de trabalho desde a preparação do conjunto de dados e mapeamento de probabilidade semântica até a construção de relações geométricas, codificação de características em dois fluxos, fusão orientada por estrutura e otimização baseada em consistência. O fluxo de trabalho completo é resumido na Figura 1.

Acesso restrito. Inicie sessão ou comece um teste para visualizar este conteúdo.

Protocolo

Este estudo utiliza conjuntos de dados públicos de imagens de roupas e não recruta participantes humanos, coleta informações pessoalmente identificáveis, realiza experimentos com animais ou utiliza materiais biológicos. A aprovação ética institucional e o consentimento informado não são aplicáveis.

1. Ambiente de software e configuração do projeto

  1. Coloque os arquivos do projeto liberados em um diretório com espaço de armazenamento suficiente e abra um terminal no diretório raiz do projeto.
  2. Execute conda env create -f environment.yml para criar o ambiente de software. Execute conda activate garment_structure para ativar o ambiente.
  3. Execute python --version, conda --version, pip show numpy, pip show torch, pip show torchvision e nvidia-smi. Salve a saída completa do comando em software_versions.txt.
  4. Use o mesmo ambiente registrado para pré-processamento, treinamento, inferência, medição de eficiência e avaliação. Registre o nome do arquivo do checkpoint HRNet-W48 e seu valor SHA-256, o identificador dos pesos pré-treinados do ResNet-50 no ImageNet e seu valor SHA-256, a fonte da versão do DeepFashion2 e o identificador do repositório do código-fonte no mesmo arquivo.
  5. Crie os diretórios data_raw, data_processed, parser_outputs, structural_priors, feature_outputs, checkpoints, logs e evaluation_results no diretório raiz do projeto.
  6. Abra configs/protocol.yaml. Insira o diretório do DeepFashion2 em dataset_root, o caminho do checkpoint pré-treinado do HRNet-W48 em parser_checkpoint e o diretório de saída do projeto em output_root.
  7. Defina input_height como 512, input_width como 512, batch_size como 32, structural_categories_per_batch como 8, samples_per_category como 4, random_seed como 42, feature_dimension como 512, structural_constraint_weight como 1,0, structural_relationship_weight como 0,5, structural_discrimination_weight como 1,0 e separation_threshold como 0,3.
  8. Defina o otimizador como gradiente descendente estocástico por mini-lote. Defina initial_learning_rate como 0,0001, momentum como 0,9, weight_decay como 0,0005, max_epochs como 120, learning_rate_schedule como decaimento multi-estágio e learning_rate_decay_factor como 0,1. Insira os estágios de decaimento verificados usados pela configuração liberada em learning_rate_milestones.
  9. Execute python tools/export_experiment_tables.py --config configs/protocol.yaml --output evaluation_results. Exporte a configuração completa do modelo para model_setting_statistics.csv. Verifique se o arquivo exportado registra o tamanho da imagem de entrada, formato de entrada, composição do lote, otimizador, taxa de aprendizado, cronograma de taxa de aprendizado, contagem de épocas, decaimento de peso, momento, probabilidades de aumento, dimensão de características, pesos das perdas estruturais, limite de separação, sementes aleatórias, regra de seleção de checkpoint e contagem de execuções independentes.
  10. Saída esperada: Confirme que o ambiente de software inicia sem erros de dependência, que o arquivo software_versions.txt contém o registro do ambiente, que todos os diretórios de saída existem e que o arquivo configs/protocol.yaml contém caminhos absolutos e configurações numéricas válidas.
    NOTA: Use o mesmo ambiente e arquivo de configuração durante o processamento de dados, treinamento do modelo, inferência e avaliação. Armazene uma cópia do arquivo configs/protocol.yaml com cada checkpoint treinado.
    ​RESOLUÇÃO DE PROBLEMAS: Se a criação do ambiente for interrompida porque um pacote está indisponível, remova o ambiente incompleto, verifique os canais do pacote em environment.yml e recrie o ambiente. Se o nvidia-smi não relatar uma unidade de processamento gráfico, interrompa o treinamento do modelo e restaure o driver gráfico e o ambiente de execução CUDA. Se um erro de diretório aparecer durante a execução, substitua caminhos relativos por caminhos absolutos e verifique a permissão de gravação para output_root.

2. Aceitação da imagem de entrada, construção do conjunto de dados e pré-processamento

  1. Utilize apenas arquivos com as extensões JPG, JPEG ou PNG. Use imagens RGB de 8 bits contendo uma única peça principal de vestuário.
  2. Mantenha imagens RGB de 8 bits com largura e altura de pelo menos 512 pixels e uma peça principal identificável. Rejeite uma imagem quando a área da peça principal ocupe menos de 15% da área total da imagem, quando mais de 5% da borda da máscara da peça coincidir com a borda da imagem, quando uma região secundária de vestuário exceder 10% da área da peça principal, quando a área estimada de oclusão exceder 20% da máscara da peça principal ou quando a variância da resposta do Laplaciano for inferior a 100.
  3. Registre o identificador da imagem, valor medido, regra de exclusão acionada e caminho da anotação em excluded_samples.csv.
  4. Applique as regras de aceitação de entrada às imagens originais do DeepFashion2 antes da rotulagem estrutural e da partição dos dados. Registre cada identificador de imagem aceita e rejeitada, a divisão original do conjunto de dados, o identificador da anotação da peça, o identificador do par de origem, a proporção da área em primeiro plano, a proporção de contato com a borda, a proporção de oclusão, a pontuação de desfoque e o status final de retenção em data_filtering_manifest.csv.
  5. Execute python tools/prepare_data.py --config configs/protocol.yaml.
  6. Leia a caixa delimitadora da peça a partir da anotação do conjunto de dados. Amplie a caixa delimitadora em 5% de sua largura e altura, sem exceder os limites da imagem.
  7. Recorte a região da peça, mantenha sua proporção original, adicione preenchimento com zeros para formar uma imagem quadrada e redimensione a imagem preenchida para 512 x 512 pixels.
  8. Converta a imagem redimensionada em um tensor RGB com valores de ponto flutuante. Divida cada valor de pixel por 255.
  9. Normalize os canais vermelho, verde e azul com médias de 0.485, 0.456 e 0.406 e desvios padrão de 0.229, 0.224 e 0.225.
  10. Applique inversão horizontal com probabilidade de 0,5 e apagamento aleatório com probabilidade de 0,2 às imagens de treinamento. Aplique apenas recorte, preenchimento, redimensionamento e normalização determinísticos às imagens de validação e teste.
  11. Execute python tools/assign_structural_levels.py --config configs/protocol.yaml após a geração dos mapas de componentes de sete canais e das matrizes de fronteira compartilhada e de ordem vertical. Para cada imagem mantida, calcule a contagem de nós ativos, a contagem de componentes conectados, a contagem de nós de ramificação, a contagem de ciclos independentes e o caminho vertical ordenado mais longo. Defina um nó de ramificação como um nó ativo conectado a pelo menos três outros nós ativos no grafo de fronteira compartilhada.
  12. Atribua S1 quando o grafo for conectado, não contiver ciclo independente, não contiver nó de ramificação e tiver um caminho vertical ordenado mais longo com no máximo duas arestas. Atribua S2 quando o grafo for conectado, não contiver ciclo independente, contiver exatamente um nó de ramificação e tiver um caminho vertical ordenado mais longo com no máximo duas arestas. Atribua S3 quando o grafo for conectado, não contiver ciclo independente e tiver pelo menos dois nós de ramificação ou um caminho vertical ordenado com pelo menos três arestas. Atribua S4 quando o grafo for conectado, contiver exatamente um ciclo independente e tiver um caminho vertical ordenado com no máximo duas arestas. Atribua S5 quando o grafo contiver pelo menos dois ciclos independentes ou contiver um ciclo independente juntamente com um caminho vertical ordenado com pelo menos três arestas.
  13. Applique as regras na ordem S5, S4, S3, S2 e S1 e salve as estatísticas do grafo calculadas, o nível atribuído e o identificador da regra em structural_level_manifest.csv.
  14. Gere automaticamente os rótulos preliminares S1–S5 a partir das máscaras de componentes e matrizes de relações salvas. Marque uma amostra como estruturalmente ambígua quando seu grafo de componentes contiver mais de um componente conectado, quando a probabilidade média máxima do componente dentro do primeiro plano da peça for inferior a 0,60, quando um componente ativo ocupar menos de 1% do primeiro plano da peça ou quando seu nível estrutural atribuído mudar após a largura de contato da borda ser alterada de um para dois pixels.
  15. Submeta cada amostra ambígua a dois autores para inspeção independente da imagem original, mapa de componentes, matriz de fronteira compartilhada, matriz de ordem vertical e grafo preliminar. Mantenha o rótulo quando as duas inspeções concordarem. Submeta discordâncias a um terceiro autor e use a decisão da maioria como rótulo final. Exclua uma amostra quando nenhuma relação de componente estável for recuperada após a revisão. Registre o rótulo automático, rótulos de revisão, motivo da discordância, rótulo final e status de exclusão em structural_label_audit.csv.
  16. Calcule o valor SHA-256 de cada arquivo original mantido e calcule um hash perceptual de 64 bits a partir do recorte normalizado da peça. Coloque imagens com valores idênticos de SHA-256 no mesmo grupo de duplicatas exatas. Coloque imagens cujos hashes perceptuais tenham uma distância de Hamming de no máximo quatro no mesmo grupo de duplicatas próximas, após verificar que elas provêm da mesma instância de peça.
  17. Una todas as imagens que compartilham o mesmo identificador de par de origem do DeepFashion2 ou identidade da peça em um único grupo de origem. Salve os hashes de arquivo, hashes perceptuais, identificadores de origem e identificadores de grupo de duplicatas em duplicate_group_manifest.csv.
  18. Realize a partição dos dados no nível do grupo de origem, e não no nível da imagem individual. Atribua cada grupo de duplicatas exatas, grupo de duplicatas próximas e grupo de identidade de origem inteiramente a um subconjunto. Verifique todos os pares entre subconjuntos após a partição e registre todos os conflitos de identidade, conflitos de hash e conflitos de hash perceptual detectados em leakage_audit.csv. Recrie os manifestos até que leakage_audit.csv não contenha registros entre subconjuntos não resolvidos.
  19. Estratifique os grupos de origem pelos rótulos finais S1-S5 e atribua grupos completos aos subconjuntos de treinamento, validação e teste de acordo com a alocação verificada mostrada em Tabela 1. Informe a contagem exata de imagens e de grupos de origem para cada nível estrutural e subconjunto.
  20. Calcule as porcentagens realizadas de treinamento, validação e teste a partir do coorte final mantido, e não a partir do conjunto de dados não filtrado. Não utilize imagens de validação, imagens de teste, imagens excluídas por ambiguidade ou imagens pertencentes aos seus grupos de duplicatas durante o aprendizado de parâmetros, determinação de limiares, ajuste de regras de nível estrutural ou seleção de pontos de controle.
  21. Salve as imagens processadas em data_processed/images. Salve train_manifest.csv, validation_manifest.csv, test_manifest.csv, pair_manifest.csv e structural_level_manifest.csv em data_processed/manifests.
  22. Leia os rótulos estruturais finais, status de revisão, identificadores de grupo de duplicatas, identificadores de grupo de origem e rótulos de subconjunto a partir dos manifestos processados. Conte as amostras aceitas automaticamente, amostras revisadas manualmente, exclusões por ambiguidade, exclusões por duplicatas, grupos de origem, imagens de treinamento, imagens de validação e imagens de teste para S1 a S5.
  23. Calcule as proporções realizadas dos subconjuntos, contagem média de nós ativos, contagem média de nós de ramificação, contagem média de ciclos independentes, profundidade média da ordem vertical e contagem média de arestas tipificadas. Salve as estatísticas completas em evaluation_results/dataset_statistics.csv.
  24. Saída esperada: Confirme que cada imagem aceita seja uma imagem RGB de 8 bits com tamanho de 512 x 512 pixels e possua um registro de filtragem, um rótulo final de nível estrutural, um identificador de grupo de origem, um identificador de grupo de duplicatas, um rótulo de subconjunto e um caminho de anotação válido. Confirme que cada amostra ambígua possua um registro completo de revisão. Confirme que nenhum identificador de origem, grupo de duplicatas exatas, grupo de duplicatas próximas ou identidade da peça ocorra em mais de um subconjunto. Confirme que as contagens de imagens em train_manifest.csv, validation_manifest.csv, test_manifest.csv e dataset_statistics.csv sejam idênticas.
    NOTA: Mantenha as imagens originais não processadas em data_raw. Não aplique aumento aleatório às imagens de validação ou teste.
    ​TROUBLESHOOTING: Se o recorte remover uma gola, manga, barra ou perna de calça, restaure a anotação original e aumente a margem da borda mantida. Se uma peça parecer esticada, verifique se o preenchimento quadrado está presente antes do redimensionamento. Se uma imagem processada contiver um canal ou quatro canais, converta o arquivo de origem para RGB de 8 bits e refaça o pré-processamento. Se identificadores duplicados ocorrerem entre subconjuntos, recrie todos os manifestos de subconjunto antes do treinamento.

3. Análise de componentes visuais restrita ao primeiro plano e mapeamento de probabilidade

  1. Execute o comando python tools/parse_components.py --config configs/protocol.yaml.
  2. Carregue o ponto de controle pré-treinado HRNet-W48 para análise semântica de roupas a partir de parser_checkpoint. Verifique se o ponto de controle gera as categorias de componentes de vestuário definidas pelo mapeamento de anotações do conjunto de dados. Altere a rede de análise semântica para o modo de avaliação e desative o cálculo de gradientes.
  3. Leia as imagens processadas sequencialmente a partir dos arquivos train_manifest.csv, validation_manifest.csv e test_manifest.csv.
  4. Extraia um tensor de resposta semântica de sete canais de cada imagem de entrada e defina K como sete em todo o fluxo de trabalho. Utilize a ordem fixa de categorias: Região Superior de Bordado, Região da Decote, Região do Corpete, Região Esquerda da Parte Inferior da Roupa, Região Direita da Parte Inferior da Roupa, Região Central da Parte Inferior da Roupa e Região da Borda. Mantenha essa ordem em mapas de probabilidade, matrizes de componentes, matrizes de grafos, matrizes de características, manifestos e arquivos de visualização.
  5. Aplique a função softmax ao longo da dimensão dos canais para gerar o mapa de probabilidade P dos componentes semânticos. Verifique se as probabilidades em todos os K canais somam um em cada pixel, com uma tolerância de 0,0001.
  6. Carregue a máscara de primeiro plano da roupa a partir da anotação do conjunto de dados e alinhe-a com a imagem processada de 512 x 512. Defina como zero a probabilidade de cada componente fora do primeiro plano da roupa. Renormalize as probabilidades dos componentes dentro da máscara de primeiro plano ao longo da dimensão dos canais.
  7. Verifique se cada região ativa do componente permanece dentro do primeiro plano da roupa. Rejeite a amostra analisada se uma região colorida do componente se estender para áreas de fundo, como parede, chão, cortina ou outros elementos do fundo. Registre o identificador da imagem rejeitada e o erro de análise em parsing_quality_log.csv.
  8. Calcule a taxa de cobertura do primeiro plano para cada componente e marque os componentes com regiões fragmentadas ou áreas isoladas não suportadas para inspeção manual.
  9. Salve o tensor de resposta semântica em parser_outputs/logits. Salve o mapa de probabilidade em parser_outputs/probability_maps. Salve uma pré-visualização codificada por cores do componente em parser_outputs/previews.
  10. Saída esperada: Confirme que cada imagem aceita produz um mapa de probabilidade de sete canais restrito ao primeiro plano, com dimensão espacial de 512 x 512 pixels, um tensor de resposta semântica de sete canais e uma imagem de pré-visualização. Confirme que os índices dos canais de um a sete seguem a ordem fixa de componentes definida na Etapa 3.4. Confirme que todas as regiões coloridas dos componentes permanecem dentro do primeiro plano da roupa e que os pixels de fundo têm probabilidade zero para todos os componentes. Confirme que o identificador do arquivo corresponde à entrada correspondente no manifesto de origem.
    NOTA: Mantenha as probabilidades contínuas dos componentes dentro do primeiro plano da roupa durante a modelagem estrutural. Trate as regiões resultantes como áreas para análise visual. Não interprete suas bordas como linhas de costura, linhas de corte, contornos de moldes, pences, recortes ou referências de graduação.
    ​SOLUÇÃO DE PROBLEMAS: Se todos os canais apresentarem probabilidades quase uniformes, verifique parser_checkpoint, a ordem dos canais RGB e a normalização da imagem. Se um componente estiver ausente em todo um subconjunto, compare o índice da anotação com o índice do canal na saída do analisador. Se as cores dos componentes se estenderem para o fundo, verifique o alinhamento da máscara de primeiro plano, as configurações de interpolação e as coordenadas da anotação antes da construção do grafo. Se uma região visual abranger várias áreas da roupa não relacionadas, marque a amostra como falha na análise e exclua-a da geração de priorização estrutural. Se as probabilidades dos canais não somarem um, aplique softmax ao longo da dimensão dos canais, e não ao longo das dimensões espaciais. Se um arquivo de saída estiver ausente, localize o identificador final processado no log do analisador e retome a análise a partir do próximo identificador.

4. Modelagem da geometria de componentes e relações espaciais no nível da imagem

  1. Carregue o tensor de características visuais rasas e o mapa de probabilidade correspondente P para cada imagem.
  2. Multiplique cada vetor de característica espacial pela probabilidade atribuída ao componente semântico correspondente.
  3. Somar os vetores de características ponderados ao longo das dimensões espaciais e dividir a soma pela massa total de probabilidade do componente.
  4. Atribua um vetor nulo e um indicador de nó inativo a qualquer componente com massa de probabilidade zero.
  5. Aplicar normalização L2 a cada incorporação de componente ativo e empilhar as incorporações de acordo com a ordem fixa de componentes semânticos.
  6. Calcule as coordenadas horizontais e verticais do centro no plano da imagem para cada componente visual a partir de sua distribuição de probabilidade restrita ao primeiro plano. Normalize as coordenadas pela largura e altura da imagem.
  7. Calcule a dispersão horizontal e vertical no plano da imagem de cada componente visual no mesmo sistema de coordenadas normalizado. Use esses valores apenas para descrever a extensão da região visível na imagem processada.
  8. Crie sete nós do grafo de acordo com a ordem fixa de componentes e mantenha os componentes inativos como nós nulos. Construa uma matriz 7 x 7 de fronteira compartilhada usando o contato de oito vizinhos entre as máscaras dos componentes do primeiro plano. Construa uma matriz 7 x 7 de ordem vertical usando as relações fixas da Região do Rodo Superior até a Região da Gola, da Região da Gola até a Região do Corpete, da Região do Corpete até cada região da vestimenta inferior e de cada região da vestimenta inferior até a Região da Borda. Armazene todas as relações válidas em ambas as direções.
  9. Adicione um laço próprio para cada nó ativo antes da convolução do grafo e mantenha as relações conectadas a nós inativos com valor zero.
  10. Calcule o deslocamento relativo do centro e a dispersão espacial relativa entre cada par ordenado de componentes semânticos. Empilhe os valores geométricos por pares para formar o tensor de relação geométrica.
  11. Calcule o produto escalar entre cada par de incorporações de componentes normalizadas. Aplique softmax por linha à matriz de similaridade resultante e use os valores como pesos de relação.
  12. Multiplicar o tensor de relação geométrica pelos pesos de relação correspondentes e agregar as relações ponderadas para cada componente.
  13. Salve a matriz de incorporação de componentes, matriz de centro dos componentes, matriz de dispersão espacial, matriz de fronteira compartilhada, matriz de ordem vertical, matriz de laço próprio, matriz de pesos de relação, máscara de nós inativos, mapeamento de rótulos de componentes e representação de priori estrutural em structural_priors. Salve todas as matrizes com sete linhas e sete colunas quando aplicável. O processo completo de construção, desde o mapa de componentes restrito ao primeiro plano até a representação de priori topológica dos componentes da vestimenta no nível da imagem, é mostrado na Figura 2.
  14. Gere a sobreposição do grafo de componentes para cada amostra de visualização a partir do mapa de probabilidade restrito ao primeiro plano, matriz de centro dos componentes, matriz de adjacência tipificada, máscara de nós inativos e mapeamento de rótulos de componentes.
  15. Posicione cada nó ativo no centro do componente correspondente. Desenhe arestas sólidas para fronteiras compartilhadas no primeiro plano e arestas tracejadas para relações de ordem vertical predefinidas.
  16. Salve cada sobreposição do grafo em structural_priors/visualizations usando o identificador da imagem original. Registre o caminho da imagem original, caminho do mapa de probabilidade, caminho da matriz de centros dos componentes, caminho da matriz de adjacência tipificada, caminho da máscara de nós inativos, identificador do ponto de verificação de análise semântica e caminho da sobreposição do grafo em component_graph_visualization_manifest.csv.
  17. Saída esperada: Confirme que cada imagem produz uma matriz de incorporação de componentes com K linhas, uma matriz de adjacência tipificada com K linhas e K colunas, uma matriz de pesos de relação com K linhas e K colunas, uma máscara de nós inativos com K valores e uma representação de priori estrutural no nível da imagem. Confirme que cada amostra selecionada de visualização produz uma sobreposição do grafo de componentes na qual os nós ativos permanecem dentro das regiões correspondentes da vestimenta.
    NOTA: Mantenha a mesma ordem de componentes visuais em todas as matrizes, manifestos, grafos, arquivos de características e sobreposições de grafos. Trate os centros dos componentes, valores de dispersão espacial e relações do grafo como descritores de regiões da vestimenta no plano da imagem. Não interprete o grafo de componentes como um esqueleto de pose humana nem derive seus nós a partir de coordenadas articulares anatômicas. Não converta esses descritores em comprimentos de costura, raios de curva, pences, posições de marcações, direções do fio da tecelagem, incrementos de graduação ou dimensões das peças do molde.
    ​TROUBLESHOOTING: Se uma matriz contiver um valor não numérico, inspecione o denominador da massa de probabilidade e a normalização das coordenadas. Se os pesos de relação se concentrarem em um único componente, subtraia o valor máximo da linha da matriz de similaridade antes do softmax. Se o número de nós do grafo variar entre imagens, verifique se os componentes inativos permanecem presentes como vetores nulos em vez de serem removidos.

5. Codificação de características com reconhecimento de estrutura de fluxo duplo

  1. Carregue os pesos do ResNet-50 pré-treinado no ImageNet e remova as camadas finais de agrupamento e classificação.
  2. Passe cada imagem normalizada da peça de vestuário pelo ResNet-50 e extraia o tensor de aparência da etapa da base definida por appearance_stage em configs/protocol.yaml. Verifique o nome da etapa, o número de canais de saída e as dimensões espaciais de saída geradas pela etapa da base selecionada para uma imagem de entrada de 512 x 512 pixels. Utilize a mesma etapa em todas as execuções de treinamento, inferência, ablação e comparação.
  3. Redimensione o mapa de probabilidade semântica para o tamanho espacial do tensor de característica de aparência por meio de interpolação bilinear. Multiplique o tensor de característica de aparência por cada mapa de probabilidade do componente redimensionado e, em seguida, agregue as respostas ponderadas ao longo das dimensões espaciais.
  4. Passe cada incorporação de aparência do componente pela camada de realocação de canais definida em configs/protocol.yaml. Registre o tipo da camada, dimensão de entrada, dimensão de saída, razão de redução, função de ativação e regra de compartilhamento de parâmetros. Empilhe os sete vetores de componente resultantes na ordem semântica fixa para formar a matriz de características de aparência.
  5. Passe cada vetor de relação geométrica pela camada de projeção estrutural e defina a dimensão de saída como 512. Construa o grafo do componente com a matriz de pesos das relações e a máscara de nós inativos.
  6. Aplique duas camadas convolucionais em grafo com dimensão de entrada de 512 e dimensão de saída de 512. Aplique normalização por lote após cada camada convolucional em grafo e, em seguida, aplique LeakyReLU. Registre o valor da inclinação negativa usado pelo LeakyReLU. Aplique a máscara de nós inativos após cada camada para manter características nulas para componentes inativos.
  7. Aplique o alinhamento semântico com as incorporações normalizadas dos componentes e empilhe os vetores resultantes para formar a matriz de características estruturais.
  8. Saída esperada: Confirme que cada imagem produz uma matriz de características de aparência e uma matriz de características estruturais. Confirme que ambas as matrizes contêm K linhas e 512 colunas.
    NOTA: Mantenha os componentes inativos como vetores nulos e preserve a ordem dos componentes estabelecida durante a construção da prioridade estrutural.
    SOLUÇÃO DE PROBLEMAS: Se as duas matrizes de características apresentarem contagens diferentes de linhas, inspecione o mapeamento de categorias semânticas e o tratamento dos nós inativos. Se a multiplicação matricial apresentar erro de dimensão, verifique se a saída da projeção estrutural e as dimensões dos canais de aparência são ambas 512. Se as características estruturais permanecerem nulas para todos os componentes ativos, verifique se as arestas do grafo e os pesos das relações foram adicionados ao lote atual.

6. Fusão de características orientada por estrutura

  1. Aplicar a sequência de fusão de características orientada por estrutura mostrada na Figura 3. Passar a matriz de características estruturais pela camada de pesos de fusão e aplicar a função de ativação declarada por fusion_activation em configs/protocol.yaml. Registrar o nome da ativação, a dimensão de entrada, a dimensão de saída e se os parâmetros são compartilhados entre os sete nós componentes.
  2. Verificar se a matriz de pesos estruturais gerada contém K linhas e 512 colunas.
  3. Multiplicar a matriz de características de aparência pela matriz de pesos estruturais elemento por elemento.
  4. Concatenar a matriz de aparência modulada e a matriz de características estruturais ao longo da dimensão do canal.
  5. Concatenar o vetor de aparência modulada de 512 dimensões e o vetor estrutural de 512 dimensões para cada componente, formando um vetor de 1024 dimensões. Passar o vetor concatenado pela camada de projeção de fusão e reduzir sua dimensão de 1024 para 512.
  6. Adicionar a matriz original de características estruturais à matriz projetada por meio de uma conexão residual.
  7. Empilhar os vetores componentes fundidos na ordem semântica fixa e aplicar normalização L2 à representação unificada com consciência estrutural.
  8. Salvar a matriz de pesos estruturais, a matriz de aparência modulada, a matriz de componentes fundidos e a representação final com consciência estrutural em feature_outputs.
  9. Saída esperada: Confirmar que cada imagem produz uma matriz de componentes fundidos com K linhas e 512 colunas e um vetor de características normalizado com consciência estrutural vinculado ao identificador da imagem de origem.
    NOTA: Manter a matriz de pesos estruturais e a matriz de componentes fundidos para visualização de resposta e análise de diferenças locais.
    ​RESOLUÇÃO DE PROBLEMAS: Se os valores fundidos continuarem aumentando, inspecionar a saída de ativação e a camada de normalização. Se todos os pesos estruturais tenderem ao mesmo valor, verificar se as características estruturais variam entre as imagens e se a camada de fusão está recebendo gradientes. Se os arquivos de características e os identificadores de imagem não corresponderem, recriar o manifesto de saída antes da avaliação de treinamento ou recuperação.

7. Treinamento do modelo e otimização da consistência

  1. Carregue os cinco valores de semente aleatória registrados em configs/seeds.yaml. Para cada execução, defina a mesma semente aleatória para o Python, operações NumPy, operações PyTorch na CPU e todos os dispositivos CUDA. Habilite algoritmos determinísticos, desative o modo de benchmark do cuDNN e registre os cinco valores exatos da semente no diretório correspondente da execução.
  2. Carregue o manifesto de treinamento processado, o manifesto de pares, os mapas de probabilidade e os priores estruturais.
  3. Construa cada lote de treinamento com oito categorias estruturais e quatro amostras com variação de aparência de cada categoria.
  4. Calcule a perda de consistência estrutural a partir de pares de amostras positivas que compartilham o mesmo prior estrutural.
  5. Calcule a perda de consistência de relação estrutural a partir das distâncias entre pares de características dos componentes.
  6. Calcule a perda de discriminação estrutural a partir de pares de amostras negativas com estruturas heterogêneas e aplique o limiar de separação de 0,3.
  7. Combine o objetivo de aparência, o objetivo de consistência estrutural, o objetivo de relação estrutural e o objetivo de discriminação estrutural com os pesos armazenados em configs/protocol.yaml. O processo de otimização no espaço de características regido pelos três objetivos estruturais é mostrado na Figura 4.
  8. Execute python train.py --config configs/protocol.yaml. Atualize todos os parâmetros treináveis com descida de gradiente estocástica por mini-lote usando a taxa de aprendizado inicial, momento, decaimento de peso, contagem de épocas, fator de decaimento e épocas de decaimento definidos na Etapa 1.8. Registre a taxa de aprendizado após cada época no log de treinamento.
  9. Registre a perda total, perda de aparência, perda de consistência estrutural, perda de relação estrutural, perda de discriminação estrutural, taxa de aprendizado, Índice de Consistência Estrutural (SCI), Índice de Discriminação Estrutural (SDI) e Recall@5 após cada época.
  10. Avalie o modelo em validation_manifest.csv após cada época. Salve o ponto de controle associado ao SCI de validação mais alto em checkpoints/selected_model.pth.
  11. Repita o treinamento cinco vezes com as cinco sementes aleatórias registradas. Salve cada arquivo de configuração, log de treinamento e ponto de controle selecionado em um diretório de execução separado.
  12. Saída esperada: Confirme que cada execução produz um log de treinamento, um log de validação, um arquivo de métricas por época e um ponto de controle selecionado. Confirme que o ponto de controle selecionado é baseado no desempenho de validação e não no desempenho de teste.
    NOTA: Use os mesmos manifestos de treinamento, validação e teste em todos os experimentos de comparação de modelos e ablação.
    ​RESOLUÇÃO DE PROBLEMAS: Se uma perda se tornar não numérica, interrompa o treinamento, inspecione as massas de probabilidade dos componentes, reduza a taxa de aprendizado por um fator de 10 e reinicie a partir do último ponto de controle válido. Se o SCI de validação permanecer inalterado enquanto a perda de treinamento diminui, verifique se os parâmetros de propagação e fusão do grafo estão recebendo gradientes. Se a memória gráfica for esgotada, reduza o tamanho do lote e mantenha um tamanho efetivo de lote de 32 por meio de acumulação de gradientes. Se o desempenho de validação mudar abruptamente entre execuções, verifique a semente aleatória registrada e a ordem do manifesto de dados.

8. Inferência, recuperação, agrupamento e verificação da saída

  1. Execute python infer.py --config configs/protocol.yaml --checkpoint checkpoints/selected_model.pth. Gere mapas de probabilidade, priores estruturais, matrizes de características de aparência, matrizes de características estruturais, matrizes de componentes fundidos e vetores finais de características para cada imagem de teste.
  2. Salve todas as saídas da inferência em feature_outputs/teste e registre seus caminhos em test_feature_manifest.csv. Calcule a similaridade do cosseno entre cada característica de consulta e todas as características da galeria. Ordene os identificadores da galeria em ordem decrescente de similaridade. Salve os cinco resultados com maior classificação para cada consulta em evaluation_results/retrieval_results.csv.
  3. Para cada amostra de recuperação selecionada para visualização, carregue a matriz de adjacência tipificada, a matriz de pesos de relação, a matriz de centros de componentes, a máscara de nós inativos, o mapeamento de rótulos de componentes e a matriz de componentes fundidos da imagem de consulta. Carregue os mesmos arquivos para o resultado com maior classificação gerado pelo modelo com percepção de estrutura.
  4. Renderize o grafo de componentes da consulta e o grafo de componentes da imagem recuperada a partir de suas matrizes de centros de componentes e matrizes de adjacência tipificadas salvas. Mantenha a ordem fixa de componentes e os tipos de relação utilizados durante a inferência do modelo.
  5. Renderize a matriz de adjacência tipificada da consulta como uma matriz categórica. Utilize valores distintos na matriz para relações inativas, de fronteira compartilhada e de ordem vertical. Rotule os eixos horizontal e vertical com os identificadores de componentes armazenados no mapeamento de rótulos de componentes.
  6. Aplique normalização L2 à matriz de componentes fundidos da consulta e à matriz de componentes fundidos da imagem recuperada. Calcule a similaridade do cosseno entre cada componente da consulta e cada componente da imagem recuperada. Salve a matriz resultante de correspondência de componentes K × K em evaluation_results/structural_retrieval_evidence.
  7. Para cada par referência-alvo selecionado para análise de diferença local, carregue a matriz de adjacência tipificada, a matriz de centros de componentes, a matriz de dispersão espacial, a matriz de pesos de relação e a matriz de componentes fundidos de ambas as imagens.
  8. Calcule a diferença absoluta entre as duas matrizes de adjacência tipificadas. Calcule as diferenças absolutas nos deslocamentos dos centros de componentes, dispersão espacial e pesos de relação utilizando a ordem fixa de componentes. Salve a matriz de diferença de topologia e a matriz de diferença de relações geométricas resultantes em evaluation_results/structural_difference_evidence.
  9. Calcule a distância L2 entre linhas correspondentes das duas matrizes de componentes fundidos. Normalize as distâncias em nível de componente e atribua-as aos nós do grafo de componentes alvo. Aumente a largura das arestas de acordo com a diferença normalizada no peso de relação. Salve o grafo resultante de diferença de componentes pós-fusão.
  10. Registre os identificadores de imagem, caminhos das matrizes, caminhos dos grafos, ordem de componentes, identificador do ponto de controle e caminhos de saída de visualização em structural_visualization_manifest.csv. Gere todas as visualizações estruturais programaticamente a partir dos arquivos registrados; não adicione manualmente nós, arestas ou valores na matriz.
  11. Aplique K-Means com cinco clusters aos vetores finais de características e salve as atribuições de cluster em evaluation_results/cluster_assignments.csv. Execute python evaluate.py --config configs/protocol.yaml --feature_dir feature_outputs/test.
  12. Calcule SCI, SDI, Recall@5, Precisão Média (mAP) e coeficiente de silhueta para cada execução. Utilize SCI para avaliar a compacidade das características normalizadas que compartilham o mesmo rótulo estrutural, e utilize SDI para avaliar a separação entre diferentes rótulos estruturais. Utilize Recall@5 para avaliar se uma correspondência estrutural relevante aparece na lista curta de recuperação, e utilize mAP para avaliar a qualidade da classificação em toda a galeria. Utilize o coeficiente de silhueta apenas na análise de agrupamento.
  13. Calcule a média aritmética e o desvio padrão amostral em cinco execuções independentes. Mantenha os cinco valores por execução para cada método e métrica. Não aplique normalização min-max, normalização por posto ou reescalonamento com base nos métodos comparados. Realize um teste t pareado utilizando os resultados obtidos com a mesma semente aleatória e registre a estatística do teste e o valor de significância exato bilateral.
  14. Compare o número de identificadores de teste processados, arquivos de características, registros de recuperação e atribuições de cluster. Resolva todas as inconsistências antes de relatar ou interpretar os resultados da avaliação.
  15. Saída esperada: Confirme que cada imagem de teste possui um registro completo de inferência, uma lista de recuperação, uma atribuição de cluster e um conjunto de entradas para avaliação. Confirme que cada caso de recuperação selecionado para visualização possui um grafo de componentes da consulta, um grafo de componentes da imagem recuperada, uma matriz de adjacência tipificada e uma matriz de correspondência de componentes fundidos.
  16. Confirme que cada caso de diferença estrutural possui uma matriz de diferença de topologia, uma matriz de diferença de relações geométricas, um grafo de diferença de componentes pós-fusão, um mapa de calor de diferença espacial e uma sobreposição de resposta. Confirme que todos os arquivos de visualização estão vinculados às suas matrizes de origem por meio de structural_visualization_manifest.csv. Salve o mapa de calor puro, a sobreposição da imagem alvo, a máscara de primeiro plano e as coordenadas da região com maior resposta para cada caso visualizado.
  17. Accepte uma resposta de diferença calculada somente quando a região predominante de alta resposta sobrepor o primeiro plano da peça de vestuário e for sustentada pelas evidências correspondentes de mudança na matriz de adjacência tipificada, mudança na relação geométrica e distância de componentes pós-fusão. Se a resposta mais forte cair principalmente fora do primeiro plano da peça de vestuário, inspecione a saída de segmentação, o grafo de componentes e o registro de fusão.
    NOTA: Utilize o ponto de controle selecionado a partir do conjunto de validação para inferência no conjunto de teste. Não selecione ou substitua um ponto de controle com base em métricas do conjunto de teste. Utilize a mesma ordem de componentes, regra de nó inativo, codificação de tipo de relação e processo de normalização ao gerar grafos e matrizes durante inferência e visualização.
    ​TROUBLESHOOTING: Se a inferência parar antes de processar todas as imagens de teste, localize o último identificador no log de inferência e retome a partir do identificador seguinte. Se os resultados de recuperação forem dominados pela similaridade de cor, inspecione as saídas de priori estrutural e de fusão, e verifique se o carregamento do ponto de controle foi bem-sucedido. Se a avaliação relatar identificadores duplicados, reconstrua test_feature_manifest.csv e remova registros duplicados antes do recálculo. Se o K-Means produzir um cluster vazio, verifique a normalização das características e execute novamente o agrupamento com a semente aleatória registrada.

9. Avaliação comparativa de modelos

  1. Execute python compare_models.py --config configs/protocol.yaml.
  2. Treine e avalie ResNet-50, Part-based Convolutional Baseline (PCB), GCN, FashionGraph, Swin Transformer, CLIP, Histograma de Características Topológicas com Fusão de Cor e Textura, Rede em Cascata Orientada por Atenção, MMFL-Net, FARE-RNET e o método proposto com os mesmos manifestos de treinamento, validação e teste.
  3. Utilize o mesmo tamanho de imagem, operações de pré-processamento, épocas de treinamento, tamanho efetivo de lote, consultas de avaliação e implementação da métrica para cada método.
  4. Mantenha o agrupamento médio global para ResNet-50. Aplique o alinhamento por faixas horizontais no PCB. Aplique um grafo fixo de vestuário no nível da imagem no GCN. Aplique inferência dinâmica de grafo guiada por atributos no FashionGraph. Utilize os codificadores de imagem padrão do Swin Transformer e CLIP. Implemente o Histograma de Características Topológicas com Fusão de Cor e Textura usando descritores topológicos, de cor e de textura. Implemente uma Rede em Cascata Orientada por Atenção utilizando ramificações de características globais e locais com segmentação de vestuário. Implemente MMFL-Net utilizando ramificações de características multi-escala e multi-granularidade. Implemente FARE-RNET utilizando atenção residual, seleção de características e codificação contextual dilatada.
  5. Utilize apenas a ramificação de consulta por imagem em cada método de comparação. Retreine cada método treinável no manifesto de treinamento comum e selecione seu ponto de controle (checkpoint) a partir do manifesto de validação comum. Gere uma lista classificada da galeria para cada consulta de teste.
  6. Projete cada incorporação aprendida em 512 dimensões por meio de uma camada linear treinável registrada quando sua dimensão original for diferente. Aplique normalização L2 antes da classificação por similaridade cosseno. Utilize a mesma atribuição consulta-galeria e implementação da métrica para todos os métodos.
  7. Repita cada método de comparação com as mesmas cinco sementes aleatórias. Relate a média e o desvio padrão amostral de SCI, SDI, Recall@5, mAP e coeficiente de silhueta. Para cada métrica, realize um teste t pareado bicaudal entre o método proposto e cada método de comparação, utilizando os resultados obtidos sob a mesma semente aleatória. Registre os cinco valores por execução, estatística do teste, graus de liberdade e valor p exato em evaluation_results/comparison_metrics.csv.
  8. Calcule SCI, SDI, Recall@5, mAP e o coeficiente de silhueta para cada método. Salve todos os valores por execução e agregados em evaluation_results/comparison_metrics.csv.
  9. Saída esperada: Confirme que comparison_metrics.csv contém os mesmos campos de métrica e o mesmo número de execuções independentes para cada método de comparação.
    NOTA: Não altere as partições de dados, o código da métrica ou a atribuição consulta-galeria entre os métodos de comparação.
    SOLUÇÃO DE PROBLEMAS: Se um modelo de comparação produzir uma dimensão de característica diferente de 512, adicione uma única camada de projeção linear registrada antes do cálculo da métrica e treine essa camada junto com o modelo correspondente. Se um modelo não convergir com a taxa de aprendizado comum, utilize a taxa de aprendizado especificada pela sua implementação publicada e mantenha todas as demais condições experimentais. Registre cada configuração específica do método no log de comparação.

Acesso restrito. Inicie sessão ou comece um teste para visualizar este conteúdo.

Resultados

Todos os experimentos relatados foram realizados utilizando o ambiente de hardware e software documentado na Tabela 2 e na Tabela de Materiais. As mesmas versões do driver gráfico, CUDA, cuDNN, Python, NumPy, PyTorch e torchvision foram utilizadas em todas as etapas de pré-processamento, treinamento, inferência e avaliação. O ambiente completo de hardware e software é resumido na Tabela 2 e na Tabela de Materiais. Tabela 1 resume os conj...

Acesso restrito. Inicie sessão ou comece um teste para visualizar este conteúdo.

Discussão

Os estágios mais críticos do protocolo são o pré-processamento com preservação do vestuário e a análise semântica restrita ao primeiro plano. Os centros dos componentes, valores de dispersão espacial, relações de fronteira compartilhada, relações de ordem vertical, pesos das relações e representações fundidas são todos derivados do resultado da análise. Vazamentos de fronteira, regiões de componentes mescladas, regiões de componentes ausentes e atribuições incorretas de canais se propagam pela construção do grafo e pela ...

Acesso restrito. Inicie sessão ou comece um teste para visualizar este conteúdo.

Divulgações

Os autores não têm conflitos de interesse a declarar.

Agradecimentos

Este trabalho foi apoiado pelo segundo lote de projetos provinciais-chave de reforma do ensino de graduação durante o 14º Plano Quinquenal, sob o projeto intitulado Reforma e Exploração do Ensino de “Design de Roupas e Confecções” com Base no Modelo de Cooperação “Três Integrações, Três Fusões” (Número do Projeto: JGZD2024096).

Acesso restrito. Inicie sessão ou comece um teste para visualizar este conteúdo.

Materiais

Lista de materiais utilizados neste artigo
NomeEmpresaNúmero de catálogoComentários
Unidade Central de ProcessamentoIntel CorporationIntel Core i9-13900K, 24 núcleos, 32 threads, até 5,80 GHz
CondaAnaconda, Inc., anaconda.comMiniconda3 23.11.0
Kit de Ferramentas CUDANVIDIA Corporation, developer.nvidia.comCUDA 11.8
cuDNNNVIDIA Corporation, developer.nvidia.comcuDNN 8.9.7
Conjunto de Dados DeepFashion2A Universidade Chinesa de Hong Kong, github.com/switchablenorms/DeepFashion2Lançamento oficial do DeepFashion2, Versão 1.0
Unidade de Processamento GráficoNVIDIA CorporationNVIDIA GeForce RTX 4090, 24 GB GDDR6X
Ponto de Verificação HRNet-W48 para Análise SemânticaProjeto HRNet, github.com/HRNet/HRNet-Semantic-Segmentationhrnet_w48_garment_parser_7class.pth, ponto de verificação do projeto Versão 1.0
Pesos do ResNet-50 Pré-treinado no ImageNetPyTorch Foundation, pytorch.orgResNet50_Weights.IMAGENET1K_V2
MatplotlibEquipe de Desenvolvimento do Matplotlib, matplotlib.orgVersão 3.8.2
NumPyDesenvolvedores do NumPy, numpy.orgVersão 1.26.4
Driver Gráfico NVIDIANVIDIA CorporationVersão 546.33
OpenCV-PythonEquipe OpenCV, opencv.orgVersão 4.8.1.78
Sistema OperacionalMicrosoft CorporationWindows 11 Pro 23H2, 64 bits, Compilação do SO 22631.3155
PandasEquipe de Desenvolvimento do Pandas, pandas.pydata.orgVersão 2.1.4
PythonPython Software Foundation, python.orgVersão 3.10.13
PyTorchPyTorch Foundation, pytorch.orgVersão 2.1.2 com CUDA 11.8
PyYAMLProjeto PyYAML, pyyaml.orgVersão 6.0.1
scikit-learnDesenvolvedores do scikit-learn, scikit-learn.orgVersão 1.3.2
SciPyDesenvolvedores do SciPy, scipy.orgVersão 1.11.4
Repositório de Código-FonteArquivo suplementar de código-fonte submetido com o manuscritoProtocolo de Topologia de Vestuário, Versão 1.0
Dispositivo de ArmazenamentoSamsung ElectronicsSSD NVMe Samsung 990 PRO, 2 TB
Memória do SistemaKingston TechnologyKingston FURY Beast DDR5, 64 GB, 2 × 32 GB, 5600 MHz
torchvisionPyTorch Foundation, pytorch.orgVersão 0.16.2 com CUDA 11.8
Estação de TrabalhoEstação de trabalho personalizada para aprendizado profundoIntel Core i9-13900K, NVIDIA GeForce RTX 4090, 64 GB de memória, SSD NVMe de 2 TB

Referências

  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.

Acesso restrito. Inicie sessão ou comece um teste para visualizar este conteúdo.

Reimpressões e permissões

Explorar mais artigos

Recuperação de Imagens de VestuárioConsistência EstruturalImagens DeepFashion2Segmentação HRNet-W48Codificação ResNet-50Convolução de GrafosComparação EstruturalLocalização de Diferenças