Слабая и полууправляемая семантическая сегментация изображений с использованием стохастического вывода

Предисловие

Краткое изложение FickleNet [1] явилось результатом моего мастер-семинара на кафедре компьютерных медицинских процедур и дополненной реальности в ТУМ. Хочу поблагодарить своего куратора проекта Тарик Бдаир, а также кураторов курсов Магда Пашали и Dr. Шади Альбаркуни .

Введение

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

Связанных с работой

Целью задач сегментации является получение карты активации классов (CAM) [2], которая исследует вклад каждой скрытой единицы в нейронной сети в оценку классификации. Однако наивный подход не отображает семантическую структуру целевого объекта, но выделяет отличительные части объекта, такие как морда собаки.

Таким образом, цель новых методов состоит в том, чтобы создать лучшие карты локализации в смысле сохранения семантики и размера объекта. Существуют три основных направления для улучшения CAM:

Уровень изображения [3–5]

Идея обработки на уровне изображения состоит в том, чтобы скрыть отличительные части изображения, заставляя сеть классифицировать объект на основе менее отличительных частей. В примере с собакой это приводит к сокрытию морды собаки. Теперь сеть вынуждена использовать остальную часть тела собаки для классификации. Однако существующие модели слишком запутывают сеть для дальнейшей сегментации, имеют слабую семантику и размер объектов или являются слишком дорогостоящими в вычислительном отношении.

Уровень функций [6, 7]

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

Рост региона [8–10]

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

Методология

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

Предварительная обработка

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

а) Расширение карты функций

Что можно увидеть при сравнении (a) и (b) на изображении 6 выше, карта функций расширена, так что скользящие окна не перекрываются при применении исключения. Это возможно без расширения, но это снижает затраты на вычисления, как покажут результаты.

б) Отсев, сохраняющий центр [11]

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

c) Получить оценку активации s

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

Карта активации класса

Во-вторых, для каждого изображения оценки активации от итераций необходимо объединить в единую карту локализации. Для получения карты активации класса из первых рук используется Grad-CAM [12]:

который также включает градиент последнего слоя ∂Sc / ∂x_k. В результате получается лучшая карта активации классов, сопоставимая с более дорогими методами.

Имея Grad-CAM для каждого класса и каждой итерации изображения, карты для изображения агрегируются. Для этого пиксель u классифицируется как класс c, если оценка Grad-CAM для c на любой карте локализации изображения в этом пикселе u больше порогового значения.

Убытки

И, наконец, в-третьих, обучается сеть сегментации. Важно отметить, что это единственная процедура обучения, необходимая для FickleNet. С помощью ADAM минимизируются следующие потери:

Где

где H_u, c - вероятность класса c в позиции u карты сегментации H и Sc - это множество местоположений, отнесенных к классу c. Это потеря перекрестной энтропии с целью сопоставления только исходных сигналов, заданных классификационной сетью, и игнорирования остальных.

где f_uc (X) - вывод сети, а Q_uc (X, f (X)) - условное случайное поле (CRF). Это KL-дивергенция, которую необходимо минимизировать, чтобы исключить прерывистую сегментацию в отношении пространственной и цветовой информации [10].

где H_u, c - вероятность класса c в позиции u карты сегментации H и F_c - маска наземной истины. Это потеря кросс-энтропии, которая наказывает отклонения от полностью аннотированных изображений (аннотированных экспертом-человеком). Эта потеря будет использоваться только в полу-контролируемой настройке.

Краткое изложение методологии

FickleNet предоставляет стохастический выбор скрытых единиц в качестве этапа предварительной обработки перед применением DSRG для сегментации. Таким образом, CAM улучшается не только за счет сокрытия отличительных частей, но и за счет незнания о отличительных частях в первую очередь. Следует отметить, что эта сегментация с точностью до пикселя обучается только с одной функцией потерь.

Эксперимент

Настройка

  • Набор данных: тест PASCAL VOC 2012 Image Segmentation Benchmark [13] (20 классов, 10 миллионов помеченных изображений)
  • Сеть: VGG-16 [14] предварительно обучен на Imagenet [15], сегментация выполняется DSRG [10]
  • Настройка: Размер мини-партии: 10,
  • Изображение обрезано до 321x321 пикселей в случайном месте,
  • Скорость обучения 0,001, уменьшается вдвое каждые 10 эпох,
  • Оптимизатор ADAM [16]
  • Frame: Pytorch [17] для карт локализации
  • Caffe [18] для сегментации
  • Графический процессор NVIDIA TITAN Xp

Оценка

Две слабо контролируемые настройки и полу-контролируемая настройка использовались в качестве базовых показателей оценки с разными архитектурами сегментации. В каждом случае в качестве источника данных использовался тест PASCAL VOC 2012 Image Segmentation Benchmark [13].

  • Слабо контролируемая настройка, сегментация с DeepLab-VGG16

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

  • Слабо контролируемая настройка, сегментация с помощью ResNet

Здесь FickleNet также превосходит аналогичные сети. Примечательно, что даже AffinityNet уступает по производительности, которая основана на ResNet 38, в то время как FickleNet использовала только менее сложную ResNet 101.

  • Полу контролируемая настройка, сегментация с DeepLab-VGG16

FickleNet приводит к немного лучшему среднему баллу Intersection over Union (mIoU), который является мерой точности для задач сегментации. В этой настройке сети сравниваются с полностью контролируемыми методами с сильно аннотированными изображениями 1,4K и 10,6K. Таким образом, для полууправляемых сетей предоставляется больше информации, чем для DeepLab 1.4K, но меньше, чем для DeepLab 10.6K. Низкое улучшение можно объяснить тем, что FickleNet нацелен на обучение со слабым учителем, где возможно применение для обучения с частично контролируемым обучением. Этот вклад не является подходящим решением для обучения с полу-контролируемым обучением.

Результаты

Из исследований абляции, предоставленных FickleNet, можно сделать пять выводов:

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

Расширение карты упрощает случайный выбор скрытых единиц в каждой позиции скользящего окна. Это приводит к более быстрым вычислениям за счет небольшого увеличения использования памяти графического процессора.

  • Более случайный выбор одного изображения

Чем чаще повторяется одно изображение, тем больше площадь представляемого объекта. Это доказывает основную идею стохастического выбора скрытых единиц, поскольку это делает возможным итерацию изображения.

  • Уровень отчисления

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

  • Отсев с сохранением центра

Чтобы сохранить корреляцию между положениями скользящего окна, применяется функция исключения с сохранением центра. Как видно на изображении 14, сравниваемое общее отключение приводит к шумной активации. Если корреляция не сохраняется и предоставляется для случайного блуждания, вероятность того, что все еще принадлежат тому же объекту, ниже. Без отличительных признаков или корреляции соседних отличительных частей некоторые мелкие части объекта не классифицируются как таковые.

  • Эффект стохастических методов

Базовая концепция - это стохастическая перспектива сегментации, в частности, какие части изображения передаются в сеть сегментации. Доказательством этого является результат того, что стохастический отбор при обучении и выводе дает наивысший балл mIoU (среднее пересечение по объединению).

Вывод

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

Для дальнейших визуализаций загляните в мою презентацию здесь! Если у вас есть какие-либо вопросы или идеи, не стесняйтесь обращаться ко мне в LinkedIn.

Спасибо за чтение!

Библиография

[1]: Ли, Джунгбом и др. «FickleNet: Слабая и полууправляемая семантическая сегментация изображений с использованием стохастического вывода». Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2019.

[2]: Б. Чжоу, А. Хосла, А. Лапедриса, А. Олива и А. Торральба. Изучение глубоких функций для отличительной локализации

[3]: К. Ли, З. Ву, К.-К. Пэн, Дж. Эрнст и Ю. Фу. Подскажите, где искать: сеть вывода управляемого внимания

[4]: К. К. Сингх и Ю. Дж. Ли. Hide-and-seek: принуждение сети к тщательному поиску слабо контролируемых объектов и локализации действий.

[5]: Y. Wei, J. Feng, X. Liang, M.-M. Cheng, Y. Zhao, and S. Yan. Интеллектуальный анализ области объекта с состязательным стиранием: подход от простой классификации до семантической сегментации

[6]: X. Zhang, Y. Wei, J. Feng, Y. Yang и T. Huang. Дополнительное состязательное обучение для слабо контролируемого объекта Локализация

[7]: Д. Ким, Д. Чо, Д. Ю и И. С. Квеон. Двухфазное обучение для локализации слабо контролируемого объекта

[8]: Р. Фань, К. Хоу, М.-М. Ченг, Т.-Дж. Му, С.-М. Ху. s4net: одноэтапная сегментация явных экземпляров.

[9]: А. Колесников, К. Х. Ламперт. Выделение, расширение и ограничение: три принципа слабо контролируемой сегментации изображений

[10]: З. Хуанг, Х. Ван, Дж. Ван, В. Лю и Дж. Ван. Слабо контролируемая сеть семантической сегментации с растущим регионом с глубоким засеиванием

[11]: Н. Шривастава, Г. Хинтон, А. Крижевский, И. Суцкевер, Р. Салахутдинов. Dropout: простой способ предотвратить переобучение нейронных сетей

[12]: Р. Р. Сельвараджу, М. Когсуэлл, А. Дас, Р. Ведантам, Д. Парикх, Д. Батра и др. Grad-cam: визуальные объяснения из глубоких сетей с помощью градиентной локализации

[13]: М. Эверингем, Л. Ван Гул, К. К. Уильямс, Дж. Винн и А. Зиссерман. Задача классов визуальных объектов паскаль (вокал)

[14]: К. Симонян, А. Зиссерман. Очень глубокие сверточные сети для распознавания крупномасштабных изображений

[15]: J. Deng, W. Dong, R. Socher, L.-J. Ли, К. Ли и Л. Фэй Фэй. Imagenet: крупномасштабная база данных иерархических изображений.

[16]: Д. П. Кингма и Дж. Ба. Адам: метод стохастической оптимизации

[17]: A. Paszke, S. Gross, S. Chintala, G. Chanan, E. Yang, Z. DeVito, Z. Lin, A. Desmaison, L. Antiga и A. Lerer. Автоматическая дифференциация в pytorch

[18]: Ю. Джиа, Э. Шелхамер, Дж. Донахью, С. Караев, Дж. Лонг, Р. Гиршик, С. Гвадаррама и Т. Даррелл. Caffe: сверточная архитектура для быстрого встраивания функций