Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Филиппов / КЗ Филиппов.docx
Скачиваний:
28
Добавлен:
18.08.2022
Размер:
13.81 Mб
Скачать

Лекция 7. Сегментация и детекция Что такое задача сегментации? Какие бывают виды сегментации?

В компьютерном зрении, сегментация — это процесс разделения цифрового изображения на несколько сегментов (множество пикселей, также называемых суперпикселями). Цель сегментации заключается в упрощении и/или изменении представления изображения, чтобы его было проще и легче анализировать. Сегментация изображений обычно используется для того, чтобы выделить объекты и границы (линии, кривые, и т. д.) на изображениях. Более точно, сегментация изображений — это процесс присвоения таких меток каждому пикселю изображения, что пиксели с одинаковыми метками имеют общие визуальные характеристики.

Виды сегментации:

- Семантическая - разметка идет по классам объектов (человек, машина), классифицируется каждый пиксель

- Instance - каждый объект внутри одного класса выделяется отдельными сегментами. Например, если на изображении пять кошек, две собаки и десять растений, семантическая сегментация просто выделит все области, на которых есть кошки, собаки или растения, не разделяя отдельные объекты внутри каждого класса (определит, что на изображении есть кошки, собаки и растения), в то время как инстанс-сегментация выделит каждую кошку, собаку и растение как отдельный объект.

- Паноптическая - гибрид семантической и instance, когда есть объекты, которые нужно разделять между собой и классы фона (который не разделяется на объекты). Также в задаче паноптической сегментации каждому пикселю изображения должна быть присвоена ровно одна метка.

Опишите что такое полносверточная нейронная сеть (fully convolutional neural network)

Полносвёрточные сети — это особый тип искусственных нейронных сетей, результатом работы которых является сегментированное изображение оригинала, где искомые элементы уже выделены требуемым образом.

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

Что такое транспонированная свертка и для чего она нужна? Какие у нее есть альтернативы?

Обычная свертка может быть представлена как матричное умножение

на разреженную матрицу специального вида. Транспонированная свертка есть умножение на транспонированную матрицу. Транспонированную свертку можно рассматривать как расчет градиента обычной свертки (и это то, как ее обычно реализуют).

Что такое u-net? Опишите архитектуру и приведите примеры ее современных вариаций. Как обучают u-net?

U-net – полносверточная нейронная сеть, которая была создана в 2015 году для сегментации биомедицинских изображений.

Имеется две части: кодировщик (encoder) и декодировщик (decoder).

Кодировщик функционирует так, как пример FCN рассмотренный ранее – на выходе получается маленькая маска.

Декодировщик преобразует маленькую маску в маску, по размеру совпадающую со входом с помощью транспонированных сверток.

Выходы слоев кодировщика конкатенируются с соответствующими слоями декодировщика (skip connections). В отличие от ResNet, здесь это нужно, чтобы не терять информацию о входе (а не пробрасывать градиенты на ранние слои).

Существует много вариаций архитектуры U-net.

В качестве кодировщика можно применять предобученные на ImageNet сверточные сети (превратив их в полносверточные). Таким образом возможен transfer learning. Можно объединять выходы с разных уровней декодера, чтобы легче делать сегментацию на разных масштабах - это

называется Feature Pyramid Networks.

RefineNet - вариант U-net с более совершенным декодировщиком

Обучение

Можно обучать с лоссом – кросс-энтропией (как классификацию).

Альтернатива: обучать с лоссом Dice

Dice используют как прокси для оптимизации метрики IOU (intersection

over union), часто применяют в конце обучения. Так как, по сути, для U-net 1 пример это не 1 изображение, а 1 пиксель изображения (и его окрестность), на практике можно получить приемлемые результаты сегментации даже при малом (несколько десятков, сотен) числе примеров. В таком случае очень важно применять аугментации при обучении.

Соседние файлы в папке Филиппов