AutoML Vision Edge ile nesne algılama modeli eğitme

Nesne algılama modeli, görüntü etiketleme modeline benzer, resimlerin tamamı için etiketler atayarak, resimlerin bulunduğu bölgelere etiketler atar. Şunları yapabilirsiniz: bir görüntüdeki nesneleri tanımak ve bulmak veya bu işlemleri yapmak için nesne algılama bir nesnenin bir dizi resimdeki hareketlerini izlemek.

Nesne algılama modelini eğitmek için AutoML Vision Edge'e karşılık gelen nesne etiketlerine ve nesne sınırlarına sahip resimler oluşturun. AutoML Vision Edge, bulutta bulunan yeni bir modeli eğitmek için bu veri kümesini kullanır. Bu modeli kullanarak cihaz üzerinde nesne algılama.

ziyaret edin.

Başlamadan önce

1. Eğitim verilerinizi derleme

Öncelikle, etiketli görüntülerden 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 etiketten en az 10, 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, ü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ü resimler (ör. güvenlik kamerasından), eğitim verileriniz bulanık, düşük çözünürlüklü resimlerden oluşmalıdır.

  • AutoML Vision Edge tarafından oluşturulan modeller, ne olduğunu öğreneceğiz. 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, içe aktarılacak şekilde hazırlayın. Google Cloud. İki seçeneğiniz vardır:

1. seçenek: CSV diziniyle Cloud Storage

Eğitim görüntülerinizi Google Cloud Storage'a yükleyin. ve her resmin URL'sini ve isteğe bağlı olarak Her görüntü için doğru nesne etiketleri ve sınırlayıcı bölgeler. Bu seçenek büyük veri kümeleri kullanırken işinize yarayacaktır.

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

gs://your-training-data-bucket/001.jpg,accordion,0.2,0.4,,,0.3,0.5,,
gs://your-training-data-bucket/001.jpg,tuba,0.2,0.5,,,0.4,0.8,,
gs://your-training-data-bucket/002.jpg,accordion,0.2,0.2,,,0.9,0.8,,

Nesne sınırlayıcı kutular, resimdeki göreli koordinatlar olarak belirtilir. Görüntüleyin Eğitim verilerini CSV olarak biçimlendirme.

Görüntüler us-central1 bölgesinde bulunan bir pakette depolanmalıdır ve Firebase projenizin karşılık gelen Google Cloud projesinin bir parçası.

2. Seçenek: Etiketsiz resimler

Eğitim görüntülerinizi etiketleyin ve Google Cloud Console'a yükleyin. Bu işlem yalnızca veri kümelerinde yer alır. 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. sayfasından erişebilirsiniz. İstendiğinde projenizi seçin.

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

  3. Veri kümenizin Import (İçe aktar) sekmesinde, eğitim görüntülerinizi (ZIP arşivi) Cloud Storage verilerini içeren bir CSV dosyası veya konum tahmini ekleyebilirsiniz. Görüntüleyin Eğitim verilerinizi derleyin.

  4. İçe aktarma görevi tamamlandıktan sonra Images (Görüntüler) sekmesini kullanarak eğitim verileri.

  5. CSV yüklemediyseniz her görüntü için tanımlamak ve etiketlemek istiyorsunuz.

  6. 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

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

      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 setler1 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 görüntü18 saat

3. Modelinizi değerlendirme

Eğitim tamamlandığında Değerlendir sekmesini tıklayarak modelin performans metriklerini görebilirsiniz.

Bu sayfanın önemli bir kullanım şekli de, geçerli olan güven eşiğinin, en iyi uygulamaları paylaşacağız. Güven eşiği, modelin sahip olması gerekir. Güven eşiğini yükselterek 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.

Görüntü sınıflandırma bağlamında hassas, toplamda görünen sayının oranıdır. modelin etiketlediği görüntü sayısına doğru şekilde etiketlenmiş resimlerin belirlenen eşiğe göre hesaplayabilirsiniz. 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ı. Zaman bir model yüksek geri çağırmaya sahipse herhangi bir etiketi daha seyrek atayamaz (daha az yanlış negatif anahtar kelimeler).

Hassasiyet veya geri çağırma için optimizasyon yapmanız, kullanım alanınıza bağlıdır. Görüntüleyin AutoML Vision'a yeni başlayanlar için kılavuz ve Daha fazla bilgi için kapsayıcı makine öğrenimi kılavuzu - AutoML'i inceleyin.

Size uygun metrikler üreten bir güven eşiği bulduğunuzda, not edin; modeli yapılandırmak için uygulamasını indirin. (Uygun bir eşik değeri elde etmek 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 belgeleri. İlgili içeriği oluşturmak için kullanılan diğer iki seçeneği kapsar.

Modeli yayınlayın

Modeli Firebase'de yayınlayarak, modeli yayınlamadan güncelleyebilirsiniz. ve Remote Config ve A/B Testi'ni kullanarak aşağıdakileri 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 pakette olmadığı durumlarda, uygulamanız, uygulamanızı 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ı ve ardından modeli Google Cloud konsolunu kullanarak Firebase konsolunun Özel model sayfası. Bu genelde tek bir model yayınlamanın en kolay yoludur.
  • Aşağıdaki komutu kullanarak modeli doğrudan Google Cloud projenizden Firebase'e yayınlayın: Yönetici SDK'si. Bu yöntemi, birden fazla modeli toplu olarak yayınlamak 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ükleyin ve 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 Aşağıdakini içeren Cloud Storage paketinin proje numarası: model. Bu, Firebase projeniz veya başka bir Google Cloud olabilir belirler. Bu değeri, Firebase konsolunuza veya Google Cloud Console 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);
    

İndir ve modeli uygulamanızla paketleyin.

Modelinizi uygulamanızla paket haline getirerek uygulamanızın makine öğrenimi özelliklerinin etkin olmasını sağlayabilirsiniz. Firebase tarafından barındırılan model kullanılamadığında çalışmaya devam eder.

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ın sayfası.

Sonraki adımlar

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