KLASIFIKASI TIPE PERDARAHAN OTAK MELALUI CITRA CT SCAN DENGAN MENGGUNAKAN SIAMESE
CONVOLUTIONAL NEURAL NETWORK
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)
Ventryshia Andiyani 00000019886
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2021
ii
LEMBAR PENGESAHAN
KLASIFIKASI TIPE PERDARAHAN OTAK MELALUI CITRA CT SCAN DENGAN MENGGUNAKAN SIAMESE CONVOLUTIONAL NEURAL
NETWORK
Oleh
Nama : Ventryshia Andiyani
NIM : 00000019886
Program Studi : Informatika
Fakultas : Teknik dan Informatika
Tangerang, _______________
Ketua Sidang
Arya Wicaksana, S.Kom., M.Eng.Sc.
Dosen Penguji
Farica Perdana Putri, S.Kom., M.Sc.
Dosen Pembimbing I,
Julio Christian Young, M.Kom
Dosen Pembimbing II,
Alethea Suryadibrata, M.Eng
Mengetahui,
Ketua Program Studi Informatika
Marlinda Vasty Overbeek, S.Kom, M.Kom.
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya:
Nama : Ventryshia Andiyani
NIM : 00000019886
Program Studi : Informatika
Fakultas : Teknik dan Informatika
menyatakan bahwa Skripsi a g be j d l Klasifikasi Tipe Perdarahan Otak Melalui Citra CT Scan Dengan Menggunakan Siamese Convolutional Neural Network ini adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka.
Jika di kemudian hari terbukti ditemukan kecurangan/ penyimpangan, baik dalam pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang telah saya tempuh.
Tangerang, 23 Desember 2020
(Ventryshia Andiyani)
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:
Nama : Ventryshia Andiyani
NIM : 00000019886
Program Studi : Informatika
Fakultas : Teknik dan Informatika Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
Klasifikasi Tipe Perdarahan Otak Melalui Citra CT Scan Dengan Menggunakan Siamese Convolutional Neural Network beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.
Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya
Tangerang, 23 Desember 2020
(Ventryshia Andiyani)
v
HALAMAN PERSEMBAHAN/ MOTO
Karya ini kupersembahkan bagi kedua Orang Tuaku terkasih
Apa yang kamu pikirkan, kamu wujudkan.
Apa yang kamu rasakan, kamu pikat.
Dan apa yang kamu imajinasikan, kamu ciptakan.
~~Gautama Buddha~~
vi
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas berkat dan rahmat-Nya Skripsi a g be j d l Klasifikasi Tipe Perdarahan Otak Melalui Citra CT Scan Dengan Menggunakan Siamese Convolutional Neural Network da a selesai dengan baik dan tepat waktu di tengah pandemi COVID-19 ini untuk menyelesaikan masa perkuliahan dan memperoleh gelar Sarjana Komputer di Universitas Multimedia Nusantara.
Penulis juga mengucapkan terima kasih kepada pihak-pihak yang telah turut memberikan dukungan dalam menyelesaikan skripsi ini, antara lain:
1. Dr. Ninok Leksono M.A, selaku Rektor Universitas Multimedia Nusantara yang memberi inspirasi bagi penulis untuk berprestasi,
2. Dr.Eng. Niki Prastomo, S.T., M.Sc., selaku Dekan Fakultas Teknik dan Informatika Universitas Multimedia Nusantara,
3. Marlinda Vasty Overbeek, S.Kom, M.Kom., selaku Ketua Program Studi Informatika Universitas Multimedia Nusantara
4. Julio Christian Young, M.Kom. dan Alethea Suryadibrata, M.Eng., yang menerima penulis dengan baik untuk berkonsultasi dan yang telah mengajar penulis tata cara menulis karya ilmiah dengan benar,
5. Para dosen yang telah memberikan ilmu dan arahan kepada penulis selama masa perkuliahan,
6. Keluarga penulis, terutama orang tua yang telah memberikan dukungan dan motivasi selama pengerjaan Skripsi,
vii
7. Teman-teman penulis yang telah membantu penulis selama masa perkuliahan dan memberi semangat, dukungan serta motivasi kepada penulis selama pengerjaan Skripsi, dan
8. Pihak-pihak lain yang tidak dapat penulis sebutkan satu persatu yang senantiasa memberikan dukungan kepada penulis.
Penulis juga mengucapkan terimakasih kepada keluarga, terutama orang tua dan adik penulis yang telah memberikan dukungan dan motivasi selama pengerjaan Skripsi.
Semoga Skripsi ini dapat bermanfaat, baik sebagai sumber informasi maupun sumber inspirasi, bagi para pembaca.
Tangerang, 23 Desember 2020
(Ventryshia Andiyani)
viii
KLASIFIKASI TIPE PERDARAHAN OTAK MELALUI CITRA CT SCAN DENGAN MENGGUNAKAN SIAMESE
CONVOLUTIONAL NEURAL NETWORK
ABSTRAKPerdarahan otak merupakan salah satu penyebab utama kematian di dunia.
Sekitar 300.000 kasus baru perdarahan otak terjadi setiap tahunnya di dunia dan tingkat kematian mencapai 28,5% dan hanya 15% yang dapat sembuh total, sisanya mengalami kelumpuhan sebagian maupun total. Penyebab utamanya dikarenakan adanya cedera otak/ kepala yang terlambat diketahui baik akibat kecelakaan maupun komplikasi penyakit lainnya. Akibatnya, pengobatan yang diberikan seringkali terlambat untuk setiap kasus perdarahan otak. Pada penelitian ini, diterapkan arsitektur EfficientNet-B3 untuk mengekstraksi fitur dari citra CT Scan yang kemudian akan dilakukan implementasi Siamese Convolutional Neural Network sebagai similarity learning yang menyediakan gambar acuan dalam menentukan kelas. Metode ini digabungkan dengan implementasi KNN untuk melakukan klasifikasi 5 tipe perdarahan otak, yaitu epidural, subdural, subarachnoid, intraparenchymal dan intraventricular. Berdasarkan uji coba yang telah dilakukan, performa terbaik mencapai tingkat akurasi 79,12% dengan tingkat akurasi nilai f1 sebesar 77,96%
Kata Kunci: CT scan otak, EfficientNet Architecture, KNN, perdarahan otak, Siamese Convolutional Neural Network
ix
CLASSIFICATION OF BRAIN HEMORRHAGE TYPES BASED ON CT SCAN MEDICAL IMAGING USING SIAMESE
CONVOLUTIONAL NEURAL NETWORK ABSTRACT
Brain hemorrhage is one of the leading causes of death worldwide.
Approximately 300.000 new cases of brain hemorrhage occur in the world every year and the death rate reaches 28.5% and only 15% can be completely cured, the rest have partial or total paralysis. The main cause is a brain / head injury which is late known either due to accidents or other complications. As a result, treatment for any case of brain hemorrhage is often too late. In this study, the EfficientNet-B3 architecture was used to extract features from the CT scan image, which is then implemented the Siamese Convolutional Neural Network as a similarity learning that provides reference images to determine class. This method is combined with the implementation of the KNN to classify 5 types of brain hemorrhage, namely epidural, subdural, subarachnoid, intraparenchymal and intraventricular. Based on the tests performed, the best performance achieves an accuracy rate of 79.12% with a f1-score is 77.96%
Keywords: brain CT scan, Brain Hemorrhage, EfficientNet-B3 Architecture, KNN, Siamese Convolutional Neural Network
x
DAFTAR ISI
LEMBAR PENGESAHAN ... ii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... iv
HALAMAN PERSEMBAHAN/ MOTO ... v
KATA PENGANTAR ... vi
ABSTRAK ... viii
ABSTRACT ... ix
DAFTAR ISI ... x
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xiv
DAFTAR RUMUS ... xv
BAB 1 PENDAHULUAN ... 16
1.1 Latar Belakang Masalah... 16
1.2 Rumusan Masalah ... 19
1.3 Batasan Masalah ... 19
1.4 Tujuan Penelitian ... 19
1.5 Manfaat Penelitian ... 20
1.6 Sistematika Penulisan ... 20
BAB 2 LANDASAN TEORI ... 22
2.1 Perdarahan Otak ... 22
2.2 Visi Komputer ... 28
2.3 Citra ... 29
2.3.1 Citra Analog ... 29
2.3.2 Citra Digital ... 29
2.4 Pencitraan Medis ... 29
2.4.1 CT Scan ... 30
2.4.2 CT Scan Kepala ... 30
2.4.3 Metode CT Window ... 31
2.5 Artificial Neural Network ... 31
2.6 Convolutional Neural Network ... 35
2.7 Siamese Network ... 36
2.8 Siamese Convolutional Neural Network... 37
2.8.1 Siamese Convolutional Neural Network Menggunakan Triplet Loss .. 38
2.8.2 Euclidean distance ... 39
2.8.3 Triplet Loss Function ... 39
2.9 Arsitektur EfficientNet ... 40
2.10 Principal Component Analysis ... 42
2.11 StandardScaler ... 43
2.12 K-Nearest Neighbor ... 43
2.13 Metrik evaluasi ... 43
2.14 Adam Optimizer ... 46
2.15 Dropout ... 47
xi
2.16 ReLu (Rectified Linear Unit) ... 48
2.17 Python ... 48
2.18 Library Keras ... 49
2.19 Library TensorFlow ... 50
BAB 3 METODE DAN PERANCANGAN PROGRAM ... 52
3.1 Metode Penelitian ... 52
3.2 Perancangan Program ... 55
3.2.1 Get Data ... 56
3.2.2 Preprocessing... 57
3.2.3 Feature Extraction... 59
3.2.4 Modelling ... 62
3.2.5 Evaluation Result ... 72
BAB 4 IMPLEMENTASI DAN ANALISIS ... 73
4.1 Spesifikasi Sistem ... 73
4.2 Deskripsi Dataset ... 74
4.3 Implementasi ... 75
4.4 Pengujian ... 88
4.4.1 Uji Coba Hyperparameter Training Model ... 88
4.4.2 Uji Coba Normalisasi Data dan Reduksi Dimensi Data ... 94
4.4.3 Uji Coba Oversampling Data ... 96
4.4.4 Evaluasi Hasil Pengujian ... 97
BAB 5 SIMPULAN DAN SARAN... 100
5.1 Simpulan ... 100
5.2 Saran ... 101
DAFTAR PUSTAKA ... 102
DAFTAR LAMPIRAN ... 105
xii
DAFTAR GAMBAR
Gambar 2.1 Otak Normal ... 22
Gambar 2.2 Perdarahan Otak ... 23
Gambar 2.3 Perdarahan Otak Epidural ... 24
Gambar 2.4 Perdarahan Otak Subdural... 24
Gambar 2.5 Perdarahan Otak Subarachnoid ... 25
Gambar 2.6 Perdarahan Otak Intraparenchymal ... 26
Gambar 2.7 Perdarahan Otak Intraventricular... 27
Gambar 2.8 Jenis-jenis Perdarahan Otak ... 28
Gambar 2.9 Contoh Hasil CT Scan Kepala... 30
Gambar 2.10 Struktur ANN ... 32
Gambar 2.11 Single-Layer Feedforward Networks ... 33
Gambar 2.12 Multilayer Feedforward Network ... 34
Gambar 2.13 Recurrent Networks ... 34
Gambar 2.14 Lapisan Convolutional Neural Network ... 35
Gambar 2.15 Siamese Network ... 37
Gambar 2.16 Siamese Convolutional Neural Network... 37
Gambar 2.17 Triplet Network ... 38
Gambar 2.18 Triplet Loss Function ... 39
Gambar 2.19 Perbandingan Akurasi Arsitektur ... 41
Gambar 2.20 Input shape model EfficientNet ... 41
Gambar 2.21 Layer Arsitektur EfficientNet ... 42
Gambar 2.22 Confusion Matrix ... 44
Gambar 2.23 Perbandingan antara Adam dan optimizer lainnya ... 47
Gambar 2.24 Dropout ... 48
Gambar 2.25 Fungsi ReLu ... 48
Gambar 2.26 Logo Python ... 49
Gambar 2.27 Keras ... 50
Gambar 2.28 TensorFlow ... 50
Gambar 3.1 Flowchart Keseluruhan ... 55
Gambar 3.2 Flowchart Get Data ... 56
Gambar 3.3 Flowchart Preprocessing ... 58
Gambar 3.4 Hasil Preprocessing (Epidural Image) ... 59
Gambar 3.5 Flowchart Feature Extraction ... 59
Gambar 3.6 Flowchart Extract Image Features ... 60
Gambar 3.7 Flowchart Split Data ... 61
Gambar 3.8 Flowchart Normalize and Reduce Data ... 62
Gambar 3.9 Flowchart Modelling... 63
Gambar 3.10 Flowchart Siamese Model ... 63
Gambar 3.11 Ilustrasi Siamese Model ... 64
Gambar 3.12 Flowchart Generate Triplets ... 65
Gambar 3.13 Flowchart Build Siamese Model ... 67
Gambar 3.14 Flowchart Triplet Loss ... 68
xiii
Gambar 3.15 Flowhcart Training Model ... 70
Gambar 3.16 Flowchart Classify Model ... 71
Gambar 3.17 Flowchart Evaluation Result ... 72
Gambar 4.1 Data Citra CT Scan ... 74
Gambar 4.2 Jumlah Data Setiap Label Untuk Masing-masing Sub_type ... 74
Gambar 4.3 Potongan Kode untuk Get Data Kelas Epidural ... 75
Gambar 4.4 Potongan kode utnuk membaca Data Pasien ... 76
Gambar 4.5 Potongan kode untuk mendapatkan atribut patientID dan Sub_type ... 76
Gambar 4.6 Pemisahan data pasien berdasarkan label ... 76
Gambar 4.7 Pengelompokkan data pasien berdasarkan kelas ... 77
Gambar 4.8 Potongan Kode untuk Get Data Label Kelas Epidural ... 77
Gambar 4.9 Potongan Kode Penggabungan Hasil Pengambilan Data Label ... 77
Gambar 4.10 Potonngan Kode Mengubah Nilai Pixel Menjadi Hounsfield Units .... 78
Gambar 4.11 Potongan Kode Fungsi Windowing Image ... 78
Gambar 4.12 Potongan Kode Penggabungan 3 Window Image ... 80
Gambar 4.13 Hasil Windowing Image ... 80
Gambar 4.14 Potongan Kode Menyimpan Citra dengan Ekstensi PNG ... 81
Gambar 4.15 Potongan Kode Membangun Arsitektur EfficientNet-B3 ... 81
Gambar 4.16 Potongan Kode Ekstraksi Fitur Citra ... 82
Gambar 4.17 Potongan Kode Generate Triplet ... 83
Gambar 4.18 Potongan Kode Pembuatan Hidden Layer ... 84
Gambar 4.19 Potongan Kode Triplet Loss Function ... 85
Gambar 4.20 Potongan Kode Keseluruhan Model Siamese Neural Network ... 85
Gambar 4.21 Potongan Kode Compile Siamese Model ... 86
Gambar 4.22 Potongan Kode Proses Training Siamese Model ... 86
Gambar 4.23 Potongan Kode Classify Model Menggunakan KNN... 87
Gambar 4.24 Potongan Kode Predict Test Data ... 87
Gambar 4.25 Potongan Kode Untuk Menghitung Evaluation Metrics ... 88
Gambar 4.26 Hasil Training Model Siamese ... 98
xiv
DAFTAR TABEL
Tabel 4.1 Window Width dan Window Level ... 79
Tabel 4.2 Tabel Uji Coba Hyperparameter Training Model 1 ... 90
Tabel 4.3 Uji Coba Hyperparameter Training 2 ... 91
Tabel 4.4 Uji Coba Hyperparameter Training 3 ... 92
Tabel 4.5 Uji Coba Hyperparameter Training 4 ... 93
Tabel 4.6 Tabel Uji Coba Normalisasi Data dan Reduksi Dimensi Data ... 95
Tabel 4.7 Tabel Uji Coba MLP ... 95
Tabel 4.8 Tabel Uji Coba Oversampling Data ... 97
Tabel 4.9 Tabel Hasil Uji Coba Jumlah Samples untuk Triplet Loss... 99
Tabel 4.10 Tabel hasil Evaluasi ... 99
xv
DAFTAR RUMUS
Rumus 2.1. Rumus Hounsfield Units ... 16
Rumus 2.2. Rumus Euclidean Distance ... 24
Rumus 2.3. Rumus Triplet Loss Function ... 25
Rumus 2.4. Rumus StandardScaler... 28
Rumus 2.5. Rumus Accuracy ... 29
Rumus 2.6. Rumus Precision ... 30
Rumus 2.7. Rumus Recall ... 30
Rumus 2.8. Rumus F1-Score ... 31