İçeriğe geç
Muhammed Ali Bilgin

CİK-SÖR — Tavuk Seslerinden Solunum Yolu Hastalığı Erken Uyarı Sistemi

Kümes ses kayıtlarındaki tavuk vokalizasyonlarını ayıklayıp derin öğrenmeyle analiz eden ve solunum yolu hastalığı şüphesini, hangi frekans bandının karara etki ettiğini göstererek açıklayan biyoakustik bir erken uyarı prototipi.

CPU çıkarım süresi
~77 ms / pencere
CİK-SÖR arayüzü; canlı analiz sekmesinde kayıt düğmesi ile ham ses, temizlenmiş ses ve spektrogram grafik alanları

Problem

Kümeslerde solunum yolu hastalıkları çoğu zaman sürü genelinde belirti verdiğinde fark ediliyor; o noktada kayıp büyümüş oluyor. Hasta tavukların sesleri (hırıltı, rale, bozulmuş çağrılar) daha erken değişiyor, ama bunu sürekli kulakla takip etmek mümkün değil.

CİK-SÖR, sıradan bir telefon kaydından bu değişimi yakalayıp "anormal vokalizasyon / solunum yolu hastalığı şüphesi" uyarısı veriyor. Teşhis koymuyor; veteriner kontrolü için erken sinyal üretiyor.

Yaklaşım

  • Kayda uyarlanan olay tespiti. Gerçek kayıtlar tutarsızdı: uzun kayıtların yalnızca birkaç saniyesinde ses vardı, bazıları sabit cızırtı altındaydı. Literatürdeki sabit eşikli olay tespitinin bu veride çalışmadığını ölçerek gösterdim ve kayda uyarlanan, histerezisli bir olay tespiti geliştirdim. Durağan kayıtlarda ayıklamayı modele bırakan bir geri dönüş kuralı ekledim.
  • Zayıf etiketten öğrenme. Kayıtları 5 saniyelik pencerelere bölüp donuk Google Perch v2 biyoakustik modeliyle gömme vektörlerine çevirdim. Kayıt düzeyindeki zayıf etiketlerle dikkat tabanlı MIL başlığı eğittim; model, kaydın hangi anlarının karara etki ettiğini kendisi öğreniyor.
  • Sızıntıya karşı değerlendirme. Kayıt bazlı, dondurulmuş bölmeler; veriye bakmadan önce sabitlenen holdout; 5 katlı StratifiedGroupKFold. Metrikler kat ortalaması ± std ve bootstrap güven aralığıyla raporlanıyor.
  • Açıklanabilirlik. Akustik biyobelirteçler (2–5 kHz bant oranı, spektral düzlük, HNR, formantlar vb.) hesaplayıp sağlıklı referansa göre sapmayı gösterdim. Her biyobelirteci literatür kaynağına ya da "hipotez" etiketine bağladım.
  • Arayüz. Sonuçları Türkçe bir Gradio arayüzünde sundum: tarayıcıdan kayıt ya da yükleme, karar kartı, frekans grafikleri ve yasal not.

Öne çıkan özellikler

  • Gürültülü, tutarsız saha kayıtlarında çalışan, kayda uyarlanan olay tespiti
  • Donuk Perch v2 ve dikkat tabanlı MIL ile zayıf etiketten öğrenme
  • Kararı açıklayan frekans bandı ve biyobelirteç sapma görselleri
  • Kısayol (shortcut) testleri: yalnızca arka plan, yalnızca süre/dolgu ve pencere kaynağı karşılaştırmalarıyla "model gerçekten tavuk sesini mi öğreniyor?" kontrolü
  • GPU gerektirmeyen, Hugging Face Space CPU ortamında çalışan demo (CPU'da pencere başına ~77 ms)
  • TDD ile geliştirilmiş, testlerle korunan ön işleme eşitliği: eğitim ve analiz aynı fonksiyonlardan geçiyor

Öğrendiklerim

  • Yüksek doğruluk her zaman iyi model demek değil. Yalnızca arka plan gürültüsüne bakan basit bir model bile hasta ve sağlıklı kayıtları AUROC 0.75 ile ayırabiliyordu; veri kümesinde kayıt koşulu yanlılığı vardı. Bunu ölçmeyi, raporlamayı ve modeli bu tabanla kıyaslamayı öğrendim.
  • Test kümesi veriye ilk bakıştan önce sabitlenmeli. Keşif sırasında açtığım bazı dosyaların sonradan holdout'a düştüğünü fark edip belgeledim; bu deneyim değerlendirme disiplinini kalıcı hale getirdi.
  • Literatürdeki yöntemler başka veride olduğu gibi çalışmayabilir. Sabit eşikli olay tespitini ve pyin ile F0 ölçümünü gerçek veride test edip neden başarısız olduklarını gösterdim; olumsuz sonuçları da bulgu olarak raporladım.
  • Veri temizleme kararları sınıfa bağlı yanlılık üretebilir. Her eleme kuralının sınıflara eşit davranıp davranmadığını ölçmeyi alışkanlık edindim.
  • Küçük adımlar, TDD ve Conventional Commits. Bu şekilde çalışırken bir testin yalnızca geçmesinin değil, gerçekten bir hatayı yakalamasının gerektiğini gördüm.

Sıradaki proje

Tüm projelere dön
PDF Soru-Cevap uygulamasının ana ekranı; solda belgeler ve konuşmalar paneli, ortada soru sorma alanı

Yerel-PDF-RAG: Kaynak Gösteren PDF Soru-Cevap Sistemi

Yüklediğin PDF'lere Türkçe soru sorabildiğin, her cevabı belge ve sayfa numarasıyla kaynak göstererek veren, tamamen kendi bilgisayarında çalışan bir RAG uygulaması.

  • Python 3.11
  • FastAPI
  • Pydantic
  • SQLite (FTS5/BM25)