RF-DETR: Обнаружение объектов в реальном времени с помощью трансформеров

RF-DETR: Обнаружение объектов в реальном времени с помощью трансформеров


Введение

Обнаружение объектов в режиме реального времени лежит в основе современных приложений компьютерного зрения, от автономных транспортных средств до медицинской визуализации и решений на базе AI. RF-DETR — это модель детектирования на основе трансформеров, которая обеспечивает как высокую скорость, так и высокую точность, без проблем адаптируясь к разнообразным областям. RF-DETR выделяется тем, что стал первой моделью в реальном времени, достигшей более 60 mAP на COCO, при этом также отлично показав себя на RF100-VL, бенчмарке, созданном на основе 100 разнообразных наборов данных из реальных приложений, таких как аэрофотосъемка, промышленная инспекция и исследования природы.

С двумя размерами: RF-DETR-base (29 миллионов параметров) и RF-DETR-large (129 миллионов параметров); модель разработана для надежной работы, независимо от того, проводите ли вы эксперименты в облаке, развертываете на системах с низкой задержкой или масштабируете для производства. Модели обнаружения объектов сталкиваются с проблемой оценки. Широко используемый бенчмарк COCO, впервые представленный в 2014 году, не обновлялся с 2017 года, несмотря на то, что модели значительно улучшились и теперь применяются гораздо шире, чем «обычные объекты». В результате небольшие приросты mAP на COCO больше не дают полной картины.

RF-DETR: не только соревнуется на COCO, но и подчеркивает два equally важных фактора: адаптация к домену и скорость. В реальном использовании способность модели адаптироваться к новым доменам так же важна, как и точность. Для оценки этого RF-DETR рассматривается по трем направлениям:

  1. mAP COCO для стандартного бенчмаркинга
  2. RF100-VL mAP, охватывающий 100 разнообразных наборов данных из Roboflow Universe (используется в реальных областях, таких как аэрофотосъемка, индустрия и природа)
  3. Скорость вывода RF100-VL использовалась ведущими научными лабораториями в Apple, Microsoft, Baidu и других. Это гарантирует, что детекторы тестируются на самых актуальных проблемах сегодня. С этими эталонами RF-DETR стабильно занимает 1-е или 2-е место по сравнению с ведущими трансформерными моделями и CNN (YOLO11, YOLOv8), что подтверждает как его точность, так и адаптивность.

Ключевые моменты

  • RF-DETR создан для обеспечения производительности в реальном времени без ущерба для точности или адаптивности. Его дизайн сочетает в себе последние достижения в области детекционных трансформеров с сильной предобучением для лучшей генерализации в разных областях.
  • RF-DETR основывается на эффективных механизмах многомасштабного внимания, представленных в Deformable DETR, что делает детекцию на основе трансформеров быстрой и практичной.
  • В отличие от моделей YOLO, которые требуют применения подавления ненадежных максимумов (NMS) на этапе постобработки, RF-DETR выдает финальные предсказания напрямую, упрощая процесс и повышая эффективность времени выполнения.
  • С многоразрешающим обучением и легкой архитектурой, RF-DETR может эффективно работать на ограниченных вычислительных ресурсах, что делает его подходящим как для облачных масштабов, так и для развертывания на устройстве.

Ключевые термины, которые нужно знать

Подавление ненужных максимумов (NMS): Подавление ненужных максимумов похоже на процесс очистки результатов детекции объектов. Когда модель обнаруживает объекты, она часто находит один и тот же объект несколько раз с немного различными ограничивающими рамками. NMS сохраняет только самое сильное обнаружение (с наивысшей уверенностью) и удаляет перекрывающиеся дубликаты. Подумайте об этом как о удалении эха, чтобы вы могли услышать только оригинальный звук четко. Традиционным моделям, таким как YOLO, требуется этот дополнительный шаг, но RF-DETR разработан так, чтобы избежать этой постобработки, что делает его быстрее и эффективнее.

Средняя точность (mAP): Средняя точность — это стандартный способ оценки качества модели обнаружения объектов. Она объединяет два важных фактора: насколько точны предсказания модели (точность) и сколько реальных объектов она находит (полнота). Чем выше значение mAP (от 0 до 100), тем лучше модель. Когда вы видите «RF-DETR достигает 60+ mAP на COCO», это означает, что модель правильно идентифицирует и определяет объекты с высокой точностью. Это похоже на оценку студента на тесте, но для моделей компьютерного зрения.

эпохи: эпоха в машинном обучении — это один полный проход через весь набор учебного заведения. Думайте об этом как о чтении учебника от обложки до обертки один раз. Обучение для нескольких эпох похоже на перечитывание этого учебника несколько раз, чтобы лучше понять и запомнить материал. При тонкой настройке RF-DETR вы можете тренироваться в течение 15-50 эпох в зависимости от размера вашего набора данных и желаемой точности. Большее количество эпох обычно улучшает результаты, но требует большего времени и в конечном итоге может привести к переоснащению (например, запоминание учебника без понимания понятий).

Архитектура трансформеров: Трансформеры — это тип архитектуры нейронных сетей, который использует механизм, называемый «вниманием», чтобы оценить важность различных частей входных данных. Подумайте об этом как о чтении предложения и понимании, какие слова наиболее важны для понимания смысла. В RF-DETR трансформеры помогают модели сосредоточиться на релевантных частях изображения при обнаружении объектов. В отличие от традиционных сверточных нейронных сетей (CNN), которые обрабатывают изображения в фиксированном порядке, трансформеры могут изучать взаимосвязи между любыми частями изображения, независимо от расстояния, что делает их особенно эффективными в понимании контекста.

Размер Партии: Размер партии относится к количеству тренировочных примеров (изображений), обрабатываемых вместе за один прямой/обратный проход во время обучения. Это похоже на приготовление блюд партиями, а не по одному за раз. Больший размер партии может сделать обучение быстрее и стабильнее, но требует больше памяти GPU. Когда вы видите параметры, такие как --batch_size 16 в командах обучения RF-DETR, это означает, что модель будет обрабатывать 16 изображений одновременно. Если у вас недостаточно памяти GPU, вы можете использовать накопление градиентов (объяснено ниже), чтобы добиться аналогичного эффекта с меньшими партиями.

Накопление градиентов: Накопление градиентов — это метод, который позволяет обучать модели с эффективно большими размерами пакетов, чем позволяет память вашего GPU. Он работает, обрабатывая меньшие мини-пакеты и накапливая (суммируя) их градиенты перед обновлением весов модели. Это похоже на накопление небольших сумм денег со временем, пока у вас не будет достаточно для покупки. В обучении RF-DETR параметр --grad_accum_steps контролирует это поведение. Например, размер пакета 4 с 4 шагами накопления градиентов по существу эквивалентен размеру пакета 16.

Обучение с переносом: Обучение с переносом — это техника использования знаний, полученных при обучении одной задаче, для улучшения производительности на другой, но связанной задаче. Это похоже на обучение езде на велосипеде, а затем на более легкое освоение езды на мотоцикле. RF-DETR использует обучение с переносом через свой предварительно обученный DINOv2 бэктон, который уже научился распознавать визуальные паттерны из миллионов изображений. Это позволяет RF-DETR быстро адаптироваться к новым задачам обнаружения объектов с относительно небольшими объемами обучающих данных.

Формат COCO: Формат COCO (Общие объекты в контексте) является стандартизированным способом организации и хранения наборов данных для обнаружения объектов. Он включает в себя JSON файлы, которые описывают изображения, категории и аннотации (например, ограничивающие рамки вокруг объектов). Когда в документации говорится, что «RF-DETR ожидает формат COCO», это означает, что ваши данные для обучения должны соответствовать этой конкретной структуре. Подумайте об этом как о универсальном языке, который позволяет различным моделям понимать один и тот же набор данных. Большинство наборов данных для обнаружения объектов могут быть преобразованы в формат COCO, и такие инструменты, как Roboflow, упрощают этот процесс.

Ограничивающий прямоугольник: Ограничивающий прямоугольник — это прямоугольная рамка, которая окружает объект на изображении. Он определяется четырьмя значениями: координатами x и y верхнего левого угла, а также шириной и высотой рамки. Представьте, что вы рисуете прямоугольник вокруг объекта маркером. В задаче распознавания объектов модели, такие как RF-DETR, предсказывают эти ограничивающие прямоугольники, чтобы показать, где находятся объекты на изображении. Точность этих рамок (насколько плотно они обхватывают реальные объекты) является ключевой частью оценки моделей распознавания объектов.

Скорость обучения: Скорость обучения (часто сокращаемая как “lr ” в коде) контролирует, как быстро модель обновляет свои веса во время обучения. Это похоже на регулировку размера шагов, которые вы делаете, когда идёте к цели. Высокая скорость обучения означает большие шаги, которые могут помочь вам добраться быстрее, но также могут привести к промаху. Низкая скорость обучения означает маленькие шаги, что более точно, но медленнее. В обучении RF-DETR вы увидите параметры, такие как --lr 1e-4 (0.0001), что является относительно маленькой скоростью обучения, подходящей для тонкой настройки предобученной модели. Найти правильную скорость обучения крайне важно для эффективного обучения.

Смешанная точность обучения: Смешанная точность обучения — это техника, использующая как 16-битные, так и 32-битные числа с плавающей запятой во время обучения, а не только 32-битные. Это похоже на использование как грубого эскиза, так и детального рисунка, когда это необходимо. Этот подход может значительно ускорить обучение и уменьшить использование памяти без ущерба для точности. Когда в документации RF-DETR упоминается «используйте смешанную точность (AMP), если это возможно», имеется в виду эта техника. Современные GPU, особенно те, что разработаны для задач ИИ, могут выполнять 16-битные вычисления гораздо быстрее, чем 32-битные.

Вывод: Вывод относится к процессу использования обученной модели для предсказания на новых данных. Это похоже на сдачу теста после окончания учебы. В контексте RF-DETR вывод происходит, когда вы используете модель для обнаружения объектов на изображениях или видео, которые она не видела во время обучения. Термин «скорость вывода» относится к тому, насколько быстро модель может обрабатывать новые изображения и возвращать результаты, что имеет решающее значение для приложений в реальном времени, таких как анализ видео или автономное вождение.

Основа: В моделях обнаружения объектов основа — это часть, которая извлекает признаки из изображений. Это как основание здания, которое поддерживает всё остальное. RF-DETR использует DINOv2 в качестве основы, что является предварительно обученным визуальным трансформером, который научился распознавать паттерны на миллионах разнообразных изображений. Основа обрабатывает сырое изображение и производит карты признаков, которые затем используются головкой обнаружения для локализации и классификации объектов. Сильная основа имеет решающее значение для хорошей производительности, особенно при адаптации к новым областям или работе с ограниченными данными для обучения.

Обучение с многоразрешением: Обучение с многоразрешением — это техника, при которой модель обучается работать с изображениями разных размеров во время обучения. Это похоже на то, как учить кого-то читать книги как с крупным, так и с мелким шрифтом. Это позволяет RF-DETR быть гибким во время вывода — вы можете запускать его с большими изображениями для более высокой точности или с меньшими изображениями для более быстрой работы, не требуя повторного обучения модели. Это особенно полезно, когда требуется развернуть одну и ту же модель на разных устройствах с различными вычислительными возможностями, от мощных серверов до устройств на грани ресурсов.

Предварительные условия

  • Среда GPU: Графический процессор с поддержкой CUDA (рекомендуется минимум 16 ГБ видеопамяти для обучения)
  • Python: Версия 3.9-3.11 (3.12 может потребовать ручной сборки)
  • PyTorch: Совпадение вашей версии CUDA (проверьте с помощью torch.cuda.is_available())
  • Conda-среда: Рекомендуется для управления зависимостями
  • Формат набора данных COCO: требуется для обучения пользовательских моделей
  • API ключи: API ключ Roboflow, если вы используете их наборы данных или услуги развертывания
  • Основные Понятия: Знакомство с концепциями обнаружения объектов и моделями трансформеров

Что такое RF-DETR? Обзор архитектуры RF-DETR

RF-DETR (Roboflow-DETR) — это модель обнаружения объектов в реальном времени, основанная на семействе архитектур Detection Transformer (DETR). Она предназначена для объединения быстроты моделей YOLO с адаптивностью и преимуществами предварительного обучения трансформеров.

В отличие от традиционных детекторов на основе CNN, RF-DETR использует трансформерный бэк-бон (DINOv2) и легкий дизайн DETR (LW-DETR) для предоставления:

  • Высокая точность – первый детектор в реальном времени, который преодолел 60+ mAP на COCO.
  • Адаптация к домену – высокая эффективность на различных наборах данных за пределами COCO (например, аэрофотосъемка, медицинская и индустриальная визуализация).
  • Эффективность – работает в реальном времени, даже на ограниченных вычислительных устройствах, таких как крайние устройства.
  • Гибкость – поддерживает инференс с множественными разрешениями, позволяя пользователям находить баланс между скоростью и точностью без повторного обучения. Традиционно модели YOLO установили стандарт для детекции объектов в реальном времени благодаря своей архитектуре на основе CNN. Однако CNN не получают столь же значительной выгоды от крупномасштабного предварительного обучения, что ограничивает их адаптивность и скорость сходимости. С другой стороны, трансформеры отлично работают с предварительным обучением и показывают более высокие результаты во многих задачах машинного обучения, но до недавнего времени они были слишком большими и медленными для обнаружения в реальном времени.
  • С введением RT-DETR в 2023 году трансформеры доказали, что могут соперничать со скоростью YOLO, так как DETR избегают дополнительного этапа NMS (не максимальное подавление), необходимого для YOLO. Недавние улучшения также позволили DETR обучаться быстрее и лучше обобщать, особенно в комбинации с сильными предварительно обученными базами.
  • RF-DETR строится на этой основе. Он разработан на архитектуре Deformable DETR, но вместо многомасштабного самовнимания извлекает признаки изображения из односкальной основы.
  • Чтобы повысить производительность, мы объединили LW-DETR с предобученной основой DINOv2, что дало RF-DETR возможность быстро адаптироваться к новым доменам с ограниченными данными. Еще одна ключевая особенность — это обучение с многими разрешениями, которое позволяет модели работать с разными входными разрешениями во время инференса.

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

Почему RF-DETR важен в обнаружении объектов?

  • Насыщение бенчмарка COCO: Стандартный набор данных COCO, на котором тестируются большинство моделей обнаружения объектов, достиг такого уровня, когда улучшения минимальны. Это значит, что новые модели, такие как RF-DETR, должны показать, что они могут хорошо работать с различными типами изображений и сценариями, а не только на одном бенчмарке. Это похоже на утверждение, что автомобиль не должен хорошо работать только на одной испытательной трассе, но и на всех видах дорог и в любых погодных условиях.

  • Сила обобщения: RF-DETR использует так называемый базис DINOv2, который похож на мозг, уже научившийся распознавать многие визуальные шаблоны. Это помогает модели быстро адаптироваться к новым типам объектов, которые она раньше не видела. Представьте себе человека, который много путешествовал и может быстро понять новые культуры, в отличие от кого-то, кто никогда не покидал свой родной город.

  • Гибкость: Модель обучена работать с изображениями разных размеров и качеств. Это означает, что вы можете выбрать более быструю работу (с немного меньшей точностью) или более точную (но немного медлительнее) без необходимости переподготовки всей модели. Это похоже на то, как автомобиль может переключаться между экономичным режимом для эффективности или спортивным режимом для производительности, в зависимости от того, что вам нужно в данный момент.

Быстрое руководство: Запуск и тонкая настройка RF-DETR на GPU-дриплах DigitalOcean Gradient™ AI

Вы можете быстро попробовать RF-DETR, используя сервер вывода или пакет RF-DETR для Python. Сначала установите необходимые зависимости:

pip install -q rfdetr==1.2.1 supervision==0.26.1 roboflow 

Код ниже позволяет вам запустить rfdetr-base на изображении:

import os import supervision as sv from inference import get_model from PIL import Image from io import BytesIO import requests  url = "https://media.roboflow.com/dog.jpeg" image = Image.open(BytesIO(requests.get(url).content))  model = get_model("rfdetr-base")  predictions = model.infer(image, confidence=0.5)[0]  detections = sv.Detections.from_inference(predictions)  labels = [prediction.class_name for prediction in predictions.predictions]  annotated_image = image.copy() annotated_image = sv.BoxAnnotator(color=sv.ColorPalette.ROBOFLOW).annotate(annotated_image, detections) annotated_image = sv.LabelAnnotator(color=sv.ColorPalette.ROBOFLOW).annotate(annotated_image, detections, labels) 

Создайте GPU Droplet

  • План: GPU дроплет с NVIDIA L40S (увеличить масштаб, если потребуется).
  • Изображение: AI/ML готово или Ubuntu 22.04 LTS.
  • Сетевое взаимодействие: Включите SSH-ключ для входа. DigitalOcean GPU Droplets поставляются с драйверами NVIDIA, так что вы можете начать сразу.

Совет: Если вы планируете обучать модели среднего/большого размера или использовать большие размеры пакетной обработки, выберите каплю с большим объемом памяти GPU (классы A100/H100 или эквивалентно большой VRAM). Для небольших экспериментов может подойти один GPU с 16 ГБ (используйте накопление градиентов, если объем VRAM ограничен).

Создайте изолированную среду Python (рекомендуется Miniconda)

install Miniconda (if not using the AI image that already has it) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh  # answer prompts (then reopen shell or `source ~/.bashrc`) conda create -n rfdetr python=3.11 -y conda activate rfdetr pip install --upgrade pip 

Установите PyTorch, соответствующий версии CUDA (используйте официальные инструкции PyTorch). Пример (conda) для часто используемых версий CUDA:

Example for CUDA 11.8 (conda recommended) conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y  Or for CUDA 12.1 (if your image uses 12.1) conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y 

Проверка torch.cuda.is_available() после установки является хорошим тестом.

Установите RF-DETR и утилитарные пакеты

Из вашей активированной среды:

core model and helpers pip install rfdetr  Roboflow Inference tools and dataset helpers pip install inference supervision roboflow pillow requests  optional: logging / experiment tracking pip install wandb  (if you want GPU-optimized inference server) pip install inference-gpu 

Получите свой набор данных на Дроплете

Загружайте из Roboflow программно (рекомендуется, если ваш набор данных находится на Roboflow):

example (run in a python script or notebook) from roboflow import Roboflow rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY") project = rf.workspace().project("your-project-name")  # or use roboflow.download_dataset helper 

Проще (как используется в блокноте):

from roboflow import download_dataset dataset = download_dataset("https://universe.roboflow.com/your-workspace/your-project/VERSION", "coco") dataset.location => path to local COCO-formatted dataset folder 

(Вы должны установить переменную окружения ROBOFLOW_API_KEY или передать ключ.) Ноутбук RF-DETR ожидает формат COCO; пример структуры папок представлен в ноутбуке.

Тонкая настройка RF-DETR — минимальный Python-скрипт

Ниже приведен скрипт для копирования, основанный на вашей записной книжке. Сохраните его как файл train_rfdetr.py в вашем рабочем каталоге.

train_rfdetr.py import argparse from rfdetr import RFDETRMedium, RFDETRSmall, RFDETRNano, RFDETRBase import os  MODEL_MAP = {     "nano": RFDETRNano,     "small": RFDETRSmall,     "medium": RFDETRMedium,     "base": RFDETRBase }  def main():     parser = argparse.ArgumentParser()     parser.add_argument("--dataset_dir", required=True)     parser.add_argument("--model_size", default="medium", choices=MODEL_MAP.keys())     parser.add_argument("--epochs", type=int, default=15)     parser.add_argument("--batch_size", type=int, default=8)     parser.add_argument("--grad_accum_steps", type=int, default=2)     parser.add_argument("--lr", type=float, default=1e-4)     parser.add_argument("--output_dir", default="output")     args = parser.parse_args()      ModelClass = MODEL_MAP[args.model_size]     model = ModelClass()      model.train(         dataset_dir=args.dataset_dir,         epochs=args.epochs,         batch_size=args.batch_size,         grad_accum_steps=args.grad_accum_steps,         lr=args.lr,         output_dir=args.output_dir     )  if __name__ == "__main__":     main() 

Запустите это (пример для средней модели):

in tmux/session python train_rfdetr.py    --dataset_dir /path/to/dataset    --model_size medium    --epochs 15    --batch_size 16    --grad_accum_steps 1    --lr 1e-4    --output_dir /path/to/output 

Если у вас ограничена видеопамять GPU, уменьшите размер пакета (batch_size) и увеличьте количество шагов накопления градиентов (grad_accum_steps), чтобы сохранить эффективный размер пакета похожим (например, 4 × grad_accum_steps=4 => эффективно 16). Документация RF-DETR явно рекомендует эту стратегию. Если вы используете W&B, установите переменную среды WANDB_API_KEY, и обучение будет записываться в ваше пространство W&B.

Контрольная точка → Вывод → Оптимизация

После завершения обучения (или во время обучения), загрузите лучший контрольный пункт и оптимизируйте для вывода:

from rfdetr import RFDETRMedium model = RFDETRMedium(pretrain_weights="/path/to/output/checkpoint_best_total.pth") model.optimize_for_inference() then run model.predict(...) or use Inference server 

Вы также можете развернуть на Roboflow Inference с помощью model.deploy_to_roboflow(…) (вам потребуется ROBOFLOW_API_KEY).

Практические советы и устранение неполадок для тонкой настройки RF-DETR

  • Сопоставление CUDA ↔ PyTorch: всегда проверяйте nvidia-smi, а затем устанавливайте PyTorch, соответствующий этой версии CUDA. Несоответствия являются распространенной причиной ошибок torch.cuda.
  • Недостаточно памяти: уменьшите batch_size, используйте grad_accum_steps, включите gradient_checkpointing=True (поддерживается) и используйте смешанную точность (AMP), если доступно. Библиотека RF-DETR поддерживает контроль градиентов и раннюю остановку.
  • Версия Python: предпочтительно 3.9–3.11
  • Формат данных: RF-DETR ожидает формат COCO; ноутбук показывает структуру директорий. Если вы используете Roboflow, экспортируйте как COCO и используйте вспомогательную функцию download_dataset.
  • Много-GPU: тренировка с несколькими GPU требует конфигурации NCCL и распределенных инструментов; следуйте этому пути только после того, как запуски на одном GPU станут стабильными.

Часто задаваемые вопросы

  1. Что отличает RF-DETR от моделей YOLO? RF-DETR использует архитектуру на основе трансформеров, в отличие от традиционного подхода CNN, используемого в YOLO. Это означает, что RF-DETR не нуждается в дополнительном этапе, называемом NMS (подавление ненужных максимумов), который необходим YOLO для фильтрации дублирующих обнаружений. Представьте это как умного помощника, который сразу дает вам окончательный ответ, вместо того чтобы давать вам несколько вариантов, которые вам затем нужно будет сортировать самостоятельно. Это делает RF-DETR не только более эффективным, но и потенциально более точным, так как он предназначен для получения более чистых результатов с самого начала.

  2. Какое оборудование рекомендуется для обучения RF-DETR? Для комфортного обучения вам понадобится графический процессор с как минимум 16 ГБ памяти (VRAM). Это похоже на то, как необходимо достаточно места на столе при приготовлении сложного блюда — без достаточного пространства придется работать с меньшими партиями, что занимает больше времени. Если вы работаете с более крупными моделями или большими наборами данных, рассмотрите возможность использования более мощных графических процессоров, таких как A100 или H100, у которых гораздо больше памяти. Если у вас ограниченный бюджет, вы все равно сможете обойтись менее мощными графическими процессорами, уменьшив размер партии и используя такие методы, как накопление градиентов, но обучение займет больше времени.

  3. Можно ли развернуть RF-DETR на устройствах на грани? Да! RF-DETR разработан с учетом эффективности и доступен в разных размерах. Нано и малые варианты специально созданы для устройств на грани, таких как смартфоны, камеры или небольшие компьютеры. Это как если бы у одной машины были версии SUV и компактного автомобиля — меньшие версии сохраняют основные преимущества, при этом подходя в более узкие пространства. Это делает RF-DETR достаточно универсальным, чтобы работать как в облаке, так и на устройствах с ограниченной вычислительной мощностью.

  4. Сколько времени требуется для обучения RF-DETR на пользовательском наборе данных? Время обучения зависит от нескольких факторов: размера вашего набора данных, выбранного вами варианта модели и вашего аппаратного обеспечения. На хорошем GPU вы можете увидеть неплохие результаты всего за 10-15 эпох, что может занять несколько часов для наборов данных среднего размера. Это похоже на изучение нового навыка — основы приходят быстро, но мастерство требует времени. Хорошая новость заключается в том, что RF-DETR использует переносное обучение от своей предобученной основы, поэтому он часто сходится быстрее, чем модели, которые начинают с нуля. Для получения результатов производственного качества вам, возможно, потребуется обучать модель дольше, потенциально 50+ эпох.

  5. Нужно ли мне много данных для дообучения RF-DETR? Одно из преимуществ RF-DETR заключается в том, что он может хорошо работать даже с ограниченными данными благодаря своей предобученной основе DINOv2. Можно представить себе это как человека, который уже знает несколько языков и легче усваивает новый. Хотя больше данных, как правило, приводит к лучшим результатам, вы можете начать с всего лишь нескольких сотен размеченных изображений. Для достижения наилучших результатов старайтесь подбирать разнообразные примеры, охватывающие различные условия освещения, углы и сценарии, с которыми ваша модель столкнется в реальном мире.

  6. Как RF-DETR обрабатывает мелкие объекты по сравнению с другими детекторами? RF-DETR особенно хорошо справляется с мелкими объектами благодаря своей архитектуре трансформера и обработке многоуровневых признаков. В отличие от некоторых детекторов, которые испытывают трудности с крошечными объектами, RF-DETR может сохранять хорошие показатели обнаружения для различных размеров объектов. Это похоже на то, как некоторые люди могут замечать как крупные, так и мелкие детали на картине, в то время как другие могут пропустить меньшие элементы. Это делает RF-DETR особенно ценным для таких приложений, как воздушная съемка, медицинские сканирования или промышленная инспекция, где мелкие объекты имеют такое же значение, как и крупные.

  7. Могу ли я использовать RF-DETR для обработки видео? Абсолютно! Реальное время работы RF-DETR делает его подходящим для обработки видео. Поскольку он может работать на высоких частотах кадров (особенно меньшие варианты), вы можете применять его к видеопотокам для таких приложений, как наблюдение, анализ спорта или автономная навигация. Для еще лучшей производительности на видео вы можете внедрить алгоритмы отслеживания вместе с RF-DETR, чтобы поддерживать согласованность идентичностей объектов между кадрами. Некоторые пользователи также используют многоразрешающую возможность RF-DETR для обработки ключевых кадров на более высоком разрешении, в то время как для промежуточных кадров используется более низкое разрешение, чтобы сбалансировать точность и скорость.

Заключение

RF-DETR представляет собой значительный прорыв в области обнаружения объектов, соединяя высокоточные трансформерные модели с требованиями к производительности в реальном времени. Объединив мощный предобученный каркас DINOv2 с эффективной архитектурой DETR, RF-DETR демонстрирует выдающиеся результаты по нескольким направлениям:

  • Скорость без жертв: RF-DETR достигает скорости вывода в реальном времени, сохраняя высокую точность (более 60 mAP на COCO), устраняя традиционный компромисс между скоростью и точностью.
  • Адаптация к домену: В отличие от моделей, которые показывают отличные результаты только на конкретных наборах данных, RF-DETR демонстрирует замечательную универсальность в различных областях, от аэросъемки до медицинских сканов и промышленной инспекции.
  • Эффективность ресурсов: Благодаря различным размерам модели (нано, малый, средний, базовый), RF-DETR можно развернуть на всех устройствах, от мощных облачных серверов до устройств с ограниченными ресурсами.
  • Эффективность обучения: Благодаря своей заранее натренированной основе, RF-DETR может быть дообучен на относительно небольших наборах данных и сходится быстрее, чем модели, которые начинают с нуля.

RF-DETR особенно хорошо подходит для:

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

Перспективы на будущее

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

Размещая RF-DETR на GPU Droplets DigitalOcean Gradient AI, разработчики и исследователи могут быстро проводить эксперименты, настраивать и масштабировать свои решения для обнаружения объектов без проблем управления инфраструктурой. Независимо от того, создаете ли вы прототип или разворачиваете решение в продуктиве, RF-DETR предлагает гибкость и производительность, чтобы успешно справляться с вашими задачами в области компьютерного зрения.

Ссылка

  • Как создать GPU Droplets на DigitalOcean Gradient + изображения для ИИ/МЛ.
  • Рекомендуемые драйверы настройки GPU от DigitalOcean, временный диск.
  • Установка и обучение API RF-DETR документов.
  • Руководство Roboflow: «Как обучить RF-DETR на пользовательском наборе данных» — пошаговое руководство по записной книжке.
  • Для установки PyTorch выберите правильный conda для вашей версии CUDA.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *