Aplikasi MATLAB dalam Pengenalan Wajah: Kode, Deskripsi & Sintaks

Diterbitkan: 2020-06-23

Setiap kali Anda membuka kunci ponsel dengan wajah atau melewati sistem pengawasan kantor berteknologi tinggi, teknologi pengenalan wajah yang rumit beroperasi di latar belakang. Jadi apa itu pengenalan wajah, dan bagaimana Anda bisa melakukan pengenalan wajah menggunakan MATLAB ?

Pengenalan wajah adalah proses mengidentifikasi wajah manusia melalui teknologi. Sistem pengenalan wajah menggunakan visi komputer dan teknik Pembelajaran Mesin untuk memodelkan dan mengklasifikasikan fitur wajah yang diekstraksi dari gambar dan video. Algoritma untuk mengekstrak identifikasi wajah dan memetakan fitur wajah dan membandingkannya dengan database wajah yang dikenal untuk menemukan kecocokan terbaik.

Sumber

Daftar isi

MATLAB dalam Pengenalan Wajah

Pengenalan wajah dapat dilakukan dengan menggunakan kode MATLAB. Kelas dan fungsi bawaan MATLAB dapat digunakan untuk mendeteksi wajah, mata, hidung, dan mulut. Visi objek. Sistem CascadeObjectDetector dari kotak peralatan sistem visi komputer mengenali objek berdasarkan algoritme deteksi wajah Viola-Jones.

Deskripsi Detektor Objek MATLAB

Vision.CascadeObjectDetector memanfaatkan algoritma Viola-Jones untuk mengidentifikasi wajah, mata, mulut, hidung, atau tubuh bagian atas. Sebuah classifier kustom dapat dilatih dengan menggunakan Image Labeler MATLAB dan digunakan bersama dengan objek System. Jadi bagaimana fitur wajah atau tubuh bagian atas terdeteksi dalam sebuah gambar? Berikut langkah-langkahnya:

  1. Langkah pertama melibatkan pembuatan objek vision.CascadeObjectDetector dan mengatur propertinya.
  2. Pada langkah ini, objek dipanggil dengan argumen (seolah-olah berperilaku seperti fungsi).

Baca: 15 Ide & Topik Proyek MATLAB Menarik Untuk Pemula

Sintaks untuk Pembuatan Detektor Objek

Sintaks yang digunakan untuk pembuatan Object Detector adalah sebagai berikut:

  • detektor = vision.CascadeObjectDetector
  • detektor = vision.CascadeObjectDetector(mode1)
  • Detektor = vision.CascadeObjectDetector(Nama,Nilai)
  • detektor = vision.CascadeObjectDetector(XMLFILE)

Deskripsi Sintaks

  • detector = vision.CascadeObjectDetector: Sintaks ini digunakan untuk membuat detektor yang mendeteksi objek menggunakan algoritme Viola-Jones.
  • detector = vision.CascadeObjectDetector(mode1): Sintaks ini digunakan untuk membuat detektor yang dikonfigurasi untuk mendeteksi objek yang ditentukan oleh vektor input – mode1.
  • detector = vision.CascadeObjectDetector(Name,Value): Sintaks ini digunakan untuk menyetel properti dengan menggunakan satu atau lebih dari satu pasangan nama-nilai, di mana setiap nama properti diapit dalam tanda kutip. Misalnya: detektor = vision.CascadeObjectDetector('ClassificationModel','UpperBody')

Lihat: Ide Proyek Pembelajaran Mesin

Properti

Kecuali ditentukan lain, fitur Detektor Objek kaskade tidak dapat disetel, artinya setelah memanggil objek, nilainya tidak dapat diubah. Objek dikunci saat dipanggil, dan pembukaan kuncinya dilakukan oleh fungsi 'pelepasan'.

Di sisi lain, properti merdu berarti bahwa nilainya dapat diubah kapan saja. Jadi, mari kita lihat beberapa fitur sebelum kita memahami pengenalan wajah menggunakan kode MATLAB.

  • ClassificationModel: Didefinisikan sebagai vektor karakter, properti ini bertanggung jawab untuk mengontrol jenis objek yang akan dideteksi. Konfigurasi default detektor mendeteksi wajah.
  • MinSize: Ukuran objek terkecil yang dapat dikenali dilambangkan sebagai vektor dua elemen [lebar tinggi]. Kecuali jika nilai properti ditentukan, detektor menyetelnya ke ukuran gambar yang digunakan untuk melatih model klasifikasi.
  • MaxSize: Ukuran objek terkecil yang dapat dikenali dilambangkan sebagai vektor dua elemen [height width] . Kecuali jika nilai properti ditentukan, detektor menyetelnya ke ukuran (I).
  • ScaleFactor: Ini memiliki nilai yang ditentukan lebih tinggi dari 1,0001. Properti ini untuk penskalaan inkremental resolusi deteksi antara MinSize dan MaxSize.
  • MergeThreshold: Ini memiliki nilai integer yang ditentukan sama dengan 4. Jika ada beberapa deteksi di sekitar objek target, ambang batas mendefinisikan kriteria deteksi akhir.
  • UserROI: Ditentukan sebagai false, properti ini dapat disetel ke true untuk mendeteksi objek dalam wilayah persegi panjang yang diinginkan pada gambar input.

Sintaks untuk Menggunakan Detektor Objek

  • bbox = detektor(I)
  • bbox = detektor(I,roi)

Deskripsi Sintaks

  • bbox = detector(I) mengembalikan bbox, matriks M -kali -4, yang mendefinisikan kotak pembatas ' M ' yang berisi objek yang terdeteksi.
  • bbox = detector(I,roi) digunakan untuk mendeteksi objek dalam wilayah persegi panjang yang diinginkan, ditentukan oleh roi.

Argumen Masukan

  • I — Gambar masukan: Ditentukan sebagai warna asli atau skala abu-abu (RGB).
  • model — Model klasifikasi: Ditentukan sebagai vektor karakter dan menjelaskan tipe objek yang akan dideteksi.
  • XMLFILE — Model klasifikasi khusus: Ditetapkan sebagai file XML, dapat dibuat menggunakan fungsionalitas pelatihan OpenCV atau fungsi trainCascadeObjectDetector.
  • roi — Rectangular region of interest: Vektor empat elemen [ x y width height ] digunakan untuk menentukan argumen input ini.

Argumen Keluaran

bbox — Deteksi: Deteksi dikembalikan sebagai matriks elemen M -kali-4, setiap barisnya berisi vektor empat elemen [ x y lebar tinggi ].

Fungsi Objek Umum untuk Semua Objek Sistem

  • langkah: Untuk menjalankan algoritma Objek Sistem
  • rilis: Untuk melepaskan sumber daya sistem
  • reset: Untuk mengatur ulang status internal Objek Sistem.

Kode MATLAB untuk pengenalan wajah

Pada bagian ini, kita akan melihat contoh pengenalan wajah menggunakan kode MATLAB.

Deteksi wajah

Sumber

Sumber

Langkah (Detektor,I) akan mengembalikan nilai Kotak Batas yang berisi [x,y,Tinggi,Lebar] dari objek yang terdeteksi:

Sumber

Deteksi Hidung

Sumber

Sumber

Keterangan:

  • Lewat argumen 'Hidung' menunjukkan bahwa objek yang menarik adalah hidung.
  • Sintaks pendeteksi hidung default adalah vision.CascadeObjectDetector('Nose')
  • Nilai parameter default yang diteruskan ke vision.CascadeObjectDetector dapat dimodifikasi berdasarkan gambar input.
  • Nilai 'MergeThreshold' dapat diganti untuk menghindari beberapa deteksi di sekitar objek target (seperti pada gambar di atas).

Deteksi Mata

Sumber

Sumber

Deteksi Mulut

Sumber

Sumber

Baca Juga: Perulangan While di MATLAB: Semua yang Perlu Anda Ketahui

Membungkus

Sementara teknologi pengenalan wajah bermanfaat untuk verifikasi identitas pribadi, hal itu meningkatkan masalah privasi. Karena teknologi menggunakan sidik wajah individu, itu sering dianggap sebagai pelanggaran privasi, keselamatan, dan keamanan seseorang. Pengenalan wajah menggunakan MATLAB dapat digunakan dalam beberapa kasus di mana keamanan menjadi perhatian utama. Dari bandara dan kantor hingga smartphone, pengenalan wajah telah menjadi komponen integral dari banyak sistem dan organisasi.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT- B Status alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa itu pengenalan wajah?

Pengenalan wajah dapat digunakan untuk melindungi terhadap pencurian identitas, serta untuk mengidentifikasi individu dengan nama. Namun, mengingat pengenalan wajah relatif baru dan terus dikembangkan, penting untuk memahami dasar-dasar pengenalan wajah agar dapat menggunakannya secara efektif. Pengenalan wajah mengacu pada proses menentukan apakah citra wajah milik orang yang dikenal. Masalah pengenalan wajah dapat dibagi menjadi dua tugas: 1) Deteksi Wajah - menemukan wajah dalam gambar, 2) Pengenalan Wajah - identifikasi orang yang wajahnya.

Apa itu Matlab?

Matlab adalah bahasa pemrograman untuk perhitungan numerik. Pada dasarnya, ini adalah bahasa pemrograman matriks. Ini banyak digunakan dalam perhitungan ilmiah dan teknik. Berbeda dengan bahasa pemrograman lainnya, MATLAB dirancang untuk menjadi bahasa matriks, yang cocok untuk komputasi pada matriks. Matriks digunakan dalam banyak persamaan yang berbeda, terutama dalam perhitungan ilmiah dan teknik. Matlab adalah bahasa pemrograman tingkat tinggi yang hadir dengan sejumlah besar fungsi. Ini digunakan untuk memecahkan masalah matematika, menganalisis data, dan membuat grafik.

Apa itu Viola Jones di Matlab?

Algoritma Viola Jones digunakan untuk deteksi wajah dan pengenalan ekspresi wajah. Algoritma Viola Jones didasarkan pada Histograms of Oriented Gradients (HOG) yang pertama kali diperkenalkan oleh Paul Viola dan Michael Jones pada tahun 2001. Digunakan dalam computer vision, machine learning, dan image processing. Algoritma Viola Jones menyediakan sistem deteksi objek yang lengkap dan dapat digunakan dalam deteksi pejalan kaki, deteksi objek, atau deteksi manusia. Algoritma Viola Jones terdiri dari langkah ekstraksi ciri, langkah pengelompokan, dan langkah klasifikasi objek.