特徴マップがいかにCNNの目として機能するかを探ります。Ultralytics YOLO26がいかにこれらの内部表現を使用してパターンを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できるようにします。Ultralytics Platformをトレーニングに活用するユーザーは、これらのモデルがどのように機能するかを視覚化し、精度や再現率などのメトリクスを通じて、基盤となる特徴マップの有効性を間接的に観察できます。これらのマップを最適化するには、アノテーション付きデータセットでの広範なトレーニングが必要であり、多くの場合、事前学習済みモデルから新しいタスクに知識を転移させるために特徴抽出のような技術が利用されます。
未来の機械学習で、新たな一歩を踏み出しましょう。