BIDANG ILMU : KOMPUTER/ MEDIS
USUL PENELITIAN HIBAH BERSAING
AKSELERASI ALGORITMA MARCHING CUBE MENGGUNAKAN GENERAL PURPOSE GRAPHICAL PROCESSING UNIT (GPGPU) UNTUK MEMBANGUN PENCITRAAN MEDIS 3D
Ketua : Candra Irawan, M.Kom (NIP: 0686.11.1995.076)
Anggota : Fajar Agung Nugroho, S.Kom, M.CS
NIP: 0686.11.2012.439
Erika Devi Udayanti, S.Kom, M.CS
NIP: 0686.11.2012.443
dr. Indri Hapsari Putri
UNIVERSITAS DIAN NUSWANTORO SEMARANG 2012
HALAMAN PENGESAHAN 1. Judul Penelitian
: Akselerasi Algoritma Marching Cube Menggunakan GPGPU untuk Membangun Pencitraan Medis 3D
2. Ketua Penelitian a. Nama Lengkap : Candra Irawan, M.Kom b. Jenis Kelamin : Laki- laki c. NIP : 0686.11.1995.076 d. Jabatan Fungsional : Lektor e. Fakultas/ Jurusan : Ilmu Komputer/ Teknik Informatika f. Pusat Penelitian : LPPM Universitas Dian Nuswantoro g. Alamat : Jl. Nakula I no. 7-11 Semarang h. Telpon/ fax : (024) - 3517261 i. Alamat Rumah : Griya Lestari Blok A3/7 Semarang j. Telpon/Faks/E-mail : 024-8662764 / 08122834112 3. Jangka Waktu Penelitian : 2 tahun 4. Pembiayaan a. Jumlah biaya yang diajukan ke Dikti (Total) : Rp 137.000.000 b. Jumlah biaya tahun ke 1 : Rp 68.000.000 Jumlah biaya tahun ke 2 : Rp 69.000.000 Semarang, 4 April 2012 Mengetahui, Dekan Fakultas Ilmu Komputer Universitas Dian Nuswantoro
Ketua Peneliti,
(DR. Ir. Dwi Eko Waluyo) NPP. 0686.11.1992.019
(Candra Irawan, M.Kom) NPP.0686.11.1995.076
Menyetujui, Ketua Lembaga Penelitian
(Tyas Catur Pramudi, S.Si, M.Kom) NPP.0686.11.1994.046
SISTEMATIKA USUL PENELITIAN I. Identitas Penelitian 1. Judul Usulan
: Akselerasi Algoritma Marching Cube Menggunakan GPGPU untuk Membangun Pencitraan Medis dalam 3D
2. Ketua Penelitian 1) Nama Lengkap 2) Jenis Kelamin 3) NIP 4) Jabatan Fungsional 5) Unit kerja 6) Alamat surat 7) Alamat 8) Telpon/ fax 9) Alamat Rumah 10) Telpon 3. Anggota peneliti
: : : : : : : : : :
Candra Irawan, M.Kom Laki- laki 0686.11.1995.076 Lektor Ilmu Komputer/ Teknik Informatika Progdi Sistem Informasi – Fakultas Ilmu Komputer UDINUS Jl. Nakula I no. 7-11 Semarang (024) - 3517261 Griya Lestari Blok A3/7 Semarang 024-8662764 / 08122834112
Tim Peneliti No Nama dan Gelar
Bidang Keahlian
Instansi
Akademik 1
Alokasi Waktu (jam/minggu)
Fajar Agung Nugroho,
Artificial
Fakultas Ilmu
S.Kom, M.CS
Intelligence,
Komputer,
Parallel
Universitas
Programming,
Dian
CUDA
Nuswantoro
5/ minggu
Architecture 2
Erika Devi Udayanti,
Parallel
Fakultas Ilmu
S.Kom, M.CS
Processing,
Komputer,
CUDA
Universitas
Technology,
Dian
Data Mining
Nuswantoro
5/ minggu
3
dr. Indri Hapsari Putri
Epidemik
Fakultas Ilmu
Radiologi
Kedokteran,
5/ minggu
Universitas Diponegoro
4. Objek penelitian (jenis material yang akan diteliti dan segi penelitian) Visualisasi pencitraan medis (medical image) dalam 3D dengan algoritma Marching Cube untuk transformasi 2D medical image menjadi 3D image. Memanfaatkan ketersediaan teknologi saat ini yaitu General Purpose Graphical Processing Unit (GPGPU) pada platform CUDA Architecture sebagai arsitektur pemrosesan paralel.
5. Masa pelaksanaan penelitian 1) Mulai
: April 2013
2) Berakhir
: April 2014
6. Anggaran yang diusulkan
:
:
Tahun I
: Rp 68.000.000,-
Tahun II
: Rp 69.000.000,-
7. Lokasi penelitian
:
1) Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Dian Nuswantoro 2) Sejumlah Rumah Sakit di Semarang
8. Hasil yang ditargetkan (temuan baru/paket teknologi/hasil lain) : 1) Didapati kekurangan- kekurangan pada penyuguhan medical image untuk analisis diagnosis dokter terhadap pasien. 2) Menyediakan rekonstruksi 3D dari pencitraan medis untuk memudahkan visualisasinya.
3) Menghemat waktu proses karena dilakukan dengan paralel processing (reduce time consuming), memberikan kualitas gambar yang lebih baik dengan performa yang lebih tinggi pada GPU (costly).
9. Institusi yang terlibat
:
1) Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Dian Nuswantoro. 2) Sejumlah Rumah Sakit di Semarang.
II. Substansi Penelitian ABSTRAK Pencitraan medis seperti CT scan dan MRI sudah sangat umum digunakan dokter dalam mendiagnosis penyakit pasiennya. Citra dua dimensi (2D) yang dihasilkan dari mesinmesin tersebut sangat sulit untuk diinterpretasikan karena hanya menampilkan satu potongan citra saja dari keseluruhan tubuh manusia. Diperlukan seorang ahli atau tenaga profesional terlatih yang mampu menginterpretasikan beberapa citra 2D menjadi citra utuh atau tiga dimensi (3D). Untuk memudahkan para dokter tersebut, komputer dipergunakan dalam pemodelan citra 2D ke dalam citra 3D. Pemodelan tersebut normalnya memakan waktu dan kinerja prosesor. Penelitian ini menawarkan pemodelan citra 3D menggunakan General-Purpose Graphics Processing Unit (GPGPU). GPGPU dipilih karena kemampuannya dalam menjalankan proses secara paralel, sehingga waktu eksekusi untuk memodelkan citra 3D menjadi lebih singkat. Pada ahirnya, seorang dokter dapat segera menganalisa penyakit pasien lebih cepat, akurat dan mudah.
BAB I. 1.1
PENDAHULUAN
Latar Belakang Dalam bidang kedokteran, pencitraan medis (medical image) sangat diperlukan oleh para dokter untuk dapat melakukan analisis terhadap suatu penyakit. Dalam melakukan diagnosa tersebut, para dokter banyak menggunakan beberapa data citra medis seperti foto sinar X-ray atau yang biasa kita kenal dengan sebutan foto Rontgen, ada juga Magnetic Resonance Imaging (MRI) maupun CT-scan. Akan tetapi visualisasi dari hasil scan tersebut belum dapat menginterpretasikan kondisi tubuh pasien secara maksimal karena pencitraannya yang masih dalam gambar 2D. Pencitraan
medis
gambar
2D
pada
umumnya
sulit
untuk
diinterpretasikan (Virasin Archirapatkave , 2011). Karena kebutuhan akan data yang lebih rinci terhadap kondisi pasien, maka diperlukan penyajian gambar yang lebih detail dan mudah dibaca. Oleh karena itu untuk memudahkan penginterpretasian gambar dilakukan tansformasi gambar 2D ke rekonstruksi gambar 3D yang hampir menyerupai bentuk asli objek. Diketahui bahwa dalam suatu gambar akan terdiri dari ribuan pixel yang mana masing- masing pixel memiliki arti tersendiri. Telah banyak metode dan algoritma yang diusulkan dalam melakukan rekonstruksi gambar 3D, dan dalam penelitian ini akan digunakan algoritma Marching Cube. Untuk dapat menghasilkan kualitas citra yang lebih baik, maka dalam penelitian ini akan menggunakan teknologi GPGPU. Dengan memanfaatkan GPGPU akan mengurangi waktu pemrosesan (time consuming) tranformasi gambar
2D ke dalam 3D. Selain itu, dengan GPGPU akan lebih menghemat biaya (cost) karena dapat memanfaatkan sejumlah processor yang ada pada GPU. Di sisi lain, untuk dapat mengoptimalkan kerja dari GPU dalam melakukan pemrosesan secara paralel, sebuah Compute Univide Device Architecture (CUDA) diadopsi sebagai arsitektur pemrograman paralel.
1.2
Tujuan Khusus Dalam penelitian ini, tujuan khusus yang ingin dicapai adalah memberikan kemudahan bagi para staff medis dalam melakukasn analisa, diagnosa penyakit pasien dengan menyediakan visualisasi 3D medical image.
1.3
Keutamaan Penelitian Mengingat kebutuhan akan data kondisi pasien yang lebih akurat dan jelas, serta diagnosa penyakit pasien yang cepat, maka penyediaan pencitraan medis yang berkualitas dan cepat sangat diperlukan. Pemrosesan transformasi gambar 2D menjadi gambar 3D saat ini terhitung lambat. Di sisi lain, teknologi kartu grafis yang mampu melakukan pemrosesan secara paralel telah banyak dimanfaatkan dalam berbagai penelitian ilmiah dan terbukti mampu menghemat waktu proses. Selain itu dari segi harga perangkat, kartu grafis (GPU) lebih murah dibandingkan dengan processor komputer untuk performa yang sama (NVIDIA, 2011).
BAB II. 2.1
STUDI PUSTAKA
Medical Image Istilah pencitraan medis atau yang biasa dikenal dengan medical image merupakan suatu metode dalam memvisualisasikan tubuh manusia untuk mendukung penanganan medis bagi para pasien dengan maksud menganalisa, mendiagnosis suatu penyakit dalam ilmu kedokteran. Teknik- teknik dalam pencitraan medis seperti X-ray, Ultrasound, CT-scan dan juga MRI telah secara luas digunakan untuk melakukan suatu diagnosis terhadap penyakit
(Virasin
Archirapatkave, 2011). Magnetic Resonance Imaging (MRI) merupakan suatu alat kedokteran di bidang pemeriksaan diagnostik radiologi, yang menghasilkan rekaman gambar potongan penampang tubuh / organ manusia dengan menggunakan medan magnet berkekuatan antara 0,064 – 1,5 tesla (1 tesla = 1000 Gauss) dan resonansi getaran terhadap inti atom hidrogen (Mulyono, 2010). Digitalisasi citra medis telah dilakukan mulai tahun 1985 dengan bantuan komputer untuk keperluan operasi (Agung Alfiansyah, 2008).
2.2
General Purpose Graphical Processing Units (GPGPU) Dengan meningkatnya permainan (game) dan animasi 3 dimensi, pengembang dari Graphical Processing Unit (GPU) telah menantang untuk meningkatkan kinerja processor yang tertanam dalam GPU menjadi perangkat yang mendukung paralelisasi yang lebih (NVIDIA CUDA, 2011). Kartu grafis atau graphic card didesain untuk mengolah gambar dan pemrosesan grafis pada suatu
personal computer (PC) yang memerlukan penghitungan intensiv dan penghitungan kerja paralel yang tinggi. Sekarang ini, GPU telah bertransformasi fungsi, yang mulanya hanya mampu memproses grafis sekarang mampu melakukan tugas pemrosesan sama seperti yang dilakukan CPU. Transformasi ini kemudian dikenal dengan era GPGPU. Perumulla (2006) menyebutkan bahwa evolusi dari GPU yaitu kemampuan pemrograman hardware dan pengembangan software berevolusi bersama untuk mentransformasikan kartu grafis menjadi GPGPU. GPU memiliki beberapa keunggulan dibandingkan dengan CPU dalam hal performanya yaitu sebagai berikut : GPU memproses lebih cepat dari CPU Dalam GPU diberikan lebih banyak transistor untuk melakukan pemrosesan data daripada hanya untuk data catching dan mengontrol alur kerja, yangmana membuatnya mampu melakukan lebih banyak proses floating point setiap detiknya dibanding dengan CPU. GPU lebih cocok untuk perhitungan data paralel Kartu grafis ini (GPU) secara khusus cocok untuk menyelesaikan masalah yang bisa diekspresikan dalam perhitungan data paralel dengan intensitas aritmatika yang tinggi.
Keberhasilan dari GPGPU sebagai hardware accelerator tidak jauh dari keberadaan pemrograman GPGPU klasik seperti NVIDIA CUDA. Memungkinkan kita untuk menulis kode program untuk GPU dengan antarmuka mirip dengan
Bahasa C / C++. Beberapa framework memodelkan GPU sebagai arsitektur klasik many-core, seperti yang nampak pada Gambar 1 dibawah, yang mana mengekspos fitur perangkat keras untuk komputasi umum.
Gambar 1. Alokasi Transistor untuk CPU dan GPU
2.3
CUDA Technology Seperti yang telah disebutkan diatas bahwa struktur dari GPU adalah berbeda dengan CPU. Pemroses utama dalam CPU adalah terbatas, sedangkan pada GPU mampu memiliki ratusan bahkan lebih unit- unit pemrosesan kecil yang membuat GPU cocok untuk aplikasi- aplikasi paralel yang berjalan dengan sangat efisien. Meskipun evolusi dari GPU mampu melakukan perhitungan dan pemrosesan seperti yang dilakukan CPU, namun ada beberapa aplikasi tertentu tetap memerlukan eksekusi dari keduanya. CPU akan melakukan bagian pemrosesan sekuensial, dan GPU akan melakukan pemrosesan paralel. Untuk dapat mengakses kemampuan keduanya diperlukan penjembatan sebagai mediator.
Pada tahun 2006, sebuah perusahaan kartu grafis yaitu NVIDIA memperkenalkan sebuah arsitektur baru untuk dapat lebih memanfaatkan kemampuan kartu grafisnya. NVIDIA memperkenalkan arsitektur pemrosesan paralel yang disebut Compute Univied Device Architecture atau CUDA technology. Model pemrograman CUDA ini mampu mendukung penggabungan kerja antara CPU dan GPU. Weiss (2010) menyebutkan bahwa NVIDIA CUDA merupakan sebuah SDK yang dirilis oleh sebuah perusahaan kartu grafis NVIDIA dengan tujuan memungkinkan programmer mengakselerasi general purpose-computation dengan menggunakan sumber daya komputasi yang ada pada GPU modern. CUDA terdiri dari model hardware dan software yang memperbolehkan eksekusi komputasi pada GPU NVIDIA modern dalam bentuk data paralel. Multiprosesor yang terdiri dari sejumlah Single Instruction Multiple Data (SIMD) yang mengimplementasikan GPU yang mana sebuah ALU merepresentasikan processor. Konsep dari SIMD dalam GPU menjalankan command yang sama pada waktu yang sama untuk setiap processor dalam sebuah multiprocessor. Arsitektur dari CUDA dapat dilihat dalam gambar 2 dibawah ini. Ditunjukkan bahwa masing- masing level eksekusi memiliki sebuah tipe memory yang saling terhubung yang kemudian disebut sebagai hirarki memori. Setiap processor memiliki akses ke register lokal. Pada level multiprocessor disebut shared memory. Selain itu ada juga sebuah device memori untuk keseluruhan device processor yaitu global memory.
Gambar 2 : CUDA Architecture
Pemrograman CUDA merupakan sebuah interface untuk dapat mengakses komputasi paralel GPU dengan menuliskan code yang berjalan langsung pada device. Beberapa istilah dalam CUDA yang biasa digunakan adalah device yang mewakili GPU, dan host yang merupakan CPU. Untuk framework CUDA ditunjukkan dalam Gambar 3 dibawah ini. Terlihat bahwa CUDA framework terdiri dari beberapa bagian. Sejumlah library- library optimasi untuk CUDA yang disediakan oleh NVIDIA seperti FFT, Blas, math.h, dan lain sebagainya. hal yang paling utama dalam CUDA framework adalah kompiler NVIDIA C yang disebut NVCC.
Seperti yang disebutkan diawal bahwa CUDA merupakan sebuah mix code dari GPU dan CPU yang mana terisolasi code dari GPU dan CPU oleh compiler NVCC.
Gambar 3 : Framework CUDA
BAB III.
METODE PENELITIAN Guna mencapai goal yang diinginkan, penelitian ini dilakukan dalam beberapa
tahapan penelitian. Tahapan- tahapan dalam penelitian penelitian ini dibagi dalam 2 waktu
kegiatan penelitian, yaitu kegiatan tahun pertama dan kegiatan tahun kedua. Untuk detail kegiatan yang dilakukan dapat dijabarkan sebagai berikut : 3.1
Kegiatan Tahun I 1. Studi Teoritis Bagian terpenting dalam tahap ini adalah mempelajari literatur yang diperlukan, tool maupun arsitektur yang ada saat ini yang telah diusulkan oleh peneliti lain sebelumnya atau related works. Mempelajari jurnal-jurnal yang ada, buku, maupun conference yang dimaksudkan untuk memperoleh data- data sekunder. Dalam penelitian ini, masalah utama yang ingin diusung adalah transformasi visualisasi medical image 2D menjadi 3D dalam platform arsitektur CUDA yang diimplementasikan diatas GPGPU.
2. Studi Lapangan Dalam studi lapangan ini ditujukan untuk mengetahui visualisai data medical image yang digunakan saat ini. Mengetahui hambatan- hambatan apa yang dihadapi oleh para medis dalam melakukan analisis diagnosa pasien dari hasil medical image. Ini dilakukan dengan melakukan survey lapangan pada beberapa rumah sakit dan laboratorium medis.
3. Pengusulan Framework Dari hasil studi teoritis dan lapangan maka selanjutnya diusulkan framework untuk dapat mencapai tujuan dari penelitian ini yaitu rekonstruksi
pencitraan medis gambar 3D (reconstruction 3D medical image) dengan memanfaatkan kemampuan GPU dan mencapai akselerasi waktu pemrosesan.
3.2
Kegiatan Tahun II Pada tahapan kedua merupakan kelanjutan dari kegiatan tahin pertama. Kegiatan yang dilakukan pada penelitian tahap kedua lebih memfokuskan pada pengembangan prototipe dari framework yang diusulkan. 1. Implementasi Dalam penelitian ini, akan digunakan hasil- hasil scan medical image dari para pasien sebagai data untuk divisualisasikan. Bahasa Pemrograman yang akan digunakan adalah C++ dengan CUDA SDK 4. 2. Analisa Hasil Setelah implementasi visualisasi selesai dilakukan, maka selanjutnya adalah melakukan evaluasi dari hasil rekonstruksi 3D medical image. Dari evaluasi dapat diketahui apakah sudah memenuhi hasil yang diharapkan.
Transformasi 2G ke 3D
Medical Image
CT-Scan
Rekonstruksi 3D
Algoritma Marching Cube
MRI
Akselerasi Rekonstruksi 3D Medical Image Parallel Processing
PC
CUDA
Digitalisasi Medical Image
GPGPU Technology
Gambar 4. Roadmap akselerasi marching cube dengan GPGPU untuk pencitraan medis
BAB IV.
PEMBIAYAAN
Berikut ini merupakan pembiayaan penelitian secara garis besar, sedangkan rincian pembiyaan diberikan dalam lampiran.
Usulan Anggaran Penelitian Hibah Bersaing No
Jenis Pengeluaran
1
Honor Tim Peneliti
2
Peralatan: Sewa
3
Bahan Habis Pakai
4 5
Usulan Tahun I
Usulan Tahun II
(Rp)
(Rp)
8.000.000
8.000.000
32.500.000
33.500.000
4.050.000
4.050.000
Perjalanan
12.500.000
12.500.000
Lain- lain
10.950.000
10.950.000
Total Anggaran
68.000.000
69.000.000
BAB V. JADWAL PELAKSANAAN NO KEGIATAN
TRI WULAN Tahun I I
1
Studi Teoritis
2
Studi Lapangan
3
Penyusunan Konseptual Desain Penelitian
4
Desain Framework
5
Pengembangan Framework
6
Laporan Tahun I
7
Uji Validasi Framework
8
Analisa Hasil
9
Laporan Ahir
II
III
Tahun II IV
I
II
III
IV
DAFTAR PUSTAKA
Globa, L. S., Iermakova et. al (2008).Parallel Computing Process Algorithm.Computing, 1, 467-469. Lindholm.Erik et. al (2008). NVIDIA TESLA : A Unified Graphics And Computing Architecture Computing Architecture. Its Scalable Parallel Aarray Of Processor Is. Ieee Micro, 39-55.
Nickolls, J. (2011). NVIDIA CUDA software and GPU parallel computing architecture. Microprocessor Forum, May. Patterson, D. (2010). In Praise of Programming Massively Parallel Processors : A Hands-on Approach. Parallel Computing.
Perumalla, K. S. (2006). Discrete-event execution alternatives on general purpose graphical processing units (GPGPUs).Work.IEEE Computer Society.
Agung Alfiansyah. (2008). Perkembangan Dunia Kedokteran: Digitalisasi Citra Medis Segera Terwujud, Bernas FTI UII
Mulyono Notosiswoyo. Pemanfaatan Magnetic Resonance Imaging (MRI) Sebagai Sarana Diagnosa Pasien, Media XIV: 8-13
Archirapatkave, Virasin et. al. (2011). GPGPU Acceleration Algorithm for Medical Image Reconstruction, Ninth IEEE International Symposium on Parallel and Distributed Processing with Applications