Как разработать нейросеть, способную надежно отличить совершеннолетнего от несовершеннолетнего? Компания NeuroCore делится опытом создания такого решения: от необычного процесса сбора данных, включающего фотографии людей, аниме‑персонажей и даже обезьян, до детального тестирования и анализа результатов. Узнайте, как машинное зрение может изменить розничную торговлю.
Нейросетевой полисмен: зачем бизнесу распознавание возраста?
Технологии искусственного интеллекта, включая компьютерное зрение и видеоаналитику, открывают широкие возможности для автоматизации и оптимизации бизнес‑процессов. Одним из актуальных запросов является разработка нейросети, способной распознавать возраст человека. Применений такой технологии множество и не ограничиваются только ритейлом.
Розничная торговля (ритейл): Использование видеоаналитики, основанной на технологиях машинного зрения и распознавания объектов, помогает строго соблюдать возрастные ограничения при продаже товаров с лимитом по возрасту, таких как алкоголь, табачная продукция или определенные категории игр и фильмов.
Реклама и маркетинг: Для компаний критически важно не нарушать законодательство о рекламе и ориентировать рекламные кампании определенных продуктов строго на аудиторию 18+. Нейросеть помогает с верификацией целевой аудитории.
Контроль доступа: В местах, где действуют возрастные ограничения на вход (например, ночные клубы, казино), камеры машинного зрения могут автоматически определять возраст посетителей. Это помогает сократить время на проверку документов, уменьшить очереди и повысить общий уровень безопасности заведения.
Онлайн‑безопасность и модерация контента: Любые цифровые платформы, которым необходимо ограничить доступ к определенному контенту только для совершеннолетних пользователей, могут использовать нейросеть для автоматической фильтрации аудитории.
Недооценивать пользу внедрения такой обработки искусственным интеллектом не стоит. Это не только существенное снижение риска нарушений законодательства и связанных с этим штрафов, но и оптимизация работы бизнеса за счёт уменьшения объема ручных проверок, а также повышение пользовательского комфорта благодаря более быстрому и точному сервису.


Рассылка: как вести бизнес в России
Пять полезных писем пришлем сразу после подписки. В них — бизнес‑идеи, готовые промпты для нейросетей, советы, как выбрать налоговый режим и получать пассивный доход

Сбор уникального датасета для обучения
Любая эффективная нейросеть, будь то для видеоаналитики или компьютерного зрения, требует значительного объема качественных данных для обучения. Ключевым моментом является четкое понимание задачи, которую предстоит решать искусственному интеллекту. Если готовые открытые базы данных отсутствуют или не полностью соответствуют поставленным требованиям, процесс разметки и формирования собственного датасета становится неизбежным.
В нашем случае, заказчик поставил очень конкретную и узкую задачу: распознать именно совершеннолетних людей. Для этого мы сформировали два специфических набора данных:
- Обучающий датасет: Состоял из большого количества фотографий людей самых разнообразных возрастов.
- Обобщающий датасет: Этот набор данных включал в себя более необычные изображения, в частности, фотографии аниме‑персонажей и обезьян.
Ответ кроется в концепции обобщающей способности нейросети. Чем более широкий и, казалось бы, необычный спектр образов присутствует в обучающей выборке, тем лучше алгоритм сможет впоследствии работать с данными, которые он не видел на этапе обучения. Предоставляя нейросети максимально разнообразные примеры, мы помогаем ей вычленять более общие и устойчивые признаки, что делает ее более точной даже при столкновении с новыми или сложными сценариями.
Представьте себе процесс обучения компьютера распознаванию кошек среди множества других объектов. Если показать ему только фотографии кошек и предметов без кошек, он научится определять ключевые особенности кошачьих. Однако, если добавить в обучающую выборку снимки собак, птиц, рыб и других животных, компьютер начнет улавливать общие паттерны, свойственные всем животным. На этом фоне уникальные характеристики кошек будут выделяться еще более четко. Именно так мы работаем над расширением «кругозора» нашей нейросети, обучая ее на максимально разнообразных примерах, чтобы повысить точность распознавания в реальных условиях.
Тестирование модели: этапы и инструменты
Когда разработка нейросети, распознающей возраст, достигает определенной стадии, наступает критически важный этап — тестирование. Именно тесты позволяют оценить эффективность созданной модели и подтвердить правильность выбранного подхода с самых ранних этапов разработки. Процесс тестирования в нашем случае включал несколько ключевых аспектов:
- Визуальные отчёты: По итогам каждого тестового запуска алгоритм автоматически генерировал наглядные графики и визуализации. Такой подход обеспечивает прозрачность: вся команда разработчиков может легко увидеть, где возникли проблемы и в каких областях ожидаются потенциальные баги или неточности.
- Мониторинг продакшн‑серверов: Мы осуществляли непрерывный мониторинг состояния серверов, на которых работала модель. Отслеживались такие параметры, как загрузка центрального процессора, сетевая активность, использование оперативной памяти и дискового пространства, а также метрики работы API.
- Автотест из 23 испытаний: Был разработан комплексный набор из 23 автоматизированных тестов. Этот набор запускался регулярно — каждые 15 минут — с помощью GitLab Pipeline schedules. Результаты тестов автоматически фиксировались в системах мониторинга Prometheus и Grafana. В случае возникновения ошибок или отклонений от нормы, в Telegram отправлялось мгновенное уведомление для оперативного реагирования.
Интересный момент из нашего опыта: изначально уведомления о состоянии как dev‑сервера (сервер для разработки), так и продакшн‑сервера (рабочий сервер) приходили в один общий Telegram‑канал. Однако вскоре стало ясно, что падение тестов на dev‑сервере часто является нормой в процессе активной разработки новых функций, тогда как ошибка на продакшн‑сервере требует незамедлительной реакции. Чтобы избежать ложных тревог и обеспечить быстрое реагирование на критические сбои, мы приняли решение разделить каналы уведомлений.
Анализ результатов: матрицы конфузий и отчеты Allure
По итогам проведения тестовых испытаний формируется ряд аналитических отчетов, которые позволяют глубоко оценить производительность модели распознавания возраста:
- Матрица конфузий с промежутками 5 лет (в абсолютных значениях): Таблица, наглядно демонстрирующая количество случаев, когда модель правильно или ошибочно отнесла человека к той или иной возрастной группе с шагом в 5 лет. Данные представлены в виде абсолютных чисел.
- Матрица конфузий с промежутками 5 лет (нормализованная): Аналогичная таблица, но данные в ячейках нормализованы (обычно представлены в процентах или долях от общего числа), что позволяет сравнивать точность распознавания между разными группами независимо от их размера.
- График «Реальный возраст — Предсказанный возраст»: Визуализация, показывающая распределение предсказанных моделью возрастов относительно реальных возрастов тестируемых. Позволяет увидеть общие тенденции смещения прогнозов.
Матрица конфузий (или матрица ошибок) — это инструмент визуализации, который в виде таблицы показывает, насколько точно модель классификации справилась с поставленной задачей. По строкам обычно располагаются реальные классы объектов, а по столбцам — классы, предсказанные моделью. Ячейки на пересечении строки и столбца показывают количество объектов, которые принадлежат к реальному классу (строка) и были классифицированы моделью как предсказанный класс (столбец). Для задачи распознавания возраста матрица конфузий позволяет легко увидеть, в каких возрастных диапазонах модель наиболее часто ошибается.
Дополнительно к матрицам конфузий мы используем отчеты Allure. В отчёте Allure содержится подробная информация о выполнении каждого отдельного тест‑кейса. Здесь можно увидеть, сколько раз нейросеть успешно определила совершеннолетних или несовершеннолетних, а также выявить случаи, где произошел сбой, и понять его причину. Типичные причины ошибок могут включать: низкое качество предоставленной фотографии, наличие нескольких лиц на одном снимке (если модель рассчитана на одно лицо), полное отсутствие человека в кадре или специфические ракурсы.
Для чего используется Allure?
Allure‑отчёты — это интерактивная и наглядная система для визуализации результатов тестовых прогонов. Они предоставляют детальное описание каждого тестового шага, что помогает разработчикам максимально оперативно локализовать источник ошибки. Возможность добавления дополнительных метаданных, таких как теги, описания и ссылки на задачи, помогает эффективно структурировать тестовую документацию и значительно упрощает процесс анализа результатов тестирования и отладки.
Все эти аналитические инструменты и детализация позволяют нам проводить глубокий анализ каждого отдельного сбоя в работе модели. Мы видим реальный возраст человека на фото, возраст, который предсказала модель, и потенциальную причину, по которой произошла ошибка (если она была зафиксирована). Такой подход дает возможность делать точечные «срезы» данных: например, анализировать, какие именно тестовые случаи приводили к ошибкам в предыдущем тестовом прогоне, но были успешно пройдены в текущем, и наоборот. Этот детальный анализ является ключевым фактором, позволяющим нам своевременно вносить улучшения в модель и постоянно повышать точность распознавания возраста.
Заключение: Итоги и применение в ритейле
После завершения всех этапов тестирования и анализа данных мы получили следующие результаты по точности работы нашей нейросети, ориентированной на задачу определения совершеннолетия.
Матрица конфузий является наиболее наглядным инструментом для оценки производительности. В идеальной ситуации, если число в ячейке матрицы конфузий близко к 100% (для нормализованной матрицы) или к общему количеству примеров в группе (для абсолютной матрицы), это означает, что модель успешно определила возрастную группу.
Применительно к нашей основной задаче — отсеиванию несовершеннолетних и недопущению присвоения им категории «18+» — были получены следующие важные результаты:
- Полное отсутствие ошибок в группе младенцев: Ни один из тестовых примеров с младенцами не был распознан нейросетью как совершеннолетний.
- Нулевой процент ложных «18+» в группе 5–9 лет: В этой возрастной категории модель также ни разу не допустила ошибки, определив ребенка как совершеннолетнего.
- Минимальный процент ошибок в группе 10–14 лет: В возрастной группе от 10 до 14 лет только в 3,2% случаев модель ошибочно присвоила статус «18+».

По итогам всего тестирования нейросеть успешно справилась с 1820 тест‑кейсами, что соответствует общей точности 80,32%.

Важно отметить, что тестирование — это непрерывный процесс. Оно помогает нам понять, как модель реагирует на самые разнообразные сценарии и условия реального мира. На этом этапе критически важна экспертиза как в области самого машинного зрения, так и в глубоком понимании специфики конкретного продукта или задачи бизнеса. По нашему опыту, этот процесс всегда увлекателен и часто приводит к ценным новым находкам и улучшениям.
Современная видеоаналитика, основанная на передовых нейросетях и технологиях компьютерного зрения, предоставляет бизнесу действительно мощные и эффективные инструменты. Их спектр применения широк: от точного распознавания объектов до автоматического и надежного контроля за соблюдением возрастных ограничений. И чем дальше развиваются эти технологии, тем сильнее ощущается колоссальный потенциал искусственного интеллекта и его трансформирующее влияние на самые разные аспекты нашей повседневной жизни и бизнеса.
Этика и приватность данных
Безусловно, при разработке и внедрении таких мощных технологий, как нейросети для распознавания возраста, мы обязаны уделять самое пристальное внимание этическим аспектам и вопросам приватности пользовательских данных. Сбор, хранение и обработка биометрических данных требуют ответственного подхода и строгого соблюдения законодательства.
Будущее за теми, кто способен находить разумный и ответственный баланс между стремлением к инновациям и обеспечением безопасности и конфиденциальности данных пользователей.
















