Özellik haritalarının CNN'lerin gözü olarak nasıl işlev gördüğünü keşfedin. Ultralytics bu içsel temsilleri kullanarak detect nasıl detect ve bilgisayar görüşünü nasıl güçlendirdiğini öğrenin.
Özellik haritası, bir evrişimli filtre bir girdi görüntüsünü veya sinir ağındaki önceki bir katmanı işlediğinde üretilen temel çıktıdır. Bilgisayar görme (CV) bağlamında, bu haritalar verilerin içsel temsilcisi olarak işlev görür ve modelin tanımayı öğrendiği kenarlar, dokular veya karmaşık geometrik şekiller gibi belirli kalıpları vurgular. Esasen, özellik haritaları bir Konvolüsyonel Sinir Ağı'nın (CNN)"gözleri" gibi işlev görür ve ham piksel değerlerini, nesne algılama ve sınıflandırma gibi görevleri kolaylaştıran anlamlı soyutlamalara dönüştürür. .
Özellik haritasının oluşturulması, konvolüsyon olarak bilinen matematiksel işlemle gerçekleştirilir. Bu işlem sırasında, çekirdek veya filtre olarak adlandırılan, öğrenilebilir parametrelerden oluşan küçük bir matris, girdi verileri üzerinde kayar. Her konumda, çekirdek eleman bazında çarpma ve toplama işlemi gerçekleştirir ve çıktı ızgarasında tek bir değer elde edilir.
Özellik haritaları, modern yapay zeka uygulamalarının motor odasıdır ve sistemlerin görsel verileri insan benzeri bir anlayışla yorumlamasına olanak tanır. .
Özellik haritaları iç yapılar olsa da, mimarileri tasarlarken boyutlarını anlamak çok önemlidir. Aşağıdaki PyTorch örneği, tek bir evrişimsel katmanın bir girdi görüntüsünü nasıl bir özellik haritasına dönüştürdüğünü göstermektedir.
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}")
Model eğitimi sırasında karışıklığı önlemek için özellik haritalarını benzer terimlerden ayırmak yararlıdır :
YOLO26 gibi gelişmiş mimarilerde, özellik haritaları modelin "backbone" ve "başında" önemli bir rol oynar. backbone , farklı ölçeklerde (özellik piramidi) özellikleri backbone modelin detect küçük hem de büyük nesneleri etkili bir şekilde detect sağlar. Eğitim için Ultralytics kullanan kullanıcılar, bu modellerin performansını görselleştirebilir ve doğruluk ve geri çağırma gibi metrikler aracılığıyla temel özellik haritalarının etkinliğini dolaylı olarak gözlemleyebilir. Bu haritaları optimize etmek için, genellikle önceden eğitilmiş modellerden yeni görevlere bilgi aktarmak için özellik çıkarma gibi teknikler kullanan, açıklamalı veri kümeleri üzerinde kapsamlı eğitim gerekir.