• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
10
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1. Face Recognition

Face recognition dapat dipandang sebagai masalah klasifikasi pola dimana inputnya adalah citra masukan dan akan ditentukan output yang berupa label kelas dari citra tersebut. Dalam hal ini terdapat dua label kelas, yaitu wajah dan non-wajah. Teknik-teknik pengenalan wajah yang dilakukan selama ini banyak yang menggunakan asumsi bahwa data wajah yang tersedia memiliki ukuran yang sama dan latar belakang yang seragam. Di dunia nyata, asumsi ini tidak selalu berlaku karena wajah dapat muncul dengan berbagai ukuran dan posisi di dalam citra dan dengan latar belakang yang bervariasi. Pendeteksian wajah (face detection) adalah salah satu tahap awal yang sangat penting sebelum dilakukan proses pengenalan wajah (face recognition). Bidang-bidang penelitian yang berkaitan dengan pemrosesan wajah (face processing) adalah [3]:

o Pengenalan wajah (face recognition) yaitu membdaningkan citra wajah masukan dengan suatu database wajah dan menemukan wajah yang paling cocok dengan citra masukan tersebut.

o Autentikasi wajah (face authentication) yaitu menguji keaslian/kesamaan suatu wajah dengan data wajah yang telah diinputkan sebelumnya.

o Lokalisasi wajah (face localization) yaitu pendeteksian wajah namun dengan asumsi hanya ada satu wajah di dalam citra

o Penjejakan wajah (face tracking) yaitu memperkirakan lokasi suatu wajah di dalam video secara real time.

(2)

5

o Pengenalan ekspresi wajah (facial expression recognition) untuk mengenali kondisi emosi manusia.

Tantangan yang dihadapi pada masalah deteksi wajah disebabkan oleh adanya faktor-faktor berikut:

o Posisi wajah. Posisi wajah di dalam citra dapat bervariasi karena posisinya bisa tegak, miring, menoleh, atau dilihat dari samping.

o Komponen-komponen pada wajah yang bisa ada atau tidak ada, misalnya kumis, jenggot, dan kacamata.

o Ekspresi wajah. Penampilan wajah sangat dipengaruhi oleh ekspresi wajah seseorang, misalnya tersenyum, tertawa, sedih, berbicara, dan sebagainya

o Terhalang objek lain. Citra wajah dapat terhalangi sebagian oleh objek atau wajah lain, misalnya pada citra berisi sekelompok orang.

o Kondisi pengambilan citra. Citra yang diperoleh sangat dipengaruhi oleh faktor-faktor seperti intensitas cahaya ruangan, arah sumber cahaya, dan karakteristik sensor dan lensa kamera.

Penelitian dari Nugroho dkk [3] mengelompokkan metode deteksi wajah menjadi empat kategori, yaitu:

1. Knowledge-based method, metode ini kebanyakan digunakan untuk lokalisasi wajah.

2. Feature invariant approach, metode ini kebanyakan digunakan untuk lokalisasi wajah.

3. Template matching method, metode ini digunakan untuk lokalisasi wajah maupun deteksi wajah. 4.

(3)

6

4. Appearance-based method, metode ini kebanyakan digunakan untuk deteksi wajah.

2.2. Metode Viola-Jones

Proses deteksi adanya citra wajah dalam sebuah gambar pada OpenCV, menggunakan sebuah metode yang dipublikasikan oleh Paul Viola dan Michael Jones tahun 2001. Umumnya disebut metode Viola-Jones. Pendekatan untuk mendeteksi objek dalam gambar menggabungkan empat konsep utama :

- Fitur segi empat sederhana yang disebut fitur Haar. - Integral image untuk pendeteksian fitur secara cepat. - Metode machine learning AdaBoost.

- Pengklasifikasi bertingkat (Cascade classifier) untuk menghubungkan banyak fitur secara efisien.

Gambar 2. 1 Contoh fitur pada yang digunakan Viola.

Fitur yang digunakan oleh Viola dan Jones didasarkan pada Wavelet Haar. Wavelet Haar adalah gelombang tunggal bujur sangkar (satu interval tinggi dan

(4)

7

satu interval rendah). Untuk dua dimensi, satu terang dan satu gelap. Selanjutnya kombinasi-kombinasi kotak yang digunakan untuk pendeteksian objek visual yang lebih baik disebut fitur Haar, atau fitur Haarlike, seperti pada gambar 1 di atas menunjukkan fitur yang digunakan dalam pendektesian citra wajah oleh viola dan jones.

Adanya fitur Haar ditentukan dengan cara mengurangi rata-rata piksel pada daerah gelap dari rata-rata piksel pada daerah terang. Jika nilai perbedaannya itu diatas nilai ambang atau treshold, maka dapat dikatakan bahwa fitur tersebut ada.

Untuk menentukan ada atau tidaknya dari ratusan fitur Haar pada sebuah gambar dan pada skala yang berbeda secara efisien, Viola dan Jones menggunakan satu teknik yang disebut Integral Image. Pada umumnya, pengintegrasian tersebut berarti menambahkan unit-unit kecil secara bersamaan. Dalam hal ini unit-unit kecil tersebut adalah nilai-nilai piksel. Nilai integral untuk masing-masing piksel adalah jumlah dari semua piksel-piksel dari atas sampai bawah. Dimulai dari kiri atas sampai kanan bawah, keseluruhan gambar itu dapat dijumlahkan dengan beberapa operasi bilangan bulat per piksel.

(5)

8

(a) (b)

Gambar 2. 2 Integral Image

Seperti yang ditunjukkan oleh gambar 2.2 (a) di atas setelah pengintegrasian, nilai pada lokasi piksel (x,y) berisi jumlah dari semua piksel di dalam daerah segiempat dari kiri atas sampai pada lokasi (x,y) atau daerah yang diarsir. Untuk menentukan nilai rata-rata piksel pada area segiempat (daerah yang diarsir) ini dapat dilakukan hanya dengan membagi nilai pada (x,y) oleh area segiempat.

Untuk mengetahui nilai piksel untuk beberapa segiempat yang lain missal, seperti segiempat D pada gambar 2.2(b) di atas dapat dilakukan dengan cara menggabungkan jumlah piksel pada area segiempat A+B+C+D, dikurangi jumlah dalam segiempat A+B dan A+C, ditambah jumlah piksel di dalam A. Dengan, A+B+C+D adalah nilai dari integral image pada lokasi 4, A+B adalah nilai pada lokasi 2, A+C adalah nilai pada lokasi 3, dan A pada lokasi 1. Sehingga hasil dari D dapat dikomputasikan D = (A+B+C+D)-(A+B)-(A+C)+A.

Untuk memilih fitur Haar yang spesifik yang akan digunakan dan untuk mengatur nilai ambangnya (threshold), Viola dan Jones menggunakan sebuah metode machine learning yang disebut AdaBoost. AdaBoost menggabungkan banyak classifier lemah untuk membuat sebuah classifier kuat. Lemah disini

(6)

9

berarti urutan filter pada classifier hanya mendapatkan jawaban benar lebih sedikit. Jika keseluruhan classifier lemah digabungkan maka akan menjadi classifier yang lebih kuat. AdaBoost memilih sejumlah classifier lemah untuk disatukan dan menambahkan bobot pada setiap classifier, sehingga akan menjadi classifier yang kuat.

Viola-Jones menggabungkan beberapa AdaBoost classifier sebagai rangkaian filter yang cukup efisien untuk menggolongkan daerah image. Masing-masing filter adalah satu AdaBoost classifier terpisah yang terdiri classifier lemah atau satu filter Haar.

Gambar 2. 3 Cascade Classifier

Threshold yang dapat diterima untuk masing-masing level filter di set rendah. Selama proses pemfilteran, bila ada salah satu filter gagal untuk melewatkan sebuah daerah gambar, maka daerah itu langsung digolongkan sebagai bukan wajah. Namun ketika filter melewatkan sebuah daerah gambar dan sampai melewati semua proses filter yang ada dalam rangkaian filter, maka daerah gambar tersebut digolongkan sebagai wajah. Viola-Jones memberi sebutan cascade. Urutan filter pada cascade ditentukan oleh bobot yang diberikan AdaBoost. Filter dengan bobot paling besar diletakkan pada proses pertama kali, bertujuan untuk menghapus daerah gambar bukan wajah secepat mungkin.

(7)

10

2.3. Open CV

Open CV adalah singkatan dari Open Computer Vision, yaitu library-library opensource yang di khususkan untuk melakukan image prosessing. Tujuannya adalah agar komputer mempunyai kemampuan yang mirip dengan cara pengolahan visual pada manusia. Library ini dibuat untuk bahasa C/C++ sebagai optimasi realtime aplikasi, mempunyai API (Aplication Programming Interface) untuk high level maupun low level, terdapat fungsi-fungsi yang siap pakai untuk loading, saving, akuisisi gambar dan video. Pada libarary OpenCV ini mempunyai fitur sebagai berikut :

- Manipulasi data gambar (alokasi memori, melepaskan memori, kopi gambar, setting serta konversi gambar)

- Image/Video I/O (Bisa menggunakan camera yang sudah didukung oleh library ini)

- Manipulasi matrix dan vektor serta terdapat juga routines linear algebra (products, solvers, eigenvalues, SVD)

- Image processing dasar (filtering, edge detection, pendeteksian tepi, sampling dan interpolasi, konversi warna, operasi morfologi, histograms, image pyramids)

- Analisis struktural - Kalibrasi kamera - Pendeteksian gerak - Pengenalan objek

- Basic GUI (Display gambar/video, mouse/keyboard kontrol, scrollbar) - Image Labelling (line, conic, polygon, text drawing)

(8)

11

2.4. EmguCV

EmguCV berperan untuk menjembatani C# dan OpenCV. EmguCV adalah wrapper .Net untuk OpenCV. Dengan EmguCV, fungsi-fungsi dalam OpenCV bisa dipanggil melalui bahasa pemrograman yang compatible dengan .NET seperti C#, VB, dan VC++. Keuntungan menggunakan EmguCV yang paling utama adalah library ini sepenuhnya ditulis dengan C# yang mana tentunya lebih aman karena pembuatan objek atau pun referensi disusun oleh garbage collector. Selain itu, EmguCV juga cross platform sehingga dapat di-compile melalui mono dan dijalankan di atas sistem operasi Linux atau Mac OS.

Dengan EmguCV, kita dapat membuat aplikasi apapun seperti layaknya menggunakan OpenCV. Namun ada dua konsep penting yang perlu diketahui terlebih dahulu sebelum menggunakan EmguCV. Yang pertama mengenai layer pada EmguCV. EmguCV terdiri dari 2 layer, yaitu basic layer dan second layer. Basic layer mengandung fungsi, struktur, dan enumerasi yang secara langsung merefleksikan apa yang ada di OpenCV. Dengan adanya layer inilah kita bisa memanggil fungsi-fungsi pada OpenCV dengan bahasa pemrograman C#. Sedangkan second layer mengandung kelas-kelas yang memanfaatkan keunggulan teknologi .NET.

Konsep kedua yang perlu dipahami yaitu mengenai code mapping, yaitu bagaimana kode-kode dalam OpenCV dipetakan ke dalam EmguCV. Ada 3 tipe mapping kode, yaitu function mapping, structure mapping, dan enumeration mapping.

(9)

12

a) Function Mapping.

Fungsi-fungsi pada OpenCV bisa dipanggil melalui kelas “CvInvoke” pada EmguCV. Nama fungsi yang dapat dipanggil pun sama persis dengan fungsi pada OpenCV.

Contoh kode C# :

IntPtr image = CvInvoke.cvCreateImage(new System.Drawing.Size(400, 300),

CvEnum.IPL_DEPTH.IPL_DEPTH_8U,1); Contoh kode C :

IplImage* image = cvCreateImage(cvSize(400, 300), IPL_DEPTH_8U, 1);

b) Structure Mapping

Beberapa tipe struktur dalam OpenCV dipetakan ke dalam tipe struktur EmguCV yang mana penamaannya ditambah dengan huruf M di depannya. Huruf M ini berarti Managed structure.

Tabel 2.1 Perbandingan struktur EmguCV dengan OpenCV.

Struktur EmguCV Struktur OpenCV

Emgu.CV.Structure.MlplImage IplImage Emgu.CV.Structure.MCvMat CvMat

… … Emgu.CV.Structure.Mxxx xxxxx

Selain itu ada juga beberapa struktur dalam OpenCV yang dipetakan dengan struktur yang sudah ada pada .Net seperti struktur di bawah ini :

(10)

13

Tabel 2.2 Perbandingan struktur .Net dengan OpenCV.

Struktur .Net Struktur OpenCV

System.Drawing.Point CvPoint System.Drawing.PointF CvPoint2D32f System.Drawing.Size CvSize System.Drawing.Rectangle CvRect

c) Enumeration Mapping.

Untuk memetakan enum pada OpenCV digunakan namespace “CvEnum” pada EmguCV.

Tabel 2.3 Perbandingan struktur EmguCV dengan OpenCV.

Struktur EmguCV Struktur OpenCV

CvEnum.IPL_DEPTH.IPL_DEPTH_8U

Gambar

Gambar 2. 1 Contoh fitur pada yang digunakan Viola.
Gambar 2. 2 Integral Image
Gambar 2. 3 Cascade Classifier
Tabel 2.1 Perbandingan struktur EmguCV dengan OpenCV.
+2

Referensi

Dokumen terkait

dilakukan oleh Rian Teknika dan Liston H. Dalam melakukan percepatan pekerjaan maka akan ada biaya yang hilang, biaya tersebut adalah biaya yang diakibatkan oleh selisih

Untuk mengkaji permasalah yang akan diteliti, penulis ingin menggunakan teori uses and gratification yang dicetuskan oleh Eliuh Katz, Michel Gurvitch dan Hadassan Hass,

5 Antara yang berikut, yang manakah berkaitan dengan perniagaan dalam negeri.. I Menggunakan sistem ukuran dan timbangan yang sama II Membuat pembayaran secara tunai

DESKRIPSI UNIT : Unit kompetensi ini berhubungan dengan pengetahuan dan keterampilan serta sikap kerja yang diperlukan untuk melaksanakan pengumpulan data dan

Tujuan dari penelitian ini adalah untuk mengetahui distribusi frekuensi periodontitis pada ibu hamil dengan melihat distribusi frekuensi kejadian periodontitis,

Praktik Pengalaman Lapangan (PPL) sebagai salah satu kegiatan yang dilaksanakan untuk mempersiapkan kemantapan mahasiswa program studi kependidikan dalam pengelolaan

mendapat pembelajaran matematika melalui pendekatan PMR lebih tinggi secara signifikan dibandingkan dengan siswa yang mendapat pembelajaran matematika melalui