Diffusers documentation
ConsisID
ConsisID
Pekin Üniversitesi & Rochester Üniversitesi & diğerlerinden, Shenghai Yuan, Jinfa Huang, Xianyi He, Yunyang Ge, Yujun Shi, Liuhan Chen, Jiebo Luo, Li Yuan tarafından Identity-Preserving Text-to-Video Generation by Frequency Decomposition
Makalenin özeti şudur:
Kimlik koruyucu metinden videoya (IPT2V) üretim, tutarlı insan kimliğine sahip yüksek sadakatli videolar oluşturmaya yöneliktir. Bu, video üretiminde önemli bir görev olmakla birlikte üretken modeller için hâlâ açık bir problemdir. Bu makale, IPT2V'nin teknik sınırını, literatürde çözümlenmemiş iki yönde ilerletmektedir: (1) Sıkıcı vaka bazlı ince ayar gerektirmeyen, ayarsız (tuning-free) bir boru hattı ve (2) Frekans duyarlı sezgisel kimlik koruyucu Difüzyon Dönüştürücü (DiT) tabanlı bir kontrol şeması. Bu hedeflere ulaşmak için, üretilen videoda insan identity consistent tutarlılığını korumak üzere ayarsız, DiT tabanlı kontrol edilebilir bir IPT2V modeli olan ConsisID'yi öneriyoruz. Görüntü/difüzyon dönüştürücülerinin frekans analizine ilişkin önceki bulgulardan ilham alarak, yüz özelliklerinin düşük frekanslı küresel özelliklere (ör. profil, oranlar) ve yüksek frekanslı içsel özelliklere (ör. poz değişimlerinden etkilenmeyen kimlik işaretleri) ayrıştırılabildiği frekans alanında kimlik kontrol sinyalleri kullanır. İlk olarak, düşük frekans perspektifinden, referans görüntüyü ve yüz anahtar noktalarını gizli bir uzaya kodlayan, düşük frekanslı bilgiyle zenginleştirilmiş özellikler üreten küresel bir yüz çıkarıcı tanıtıyoruz. Bu özellikler, DiT ile ilişkili eğitim zorluklarını hafifletmek için ağın sığ katmanlarına entegre edilir. İkinci olarak, yüksek frekans perspektifinden, yüksek frekanslı detayları yakalayan ve bunları dönüştürücü bloklarına enjekte eden, modelin ince taneli özellikleri koruma yeteneğini artıran yerel bir yüz çıkarıcı tasarladık. Kimlik koruma için frekans bilgisinden yararlanmak üzere, sıradan bir önceden eğitilmiş video üretim modelini IPT2V modeline dönüştüren hiyerarşik bir eğitim stratejisi öneriyoruz. Kapsamlı deneyler, frekans duyarlı sezgisel şemamızın DiT tabanlı modeller için optimal bir kontrol çözümü sağladığını göstermektedir. Bu şema sayesinde, ConsisID yüksek kaliteli, kimlik koruyucu videolar üretmede mükemmel sonuçlar elde ederek daha etkili IPT2V'ye doğru ilerleme kaydetmektedir. ConsID model ağırlıkları https://github.com/PKU-YuanGroup/ConsisID adresinde herkese açıktır.
Scheduler'lar kılavuzunu inceleyerek scheduler hızı ve kalitesi arasındaki ödünleşimi nasıl keşfedebileceğinizi öğrenin ve aynı bileşenleri birden fazla pipeline'a nasıl verimli bir şekilde yükleyebileceğinizi öğrenmek için pipeline'lar arasında bileşenleri yeniden kullanma bölümüne göz atın.
Bu pipeline SHYuanBest tarafından katkı sağlanmıştır. Orijinal kod tabanı burada bulunabilir. Orijinal ağırlıklar hf.co/BestWishYsh altında bulunabilir.
Kimlik koruyucu metinden videoya dönüştürme için iki resmi ConsisID kontrol noktası bulunmaktadır.
| kontrol noktaları | önerilen çıkarım veri türü |
|---|---|
BestWishYsh/ConsisID-preview | torch.bfloat16 |
BestWishYsh/ConsisID-1.5 | torch.bfloat16 |
Bellek optimizasyonu
ConsisID, 720x480 (G x Y) çıktı çözünürlüğünde 49 kareyi (8 FPS'de 6 saniyelik video) çözmek için yaklaşık 44 GB GPU belleği gerektirir; bu da tüketici GPU'larında veya ücretsiz katmanlı T4 Colab'da çalıştırılmasını mümkün kılmaz. Bellek ayak izini azaltmak için aşağıdaki bellek optimizasyonları kullanılabilir. Yeniden üretim için bu betiğe başvurabilirsiniz.
| Özellik (önceki üzerine bindir) | Ayrılan Maksimum Bellek | Ayrılan Maksimum Bellek |
|---|---|---|
| - | 37 GB | 44 GB |
| enable_model_cpu_offload | 22 GB | 25 GB |
| enable_sequential_cpu_offload | 16 GB | 22 GB |
| vae.enable_slicing | 16 GB | 22 GB |
| vae.enable_tiling | 5 GB | 7 GB |
Model Kontrol Noktalarını Yükle
Model ağırlıkları Hub'da veya yerel olarak ayrı alt klasörlerde saklanabilir; bu durumda from_pretrained() yöntemini kullanmalısınız.
# !pip install consisid_eva_clip insightface facexlib
import torch
from diffusers import ConsisIDPipeline
from diffusers.pipelines.consisid.consisid_utils import prepare_face_models, process_face_embeddings_infer
from huggingface_hub import snapshot_download
# Download ckpts
snapshot_download(repo_id="BestWishYsh/ConsisID-preview", local_dir="BestWishYsh/ConsisID-preview")
# Load face helper model to preprocess input face image
face_helper_1, face_helper_2, face_clip_model, face_main_model, eva_transform_mean, eva_transform_std = prepare_face_models("BestWishYsh/ConsisID-preview", device="cuda", dtype=torch.bfloat16) # or "mps", "xpu", "cpu"
# Load consisid base model
pipe = ConsisIDPipeline.from_pretrained("BestWishYsh/ConsisID-preview", dtype=torch.bfloat16)
pipe.to("cuda")Kimliği Koruyan Metinden Videoya
Kimliği koruyan metinden videoya dönüşüm için, açık bir yüz içeren bir metin komutu ve bir görsel (örneğin, tercihen yarım vücut veya tam vücut) geçirin. Varsayılan olarak ConsisID, en iyi sonuçlar için 720x480 boyutunda bir video üretir.
from diffusers.utils import export_to_video
prompt = "The video captures a boy walking along a city street, filmed in black and white on a classic 35mm camera. His expression is thoughtful, his brow slightly furrowed as if he's lost in contemplation. The film grain adds a textured, timeless quality to the image, evoking a sense of nostalgia. Around him, the cityscape is filled with vintage buildings, cobblestone sidewalks, and softly blurred figures passing by, their outlines faint and indistinct. Streetlights cast a gentle glow, while shadows play across the boy's path, adding depth to the scene. The lighting highlights the boy's subtle smile, hinting at a fleeting moment of curiosity. The overall cinematic atmosphere, complete with classic film still aesthetics and dramatic contrasts, gives the scene an evocative and introspective feel."
image = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/consisid/consisid_input.png?download=true"
id_cond, id_vit_hidden, image, face_kps = process_face_embeddings_infer(face_helper_1, face_clip_model, face_helper_2, eva_transform_mean, eva_transform_std, face_main_model, "cuda", torch.bfloat16, image, is_align_face=True)
video = pipe(image=image, prompt=prompt, num_inference_steps=50, guidance_scale=6.0, use_dynamic_cfg=False, id_vit_hidden=id_vit_hidden, id_cond=id_cond, kps_cond=face_kps, generator=torch.Generator("cuda").manual_seed(42))
export_to_video(video.frames[0], "output.mp4", fps=8)| Yüz Görseli | Video | Açıklama |
|---|---|---|
![]() | ![]() | Video, zarif bir animasyon tarzında, bakımlı bir orman açıklığında at üzerinde süzülen özgüvenli bir kadını konu alıyor. Geniş kenarlı şapkasını ustalıkla düzeltirken ifadesi odaklı ama sakin. Üzerindeki akışkan bohem elbise, atın ritmiyle zarifçe hareket ediyor; kumaş, animasyonun akıcı hareketiyle süzülüyor. Ağaçların arasından süzülen benekli güneş ışığı, orman zeminine yumuşak, resimsi desenler yansıtıyor. Duruşu, atı kolaylıkla yönlendirirken hem kontrol hem de zarafet sergiliyor. Animasyonun nazik, akıcı tarzı sahneye rüya gibi bir hava katıyor; kadının sakin tavırları ve huzurlu çevre, özgürlük ve uyum hissi uyandırıyor. |
![]() | ![]() | Video, büyüleyici bir animasyon tarzında, karlı bir ormanın ortasında duran bir kadını gösteriyor; gözleri konsantrasyonla kısık, eli öne doğru uzanmış. Üzerinde koyu mavi bir pelerin var, soğuk havada nefesi görünür ve bu durum yumuşak, ete benzer fırça darbeleriyle işlenmiş. Dudağında hafif bir gülümseme belirirken buz sihrinin ince bir izini çağırıyor; çevresindeki ağaçların ve zeminin titreyip donmaya başladığını, narin buz kristalleriyle kaplandığını odaklanarak izliyor. Animasyonun akıcı hareketi sihire hayat veriyor; don, dışa doğru ince, parıldayan desenlerle yayılıyor. Ortam, sihirli ve rüya gibi atmosferi pekiştiren yumuşak, sulu boya benzeri tonlarla boyanmış. Genel hava huzurlu ama güçlü; sessiz kış havası, donmuş sahnenin narin güzelliğini daha da vurguluyor. |
![]() | ![]() | Animasyon, hafif bir esintide duran balon satıcısının fantastik bir portresini sergiliyor; sakin bir bahar gününün hissini uyandıran yumuşak, puslu fırça darbeleriyle yakalanmış. Yüzü nazik bir gülümsemeyle çerçevelenmiş, gözleri güneşe karşı hafifçe kısılırken birkaç tutam saç rüzgârda savruluyor. Üzerinde açık, pastel renkli bir gömlek var ve etrafındaki balonlar rüzgârla sallanarak sahneye bir neşe katıyor. Arka plan yumuşakça bulanıklaşmış, canlı bir pazar veya parkın ipuçları taşıyarak anın hafif ama dokunaklı ruh halini pekiştiriyor. |
![]() | ![]() | Video, klasik bir 35mm kamera ile siyah beyaz çekilmiş bir şehir sokak boyu yürüyen bir çocuğu yakalıyor. Düşünceli bir ifadesi var, sanki derin bir düşünceye dalmış gibi kaşları hafifçe çarpık. Film greni, görüntüye dokulu ve zamansız bir nitelik katıyor, nostalji hissi uyandırıyor. Etrafında, şehir manzarası vintage binalarla, kaldırımlarla ve yumuşakça bulanıklaşan, silüetleri soluk ve belirsiz geçen figürlerle dolu. Sokak lambaları nazik bir parlaklık yayarken, gölgeler çocuğun yolunda dans ediyor, sahneye derinlik katıyor. Işıklandırma, çocuğun ince gülümsemesini vurguluyor, kısa süreli bir merak anına işaret ediyor. Klasik film stilli estetiği ve dramatik kontrastlarıyla tamamlanan genel sinematik atmosfer, sahneye dokunaklı ve içe dönük bir his veriyor. |
![]() | ![]() | Videoda parlak bir süper kahraman pelerini giyen, kollarını güçlü bir duruşla havaya kaldırarak özgüvenle duran bir bebek görülüyor. Bebeğin yüzünde kararlı bir ifade var; gözleri açık, dudakları konsantrasyonla büzülmüş, adeta bir meydan okumaya hazır gibi. Ortam oyuncu görünüyor; etrafa renkli oyuncaklar serpilmiş, ayakların altında yumuşak bir halı varken yakındaki pencereden süzülen güneş ışığı, dalgalanan pelerini vurguluyor ve kahramanlık izlenimini pekiştiriyor. Genel atmosfer neşeli ve eğlenceli; bebeğin ifadeleri masumiyet ile sevimli bir cesaret denemesinin karışımını yansıtıyor, adeta günü gerçekten kurtarmaya hazır gibi. |
Kaynaklar
ConsisID hakkında aşağıdaki kaynaklarla daha fazla bilgi edinin.
- ConsisID'nin ana özelliklerini gösteren bir video.
- Daha fazla ayrıntı için araştırma makalesi: Identity-Preserving Text-to-Video Generation by Frequency Decomposition.
ConsisIDPipeline
ConsisIDPipelineOutput
sınıf diffusers.pipelines.consisid.pipeline_output.ConsisIDPipelineOutput
< source >( frames: Tensor )
Parametreler
- frames (
torch.Tensor,np.ndarrayveya list[list[PIL.Image.Image]]) — video çıktıları listesi -batch_size,uzunluğunda iç içe geçmiş bir liste olabilir; her alt liste,num_frames.uzunluğunda gürültüsü azaltılmış PIL görüntü dizileri içerir. Ayrıca(batch_size, num_frames, channels, height, width)biçiminde bir NumPy dizisi veya Torch tensörü de olabilir.
ConsisID pipeline'leri için çıktı sınıfı.









