Feature Maps
Узнай, как карты признаков (feature maps) работают как глаза CNN. Пойми, как Ultralytics YOLO26 использует эти внутренние представления для обнаружения паттернов и развития компьютерного зрения.
Карта признаков — это основной результат работы convolutional filter, который обрабатывает входное изображение или предыдущий слой нейронной сети. В контексте computer vision (CV), эти карты служат внутренним представлением данных, выделяя специфические паттерны, такие как границы, текстуры или сложные геометрические фигуры, которые модель научилась распознавать. По сути, карты признаков выступают «глазами» Convolutional Neural Network (CNN), превращая необработанные значения пикселей в значимые абстракции, которые упрощают такие задачи, как object detection и классификация.
Link to this sectionМеханизм работы карт признаков#
Создание карты признаков основано на математической операции, известной как convolution. В ходе этого процесса небольшая матрица обучаемых параметров, называемая ядром или фильтром, перемещается по входным данным. В каждой позиции ядро выполняет поэлементное умножение и суммирование, что приводит к получению одного значения в выходной сетке.
- Активация паттерна: Каждый фильтр обучается искать определенный признак. Когда фильтр встречает этот признак во входных данных, результирующее значение в карте признаков оказывается высоким, что указывает на сильную активацию.
- Пространственная иерархия: В архитектурах deep learning (DL) карты признаков организованы иерархически. Ранние слои создают карты, обнаруживающие низкоуровневые детали, такие как линии и кривые в рамках edge detection. Более глубокие слои объединяют эти простые карты, формируя высокоуровневые представления сложных объектов, например, лиц или транспортных средств.
- Изменения размерности: По мере продвижения данных через сеть, такие операции, как pooling layers, обычно уменьшают пространственные размеры (высоту и ширину) карт признаков, одновременно увеличивая глубину (количество каналов). Этот процесс, часто называемый dimensionality reduction, помогает модели сосредоточиться на наличии признаков, а не на их точном расположении в пикселях.
Link to this sectionРеальные приложения#
Карты признаков являются движущей силой современных ИИ-приложений, позволяя системам интерпретировать визуальные данные с пониманием, близким к человеческому.
- Медицинская диагностика: В medical image analysis модели используют карты признаков для обработки рентгеновских снимков или данных МРТ. Ранние карты могут выделять контуры костей, в то время как более глубокие — определять аномалии, такие как опухоли или переломы, помогая врачам в сценариях AI in healthcare.
- Автономная навигация: Беспилотные автомобили сильно зависят от карт признаков, генерируемых визуальными датчиками. Эти карты позволяют бортовому компьютеру автомобиля в режиме реального времени различать полосы движения, пешеходов и дорожные знаки, что критически важно для безопасной работы autonomous vehicles.
Link to this sectionРабота с картами признаков на 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}")Link to this sectionРазграничение похожих концепций#
Полезно отличать карты признаков от похожих терминов, чтобы избежать путаницы во время model training:
- Карта признаков против фильтра: Фильтр (или ядро) — это инструмент, используемый для сканирования изображения; он содержит model weights. Карта признаков — это результат такого сканирования. Ты можешь представить фильтр как «линзу», а карту признаков — как «изображение», полученное через эту линзу.
- Карта признаков против эмбеддинга: Хотя оба варианта представляют данные, карты признаков обычно сохраняют пространственные структуры (высоту и ширину), подходящие для semantic segmentation. В отличие от них, embeddings обычно представляют собой сплющенные 1D-векторы, которые фиксируют семантический смысл, но отбрасывают пространственную компоновку, что часто используется в задачах similarity search.
- Карта признаков против активации: activation function (например, ReLU) применяется к значениям внутри карты признаков для внесения нелинейности. Карта существует как до, так и после этой математической операции.
Link to this sectionОтношение к моделям Ultralytics#
В продвинутых архитектурах, таких как YOLO26, карты признаков играют ключевую роль в «бэкбоне» (backbone) и «голове» (head) модели. Бэкбон извлекает признаки в различных масштабах (пирамида признаков), гарантируя, что модель может эффективно обнаруживать как мелкие, так и крупные объекты. Пользователи, применяющие Ultralytics Platform для обучения, могут визуализировать работу этих моделей, косвенно наблюдая за эффективностью используемых карт признаков через такие метрики, как accuracy и recall. Оптимизация этих карт включает в себя длительное обучение на аннотированных наборах данных, часто с использованием методов feature extraction для переноса знаний с предобученных моделей на новые задачи.






