Перейти к основному содержимому

Меры качества семантической сегментации

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

Попиксельная точность

Самой простой мерой качества сегментации является попиксельная точность (pixel accuracy), т.е. доля верно классифицированных пикселей. Недостатком этой меры является завышенное качество, когда фон доминирует над целевым классом, что весьма типично. В этом случае мы будем получать высокие значения точности даже если модель все пиксели будет относить к фону!

IoU и Dice

Нам нужна мера, которая бы вычисляла качество предсказания именно целевого класса. Самой популярной мерой является мера Жаккара, в компьютерном зрении называемая Intersection-over-Union или IoU.

Пусть

  • YY - множество пикселей, реально принадлежащих целевому классу,

  • Y^\hat{Y} - множество пискселей, отнесённых моделью к целевому классу.

Тогда качество выделения целевого класса считается как

IoU=Y^YY^Y,IoU=\frac{|\hat{Y} \cap Y|}{|\hat{Y} \cup Y|},

что графически можно представить как

Также часто считают меру Dice:

Dice=2Y^YY^+Y,\text{Dice}=\frac{2|\widehat{Y}\cap Y|}{|\widehat{Y}|+|Y|},

которую графически выглядит как

Из определения следует, что обе меры принимают значения из отрезка [0,1], причем

  • 1 соответствует наилучшей сегментации (множества совпали),

  • 0 соответствует наихудшей сегментации (множества не умеют пересечения).

Если целевой класс обозначить положительным, а фон - отрицательным, то в терминах величин TP,TN,FP,FN эти меры запишутся как

IoU=TPTP+FP+FN\text{IoU} = \frac{TP}{TP+FP+FN} Dice=2TP2TP+FP+FN=112P^TP+12PTP=F-мера,\text{Dice}=\frac{2TP}{2TP+FP+FN}=\frac{1}{\frac{1}{2}\frac{\widehat{P}}{TP}+\frac{1}{2}\frac{P}{TP}}=\text{F-мера},

где

  • P^=TP+FP\hat{P}=TP+FP - число предсказаний целевого класса,

  • P=TP+FNP=TP+FN - число реальных пикселей целевого класса.

Поскольку в Dice и в числителе, и в знаменателе прибавляется величина TP, то Dice, по сравнению с IoU, будет слабее штрафовать в целом верно распознанные регионы целевого класса:

Dice=TP+TPTP+TP+FP+FN\text{Dice}=\frac{{\color{red}{\color{green}{\color{green}TP}+}TP}}{{\color{green}TP+}{\color{red}TP+FP+FN}}

По смыслу и IoU, и Dice измеряют одно и то же и связаны монотонным соотношением (докажите):

Dice=2IoUIoU+1Dice=\frac{2IoU}{IoU+1}

Сглаженные варианты IoU и Dice

Поскольку наша модель выдаёт не сами классы, а их вероятности, то имеет смысл обобщить меры IoU и Dice на оценку предсказываемых вероятностей, как показано на рисунке (источник):

Пусть теперь

  • YRH,WY\in \mathbb{R}^{H,W} - матрица истинной разметки, в которой 1 стоит в пикселях целевого класса, а 0 обозначает фон;

  • PRH×WP\in\mathbb{R}^{H\times W} - матрица, каждый элемент которой задаёт предсказанную вероятность целевого класса в каждом пикселе.

Тогда меру IoU можно применять как [1]:

IoUsoft1=Y,PY1+P1Y,P\text{IoU}_{soft}^1 = \frac{\langle Y,P\rangle}{||Y||_1+||P||_1-\langle Y,P \rangle} IoUsoft2=Y,PY22+P22Y,P\text{IoU}_{soft}^2 = \frac{\langle Y,P\rangle}{||Y||_2^2+||P||_2^2-\langle Y,P \rangle}

а меру Dice как

Dicesoft1=2Y,PY1+P1\text{Dice}_{soft}^1 = \frac{2\langle Y,P\rangle}{||Y||_1+||P||_1} Dicesoft2=2Y,PY22+P22\text{Dice}_{soft}^2 = \frac{2\langle Y,P\rangle}{||Y||_2^2+||P||_2^2}

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

В работе [1] применена ещё одна мера обобщения IoU на случай вероятностных прогнозов.

Пограничная IoU

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

Пусть

  • Br(Y)B_{r}(Y) - полоса ширины rr вокруг границы реальной маски YY.

  • Br(Y^)B_{r}(\hat{Y}) - полоса ширины rr вокруг границы предсказанной маски Y^\hat{Y}.

Тогда качество вдоль границ объектов можно оценивать, используя [2]

Trimap IoU=Br(Y)Y^Y(Br(Y)Y^)(Br(Y)Y)\text{Trimap IoU}=\frac{\left|{\color{red}B_{r}(Y)\cap}\widehat{Y}\cap Y\right|}{\left|\left({\color{red}B_{r}(Y)\cap}\widehat{Y}\right)\cup\left({\color{red}B_{r}(Y)\cap}Y\right)\right|} Boundary IoU=(Br(Y^)Y^)(Br(Y)Y)(Br(Y^)Y^)(Br(Y)Y)\text{Boundary IoU}=\frac{\left|\left({\color{red}B_{r}(\widehat{Y})\cap}\widehat{Y}\right)\cap\left({\color{red}B_{r}(Y)\cap}Y\right)\right|}{\left|\left({\color{red}B_{r}(\widehat{Y})\cap}\widehat{Y}\right)\cup\left({\color{red}B_{r}(Y)\cap}Y\right)\right|}

Average Precision

Можно варьировать порог вероятности α\alpha, начиная с которого пикселю будет назначаться целевой класс:

p(i,j)α  y^  (i,j)=1p(i,j)\ge \alpha \Longrightarrow \; \hat{y} \; (i,j)=1

При более низком пороге целевой класс будет назначаться более охотно и часто. Варьируя α\alpha будут изменяться меры Precision(α\alpha) и Recall(α\alpha).

Агрегированной мерой качества сегментатора для различных порогов будет кривая зависимости Precision(Recall), известная в литературе как precision-recall curve. Пример такой кривой для семантической сегментации приведён ниже (источник):

Агрегированной мерой качества для всевозможных порогов будет величина Average precision (AP), равная площади под графиком Precision(Recall).

Случай многих классов

Если производится сегментация на CC классов, то оценивают качества выделения каждого класса одной из вышеприведённых мер, а затем меры для каждого класса усредняют. В частности, величина Average Precision усреднённая по классам называется Mean Average Precision (mAP).

Литература

  1. Wang Z., Ning X., Blaschko M. Jaccard metric losses: Optimizing the jaccard index with soft labels //Advances in Neural Information Processing Systems. – 2024. – Т. 36.
  2. Cheng B. et al. Boundary IoU: Improving object-centric image segmentation evaluation //Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. – 2021. – С. 15334-15342.