BAB II
TINJAUAN PUSTAKA
2.1 Pengolahan Citra Digital
Citra digital adalah representasi digital yang memetakan suatu sinyal pada bidang dua dimensi dalam bentuk array, yang berisi nilai-nilai real maupun nilai kompleks dalam bit tertentu. Istilah citra dapat didefinisikan sebagai fungsi 𝑓(𝑥, 𝑦) yang merupakan juga amplitudo berada pada koordinat (𝑥, 𝑦). Nilai 𝑥 dan 𝑦 merupakan koordinat spasial dalam yang berukuran 𝑀-baris dan 𝑁-kolom [17]. Citra digital tersusun atas kotak-kotak kecil yang dikenal sebagai piksel akibat proses diskritisasi spasial dan digitasi intensitas. Jumlah piksel pada suatu citra digital akan mempengaruhi kualitas citra yang disebut sebagai resolusi citra. Semakin tinggi jumlah piksel yang dimiliki pada suatu citra maka kualitas gambarnya akan semakin bagus dan semakin halus.
Setiap piksel pada suatu citra dapat mewakili sebuah warna dasar red, green, and blue (RGB) dengan intensitas dan kombinasi tertentu.
Pesatnya perkembangan teknologi memungkinkan citra yang telah diperoleh dapat diolah dengan berbagai metode yang disebut sebagai pengolahan citra. Proses ini menghasilkan keluaran dalam bentuk citra dengan menerima masukan berupa citra juga. Selama proses ini berlangsung, maka akan terdapat kegiatan yang dilakukan untuk memperbaiki kualitas dan informasi yang ada dalam suatu citra agar mudah diinterpretasikan dan dikenali oleh manusia. Pada prinsipnya, pengolahan citra telah banyak diaplikasikan dalam berbagai bidang ilmu pengetahuan seperti bidang medis yang mengadopsi teknologi image analysis untuk keperluan cumputed tomography (CT) [18] yang dapat digunakan untuk identifikasi penyakit tulang [19] dan hati [20]
hingga deteksi tumor dan kanker [21]. Adapun pemanfaatan dalam hal penginderaan jauh seperti citra satelit mengenai geospasial [22], geo-location [23], dan geo-three dimensional (3D) information [24] yang memuat informasi penting seperti pertanian,
6
geologi bumi, geografi wilayah, maupun kondisi perairan. Lebih lanjut, pengolahan citra digital juga digunakan pada bidang pengamanan sistem biometrika seperti menggunakan wajah [25], sidik jari [26], hingga iris [27] untuk mengidentifikasi seseorang. Selain itu, pengolahan citra digital juga digunakan dalam kehidupan sehari- hari seperti pemampatan yang disebut sebagai compression image dan video untuk membantu mengurangi ruang penyimpanan perangkat [28], hingga filter kecantikan pada kamera ponsel [29]. Secara umum, alasan perlu dilakukan pengolahan terhadap citra digital adalah untuk memperoleh hasil citra yang memiliki pengaruh derau cukup rendah, sehingga dapat memperkirakan kondisi citra yang sebenarnya dengan menggunakan metode tertentu. Alasan lainnya adalah untuk memperoleh karakteristik tertentu dari suatu citra agar memiliki kesamaan secara visual untuk tahap lebih lanjut dalam pemrosesan citra. Berkaitan dengan itu, kumpulan citra yang terdiri dari berbagai jenis pola dapat membentuk sekumpulan data. Beberapa bagian data pola dari total keseluruhan bisa ditentukan nilai persentasenya dengan menggunakan formula [30]
𝑃 (%) = 𝑛𝑝
𝑛𝑚× 100, (2.1)
dimana 𝑃 adalah persentase dalam satuan persen (%). Istilah persentase merupakan nilai yang menunjukan bagian dari per-seratus. Selanjutnya, 𝑛𝑝 adalah beberapa bagian nilai dari total nilai, dan 𝑛𝑚 adalah nilai total keseluruhan. Lebih lanjut, beragam pola dengan rincian berbeda menjadi kumpulan data bisa diketahui nilai rata-ratanya (mean). Dalam konteks ini, nilai rata-rata merupakan jumlah rata-rata dari sekumpulan data yang memberikan gambaran untuk mewakili suatu kumpulan data. Adapun formulasi yang digunakan [31] untuk mencari nilai rata-rata ditunjukkan oleh
𝑋̅ =∑𝑛𝑖=1𝑋𝑖
𝑛 , (2.2)
dimana ∑𝑛𝑖=1𝑋𝑖 adalah jumlah nilai data sampel dan 𝑛 dalah banyaknya data yang dijadikan sampel.
7 2.2 Computer Vision
Computer vision merupakan cara suatu mesin untuk melihat seperti layaknya manusia.
Telah diketahui secara umum bahwa manusia bisa melihat objek dua dimensi atau tiga dimensi sangat mudah. Meskipun demikian, banyak informasi tentang rincian objek yang diperoleh dengan hanya sekali pandang. Lebih lanjut, manusia dapat merasakan emosi yang dimiliki oleh objek yang dipandang. Berbeda halnya dengan manusia, vision mode menjadi hal yang sangat sulit bagi mesin karena harus bekerja untuk menggali informasi mengenai hal yang diproses sebagai terjemahan atas pengolahan objek. Oleh karena itu, diperlukan penggunaan model berbasis fisika dan probabilistik untuk membedakan antara solusi potensial, karena perlu adanya rekontruksi terhadap propertinya seperti bentuk, iluminasi, dan warna [32].
Meskipun merupakan hal yang sulit bagi sebuah mesin, metode computer vision telah banyak digunakan dalam berbagai aspek kehidupan. Contoh penerapannya adalah sebagai berikut [32]
1. Optical character recognition (OCR)
Digunakan untuk membaca kode pos tulisan tangan [33] pada surat dan automatic number plate recognition (ANPR) [34].
2. Machine inspection
Pemeriksaan suku cadang untuk melihat kualitas menggunakan stereo vision dengan iluminasi khusus untuk mengukur toleransi pada sayap pesawat atau suku cadang mobil serta mencari cacat pada baja tuang menggunakan penglihatan sinar-X [35].
3. Retail
Pengenalan objek untuk jalur checkout otomatis [36]. Sistem ini dapat membantu mengurangi interaksi konsumen dengan petugas kasir.
8 4. Automotive safety
Sistem ini memberikan dukungan keamanan saat berkendara bagi penggunanya seperti membantu mendeteksi pejalan kaki saat di jalanan atau objek lain yang menghalangi kendaraan saat sedang melaju yang telah diterapkan pada [37].
2.2.1 Anaconda Environment
Software bundle Anaconda Individual Edition versi 1.10.0 adalah software bersifat open-source dan dapat diunduh secara gratis. Perangkat lunak ini menyediakan utilitas untuk building, mendistribusikan, menginstal, memperbarui, dan mengelola perangkat lunak dengan menggunakan bahasa pemrograman Python [38]. Software ini sering digunakan pada project dalam machine learning (ML), visualisasi data, data statistik, hingga robotika. Beberapa paket yang tersedia pada bundle software ini antara lain sebagai berikut:
1. Jupyterlab.
2. SciPy.
3. Spyder.
4. Numpy.
5. Panda.
6. Python.
7. Scikit-learn.
8. Pytorch.
9. Matplotlib.
10. TensorFlow.
2.2.2 OpenCV
Open source computer vision library adalah kepanjangan dari OpenCV merupakan sebuah library visi komputer yang digunakan sebagai metode penglihatan layaknya manusia. Library ini disediakan untuk pembelajaran mesin dan bersifat open-source
9
yang dapat diunduh secara gratis. Oleh karena itu, kelompok penelitian, perusahaan, dan badan pemerintah menggunakan OpenCV secara luas. Selain itu, dengan lebih dari 2500 algoritma tentang serangkaian komputer visi klasik dan canggih, sehingga bisa dioptimalkan sebagai pembelajaran mesin melalui library ini [39]. Beberapa penggunaan algoritma diterapkan untuk mendeteksi dan mengenali wajah [40], mengidentifikasi objek [41], hingga melacak gerakan kamera [42]. Berbagai macam algoritma dan library ditulis menggunakan C/C++ sehingga memiliki keunggulan yaitu kode yang sederhana [43], sehingga dapat dioptimalkan untuk pemanfaatan eksekusi pada model program berbasis ML dan artificial intelligence (AI) [39]. Adapun software dan sistem operasi yang ditunjukkan pada Tabel 2.1 dapat digunakan untuk mendukung penggunaan library ini.
Tabel 2.1 Daftar software dan sistem operasi yang mendukung library OpenCV [39]
Software
C++
Python Java MATLAB
Sistem Operasi
Windows Linux Mac OS Android
2.2.3 Raspberry Pi 3 Model B
Raspberry Pi 3 Model B merupakan jenis mini personal computer (PC) dari generasi ketiga. Dibekali dengan processor berkualitas lebih tinggi dan dapat dikoneksikan melalui wireless dual band, sehingga mendukung jaringan 802.11ac. Jenis chipset yang
10
digunakan adalah Broadcom BCM2873B0 Cortex A53 64 bit dengan kemampuan hingga 1,4 GHz untuk mendukung kinerja yang jauh lebih optimal. Perangkat ini merupakan seri terbaru yang diluncurkan pada bulan Februari 2016 setelah Raspberry Pi 2. Spesifikasi dan tampilan dari Raspberry Pi 3 Model B ini ditunjukkan oleh Gambar 2.3 dan Tabel 2.2.
Tabel 2.2 Spesifikasi Rasberry Pi 3 Model B
Nama Komponen Rasberry Pi 3 Model B
CPU
• Broadcom BCM2387 chipset
• 1,2 GHz Quad Core ARM Cortex-A53 64 bit
GPU
• Dual Core Video Core IV Multimedia Co-Processor
• Open GL ES 2.0
• Akuisisi Data-Accelerated Open VG dan 1080p30 H.264 high- profile decoder
Memori synchronous dynamic access
memory (SDRAM) 1 GB
Daya Micro universal serial bus (USB) power
source sampai 2.5 A
Sistem Operasi • Micro SD
• Linux atau Windows 10 IoT
Ethernet 10/100 Base T-Ethernet
Dimensi 85 × 56 × 17 mm3
11 2.2.4 Kamera Nemesis A80
Jenis komponen yang digunakan untuk mendukung subsistem kamera ini adalah Nemesis A80 dengan spesifikasi dalam Tabel 2.3 yang ditunjukkan pada Gambar 2.4.
Dilengkapi dengan resolusi high definition (HD) 960P video recording pada 30 frames per second (FPS) membuat ketajaman menjadi sangat tinggi dan auto focus yang cukup akurat. Kamera ini memiliki dimensi yang pas karena tidak terlalu besar maupun kecil dan dengan desain kabel yang memiliki port USB tipe 2.0, sehingga dapat dihubungkan dengan board Raspberry Pi 3 model B. Selain itu, jenis kamera ini memiliki kepekaan bersifat HD terhadap light correction.
Tabel 2.3 Spesifikasi Nemesis A80
Nama Komponen Nemesis A80
Resolusi 1280 × 720 piksel
Jenis Sensor Complementary metal oxide semiconductor (CMOS)
Frame Rate 30 FPS
Port USB 2.0
Dimensi 2,95 × 0,98 × 1,38 inch3
Gambar 2.1 Raspberry Pi 3 Model B
12
Gambar 2.2 Nemesis A80 2.2 Pengolahan Citra Warna
Citra warna RGB adalah susunan piksel warna pada lokasi spasial tertentu yang mengandung komponen warna merah, hijau, dan biru. Setiap warna ini terdiri atas 8 bit, sehingga satu warna memiliki 256 kemungkinan warna seperti ditunjukkan oleh Gambar 2.3. Berdasarkan jenisnya warna dibedakan menjadi.
1. Warna Primer
Commission on Illumination merupakan suatu lembaga yang membakukan warna pada tahun 1931 mendefinisikan nilai panjang gelombang tertentu sebagai warna primer yaitu R = 700 nm, G = 561.1 nm, dan B = 435.8 nm, dimana R adalah red, G adalah green, dan B adalah blue.
2. Warna Sekunder
Warna ini adalah warna yang diperoleh melalui kombinasi dari warna primer dengan perbandingan tertentu, seperti G + B = 𝐶𝑦𝑎𝑛, R + C = 𝑌𝑒𝑙𝑙𝑜𝑤, dan R + B = 𝑀𝑎𝑔𝑒𝑛𝑡𝑎.
13
Gambar 2.3 Gradasi warna RGB 2.2.1 HSV
Metode HSV merupakan bagian dari pengolahan citra warna yang digunakan manusia untuk memilih warna. Ruang warna HSV didasarkan pada koordinat silindris dari pengembangan sebuah persamaan yang semula menggunakan koordinat kartesian menjadi koordinat silindris untuk memetakan nilai-nilai warna RGB [44]. Formulasi yang digunakan utuk mengubah citra RGB menjadi HSV [45] ditunjukkan pada persamaan berikut
𝑅′ = 𝑅 ∕ 255; 𝐺′ = 𝐺 ∕ 255; 𝐵′ = 𝐵 ∕ 255, (2.3)
𝐶𝑀𝐴𝑋 = 𝑀𝐴𝑋(𝑅′, 𝐺′, 𝐵′), (2.4)
𝐶𝑀𝐼𝑁 = 𝑀𝐼𝑁(𝑅′, 𝐺′, 𝐵′), (2.5)
∆= 𝐶𝑀𝐴𝑋 − 𝐶𝑀𝐼𝑁, (2.6)
14
dimana 𝑅′, 𝐺′, dan 𝐵′ adalah nilai intesitas warna yang diinginkan dari warna dasar red, green, dan blue. Kemudian 𝐶𝑀𝐴𝑋 adalah batas warna atas range dari sebuah warna dan 𝐶𝑀𝐼𝑁 adalah batas bawah dari range warna. Selisih nilai dari 𝐶𝑀𝐴𝑋 dan 𝐶𝑀𝐼𝑁 disimbolkan sebagai ∆, sehingga demikian nilai HSV dapat ditentukan.
𝐻 = {
60° × (𝐺′−𝐵′∆ 𝑚𝑜𝑑6) , 𝐶𝑀𝐴𝑋 = 𝑅′, 60° × (𝐵′−𝑅′
∆ + 2) , 𝐶𝑀𝐴𝑋 = 𝐺′, 60° × (𝑅′−𝐺′
∆ + 4) , 𝐶𝑀𝐴𝑋 = 𝐵′,
(2.7)
𝑆 = {
0 , ∆= 0,
∆
𝐶𝑀𝐴𝑋 , ∆≠ 0, (2.8)
𝑉 = 𝐶𝑀𝐴𝑋, (2.9)