AutoML Vision Edge ile bir görüntü etiketleme modeli eğitin

Bir görüntü etiketleme modelini eğitmek için AutoML Vision Edge'e bir dizi görüntü ve karşılık gelen etiketler sağlarsınız. AutoML Vision Edge, uygulamanızda cihaz üzerinde görüntü etiketleme için kullanabileceğiniz bulutta yeni bir model eğitmek için bu veri kümesini kullanır. (Bkz Özeti Bu özellik hakkında genel bilgi için bkz.)

AutoML Vizyon Kenar Bir Google Cloud hizmetidir. Servis kullanımı tabidir Google Cloud Platform Lisans Anlaşması ve Servis Özgü Şartlar ve buna göre fatura edilir. Fatura bilgileri için AutoML bkz Fiyatlandırma sayfasını.

Sen başlamadan önce

1. Egzersiz verilerinizi bir araya getirin

İlk olarak, etiketli görüntülerden oluşan bir eğitim veri kümesi oluşturmanız gerekir. Aşağıdaki yönergeleri aklınızda bulundurun:

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

  • Her resim 30MB veya daha küçük olmalıdır. AutoML Vision Edge'in ön işleme sırasında çoğu görüntünün ölçeğini küçülttüğünü ve bu nedenle çok yüksek çözünürlüklü görüntüler sağlamanın genellikle doğruluk açısından bir yararı olmadığını unutmayın.

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

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

  • Eğitim verileri, tahminlerin yapılacağı verilere mümkün olduğunca yakın olmalıdır. Örneğin, kullanım durumunuz bulanık ve düşük çözünürlüklü görüntüler içeriyorsa (örneğin bir güvenlik kamerasından), egzersiz 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. X-ışınları, el çizimleri, taranmış belgeler, makbuzlar vb. için iyi çalışmayabilirler.

    Ayrıca, modeller genellikle insanların atayamayacağı etiketleri tahmin edemez. Bu nedenle, bir insan görüntüye 1-2 saniye bakarak etiket atayamazsa, model de muhtemelen bunu yapmak için eğitilemez.

Eğitim görüntülerinizi hazır hale getirdiğinizde, bunları Firebase'e içe aktarmaya hazırlayın. Üç seçeneğiniz var:

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

Eğitim görüntülerinizi, her biri bir etiketten sonra adlandırılan ve bu etikete örnek olan görüntüleri içeren dizinler halinde düzenleyin. Ardından, dizin yapısını bir zip arşivine sıkıştırın.

Bu zip arşivine dizin adlarını uzun 32 ASCII karakter olabilir ve yalnızca harf ve ç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 dizinli Bulut Depolama

İçin antrenman Resim yükle Google Bulut Depolama her görüntü için, isteğe bağlı olarak, doğru etiketleri ve her resmin URL'sini listeleyen bir CSV dosyası hazırlarken, vb. Bu seçenek, çok büyük veri kümeleri kullanıldığında yararlıdır.

Örneğin, görüntülerinizi Cloud Storage'a yükleyin ve aşağıdaki gibi bir CSV dosyası hazırlayın:

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 ilgili Google Cloud projesinin parçası olan bir pakette saklanmalıdır.

Bkz eğitim verileri hazırlanıyor CSV dosyası hazırlama konusunda daha fazla bilgi için Bulut AutoML Vizyon belgelerinde.

3. Seçenek: Etiketlenmemiş resimler

Eğitim resimlerinizi tek tek veya yapılandırılmamış bir zip dosyasında yükledikten sonra Firebase konsolunda etiketleyin. Bir sonraki adıma bakın.

2. Modelinizi eğitin

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

  1. Vizyon Datasets Google Bulut Konsolu'nda sayfa. Sorulduğunda projenizi seçin.

  2. Yeni veri kümesi tıklayın veri kümesi için bir ad, tren istediğiniz modelin türünü seçin ve veri kümesi oluşturma tıklayın.

  3. Sizin veri kümesinin İthalat sekmesinde, eğitim görüntülerin bir zip arşivini veya onları yüklenen Bulut Depolama yerleri içeren bir CSV dosyası ya yükleyin. Bkz antrenman bilgilerinizi birleştirin .

  4. İthalat görev tamamlandıktan sonra eğitim verilerini doğrulamak için Görüntüler sekmesini kullanın ve herhangi etiketsiz görüntüleri etiketlemek.

  5. Tren sekmesinde, Başlangıç eğitimi tıklayın.

    1. Modeli Ad ve Kenar modeli türünü seçin.

    2. Oluşturulan modelin performansını yöneten aşağıdaki eğitim ayarlarını yapılandırın:

      Modeli optimize et... Kullanılacak model yapılandırması. Düşük gecikme süresinin veya küçük paket boyutunun önemli olduğu durumlarda daha hızlı, daha küçük modelleri veya doğruluğun en önemli olduğu durumlarda daha yavaş, daha büyük modelleri eğitebilirsiniz.
      Düğüm saati bütçesi

      Modeli eğitmek için harcanan hesaplama saati cinsinden maksimum süre. Daha fazla eğitim süresi genellikle daha doğru bir modelle sonuçlanır.

      Sistem, modelin optimize edildiğini ve ek eğitimin doğruluğu artırmayacağını belirlerse eğitimin belirtilen süreden daha kısa sürede tamamlanabileceğini unutmayın. Yalnızca gerçekte kullanılan saatler için faturalandırılırsınız.

      Tipik eğitim süreleri
      Çok küçük setler 1 saat
      500 resim 2 saat
      1.000 resim 3 saat
      5.000 görüntü 6 saat
      10.000 görüntü 7 saat
      50.000 görüntü 11 saat
      100.000 görüntü 13 saat
      1.000.000 görüntü 18 saat

3. Modelinizi değerlendirin

Tamamlanana eğitim zaman, modelin performans ölçümlerini görmek için sekmeyi değerlendirin tıklayabilirsiniz.

Bu sayfanın önemli bir kullanımı, modeliniz için en uygun güven eşiğini belirlemektir. Güven eşiği, modelin bir görüntüye etiket ataması için sahip olması gereken minimum güvendir. Güven eşiği sürgüsünü taşıyarak, modelin performansını nasıl etkilediğini farklı eşikler görebilirsiniz. Hassas ve hatırlama: Model performans iki ölçümü kullanılarak ölçülür.

Görüntü sınıflandırması bağlamında, hassas doğru görüntü sayısı, seçilen eşik verilen etiketli modeline etiketlenmiştir görüntü sayısı oranıdır. Bir model yüksek hassasiyete sahip olduğunda, etiketleri daha az hatalı olarak atar (daha az hatalı pozitif).

Hatırlama doğru modeli etiketlemek mümkün olması gerekirdi içerik vardı görüntülerin sayısı etiketlendi resim sayısı oranıdır. Bir model yüksek hatırlama oranına sahip olduğunda, daha az sıklıkla herhangi bir etiket atamada başarısız olur (daha az yanlış negatif).

Kesinlik veya geri çağırma için optimize edip etmediğiniz, kullanım durumunuza bağlı olacaktır. Bkz AutoML Vizyon başlayanlar rehber ve AutoML - Dahil ML kılavuzu Daha fazla bilgi için.

Rahat edeceğ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 elde etmek için bu aracı istediğiniz zaman kullanabilirsiniz.)

4. Modelinizi yayınlayın veya indirin

Modelin performansından memnunsanız ve onu bir uygulamada kullanmak istiyorsanız, herhangi bir kombinasyonu seçebileceğiniz üç seçeneğiniz vardır: modeli çevrimiçi tahmin için dağıtın, modeli Firebase'de yayınlayın veya modeli indirip paketleyin uygulamanız ile.

Modeli dağıtın

Sizin veri kümesinin Test ve kullanımı sekmesinde, buluttaki modeli çalışır çevrimiçi tahmini, için modelinizi dağıtabilir. Bu seçenek kaplıdır Bulut AutoML docs . Bu sitedeki belgeler, kalan iki seçenekle ilgilenir.

Modeli yayınlayın

Modeli Firebase'de yayınlayarak, yeni bir uygulama sürümü yayınlamadan modeli güncelleyebilir ve farklı modelleri farklı kullanıcı gruplarına dinamik olarak sunmak için Remote Config ve A/B Testini kullanabilirsiniz.

Modeli yalnızca Firebase ile barındırarak sağlamayı ve uygulamanızla birlikte paketlemeyi seçerseniz, uygulamanızın ilk indirme boyutunu küçültebilirsiniz. Ancak, model uygulamanızla birlikte paketlenmemişse, uygulamanız modeli ilk kez indirene kadar modelle ilgili herhangi bir işlevin kullanılamayacağını unutmayın.

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

  • Google Bulut Console'da veri kümesinin Test ve kullanım sayfasından TF Lite modeli indirin ve ardından model yüklemeyin Özel modeli Firebase konsolunun sayfa. Bu genellikle tek bir modeli yayınlamanın en kolay yoludur.
  • Yönetici SDK'sını kullanarak modeli doğrudan Google Cloud projenizden Firebase'de yayınlayın. Birkaç modeli toplu olarak yayımlamak veya otomatik yayımlama işlem hatları oluşturmaya yardımcı olmak için bu yöntemi kullanabilirsiniz.

Yönetici SDK ile modeli yayımlamak için model yönetimi API :

  1. Yükleme ve SDK'yı başlatmak .

  2. Modeli yayınlayın.

    Aşağıdaki örneğe benzeyen bir dize olan modelin kaynak tanımlayıcısını belirtmeniz gerekir:

    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 projesi olabilir. Bu değeri Firebase konsolunun Ayarlar sayfasında veya Google Cloud Console kontrol panelinde bulabilirsiniz.
    MODEL_ID AutoML Cloud API'den aldığınız modelin kimliği.

    piton

    # 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 uygulamanızla birlikte indirin ve paketleyin

Modelinizi uygulamanızla bir araya getirerek, Firebase tarafından barındırılan model mevcut olmadığında uygulamanızın ML özelliklerinin çalışmaya devam etmesini sağlayabilirsiniz.

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

Modelinizi indirmek için, veri kümesinin Test ve kullanım sayfasındaki TF Lite tıklayın.

Sonraki adımlar

Şimdi yayınlanmış veya modelini indirdikten o, sizin modeli kullanmayı öğrenmek iOS ve Android apps.