Önceden eğitilen basamaklı görüntü sınıflandırması

OpenCV kitaplığını kullanarak en çok yüzler için önceden eğitilen bir görüntü sınıflandırma modeli oluşturur

Kategori: OpenCV kitaplığı modülleri

Not

Için geçerlidir: Machine Learning Studio (klasik)

Bu içerik yalnızca Studio (klasik) ile ilgili. Benzer sürükle ve bırak modülleri bir tasarımcıya Azure Machine Learning eklendi. İki sürümü karşılaştıran bu makalede daha fazla bilgi bulabilirsiniz.

Modüle genel bakış

Bu makalede, görüntülerdeki yüzeyleri algılamak için Azure Machine Learning Studio (klasik) ' de önceden eğitilen görüntü sınıflandırma modülünün nasıl kullanılacağı açıklanır.

Model, OpenCV kitaplığını temel alır. OpenCV kitaplığı, her biri belirli bir nesne türünü algılamak için en iyi duruma getirilmiş olan önceden tanımlanmış modellerin bir listesini sağlar.

Önceden eğitilen model hakkında daha fazla bilgi

Bu görüntü tanıma modeli, görüntü tanıma görevlerinde yaygın olarak kullanılan görüntülerde büyük bir yapı üzerinde zaten eğitildi. Bu belirli sınıflandırma modeli yüz algılama için iyileştirildi ve Viola-Jones nesne algılama algoritmasını kullanıyor. Modelin amacı, bir insan yüzü içeren görüntüleri, en yatay görünümde belirlemektir.

Şu anda yalnızca bir OpenCV görüntü sınıflandırma modeli sağlansa da, daha sonraki sürümlerde ek eğitilen modeller kullanılabilir olabilir.

Önceden eğitilen model kullanma

Çözümlemek istediğiniz bir görüntü kümesi varsa, bunları bu konuda açıklandığı gibi puan modeli modülüne giriş olarak sağlarsınız ve önceden eğitilen OpenCV kitaplığı modelini sağlayan bu modülü iliştirebilirsiniz.

Puan modeli modülü görüntünün bir insan yüzü içerip içermediğini ve girdi olarak kullanılan her görüntü için bir olasılık puanı döndürüp döndürmeyeceğini anlamak için görüntü sınıflandırma modelini kullanır.

Önceden eğitilen görüntü sınıflandırmasını temel alan modeller yeni görüntü verilerinde geri alınamaz.

Modelin depolandığı biçim, eğitme modeli ve çapraz doğrulama modeli modülleri ile uyumsuzdur.

Önceden eğitilen basamaklı görüntü sınıflandırmasını yapılandırma

Azure Machine Learning'daki görüntü sınıflandırma modeli zaten büyük bir veri kümesi kullanılarak eğitilmiş ve belirli bir görüntü türü için iyileştirilmiştir. Bu nedenle, tek gereken puanlama veri kümesi olarak bir görüntü kümesi sağlamaktır. Modül, çıkış olarak her görüntünün hedef görüntü türünü içerdiğini belirten bir puan oluşturur.

  1. Puanlamada kullanmayı planladnız görüntülerin veri kümelerini hazırlayın ve içeri aktarın. Genel olarak veri kümesinde yer alan tüm görüntülerin aynı boyutta olması gerekir.

    Görüntüleri denemenize eklemek için Görüntüleri İçeri Aktarma modülünü kullanın. Kullanmakta olduğu görüntülerin gereksinimleri karşılaması için Görüntüleri İçeri Aktarma ile ilgili yardımı yakından okuyun. Ayrıca görüntülerin tanımlı depolama seçeneğinde erişilebilir olduğundan da emin olmak gerekir.

  2. Studio'da (klasik) denemenize Önceden Eğitilen Basamaklı Görüntü Sınıflandırması modülünü ekleyin. Bu modülü OpenCV Kitaplığı kategorisinde bulabilirsiniz.

  3. Önceden eğitilmiş sınıflandırıcısı listesinden önceden eğitilmiş sınıflandırıcılardan birini seçin.

    Şu anda yalnızca bir sınıflandırıcı kullanılabilir: Varsayılan olarak seçilen ön yüz.

  4. Ölçek faktörü: Her görüntü ölçeğinde görüntü boyutunun ne kadar azalt olduğunu belirten bir değer yazın.

    OpenCV Kitaplığı'nda sınıflandırıcı, farklı boyutlardaki ilgi nesnelerini bulmak için kolayca "yeniden boyutlandırılabilir" olacak şekilde tasarlanmıştır. Bu, görüntünün kendisini yeniden boyutlandırmaktan daha verimlidir. Bu nedenle, görüntüde bilinmeyen boyutta bir nesne bulmak için tarama yordamının farklı ölçeklerde birkaç kez yapılması gerekir.

    En iyi görüntü sınıflandırma sonuçlarını sağlayanı görmek için farklı ölçeklendirme faktörleri denemenizi öneririz.

  5. En az komşu sayısı: Yüzün bir bölgeye dahil olduğunu algılamak için gereken en düşük çakışan dikdörtgen sayısını temsil eden bir tam sayı yazın.

    OpenCV kitaplığında sınıflandırıcı, giriş görüntüsünde farklı boyutlardaki nesneleri algılar. Algılanan nesneler dikdörtgen listesi olarak döndürülür. Komşular parametresi, algılanan yüz veya özellik olarak nitelendirmek için kaç olası eşleşme gerektiğini denetler. Bu nedenle, bu değerin artırılması, kapsam maliyetinde duyarlık artışı eğilimi gösterir.

    Komşuların hesaplanma örnekleri için, OpenCv Kitaplığı belgelerindeki bu makaleye bakın: OpenCV 'de Eigenyüzler

  6. İsteğe bağlı olarak, daha iyi tahmine geçebilmesi için görüntü boyutunu modele belirtmek üzere aşağıdaki ayarları kullanabilirsiniz. Gereksinimlere uymayan görüntüler ortadan kalkar:

    • Minimum yükseklik: en küçük görüntünün piksel yüksekliğini yazın. Bu özellik için bir değer belirtirseniz, bundan küçük resimler yok sayılır.

    • En fazla yükseklik. En büyük görüntünün piksel genişliğini yazın. Bu özellik için bir değer belirtirseniz, bundan büyük resimler yok sayılır.

    • En küçük genişlik: en küçük görüntünün piksel genişliğini yazın. Bu özellik için bir değer belirtirseniz, bundan küçük resimler yok sayılır.

    • Maksimum genişlik: en büyük görüntünün piksel genişliğini yazın. Bu özellik için bir değer belirtirseniz, bundan büyük resimler yok sayılır.

  7. Puanlama için kullanılan görüntü veri kümesini bağlayın.

  8. Deneme sürümüne puan modeli modülünü ekleyin ve önceden eğitilen görüntü sınıflandırıcısını ve görüntü veri kümenizi bağlayın.

  9. Denemeyi çalıştırın.

Sonuçlar

Puan modelinin çıktısı, resim adını, PUID etiketini ve etiketin olasılık Puanını (0 veya 1) içerir. Sınıflandırıcı, nesne (bir yüz) ve "0" gibi, başka bir deyişle, bir "1" çıktısı verir. Örnek:

Görüntü adı Puanlanmış Etiketler Puanlanmış olasılıklara
MAN001.png TRUE 1
TABLE001.PNG FALSE 0
CHAIR001.PNG FALSE 0

İpucu

Çıktı, veri kümesinde tüm renk kanalları için RGB değerlerini de içerir. Bu nedenle, verileri daha kolay görüntülemek için denemede Veri Kümesinde Sütunları Seç seçeneğini kullanarak yalnızca sonuç sütunlarını çıkış olarak göstermenizi öneririz.

Teknik notlar

Bu modül tarafından sağlanan yüz tanıma modeli, yüz Viola-Jones algoritmasını temel alır. Daha fazla bilgi için şu kaynaklara bakın:

  • Bu videoda, Haar özelliklerinin tanımı ve yüz algılamada nasıl kullanıldıkları da dahil olmak üzere yüz tanımanın temel kavramları açıkmektedir: Yüz Algılama - Bölüm 1

  • Bu Wikipedia makalesinde, Navneet Dalal ve Bill Triggs: Yönlendirilen gradyan histogramı makalesine dayanarak sınıflandırıcı için kullanılan yöntem açıklanmıştır

  • OpenCV kitaplığında sağlanan yüz tanıma algoritmasının belgeleri için bkz. Cascade Classifier.

Not

Bu modül, OpenCV kitaplığı tarafından üretilen bilgilerin tam koleksiyonunun çıkışını oluşturmaz. Özellikle bu modülde yalnızca yüzün mevcut olup olmadığıyla ilgili tahminde bulunur ve yüzün koordinatlarını veya diğer bilgileri içermez.

Bu ek bilgilere ihtiyacınız varsa, Microsoft Bilişsel Hizmetler tarafından sağlanan Yüz Tanıma API'si gibi diğer kitaplıkları kullanmayı göz önünde bulundurabilirsiniz.

Modül parametreleri

Name Aralık Tür Varsayılan Description
Önceden eğitilmiş sınıflandırıcı Liste PretrainedClassifier Ön yüz Standart OpenCV dağıtımından önceden eğitilmemiş sınıflandırıcı.
Ölçek faktörü >=1.0000000000000002 Float 1.1 Her görüntü ölçeğinde görüntü boyutunun ne kadar azalt olduğunu belirten parametre.
En az komşu sayısı >= 0 Tamsayı 3 Her aday dikdörtgenin kaç tane komşun tarafından saklanması gerektiğini belirten parametre.
Minimum yükseklik >= 1 Tamsayı 100 Mümkün olan en düşük nesne yüksekliği (piksel cinsinden). Bundan küçük nesneler yok sayılır.

Parametresi isteğe bağlıdır.
En küçük genişlik >= 1 Tamsayı 100 Olası en düşük nesne genişliği (piksel cinsinden). Bundan küçük nesneler yok sayılır.

Parametresi isteğe bağlıdır.
Maksimum yükseklik >= 1 Tamsayı 200 Mümkün olan en yüksek nesne yüksekliği (piksel cinsinden). Bundan büyük nesneler yok sayılır.

Parametresi isteğe bağlıdır.
Maksimum genişlik >= 1 Tamsayı 200 Mümkün olan en fazla nesne genişliği (piksel cinsinden). Bu değerden büyük nesneler yoksayılır.

parametresi isteğe bağlıdır.

Çıkışlar

Ad Tür Description
Eğitilen model ILearner arabirimi Eğitilen ikili sınıflandırma modeli

Özel durumlar

Özel durum Description
Hata 0005 Parametre belirli bir değerden küçükse özel durum oluşur.

Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning kodları.

API özel durumlarının listesi için bkz. Machine Learning REST API Kodları.

Ayrıca bkz.

Görüntüleri İçeri Aktarma
Önceden Eğitilmemiş Basamaklı Görüntü Sınıflandırması