Всем привет! Меня зовут Никита Крестьянинов, я руководитель группы управления бизнес-процессами служб сервиса в команде Russtech (разработчики ведущего российскВсем привет! Меня зовут Никита Крестьянинов, я руководитель группы управления бизнес-процессами служб сервиса в команде Russtech (разработчики ведущего российск

Russtech + Стажеры + ML: история разработки решения для мониторинга цифровых экранов

2026/02/25 14:00
7м. чтение

Всем привет! Меня зовут Никита Крестьянинов, я руководитель группы управления бизнес-процессами служб сервиса в команде Russtech (разработчики ведущего российского оператора рекламы вне дома Russ). Сегодня я хочу рассказать, как мы совместно со стажерами разработали ИИ-инструмент, способный отслеживать состояние работы цифровых рекламных конструкций.

Стажировка в Wildberries & Russ

Недавно RWB (объединенная компания Wildberries & Russ) организовывала стажировку для студентов старших курсов и магистрантов по девяти направлениям: разработка и IT, аналитика, ESG, менеджмент, юриспруденция, финансы, исследования, маркетинг и контент, а также редакция и коммуникации. Студенты ведущих вузов, включая МГУ, НИУ ВШЭ, МФТИ и ВАВТ и др., могли выбрать наиболее интересное для них направление, пройти конкурсный отбор и на два месяца погрузиться в реальную рабочую среду (о старте нового набора на программу можно узнать на нашем сайте RWB Образование и в телеграм-канале WB Level Up).

Наша команда пригласила к себе четырех стажеров для работы над новым проектом: созданием ML-модели для автоматизированного мониторинга качества изображений на цифровых экранах. К началу стажировки мы уже сформировали концепцию нового ИИ-помощника, поэтому сразу же приступили к работе над кейсом.

Распределение задач

В данном проекте я отвечал в том числе за организацию работы стажеров. Моя роль как общего куратора заключалась в координации всей команды, контроле сроков и проведении общих встреч. Еще на старте вместе с командой мы разработали план создания ИИ-модели и разбили проект на пять этапов:

  • сбор данных (~2 недели);

  • разметка данных (~1 неделя);

  • проектирование архитектуры (~2 недели);

  • разработка и тестирование прототипа модели (~4 недели);

  • работа с аналитикой и метриками (~2 недели).

Когда к нам присоединились стажеры, мы провели серию собеседований, чтобы выявить сильные стороны ребят и распределить задачи, учитывая их знания, интересы и ожидания. По итогу Тимофея решили подключить к работе с моделью и данными, Маргариту — к разработке интерфейса для визуализации результатов, Анну — к бизнес-аналитике, а Валерию — к разметке данных и работе с базами.

Для более плавной адаптации каждому стажеру назначили ментора с учетом его направления (ML, Mark Up, Data Science). Они курировали ежедневную работу ребят и отвечали на все вопросы. Дополнительно были организованы вводные лекции по системной аналитике и работе с нашей системой DSM (Digital Screen Monitoring) для более глубокого погружения в проект.

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

  • каждый участник понимал систему целиком, а не только свою часть;

  • мы могли менять приоритеты и быстро перераспределять силы на более важные задачи;

  • решения принимались с учетом всех аспектов — от данных до пользовательского опыта;

  • в коллективе удалось создать атмосферу взаимопомощи и общей ответственности.

В качестве результатов стажировки мы ожидали получить:

  • собранный и размеченный датасет для обучения нейросети (чтобы мы могли использовать в дальнейшем);

  • задокументированную аналитику;

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

Работа над проектом

1-й этап. Сбор и первичная обработка данных

Для обучения ML-модели в первую очередь требовалось собрать данные. Мы организовали временный доступ к цифровому экрану на технической территории, на который установили три камеры разных моделей с различными типами линз для симуляции реальных условий. Создавая искусственные неисправности, команда сделала более 1500 скриншотов. Стажеры управляли стендом, записывали данные, проводили первичный анализ и отбраковку некачественных фото.

d9f36c4497aa59f0d12c20658e457319.png

2-й этап. Разметка и изучение предметной области

Следующим этапом стала подготовка датасета — трудоемкая и ответственная задача, для выполнения которой была выбрана платформа Label Studio. Стажеры тщательно изучили устройство цифровых экранов, типы матриц и причины возникновения различных технических дефектов, что позволило им проводить разметку уже не механически, а осознанно.

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

Тогда у нас возникло предложение попробовать повышать качество исходного изображения и убирать искажения из-за fisheye-линз. В качестве инструмента для повышения качества мы взяли ИИ-модель Real-ESRGAN, а «нормализацию» рекламного щита производили с помощью библиотеки OpenCV. То есть теперь снимки предварительно обрабатывались при помощи классических инструментов компьютерного зрения PyTorch и разметки. Качество исходного скриншота повышалось, а само изображение «выпрямлялось». После чего на получившемся изображении размечался экран, чтобы можно было выделить нужную область и отбросить окружение, снизив вероятность ложных детекций.

3-й этап. Подготовка к обучению и выбор модели

Затем совместно со стажерами наша команда проанализировала несколько вариантов нейросетей (YOLOv8, TF EfficientNet B4, ResNet18, ResNet50, U-net). Было проведено тестовое обучение и валидация на небольших наборах данных. По итогам сравнения метрик скорости и точности решили остановиться на U-net.

4-й этап. Обучение и тестирование модели

Мы написали скрипты для аугментации данных и запустили процесс обучения на Google Colab. Стажеры активно мониторили процесс, отслеживая метрики (loss, precision, recall) в TensorBoard. Дальше началось тестирование на отдельной выборке.

На этом этапе тоже обнаружились сложности: низкая точность на краях кадра из-за дисторсии («рыбий глаз»), ложные срабатывания вокруг экрана и недостаточное обобщение модели на данные с камер, не участвовавших в обучении.

Трудности, с которыми мы столкнулись, оказались типичными для компьютерного зрения в реальных условиях. Искажения «рыбий глаз» возникали из-за использования широкоугольных объективов, ложные срабатывания — из-за сложного фона вокруг экранов, а проблема обобщения была связана с разницей в условиях съемки между нашим демостендом и реальными конструкциями. Эти вызовы заставили нас пересмотреть первоначальный подход и искать более надежные архитектурные решения.

Feel free, или Успехи команды

Выявленные в ходе тестирования проблемы поставили под сомнение эффективность выбранного подхода с единой ML-моделью, требовался фундаментальный пересмотр архитектуры решения. На очередном брейншторме, проходившем под девизом «Feel free», пришли к идее разделить этот этап на два и использовать две специализированные нейросети.

Первоначальная модель U-net пыталась одновременно решать две разные задачи: находить границы самого экрана на изображении с сильными искажениями и фоном, а также классифицировать проблему. Это было слишком сложно для одной архитектуры.

Стажеры предложили следующий пайплайн.

  1. Сначала точно вырезать область экрана из изображения, чтобы избавиться от всех помех по краям (рамок, стен, дорог, машин и проч.) и устранить эффект «рыбьего глаза».

  2. Затем подать это выровненное и очищенное изображение экрана в классификатор.

Мы решили попробовать использовать две модели. U-net — для семантической сегментации и точного выделения на фото маски экрана, т. е. области с границами экрана. TF EfficientNet B4 — для определения неисправности на основе подготовленного изображения.

Обучение U-net

Стажеры заново провели разметку данных, но на этот раз размечали уже контур самого экрана. Это было сделано быстро, так как инструмент (Label Studio) и процесс ребятам были уже хорошо знакомы. Они обучили U-net предсказывать маску экрана.

Для коррекции эффекта «рыбьего глаза» мы написали собственную библиотеку, т. к. в open source-проектах нужный функционал отсутствовал. Мы построили математическую модель явления и реализовали обратное отображение. Точность определения границ экрана достигла 90%. Проблема ложных срабатываний вокруг экрана была почти полностью решена, теперь модель классификатора меньше видела фон.

b1552acdbf2f27b8c9e8f1d271d5400e.png

Обучение TF EfficientNet B4

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

Позже было предложено использовать transfer learning на предобученную на ImageNet модель TF EfficientNet B4, заменив и дообучив только последние слои. Это позволило добиться высокой точности даже на относительно небольшом нашем датасете. Метрика Accuracy для основной задачи превысила 92%.

Веб-интерфейс

В рамках стажировки также была создана веб-версия ML-модели BUNNY (название нашего ИИ-инструмента). Данный веб-интерфейс стал удобным и понятным способом взаимодействия с системой. Стажеры разработали механизм Drag and Drop, который позволил мгновенно отправлять скриншоты на проверку. После загрузки снимка модель автоматически анализировала изображение и показывала результат, выделяя при этом проблемную область на исходном снимке.

a74c4e49947a5cd8297b893a5610c7ee.png

Результаты

Совместными усилиями у нас получилось создать внутренний инструмент для автоматического контроля работы цифровых экранов. Разработанная и протестированная двухэтапная ML-архитектура показала точность свыше 76% на тестовых данных.

График отображает кривую ROC для модели BUNNY-classification-v1.0 с AUC = 0,76, сравнивая ее с уровнем случайного угадывания (AUC = 0,5), где по оси X указан False Positive Rate, а по оси Y — True Positive Rate для положительного класса 1
График отображает кривую ROC для модели BUNNY-classification-v1.0 с AUC = 0,76, сравнивая ее с уровнем случайного угадывания (AUC = 0,5), где по оси X указан False Positive Rate, а по оси Y — True Positive Rate для положительного класса 1

Достигнутые результаты превзошли наши ожидания. Мы высоко оценили вклад стажеров и предложили всем ребятам позиции в компании, чтобы продолжить вместе развивать этот проект.

Стажировка в Wildberries & Russ еще раз подтвердила эффективность подхода "обучение через практику". Мы на личном опыте убедились, что благодаря интересным задачам, современным инструментам и поддержке опытных наставников талантливые ребята могут достигнуть впечатляющих результатов даже в сжатые сроки. Неудивительно, что из 90 участников более 39% стажеров остались работать в компании после завершения программы, включая четырех ребят, которые работали над нашим проектом.

Спасибо за внимание!

Источник

Возможности рынка
Логотип Mintlayer
Mintlayer Курс (ML)
$0.00808
$0.00808$0.00808
+0.49%
USD
График цены Mintlayer (ML) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

В Coinbase предупредили о риске каскадного обвала цены биткоина

В Coinbase предупредили о риске каскадного обвала цены биткоина

Аналитики Coinbase Institutional определили ключевые ценовые уровни первой криптовалюты. Главная зона поддержки расположена около $60 000, а первое сильное сопр
Поделиться
ProBlockChain2026/02/25 15:24
BlockDAG (BDAG) возглавляет 4 криптопроекта, демонстрирующих огромный потенциал пробоя

BlockDAG (BDAG) возглавляет 4 криптопроекта, демонстрирующих огромный потенциал пробоя

Рыночные цены меняются ежедневно, но проекты, которые масштабируются, обеспечивают внедрение и расширяют свои сообщества, как правило, выделяются. Прямо сейчас несколько имен доказывают, что за ними стоят как моментум, так и содержание. Этот список более внимательно рассматривает четыре сети, которые имеют значение в сентябре 2025 года: BlockDAG, Chainlink (LINK), Sui (SUI) и Cardano (ADA). [...]
Поделиться
Coinstats2025/09/22 00:31
Haiku обогнала Opus, а стартап Taalas впаял нейросеть в кремний

Haiku обогнала Opus, а стартап Taalas впаял нейросеть в кремний

Самые интересные новости за неделю для практикующих инженеров: вайбкодер случайно получил доступ к 7 000+ пылесосам, вышли Sonnet 4.6 и Gemini 3.1 Pro, Haiku со
Поделиться
ProBlockChain2026/02/25 15:45