Model özelleştirme (sürüm 4.0 önizleme)
Model özelleştirme, kendi kullanım örneğiniz için özel bir Görüntü Analizi modeli eğitmenizi sağlar. Özel modeller görüntü sınıflandırması (etiketler resmin tamamına uygulanır) veya nesne algılama (etiketler görüntünün belirli alanlarına uygulanır) yapabilir. Özel modeliniz oluşturulduktan ve eğitildikten sonra Görüntü İşleme kaynağınıza aittir ve Görüntü Analizi API'sini kullanarak bunu çağırabilirsiniz.
Hızlı başlangıcı izleyerek model özelleştirmesini hızlı ve kolay bir şekilde uygulayın:
Önemli
Özel Görüntü İşleme hizmetini veya model özelleştirmesi ile Görüntü Analizi 4.0 hizmetini kullanarak özel bir modeli eğitebilirsiniz. Aşağıdaki tablo iki hizmeti karşılaştırır.
Alanlar | Özel Görüntü İşleme hizmeti | Görüntü Analizi 4.0 hizmeti | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Görevler | Görüntü sınıflandırma Nesne algılama |
Görüntü sınıflandırma Nesne algılama |
||||||||||||||||||||||||||||||||||||
Temel model | CNN | Transformatör modeli | ||||||||||||||||||||||||||||||||||||
Etiketleme | Customvision.ai | AML Studio | ||||||||||||||||||||||||||||||||||||
Web Portalı | Customvision.ai | Vision Studio | ||||||||||||||||||||||||||||||||||||
Kitaplıklar | REST, SDK | REST, Python Örneği | ||||||||||||||||||||||||||||||||||||
Gereken en düşük eğitim verileri | Kategori başına 15 resim | Kategori başına 2-5 resim | ||||||||||||||||||||||||||||||||||||
Eğitim verileri depolama | Hizmete yüklendi | Müşterinin blob depolama hesabı | ||||||||||||||||||||||||||||||||||||
Model barındırma | Bulut ve uç | Yalnızca bulut barındırma, uç kapsayıcı barındırma geliyor | ||||||||||||||||||||||||||||||||||||
Yapay zeka kalitesi |
|
|
||||||||||||||||||||||||||||||||||||
Fiyatlandırma | Özel Görüntü İşleme fiyatlandırması | Görüntü Analizi fiyatlandırması |
Senaryo bileşenleri
Model özelleştirme sisteminin ana bileşenleri eğitim görüntüleri, COCO dosyası, veri kümesi nesnesi ve model nesnesidir.
Eğitim görüntüleri
Eğitim görüntüleri kümeniz, algılamak istediğiniz etiketlerin her birine ilişkin birkaç örnek içermelidir. Modelinizi eğitildikten sonra test etmek için birkaç ek görüntü de toplamak isteyeceksiniz. Görüntülerin model tarafından erişilebilir olması için bir Azure Depolama kapsayıcısında depolanması gerekir.
Modelinizi etkili bir şekilde eğitmek için görsel çeşitliliği olan görüntüleri kullanın. Farklı görüntüler seçin:
- kamera açısı
- Aydınlatma
- arka plan
- görsel stili
- bireysel/gruplandırılmış konular
- size
- Tür
Ayrıca tüm eğitim görüntülerinizin aşağıdaki ölçütlere uygun olduğundan emin olun:
- Resim JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF veya MPO biçiminde gösterilmelidir.
- Görüntünün dosya boyutu 20 megabayttan (MB) küçük olmalıdır.
- Görüntünün boyutları 50 x 50 pikselden büyük ve 16.000 x 16.000 pikselden küçük olmalıdır.
COCO dosyası
COCO dosyası tüm eğitim görüntülerine başvurur ve bunları etiketleme bilgileriyle ilişkilendirir. Nesne algılama durumunda, her görüntüdeki her etiketin sınırlayıcı kutu koordinatlarını belirtti. Bu dosya, belirli bir JSON dosyası türü olan COCO biçiminde olmalıdır. COCO dosyası, eğitim görüntüleriyle aynı Azure Depolama kapsayıcısında depolanmalıdır.
İpucu
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.
Veri kümesi nesnesi
Dataset nesnesi, görüntü çözümleme hizmeti tarafından depolanan ve ilişkilendirme dosyasına başvuran bir veri yapısıdır. Model oluşturup eğitebilmek için önce bir Dataset nesnesi oluşturmanız gerekir.
Model nesnesi
Model nesnesi, Görüntü Analizi hizmeti tarafından depolanan ve özel bir modeli temsil eden bir veri yapısıdır. İlk eğitimin yapılabilmesi için veri kümesiyle ilişkilendirilmesi gerekir. Eğitildikten sonra, Görüntü Analizi API'sinin sorgu parametresine model-name
adını girerek modelinizi sorgulayabilirsiniz.
Kota sınırları
Aşağıdaki tabloda özel model projelerinizin ölçeğindeki sınırlar açıklanmaktadır.
Kategori | Genel görüntü sınıflandırıcısı | Genel nesne algılayıcısı |
---|---|---|
Maksimum # eğitim saatleri | 288 (12 gün) | 288 (12 gün) |
Max # eğitim görüntüleri | 1.000.000 | 200,000 |
Maksimum # değerlendirme görüntüleri | 100.000 | 100.000 |
Kategori başına en az # eğitim görüntüsü | 2 | 2 |
Resim başına en fazla # etiketi | 1 | Yok |
Görüntü başına en fazla # bölge | Yok | 1.000 |
En fazla # kategorileri | 2.500 | 1.000 |
En az # kategorileri | 2 | 1 |
En büyük görüntü boyutu (Eğitim) | 20 MB | 20 MB |
En büyük görüntü boyutu (Tahmin) | Eşitleme: 6 MB, Toplu İş: 20 MB | Eşitleme: 6 MB, Toplu İş: 20 MB |
Maksimum görüntü genişliği/yüksekliği (Eğitim) | 10,240 | 10,240 |
En düşük görüntü genişliği/yüksekliği (Tahmin) | 50 | 50 |
Kullanılabilen bölgeler | Batı ABD 2, Doğu ABD, Batı Avrupa | Batı ABD 2, Doğu ABD, Batı Avrupa |
Kabul edilen görüntü türleri | jpg, png, bmp, gif, jpeg | jpg, png, bmp, gif, jpeg |
Sık sorulan sorular
Blob depolamadan içeri aktarırken COCO dosyası içeri aktarma işlemim neden başarısız oluyor?
Ş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.
Eğitim neden belirtilen bütçemden daha uzun/kısa sürer?
Belirtilen eğitim bütçesi, duvar saati saati değil, kalibre edilmiş işlem zamanıdır. Farkın bazı yaygın nedenleri listelenir:
Belirtilen bütçeden uzun:
- Görüntü Analizi yüksek eğitim trafiği yaşar ve GPU kaynakları sıkı olabilir. İşiniz kuyrukta bekleyebilir veya eğitim sırasında beklemeye alınabilir.
- Arka uç eğitim işlemi beklenmeyen hatalarla karşılaştı ve bu da mantığın yeniden denenmesine neden oldu. Başarısız çalıştırmalar bütçenizi tüketmez, ancak bu genel olarak daha uzun eğitim süresine yol açabilir.
- Verileriniz Görüntü İşleme kaynağınızdan farklı bir bölgede depolanır ve bu da daha uzun veri aktarım süresine yol açar.
Belirtilen bütçeden daha kısa: Aşağıdaki faktörler, belirli duvar saati zamanında daha fazla bütçe kullanmanın maliyetine göre eğitimi hızlandırır.
- Görüntü Analizi bazen verilerinize bağlı olarak birden çok GPU ile eğitebilir.
- Görüntü Analizi bazen birden çok GPU üzerinde aynı anda birden fazla keşif denemesi eğitebilir.
- Görüntü Analizi bazen eğitmek için premier (daha hızlı) GPU SKU'ları kullanır.
Eğitimim neden başarısız oluyor ve ne yapmalıyım?
Eğitim hatasının bazı yaygın nedenleri şunlardır:
diverged
: Eğitim verilerinizden anlamlı şeyler öğrenemez. Bazı yaygın nedenler şunlardır:- Veriler yeterli değil: daha fazla veri sağlamak yardımcı olmalıdır.
- Veriler düşük kalitede: Görüntülerinizin düşük çözünürlükte olup olmadığını, en boy oranlarının yüksek olup olmadığını veya ek açıklamaların yanlış olup olmadığını denetleyin.
notEnoughBudget
: Belirttiğiniz bütçe, eğittiğiniz veri kümesi ve model türünün boyutu için yeterli değildir. Daha büyük bir bütçe belirtin.datasetCorrupt
: Bu genellikle sağlanan resimlerinizin erişilebilir olmadığını veya ek açıklama dosyasının yanlış biçimde olduğu anlamına gelir.datasetNotFound
: veri kümesi bulunamıyorunknown
: Bu bir arka uç sorunu olabilir. Araştırma için destek almak için ulaşın.
Modelleri değerlendirmek için hangi ölçümler kullanılır?
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
Veri kümesi kaydım neden başarısız oluyor?
API yanıtları yeterince bilgilendirici olmalıdır. Bunlar:
DatasetAlreadyExists
: Aynı ada sahip bir veri kümesi varDatasetInvalidAnnotationUri
: "Veri kümesi kayıt zamanında ek açıklama URI'leri arasında geçersiz bir URI sağlandı.
Makul/iyi/en iyi model kalitesi için kaç resim gerekir?
Floransa modelleri çok az çekim özelliğine (sınırlı veri kullanılabilirliği altında harika model performansı elde etme) sahip olsa da, genel olarak daha fazla veri eğitilmiş modelinizi daha iyi ve daha sağlam hale getirir. Bazı senaryolar çok az veri gerektirir (bir elmanın muzla sınıflandırılması gibi), diğerleri ise daha fazlasını gerektirir (yağmur ormanlarında 200 böcek türünü algılamak gibi). Bu, tek bir öneri vermeyi zorlaştırır.
Veri etiketleme bütçeniz kısıtlanmışsa, önerilen iş akışımız aşağıdaki adımları yinelemektir:
Görüntüleri toplamanın kolay olduğu
N
sınıf başına görüntü toplamaN
(örneğin,N=3
)Modeli eğitin ve değerlendirme kümenizde test edin.
Model performansı şu şekildeyse:
- Yeterince iyi (performans, daha az veri toplanmış önceki denemenize yakın bir şekilde beklentilerinizden veya performansınızdan daha iyidir): Burada durun ve bu modeli kullanın.
- İyi değil (performans hala beklentilerinizin altında veya makul bir marjda toplanan daha az veri içeren önceki denemenizden daha iyi):
- Her sınıf için daha fazla resim toplayın (sizin için kolay bir sayı) ve 2. Adım'a geri dönün.
- Birkaç yinelemeden sonra performansın daha fazla iyileşmediğini fark ederseniz, bunun nedeni şu olabilir:
- bu sorun iyi tanımlanmamış veya çok zor. Büyük/küçük harf analizi için bize ulaşın.
- eğitim verileri düşük kaliteli olabilir: Yanlış ek açıklamalar veya çok düşük piksel görüntüleri olup olmadığını denetleyin.
Ne kadar eğitim bütçesi belirtmeliyim?
Kullanmak istediğiniz bütçenin üst sınırını belirtmeniz gerekir. Görüntü Analizi, kullanım örneğine en uygun modeli bulmak üzere farklı modelleri ve eğitim tariflerini denemek için arka uçta bir AutoML sistemi kullanır. Ne kadar fazla bütçe verilirse, daha iyi bir model bulma şansı o kadar yüksek olur.
AutoML sistemi, kalan bütçeler olsa bile daha fazlasını denemeye gerek olmadığı sonucuna varırsa otomatik olarak durdurulur. Bu nedenle, her zaman belirtilen bütçenizi tüketmez. Belirtilen bütçeniz üzerinden faturalandırılmaması garanti edilir.
Hiper parametreleri denetleyebiliyor veya eğitimde kendi modellerimi kullanabilir miyim?
Hayır, Görüntü Analizi modeli özelleştirme hizmeti arka uçta hyper-param arama ve temel model seçimini işleyen düşük kodlu bir AutoML eğitim sistemi kullanır.
Eğitimden sonra modelimi dışarı aktarabilir miyim?
Tahmin API'si yalnızca bulut hizmeti aracılığıyla desteklenir.
Nesne algılama modelim için değerlendirme neden başarısız oluyor?
Olası nedenler aşağıdadır:
internalServerError
: Bilinmeyen bir hata oluştu. Lütfen daha sonra yeniden deneyin.modelNotFound
: Belirtilen model bulunamadı.datasetNotFound
: Belirtilen veri kümesi bulunamadı.datasetAnnotationsInvalid
: Test veri kümesiyle ilişkili temel gerçek ek açıklamalarını indirmeye veya ayrıştırmaya çalışırken bir hata oluştu.datasetEmpty
: Test veri kümesinde herhangi bir "temel gerçek" ek açıklaması yoktu.
Özel modellerle tahminler için beklenen gecikme süresi nedir?
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 Azure AI Vision 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.
Veri gizliliği ve güvenliği
Tüm Azure yapay zeka hizmetlerinde olduğu gibi Görüntü Analizi modeli özelleştirmesini kullanan geliştiriciler de Microsoft'un müşteri verilerine yönelik ilkelerinin farkında olmalıdır. Daha fazla bilgi edinmek için Microsoft Güven Merkezi'nin Azure AI hizmetleri sayfasına bakın.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin