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

ControlNet

ControlNet, metinden görüntüye difüzyon modellerine uzamsal kontrol ekleyerek kenar haritaları, derinlik haritaları veya poz iskeletleriyle düzeni yönlendirir. Nasıl çalıştığını kodla öğren.

ControlNet, Stable Diffusion gibi önceden eğitilmiş bir metinden görüntüye difüzyon modeline uzamsal kontrol ekleyen bir sinir ağı mimarisidir. Metin isteminin yanı sıra kenar haritası, derinlik haritası, insan pozu iskeleti veya bölütleme haritası gibi bir koşul görüntüsü alır. Oluşturulan görüntü bu yapıyı izlerken istem içeriği ve tarzı belirler. Örneğin "gümüş zırhlı bir şövalye" istemi bir poz iskeletiyle birleştirildiğinde, şövalye tam olarak bu pozda oluşturulur. Stanford Üniversitesi'nden Lvmin Zhang, Anyi Rao ve Maneesh Agrawala, ControlNet'i 2023'te Metinden Görüntüye Difüzyon Modellerine Koşullu Kontrol Ekleme başlıklı makalelerinde tanıttı. Makale, ICCV 2023'te en iyi makale için Marr Ödülü'nü paylaştı. Temel modelin ağırlıkları dondurulmuş kalır; bu nedenle ControlNet, modelin zaten bildiklerini bozmadan kontrol olanağı ekler.

ControlNet Nasıl Çalışır?#

Stable Diffusion, bir U-Net kullanarak gizil temsili tekrar tekrar gürültüden arındırıp görüntü oluşturur. ControlNet bu U-Net'i dondurur ve 12 kodlama bloğu ile orta bloktan oluşan kodlayıcısının eğitilebilir bir kopyasını oluşturur. Küçük bir evrişimli ağ, 512×512 boyutundaki koşul görüntüsünü önce gizil temsille eşleşen 64×64 boyutunda bir özellik haritasına dönüştürür. Eğitilebilir kopya, gizil temsili bu koşul özellikleriyle birlikte işler; çıktıları dondurulmuş U-Net'in 12 atlama bağlantısına ve orta bloğuna eklenir. Böylece dondurulmuş kod çözücü kontrol sinyalini alır:

Kopya, dondurulmuş modele yalnızca sıfır evrişimleri üzerinden bağlanır: ağırlıkları ve yanlılıkları sıfırdan başlayan 1×1 evrişimler. İlk eğitim adımında sıfır çıktısı verirler; dolayısıyla birleşik model, özgün modelle birebir aynı davranır ve önceden eğitilmiş katmanlara rastgele gürültü ulaşmaz. Çıktıdaki sıfır evrişimi, girdisi sıfır olmadığı için sıfırdan farklı bir ağırlık gradyanı alır. Böylece ilk güncelleme onu sıfırdan uzaklaştırır ve kontrol sinyali büyümeye başlar. Bu PyTorch kodu bir bloğu gösteriyor:

import copy

import torch
from torch import nn

# A frozen block from the pretrained model and a trainable copy of it
torch.manual_seed(0)
locked = nn.Conv2d(64, 64, 3, padding=1).requires_grad_(False)
trainable = copy.deepcopy(locked).requires_grad_(True)

# Zero convolutions: 1x1 convolutions whose weights and biases start at zero
zero_in, zero_out = nn.Conv2d(64, 64, 1), nn.Conv2d(64, 64, 1)
for conv in (zero_in, zero_out):
    nn.init.zeros_(conv.weight)
    nn.init.zeros_(conv.bias)

x = torch.randn(1, 64, 32, 32)  # features entering the block
condition = torch.randn(1, 64, 32, 32)  # encoded edge, depth, or pose map
y = locked(x) + zero_out(trainable(x + zero_in(condition)))

# At step 0 the output equals the frozen block's, and only the outer zero conv gets a gradient
print(torch.equal(y, locked(x)))
y.sum().backward()
print(f"zero_in grad: {zero_in.weight.grad.norm():.1f}, zero_out grad: {zero_out.weight.grad.norm():.1f}")

True ve zero_in grad: 0.0, zero_out grad: 2040.6 değerlerini yazdırır. Bloğun çıktısı dondurulmuş modelin çıktısıyla aynıdır; dıştaki sıfır evrişimi, girdisi sıfır olmadığı için gradyan alır. İçteki evrişim ise dıştaki sıfır evrişimi sıfırdan uzaklaştıktan sonra öğrenmeye başlar.

Koşul Türleri#

Özgün makalede Canny kenarları, derinlik haritaları, yüzey normali haritaları, M-LSD düz çizgileri, HED yumuşak kenarları, ADE20K bölütleme haritaları, OpenPose insan pozları ve kullanıcı çizimleri için ayrı ControlNet modelleri eğitildi. Her koşul görüntüsü, OpenCV'nin Canny kenar algılayıcısı veya bir derinlik tahmini ağı gibi kullanıma hazır bir modelle referans fotoğraftan çıkarılır. Her biri kendi ağırlığına sahip birkaç ControlNet aynı anda uygulanabilir. Ultralytics YOLO26 poz tahmini modelleri bu tür poz koşullarını çıkarır ve her kişi için 17 COCO kilit noktası tahmin eder. Bu noktalar boş bir tuvale iskelet olarak çizilebilir:

import cv2
import numpy as np
from ultralytics import YOLO

# Kişi başına 17 kilit noktası tahmin eden bir YOLO26 poz modeli yükle
model = YOLO("yolo26n-pose.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Yalnızca iskeletleri, fotoğraf boyutlarında siyah bir tuval üzerine çiz
skeletons = result.plot(img=np.zeros_like(result.orig_img), boxes=False)
cv2.imwrite("pose_condition.png", skeletons)

Kaydedilen görüntüde her kişinin uzuvları siyah zemin üzerinde renkli çizgiler olarak görünür; fotoğrafın renkleri, dokuları ve arka planı kaldırılmıştır.

  • LoRA: Bir modele yeni bir tarzı, karakteri veya nesneyi öğretmek için eklenen az sayıdaki ağırlığa ince ayar yapar. LoRA modelin ne çizeceğini değiştirirken ControlNet nesnelerin nerede olacağını belirler; bu iki yöntem sıklıkla birlikte kullanılır.
  • T2I-Adapter: Yaklaşık 77 milyon parametreli, daha hafif bir alternatiftir. Kodlayıcının tam bir kopyasını çalıştırmak yerine, koşul özelliklerini dondurulmuş U-Net'in kodlayıcı özelliklerine ekler. Farklı koşullara yönelik bağdaştırıcılar üretim sırasında birleştirilebilir.
  • Görüntüden görüntü üretimi: Gürültü eklenmiş bir girdi fotoğrafı üzerinden gürültü giderme işlemini başlatır; böylece çıktı o fotoğrafın renklerini ve genel yerleşimini devralır. ControlNet yalnızca kenarlar gibi çıkarılan yapıyı sınırlar; renkleri ve dokuları isteme bırakır.
  • Görüntü içi boyama: Bir görüntünün maskelenmiş bölümünü, geri kalanıyla eşleşecek biçimde yeniden oluşturur. Hangi bölgenin değişeceğini bu yöntem, oluşturulan yapıyı ise ControlNet kontrol eder.

Gerçek Dünya Uygulamaları#

  • Mimari ve iç tasarım: Bir odanın çizimleri, CAD çizgi çizimleri veya M-LSD çizgi haritaları, aynı geometriyi koruyarak farklı malzeme ve tarzlarda fotogerçekçi görsellere dönüştürülür.
  • Karakter çizimi ve animasyon: Poz iskeletleri, tarz değişiklikleri boyunca karakterin duruşunu sabit tutar. Referans videodan çıkarılan kare başına pozlar da tutarlı animasyon dizileri oluşturur.
  • Ürün ve pazarlama görselleri: Ürün çekiminin derinlik veya kenar haritaları, istem ortamı, aydınlatmayı ve arka planı değiştirirken ürünün şeklini ve yerleşimini korur.
  • Sentetik veri: Bölütleme haritalarından veya pozlardan görüntü oluşturmak, etiketleri önceden belirli yeni eğitim görüntüleri üretir; çünkü yerleşim, üretimden önce tanımlanmıştır.

ControlNet Eğitimi#

Eğitim için görüntü çiftleri ve koşul haritaları gerekir; bunlar, koşul çıkarıcının açıklama eklenmiş bir görüntü veri kümesi üzerinde çalıştırılmasıyla otomatik olarak üretilir. Dondurulmuş ağırlıklar için gradyan güncellemesi gerekmez. Bu nedenle her eğitim yinelemesi, ControlNet kullanılmadan Stable Diffusion'ı optimize etmeye kıyasla yalnızca yaklaşık %23 daha fazla GPU belleği ve %34 daha fazla zaman gerektirir. Makalede, 50.000'in altından bir milyonun üzerine kadar görüntü içeren veri kümelerinde sağlam eğitim sonuçları bildiriliyor. Eğitim sırasında ayrıca "ani yakınsama" görülüyor: model binlerce adım boyunca koşulu yok sayıyor, ardından genellikle 10.000 optimizasyon adımı içinde koşulu izlemeye aniden başlıyor; makaledeki örnekte bu, 6.133. adımda gerçekleşiyor.

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
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
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