CNN에서 특징 맵이 어떻게 시각적 역할을 하는지 살펴보세요. Ultralytics 이러한 내부 표현을 활용하여 detect 컴퓨터 비전을 구현하는 방식을 알아보세요.
피처 맵은 신경망 내에서 컨볼루션 필터가 입력 이미지 또는 선행 레이어를 처리할 때 생성되는 기본 출력입니다. 컴퓨터 비전(CV)의 맥락에서 이러한 맵은 데이터의 내부 표현 역할을 하며, 모델이 인식하도록 학습한 가장자리, 질감 또는 복잡한 기하학적 형태와 같은 특정 패턴을 강조합니다. 본질적으로 피처 맵은 컨볼루션 신경망(CNN)의 "눈" 역할을 하며, 원시 픽셀 값을 객체 탐지 및 분류와 같은 작업을 용이하게 하는 의미 있는 추상화로 변환합니다.
특징 맵의 생성은 컨볼루션으로 알려진 수학적 연산에 의해 이루어집니다. 이 과정에서 커널 또는 필터라고 불리는 학습 가능한 매개변수로 구성된 작은 행렬이 입력 데이터 위를 이동합니다. 커널은 각 위치에서 요소별 곱셈과 합계를 수행하여 출력 격자 내 단일 값을 생성합니다.
피처 맵은 현대 AI 애플리케이션의 엔진실로, 시스템이 인간과 유사한 이해력으로 시각 데이터를 해석할 수 있게 합니다.
피처 맵은 내부 구조이지만, 아키텍처를 설계할 때 그 차원을 이해하는 것이 매우 중요합니다. 다음 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}")
모델 훈련 중 혼란을 피하기 위해 유사한 용어와 특징 맵을 구분하는 것이 유용합니다:
YOLO26과 같은 고급 아키텍처에서 피처 맵은 모델의 "백본"과 "헤드"에서 중추적인 역할을 수행합니다. 백본은 다양한 스케일(피처 피라미드)에서 특징을 추출하여 모델이 크고 작은 물체를 detect 효과적으로 detect 수 있도록 합니다. Ultralytics 활용해 모델을 훈련하는 사용자는 이러한 모델의 성능을 시각화할 수 있으며, 정확도나 재현율 같은 지표를 통해 기본이 되는 피처 맵의 효용성을 간접적으로 관찰할 수 있습니다. 이러한 맵을 최적화하는 과정에는 주석이 달린 데이터셋에 대한 광범위한 훈련이 수반되며, 사전 훈련된 모델의 지식을 새로운 작업으로 이전하기 위해 피처 추출 같은 기법을 활용하는 경우가 많습니다.