AutoML Vision Edge ile görüntü etiketleme modelini eğitme

Görüntü etiketleme modelini eğitmek için AutoML Vision Edge'e resimleri ve ilgili etiketleri kullanın. AutoML Vision Edge, bir cihaz üzerinde görüntü etiketleme için kullanabileceğiniz yeni bir model uygulamasını indirin. (Aşağıdaki durumlar hakkında daha fazla bilgi için Genel Bakış'a göz atın: dikkat edin.)

AutoML Vision Edge, bir Google Cloud hizmetidir. Hizmetin kullanımı Google Cloud Platform Lisans Sözleşmesi ve Hizmete Özel Şartlar'a tabidir ve buna göre faturalandırılır. Faturalandırma bilgileri için AutoML Fiyatlandırma sayfasına bakın.

Başlamadan önce

1. Eğitim verilerinizi derleme

Öncelikle, etiketli resimlerden oluşan bir eğitim veri kümesi oluşturmanız gerekir. Şunu sakla: şu kuralları göz önünde bulundurun:

  • Resimler şu biçimlerden birinde olmalıdır: JPEG, PNG, GIF, BMP, ICO.

  • Her resim 30 MB veya daha küçük olmalıdır. AutoML Vision Edge'in ölçeği azalttığını unutmayın Bu nedenle, işleme devam ederken çoğu zaman resimler sunar.

  • Her etiket için en az 10, tercihen 100 veya daha fazla örnek ekleyin.

  • Her etiket için birden fazla açı, çözünürlük ve arka plan ekleyin.

  • Eğitim verileri, üzerinde çalışılan verilere olabildiğince öngörülmesi gerektiği anlamına gelir. Örneğin, kullanım alanınız bulanık ve düşük çözünürlüklü görüntüler (güvenlik kamerasından alınan görüntüler gibi) içeriyorsa eğitim verileriniz bulanık, düşük çözünürlüklü görüntülerden oluşmalıdır.

  • AutoML Vision Edge tarafından oluşturulan modeller, gerçek dünyadaki nesnelerin fotoğrafları için optimize edilmiştir. Röntgenlerde, ellerle çizimlerde, belgeleri, makbuzları vs.

    Ayrıca, modeller genellikle insanların atayamayacağı etiketleri tahmin edemez. Dolayısıyla, Bir insan resme 1-2 saniye bakarak etiketleri atayamıyorsa, bunu yapacak şekilde eğitilememektedir.

Eğitim görüntüleriniz hazır olduğunda bunları Firebase'e aktarmaya hazırlayın. Üç seçeneğiniz vardır:

1. Seçenek: Yapılandırılmış zip arşivi

Eğitim resimlerinizi, her biri bir etiketin adıyla adlandırılmış ve bu etiketin örneklerini içeren dizinlerde düzenleyin. Ardından, dizin yapısını bir zip arşivi olarak sıkıştırın.

Bu zip arşivindeki dizin adları en fazla 32 ASCII karakter uzunluğunda olabilir ve yalnızca alfanümerik karakterler ile alt çizgi karakterini (_) içerebilir.

Örneğin:

my_training_data.zip
  |____accordion
  | |____001.jpg
  | |____002.jpg
  | |____003.jpg
  |____bass_guitar
  | |____hofner.gif
  | |____p-bass.png
  |____clavier
    |____well-tempered.jpg
    |____well-tempered (1).jpg
    |____well-tempered (2).jpg

2. seçenek: CSV dizini içeren Cloud Storage

Eğitim resimlerinizi Google Cloud Storage hizmetine yükleyin ve her resmin ve isteğe bağlı olarak doğru etiketleri kullanın. Bu seçenek, çok büyük boyutlu veri kümelerinde yer alır.

Örneğin, resimlerinizi Cloud Storage hizmetine yükleyin ve şunun gibi bir CSV dosyası hazırlayın: şu:

gs://your-training-data-bucket/001.jpg,accordion
gs://your-training-data-bucket/002.jpg,accordion
gs://your-training-data-bucket/003.jpg,accordion
gs://your-training-data-bucket/hofner.gif,bass_guitar
gs://your-training-data-bucket/p-bass.png,bass_guitar
gs://your-training-data-bucket/well-tempered.jpg,clavier
gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier
gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier

Resimler, Firebase projenizin parçası olan bir pakette depolanmalıdır. ilgili Google Cloud projesi için geçerlidir.

Cloud AutoML'de Eğitim verilerinizi hazırlama bölümünü inceleyin. CSV dosyasını hazırlama hakkında daha fazla bilgi edinmek için Vision dokümanlarına göz atın.

3. seçenek: Etiketsiz resimler

Yükledikten sonra eğitim resimlerinizi Firebase konsolunda tek tek veya yapılandırılmamış bir ZIP dosyasında etiketleyin. Sonraki adıma bakın.

2. Modelinizi eğitin

Ardından, resimlerinizi kullanarak bir model eğitin:

  1. Vision Veri Kümeleri'ni açın. Google Cloud konsolunda görebilirsiniz. İstendiğinde projenizi seçin.

  2. Yeni veri kümesi'ni tıklayın, veri kümesi için bir ad girin, istediğiniz modeli seçin ve Veri kümesi oluştur'u tıklayın.

  3. Veri kümenizin İçe Aktar sekmesinde, eğitim görselleri veya içinde bulunduğunuz Cloud Storage konumları içeren bir CSV dosyası bunları yükleyebilirsiniz. Eğitim verilerinizi derleme başlıklı makaleyi inceleyin.

  4. İçe aktarma görevi tamamlandıktan sonra Images (Görüntüler) sekmesini kullanarak eğitim verilerini inceleyin ve etiketlenmemiş tüm görüntüleri etiketleyin.

  5. Eğitim sekmesinde Eğitimi başlat'ı tıklayın.

    1. Modele bir ad verin ve model türünü seçin.

    2. Performansı yöneten aşağıdaki eğitim ayarlarını yapılandırın örneğini aşağıda görebilirsiniz:

      Modelin optimizasyon ölçütü: Kullanılacak model yapılandırması. Daha hızlı, daha küçük, düşük gecikmenin veya küçük paket boyutunun önemli olduğu durumlarda ya da daha yavaş ve daha büyük modelleri modeller.
      Düğüm saati bütçesi

      modeli. Daha uzun eğitim süresi, genelde daha doğru modeli.

      Eğitimin belirtilen süreden daha kısa sürede tamamlanabileceğini unutmayın modelin optimize edildiğini ve modelin optimize edildiğini doğruluğu artırmaz. Faturalandırıldınız saatlere kadardır.

      Genel eğitim süreleri
      Çok küçük kümeler1 saat
      500 resim2 saat
      1.000 resim3 saat
      5.000 resim6 saat
      10.000 resim7 saat
      50.000 resim11 saat
      100.000 resim13 saat
      1.000.000 resim18 saat

3. Modelinizi değerlendirme

Eğitim tamamlandığında, modelin performans metriklerini görmek için Değerlendir sekmesini tıklayabilirsiniz.

Bu sayfanın önemli kullanım alanlarından biri, modeliniz için en iyi sonucu veren güven eşiğini belirlemektir. Güven eşiği, modelin bir görüntüye etiket ataması için gereken minimum güvendir. Güven eşiği kaydırma çubuğunu hareket ettirerek farklı eşiklerin modelin performansını nasıl etkilediğini görebilirsiniz. Model performansı iki metrik kullanılarak ölçülür: hassas ve geri çağırma.

Resim sınıflandırma bağlamında hassasiyet, doğru etiketlenmiş resim sayısının, seçilen eşik göz önüne alındığında modelin etiketlediği resim sayısına oranıdır. Bir model yüksek hassasiyete sahip olduğunda daha seyrek olarak hatalı etiketlere sahip olabilir (daha az yanlış pozitif).

Geri çağırma, doğru bir şekilde etiketlenen görüntülerin sayısının modelin etiketleyebilmesi gereken içeriğe sahip resim sayısı. Geri çağırma oranı yüksek bir model, etiket atamayı daha seyrek olarak başarısız kılar (daha az yanlış negatif).

Doğruluk veya hatırlama için optimize edip etmeyeceğinizi kullanım alanınıza göre belirlersiniz. Daha fazla bilgi için AutoML Vision başlangıç kılavuzuna ve Kapsamlı ML kılavuzu - AutoML başlıklı makaleye göz atın.

Rahat hissettiğiniz metrikler üreten bir güven eşiği bulduğunuzda bunu not edin. Uygulamanızda modeli yapılandırmak için güven eşiğini kullanacaksınız. (Uygun bir eşik değeri almak için bu aracı istediğiniz zaman kullanabilirsiniz.)

4. Modelinizi yayınlama veya indirme

Modelin performansından memnunsanız ve modeli bir uygulamada kullanmak istiyorsanız herhangi bir kombinasyonu seçebileceğiniz üç seçeneğiniz vardır: modeli oluşturmak, modeli Firebase'de yayınlamak veya ve uygulamanızla paket haline getirebilirsiniz.

Modeli dağıtma

Veri kümenizin Test ve kullanın sekmesinden, modelinizi online modelinizi çalıştıracak yeni bir tahmin başlattık. Bu seçenek Cloud AutoML dokümanlarında ele alınmıştır. İlgili içeriği oluşturmak için kullanılan diğer iki seçeneği kapsar.

Modeli yayınlama

Modeli Firebase'de yayınlayarak, modeli yayınlamadan güncelleyebilirsiniz. ve Remote Config ve A/B Testing özelliklerini kullanarak şunları yapabilirsiniz: Farklı kullanıcı gruplarına dinamik olarak farklı modeller sunar.

Modeli Firebase'de barındırarak değil, yalnızca Firebase'de barındırarak sağlamayı seçerseniz uygulamanızla birlikte paket haline getirirseniz uygulamanızın başlangıçtaki indirme boyutunu küçültebilirsiniz. Bununla birlikte, modelin uygulamanızla birlikte paket halinde olmadığı durumlarda, uygulamanız gereken uygulamayı indirene kadar modelle ilgili işlevleri ilk kez devreye giriyor.

Modelinizi yayınlamak için iki yöntemden birini kullanabilirsiniz:

  • Veri kümenizin Test ve Test kullanın sayfasını Google Cloud konsoluna yükleyin ve ardından modeli Firebase konsolunun Özel model sayfası. Bu genelde tek bir model yayınlamanın en kolay yoludur.
  • Modeli doğrudan Google Cloud projenizden Firebase'e yayınlayın: Yönetici SDK'si. Bu yöntemi kullanarak birden fazla modeli topluca yayınlayabilir veya otomatik yayınlama ardışık düzenleri oluşturmaya yardımcı olur.

Modeli Yönetici SDK'sı model management API ile yayınlamak için:

  1. SDK'yı yükleyip başlatın.

  2. Modeli yayınlayın.

    Modelin kaynak tanımlayıcısını belirtmeniz gerekir. Bu tanımlayıcı aşağıdaki örneğe benzer:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER Modeli içeren Cloud Storage paketinin proje numarası. Bu, Firebase projeniz veya başka bir Google Cloud proje olabilir. Bu değeri, Firebase konsolunuza veya Google Cloud konsol kontrol paneline gidin.
    MODEL_ID AutoML Cloud API'den aldığınız model kimliği.

    Python

    # First, import and initialize the SDK.
    
    # Get a reference to the AutoML model
    source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format(
        # See above for information on these values.
        project_number,
        model_id
    ))
    
    # Create the model object
    tflite_format = ml.TFLiteFormat(model_source=source)
    model = ml.Model(
        display_name="example_model",  # This is the name you will use from your app to load the model.
        tags=["examples"],             # Optional tags for easier management.
        model_format=tflite_format)
    
    # Add the model to your Firebase project and publish it
    new_model = ml.create_model(model)
    new_model.wait_for_unlocked()
    ml.publish_model(new_model.model_id)
    

    Node.js

    // First, import and initialize the SDK.
    
    (async () => {
      // Get a reference to the AutoML model. See above for information on these
      // values.
      const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`;
    
      // Create the model object and add the model to your Firebase project.
      const model = await ml.createModel({
        displayName: 'example_model',  // This is the name you use from your app to load the model.
        tags: ['examples'],  // Optional tags for easier management.
        tfliteModel: { automlModel: automlModel },
      });
    
      // Wait for the model to be ready.
      await model.waitForUnlocked();
    
      // Publish the model.
      await ml.publishModel(model.modelId);
    
      process.exit();
    })().catch(console.error);
    

Modeli indirip uygulamanızla paket haline getirme

Modelinizi uygulamanızla birlikte paketleyerek, Firebase'de barındırılan model kullanılamadığında uygulamanızın ML özelliklerinin çalışmaya devam etmesini sağlayabilirsiniz.

Modeli hem yayınlar hem de uygulamanızla paketlerseniz uygulama, en son sürüm mevcut.

Modelinizi indirmek için veri kümenizin Test ve kullanım sayfasında TF Lite'ı tıklayın.

Sonraki adımlar

Modeli yayınladığınıza veya indirdiğinize göre modeli nasıl kullanacağınızı öğrenebilirsiniz. iOS+ ve Android uygulamaları.