Cara meningkatkan model Custom Vision Anda

Dalam panduan ini, Anda akan mempelajari cara meningkatkan kualitas model Custom Vision Anda. Kualitas pengklasifikasi atau detektor objek Anda tergantung pada jumlah, kualitas, dan variasi data berlabel yang Anda berikan dan seberapa seimbang himpunan data keseluruhan. Model yang baik memiliki himpunan data pelatihan seimbang yang mewakili apa yang akan dikirimkan kepadanya. Proses pembuatan model seperti itu bersifat iteratif; umum untuk mengambil beberapa putaran pelatihan untuk mencapai hasil yang diharapkan.

Berikut adalah pola umum untuk membantu Anda melatih model yang lebih akurat:

  1. Pelatihan putaran pertama
  2. Menambahkan lebih banyak gambar dan menyeimbangkan data; melatih ulang
  3. Menambahkan gambar dengan berbagai latar belakang, pencahayaan, ukuran objek, sudut kamera, dan gaya; melatih ulang
  4. Menggunakan gambar baru untuk menguji prediksi
  5. Memodifikasi data pelatihan yang ada sesuai dengan hasil prediksi

Mencegah overfitting

Terkadang, model akan belajar untuk membuat prediksi berdasarkan karakteristik arbitrer yang memiliki kesamaan pada gambar Anda. Misalnya, jika Anda membuat pengklasifikasi untuk apel vs. jeruk, dan Anda telah menggunakan gambar apel di tangan dan jeruk di piring putih, pengklasifikasi mungkin tidak terlalu mementingkan tangan vs. piring, daripada apel vs. jeruk.

Untuk memperbaiki masalah ini, berikan gambar dengan sudut, latar belakang, ukuran objek, grup, dan variasi lainnya yang berbeda. Bagian berikut memperluas konsep-konsep ini.

Kuantitas data

Jumlah gambar pelatihan adalah faktor terpenting untuk himpunan data Anda. Sebaiknya gunakan setidaknya 50 gambar per label sebagai titik awal. Dengan lebih sedikit gambar, ada risiko overfitting yang lebih tinggi, dan sementara angka performa Anda mungkin menunjukkan kualitas yang baik, model Anda mungkin kesulitan dengan data dunia nyata.

Keseimbangan data

Penting juga untuk mempertimbangkan jumlah relatif data pelatihan Anda. Misalnya, menggunakan 500 gambar untuk satu label dan 50 gambar untuk label lain membuat himpunan data pelatihan yang tidak seimbang. Ini akan menyebabkan model menjadi lebih akurat dalam memprediksi satu label daripada label lain. Anda mungkin melihat hasil yang lebih baik jika Anda mempertahankan setidaknya rasio 1:2 antara label dengan gambar terkecil dan label dengan gambar terbanyak. Misalnya, jika label dengan gambar terbanyak memiliki 500 gambar, label dengan gambar terkecil harus memiliki setidaknya 250 gambar untuk pelatihan.

Variasi data

Pastikan untuk menggunakan gambar yang mewakili apa yang akan dikirimkan ke pengklasifikasi selama penggunaan normal. Jika tidak, model Anda dapat mempelajari untuk membuat prediksi berdasarkan karakteristik arbitrer yang memiliki kesamaan pada gambar Anda. Misalnya, jika Anda membuat pengklasifikasi untuk apel vs. jeruk, dan Anda telah menggunakan gambar apel di tangan dan jeruk di piring putih, pengklasifikasi mungkin tidak terlalu mementingkan tangan vs. piring, daripada apel vs. jeruk.

Photo of fruits with unexpected matching.

Untuk memperbaiki masalah ini, sertakan berbagai gambar untuk memastikan bahwa model Anda dapat dibuat dengan baik. Di bawah ini adalah beberapa cara untuk membuat set pelatihan Anda lebih beragam:

  • Latar belakang: Berikan gambar objek Anda di depan latar belakang yang berbeda. Foto dalam konteks alami lebih baik daripada foto di depan latar belakang netral karena memberikan lebih banyak informasi untuk pengklasifikasi.

    Photo of background samples.

  • Pencahayaan: Berikan gambar dengan pencahayaan yang bervariasi (yaitu, diambil dengan lampu kilat, pencahayaan tinggi, dan sebagainya), terutama jika gambar yang digunakan untuk prediksi memiliki pencahayaan yang berbeda. Akan sangat membantu jika menggunakan gambar dengan saturasi, rona, dan kecerahan yang bervariasi.

    Photo of lighting samples.

  • Ukuran Obyek: Berikan gambar yang mana objek bervariasi dalam ukuran dan angka (misalnya, foto tandan pisang dan closeup pisang tunggal). Ukuran yang berbeda membantu pengklasifikasi membuat dengan lebih baik.

    Photo of size samples.

  • Sudut Kamera: Berikan gambar yang diambil dengan sudut kamera yang berbeda. Atau, jika semua foto Anda harus diambil dengan kamera tetap (seperti kamera pengintai), pastikan untuk menetapkan label yang berbeda untuk setiap objek yang sering muncul guna menghindari overfitting—menafsirkan objek yang tidak terkait (seperti tiang lampu) sebagai fitur utama.

    Photo of angle samples.

  • Gaya: Berikan gambar gaya yang berbeda dari kelas yang sama (misalnya, varietas yang berbeda dari buah yang sama). Namun, jika Anda memiliki objek dengan gaya yang berbeda secara drastis (seperti Mickey Mouse vs. tikus kehidupan nyata), kami sarankan Anda melabelinya sebagai kelas terpisah untuk lebih mewakili fitur mereka yang berbeda.

    Photo of style samples.

Gambar negatif (hanya pengklasifikasi)

Jika menggunakan pengklasifikasi gambar, Anda mungkin perlu menambahkan sampel negatif untuk membantu membuat pengklasifikasi Anda lebih akurat. Sampel negatif adalah gambar yang tidak cocok dengan tag lainnya. Saat Anda mengunggah gambar-gambar ini, terapkan label Negatif khusus kepadanya.

Detektor objek menangani sampel negatif secara otomatis, karena area gambar di luar kotak batas yang ditarik dianggap negatif.

Catatan

Layanan Custom Vision mendukung beberapa penanganan gambar negatif otomatis. Misalnya, jika Anda membuat pengklasifikasi anggur vs pisang dan mengirimkan gambar sepatu untuk prediksi, pengklasifikasi harus mencetak gambar tersebut sedekat mungkin dengan 0% untuk anggur dan pisang.

Di sisi lain, jika gambar negatif hanyalah variasi gambar yang digunakan dalam pelatihan, kemungkinan model akan mengklasifikasikan gambar negatif sebagai kelas berlabel karena kesamaan besar. Misalnya, jika Anda memiliki pengklasifikasi jeruk vs jeruk bali, dan Anda memberi umpan dalam gambar clementine, ini mungkin menandai clementine sebagai jeruk karena banyak fitur clementine menyerupai jeruk. Jika gambar negatif Anda bersifat seperti ini, kami sarankan Anda membuat satu atau beberapa tag tambahan (seperti Lainnya) dan memberi label gambar negatif dengan tag ini selama pelatihan untuk memungkinkan model membedakan antara kelas ini dengan lebih baik.

Oklusi dan pemotongan (hanya detektor objek)

Jika Anda ingin detektor objek mendeteksi objek terpotong (objek yang sebagian terpotong dari gambar) atau objek oklusi (objek yang sebagian terhalang oleh objek lain dalam gambar), Anda harus menyertakan gambar pelatihan yang mencakup kasus tersebut.

Catatan

Masalah objek yang terhalang oleh objek lain tidak sama dengan Ambang Tumpang Tindih, parameter untuk performa model peringkat. Pengalih Ambang Tumpang Tindih di situs web Custom Vision menangani berapa banyak kotak batas yang diprediksi harus tumpang tindih dengan kotak batas yang sebenarnya agar dianggap benar.

Menggunakan gambar prediksi untuk pelatihan lebih lanjut

Saat Anda menggunakan atau menguji model dengan mengirimkan gambar ke titik akhir prediksi, layanan Custom Vision menyimpan gambar tersebut. Anda kemudian dapat menggunakannya untuk meningkatkan model.

  1. Untuk melihat gambar yang dikirimkan ke model, buka halaman web Custom Vision, buka proyek Anda, dan pilih tab Prediksi. Tampilan default menunjukkan gambar dari iterasi saat ini. Anda dapat menggunakan menu drop-down Iterasi untuk melihat gambar yang dikirimkan selama iterasi sebelumnya.

    screenshot of the predictions tab, with images in view

  2. Arahkan mouse ke atas gambar untuk melihat tag yang diprediksi oleh model. Gambar diurutkan, sehingga gambar yang dapat memberikan penyempurnaan paling baik terhadap model akan berada di urutan teratas. Untuk menggunakan metode pengurutan yang berbeda, buat pilihan di bagian Urutkan.

    Untuk menambahkan gambar ke data pelatihan Anda yang sudah ada, pilih gambar, atur tag yang benar, dan klik Simpan dan tutup. Gambar akan dihapus dari Prediksi dan ditambahkan ke kumpulan gambar pelatihan. Anda dapat melihatnya dengan memilih tab Gambar Pelatihan.

    Screenshot of the tagging page.

  3. Kemudian gunakan tombol Latih untuk melatih kembali model.

Secara visual memeriksa prediksi

Untuk memeriksa prediksi gambar, buka tab Gambar Pelatihan, pilih iterasi pelatihan Anda sebelumnya di menu drop-down Iterasi, dan periksa satu atau beberapa tag di bawah bagian Tag. Tampilan sekarang akan menampilkan kotak merah di sekitar masing-masing gambar yang modelnya gagal memprediksi tag yang diberikan dengan benar.

Image of the iteration history

Terkadang, pemeriksaan visual dapat mengidentifikasi pola yang kemudian dapat Anda koreksi dengan menambahkan lebih banyak data pelatihan atau memodifikasi data pelatihan yang ada. Misalnya, pengklasifikasi untuk apel vs. lemon mungkin salah melabeli semua apel hijau sebagai lemon. Anda kemudian dapat memperbaiki masalah ini dengan menambahkan dan menyediakan data pelatihan yang berisi gambar dengan tag apel hijau.

Langkah berikutnya

Dalam panduan ini, Anda mempelajari beberapa teknik untuk membuat model klasifikasi gambar kustom atau model detektor objek Anda lebih akurat. Selanjutnya, pelajari cara menguji gambar secara terprogram dengan mengirimkannya ke Prediction API.