Aracılığıyla paylaş


ML.NET ve Windows Machine Learning ile Görüntü Sınıflandırma

Görüntü sınıflandırma akışı

Bu kılavuzda, ML.NET Model Builder kullanarak yiyecek görüntülerini sınıflandırmak, modeli ONNX biçiminde dışarı aktarmak ve modeli bir Windows cihazında yerel olarak çalışan bir Windows Machine Learning uygulamasında dağıtmak için bir sinir ağı modelinin nasıl eğitileceği gösterilir. Makine öğrenmesi konusunda daha önce uzman olmanız gerekmez ve bu süreçte size adım adım yol göstereceğiz.

ML.NET Model Oluşturucusu ile model oluşturmayı ve eğitmeyi öğrenmek isterseniz Model Eğitmeye geçebilirsiniz.

Bir modeliniz varsa ve sıfırdan bir WinML uygulaması oluşturmayı öğrenmek istiyorsanız, tam WinML uygulaması öğreticisine gidin.

Bir WinML uygulaması için önceden tanımlanmış çözümü almak istiyorsanız , çözüm dosyasını kopyalayıp hemen test edebilirsiniz.

Senaryo

Bu öğreticide, Windows cihazlarında çalışan bir makine öğrenmesi gıda sınıflandırma uygulaması oluşturacağız. Model, bir gıda görüntüsünü sınıflandırmak için belirli desen türlerini tanıyacak şekilde eğitilir ve görüntü verildiğinde bir sınıflandırma etiketi ve bu sınıflandırmanın ilişkili yüzde güvenilirlik değeri döndürülecektir.

Model eğitimi için önkoşullar

Modelinizi oluşturmak ve eğitmek için Visual Studio'da ML.NET Model Buider'ı kullanacaksınız.

Uyarı

Azure kayıt seçenekleri ve Azure ücretsiz hesapları hakkında daha fazla bilgi edinmek mi istiyorsunuz? Azure hesabı oluşturma'ya göz atın.

ML.NET Model Builder, özel makine öğrenmesi modelleri oluşturmak, eğitmek ve dağıtmak için kullanılan sezgisel bir grafik Visual Studio uzantısıdır. Senaryonuza en uygun olanı bulmanıza yardımcı olmak için farklı makine öğrenmesi algoritmalarını ve ayarlarını keşfetmek için otomatik makine öğrenmesi (AutoML) kullanır.

ML.NET Model Builder, .NET iş yüklerinden birini yüklediğinizde Visual Studio sürüm 16.6.1 veya üzeriyle birlikte sunulur. Visual Studio'yu indirirken veya değiştirirken ML.NET Model Builder bileşeninin yükleyicide denetlendiğinden emin olun. VS'nizde ML.NET Model Oluşturucusu bileşenlerinin olup olmadığını denetlemek için Uzantılar'a gidin ve Uzantıları Yönet'i seçin. Uzantı sonuçlarını gözden geçirmek için arama çubuğuna Model Oluşturucusu yazın.

Model oluşturucu uzantısı

ML.NET Model Oluşturucusu şu anda bir Önizleme özelliğidir. Bu nedenle, aracı kullanmak için Visual Studio'da Araçlar > Seçenekleri > Ortam > Önizleme Özellikleri'ne gitmeniz ve ML.NET Model Oluşturucusu'nu etkinleştirmeniz gerekir:

Model oluşturucu uzantısını etkinleştirme

Uyarı

ML.NET Model Oluşturucusu ve desteklediği farklı senaryolar hakkında daha fazla bilgi edinmek istiyor musunuz? Lütfen Model Oluşturucusu belgelerini gözden geçirin.

Windows ML uygulama dağıtımı önkoşulları

Bir Widows ML uygulaması oluşturmak ve dağıtmak için aşağıdakilere ihtiyacınız vardır:

Uyarı

Windows ML API'leri, Windows 10 (1809 veya üzeri) ve Windows Server 2019'un en son sürümlerinde yerleşiktir. Hedef platformunuz Windows'un eski sürümleriyse, WinML uygulamanızı yeniden dağıtılabilir NuGet paketine (Windows 8.1 veya üzeri) taşıyabilirsiniz.

Verileri hazırlama

Makine öğrenmesi modelleri mevcut verilerle eğitilmelidir. Bu kılavuzda, Kaggle Open Datasets'teki yiyecek görüntülerinden oluşan bir veri kümesi kullanacaksınız. Bu veri kümesi genel etki alanı lisansı altında dağıtılır.

Önemli

Bu veri kümesini kullanmak için Kaggle sitesini kullanma terimine ve Food-11 veri kümesinin kendisine eşlik eden liscence terimlerine uymanız gerekir. Microsoft, site veya bu veri kümesiyle ilgili hiçbir garanti veya beyanda bulunmaz.

Veri kümesinin değerlendirme, eğitim ve doğrulama adlı üç bölümü vardır ve 11 ana gıda kategorisinde gruplandırılmış 16643 gıda görüntüsü içerir. Her bir yiyecek kategorisinin veri kümesindeki görüntüler ayrı bir klasöre yerleştirilir ve bu da model eğitim sürecini daha kullanışlı hale getirir.

Veri kümesini buradan indirin. Veri kümesinin boyutunun yaklaşık 1 gb olduğunu ve kaggle web sitesinde verileri indirmek için bir hesap oluşturmanız istenebileceğini lütfen unutmayın.

Gıda görüntüsü veri kümesi

İsterseniz, ilgili görüntülerden oluşan diğer veri kümelerini kullanabilirsiniz. Minimum olarak, ilk eğitim kümesinde etiket başına en az 30 resim kullanmanızı öneririz. Modeliniz eğitildikten sonra test etmek için birkaç ek görüntü de toplamak isteyeceksiniz.

Ayrıca tüm eğitim görüntülerinizin aşağıdaki ölçütlere uygun olduğundan emin olun:

  • .jpg, .png, .bmpveya .gif biçimi.
  • boyutu 6 MB'tan büyük değildir (tahmin görüntüleri için 4 MB).
  • en kısa kenarda en az 256 piksel; bundan kısa tüm görüntüler, Özel Görüntü İşleme Hizmeti tarafından otomatik olarak ölçeklendirilir.

Sonraki Adımlar

Artık önkoşullarınızı sıraladığınıza ve veri kümenizi hazırladığınıza göre WinML modelinizi oluşturmaya devam edebilirsiniz. Sonraki bölümde sınıflandırma modelinizi oluşturmak ve eğitmek için ML.NET Model Oluşturucusu'nu kullanacaksınız.