- В чём заключается задача сегментации
- Как подготавливается y_train для сегментации
- Какие архитектуры применяются для сегментации
Сегментация – это выделение объектов в исходных данных. Как отдельный класс сегментация изображений заключается в подсвечивании объектов на изображении, другими словами можно сказать, что сегментация изображений – это попиксельная классификация, где каждому пикселю объекта присваивается определенный класс.
Бывают:
- Semantic segmentation. Нейронная сеть на выходе для каждого пикселя выдаёт вероятность его принадлежности к каждому классу.
- Object recognition. Нейронная сеть получает на вход изображение с ровно одним объектом и возвращает координаты содержащего объект прямоугольника и его класс.
- Object detection. На картинке есть несколько объектов, сеть должна обвести прямоугольником и предсказать класс для каждого объекта. Заслуживают внимания архитектуры Faster R-CNN и YOLO.
- Instance segmentation. Самая сложная задача – объектов может быть несколько, причём надо отличать друг от друга разные экземпляры одного класса.
Сравнивая каждый пиксель выводимого сетью изображения (y_pred) с верным сегментированным изображением (y_true), мы находим ошибки, применяя функцию потери кросс-энтропии к каждому пикселю. Затем в модели вычисляются частные производные и пересчитываются веса нейронов для следующей итерации обучения.
https://colab.research.google.com/drive/1TaJzhhFB1GYQyNgb9-CeeLObYjiTy5rC
https://colab.research.google.com/drive/15YdJp_-Of5NLAaYSqsV9r_sFGHQma2-k
https://colab.research.google.com/drive/13QiBpQ9OeZVdrCU4stZqhXVjhux9uQAg
https://colab.research.google.com/drive/1ZqX6hJ-nov9Qmj_8Nj2uYmgTS3SVRUxn