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ư

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.

pdf10 trang | Chia sẻ: thucuc2301 | Lượt xem: 522 | Lượt tải: 0download
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 ñi u 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 Nh n dng nói chung, nh n 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 nh n dng mt ngưi nhưng nhìn chung có hai hưng chính như sau [5]: Nh n 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 t p trung chú ý vào nhng b ph n ñc bit như: m,t, mũi, ming, cm, và cũng chính nhng b ph n này cung cp nhiu thông tin nh n dng xác thc nht. Các b ph n 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 nh n dng. Chính vì v y, phương pháp WMPCA ñưc phát trin nhm loi b& nhng vùng nh ch a ít thông tin nh n dng và t p trung vào nhng vùng nh quan trng hơn trên nh khuôn mt. Mt quy trình nh n dng da theo phương pháp WMPCA phi tri qua các bưc sau: Thu th p 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 tr n có kích thưc M x N vi N bng s nh. Ma tr n 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 th p d liu, ma tr n biu di-n s hc c#a cơ s d liu ñưc chia theo phương ngang thành các ma tr n con có kích thưc M” x N vi N bng s nh, m%i ma tr n con này xem như mt cơ s d liu riêng bit và ñưc tin hành phân tích ñc l p 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 tr n 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 th m 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 nh n dng mt ngưi dùng thu t toán WMPCA ñưc mô t theo sơ ñ khi sau: Nguyên t,c hot ñng Bưc 1: T( t p nh ñu vào (ly t( camera hoc t p d liu có s/n) ta tìm nh trung bình cho toàn b t p d liu. Bưc 2: Thc hin vic chu1n hóa t p nh ñu vào và nh cn nh n 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 nh n dng ta s d ng khong cách Euclide kt hp vi thu t toán Winner Take All thông qua lưu ñ thu t 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 tr n nh) ñưc ñt trong memory off chip SDRAM. Khi cho phép khi medium hot ñng bng cách b t 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 tr n), 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 b t 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 t p 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 c p 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 tr n ñc trưng c#a ma tr n hip phương sai trên SRAM. Thu t 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 tr n ñu vào. Phương pháp jacobi áp d ng cho tt c ma tr n ñ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 thu t mt lnh thao tác trên nhiu d liu (Single Instruction Multiple Data-SIMD), k thu t ñư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 thu t toán nh n dng bng phn mm ñưc ghi nh n li trong bng sau: B+ng 1. Kt qu nh n dng qua các t p d liu khác nhau. T p 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 nh n 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 t p 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 nh n dng mt ngưi dùng thu t 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 nh n, 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 t p 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 t p d liu ln hơn (khong 400 mt ngưi). Vi kh năng như v y, 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:

  • pdf8650_30699_1_pb_8358_2034101.pdf
Tài liệu liên quan