Карты признаков
Узнайте, как карты объектов используются в моделях Ultralytics YOLO , обеспечивая точное обнаружение объектов и передовые приложения ИИ, такие как автономное вождение.
Карта признаков - это основной результат, получаемый при
Конволюционный фильтр воздействует на входное изображение или
другой картой признаков в рамках
Конволюционной нейронной сети (CNN). В контексте компьютерного зрения (КЗ) эти карты
карты выступают в роли "глаз" нейронной сети, выделяя наличие и расположение изученных
таких характеристик, как края, текстуры, углы или сложные геометрические фигуры. Преобразуя необработанные пиксельные данные в
карты признаков позволяют сложным моделям выполнять различные задачи - от
классификации изображений до обнаружения объектов в режиме реального времени
обнаружения объектов.
Как создаются карты характеристик
Создание карты признаков включает в себя математический процесс, известный как
свертка. Специализированная матрица
обучаемых весов, называемая ядром или фильтром, скользит
по входным данным. В каждой позиции ядро выполняет поэлементное умножение и суммирование, в результате чего получается
одно значение в выходной матрице.
-
Активация: Полученные значения обычно проходят через
функцию активации, например ReLU, которая
вводит нелинейность, позволяя сети обучаться сложным паттернам.
-
Сохранение пространственных связей: В отличие от полностью связанных слоев, карты признаков сохраняют пространственные отношения,
то есть высокое значение в определенной координате соответствует обнаруженному объекту в том же относительном месте на
исходном изображении.
-
Глубина: Один конволюционный слой часто использует несколько фильтров, складывая полученные 2D
массивы для формирования 3D-объема карт признаков, что часто визуализируется в
диаграммы архитектуры глубокого обучения (DL).
Иерархическое обучение признаков
Современные архитектуры, такие как
Магистраль ResNet, используемая во многих системах,
используют иерархическую природу карт признаков. По мере продвижения данных по сети уровень абстракции
повышается:
-
Неглубокие слои: На начальных картах характеристик отображаются детали низкого уровня, такие как вертикальные линии, цветовые
вертикальные линии, цветовые градиенты или простые кривые. Они составляют основу
зрительного восприятия.
-
Глубокие слои: В глубине сети эти базовые элементы объединяются. Полученные карты представляют
семантические понятия высокого уровня, такие как форма колеса автомобиля или морда собаки. Эта иерархия имеет решающее значение для
производительности самых современных моделей, таких как YOLO11,
позволяя им различать сходные классы с высокой
точностью.
Визуализация сетевого интеллекта
Разработчики часто визуализируют карты характеристик, чтобы интерпретировать то, чему научилась модель, - это ключевая практика в
объяснимого ИИ (XAI). Такие инструменты, как
TensorBoard, позволяют инженерам изучать эти
внутренние состояния. Если карта признаков, предназначенная для detect автомобилей, активируется на фоновых деревьях, это указывает на то, что модель
может быть перегружена шумом. Такая проверка крайне важна для отладки и повышения
устойчивости модели.
Следующий код на Python демонстрирует, как получить доступ к размерам карты характеристик, используя ultralytics библиотека
зарегистрировав хук на конволюционном слое.
from ultralytics import YOLO
# Load the YOLO11 model (nano version)
model = YOLO("yolo11n.pt")
# Define a hook to print the shape of the feature map from the first layer
def hook_fn(module, input, output):
print(f"Feature Map Output Shape: {output.shape}")
# Register the hook to the first convolutional layer of the model
model.model.model[0].register_forward_hook(hook_fn)
# Run inference on a dummy image to trigger the hook
model("https://ultralytics.com/images/bus.jpg")
Применение в реальном мире
Карты характеристик являются движущей силой многих революционных технологий:
-
Автономные транспортные средства: На сайте
Системы автономного вождения, такие как
разработанных компанией Waymo, карты функций обрабатывают данные с камер, чтобы определить разметку полосы движения,
пешеходов и дорожных знаков. Пространственная точность этих карт гарантирует, что автомобиль знает не только
что находится на дороге, но и точное местоположение относительно автомобиля.
-
Медицинская диагностика: В
анализ медицинских изображений, модели глубокого обучения
Модели глубокого обучения анализируют снимки МРТ или КТ. Карты характеристик в этих сетях обучаются выделять аномалии, такие как опухоли или
переломы. Исследования, опубликованные в таких журналах, как Nature Medicine, показывают.
как эти специфические активации могут помочь радиологам, отмечая интересующие их области с высокой точностью.
Различение смежных понятий
Чтобы полностью понять архитектуру нейронных сетей, полезно отличать карты признаков от смежных терминов:
-
Карты признаков в сравнении с извлечением признаков:
Извлечение признаков - это всеобъемлющий
процесс извлечения информативных данных из исходных данных. Карта признаков - это конкретная
структура данных, возникающая в результате этого процесса в слое CNN.
-
Карты признаков и вкрапления: В то время как карты признаков сохраняют пространственные размеры (высоту и ширину),
вкрапления обычно представляют собой уплощенные, более низкоразмерные
векторы. Эмбеддинги представляют семантическую сущность всего изображения или объекта, часто используются для
поиска сходства в
векторной базе данных, в то время как карты признаков используются
для задач, требующих пространственной локализации, таких как
сегментация изображений.