определить пол человека по фото

Определяем возраст и пол человека используя нейронную сеть

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

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

Если вам интересны такие темы и вы хотите и дальше видеть новые публикации и развитие данного модуля, то просим вас поставить нам звездочку ⭐ на Github!

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

После анализа доступных библиотек, мы нашли интересный репозиторий на Github: https://github.com/davisking/dlib-models

Автор Davis E. King @davisking, он же создатель замечательной библиотеки dlib, предоставил уже натренированную модель на несколько тысяч лиц людей. Но, вот беда… код написан на C++ а рабочей альтернативы на Python мы не нашли.

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Модель для определения формы лица (shape_predictor_5_face_landmarks.dat)

Это 5-точечная модель, которая определяет уголки глаз и дно носа. Она обучена на наборе данных из 5-точечных ориентиров от 7198 лиц людей. Автор @davisking создал этот набор данных, загружая изображения из Интернета и комментируя их с помощью инструмента imglab от dlib.

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Модель для предсказывания возраста (dnn_age_predictor_v1.dat)

Первоначальный источник для создания модели пришел из документа Z. Qawaqneh: «Глубокая сверточная нейронная сеть для оценки возраста на основе модели VGG-Face». Тем не менее, наши исследования привели нас к значительным улучшениям в CNN модели, что позволило нам оценить возраст человека, превосходящего существующие результаты, с точки зрения точности результата.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

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

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Эта модель прогнозирования возраста предоставляется компанией Cydral Technology бесплатно и распространяется по лицензии Creative Commons Zero v1.0 Universal.

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Модель для определения пола человека по лицу (dnn_gender_classifier_v1.dat)

Эта модель является гендерным классификатором, обученным с использованием частного набора данных из примерно 200 000 различных изображений лиц, и она была сгенерирована в соответствии с определением сети и настройками, заданными в «Минималистической модели на основе CNN для прогнозирования пола по изображениям лиц«. Даже если набор данных, использованный для обучения, отличается от того, который использовался Г. Антиповым, результаты классификации по оценке LFW в целом схожи (± 97,3%).

Эта гендерная модель предоставляется бесплатно компанией Cydral Technology и распространяется по лицензии Creative Commons Zero v1.0 Universal.

Перенос C++ кода на Python

Изначально, @davisking предоставил два C++ файла которые показывали как работать с натренированными им моделями:

Они выводили результат сразу в консоль, но вот использовать код в рабочем проекте даже на C++ было крайне неудобно. Используя pybind11 мы имеем возможность применить код на C++ в нашем коде на Python. Мы не будем акцентироваться долго на pybind11, но если вы хотите ознакомиться с ним, то рекомендуем статью: Создаем С++ Python расширения с помощью pybind11

Источник

Определяем пол и возраст по фото

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

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

К примеру, имеется следующая информация: пол, возраст и ссылка на фото. Для проверки соответствия воспользуемся библиотекой py-agender языка Python.

Работа библиотеки осуществляется в два этапа. На первом, opencv определяет расположение лица на фото. На втором, нейронная сеть архитектуры EfficientNetB3, которая обучена на наборе данных UTKFace DataSet, определяет пол и возраст обладателя лица на фото.

Для начала импортируем необходимые библиотеки:

Создадим объект детектора пола и возраста:

С помощью opencv загрузим фото:

Далее определим характеристики лица с помощью метода detect_genders_ages объекта agender:

где переменная face_info содержит следующую информацию:

Здесь параметры (‘left’, ‘top’, ‘right’, ‘bottom’, ‘width’, ‘height’) характеризуют расположение лица на фото. Параметр gender характеризует принадлежность к определенному полу, где 0 – соответствует мужчине, 1 – женщине. Т.е. после обработки изображений, по порогу 0.5 разделяем обработанную выборку на мужчин и женщин.

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Алгоритм определил, что на данном изображении представлен мужчина (значение пола очень близко к нулю: 0.0075379927), а также, что на этом фото ему 41 с половинкой годика (41.5858), не знаю сколько Константину Хабенскому лет на этом фото, но думаю алгоритм близок к истине.

Хороший пример, четкое изображение и довольно впечатляющий результат. Однако, когда начинаешь применять алгоритм к реальным данным, все не так радужно, как хотелось бы. И дело здесь не сколько в алгоритме, а в качестве исходных данных.

В моем случае это был набор из 1542 изображений с разрешением 300х300. Для 64 изображений алгоритм не смог определить характеристики лица. Основная причина – плохая освещенность в момент фотофиксации (лиц почти не видно). Для 1478 изображений медианное значение ошибки определения возраста составило 4,96 года. На рисунке ниже представлено распределение ошибки:

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Для 8.5% изображений (125 из 1478) алгоритм совершил ошибку в определении пола человека. Из них в 122 случаях алгоритм ошибочно принял женщину за мужчину. Повторюсь, не стоит винить алгоритм во всех случаях. В большинстве ошибочных примеров встречалось много лиц в очках, которые могут скрывать некоторые особенности лица. На рисунке ниже представлено распределение возраста для набора данных UTKFace DataSet:

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Можно заметить, что большая часть набора данных содержит изображения людей c возрастом 20-40 лет. Несмотря на это алгоритм чаще всего ошибался именно для указанного интервала, т.е скорее всего ошибки связаны с особенностью набора данных, для которого был применен алгоритм. На рисунке ниже представлено распределение возраста людей, на которых алгоритм ошибся:

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Py-Agender – интересный инструмент, который может помочь автоматизировать ряд рутинных задач или по крайней мере уменьшить размер выборки для ручного анализа. В статье представлена оценка для специфичного набора данных, возможно в вашем случае алгоритм сработает более результативно.

Источник

Нейросети для предсказания возраста и пола

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Получение информации о возрасте и гендерной принадлежности человека происходит исключительно по фотографии его лица. Исходя из этого можно разделить нашу задачу на два основных этапа:

Импортируем необходимые библиотеки

Ниже представлен код для проверки работы алгоритмов

Проведем серию экспериментов для проверки качество работы алгоритмов.

— одиночная фотография человека

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

— Несколько людей на фотографии

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

— Несколько людей на фотографии, в случае когда взгляд устремлен не в кадр

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

— Несколько людей на фотографии, когда часть их лица скрыта, например, масками

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Можно сделать вывод, что в идеальных условиях(высокая четкость фотографии, лицо направлено строго в кадр) оба алгоритма работают без нареканий, но при малейшем отклонении от этих условий, каскады Хаара начинают сбоить. Поэтому выбор остановился на использовании модели MTCNN.

Теперь, когда разобрались с выбором метода обнаружения лиц на фотографии перейдем непосредственно к самой задаче. Для определения возраста и пола использовались две разные модели, обученные на огромном количестве данных. Обе модели были обучены Леви и Хасснером, первая их работа вышла в 2015 году под названием «Age and Gender Classification Using Convolutional Neural Networks». В своей работе они продемонстрировали, что при обучении с использованием глубоких сверточных нейронных сетей (CNN) можно добиться значительного повышения производительности при выполнении задач предсказывания возраста и пола.

Для определения гендерной принадлежности была взята модель с репозитория, посвященному статье «Understanding and Comparing Deep Neural Networks for Age and Gender Classification».Скачать модели можно по ссылке 1 (*.caffemodel) и по ссылке 2 (*.prototxt). Модель использует архитектуру сети GoogleNet и была предобучена на ImageNet dataset.

Как можно было заметить, каждая модель представлена двумя файлами, это значит что она была обучена с помощью Caffe (фреймворк глубокого машинного обучения нацеленный на простое использование, высокую скорость и модульность).Файл с расширением prototxt отвечает за архитектуру сети, а файл с расширением caffemodel за веса модели.

Ниже кратко представлен основной код, в качестве аргумента в модель передаем определённое выше лицо.

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

Источник

Как определить пол и возраст по фото?

Давайте на конкретном примере рассмотрим, как определить пол и возраст человека на фото с помощью трех строчек кода.

К примеру, имеется следующая информация: пол, возраст и ссылка на фото. Для проверки соответствия воспользуемся библиотекой py-agender языка Python.

Работа библиотеки осуществляется в два этапа. На первом, opencv определяет расположение лица на фото. На втором, нейронная сеть архитектуры EfficientNetB3, которая обучена на наборе данных UTKFace DataSet, определяет пол и возраст обладателя лица на фото.

Для начала импортируем необходимые библиотеки:

Создадим объект детектора пола и возраста:

С помощью opencv загрузим фото:

Далее определим характеристики лица с помощью метода detect_genders_ages объекта agender:

где переменная face_info содержит следующую информацию:

Здесь параметры (‘left’, ‘top’, ‘right’, ‘bottom’, ‘width’, ‘height’) характеризуют расположение лица на фото. Параметр gender характеризует принадлежность к определенному полу, где 0 – соответствует мужчине, 1 – женщине. Т.е. после обработки изображений, по порогу 0.5 разделяем обработанную выборку на мужчин и женщин.

Алгоритм определил, что на данном изображении представлен мужчина (значение пола очень близко к нулю: 0.0075379927), а также, что на этом фото ему 41 с половинкой годика (41.5858), не знаю сколько Константину Хабенскому лет на этом фото, но думаю алгоритм близок к истине.

Хороший пример, четкое изображение и довольно впечатляющий результат. Однако, когда начинаешь применять алгоритм к реальным данным, все не так радужно, как хотелось бы. И дело здесь не сколько в алгоритме, а в качестве исходных данных.

В моем случае это был набор из 1542 изображений с разрешением 300х300. Для 64 изображений алгоритм не смог определить характеристики лица. Основная причина – плохая освещенность в момент фотофиксации (лиц почти не видно). Для 1478 изображений медианное значение ошибки определения возраста составило 4,96 года. На рисунке ниже представлено распределение ошибки:

Для 8.5% изображений (125 из 1478) алгоритм совершил ошибку в определении пола человека. Из них в 122 случаях алгоритм ошибочно принял женщину за мужчину. Повторюсь, не стоит винить алгоритм во всех случаях. В большинстве ошибочных примеров встречалось много лиц в очках, которые могут скрывать некоторые особенности лица. На рисунке ниже представлено распределение возраста для набора данных UTKFace DataSet:

Можно заметить, что большая часть набора данных содержит изображения людей c возрастом 20-40 лет. Несмотря на это алгоритм чаще всего ошибался именно для указанного интервала, т.е скорее всего ошибки связаны с особенностью набора данных, для которого был применен алгоритм. На рисунке ниже представлено распределение возраста людей, на которых алгоритм ошибся:

Py-Agender – интересный инструмент, который может помочь автоматизировать ряд рутинных задач или по крайней мере уменьшить размер выборки для ручного анализа. В статье представлена оценка для специфичного набора данных, возможно в вашем случае алгоритм сработает более результативно.

Источник

VisionLabs создала Telegram-бот, который определяет пол и возраст по фотографии

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

определить пол человека по фото. Смотреть фото определить пол человека по фото. Смотреть картинку определить пол человека по фото. Картинка про определить пол человека по фото. Фото определить пол человека по фото

Компания VisionLabs представила первую версию бота в Telegram, которая позволяет определить пол и возраст человека. Об этом Inc. рассказал представитель VisionLabs.

Чтобы воспользоваться ботом, необходимо добавить в список контактов в мессенджере @facevision_bot. Бот предложит пользователю отправить фотографию. Технологии VisionLabs позволяют определить пол человека с достоверностью в 99,7%. Точность определения возраста зависит от освещенности фотографии или макияжа, при этом бот определяет возраст на 75% точнее, чем человек.

В кадре должно быть лишь одно лицо. Если на фото несколько лиц, то бот сообщает пользователю об этом. Алгоритмы способны заметить, что человек носит очки или его нет на изображении.

генеральный директор VisionLabs

«Фактически, бот лишь демонстрирует некоторые из наших возможностей. Потенциал коммерческого продукта намного шире. Технология распознавания возраста и пола позволяет ретейлерам точнее составлять портрет своих клиентов и использовать полученные данные для мерчендайзинга и предоставления таргетированных предложений».

Нейросеть, лежащая в основе технологии, была обучена на сотнях тысяч размеченных фотографий лиц. Технологии позволяют распознать лицо человека в максимально неподготовленных условиях, однако самой высокой точности технология достигает при равномерном освещении (не менее 200 Lux) и нейтральном выражении лица.

В июле компании «Мой график» и VisionLabs представили сервис, который позволяет учитывать рабочее время с помощью технологии распознавания лиц. Так компании хотели сделать доступным для малого бизнеса автоматизированный учет рабочего времени.

Напомним, в июне VisionLabs планировала запустить систему распознавания лиц с помощью веб-браузеров. Платформа предназначалась для компаний финансового сектора.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *