Этот пост объясняет исследовательскую работу ERFNET, точную ConvNet в реальном времени для семантической сегментации.

Семантическая сегментация

Семантическая сегментация - это задача классификации каждого пикселя изображения по метке класса. Это задача классификации, но на уровне пикселей, а не на уровне изображения. Этикетки могут включать человека, машину, цветок, предмет мебели и т. Д. Например, на изображении ниже все автомобили будут иметь одинаковые метки. Однако можно различать объекты одного и того же класса, это называется сегментацией экземпляра. Например, на изображении с множеством автомобилей с помощью сегментации экземпляров можно различить каждый объект автомобиля.

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

Сверточные нейронные сети (CNN), изначально предназначенные для задач классификации, также обладают впечатляющими возможностями в решении сложных задач сегментации. Остаточные слои создали новую тенденцию в дизайне ConvNets. Их переформулировка сверточных слоев, чтобы избежать проблемы деградации глубоких архитектур, позволила нейронным сетям достичь очень высокой точности с большим количеством слоев.

Вычислительные ресурсы являются ключевыми факторами в беспилотных и автономных транспортных средствах. Алгоритмы не только должны работать надежно, но и должны работать быстро (в реальном времени), подходить для встроенных устройств из-за нехватки места (компактность) и иметь низкое энергопотребление, чтобы как можно меньше влиять на автономность транспортного средства. Учитывая разумное количество слоев, увеличение глубины за счет большего количества сверток дает лишь небольшой выигрыш в точности при значительном увеличении требуемых вычислительных ресурсов.

Остаточный слой

В документе предлагается новый дизайн архитектуры, который использует пропускные соединения и свертки с ядрами 1D. В то время как пропускаемые соединения позволяют сверткам изучать остаточные функции, которые облегчают обучение, одномерные факторизованные свертки позволяют значительно снизить вычислительные затраты, сохраняя при этом точность, аналогичную двухмерным.

Остаточные блоки позволяют сверточным слоям изучать остаточные функции. Например, на изображении выше x - входной вектор, а F (X) + x - выходной вектор вектора y. F (X) - функция невязки, которую необходимо изучить. Эта остаточная формулировка облегчает обучение и значительно снижает проблему деградации, присутствующую в архитектурах, которые складывают большое количество слоев.

Остаточные слои без узких мест

Могут быть два примера остаточного слоя: конструкция без узкого места с двумя витками 3x3, как показано на рис. 1 (a), и версия с узким местом, как показано на рис. 1 (b). Обе версии имеют одинаковое количество параметров и почти одинаковую точность. Однако узкое место требует меньше вычислительных ресурсов, и они более экономично масштабируются по мере увеличения глубины. Следовательно, конструкция узкого места широко применяется в современных сетях. Тем не менее, сообщалось, что сети ResNet без узких мест получают большую точность за счет увеличения глубины, чем версии с узкими местами, что указывает на то, что они не полностью эквивалентны и что конструкция узких мест по-прежнему страдает от проблемы деградации.

В документе предложена новая реализация остаточного слоя, которая разлагает двумерную свертку на пару одномерных сверток для ускорения и уменьшения параметров исходного слоя, не являющегося узким местом. Мы называем этот предлагаемый модуль «без узкого места-1D» (не-bt-1D), который изображен на рис. 1 (c). Этот модуль быстрее (как по времени вычислений) и имеет меньше параметров, чем конструкция с узким местом, сохраняя при этом способность к обучению и точность, эквивалентные модулю без узких мест.

Расширенные свертки

Расширенные свертки - это свертки, применяемые к входным изображениям с промежутками. Стандартная свертка - это односторонняя свертка. Расширенные свертки, отличные от стандартных, увеличивают восприимчивое поле сети. Расширенные свертки более эффективны с точки зрения вычислительных затрат и параметров, чем свертки с большим размером ядра. В статье предлагается сеть, использующая расширенную свертку.

Сетевая архитектура

В статье представлена ​​архитектура кодера-декодера для семантической сегментации. Сегмент кодера создает карты характеристик с субдискретизацией, а сегменты декодера повышают дискретизацию функций для соответствия разрешению входного изображения. Полная сетевая архитектура представлена ​​на рисунке 2.

использованная литература

  1. Https://pixabay.com/photos/traffic-locomotion-roadway-mobility-3612474/
  2. ERFNet: эффективная остаточная факторизованная ConvNet для семантической сегментации в реальном времени.
  3. https://i2.wp.com/miro.medium.com/max/395/0*oX5IPr7TlVM2NpEU.gif
  4. https://i2.wp.com/miro.medium.com/max/395/0*3cTXIemm0k3Sbask.gif