Özel Görüntü Analizi modeli oluşturma (önizleme)
Görüntü Analizi 4.0, kendi eğitim görüntülerinizi kullanarak özel bir model eğitmeye olanak tanır. Görüntülerinizi el ile etiketleyerek, bir modeli görüntülere özel etiketler uygulayacak (görüntü sınıflandırması) veya özel nesneleri (nesne algılama) algılayan eğitebilirsiniz. Görüntü Analizi 4.0 modelleri özellikle az çekim öğrenmede etkilidir, bu nedenle daha az eğitim verileriyle doğru modeller elde edebilirsiniz.
Bu kılavuzda özel görüntü sınıflandırma modeli oluşturma ve eğitma gösterilmektedir. Görüntü sınıflandırma modelini eğitme ile nesne algılama modeli arasındaki birkaç farka dikkat edilir.
Önkoşullar
- Azure aboneliği - Ücretsiz olarak oluşturun
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Görüntü İşleme kaynağı oluşturun. Vision Studio'yu kullanarak bu kılavuzu izliyorsanız kaynağınızı Doğu ABD bölgesinde oluşturmanız gerekir. Dağıtıldıktan sonra Kaynağa git'i seçin. Anahtarı ve uç noktayı daha sonra kullanmak üzere geçici bir konuma kopyalayın.
- Azure Depolama kaynağı - Bir kaynak oluşturma
- Sınıflandırma modelinizi eğitmek için kullanabileceğiniz bir görüntü kümesi. GitHub'da örnek görüntü kümesini kullanabilirsiniz. İsterseniz kendi görüntülerinizi de kullanabilirsiniz. Sınıf başına yalnızca 3-5 görüntüye ihtiyacınız vardır.
Not
Olası yüksek gecikme süresi nedeniyle iş açısından kritik ortamlar için özel modeller kullanmanızı önermeyiz. Müşteriler Vision Studio'da özel modelleri eğittiğinde, bu özel modeller eğitildiği Görüntü İşleme kaynağına aittir ve müşteri Görüntü Analizi API'sini kullanarak bu modellere çağrı yapabilir. Bu çağrıları yaptıklarında özel model belleğe yüklenir ve tahmin altyapısı başlatılır. Bu durumda müşteriler tahmin sonuçlarını almak için beklenenden daha uzun gecikme süresiyle karşılaşabilir.
Yeni bir özel model oluşturma
Vision Studio'ya gidip Görüntü analizi sekmesini seçerek başlayın. Ardından Modelleri özelleştir kutucuğunu seçin.
Ardından Azure hesabınızla oturum açın ve Görüntü İşleme kaynağınızı seçin. Yoksa, bu ekrandan bir tane oluşturabilirsiniz.
Eğitim görüntülerini hazırlama
Eğitim görüntülerinizi bir Azure Blob Depolama kapsayıcısına yüklemeniz gerekir. Azure portalında depolama kaynağınıza gidin ve Depolama tarayıcısı sekmesine gidin. Burada bir blob kapsayıcısı oluşturabilir ve görüntülerinizi karşıya yükleyebilirsiniz. Tümünü kapsayıcının köküne yerleştirin.
Veri kümesi ekleme
Özel bir modeli eğitmek için, görüntüleri ve bunların etiket bilgilerini eğitim verileri olarak sağladığınız bir Veri Kümesi ile ilişkilendirmeniz gerekir. Vision Studio'da veri kümelerinizi görüntülemek için Veri Kümeleri sekmesini seçin.
Yeni veri kümesi oluşturmak için Yeni veri kümesi ekle'yi seçin. Açılan pencerede bir ad girin ve kullanım örneğiniz için bir veri kümesi türü seçin. Görüntü sınıflandırma modelleri görüntünün tamamına içerik etiketleri uygularken , Nesne algılama modelleri görüntüdeki belirli konumlara nesne etiketleri uygular. Ürün tanıma modelleri, perakende ürünleri algılamak için iyileştirilmiş nesne algılama modellerinin bir alt kategorisidir.
Ardından, eğitim görüntülerini depoladığınız Azure Blob Depolama hesabından kapsayıcıyı seçin. Vision Studio'ya blob depolama kapsayıcısını okuma ve yazma izni vermek için kutuyu işaretleyin. Bu, etiketlenmiş verileri içeri aktarmak için gerekli bir adımdır. Veri kümesini oluşturun.
Azure Machine Learning etiketleme projesi oluşturma
Etiketleme bilgilerini iletmek için bir COCO dosyası gerekir. COCO dosyası oluşturmanın kolay bir yolu, veri etiketleme iş akışıyla birlikte gelen bir Azure Machine Learning projesi oluşturmaktır.
Veri kümesi ayrıntıları sayfasında Yeni Veri Etiketleme projesi ekle'yi seçin. Adı verin ve Yeni çalışma alanı oluştur'u seçin. Bu, Azure Machine Learning projesini oluşturabileceğiniz yeni bir Azure portalı sekmesi açar.
Azure Machine Learning projesi oluşturulduktan sonra Vision Studio sekmesine dönün ve Çalışma Alanı'nın altında bunu seçin. Ardından Azure Machine Learning portalı yeni bir tarayıcı sekmesinde açılır.
Azure Machine Learning: Etiket oluşturma
Etiketlemeye başlamak için Lütfen etiket sınıfları ekleyin istemini izleyerek etiket sınıfları ekleyin.
Tüm sınıf etiketlerini ekledikten sonra bunları kaydedin, projede başlat'ı seçin ve ardından üst kısımdaki Verileri etiketle'yi seçin.
Azure Machine Learning: Eğitim verilerini el ile etiketleme
Etiketlemeyi başlat'ı seçin ve tüm görüntülerinizi etiketlemek için istemleri izleyin. İşiniz bittiğinde tarayıcınızda Vision Studio sekmesine dönün.
Şimdi COCO dosyası ekle'yi ve ardından Azure ML Veri Etiketleme projesinden COCO dosyasını içeri aktar'ı seçin. Bu, etiketlenmiş verileri Azure Machine Learning'den içeri aktarır.
Yeni oluşturduğunuz COCO dosyası artık bu projeye bağladığınız Azure Depolama kapsayıcısında depolanır. Artık bunu model özelleştirme iş akışına aktarabilirsiniz. Açılan listeden seçin. COCO dosyası veri kümesine aktarıldıktan sonra, veri kümesi modeli eğitmesi için kullanılabilir.
Not
COCO dosyalarını başka bir yerden içeri aktarma
İçeri aktarmak istediğiniz hazır bir COCO dosyanız varsa Veri Kümeleri sekmesine gidin ve öğesini seçinAdd COCO files to this dataset
. Blob depolama hesabından belirli bir COCO dosyası eklemeyi veya Azure Machine Learning etiketleme projesinden içeri aktarmayı seçebilirsiniz.
Şu anda Microsoft, Coco dosyası içeri aktarma işleminin Vision Studio'da başlatıldığında büyük veri kümelerinde başarısız olmasına neden olan bir sorunu çözmektedir. Büyük bir veri kümesi kullanarak eğitmek için bunun yerine REST API kullanılması önerilir.
COCO dosyaları hakkında
COCO dosyaları, belirli gerekli alanlara sahip JSON dosyalarıdır: "images"
, "annotations"
ve "categories"
. Örnek bir COCO dosyası şöyle görünür:
{
"images": [
{
"id": 1,
"width": 500,
"height": 828,
"file_name": "0.jpg",
"absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/0.jpg"
},
{
"id": 2,
"width": 754,
"height": 832,
"file_name": "1.jpg",
"absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/1.jpg"
},
...
],
"annotations": [
{
"id": 1,
"category_id": 7,
"image_id": 1,
"area": 0.407,
"bbox": [
0.02663142641129032,
0.40691584277841153,
0.9524163571731749,
0.42766634515266866
]
},
{
"id": 2,
"category_id": 9,
"image_id": 2,
"area": 0.27,
"bbox": [
0.11803319477782331,
0.41586723392402375,
0.7765206955096307,
0.3483334397217212
]
},
...
],
"categories": [
{
"id": 1,
"name": "vegall original mixed vegetables"
},
{
"id": 2,
"name": "Amy's organic soups lentil vegetable"
},
{
"id": 3,
"name": "Arrowhead 8oz"
},
...
]
}
COCO dosya alanı başvurusu
Sıfırdan kendi COCO dosyanızı oluşturuyorsanız tüm gerekli alanların doğru ayrıntılarla doldurulduğundan emin olun. Aşağıdaki tablolarda BIR COCO dosyasındaki her alan açıklanmaktadır:
"resimler"
Anahtar | Type | Açıklama | Gerekli mi? |
---|---|---|---|
id |
integer | 1'den başlayarak benzersiz görüntü kimliği | Yes |
width |
integer | Görüntünün piksel cinsinden genişliği | Yes |
height |
integer | Görüntünün piksel cinsinden yüksekliği | Yes |
file_name |
Dize | Görüntü için benzersiz bir ad | Yes |
absolute_url veya coco_url |
Dize | Blob kapsayıcısında bir bloba mutlak URI olarak görüntü yolu. Görüntü İşleme kaynağının ek açıklama dosyalarını ve başvuruda bulunan tüm görüntü dosyalarını okuma izni olmalıdır. | Yes |
değerini absolute_url
blob kapsayıcınızın özelliklerinde bulabilirsiniz:
"ek açıklamalar"
Anahtar | Type | Açıklama | Gerekli mi? |
---|---|---|---|
id |
integer | Ek açıklamanın kimliği | Yes |
category_id |
integer | bölümünde tanımlanan kategorinin categories kimliği |
Yes |
image_id |
integer | Görüntünün kimliği | Yes |
area |
integer | 'Width' x 'Height' değeri (üçüncü ve dördüncü değerleri bbox ) |
Hayır |
bbox |
list[float] | Sınırlayıcı kutunun göreli koordinatları (0 - 1), 'Sol', 'Üst', 'Genişlik', 'Yükseklik' sırasına göre | Yes |
"kategoriler"
Anahtar | Type | Açıklama | Gerekli mi? |
---|---|---|---|
id |
integer | Her kategori için benzersiz kimlik (etiket sınıfı). Bunlar bölümünde bulunmalıdır annotations . |
Yes |
name |
Dize | Kategorinin adı (etiket sınıfı) | Yes |
COCO dosya doğrulaması
Coco dosyasının biçimini denetlemek için Python örnek kodumuzu kullanabilirsiniz.
Özel modeli eğitin
COCO dosyanızla bir modeli eğitmeye başlamak için Özel modeller sekmesine gidin ve Yeni model ekle'yi seçin. Model için bir ad girin ve model türü olarak veya Object detection
öğesini seçinImage classification
.
Artık etiketleme bilgilerini içeren COCO dosyasıyla ilişkili olan veri kümenizi seçin.
Ardından bir zaman bütçesi seçin ve modeli eğitin. Küçük örnekler için bütçe kullanabilirsiniz 1 hour
.
Eğitimin tamamlanması biraz zaman alabilir. Görüntü Analizi 4.0 modelleri yalnızca küçük bir eğitim verileri kümesiyle doğru olabilir, ancak önceki modellerden daha uzun sürer.
Eğitilen modeli değerlendirme
Eğitim tamamlandıktan sonra modelin performans değerlendirmesini görüntüleyebilirsiniz. Aşağıdaki ölçümler kullanılır:
- Görüntü sınıflandırması: Ortalama Duyarlık, Doğruluk İlk 1, Doğruluk İlk 5
- Nesne algılama: Ortalama Ortalama Duyarlık @ 30, Ortalama Ortalama Duyarlık @ 50, Ortalama Ortalama Duyarlık @ 75
Modeli eğitirken bir değerlendirme kümesi sağlanmazsa, bildirilen performans eğitim kümesinin bir bölümüne göre tahmin edilir. Model performansınızı güvenilir bir şekilde tahmin etmek için bir değerlendirme veri kümesi (yukarıdakiyle aynı işlemi kullanarak) kullanmanızı kesinlikle öneririz.
Vision Studio'da özel modeli test etme
Özel bir model derledikten sonra, model değerlendirme ekranındaki Deneyin düğmesini seçerek test edebilirsiniz.
Bu sizi Resimlerden ortak etiketleri ayıkla sayfasına götürür. Açılan menüden özel modelinizi seçin ve bir test görüntüsü yükleyin.
Tahmin sonuçları doğru sütunda görünür.
Sonraki adımlar
Bu kılavuzda, Görüntü Analizini kullanarak özel bir görüntü sınıflandırma modeli oluşturdunuz ve eğittiniz. Ardından, REST veya kitaplık SDK'larını kullanarak bir uygulamadan özel modelinizi çağırabilmeniz için Görüntü Analizi 4.0 API'si hakkında daha fazla bilgi edinin.