Семантическая сегментация
Задача семантической сегментации (semantic segmentation) изображений заключается в классификации каждого пикселя изображения по тому, объект какого класса на нём изображён.
Пример семантической сегментации для случая 3-х классов (человек, велосипед, фон) показан ниже (источник):
Обратим внимание, что в семантической сегментации разные представители класса не различаются. Поэтому в примере выше разные люди и велосипеды помечены одним классом. Это отличает с емантическую сегментацию от сегментации объектов (instance segmentation), описанную в отдельном разделе учебника.
Семантическая сегментация имеет многочисленные применения. Перечислим некоторые из них:
-
Выделение на аэрофотоснимках городских застроек, сельскохозяйственных угодий и необработанных человеком участков местности.
-
Сегментация болезненных участков на медицинских фотографиях и рентгеновских снимках.
-
В видеопотоке, снимаемом автоуправляемыми машинами (self-driving cars), сегментировать людей, другие транспортные средства, знаки, дорожные препятствия.
-
Сегментировать одежду на человеке для их замены в виртуальных примерочных (например, Amazon’s Virtual Mirror).
Ожидаемым выходом в задаче семантической сегментации является матрица того же пространственного размера, что и входное изображение, содержащая метки класса для каждого пикселя (источник):
Технически же нейросетевая модель, осуществляющая семантическую сегментацию, выдаёт тензор вероятностей классов размера , где - число классов, а и - пространственные размеры сегментируемого изображения (источник):
В примере этот тензор заполнен нулями и единицами, но в общем случае там будут стоять рейтинги классов, принимающие произвольные значения. К этим рейтингам в каждой пространственной позиции применяется операция SoftMax, чтобы перевести их в вероятности.