Обработка изображений Детали бумаги|Деформируемые сверточные сети|CVPR|2017

искусственный интеллект

0 Предисловие

Сначала поймите:

  • Объектом переменной свертки deformable Convolution является сама свертка, поэтому расширенная свертка и трехмерная свертка могут использоваться в форме переменной свертки.
  • Эта статья объясняет теорию и документ Я не использовал этот эффект теста переменной свертки, потому что PyTorch, похоже, не инкапсулировал этот метод свертки, что немного проблематично. Поэтому в следующей статье я планирую провести простой тест в сочетании со сверткой переменных, которую уже воспроизвел pytorch на github.
  • Первоначально я изучал алгоритм обнаружения контуров.Я увидел алгоритм SOTA, называемый Deep Snake.Прочитав код в течение длительного времени, я обнаружил, что в него вложено несколько алгоритмов, таких как DCN и DLA, поэтому я начал его изучать. с нуля.

1 Обзор статьи

Наибольший вклад автора в статью:

  1. Предлагается деформируемая свертка, а сеть переменной свертки — это Deformable ConvNet (DCN).
  2. Предлагается слой с переменным объединением, использующий тот же принцип, который называется деформируемым объединением ROI.
  3. Эти два модуля можно очень просто использовать в других сетевых структурах без добавления множества параметров, но эффект все равно хороший. (В статье этот метод используется в основной модели).

Этот основной вклад заключается в том, почему ядро ​​свертки должно быть квадратным в процессе свертки? Моя цель обнаружения имеет различную форму, почему ядро ​​свертки должно быть квадратным?

Поэтому ядро ​​свертки здесь уже не квадрат, а параметр, который можно обновлять градиентным спуском:

Рисунок a — это самое основное ядро ​​свертки, b — ядро ​​свертки переменной свертки, а c и d — частные случаи свертки переменной. Звучит не сложно, принцип действительно очень прост.

2 Принцип реализации

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

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

3 Экспериментальные результаты

В документе упоминается, что эффект от использования переменной свертки в последних 3 слоях сети извлечения признаков лучше.

На картинке выше — точки выборки, полученные деформируемыми связками в реальной задаче, я думаю, это очень интересное проявление интерпретируемости.

Последние три строки в приведенной выше таблице отражают эффект этой свертки переменных, который действительно хорош, и действительно есть определенное улучшение, так сильно ли эта свертка переменных влияет на количество параметров?

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

Вот и все.В теории эта деформируемая свертка не сложная.Главное как реализовать.Надеюсь процесс воспроизведения не будет слишком грубым.

Справочная статья:

  1. АР Вест V.org/ABS/1703.06…
  2. маленький томатный ослик.GitHub.IO/2018/12/02/…
  3. zhuanlan.zhihu.com/p/52476083