Kustomisasi model (pratinjau versi 4.0)
Kustomisasi model memungkinkan Anda melatih model Analisis Gambar khusus untuk kasus penggunaan Anda sendiri. Model kustom dapat melakukan klasifikasi gambar (tag berlaku untuk seluruh gambar) atau deteksi objek (tag berlaku untuk area gambar tertentu). Setelah model kustom Anda dibuat dan dilatih, model tersebut milik sumber daya Vision Anda, dan Anda dapat memanggilnya menggunakan Analyze Image API.
Terapkan kustomisasi model dengan cepat dan mudah dengan mengikuti mulai cepat:
Penting
Anda dapat melatih model kustom menggunakan layanan Custom Vision atau layanan Image Analysis 4.0 dengan kustomisasi model. Tabel berikut membandingkan dua layanan.
Daerah | Layanan Custom Vision | Layanan Analisis Gambar 4.0 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tugas | Deteksi objek klasifikasi gambar |
Deteksi objek klasifikasi gambar |
||||||||||||||||||||||||||||||||||||
Model dasar | CNN | Model transformator | ||||||||||||||||||||||||||||||||||||
Pemberian label | Customvision.ai | AML Studio | ||||||||||||||||||||||||||||||||||||
Web Portal | Customvision.ai | Vision Studio | ||||||||||||||||||||||||||||||||||||
Pustaka | REST, SDK | REST, Sampel Python | ||||||||||||||||||||||||||||||||||||
Data pelatihan minimum yang diperlukan | 15 gambar per kategori | 2-5 gambar per kategori | ||||||||||||||||||||||||||||||||||||
Penyimpanan data pelatihan | Diunggah ke layanan | Akun penyimpanan blob pelanggan | ||||||||||||||||||||||||||||||||||||
Hosting model | Cloud dan tepi | Hanya hosting cloud, hosting kontainer tepi yang akan datang | ||||||||||||||||||||||||||||||||||||
Kualitas AI |
|
|
||||||||||||||||||||||||||||||||||||
Harga | Harga Custom Vision | Harga Analisis Gambar |
Komponen skenario
Komponen utama dari sistem kustomisasi model adalah gambar pelatihan, file COCO, objek himpunan data, dan objek model.
Gambar pelatihan
Sekumpulan gambar pelatihan Anda harus menyertakan beberapa contoh masing-masing label yang ingin Anda deteksi. Anda juga ingin mengumpulkan beberapa gambar tambahan untuk menguji model Anda setelah dilatih. Gambar perlu disimpan dalam kontainer Azure Storage agar dapat diakses oleh model.
Untuk melatih model Anda secara efektif, gunakan gambar dengan variasi visual. Pilih gambar yang bervariasi menurut:
- sudut kamera
- pencahayaan
- latar belakang
- gaya visual
- subjek individu/kelompok
- size
- jenis
Selain itu, pastikan semua gambar latihan Anda memenuhi kriteria berikut:
- Gambar harus disajikan dalam format JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF, atau MPO.
- Ukuran file gambar harus kurang dari 20 megabyte (MB).
- Dimensi gambar harus lebih besar dari 50 x 50 piksel dan kurang dari 16.000 x 16.000 piksel.
File COCO
File COCO mereferensikan semua gambar pelatihan dan mengaitkannya dengan informasi pelabelan mereka. Dalam kasus deteksi objek, itu menentukan koordinat kotak pembatas dari setiap tag pada setiap gambar. File ini harus dalam format COCO, yang merupakan jenis file JSON tertentu. File COCO harus disimpan dalam kontainer Azure Storage yang sama dengan gambar pelatihan.
Tip
Tentang file COCO
File COCO adalah file JSON dengan bidang tertentu yang diperlukan: "images"
, "annotations"
, dan "categories"
. Contoh file COCO akan terlihat seperti ini:
{
"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"
},
...
]
}
Referensi bidang file COCO
Jika Anda membuat file COCO Anda sendiri dari awal, pastikan semua bidang yang diperlukan diisi dengan detail yang benar. Tabel berikut ini menjelaskan setiap bidang dalam file COCO:
"gambar"
Tombol | Jenis | Deskripsi | Wajib diisi? |
---|---|---|---|
id |
Integer | ID gambar unik, mulai dari 1 | Ya |
width |
Integer | Lebar gambar dalam piksel | Ya |
height |
Integer | Tinggi gambar dalam piksel | Ya |
file_name |
string | Nama unik untuk gambar | Ya |
absolute_url atau coco_url |
string | Jalur gambar sebagai URI absolut ke blob dalam kontainer blob. Sumber daya Visi harus memiliki izin untuk membaca file anotasi dan semua file gambar yang dirujuk. | Ya |
Nilai untuk absolute_url
dapat ditemukan di properti kontainer blob Anda:
"Anotasi"
Tombol | Jenis | Deskripsi | Wajib diisi? |
---|---|---|---|
id |
Integer | ID anotasi | Ya |
category_id |
Integer | ID kategori yang ditentukan di bagian categories |
Ya |
image_id |
Integer | ID gambar | Ya |
area |
Integer | Nilai 'Lebar' x 'Tinggi' (nilai bbox ketiga dan keempat ) |
No |
bbox |
list[float] | Koordinat relatif dari kotak pembatas (0 hingga 1), dalam urutan 'Kiri', 'Atas', 'Lebar', 'Tinggi' | Ya |
"kategori"
Tombol | Jenis | Deskripsi | Wajib diisi? |
---|---|---|---|
id |
Integer | ID unik untuk setiap kategori (kelas label). Ini harus ada di bagian .annotations |
Ya |
name |
string | Nama kategori (kelas label) | Ya |
Verifikasi file COCO
Anda dapat menggunakan kode sampel Python kami untuk memeriksa format file COCO.
Objek himpunan data
Objek Himpunan Data adalah struktur data yang disimpan oleh layanan Analisis Gambar yang mereferensikan file asosiasi. Anda perlu membuat objek Himpunan Data sebelum dapat membuat dan melatih model.
Objek model
Objek Model adalah struktur data yang disimpan oleh layanan Analisis Gambar yang mewakili model kustom. Ini harus dikaitkan dengan Himpunan Data untuk melakukan pelatihan awal. Setelah dilatih, Anda dapat mengkueri model dengan memasukkan namanya di model-name
parameter kueri panggilan Analyze Image API.
Batas kuota
Tabel berikut menjelaskan batasan pada skala proyek model kustom Anda.
Category | Penggolak gambar generik | Detektor objek generik |
---|---|---|
Maks # jam pelatihan | 288 (12 hari) | 288 (12 hari) |
Gambar pelatihan # maks | 1\.000.000 | 200.000 |
Gambar evaluasi # maks | 100.000 | 100.000 |
Gambar pelatihan min # per kategori | 2 | 2 |
Maks # tag per gambar | multikelas: 1 | NA |
Maks # wilayah per gambar | NA | 1,000 |
Kategori # maks | 2.500 | 1,000 |
Kategori Min # | 2 | 1 |
Ukuran gambar maks (Pelatihan) | 20 MB | 20 MB |
Ukuran gambar maks (Prediksi) | Sinkronisasi: 6 MB, Batch: 20 MB | Sinkronisasi: 6 MB, Batch: 20 MB |
Lebar/tinggi gambar maks (Pelatihan) | 10,240 | 10,240 |
Lebar/tinggi gambar min (Prediksi) | 50 | 50 |
Wilayah yang telah tersedia | US Barat 2, US Timur, Eropa Barat | US Barat 2, US Timur, Eropa Barat |
Tipe gambar yang diterima | jpg, png, bmp, gif, jpeg | jpg, png, bmp, gif, jpeg |
Pertanyaan yang Sering Ditanyakan
Mengapa impor file COCO saya gagal saat mengimpor dari penyimpanan blob?
Saat ini, Microsoft mengatasi masalah yang menyebabkan impor file COCO gagal dengan himpunan data besar saat dimulai di Vision Studio. Untuk melatih menggunakan himpunan data besar, disarankan untuk menggunakan REST API sebagai gantinya.
Mengapa pelatihan memakan waktu lebih lama/lebih pendek dari anggaran yang saya tentukan?
Anggaran pelatihan yang ditentukan adalah waktu komputasi yang dikalibrasi, bukan waktu jam dinding. Beberapa alasan umum untuk perbedaan tercantum:
Anggaran yang lebih panjang dari yang ditentukan:
- Analisis Gambar mengalami lalu lintas pelatihan yang tinggi, dan sumber daya GPU mungkin ketat. Pekerjaan Anda mungkin menunggu dalam antrean atau ditunda selama pelatihan.
- Proses pelatihan backend mengalami kegagalan tak terduga, yang mengakibatkan logika coba lagi. Eksekusi yang gagal tidak menggunakan anggaran Anda, tetapi ini dapat menyebabkan waktu pelatihan yang lebih lama secara umum.
- Data Anda disimpan di wilayah yang berbeda dari sumber daya Visi Anda, yang akan menyebabkan waktu transmisi data yang lebih lama.
Lebih pendek dari anggaran yang ditentukan: Faktor-faktor berikut mempercepat pelatihan dengan biaya menggunakan lebih banyak anggaran dalam waktu jam dinding tertentu.
- Analisis Gambar terkadang berlatih dengan beberapa GPU tergantung pada data Anda.
- Analisis Gambar terkadang melatih beberapa uji coba eksplorasi pada beberapa GPU secara bersamaan.
- Analisis Gambar terkadang menggunakan SKU GPU premier (lebih cepat) untuk melatih.
Mengapa pelatihan saya gagal dan apa yang harus saya lakukan?
Berikut ini adalah beberapa alasan umum untuk kegagalan pelatihan:
diverged
: Pelatihan tidak dapat mempelajari hal-hal yang bermakna dari data Anda. Beberapa penyebab umumnya adalah:- Data tidak cukup: menyediakan lebih banyak data akan membantu.
- Data berkualitas buruk: periksa apakah gambar Anda beresolusi rendah, rasio aspek ekstrem, atau jika anotasi salah.
notEnoughBudget
: Anggaran yang Anda tentukan tidak cukup untuk ukuran himpunan data dan jenis model yang Anda latih. Tentukan anggaran yang lebih besar.datasetCorrupt
: Biasanya ini berarti gambar yang Anda berikan tidak dapat diakses atau file anotasi dalam format yang salah.datasetNotFound
: himpunan data tidak dapat ditemukanunknown
: Ini bisa menjadi masalah backend. Hubungi dukungan untuk penyelidikan.
Metrik apa yang digunakan untuk mengevaluasi model?
Metrik berikut digunakan:
- Klasifikasi gambar: Presisi Rata-rata, Akurasi 1 Teratas, Akurasi 5 Teratas
- Deteksi objek: Rata-rata Presisi @ 30, Rata-rata Presisi Rata-Rata @ 50, Rata-Rata Presisi @ 75
Mengapa pendaftaran himpunan data saya gagal?
Respons API harus cukup informatif. Yaitu:
DatasetAlreadyExists
: Himpunan data dengan nama yang sama adaDatasetInvalidAnnotationUri
: "URI yang tidak valid disediakan di antara URI anotasi pada waktu pendaftaran himpunan data.
Berapa banyak gambar yang diperlukan untuk kualitas model yang wajar/baik/terbaik?
Meskipun model Florence memiliki kemampuan beberapa bidikan yang hebat (mencapai performa model yang hebat di bawah ketersediaan data terbatas), secara umum lebih banyak data membuat model terlatih Anda lebih baik dan lebih kuat. Beberapa skenario membutuhkan sedikit data (seperti mengklasifikasikan apel terhadap pisang), tetapi yang lain membutuhkan lebih banyak (seperti mendeteksi 200 jenis serangga di hutan hujan). Ini membuatnya sulit untuk memberikan satu rekomendasi.
Jika anggaran pelabelan data Anda dibatasi, alur kerja yang direkomendasikan adalah mengulangi langkah-langkah berikut:
Kumpulkan
N
gambar per kelas, di manaN
gambar mudah anda kumpulkan (misalnya,N=3
)Latih model dan uji pada set evaluasi Anda.
Jika performa model adalah:
- Cukup baik (performa lebih baik daripada ekspektasi atau performa Anda yang dekat dengan eksperimen Anda sebelumnya dengan lebih sedikit data yang dikumpulkan): Berhenti di sini dan gunakan model ini.
- Tidak baik (performa masih di bawah harapan Anda atau lebih baik daripada eksperimen Anda sebelumnya dengan lebih sedikit data yang dikumpulkan pada margin yang wajar):
- Kumpulkan lebih banyak gambar untuk setiap kelas—angka yang mudah anda kumpulkan—dan kembali ke Langkah 2.
- Jika Anda melihat performa tidak membaik lagi setelah beberapa iterasi, itu bisa karena:
- masalah ini tidak didefinisikan dengan baik atau terlalu sulit. Hubungi kami untuk analisis kasus per kasus.
- data pelatihan mungkin berkualitas rendah: periksa apakah ada anotasi yang salah atau gambar piksel yang sangat rendah.
Berapa banyak anggaran pelatihan yang harus saya tentukan?
Anda harus menentukan batas atas anggaran yang ingin Anda konsumsi. Analisis Gambar menggunakan sistem AutoML di backend-nya untuk mencoba berbagai model dan resep pelatihan untuk menemukan model terbaik untuk kasus penggunaan Anda. Semakin banyak anggaran yang diberikan, semakin tinggi peluang untuk menemukan model yang lebih baik.
Sistem AutoML juga berhenti secara otomatis jika menyimpulkan tidak perlu mencoba lebih banyak, bahkan jika masih ada sisa anggaran. Jadi, itu tidak selalu menghabiskan anggaran yang Anda tentukan. Anda dijamin tidak akan ditagih atas anggaran yang ditentukan.
Dapatkah saya mengontrol hyper-parameter atau menggunakan model saya sendiri dalam pelatihan?
Tidak, layanan kustomisasi model Analisis Gambar menggunakan sistem pelatihan AutoML kode rendah yang menangani pencarian hyper-param dan pemilihan model dasar di backend.
Dapatkah saya mengekspor model saya setelah pelatihan?
API prediksi hanya didukung melalui layanan cloud.
Mengapa evaluasi gagal untuk model deteksi objek saya?
Di bawah ini adalah kemungkinan alasannya:
internalServerError
: Terjadi kesalahan yang tidak diketahui. Coba lagi nanti.modelNotFound
: Model yang ditentukan tidak ditemukan.datasetNotFound
: Himpunan data yang ditentukan tidak ditemukan.datasetAnnotationsInvalid
: Terjadi kesalahan saat mencoba mengunduh atau mengurai anotasi kebenaran dasar yang terkait dengan himpunan data pengujian.datasetEmpty
: Himpunan data pengujian tidak berisi anotasi "kebenaran dasar".
Apa latensi yang diharapkan untuk prediksi dengan model kustom?
Kami tidak menyarankan Anda menggunakan model kustom untuk lingkungan penting bisnis karena potensi latensi tinggi. Saat pelanggan melatih model kustom di Vision Studio, model kustom tersebut milik sumber daya Azure AI Vision yang dilatih, dan pelanggan dapat melakukan panggilan ke model tersebut menggunakan Analyze Image API. Ketika mereka melakukan panggilan ini, model kustom dimuat dalam memori, dan infrastruktur prediksi diinisialisasi. Meskipun ini terjadi, pelanggan mungkin mengalami latensi yang lebih lama dari yang diharapkan untuk menerima hasil prediksi.
Privasi dan keamanan data
Seperti semua layanan Azure AI, pengembang yang menggunakan kustomisasi model Analisis Gambar harus mengetahui kebijakan Microsoft tentang data pelanggan. Lihat halaman layanan Azure AI di Pusat Kepercayaan Microsoft untuk mempelajari selengkapnya.