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

U-Net

U-Net, atlama bağlantılarıyla az sayıda eğitim görüntüsünden piksel düzeyinde hassas segmentasyon sağlayan U biçimli bir kodlayıcı-kod çözücü CNN'dir. Mimarisi, çeşitleri ve kodu ele alır.

U-Net, görüntüdeki her piksele bir sınıf atama görevi olan anlamsal segmentasyon için kullanılan bir evrişimli sinir ağıdır (CNN). Freiburg Üniversitesi'nden Olaf Ronneberger, Philipp Fischer ve Thomas Brox, bu ağı 2015'te U-Net: Convolutional Networks for Biomedical Image Segmentation makalesinde tanıttı. Kodlayıcı, görüntünün içeriğini kavramak için görüntüyü küçültür; kod çözücü sonucu tam çözünürlüğe genişletir ve atlama bağlantıları kodlayıcının ince ayrıntılarını her ölçekte kod çözücüye aktarır; böylece nesne sınırları keskin çıkar. U-Net, etiketlenmiş birkaç düzine mikroskopi görüntüsüyle iyi eğitildi, ISBI 2015 hücre izleme yarışmasının iki kategorisini büyük farkla kazandı ve tıbbi görüntü analizinde standart bir model olmayı sürdürüyor. Tasarımı daha sonra birçok difüzyon modelinin gürültü giderme ağına dönüştü.

U-Net Nasıl Çalışır?#

Ağ, U'nun iki kolu olarak çizilen iki simetrik yarıdan oluşur:

  • Daralan yol (kodlayıcı): Her biri 2×2 maksimum havuzlama ile devam eden ve çözünürlüğü yarıya indiren 3×3 evrişimlerden oluşan tekrarlı çiftler ve ReLU etkinleştirmeleri kullanır. Kanal sayısı her seviyede 64'ten 1.024'e iki katına çıkar; böylece ağ, uzamsal ayrıntı karşılığında daha geniş bir alıcı alanı ve daha zengin özellikler elde eder.
  • Genişleyen yol (kod çözücü): Her seviyede 2×2 yukarı evrişim çözünürlüğü iki katına çıkarır ve kanal sayısını yarıya indirir; sonuç aynı seviyedeki kodlayıcının özellik haritasıyla birleştirilir ve iki adet 3×3 evrişim bu özellikleri harmanlar. Son bir 1×1 evrişim, her pikselin özelliklerini sınıf puanlarına dönüştürür.

Özgün ağda 23 evrişim katmanı ve dört havuzlama adımı bulunur. Dolgusuz evrişimler kullandığından, 572×572 boyutundaki giriş döşemesi 388×388 boyutunda bir segmentasyon haritası üretirdi ve büyük görüntüler örtüşen döşemeler hâlinde bölümlenirdi. Günümüzdeki uygulamaların çoğu, çıktının girdi boyutuyla eşleşmesi için evrişimlere dolgu ekler.

Atlama Bağlantıları#

Havuzlama, her özelliğin tam olarak nerede bulunduğunu kaybettirir. Darboğaz noktasına gelindiğinde ağ, bir bölgenin hücre zarı içerdiğini bilir ancak zarın hangi piksellerden geçtiğini bilmez. Atlama bağlantıları, kodlayıcı seviyelerindeki yüksek çözünürlüklü özellik haritalarını U boyunca kod çözücüye kopyalar; kod çözücü de yukarı örneklenmiş yoldan gelen "ne" bilgisini kodlayıcıdan gelen "nerede" bilgisiyle birleştirir. U-Net bu ikisini kanal boyutu boyunca birleştirirken ResNet artık bağlantıları bir blok içindeki özellikleri toplar. Bu PyTorch kodu bir kodlayıcı seviyesi, bir darboğaz ve bir kod çözücü seviyesi oluşturur:

import torch
from torch import nn

# One encoder level, a bottleneck, and one decoder level of a U-Net
encoder = nn.Sequential(nn.Conv2d(3, 16, 3, padding=1), nn.ReLU())
bottleneck = nn.Sequential(nn.MaxPool2d(2), nn.Conv2d(16, 32, 3, padding=1), nn.ReLU())
upsample = nn.ConvTranspose2d(32, 16, kernel_size=2, stride=2)
decoder = nn.Sequential(nn.Conv2d(32, 16, 3, padding=1), nn.ReLU())
head = nn.Conv2d(16, 2, kernel_size=1)  # 2 classes, e.g. cell and background

image = torch.randn(1, 3, 128, 128)
skip = encoder(image)  # full-resolution features kept for the decoder
context = bottleneck(skip)  # half resolution, twice the channels, wider context

# Skip connection: concatenate upsampled context with the saved high-resolution features
merged = torch.cat([upsample(context), skip], dim=1)
logits = head(decoder(merged))
print(f"context {tuple(context.shape)} -> merged {tuple(merged.shape)} -> logits {tuple(logits.shape)}")

context (1, 32, 64, 64) -> merged (1, 32, 128, 128) -> logits (1, 2, 128, 128) yazdırır: yukarı örneklenmiş 16 bağlam kanalıyla 16 atlama kanalı birleşerek 32 kanal oluşturur ve çıktı, girişteki 128×128 pikselin her biri için iki sınıf puanı içerir.

Az Veriyle Eğitim#

Elektron mikroskopisinde nöronal yapılar için kullanılan özgün eğitim kümesi, 512×512 piksel boyutunda 30 görüntüden oluşuyordu. U-Net bu eksikliği yoğun veri artırımı ile, özellikle dokunun nasıl büküldüğünü taklit eden rastgele elastik deformasyonlarla ve temas eden hücreler arasındaki ince arka plan boşluklarını vurgulayan ağırlıklı çapraz entropi kaybıyla giderdi; böylece komşu hücreler ayrı bölgeler olarak çıktı. Günümüzde tıbbi segmentasyon modelleri çoğunlukla maske örtüşmesini doğrudan ölçen ve piksellerin yalnızca birkaç yüzdesini kaplayan küçük yapılara uyum sağlayan Dice kaybıyla eğitilir.

Varyantlar ve Türevler#

  • 3D U-Net ve V-Net: CT ve MRI taramaları gibi hacimleri bölütlemek için 2B işlemleri 3B işlemlerle değiştirir.
  • Attention U-Net ve UNet++: Kodlayıcı özelliklerinden hangilerinin kod çözücüye ulaşacağını iyileştirmek için dikkat kapıları veya iç içe geçmiş, yoğun bağlantılı atlama yolları ekler.
  • nnU-Net: Yeni bir veri kümesi için ön işleme, mimari ve eğitimi otomatik olarak yapılandıran bir çerçeve. MICCAI 2024'te yayımlanan bir çalışma, bu çerçevede iyi ayarlanmış CNN tabanlı U-Net'lerin, titiz biçimde doğrulandıklarında 3B tıbbi segmentasyonda daha yeni transformer ve Mamba mimarilerini hâlâ geride bıraktığını ortaya koydu.
  • Difüzyon U-Net'leri: DDPM ve Stable Diffusion 1.x, görüntüdeki veya gizil temsildeki gürültüyü tahmin etmek için U-Net kullanır; istemin üretimi yönlendirebilmesi amacıyla dikkat katmanları eklenir. Stable Diffusion 1.x'in U-Net'i yaklaşık 860 milyon parametreye sahiptir ve ControlNet bu U-Net'in kodlayıcısına bağlanır. Daha yeni üreticiler U-Net'in yerine difüzyon transformer'ları kullanıyor.
  • Tamamen evrişimli ağlar (FCN): 2014'te geliştirilen FCN, sınıflandırıcıları piksel bazında tahmin yapan modellere dönüştürdü ve sınıf puanı haritalarını toplayarak kaba ve ince tahminleri birleştirdi. U-Net, her seviyede özellik birleştirme kullanan tam bir kod çözücü oluşturdu.
  • Otomatik kodlayıcılar: Bunlar da kodlayıcı ve kod çözücü biçimindedir; ancak dar bir darboğazdan geçirerek girdilerini yeniden oluşturacak şekilde eğitilirler. Atlama bağlantıları otomatik kodlayıcının bu darboğazı atlamasına yol açabilirken U-Net, piksel bazında hizalanmış etiketler üretmek için bu bağlantılara ihtiyaç duyar.
  • Örnek segmentasyonu modelleri: U-Net piksel başına tek bir sınıf çıktısı üretir; bu nedenle eğitim veya son işleme adımları nesneleri ayırmadığı sürece aynı sınıftan birbirine değen iki nesne aynı etiketi paylaşır.

Ultralytics YOLO26 anlamsal segmentasyon modelleri, -sem son ekiyle belirtilir ve U-Net kod çözücüsünün kısaltılmış bir biçimini kullanır. Bu modellerin boyun kısmı, 1/32 ölçekli omurga çıktısını iki kez yukarı örnekler; bu sırada 1/16 ve 1/8 ölçekteki omurga özelliklerini birleştirir, ardından pikselleri 1/8 ölçekte sınıflandırır ve sınıf puanlarını giriş boyutuna ulaşana kadar 8× yukarı örnekler.

Gerçek Dünya Uygulamaları#

  • Uydu görüntüsü analizi: Arazi örtüsü haritaları, ormansızlaşmayı ve kentsel büyümeyi izlemek için her pikseli su, orman, ekili alan veya bina olarak etiketler.
  • Endüstriyel denetim: Çizik, çatlak ve korozyonun piksel maskeleri, bir kusurun tam boyutunu ve şeklini ölçer; sınırlayıcı kutu bunu yapamaz.
  • Tıbbi görüntüleme: U-Net'ler tanı ve radyoterapi planlaması için CT ve MRI taramalarında organları, tümörleri ve lezyonları sınırlar; mikroskopide tek tek hücreleri ayırır. ISBI 2015 hücre izleme yarışmasında U-Net, kısmen etiketlenmiş 20 HeLa hücresi görüntüsüyle eğitildi ve ikinci en iyi yöntemin %46'lık sonucuna karşılık ortalama %77,5 IoU elde etti.

Çözümleri keşfet

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ü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları 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ü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
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