Изменения

Перейти к: навигация, поиск

Сегментация изображений

7166 байт добавлено, 09:17, 11 апреля 2020
Свёрточные нейронные сети
Результат работы данного алгоритма:
[[Файл:watches.png|880px|thumb|center|Источник: Shaw, D. and Barnes, N. «Perspective rectangle detection. In Workshop on Applications of Computer Vision.» [https://www.researchgate.net/publication/6975028_Hierarchy_and_adaptivity_in_segmenting_visual_scenes]]]
 
== Свёрточные нейронные сети ==
 
[[Файл:SegmentationExample.jpeg|300px|thumb|right|Пример семантической сегментации изображения]]
 
С учётом прогресса глубоких нейронных сетей за последние несколько лет в различных областях, лучшие результаты для семантической сегментации чаще всего достигаются при помощи [[:Сверточные_нейронные_сети|свёрточных нейронных сетей]], в том числе, когда данные [https://arxiv.org/abs/1502.02734 слабо размечены]. Действительно, проблема низкого уровня размеченности данных в семантической сегментации довольно важна, поскольку для каждого пикселя определить его принадлежность с высокой точностью {{---}} задача, требующая высоких затрат времени и не всегда высокую точность. Однако, сочетание хорошо размеченных данных со слабо размеченными данными (например, с точностью до ограничивающих рамок) улучшает производительность модели. Для задачи сегментации [https://arxiv.org/abs/1605.06211 хорошо себя показали] FCN (англ. fully-convolutional networks) {{---}} полносвёрточные сети, позволяющие работать с изображениями произвольного размера, а на выходе выдавать тепловую карту нахождения классов на изображении через серию свёрток. Поскольку свёртка над матрицей большой размерности с большим числом каналом является затратной, как правило, первая половина слоёв в таких свёрточных сетях обеспечивает сабсэмплинг (англ. subsampling - уменьшение размерности), а вторая часть слоёв - апсэмплинг (англ. upsampling - увеличение размерности). Таким образом, размерность изображений в пикселях на входе и на выходе сети является одинаковой, а большинство операций свёртки применяется к матрицам небольшой размерности. Конечная классификация достигается за счёт выбора максимума по классам из значений тензора размерности $C \times W \times H$, где $C$ {{---}} множество классов, заранее заданных перед обучением и к которым могут принадлежать пиксели изображения, $W \times H$ {{---}} размер изображения. Такую модель можно обучить при помощи [[:Обратное_распространение_ошибки|обратного распространения ошибок]], а в качестве функции потерь для пикселей использовать кросс-энтропию.
 
Модель [https://arxiv.org/abs/1505.04597 U-Net], разработанная авторами для сегментации биомедицинских изображений, улучшает архитектуру FCN путём использования сужающихся блоков свёртки для захвата контекста, расширяющихся блоков свёртки для локализации, а также прямых связей между блоками свёртки на одинаковых уровнях. Прямая связь слоёв обеспечивает улучшенное обучение за счёт отсутствия так называемого "артефакта шахматной доски" {{---}} негативного явления, вызванного апсэмплингом при помощи транспонированной свёртки. Развитием U-Net, в свою очередь модель [https://arxiv.org/abs/1611.09326 DenseNet], в которой используются полностью связанные свёрточные сети. В основе идеи лежит использование "плотных блоков" {{---}} совокупности нескольких свёрточных слоёв с подключением каждого слоя к каждому слою. Однако, существенным недостатком такой модели является низкая эффективность работы с памятью.
 
Совершенно по-иному на свёртку для сегментации объектов позволил взглянуть метод расширенных свёрток (англ. atrous convolutions), применяющийся в современных state-of-the-art подходах ([https://arxiv.org/abs/1606.00915 DeepLab], [https://arxiv.org/abs/1706.05587 DeepLab v3], [https://paperswithcode.com/paper/encoder-decoder-with-atrous-separable DeepLab v3+]). Расширенная свёртка заключается в том, чтобы применять свёртки с ядрами разного размера и разным страйдом над прямоугольниками с одним и тем же центром, а впоследствии комбинировать полученные таким образом признаки. Расширенные свёртки могут применяться как каскадно (последовательно регулируя показатель расширения фильтра), так и параллельно (англ. ASPP, Atrous Spatial Pyramid Pooling {{---}} применяя свёртки с различным масштабом ядер на одном и том же слое свёрточной сети с пулингом в конце). Такой подход позволил достичь лучших результатов в изображениях с объектами разных масштабов.
 
{|align="center"
|-valign="top"
|[[Файл:U-Net-RUS.png|300px|thumb|Архитектура слоёв свёртки U-Net]]
|[[Файл:AtrousConvolution-RUS.png|300px|thumb|Расширенная свёртка (atrous convolution) и пространственный пирамидальный пулинг (ASPP)]]
|}
 
== См. также ==
107
правок

Навигация