Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Карты признаков

Узнайте, как карты признаков действуют как «глаза» CNN. Узнайте, как Ultralytics использует эти внутренние представления для detect и обеспечения работы компьютерного зрения.

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

Механизм, лежащий в основе карт признаков

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

  • Активация шаблона: каждый фильтр обучается для поиска определенной особенности. Когда фильтр находит эту особенность во входных данных, результирующее значение на карте особенностей становится высоким, что указывает на сильную активацию.
  • Пространственная иерархия: в архитектурах глубокого обучения (DL) карты признаков располагаются иерархически. Ранние слои создают карты, которые detect детали, такие как линии обнаружения краев и кривые. Более глубокие слои объединяют эти простые карты, чтобы сформировать высокоуровневые представления сложных объектов, таких как лица или транспортные средства.
  • Изменения размерности: по мере прохождения данных по сети операции, такие как объединение слоев, обычно уменьшают пространственные размеры (высоту и ширину) карт признаков, одновременно увеличивая глубину (количество каналов). Этот процесс, часто называемый уменьшением размерности, помогает модели сосредоточиться на наличии признаков, а не на их точном расположении в пикселях.

Применение в реальном мире

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

  • Медицинская диагностика: при анализе медицинских изображений модели используют карты признаков для обработки рентгеновских снимков или МРТ. На ранних картах могут выделяться контуры костей, а на более глубоких — выявляться аномалии, такие как опухоли или переломы, что помогает врачам в сценариях применения ИИ в здравоохранении.
  • Автономная навигация: Автомобили с автономным управлением в значительной степени полагаются на карты объектов, созданные визуальными датчиками. Эти карты позволяют бортовому компьютеру автомобиля различать полосы движения, пешеходов и дорожные знаки в реальном времени, что имеет решающее значение для безопасной работы автономных транспортных средств.

Работа с картами признаков в Python

Хотя карты признаков являются внутренними структурами, понимание их измерений имеет решающее значение при проектировании архитектур. Следующее PyTorch демонстрирует, как один сверточный слой преобразует входное изображение в карту признаков.

import torch
import torch.nn as nn

# Define a convolution layer: 1 input channel, 1 output filter, 3x3 kernel
conv_layer = nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, bias=False)

# Create a random dummy image (Batch Size=1, Channels=1, Height=5, Width=5)
input_image = torch.randn(1, 1, 5, 5)

# Pass the image through the layer to generate the feature map
feature_map = conv_layer(input_image)

print(f"Input shape: {input_image.shape}")
# The output shape will be smaller (3x3) due to the kernel size and no padding
print(f"Feature Map shape: {feature_map.shape}")

Различение смежных понятий

Полезно отличать карты признаков от похожих терминов, чтобы избежать путаницы во время обучения модели:

  • Карта признаков и фильтр: фильтр (или ядро) — это инструмент, используемый для сканирования изображения; он содержит веса модели. Карта признаков — это результат этого сканирования. Фильтр можно представить как «линзу», а карту признаков — как «изображение», снятое через эту линзу.
  • Карта признаков против вложения: хотя оба представляют данные, карты признаков обычно сохраняют пространственные структуры (высота и ширина), подходящие для семантической сегментации. Напротив, вложения обычно представляют собой уплощенные одномерные векторы, которые захватывают семантическое значение, но отбрасывают пространственную компоновку, и часто используются в задачах поиска по схожести.
  • Карта признаков против активации: Функция активации (такая как ReLU) применяется к значениям в карте признаков для введения нелинейности. Карта существует как до, так и после этой математической операции.

Актуальность для Ultralytics

В передовых архитектурах, таких как YOLO26, карты признаков играют ключевую роль в «основе» и «головке» модели. Основа извлекает признаки в разных масштабах (пирамида признаков), обеспечивая эффективное detect модели detect мелких, detect и крупных объектов. Пользователи, использующие Ultralytics для обучения, могут визуализировать работу этих моделей, косвенно наблюдая за эффективностью базовых карт признаков с помощью таких метрик, как точность и полнота. Для оптимизации этих карт требуется обширное обучение на аннотированных наборах данных, часто с использованием таких методов, как извлечение признаков, для переноса знаний из предварительно обученных моделей на новые задачи.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас