Решение задачи сегментации объекта через композицию моделей классификации и выделения главного объекта на изображении


В своей магистерской работе о распознавании калорийности блюд, были решены несколько вызовов с точки зрения механизмов работы компьютерного зрения. Рассмотрим наиболее технологически привлекательный пример получения/построения модели сегментации объекта, как совокупности классификации изображения и выделения на нем главного объекта. 


Чтобы ответить на вопрос “сколько калорий находится у меня на тарелке?” понадобится предельно точно выделить еду на тарелке (сегментировать целевой объект), и определить что это (выделить класс из модели классификации).


Для данной задачи, безусловно, подойдет модель сегментации продуктов питания и готовых блюд. Единственная незадача заключается в том, что готового набора данных или нейросетевой модели решающую данную задачу для обширного числа продуктов питания и готовых блюд в открытом доступе, попросту нет. Отсутствие сбалансированных и обширных наборов данных для специфических, кастомных областей распознавания не редкость. Наборы данных для сегментации, по праву, считаются самыми трудоемкими для составления. Так как каждое изображение в таком наборе данных должно иметь метку класса и точную пиксельную маску, тогда как в классификации достаточно лишь класса объекта изображенного на изображении, а для детекции bounding-box-a с соответствующим классом. Подробнее об описанных определения основных задач компьютерного зрения, можно познакомиться на рисунке:



    Рассмотрим конкретный сценарий и механизм решения данной проблемы на примере распознавания готовых блюд. Из-за сложности разметки масок, общедоступные и обширные наборы данных такие как food-101 или food-500 включают в себя исключительно класс изображения. Так выглядят примеры из датасета food-101:

        Говоря о глубоком обучении для решения задач классификации и сегментации, обучение последней требует на вход маску объекта с соответствующим классом, когда классификатор только класс. Здесь на сцену вступает недостающий элемент для имитации результатов модели сегментации или получения данных для её обучения - модель выделения главного объекта на фотографии, Salient Object Detection:

Пример выделения главного объекта на фотографии: источник

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

 

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


Список научных статей и референсов для повторения данного эксперимента:

Научные статьи и нейросетевые модели, используемые для получения результата:

Ссылка на репозиторий с примененным описываемым подходом и результатом его использования:


Calorie Counter repository

Список литературы:

  1. Haralick, R.M. and Shapiro, L.G., 1985. Image segmentation techniques. Computer vision, graphics, and image processing, 29(1), pp.100-132.

  2. Lu, D. and Weng, Q., 2007. A survey of image classification methods and techniques for improving classification performance. International journal of Remote sensing, 28(5), pp.823-870.

  3. Borji, A., Cheng, M.M., Jiang, H. and Li, J., 2015. Salient object detection: A benchmark. IEEE transactions on image processing, 24(12), pp.5706-5722.

  4. Qin, X., Zhang, Z., Huang, C., Dehghan, M., Zaiane, O.R. and Jagersand, M., 2020. U2-Net: Going deeper with nested U-structure for salient object detection. Pattern Recognition, 106, p.107404.

  5. Bossard, L., Guillaumin, M. and Van Gool, L., 2014, September. Food-101–mining discriminative components with random forests. In European conference on computer vision (pp. 446-461). Springer, Cham.