Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Receptive Field

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

Рецептивное поле элемента сверточной нейронной сети (CNN) — это область входного изображения, влияющая на его значение. Элемент первого сверточного слоя размером 3 × 3 видит участок пикселей 3 × 3, а элементы более глубоких слоев — все большие области, поскольку каждый слой объединяет соседние выходы предыдущего. Рецептивное поле определяет, какой контекст доступен признаку: чтобы распознать автобус целиком, элемент должен видеть весь автобус. Термин пришел из нейронауки, где он обозначает область зрительного поля, активирующую отдельный нейрон.

Как растет рецептивное поле#

Каждый слой добавляет к рецептивному полю (k − 1) × j пикселей, где k — размер ядра, а j, или шаг между элементами, — расстояние во входных пикселях между соседними элементами слоя; оно равно произведению всех предыдущих шагов свертки. Из этого следуют три вывода:

  • Комбинация небольших ядер: три слоя 3 × 3 с шагом 1 охватывают участок 7 × 7, как и один слой 7 × 7, но используют 27C² весов вместо 49C² при C каналах. Этот аргумент VGG использовала для построения глубоких последовательностей сверточных слоев 3 × 3.
  • Шаг свертки и пулинг: каждый слой с шагом 2 или операция пулинга удваивает расстояние между элементами, поэтому рецептивное поле в последующих слоях растет вдвое быстрее. Так CNN достигают рецептивных полей размером в сотни пикселей, одновременно уменьшая карты признаков.
  • Дилатация: дилатированная (атрусная) свертка 3 × 3 с коэффициентом дилатации d размещает элементы ядра на расстоянии d пикселей друг от друга и охватывает 2d + 1 пикселей. Так рецептивное поле расширяется без уменьшения разрешения, что полезно для плотных попиксельных задач, например семантической сегментации.

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

import torch
from torch import nn

# Three stacked 3x3 convolutions in three configurations: (stride, dilation)
for name, stride, dilation in (("plain", 1, 1), ("strided", 2, 1), ("dilated", 1, 2)):
    convs = [nn.Conv2d(1, 1, 3, stride, padding=dilation, dilation=dilation, bias=False) for _ in range(3)]
    for conv in convs:
        nn.init.ones_(conv.weight)  # positive weights, so no input pixel's gradient cancels out
    layers = nn.Sequential(*convs)

    # Backpropagate from the central output value; input pixels with nonzero gradient form its receptive field
    image = torch.zeros(1, 1, 64, 64, requires_grad=True)
    output = layers(image)
    output[0, 0, output.shape[2] // 2, output.shape[3] // 2].backward()
    rows = image.grad[0, 0].sum(dim=1).nonzero()
    size = rows.max().item() - rows.min().item() + 1
    print(f"{name}: {size}x{size} pixels")

Вывод программы: 7 × 7 для обычной последовательности слоев, 15 × 15 для последовательности с шагом свертки, где расстояние между элементами растет с 1 до 2 и затем до 4, и 13 × 13 для последовательности с дилатацией, в которой каждый слой добавляет 4 пикселя.

Теоретическое и эффективное рецептивное поле#

Формула дает теоретическое рецептивное поле — все пиксели, способные повлиять на элемент. Эффективное рецептивное поле показывает, насколько сильно влияет каждый пиксель: его влияние имеет примерно гауссову форму с максимумом в центре и охватывает лишь часть теоретической области. Более крупные ядра расширяют его; в RepLKNet использовались глубинные ядра размером до 31 × 31, обеспечивающие, по заявлению авторов, намного более широкое эффективное рецептивное поле, чем у CNN с небольшими ядрами. В зрительных трансформерах механизм внимания к себе позволяет каждому участку изображения учитывать все остальные уже с первого слоя, поэтому теоретическое рецептивное поле охватывает целое изображение на любой глубине.

  • Размер ядра: окно, которое одна свертка считывает из своего входа, например 3 × 3. Рецептивное поле — это совокупная область исходного изображения; три последовательных ядра 3 × 3 уже дают поле 7 × 7.
  • Карта признаков: выходная сетка слоя. Рецептивное поле описывает область входа, соответствующую одной позиции этой сетки.
  • Контекстное окно: количество токенов, которое языковая модель считывает одновременно; аналог рецептивного поля для последовательности токенов.

Рецептивные поля в детекции объектов#

Детекторы предсказывают небольшие объекты по мелким картам признаков, а крупные — по грубым глубоким картам с большими рецептивными полями. Пирамидальная сеть признаков (FPN) переносит контекст глубоких слоев обратно на мелкие карты. Если рецептивное поле меньше объекта, видна лишь его часть, а для маленьких объектов по-прежнему нужен мелкий уровень: на карте с шагом 32 объект размером 20 пикселей занимает меньше одной ячейки сетки. YOLO26 выполняет предсказания по картам с шагом 8, 16 и 32. В конце ее бэкбона расположен блок SPPF, который применяет к карте с шагом 32 максимальный пулинг с окнами, эквивалентными 5 × 5, 9 × 9 и 13 × 13 ячейкам, а затем блок внимания к себе, охватывающий всю эту карту.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения