proje 05

FocusPulse

Çalışma seansları sırasında odak ve dikkat durumunu kamera verisi üzerinden analiz eden Android uygulaması. Tüm işlem cihaz üzerinde yapılır, görüntü hiç dışarı çıkmaz.

Kategori
Mobil
Rol
Bireysel geliştirici — Android ve uç yapay zekâ
Yıl
2026

kullanılan teknolojiler

  • Kotlin
  • Android
  • ML Kit
  • TensorFlow Lite
  • Python
  • OpenCV

problem

Problem

Uzaktan çalışmada ve yoğun seanslarda odak kaybı ile yorgunluk nesnel olarak takip edilemiyor. Piyasadaki çözümlerin çoğu ise kamera görüntüsünü buluta aktarıyor — yani çalışanı izlemek için mahremiyetinden vazgeçmesini istiyor.

çözüm

Çözüm

Göz kırpma frekansı, kafa pozisyonu ve bakış yönünü analiz eden, tamamen cihaz üzerinde çalışan bir Android uygulaması geliştirdim. Model tarafını Python ve OpenCV ile prototipleyip TFLite formatına dönüştürdüm; uygulama içinde bu hafifletilmiş modeller çalışıyor. Sinyaller anlık bir odak dağılma indeksine dönüştürülüyor ve buna göre dinamik mola önerileri üretiliyor.

sonuç

Sonuç

Kullanıcı görüntüsünü asla cihaz dışına çıkarmayan, anlık odak indeksini hesaplayan ve mola geri bildirimleri üreten çalışan bir Android uygulaması ortaya çıktı.

öne çıkan özellikler

  • 01Göz kırpma frekansı, kafa pozisyonu ve bakış yönü takibiyle dikkat dağınıklığı tespiti.
  • 02Anlık odak dağılma indeksi hesaplayan, cihaz üzerinde çalışan görüntü işleme mimarisi.
  • 03TFLite formatına dönüştürülmüş modellerle düşük gecikmeli çıkarım.
  • 04Dinamik mola önerileri ve uyarı geri bildirimleri.
  • 05Veri hiçbir sunucuya gitmeden tamamen yerel işlenir.

neden bu seçimler

Neden bulut değil, cihaz üzerinde çıkarım?

Bulut tabanlı görsel analiz API'leri daha güçlü modeller sunuyor ama sistemin amacıyla çelişiyor: kişinin çalışırken sürekli izlendiği bir uygulamada görüntünün buluta gitmesi kabul edilemez. Cihaz üzerinde hafifletilmiş çıkarım hem bu sorunu tamamen ortadan kaldırdı hem de ağ bağımlılığını sıfırladı.

Neden model Python'da geliştirildi ama uygulama Kotlin?

Model denemeleri ve doğrulama için Python ekosistemi karşılaştırılamayacak kadar hızlı. Ama son ürün bir Android uygulaması olacaktı; modeli TFLite'a dönüştürüp Kotlin tarafında çalıştırmak, geliştirme hızından ödün vermeden yerel performans sağladı.

Neden davranış sinyalleri, doğrudan sınıflandırma değil?

"Odaklanmış / dağınık" diye tek bir sınıflandırma yapmak yerine göz kırpma, kafa pozisyonu ve bakış yönü gibi ayrı sinyalleri ölçüp bunlardan bir indeks türetmeyi seçtim. Böylece sonuç açıklanabilir kaldı — kullanıcı neden uyarı aldığını görebiliyor.

Benzer bir proje mi düşünüyorsun?