Skip to content

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

Notifications You must be signed in to change notification settings

egorumaev/2023-determining-customers-age

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

2023-determining-customers-age

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

ПРОЕКТ «Определение возраста покупателей»


Примененные библиотеки и технологии

  • Pandas, Numpy, Matplotlib, Seaborn, PIL, Tensorflow, Keras

  • Yandex Compute Cloud


Цель и задачи проекта

Сетевой супермаркет внедряет систему компьютерного зрения для обработки фотографий покупателей. Фотофиксация в прикассовой зоне поможет определять возраст клиентов, чтобы:

  • анализировать покупки и предлагать товары, которые могут заинтересовать покупателей этой возрастной группы;

  • контролировать добросовестность кассиров при продаже алкоголя.

Для обучения модели в наличии имеется размеченный набор фотографий людей с указанием возраста.

Цель - построить модель, которая по фотографии определит приблизительный возраст человека.

Для достижения цели выполнены следующие задачи:

  • исследовательский анализ набора фотографий;

  • подготовка данных для обучения нейросети;

  • обучение нейросети;

  • анализ качества обучения.

Исходные данные взяты с сайта ChaLearn Looking at People (https://chalearnlap.cvc.uab.es/dataset/26/description/).

Целевая метрика обучения модели, – 'mean_absolute_error', – должна быть меньше 8.

В качестве функции потерь использована 'mean_squared_error'.

Решаемая в проекте задача является задачей регрессии.


Основные результаты

(1) В результате выполнения проекта построена модель нейронной сети, которая по фотографии определяет приблизительный возраст людей. Для обучения модели нейронной сети подготовлены функции, обеспечивающие загрузку обучающего и тестового комплектов, создание модели нейронной сети, обучение нейронной сети.

(2) Для обучения был использован датасет, включающий 7591 фотографию людей в возрасте от 1 года до 100 лет. Наибольшее количество фотографий из имеющегося в наличии датасета принадлежит людям в возрасте от 20 до 30 лет. Чем старше возраст, тем меньше фотографий людей соответствующего возраста есть в обучающем наборе. Для ряда возрастов с интервалом примерно в 10 лет (для юбилейных возрастов) прослеживается резкое увеличение количества фотографий в сравнении с 'соседним' возрастом, что, очевидно, связано с особенностями процедуры сбора фотографий и недостаточно качественной разметкой. Чем старше возраст людей, тем меньше фотографий представлено в базе.

(3) Для решения задачи определения приблизительного возраста людей применена нейронная сеть, в частности принадлежащая к семейству архитектур ResNet сеть ResNet50. В архитектуре ResNet используются Shortcut Connections – дополнительные связи внутри сети, которые позволяют избежать проблемы затухающего градиента. С целью повышения качества обучения модели при компиляции модели применен алгоритм оптимизации Adam.

Лучшее значение метрики МАЕ = 5.3389 и соответствует целевому ограничению MAE < 8.0.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published