Несколько дней назад я узнал о Tianchi FashionAI Global Challenge из лаборатории, Вопросы и данные были очень интересными, поэтому я потратил некоторое время, чтобы попробовать это. В настоящее время конкурс все еще находится на предварительной стадии, и есть две темы, а именно: идентификация этикетки с атрибутами одежды и позиционирование ключевой точки одежды.
Идентификация ярлыков атрибутов одежды относится к идентификации атрибутов дизайна воротников, рукавов, одежды, юбок, брюк и других частей, соответствующих множеству задач множественной классификации, таких как следующие примеры.
Позиционирование ключевой точки одежды заключается в указании расположения ключевых точек в одежде в соответствии с задачами множественной регрессии, такими как следующие примеры.
Это и CelebA (MM lab.IE. Толстый черный ящик. Квота. Скоро/проекты/CE…) Набор данных о лицах несколько похож, каждое изображение представляет собой лицо, а соответствующие аннотации включают 5 позиций ключевых точек и 01 аннотацию из 40 атрибутов, например, есть ли очки, шляпы, бороды и т. д.
выбор темы
Я выбрал вторую тему. С одной стороны, я чувствую, что есть связанные проблемы, такие как обнаружение ключевых точек лица и обнаружение ключевых точек человеческого скелета для справки. В прошлом году AI Challenger также провел соревнование по обнаружению ключевых точек человеческого скелета (претендент.любовь/соревнование…), с другой стороны, я еще не делал этот контент, поэтому мне больше интересно.
Обучающий набор, официально предоставленный конкурсом, включает в себя более 4 Вт изображений, а тестовый набор включает в себя изображения почти 1 Вт. Магия заключается в том, что в тренировочном наборе и тестовом наборе 366 изображений, которые полностью перекрываются. Каждой картинке присвоена соответствующая одежда, всего 5 категорий: блуза, пальто (верхняя одежда), платье (платье), юбка (юбка), штаны (брюки).
Всего ключевых точек 24, но количество ключевых точек, соответствующих каждому типу одежды, неодинаково. Аннотации ключевых точек делятся на три категории: -1 означает отсутствие, 0 означает наличие, но невидимость, 1 означает наличие и видимость, последние два случая будут предоставлять координаты xy соответствующей ключевой точки.
Предварительное исследование
После соответствующей предварительной обработки сначала попробуйте самую простую структуру, а именно свертку, объединение в пул и полное соединение. Поскольку эта часть никогда не делалась раньше, некоторые детали сети можно опробовать только медленно, включая количество слоев свертки, сколько размеров ядра свертки используется, какую функцию активации использовать, какую функцию потерь использовать и т. д. .
После долгого периода исследований я, наконец, выбросил первую версию, которая прошла, и представил результаты первой версии с оценкой около 30%. Поскольку последний слой использует полносвязный слой для прямого вывода координат xy каждой ключевой точки, ошибка относительно велика.
В настоящее время первое место в списке занимает 4,49%, и он неудержим много дней в списке, что показывает силу силы.
Узнайте больше
Позже я подумал, что должно быть много связанных исследований и моделей для таких более классических задач, потому что строить сеть из воздуха явно ненадежно. Поэтому я провел небольшое исследование и нашел две модели: Convolutional Pose Machine, Stacked Hourglass.
С ограниченной энергией я сосредоточился на CPM. После прочтения соответствующей статьи CVPR в 2016 году структура модели настолько длинная, что она заключается в многократном использовании нескольких этапов для непрерывного извлечения все более и более точных карт ответов, соответствующих каждой ключевой точке.
Реализация CPM с открытым исходным кодом была найдена на Github (GitHub.com/Tim CT ho/con…), прочитал код и применил его к данным соревнований после прочтения кода.Тренировка на P100 заняла около 30 часов. Используя CPM из 6 этапов, создается карта отклика для каждой ключевой точки.
Ниже приводится результат, соответствующий платью: три картинки в первой строке представляют собой результаты синтеза графов откликов 1-й, 2-й и 3-й ступеней по очереди, а три картинки во второй строке соответствуют графам откликов. 6-го этапа соответственно Составной результат, правильный ответ, составной из правильного ответа и исходного изображения выглядит неплохо.
Давайте взглянем на верхнюю одежду, и карта отклика тоже очень точная.
Наконец, давайте посмотрим на брюки.Ключевые моменты относительно немногочисленны и точны.
Я сдал другую версию результатов и получил оценку 17%. Лучшие результаты могут быть достигнуты, потому что CPM выводит карту ответов ключевых точек вместо прямого вывода xy-координат ключевых точек, используя несколько каскадов Stage для постепенного получения все более и более точных карт ответов.
возможные улучшения
Возможные улучшения включают несколько аспектов:
- Используйте другие, более новые и лучшие модели. Так как я профан в этой области, то с одной стороны непонятно какая модель на данный момент лучшая, а с другой стороны на исследование и реализацию модели уходит много времени;
- Отрегулируйте параметры. Каждая модель включает в себя множество параметров, в дополнение ко многим параметрам, не связанным с моделью, таким как скорость обучения, размер партии, коэффициент регулярного члена и т. д. точечная детекция Как подобрать параметры;
- Используйте такие методы, как увеличение данных. Поскольку я непрофессионал в этой области, мне не ясно, какие методы, кроме увеличения данных, подходят для таких задач, как обнаружение ключевых точек.
Хотя есть много возможных направлений для улучшения, так как такими задачами, как обнаружение ключевых точек, я раньше не занимался, я могу полагаться только на удачу и различные попытки продолжения метания, и каждая попытка требует длительного времени для обучения модели.
Напротив, у некоторых команд и отдельных лиц со значительными накоплениями в области обнаружения ключевых точек есть богатый опыт и готовые коды, и конкурировать с ними достаточно сложно. Глядя на рейтинги, первые 4,49% пока некого превзойти, а все 30 лучших составляют менее 12%.
А есть еще личные вещи, время и силы очень ограничены, поэтому я решил не продолжать пробовать эту игру, чувствую, что этого шага достаточно.
Суммировать
Благодаря этому конкурсу я узнал некоторые решения таких проблем, как обнаружение ключевых точек, и попробовал попрактиковаться с CPM, что меня устраивает.
После окончания игры обратите внимание на решения команды чемпионов и многому научитесь.