Feature Maps
Изучи, как карты признаков служат глазами CNN. Узнай, как Ultralytics YOLO26 использует эти внутренние представления для обнаружения закономерностей и реализации компьютерного зрения.
Карта признаков — это основной результат, формируемый при обработке входного изображения или предыдущего слоя нейронной сети с помощью свёрточного фильтра. В контексте компьютерного зрения (CV) такие карты служат внутренним представлением данных, выделяя определённые закономерности, например границы, текстуры или сложные геометрические формы, которые модель научилась распознавать. По сути, карты признаков выступают в роли «глаз» свёрточной нейронной сети (CNN), преобразуя исходные значения пикселей в осмысленные абстракции, которые облегчают выполнение таких задач, как обнаружение объектов и классификация.
Механизм работы карт признаков#
Создание карты признаков основано на математической операции, известной как свёртка. В ходе этого процесса небольшая матрица обучаемых параметров, называемая ядром или фильтром, перемещается по входным данным. В каждой позиции ядро выполняет поэлементное умножение и суммирование, в результате чего в выходной сетке появляется одно значение.
- Активация закономерностей: Каждый фильтр обучается обнаруживать определённый признак. Когда фильтр встречает этот признак во входных данных, результирующее значение на карте признаков становится высоким, указывая на сильную активацию.
- Пространственная иерархия: В архитектурах глубокого обучения (DL) карты признаков организованы иерархически. Ранние слои создают карты, обнаруживающие низкоуровневые детали, такие как линии и кривые при обнаружении границ. Более глубокие слои объединяют эти простые карты, формируя высокоуровневые представления сложных объектов, например лиц или транспортных средств.
- Изменение размерности: По мере прохождения данных через сеть такие операции, как слои пулинга, обычно уменьшают пространственные размеры (высоту и ширину) карт признаков, одновременно увеличивая глубину (количество каналов). Этот процесс, часто называемый снижением размерности, помогает модели сосредоточиться на наличии признаков, а не на их точном расположении в пикселях.
Практические применения#
Карты признаков — это основа современных приложений ИИ, позволяющая системам интерпретировать визуальные данные подобно человеку.
- Медицинская диагностика: При анализе медицинских изображений модели используют карты признаков для обработки рентгеновских снимков или МРТ. Ранние карты могут выделять контуры костей, а более глубокие — обнаруживать такие аномалии, как опухоли или переломы, помогая врачам в сценариях применения ИИ в здравоохранении.
- Автономная навигация: Беспилотные автомобили в значительной степени полагаются на карты признаков, создаваемые визуальными датчиками. Эти карты позволяют бортовому компьютеру автомобиля в режиме реального времени различать полосы движения, пешеходов и дорожные знаки, что критически важно для безопасной работы автономных транспортных средств.
Работа с картами признаков в 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, карты признаков играют ключевую роль в «основной сети» и «голове» модели. Основная сеть извлекает признаки в разных масштабах (пирамиду признаков), благодаря чему модель эффективно обнаруживает как маленькие, так и большие объекты. Пользователи, применяющие платформу Ultralytics для обучения, могут визуализировать работу этих моделей, косвенно оценивая эффективность лежащих в основе карт признаков с помощью таких метрик, как точность и полнота. для оптимизации этих карт требуется обширное обучение на размеченных наборах данных, часто с применением таких методов, как извлечение признаков, для переноса знаний из предварительно обученных моделей на новые задачи.









