Deteksi Kanker Paru Menggunakan Jaringan Syaraf Tiruan pada Citra CT Scan


Kanker paru-paru adalah salah satu jenis kanker yang paling mematikan di seluruh dunia. Deteksi dini kanker paru-paru sangat penting untuk meningkatkan tingkat kelangsungan hidup pasien. Salah satu metode yang dapat digunakan untuk deteksi kanker paru-paru adalah dengan menggunakan teknologi pengolahan citra medis dengan modalitas CT scan. Dalam penelitian ini, akan dijelaskan bagaimana pengolahan citra, khususnya ekstraksi fitur Gray-Level Co-occurrence Matrix (GLCM), dan penggunaan jaringan syaraf tiruan (neural networks) dapat digunakan untuk deteksi kanker paru-paru pada citra CT scan.

Lung Cancer Image (http://www.aboutcancer.com)

Langkah-Langkah Penelitian

1. Akuisisi Citra CT Scan

Langkah pertama dalam penelitian ini adalah mengumpulkan citra CT scan dari pasien yang relevan. Citra ini akan menjadi bahan dasar untuk analisis selanjutnya.

2. Preprocessing Citra

Preprocessing adalah langkah awal dalam pengolahan citra. Dalam konteks ini, citra CT scan akan mengalami beberapa tahap preprocessing, seperti penghilangan noise, normalisasi intensitas, dan pemberian kontras.

3. Ekstraksi Fitur

Ekstraksi fitur merupakan langkah kunci dalam penelitian ini. Fitur-fitur yang diekstraksi meliputi fitur GLCM (Contrast, Correlation, Energy, Homogeneity) dan fitur bentuk Area Ratio:

  • Contrast: Mengukur variasi intensitas antara pasangan piksel.
  • Correlation: Mengukur ketergantungan antara pasangan piksel.
  • Energy: Mengukur seberapa seragam distribusi intensitas dalam citra.
  • Homogeneity: Mengukur seberapa seragam distribusi pasangan intensitas.
  • Area Ratio: Mengukur rasio area tumor terhadap area keseluruhan citra.

4. Pembentukan Data Latih dan Data Uji

Data yang telah di-ekstraksi fiturnya akan dibagi menjadi data latih dan data uji. Data latih digunakan untuk melatih jaringan syaraf tiruan, sedangkan data uji digunakan untuk menguji kinerja model.

5. Penggunaan Jaringan Syaraf Tiruan

Dalam penelitian ini, kami akan menggunakan jaringan syaraf tiruan (neural networks) untuk melakukan klasifikasi. Jaringan syaraf tiruan adalah model machine learning yang sangat efektif dalam mengenali pola-pola kompleks dalam data.

6. Pelatihan Model

Data latih akan digunakan untuk melatih model jaringan syaraf tiruan. Model ini akan belajar untuk mengenali pola-pola yang berkaitan dengan kanker paru-paru berdasarkan fitur-fitur yang diekstraksi.

7. Evaluasi Kinerja Model

Setelah model dilatih, akan diuji kinerjanya menggunakan data uji yang terpisah untuk mengevaluasi sejauh mana model dapat mendeteksi kanker paru-paru dengan benar.

Halaman Sistem Deteksi Kanker Paru Menggunakan Jaringan Syaraf Tiruan pada Citra CT Scan

Berikut ini merupakan pemrograman MATLAB untuk deteksi kanker paru-paru menggunakan jaringan syaraf tiruan pada citra CT scan.

% Memuat dataset citra CT scan (contoh: datasetCTScan.mat)
load('datasetCTScan.mat');

% Preprocessing Citra (contoh: normalisasi intensitas)
for i = 1:numel(ctImages)
    ctImages{i} = imadjust(ctImages{i});
end

% Ekstraksi Fitur GLCM
numImages = numel(ctImages);
glcmFeatures = zeros(numImages, 5); % 5 fitur GLCM: Contrast, Correlation, Energy, Homogeneity, Area Ratio

for i = 1:numImages
    glcm = graycomatrix(ctImages{i}, 'Offset', [0 1; -1 1; -1 0; -1 -1], 'NumLevels', 256, 'Symmetric', true);
    stats = graycoprops(glcm, {'contrast', 'correlation', 'energy', 'homogeneity'});
    glcmFeatures(i, 1) = stats.Contrast;
    glcmFeatures(i, 2) = stats.Correlation;
    glcmFeatures(i, 3) = stats.Energy;
    glcmFeatures(i, 4) = stats.Homogeneity;

    % Menghitung Area Ratio (bisa disesuaikan dengan dataset)
    tumorArea = sum(ctImages{i}(:) > threshold); % Misalnya, ambang batas intensitas
    totalArea = numel(ctImages{i});
    glcmFeatures(i, 5) = tumorArea / totalArea;
end

% Pembentukan Data Latih dan Data Uji
% Pastikan Anda memiliki label yang sesuai untuk setiap citra (0: Normal, 1: Kanker)

% Split data menjadi data latih dan data uji (contoh: 80% data latih, 20% data uji)
rng(42); % Untuk hasil yang reprodusibel
cv = cvpartition(numImages, 'HoldOut', 0.2);
idxTrain = training(cv);
idxTest = test(cv);

XTrain = glcmFeatures(idxTrain, :);
YTrain = labels(idxTrain);

XTest = glcmFeatures(idxTest, :);
YTest = labels(idxTest);

% Pelatihan Jaringan Syaraf Tiruan (Neural Network)
net = patternnet(50); % Jaringan syaraf tiruan dengan 50 neuron dalam lapisan tersembunyi
net.trainParam.epochs = 100; % Jumlah epoch pelatihan
net = train(net, XTrain', YTrain');

% Prediksi dengan Model
YTestPredicted = net(XTest');

% Evaluasi Kinerja Model (contoh: menggunakan Confusion Matrix)
YTestPredictedBinary = round(YTestPredicted); % Mengonversi prediksi ke biner
confusionMatrix = confusionmat(YTest, YTestPredictedBinary);
accuracy = sum(diag(confusionMatrix)) / sum(confusionMatrix(:)); % Akurasi

fprintf('Akurasi Model: %.2f%%\n', accuracy * 100);
Sistem Deteksi Kanker Paru Menggunakan Jaringan Syaraf Tiruan pada Citra CT Scan

Penggunaan jaringan syaraf tiruan dan ekstraksi fitur GLCM pada citra CT scan adalah pendekatan yang sangat menjanjikan dalam deteksi kanker paru-paru. Dengan metode ini, kita dapat secara akurat mengidentifikasi potensi kasus kanker paru-paru pada pasien dengan cepat dan efisien. Teknologi ini dapat membantu dalam meningkatkan tingkat deteksi dini kanker paru-paru, sehingga memungkinkan tindakan medis yang tepat waktu dan peningkatan prospek kesembuhan pasien.

Posted on September 4, 2023, in Pengenalan Pola, Pengolahan Citra and tagged , , , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment