Semantic segmentation - эта задача попиксельной классификации изображений, то есть каждому пикселю нужно присвоить класс, например, "дорога", "автомобиль", "дерево". Решать её нужно в области беспилотного транспорта, контроля качества изделий, анализа медицинских изображений, обработки изображений со спутников.
Одна из недавних моделей, которая хорошо показала себя на этой задаче на разных датасетах - DeepLabv3+.
Как понятно из названия, она у разработчиков не первая 🙂 Их было 3 до этого: v1, v2, v3.
Все они используют atrous convolution. Этот термин взят из вейвлет-анализа и звучал как "algorithme à trous", где trous означает дыра. Еще называется dilated convolution. Фильтр умножается не на оригинальный сигнал, а на сигнал, взятый с определенным rate. Это то же самое, что использовать фильтр, прореженный нулями. Такой вид свертки позволяет получать информацию на разных масштабах изображения. "Масштаб" задается параметром rate.
Появлялись версии DeepLab так:
- DeepLabv1 2014 год - предложено использование atrous convolution;
- DeepLabv2 2016 год - atrous convolution используется в составе Atrous Spatial Pyramid Pooling, то есть параллельное использование слоев atrous convolution с разным rate - картинка внизу;
- DeepLabv3 2017 год - Atrous Spatial Pyramid Pooling объединяется с информацией уровня всего изображения - image-level feature;
- DeepLabv3+ 2018 год - добавляется decoder, предыдущая версия сети используется как encoder. Это позволяет лучше обрабатывать пиксели на границах объектов.
В последней версии DeepLabv3+ в качестве основы используется сеть Xception и предобучение на датасете JFT-300M. Особая прелесть, что открыты исходники на TensorFlow.
Бонусом небольшой обзор статей, включая методы, обогнавшие DeepLabv3+ на некоторых датасетах https://heartbeat.fritz.ai/a-2019-guide-to-semantic-segmentation-ca8242f5a7fc
DeepLabv1 - https://arxiv.org/pdf/1412.7062v4.pdf
DeepLabv2 - https://arxiv.org/pdf/1606.00915v2.pdf
DeepLabv3 - https://arxiv.org/pdf/1706.05587.pdf
DeepLabv3+ - https://arxiv.org/pdf/1802.02611v3.pdf
https://t.me/machine_learning_explained