Bangun Model AI Offline yang Mendeteksi Tahap Retinopati Diabetik dengan Edge Impulse
Sebuah alat medis portabel yang mampu mengidentifikasi dengan akurat tahap retinopati diabetik tanpa koneksi internet dapat secara dramatis mengurangi kekacauan di seluruh dunia. Dengan pembelajaran mesin terintegrasi, algoritma yang berjalan langsung pada hardware baterai kini layak. Artikel ini memandu Anda melalui langkah-langkah untuk melatih model tersebut menggunakan platform Edge Impulse.
Retinopati diabetik merusak pembuluh darah di bagian belakang mata, seringkali berkembang menjadi kebutaan jika tidak diobati. Lebih dari dua dari lima orang Amerika dengan diabetes memiliki bentuk penyakit ini, sehingga deteksi dini sangat penting. Di daerah pedesaan di mana perawatan mata langka, bahkan kasus ringan sering terlewat sampai menjadi parah.
Untuk mengatasi ini, kami memanfaatkan data set yang tersedia untuk melatih model yang dapat menilai keparahan DR dari gambar kamera retina. Data set dibagi menjadi lima kelas:
Tanpa DR
DR Ringan
DR Sedang
DR Parah
DR Proliferatif
Pengidentifikasi pasien diganti dengan id_code dan skor diagnosis dari 0 (Tanpa DR) hingga 5 (DR Proliferatif). Tautan data set.
Karena gambar disimpan dalam struktur datar, saya menulis skrip VBA untuk membaca daftar Excel id_code, menemukan setiap gambar, dan memindahkannya ke dalam folder kelas yang sesuai. Skrip tersedia di sini. Jika Anda lebih suka Python atau bahasa lain, otomatisasi yang mirip cukup sederhana.
Edge Impulse menyederhanakan ingesti melalui antarmuka unggah data. Saya melakukan lima unggahan terpisah—satu per kelas—dengan melabeli setiap folder dengan benar. Platform juga menawarkan integrasi bucket cloud dan koleksi perangkat, tetapi unggah manual paling cocok untuk data set kami.
Edge Impulse secara otomatis membagi data 80/20 ke dalam set pelatihan dan pengujian, tetapi saya menambahkan sekitar 500 gambar secara manual ke dalam set pengujian untuk menyeimbangkan kelas lebih baik.
Untuk model, saya memilih blok gambar dan menerapkan arsitektur transfer-learning untuk mengklasifikasikan lima tahap DR. Pelatihan awal menghasilkan akurasi terbaik sekitar 74%, yang cukup baik tetapi menyoroti klasifikasi salah—terutama antara DR parah dan ringan. Matriks kebingungan (ditunjukkan di bawah) menggambarkan tantangan ini.
Dalam penerapan dunia nyata, kamera retina portabel akan menangkap gambar, menjalankan model secara lokal, dan segera memberitahu dokter apakah pasien memerlukan perawatan lanjutan. Prioritas adalah untuk mendeteksi semua tahap DR, jadi akurasi saat ini dapat diterima untuk alat saringan.
Peningkatan yang mungkin meliputi:
Memperoleh lebih banyak data yang diberi label untuk mengurangi variansi.
Menggabungkan kelas yang berdekatan (misalnya, ringan-sedang, parah-proliferatif) untuk menyederhanakan batas keputusan.
Menyesuaikan jumlah lapisan jaringan saraf neural dan tingkat dropout.
Model akhir menempati 306 kB flash dan 236 kB RAM. Pada Cortex-M4 80 MHz waktu inferensi berkisar dari 0,8 s hingga 6 s, sedangkan Cortex-M7 216 MHz lebih cepat—menjadikannya cocok untuk perangkat genggam yang menangkap gambar secara langsung.
Ringkasnya, kami telah menunjukkan bahwa data set sumber terbuka dapat melatih model edge yang efektif untuk deteksi retinopati diabetik. Penerapan model tersebut pada mikrokontroler terintegrasi atau perangkat Linux ringan dapat membawa saringan yang andal kepada komunitas terpencil atau kurang terlayani, mengatasi hambatan konektivitas.
Detail selanjutnya dan pekerjaan masa depan tersedia di sini.