Главное о кейсе
Мы достигли итогового показателя точности в 99,78%, что превысило требования технического задания. После 9 месяцев с момента внедрения решения завод увеличил производительность на 14% - это 28 млн рублей от 200 миллионной стоимости завода.
Как проект изменил жизнь пользователей
После 9 месяцев с момента внедрения решения завод увеличил производительность на 14%.
Бизнес-задача и ее решение
Для эффективного разведения рыб необходимо достаточное количество особей в одном бассейне. Чтобы автоматизировать процесс при объемах производства около 130 тонн в год, необходима была точная система подсчета рыб при перемещении их по бассейнам.
Мы выбрали решение на основе машинного зрения, т.к. обученная нейросеть выдает самые точные результаты подсчета при высокой скорости движения объектов.
Что в основе
Для проекта мы обучили нейронную сеть Yolo 5 определять на видео рыб. На каждом кадре специалисты размечали контуры рыб и на основе полученного датасета обучали систему. В момент работы над проектом мы также смоделировали мальков, которых не было у заказчика, в 3D и анимировали их перемещение по каналу в бассейне. В итоге нейросеть обучилась распознавать на видео как взрослых особей, так и мальков.
Как работает
На посту оператора используется ПО для взаимодействия с системой. Перед началом подсчета сотрудник вводит номера бассейнов, после чего рыба перегоняется из одного из них в другой. Установленная над каналом между бассейнами камера передает видеопоток, а система в режиме реального времени ведет подсчет. Если поток становится слишком плотным (более 1500 рыб в минуту), на пост оператора поступает сигнал. После подсчета выводится отчет по количеству рыбы в бассейне.
Видео работы системы
https://youtu.be/N6mx3ejgaOI
Крафт (мастерство), реализация, технические детали
Для проекта мы использовали нейронную сеть Yolo 5. Мы обучили ее распознавать рыб на видео и учитывать их размер (мальки, средние и крупные особи). В дополнение к работе нейросети внедрили механизм трекинга. Он нужен для правильной идентификации одной и той же рыбы на последовательности кадров, а также для опредения ее местоположения в определенный промежуток времени. Это позволяет системе не считать одну и ту же рыбу дважды на разных кадрах.
Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком
Рыбоводная ферма работает по определенным циклам, и на момент старта проекта у клиента отсутствовали мальки. Чтобы не останавливать процесс разработки, было принято решение смоделировать их в 3D. Для этого наши дизайнеры в Blender создали модели мальков, наложили на них текстуры, а также с помощью анимации имитировали их перемещение по каналу. Получилось вполне реалистично и мало отличимо от реальных кадров.
Нейросеть без труда по этим данным смогла правильно научиться определять в потоке средние и крупные рыбы, но с мальками возникли сложности. Во время тестирования её работы уже на реальных видео возникали случаи, когда система неправильно производила подсчет. Например, мальки могли слипаться друг с другом, ехать "паровозиком" или вообще кучей малой .
Для решения этой задачи нам потребовалось дополнительно моделировать подобные ситуации и дополнять ими датасет. Наконец, во время очередного тестирования работы нейросети мы зафиксировали необходимый результат – точность более 97%!
Прочая информация о кейсе
Система распознает рыб, которые движутся по желобу с высокой скоростью и с помощью нейросети ведет их подсчет.
Скриншоты
Комментарий заказчика
Современное хозяйство строится с определенным запасом по производительности. Например, проектные мощности завода по выращиванию форели составляют 130 тонн в год, а его стоимость около 200 млн рублей. Это означает, что минимально этот завод способен выдать 130 тонн продукции в год, при этом потенциал в нем заложен на 200 тонн. Чтобы приблизится к максимальной производительности необходимо иметь очень опытный персонал (супер героев) и отлаженную систему учета процессов перемещения рыбы.
Мы приняли решение начать автоматизацию производства с процесса учета рыбы. Был проведен анализ существующих решений и у нас сформировалось свое видение, как это должно происходить в современном мире, и как достигнуть максимальной производительности. Так и начался путь создания счетчиков для рыбы на основе машинного зрения. До этого у нас уже было 2 итерации, которые вскрывали все новые и новые вызовы для инженеров и программистов. К 3 же итерации мы вышли с максимально сложными в реализации задачами, с которыми нам помог справиться Nord Clan.