Это проект классификации изображений для выявления 5 женских форм лица с использованием сверточных нейронных сетей (CNN) . Я завершил это в качестве моего Capstone Project для иммерсивного курса науки о данных с Генеральной Ассамблеей (октябрь 2020 г.).
Этот проект также используется в качестве веб -приложения с использованием Stremlit на Heroku. Если вам интересно, проверьте форму вашего лица на myfaceshape.herokuapp.com
Основываясь на обзоре потребителей Deloitte, потребители требуют более персонализированного опыта, однако испытание остается низким. В индустрии красоты и моды более 40%взрослых в возрасте от 16 до 39 лет заинтересованы в персонализированном предложении, а испытания составляет всего 10-14%. Среди тех, кто заинтересован, ~ 80% готовы заплатить как минимум на 10% выше цены.
Возможность классифицировать формы лица позволит брендам предлагать более персонализированные решения для повышения удовлетворенности клиентов, в то же время увеличивая прибыль от позиционирования премиум -класса. Пример вариантов использования:
Для этого проекта я буду использовать подход глубокого обучения с сверточными нейронными сетями (CNN) для классификации 5 различных форм женского лица (сердце, продолговатые, овальные, круглые, квадратные). Будет выбрана модель, которая была самым высоким показателем точности.
Я исследовал 2 подхода CNN, построив с нуля и трасфер с архитектурой VGG-16 и предварительно обученными весами от VGGFACE. Подход к обучению трансферу помог повысить точность, в то время как наиболее классифицированная неправильная форма лица-«овальная».
Предварительная обработка изображения также сыграла важную роль в снижении переживания и повышении точности проверки. Ключевые драйверы:
Набор данных формы лица - это набор данных от Kaggle от Niten Lama.
Этот набор данных состоит из 5000 изображений женских знаменитостей со всего мира, которые классифицируются в соответствии с их формой лица, а именно:
Каждая категория состоит из 1000 изображений (800 для обучения: 200 для тестирования)
Предварительная обработка изображений является критическим фактором для снижения модели, переосмысленной в учебный набор данных и повышение точности проверки. Следующие шаги были изучены:
Модель CNN, построенная с нуля с ограниченными учебными данными 4000 изображений (800 изображений x 5 классов), я строю модель с 4 свертками + максимальные слои и 2 плотных слоев (подробности ниже).
Модель CNN с Transfer Learning позволяет мне использовать более сложную архитектуру VGG-16, используя предварительно обученные веса из VGGFACE, которые были обучены более 2,6 миллионам изображений.
Трансферное обучение значительно повысило точность, с 76,9% до 92,7% с помощью предварительно обученных весов в более крупном наборе данных.
Из моделей, построенных с нуля, все модели работали лучше, чем базовая линия 20% (5 классов сбалансированы с 20% каждый).
Резюме всех моделей ниже.
Обе модели имеют наивысшую ошибочную классификацию на овальной форме лица. Хотя модель обучения передачи улучшила точность модели, построенной с нуля, но овал по -прежнему является наиболее неправильно классифицированной, при этом большинство овальные неправильно классифицируются как круглые. Интересно, что круглая поверхность также в основном неправильно классифицируется как овальная, хотя общая ошибочная классификация для круглой формы лица низкая. Путаница между овальным и раундом в основном азиатские лица, а в частности, с помощью обучения передачи. Вероятно, это связано с тем, что в предварительно подготовленных весах меньше азиатских изображений.