Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/egorumaev/2023-determining-customers-age

Построение модели, которая по фотографии определяет приблизительный возраст человека
https://github.com/egorumaev/2023-determining-customers-age

computer-vision keras pandas pil regression tensorflow

Last synced: 3 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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**.