Giới thiệu chung
Phần mềm được thiết kế theo phong cách window 8, chủ yếu dùng kéo chuột để di chuyển giữa các màn hình, ngoài ra còn có thể dùng các phím mũi tên.
Đầu tiên là giao diện giới thiệu, dùng chuột kéo theo bất kỳ hướng nào để mở:
Hình 5.20. Giao diện giới thiệu
Sau khi kéo ra sẽ đi vào giao diện con, gồm 5 phần, phần mặc định là dò tìm phát hiện mặt người.
142 Hình 5.21. Giao diện chính
Để đi vào các phần con, dùng chuột kéo lên:
Hình 5.22. Cách mở phần mềm con
Để qua giao diện phần mềm khác, dùng chuột kéo qua phải hoặc trí tùy vị trí muốn di chuyển:
143 Hình 5.23. Cách di chuyển giữa các giao diện phần mềm con
Hoặc có thể di chuyển trực tiếp tới bằng cách nhấn vào biểu tượng nhỏ:
Hình 5.24. Các biểu tượng đại diện cho phần mềm con Nếu muốn thoát chương trình thì nhấn vào nút tắt ở góc phải dưới:
144 Hình 5.25. Nút thoát chương trình
Ngoài ra, có thể thoát phần mềm con bằng nút thoát ở góc trái dưới:
145
Dò tìm mặt người
Giao diện phần mềm:
Hình 5.27. Giao diện phần mềm dò tìm phát hiện mặt người Menu File:
Hình 5.28. Menu File Có 2 chức năng:
- Open: Mở ảnh muốn dò tìm thử. - Exit: Thoát phần mềm.
146 Hình 5.29. Giao diện thiết lập thông số quét
Group Rules:
- Radio button: Có thể chọn mạng neural 1 lớp ẩn hoặc 2 lớp ẩn.
- Neural Network: Dẫn vào thư mục chứa cấu hình của loại mạng neural đã chọn (Các file Hidden1Bias.xml, IH1_Weights.xml, OutputBias.xml,…). - Eigenfaces: Dẫn vào file Eigenfaces.xml được xây dựng từ thuật toán PCA. - Mask: Dẫn vào file Mask.bmp, file có hình dạng .
Group Window scan:
- Size: Cỡ nhỏ nhất của cửa sổ quét. - Min scale: Tỉ lệ phóng nhỏ nhất. - Scale: Tỉ lệ mỗi lần phóng.
147 Group Search mode:
- All window: Quét mọi cửa sổ. - Skin: Quét theo màu da.
- Overlap: Có/không nhận hiện tượng chồng chéo. - Threshold: Ngưỡng quyết định cho mạng neural. Nút Close: Đóng phần thiết lập.
Lưu ý: Tất cả đã được thiết lập mặc định, nên có thể không phải điều chỉnh gì cả. Menu Action:
- Detect: khởi động tìm kiếm khuôn mặt trên ảnh, sau khi tìm kiếm xong chương trình sẽ khoanh ô vuông đỏ quanh các vùng có mặt người.
148
Huấn luyện mạng neural
Hình 5.31. Giao diện của phần mềm mạng neural nhân tạo Group Settings: Thiết lập cấu hình cho mạng neural.
- Radio button: Chọn 1 hoặc 2 lớp ẩn cho mạng neural. - Num of Neural Hidden Layer 1: Số neural lớp ẩn 1.
- Num of Neural Hidden Layer 2: Số neural lớp ẩn 2 (Nếu có chọn 2 lớp ẩn). - Num of Neural Output Layer 1: Số neural lớp đầu ra.
- Active Function: Lựa chọn hàm kích hoạt. - Threshold: Ngưỡng test.
- Leaning rate: Giá trị học. - Momentum: Đà học.
- Num of Learn: Số lượng lần học. Group Source:
- Data Learn Good: Dẫn tới thư mục các ảnh dữ liệu mặt người.
- Data Learn Bad: Dẫn tới thư mục các ảnh dữ liệu không phải mặt người. - Data Test: Dẫn tới thư mục các ảnh dữ liệu test.
149 - Eigenfaces: Nếu chọn checkbox PCA thì phải dẫn vào file Eigenfaces.xml. Group Learn:
- Current: Lần học hiện tại.
- Error: Lỗi của lần học trước hiện tại.
- Rate: Tỉ lệ phân lớp với bộ test sau khi học xong. - Time: Thời gian học.
- Button Learn: Kích hoạt mạng học.
- Button Save result: Lưu lại kết quả huấn luyện cho mạng. - Button Save weights: Lưu lại bộ trọng số của lần học này. Group test:
- Listview: Chi tiết các ảnh test và giá trị đầu ra khi đưa ảnh vào mạng sau khi mạng được huấn luyện.
Xử lý ảnh
Hình 5.32. Giao diện phần mềm xử lý ảnh Menu File:
- Open: Mở ảnh. - Save: Lưu ảnh.
150 - Exit: Thoát chương trình.
Menu Edit:
- Undo: Quay lại ảnh trước. - Restore: Trở lại ảnh ban đầu. Menu Process:
Hình 5.33. Menu Process - GrayScale: Xám hóa ảnh.
- Normalize brightness: Cân bằng ánh sáng. - Histogram equalzation: Cân bằng lược đồ xám. - Resize: Phóng cỡ.
151
Phương pháp phân tích thành phần chính
Hình 5.34. Giao diện phần mềm PCA Group Settings:
- Data Learn: Dẫn tới thư mục chứa dữ liệu ảnh mặt người. - Threshold Eigenvalues: Ngưỡng giữ lại các vector riêng.
- Radio button QR Algorithm: Lựa chọn thuật toán Pure QR hay QR Shift. Group Review:
- Button Average Image: Tính ảnh trung bình từ đường dẫn tới ảnh mặt người. - Listview: Trình bày các ảnh trong bộ dữ liệu mặt người.
Group Learn:
- Dimension: Số chiều của ma trận hiệp phương sai. - Current: Số lần phân tích QR hiện tại.
- Button Learn: Bắt đầu phân tích QR.
- Save result: Lưu lại không gian mặt người (Eigenfaces.xml). Group Test:
152 - Take image: Lấy ảnh test.
- Original: Trình bày ảnh test.
- Subtract Image: Ảnh test trừ cho ảnh trung bình. - Facespace: Ảnh biểu diễn lại bằng các eigenfaces.
Hình 5.35. Kết quả của phần mềm
Phân tích ma trận QR
153 Menu File:
- New: Tạo ma trận mới. - Exit: Thoát phần mềm. Menu Calculate: - Q: Tính ma trận Q. - R: Tính ma trận R. - QR algorithm: Lặp QR tìm trị riêng. Menu Edit:
- Restore: Phục hồi lại ma trận đã tạo ban đầu.
Hình 5.37. Ma trận tạo ban đầu
Hình 5.38. Ma trận sau khi kết thúc
5.4. Kết luận về đồ án 5.4.1. Ưu điểm
- Đồ án chạy chi tiết từng thuật toán, chứng minh và có ví dụ cụ thể.
- Kết hợp được 2 phương pháp phân lớp kinh điển, vốn là 2 phương pháp độc lập.
154
5.4.2. Khuyết điểm
- Mạng neural và PCA là 2 thuật toán đã cũ, hiện nay có nhiều thuật toán mới cho kết quả tốt hơn rất nhiều so với 2 phương pháp nay ngay khi chúng kết hợp.
- Cơ sở dữ liệu còn nhỏ, cũng như thiếu kinh nghiệm trong việc chạy test nên kết quả thống kê không như mong muốn.
- Chỉ mới đánh mạnh vào việc phân lớp dữ liệu, chưa đi qua được lĩnh vực phát hiện mặt người một cách mạnh mẽ.
- Còn nhiều thiếu xót trong cách viết code và xây dụng phần mềm. - Báo cáo còn nhiều sai phạm về chính tả, định dạng, bố cục, câu văn,… - Chưa đáp ứng được hết mong muốn của giảng viên hướng dẫn và giảng viên
phản biện.
5.4.3. Hướng phát triển
- Tăng số lượng ảnh học cũng như độ biến thiên của tập, qua đó xây dựng lại không gian mặt người và huấn luyện lại mạng neural.
- Tiếp tục chạy test lại mạng neural để tìm ra các ngưỡng thật sự chi tiết. - Cải tiến các phương pháp phát hiện mặt người, cũng như một số heuristic để
cải thiện khả năng phát hiện mặt người.
Tài liệu tham khảo
1. Face Detection. http://en.wikipedia.org/wiki/Face_detection, ngày truy cập: 15/5/2014.
2. Minh–Hsuan Yang, năm 2002, Detecting Faces in Images: A survey.
3. Trần Phước Long, Nguyễn Văn Lượng, năm 2003, Nhận dạng mặt người dựa vào thông tin xuất hiện trên ảnh. Bậc tốt nghiệp: Cử nhân. Trường Đại học Khoa Học Tự Nhiên TPHCM.
4. Không rõ họ tên, ngày viết. Hệ thống phát hiện khuôn mặt dựa trên mạng neural và phương pháp vân vùng màu da. Bậc tốt nghiệp: Cử nhân. Trường Đại Học Bách Khoa Hà Nội.
5. O.S. Eluyode and Dipo Theophilus Akomolafe, năm 2002, Comparative study of biological and artificial neural networks.
6. Carlos Gershenson, không rõ năm, ArtificialNeural Networksfor Beginners. 7. Mạng nơ–ron. http://vi.wikipedia.org/wiki/M%E1%BA%A1ng_n%C6%A1–
ron, ngày truy cập: 15/5/2014.
8. Artificial Neural Network.
http://en.wikipedia.org/wiki/Biological_neural_network, ngày truy cập: 7/7/2014.
9. Hoàng Minh Tuấn, không rõ năm, Mạng neural nhân tạo và giải thuật lan truyền ngược. Đại học Thái Nguyên.
10.Perceptron. http://en.wikipedia.org/wiki/Perceptron, ngày truy cập: 16/5/2014. 11.Bùi Hoàng Khánh, Lê Duy Hưng, Hoàng Mạnh Khôi, năm 2010, Mạng neural
và ứng dụng. Đại học Công nghệ Hà Nội.
12.Backpropagation. http://en.wikipedia.org/wiki/Backpropagation, ngày truy cập: 17/5/2014.
13.M.Moreira and E.Fiesler, năm 1995, Neural Networks with Adaptive Learning Rate and Momentum Terms.
14.Đỗ Năng Toàn, Phạm Việt Bình, năm 2007, Giáo trình Xử Lý Ảnh. Đại học Thái Nguyên.
15.Pixel. http://vi.wikipedia.org/wiki/Pixel, ngày truy cập: 20/5/2014.
16.Henry A. Rowley, Shumeet Baluja, Takeo Kanade, năm 1996, Neural Network–Based Face Detection. School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, USA.
17.Cao Hào Thi, không rõ năm, Tương quan và hồi quy tuyến tính. Không rõ địa danh.
18.Bình phương tối thiểu.
http://vi.wikipedia.org/wiki/B%C3%ACnh_ph%C6%B0%C6%A1ng_t%E1% BB%91i_thi%E1%BB%83u, ngày truy cập: 20/5/2014.
19.Franck Fleurey, năm 1991, Face detection using ANNs, 59 Temple Place, Suite 330, Boston, MA 02111–1307 USA.
20.Karhunen – Loève theorem.
http://en.wikipedia.org/wiki/Karhunen%E2%80%93Lo%C3%A8ve_theorem, ngày truy cập: 20/5/2014.
21.Lê Hoàng Thanh, không rõ năm, Dò tìm và nhận dạng khuôn mặt người bằng Eigenfaces. Không rõ địa danh.
22.Phạm Hoài Vũ, Phân tích ma trận: QR decomposition. http://phvu.net/2011/03/19/qr–decomposition/, ngày truy cập: 22/5/2014. 23.Phạm Hoài Vũ, Ma trận chiếu trong ĐSTT. http://phvu.net/2011/04/26/ma–
tr%E1%BA%ADn–chi%E1%BA%BFu–trong–dstt/, ngày truy cập: 22/5/2014.
24.Phạm Hoài Vũ, Thuật toán QR tìm trị riêng. http://phvu.net/2011/04/29/thu%E1%BA%ADt–toan–qr–tim–
tr%E1%BB%8B–rieng/, ngày truy cập: 22/5/2014.
25.Phạm Hoài Vũ, Chuẩn của vector và ma trận. http://phvu.net/2010/12/07/matrix–norm/, ngày truy cập: 22/5/2014.
26.The Database of Faces. http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html, ngày truy cập: 22/5/2014.
27.Haar–like features, http://en.wikipedia.org/wiki/Haar–like_features, ngày truy cập: 22/5/2014.
28.Dot product, http://mathinsight.org/dot_product_matrix_notation, ngày truy cập: 12/6/2014.
29.Covariance matrix, http://en.wikipedia.org/wiki/Covariance_matrix, ngày truy cập 12/6/2014.
30. George Dallas, Principal component Analysis 4 Dummies: Eigenvectors,
Eigenvalue and Dimension Reduction,
http://georgemdallas.wordpress.com/2013/10/30/principal-component- analysis-4-dummies-eigenvectors-eigenvalues-and-dimension-reduction/, ngày truy cập: 12/6/2014.