- PVSM.RU - https://www.pvsm.ru -

Привет! В сентябре мы провели конференцию [1] «Инфраструктура для ML и AI, виды дрифтов ML-моделей, Computer Vision в животноводстве». Обсудили, как разные компании используют машинное обучение в работе, поговорили о трендах и инструментах построения production ML-систем в бизнесе. На митапе было четыре интересных доклада, и мы решили поделиться ими.
В этой публикации расскажем про опыт «Русагро Тех» — как они разрабатывают проекты по видеоаналитике в животноводстве для агрохолдинга ГК «Русагро. Кейсом поделился Павел Ширяев — руководитель группы компьютерного зрения «Русагро Тех».
Позже опубликуем остальные доклады про ML.
Используйте навигацию, если не хотите читать текст полностью:
→ Видеоаналитические сервисы в ГК «Русагро» [2]
→ Как устроено обучение сервисов [3]
→ Пример проекта «Инвентаризация животных» [4]
→ Заключение и советы [5]
ГК «Русагро» — ведущий вертикально интегрированный агрохолдинг России, представленный в категориях: сахар, мясная продукция, масла и жиры, молочные продукты и сельскохозяйственная культура. Это третий российский производитель свинины с долей рынка 5,4 %. Об этом направлении, свиноводстве, и пойдет речь.
В свиноводстве необходим регулярный подсчет количества животных в загонах, следить за кормом, обнаруживать заболевших и оценивать поведение животных, чтобы предсказать лучший период их осеменения. Для этого компания использует специальное оборудование: IP-камеры, тепловизоры и роботизированные каретки, на которых эти сенсоры расположены.

Ежедневно системы сбора данных получают тысячи фотографий и видео, а затем используют их для обучения нейросетей. Не потеряться в таком объеме данных им помогает S3-совместимое хранилище MinIO и базы данных — в них лежат файлы с метаданными по каждому видео и фото. Таким образом, сотрудники знают, что и где было снято, когда, на какой сенсор, для какого проекта и где это хранится. Это позволяет оперативно фильтровать данные, генерировать новые датасеты, забирать новые фото и видео в сервисы ГК «Русагро».
Хранилище данных занимает центральное место в двух рабочих процессах: в инференсе и трейнинге:

Схема организации рабочих ML-процессов.
Сборщики сохраняют данные в хранилище. Далее инференс пайплайн забирает данные и генерирует результаты. Затем эти результаты получают ветеринары, служба безопасности и все остальные, кому нужна эта информация. А трейнинг-пайплайн позволяет регулярно обновлять модели для сервисов с учетом новых данных.
Чтобы сервисы выдавали стабильный качественный результат, нужно непрерывно обучать модели. Для этого CV-инженеры при помощи методов активного обучения оценивают новые изображения и проверяют, с какими из них сервисы справляются хуже. Далее эти фото и видео забирают для переобучения системы.
Все эксперименты для трейнинг-пайплайнов организованы в ClearML [6]. В нем «Русагро Тех» обучает и оптимизирует модели, собирает метрики и затем оценивает, как изменилась скорость инференса и не упала ли точность. Все это объединяют в одну таблицу и дальше от эксперимента к эксперименту следят за изменениями.
Процесс инференса строится при помощи оркестратора Prefect [7] — он легко разворачивается и настраивается, в нем удобно планировать и управлять задачами для сервисов по видеоаналитике. То есть фактически результаты работы модели генерируются на одном из шагов Prefect-пайплайна. Также в работе помогают Grafana, Prometheus и телеграм-боты для мониторинга и оперативного реагирования на возникающие инциденты.

А теперь конкретный кейс — как ГК «Русагро» научился подсчитывать поголовье свиней в загонах с точностью не ниже 99%.
Подсчет животных — типовая задача в животноводстве. Она позволяет компании планировать производство, оценивать количество корма или узнавать, сколько голов ушло в мясопереработку. Для человека это не самая простая задача: свиньи разбегаются, приходится тратить много времени, в результатах бывают ошибки, а главное — это стресс для животных. Поэтому вместо ручного труда ГК «Русагро» решила использовать роботизированную каретку для перемещения видеокамеры и, силами «Русагро Тех», разработала сервис по распознаванию и подсчету животных по видео.
Схема выглядит так:

Для каждого загона с животными определены лучшие углы и точки съемки для камеры. Эта информация забирается из хранилища и передается в сервис по сбору данных. Сервис, в свою очередь, управляет кареткой: указывает ей, в какой точке остановиться, под каким углом поставить сенсор, сколько ехать до края загона и когда снимать видео с животными. Затем все видео с необходимыми метаданными записываются обратно в хранилище.
Следующий сервис забирает поступающие видео для подсчета. Здесь происходит пре- и постпроцессинг изображений, и, главное, покадровая обработка нейросетями. Информация о количестве свиней передается обратно в хранилище, сотрудникам на производстве, вносится в дашборды.
На работу камеры влияют внешние факторы — их нужно учитывать при обучении и настройке системы.
Освещение. В загонах есть не только искусственное освещение, но и естественное — от окон. А так как естественный свет меняется в течение дня и календарного года, сотрудникам «Русагро Тех» приходится подбирать настройки для камер.
Окклюзии. Каретка перемещается под потолком, поэтому в поле зрения постоянно попадают посторонние предметы. Чтобы они не мешали съемке, специалисты выбирают области для съемки, где животных лучше видно.
Загрязнение камеры. В загонах с животными этого не избежать, поэтому камеры приходится протирать.
Поведение животных. Все животные разные: поросята юркие и любят бегать, а взрослые свиньи группируются и наваливаются друг на друга, из-за чего некоторых особей не видно. Все это усложняет работу трекера.
Дальние животные. Особенно сложно считать в дальних углах загона, потому что таких животных хуже видно.
Группа компьютерного зрения «Русагро Тех» провела исследование и установила, что для человека точность подсчета поголовья свиней составляет 96–97%. У сервиса видеоаналитики этот показатель должен был стать не менее 99%.
Для начала группа компьютерного зрения ввела кросс-проверку. Для съемки стали использовать три независимых разметчика — каждый на видео подсчитывает животных. Четвертый разметчик собирает данные, находит ошибки в подсчетах и усредняет. Такое усредненное значение принимается за истинное.
Практически сразу сервис по подсчету показал точность 97%. Оставалось только снизить количество ошибок.
Еще один процент точности дал тюнинг гиперпараметров после оптимизации пороговых значений для алгоритмов детекции, трекинга и счета животных.
Настройка активной зоны прибавила 0,5%. Активная зона — это область на изображении, в котором подсчитывается животное с уникальным ID. Для разных по размерам загонов нужна разная область. Но так как сервис знает, какой загон снят, то может выбрать необходимую.

Активная область выделена зеленым.
И последнее — усреднение данных. Группа компьютерного прокатывает каретку три раза в день, а данные усредняет.
Съемка выполняется с разницей в несколько часов. Это дает больше шансов увидеть тех животных, которые были перекрыты другими во время одного из проездов. А алгоритм подсчета может отбросить аномальные данные, которые появились из-за севших на объектив насекомых во время съемки.
99% — точность после настройки и обучения сервисов.
ГК «Русагро» до сих пор находится в активной фазе разработки своих ML-процессов и выбора инструментов. В ближайшем будущем силами «Русагро Тех» планируется реализовать полную синхронизацию и автоматизацию процесса обучения и инференса. Но уже сейчас у них есть опыт и советы для тех, кто еще не приступал к организации MLOps-системы.
Как можно скорее организуйте удобное хранение данных. Так вы сэкономите немало времени, потому что это краеугольный камень любой ML-системы.
Пробуйте разные MLOps-инструменты. Существуют лучшие практики, однако не бывает идеального сочетания. Если вы будете пробовать что-то новое, то рано или поздно найдете подходящий именно вам набор инструментов.
И главное, не бойтесь и просто начните собирать свою MLOps-платформу.
Вы можете использовать инфраструктуру Selectel [8] для обучения и развертывания ML-моделей. Мы даем две недели бесплатного тестового периода, чтобы вы попробовали поработать с ML-платформой, выбрать интересующие модели GPU и провести несколько экспериментов.
Платформа позволяет организовать полный цикл обучения и использования ML-модели в кластере Kubernetes, а также адаптирована под установку системы управления ML-экспериментами ClearML. Вы можете полностью настроить ее под цели и задачи своей компании — наши сотрудники помогут определиться с конфигурацией, научат работать с платформой и будут помогать в процессе ее использования.
Интересна тема ML? Вступайте в Telegram в сообщество ML- и MLOps-инженеров [9]. Обсуждайте production ML, читайте полезные статьи и обменивайтесь опытом с комьюнити.
Автор:
Feizerr
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/selectel/388992
Ссылки в тексте:
[1] конференцию: https://slc.tl/qshyy
[2] Видеоаналитические сервисы в ГК «Русагро»: #1
[3] Как устроено обучение сервисов: #2
[4] Пример проекта «Инвентаризация животных»: #3
[5] Заключение и советы: #4
[6] ClearML: https://clear.ml/docs/latest/docs/
[7] Prefect: https://www.prefect.io
[8] инфраструктуру Selectel: https://slc.tl/stff4
[9] сообщество ML- и MLOps-инженеров: https://t.me/%2B0RZZzHdUUvUyMjAy
[10] Источник: https://habr.com/ru/companies/selectel/articles/779740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=779740
Нажмите здесь для печати.