Статья посвящена сравнению архитектур нейронных сетей на примере задачи сегментации фигуры человека. Семантическая сегментация — важная область в сфере Computer Vision. Задачи сегментации решаются в таких проектах как: автономный транспорт, умный магазин и других. Смысл задачи состоит в нахождении множества пикселей, принадлежащих к интересующему объекту, на изображении. Лучше всего с этой задачей справляются сверточные нейронные сети. В статье подробно рассматриваются 3 предобученные сверточные нейронные сети, способные решать задачу семантической сегментации, а также сравнивает качество работы нейронных сетей между собой. Для каждой нейронной сети считается метрика “Pixel Accuracy” на тестовом датасете, состоящим из 100 изображений.
Ключевые слова: сверточные нейронные сети, Computer Vision (CV), сегментация.
Введение
Семантическая сегментация — очень важная и интересная задача в области CV. В рамках данной задачи алгоритму требуется найти так называемую “маску” объекта на изображении, то есть нужно выделить только те пиксели, которые принадлежат интересующему нас объекту, для дальнейшего оперирования ими. Данную задачу решают в таких проектах, как автоматического управления транспортом, обводки контуром фигуры человека на камерах слежения, замены фона за человеком на фотографии или видео и других. В статье представлено сравнение работы разных нейронных сетей в рамках решения задачи сегментации фигуры человека.
Нейронные сети
В сравнение использовались следующие нейронные сети: FCN-8s [1], DeepLabV3 [2], DeepLabV3 Plus [3]. Все нейронные сети были предобученны на датесете PascalVOC [4], в качестве функции потерь используется попиксельная кросс-энтропия.
FCN-8s [1] — полностью сверточная сеть, разработанная в 2015 году. Несмотря на свой возраст, все еще показывает хорошие результаты в задаче семантической сегментации. Преимуществом этой сети является использование информации, полученной на более ранних этапах свертки, это помогает лучше аккумулировать глобальную информацию.
DeepLabV3 [2] — сеть, использующая слой Atrous Convolution, появилась в 2016 году. Еще одним ее преимуществом является Atrous Spatial Pyramid Pooling(ASPP). ASPP помогает увеличить точность распознавания объектов одного класса при их разных размерах на изображении
DeepLabV3 Plus [3] — усовершенствованный вариант DeepLabV3 [2].
Данная сеть использует архитектуру encoder-decoder [5, 6], что повышает точность масок на границах объектов. В качестве encoder выступает сеть DeepLabV3 [2].
Датасет
В качестве тестового датасета использовался набор из 100 пар изображений и масок, взятых из тестового датасета COCO [7]. На всех тестовых масках был размечен только класс “человек”.
Метрика
Для оценки качества работы модели в задаче сегментации в обычно используют метрики Pixel Accuracy или mean IoU.
Pixel Accuracy — интуитивно понятная метрика. Состоит в том, чтобы просто сообщить процент пикселей в изображении, которые были правильно классифицированы. Считается она похожим образом, как и accuracy в классическом ML.
Mean Intersection over Union (mIoU) — измеряет общее количество пикселей между целевой и прогнозной масками, деленное на общее количество пикселей, присутствующих в обеих масках. IoU высчитывается для каждого класса отдельно, далее полученные результаты усредняются, так и получается метрика mean IoU.
Далее для сравнения нейронных сетей будет использоваться только метрика Pixel Accuracy, так как в тестовом датасете всего одна категория — “человек”.
Результаты
Таблица 1
Neural Networks |
Pixel Accuracy |
FCN |
93.8 |
DeepLabV3 |
94.0 |
DeepLabV3 Plus |
97.6 |
Рис. 1. Пример 1.
Рис. 2. Пример 2.
Рис. 3. Пример 3.
Как видно по таблице и на примерах, наилучший результат показывает DeepLabV3 Plus [3]. Данная нейросеть выдает наиболее чистые маски без фона и контуров. FCN [1] и DeepLabV3 [2] показывают себя примерно одинаково, что также видно по метрике Pixel Accuracy. Обе нейронные сети выдают грубую, но все же достаточно точную маску. На маске может присутствовать фон. Очень часто в маске можно увидеть контур у объекта.
Выводы
Как видно из проведенного исследования, нейронные сети хорошо справляются с задачей сегментации. Все модели в работе показали приемлемое качество работы. Также DeepLabV3 Plus [3] показал удивительную точность в построении масок, что ставит эту модель на первое место среди рассмотренных в данной статье.
Литература:
- Jonathan Long,Evan Shelhamer,Trevor Darrell.Fully Convolutional Networks for Semantic Segmentation. In: CVPR, 2015.
- Liang-Chieh Chen,George Papandreou,Florian Schroff, Hartwig Adam. Rethinking Atrous Convolution for Semantic Image Segmentation. arXiv preprint arXiv: 1706.05587, 2017.
- Liang-Chieh Chen,Yukun Zhu,George Papandreou,Florian Schroff, Hartwig Adam.Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. arXiv preprint arXiv: 1802.02611, 2018.
- Mark Everingham, S. M. Ali Eslami, Luc Van Gool, Christopher K. I. Williams, John Winn, Andrew Zisserman. The PASCAL Visual Object Classes Challenge: A Retrospective. International Journal of Computer Vision, 2015.
- Ronneberger, O., Fischer, P., Brox, T.: U-net: Convolutional networks for biomedical image segmentation. In: MICCAI, 2015.
- Badrinarayanan, V., Kendall, A., Cipolla, R.: Segnet: A deep convolutional encoder-decoder architecture for image segmentation. PAMI, 2017.
- Tsung-Yi Lin,Michael Maire,Serge Belongie,Lubomir Bourdev,Ross Girshick,JamesHays,Pietro Perona,Deva Ramanan,C. Lawrence Zitnick,Piotr Dollár.Microsoft COCO: Common Objects in Context. In: ECCV, 2014.