Qua nhùng kết quả thực nghiệm ghi nhận, ta thấy được hiệu quả khi thực hiện ưên phần cứng luôn luôn nhanh hon trên phần mềm. Neu tính toàn bộ hệ thống thi phân mêm thực hiện mất hơn 7.5 mills giây trên một laptop Intel core 2, trong khi phần cứng thực hiện trong khoảng 1.6 mills giây trên kit FPGA hoạt động ỡ lOOMhz. Ngoài ra. toàn bộ tài nguyên sử dụng cho hệ thống với tập dừ liệu là 100 trường hợp cho 10 đối tượng mất hết gần 23% tài nguyên của chip FPGA. Do đó. ta hoàn toàn có thê mờ rộng hệ thống này cho tập dừ liệu lớn hơn (khoảng 400 mặt người). Với khả năng như vậy. ta thấy hệ thống hoàn toàn có tính áp dụng thực tê cho công nghiệp cùng như trong nghiên cứu.
KÉT LUẢN
Hệ thống phan cứng được thiết kế với những bộ gia tỏc như là nhùng components cho CPU Nios hoạt động ò tần so cao. Phẩn cứng lượng tữ hóa vector được thiết kế linh hoạt cho nhiều ửng dụng khác nhau. Với cấu trúc sữ dụng bâng ưa. S1MD (Sigle Instruction Multiple Data) và pipeline hai tâng, đặc tinh hệ thòng phù hợp cho những ứng dụng thời gian thực. Hệ thong được thiết tối ưu. cho kết quả so sánh giừa phản cứng và phần mềm gẳn như trùng khớp nhau.
10 trang |
Chia sẻ: thucuc2301 | Lượt xem: 594 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Thiết kế SOPC cho ứng dụng nhận dạng mặt người dùng thuật toán WMPCA - Trương Thanh Như, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Science & Technology Development, Vol 14, No.T5 2011
Trang 24
THIT K SOPC CHO NG D#NG NHN DNG M$T NGƯI DÙNG THUT
TOÁN WMPCA
Trương Thanh Như, Trn Th Đi%m
Trưng Đi hc Khoa hc T nhiên, ĐHQG-HCM
(Bài nhn ngày 21 tháng 03 năm 2011, hoàn chnh sa cha ngày 22 tháng 11 năm 2011)
TÓM T
T: Phn cng gia tc cho k4 thut lưng t hóa vector (Vector Quantization-VQ) ñã
ñưc phát trin thành mt thành phn nhúng (system on a programmable chip) trong các ng dng nén
nh và nhn dng nh thi gian thc. Ngày nay, v
i k4 thut FPGA (Field Progammable Gate Array)
và công c SoPC (system on a programmable chip) cho th#y ñưc s hiu qu cao trong vic thit k
các ng dng phn cng gia tc. Bên cnh ñó, mt trong nhng phương pháp xác su#t thng kê, phân
tích thành phn chính ñiu bin trng s, cho ta th#y s hiu qu cao trong các ng dng nhn dng
nh. Bài báo này s5 gi
i thiu mt kin trúc song song da trên thut toán WMPCA và kin trúc SoPC
cho h thng nhn dng mt ngưi online.
T khóa: SoPC, nhn dng mt ngưi, thut toán WMPCA.
M ĐÂU
Nhn dng nói chung, nhn dng mt ngưi
nói riêng là mt bài toán ñã và ñang ñưc
nghiên c u rt rng rãi. Các nghiên c u ñi t(
bài toán ñơn gin, m%i nh ch! có mt khuôn
mt ngưi nhìn th.ng vào thit b thu hình và
ñu tư th th.ng ñ ng trong nh tr,ng ñen.
Cho ñn bài toán m rng vi nhiu trưng
hp ph c tp hơn như nh màu, nhiu khuôn
mt trong cùng mt nh, nhiu tư th thay ñi
trong nhKhông nhng th bài toán còn m
rng c phm vi nghiên c u: t( môi trưng
xung quanh khá ñơn gin (trong phòng thí
nghim) cho ñn môi trưng xung quanh rt
ph c tp (như trong thc t). Có nhiu hưng
nghiên c u cho bài toán nhn dng mt ngưi
nhưng nhìn chung có hai hưng chính như sau
[5]: Nhn din mt khuôn mt (face
recognition); Xác ñnh v trí nhng khuôn mt
trong mt b c nh (face detection).
Khi quan sát mt khuôn mt, ta thưng tp
trung chú ý vào nhng b phn ñc bit như:
m,t, mũi, ming, cm, và cũng chính nhng
b phn này cung cp nhiu thông tin nhn
dng xác thc nht. Các b phn khác như
vùng trán, tóc, thưng không cung cp nhiu
thông tin hu ích cho quá trình nhn dng.
Chính vì vy, phương pháp WMPCA ñưc
phát trin nhm loi b& nhng vùng nh ch a ít
thông tin nhn dng và tp trung vào nhng
vùng nh quan trng hơn trên nh khuôn mt.
Mt quy trình nhn dng da theo phương
pháp WMPCA phi tri qua các bưc sau:
Thu thp d liu
Đ phù hp vi cu trúc c#a cơ s d liu,
m%i nh khuôn mt có kích thưc M’ x N’
TAÏP CHÍ PHAÙT TRIEÅN KH&CN, TAÄP 14, SOÁ T5 2011
Trang 25
ñưc biu di-n như mt vector M chiu (M =
M’*N’) theo phương th.ng ñ ng, m%i phn t
trong vector có giá tr bng ñ xám c#a mt
ñim nh tương ng (nh gray), sau khi xp các
vector này liên t
c nhau, ta ñưc mt ma trn
có kích thưc M x N vi N bng s nh. Ma
trn này chính là biu di-n s hc c#a cơ s d
liu. Đ liu có th ñưc ly t( camera hoc
ct d s/n trong b nh.
Phân vùng nh
Ngay sau khi kt thúc quá trình thu thp d
liu, ma trn biu di-n s hc c#a cơ s d liu
ñưc chia theo phương ngang thành các ma
trn con có kích thưc M” x N vi N bng s
nh, m%i ma trn con này xem như mt cơ s
d liu riêng bit và ñưc tin hành phân tích
ñc lp da theo phương pháp PCA.
Hình1. 0nh khuôn mt trưc và sau khi phân vùng.
Phân tích d liu da theo phương pháp PCA
[6][7]
Gi s x1, x2, , xn là các vector N x 1
Bưc 1:
Bưc 2: tr( hai giá tr trung bình.
Bưc 3: to thành ma trn N x M
Sau ñó tính
Bưc 4: tính toán các tr riêng c#a C
λ1 > λ2 > > λN
Bưc 5: tính toán các vector riêng c#a C
u1, u2, ,uN
Vì C ñi x ng (N x N) nên u1, u2, , uN hp
thành mt cơ s (bt k mt vector x nào hay
thm chí ( x) cũng ñu có th vit dưi dng
mt t hp tuyn tính c#a các vector riêng)
Bưc 6: bưc gim s chiu
Ch! gi li nhng thuc tính tương ng vi
các tr riêng ln nht.
Do ñó, s di-n bin c#a - trong u1, u2,
, uk là :
Science & Technology Development, Vol 14, No.T5 2011
Trang 26
Phép bin ñi tuyn tính RN RK nhm
làm gim s chiu s* là:
PHƯƠNG PHÁP
H thng nhn dng mt ngưi dùng thut
toán WMPCA ñưc mô t theo sơ ñ khi sau:
Nguyên t,c hot ñng
Bưc 1: T( tp nh ñu vào (ly t( camera
hoc tp d liu có s/n) ta tìm nh trung bình
cho toàn b tp d liu.
Bưc 2: Thc hin vic chu1n hóa tp nh
ñu vào và nh cn nhn dng bng cách tr(
vi nh trung bình ñ tìm ra s sai lch.
Bưc 3: Thc hin phép chiu ñ tìm ra các
giá tr tương ng c#a t(ng mt ngưi. Bưc
này ñưc thc hin bng cách nhân s sai lch
vi nhng h s eigenfaces tương ng.
Bưc 4: Đ tìm ra ñi tưng cn nhn dng
ta s d
ng khong cách Euclide kt hp vi
thut toán Winner Take All thông qua lưu ñ
thut gii Vector Quantization [1].
Hình 2. Sơ ñ tng quát phn c ng WMPCA
TAÏP CHÍ PHAÙT TRIEÅN KH&CN, TAÄP 14, SOÁ T5 2011
Trang 27
Khi tính trung bình
Hình 3. Sơ ñ khi tính trung bình
Gi s ta có n tm nh(ma trn nh) ñưc ñt
trong memory off chip SDRAM. Khi cho phép
khi medium hot ñng bng cách bt tín hiu
start = 1(ñưc ñiu khin b i CPU thông qua
Slave_control, ñng thi cung cp mt s giá
tr cu hình như ña ch! c#a vùng ghi, ñc, kích
thưc c#a ma trn), master read s* t ñng tr&
ti vùng nh ñ ñc d liu và ñưa vào b
FIFO. Khi d liu ñưc ly ra, b counter b,t
ñu ñm lên kt hp vi b compare s* cho ra
tín hiu xóa thanh ghi tích lũy Reg-32 bit(b,t
ñu quá trình tích lũy mi) ñng thi bt tín
hiu write = 1 ñ cho phép ghi vào b FIFO
mi d liu có giá tr. Nhng d liu có giá tr
này sau ñó ñưc master write ghi tr li vùng
nh off chip
Khi tìm ñ( dư th)a c*a t)ng +nh m,u
Ging như khi tính trung bình, khi thit k
bao gm hai master read ñưc s d
ng ñ ñc
d liu t( memory off chip (SDRAM): mt ñc
d liu t(ng vector c#a tp d liu ban ñu,
master read còn li ñc giá tr vector trung bình
v(a tính ñưc. Sau ñó nhng d liu này ñưc
ñưa qua hai b FIFO. D liu ñưc ly ra t( hai
b FIFO này ñưc ñưa qua b tr( liên tip t(ng
phn t. Kt qu c#a quá trình ñưc ñưa vào
mt b FIFO mi. Master write s* ly d liu
t( b FIFO này lưu vào memory off chip.
Science & Technology Development, Vol 14, No.T5 2011
Trang 28
Khi nhân ma tr-n
Hình 4. Sơ ñ khi tìm hình chiu
Khi thit k bao gm hai master read ñưc
s d
ng ñ ñc d liu t( memory off chip
(SDRAM) sau ñó nhng d liu này ñưc ñưa
qua hai b FIFO. D liu ñưc ly ra t( FIFO
sau ñó ñưc ñưa qua b nhân và tip t
c ñưa
vào b cng tích lũy trưc khi ñua vào b FIFO
mi. Master write s* ly d liu t( b FIFO
này lưu vào memory off chip.
Khi jacobi_arbitrator
Hình 5 trình bày cu trúc khi jacobi. Khi
gm 2 cng Master, 1 khi Control Logic ñiu
khin hot ñng c#a toàn khi và phát tín hiu
C yêu cu quyn truy cp SRAM cho SRAM
Read & Write Master, 1 khi jacobi_rotate thc
hin phép quay jacobi, 2 khi FIFO làm b nh
ñm cho quá trình ñc ghi d liu; 1 mch ly
tr tuyt ñi (Abs), 1 mch nhân (Mul) và 1
mch chia (Div) thc hin quá trình tính ma
trn ñc trưng c#a ma trn hip phương sai trên
SRAM.
Thut toán jacobi bao gm mt chu%i nhng
phép bin ñi trc giao. M%i phép bin ñi là
mt phép quay ñ h#y mt trong nhng phn t
ngoài ñưng chéo chính, hay ñưa nhng phn
t ngoài ñưng chéo v giá tr zero. Kt qu
cui cùng ch! còn li nhng phn t trên ñưng
chéo chính. Phép bin ñi jacobi s* cho kt qu
gm nhng vector riêng là s tích lũy c#a
nhng phép bin ñi và nhng tr riêng là
nhng phn t trên ñưng chéo chính còn li
c#a ma trn ñu vào. Phương pháp jacobi áp
d
ng cho tt c ma trn ñi x ng thc.
TAÏP CHÍ PHAÙT TRIEÅN KH&CN, TAÄP 14, SOÁ T5 2011
Trang 29
Hình 5. Mô hình khi Jacobi
Khi lư.ng t/ hóa vector
Hình 7 trình bày nguyên t,c hot ñng c#a
khi lưng t hóa Vector. Khi kh i ñng h
thng CPU nhúng s* np codeword (giá tr sau
khi qua mch nhân), ñng thi np các tham s
cu hình cho b ñiu khin ñ xác ñnh s phn
t c#a các codeword và s lưng codeword
trong h thng. Khi phn t xj c#a vector X
ñưc gi vào h thng thì tt c các phn t tj
c#a vector m"u T trong b nh ñng lot ñưc
ñưa vào các b tr(. Kt qu c#a phép tr( này
ñưc gi ti mch tính khong cách Euclide.
Đ tìm ra vector trùng khp nht ta s d
ng
mch Minimum Value Search. Nhm tăng tc
ñ thc hin c#a h thng, tác gi s d
ng mt
s phương pháp như dùng các bng tra c u
(LUT), b nhân ñưc ñơn gin hóa, k thut
mt lnh thao tác trên nhiu d liu (Single
Instruction Multiple Data-SIMD), k thut
ñưng ng (Pipeline) hai chn [3][4].
Science & Technology Development, Vol 14, No.T5 2011
Trang 30
Hình 6. Sơ ñ khi lưng t hóa vector
KT QU
K"t qu+ ki%m ch ng b0ng phn m1m
Kt qu thc nghim cho thut toán nhn dng bng phn mm ñưc ghi nhn li trong bng sau:
B+ng 1. Kt qu nhn dng qua các tp d liu khác nhau.
Tp d liu S ngưi kho sát S trng thái cho 1
ngưi
S thành phn chính
gi li
Kt qu nhn dng
AT&T (ORL) 40 400 5 ñn 15 85% ñn 5%
Yale 10 90 5 98,8%
Grimace, Face 96, hoc Face 95 20 20 5 100%
Kt qu kim nghim vi nhiu tp d liu khác nhau:
Hình 7. Kt qu so sánh gia PCA và WMPCA
TAÏP CHÍ PHAÙT TRIEÅN KH&CN, TAÄP 14, SOÁ T5 2011
Trang 31
K"t qu+ trên phn c ng
Đ kim tra h thng nhn dng mt ngưi
dùng thut toán ñ xut như trên, trong
nghiên c u này tác ñã s d
ng board DSP
Development Kit, stratix II professional
Edition FPGA FP2S180.
Hình 8. Kt qu demo trên phn c ng
Th2i gian th3c hin trên phn m1m
Hình 9. Kt qu thi gian thc hin trên phn mm c#a các b gia tc PCA
Th2i gian th3c hin trên phn c ng
Hình 10. Kt qu thi gian thc hin trên phn c ng c#a các b gia tc PCA
Science & Technology Development, Vol 14, No.T5 2011
Trang 32
Qua nhng kt qu thc nghim ghi nhn, ta
thy ñưc hiu qu khi thc hin trên phn
c ng luôn luôn nhanh hơn trên phn mm. Nu
tính toàn b h thng thì phn mm thc hin
mt hơn 7.5 mills giây trên mt laptop Intel
core 2, trong khi phn c ng thc hin trong
khong 1.6 mills giây trên kit FPGA hot ñng
100Mhz. Ngoài ra, toàn b tài nguyên s
d
ng cho h thng vi tp d liu là 100 trưng
hp cho 10 ñi tưng mt ht gn 23% tài
nguyên c#a chip FPGA. Do ñó, ta hoàn toàn có
th m rng h thng này cho tp d liu ln
hơn (khong 400 mt ngưi). Vi kh năng
như vy, ta thy h thng hoàn toàn có tính áp
d
ng thc t cho công nghip cũng như trong
nghiên c u.
KT LUN
H thng phn c ng ñưc thit k vi nhng
b gia tc như là nhng components cho CPU
Nios hot ñng tn s cao. Phn c ng lưng
t hóa vector ñưc thit k linh hot cho nhiu
ng d
ng khác nhau. Vi cu trúc s d
ng
bng tra, SIMD (Sigle Instruction Multiple
Data) và pipeline hai tng, ñc tính h thng
phù hp cho nhng ng d
ng thi gian thc.
H thng ñưc thit ti ưu, cho kt qu so sánh
gia phn c ng và phn mm gn như trùng
khp nhau.
DESIGNING A SOPC FOR FACE RECOGNITION USING WMPCA ALGORITHM
Truong Thanh Nhu, Tran Thi Diem
University of Science, VNU-HCM
ABSTRACT: A flexible accelerator hardware for full-search vector quantization (VQ) has been
developed as a component for a system on a programmable chip (SoPC) to use in real-time image
compression and recognition applications. Nowadays, FPGA and its SoPC (System on Programmable
Chip) tools are powerful enough to efficiently develop a flexible hardware accelerator for VQ
application. In addition, one of statistical analysis methods, weighted modular principal component
analysis, has showed efficiencies in recognition applications. In this paper, a parallel architecture for
online face recognition using weighted modular principal component analysis (WMPCA) and its
system-on-programmable-chip (SoPC) implementation are discussed.
Key words:
TÀI LIU THAM KHO
[1]. Thuan Huynh, Thuong Cao, Diem Tran,
Phuong Nguyen, Anh Dinh , Designing a
Hardware Accelerator for Vector
Quantization as a Component of a SoPC,
CCECE/CCGEI, 479-484, May (2008).
[2]. Diem Tran, Thi To, Phu Bui, Phuong
Nguyen, Designing a Harware
TAÏP CHÍ PHAÙT TRIEÅN KH&CN, TAÄP 14, SOÁ T5 2011
Trang 33
Accelerator for Vector Quantization and
Principal Component Analysis as a
Component of SoPC, Proceedings of the
5th Vietnamese Japanese Scientific
Exchange Conference, pp.159-162,
October (2009).
[3]. A. Nakada, et al., A fully Parallel Vector
Quantization Processor for Real Time
Motion Picture Compression, IEEE J.
Solid State Circuit, 34, 822-829, (1999).
[4]. M. Ishikawa, K. Ogawa, T. Komoro, i.
Ishii, A CMOS Vision Chip with SIMD
Processing Element Array for 1ms Image
Processing, IEEE International Solid-
State Circuits Conference, 206-207,
(1999).
[5]. K. Delac, M. Grgic, S. Grgic,
Independent Comparative Study of PCA,
ICA, and LDA on the FERET Data Set,
International Journal of Imaging
Systems and Technology, 15, 252 – 260,
(2006).
[6]. B. M. Pentland, T. Starner, View-Based
and Modular Eigenspaces for Face
Recognition, Proceedings of the IEEE
Conference on Computer Vision and
Pattern Recognition, Seattle,
Washington, USA, 84-91, (1994).
[7]. M. A. Turk, A. P. Pentland, Face
Recognition Using Eigenfaces,
Proceedings of the IEEE Conference on
Computer Vision and Pattern
Recognition, Maui, Hawaii, USA, 586-
591, 3-6 June (1991).
[8]. W. Zhao, R. Chellappa, A.
Krishnaswamy, Discriminant Analysis of
Principal Components for Face
Recognition, Proc. of the 3rd IEEE
International Conference on Face and
Gesture Recognition, FG'98, Nara,
Japan, 336-341, (1998).
[9]. I. T. Jolliffe, Principal Component
Analysis, 2nd edition, Springer, chapter
6, 111-147, October 1, (2002).
[12]. Lindsay Ismith, A Tutorial on Principal
Components Analysis February 26,
(2002).
[13]. N. Kambhatla, T. K. Leen, Dimension
Reduction by Local PCA, Chapter 7,
1493-1516, (1997).
[14]. Altera Corporation, SoPC Builder User
Guide, ver 1.0, Dec (2010).
[15]. URT:
-sop.jsp
Các file đính kèm theo tài liệu này:
- 8650_30699_1_pb_8358_2034101.pdf