Professional Documents
Culture Documents
2setia.budi@it.maranatha.edu
Abstract —Diabetic retinopathy (DR) is eye diseases caused by memeriksa citra fundus retina secara seksama. Proses
diabetic mellitus or sugar diseases. If DR is detected in early pemeriksaan seperti ini cukup memakan waktu [3]. Belum
stages, the blindness that follows can be prevented. lagi perbandingan antara jumlah pasien potensial dan
Ophthalmologists or eye clinicians usually decide the stage of ketersediaan tenaga medis tidak seimbang, sehingga
DR from retinal fundus images. Careful examination of retinal
fundus images is a time-consuming task and requires
mendorong kebutuhan adanya sistem untuk membantu
experienced clinicians or ophthalmologists but a computer deteksi DR secara otomatis [2].
which has been trained to recognize the DR stages can diagnose Deteksi DR pada citra fundus retina dapat dibagi menjadi
and give results in real-time manner. One approach of dua tugas [2], 1) deteksi DR berdasarkan tingkat lesion dan
algorithms to train a computer to recognize an image is deep 2) deteksi DR berdasarkan tingkat citra. Deteksi pada tingkat
learning Convolutional Neural Network (CNN). CNN allows a lesion artinya mendeteksi gejala klinis pada citra fundus
computer to learn the features of an image, in our case is retinal retina, seperti tanda-tanda microaneurysm, hemorrhages,
fundus image, automatically. Preprocessing is usually done exudates, dan neovascular. Deteksi DR pada tingkat citra
before a CNN model is trained. In this study, four preprocessing artinya deteksi DR pada citra fundus retina untuk menilai
were carried out on “APTOS 2019 Blindness Detection” dataset.
Of the four preprocessing tested, preprocessing with Contrast
apakah terdapat tanda-tanda DR.
Limited Adaptive Histogram Equalization followed by unsharp Deteksi pada tingkat citra mengklasifikasikan citra fundus
masking on the green channel of the retinal fundus image give ke dalam dua kategori, yaitu normal atau memiliki tanda-
the best results with an accuracy of 78.79%, 82.97% precision, tanda DR. Citra fundus yang terdapat tanda-tanda DR dapat
74.64% recall, and 95.81% AUC. The CNN architecture used is dibagi ke dalam dua kelas berdasarkan tingkat keparahannya
Inception v3. 1) Non-Proliferative Diabetic Retinopathy (NPDR) dan 2)
Proliferative Diabetic Retinopathy (PDR). NPDR adalah
Keywords— classification; Convolutional Neural Network; tahap awal di mana diabetes mulai merusak pembuluh darah
Diabetic Retinopathy; Inception v3; transfer learning kecil pada retina, hal ini umum ditemui pada penderita
diabetes; di mana pembuluh darah mulai mengeluarkan
cairan dan darah yang menyebabkan retina bengkak. Seiring
I. PENDAHULUAN berjalannya waktu, pembengkakan atau edema dapat
Diabetic Retinopathy (DR) atau yang dikenal juga sebagai menebalkan retina yang menyebabkan pandangan kabur.
Diabetic Eye Disease adalah penyakit mata akibat komplikasi Fitur klinis pada tahap ini setidaknya terdapat satu
diabetes yang merusak retina dan dapat mengakibatkan microaneurysm atau hemorrhage baik tanpa atau dengan
kebutaan [1]. DR merupakan penyakit progresif yang akan exudates [2].
berkembang semakin parah seiring lamanya seorang pasien PDR adalah tahapan lanjut yang mengarah ke
menderita DR. Deteksi DR sejak dini sangat penting agar pertumbuhan pembuluh darah baru. PDR ditandai dengan
pasien mendapatkan perawatan untuk mengurangi penyebaran pembuluh darah abnormal di dalam retina
perkembangan DR dan mencegah kebutaan karena pada menuju rongga vitreous. Pembuluh darah baru ini bersifat
tahap tertentu DR tidak bisa disembuhkan lagi [2]. Diagnosis rapuh dan dapat mengakibatkan pendarahan pada rongga
pasien DR biasanya dilakukan oleh ophthalmologist dengan vitreous yang menyebabkan kebutaan. Terdapat beberapa
110
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
sistem untuk menilai tingkat keparahan DR, seperti American dataset baru (dataset citra fundus retina). Menurut Yosinski
Academy of Ophthalmology (AAO), Early Treatment of dan kawan-kawan [7], dan Nima Tajbakhsh dan kawan-
Diabetic Retinopathy Study (ETDRS), dan protokol penilaian kawan [5], pendekatan transfer learning cenderung
Scottish. Pada penelitian ini DR diklasifikasikan menjadi memberikan hasil yang lebih baik jika dibandingkan dengan
lima kelas yang mengacu pada protokol penilaian Scottish, pendekatan end to end learning.
yaitu tidak ada DR, DR ringan, DR sedang, DR parah, dan Sebelum model CNN di-training, biasanya akan dilakukan
PDR. Contoh citra fundus retina dengan tingkat DR yang preprocessing terhadap citra fundus retina untuk mengatasi
berbeda dapat dilihat pada Gambar 1. Gambar kiri-atas beberapa tantangan pada pengolahan citra digital seperti
dengan label DR-0 adalah citra fundus retina tidak ada DR, variasi skala, variasi iluminasi, atau gambar tidak fokus. Dari
atau citra fundus retina normal. Gambar kanan-bawah dengan tinjauan pustaka yang dilakukan, tidak banyak yang
label DR-4 adalah citra fundus retina PDR. membahas pengaruh preprocessing terhadap performa
model. Penelitian ini membandingkan pengaruh
preprocessing terhadap performa model diantaranya adalah
Maria A. Bravo [8] dan Chunyan Lian [9]. Dari tinjauan
pustaka juga dapat dilihat bahwa pendekatan transfer
learning lebih banyak digunakan jika dibandingkan dengan
end to end learning. Hal ini umum dilakukan karena
DR-0 DR-1 DR-2 keterbatasan jumlah citra untuk training model CNN menjadi
salah satu tantangan di bidang citra medis [5]. Namun fine
tuning pada pendekatan transfer learning tersebut tidak
membahas berapa banyak lapisan dari arsitektur CNN yang
perlu di-fine tuning. Salah satu penelitian yang
menyampaikan hal ini adalah penelitian yang dilakukan oleh
DR-3 DR-4 Saboora dan kawan-kawan [10]. Saboora melakukan fine
tuning sebanyak dua dan empat blok pada arsitektur
Gambar 1. Citra fundus retina dengan tingkat DR yang berbeda
Inception v3 dan Xception untuk klasifikasi biner citra fundus
Berbagai upaya dilakukan untuk mendeteksi dan retina.
mengklasifikasikan citra fundus retina dengan bantuan Sesuai dengan latar belakang yang disampaikan, maka
komputer atau Computer Aided Diagnosis (CAD) [2]. Salah penelitian ini menguji pengaruh preprocessing terhadap
satu pendekatan untuk mengklasifikasikan DR pada citra performa model dan menguji banyaknya blok Inception v3
fundus retina adalah dengan pendekatan deep learning yang perlu di-fine tuning. Tugas klasifikasi yang diberikan
Convolutional Neural Network (CNN). CNN berkembang adalah mengklasifikasikan citra fundus retina ke dalam lima
pesat dan banyak digunakan untuk tugas klasifikasi citra kelas. Sehingga terdapat dua pertanyaan yang dijawab pada
sejak kompetisi ImageNet pada tahun 2012 yang penelitian ini, yaitu:
dimenangkan oleh Alex Krizhevsky dan kawan-kawan [4]. • Apa pengaruh preprocessing terhadap hasil training
Mereka membawa revolusi CNN melalui penggunaan model dengan pendekatan transfer learning?
Graphics Processing Unit (GPU), Rectified Linear Units • Berapa banyak blok Inception v3 dari sebuah model
(ReLU), regularisasi dropout, dan augmentasi data yang yang di-training dengan pendekatan transfer learning
efektif [5]. perlu di-fine tuning?
Training model CNN dapat dilakukan dengan salah satu Diharapkan dari penelitian ini bisa memberikan jawaban
dari dua pendekatan, yaitu end to end learning atau transfer atas dua rumusan masalah diatas, yaitu:
learning. Training model dengan pendekatan end to end • Mengetahui pengaruh preprocessing yang diterapkan
learning memiliki tantangan sendiri [5], yaitu membutuhkan pada citra fundus retina terhadap performa model yang
jumlah data yang besar. Namun jumlah data yang besar tidak dihasilkan.
selalu dijumpai pada domain citra medis. Jika terdapat dataset • Mengetahui jumlah blok Inception v3 yang perlu di-
dalam jumlah yang besar, permasalahan berikutnya muncul, fine tuning ketika training model dengan pendekatan
yaitu kebutuhan akan sumber daya komputasi yang besar. transfer learning untuk tugas klasifikasi citra fundus
Selain itu, training model CNN juga sering kali sulit karena retina.
overfitting atau masalah konvergensi model sehingga
dibutuhkan penyesuaian hyperparameter model berulang Penelitian ini membangun model untuk
kali. mengklasifikasikan citra fundus retina menjadi lima kelas,
Salah satu pendekatan alternatif adalah training model mulai dari kelas tidak ada DR, DR ringan, DR sedang, DR
CNN dengan pendekatan transfer learning. Pendekatan parah, dan PDR dengan teknik CNN. Arsitektur CNN yang
transfer learning menggunakan model yang sudah di- dipakai adalah Inception v3 [11]. Dataset yang digunakan
training pada domain dataset tertentu (umumnya dataset adalah citra fundus retina yang diambil dari Kaggle.com [12].
ImageNet [6]) lalu disesuaikan (fine-tuned) pada domain Dataset ini merupakan dataset untuk kompetisi pada Kaggle
111
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
dengan judul “APTOS 2019 Blindness Detection”. Penelitian menghasilkan sejumlah lapisan data atau fitur yang di bagian
ini fokus untuk melihat pengaruh preprocessing terhadap akhir lapisan akan ditransformasi menjadi array satu
model yang dihasilkan dan melihat jumlah blok Inception v3 dimensi. Proses transformasi ini disebut dengan istilah
yang perlu di-fine tuning dengan pendekatan transfer flattening.
learning. Gambar 2 adalah contoh operasi CNN. CNN memiliki
Penelitian ini mengemukakan dua hipotesis sebagai sejumlah lapisan convolutional dan pooling yang
berikut: menghasilkan feature map sebelum tahap flattening dan
• Preprocessing yang tepat akan memberikan dampak masuk ke Neural Network untuk klasifikasi. Pada gambar
positif terhadap performa model. Dengan tersebut input adalah tensor dua dimensi 6 × 6 dan
preprocessing diharapkan fitur yang diinginkan pada convolutional menggunakan kernel 3 × 3 yang berjalan
citra menjadi lebih menonjol. secara sekuensial dengan stride 1. Operasi convolution
• Fine tuning perlu dilakukan pada beberapa blok menghasilkan feature map berukuran 4 × 4 . Lapisan max
terakhir saja dari model yang di-training dengan pooling menggunakan kernel berukuran 2 × 2 dengan stride
pendekatan transfer learning. Pada lapisan awal, fine 2 yang mengambil satu nilai maksimum dari empat elemen
tuning tidak memberikan pengaruh terhadap performa terkait (patch) sebagai representasi data. Operasi max pooling
model karena pada lapisan awal CNN mengekstrak menghasilkan pooled feature map berukuran 2 × 2. Pooled
fitur umum dari citra. feature map kemudian diubah dari dua dimensi menjadi satu
dimensi (flattened) sebelum masuk ke Neural Network [14].
II. LANDASAN TEORI
Convolutional Neural Network (CNN) adalah Neural
Network (NN) khusus untuk memproses data yang memiliki
topologi berbentuk grid [13]. Data time series adalah data
dengan topologi satu dimensi dan citra adalah data dengan
topologi dua dimensi. Nama Convolutional Neural Network
mengindikasikan bahwa Neural Network melakukan proses
operasi matematika convolution yang merupakan operasi
linear. Convolutional Neural Network secara sederhana
adalah Neural Network yang menggunakan convolution
sebagai operasi multiplikasi matrix setidaknya pada salah
satu lapisan. CNN terdiri dari lapisan convolution dan Gambar 2. Proses Convolutional Neural Network [14]
pooling yang memungkinkan fitur diekstrak dari citra.
Inception v3
Convolutional Neural Network
Arsitektur Inception v1 dari GoogLeNet didesain untuk
CNN mengekstrak fitur dari citra dengan melakukan bekerja dengan baik dengan kondisi komputasi yang terbatas
operasi convolution antara kernel dengan input tensor yang [15]. Hal ini dicapai dengan melakukan penggabungan output
merupakan subset array pixel [14]. Perubahan posisi kernel dari kernel convolution berukuran 1 × 1, 3 × 3, 5 × 5 dan
secara berturut-turut dikenal dengan istilah strides. Stride pooling sambil menjaga tinggi dan lebar output dari setiap
lebih dari satu memberikan efek downsampling pada output kernel tidak berubah [15], [16]. Lapisan bottleneck atau
operasi convolution. Produk perkalian element wise dari operasi convolution 1 × 1 selalu dilakukan sebelum operasi
setiap subset array pixel dan kernel akan dijumlahkan untuk convolution 3 × 3 dan 5 × 5 untuk mengurangi jumlah
menghasilkan satu nilai numerik dalam feature map. Feature operasi matematika sampai dengan faktor 10. Arsitektur ini
map ini diteruskan ke fungsi aktivasi, yang biasanya dikembangkan lebih lanjut oleh Christian Szegedy dan
menggunakan fungsi aktivasi Rectified Linear Unit (ReLU) kawan-kawan [11] menjadi Inception v3.
sebelum diteruskan ke lapisan pooling. Lapisan pooling Arsitektur Inception v3 [11] memanfaatkan teknik
melakukan downsample terhadap feature map untuk faktorisasi convolution asimetris untuk mengurangi jumlah
mengurangi kebutuhan daya komputasi dan mencegah operasi matematika. Modul Inception v3 terdiri atas tiga
overfitting. Operasi pooling yang digunakan umumnya desain yaitu [17]:
adalah max pooling. Max pooling menghasilkan output sama
dengan nilai maksimum dari setiap patch data pada feature
map. Max pooling dengan kernel 2 × 2 dan stride 2 akan
mengambil satu nilai maksimum dari setiap empat feature
map. Sekuensial dari convolution, kernel, dan pooling
112
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
Filter Concat
Filter Concat
nx1
nx1
3x3
1xn Stride 2
Filter Concat 1xn
Filter Concat
3x3
3x3 nx1 Stride 2
3x3 1x3 3x1
1x3 3x1
3x3
3x3 1x1 1xn 1x1 3x3 1x1 Stride 1
Pool
1x1 1x1 Pool 1x1 1x1 1x1 Pool 1x1 1x1 1x1 Pool 1x1 1x1 1x1 Stride 2
• Modul Inception A (Gambar 3 Modul A): modul ini classifier konvergen, fine tuning dapat dilakukan pada bagian
mengganti convolution 5 × 5 pada Inception v1 convolution. Menurut Yosinski dan kawan-kawan [7], fine
dengan dua buah convolution 3 × 3. Jika ditinjau dari tuning dari lapisan manapun pada bagian convolution
total operasi matematika, convolution 5 × 5 memberikan benefit terhadap performa model.
membutuhkan 25 operasi matematika, sedangkan dua
buah convolution 3 × 3 membutuhkan 18 operasi Input Layer
matematika.
• Modul Inception B (Gambar 3 Modul B): modul ini Inception v3
menggunakan teknik convolution asimetris 1 × 7 dan
7 × 1 sebagai ganti convolution 7 × 7.
GlobalAveragePooling2D GlobalMaxPooling2D
• Modul Inception C (Gambar 3 Modul C): modul ini
diajukan untuk mempromosikan representasi dimensi
tinggi. Concatenate
Inception v3 menawarkan langkah paralel (Gambar 3 Grid
Size Reduction) yang menggabungkan operasi convolution BatchNormalization
dan operasi pooling untuk mendapatkan jumlah feature map
yang sama dengan operasi convolution diikuti pooling atau
pun sebaliknya namun Grid Size Reduction memiliki beban Dropout (0.5) BatchNormalization
113
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
[19], BatchNormalization umumnya diletakkan sebelum DR ke dalam dua kelas. Preprocessing yang dilakukan adalah
lapisan aktivasi ReLU. mengubah ukuran citra agar memiliki ukuran yang sama,
nilai setiap pixel dikurangi dengan nilai rata-rata lokal, lalu
Penelitian Terkait citra dipetakan terhadap 50% abu-abu sehingga ketajaman
Berbagai penelitian sudah dilakukan untuk membangun citra lebih merata. Pinggiran dari citra retina dipotong untuk
model menggunakan komputer untuk mendiagnosis DR menghilangkan efek garis batas. Arsitektur yang dipilih
secara otomatis [2]. Metode tradisional machine learning adalah Inception v3 dan Xception yang di-training dengan
akan mengekstrak fitur dari citra fundus retina. Fitur yang pendekatan transfer learning. Model di-training sebanyak
sudah diekstrak tersebut menjadi input bagi classifier tertentu 200 iterasi dengan nilai learning rate 0.0001. Augmentasi
seperti random forest, support vector machine, atau yang digunakan adalah pergeseran citra, rotasi citra,
AdaBoost classifier [20]. Salah satu prasyarat teknik hand pembalikan citra vertikal dan horizontal selama training.
engineered feature adalah memahami gejala klinis DR secara Saboora membandingkan beberapa parameter training untuk
mendalam untuk memilih fitur yang tepat. Berbeda dengan melihat pengaruhnya terhadap performa model yang
deep learning seperti CNN yang akan mengekstrak fitur dihasilkan. Parameter yang dibandingkan adalah optimasi
secara otomatis dari citra [21]. Jika dibandingkan dengan Adaptive Moment Estimation (ADAM) dengan SGDM
hand engineered feature, teknik deep learning secara umum (momentum = 0.9), aktivasi Exponential Linear Unit (ELU)
memberikan hasil yang lebih unggul [2]. dengan ReLU, dan dua blok dengan empat blok yang di-fine
Maria A. Bravo dan Pablo A. Arbelaez [8] menggunakan tuning. Hasil terbaik dengan nilai akurasi 87.12% diperoleh
dataset dari EyePACS untuk mengklasifikasikan DR ke dari model Inception v3, optimasi ADAM, dan fine tuning
dalam lima kelas. Preprocessing yang dilakukan adalah: sebanyak dua blok.
• Circle RGB: citra fundus retina RGB yang dipotong Gabriel Garcia dan kawan-kawan [22] menggunakan
melingkar dengan ukuran 224 × 224 pixel. dataset EyePACS untuk mengklasifikasikan DR ke dalam
• Square: citra fundus retina yang dipotong bujur dua kelas. Preprocessing yang dilakukan adalah mengubah
sangkar dengan ukuran 224 × 224 pixel. ukuran citra sehingga memiliki ukuran yang sama, citra
• Color centered: citra circle RGB dikurangi dengan dikurangi dengan nilai rata-rata lokal, lalu dipetakan ke abu-
warna rata-rata lokal menggunakan filter Gaussian. abu. Setelah preprocessing tersebut, citra diskalakan menjadi
Intensitas setiap channel citra dipusatkan pada 127. 256 × 256 pixel. Augmentasi yang dilakukan adalah
• Grayscale: citra circle RGB dikonversi menjadi citra flipping citra dan cropping 80% citra. Gabriel Garcia
grayscale. menggunakan arsitektur VGG-16 yang di-training dengan
pendekatan transfer learning. Karena jumlah citra dari
TABEL I masing-masing tidak seimbang, Gabriel menggunakan class
HASIL PERCOBAAN MARIA A. BRAVO weight dengan perbandingan untuk kelas normal dan DR
sebesar 1:2.74. Model VGG di-training dengan regularisasi
Preprocessing VGG-16 Inception V4
weight decay 0.00005. Performa model yang diperoleh
Circle RGB 46.3% 44.62%
Square 45.3%
adalah akurasi 83.68%, sensitivity 54.47%, specificity
Color centered 48.3% 45.00% 93.65%.
Grayscale 48.1% Xiaoliang Wang dan kawan-kawan [16] menggunakan
dataset dari EyePACS yang dipilih 166 citra saja untuk
Arsitektur CNN yang digunakan adalah VGG-16 dan mengklasifikasikan DR ke dalam lima kelas. Preprocessing
Inception v4. Kedua arsitektur ini di-training dengan yang dilakukan mengubah ukuran citra menjadi 227 × 227
pendekatan transfer learning. Model VGG-16 di-training untuk AlexNet, 224 × 224 untuk VGG-16, dan 299 × 299
kira-kira sebanyak 14 epoch, learning rate 0.001 yang diubah untuk Inception v3. Ketiga arsitektur ini di-training dengan
setiap 5 epoch dengan faktor 10, batch size 115, optimasi pendekatan transfer learning. Parameter training yang
stochastic gradient descent with momentum (SGDM) digunakan adalah: optimasi SGDM (momentum = 0.9),
(momentum = 0.9), dan regularisasi dropout untuk fungsi aktivasi ReLU, dan beberapa parameter lain yang
mengurangi overfitting. Sedangkan model Inception v4 di- berbeda untuk setiap arsitektur. Hasil akurasi yang diperoleh
training sebanyak 20 epoch, batch size 32, learning rate adalah 37.43% untuk AlexNet, 50.03% untuk VGG-16, dan
0.001, dan regularisasi weight decay 0.00004. Selama 63.23% untuk Inception v3.
training model, baik arsitektur VGG-16 maupun arsitektur Chunyan Lian dan kawan-kawan [9] menggunakan dataset
Inception v4, dilakukan augmentasi citra dengan rotasi antara EyePACS untuk mengklasifikasikan DR ke dalam lima kelas.
0° sampai dengan 360°, perbesar dan perkecil gambar antara Preprocessing yang mereka lakukan adalah mengubah citra
0 sampai dengan 20 pixel, pembalik vertikal dan horizontal menjadi 256 × 256 pixel, meningkatkan warna citra dengan
yang dilakukan secara acak. Hasil percobaan ini bisa dilihat mengurangi warna rata-rata lokal, dan membuang warna latar
pada Tabel I. hitam. Pada dataset dilakukan subsampling dan augmentasi
Saboora Mohammadian dan kawan-kawan [10] untuk mengatasi persoalan dataset yang tidak seimbang.
menggunakan dataset EyePACS untuk mengklasfikasikan Terdapat tiga arsitektur yang dicoba, yaitu AlexNet, ResNet-
114
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
50, dan VGG-16. Ketiga arsitektur ini di-training dengan didapatkan dari dataset validation adalah akurasi 0.9491,
pendekatan transfer learning. Parameter yang digunakan precision 0.9598, recall 0.9256, F-score 0.9395, dan AUC
selama training adalah: learning rate 0.001 yang berkurang 0.9852.
dengan faktor 10 setiap 27 epoch, batch size 25, optimasi
SGDM (momentum = 0.9), dan weight decay 0.0005. Hasil
akurasi yang diperoleh pada penelitian ini adalah 73.19% III. METODOLOGI PENELITIAN
untuk AlexNet, 76.41% untuk ResNet-50, 79.04% untuk Secara umum penelitian ini mengklasifikasikan citra
VGG-16 dengan preprocessing, dan 76.01% untuk model fundus retina ke dalam lima kelas berdasarkan tingkatannya.
VGG-16 tanpa preprocessing. Citra fundus retina tersebut diklasifikasikan ke dalam salah
Zhentao Gao dan kawan-kawan [20] menggunakan dataset satu kelas: DR-0, DR-1, DR-2, DR-3, dan DR-4. Penelitian
yang dibangun sendiri dengan total 4,476 citra untuk ini mengimplementasi teknik deep learning CNN yang
mengklasifikasikan DR menurut perawatan yang disarankan. mengekstrak fitur secara otomatis dari sebuah citra.
DR diklasifikasikan ke dalam empat kelas, dari normal, Arsitektur CNN yang digunakan adalah Inception v3 dengan
sedang, berat, dan parah. Preprocessing yang dilakukan modifikasi pada bagian classifier seperti pada Gambar 4.
adalah mentransformasi citra, sehingga setiap citra memiliki
ukuran dan bentuk yang sama, dan melakukan normalisasi Start
warna. Augmentasi citra selama training adalah pembalikan Studi literatur
citra horizontal dan vertikal, rotasi citra antara [-25º, 25º]
secara acak, pembesaran citra antara [0.85, 1.15], dan distorsi Menentukan rumusan Inisialisasi
citra secara acak. Terdapat lima arsitektur yang dicoba pada masalah
penelitian Zhentao Gao, yaitu ResNet-18, Resnet-101, VGG- Menentukan tujuan
19, Inception v3, dan arsitektur Inception@4 yang penelitian Ambil dataset &
merupakan modifikasi dari Inception v3. Beberapa parameter setup environment
Menentukan manfaat
yang digunakan untuk training model adalah: batch size 32,
penelitian
optimasi ADAM, learning rate 0.00001, weight decay 0.2,
Preprocess citra dataset
dan aktivasi ReLU. Akurasi yang diperoleh adalah 87.61% Pemilihan metode
untuk ResNet-18, 87.26% untuk ResNet-101, 85.50% untuk
VGG-19, 88.35% untuk Inception v3, dan 88.72% untuk Citra fundus
Inception@4. Menentukan hipotesis
retina
Misgina Tsighe Hagos dan kawan-kawan [23]
menggunakan dataset EyePACS untuk mengklasifikasikan
Hapus duplikasi citra
DR ke dalam dua kelas. Jumlah dataset yang digunakan dengan hash function
Training model dengan
terdiri dari 2,500 citra training dan 5,000 citra validation. arsitektur Inception v3
Preprocessing yang mereka lakukan adalah membuang Rescale citra dengan
radius pixel 300
warna latar hitam, mengubah citra menjadi 300 × 300 pixel,
Metrik model:
dan mengurangi warna rata-rata lokal dari setiap pixel. Preprocessing Ben loss, accuracy,
Arsitektur CNN yang digunakan adalah Inception v3 yang di- Graham precision,
training dengan pendekatan transfer learning. Parameter recall, AUC
yang dipakai selama training adalah: optimasi SGD dengan Preprocessing Nakhon
ascending learning rate 0.0005, fungsi loss cosine, dan
Simpan model & log
fungsi aktivasi ReLU. Hasil akurasi yang diperoleh adalah Preprocessing
training
Ramasubramanian
90.9%.
Md Sazzad Hossen dan kawan-kawan [1] menggunakan Preprocessing enhanced
dataset APTOS-2019 untuk mengklasifikasikan DR ke dalam green
lima kelas. Preprocessing yang mereka lakukan adalah End
115
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
116
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
untuk preprocessing enhanced green. Sehingga terdapat Gambar 8. Contoh gambar duplikasi dengan label yang berbeda.
empat preprocessing yang diterapkan kepada dataset dan Setelah citra dibersihkan dari duplikasi, maka diperoleh
diuji pengaruhnya terhadap performa model, yaitu jumlah citra yang digunakan adalah 3,498 seperti yang dapat
preprocessing Ben Graham [25], Nakhon [26], dilihat pada Tabel III.
Ramasubramanian [27], dan enhanced green. Hubungan
preprocessing yang satu dengan yang lain dapat dilihat pada TABEL III
JUMLAH CITRA SEBELUM DAN SETELAH MENGHAPUS DUPLIKASI
Gambar 7.
Tingkat DR Sebelum Setelah Komposisi Setelah
Menghapus Duplikasi Citra 0 1,805 1,796 51.3%
Sebelum masuk ke tahap preprocessing, dataset diperiksa 1 370 338 9.7%
terlebih dahulu, apakah terdapat duplikasi citra. Algoritma 2 999 921 26.3%
difference hash (dhash) digunakan untuk memberikan 3 193 173 4.9%
signature atau identitas pada setiap gambar [24]. Dari 4 270 270 7.7%
signature tersebut dapat ditemukan duplikasi jika terdapat Total 3,662 3,498
dua citra dengan signature yang sama. Signature diperoleh
dengan mengambil n digit bilangan biner dari sebuah citra. Dari Tabel III dapat dilihat bahwa kelas 0 memiliki
Langkah untuk membuat signature dengan algoritma dhash komposisi citra sebanyak 51.3% dari total dataset. Jumlah
adalah: citra yang tidak seimbang seperti ini akan menghasilkan
• Konversi citra RGB menjadi citra grayscale. model yang didominasi oleh salah satu kelas dengan jumlah
• Mengubah ukuran citra menjadi ukuran (𝑛 + 1) × 𝑛 citra terbanyak. Harry Pratt [29] dan Gabriel Garcia [22]
(𝑐𝑜𝑙𝑢𝑚𝑛 × 𝑟𝑜𝑤). menggunakan pembobotan setiap kelas sesuai dengan jumlah
• Periksa apakah nilai pixel ke 𝑖 > 𝑖 + 1 dalam satu citra dari masing-masing kelas untuk mengatasi jumlah kelas
baris citra sehingga menghasilkan 𝑛 − 1 perbedaan yang tidak seimbang. Pembobotan kelas juga digunakan pada
antara pixel yang bersebelahan. 𝑛 baris dengan 𝑛 nilai penelitian ini. Bobot masing-masing kelas dihitung dengan
perbedaan menghasilkan 𝑛2 deret bilangan biner. cara [30]:
• Deret biner True / False (1 atau 0) tersebut
dikonversikan menjadi integer berbentuk desimal yang ∑𝑘𝑖 𝑛𝑖
𝑤𝑗 = (2)
dirumuskan dengan: 𝑐 × 𝑛𝑗
𝑛−1
𝑠𝑖𝑔𝑛𝑎𝑡𝑢𝑟𝑒 = ∑ 𝑑𝑖 × 2𝑖 (1)
Di mana:
𝑖=0 • ∑𝑘 𝑖 𝑛𝑖 adalah jumlah seluruh citra dari 𝑘 kelas
• 𝑤𝑗 adalah bobot kelas ke - 𝑗
Di mana: • 𝑛𝑗 adalah jumlah citra dari kelas ke - 𝑗
• 𝑑𝑖 adalah nilai 1 atau 0 dari deret biner ke - 𝑖
• 𝑐 adalah jumlah kelas dari dataset
Dengan perhitungan tersebut diperoleh bobot dari setiap
Pada penelitian ini 𝑛 yang dipakai adalah 32, sehingga
kelas yang dapat dilihat pada Tabel IV.
diperoleh 1,024-bit nilai hash yang dikonversi ke bilangan
integer. Nilai integer tersebut yang menjadi signature dari
sebuah citra. Citra duplikasi dieliminasi dari dataset dengan TABEL IV
ketentuan sebagai berikut: BOBOT DARI SETIAP KELAS DR
• Jika terdapat dua citra atau lebih dengan signature
Tingkat DR Jumlah citra Bobot kelas
yang sama dan label yang sama, maka diambil satu 0 1,796 0.389532
citra saja. 1 338 2.069822
• Jika terdapat dua citra atau lebih dengan signature 2 921 0.759609
yang sama dan label yang berbeda, maka citra 3 173 4.043931
dikeluarkan dari dataset. 4 270 2.591111
Pada Gambar 8 dapat dilihat duplikasi citra sebanyak tiga Total 3,498
buah dengan label yang berbeda. Citra dengan kondisi seperti
ini dieliminasi semuanya dari dataset. Label terletak di bagian
atas citra. Mengubah Ukuran Citra
Teknik mengubah ukuran citra mengadopsi teknik yang
digunakan Ben Graham [25]. Citra diubah ukurannya
sehingga memiliki radius pixel yang sama. Radius pixel yang
digunakan adalah 300 pixel. Berikut ini adalah potongan kode
dengan bahasa python:
117
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
Algoritma 1: Mengubah ukuran citra dengan radius yang • 𝜆 ( 𝜆 = 4 ) adalah faktor skala yang mengontrol
ditentukan peningkatan kontras citra output
Input: img dan scale=300
Output: s (faktor skala citra) Nilai 𝑔(𝑛, 𝑚) diperoleh dari:
x = img[img.shape[0] // 2, :, :].sum(1)
r = (x > x.mean() / 10).sum() / 2 𝑔(𝑛, 𝑚) = 𝐺(𝑛, 𝑚, 𝜎) ∗ 𝑥(𝑛, 𝑚) (4)
s = scale * 1.0 / r
Di mana:
Di mana:
• 𝐺(𝑛, 𝑚, 𝜎) adalah gaussian filter dengan 𝜎 = 10
• x menghitung nilai citra pada baris tengah dan
• ∗ adalah operator convolution
dijumlahkan pada sumbu channel. • 𝑥(𝑛, 𝑚) adalah citra input
• r menghitung radius fundus retina. Operasi x >
x.mean() / 10 memberikan nilai True untuk area
retina dan False untuk area warna hitam.
• s mengkonversi nilai r dengan radius pixel pilihan
yaitu 300 pixel. Nilai skalar s digunakan sebagai
faktor skala untuk mengubah ukuran citra.
Teknik mengubah ukuran citra dengan menggunakan
faktor skala akan tetap memperhatikan aspek rasio dari setiap
citra. Hasil dari citra yang sudah diubah ukurannya dapat
dilihat pada Gambar 9. Citra yang diubah ukurannya ini Gambar 10. Preprocessing Ben Graham
menjadi dasar untuk setiap preprocessing berikutnya karena
Hasil dari preprocessing Ben Graham dapat dilihat pada
citra yang ukurannya lebih kecil mengurangi beban
Gambar 10. Gambar sebelah kiri merupakan gambar input,
komputasi.
yang belum melewati preprocessing Ben Graham dan
gambar sebelah kanan adalah citra yang sudah melewati
preprocessing Ben Graham. Tampak bahwa warna citra
setelah preprocessing lebih homogen.
Preprocessing Nakhon
Preprocessing Nakhon [26] diawali dengan mengubah
ukuran citra dan memotong margin hitam pada citra. Margin
hitam dipotong dengan mencari baris dan kolom pada citra
Gambar 9. Citra sebelum dan setelah ukuran diubah yang memiliki setidaknya satu pixel di sepanjang baris dan
kolom yang lebih besar dari nilai threshold yang ditentukan
Preprocessing Ben Graham (𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 = 7) sehingga membentuk bounding box pada
Terdapat tiga tahapan preprocessing yang dilakukan oleh area fundus retina saja [31]. Setelah margin hitam dibuang,
Ben Graham [25], yaitu: proses selanjutnya serupa dengan preprocessing yang
• Mengubah ukuran citra dengan metode rescale yang dilakukan oleh Ben Graham, namun Nakhon tidak
sudah dibahas pada bagian 2) Mengubah Ukuran Citra. membuang “boundary effect”. Nakhon memotong setiap citra
• Mengurangi warna citra dengan warna rata-rata lokal, secara melingkar, sehingga citra fundus retina memiliki
lalu dipetakan ke 50% abu-abu bentuk yang sama. Gambar 11 menunjukan citra input dan
• Memotong citra secara melingkar menjadi 90% dari citra output dari preprocessing Nakhon. Bisa dilihat pada
radius pixel yang diberikan untuk menghilangkan citra output, bentuk retina dipotong dengan melingkar
“boundary effects.” sempurna dan memiliki “boundary effect”
Citra dikurangi warna rata-rata lokal dengan
menggunakan persamaan klasik linear unsharp masking yang
diberikan dengan:
Di mana:
• 𝑦(𝑛, 𝑚) adalah citra output
• 𝑥(𝑛, 𝑚) adalah citra input,
• 𝑔(𝑛, 𝑚) adalah citra yang diburamkan dengan Gambar 11. Preprocessing Nakhon Ratchasima
Gaussian blur.
118
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
119
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
120
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
3× modul Inception A Grid size 4 × modul Inception B Grid size 2 × modul Inception C
Reduction Reduction
N=10 N=9 N=8 N=7 N=6 N=5 N=4 N=3 N=2 N=1
•
Model ramasubramanian adalah model yang di-
IV. HASIL DAN PEMBAHASAN training dengan dataset dengan preprocessing
Hasil training untuk melihat pengaruh preprocessing Ramasubramanian.
terhadap performa model akan fokus pada akurasi model. • Model enhanced_green adalah model yang di-training
Training dengan lima kondisi dataset menghasilkan lima dengan dataset dengan preprocessing enhanced green.
model, yaitu: Demikian juga untuk training model fine tuning n blok
• Model rescale_png adalah model yang di-training Inception v3. Hasil training ini melihat akurasi yang
dengan dataset asli yang diubah ukurannya. diberikan oleh setiap model dengan jumlah blok yang di-fine
• Model ben_graham adalah model yang di-training tuning berbeda.
dengan dataset dengan preprocessing Ben Graham.
• Model nakhon adalah model yang di-training dengan
Pengaruh Preprocessing - Training Classifier
dataset dengan preprocessing Nakhon.
121
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
Hasil training bagian classifier dari lima kondisi dataset Setelah training bagian classifier selesai, fine tuning
dapat dilihat pada Tabel VI. Nilai ini diukur dari dataset dilakukan sebanyak dua blok Inception v3. Hasil fine tuning
validation setelah training sebanyak 50 epoch selesai dan dari setiap model dapat dilihat pada Tabel VIII. Nilai ini
merupakan rata-rata dari 5-fold cross validation. Pada tabel diukur dari dataset validation setelah training sebanyak 50
tersebut dapat dilihat bahwa model enhanced_green epoch selesai dan merupakan rata-rata dari 5-fold cross
memberikan hasil yang paling baik dengan nilai: akurasi validation. Pada tabel tersebut tampak bahwa model
76.10%, precision 81.92%, recall 69.90% dan AUC 95.12%. enhanced_green memberikan hasil yang paling baik dengan
Model kedua terbaik diberikan oleh model ramasubramanian nilai: akurasi 78.79%, precision 82.97%, recall 74.64%, dan
dengan nilai akurasi 74.10%. Model rescale_png menempati AUC 95.81%. Model rescale_png menempati posisi kedua
posisi ketiga, sedangkan model ben_graham dan nakhon dengan nilai akurasi 77.27% yang diikut model
menempati posisi keempat dan kelima. ramasubramanian di posisi ketiga dengan nilai akurasi
76.73%. Sedangkan model ben_graham dan nakhon
TABEL VI
menempati posisi keempat dan kelima.
METRIK HASIL TRAINING CLASSIFIER
122
p-ISSN : 2443-2210 Jurnal Teknik Informatika dan Sistem Informasi
e-ISSN : 2443-2229 Volume 7 Nomor 1 April 2021
Hasil training n blok Inception v3 bisa dilihat pada Tabel enhanced green memberikan performa yang paling baik.
X. Nilai pada tabel tersebut diukur pada dataset validation Model enhanced_green memberikan nilai akurasi 76.10%
setelah training sebanyak 50 epoch selesai. Gambar 17 pada training classifier dan nilai akurasi 78.79% setelah fine
adalah visualisasi Tabel X dalam bentuk grafik batang untuk tuning. Selisih akurasi model antara enhance green dengan
nilai akurasi. Sumbu 𝑥 pada Gambar 17 adalah jumlah blok model tanpa preprocessing adalah 1.52%. Preprocessing
Inception yang di-training dan sumbu 𝑦 adalah nilai akurasi enhanced green mengambil channel hijau dari citra fundus
model. Jika mengacu pada grafik ini, fine tuning memberikan retina lalu dilakukan image enhancement dengan CLAHE
hasil terbaik jika dilakukan sebanyak sembilan blok untuk memperbaiki kontras citra dan diikuti dengan unsharp
Inception. Tampak juga pada grafik bahwa fine tuning dari masking untuk menajamkan citra. Citra hasil preprocessing
lapisan manapun memberikan benefit terhadap performa enhanced green disimpan sebagai citra tiga channel di mana
model dengan rentang kenaikan akurasi antara 1.71% sampai setiap channel-nya adalah channel hijau.
5.14%. Fine tuning n blok Inception yang dilakukan pada
TABEL X
penelitian ini menunjukkan bahwa fine tuning bisa dilakukan
PERFORMA MODEL YANG DI-TRAINING SEBANYAK N BLOK INCEPTION V3 mulai dari blok Inception v3 mana pun dan tetap memberikan
benefit terhadap performa model. Fine tuning memberikan
Precisi rentang kenaikan akurasi antara 1.71% sampai 5.14%. Jika
Blok Loss Acc Recall AUC
on
dilihat dari hasil percobaan, fine tuning sebanyak sembilan
classifier 1.95 73.86% 80.78% 67.86% 94.21% blok Inception v3 memberikan hasil terbaik dengan nilai
1 1.86 75.86% 79.84% 69.57% 94.73% akurasi 79.0%.
2 1.86 75.57% 79.62% 72.00% 94.97% Berdasarkan hasil temuan dari eksplorasi yang telah
dilakukan, terdapat sejumlah eksplorasi lanjutan yang dapat
3 1.84 76.14% 79.68% 71.71% 95.16% dilakukan. Penelitian selanjutnya dapat melakukan
4 1.84 77.14% 81.79% 73.14% 95.24% hyperparameter tuning dan menggunakan beberapa teknik
5 1.82 77.86% 81.79% 74.43% 95.41%
optimasi training model. Hyperparameter yang bisa di-
tuning seperti learning rate, ukuran batch, nilai probabilitas
6 1.82 77.71% 81.36% 73.57% 95.53% dropout, dan nilai weight decay. Teknik optimasi yang bisa
7 1.81 77.71% 81.49% 74.86% 95.64% diimplementasikan saat training model seperti learning rate
decay, reduce learning rate on plateau, ataupun early
8 1.81 78.86% 81.64% 75.57% 95.54%
stopping. Arsitektur CNN yang dipilih bisa menggunakan
9 1.81 79.00% 81.41% 74.43% 95.59% arsitektur yang lebih baru seperti MobileNet, Inception v4,
10 1.82 77.57% 81.40% 75.00% 95.49% ataupun EfficientNet. Arsitektur classifier pun bisa
Semua dieksplorasi dengan menambahkan hidden layer atau pun
1.81 78.86% 81.85% 76.00% 95.74% hidden unit.
lapisan
Penelitian berikutnya bisa menggunakan ukuran citra yang
0.79 0.79 0.79
lebih besar, misalnya 598 × 598 × 3. Memperbesar ukuran
0.80 0.78 0.78 0.78 0.78
0.76 0.76 0.76
0.77 citra training diharapkan dapat memberikan akurasi model
0.74
0.75 yang lebih baik. Preprocessing yang digunakan dalam
0.70
penelitian ini juga bisa digunakan pada dataset lain untuk
melihat robustness pengaruh setiap preprocessing terhadap
0.65 performa model.
0.60 Kesulitan terbesar dalam penelitian ini adalah interpretasi
model. Model dipandang sebagai black box yang menerima
0.55
input dan mengeluarkan output. Output berupa performa
0.50 model yang diukur pada penelitian ini. Jika penelitian
dilakukan bersama dengan seorang ophthalmologist maka
interpretasi model bisa lebih baik untuk melihat pengaruh
preprocessing terhadap fitur pada citra fundus retina.
Gambar 17. Akurasi model dengan fine tuning n blok Inception v3
DAFTAR PUSTAKA
[1] M. Sazzad Hossen, A. A. Reza, dan M. C. Mishu, “An automated
V. SIMPULAN model using deep convolutional neural network for retinal image
Dalam penelitian ini didapati bahwa tidak semua classification to detect diabetic retinopathy,” dalam ACM
International Conference Proceeding Series, 2020, hlm. 1–8, doi:
preprocessing memberikan hasil yang baik. Dari empat 10.1145/3377049.3377067.
preprocessing yang dilakukan, yaitu Graham, Nakhon, [2] N. Asiri, M. Hussain, F. Al Adel, dan N. Alzaidi, “Deep learning
Ramasubramanian dan enhanced green, didapati bahwa based computer-aided diagnosis systems for diabetic retinopathy: A
123
Jurnal Teknik Informatika dan Sistem Informasi p-ISSN : 2443-2210
Volume 7 Nomor 1 April 2021 e-ISSN : 2443-2229
survey,” Artif. Intell. Med., vol. 99, no. July, hlm. 101701, 2019, doi: network/lecture/RN8bN/fitting-batch-norm-into-a-neural-network.
10.1016/j.artmed.2019.07.009. [Diakses: 30-Des-2020]
[3] Y. W. Chen, T. Y. Wu, W. H. Wong, dan C. Y. Lee, “Diabetic [20] Z. Gao, J. Li, J. Guo, Y. Chen, Z. Yi, dan J. Zhong, “Diagnosis of
Retinopathy Detection Based on Deep Convolutional Neural Diabetic Retinopathy Using Deep Neural Networks,” IEEE Access,
Networks,” ICASSP IEEE Int. Conf. Acoust. Speech Signal Process. - vol. 7, hlm. 3360–3370, 2019, doi: 10.1109/ACCESS.2018.2888639.
Proc., vol. 2018-April, hlm. 1030–1034, 2018, doi: [21] Dr. A. Rosebrock, Deep Learning for Computer Vision with Python -
10.1109/ICASSP.2018.8461427. Starter Bundle, First printing., vol. 1, 3 vol. PYIMAGESEARCH,
[4] A. Krizhevsky, I. Sutskever, dan G. E. Hinton, “ImageNet 2017.
classification with deep convolutional neural networks,” Commun. [22] G. García, J. Gallardo, A. Mauricio, J. López, dan C. Del Carpio,
ACM, vol. 60, no. 6, hlm. 84–90, Mei 2017, doi: 10.1145/3065386. “Detection of Diabetic Retinopathy Based on a Convolutional Neural
[5] N. Tajbakhsh dkk., “Convolutional Neural Networks for Medical Network Using Retinal Fundus Images,” dalam Artificial Neural
Image Analysis: Full Training or Fine Tuning?,” IEEE Trans. Med. Networks and Machine Learning – ICANN 2017, vol. 10614, A.
Imaging, vol. 35, no. 5, hlm. 1299–1312, Mei 2016, doi: Lintas, S. Rovetta, P. F. M. J. Verschure, dan A. E. P. Villa, Ed. Cham:
10.1109/TMI.2016.2535302. Springer International Publishing, 2017, hlm. 635–642 [Online].
[6] “ImageNet.” [Online]. Tersedia pada: http://image-net.org/about- Tersedia pada: http://link.springer.com/10.1007/978-3-319-68612-
stats. [Diakses: 13-Okt-2020] 7_72. [Diakses: 05-Des-2020]
[7] J. Yosinski, J. Clune, Y. Bengio, dan H. Lipson, “How transferable [23] M. T. Hagos dan S. Kant, “Transfer Learning based Detection of
are features in deep neural networks?,” Adv. Neural Inf. Process. Syst., Diabetic Retinopathy from Small Dataset,” 2019.
vol. 4, no. January, hlm. 3320–3328, 2014. [24] “Image hashing with OpenCV and Python - PyImageSearch.”
[8] M. A. Bravo dan P. A. Arbelaez, “Automatic Diabetic Retinopathy [Online]. Tersedia pada:
Classification,” hlm. 10. https://www.pyimagesearch.com/2017/11/27/image-hashing-
[9] C. Lian, Y. Liang, R. Kang, dan Y. Xiang, “Deep convolutional neural opencv-python/. [Diakses: 31-Des-2020]
networks for diabetic retinopathy classification,” ACM Int. Conf. [25] B. Graham, “Kaggle Diabetic Retinopathy Detection competition
Proceeding Ser., no. c, hlm. 68–72, Jun 2018, doi: report,” hlm. 9.
10.1145/3239576.3239589. [26] “APTOS : Eye Preprocessing in Diabetic Retinopathy.” [Online].
[10] S. Mohammadian, A. Karsaz, dan Y. M. Roshan, “Comparative Study Tersedia pada: https://kaggle.com/ratthachat/aptos-eye-
of Fine-Tuning of Pre-Trained Convolutional Neural Networks for preprocessing-in-diabetic-retinopathy. [Diakses: 19-Des-2020]
Diabetic Retinopathy Screening,” dalam 2017 24th National and 2nd [27] B. Ramasubramanian dan S. Selvaperumal, “A comprehensive review
International Iranian Conference on Biomedical Engineering on various preprocessing methods in detecting diabetic retinopathy,”
(ICBME), Tehran, 2017, hlm. 1–6, doi: dalam 2016 International Conference on Communication and Signal
10.1109/ICBME.2017.8430269 [Online]. Tersedia pada: Processing (ICCSP), Melmaruvathur, Tamilnadu, India, 2016, hlm.
https://ieeexplore.ieee.org/document/8430269/. [Diakses: 25-Jun- 0642–0646, doi: 10.1109/ICCSP.2016.7754220 [Online]. Tersedia
2020] pada: http://ieeexplore.ieee.org/document/7754220/. [Diakses: 05-
[11] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, dan Z. Wojna, Des-2020]
“Rethinking the Inception Architecture for Computer Vision,” dalam [28] Aravind Eye Care System, “4th Asia Pacific Tele-Ophthalmology
2016 IEEE Conference on Computer Vision and Pattern Recognition Society (APTOS) Symposium,” APTOS 2019, 2019. .
(CVPR), Las Vegas, NV, USA, 2016, hlm. 2818–2826, doi: [29] H. Pratt, F. Coenen, D. M. Broadbent, S. P. Harding, dan Y. Zheng,
10.1109/CVPR.2016.308 [Online]. Tersedia pada: “Convolutional Neural Networks for Diabetic Retinopathy,”
http://ieeexplore.ieee.org/document/7780677/. [Diakses: 25-Jun- Procedia Comput. Sci., vol. 90, no. July, hlm. 200–205, 2016, doi:
2020] 10.1016/j.procs.2016.07.014.
[12] Asia Pacific Tele-Ophthalmology Society, “APTOS 2019 Blindness [30] “scikit-learn/scikit-learn,” GitHub. [Online]. Tersedia pada:
Detection dataset,” APTOS 2019, 2019. . https://github.com/scikit-learn/scikit-learn. [Diakses: 02-Jan-2021]
[13] I. Goodfellow, Y. Bengio, dan A. Courville, Deep learning. [31] “python - Crop black border of image using NumPy,” Code Review
Cambridge, Massachusetts: The MIT Press, 2016. Stack Exchange. [Online]. Tersedia pada:
[14] G. Currie, K. E. Hawk, E. Rohren, A. Vial, dan R. Klein, “Machine https://codereview.stackexchange.com/questions/132914/crop-black-
Learning and Deep Learning in Medical Imaging: Intelligent Imaging,” border-of-image-using-numpy. [Diakses: 13-Jan-2021]
J. Med. Imaging Radiat. Sci., vol. 50, no. 4, hlm. 477–487, 2019, doi: [32] R. C. Gonzalez dan R. E. Woods, Digital image processing, 3. ed.,
10.1016/j.jmir.2019.09.005. internat. ed. Upper Saddle River, NJ: Pearson, 2010.
[15] C. Szegedy dkk., “Going deeper with convolutions,” dalam [33] “OpenCV: Operations on arrays.” [Online]. Tersedia pada:
Proceedings of the IEEE Computer Society Conference on Computer https://docs.opencv.org/master/d2/de8/group__core__array.html#gaf
Vision and Pattern Recognition, 2015, vol. 07-12-June, no. 8, hlm. 1– afb2513349db3bcff51f54ee5592a19. [Diakses: 12-Jan-2021]
9, doi: 10.1109/CVPR.2015.7298594. [34] J. Sanjaya dan M. Ayub, “Augmentasi Data Pengenalan Citra Mobil
[16] X. Wang, Y. Lu, Y. Wang, dan W. B. Chen, “Diabetic retinopathy Menggunakan Pendekatan Random Crop, Rotate, dan Mixup,” J. Tek.
stage classification using convolutional neural networks,” Proc. - Inform. Dan Sist. Inf., vol. 6, no. 2, Agu 2020, doi:
2018 IEEE 19th Int. Conf. Inf. Reuse Integr. Data Sci. IRI 2018, hlm. 10.28932/jutisi.v6i2.2688. [Online]. Tersedia pada:
465–471, 2018, doi: 10.1109/IRI.2018.00074. https://journal.maranatha.edu/index.php/jutisi/article/view/2688.
[17] S.-H. Tsang, “Review: Inception-v3 — 1st Runner Up (Image [Diakses: 05-Des-2020]
Classification) in ILSVRC 2015,” Medium, 23-Mar-2019. [Online]. [35] F. Chollet, Deep learning with Python. Shelter Island, New York:
Tersedia pada: https://sh-tsang.medium.com/review-inception-v3- Manning Publications Co, 2018.
1st-runner-up-image-classification-in-ilsvrc-2015-17915421f77c. [36] “tf.keras.initializers.GlorotUniform | TensorFlow Core v2.4.0.”
[Diakses: 11-Jan-2021] [Online]. Tersedia pada:
[18] “vision.learner | fastai.” [Online]. Tersedia pada: https://www.tensorflow.org/api_docs/python/tf/keras/initializers/Glo
https://fastai1.fast.ai/vision.learner.html#cnn_learner. [Diakses: 04- rotUniform. [Diakses: 01-Jan-2021]
Jan-2021] [37] “Advanced Guide to Inception v3 on Cloud TPU,” Google Cloud.
[19] “Fitting Batch Norm into a neural network,” Coursera. [Online]. [Online]. Tersedia pada:
Tersedia pada: https://www.coursera.org/learn/deep-neural- https://cloud.google.com/tpu/docs/inception-v3-advanced. [Diakses:
11-Jan-2021]
124