Постобработка мультиклассовых прогнозов для сегментации изображения?

Мой FCN обучен обнаружению 10 различных классов и производит вывод 500x500x10 с каждым из окончательных измерений, являющихся вероятностями предсказания для другого класса.

Обычно я видел, например, использование одинакового порога 0.5, для бинаризации вероятностных матриц. Тем не менее, в моем случае это не совсем сократить, потому что IoU для некоторых классов увеличивается, когда порог 0.3 и для других классов это 0.8,

Следовательно, мне не нужно произвольно выбирать пороговое значение для каждого класса, а скорее использовать более вероятностный подход к завершению пороговых значений. Я думал об использовании CRF, но это также требует, чтобы пороговое значение уже было сделано. Есть идеи, как поступить?

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

1 ответ

CRF Постобработка Подход

Вам не нужно устанавливать пороги для использования CRF. Я не знаком ни с какими библиотеками Python для CRF, но в принципе вам нужно определить следующее:

  1. Распределение вероятностей по 10 классам для каждого из узлов (пикселей), которое является просто выходом вашей сети.
  2. Парные потенциалы: матрица 10*10, где элемент Aij обозначает "силу" конфигурации, в которой один пиксель принадлежит классу i, а другой - классу j. Если вы установите для потенциалов значение альфа (альфа >> 1) на диагонали и 1 в другом месте, то альфа - это сила регуляризации, которая обеспечивает согласованность прогнозов (если пиксель X принадлежит классу Y, то соседние пиксели Х чаще принадлежат к одному классу).

Это только один пример того, как вы можете определить свой CRF.

Подход к концу NN подход

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

Другие вопросы по тегам