Blender teknik vaka
Videodan 3D Karaktere Hareket Aktarımı: Karaca, Geyik ve T-rex Vakası
Videodan 3D karaktere hareket aktarımı, bir videodaki canlının hareketini nokta takibi ve bölütlemeyle ölçüp aynı hareketi 3D modelin iskeletine uygulamaktır. Yadem Reklam bunu Blender'da CoTracker3, SAM 2 ve anatomik sınırlı bir çözücüyle yapar; karaca videosunda altı hareketin silüet örtüşmesi (IoU) ortalama 0,848 ile 0,879 arasında ölçüldü.

Hayır. Hareket bir videodan nokta takibiyle ölçülür; geyik videomuzun altyazısı da "mocap yok, elle anahtar kare yok" der.
Nokta takibi için CoTracker3, ince bacakların bölütlenmesi için SAM 2, animasyon ve render için Blender. Çözücü, eklem açılarını anatomik sınırlar içinde tutan kendi betiğimizdir.
Videodaki canlının siluetiyle rig'in siluetinin örtüşmesi (IoU) her karede ölçülür; karaca videosunda altı hareketin ortalaması 0,848 ile 0,879 arasındadır.
Hazır modelle ve tek sahnede 30 saniyeye kadar Blender animasyonu 1.800 TL, 1 dakika 3.500 TL'dir. Özel model ve rig gerektiren işler teklifle netleşir.
Yaptığımız işlerden
Örnek videolar
Videodan 3D karaktere hareket nasıl aktarılır?
Videodan 3D karaktere hareket aktarımı sekiz adımda yapılır: iskeletli model hazırlanır, kaynak video üretilir, rig videoya eşlenir, noktalar ve bacaklar izlenir, çözücü pozu bulur, poz anahtar kareye yazılır, zemin kontrol edilir ve sonuç ölçülür. Aşağıdaki adımlar, karaca hattının betiklerinden alınmıştır.
- İskeletli model: Tripo ile üretilen karaca modeli ve 23 kemikli otomatik iskelet kullanıldı (11.810 köşe, 14.999 yüz). Otomatik ağırlıklar köşelerin 8.741’ini, yani yaklaşık dörtte üçünü kök kemiğe vermişti; kök kemik deforme etmemelidir. İskelet mesh’e en iyi oturan açıya (0, 90, 180 ya da 270 derece) döndürüldü, ağırlıklar Blender’ın otomatik ağırlık (bone heat) yöntemiyle bir voxel remesh vekil üzerinde yeniden hesaplanıp asıl mesh’e aktarıldı ve bir köşeye, en yakın kemikten 10 cm’den fazla uzaktaki kemiklerin ağırlığı verilmedi. Sonuçta kök kemiğin baskın olduğu köşe sayısı 0’dır.
- Kaynak video: Her hareket için yandan, düz gri fonda, ilk karesi rig’in kendi render’ı olan bir klip üretildi: Seedance 2.0 Mini ile yedi klip, her biri 1280×720, 24 fps, 121 kare (5,04 saniye). İstem, tam yan görünüş, kesme ve yakınlaştırma olmaması, tam dört bacak, iki kulak ve iki boynuz şartını yazar.
- 0. karede eşleme: İlk kare rig’in render’ı olduğu için rig köşelerinin piksel konumu kesin bilinir; görünür köşeler z-tamponuyla seçilir.
- CoTracker3 ile nokta takibi: Seçilen 900 köşe, bacağa bağlı köşeler dört kat ağırlıkla örneklenerek, CoTracker3’ün çevrimdışı sürümüyle ileri ve geri izlenir.
- SAM 2 ile bacak maskeleri: 0. karede rig’den kesin bilinen dört bacak maskesi (ön yakın, ön uzak, arka yakın, arka uzak) SAM 2’ye verilir ve video boyunca yayılır. Bacak maskesi kullanılınca bacak nokta izlerinin ağırlığı 3’ten 0,3’e düşürülür; ince bacakta nokta izi güvenilmezdir.
- Çözücü (render–karşılaştır): Her karede iskelet pozlanır, ortografik yan kamerayla yumuşak bir siluet çizilir ve video maskesiyle karşılaştırılır. Nokta izi, siluet ve bacak maskesi kayıpları birlikte azaltılır; yan çekim derinliği çözemediği için düzlem dışı dönmeler cezalandırılır, 75 dereceyi aşan eklem açısına yumuşak sınır konur, kareler arası düzgünlük zorlanır ve 0. kare rig’in dinlenme pozuna kilitlenir. Eniyileme varsayılan olarak 2.500 yinelemedir.
- Anahtar kareye yazma: Bulunan poz, kemik başına dönme anahtar karesi olarak Blender’a yazılır; kök hareketi Root kemiğine verilir. Altı hareket, tek iskelette altı ayrı action olarak toplanıp GLB ve Blender dosyası olarak dışa aktarılır.
- Kontrol: Silüet örtüşmesi (IoU), kırmızı ve mavi farkı gösteren karşılaştırma videosu, kare başına en alçak köşenin yüksekliğinin ölçümü ve kare kare gözle inceleme.
Genel yöntem ve hangi işlerde kullanıldığı Blender 3D animasyon teknikleri sayfasındadır; bu sayfa o yöntemin adımlarını, ölçümlerini ve hata kayıtlarını verir. Takip için kullanılan CoTracker3 bir nokta izleme modelidir; SAM 2 ise görüntü ve videoda nesne bölütleyen modeldir.
Videodaki canlının uzuvları 3D iskeletle nasıl eşleştirilir?
Eşleştirme, rig’in her kemik grubunu videoda izlenecek bir bölgeye bağlar: karaca rig’inde dört bacak grubu dört ayrı SAM 2 maskesine, omurga ve baş zinciri nokta izine ve siluete bağlanır.
| Videodaki bölge | Rig kemikleri (Tripo, 23 kemik) | Takip yöntemi |
|---|---|---|
| Yakın ön bacak (kameraya bakan sol) | 0_Left_Limb_0, 0_Left_Limb_1, 0_Left_Limb_2 ve bacağın bağlandığı yardımcı kemik bone_6 | SAM 2 bacak maskesi 1; 426 bacak köşesi |
| Uzak ön bacak (sağ) | 0_Right_Limb_0, 0_Right_Limb_1, 0_Right_Limb_2, 0_Right_Limb_3 | SAM 2 bacak maskesi 2; 480 bacak köşesi |
| Yakın arka bacak (sol) | 1_Left_Limb_0, 1_Left_Limb_1, 1_Left_Limb_2 | SAM 2 bacak maskesi 3; 517 bacak köşesi |
| Uzak arka bacak (sağ) | 1_Right_Limb_0, 1_Right_Limb_1, 1_Right_Limb_2 | SAM 2 bacak maskesi 4; 443 bacak köşesi |
| Gövde | Spine_0, Spine_1 | CoTracker3 nokta izi ve siluet |
| Boyun ve baş | Head_0, Head_1, Head_2 | Nokta izi ve siluet; baş yönü için ayrı ölçüm |
| Tüm vücudun yeri | Root (deforme etmez), kök nesnesi | Kök hareketi ve kamera kayması çözücüde ayrı değişkenlerdir |
Bacak köşe sayıları, yerden 0,30 m’nin altındaki köşelerin baskın kemiğine göre sayılmıştır. Geyik ve inekte aynı eşleştirme, bacakların renkle işaretlendiği bir referans videoyla yapıldı: sağ ön bacak kırmızı, sol ön mavi, sağ arka sarı, sol arka yeşil, yüz eflatun, üst boyun turkuaz.
Aktarımın doğruluğu nasıl ölçülür?
Aktarımın doğruluğu, videodaki canlının silüeti ile iskeletin silüetinin her karedeki örtüşmesiyle (IoU, kesişimin birleşime oranı; 1,0 tam örtüşmedir) ve eklem açılarının kareler arası değişimiyle ölçülür.
| Hareket (karaca) | Kare | Ortalama IoU | En düşük IoU |
|---|---|---|---|
| Yürüme | 121 | 0,856 | 0,823 |
| Koşma (tırıs) | 121 | 0,859 | 0,806 |
| Hızlı koşma (dörtnala) | 121 | 0,848 | 0,767 |
| Sağa-sola bakma | 121 | 0,868 | 0,787 |
| Zıplama | 121 | 0,879 | 0,820 |
| Yeme ve otlama | 121 | 0,861 | 0,814 |
Bu değerler, altı hareketin poz dosyalarındaki kare başına IoU kayıtlarından hesaplandı. En düşük örtüşme dörtnala klibinde (0,767) ölçüldü.
Geyik yürüyüş döngüsünde (36 kare, 24 fps, ileri hız 0,77 m/sn) bacak eklem açılarının kareler arası değişimi şöyle ölçüldü:
| Bacak | En büyük kareler arası açı değişimi | En büyük açısal ivme |
|---|---|---|
| Sağ ön | 20,6° | 14,8° |
| Sol ön | 22,6° | 15,8° |
| Sağ arka | 9,4° | 5,4° |
| Sol arka | 7,2° | 4,0° |
Her bacağın üç eklem açısı arasından en büyük değer alınmıştır; ön bacakların alt eklemi en çok hareket eden eklemdir. Silüet örtüşmesi tek başına temas hatasını yakalamaz; bu yüzden zemin ve ayak kayması ayrıca ölçülür.
Hareket aktarımında temas ve zemin hataları nasıl düzeltilir?
Temas hataları, hayvanın havada kalması, ayağın yerde kayması ve bacağın ters bükülmesidir; her biri iskelet kurulumundaki bir nedene dayanır ve çözüm betiğe kural olarak eklenir.
| Hata | Neden | Düzeltme |
|---|---|---|
| Karaca zeminin 0,49 m üstünde kalıyor | Kök nesnesi ebeveynlenirken sahne güncellenmemişti; çocuk nesneler pivot kadar kaydı | Ebeveynlemeden önce sahne güncellenir; her karede en alçak köşenin yüksekliği ölçülür |
| Yürüme ve koşmada hayvan yerinde kalıyor | Kaynak videoda kamera hayvanı izliyor, hayvan kadrajda sabit | İleri hız, zeminden 2,5 cm içindeki köşelerin geriye kayma hızının medyanından hesaplanır; kök bu hızla ilerletilir, yerinde sürüm ayrıca yazılır |
| “Bakma” klibi 121 kareden 49 kareye düştü | Tekrar eden kareleri atma kuralı, 24 fps’te gerçekten duran kareleri de attı | Kural yalnızca 30 fps üstü kaplarda çalışır |
| Baş kameraya mı uzağa mı dönüyor, belli değil | Tek yan kamera derinliği çözemez | Başın yanal yönü ölçülür, yanlış yöndeki aralıklar aynalanır; bakma klibinde baş yönü için ipucu verilir |
| İnce bacak izi kayboluyor | Nokta izleyici ince bacağı kaybedebilir | Bacak başına SAM 2 maskesi esas alınır, nokta izi ağırlığı düşürülür |
| T-rex yürüyüşünde gövde havada çözülüyor | Kalça ve sağrı izleri uyluk dokusuna yapışıp bacakla kayıyor; kamera yakınlaşıp kadrajı kaydırıyor | Gövde yüksekliği en alçak ayağın zemine değmesinden hesaplanır; kalça ile parmak arası, bacak erişiminin 0,93’ünü aşamaz (diz hep bükük); salınımda parmak rig boyunun en az 0,07’si kadar kalkar; basış sırasında ayak kilitlenir |
| Geyikte ters bükülme ve ayak kayması riski | Takip gürültüsü, bacağı anatomik olmayan açılara itebilir | Dört kemikli zincirde eklem açıları anatomik sınırlara bağlanır (ön bacakta dirsek ve karpus, arka bacakta diz ve topuk ayrı aralıklarla); yürüyüş, sol ve sağ bacak arasındaki faz farkıyla tek bir döngüden kurulur ve toynak basış boyunca kilitlenir |
T-rex’in düzeltme öncesi ve sonrası yürüyüşü yan yana kare karşılaştırmasıyla kontrol edildi: eski sürümde gövde zeminden yukarıdaydı, yeni sürümde gövde alçak, diz bükük ve ayaklar dönüşümlü kalkıyor. Sitedeki yürüyüş videosu düzeltilmiş sürümdür.
Geyik, karaca ve T-rex vakalarında yöntem nasıl değişti?
Üç vakada da hareket bir videodan ölçüldü ve gerçek bir iskelete aktarıldı; değişen, hareket videosunun kaynağı, takip yöntemi ve çözücüdür.
| Geyik | Karaca | T-rex | |
|---|---|---|---|
| Hareket videosu | Flow Omni 1.1 Flash ile üretilen 8 saniyelik video; bacaklar renkli | Seedance 2.0 Mini ile üretilen 5 saniyelik klipler, ilk kare rig render’ı | Flow Omni ile üretilen video |
| Takip | Renk izi ve CoTracker3 | CoTracker3 ve SAM 2 bacak maskeleri | CoTracker3 ve poz dosyası |
| Çözücü | Anatomik sınırlı dört kemik zincir, periyodik yürüyüş döngüsü | Türevlenebilir render–karşılaştır | Poz dosyasından analitik bacak IK, kuyruk zinciri, zemin kilidi |
| İskelet | Kurduğumuz rig | Tripo otomatik iskeleti, ağırlıklar yeniden kuruldu | Mesh2Motion açık kaynak aracının iki ayaklı (kaiju) iskeleti |
| Sitedeki video | 22,6 sn, 24 fps | 30,25 sn, 24 fps, 6 hareket | Koşu 4 sn, yürüyüş 6 sn, 24 fps |
Sitedeki karaca videosu dört panellidir: Seedance kaynak videosu, kırmızı ve mavi farkı gösteren karşılaştırma, rig’in yan görünüşü ve 3/4 görünüşü. Altı hareket sırayla 5 saniyelik bölümlerle gelir. Geyik videosunda hareketin renkli referans videosu küçük pencerede görünür.
Videodan hareket aktarımı hareket yakalamadan (mocap) nasıl ayrılır?
Hareket yakalama, canlıya takılan işaretçilerle ya da özel kameralarla hareketi doğrudan kaydeder; videodan hareket aktarımı ise hiçbir ekipman olmadan, mevcut bir videodaki canlıyı yazılımla izleyip ölçer.
Bu işte hareketin kaynağı çoğu zaman yapay zekâ ile üretilmiş bir videodur; karaca ve geyik hareketleri böyle üretilen kliplerden ölçüldü. Sonuç, yapay zekâ videosunun bozulmalarına bağlı kalmayan, iskelete bağlı bir animasyondur: karakter her karede aynı model olduğu için bacak sayısı ya da boynuz deseni değişmez, kamera sonradan değiştirilebilir. Yapay zekâ videosu ile gerçek 3D’nin ayrımı için 2D ve 3D animasyon arasındaki fark sayfasına bakın.
Videodan hareket aktarımının sınırları nelerdir?
Videodan hareket aktarımının başlıca sınırı, kaynak videonun kalitesi ve tek yan kameranın derinliği çözememesidir.
- Derinlik: Tek yan kamera, başın kameraya doğru mu uzağa mı döndüğünü ayırt edemez; bu yüzden baş yönü ayrı ölçülür ve gerekirse ipucu verilir.
- Bozuk kaynak kare: Kaynak videoda fazladan bacak ya da bozulan uzuv takibi bozar. İstem tam dört bacak ister ve klipler kare kare kontrol edilir.
- İnce uzuvlar: Nokta izleyici ince bacağı kaybedebilir; bacak maskesi bu yüzden esas alınır.
- Hızlı hareket: Dörtnalada silüet örtüşmesi en düşük değerine (0,767) iner.
- İki ayaklılar: Kalça izi uyluğa yapışabildiği için gövde yüksekliği ayak temasından hesaplanır.
Bu kayıtlar, hangi hareketin ne kadar güvenle üretilebileceğini önceden söylememizi sağlar. Karakterin sahneler arasında aynı kalması için yapay zekâ karakter tutarlılığı, çizgi film üretimi için yapay zekâ ile çizgi film yapımı sayfasına bakın.
Videodan hareket aktarımı ne kadar tutar?
Hazır modelle ve tek sahnede 30 saniyeye kadar Blender animasyonu 1.800 TL, 1 dakika 3.500 TL, 2 dakika 7.000 TL’dir; özel model ve rig gerektiren işlerde kapsam teklifle netleşir.
Kaç hareket, kaç kamera açısı ve hangi çıktı (video, rigli GLB ya da FBX) istendiği brifte yazılır; onayınız olmadan kalem eklenmez. Tüm kalemler fiyat listesinde, genel animasyon çerçevesi yapay zekâ animasyon sayfasındadır. Üç boyutlu animasyon hizmetinin tamamı için 3D animasyon sayfasına bakın.
Fiyatlar
| İş | Fiyat | Not |
|---|---|---|
| 30 sn'ye kadar Blender animasyonu | 1.800 TL | Hazır modelle, tek sahne |
| 1 dk animasyon | 3.500 TL | Dakikası 3.500 TL |
| 2 dk animasyon | 7.000 TL | Özel model ve rig teklifle netleşir |
Tüm kalemler ve hesaplayıcı: fiyat listesi.
Sık sorulan sorular
Videodan 3D animasyon nasıl yapılır?
Önce iskeletli model hazırlanır, sonra videodaki hareket nokta takibi ve bölütlemeyle ölçülüp iskelete aktarılır; en sonda sonuç silüet örtüşmesiyle ve zemin ölçümüyle kontrol edilir.
CoTracker3 nedir?
CoTracker3, Meta AI ve Oxford Üniversitesi Visual Geometry Group araştırmacılarının geliştirdiği, videolarda noktaları takip eden bir modeldir; makalesi 15 Ekim 2024'te arXiv'e yüklendi.
SAM 2 nedir?
SAM 2, Meta'nın görüntü ve videolarda nesneleri bölütlemek için geliştirdiği modeldir; video için, hedef nesne bir süre görünmese bile izlemeyi sürdüren bir bellek mekanizması kullanır.
Hareket yakalama kıyafeti olmadan hareket aktarılır mı?
Evet. Hareket, bir videodaki canlının nokta takibiyle ölçülür; stüdyo ya da özel ekipman gerekmez.
Kendi 3D modelimi verebilir miyim?
Evet. GLB, FBX ya da OBJ modelinizi alıp rig ve animasyonunu yapabiliriz; modelin temizliği süreyi etkiler.
Hangi canlılara uygulanır?
Dört ayaklılara (inek, geyik, karaca) ve iki ayaklılara (T-rex gibi dinozorlar, insan karakterler) uygulanır; her canlı için iskelet ve çözücü ayarı ayrı yapılır.
Diz ters bükülüyor ya da ayak havada kalıyor, ne yapılır?
Eklem açıları anatomik sınırlara bağlanır, gövde yüksekliği en alçak ayağın zemine değmesinden hesaplanır ve basış sırasında ayak kilitlenir; kayıtlı örnekler bu sayfadaki hata tablosundadır.
Kaynaklar
- CoTracker3: Simpler and Better Point Tracking by Pseudo-Labelling Real Videos (arXiv 2410.11831)
- CoTracker3 proje sayfası (Meta AI ve Oxford VGG)
- SAM 2: Segment Anything in Images and Videos (arXiv 2408.00714)
- Meta AI: Segment Anything Model 2 (SAM 2)
- Blender: Blender hakkında (ücretsiz ve açık kaynaklı 3B oluşturma paketi)
Sıradaki adım
Karakterinizin hareketini videodan çıkaralım
Hayvanı ya da karakteri ve istediğiniz hareketleri WhatsApp'tan yazın; hangi hareketin nasıl üretileceğini ve fiyatı yazılı gönderelim.