Thiết kế hệ thống

Một phần của tài liệu Nghiên cứu phương pháp nhận dạng ảnh mặt người và ứng dụng (Trang 57 - 65)

4.1.1 Cơ sở dữ liệuảnh

Trong luận văn này, bộảnhdữ liệu đƣợclấy từ cơ sở dữ liệuORL (Olivetti Research Laboratory, Surrey University). Cácảnhởđây tƣơng đốiđa dạng, thích hợp cho việc kiểm thử hệ thống. Bộảnh chụp 40 ngƣời khác nhau, mỗi ngƣời có 10 ảnh riêng, các ảnh này có thể đƣợc chụpở những thờiđiểm khác nhau, vớinhững góc nghiêng khác nhau, những trạng thái khác nhau nhƣ cƣời hoặc không cƣời, đeo kính hoặc không, miệng mở hoặcđóng.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

4.1.2 Môi trƣờng cài đặt

MATLAB đƣợc sử dụng để cài đặt hệ thống vì nó đƣợc tích hợp một môi trƣờng tính toán kỹ thuật phù hợp cho các thuật toán đƣợc thiết kếởđây. MATLAB là một ngôn ngữ lập trình bậc cao gồm nhiều hàm phục vụ cho việc phân tích và hiển thị dữ liệu một cách trực quan; thực hiện tính toán trong các bài toán kỹ thuật; xây dựng các mô hình tính toán; lập trìnhứng dụng với giao diện đồ họa ngƣời dùng.

4.1.3 Cài đặt

Mã nguồn của chƣơng trình bao gồm một số module chính nhƣ mô tả trong bảng 4.1.

Bảng 4.1. Các module chính của chương trình

Module Giải thích

PCA_based.m Module nhận dạng mặt ngƣời theo phƣơng pháp PCA LDA_based.m Module nhận dạng mặt ngƣời theo phƣơng pháp LDA Morpho_based.m Module nhận dạng mặt ngƣời theo phƣơng pháp xử lý

hình thái

Globalvar.m Chứa các biến toàn cục

Recognize.m Module nhận dạng mặt ngƣời bằng cách kết hợp cả ba phƣơng pháp trên

GUI.m Cài đặt giao diện ngƣời dùng

Trƣớc khi thực hiện PCA hoặc LDA, các ảnh gốc là các ma trận hai chiều kích thƣớc 112×92 đƣợc chuyển sang biểu diễn dƣới dạng các vector 10304 chiều. BộảnhORL gồm 10 ảnh cho mỗi ngƣời, ởđây chƣơng trình sử dụng 5 ảnh đầu tiên cho việc huấn luyện mạng và 5 ảnh còn lại để kiểm thử.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Mỗiảnhhuấn luyện sẽ đƣợc bổ sung một ảnhở dạngảnh gƣơng của nó để tăng thêm sựđa dạngcho tậpảnh huấn luyện (hình 4.2).

Hình 4.2. Ảnh gốc được bổ sung ảnh gương

Trong chƣơng trình này, khi thực hiện phân tích thành phần chính, các vector riêng đƣợc chọn tƣơng ứng với các giá trị riêng lớn hơn hoặc bằng 103, kết quả là có 49 vector riêng đƣợc chọn.

Trƣớc khi thực hiện LDA, các ảnh gốc cần phải đƣợc thực hiện PCA để giảm số chiều của dữ liệu vì số chiều bằng 10304 là quá lớn để thực hiện LDA.Ởđây, các vector riêng đƣợc chọn tƣơng ứng với các giá trị riêng lớn hơn hoặc bằng 105 (số lƣợngvector riêng nhiều hơn so với phƣơng pháp PCA ở trên).

Đối với pha xử lý hình tháiảnh, ảnh sau khi đƣợc biến đổi cũng sẽ đƣợc thực hiện phân tích thành phần chính đểđể giảm số chiều trƣớc khi đƣa vào huấn luyện mạng nơron.

Chƣơng trìnhsử dụng ba mạng nơron riêng biệtứng với mỗi phƣơng pháp phân tíchở trên. Phƣơng pháp huấn luyện mạng về cơ bản giống nhƣ phần lý thuyết đã trình bày, tuy nhiên giá trị tỉ lệ học là không cốđịnh. Trong quá trình huấn luyện, nếu lỗi mới của mạng vƣợt quá lỗi cũ với một tỉ lệđịnh trƣớc, các giá trị mới của trọng số và bias sẽ đƣợc bỏ qua. Ngoài ra, giá trị củatỉ lệ học

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

sẽ giảm xuống. Trái lại, các trọng số và bias sẽ đƣợc tính lại giá trị mới. Nếu lỗi mới nhỏ hơn lỗi cũ, tỉ lệ học sẽ tăng lên.

Ba mạng nơron ứng với ba phƣơng pháp phân tích sẽ đƣợc huấn luyện độc lập với nhau. Khi thực hiện nhận dạng, ảnh nhận dạng sẽ đƣợc biến đổi và tính toán theo từng phƣơng pháp phân tích. Ba giá trị kết quả sẽ đƣợc so sánh với nhau, chọn kết quả phù hợp nhất để làm kết quả nhận dạng của hệ thống, việc so sánh này dựa trên khoảng cách Euclide của các ảnh.

Hình 4.3 là giao diệnchínhcủa chƣơng trình. Chƣơng trình gồm ba chức năng. Chức năng Training thực hiện huấn luyện các mạng nơron. Chức năng

Recognize thực hiện việc nhận dạng, khi nhấn nútRecognize, ngƣời dùng có thể chọn một ảnh bất kỳ trên một cửa sổ đƣợc mở ra, chƣơng trình sẽ in ảnhđó lên vùngInput Image. Sau khi nhận dạng đƣợc ngƣời tƣơng ứng, chƣơng trình sẽ in ảnh ngƣờiđó lên vùngRecognize Person. Chức năng Exit thoát chƣơng trình.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 4.3. Giao diện chính của chương trình

4.2 Kiểm thử vàđánh giá

Trong quá trình xây dựng hệ thống, chƣơng trìnhđãđƣợcthực hiện nhiềulầnthử nghiệmrồi đánh giáđể chọn ra giá trị phù hợp nhất của các tham số. Những tham số quan trọng nhất của hệ thống là số lƣợng các đặc trƣng đƣợc trích chọn, tỉ lệ học của mạng nơron vàsố lƣợng các nơron ẩn của mạng, những tham số nàyảnh hƣởng lớn đến thời gian thực hiện và độ chính xác của hệ thống.

Đối với mỗi phƣơng pháp phân tích, việc đầu tiên là trích chọn các đặc trƣng, mỗi đặc trƣng có một giá trịý nghĩa khác nhau, các đặc trƣng đƣợc chọn theo giá trịý nghĩa giảm dần đến một ngƣỡng nàođó. Nếu ngƣỡng lớn, các đặc trƣng có giá trị nhỏ hơn ngƣỡng sẽ bị bỏ qua, có thểđó là những đặc trƣng quan trọng. Nếu ngƣỡng nhỏ, có thể lấy đƣợc hầu hết các đặc trƣng quan trọng, nhƣng lại khiến cho thời gian thực hiện của hệ thống tăng lên, đồng thời có thể lấy cả những đặc trƣng không quan trọng. Qua nhiều thử nghiệm, giá trị ngƣỡng đƣợcchọn đƣợc đối với phƣơng pháp PCA là 10-3, đối với phƣơng pháp LDA và phƣơng phápbiến đổihình thái là 10-5. (adsbygoogle = window.adsbygoogle || []).push({});

Đối với các mạng nơron, tỉ lệ học là một tham sốảnh hƣởng lớn đến sự hội tụ của mạng.Nếu tỉ lệ học lớn, mạng có độ dao động lớn và sẽ trở nên không ổnđịnh.Nếu tỉ lệ học nhỏ, mạng sẽ mất nhiều thời gian để hội tụ. Ởđây, trong các mạng nơron, phƣơng pháp huấn luyện mạngđƣợc sử dụngvới giá trị tỉ lệ học không cốđịnh. Trong quá trình huấn luyện, nếu lỗi mới của mạng vƣợt quá lỗi cũ với một tỉ lệđịnh trƣớc (1.04) thì các giá trị mới của trọng số và bias sẽ đƣợc bỏ qua. Ngoài ra, giá trị của tỉ lệ học sẽ bị giảmxuống (nhân với

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

0.7). Trái lại, các trọng số và bias sẽ đƣợc tính lại giá trị mới. Nếu lỗi mới nhỏ hơn lỗi cũ, tỉ lệ học sẽ đƣợc tăng lên (nhân với 1.05).

Số lƣợngnơron ẩn đối của mạng nơron cũngảnh hƣởng đến thời gian và độ chính xác của mạng. Nếu sốnơron ẩnít, mạng sẽ thực hiện nhanh hơn nhƣng với độ chính xác thấp. Nếu sốđơn vịẩn nhiều, mạng sẽ thực hiện lâu hơn nhƣng độ chính xác cao hơn. Tuy nhiên, nếu sốđơn vịẩn quá nhiều, mạng lại trở nên thiếu chính xác. Giá trị tối ƣu của số lƣợngnơron ẩn cho các mạng nơron đƣợc chọnlà 24.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

KẾT LUẬN Những kết quả luận văn đạt đƣợc:

- Tìm hiểu đƣợc một cách tổng quan các mô hình nhận dạng mặt ngƣời. Có một cách nhìn có hệ thống về các phƣơng pháp trích trọn đặc trƣng phục vụ cho quá trình nhận dạng mặt ngƣời.

- Bằng cách kết hợp các phƣơng pháp phân tích thống kê và phƣơng pháp biến đổi hình thái luận văn đã đạt đƣợc một phƣơng pháp khá hiệu quả đối với bài toán nhận dạng mặt ngƣời. Phƣơng pháp PCA và LDA trích chọn những đặc trƣng mang tính thống kê, kết hợp với phƣơng pháp biến đổi hình thái ảnh cung cấp những đặc trƣng mang tính hình học của khuôn mặtgiúp hệ thống có đƣợc những thông tin đặc trƣng tƣơng đối đầy đủ của mỗi ngƣời.

- Đối với mỗi phƣơng pháp phân tích, sau khi đƣợc trích chọn, các đặc trƣng sẽ đƣợc chuyển tới một mạng nơron lan truyền ngƣợc để huấn luyện, mỗi phƣơng pháp có một mạng riêng. Các tham số trong quá trình huấn luyện nhƣ số đặc trƣng đƣợc trích chọn, số nơron ẩn của mỗi mạng, dạng hàm kích hoạt của mạng đã đƣợc lựa chọn sau rất nhiều thử nghiệm để có đƣợc những giá trị phù hợp nhất đối với hệ thống về thời gian tính toán cũng nhƣ độ chính xác.

- Khi thực hiện nhậndạng, ảnh đầu vào sẽ đƣợc trích chọn đặc trƣng, các đặc trƣng này sẽ đƣợcđƣa vàotừngmạng nơron tƣơng ứng với mỗi phƣơng pháp phân tích.Đầu ra của từng mạng sẽ là ngƣời tƣơng ứng với kết quả của mỗi phƣơng pháp. Các kết quả riêng lẻ này có thể khác nhau, chúng sẽđƣợc so sánh với nhau dựa vào khoảng cách Euclide vớiảnh đầu vào, kết quả của hệ thống sẽ là kết quả nào có khoảng cách ngắn nhất. Bằng việc kết hợp nhƣ vậy, hệ thống đã tận dụng đƣợc tối

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

đa nhữngƣu điểm của từng phƣơng pháp phân tích, đồng thờiƣu điểm của phƣơng pháp này đã bổ khuyết cho nhƣợcđiểm của phƣơng pháp kia, giúp hệ thốngđạt đƣợc hiệu quả tốt nhất.

Mặc dù hệ thống đã đạt đƣợc độ chính xác khá cao, tuy nhiên vẫn còn một tỉ lệ nhỏ chƣa chính xác do hệ thống chƣa đánh giá đƣợc toàn bộ những đặc trƣng của mặt ngƣời.

Hƣớng phát triển:

Trong những nghiên cứu tiếp theo nhằm phát triển hoàn thiện hệ thống hơn, việc nhận dạng có thể kết hợp thêm các phƣơng pháp phân tích khác nhƣ nhận dạng mắt, nhận dạng miệng hay nhận dạng mũi là những đặc trƣng quan trọng của khuôn mặt.

Hệ thống có thể áp dụng cho việc nhận dạng sinh viên trong phòng thi với danh sách cho trƣớc, giúp phòng thanh tra khảo thí nhanh chóng xác định những sinh viên nghi ngờ thi hộ. Đầu vào cho hệ thống là ảnh mặt ngƣời đƣợc lấy ra từ modul nhận dạng vùng mặt ngƣời (sử dụng thƣ viện Open CV kết hợp matlab), chuẩn hoá và tiền xử lý ảnh mặt ngƣời cần nhận dạng để đƣa vào hệ thống với mạng noron đã luyện theo danh sách và thƣ viện ảnh cho trƣớc. Hệ thống sẽ nhanh chóng đƣa ra kết luận ảnh mặt ngƣời đầu vào có thuộc trong danh sách hay không.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO

[1] Phạm Việt Bình, Đỗ Năng Toàn, Xử lý ảnh. Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội, 2008.

[2] Lƣơng Mạnh Bá, Nguyễn Thanh Thuỷ, Nhập môn xử lý ảnh số, Nhà xuất bản Khoa học và Kỹ thuật, 2002

[3] Ben Kröse, Patrick van der Smagt (1996), An introduction to Neural Networks, The University ofAmsterdam.

[4] Kresimir Delac, Mislav Grgic (2007), “PCA and LDA based Neural Networks for Human Face Recognition”, Face Recognition, ISBN 978- 3-902613-03-5, I-Tech, Vienna, Austria.

[5] Ethan Png (2004), Morphological Shared-Weight Neural Network for Face Recognition, University of Manchester Institute of Science and Technology.

[6] Lindsay I. Smith (2002), A Tutorial on Principal Components Analysis, Cornell University, USA.

[7] William K. Pratt (2007), Digital Image Processing, John Wiley & Sons, Inc., Publication.

[8] W. Zhao, R. Chellappa, P. J. Phillips, A. Rosenfeld (2003), “Face Recognition - A Literature Survey”, ACM Computing Surveys, Vol. 35 (No. 4).

Một phần của tài liệu Nghiên cứu phương pháp nhận dạng ảnh mặt người và ứng dụng (Trang 57 - 65)