- Название статьи: «Деформируемые сверточные сети»
- Ссылка на бумагу:АР Вест V.org/ABS/1703.06…
0 Предисловие
Сначала поймите:
- Объектом переменной свертки deformable Convolution является сама свертка, поэтому расширенная свертка и трехмерная свертка могут использоваться в форме переменной свертки.
- Эта статья объясняет теорию и документ Я не использовал этот эффект теста переменной свертки, потому что PyTorch, похоже, не инкапсулировал этот метод свертки, что немного проблематично. Поэтому в следующей статье я планирую провести простой тест в сочетании со сверткой переменных, которую уже воспроизвел pytorch на github.
- Первоначально я изучал алгоритм обнаружения контуров.Я увидел алгоритм SOTA, называемый Deep Snake.Прочитав код в течение длительного времени, я обнаружил, что в него вложено несколько алгоритмов, таких как DCN и DLA, поэтому я начал его изучать. с нуля.
1 Обзор статьи
Наибольший вклад автора в статью:
- Предлагается деформируемая свертка, а сеть переменной свертки — это Deformable ConvNet (DCN).
- Предлагается слой с переменным объединением, использующий тот же принцип, который называется деформируемым объединением ROI.
- Эти два модуля можно очень просто использовать в других сетевых структурах без добавления множества параметров, но эффект все равно хороший. (В статье этот метод используется в основной модели).
Этот основной вклад заключается в том, почему ядро свертки должно быть квадратным в процессе свертки? Моя цель обнаружения имеет различную форму, почему ядро свертки должно быть квадратным?
Поэтому ядро свертки здесь уже не квадрат, а параметр, который можно обновлять градиентным спуском:
Рисунок a — это самое основное ядро свертки, b — ядро свертки переменной свертки, а c и d — частные случаи свертки переменной. Звучит не сложно, принцип действительно очень прост.
2 Принцип реализации
На приведенном выше рисунке представлен процесс свертки переменных. Взглянув на этот рисунок, нетрудно обнаружить, что эта структура чем-то похожа на SEnet. Как реализовать этот процесс в кодовом бою мы рассмотрим в следующей статье.
В общих чертах, это эта карта объектов, и дополнительный сверточный слой передается для получения результата смещения, а затем смещение и карта объектов объединяются.
3 Экспериментальные результаты
В документе упоминается, что эффект от использования переменной свертки в последних 3 слоях сети извлечения признаков лучше.
На картинке выше — точки выборки, полученные деформируемыми связками в реальной задаче, я думаю, это очень интересное проявление интерпретируемости.
Последние три строки в приведенной выше таблице отражают эффект этой свертки переменных, который действительно хорош, и действительно есть определенное улучшение, так сильно ли эта свертка переменных влияет на количество параметров?
Видно, что ролика с этим параметром очень мало, а время работы в принципе одинаковое. Я решил, что после того, как я воспроизведу эту свертку переменных, я буду использовать ее в будущих моделях, чтобы посмотреть, можно ли ее улучшить. (Снова добавлены странные трюки).
Вот и все.В теории эта деформируемая свертка не сложная.Главное как реализовать.Надеюсь процесс воспроизведения не будет слишком грубым.
Справочная статья: