Недавно я обучаю модель FCN и модель Mask R-CNN с целью сегментации изображений. Это для создания прототипа функции в клиентском приложении. Мы хотим знать, способны ли текущие модели обеспечить приемлемый уровень обслуживания клиентов.

Эта функция требует (примерно или, лучше, идеально) автоматически вырезать объекты из пользовательского изображения. Мы хотели бы использовать для этого сегментацию изображений или семантическую сегментацию. Короче говоря, семантическая сегментация может классифицировать, какие объекты находятся на изображении, путем определения точных пикселей объектов. Уже есть несколько статей, объясняющих, что такое семантическая сегментация, и ее текущий прогресс в области исследований компьютерного зрения.

Среди моделей семантической сегментации я выбираю FCN и Mask R-CNN для обучения и тестирования. FCN - это классический подход сквозной модели глубокого обучения для семантической сегментации. Маска R-CNN в последнее время привлекает внимание своей хорошей производительностью.

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

Mask R-CNN основан на Faster R-CNN, который представляет собой модель глубокого обучения для обнаружения возражений. R-CNN быстрее обнаруживает объекты (классификация) на изображении и находит ограничивающую рамку объектов (регрессия). Расширяя более быстрый R-CNN, Mask R-CNN предсказывает маску для каждой интересующей области (RoI). Таким образом, помимо класса объекта и местоположения ограничивающего прямоугольника, Mask R-
CNN также предсказывает пиксели каждого обнаруженного объекта.

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

Маска R-CNN обычно обеспечивает лучшее предсказание семантической сегментации, чем модель FCN. Ниже приведены результаты прогнозирования Mask R-CNN и FCN. Обратите внимание, что модель FCN обучается на CPU в течение многих дней, Mask R-CNN использует предварительно обученную модель и модель, обученную с нуля в течение 1 дня на графическом процессоре Nvidia M40.

Основываясь на документе, Mask R-CNN утверждает, что путем разделения маски и предсказания класса (поскольку Mask R-CNN имеет выделенную ветвь классификации, а также генерирует маски для каждого класса), она может выводить лучший результат предсказания маски.

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

В Mask R-CNN общие потери связаны с потерей ограничивающего прямоугольника, потерей класса и потерей маски. Для потери маски, учитывая RoI с наземным классом истинности k, мы учитываем только маску класса k при вычислении потери маски.