Kısıtlamaları Anlamak
Mobil cihazlar, sunuculara kıyasla sınırlı hesaplama kaynaklarına sahiptir. CPU ve GPU yetenekleri, cihaz nesilleri ve üreticiler arasında büyük farklılıklar gösterir. Bellek kısıtlıdır ve pil ömrü kullanıcılar için birincil endişe kaynağıdır. Bu faktörler, mobil bilgisayarla görü geliştirmesindeki her kararı şekillendirir.
Her projeye kabul edilebilir performans eşiklerini tanımlayarak başlıyoruz. Kullanım durumu için hangi çıkarım süresi tolere edilebilir? Hangi doğruluk seviyesi kullanıcı beklentilerini karşılar? Bu sorular model seçimini ve optimizasyon stratejilerini yönlendirir.
Model Seçimi ve Optimizasyon
Doğru model mimarisini seçmek temeldir. MobileNet, EfficientNet ve benzeri mimariler mobil dağıtım için tasarlanmıştır. Daha büyük modellerden önemli ölçüde daha az parametreyle makul doğruluk elde ederler.
Niceleme, daha düşük hassasiyetli aritmetik kullanarak model boyutunu ve çıkarım süresini azaltır. Üretim modelleri için genellikle INT8 niceleme kullanıyoruz, bu da minimum doğruluk kaybıyla model boyutunu %75 azaltabilir. Eğitim sonrası niceleme basittir; doğruluk kritik olduğunda niceleme farkındalıklı eğitim daha iyi sonuçlar verir.
Kamera ve Görüntü İşleme
Kamera entegrasyonu, çözünürlük, kare hızı ve renk alanı işleme konularında dikkat gerektirir. Daha yüksek çözünürlükler daha fazla ayrıntı sağlar ancak işleme süresini artırır. Genellikle orta çözünürlükte çekip çıkarım için örnekleme azaltıyoruz, kullanıcı gösterimi için gerektiğinde orijinal görüntüleri koruyoruz.
Normalizasyon ve yeniden boyutlandırma gibi ön işleme adımları optimize edilmelidir. GPU hızlandırmalı görüntü işleme, CPU yükünü azaltır ve genel performansı artırır. Platforma özgü API'ler genellikle donanım hızlandırmalı görüntü işlemleri sağlar.
Kalite Güvence Uygulamaları
Bilgisayarla görü özelliklerini test etmek, gerçek dünya koşullarını temsil eden çeşitli veri kümeleri gerektirir. Aydınlatma varyasyonları, kamera açıları, hareket bulanıklığı ve konu çeşitliliği model performansını etkiler. Bu varyasyonları kapsayan test veri kümeleri tutuyoruz.
Otomatik test hatları, test veri kümelerinde çıkarım çalıştırır ve zaman içinde doğruluk metriklerini izler. Regresyon testi, modeller veya ön işleme kodu değiştiğinde performans düşüşünü yakalar. Manuel test, öznel kalite değerlendirmesi için otomatik testi tamamlar.
Üretimde İzleme
Üretim izleme, testin yakalamadığı sorunları belirlemeye yardımcı olur. Çıkarım sürelerini, hata oranlarını ve kullanıcı geri bildirim kalıplarını izliyoruz. Toplu veriler, dikkat gerektiren cihaza özgü sorunları ve uç durumları ortaya çıkarır.
A/B testi, model güncellemelerinin kontrollü dağıtımına izin verir. Tam dağıtımdan önce yeni model performansını mevcut sürümle karşılaştırabilir, kalite gerilemesi riskini azaltabiliriz.