📚 Belajar Pengolahan Citra Digital

Dilengkapi 7 gambar dan diagram buatan Python. Penjelasan lengkap, kritis, dan berbahasa sederhana dari slide "Introduction to Image Processing" (Agus Harjoko, DCSE/DIKE UGM). Buku acuan: Gonzalez & Woods, Digital Image Processing, edisi ke-4 (2018).

1. Dasar: apa itu citra digital?

Citra digital adalah kumpulan angka yang tersusun dalam baris dan kolom. Setiap angka disebut piksel (picture element) dan menyatakan tingkat terang di titik tersebut. Pada citra grayscale 8-bit, nilainya 0 (hitam) sampai 255 (putih). Citra berwarna biasanya punya tiga lapis angka: merah, hijau, biru (RGB).

AnalogiBayangkan lembar kertas kotak-kotak (seperti buku matematika). Tiap kotak diwarnai dengan satu tingkat keabuan. Dari jauh tampak seperti gambar utuh, padahal isinya hanya tabel angka. Pengolahan citra pada dasarnya adalah mengolah tabel angka itu dengan rumus matematika.
Citra dan nilai pikselnya
Gambar 1. Citra hanyalah tabel angka 0-255 (0 = hitam, 255 = putih). Di tepi objek, angka berubah drastis.

Definisi dan cakupan pengolahan citra

Pengolahan citra digital (DIP) adalah memakai komputer untuk memanipulasi citra, mulai dari memperbaiki tampilan sampai mengenali isinya. Di buku Gonzalez & Woods, ada dua jenis hasil proses:

Spektrum elektromagnetik dan pembentukan citra

Citra dibentuk dari energi gelombang elektromagnetik yang dipantulkan atau dipancarkan objek. Cahaya tampak hanyalah sebagian kecil spektrum. Sinar gamma dipakai pada kedokteran nuklir, sinar-X pada rontgen, ultraviolet pada mikroskopi, inframerah pada kamera termal, dan gelombang radio pada MRI. Karena itu pengolahan citra dipakai di kedokteran, pertanian, industri, astronomi, keamanan, dan banyak bidang lain.

Spektrum elektromagnetik
Gambar 2. Spektrum elektromagnetik. Cahaya tampak hanya sempit; modalitas lain menghasilkan citra untuk keperluan berbeda.
CatatanSlide hanya menyebut topik ini di Objectives (slide 3) tanpa isi. Isi lengkapnya ada di Bab 1 buku, jadi bacalah bab itu.

2. Peta besar: alur pengolahan citra

Slide 7 menampilkan diagram struktur buku. Anggap ini peta seluruh mata kuliah:

Problem domain→Akuisisi→Filtering & enhancement→Restorasi→Wavelet / warna / kompresi→Morfologi→Segmentasi→Ekstraksi fitur→Klasifikasi pola

Di tengah diagram ada kotak Knowledge base (basis pengetahuan) yang berhubungan dengan setiap tahap. Artinya setiap proses boleh memanfaatkan pengetahuan tentang masalah yang sedang diselesaikan, misalnya "citra ini rontgen paru-paru".

Konsep kunciDi tahap awal, output berupa citra. Mulai dari morfologi ke kanan, output berupa atribut citra (bentuk, ukuran, label). Slide 10 menyebut morfologi sebagai awal transisi ini.

3. Tiap tahap di buku (slide 8-12)

3.1 Image acquisition (akuisisi citra)

Langkah memperoleh citra digital dari kamera, scanner, atau sensor lain. Kadang sudah termasuk prapemrosesan sederhana seperti mengubah ukuran (scaling). Kualitas hasil akhir sangat dipengaruhi tahap ini: citra buruk di awal sulit diperbaiki di akhir (prinsip garbage in, garbage out).

3.2 Filtering dan enhancement (peningkatan kualitas)

Memanipulasi citra agar lebih cocok untuk aplikasi tertentu. Slide menyebutnya problem oriented dan subjektif. Contoh: menaikkan kontras, mempertajam tepi, atau menghaluskan citra. Hasil yang "bagus" bergantung pada tujuan dan penilaian manusia.

AnalogiFilter foto di Instagram. Tidak ada satu filter yang benar secara matematis, hanya yang cocok dengan selera dan tujuan.
Histogram equalization
Gambar 3. Enhancement: meratakan histogram menaikkan kontras. Hasilnya "lebih jelas" menurut tujuan kita, itulah sifat subjektifnya.
Perbandingan mean dan median filter
Gambar 4. Filter linear (mean) hanya menyamarkan bintik dan mengaburkan tepi. Filter nonlinear (median) membuangnya dengan tepi tetap tajam.

3.3 Image restoration (pemulihan citra)

Mengembalikan citra ke kondisi aslinya dengan memodelkan penyebab kerusakan (blur karena kamera bergoyang, noise sensor). Slide menyebutnya objektif karena berbasis model matematika atau probabilistik degradasi.

EnhancementRestoration
SifatSubjektifObjektif
DasarKebutuhan aplikasi, seleraModel degradasi (matematis/probabilistik)
Pertanyaan"Bagaimana agar lebih enak dilihat/dipakai?""Citra asli sebelum rusak seperti apa?"
ContohMenaikkan kontrasMenghilangkan blur gerak dengan model blur yang diketahui

3.4 Wavelet dan transformasi lain

Wavelet adalah fondasi untuk menyajikan citra pada berbagai tingkat resolusi (dari gambaran kasar sampai detail halus). Dipakai untuk kompresi data dan representasi piramida. Transformasi lain termasuk transformasi Fourier, yang melihat citra dari sisi frekuensi: bagian halus berfrekuensi rendah, tepi dan detail berfrekuensi tinggi.

3.5 Color image processing

Mencakup model warna (RGB, HSV, dan lain-lain) serta pemrosesan dasar warna. Warna sering menjadi dasar untuk mengambil fitur penting, misalnya mendeteksi buah matang dari warnanya.

3.6 Compression dan watermarking

3.7 Morphological processing

Alat untuk mengambil komponen citra yang berguna untuk menggambarkan bentuk, dengan operasi dasar seperti erosi dan dilasi. Inilah titik awal peralihan dari "output citra" ke "output atribut".

3.8 Segmentation (segmentasi)

Membagi citra menjadi bagian atau objek penyusunnya, misalnya memisahkan daun dari latar belakang. Slide menekankan:

Segmentasi dan RoI
Gambar 5. Pre-processing sampai segmentasi: threshold memisahkan objek dari latar, morfologi membersihkan bintik, hasilnya RoI (kotak merah) yang berisi satu objek.

3.9 Feature extraction (ekstraksi fitur)

Hampir selalu dilakukan setelah segmentasi. Terdiri dari dua bagian yang sering tertukar:

Feature detectionFeature description
Menemukan fitur di citra, wilayah, atau batasMemberi atribut kuantitatif pada fitur yang ditemukan
Contoh: menemukan sudut (corner)Contoh: menyatakan sudut itu dengan orientasi dan lokasinya

Deskriptor yang baik harus tidak peka terhadap perubahan skala, translasi, rotasi, iluminasi, dan sudut pandang. Artinya, benda yang sama tetap menghasilkan angka fitur yang mirip walau difoto dari jarak, posisi, atau cahaya berbeda.

3.10 Image pattern classification

Memberi label pada objek berdasarkan deskriptor fiturnya (misalnya "kendaraan"). Pendekatan klasik: minimum distance, korelasi, Bayes classifier. Pendekatan modern: deep neural network dan deep convolutional neural network (CNN).

4. Alur yang dipakai di mata kuliah ini (slide 13-18)

Pre-processing→Segmentation→Feature extraction→Feature selection→Feature matching

4.1 Pre-processing

Mengapa penting? Algoritma pembanding butuh data yang "setara". Foto yang satu 4000 piksel dan sangat gelap, yang lain 200 piksel dan terang, tidak adil dibandingkan langsung.

4.2 Segmentation

Memecah data menjadi segmen, dengan hasil RoI (Region of Interest), yaitu wilayah yang berisi satu objek yang ingin dianalisis.

4.3 Feature extraction

Fitur bergantung pada jenis data. Fitur yang baik: distinguishing (membedakan kelas satu dengan lain), robust (stabil), jumlahnya sedikit, dan tidak berkorelasi (tidak saling mengulang informasi). Contoh fitur citra: warna, bentuk, topologi, tekstur.

4.4 Feature selection

Jumlah fitur harus pas: terlalu sedikit tidak cukup membedakan, terlalu banyak membuat proses berat dan rawan overfitting. Sebagian fitur lebih penting dari yang lain, sehingga dipilih yang signifikan memakai PCA, decision tree, dan sejenisnya.

Ilustrasi PCA
Gambar 6. PCA mencari arah dengan variasi terbesar. Satu sumbu PC1 sudah mewakili hampir semua informasi dari dua fitur yang saling berkorelasi.

4.5 Feature matching

UkuranIntinya
Cosine coefficient (kemiripan)Mengukur sudut antara dua vektor fitur. Nilai makin dekat 1 berarti makin mirip, tanpa peduli panjang vektor.
Euclidean distance (jarak)Jarak "garis lurus" antar dua titik fitur: √Σ(aᵢ−bᵢ)². Makin kecil berarti makin mirip.
Mahalanobis distance (jarak)Seperti Euclidean tetapi memperhitungkan sebaran dan korelasi antar fitur, sehingga adil untuk fitur dengan skala berbeda.
Structural properties, korelasi, string matchingPencocokan berdasarkan struktur, pola hubungan, atau urutan karakter/kode.
AnalogiEuclidean: mengukur jarak dua kota pakai penggaris di peta. Mahalanobis: mengukur jarak sambil sadar bahwa satu arah punya "medan" lebih berat dari arah lain. Cosine: hanya membandingkan arah jalan, bukan seberapa jauh.
Ukuran jarak dan kemiripan
Gambar 7. Kiri: Q2 lebih dekat menurut Euclidean tetapi lebih jauh menurut Mahalanobis, karena menyimpang melawan arah sebaran kelas. Kanan: A dan B searah sehingga cosine = 1 walau panjangnya beda.

5. Alat matematika yang akan dipelajari (slide 4)

6. Catatan kritis (membaca slide dengan mata tajam)

1. Slide hanyalah kerangkaSlide ini pengantar berupa daftar poin. Banyak istilah (DFT, wavelet, Mahalanobis, PCA) tidak dijelaskan. Jangan berhenti di slide, karena penjelasan sebenarnya ada di buku dan pertemuan berikutnya.
2. Definisi restoration agak membingungkanSlide 8 menulis restoration sebagai "improving the appearance of an image", yang mirip definisi enhancement. Pembeda yang benar ada di poin berikutnya: restoration objektif dan berbasis model degradasi. Pegang pembeda itu.
3. Dua alur berbedaSlide 7-12 mengikuti alur buku (akuisisi sampai klasifikasi), sedangkan slide 13-18 mengikuti alur kuliah (pre-processing sampai matching). Keduanya mirip tetapi tidak sama, misalnya feature selection dan matching tidak ada di diagram buku. Jangan dicampur saat menjawab ujian.
4. Contoh fitur di slide 16 bukan khusus citra"Term, term frequency, term weight" dan "spectrum" berasal dari pengolahan teks dan sinyal. Slide ini tampaknya dipakai ulang dari materi lain. Untuk citra, ingat fitur warna, bentuk, topologi, dan tekstur.
5. PCA: seleksi atau ekstraksi?Slide 17 menaruh PCA di feature selection. Secara ketat, PCA membuat fitur baru (kombinasi fitur lama) sehingga lebih tepat disebut reduksi dimensi/ekstraksi fitur. Seleksi sejati memilih sebagian fitur asli (misalnya lewat decision tree). Alasan: kalau ditanyakan, jawab sesuai slide dosen, tetapi pahami bedanya.
6. Pendekatan klasik vs deep learningSlide 12 menyebut keduanya. Alur kuliah (ekstraksi fitur manual lalu matching) adalah gaya klasik. CNN modern sering menggabungkan ekstraksi fitur dan klasifikasi dalam satu model, sehingga tahap manual terasa "hilang". Metode klasik tetap penting karena lebih mudah dijelaskan, butuh data lebih sedikit, dan menjadi dasar memahami deep learning.
7. Detail kecil"Water marking" seharusnya "watermarking", "Quizes" seharusnya "quizzes", dan "Segmentation" didefinisikan sebagai tugas sulit tanpa menjelaskan mengapa (sebabnya: variasi cahaya, objek bertumpuk, latar kompleks).

7. Latihan (klik untuk melihat jawaban)

1. Apa beda enhancement dan restoration?

Enhancement subjektif, berorientasi aplikasi, tujuannya membuat citra lebih berguna. Restoration objektif, memakai model matematis/probabilistik degradasi untuk memulihkan citra asli.

2. Apa beda feature detection dan feature description?

Detection menemukan fitur (misal sudut). Description memberi atribut kuantitatif pada fitur itu (misal orientasi dan lokasi).

3. Mengapa normalisasi ukuran dan intensitas diperlukan?

Agar citra yang dibandingkan berada pada skala yang setara, sehingga perbedaan yang terukur benar-benar berasal dari isi citra, bukan dari ukuran atau pencahayaan.

4. Sebutkan 4 ciri fitur yang baik.

Distinguishing, robust, jumlah sedikit, dan tidak berkorelasi.

5. Mengapa segmentasi yang buruk merugikan tahap berikutnya?

Fitur dihitung dari RoI hasil segmentasi. Jika RoI salah (terpotong atau berisi latar), fitur salah, sehingga matching atau klasifikasi ikut salah.

6. Kapan cosine lebih cocok daripada Euclidean?

Saat yang penting adalah arah/pola fitur, bukan besarnya nilai, misalnya dua citra dengan pola sama tetapi satu lebih terang.

7. Kritis: mengapa PCA dipertanyakan sebagai "feature selection"?

Karena PCA membentuk fitur baru dari kombinasi fitur asli, bukan memilih subset fitur asli.

8. Checklist belajar

Langkah berikutnya: pilih satu topik (histogram, filtering, atau segmentasi) dan pelajari lebih dalam bersama contoh kode.