ML Kit ile özel modeller

ML Kit'in API'leri, varsayılan olarak Google'ın eğittiği makine öğrenimi modellerinden yararlanır. Bu modeller, çok çeşitli uygulamaları kapsayacak şekilde tasarlanmıştır. Ancak bazı kullanım alanları, modellerin daha iyi hedeflenmiş olmasını gerektirir. Bu nedenle, bazı ML Kit API'leri artık varsayılan modelleri özel TensorFlow Lite modelleriyle değiştirmenize izin veriyor.

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'daki yüksek kaliteli önceden eğitilmiş modellerle veya TensorFlow, AutoML Vision Edge ya da TensorFlow Lite Model Maker ile eğitilmiş kendi özel modelinizle uyumludur.

Diğer alanlar veya kullanım alanları için özel bir çözüme ihtiyacınız varsa Google'ın cihaz üzerinde makine öğrenimine yönelik tüm çözümleri ve araçlarıyla ilgili yönergeler için Cihaz üzerinde Makine Öğrenimi sayfasını ziyaret edin.

ML Kit'i özel modellerle kullanmanın avantajları

ML Kit ile özel bir görüntü sınıflandırma modeli kullanmanın avantajları:

  • Kullanımı kolay üst düzey API'ler: Düşük seviyeli model giriş/çıkışıyla uğraşmanıza, görüntü öncesi/sonrası işlenmesini veya işleme ardışık düzeni oluşturmayı gerektirmez.
  • Etiket eşleştirme işlemini kendiniz yapmanıza gerek yoktur. ML Kit, TFLite model meta verilerindeki etiketleri çıkarıp eşlemeyi sizin için gerçekleştirir.
  • TensorFlow Hub'da yayınlanan önceden eğitilmiş modellerden TensorFlow, AutoML Vision Edge veya TensorFlow Lite Model Maker ile eğitilmiş yeni modellere kadar çok çeşitli kaynaklardan gelen özel modelleri destekler.
  • Firebase ile barındırılan modelleri destekler. Modelleri isteğe bağlı olarak indirerek APK boyutunu küçültür. Uygulamanızı yeniden yayınlamadan model güncellemeleri gönderin ve Firebase Remote Config ile kolay A/B testi yapın.
  • Android Kamera API'leriyle entegrasyon için optimize edilmiştir.

Özellikle Nesne Algılama ve İzleme için:

  • Önce nesneleri bularak sınıflandırma doğruluğunu artırın ve sınıflandırıcıyı yalnızca ilgili görüntü alanında çalıştırın.
  • Tespit edilen ve sınıflandırılan nesneler hakkında kullanıcılarınıza anında geri bildirim sağlayarak gerçek zamanlı etkileşimli bir deneyim sunun.

Önceden eğitilmiş bir görüntü sınıflandırma modeli kullanın

Bir kriter grubunu karşılamaları koşuluyla, önceden eğitilmiş TensorFlow Lite modellerini kullanabilirsiniz. TensorFlow Hub aracılığıyla, Google veya diğer model yaratıcıları tarafından bu kriterleri karşılayan, onaylanmış bir dizi model sunuyoruz.

TensorFlow Hub'da yayınlanan bir modeli kullanma

TensorFlow Hub, çeşitli model yaratıcılarının sağladığı ve Resim Etiketleme, Nesne Algılama ve İzleme API'leriyle kullanılabilecek, önceden eğitilmiş çok çeşitli resim sınıflandırma modelleri sunar. Aşağıdaki adımları uygulayın.

  1. ML Kiti uyumlu modeller koleksiyonundan bir model seçin.
  2. Model ayrıntıları sayfasından .tflite model dosyasını indirin. Uygun durumlarda meta veri içeren bir model biçimi seçin.
  3. Model dosyasını projenizle gruplandırma ve Android ya da iOS uygulamanızda kullanma hakkında bilgi edinmek için Image Labeling API veya Object Detection and Tracking API kılavuzlarımızı takip edin.

Kendi görüntü sınıflandırma modelinizi eğitme

Önceden eğitilmiş resim sınıflandırma modellerinin hiçbiri ihtiyaçlarınıza uymuyorsa kendi TensorFlow Lite modelinizi eğitmenin çeşitli yolları vardır. Bu yöntemlerden bazıları aşağıda ayrıntılı olarak açıklanmış ve ayrıntılı olarak açıklanmıştır.

Kendi görüntü sınıflandırma modelinizi eğitme seçenekleri
AutoML Vision Edge
  • Google Cloud AI aracılığıyla sunulur
  • Son teknoloji görüntü sınıflandırma modelleri oluşturun
  • Performans ve boyut arasındaki farkı kolayca değerlendirin
TensorFlow Lite Model Oluşturucu
  • Bir modeli yeniden eğitmek (öğrenimi aktarma), modeli sıfırdan eğitmeye kıyasla daha az zaman alır ve daha az veri gerektirir
TensorFlow modelini TensorFlow Lite'a dönüştürme
  • Bir modeli TensorFlow ile eğitme ve ardından 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'nin özel model kılavuzlarını takip edin.

TensorFlow Lite Model Oluşturucu

TFLite Model Maker kitaplığı, bu modeli cihaz üzerinde ML uygulamaları için dağıtırken TensorFlow nöral ağı modelini belirli giriş verilerine uyarlama ve dönüştürme sürecini basitleştirir. TensorFlow Lite Model Maker ile Resim için Colab sınıflandırmasını uygulayabilirsiniz.

Android ve iOS uygulamalarınızda Model Maker 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 Image Labeling API veya Object Detection and Tracking API kılavuzlarımızı takip edin.

TensorFlow Lite dönüştürücü kullanılarak oluşturulan modeller

Mevcut bir TensorFlow resim sınıflandırma modeliniz varsa TensorFlow Lite dönüştürücü'yü kullanarak bunu dönüştürebilirsiniz. Oluşturulan modelin aşağıdaki uyumluluk koşullarını karşıladığından lütfen 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 Image Labeling API veya Object Detection and Tracking API kılavuzlarımızı takip edin.

TensorFlow Lite model uyumluluğu

Aşağıdaki gereksinimleri karşılaması koşuluyla, önceden eğitilmiş herhangi bir TensorFlow Lite görüntü sınıflandırma modelini kullanabilirsiniz:

Tensörler

  • Modelde aşağıdaki kısıtlamalara sahip yalnızca bir giriş tensörü olmalıdır:
    • Veriler RGB piksel biçimindedir.
    • Veriler UINT8 veya FLOAT32 türündedir. Giriş tensörü türü FLOAT32 ise Meta Veri ekleyerek NormalizationOptions'ı belirtmelidir.
    • Tensörün 4 boyutu vardır : BxYxWxC. Burada:
      • B, grup boyutunu belirtir. 1 olmalıdır (daha büyük gruplarda çıkarım desteklenmez).
      • G ve Y, giriş genişliği ve yüksekliğidir.
      • C, beklenen kanal sayısıdır. 3 olmalıdır.
  • Modelin, N sınıfında ve 2 veya 4 boyutlu en az bir çıkış tensörü olmalıdır:
    • (1xN)
    • (1x1x1xN)
  • Şu anda yalnızca tek başlı modeller tam olarak desteklenmektedir. Çok başlı modeller beklenmedik sonuçlar verebilir.

Meta veri

Meta verileri, TensorFlow Lite modeline meta veri ekleme bölümünde açıklandığı şekilde TensorFlow Lite dosyasına ekleyebilirsiniz.

FLOAT32 giriş tensörlü bir model kullanmak için meta verilerde NormalizationOptions'ı belirtmeniz gerekir.

Bu meta verileri, çıkış tensörü olan TensorMetadata'ya da eklemenizi öneririz:

  • Her çıkış sınıfının adını TENSOR_AXIS_LABELS türünde AssociatedFile olarak belirten bir etiket eşlemesi (aksi takdirde yalnızca sayısal çıkış sınıfı dizinleri döndürülebilir)
  • Altında kalan ve sonuçların çok düşük güven düzeyine ulaştığı, ScoreThresholdingOptions'a sahip bir ProcessUnit olarak döndürülecek varsayılan puan eşiği