Convolution
Bilgisayarlı görü ve derin öğrenmedeki konvolüsyon temellerini keşfet. Çekirdeklerin ve özellik haritalarının Ultralytics YOLO26'ya gerçek zamanlı görevler için nasıl güç verdiğini öğren.
Konvolüsyon, modern computer vision (CV) ve deep learning (DL) sistemlerinin temel yapı taşını oluşturan temel bir matematiksel işlemdir. Görüntü işleme bağlamında konvolüsyon, önemli özelliklerin bir haritasını oluşturmak için bir girdinin üzerinde küçük bir filtrenin —çoğunlukla çekirdek (kernel) olarak adlandırılır— kaydırılmasını içerir. Bu süreç, artificial intelligence (AI) modellerinin insan müdahalesi olmadan kenarlar, dokular ve şekiller gibi kalıpları otomatik olarak öğrenmesine ve tanımlamasına olanak tanır. Genellikle manuel feature extraction gerektiren geleneksel machine learning (ML) yaklaşımlarının aksine konvolüsyon, ağların basit çizilerden başlayıp yüzler veya araçlar gibi karmaşık nesnelere doğru ilerleyerek görsel verilerin hiyerarşik bir anlayışını oluşturmasını sağlar.
Evrişim Nasıl Çalışır?#
Bu işlem, giriş verileri üzerinde bir filtre geçirerek, eleman bazında çarpım yaparak ve her bir konum için tek bir değer üretmek üzere sonuçları toplayarak çalışır. Bu çıktı feature map olarak bilinir.
- Çekirdek (Kernel): Belirli özellikleri algılayan küçük bir sayı matrisidir (ağırlıklar). Örneğin, Sobel operator, dikey veya yatay kenarları algılamak için kullanılan özel bir çekirdek türüdür.
- Kayan Pencere: Çekirdek, "stride" adı verilen belirli bir adım boyutu kullanarak görüntü üzerinde hareket eder. Bu spatial filtering süreci, pikseller arasındaki ilişkiyi korur; bu da görüntüleri anlamak için çok önemlidir.
- Katman Hiyerarşisi: Convolutional Neural Networks (CNNs) gibi derin mimarilerde ilk katmanlar düşük seviyeli detayları yakalarken, daha derin katmanlar bunları yüksek seviyeli kavramlarda birleştirir.
Evrişim ve İlgili Kavramlar#
Konvolüsyonu tam olarak kavramak için onu neural network (NN) literatüründe sıklıkla karşılaşılan benzer terimlerden ayırt etmek faydalıdır:
- Çapraz Korelasyon ve Konvolüsyon: Matematiksel olarak gerçek konvolüsyon, uygulamadan önce çekirdeğin ters çevrilmesini içerir. Bununla birlikte, PyTorch library dahil olmak üzere çoğu derin öğrenme çerçevesi çapraz korelasyon (ters çevirmeden kaydırma) uygular ancak ağırlıklar eğitim sırasında öğrenildiği ve ters çevirme ayrımını performans için önemsiz kıldığı için bunu "konvolüsyon" olarak etiketler.
- Konvolüsyon ve Dikkat (Attention): Konvolüsyon bilgiyi yerel olarak (komşu pikseller) işlerken, attention mechanism bir modelin bir görüntünün uzak kısımlarını aynı anda ilişkilendirmesine olanak tanır. YOLO26 gibi modern mimariler, dikkat katmanları hesaplama açısından daha ağır olabileceğinden real-time inference hızlarını korumak için genellikle son derece optimize edilmiş konvolüsyonel katmanlar kullanır.
Gerçek Dünya Uygulamaları#
Evrişimin verimliliği, yapay zekanın güçlü algı sistemlerine güç vererek çeşitli endüstrilerde devrim yaratmasını sağlamıştır:
-
Tıbbi Teşhis: AI in Healthcare alanında konvolüsyon, yüksek çözünürlüklü MRI scans verilerini analiz etmeye yardımcı olur. Modeller, anomalileri vurgulamak için tasarlanmış özel çekirdekler kullanarak insan uzmanlarla yarışan bir accuracy ile erken tümör veya kırık belirtilerini tespit edebilir.
-
Otonom Navigasyon: Sürücüsüz araçlar gerçek zamanlı object detection için konvolüsyona güvenir. Araç hareket ettikçe, konvolüsyonel katmanlar AI in Automotive güvenliğinin kritik bir bileşeni olarak yayaları, şerit çizgilerini ve trafik işaretlerini anında belirlemek için video akışlarını işler.
Ultralytics ile Python Örneği#
Python kullanarak son teknoloji modellerin içindeki konvolüsyonel katmanları inceleyebilirsin. Aşağıdaki örnek YOLO26 modelini yükler ve ilk katmanının, torch.nn aracılığıyla uygulanan standart bir konvolüsyonel işlem kullandığını doğrular.
import torch.nn as nn
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Access the first layer of the model's backbone
first_layer = model.model.model[0]
# Verify it is a Convolutional layer
if isinstance(first_layer.conv, nn.Conv2d):
print("Success: The first layer is a standard convolution.")
print(f"Kernel size: {first_layer.conv.kernel_size}")Evrişim Edge AI İçin Neden Önemli?#
Konvolüsyonel işlemler son derece optimize edilebilir; bu da onları hesaplama kaynaklarının sınırlı olduğu Edge AI dağıtımları için ideal kılar. Aynı çekirdek tüm görüntü boyunca paylaşıldığı için (parametre paylaşımı), model eski tam bağlantılı mimarilere göre çok daha az bellek gerektirir. Bu verimlilik, gelişmiş modellerin akıllı telefonlarda ve IoT devices üzerinde çalışmasına olanak tanır.
Özel veri setleri için bu işlemlerden yararlanmak isteyen ekipler için Ultralytics Platform, karmaşık altyapıyı yönetmeden görüntüleri etiketlemek ve konvolüsyon tabanlı modelleri eğitmek için kusursuz bir ortam sağlar. transfer learning kullanarak, minimum training data ile yeni nesneleri tanımak için önceden eğitilmiş konvolüsyonel ağırlıkları hassas bir şekilde ayarlayabilirsin.






