Для просмотра этого контента требуется подписка на JoVE. Войдите или начните свой бесплатный пробный период.

Методическая статья

Протокол обучения признакам изображений на основе топологии компонентов одежды на уровне изображения для поиска референсов в дизайне

45 просмотров

⸱

DOI:

10.3791/72103

⸱

1 сентября 2026 г.

 ,  ,  , 

В этой статье

Краткое содержание

Данный протокол позволяет создавать представления одежды с учетом ее структуры путем интеграции семантического парсинга компонентов, моделирования топологии, двухпоточного кодирования признаков и структурно-ориентированного слияния. Это позволяет специалистам в области компьютерного зрения и дизайна одежды осуществлять поиск предметов одежды и сравнение с эталонами дизайна на основе организации компонентов и компоновки силуэта, а не цвета или текстуры.

Аннотация

Методы поиска изображений одежды часто делают акцент на цвете и текстуре, что может привести к смешению предметов одежды, которые имеют схожий внешний вид, но различаются по расположению их компонентов. В данном исследовании представлен протокол обучения признакам с учетом компонентов для поиска изображений одежды и сравнения с эталонами дизайна. Протокол анализирует семантические области одежды, строит граф компонентов одежды на уровне изображения, параллельно кодирует внешний вид и отношения между компонентами, а затем объединяет оба представления с использованием функций потерь структурного соответствия, структурных отношений и структурной дискриминации. Изображения из набора DeepFashion2 приводятся к стандартному размеру 512 x 512 пикселей, анализируются с помощью HRNet-W48, кодируются с использованием ResNet-50 и графовой свертки, а затем оцениваются посредством структурного поиска и кластеризации. Полная модель достигла индекса структурного соответствия 0,81, индекса структурной дискриминации 0,71, показателя Recall@5 89,2%, средней средней точности (mAP) 86,4% и коэффициента силуэта 0,74. Данный протокол обеспечивает поиск по структуре одежды, структурное сравнение и локализацию различий в тех случаях, когда внешний вид поверхности недостаточно надежно отражает конструкцию изделия.

Введение

С продолжающейся интеграцией компьютерного зрения и искусственного интеллекта в индустрию одежды анализ изображений одежды постепенно эволюционировал от простых задач распознавания к дизайнориентированному анализу и поддержке принятия решений1,2. В процессе проектирования одежды различие между вариантами дизайна в большей степени зависит от структурного состава и взаимосвязей компонентов, чем от простых различий во внешнем виде, что делает структурную выразительность признаков изображений одежды при поддержке проектирования ключевым фактором, влияющим на эффективность анализа3,4. Однако большинство существующих визуальных методов по-прежнему опираются на текстуру, цвет и общие контуры в качестве основных признаков, что затрудняет систематический анализ иерархии элементов одежды и различий в крое в процессе проектирования5,6. Следовательно, разработка метода обучения признакам изображений с учетом структуры для поддержки проектирования одежды важна для повышения объективности и согласованности анализа дизайна7. Данный протокол применим в случаях, когда изделия имеют схожие цвета, текстуры или общие контуры, но различаются организацией компонентов, схемами соединений или пространственным расположением. В таких условиях представления, ориентированные на внешний вид, имеют тенденцию располагать структурно разные варианты дизайна близко друг к другу в пространстве признаков, что снижает надежность поиска и сравнения дизайнов. Протокол предназначен для решения задач, в которых взаимосвязи между компонентами одежды составляют основную базу для структурного поиска, оценки дизайна и локализованного анализа различий.

С точки зрения масштаба данных, сложности моделей и разнообразия задач, современные исследования в области автоматического анализа и понимания изображений одежды достигли значительного прогресса8,9. Однако в практических приложениях структурная информация об одежде часто неявно включается в результаты сегментации или детектирования и не учитывается при унифицированном моделировании на этапе обучения признаков, что приводит к отсутствию стабильного разграничения между различными вариантами структурного дизайна в пространстве признаков10,11. Пространственные связи, иерархические ограничения и топологические структуры между компонентами одежды не кодируются явно, из-за чего представлениям признаков сложно отражать структурные различия на уровне дизайна12,13. Отсутствие явного структурного моделирования ограничивает детализацию анализа и надежность принятия решений на основе признаков изображений одежды в сценариях поддержки проектирования, что является серьезным препятствием для разработки интеллектуальных систем дизайна с более глубоким семантическим пониманием14.

Для поддержки анализа и обучения признакам изображений одежды в соответствующих исследованиях было изучено несколько технических направлений15. Методы семантической сегментации и парсинга одежды позволили осуществлять детальное разграничение областей и компонентов одежды с помощью аннотирования на уровне пикселей, что заложило основу для извлечения структурной информации16,17. В методы поиска одежды по изображению-запросу были внедрены топология и слияние цвета и текстуры, глобальное и локальное выравнивание внимания, парсинг одежды, многомасштабное и многогранулярное представление, а также остаточное внимание с выбором признаков. Эти методы решают задачи поиска по каталогу, сопоставления потребителя с магазином, кросс-доменного поиска товаров и визуального поиска в электронной коммерции. Сценарии их применения тесно связаны с поиском референсов для дизайна, поскольку каждый метод ранжирует изображения одежды на основе визуального запроса, хотя их представления не сохраняют типизированную смежность компонентов и отношения вертикального порядка в процессе слияния признаков18,19,20. В то же время исследования в области дизайна и рекомендательных систем постепенно внедряли мультимодальное слияние, моделирование отношений и анализ стиля, расширяя границы применения визуальных признаков одежды21,22. Несмотря на прогресс в соответствующих задачах, основные признаки в этих методах по-прежнему в значительной степени основаны на описаниях внешнего вида, а структурная информация не была единообразно смоделирована как внутреннее ограничение для обучения признакам, что затрудняет удовлетворение потребностей систем поддержки проектирования одежды в структурном выравнивании и структурном сравнении23.

Для решения проблемы недостаточной способности к структурной дифференциации при оказании помощи в дизайне одежды в данной работе предлагается метод обучения признакам изображений, основанный на восприятии структуры одежды. Этот метод включает результаты анализа одежды и ключевую структурную информацию на этапе ввода изображения одежды, совместно моделируя области компонентов одежды, пространственные связи и иерархические соединения. Кодирование структурных отношений и выравнивание визуальных признаков позволяют эксплицитно интегрировать ограничения одежды в процесс обучения признакам, создавая представление, которое сохраняет как визуальный облик, так и структурную согласованность. Этот признак характеризует структурные различия одежды в едином пространстве, обеспечивая стабильную основу для последующего анализа структурного сходства, структурной кластеризации и принятия решений при поддержке дизайна, тем самым смягчая проблему смешивания признаков, вызванную отсутствием структурного моделирования в существующих методах. В отличие от общих стратегий визуального поиска, в которых структурная информация рассматривается как слабо связанные вспомогательные атрибуты, данный фреймворк выстраивает механизм модуляции признаков, сосредоточенный на топологических отношениях. Этот механизм побуждает выученное представление следовать видимой организации областей одежды, одновременно снижая влияние доминирующих текстурных откликов. Каждый узел графа обозначает семантическую область на уровне изображения, а каждое отношение в графе описывает видимое соседство или нормализованное относительное положение в плоскости изображения. Полученное вложение (embedding) позволяет сравнивать компоновку элементов и организацию силуэта на разных изображениях одежды. Эти области и отношения не являются деталями выкройки, швами, конструктивными ориентирами или параметрами градации. По сравнению с методами поиска, основанными на внешнем виде, данный протокол сохраняет эксплицитную топологию компонентов на протяжении всего процесса обучения признакам, а не рассматривает структурную информацию как результат последующего анализа. По сравнению с подходами, в которых структурные подсказки вводятся только в качестве вспомогательных данных, двухпотоковое кодирование и согласованное с топологией слияние сохраняют геометрические отношения, снижая при этом доминирование текстурных откликов. Результирующее представление поддерживает поиск структуры одежды, структурную кластеризацию, отбор дизайнерских референсов и локализованный анализ различий в дизайне, предоставляя при этом доказательства на уровне компонентов, которые остаются интерпретируемыми в процессе проектирования одежды. Исследования, относящиеся к данному протоколу, охватывают обучение признакам изображений одежды, моделирование структуры одежды, структуру-ориентированное представление и визуальный анализ для помощи в дизайне одежды.

На уровне представления признаков исследования изображений одежды долгое время были сосредоточены на моделировании внешнего вида, глубоком извлечении признаков и многомасштабном представлении24,25. В ранних работах использовались сверточные нейронные сети для сквозного моделирования изображений одежды при решении задач классификации, поиска и сопоставления по сходству26,27. Впоследствии были внедрены многомасштабное слияние признаков и кросс-доменное обучение для нивелирования различий в изображениях одежды при разных углах обзора, позах и условиях съемки28,29. В задачах поиска для повышения дискриминантности признаков и вычислительной эффективности применялись механизмы внимания и стратегии сжатия признаков30,31. Эти методы обеспечивают надежное распознавание внешнего вида, однако процессы обучения признаков в них по-прежнему ориентированы на глобальную визуальную информацию и лишены систематического представления внутренних структур одежды32. Методы композиционного поиска модных изделий дополнительно сочетают эталонное изображение с текстовыми инструкциями по модификации, но модальность их запросов отличается от протокола с использованием только изображений, рассматриваемого в данной работе. Они рассматриваются как смежное коммерческое направление поиска и не включены в количественное сравнение, поскольку дополнительный текстовый ввод препятствовал бы контролируемой оценке запросов по изображениям.

По мере того как анализ изображений одежды сместился от распознавания внешнего вида к структурному пониманию, исследования все чаще сосредотачиваются на моделировании компонентов одежды, геометрических зависимостей и топологических связей33. Сети семантической сегментации позволили проводить анализ на уровне компонентов одежды с помощью проекции признаков и механизмов многократного внимания, создав надежную основу для извлечения структурной информации34,35. Методы обнаружения ключевых точек и моделирования структурной топологии дополнительно охарактеризовали взаимосвязь между контурами одежды и локальными структурами, расширив возможности модели по представлению геометрических особенностей одежды36,37. В ряде исследований были внедрены графовые структуры и сети реляционного вывода для моделирования связей между компонентами одежды, что позволило улучшить точность детального распознавания и эффективность кросс-доменного поиска38,39. Эти работы подтвердили важную роль структурной информации в визуальном анализе, однако структура в основном используется как вспомогательный признак или промежуточный результат, и система обучения признаков, в основе которой лежали бы структурные ограничения, до сих пор не была разработана40.

В области вспомогательного проектирования одежды данные разработки нашли применение в рекомендациях по дизайну, анализе стиля, создании интерактивных систем и оценке дизайна, ориентированной на структуру41. Исследования рекомендательных систем позволили реализовать подбор одежды и персонализированные рекомендации путем интеграции визуальных признаков с предпочтениями пользователей42. Работа в сфере поддержки проектирования открыла новые пути для интеллектуального содействия дизайну за счет сочетания генеративных моделей, моделирования стиля и механизмов взаимодействия человека и компьютера43. Исследования в области виртуальной примерки, снятия мерок и переноса стиля расширили применение визуального анализа одежды на всех этапах проектирования и производства. Несмотря на то, что данные исследования разнообразили технические формы поддержки проектирования одежды, их основные визуальные признаки по-прежнему определяются преимущественно внешним видом, и в них отсутствует единое представление структуры дизайна для анализа. В отличие от этого, в данной работе структура изделия рассматривается как основное ограничение при представлении признаков и предлагается метод визуального представления для структурного анализа в рамках вспомогательного проектирования одежды.

Несмотря на эти достижения, в современных методах генеративного дизайна структурные условия часто рассматриваются как приблизительные матрицы пространственного ориентирования в рамках диффузионных процессов. Современные системы структурного парсинга представляют топологии в виде вспомогательных семантических меток, отделенных от основного пространства визуального вложения. Предлагаемая платформа изменяет этот механизм, определяя топологическое ограничение на основе графового априорного распределения, которое явным образом модулирует обучение визуальным признакам на уровне компонентов. Целевая функция многоуровневой согласованности способствует тому, чтобы одежда со схожим расположением компонентов на уровне изображения оставалась близкой в пространстве признаков, разделяя при этом изделия с разной организацией видимых областей. Данная целевая функция снижает зависимость от текстуры в оцениваемых условиях поиска, но не обеспечивает инвариантности к изменениям материала, позы или фона. Данный протокол следует выбирать в тех случаях, когда на входном изображении присутствует достаточно четко видимый отдельный предмет одежды, семантические компоненты сохраняют идентифицируемые границы, а аналитическая цель требует структурного сравнения на уровне компонентов, а не грубого распознавания категорий. Он предназначен для исследователей в области компьютерного зрения, исследователей дизайна одежды и команд по разработке цифровой одежды, занимающихся визуальным анализом, чувствительным к структуре. Протокол не предназначен для задач, сосредоточенных исключительно на распознавании цвета или материала, а также для изображений, на которых топология одежды в значительной степени скрыта. В следующем протоколе представлен рабочий процесс: от подготовки набора данных и картирования семантических вероятностей до построения геометрических связей, двухпотокового кодирования признаков, управляемого структурой слияния и оптимизации на основе согласованности. Полный рабочий процесс обобщен на Рисунке 1.

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Протокол

В данном исследовании используются общедоступные наборы данных изображений одежды; набор участников-людей, сбор персональных данных, проведение экспериментов на животных или использование биологических материалов не предусматривались. Одобрение институционального комитета по этике и информированное согласие не требуются.

1. Программная среда и конфигурация проекта

  1. Поместите опубликованные файлы проекта в директорию с достаточным объемом свободного места и откройте терминал в корневом каталоге проекта.
  2. Выполните команду conda env create -f environment.yml для создания программной среды. Выполните команду conda activate garment_structure для активации этой среды.
  3. Выполните команды python --version, conda --version, pip show numpy, pip show torch, pip show torchvision и nvidia-smi. Сохраните полный вывод команд в файл software_versions.txt.
  4. Используйте одну и ту же зафиксированную среду для предобработки, обучения, инференса, измерения эффективности и оценки. Запишите в тот же файл имя файла чекпоинта HRNet-W48 и его значение SHA-256, идентификатор и значение SHA-256 весов ResNet-50, предобученных на ImageNet, источник релиза DeepFashion2 и идентификатор репозитория исходного кода.
  5. Создайте в корневом каталоге проекта директории data_raw, data_processed, parser_outputs, structural_priors, feature_outputs, checkpoints, logs и evaluation_results.
  6. Откройте файл configs/protocol.yaml. В поле dataset_root укажите путь к директории DeepFashion2, в parser_checkpoint — путь к предобученному чекпоинту HRNet-W48, а в output_root — директорию для вывода результатов проекта.
  7. Установите следующие значения: input_height — 512, input_width — 512, batch_size — 32, structural_categories_per_batch — 8, samples_per_category — 4, random_seed — 42, feature_dimension — 512, structural_constraint_weight — 1.0, structural_relationship_weight — 0.5, structural_discrimination_weight — 1.0 и separation_threshold — 0.3.
  8. В качестве оптимизатора установите стохастический градиентный спуск по мини-батчам (mini-batch stochastic gradient descent). Установите initial_learning_rate — 0.0001, momentum — 0.9, weight_decay — 0.0005, max_epochs — 120, learning_rate_schedule — multi-step decay и learning_rate_decay_factor — 0.1. В поле learning_rate_milestones введите проверенные эпохи затухания, используемые в опубликованной конфигурации.
  9. Выполните команду python tools/export_experiment_tables.py --config configs/protocol.yaml --output evaluation_results. Экспортируйте полную конфигурацию модели в файл model_setting_statistics.csv. Убедитесь, что в экспортированном файле зафиксированы размер входного изображения, формат ввода, состав батча, оптимизатор, скорость обучения, график изменения скорости обучения, количество эпох, распад весов, моментум, вероятности аугментации, размерность признаков, веса структурных потерь, порог разделения, случайные числа (seeds), правило выбора чекпоинта и количество независимых запусков.
  10. Ожидаемый результат: подтвердите, что программная среда запускается без ошибок зависимостей, файл software_versions.txt содержит запись о среде, все выходные директории созданы, а файл configs/protocol.yaml содержит корректные абсолютные пути и числовые настройки.
    ПРИМЕЧАНИЕ: используйте одну и ту же среду и файл конфигурации при обработке данных, обучении модели, инференсе и оценке. Сохраняйте копию configs/protocol.yaml вместе с каждым обученным чекпоинтом.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: если создание среды прерывается из-за недоступности пакета, удалите незавершенную среду, проверьте каналы пакетов в environment.yml и создайте среду заново. Если команда nvidia-smi не обнаруживает графический процессор, остановите обучение модели, восстановите графический драйвер и среду выполнения CUDA. Если при выполнении возникает ошибка директории, замените относительные пути абсолютными и проверьте права на запись для output_root.

2. Прием входных изображений, создание набора данных и предварительная обработка

  1. Используйте только файлы с расширениями JPG, JPEG или PNG. Используйте 8-битные RGB-изображения, содержащие один основной предмет одежды.
  2. Оставляйте 8-битные RGB-изображения с шириной и высотой не менее 512 пикселей и одним идентифицируемым основным предметом одежды. Отбраковывайте изображение, если передний план с предметом одежды занимает менее 15% общей площади изображения, если более 5% границы маски предмета одежды совпадает с границей изображения, если область второстепенного предмета одежды превышает 10% площади основного предмета одежды, если расчетная область окклюзии превышает 20% маски основного предмета одежды или если дисперсия отклика оператора Лапласа ниже 100.
  3. Записывайте идентификатор изображения, измеренное значение, сработавшее правило исключения и путь к аннотации в файл excluded_samples.csv.
  4. Применяйте правила приемки входных данных к исходным изображениям DeepFashion2 перед структурной разметкой и разделением данных. Записывайте идентификатор каждого принятого и отклоненного изображения, исходный сплит набора данных, идентификатор аннотации предмета одежды, идентификатор исходной пары, соотношение площади переднего плана, соотношение контакта с границей, коэффициент окклюзии, показатель размытия и итоговый статус сохранения в файл data_filtering_manifest.csv.
  5. Запустите python tools/prepare_data.py --config configs/protocol.yaml.
  6. Считайте ограничивающий прямоугольник (bounding box) предмета одежды из аннотации набора данных. Расширьте ограничивающий прямоугольник на 5% его ширины и высоты, не выходя за границы изображения.
  7. Обрежьте область предмета одежды, сохраняя исходное соотношение сторон, добавьте нулевое заполнение (padding) для формирования квадратного изображения и измените размер заполненного изображения до 512 x 512 пикселей.
  8. Преобразуйте измененное по размеру изображение в RGB-тензор с числами с плавающей запятой. Разделите значение каждого пикселя на 255.
  9. Нормализуйте красный, зеленый и синий каналы со средними значениями 0.485, 0.456 и 0.406 и стандартными отклонениями 0.229, 0.224 и 0.225.
  10. Применяйте горизонтальное отражение с вероятностью 0.5 и случайное стирание с вероятностью 0.2 к обучающим изображениям. К валидационным и тестовым изображениям применяйте только детерминированное обрезание, заполнение, изменение размера и нормализацию.
  11. Запустите python tools/assign_structural_levels.py --config configs/protocol.yaml после генерации семиканальных карт компонентов, матриц общих границ и вертикального порядка. Для каждого сохраненного изображения рассчитайте количество активных узлов, количество связных компонентов, количество узлов ветвления, количество независимых циклов и длину самого длинного направленного пути вертикального порядка. Определите узел ветвления как активный узел, соединенный как минимум с тремя другими активными узлами в графе общих границ.
  12. Назначайте S1, если граф связен, не содержит независимых циклов, не содержит узлов ветвления и имеет самый длинный путь вертикального порядка не более двух ребер. Назначайте S2, если граф связен, не содержит независимых циклов, содержит ровно один узел ветвления и имеет самый длинный путь вертикального порядка не более двух ребер. Назначайте S3, если граф связен, не содержит независимых циклов и содержит как минимум два узла ветвления или путь вертикального порядка длиной не менее трех ребер. Назначайте S4, если граф связен, содержит ровно один независимый цикл и имеет путь вертикального порядка не более двух ребер. Назначайте S5, если граф содержит как минимум два независимых цикла или содержит один независимый цикл вместе с путем вертикального порядка длиной не менее трех ребер.
  13. Применяйте правила в порядке S5, S4, S3, S2 и S1 и сохраняйте рассчитанную статистику графа, назначенный уровень и идентификатор правила в файл structural_level_manifest.csv.
  14. Сгенерируйте предварительные метки S1–S5 автоматически из сохраненных масок компонентов и матриц отношений. Помечайте образец как структурно неоднозначный, если его граф компонентов содержит более одного связного компонента, если средняя максимальная вероятность компонента внутри переднего плана предмета одежды ниже 0.60, если активный компонент занимает менее 1% переднего плана предмета одежды или если назначенный структурный уровень меняется после изменения ширины контакта с границей с одного пикселя на два.
  15. Передавайте каждый неоднозначный образец двум авторам для независимой проверки исходного изображения, карты компонентов, матрицы общих границ, матрицы вертикального порядка и предварительного графа. Сохраняйте метку, если результаты двух проверок совпадают. В случае разногласий передавайте образец третьему автору и используйте решение большинства как окончательную метку. Исключайте образец, если после проверки не удалось восстановить стабильное отношение компонентов. Записывайте автоматическую метку, метки после проверки, причину разногласия, окончательную метку и статус исключения в файл structural_label_audit.csv.
  16. Вычислите значение SHA-256 для каждого сохраненного исходного файла и вычислите 64-битный перцептивный хеш из нормализованного выреза с предметом одежды. Помещайте изображения с идентичными значениями SHA-256 в одну группу точных дубликатов. Помещайте изображения, перцептивные хеши которых имеют расстояние Хэмминга не более четырех, в одну группу почти дубликатов после проверки того, что они относятся к одному и тому же экземпляру предмета одежды.
  17. Объединяйте все изображения с одним и тем же идентификатором исходной пары DeepFashion2 или идентификатором предмета одежды в одну исходную группу. Сохраняйте хеши файлов, перцептивные хеши, идентификаторы источников и идентификаторы групп дубликатов в файл duplicate_group_manifest.csv.
  18. Выполняйте разделение данных на уровне исходных групп, а не на уровне отдельных изображений. Назначайте каждую группу точных дубликатов, группу почти дубликатов и группу по идентичности источника полностью в одно подмножество. После разделения проверяйте все межподмножественные пары и записывайте каждый обнаруженный конфликт идентичности, конфликт хеша и конфликт перцептивного хеша в файл leakage_audit.csv. Перестраивайте манифесты до тех пор, пока leakage_audit.csv не перестанет содержать неразрешенные межподмножественные записи.
  19. Стратифицируйте исходные группы по окончательным меткам S1-S5 и распределяйте полные группы по обучающему, валидационному и тестовому подмножествам в соответствии с проверенным распределением, показанным в Таблице 1. Укажите точное количество изображений и количество исходных групп для каждого структурного уровня и подмножества.
  20. Рассчитайте фактические проценты обучающего, валидационного и тестового наборов из итоговой сохраненной когорты, а не из нефильтрованного набора данных. Не используйте валидационные изображения, тестовые изображения, исключенные из-за неоднозначности изображения или изображения, принадлежащие к их группам дубликатов, при обучении параметров, определении порогов, корректировке правил структурного уровня или выборе контрольных точек (checkpoints).
  21. Сохраните обработанные изображения в data_processed/images. Сохраните файлы train_manifest.csv, validation_manifest.csv, test_manifest.csv, pair_manifest.csv и structural_level_manifest.csv в data_processed/manifests.
  22. Считайте окончательные структурные метки, статус проверки, идентификаторы групп дубликатов, идентификаторы исходных групп и метки подмножеств из обработанных манифестов. Подсчитайте количество автоматически принятых образцов, образцов, прошедших ручную проверку, исключений из-за неоднозначности, исключений из-за дубликатов, исходных групп, обучающих изображений, валидационных изображений и тестовых изображений для уровней с S1 по S5.
  23. Рассчитайте фактические соотношения подмножеств, среднее количество активных узлов, среднее количество узлов ветвления, среднее количество независимых циклов, среднюю глубину вертикального порядка и среднее количество типизированных ребер. Сохраните полную статистику в файл evaluation_results/dataset_statistics.csv.
  24. Ожидаемый результат: подтвердите, что каждое принятое изображение является 8-битным RGB-изображением размером 512 x 512 пикселей и имеет одну запись о фильтрации, одну окончательную метку структурного уровня, один идентификатор исходной группы, один идентификатор группы дубликатов, одну метку подмножества и один валидный путь к аннотации. Подтвердите, что каждый неоднозначный образец имеет полную запись о проверке. Подтвердите, что ни один идентификатор источника, группа точных дубликатов, группа почти дубликатов или идентичность предмета одежды не встречаются более чем в одном подмножестве. Подтвердите, что количество изображений в train_manifest.csv, validation_manifest.csv, test_manifest.csv и dataset_statistics.csv идентично.
    ПРИМЕЧАНИЕ: Сохраняйте оригинальные необработанные изображения в data_raw. Не применяйте случайную аугментацию к валидационным или тестовым изображениям.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: если при обрезании удаляется воротник, рукав, подол или штанина, восстановите исходную аннотацию и увеличьте сохраняемый отступ границы. Если предмет одежды выглядит растянутым, убедитесь в наличии квадратного заполнения перед изменением размера. Если обработанное изображение содержит один или четыре канала, преобразуйте исходный файл в 8-битный RGB и повторно выполните предобработку. Если дублирующиеся идентификаторы встречаются в разных подмножествах, перестройте все манифесты подмножеств перед обучением.

3. Разбор визуальных компонентов с ограничением по переднему плану и картирование вероятностей

  1. Запустите python tools/parse_components.py --config configs/protocol.yaml.
  2. Загрузите предобученную контрольную точку (checkpoint) семантического парсинга элементов одежды HRNet-W48 из parser_checkpoint. Убедитесь, что контрольная точка выдает категории компонентов одежды, определенные картой аннотаций набора данных. Переведите сеть семантического парсинга в режим оценки (evaluation mode) и отключите расчет градиентов.
  3. Последовательно считайте обработанные изображения из файлов train_manifest.csv, validation_manifest.csv и test_manifest.csv.
  4. Извлеките один семиканальный тензор семантического отклика из каждого входного изображения и установите значение K равным семи на протяжении всего рабочего процесса. Используйте фиксированный порядок категорий: Upper Trim Region, Neckline Region, Bodice Region, Left Lower-Garment Region, Right Lower-Garment Region, Middle Lower-Garment Region и Hem Region. Сохраняйте этот порядок в картах вероятностей, матрицах компонентов, матрицах графов, матрицах признаков, манифестах и файлах визуализации.
  5. Примените функцию softmax вдоль размерности каналов для генерации карты вероятностей семантических компонентов P. Убедитесь, что сумма вероятностей по всем K каналам в каждом пикселе равна единице с точностью до 0.0001.
  6. Загрузите маску переднего плана одежды из аннотаций набора данных и совместите ее с обработанным изображением размером 512 x 512. Установите вероятность каждого компонента за пределами переднего плана одежды в ноль. Заново нормализуйте вероятности компонентов внутри маски переднего плана вдоль размерности каналов.
  7. Убедитесь, что каждая активная область компонента остается внутри переднего плана одежды. Отклоните распарсенный образец, если цветная область компонента выходит за пределы одежды на окружающую стену, пол, занавеску или другую область фона. Запишите идентификатор отклоненного изображения и ошибку парсинга в файл parsing_quality_log.csv.
  8. Рассчитайте коэффициент покрытия переднего плана для каждого компонента и отметьте компоненты с фрагментированными областями или неподдерживаемыми изолированными зонами для ручного анализа.
  9. Сохраните тензор семантического отклика в parser_outputs/logits. Сохраните карту вероятностей в parser_outputs/probability_maps. Сохраните предварительный просмотр компонентов с цветовой кодировкой в parser_outputs/previews.
  10. Ожидаемый результат: подтвердите, что для каждого принятого изображения создается одна семиканальная карта вероятностей, ограниченная передним планом, с пространственным размером 512 x 512 пикселей, один семиканальный тензор семантического отклика и одно изображение предварительного просмотра. Подтвердите, что индексы каналов с одного по семь соответствуют фиксированному порядку компонентов, определенному в шаге 3.4. Подтвердите, что все цветные области компонентов остаются внутри переднего плана одежды и что пиксели фона имеют нулевую вероятность компонента. Подтвердите, что идентификатор файла совпадает с соответствующей записью в исходном манифесте.
    ПРИМЕЧАНИЕ: Сохраняйте непрерывные вероятности компонентов внутри переднего плана одежды во время структурного моделирования. Рассматривайте полученные области как области визуального анализа. Не интерпретируйте их границы как линии швов, линии раскроя, контуры деталей лекал, вытачки, зазубрины или ориентиры градуировки.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: если все каналы показывают почти одинаковые вероятности, проверьте parser_checkpoint, порядок RGB-каналов и нормализацию изображений. Если какой-либо компонент отсутствует во всем подмножестве, сравните индекс аннотации с индексом выходного канала парсера. Если цвета компонентов выходят на фон, перед построением графа проверьте совмещение маски переднего плана, настройки интерполяции и координаты аннотаций. Если визуальная область охватывает несколько несвязанных зон одежды, отметьте образец как ошибку парсинга и исключите его из генерации структурных априорных данных. Если сумма вероятностей каналов не равна единице, примените softmax вдоль размерности каналов, а не вдоль одной из пространственных размерностей. Если выходной файл отсутствует, найдите последний обработанный идентификатор в логе парсера и возобновите парсинг со следующего идентификатора.

4. Моделирование геометрии компонентов и их пространственных отношений на уровне изображения

  1. Загрузите тензор поверхностных визуальных признаков и соответствующую карту вероятностей P для каждого изображения.
  2. Умножьте каждый пространственный вектор признаков на вероятность, назначенную соответствующему семантическому компоненту.
  3. Просуммируйте взвешенные векторы признаков по пространственным измерениям и разделите сумму на общую массу вероятности компонента.
  4. Назначьте нулевой вектор и индикатор неактивного узла любому компоненту с нулевой массой вероятности.
  5. Примените L2-нормализацию к эмбеддингу каждого активного компонента и объедините эмбеддинги в стек в соответствии с фиксированным порядком семантических компонентов.
  6. Вычислите горизонтальные и вертикальные координаты центра каждого визуального компонента в плоскости изображения на основе его распределения вероятностей, ограниченного передним планом. Нормализуйте координаты по ширине и высоте изображения.
  7. Вычислите горизонтальный и вертикальный разброс каждого визуального компонента в плоскости изображения в той же системе нормализованных координат. Используйте эти значения только для описания границ видимой области на обработанном изображении.
  8. Создайте семь узлов графа в соответствии с фиксированным порядком компонентов, сохраняя неактивные компоненты в виде нулевых узлов. Постройте матрицу общих границ размером 7 x 7, используя контакт восьми соседних пикселей между масками компонентов переднего плана. Постройте матрицу вертикального порядка размером 7 x 7, используя фиксированные отношения: от области верхней отделки (Upper Trim Region) к области выреза (Neckline Region), от области выреза к области лифа (Bodice Region), от области лифа к каждой области нижней части одежды и от каждой области нижней части одежды к области подола (Hem Region). Сохраните каждое допустимое отношение в обоих направлениях.
  9. Добавьте собственную петлю для каждого активного узла перед сверткой графа, а отношения, связанные с неактивными узлами, оставьте равными нулю.
  10. Вычислите относительное смещение центра и относительную пространственную дисперсию между каждой упорядоченной парой семантических компонентов. Объедините попарные геометрические значения в стек для формирования тензора геометрических отношений.
  11. Вычислите скалярное произведение для каждой пары нормализованных эмбеддингов компонентов. Примените функцию softmax по строкам к resulting матрице сходства и используйте полученные значения в качестве весов отношений.
  12. Умножьте тензор геометрических отношений на соответствующие веса отношений и агрегируйте взвешенные отношения для каждого компонента.
  13. Сохраните матрицу эмбеддингов компонентов, матрицу центров компонентов, матрицу пространственной дисперсии, матрицу общих границ, матрицу вертикального порядка, матрицу собственных петель, матрицу весов отношений, маску неактивных узлов, сопоставление меток компонентов и представление структурного априорного знания в structural_priors. Сохраните каждую матрицу размером семь строк на семь столбцов, где это применимо. Полный процесс построения от карты компонентов, ограниченной передним планом, до априорного знания о топологии компонентов одежды на уровне изображения показан на Рисунке 2.
  14. Сгенерируйте наложение графа компонентов для каждого примера визуализации на основе карты вероятностей, ограниченной передним планом, матрицы центров компонентов, типизированной матрицы смежности, маски неактивных узлов и сопоставления меток компонентов.
  15. Разместите каждый активный узел в соответствующем центре компонента. Нарисуйте сплошные ребра для общих границ переднего плана и пунктирные ребра для предопределенных отношений вертикального порядка.
  16. Сохраните каждое наложение графа в structural_priors/visualizations, используя идентификатор исходного изображения. Запишите путь к исходному изображению, путь к карте вероятностей, путь к центрам компонентов, путь к типизированной смежности, путь к маске неактивных узлов, идентификатор контрольной точки семантического анализа и путь к наложению графа в файл component_graph_visualization_manifest.csv.
  17. Ожидаемый результат: убедитесь, что для каждого изображения создаются матрица эмбеддингов компонентов с K строками, типизированная матрица смежности с K строками и K столбцами, матрица весов отношений с K строками и K столбцами, маска неактивных узлов с K значениями и одно представление структурного априорного знания на уровне изображения. Убедитесь, что для каждого выбранного образца визуализации создается наложение графа компонентов, в котором активные узлы остаются в пределах соответствующих областей одежды.
    ПРИМЕЧАНИЕ: Соблюдайте один и тот же порядок визуальных компонентов во всех матрицах, манифестах, графах, файлах признаков и наложениях графов. Рассматривайте центры компонентов, значения пространственного разброса и отношения в графе как дескрипторы областей одежды в плоскости изображения. Не интерпретируйте граф компонентов как скелет человеческой позы и не выводите его узлы из координат анатомических суставов. Не преобразуйте эти дескрипторы в длину швов, радиусы кривых, величину вытачек, положения надсечек, направления долевой нити, приращения градаций или размеры деталей лекал.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: если матрица содержит нечисловое значение, проверьте знаменатель массы вероятности и нормализацию координат. Если веса отношений концентрируются на одном компоненте, вычтите максимум строки из матрицы сходства перед применением softmax. Если количество узлов графа различается между изображениями, убедитесь, что неактивные компоненты остаются в виде нулевых векторов, а не удаляются.

5. Двухпотоковое кодирование признаков с учетом структуры

  1. Загрузите веса ResNet-50, предобученные на ImageNet, и удалите финальный слой пулинга и классификационные слои.
  2. Пропустите каждое нормализованное изображение одежды через ResNet-50 и извлеките тензор внешнего вида из этапа базовой сети (backbone), определенного параметром appearance_stage в файле configs/protocol.yaml. Проверьте название этапа, количество выходных каналов и выходные пространственные размеры, генерируемые выбранным этапом базовой сети для входного изображения размером 512 x 512 пикселей. Используйте один и тот же этап во всех сессиях обучения, инференса, абляции и сравнения.
  3. Измените размер семантической карты вероятностей до пространственного размера тензора признаков внешнего вида с помощью билинейной интерполяции. Перемножьте тензор признаков внешнего вида с каждой измененной картой вероятностей компонентов, затем агрегируйте взвешенные отклики по пространственным измерениям.
  4. Пропустите каждое эмбеддинг-представление внешнего вида компонента через слой рекалибровки каналов, определенный в configs/protocol.yaml. Зафиксируйте тип слоя, входную размерность, выходную размерность, коэффициент сжатия (reduction ratio), функцию активации и правило разделения параметров. Объедините семь полученных векторов компонентов в фиксированном семантическом порядке для формирования матрицы признаков внешнего вида.
  5. Пропустите каждый вектор геометрических отношений через слой структурной проекции и установите выходную размерность равной 512. Постройте граф компонентов с матрицей весов отношений и маской неактивных узлов.
  6. Примените два графовых сверточных слоя с входной размерностью 512 и выходной размерностью 512. После каждого графового сверточного слоя примените пакетную нормализацию (batch normalization), а затем LeakyReLU. Зафиксируйте значение отрицательного наклона (negative-slope), используемое в LeakyReLU. Применяйте маску неактивных узлов после каждого слоя, чтобы сохранить нулевые признаки для неактивных компонентов.
  7. Выполните семантическое выравнивание с нормализованными эмбеддингами компонентов и объедините полученные векторы для формирования матрицы структурных признаков.
  8. Ожидаемый результат: подтвердите, что для каждого изображения создается одна матрица признаков внешнего вида и одна матрица структурных признаков. Убедитесь, что обе матрицы содержат K строк и 512 столбцов.
    ПРИМЕЧАНИЕ: оставляйте неактивные компоненты в виде нулевых векторов и сохраняйте порядок компонентов, установленный при построении структурного априорного распределения.
    УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: если две матрицы признаков содержат разное количество строк, проверьте сопоставление семантических категорий и обработку неактивных узлов. Если при перемножении матриц возникает ошибка размерности, убедитесь, что выход структурной проекции и размерность каналов внешнего вида равны 512. Если структурные признаки остаются нулевыми для всех активных компонентов, проверьте, были ли добавлены ребра графа и веса отношений в текущий пакет.

6. Слияние признаков на основе структуры

  1. Примените последовательность слияния признаков с учетом структуры, показанную на Рисунке 3. Пропустите матрицу структурных признаков через слой весов слияния и примените функцию активации, указанную в параметре fusion_activation в файле configs/protocol.yaml. Запишите название функции активации, входную размерность, выходную размерность и информацию о том, являются ли параметры общими для всех семи узлов компонентов.
  2. Убедитесь, что сгенерированная матрица структурных весов содержит K строк и 512 столбцов.
  3. Выполните поэлементное умножение матрицы признаков внешнего вида на матрицу структурных весов.
  4. Объедините модулированную матрицу внешнего вида и матрицу структурных признаков вдоль размерности каналов.
  5. Объедините 512-мерный модулированный вектор внешнего вида и 512-мерный структурный вектор для каждого компонента, чтобы сформировать 1024-мерный вектор. Пропустите объединенный вектор через слой проекции слияния и уменьшите его размерность с 1024 до 512.
  6. Добавьте исходную матрицу структурных признаков к проецируемой матрице с помощью остаточной связи (residual connection).
  7. Сложите объединенные векторы компонентов в фиксированном семантическом порядке и примените L2-нормализацию к развернутому представлению с учетом структуры.
  8. Сохраните матрицу структурных весов, модулированную матрицу внешнего вида, матрицу объединенных компонентов и итоговое представление с учетом структуры в папку feature_outputs.
  9. Ожидаемый результат: подтвердите, что для каждого изображения создается одна матрица объединенных компонентов с K строками и 512 столбцами, а также один нормализованный вектор структурных признаков, связанный с идентификатором исходного изображения.
    ПРИМЕЧАНИЕ: Сохраните матрицу структурных весов и матрицу объединенных компонентов для визуализации отклика и локального анализа различий.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: Если значения слияния продолжают расти, проверьте выход функции активации и слой нормализации. Если все структурные веса стремятся к одному и тому же значению, убедитесь, что структурные признаки различаются между изображениями и что слой слияния получает градиенты. Если файлы признаков и идентификаторы изображений не совпадают, пересоберите манифест выходных данных перед обучением или оценкой поиска.

7. Обучение модели и оптимизация согласованности

  1. Загрузите пять случайных значений seed, записанных в configs/seeds.yaml. Для каждого запуска установите одинаковый random seed для Python, NumPy, операций PyTorch CPU и всех устройств CUDA. Включите детерминированные алгоритмы, отключите режим бенчмарка cuDNN и запишите пять точных значений seed в соответствующий каталог запуска.
  2. Загрузите обработанный манифест обучения, манифест пар, карты вероятностей и структурные априорные данные.
  3. Сформируйте каждый обучающий батч, используя восемь структурных категорий и по четыре образца с варьирующимся внешним видом из каждой категории.
  4. Вычислите потерю структурной согласованности (structural consistency loss) на основе пар положительных образцов, имеющих общие структурные априорные данные.
  5. Вычислите потерю согласованности структурных отношений (structural relationship consistency loss) на основе попарных расстояний между признаками компонентов.
  6. Вычислите потерю структурной дискриминации (structural discrimination loss) на основе пар отрицательных образцов с разнородными структурами и примените порог разделения 0,3.
  7. Объедините целевую функцию внешнего вида, целевую функцию структурной согласованности, целевую функцию структурных отношений и целевую функцию структурной дискриминации с весами, хранящимися в configs/protocol.yaml. Процесс оптимизации в пространстве признаков, управляемый тремя структурными целевыми функциями, показан на Рисунке 4.
  8. Запустите команду python train.py --config configs/protocol.yaml. Обновите все обучаемые параметры с помощью стохастического градиентного спуска по мини-батчам, используя начальную скорость обучения (learning rate), моментум, затухание весов (weight decay), количество эпох, коэффициент затухания и эпохи затухания, определенные в шаге 1.8. Записывайте скорость обучения после каждой эпохи в лог обучения.
  9. После каждой эпохи записывайте общие потери (total loss), потери внешнего вида, потери структурной согласованности, потери структурных отношений, потери структурной дискриминации, скорость обучения, индекс структурной согласованности (SCI), индекс структурной дискриминации (SDI) и Recall@5.
  10. Оценивайте модель на validation_manifest.csv после каждой эпохи. Сохраните чекпоинт, соответствующий самому высокому значению SCI на валидации, в checkpoints/selected_model.pth.
  11. Повторите обучение пять раз с пятью записанными случайными значениями seed. Сохраняйте каждый конфигурационный файл, лог обучения и выбранный чекпоинт в отдельном каталоге запуска.
  12. Ожидаемый результат: подтвердите, что каждый запуск создает лог обучения, лог валидации, файл метрик по эпохам и один выбранный чекпоинт. Подтвердите, что выбранный чекпоинт основан на показателях валидации, а не на показателях тестирования.
    ПРИМЕЧАНИЕ: используйте одни и те же манифесты обучения, валидации и тестирования в каждом сравнении моделей и в каждом эксперименте по абляции.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: если значение потерь становится нечисловым, остановите обучение, проверьте массы вероятностей компонентов, уменьшите скорость обучения в 10 раз и перезапустите процесс с последнего валидного чекпоинта. Если SCI на валидации остается неизменным при снижении потерь при обучении, убедитесь, что параметры распространения и слияния графов получают градиенты. Если память графического процессора исчерпана, уменьшите размер батча и поддержите эффективный размер батча 32 с помощью аккумуляции градиентов. Если показатели валидации резко меняются между запусками, проверьте записанный random seed и порядок данных в манифесте.

8. Инференс, поиск, кластеризация и проверка выходных данных

  1. Запустите python infer.py --config configs/protocol.yaml --checkpoint checkpoints/selected_model.pth. Сгенерируйте карты вероятностей, структурные априорные данные, матрицы признаков внешнего вида, матрицы структурных признаков, матрицы объединенных компонентов и итоговые векторы признаков для каждого тестового изображения.
  2. Сохраните все результаты логического вывода в директории feature_outputs/test и запишите пути к ним в файл test_feature_manifest.csv. Вычислите косинусное сходство между каждым признаком запроса и всеми признаками галереи. Отсортируйте идентификаторы галереи в порядке убывания сходства. Сохраните пять результатов с наивысшим рангом для каждого запроса в evaluation_results/retrieval_results.csv.
  3. Для каждого образца поиска, выбранного для визуализации, загрузите типизированную матрицу смежности, матрицу весов отношений, матрицу центров компонентов, маску неактивных узлов, сопоставление меток компонентов и матрицу объединенных компонентов для изображения запроса. Загрузите те же файлы для результата с наивысшим рангом, сгенерированного моделью с учетом структуры.
  4. Отрисуйте граф компонентов запроса и граф компонентов найденного изображения, используя сохраненные центры компонентов и типизированные матрицы смежности. Сохраните фиксированный порядок компонентов и типы отношений, использованные при логическом выводе модели.
  5. Отрисуйте типизированную матрицу смежности запроса в виде категориальной матрицы. Используйте отдельные значения матрицы для отношений неактивности, общих границ и вертикального порядка. Подпишите горизонтальную и вертикальную оси идентификаторами компонентов, хранящимися в сопоставлении меток компонентов.
  6. Примените L2-нормализацию к матрице объединенных компонентов запроса и матрице объединенных компонентов найденного изображения. Вычислите косинусное сходство между каждым компонентом запроса и каждым компонентом найденного изображения. Сохраните полученную матрицу соответствия компонентов K × K в evaluation_results/structural_retrieval_evidence.
  7. Для каждой пары «эталон-цель», выбранной для анализа локальных различий, загрузите типизированную матрицу смежности, матрицу центров компонентов, матрицу пространственного рассеяния, матрицу весов отношений и матрицу объединенных компонентов для обоих изображений.
  8. Вычислите абсолютную разность между двумя типизированными матрицами смежности. Вычислите абсолютные разности смещения центров компонентов, пространственного рассеяния и весов отношений, используя фиксированный порядок компонентов. Сохраните полученную матрицу топологических различий и матрицу различий геометрических отношений в evaluation_results/structural_difference_evidence.
  9. Вычислите расстояние L2 между соответствующими строками двух матриц объединенных компонентов. Нормализуйте расстояния на уровне компонентов и назначьте их узлам целевого графа компонентов. Увеличьте ширину ребер в соответствии с нормализованной разностью весов отношений. Сохраните полученный граф различий компонентов после объединения.
  10. Запишите идентификаторы изображений, пути к матрицам, пути к графам, порядок компонентов, идентификатор контрольной точки и пути к результатам визуализации в structural_visualization_manifest.csv. Создайте все структурные визуализации программно на основе записанных файлов; не добавляйте узлы графа, ребра графа или значения матриц вручную.
  11. Примените метод K-Means с пятью кластерами к итоговым векторам признаков и сохраните назначения кластеров в evaluation_results/cluster_assignments.csv. Запустите python evaluate.py --config configs/protocol.yaml --feature_dir feature_outputs/test.
  12. Вычислите SCI, SDI, Recall@5, среднюю среднюю точность (mAP) и коэффициент силуэта для каждого запуска. Используйте SCI для оценки компактности нормализованных признаков с одинаковой структурной меткой, а SDI — для оценки разделения между различными структурными метками. Используйте Recall@5 для оценки того, появляется ли подходящее структурное совпадение в кратком списке результатов поиска, и mAP для оценки качества ранжирования по всей галерее. Коэффициент силуэта используйте только для анализа кластеризации.
  13. Вычислите среднее арифметическое и выборочное стандартное отклонение по пяти независимым запускам. Сохраните пять значений уровня запуска для каждого метода и метрики. Не применяйте min-max нормализацию, ранговую нормализацию или масштабирование на основе сравниваемых методов. Проведите парный t-тест с использованием результатов, полученных при одном и том же случайном числе (random seed), и запишите статистику теста и точное двустороннее значение значимости.
  14. Сравните количество обработанных тестовых идентификаторов, файлов признаков, записей поиска и назначений кластеров. Устраните все несоответствия перед представлением или интерпретацией результатов оценки.
  15. Ожидаемый результат: подтвердите, что для каждого тестового изображения имеется одна полная запись логического вывода, один список поиска, одно назначение кластера и один набор входных данных для оценки. Подтвердите, что для каждого случая поиска, выбранного для визуализации, имеются граф компонентов запроса, граф компонентов найденного изображения, типизированная матрица смежности и матрица соответствия объединенных компонентов.
  16. Подтвердите, что для каждого случая структурных различий имеются матрица топологических различий, матрица различий геометрических отношений, граф различий компонентов после объединения, тепловая карта пространственных различий и наложение отклика. Подтвердите, что все файлы визуализации связаны с исходными матрицами через structural_visualization_manifest.csv. Сохраните чистую тепловую карту, наложение на целевое изображение, маску переднего плана и координаты области с максимальным откликом для каждого визуализированного случая.
  17. Принимайте вычисленный отклик разности только в том случае, если доминирующая область высокого отклика перекрывается передним планом одежды и подтверждается соответствующим изменением типизированной смежности, изменением геометрических отношений и данными о расстоянии компонентов после объединения. Если самый сильный отклик приходится в основном на область вне переднего плана одежды, проверьте результат парсинга, граф компонентов и запись об объединении.
    ПРИМЕЧАНИЕ: Для логического вывода на тестовом наборе используйте контрольную точку, выбранную на валидационном наборе. Не выбирайте и не заменяйте контрольную точку в соответствии с метриками тестового набора. Используйте один и тот же порядок компонентов, правило неактивных узлов, кодирование типов отношений и процесс нормализации при генерации графов и матриц во время логического вывода и визуализации.
    ​УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ: Если логический вывод останавливается до обработки всех тестовых изображений, найдите последний идентификатор в логе вывода и возобновите работу со следующего идентификатора. Если в результатах поиска доминирует сходство по цвету, проверьте структурные априорные данные и результаты объединения, а также убедитесь в успешной загрузке контрольной точки. Если оценка сообщает о дублирующихся идентификаторах, пересоберите test_feature_manifest.csv и удалите дублирующиеся записи перед повторным расчетом. Если K-Means создает пустой кластер, проверьте нормализацию признаков и повторно запустите кластеризацию с записанным случайным числом.

9. Сравнительная оценка моделей

  1. Запустите python compare_models.py --config configs/protocol.yaml.
  2. Обучите и оцените 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 и предлагаемый метод, используя одни и те же манифесты для обучения, валидации и тестирования.
  3. Используйте одинаковый размер изображений, операции предобработки, количество эпох обучения, эффективный размер батча, запросы для оценки и реализацию метрик для каждого метода.
  4. Сохраните глобальный усредняющий пулинг (global average pooling) для ResNet-50. Примените выравнивание по горизонтальным полосам в PCB. Примените фиксированный граф одежды на уровне изображения в GCN. Примените динамический вывод графа с руководством по атрибутам в FashionGraph. Используйте стандартные кодировщики изображений Swin Transformer и CLIP. Реализуйте Topology Feature Histogram with Color and Texture Fusion с использованием дескрипторов топологии, цвета и текстуры. Реализуйте Attention-Guided Cascade Network с использованием ветвей глобальных и локальных признаков с парсингом одежды. Реализуйте MMFL-Net с использованием многомасштабных ветвей признаков разной гранулярности. Реализуйте FARE-RNET с использованием остаточного внимания (residual attention), отбора признаков и расширенного контекстного кодирования (dilated contextual encoding).
  5. Используйте только ветвь «изображение-запрос» для каждого сравниваемого метода. Переобучите каждый обучаемый метод на общем манифесте обучения и выберите контрольную точку (checkpoint) на основе общего манифеста валидации. Сгенерируйте ранжированный список галереи для каждого тестового запроса.
  6. Проецируйте каждое выученное эмбеддинг-представление в 512 измерений через зарегистрированный обучаемый линейный слой, если его исходная размерность отличается. Примените L2-нормализацию перед ранжированием по косинусному сходству. Используйте одинаковое назначение «запрос-галерея» и реализацию метрик для всех методов.
  7. Повторите каждый метод сравнения с пятью одинаковыми случайными значениями seed. Рассчитайте среднее значение и выборочное стандартное отклонение для SCI, SDI, Recall@5, mAP и коэффициента силуэта. Для каждой метрики проведите двусторонний парный t-критерий между предлагаемым методом и каждым сравниваемым методом, используя результаты, полученные при одном и том же случайном seed. Запишите значения пяти прогонов, статистику теста, число степеней свободы и точное значение p в файл evaluation_results/comparison_metrics.csv.
  8. Рассчитайте SCI, SDI, Recall@5, mAP и коэффициент силуэта для каждого метода. Сохраните все значения по прогонам и агрегированные значения в evaluation_results/comparison_metrics.csv.
  9. Ожидаемый результат: подтвердите, что файл comparison_metrics.csv содержит одинаковые поля метрик и одинаковое количество независимых прогонов для каждого сравниваемого метода.
    ПРИМЕЧАНИЕ: не изменяйте разделение данных, код метрик или назначение «запрос-галерея» между сравниваемыми методами.
    УСТРАНЕНИЕ НЕПОЛАДОК: если модель сравнения выдает размерность признаков, отличную от 512, добавьте один зарегистрированный линейный слой проекции перед расчетом метрики и обучите этот слой вместе с соответствующей моделью. Если модель не сходится при общем коэффициенте обучения, используйте скорость обучения, указанную в её опубликованной реализации, сохраняя все остальные экспериментальные условия. Записывайте все специфические настройки каждого метода в лог сравнения.

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Результаты

Все описанные эксперименты были выполнены с использованием аппаратного и программного обеспечения, указанного в Таблице 2 и в Таблице материалов. На всех этапах предобработки, обучения, логического вывода и оценки использовались одни и те же версии графического драйвера, CUDA, cuDNN, Python, NumPy, PyTorch и torchvision. Полный перечень аппаратного и программного обеспечения приведен в Таблице 2 и Таблице материалов. В Таблице 1 представ...

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Обсуждение

Наиболее критическими этапами протокола являются предварительная обработка для сохранения целостности изделия и семантический парсинг компонентов с ограничением по переднему плану. Центры компонентов, значения пространственного рассеивания, отношения общих границ, отношения вертикального порядка, веса связей и объединенные представления выводятся на основе результатов парсинга. Утечка границ, слияние областей компонентов, отсутствие областей компонентов и неправильное назначение каналов распространяются на этапы построен...

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Раскрытие информации

Авторы заявляют об отсутствии конфликта интересов.

Благодарности

Данная работа была поддержана в рамках второй группы ключевых проектов по реформированию преподавания на уровне бакалавриата провинциального значения в период 14-го Пятилетнего плана, по проекту под названием «Реформа и исследование преподавания курса „Дизайн одежды и предметов гардероба“ на основе модели совместного строительства „Три интеграции, три слияния“» (проект № JGZD2024096).

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Материалы

Список материалов, использованных в этой статье
ИмяКомпанияКаталожный номерКомментарии
Центральный процессорIntel CorporationIntel Core i9-13900K, 24 ядра, 32 потока, до 5,80 ГГц
CondaAnaconda, Inc., anaconda.comMiniconda3 23.11.0
CUDA ToolkitNVIDIA Corporation, developer.nvidia.comCUDA 11.8
cuDNNNVIDIA Corporation, developer.nvidia.comcuDNN 8.9.7
Набор данных DeepFashion2Китайский университет Гонконга, github.com/switchablenorms/DeepFashion2Официальный выпуск DeepFashion2, версия 1.0
Графический процессорNVIDIA CorporationNVIDIA GeForce RTX 4090, 24 ГБ GDDR6X
Контрольная точка семантического парсинга HRNet-W48Проект HRNet, github.com/HRNet/HRNet-Semantic-Segmentationhrnet_w48_garment_parser_7class.pth, контрольная точка проекта, версия 1.0
Веса ResNet-50, предобученные на ImageNetPyTorch Foundation, pytorch.orgResNet50_Weights.IMAGENET1K_V2
MatplotlibКоманда разработчиков Matplotlib, matplotlib.orgВерсия 3.8.2
NumPyразработчики NumPy, numpy.orgВерсия 1.26.4
Графический драйвер NVIDIANVIDIA CorporationВерсия 546.33
OpenCV-PythonКоманда OpenCV, opencv.orgВерсия 4.8.1.78
Операционная системаMicrosoft CorporationWindows 11 Pro 23H2, 64-разрядная, сборка ОС 22631.3155
PandasКоманда разработчиков Pandas, pandas.pydata.orgВерсия 2.1.4
PythonPython Software Foundation, python.orgВерсия 3.10.13
PyTorchPyTorch Foundation, pytorch.orgВерсия 2.1.2 с CUDA 11.8
PyYAMLПроект PyYAML, pyyaml.orgВерсия 6.0.1
scikit-learnразработчики scikit-learn, scikit-learn.orgВерсия 1.3.2
SciPyРазработчики SciPy, scipy.orgВерсия 1.11.4
Репозиторий исходного кодаАрхив с дополнительным исходным кодом, представленный вместе с рукописьюПротокол топологии одежды, версия 1.0
Устройство хранения данныхSamsung ElectronicsSamsung 990 PRO NVMe SSD, 2 ТБ
Системная памятьKingston TechnologyKingston FURY Beast DDR5, 64 ГБ, 2 × 32 ГБ, 5600 МГц
torchvisionPyTorch Foundation, pytorch.orgВерсия 0.16.2 с CUDA 11.8
Рабочая станцияСпециально сконструированная рабочая станция для глубокого обученияIntel Core i9-13900K, NVIDIA GeForce RTX 4090, 64 ГБ оперативной памяти, 2 ТБ NVMe SSD

Ссылки

  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.

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Перепечатки и разрешения

Больше статей

Поиск изображений одеждыструктурная согласованностьизображения DeepFashion2парсинг HRNet-W48кодирование ResNet-50графовая сверткаструктурное сравнениелокализация различий