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

Feature Pyramid Network (FPN)

Пирамида признаков (FPN) объединяет глубокие семантические признаки с детализированными признаками высокого разрешения, чтобы детекторы находили и крупные, и мелкие объекты.

Сеть пирамидальных признаков (FPN) — это архитектура шеи, которая преобразует многоразрешающие карты признаков базовой сети в пирамиду, где каждый уровень несёт сильную семантическую информацию и соответствует определённому диапазону размеров объектов. Эта архитектура была представлена Facebook AI Research в работе Feature Pyramid Networks for Object Detection (CVPR 2017). Она добавляет стандартной свёрточной нейронной сети (CNN) путь сверху вниз и боковые связи, благодаря чему небольшие объекты можно обнаруживать на уровнях с высоким разрешением, которые при этом сохраняют знания глубоких слоёв о том, как выглядят объекты. FPN и её производные располагаются между базовой сетью и головой обнаружения в большинстве современных архитектур обнаружения объектов и моделей сегментации экземпляров.

Зачем детекторам признаки разных масштабов#

Базовая CNN уменьшает разрешение по мере углубления, поэтому её последняя карта признаков содержит сильную семантическую информацию, но имеет низкое разрешение: при шаге 32 объект размером 20 пикселей занимает меньше одной ячейки сетки. Ранние карты признаков сохраняют мелкие пространственные детали и реагируют в основном на границы и текстуры. До появления FPN у детекторов было три варианта, каждый со своими издержками. Обработка изображения в пирамиде нескольких масштабов даёт точность, но работает в несколько раз медленнее. Предсказание только по последней карте, как в оригинальной модели Faster R-CNN, выполняется быстро, но плохо справляется с небольшими объектами. Предсказание по нескольким этапам базовой сети, как в SSD, начинается на высоком уровне сети, чтобы избежать слабых низкоуровневых признаков, и поэтому не использует карты высокого разрешения, необходимые для обнаружения небольших объектов. FPN обеспечивает охват разных масштабов, как у пирамиды изображений, за один прямой проход. Faster R-CNN с FPN установила новый рекорд качества для одной модели при обнаружении объектов на COCO, работая со скоростью 5 кадров в секунду на GPU.

Как работает FPN#

FPN строит пирамиду в три этапа:

  1. Путь снизу вверх: Обычный прямой проход базовой сети. FPN берёт последнюю карту признаков каждого этапа, обозначенную от C2 до C5 при шагах 4, 8, 16 и 32 в ResNet.
  2. Путь сверху вниз: Начиная с самого грубого уровня, каждая карта увеличивается в 2 раза интерполяцией методом ближайшего соседа, передавая семантику высокого уровня на более детальные уровни.
  3. Боковые связи: Свёртка 1×1 приводит каждую карту базовой сети к общей ширине в 256 каналов. Результат складывается поэлементно с увеличенной картой уровня выше, а свёртка 3×3 сглаживает сумму, уменьшая артефакты масштабирования. Все выходы, от P2 до P5, имеют по 256 каналов, поэтому одна голова предсказания с общими весами работает на каждом уровне.

В Torchvision есть готовый модуль FeaturePyramidNetwork, который принимает карты базовой сети в виде упорядоченного словаря.

from collections import OrderedDict

import torch
from torchvision.ops import FeaturePyramidNetwork

# Выходы базовой сети для изображения 640x640 при шагах 8, 16 и 32 (число каналов ResNet-50)
features = OrderedDict(
    c3=torch.randn(1, 512, 80, 80),
    c4=torch.randn(1, 1024, 40, 40),
    c5=torch.randn(1, 2048, 20, 20),
)

# Боковые свёртки 1x1 и путь сверху вниз обеспечивают одинаковое число каналов 256 на каждом уровне
fpn = FeaturePyramidNetwork(in_channels_list=[512, 1024, 2048], out_channels=256)
pyramid = fpn(features)

for name, level in pyramid.items():
    print(name, tuple(level.shape))

Выводятся c3 (1, 256, 80, 80), c4 (1, 256, 40, 40) и c5 (1, 256, 20, 20): каждый уровень сохраняет свой пространственный размер, и теперь у всех трёх одинаковая ширина каналов, благодаря чему одна голова работает на всех масштабах.

Применение#

  • Аэрофотосъёмка и спутниковые изображения: Транспортные средства, люди и здания на спутниковых изображениях и записях с дронов часто занимают всего несколько пикселей, поэтому детекторы используют уровни пирамиды с шагами 4 и 8.
  • Сегментация экземпляров: Mask R-CNN, доступная в Detectron2, назначает каждую область уровню пирамиды в соответствии с её размером, а затем предсказывает ограничивающую рамку и маску.
  • Паноптическая сегментация: Panoptic FPN добавляет к той же пирамиде ветвь семантической сегментации, которая размечает такие области, как дорога и небо, наряду с подсчитываемыми объектами.
  • Автономные транспортные средства: В одном кадре камеры могут одновременно оказаться близкие грузовики, занимающие половину изображения, и далёкие пешеходы и светофоры высотой всего в несколько пикселей.

FPN, PANet, BiFPN и другие архитектуры шеи#

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

  • PANet: Добавляет путь снизу вверх после пути FPN сверху вниз, сокращая маршрут от детальных, точно локализованных признаков к верхним уровням. PANet заняла первое место в соревновании по сегментации экземпляров COCO 2017.
  • BiFPN: Архитектура шеи модели EfficientDet несколько раз повторяет объединение сверху вниз и снизу вверх, удаляет узлы только с одним входом и обучает вес для каждого объединяемого входа.
  • NAS-FPN: Структура пирамиды, найденная с помощью поиска нейронной архитектуры и повторённая несколько раз.
  • U-Net: Также объединяет грубые и детальные признаки с помощью пропускающих связей, а затем выполняет предсказание на полном разрешении. Это лучше подходит для попиксельной сегментации, чем для обнаружения объектов разных масштабов.

YOLO26 использует архитектуру шеи FPN-plus-PAN, которая объединяет уровни конкатенацией: два этапа увеличения разрешения передают контекст с шага 32 на уровень с шагом 8, две свёртки с шагом передают детали обратно наверх, а голова делает предсказания по P3, P4 и P5 при шагах 8, 16 и 32. Вариант yolo26-p2.yaml расширяет пирамиду уровнем P2 с шагом 4 для очень маленьких объектов, увеличивая вычисления YOLO26n без объединения слоёв с 6.1 до 9.5 GFLOPs.

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

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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