Технический руководитель команды анализа данных «Норникеля» Алексей Клоков – об алгоритмах компьютерного зрения и методах сопровождения объектов без разметки на примере пузырьков.
Пенная флотация – один из ключевых этапов обработки руды. В огромном резервуаре флотомашины вспенивается перетёртая в порошок порода, вода и реагенты. Частицы полезных минералов прикрепляются к образовавшимся пузырькам пены. Пузырьки всплывают вверх, а остальная порода опускается вниз. Наблюдая за пеной, технолог понимает, насколько хорошо идёт процесс обогащения и как им управлять. Основная цель – максимально увеличить концентрацию полезных веществ: для этого процесс проходит несколько циклов.
Компьютерный мониторинг характеристик пены может быть использован для упрощения работы специалистов или автоматического управления огромным цехом флотации. Возникает вопрос: как создать систему, которая обработает видеопоток и определит основные характеристики пены в автоматическом режиме?
Для определения размера, формы и количества пузырьков подойдет семантическая сегментация, а для интерпретируемого анализа скорости/направления пены – трекинг пузырьков (то есть сопровождение определенного объекта в видеопотоке).
Семантическая сегментация пузырьков
Чтобы сделать трекинг пузырьков, нужно сначала распознать эти пузырьки на кадре. Для этого необходимо применить архитектуру Unet c энкодером ResNet18 (предобученном на ImageNet). Во время обучения сильно штрафуем за ошибки в пикселях около/на границах пузырьков – чтобы сеть старалась отделять маски соседних пузырьков друг от друга. Для автоматического поиска пикселей, за которые будем давать большой штраф, можно использовать разные алгоритмы обработки бинарных масок.
Обучаем модель на кропах с различными аугментациями, а на инференсе подаем всю картинку. В итоге, получаем работающую модель-сегментатор пузырьков.
Одновременный трекинг множества подобных пузырьков
Чтобы использовать форму пузырька как признак, нужно обучить архитектуру автоэнкодера, который будет преобразовывать маску пузырька в некоторый эмбеддинг-вектор (где сохранится вся информация о форме пузырька).
Особенность нашего домена данных – большое количество в кадре похожих друг на друга пузырьков. Исходя из таких закономерностей, накидаем план действий и перейдем к визуализации результата.
Готово!