Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

CutMix

CutMix, bir eğitim görüntüsünden dikdörtgen bir parçayı başka bir görüntünün üzerine yapıştırır ve etiketlerini parçanın alanına göre karıştırarak doğruluğu ve yerelleştirmeyi iyileştirir.

CutMix, bir eğitim görüntüsünden dikdörtgen bir yama kesip başka bir görüntünün aynı bölgesine yapıştıran ve iki etiketi her görüntünün kapladığı alanla orantılı biçimde birleştiren bir veri artırma tekniğidir. NAVER Clova AI Research'ten Sangdoo Yun ve çalışma arkadaşları, bunu 2019'da yayımlanan bir ICCV makalesinde iki önceki fikrin birleşimi olarak tanıttı: rastgele bir bölgeyi kaldıran Cutout ve etiketleri karıştıran MixUp. ImageNet üzerinde CutMix, ResNet-50 modelinin ilk beş sınıfı kapsayan hata oranını %23.68'den %21.40'a düşürdü; bu sonuç, MixUp'ın %22.58 ve Cutout'un %22.93 değerlerinin önündeydi. Ayrıca CutMix ile önceden eğitilen modeller nesne algılama ve görüntü altyazısı oluşturma görevlerine daha iyi aktarıldı.

CutMix Nasıl Çalışır#

CutMix, her A ve B görüntü çifti için Beta dağılımından bir karıştırma oranı λ örnekler. Varsayılan α = 1 parametresiyle bu dağılım 0 ile 1 arasında düzgündür. Ardından genişliği ve yüksekliği görüntünün genişlik ve yüksekliğinin √(1 − λ) katı olan bir kutu çizer, kutuyu rastgele bir noktada ortalar, görüntü sınırlarına göre kırpar ve B'nin bu bölgesini A'ya kopyalar. Kırpma sonrasında λ, A'nın geriye kalan kısmının oranı olarak yeniden hesaplanır; etiket de λ oranında A, (1 − λ) oranında B olur. Örneğin köpek görüntüsünün üzerine yerleştirilen %30'luk bir kedi yaması, 0.7 köpek ve 0.3 kedi hedefi üretir. Eğitim, tıpkı etiket yumuşatmada olduğu gibi bu yumuşak etikete karşı kayıp işlevini en aza indirir.

PyTorch'un torchvision bileşeni CutMix'i bütün bir yığına uygular ve her görüntüyü yığındaki komşusuyla eşleştirir:

import torch
from torchvision.transforms import v2

# A batch of 4 random 224x224 images labeled with classes 0-3 of 10
torch.manual_seed(0)
images = torch.rand(4, 3, 224, 224)
labels = torch.tensor([0, 1, 2, 3])

# Paste a random box from each image's neighbor in the batch and mix the labels by area
cutmix = v2.CutMix(num_classes=10)
mixed_images, mixed_labels = cutmix(images, labels)

# Image 0 received its patch from image 3
pasted = (mixed_images[0] != images[0]).any(dim=0).float().mean()
print(f"pasted area: {pasted:.3f}")
print(f"label weights for classes 0-3: {mixed_labels[0, :4].numpy().round(3)}")

Yapıştırılan alanı 0.187; etiket ağırlıklarını ise 0. sınıf için 0.813, 3. sınıf için 0.187 olarak yazdırır: hedefte her sınıfa atanan pay, o sınıfın katkıda bulunduğu piksel payına eşittir.

CutMix Neden İşe Yarar?#

Tam görüntülerle eğitilen bir görüntü sınıflandırma modeli, köpeğin yüzü gibi küçük ama ayırt edici bir bölgeyi tanıyarak başarılı olabilir. CutMix bu bölgeyi başka bir görüntüyle kapladığında model, köpeği gövdesinden, bacaklarından veya kürkünden tanımak zorunda kalır. Böylece her nesnenin daha büyük bir bölümünü kullanmayı öğrenir; bu da zayıf denetimli konum belirlemeyi ve örtülmeye karşı dayanıklılığı artırır. Karıştırılmış görüntünün her pikseli gerçek bir fotoğraftan geldiği için model boş bölgeler veya hayaletimsi karışımlar üzerinde eğitim almaz. Diğer güçlü artırmalar gibi CutMix de aşırı öğrenmeyi azaltan bir düzenlileştirme yöntemi olarak çalışır. Meta'nın Data-efficient Image Transformers (DeiT) çalışmasının temelindeki yöntem de dâhil olmak üzere görüntü Transformer'ları (ViT) için modern eğitim tarifleri, CutMix ile MixUp'ı birlikte uygular.

  • MixUp: İki görüntünün tümünü λ ağırlığıyla piksel piksel karıştırır ve etiketlerini de aynı şekilde birleştirir; bunun sonucunda gerçek sahnelere benzemeyen yarı saydam üst üste binmeler ortaya çıkar.
  • Cutout: Rastgele bir kareyi sıfırlarla maskeler ve özgün etiketi korur; böylece maskelenmiş pikseller eğitim için hiçbir bilgi taşımaz.
  • Mozaik: Boyutları değiştirilmiş dört görüntüyü tek bir görüntüde birleştirir. Nesne algılayıcılarını eğitmekte kullanılan standart bir artırma yöntemidir ve karede kalan her nesnenin kutu etiketini korur.
  • Örnek bölütleme için kopyala-yapıştır: Bir görüntüden diğerine dikdörtgenler yerine bölütlenmiş nesne örneklerini yapıştırır.

Nesne Algılamada CutMix#

Algılama görevlerinde tüm etiketler keskin kalır: karışık bir sınıf vektörü yerine, nesneleri görünür kaldığı sürece her iki görüntünün kutuları da korunur. Varsayılan olarak kapalı olan Ultralytics YOLO cutmix artırması, 0 ile 1 arasında bir olasılık alır. Uygulama, hedef görüntüdeki mevcut kutuların hiçbirine çakışmayan bir kesme bölgesi seçer, aynı bölgeyi ikinci bir görüntüden kopyalar ve alanının en az %10'u bölge içinde kalan her yapıştırılmış sınırlayıcı kutuyu korur; bölütleme etiketleri için bu eşik %1'dir. Varsayılan olarak CutMix, eğitimin son 10 dönemi için mozaikle birlikte kapatılır; bu süre close_mosaic=10 ile belirlenir.

Explore solutions

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla