Orta
AI Görsel Üretimi
10 dk okuma

ControlNet OpenPose ile Poz Kontrolü: Stable Diffusion Rehberi

Stable Diffusion ile görsel üretirken en sık karşılaşılan sorunlardan biri, karakterin pozunu kontrol edememektir. Metin istemi (prompt) ne kadar detaylı olursa olsun, modelin ürettiği duruş çoğu zaman tahmin edilemez. İşte ControlNet OpenPose tam burada devreye girer: bir referans görüntüden insan iskeletini çıkarır ve bu iskeleti üretime kontrol koşulu olarak vererek karakterin tam olarak istediğiniz pozu almasını sağlar. Bu rehberde poz kontrolünün nasıl çalıştığını ve ComfyUI ile Automatic1111'de adım adım nasıl uygulanacağını öğreneceksiniz.

ControlNet ve Poz Kontrolü Nasıl Çalışır?

ControlNet, Lvmin Zhang ve ekibinin geliştirdiği (ICCV 2023 Marr Ödülü), önceden eğitilmiş bir difüzyon modeline uzamsal kontrol ekleyen bir mimaridir. OpenPose ControlNet modeli, bir poz iskeleti (anahtar noktalardan oluşan çubuk figür) ile koşullandırılmıştır. Akış şöyledir: bir referans görüntüden poz ön işleyici (OpenPose veya DWPose) iskeleti çıkarır, bu iskelet ControlNet'e verilir ve Stable Diffusion, metin istemiyle birlikte bu pozu takip eden bir görüntü üretir. Böylece kıyafet, arka plan ve stil promptla değişebilirken poz sabit kalır.

Adım 1: Ön İşleyiciyi Seçin (OpenPose vs DWPose)

İskeleti çıkarmak için bir ön işleyici seçersiniz. Klasik openpose (gövde), openpose_full (gövde + yüz + eller) ve dw_openpose_full seçenekleri vardır. DWPose, RTMPose tabanlı modern bir tahmincidir ve özellikle ellerde OpenPose'a göre belirgin biçimde daha doğrudur; standart OpenPose'un eli kaçırdığı durumlarda DWPose her iki eli de yakalar. En yüksek doğruluk için dw_openpose_full önerilir; daha hafif bir seçenek için klasik openpose kullanılabilir.

Adım 2: Referans Görüntüden İskeleti Çıkarın

İstediğiniz pozu içeren bir referans görüntü yükleyin. Automatic1111'de ControlNet'i etkinleştirin, görüntüyü tek-görüntü alanına ekleyin, Control Type olarak OpenPose seçin ve ön işleyiciyi çalıştırarak algılanan iskeleti önizleyin. ComfyUI'de ise DWPose Estimator (DWPreprocessor) veya OpenPose düğümünü kullanır, referans görüntüyü bağlar ve detect_hand/detect_face/detect_body seçeneklerini ayarlarsınız; düğüm hem iskelet görüntüsü hem de POSE_KEYPOINT JSON çıktısı verir.

Adım 3: ControlNet Modelini ve Ayarları Yapılandırın

Çıkarılan iskeleti OpenPose ControlNet modeline (örneğin control_v11p_sd15_openpose) bağlayın. Temel ayarlar: Control Weight (kontrol ağırlığı, tipik aralık 0-2, varsayılan ~1.0) pozun ne kadar katı uygulanacağını belirler; Guidance Start/End ise ControlNet'in toplam adımların hangi yüzdesinde aktif olacağını ayarlar. ComfyUI'de Apply ControlNet düğümünde strength (önerilen 0.5-1.5) ve start_percent/end_percent değerleri aynı işlevi görür. Pixel Perfect açıkken çözünürlük otomatik hesaplanır.

Adım 4: İstemi Yazın ve Üretin

Pozitif ve negatif istemlerinizi yazın, temel modelinizi (SD 1.5 için control_v11p_sd15_openpose, SDXL için ilgili SDXL OpenPose ControlNet) seçin ve üretin. Sonuç, hem metin açıklamanızı hem de belirttiğiniz iskelet pozunu takip eder. Aynı iskeleti farklı promptlarla kullanarak aynı pozda farklı karakterler, kıyafetler ve sahneler üretebilirsiniz.

Adım 5: Sonuçları İyileştirin

Üretilen görüntü iskeleti tam takip etmiyorsa kontrol ağırlığını artırın veya 'ControlNet is more important' (ControlNet daha önemli) modunu deneyin; ancak çok yüksek değerler katı, manken benzeri sonuçlar üretebilir. Eller bozuksa dw_openpose_full ön işleyiciye geçin. Tutarlı bir karakter kimliği için ControlNet OpenPose'u bir LoRA veya IPAdapter ile birleştirin — OpenPose pozu kontrol eder, IPAdapter/LoRA kimliği sabitler. Çoklu karakter için iskelet editörüyle birden fazla figür ekleyebilirsiniz.

İpuçları ve Sık Hatalar

Ön-arka belirsizliği: 2D iskelet yön/derinlik bilgisi taşımadığı için ayak yönü ve ön-arka duruş bazen beklenmedik çıkabilir; net bir referans görüntü bu sorunu azaltır. Donanım: SD 1.5 + ControlNet için ~4-8 GB VRAM yeterliyken SDXL + ControlNet 1024x1024'te 12-16 GB önerilir. SD 1.5 OpenPose ControlNet'in yerel çözünürlüğü 512x512'dir.

Sıkça Sorulan Sorular

ControlNet OpenPose ücretsiz mi? Evet — ControlNet kodu Apache-2.0, OpenPose ControlNet modelleri CreativeML OpenRAIL-M lisanslıdır ve açık kaynaktır. DWPose mu OpenPose mu kullanmalıyım? En yüksek doğruluk, özellikle eller için DWPose (dw_openpose_full) önerilir. Aynı karakteri farklı pozlarda nasıl tutarım? OpenPose'u IPAdapter veya karakter LoRA'sı ile birleştirin; poz kontrolü ile kimlik kontrolünü ayırın.

Etiketler:
#pose-estimation
#controlnet
#openpose
#dwpose
#stable diffusion
#poz kontrolü

Benzer Rehberler

Tümünü gör