ML Kit'in API'leri varsayılan olarak Google tarafından eğitilen makine öğrenimi modellerinden yararlanır. Bu modeller, çok çeşitli uygulamaları kapsayacak şekilde tasarlanmıştır. Ancak bazı kullanım alanları için daha iyi hedeflenmiş modellerin kullanılması gerekir. Bu nedenle, bazı ML Kit API'leri artık varsayılan modelleri özel TensorFlow Lite modelleriyle değiştirmenize imkan tanıyor.
Hem Resim Etiketleme hem de Nesne Algılama ve İzleme API'si özel görüntü sınıflandırma modelleri için destek sunar. TensorFlow Hub'da sunulan yüksek kaliteli ve önceden eğitilmiş belirli modellerle veya TensorFlow, AutoML Vision Edge ya da TensorFlow Lite Model Maker ile eğitilen özel modelinizle uyumludur.
Diğer alanlar veya kullanım alanları için özel bir çözüme ihtiyacınız varsa Google'ın cihazda makine öğrenimine yönelik tüm çözümleri ve araçları hakkında yardım almak için Cihaz üzerinde makine öğrenimi sayfasını ziyaret edin.
Özel modeller ile ML Kit'i kullanmanın avantajları
ML Kit ile özel bir resim sınıflandırma modeli kullanmanın avantajları şunlardır:
- Kullanımı kolay üst düzey API'ler - Alt düzey model girişi/çıkışı ile ilgilenmeniz, görüntü öncesi/sonrası işlemleri yürütmeniz veya bir ardışık düzen oluşturmanız gerekmez.
- Etiket eşlemeyle ilgili endişelenmeniz gerekmez. ML Kit, TFLite modeli meta verilerinden etiketleri çıkarır ve sizin için eşlemeyi yapar.
- TensorFlow Hub'da yayınlanan ve önceden eğitilmiş modellerden TensorFlow, AutoML Vision Edge veya TensorFlow Lite Model Maker ile eğitilen yeni modellere kadar çok çeşitli kaynaklardan özel modelleri destekler.
- Firebase tarafından barındırılan modelleri destekler. İsteğe bağlı modeller indirerek APK boyutunu küçültür. Uygulamanızı yeniden yayınlamadan model güncellemelerini aktarın ve Firebase Remote Config ile kolay A/B testi yapın.
- Android'in Kamera API'leri ile entegrasyon için optimize edilmiştir.
Özellikle Nesne Algılama ve İzleme için:
- Önce nesneleri bulup ilgili sınıflandırma alanında yalnızca sınıflandırıcıyı çalıştırarak sınıflandırma doğruluğunu iyileştirin.
- Kullanıcılarınıza algılanan ve sınıflandırılan nesnelerle ilgili anında geri bildirim vererek gerçek zamanlı etkileşimli bir deneyim sunun.
Önceden eğitilmiş bir resim sınıflandırma modeli kullan
Önceden eğitilmiş TensorFlow Lite modellerini bir dizi ölçütü karşılamaları koşuluyla kullanabilirsiniz. TensorFlow Hub aracılığıyla, bu ölçütlere uyan, Google'ın ve diğer model oluşturucularının sunduğu bir dizi doğrulanmış model sunuyoruz.
TensorFlow Hub'da yayınlanan bir modeli kullanma
TensorFlow Hub, Image Modelleme, Nesne Algılama ve İzleme API'leriyle kullanılabilen çok çeşitli ve önceden eğitilmiş görüntü sınıflandırma modelleri sunar. Bu adımları uygulayın.
- ML Kit uyumlu model koleksiyonundan bir model seçin.
- Model ayrıntıları sayfasından .tflite model dosyasını indirin. Uygun olduğu durumlarda, meta verilere sahip bir model biçimi seçin.
- Model dosyasını projenizle paket haline getirme ve Android veya iOS uygulamanızda kullanma ile ilgili Resim Etiketleme API'si veya Nesne Algılama ve İzleme API'si kılavuzlarımızı takip edin.
Kendi görüntü sınıflandırma modelinizi eğitin
İhtiyaçlarınıza uygun şekilde eğitilmiş bir resim sınıflandırma modeli yoksa kendi TensorFlow Lite modelinizi eğitmenin çeşitli yolları vardır. Bu modellerden bazıları aşağıda özetlenip açıklanmıştır.
Kendi görüntü sınıflandırma modelinizi eğitme seçenekleri | |
---|---|
AutoML Vision Edge |
|
TensorFlow Lite Model Oluşturucu |
|
TensorFlow modelini TensorFlow Lite'a dönüştürme |
|
AutoML Vision Edge
AutoML Vision Edge kullanılarak eğitilen görüntü sınıflandırma modelleri, Görüntü Etiketleme ve Nesne Algılama ve İzleme API'si API'lerindeki özel modeller tarafından desteklenir. Bu API'ler, Firebase model dağıtımı ile barındırılan modellerin indirilmesini de destekler.
Android ve iOS uygulamalarınızda AutoML Vision Edge ile eğitilmiş bir modeli nasıl kullanacağınız hakkında daha fazla bilgi edinmek için kullanım alanınıza bağlı olarak her API'ye özel model kılavuzlarını uygulayın.
TensorFlow Lite Model Oluşturucu
TFLite Model Oluşturucu kitaplığı, bu modeli cihaz üzerindeki makine öğrenimi uygulamaları için dağıtırken belirli bir TensorFlow nöral ağ modelini uyarlama ve belirli giriş verilerine dönüştürme işlemini basitleştirir. Colab Görüntü Sınıflandırma için TensorFlow Lite Model Maker'ı kullanarak takip edebilirsiniz.
Android ve iOS uygulamalarınızda Model Maker ile eğitilen bir modeli nasıl kullanacağınız hakkında daha fazla bilgi edinmek için kullanım alanınıza bağlı olarak Görüntü Etiketleme API'si veya Nesne Algılama ve İzleme API'si kılavuzlarımızı takip edin.
TensorFlow Lite dönüştürücü kullanılarak oluşturulan modeller
Mevcut bir TensorFlow görüntü sınıflandırma modeliniz varsa bunu TensorFlow Lite dönüştürücü kullanarak dönüştürebilirsiniz. Lütfen oluşturulan modelin aşağıdaki uyumluluk gereksinimlerini karşıladığından emin olun.
Android ve iOS uygulamalarınızda TensorFlow Lite modelini nasıl kullanacağınız hakkında daha fazla bilgi edinmek için kullanım alanınıza bağlı olarak Görüntü Etiketleme API'si veya Nesne Algılama ve İzleme API'si kılavuzlarımızı takip edin.
TensorFlow Lite modeli uyumluluğu
Aşağıdaki gereksinimleri karşıladığı sürece, önceden eğitilmiş TensorFlow Lite görüntü sınıflandırma modelini kullanabilirsiniz:
Tensörler
- Modelin aşağıdaki kısıtlamalara sahip yalnızca bir giriş tensörü olması gerekir:
- Veriler RGB piksel biçimindedir.
- Veriler UINT8 veya FLOAT32 türündedir. Giriş tensörü türü FLOAT32 ise Meta veri ekleyerek Normalleştirme Seçeneklerini belirtmelidir.
- Tensör 4 boyuta sahiptir : BxHxWxC. Burada:
- B grup boyutudur. 1 olmalıdır (daha büyük gruplarda çıkarım desteklenmez).
- W ve H giriş genişliği ve yüksekliğidir.
- C, beklenen kanalların sayısıdır. 3 olmalıdır.
- Modelde N sınıfına sahip en az bir çıkış tensörü ve 2 veya 4 boyut olmalıdır:
- (1xN)
- (1x1x1xN)
- Şu anda yalnızca tek başlıklı modeller tam olarak desteklenmektedir. Çok başlı modeller beklenmedik sonuçlar verebilir.
Meta veri
TensorFlow Lite dosyasına meta verileri TensorFlow Lite modeline meta veri ekleme konusunda açıklandığı gibi ekleyebilirsiniz.
Bir modeli FLOAT32 giriş tensörü ile kullanmak için meta verilerde Normalizasyon Seçenekleri'ni belirtmeniz gerekir.
Bu meta verileri çıkış tensörü olan TensorMeta Verileri'ne eklemenizi de öneririz:
- Her bir çıkış sınıfının adını belirten, TENSOR_AXIS_LABELS türüne sahip bir AssociatedFile olan bir etiket eşlemesi (aksi halde yalnızca sayısal çıkış sınıfı dizinleri döndürülebilir)
- Sonuçların ScoreThresholdingOptions'a sahip bir ProcessUnit olarak döndürülemeyecek kadar düşük güvenli olduğu kabul edilen varsayılan puan eşiği