DOI : 10.33019/ecotipe.v6i1.

## Pengenal Wajah Real Time Berbiaya Rendah Menggunakan FPGA Digilent PYNQ-Z1 dengan Metode PCA
Arif Ainur Rafiq 1 , Pujono 2 , dan Eka Dyah Puspitasari 3
1,2,3 Jurusan Teknik Elektronika, Politeknik Negeri Cilacap Jl. Dr. Soetomo No. 1 Sidakaya, Cilacap, Jawa Tengah, 53212 arifainurrafiq@politeknikcilacap.ac.id 1 , djovent@yahoo.com 2 , ekadyah.mail@gmail.com 3

## I. P ENDAHULUAN
Perkembangan  dari  penggunaan  pengenal wajah  manusia  dalam  beberapa  tahun  terakhir banyak dipelajari untuk proses identifikasi orang secara  otomatis  menjadi  bidang  yang  menarik, karena kontrol masuk dan keamanan memainkan peran  sentral  dalam  industri.  Selain  itu,  tempat- tempat umum rentan terhadap tindakan kriminal, oleh  karena  itu  menghilangkan  ancaman  yang bersumber  dari  tempat-tempat  ramai  juga membutuhkan  pengakuan  dari  penjahat  yang dikenal.  Pengenalan  wajah  adalah  solusi  yang dapat  diterapkan  dengan  baik  untuk  identifikasi orang,  dan  memiliki  banyak  aplikasi  dalam pengawasan,  manajemen  akses,  penegakan
hukum  dan  biometrik.  Secara  umum  jumlah orang yang dapat diidentifikasi rendah, tetapi ada tempat-tempat misalnya stasiun bus dan bandara di  mana  sejumlah  besar  wajah  perlu diidentifikasi  dalam  waktu  yang  sangat  singkat. Dalam  proses  identifikasi  diperlukan  untuk membandingkan  wajah  orang  tersebut  dengan wajah-wajah  dalam database .  Oleh  karena  itu waktu  pengenalan  tergantung  pada  jumlah  dan ukuran wajah yang disimpan. Untuk mengidentifikasi  seseorang  secara  waktu  nyata, diperlukan penggunaan perangkat keras khusus.
Pendekatan  yang  banyak  digunakan  untuk pengenalan wajah adalah pendekatan Eigenfaces ,
yang merupakan penggunaan Principal
Component Analysis (PCA) pada database yang

## ABSTRACT
Nowadays,  face  recognition  plays  central  role  in  monitoring,  biometric,  and  security  fields.  This  paper  presents FPGA (Field Programmable Gate Array) using real-time architecture basis. It costs less for face recognition. The face recognition module recognizes faces that have been detected by video and then the data are processed by using eigenface  or  Principal  Component  Analysis (PCA)  algorithm. The  architecture  is implemented  in  FDGA  Digilent Pynq-Z1, while the proposed architecture is part of the system that can recognize faces in crowd with series of faces that have been set before. In the implementation, this system can be integrated in the real-time monitoring system in crowd (such as airport, bus station, railway station, and port) to identify threat source. It is hoped that it can also decrease the criminal activity.
Key words : FPGA, PCA, face recognition, real-time

## INTISARI
Saat ini, pengenalan wajah memainkan peran sentral dalam bidang pengawasan, bidang biometrik dan bidang keamanan. Dalam makalah ini disajikan FPGA ( Field-Programmable Gate Array ) berbasis arsitektur real-time yang berbiaya rendah untuk  pengenalan  wajah.  Modul  pengenalan  wajah  menerima  wajah-wajah  yang  terdeteksi  melalui  kamera  (video)  dan memproses data dengan Eigenface atau algoritma Principal Component Analysis (PCA). Arsitekturnya diimplementasikan pada FPGA Digilent Pynq-Z1, arsitektur yang diusulkan adalah bagian dari suatu sistem yang mampu menemukan wajah dalam  keramaian  berdasarkan  serangkaian  wajah  yang  ditentukan  sebelumnya.  Pada  implementasinya,  sistem  ini  dapat diintegrasikan  ke  dalam sistem  pengawasan real-time di tempat-tempat  keramaian (bandara, terminal  bus, stasiun  kereta dan pelabuhan) untuk mengidentifikasi sumber ancaman dan dengan ini akan mengurangi terjadinya aktivitas kriminal.
Kata kunci : FPGA, PCA, pengenal wajah, real time
DOI : 10.33019/ecotipe.v6i1.
berisi  wajah  manusia.  Karena  pengurangan dimensi  fitur  perhitungan  dapat  lebih  cepat  dan implementasi  lebih  mudah  daripada  pendekatan pengenalan  wajah  lainnya.  Disimpulkan  bahwa Eigenfaces toleran  terhadap  rotasi  kecil, terjemahan, dan perubahan skala[1].
Dalam  literatur,  dapat  ditemukan  berbagai pendekatan  berbasis  perangkat  lunak  untuk pengenalan  wajah.  Dalam  [2]  aplikasi  PCA dibahas  dalam  komputasi  berbasis  visi.  Hasil penelitian  menunjukkan  bahwa  pengurangan dimensi  berbasis  PCA  dan  klasifikasi  gambar memiliki  potensi  untuk  industrialisasi,  tetapi membutuhkan  jumlah  komputasi  yang  besar. Teknik dua dimensi baru untuk PCA ditunjukkan pada [3], di mana PCA didasarkan pada matriks gambar  2D,  bukan  1D. 2DPCA  ini lebih efisien daripada  PCA  sederhana,  tetapi  membutuhkan lebih  banyak  memori.  Algoritma  pengenalan wajah  berdasarkan  pendekatan  PCA  modular disajikan  dalam  [4].  Pendekatan  modular memiliki kinerja yang lebih baik dalam berbagai kondisi  pencahayaan  dan  ekspresi,  tetapi  biaya komputasi  lebih  mahal.  Meskipun  implementasi pengenalan wajah PCA berbasis perangkat lunak mampu  mengklasifikasikan  secara  akurat,  tetapi penggunaan  mereka  tidak  memungkinkan  untuk real-time.
Field-Programmable  Gate  Array (FPGA) diterapkan untuk meningkatkan efisiensi komputasi  dengan  paralelisme  perangkat  keras. Oleh karena itu dimungkinkan akselerasi dengan tingkat  tinggi.  Dalam  literatur,  dapat  ditemukan beberapa  pendekatan  pengenalan  wajah  berbasis FPGA. Dalam [5] diusulkan sistem deteksi emosi portabel  berbasis  PCA real-time ,  yang  mampu membantu  anak-anak  autistik  memahami  emosi wajah  orang  lain.  Arsitektur  yang  diusulkan menggunakan perhitungan eigen yang dioptimalkan  dengan  metode  iterasi power-
deflation ,  dan  diimplementasikan  pada  Virtex-7 FPGA.  Hasilnya  menunjukkan  akurasi  deteksi 82,3%.  Jaringan  saraf  berbasis  FPGA,  yang mampu  melakukan  komputasi  PCA  disajikan pada  [6].  Algoritma  ini  diimplementasikan  pada Virtex-2  FPGA,  dan  arsitektur  ini  dapat mengenali  1400  wajah  dalam  satu  bingkai gambar,  yang  membuatnya  cocok  untuk pengenalan wajah real-time . Dalam [7] diusulkan
arsitektur pengenalan wajah berbasis FPGA yang dapat melakukan PCA pada gambar transformasi gelombang  kecil.  Arsitektur  diimplementasikan pada  Virtex-2  Pro  dengan  46,79  MHz  dan mampu melakukan klasifikasi dengan keauratan100%  dengan  penggunaan  40  vektor eigen/muka.
II.

## STUDI PUSTAKA
Gagasan utama dari metode Eigenface yaitu metode  ini  hanya  menggunakan  informasi  yang paling relevan yang mungkin dari gambar wajah manusia dan membuat perbandingan berdasarkan fitur-fitur  di  antara  wajah-wajah  tersebut. Menggunakan variasi gambar wajah untuk basis perbandingan adalah pendekatan yang sederhana, tetapi  efisien.  Secara  matematis  itu  berarti ekstraksi komponen utama dari distribusi wajah, yang  identik  untuk  menghitung  matriks kovarians dari himpunan gambar wajah manusia dan  kemudian  menghitung  vektor  eigen  dari kovarians.
Vektor  eigen  adalah  fitur  yang  bersama- sama  menggambarkan  gambar  wajah  dan  dapat ditampilkan  sebagai  gambar  wajah  yang  seperti hantu,  yang  disebut  eigenface.  Eigenfaces mencirikan  variasi  antara  gambar  wajah,  oleh karena  itu  setiap  wajah  manusia  dapat direkonstruksi  dengan  kombinasi  linear  dari eigenfaces .  Vektor  eigen  dengan  nilai  eigen terbesar milik varians tertinggi di antara gambar wajah,  sehingga  subruang  dari  eigenfaces  dapat diperluas, yang disebut ruang wajah. Oleh karena itu  setiap  wajah  manusia  dapat  dikarakterisasi oleh satu set kecil vektor eigen, yang merupakan representasi kompak dan efisien dari gambar asli.
Metode EigenFaces atau  PCA  dapat dipisahkan  menjadi  fase  pembelajaran  dan pengenalan,  seperti  yang  dapat  dilihat  pada Gambar.  1.  Pada  fase  pembelajaran  pertama- tama diperlukan satu set gambar wajah manusia, yang  akan  menjadi  set  pelatihan.  Kemudian menghitung  eigenfaces  dari  set  pelatihan  dan menentukan ruang wajah.
Akhirnya  proyeksi  gambar  wajah  ke  ruang wajah  diperlukan  dengan  menghitung  distribusi di  ruang  wajah  setiap  gambar  wajah.  Langkah-
50
DOI : 10.33019/ecotipe.v6i1.
langkah ini bisa dilakukan lagi setiap kali wajah baru  dipelajari.  Setelah  fase  pembelajaran berakhir,  fase  pengenalan  dapat  dimulai  dengan menghitung  vektor  eigen  wajah  yang  akan dikenali.  Akhirnya  proyeksi  untuk  setiap eigenface  diperlukan  yang  akan  menunjukkan tingkat kesamaan antara gambar wajah input dan set wajah pelatihan.
Selanjutnya  dapat  ditentukan  bahwa  input adalah wajah atau objek lain dengan jarak antara hasil proyeksi dan elemen ruang wajah. Ada juga potensi  untuk  mempelajari  wajah  yang  tidak dikenal  jika  wajah  itu  sudah  dikenal  sebagai wajah yang tidak dikenal untuk beberapa kali.
A. Perhitungan Eigenface
Gambar  wajah  I  adalah  susunan  NxN  dua dimensi yang mengandung nilai skala grayscale / abu-abu 0 - 255. Dalam perhitungan eigenfaces, pembuatan vektor kolom diperlukan dari gambar wajah  asli.  Akibatnya  panjang  vektor  akan menjadi  N 2 .  Langkah  selanjutnya  adalah menghitung  rata-rata  wajah,  yang  dapat dilakukan sebagai berikut:
ψ
(1)
dimana  ψ  adalah  wajah  rata-rata,  Γn  adalah gambar  wajah  ke-n  dari  set  pelatihan  dan  M adalah  jumlah  wajah.  Sedangkan  untuk  beda rata-rata  dapat  dihitung  dengan  cara  sebagai berikut:
ψ (2)
di mana φi adalah gambar beda ke i. Berdasarkan gambar  beda,  distribusi  data  harus  ditentukan dengan  menemukan  vektor  ortonormal  u,  yang dikenal sebagai vektor eigen.
Set Pelatihan Vektorisasi Rata-rata Mencari Perbedaan Vektor Eigen Proyeksi Jarak Vektorisasi Wajah Baru Keterangan: Biru: Set Training Kuning: Pengenalan Wajah

## Gambar 1 Diagram Skematik dari Metode EigenFace
Vektor ke k dapat dipilih sebagai:
(3)
Dimana λk adalah nilai eigen ke k dari matriks kovarian C: (4)
Di mana matriks A terdiri dari gambar beda [ɸ1  ɸ2…  ɸM].  Namun  demikian,  matriks kovarian  memiliki  dimensi  N 2 xN 2 ,  dan komputasi  vektor  eigen  bisa  menghabiskan banyak  waktu  dan  sumber  daya  bahkan  untuk gambar  yang  kecil.  Oleh  karena  itu  diperlukan pendekatan  yang  layak  secara  komputasi  untuk perhitungan  vektor  eigen.  Ada  solusi  praktis untuk  masalah  ini.  Berdasarkan  jumlah  gambar, hanya  akan  ada  vektor  eigen  yang  dapat digunakan  M-1  dengan  nilai  eigen  tertinggi, sedangkan  vektor  eigen  lainnya  memiliki  nilai eigen  mendekati  nol.  Skenario  ini  dapat diselesaikan  dengan  mudah  dengan  menghitung vektor  eigen  dari  matriks  dimensi  MxM, daripada  matriks  4096x4096.  Mengambil  vektor eigen v i dari A T A:
(5)
51
DOI : 10.33019/ecotipe.v6i1.
dan  mengalikan  (5)  dengan  matriks  A  pada  dua sisi:
(6)
di  mana  µ  adalah  nilai  eigen  ke  i.  dapat  dilihat bahwa  Av i adalah  vektor  eigen  dari  matriks kovarian  C.  Dengan  menggunakan  metode  ini eigenfaces dari gambar wajah pelatihan M dapat ditentukan sebagai berikut:
(7)
Dengan  menggunakan  metode  ini,  urutan perhitungan  hanya  M,  yang  merupakan  jumlah gambar  dalam  set  pelatihan,  bukan  N 2 ,  yang merupakan jumlah piksel dalam satu gambar.

## B. Klasifikasi
Dalam  proses  klasifikasi,  wajah  baru diproyeksikan ke ruang wajah sebagai berikut:
(8)
Di  mana  ω I adalah  nilai  proyeksi  ke  I berdasarkan  eigenface  ke  I  dan  gambar  wajah baru Γ new . Nilai proyeksi mewakili kontribusi ke eigenfaces yang  sesuai  untuk  merekonstruksi wajah  yang  diinput.  Sebuah  Ω  vektor  dapat dibentuk  menjadi  nilai-nilai  proyeksi  sebagai berikut:
(9)
Berdasarkan vektor proyeksi Ω, wajah yang paling  mirip  dapat  dengan  mudah  ditentukan oleh metrik jarak sebagai berikut:
(10)
Dimana  Ω T adalah  matriks  proyeksi berdasarkan gambar pelatihan. Jumlah jarak yang
minumum akan menjadi wajah yang paling mirip dengan wajah baru [8] - [9].
III. METODE
Sistem  identifikasi  orang  otomatis  yang mampu  mendeteksi  dan  mengenali  wajah manusia dapat dilihat pada Gambar. 2.
Gambar 2 Sistem secara keseluruhan Sistem  ini  terdiri  dari  kamera  video,  PC host,  FPGA,  dan  layar.  Dalam  penelitian  ini hanya  pengenalan  wajah  yang  telah  diterapkan dan  diuji  pada  perangkat  keras  FPGA,  bagian perangkat lunak lain dari sistem ini dapat bekerja pada MATLAB pada PC. Konfigurasi PC terdiri dari  Core  i5-7200U  yang  berjalan  pada  RAM DDR3 3,4 GHz dan 8 GB DDR3 RAM.
Gambar 3. Arsitektur system pengenalan wajah
DOI : 10.33019/ecotipe.v6i1.
Sistem  identifikasi  otomatis  berfungsi sebagai  berikut.  Aliran  video  yang  disediakan oleh  kamera  video  diproses  pada  PC  untuk mendeteksi  wajah  menggunakan  algoritma Viola-Jones  dengan  fitur  seperti  Haar  [10]. Wajah yang terdeteksi diturunkan menjadi 64x64 dan  divektorkan,  yang  merupakan  persiapan untuk  pengenalan  wajah  dengan  metode Eigenfaces. FPGA  dapat  dikonfigurasikan melalui Gigabit Ethernet untuk mempelajari atau mengenali wajah yang ditransfer, oleh karena itu dapat digunakan untuk mempelajari wajah secara otomatis  atau  untuk  menentukan  basis  data pelatihan.  Wajah  yang  telah  divektor  ditransfer melalui  Gigabit  Ethernet  ke  FPGA,  yang mengklasifikasikan  wajah  secara real-time berdasarkan  pada  basis  data  pelatihan  [11].
Kelas-kelas  wajah  yang  diidentifikasi  kemudian ditransfer kembali ke PC, yang memvisualisasikan hasil pada monitor berdasarkan  bingkai  video  asli,  wajah  yang terdeteksi dan kelas wajah yang dihasilkan.

## IV. HASIL DAN PEMBAHASAN
Arsitektur pengenalan wajah
diimplementasikan  pada  papan  pengembangan Digilent Pynq-Z1 Xilinx. Hal ini memungkinkan penggunaan  C/C  ++  atau  SystemC  dengan beberapa  pembatasan  spesifik  FPGA.  Papan pengembangan  Digilent  berisi  Zynq  XC7Z020- 1CLG400C SoC (Zync System on Chips) dengan mikroprosesor  dual-core  Cortex-A9  650  MHz, memori  DDR3  512  MB  eksternal  dengan bandwidth  1050  Mbps, bandwidth tinggi  1 Gigabit Ethernet, dan periferal lainnya.
Gambar 4 Papan FPGA Digilent Pyqn-Z1

## A. Arsitektur
Arsitektur  sistem  yang  diusulkan  dibangun dari  enam  bagian  utama  seperti  yang  dapat dilihat  pada  Gambar.  3.  Bagian-bagian  tersebut adalah ARM Processor, DMA Controller, AXI-4 Interconnect, Memory Controller , Board Memory , dan EigenFace Core .
Gambar 5 Arsitektur Digilent Pynq-Z1 ARM  Processor  berkomunikasi  dengan komputer  host  melalui  Gigabit  Ethernet  dan mengontrol  aliran  data  pada  bus  AXI4-Lite  dan AXI4.  Selain  itu,  ARM  Processor  menghitung terlebih  dahulu  matriks  yang  diperlukan  untuk EigenFace Core . Memory Controller dan Board Memory bertanggung  jawab  untuk  menyimpan wajah manusia yang diekstraksi dari aliran video dan  juga  hasil  sub  dan  akhir  dari  proses klasifikasi. Transfer data antara EigenFace Core dan Board  Memory dilakukan  oleh  DMA 53
DOI : 10.33019/ecotipe.v6i1.
Controller.  Dalam  memori  data  disimpan  secara berurutan, tetapi EigenFace Core membutuhkannya  secara  campuran,  oleh  karena itu  instruksi  DMA  sebar-kumpul  ( scatter-
gather /SG) digunakan. EigenFace Core menghitung langkah algoritmik metode
EigenFaces .  Pada  langkah  pertama  menghitung wajah  rata-rata.  Pada  langkah  kedua  perbedaan dari rata-rata dihitung untuk setiap vektor wajah.
Pada  langkah  ketiga,  vektor  eigen  dihitung. Pada langkah keempat, proyeksi ke ruang wajah dihitung.  Dalam  mode  pengenalan,  jarak  antara proyeksi  set  pelatihan  dan  proyeksi  wajah  yang diinput  harus dihitung.  Dalam EigenFaces  Core hanya data untuk langkah aktual disimpan, untuk meminimalkan  penggunaan  memori  BRAM. AXI-4 Interconnect menyediakan koneksi antara bagian-bagian sistem.
Table I. Persyaratan sumber daya untuk Eigenfaces Core BRAM  DSP48E FF LUT Tersedia 120 80 35200 17600 Syarat 80 11 2802 4493 Penggunaan 66% 13% 7% 25% B. Penerapan
Dalam  penghitungan  rata-rata  wajah,  hanya penambahan dan perkalian dengan kebalikan dari M yang diperlukan pada akhir setiap baris, ketika wajah-wajah  adalah  vektor  kolom.  Perhitungan ini  dapat  dilakukan  paralel  dengan  faktor  64, yang  merupakan  satu  dimensi  dari  wajah. Komputasi vektor eigen terdiri dari tiga perkalian matriks,  yang  sayangnya  tidak  dapat  dilakukan secara paralel karena ketergantungan data.
Namun  perkalian  dua  matriks  dapat menggunakan  paralelisme  dalam  perhitungan elemen  matriks  yang  dihasilkan,  oleh  karena  itu satu  elemen  dari  matriks  baru  dapat  dihitung dalam  siklus  jam.  Setelah  satu  kolom  dari matriks yang dihasilkan dihitung, kolom tersebut dapat  segera  digunakan  untuk  perkalian  matriks berikutnya. Langkah proyeksi mencakup perkalian  masing-masing  vektor  wajah  dengan matriks vektor eigen, yang dapat paralel dengan faktor 64. Akhirnya diperlukan perhitungan jarak
euclidean,  yang  dilakukan  secara  serial  karena tingginya persyaratan DSP dari akar kuadrat.
C. Hasil
Persyaratan  sumber  daya  dari EigenFace Core dapat  dilihat  pada  Tabel  I.  Untuk mempertahankan  penggunaan  memori  RAM Blok  rendah,  matriks  yang  diperlukan  dimuat dari memori DDR3 di setiap langkah dan segera digunakan.
Implementasi FPGA dari metode
EigenFaces telah diuji dengan database Faces94, yang  berisi  25  gambar  wajah  dari  153  orang. Ekspresi  wajah  pada  gambar  sedikit  bervariasi. Dari  153  orang,  8  dipilih  untuk  pengujian.  20 gambar  dari  8  orang  hanya  1  digunakan  untuk pelatihan dan 19 lainnya untuk validasi. Dengan menggunakan  gambar  wajah  ini,  efisiensi pengenalan 95% dapat dicapai, dengan masukan 13026 wajah/detik pada frekuensi jam 100 MHz.
Tabel II. Perbandingan Biaya Sistem Referensi Tipe FPGA Harga (USD) Wajah/ Detik Biaya/ Wajah/ Detik [5] Virtex-7 4035 - - [6] Virtex-2 PRO 1067 43049 0.02 Diusulkan Digilent Zynq-Z1 119 13026 0.013
Perbandingan  biaya  sistem  dari  hasil sebelumnya  dapat  dilihat  pada  Tabel  II,  yang menunjukkan bahwa sistem yang diusulkan lebih hemat  biaya,  daripada  sistem  berbasis  FPGA real-time yang  serupa.  Selain  itu  juga ketersediaan  di  pasar  membuat  system  yang diusulkan lebih mudah direalisasikan.

## V. KESIMPULAN
Dalam  makalah  ini  diusulkan  penerapan FPGA berbasis real-time berbiaya rendah dengan metode  EigenFaces  untuk  pengenalan  wajah manusia.  Hasil  pengujian  menunjukkan  bahwa arsitekturnya  memiliki akurasi  pengenalan  95%, dan  dapat  memproses  13026  wajah  dalam  satu detik. Selanjutnya, arsitektur dapat 54
DOI : 10.33019/ecotipe.v6i1.
diimplementasikan  pada  Zynq  XC7Z020- 1CLG400C berbiaya rendah.
Penelitian  selanjutnya  adalah  menerapkan algoritma  deteksi  wajah  pada  FPGA,  dan menggunakannya  bersama  dengan  arsitektur pengenalan wajah yang diusulkan. Untuk metode akan tetap digunakan PCA karena karakteristiknya yang sesuai dengan sistem.
R EFERENSI
[1] A.  Lemieus  M.  Parizeau,  “Experiments  on Eigenfaces Robustness”, Proceedings of the IEEE International Conference on Pattern Recognition, August 2002, pp 421-424.
[2] C.  Z.  Liu,  M.  Kavakli,  “Extension  of  Principle component  analysis  with  applications  on  vision- based  computing”,  Springer,  Multimedia  Tools and  Applications,  Vol.  75,  Issue  17,  September 2016, pp. 10113-10151.
[3] Jian Yang, D. Zhang, A. F. Frangi, Jing-yu Yang, “Two-dimensional  PCA:  a  new  approach  to appearance-based  face  representation  and recognition”,  IEEE  Transaction  on  Pattern Recognition, Vol. 26, Issue 1, June 2004, pp 131- 137
[4] K.  Elissa,  “Title  of  paper  if  known,”  tidak dipublikasikan.
[5] K.  G.  Smitha,  A.P.  Vinod,  “Low  Complexity FPGA  Implementation of Emotion Detection for
Autistic  Children”,  7 th International  Symposium on  Medical  Information  and  Communication Technology, March 2013
[6] A.  R.  Mohan,  N.  Sudha,  P.  K.  Meher,  “An Embedded  Face  Recognition  System  on  a  VLSI Array Architecture and its FPGA Implementation”,  34 th Annual  Conference  of IEEE on Industrial Electronics, November 2008
[7] A. Y. Jammoussi, S. F. Ghribi, D. S. Masmoudi, “Implementation  of  face  recognition  system  in Virtex  I  Pro  platform”,  IEEE,  3 rd International Conference  on  Signals,  Circuit  and  Systems, November 2009
[8] M.  Turk,  A.  Pentland,  “Eigenfaces  for Recognition”,  MIT  Press,  Journal  of  Cognitive Neuroscience, Vol. 3, Issue 1, January 1991, pp. 71-86.
[9] H.  Abdi,  L.  J.  Williams,  “Principal  component analysis”,  Wiley  Interdisciplinary  Reviews: Computational  Statistic,  Vol.  2,  Issue  4,  June 2010, pp. 433-459
[10] P.  Viola,  M.  J.  Jones,  “Robust  Real-Tine  Face Detection”,  Springer,  International  Journal  of Computer  Vision,  Vol.  57,  Issue  2,  May  2004, pp. 137-154
C. Liang, C. Wu, X. Zhou, W. Cao, S. Wang, L. Wang,  “An  FPGA-cluster-accelerated  match engine  for  content-based  image  retrieval”, International  conference  on  Field-Programmable Technology  (FPT),  2013,  pp.  422-425.