Ana sayfa › Forumlar › Motor Sporları & Hız Tutkusu › Formula 1 Yarış Hafta Sonları & Telemetri Analizi › Aynı ağda segmentation + pose tahmini birden yapmak mümkün mü? İki modeli birleştirmeye çalışıyorum ama işler karışıyor
- Bu konu 1 yanıt içerir, 2 izleyen vardır ve en son 1 gün 16 saat önce
Melike Bulut tarafından güncellenmiştir.
-
YazarYazılar
-
12 Kasım 2026: 08:42 #237131
İpek DedeÜyeArkadaşlar selam, bir süredir futbol taktiksel analizinde çalışıyorum. Maç kayıtlarını (25fps, 4K taktiksel kamera) işleyen bir pipeline kuruyorum. Başta iki ayrı model kurmuştum: biri saha/tribün/takım ayrımı yapıyor (segmentation), diğeri oyuncuların iskelet pozlarını çıkarıyor (pose estimation). Ama maalesef her ikisini de ayrı ayrı train etmek hem çok vaktimi hem de GPU kaynağımı yedi. Her frame için iki kez forward pass yapmak gerçek zamanlı analiz için çok ağır geliyor.
Aklımdakı şey: aynı backbone’u paylaşan tek bir ağ mı kurayım, iki ayrı baş (head) açıp segmentation ve pose’ı birden mi hesaplasın? Konuyu biraz araştırdım, multi-task learning (MTL) denmiş ama internetteki anlatımlar hep akademik, somut bir örnek göremedim. Özellik paylaşımı gerçekten her iki görevdeki loss’u düşürüyormuş, ben de bunu deneyelim istiyorum. Deneyen var mı, nasıl bir mimari kurmalıyım? Backbone’u ortak tutup başları ayırsam mı, yoksa birleşik bir çıktı mı almalıyım? Teşekkürler şimdilik.
"BirSpor Topluluğu | Diyarbakır (21) | Atletizm, Maraton, Futbol & Antrenman"13 Kasım 2026: 00:01 #237275
Melike BulutÜyeReis, çok güzel bir noktaya parmak basmışsın, tam da MTL’nin can alıcı meselesi bu. Senın bahsettiğin %18’lik düşüş aslında rastgele gelen bir sayı değil, arkasında mantığı var. Şöyle anlatayım:
İki ayrı model kurduğunda, segmentation ağı saha çizgilerini, forma renklerini, tribün detaylarını öğrenirken; pose ağı oyuncu vücut parçalarının konumunu. Oysa iki görev de aynı görüntüden besleniyor ve altta yatan görsel bilgiler büyük ölçüde örtüşüyor. Mesela oyuncunun omuz-bas-kol hattını segmentation ağı da ‘aslında burada bir insan var’ bilgisinden faydalanarak buluyor, pose ağı da aynı hatı iskelet olarak çizingen kullanıyor. İşte ortak backbone (paylaşımlı omurga) tam burayı kapatıyor. Ağ ilk katmanlarda genel kenar/ton/eğim özelliklerini bir kez öğreniyor, ikisi de buna erişiyor. Tek model kurunca her frame için tek forward pass, bu da senin dediğin gibi gerçek zamanlı analiz için çok daha makul.
Pratikte nasıl kuruyorum dersen:
1) Backbone’u ortak tut (ResNet-50, EfficientNet veya CViT ne kullanıyorsan). Alt kısım ‘genel görüntü özelliği’ çıkarır.
2) Buradan iki ayrı head ayrılır: biri segmentation için (örneğin DeepLab tarzı decoder, piksel-piksel mask) diğeri pose için (iskelet nodları, heat-map yaklaşımı). Head’leri asla birleştirme, her görevin kendi loss’u olsun.
3) Toplam loss = segmentation loss + pose loss. Burda dikkat edilecek en önemli şey loss ağırlıkları. İki görevun loss ölçeği farklı (biri cross-entropy, diğeri heat-map MSE gibi) direkt toplayarsan biri diğerini boğar. WLL (Weighted Loss Learning) ya da daha güzeli uncertainty-based weight (Kendall 2018, ‘Multi-task Learning Using Uncertainty’) ile her görevin learning rate’ini otomatik dengelersin. İşte ‘özellik paylaşımı loss’u %18 düşürdü’ iddiasının sırrı genelde burada: ağın bir göreve aşırı odaklanıp diğerini feda etmesi engelleniyor.Küçük bir tecrübe notu: başlarda iki head birbirinin gradyanını boğabiliyor (one task interfering with the other). Bunu hafifletmek için shared backbone’un sonuna yakın yerlerde head’lere ayrı branch’lar açmak, ya da GradNorm benzeri bir yöntemle gradient paylaşıımını dengelemek işi rahatlatıyor.
İlk denememde bu setting’i kurup iki modeli tek tek train etme vs. tek MTL modelini yan yana karşılaştırdım, evet validation loss’unda ciddi bir düşüş oldu, beklentinle uyumlu. Kolay gelsin, denerken loss ağırlıklarına çok dikkat et, oradan %80i çözülüyor.
"Araştırma: 🏃♂️ 10K PB: 42:15 | Yarı Maraton: 1:36:20 | Garmin Forerunner 255 | Kütüphane: Haftalık Koşu Hacmi: 45K | Pazar Uzun Koşusu | Asics Novablast 4" -
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.