Найти в Дзене
Машинное обучение

Ускорение распознования с алгоритмом DETR с помощью семантического согласования.

Недавно разработанный DEtection TRansformer (DETR) устанавливает новую парадигму обнаружения объектов. Однако DETR страдает чрезвычайно медленной сходимостью, что значительно увеличивает время и потребление ресурсов для обучения. Медленная сходимость в значительной степени связана со сложностью сопоставления запросов с целевыми функциями в разных пространствах встраивания функций.

-2

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

-3

Алгоритм явно ищет характерные точки с наиболее отличительными признаками для семантического сопоставления, что еще больше ускоряет сходимость и повышает точность распознавания. Работая по принципу plug and play, SAM-DETR хорошо дополняет существующие решения по обнаружению объектов, но в отличие от других алгоритмов, требует незначительных вычислительных затрат. Обширные эксперименты показывают, что предложенный алгоритм SAM-DETR обеспечивает превосходную сходимость, а также конкурентоспособную точность обнаружения.

Алгоритм работает и тестируются со следующими настройками среды:

linux

8 графических процессоров NVIDIA V100 (32 ГБ)

cuda 10.1

python == 3.8

PyTorch == 1.8.1+cu101, TorchVision == 0.9.1+cu101

ССЗ == 7.5.0

cython, pycocotools, tqdm, scipy

Мы рекомендуем использовать точные настройки выше. Однако другие среды (Linux, Python>=3.7, CUDA>=9.2, GCC>=5.4, PyTorch>=1.5.1, TorchVision>=0.6.1) также должны работать.

Установка кода

Сначала клонируйте репозиторий локально:

git clone https://github.com/ZhangGongjie/SAM-DETR.git

Мы рекомендуем вам использовать Anaconda для создания среды conda:

conda create -n sam_detr python=3.8 pip

Затем активируйте среду:

conda activate sam_detr

Затем установите PyTorch и TorchVision:

(желательно использовать наши рекомендуемые настройки; версия CUDA должна соответствовать вашей локальной среде)

conda install pytorch=1.8.1 torchvision=0.9.1 cudatoolkit=10.1 -c pytorch

После этого установите другие требования:

conda install cython scipy tqdm

pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

[Необязательно] Если вы хотите запустить многомасштабную версию SAM-DETR), вам необходимо скомпилировать Deformable Attention, который используется в кодировщике DETR для эффективного создания пирамиды признаков. Если вам не нужна многомасштабная версия SAM-DETR, вы можете пропустить этот шаг.

Код реализации доступны : https://github.com/ZhangGongjie/SAM-DETR.

Полная статья: https://arxiv.org/abs/2203.06883v1

Dataset: https://cocodataset.org/