Feature Maps
Khám phá cách các bản đồ đặc trưng (feature maps) hoạt động như con mắt của CNN. Tìm hiểu cách Ultralytics YOLO26 sử dụng các biểu diễn nội bộ này để phát hiện các mẫu và hỗ trợ thị giác máy tính.
Feature map là đầu ra cơ bản được tạo ra khi một convolutional filter xử lý một hình ảnh đầu vào hoặc một lớp trước đó trong một mạng neural. Trong ngữ cảnh của computer vision (CV), các map này đóng vai trò là biểu diễn nội bộ của dữ liệu, làm nổi bật các mẫu cụ thể như cạnh, kết cấu hoặc hình dạng hình học phức tạp mà model đã học cách nhận diện. Về bản chất, feature map hoạt động giống như "đôi mắt" của một Convolutional Neural Network (CNN), chuyển đổi các giá trị pixel thô thành các dạng trừu tượng có ý nghĩa giúp hỗ trợ các tác vụ như object detection và phân loại.
Cơ chế đằng sau Feature Map#
Việc tạo ra feature map được thúc đẩy bởi phép toán học được gọi là convolution. Trong quá trình này, một ma trận nhỏ chứa các tham số có thể học được, gọi là kernel hoặc filter, trượt qua dữ liệu đầu vào. Tại mọi vị trí, kernel thực hiện phép nhân theo từng phần tử và tính tổng, tạo ra một giá trị duy nhất trong lưới đầu ra.
- Kích hoạt mô hình (Pattern Activation): Mỗi filter được huấn luyện để tìm kiếm một đặc trưng cụ thể. Khi filter gặp đặc trưng đó trong đầu vào, giá trị kết quả trong feature map sẽ cao, cho thấy sự kích hoạt mạnh mẽ.
- Spatial Hierarchy: Trong các kiến trúc deep learning (DL), các feature map được sắp xếp theo phân cấp. Các lớp ban đầu tạo ra các map phát hiện các chi tiết cấp thấp như các đường và đường cong trong edge detection. Các lớp sâu hơn kết hợp các map đơn giản này để tạo thành các biểu diễn cấp cao của các đối tượng phức tạp, chẳng hạn như khuôn mặt hoặc phương tiện.
- Dimensionality Changes: Khi dữ liệu đi qua mạng, các thao tác như pooling layers thường làm giảm kích thước không gian (chiều cao và chiều rộng) của các feature map đồng thời làm tăng độ sâu (số kênh). Quá trình này, thường được gọi là dimensionality reduction, giúp model tập trung vào sự hiện diện của các đặc trưng thay vì vị trí pixel chính xác của chúng.
Các ứng dụng trong thực tế#
Feature map là bộ máy cốt lõi cho các ứng dụng AI hiện đại, cho phép hệ thống diễn giải dữ liệu thị giác với sự hiểu biết giống như con người.
- Medical Diagnostics: Trong medical image analysis, các model sử dụng feature map để xử lý ảnh X-quang hoặc quét MRI. Các map ban đầu có thể làm nổi bật đường viền xương, trong khi các map sâu hơn xác định các điểm bất thường như khối u hoặc vết gãy, hỗ trợ bác sĩ trong các kịch bản AI in healthcare.
- Autonomous Navigation: Xe tự hành phụ thuộc rất nhiều vào các feature map được tạo bởi các cảm biến thị giác. Các map này cho phép máy tính trên xe phân biệt giữa làn đường, người đi bộ và biển báo giao thông trong thời gian thực, điều này rất quan trọng để autonomous vehicles hoạt động an toàn.
Làm việc với Feature Map trong Python#
Mặc dù feature map là cấu trúc nội bộ, việc hiểu kích thước của chúng là rất quan trọng khi thiết kế các kiến trúc. Ví dụ PyTorch sau đây minh họa cách một lớp tích chập duy nhất chuyển đổi ảnh đầu vào thành một feature map.
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}")Phân biệt các khái niệm liên quan#
Việc phân biệt feature map với các thuật ngữ tương tự là rất hữu ích để tránh nhầm lẫn trong quá trình model training:
- Feature Map vs. Filter: Filter (hoặc kernel) là công cụ được sử dụng để quét hình ảnh; nó chứa model weights. Feature map là kết quả của lần quét đó. Bạn có thể coi filter như "thấu kính" và feature map như "hình ảnh" được chụp qua thấu kính đó.
- Feature Map vs. Embedding: Mặc dù cả hai đều biểu diễn dữ liệu, feature map thường giữ lại các cấu trúc không gian (chiều cao và chiều rộng) phù hợp cho semantic segmentation. Ngược lại, embeddings thường là các vector 1 chiều được làm phẳng để nắm bắt ý nghĩa ngữ nghĩa nhưng loại bỏ bố cục không gian, thường được sử dụng trong các tác vụ similarity search.
- Feature Map vs. Activation: Một activation function (như ReLU) được áp dụng cho các giá trị bên trong một feature map để đưa tính phi tuyến tính vào. Map tồn tại trước và sau phép toán này.
Sự liên quan đến các model Ultralytics#
In advanced architectures like YOLO26, feature maps play a pivotal role in the "backbone" and "head" of the model. The backbone extracts features at different scales (feature pyramid), ensuring the model can detect both small and large objects effectively. Users leveraging the Ultralytics Platform for training can visualize how these models perform, indirectly observing the efficacy of the underlying feature maps through metrics like accuracy and recall. for optimizing these maps involves extensive training on annotated datasets, often utilizing techniques like feature extraction to transfer knowledge from pre-trained models to new tasks.






