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
contextKlasifikasi
gambar(akurasi 1 teratas, 22 himpunan data)
Deteksi
objek(mAP@50, 59 himpunan data)
2 bidikan51.4733.3
3 bidikan56.7337.0
5 bidikan63.0143,4
10 tembakan68.9554.0
full85.2576.6
contextKlasifikasi
gambar(akurasi 1 teratas, 22 himpunan data)
Deteksi
objek(mAP@50, 59 himpunan data)
2 bidikan73.0249.2
3 bidikan75.5161,1
5 bidikan79.1468.2
10 tembakan81.3175,0
full90.9885.4
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:

absolute url

"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 bboxketiga 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 ditemukan
  • unknown: 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 ada
  • DatasetInvalidAnnotationUri: "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:

  1. Kumpulkan N gambar per kelas, di mana N gambar mudah anda kumpulkan (misalnya, N=3)

  2. Latih model dan uji pada set evaluasi Anda.

  3. 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.

Langkah berikutnya

Membuat dan melatih model kustom