Резюме
Сверточные сети — очень мощные модели видения в области иерархии признаков. Мы демонстрируем, что сквозные сверточные сети, обученные от пикселя к пикселю, превосходят самые современные в семантической сегментации. Наша основная идея состоит в том, чтобы построить «полностью сверточную» сеть, которая принимает входные данные любого размера и генерирует выходные данные соответствующих размеров посредством эффективного логического вывода и обучения. Мы определяем и специфицируем пространство полностью сверточных сетей, объясняя их применение в пространственном контексте задач плотного прогнозирования (предсказывая, к какому классу принадлежит каждый пиксель) и получая связи с предыдущими моделями. Мы адаптируем существующие классификационные сети (AlexNet [22], сеть VGG [34] и GoogLeNet [35]) к полностью свёрточным сетям и переносим их изученную производительность на задачу сегментации посредством тонкой настройки [5]. Затем мы определяем подобную пропуску архитектуру, которая объединяет семантическую информацию из глубоких и грубых слоев и репрезентативную информацию из мелких и тонких слоев для получения точных и мелких сегментов. Наша полностью сверточная сеть стала лучшим методом сегментации на PASCAL VOC (улучшение на 20 % по сравнению со средним значением IU в 62,2 % в 2012 году), NYUDv2 и SIFT Flow: для определения типичного времени изображения требуется менее 0,2 секунды.
1. Введение
Сверточные сети набирают обороты в сфере распознавания. Сверточные сети не только улучшили классификацию полной схемы [22, 34, 35], но также добились прогресса в локальной задаче структурированного вывода. Включает усовершенствования в области ограничивающих рамок обнаружения объектов [32, 12, 19], прогнозирования частей и ключевых точек [42, 26] и локальной связи [26, 10].
Естественный следующий шаг в переходе от грубого к точному выводу — делать прогнозы для каждого пикселя. Более ранние методы использовали сверточные сети для семантической сегментации [30, 3, 9, 31, 17, 15, 11], где каждый пиксель помечен как класс его вложенного объекта или области, но имеет недостаток, который устраняет эта работа.
Мы доказали, что через концы с концамиСверточные сети, обученные от пикселя к пикселю, превосходят самые современные методы семантической сегментации без дополнительного оборудования. Мы считаем, что это первый случай, когда сквозной (1) FCN обучается предсказаниям на уровне пикселей и на основе контролируемой предварительной обработки (2). Полная свертка предсказывает плотные выходные данные из входных данных произвольного размера на основе существующих сетей. Обучение и вывод могут быть выполнены один раз на полном графе с помощью интенсивных вычислений с прямой связью и обратного распространения. Слои повышающей дискретизации внутри сети могут прогнозировать на уровне пикселей и обучаться с помощью пула понижающей дискретизации.
Этот подход очень эффективен как поэтапно, так и полностью, устраняя проблемы параллелизма, встречающиеся в других подходах. Патч-обучение распространено [30, 3, 9, 31, 11], но ему не хватает эффективности обучения полной свертки. Наш подход не использует предварительную или постобработку для решения параллельных задач, включая суперпиксели [9, 17], предложения [17, 15], апостериорное уточнение или локальную классификацию [9, 17] через случайные поля. Наша модель трансплантирует недавний успех в классификации [22, 34, 35] в плотное предсказание путем переинтерпретации классификационных сетей в полностью сверточные сети и точной настройки их изученной производительности. Напротив, в предыдущей работе применялись мелкомасштабные сверточные сети без предварительной обработки суперпикселей.
Семантическая сегментация сталкивается с неотъемлемым противоречием между семантикой и местоположением: глобальная информация касается «что», а локальная информация касается «где». Глубокие функции кодируют местоположение и семантическую информацию с помощью нелинейных локально-глобальных пирамид. В разделе 4.2 (см. рис. 3) мы определяем межуровневую архитектуру, в которой используется спектр признаков, объединяющий глубокие и грубые слои семантической информации, а также поверхностные и тонкие слои репрезентативной информации.
В следующем разделе мы рассмотрим сети глубокой классификации, FCN и некоторые недавние связанные работы с использованием сверточных сетей для семантической сегментации. В следующих разделах будут объяснены дизайн FCN и компромиссы с плотным прогнозированием, представлена наша сетевая повышающая дискретизация и многоуровневая архитектура комбинирования, а также описана наша экспериментальная структура. Наконец, мы показываем экспериментальные результаты современного уровня техники на PASCAL VOC 2011-2, NYUDv2 и SIFT Flow.
2. Связанная работа
Наш подход основан на недавнем успехе глубоких сетей в классификации изображений [22, 34, 35] и трансферном обучении. Перенос был впервые продемонстрирован в различных задачах визуального распознавания [5, 41], а затем обнаружение не только в экземплярах, но и в семантической сегментации [12, 17, 15], объединенной с моделями предложения-классификации. Теперь мы реконструируем и настраиваем сети классификации для прямой, плотной семантической сегментации прогнозирования. В этой структуре мы отображаем пространство FCN и помещаем в него прошлые или недавние предшествующие модели.
Полностью сверточные сети. Поскольку их сетевая структура ограничена одномерной входной строкой, Матан и др. используют декодер для декодирования вывода. Вольф и Платт [40] расширили выходные данные сверточной сети, чтобы обнаружить двумерную карту угловых оценок блоков почтовых адресов. Эти предыдущие работы делают вывод и полностью сверточное обучение для обнаружения. [30] определили сверточную сеть для грубой многоклассовой сегментации ткани C. elegans на основе полностью сверточного вывода.
Полностью сверточные вычисления также используются в некоторых современных многоуровневых сетевых структурах. Обнаружение скользящего окна Сермане и др. [32], семантическая сегментация Пинерио и Коллоберта [31] и раскрашивание изображения Эйгеном и др. [6] — все они делают полностью сверточный вывод. Полностью сверточное обучение встречается редко, но Томпсон и др. [38] очень эффективно использовали его для изучения пространственной модели сквозного локального обнаружения и оценки положения, хотя они не объясняли и не анализировали этот метод.
Кроме того, He и др. [19] отбросили несверточную часть классификационной сети во время выделения признаков. Они объединяют предложения и объединение пространственных пирамид для создания локального объекта фиксированной длины для классификации. Несмотря на быстроту и эффективность, такие гибридные модели не могут быть изучены от начала до конца.
Плотное предсказание на основе сверточных сетей В некоторых недавних работах сверточные сети применялись к проблеме плотного предсказания, включая семантическую сегментацию Нина и др. [30], Фарабет и др. [9], Пинейро и Коллоберта [31], Ciresan и др. , для прогнозирования границ с помощью электронной микроскопии [3] и Ганин и Лемпицкий [11] для обработки изображений естественной сцены с помощью гибридной сверточной сети и модели ближайшего соседа, а также Эйген и др. [6,7] для раскрашивания изображения и оценки глубины. Сходства между этими методами включают следующее:
- Маленькие модели с ограниченной емкостью и рецептивными полями
- лоскутное обучение [30,3,9,31,11]
- Предварительная обработка суперпиксельных проекций, регуляризация случайных полей, фильтрация или локальная классификация [9,3,11]
- Чередующийся вывод со сдвигом ввода и плотным выводом [32,31,11]
- Многомасштабная пирамидальная обработка [9,31,11]
- Насыщенная нелинейность гиперболического тангенса [9,6,31]
- интеграция [3,11]
Однако в нашем методе такого механизма нет. Но мы изучаем обучение с использованием патчей (раздел 3.4) и плотный вывод «сдвиг и стежок» с точки зрения FCN (раздел 3.2). Мы также обсуждаем повышающую дискретизацию в сети (раздел 3.3), частным случаем которой является полносвязное предсказание Эйгена и др. [7].
В отличие от этих существующих методов, мы адаптируем и расширяем архитектуру глубокой классификации, используя классификацию изображений в качестве контролируемой предварительной обработки и входные данные из всех изображений и основных истин (для точности классификации обучающего набора с учителем). Простое и эффективное обучение с полностью тонкой сверточной настройкой.
Харихаран и др. [17] и Гупта и др. [15] также адаптировали сети глубокой классификации к семантической сегментации, но также сделали это в модели гибридного предложения-классификатора. Эти методы точно настраивают систему R-CNN [12] путем выборки ограничивающих рамок и предложений регионов для обнаружения, семантической сегментации и сегментации экземпляров. Ни один из подходов не обеспечивает непрерывного обучения. Они достигают наилучших результатов сегментации на PASCAL VOC и NYUDv2 соответственно, поэтому в разделе 5 мы напрямую сравниваем наш автономный сквозной FCN с их результатами семантической сегментации.
Мы определяем нелинейное локально-глобальное представление для сквозной координации путем охвата слоев и объединения объектов. В настоящей работе Харихаран и др. [18] также используют несколько уровней в гибридной модели для семантической сегментации.
3. Полностью сверточные сети
Данные каждого слоя сверточной сети представляют собой трехмерный массив h*w*d, где h и w — пространственные размеры, а d — размер объекта или канала. Первый слой представляет собой изображение с размером пикселя h*w и количеством цветовых каналов d. Положения высокого уровня соответствуют их связанным местам на изображении и называются рецептивным полем.
Сверточные сети основаны на трансляционной инвариантности. Его основные компоненты (функции свертки, объединения и активации) действуют на локальную входную область и полагаются только на относительные пространственные координаты. В определенном слое X_ij является вектором данных в координате (i, j), в следующем слое есть Y_ij, а формула расчета Y_ij выглядит следующим образом:
где k — размер ядра свертки, s — шаг или коэффициент понижающей дискретизации, а f_ks определяет тип слоя: матричное умножение сверток или среднее объединение, максимальное пространственное значение для максимального объединения или функция активации. другой вид слоя и т.д.Когда размер ядра и шаг следуют правилам преобразования, эта функциональная форма выражается как:
Когда обычная глубокая сеть вычисляет нормальную нелинейную функцию, сеть только со слоями этой формы вычисляет нелинейную фильтрацию, мы называем это глубокой фильтрацией или полностью сверточной сетью. FCN должны иметь возможность вычислять входные данные произвольного размера и создавать выходные данные соответствующих (возможно, передискретизированных) пространственных измерений.Функция потерь с действительным знаком имеет задачу, определенную FCN. Если функция потерь представляет собой сумму пространственных размеров последнего слоя,
, его градиент будет суммой градиентов его пространственной композиции для каждого слоя. Таким образом, вычисление стохастического градиентного спуска на основе l для всех изображений будет таким же, как результат градиентного спуска на основе l', с использованием всех рецептивных полей последнего слоя в виде мини-пакетов.В тех случаях, когда эти рецептивные поля сильно перекрываются, как расчеты с прямой связью, так и вычисления с обратным распространением по всему графу намного эффективнее, чем независимый патч за патчем.
Далее мы объясним, как преобразовать классификационную сеть в полностью сверточную сеть, которая создает грубую выходную карту. Для прогнозирования на уровне пикселей нам нужно связать эти грубые выходные данные с пикселями. Раздел 3.2 описывает метод, посредством которого вводится быстрое сканирование [13]. Мы получили некоторое представление об этой технике, интерпретируя ее как эквивалентную модификацию сети. В качестве эффективной альтернативы мы вводим слои деконволюции для повышающей дискретизации, см. раздел 3.3. В Разделе 3.4 мы рассматриваем обучение с помощью выборки фрагментов и демонстрируем в Разделе 4.3, что наше обучение с полной схемой быстрее и одинаково эффективно.
3.1 Адаптация классификации для плотного прогнозирования
Типичные сети распознавания, в том числе LeNet [23], AlexNet [22] и некоторые преемники [34, 35], якобы принимают входные данные фиксированного размера и производят непространственные выходные данные. Полносвязные слои этих сетей имеют определенное количество битов и отбрасывают пространственные координаты. Однако эти полносвязные слои также рассматриваются как свертки ядра, охватывающие всю входную область. Их необходимо ввести в полностью сверточную сеть, которая может принимать входные данные любого размера и выводить классификационную карту. Это преобразование показано на рисунке 2.
Кроме того, хотя результирующий график эквивалентен оценке исходной сети по конкретным входным участкам, вычисления сильно амортизируются по перекрывающимся областям этих участков. Например, в то время как AlexNet требуется 1,2 мс (на стандартном графическом процессоре) для вывода оценки классификации изображения 227x227, полностью сверточной сети требуется 22 мс для создания выходной сетки 10x10 из изображения 500x500, что более чем в 5 раз быстрее, чем наивный метод. .
Пространственная выходная карта этих сверточных режимов может использоваться как естественный выбор для плотных задач, таких как семантическая сегментация. Поскольку для каждой выходной единицы доступна наземная правда, как прямые, так и обратные методы являются простыми, используя присущую вычислительную эффективность (и значительную оптимизацию) сверток. Для примера AlexNet время соответствующего обратного метода составляет 2,4 мс для одного изображения, а выходное изображение 10 * 10 полной свертки составляет 37 мс, Результат быстрее, чем прямой метод.
Когда мы переинтерпретируем классификационную сеть как полностью сверточный выходной граф домена произвольного выходного размера, выходная размерность также значительно уменьшается за счет понижения дискретизации. Понижающая дискретизация сети классификации позволяет уменьшить размер фильтра, сохраняя при этом разумные вычислительные требования. Это огрубляет выходные данные полностью сверточной сети за счет уменьшения размера входных данных на коэффициент, равный шагу пикселя рецептивного поля выходного блока.
3.2 Сдвиг и стежок - это разреженный фильтр
Плотные прогнозы могут быть получены из грубых выходных данных путем объединения выходных данных из переведенных версий входных данных. Если выходные данные уменьшены на коэффициент f, сдвиньте входные x пикселей влево и y пикселей вниз, по одному разу для каждого (x,y) 0
Хотя простое выполнение этого преобразования увеличивает стоимость этого коэффициента f^2, существует хорошо известный прием, позволяющий эффективно получить точно такой же результат [13, 32], который называется пористым алгоритмом в поле вейвлета [27]] . Рассмотрим входной шаг s в слое (свертке или объединении), за которым следует сверточный слой с весами фильтра f_ij (игнорируя нерелевантные размеры объектов). Установка входного шага нижнего слоя на l повышает его выходную частоту на импакт-фактор s. Однако свертка исходного отфильтрованного и обработанного с повышением дискретизации вывода не дает того же результата, что и сдвиг и сшивание, поскольку исходный отфильтрованный видит только уменьшенную часть (с повышением дискретизации) ввода. Чтобы воспроизвести этот трюк, выполните разреженную фильтрацию путем расширения следующим образом:
Если s делится на i и j, если i и j оба не равны 0. Воспроизведение полного сетевого вывода этого метода требует повторения послойного усиления этого фильтра до тех пор, пока не будет удалено все понижение частоты дискретизации. (В упражнении может быть более эффективно обрабатывать версию входных данных с повышенной дискретизацией с пониженной частотой дискретизации.)
Уменьшение субдискретизации внутри сети — это компромисс: фильтр может видеть более подробную информацию, но принимающее поле меньше и требует больше времени для вычисления. Техника Shift-and-stitch — еще один компромисс: вывод более плотный и не уменьшает восприимчивое поле фильтра, но фильтр не может воспринимать более точную информацию, чем исходная конструкция.
Хотя мы провели предварительные эксперименты с этим трюком, мы не использовали его в нашей модели. Как описано в следующем разделе, мы обнаружили, что обучение на основе повышения дискретизации является более эффективным и действенным, особенно в сочетании с межуровневым слиянием, как описано далее.
3.3 Апсемплинг — это обратная свертка
Другой способ связать грубый вывод с плотными пикселями — это интерполяция. Например, простая билинейная интерполяция вычисляет каждый выход y_ij из ближайших четырех входов линейного графа, который зависит только от относительных положений входных и выходных единиц.
В некотором смысле повышающая дискретизация с сопряженным фактором f является операцией свертки над дробным входом с шагом 1/f. Пока f является целым числом, естественный способ повышающей дискретизации — выполнить обратную свертку (иногда называемую деконволюцией) с выходным шагом, равным f. Реализация такой операции не важна, потому что она просто меняет местами прямой и обратный методы свертки. Таким образом, повышающая дискретизация используется для сквозного обучения в сети путем обратного распространения потерь на уровне пикселей.
Обратите внимание, что фильтрация деконволюции на этом уровне не обязательно должна быть инвариантной (например, билинейная повышающая дискретизация), но ее можно изучить. Куча слоев деконволюции и функций активации могут даже обучить своего рода нелинейной повышающей дискретизации.В наших экспериментах мы обнаружили, что повышающая дискретизация в сети является быстрой и эффективной для обучения плотному предсказанию. В нашей лучшей архитектуре сегментации эти слои используются для изучения повышения частоты дискретизации для точной настройки прогнозов, см. Раздел 4.2.
3.4 Patchwise-обучение — это выборка с потерями
В стохастической оптимизации при вычислении градиента преобладает обучающее распределение. Патч-обучение и полностью сверточное обучение можно использовать для создания произвольных распределений, хотя их относительная вычислительная эффективность зависит от перекрывающейся области и размера мини-пакета. Полностью сверточное обучение по всему изображению (или набору изображений) эквивалентно пэтч-обучению при потере изображения (или набора изображений) в каждой партии, состоящей из рецептивных полей всех единиц. Хотя этот подход более эффективен, чем равномерная выборка исправлений, он уменьшает количество возможных пакетов. Однако случайно выбранные фрагменты изображения может быть проще найти снова. Ограничение потерь, вызванных случайной выборкой подмножества на основе его пространственного положения (или, можно сказать, применением маски DropConnect [39] между входом и выходом), исключает патчи из вычисления градиента.
Если сохраненные патчи все еще имеют значительное перекрытие, полное вычисление свертки все равно ускорит обучение. Пакеты могут содержать патчи из нескольких графиков, если градиенты накапливаются в нескольких инверсиях.Выборка при частичном обучении исправляет несоответствие классификации [30, 9, 3] и смягчает эффекты плотных пространственных корреляций [31, 17]. При полностью сверточном обучении баланс класса также может быть достигнут путем взвешивания потерь, а выборка потерь может использоваться для выявления пространственных корреляций.
Мы изучали обучение с выборкой в разделе 4.3 и не обнаружили более быстрой или лучшей сходимости для плотного прогнозирования. Полная схема обучения эффективна и действенна.
4 Раздельная архитектура
Мы применяем классификацию ILSVRC к FCN, чтобы увеличить их для плотного прогнозирования в сочетании с повышающей дискретизацией в сети и потерями на уровне пикселей. Мы обучаем сегментации путем тонкой настройки. Затем мы добавляем перекрестные слои, чтобы объединить грубые, семантические и локальные представления. Эта межуровневая архитектура обучается от начала до конца, чтобы улучшить семантические и пространственные прогнозы выходных данных.
С этой целью мы тренируемся и проверяемся на задаче сегментации PASCAL VOC 2011 [8]. Мы обучаем попиксельные полиномиальные логистические потери и метрику критерия проверки среднего пересечения пикселей в наборе и на основе среднего приема по всем классам, включая фон. Это обучение игнорирует пиксели, которые затемнены (размыты или трудно распознаются) в истинном свете.
Примечание. В этот метод включены не все возможные патчи, потому что рецептивное поле последнего блока слоя основано на фиксированной сетке с шагом. Однако случайный перевод изображения влево или вниз, близкий к единицам размера шага, случайным образом выбирая из всех возможных патчей, может решить проблему.
【Исходное изображение】
4.1 От классификации к плотному FCN
Мы демонстрируем архитектуру классификации со сверткой в разделе 3. Мы считаем, что архитектура AlexNet3 [22], которая выиграла ILSVRC12, исключительно хорошо работает на ILSVRC14, как сети VGG [34] и GoogLeNet4 [35]. Мы выбираем 16-уровневую сеть VGG 5 и обнаруживаем, что она сравнима с 19-уровневой сетью для этой задачи (классификация). Для GoogLeNet мы используем только последний уровень потерь, что повышает производительность за счет отказа от последнего среднего уровня пула. Мы отсекаем голову каждого слоя, отбрасывая окончательную классификацию, а затем преобразуем полносвязные слои в сверточные слои. Мы добавляем свертку 1*1 с размером канала 21, чтобы предсказать оценку для каждого класса PASCAL (включая фон) в каждом месте грубого вывода, за которым следует слой деконволюции для билинейного вывода грубой повышающей дискретизации до плотного вывода пикселей, как описано в разделе 3.3. В таблице 1 результаты предварительной проверки сравниваются с основными характеристиками каждого слоя. Мы обнаружили, что наилучшие результаты были получены при фиксированной скорости обучения (минимум 175 эпох).
Тонкая настройка от классификации к сегментации дает разумный прогноз для каждого уровня сети. Даже самая плохая модель обеспечивает примерно 75% хорошей производительности. Сеть VGG со встроенной сегментацией (FCN-VGG16) достигла современного состояния со средним IU 56,0 на val по сравнению с 52,6 [17]. Обучение дополнительным данным улучшает FCN-VGG16 до 59,4 и FCN-AlexNet до 48,0. Несмотря на такую же точность классификации, наши результаты сегментации с GoogLeNet несопоставимы с результатами VGG16.
4.2 Сочетание «что» и «где»
Мы определяем новую полностью сверточную сеть, чтобы объединить сегментацию на уровне объектов и улучшить пространственную точность выходных данных, см. рис. 3.Хотя полностью сверточные классификаторы можно точно настроить для сегментации, как показано в разделе 4.1, и даже получить более высокие баллы по стандартным метрикам, их выходные данные не очень грубы (см. рис. 4). 32-пиксельный шаг конечного слоя прогнозирования ограничивает размер деталей входных данных с повышенной дискретизацией.
Мы предлагаем добавить межуровневую информацию, которая объединяет последний слой предсказания и нижние слои с более мелкими шагами [1], преобразуя линейную топологию в DAG (направленный ациклический граф), а границы будут идти от нижних слоев вперед, переходить выше (рис. 3). Поскольку они получают только меньше пикселей, более точные прогнозы размера должны требовать меньшего количества слоев, поэтому имеет смысл выводить их из более мелких сетей. Сочетание тонких и грубых слоев позволяет модели делать локальные прогнозы, соответствующие глобальной структуре. Подобно струе Кендерика и Дорна [21], мы называем этот слой нелинейных признаков глубокой струей.
Сначала мы делим выходной шаг пополам и предсказываем через 16-пиксельный слой шага. Мы добавляем сверточный слой 1*1 поверх pool4, чтобы генерировать дополнительные предсказания класса. Мы объединяем выходные данные и прогнозы поверх conv7 (свертка fc7) с шагом 32, добавляя слой двукратной повышающей дискретизации и суммируя прогнозы (см. рис. 3). Мы инициализируем это двукратное повышение дискретизации до билинейной интерполяции, но позволяем изучить параметры, как описано в разделе 3.3 Наконец, предсказание с шагом 16 подвергается повышающей дискретизации обратно в изображение, и мы называем эту чистую структуру FCN-16s. FCN-16 используются для сквозного обучения и могут быть инициализированы окончательными параметрами. Этот новый параметр, влияющий на pool4, инициализируется равным 0, поэтому сетевая структура начинается с неизмененных прогнозов. Скорость обучения снижается в 100 раз.
Изучение этой межуровневой сети улучшается до 62,4 при эффективном наборе 3,0 средних IU. Рисунок 4 демонстрирует улучшение выходных данных тонкой структуры. Мы сравнили обучение этого ансамбля с обучением только на слоях pool4, и результаты были плохими, и только снижение скорости обучения без увеличения количества перекрестных слоев не приводило к значительному улучшению производительности без улучшения качества вывода.
Мы продолжаем объединять pool3 и прогноз с двукратным повышением дискретизации, который объединяет pool4 и conv7 для построения сетевой структуры FCN-8. Мы получаем небольшой дополнительный прирост до 62,7 в среднем, а затем обнаруживаем небольшой прирост плавности и детализации вывода. В настоящее время наше улучшение слияния получило обратную связь затухания, что отражается не только в уровне выделения крупномасштабной правильной метрики IU, но и в улучшении значимости, как показано на рисунке 4, поэтому даже на нижних слоях мы не требуется продолжение интеграции.
Уточнение с помощью других средств Уменьшение размера шага объединяющего слоя — самый простой способ получить точные прогнозы. Однако это создает проблемы для нашей сети на основе VGG16. Установка шага pool5 в 1 требует, чтобы размер ядра нашей свертки fc6 был 14 * 14, чтобы поддерживать размер его рецептивного поля. В дополнение к их вычислительной стоимости обучение с такими большими фильтрами очень сложно. Мы попытались реконструировать слои выше pool5 с меньшими фильтрами, но не получили сравнимых результатов; возможное объяснение состоит в том, что ILSVRC очень важен при инициализации верхних слоев.
Еще один способ получить точные прогнозы — использовать метод сдвига и сшивания, описанный в разделе 3.2. В ограниченных экспериментах мы обнаружили, что скорость повышения скорости от этого метода дороже, чем метод плавного слоя.
4.3 Экспериментальная структура
Оптимизация Мы тренировали GSD с импульсом. Мы используем размер мини-пакета из 20 изображений, а затем фиксированные скорости обучения 10-3, 10-4 и 5-5 для FCN-AlexNet, FCN-VGG16 иFCN-GoogLeNet, выбранные их соответствующими линейными поисками. Мы воспользовались импульсом 0,9, снижением веса на 5-4 или 2-4 и удвоили скорость обучения для смещения, хотя мы обнаружили, что обучение чувствительно только к скорости обучения. Мы инициализируем нулевыми уровнями оценивающие слои класса, а случайная инициализация не дает ни лучшей производительности, ни более быстрой сходимости. Выпадение включено в сеть, используемую для исходной классификации.
Тонкая настройка Мы точно настраиваем все слои всей сети с помощью обратного распространения. После сравнения в Таблице 2 эффективность классификации выходных данных одной тонкой настройки составляет всего 70% от полной тонкой настройки. Учитывая время, необходимое для изучения базовой сети классификации, обучение с нуля невозможно. (Обратите внимание, что обучение сети VGG происходит поэтапно, когда мы инициализируем из полных 16 слоев). Для грубых FCN-32 на одном графическом процессоре тонкая настройка заняла три дня, и примерно через день обновление до версий FCN-16 и FCN-8.
Дополнительные обучающие данные Учебный набор PASCAL VOC 2011 для сегментации 1112 меток изображений. Харихаран и др. [16] собрали метки для большего набора из 8498 обучающих изображений PASCAL, которые использовались для обучения предыдущей современной системы SDS [17]. Данные обучения улучшают оценку FCV-VGG16 на 3,4 процентных пункта до 59,4.
Выборка патчей Как объяснялось в разделе 3.4, наши пакеты полных изображений эффективно обучают каждое изображение в регулярные, большие, перекрывающиеся сетки патчей. И наоборот, предыдущая работа случайных выборок патчей по всему набору данных [30, 3, 9, 31, 11], что может привести к партиям с более высокой дисперсией, возможно, ускоряя сходимость [24]. Мы исследуем этот компромисс путем пространственной выборки потерь, описанных ранее, делая независимый выбор игнорировать каждую последнюю единицу слоя с вероятностью 1 p. Чтобы избежать изменения эффективного размера пакета, мы одновременно увеличиваем количество изображений в пакете с коэффициентом 1/p. Обратите внимание, что эта форма выборки отбраковки по-прежнему быстрее, чем обучение с патчами для достаточно больших значений p из-за эффективности свертки (например, по крайней мере p> 0,2 в зависимости от числа в разделе 3.1), Рисунок 5 показывает это. конвергентная выборка. Мы обнаружили, что выборка не оказывает значительного влияния на скорость сходимости по сравнению с полным обучением по схеме, но, поскольку для каждой партии требуется большое количество изображений, это занимает значительно больше времени.
Сбалансированное по классам обучение полной свертке может сбалансировать классы путем выборки по весу или по потерям. Хотя наши ярлыки немного несбалансированы (около 3/4 — это фон), мы считаем, что баланс классов не нужен.Оценка плотного предсказания преобразуется в выходное измерение слоями деконволюции в сети. Фильтр деконволюции последнего слоя фиксируется на билинейной интерполяции, в то время как промежуточный уровень дискретизации инициализируется на билинейную повышающую дискретизацию, а затем изучается. Увеличение. Мы пытаемся увеличить тренировочные данные путем случайного отражения, «растягивая» изображения, преобразовывая их в 32 пикселя (самый грубый предсказанный размер) в каждом направлении. Это не заметное улучшение.Реализация Все модели обучаются и изучаются с помощью Caffe [20] на одном NVIDIA Tesla K40c.
5 результатов
Мы обучаем FCN семантической сегментации и разбору сцен, а также изучаем PASCAL VOC, NYUDv2 и SIFT Flow. Хотя эти задачи ранее в основном использовались для объектов и областей, мы последовательно относимся к ним как к предсказаниям пикселей. Мы проводим тесты на обоих этих наборах данных, чтобы оценить нашу межуровневую архитектуру FCN, а затем расширяем ее до многомодельного вывода для NYUDv2 и многозадачной семантики, а также устанавливаем метки для SIFT Flow.
мераМы предлагаем четыре метрики из общих оценок семантической сегментации и синтаксического анализа сцены, которые отличаются точностью пикселей и пересечением областей соединения. Пусть n_ij будет количеством пикселей класса i, которые, по прогнозам, будут классом j, существует n_ij разных классов, пусть
- общее количество пикселей категории i. Мы рассчитаем:
PASCAL VOC В таблице 3 представлены характеристики наших FCN-8 на тестовых наборах PASCAL VOC2011 и 2012, а затем они сравниваются с предыдущими современными методами SDS [17] и хорошо известным R-CNN [12]. Мы достигли наилучших результатов в среднем по МЕ с относительным улучшением на 20%. Время вывода сокращается в 114 раз (только сверточные сети, без предложений и тонкой настройки) или в 286 раз (все).
NVUDv2 [33] представляет собой набор данных RGB-D, собранный с использованием Microsoft Kinect с попиксельными метками, которые были включены в задачу семантической сегментации с 40 категориями Гупта и др. [14]. Мы сообщаем результаты на основе стандартного разделения 795 изображений и 654 тестовых изображений. (Примечание: все выбранные модели будут представлены на выставке PASCAL 2011). В таблице 4 представлены характеристики нашей модели в некоторых вариантах. Сначала мы обучаем нашу немодифицированную грубую модель (FCN-32s) на изображениях RGB. Чтобы добавить информацию о глубине, мы обучаем модель масштабироваться, чтобы принимать входные данные 4-канального RGB-D (раннее слияние). Это обеспечивает небольшое удобство, возможно, из-за сложности модели, которая должна все время распространять значимые градиенты. Следуя успеху Гупты и др. [15], мы пытаемся закодировать глубину HHA в 3-х измерениях и обучаем сеть только на этой информации (т.е. глубине), а также на «позднем слиянии» RGB и HHA из прогнозы в обеих сетях. Суммирование будет выполнено на последнем уровне, и результирующая двухпоточная сеть будет изучена сквозным образом. Наконец, мы обновляем эту сеть позднего синтеза до версии с 16 шагами.
SIFT Flow представляет собой набор данных из 2688 изображений с пиксельными метками для 33 семантических категорий («мост», «гора», «солнце») и 3 геометрических категорий («горизонтальная», «вертикальная» и «небо»). То же самое. FCN может естественным образом изучать общие представления, то есть может предсказывать оба класса меток одновременно. Мы изучаем двунаправленную версию FCN-16, сочетающую семантические и геометрические слои предсказания и потери. Эта обученная модель хорошо работает как независимая обучающая модель для обеих задач, в то время как она обучается и делает выводы практически так же быстро, как и любая независимая модель. Результаты в таблице 5 показывают, что вычисление выполняется при стандартном разделении 2488 обучающих изображений и 200 тестовых изображений и очень хорошо справляется с обеими задачами.
6. Заключение
Полностью сверточные сети являются очень важной частью модели и частным случаем современных сетей классификации. Признавая это, расширение этих классификационных сетей для сегментации и включения слоев с несколькими разрешениями значительно улучшает передовые методы, упрощая и ускоряя обучение и выводы.
Благодарность Эта работа частично поддерживается программами DARPA MSEE и SMISC, наградами NSF IIS-1427425, IIS-1212798, IIS-1116411 и NSF GRFP, Toyota и Berkeley Vision and Learning. Центр. Мы очень благодарны NVIDIA за предоставленные графические процессоры. Мы благодарим Бхарата Харихарана и Саурабха Гупту за их предложения и инструменты набора данных; мы благодарим Серхио Гвадарраму за рефакторинг GoogLeNet в Caffe; мы благодарим Джитендру Малик за полезные комментарии; и Вей Лю за указание на один из наших расчетов IU среднего потока SIFT Проблемы и ошибки в формула взвешенных по частоте средних МЕ.
Приложение A Верхняя граница МЕ
В этой статье мы достигли хороших результатов по средней метрике сегментации IU даже для грубых семантических прогнозов. Чтобы лучше понять метрику и ограничения этого подхода, мы вычисляем приблизительные верхние границы эффективности прогнозов в разных масштабах. Мы моделируем, что наилучшие результаты могут быть получены путем понижения разрешения исходных изображений, а затем их повторного повышения с определенным коэффициентом понижения разрешения. В таблице ниже приведены средние значения IU для подмножества значений PASCAL2011 для различных факторов понижения дискретизации. Совершенно очевидно, что предсказания с точностью до пикселя не нужны для достижения наилучших результатов, и, наоборот, среднее IU не является хорошей мерой мелкозернистой точности.
Приложение B Дополнительные результаты
Мы проводим дальнейшую оценку, используя наш FCN для семантической сегментации.PASCAL-Context [29] предоставляет полные аннотации сцен для PASCAL VOC 2011. Существует более 400 различных категорий, и мы следовали 59 наиболее часто цитируемым задачам, определенным в [29]. Мы тренируем и оцениваем тренировочный и валовый наборы отдельно. В таблице 6 мы объединим объект и свертку.
Сравните с вариацией Feature Masking [4], которая является предыдущим лучшим методом для этой задачи. FCN-8 в среднем набрали 37,8 МЕ, относительное улучшение на 20%.
журнал изменений
Версия статьи в формате arXiv постоянно обновляется с исправлениями и другими соответствующими материалами, за которыми следует краткая история изменений.v2 Добавлены Приложение A и Приложение B. Исправлено допустимое количество PASCAL (ранее некоторые val изображения были включены в обучение), SIFT Flow Average IU (с использованием менее канонической метрики) и ошибка в формуле для частотно-взвешенного среднего IU. Добавлена ссылка на модель и время обновления, чтобы отразить улучшенную реализацию (общедоступно).
использованная литература
[1] C. M. Bishop. Pattern recognition and machine learning,page 229. Springer-Verlag New York, 2006. 6
[2] J. Carreira, R. Caseiro, J. Batista, and C. Sminchisescu. Semantic segmentation with second-order pooling. In ECCV,2012. 9
[3] Чиресан Д. К., Джусти А., Гамбарделла Л. М., Шмидхубер Дж. Глубокие нейронные сети сегментируют мембраны нейронов на изображениях, полученных с помощью электронной микроскопии, В NIPS, стр. 2852–2860, 2012. 1, 2, 4, 7
[4] J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. arXiv preprint arXiv:1412.1283, 2014. 9
[5] J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang,E. Tzeng, and T. Darrell. DeCAF: A deep convolutional activation feature for generic visual recognition. In ICML, 2014.1, 2
[6] Эйген Д., Кришнан Д., Фергус Р. Восстановление изображения, снятого через окно, покрытое грязью или дождем, In Computer Vision (ICCV), Международная конференция IEEE 2013 г., стр. 633–640, IEEE, 2013 г. 2
[7] D. Eigen, C. Puhrsch, and R. Fergus. Depth map prediction from a single image using a multi-scale deep network. arXiv preprint arXiv:1406.2283, 2014. 2
[8] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results.
[9] C. Farabet, C. Couprie, L. Najman, and Y. LeCun. Learning hierarchical features for scene labeling. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2013. 1, 2, 4,7, 8
[10] P. Fischer, A. Dosovitskiy, and T. Brox. Descriptor matching with convolutional neural networks: a comparison to SIFT.CoRR, abs/1405.5769, 2014. 1
[11] Y. Ganin and V. Lempitsky. N4-fields: Neural network nearest neighbor fields for image transforms. In ACCV, 2014. 1,2, 7
[12] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In Computer Vision and Pattern Recognition,2014. 1, 2, 7
[13] A. Giusti, D. C. Cires¸an, J. Masci, L. M. Gambardella, and J. Schmidhuber. Fast image scanning with deep max-pooling convolutional neural networks. In ICIP, 2013. 3, 4
[14] S. Gupta, P. Arbelaez, and J. Malik. Perceptual organization and recognition of indoor scenes from RGB-D images. In CVPR, 2013. 8
[15] S. Gupta, R. Girshick, P. Arbelaez, and J. Malik. Learning rich features from RGB-D images for object detection and segmentation. In ECCV. Springer, 2014. 1, 2, 8
[16] B. Hariharan, P. Arbelaez, L. Bourdev, S. Maji, and J. Malik.Semantic contours from inverse detectors. In International Conference on Computer Vision (ICCV), 2011. 7
[17] B. Hariharan, P. Arbel´aez, R. Girshick, and J. Malik. Simultaneous detection and segmentation. In European Conference on Computer Vision (ECCV), 2014. 1, 2, 4, 5, 7, 8
[18] B. Hariharan, P. Arbel´aez, R. Girshick, and J. Malik. Hypercolumns for object segmentation and fine-grained localization.In Computer Vision and Pattern Recognition, 2015.2
[19] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV, 2014. 1, 2
[20] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick,S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint
arXiv:1408.5093, 2014. 7
[21] Кендеринк Дж., Ван Дорн А. Дж. Представление локальной геометрии в зрительной системе // Биологическая кибернетика, 55(6):367–375, 1987. 6
[22] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012. 1, 2, 3, 5
[23] Y. LeCun, B. Boser, J. Denker, D. Henderson, R. E. Howard,W. Hubbard, and L. D. Jackel. Backpropagation applied to hand-written zip code recognition. In Neural Computation,1989. 2, 3
[24] ЛеКун Ю. А., Ботту Л., Орр Г. Б., Мюллер К. Р. Эффективное обратное распространение, Нейронные сети: хитрости, стр. 9–48, Springer, 1998. 7
[25] Лю К., Юэнь Дж., Торральба А. Поток просеивания: плотное соответствие между сценами и его приложения Анализ шаблонов и машинный интеллект, IEEE Transactions on, 33(5):978–994, 2011.8
[26] J. Long, N. Zhang, and T. Darrell. Do convnets learn correspondence?In NIPS, 2014. 1
[27] S. Mallat. A wavelet tour of signal processing. Academic press, 2nd edition, 1999. 4
[28] Матан О., Берджес С. Дж., ЛеКун Ю., Денкер Дж. С. Многозначное распознавание с использованием нейронной сети с пространственным перемещением. В NIPS, стр. 488–495. Citeseer, 1991. 2
[29] Моттаги Р., Чен С., Лю С., Чо Н.-Г., Ли С.-В., Фидлер С., Уртасун Р., Юилле А. Роль контекста для обнаружения объектов и семантическая сегментация в дикой природе, Компьютерное зрение и распознавание образов (CVPR), Конференция IEEE 2014 г., стр. 891–898. IEEE, 2014 г. 9
[30] Ф. Нинг, Д. Деломм, Ю. ЛеКун, Ф. Пиано, Л. Боттоу и П. Э. Барбано, К автоматическому фенотипированию развивающихся эмбрионов по видео, Обработка изображений, IEEE Transactions on, 14(9):1360– 1371, 2005. 1, 2, 4, 7
[31] P. H. Pinheiro and R. Collobert. Recurrent convolutional neural networks for scene labeling. In ICML, 2014. 1, 2,4, 7, 8
[32] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.1, 2, 4
[33] N. Silberman, D. Hoiem, P. Kohli, and R. Fergus. Indoor segmentation and support inference from rgbd images. In ECCV, 2012. 8
[34] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. CoRR,abs/1409.1556, 2014. 1, 2, 3, 5
[35] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A.Rabinovich. Going deeper with convolutions. CoRR, abs/1409.4842,2014. 1, 2, 3, 5
[36] Тиг Дж., Лазебник С. Суперанализ: масштабируемый непараметрический анализ изображений с помощью суперпикселей В ECCV, стр. 352–365, Springer, 2010. 8
[37] J. Tighe and S. Lazebnik. Finding things: Image parsing with regions and per-exemplar detectors. In CVPR, 2013. 8
[38] J. Tompson, A. Jain, Y. LeCun, and C. Bregler. Joint training of a convolutional network and a graphical model for human pose estimation. CoRR, abs/1406.2984, 2014. 2
[39] Ван Л., Зейлер М., Чжан С., Цун Ю. Л., Фергус Р. Регуляризация нейронных сетей с использованием dropconnect, Материалы 30-й Международной конференции по машинному обучению (ICML-13), страницы 1058–1066. , 2013. 4
[40] Вольф Р. и Платт Дж. К. Определение местоположения блока почтовых адресов с использованием сети сверточных локаторов Достижения в системах обработки нейронной информации, стр. 745–745, 1994. 2
[41] М. Д. Цейлер и Р. Фергус, Визуализация и понимание сверточных сетей, В Computer Vision–ECCV 2014, стр. 818–833, Springer, 2014. 2
[42] Чжан Н., Донахью Дж., Гиршик Р. и Даррелл Т. Частичные r-cnns для мелкозернистого определения категорий, In Computer Vision–ECCV 2014, страницы 834–849, Springer, 2014.1