1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhandangkhuonmatbang PCA

39 763 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài toán nhận dạng khuôn mặt người là một bài toán khá hấp dẫn, không giới hạn giải pháp sử dụng, vận dụng linh hoạt kiến thức trong nhiều lĩnh vực. Đây là chủ đề tương đối mới với những ứng dụng mang tính công nghệ cao như robot, các thiết bị camera, hệ thống bảo mật, nhận dạng... Hiện nay có rất nhiều các phương pháp nhận dạng khác nhau được xây dựng để nhận dạng một người cụ thể trong thế giới thực. Tuy nhiên việc nhận dạng một người cụ thể trong thế giới thực vô cùng khó khăn, bởi vì để nhận dạng được ta phải xậy dựng tập cơ sở dữ liệu vô cùng lớn và việc xử lý dữ liệu phải nhanh và chính xác. Nhiệm vụ đặt ra của nghiên cứu là xây dựng một chương trình sử dụng phương pháp nhận dạng có độ chính xác cao và hiệu quả.

NHẬN XÉT KẾT QUẢ THỰC TẬP Họ tên sinh viên: Nguyễn Thị Hậu Mã số sinh viên: 55134746 Lớp: 55TH1 Hệ: Đại Học Khoa Công nghệ Thông tin, Trường Đại học Nha Trang Nội dung thực tập: Đánh giá kết thực tập ………………… ngày … tháng … năm …… Giáo viên hướng dẫn Trang LỜI CẢM ƠN Trước hết em xin gửi lời cảm ơn sâu sắc đến quý Thầy Cô khoa Công nghệ Thông tin, Đại Học Nha Trang tận tình dạy dỗ, truyền đạt cho em nhiều kiến thức quý báu để hoàn thành đề tài Em xin chân thành cảm ơn thầy Lê Hoàng Thanh tận tâm hướng dẫn em nhiều qua buổi nói chuyện, thảo luận đề tài nghiên cứu khoa học Nếu lời hướng dẫn, dạy thầy, em khó hoàn thành đề tài Một lần em xin gửi đến thầy lời cảm ơn sâu sắc Đồng thời em xin gửi lời cảm ơn đến gia đình, bạn tập thể lớp 55TH1 giúp đỡ , động viên nhiều để hoàn thành đề tài thời gian quy định Đề tài thực khoảng thời gian gần tuần Bước đầu vào thực tế, tìm hiểu lĩnh vực sáng tạo nghiên cứu khoa học, kiến thức em nhiều hạn chế nhiều bỡ ngỡ Do vậy, không tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp quý báu quý Thầy Cô bạn lớp để kiến thức lĩnh vực hoàn thiện Sau cùng, em xin kính chúc quý Thầy Cô khoa Công nghệ Thông tin thật nhiều sức khỏe, niềm tin để tiếp tục truyền đạt kiến thức quý báu cho hệ sau Sinh viên thực Nguyễn Thị Hậu Trang MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN 1.1 Sơ lược toán nhận dạng khuôn mặt người 1.2 Một số phương pháp xác định khuôn mặt người 1.2.1 Hướng tiếp cận dựa tri thức 10 1.2.2 Hướng tiếp cận dựa đặc trưng không thay đổi 10 1.2.3 Hướng tiếp cận dựa so khớp mẫu 12 1.2.4 Hướng tiếp cận dựa diện mạo 13 1.3 Ứng dụng đề tài nhận dạng khuôn mặt 14 1.4 Mục tiêu phạm vi nghiên cứu 15 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 16 2.1 Thuật toán Principal Components Analysis (PCA) 16 2.1.1 Giới thiệu 16 2.1.2 Thuật toán 17 2.1.3 Nhận xét 20 2.2 Giới thiệu thuật toán k–Nearest Neighbors (KNN) 21 2.2.1 Giới thiệu 21 2.2.2 Thuật toán 21 2.2.3 Nhận xét 22 2.3 Giới thiệu ngôn ngữ Matlab xử lý ảnh Matlab 23 2.3.1 Giới thiệu ngôn ngữ Matlab 23 2.3.2 Các kiểu ảnh Matlab 24 2.3.3 Các hàm hiển thị ảnh Matlab 25 2.3.4 Các định dạng ảnh xử lý ảnh 27 CHƯƠNG 3: NHẬN DẠNG KHUÔN MẶT NGƯỜI TRÊN MÔI TRƯỜNG MATLAB 29 Trang 3.1 Bài toán 29 3.2 Phân tích chương trình 29 3.2.2 Huấn luyện (Training) 30 3.2.3 Giới thiệu chương trình 33 3.2.4 Đánh giá độ xác chương trình 35 CHƯƠNG : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 37 4.1 Kết luận 37 4.2 Hướng phát triển 37 TÀI LIỆU THAM KHẢO 39 Trang DANH MỤC HÌNH Hình 1: Mô hình hệ thống nhận dạng khuôn mặt Hình 2: Đặc trưng PCA 17 Hình : Cửa sổ làm việc Matlab 24 Hình 4: Tập ảnh huấn luyện 29 Hình 5: Tập ảnh test dataset 30 Hình 6: Lưu đồ thuật toán tính đặc trưng khuôn mặt 30 Hình 7: Xử lý ảnh màu sang ảnh xám 31 Hình 8: Quá trình tạo đặc trưng khuôn mặt 32 Hình 9: Ảnh ban đầu biểu diễn theo trọng số wi eigenface 33 Hình 10: Giao diện chương trình Matlab 33 Hình 11: Giao diện chương trình 34 Hình 12: Chọn ảnh để kiểm tra 34 Hình 13: Kết nhận dạng 35 Trang DANH MỤC BẢNG Bảng 1: Các hàm xử lý Matlab 27 Bảng 2: Đánh giá kết ảnh nhận dạng k = 35 Bảng 3: Đánh giá kết ảnh nhận dạng k = 10 36 Trang LỜI MỞ ĐẦU Trong năm gần đây, lĩnh vực nghiên cứu lĩnh vực công nghệ thông tin phát triển mạnh mẽ, nhiều thuật toán đời với nhiều hướng nghiên cứu khác Một lĩnh vực quan tâm tạo ứng dụng thông minh dựa lĩnh vực trí tuệ nhân tạo Nhận dạng khuôn mặt người đề tài nghiên cứu quan tâm ứng dụng rộng rãi Bài toán nhận dạng khuôn mặt người toán hấp dẫn, không giới hạn giải pháp sử dụng, vận dụng linh hoạt kiến thức nhiều lĩnh vực Đây chủ đề tương đối với ứng dụng mang tính công nghệ cao robot, thiết bị camera, hệ thống bảo mật, nhận dạng Hiện có nhiều phương pháp nhận dạng khác xây dựng để nhận dạng người cụ thể giới thực Tuy nhiên việc nhận dạng người cụ thể giới thực vô khó khăn, để nhận dạng ta phải xậy dựng tập sở liệu vô lớn việc xử lý liệu phải nhanh xác Nhiệm vụ đặt nghiên cứu xây dựng chương trình sử dụng phương pháp nhận dạng có độ xác cao hiệu Để giải vấn đề có nhiều phương pháp áp dụng, số phương pháp “Phân tích thành phần chính” (PCA – Principal Components Analysis) nhằm rút trích đặc trưng nhận dạng khuôn mặt người Phương pháp phân tích thành phần khuôn mặt, giảm bớt số thành phần không cần thiết tạo hiệu tính toán nhanh mà đảm bảo tính xác Do trình độ có hạn kinh nghiệm thực tiễn non kém, nên đề tài không tránh khỏi thiếu sót Rất mong nhận ý kiến đóng góp, giúp đỡ chân tình, quý báu quý thầy cô bạn sinh viên Trang CHƯƠNG 1: TỔNG QUAN 1.1 Sơ lược toán nhận dạng khuôn mặt người Nhận dạng khuôn mặt khái niệm mẻ, phát triển vào năm 60 kỷ trước Khi đó, người ta phải dùng tới phương pháp tính toán thủ công để xác định vị trí, khoảng cách phận khuôn mặt Về sau, vào cuối thập niên 80, kỹ thuật nhận diện khuôn mặt dần cải thiện M Kirby L Sirovich phát triển phương pháp tìm mặt riêng (eigenface) sử dụng phương pháp phân tích thành phần (PCA), cột mốc ngành công nghệ nhận diện khuôn mặt [1] Trong năm gần đây, nghiên cứu ứng dụng trí tuệ nhân tạo (Artificial Intellegence) học máy (Machine Learning) thu hút quan tâm nhiều nhà khoa học Một lĩnh vực liên quan đến công nghệ tri thức mà ứng dụng nhiều vào sống nhận dạng mẫu (Pattern Recognition) Các hệ thống nhận dạng phổ biến nhận dạng chữ viết (đánh máy viết tay), nhận dạng chữ ký, nhận dạng vân tay Một toán nhiều quan tâm thời điểm nhận dạng khuôn mặt (Face Recognition) Khuôn mặt đóng vai trò quan trọng trình giao tiếp người với người Nhận dạng khuôn mặt toán thách thức lớn toán nhận dạng khuôn mặt người chứa nhiều toán khác : phát mặt người (Face detection), đánh dấu (facial landmarking), rút trích đặc trưng Ngoài ra, ảnh khuôn mặt thực tế chứa nhiều vấn đề như: độ sáng, độ nhòe, độ nhiễu, độ phân giải Trong thực tế, nhận dạng khuôn mặt người (Face Recognition) hướng nghiên cứu nhiều nhà khoa học lớn quan tâm Ở trường đại học hàng đầu Công Nghệ Thông Tin Massachusetts Institute of Technology (MIT), Carnegie Mellon University (CMU), Standford, Berkeley công ty lớn Microsoft, Apple, Google có trung tâm sinh trắc học nghiên cứu nhận dạng khuôn mặt người lĩnh vực nghiên cứu Sự kiện gần vụ nổ bom Boston, USA, hệ thống nhận dạng mặt người FBI hỗ trợ nhiều việc tìm kiếm thủ Ứng dụng nhận diện khuôn mặt điều tra tội phạm bước tiến đáng hoan nghênh Tuy nhiên, nhiều lĩnh vực khác, nhận diện khuôn mặt vướng phải vấn đề liên quan đến pháp lý, đặc biệt Mỹ nước phát triển Châu Âu Việc Facebook phải tắt hoàn toàn tính nhận diện khuôn mặt Châu Âu Trang vào tháng 10 năm ngoái vi phạm quyền tự cá nhân khởi đầu Đấy chưa kể đến vấn đề sáng chế vốn làm đau đầu công ty muốn triển khai công nghệ Rõ ràng, công nghệ nhận diện khuôn mặt chưa thể ứng dụng cách rộng rãi tất lĩnh vực sống Các bước để nhận dạng khuôn mặt hệ thống : Hình 1: Mô hình hệ thống nhận dạng khuôn mặt 1.2 Một số phương pháp xác định khuôn mặt người Có nhiều nghiên cứu tìm phương pháp xác định khuôn mặt người, từ ảnh xám đến ngày ảnh màu Dựa vào tính chất phương pháp xác định khuôn mặt người ảnh, chia thành bốn hướng tiếp cận [2]: Hướng tiếp cận dựa tri thức: Mã hóa hiểu biết người loại khuôn mặt người thành luật Thông thường luật mô tả quan hệ đặc trưng Hướng tiếp cận dựa đặc trưng không thay đổi: Mục tiêu thuật toán tìm đặc trưng mô tả cấu trúc khuôn mặt người mà đặc trưng không thay đổi tư khuôn mặt, vị trí đặt thiết bị thu hình điều kiện ánh sáng thay đổi Hướng tiếp cận dựa so khớp mẫu: Dùng mẫu chuẩn khuôn mặt người (các mẫu chọn lựa lưu trữ) để mô tả cho khuôn mặt người hay đặc trưng khuôn mặt (các mẫu phải chọn cho tách biệt theo tiêu chuẩn mà tác giả định để so sánh) Các mối tương quan liệu ảnh đưa vào mẫu dùng để xác định khuôn mặt người Hướng tiếp cận dựa diện mạo: Trái ngược hẳn với so khớp mẫu, mô hình (hay mẫu) học từ tập ảnh huấn luyện trước Sau hệ thống (mô hình) xác định khuôn mặt người Hay số tác giả gọi hướng tiếp cận hướng tiếp cận theo phương pháp học Trang 1.2.1 Hướng tiếp cận dựa tri thức Trong hướng tiếp cận này, phương pháp xác định khuôn mặt người xây dựng dựa vào luật, luật phụ thuộc vào tri thức tác giả nghiên cứu toán xác định khuôn mặt Đây hướng tiếp cận dạng top-down Dễ dàng xây dựng luật để mô tả đặc trưng khuôn mặt quan hệ tương ứng Các quan hệ đặc trưng mô tả quan hệ khoảng cách vị trí tương đối Khó khăn hướng tiếp cận làm đeẻ chuyển tri thức người khuôn mặt sang luật cho máy tính cách hiệu Nếu luật chi tiết, chặt chẽ xác định thiếu khuôn mặt có tron gảnh, luật tổng quát dẫn đến xác định sai Ngoài khó để mở rộng phạm vi toán để xác định khuôn mặt có nhiều tư khác Có nhiều cách để xây dựng chương trình xác định khuôn mặt người theo hướng tiếp cận tri thức Thông thường chương trình xây dựng theo hướng dựa vào phương pháp chọn ứng viên ảnh trước, sau áp dụng luật để xác định ứng viên khuôn mặt, ứng viên khuôn mặt Quá trình làm lại nhiều lần để giảm sai sót 1.2.2 Hướng tiếp cận dựa đặc trưng không thay đổi Đây hướng tiếp cận theo kiểu bottom-up Các tác giả cố gắng tìm đặc trưng không thay đổi khuôn mặt người để xác định khuôn mặt người Dựa nhận xét thực tế, người dễ dàng nhận biết khuôn mặt đối tượng tư khác điều kiện ánh sáng khác nhau, phải tồn thuộc tính hay đặc trưng không thay đổi Có nhiều nghiên cứu xác định đặc trưng khuôn mặt có khuôn mặt ảnh hay không Các đặc trưng như: lông mày, mắt, mũi, miệng, đường viền tóc trích phương pháp xác định cạnh Trên sở đặc trưng này, xây dựng mô hình thống kê để mô tả quan hệ đặc trưng xác định tồn khuôn mặt ảnh Một vấn đề thuật tóan theo hướng tiếp cân đặc trưng cần phải điều chỉnh cho phù hợp điều kiện ánh sáng, nhiễu, bị che khuất Đôi bóng khuôn mặt tạo thêm cạnh mới, mà cạnh lại rõ cạnh thật khuôn mặt, dùng cạnh để xác định gặp khó khăn  Các đặc trưng khuôn mặt Sirohey đưa phương pháp xác định khuôn mặt từ ảnh có hình phức tạp Phương pháp dựa cạnh (dùng phương pháp Candy heuristics để loại bỏ cạnh để lại đường bao xung quanh khuôn mặt Một hình Trang 10 dụng ảnh, giá trị phần tử ma trận liệu cho biết màu điểm ảnh nằm hàng ma trận màu Nếu ma trận liệu thuộc kiểu double, giá trị tương ứng với hang thứ bảng màu, giá trị thứ tương ứng với hang thứ hai bảng màu Nếu ma trận liệu thuộc kiểu uint8 uint16, giá trị tương ứng với hàng 1, giá trị tương ứng với hang 2, Riêng với kiểu uint6, Matlab không hỗ trợ đủ phép toán so với kiểu uint8 nên cần sử lý ta chuyển sang kiểu liệu uint8 double hàng imapprox im2double Ảnh GrayScale( ảnh biểu diễn theo độ sáng) Mỗi ảnh biểu diễn ma trận hai chiều, giá trị phần tử cho biết độ sáng (hay mức xám) điểm ảnh Ma trận thuộc kiểu uint8, uint16 double Trong giá trị nhỏ tương ứng với màu đen giá trị lớn nhất(255 65535 tùy kiểu liệu nào) ứng với màu trắng Như vậy, ảnh biểu diễn theo kiểu gọi ảnh “trắng đen” ảnh gray scale Ảnh nhị phân Ảnh nhị phân biểu diễn ma trận hai chiều thuộc kiểu logical, có nghĩa điểm ảnh nhận hai giá trị (đen) (trắng) Ảnh RGB Ảnh RGB gọi ảnh “truecolor” tính trung thực Ảnh biểu diễn ma trận chiều có kích thước m x n x 3, với m x n kích thước ảnh theo pixels Ma trận định nghĩa thành phần màu red, green, blue cho điểm ảnh, phần tử thuộc kiểu uint8, uint16, double Ví dụ, điểm ảnh vị trí (10,5) có ba thành màu xác định giá trị (10,5,1), (10,5,2) (10,5,3) Các file ảnh thường sử dụng bit cho thành phần màu, nghĩa 24bit cho điểm ảnh (khoảng 16 triệu màu) 2.3.3 Các hàm hiển thị ảnh Matlab Để hiển thị ảnh, Matlab cung cấp hàm image imagesc Ngoài ra, Image Processing Toolbox có hai hàm hiển thị khác imview imshow - Hàm image(x,y,c) hiển thị hình ảnh biểu diễn ma trận c kích thước mxn lên hệ trục tọa độ x,y véctơ xác định vị trí điểm c(1,1) c(m,n) - Hàm imagesc có chức tương tự hàm image, ngoại trừ việc liệu ảnh co giãn để sử dụng toàn đồ màu hành Trang 25 - Hàm imview cho phép hiển thị ảnh sổ riêng Java, gọi Image Viewer Image Viewer cung cấp công cụ dò tìm, xác định giá trị pixel cách linh hoạt - Hàm imshow cho phép hiển thị ảnh Figure tự động thiết lập giá trị đối tượng image, axes, figure để hiển thị hình ảnh.[12] Các hàm chuyển đổi loại ảnh kiểu liệu ảnh dither Tạo ảnh nhị phân hay ảnh RGB gray2ind Chuyển ảnh trắng đen thành ảnh indexed grayslice Chuyển ảnh trắng đen thành ảnh indexed lấy ngưỡng im2bw Chuyển ảnh thành ảnh kiểu liệu nhị phân im2double Chuyển ảnh thành ảnh kiểu liệu double im2uint16 Chuyển ảnh thành ảnh kiểu liệu uint16 im2uint8 Chuyển ảnh thành ảnh kiểu liệu uint8 imapprox Xấp xỉ ảnh indexed cách giảm số màu ind2gray Chuyển ảnh indexed thành ảnh gray scale ind2rgb Chuyển ảnh indexed thành ảnh RBG mat2gray Tạo ảnh gray scale từ ma trận rgb2ind Chuyển ảnh RBG thành ảnh indexed rgb2gray Chuyển ảnh RBG thành ảnh gray scale Các hàm truy xuất liệu ảnh imfinfo Truy xuất thông tin ảnh imread Đọc ảnh từ file xuất ma trận ảnh imwrite Lưu ma trận ảnh thành file ảnh Các hàm biến đổi hình học cp2tform Định nghĩa phép biến đổi hình học cặp tương ứng Trang 26 imcrop Trích xuất phần ảnh imresize Thay đổi kích thước ảnh imrotate Thực phép quay ảnh imtranform Thực phép biến đổi hình học tổng quát maketform Định nghĩa phép biến đổi hình học tổng quát Bảng 1: Các hàm xử lý Matlab 2.3.4 Các định dạng ảnh xử lý ảnh Ảnh thu sau trình số hóa thường lưu lại cho trình xử lý hay truyền Trong trình phát triển kỹ thuật xử lý ảnh, tồn nhiều định dạng ảnh khác từ ảnh đen trắng (với định dạng IMG), ảnh đa cấp xám ảnh màu: (BMP, GIF, JPEG…) - Định dạng ảnh IMG ảnh đen trắng phần đầu IMG có 16byte chứa thông tin - Định dạng ảnh GIF:GIF (viết tắt Graphics Interchange Format; tiếng Anh nghĩa "Định dạng Trao đổi Hình ảnh") định dạng tập tin hình ảnh bitmap cho hình ảnh dùng 256 màu sắc khác hoạt hình dùng 256 màu cho khung hình GIF định dạng nén liệu đặc biệt hữu ích cho việc truyền hình ảnh qua đường truyền lưu lượng nhỏ Định dạng CompuServe cho đời vào năm 1987 nhanh chóng dùng rộng rãi World Wide Web nay.Tập tin GIF dùng nén liệu bảo toàn kích thước tập tin giảm mà không làm giảm chất lượng hình ảnh, cho hình ảnh có 256 màu Số lượng tối đa 256 màu làm cho định dạng không phù hợp cho hình chụp (thường có nhiều màu sắc), nhiên kiểu nén liệu bảo toàn cho hình chụp nhiều màu có kích thước lớn truyền liệu amngj Định dạng JPEG nén liệu thất thoát dùng cho ảnh chụp, lại làm giảm chất lượng cho vẽ màu, tạo nên chỗ nhòe thay cho đường sắc nét, đồng thời độ nén thấp cho hình vẽ màu Như vậy, GIF thường dùng cho sơ đồ, hình vẽ nút bấm hình màu, JPEG dùng cho ảnh chụp Định dạng GIF dựa vào bảng màu: bảng chứa tối đa 256 màu khác cho biết màu dùng hình Trang 27 - Định dạng JPEG: Phương pháp nén ảnh JPEG (tiếng Anh, viết tắt cho Joint Photo-graphic Experts Group) phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần Tuy nhiên ảnh sau giải nén khác với ảnh ban đầu Chất lượng ảnh bị suy giảm sau giải nén Sự suy giảm tăng dần theo hệ số nén Tuy nhiên mát thông tin chấp nhận việc loại bỏ thông tin không cần thiết dựa nghiên cứu hệ nhãn thị mắt người.Phần mở rộng file JPEG thường có dạng jpeg, jfif, jpg, JPG, hay JPE; dạng jpg dạng dùng phổ biến Hiện dạng nén ảnh JPEG phổ biến ĐTDD trang thiết bị lưu giữ có dung lượng nhỏ Công đoạn chia nhỏ ảnh thành nhiều vùng nhỏ (thông thường vùng 8x8 pixel) sử dụng biến đổi cosin rời rạc để biến đổi vùng thể thành dạng ma trận có 64 hệ số thể "thực trạng" pixel Điều quan trọng hệ số có khả thể "thực trạng" cao nhất, khả giảm nhanh với hệ số khác Nói cách khác lượng thông tin 64 pixels tập trung chủ yếu số hệ số ma trận theo biến đổi Trong giai đoạn có mát thông tin, biến đổi ngược xác Nhưng lượng thông tin bị chưa đáng kể so với giai đoạn Ma trận nhận sau biến đổi cosin rời rạc lược bớt khác hệ số Đây lúc nhiều thông tin người ta vứt bỏ thay đổi nhỏ hệ số Như bung ảnh nén ta có tham số khác pixel Các biến đổi áp dụng cho thành phần U V ảnh với mức độ cao so với Y (mất nhiều thông tin U V hơn) Sau áp dụng phương pháp mã hóa Gernot Hoffman: phân tích dãy số, phần tử lặp lại nhiều mã hóa ký hiệu ngắn (marker) [13] Trang 28 CHƯƠNG 3: NHẬN DẠNG KHUÔN MẶT NGƯỜI TRÊN MÔI TRƯỜNG MATLAB 3.1 Bài toán Nhiệm vụ tìm hiểu phương pháp, thuật toán nhận dạng khuôn mặt người nắm vững thuật toán nhận dạng khuôn mặt PCA Đọc tìm hiểu ngôn ngữ Matlab Từ xây dựng phần mềm thử nghiệm để tìm kiếm khuôn mặt có sở liệu ngôn ngữ Matlab Phần mềm nhận dạng khuôn mặt xây dựng để ứng dụng thiết bị nhận dạng áp dụng cho lĩnh vực an toàn, bảo mật thông tin Input: Là ảnh khuôn mặt Output: Phần mềm nhận dạng đưa thông tin tên khuôn mặt có ảnh 3.2 Phân tích chương trình 3.2.1 Xây dựng sở liệu Cơ sở liệu sử dụng cho toán 1000 ảnh chụp từ 10 sinh viên khoa Công nghệ Thông tin, bạn 100 kiểu có sắc thái biểu cảm khuôn mặt khác Ảnh chụp từ điện thoại định dạng lại ảnh kích thước 600x800 pixel Các khuôn mặt ngẫu nhiên chưa chỉnh Một số ví dụ ảnh (Hình 4) Hình 4: Tập ảnh huấn luyện Trang 29 Ảnh chia làm bộ, để test để train Mỗi ảnh đánh số thứ tự từ đến 100 Trong đó, 700 ảnh huấn luyện, 300 ảnh để test Ảnh đánh số từ 1_70 thuộc train, ảnh lại nằm test Hình 5: Tập ảnh test dataset 3.2.2 Huấn luyện (Training) Đầu tiên thuật toán tính toán đặc trưng (eigenface) tập dataset Lưu đồ thuật toán sau: Hình 6: Lưu đồ thuật toán tính đặc trưng khuôn mặt Việc đọc ảnh từ tập ảnh dataset Khi đọc, ảnh dạng ảnh màu, kích thước 600 x 800 pixel Trang 30 X = zeros(480000,700); for i = : 70 t = imread(strcat('Faces\0_', num2str(i),'.jpg')); tt = rgb2gray(t); a = reshape(tt',480000,1); a = im2double(a); X(:,i) = a; end Sau đọc ảnh, bước đưa ảnh mức xám chuyển thành vector chiều Sau thực lệnh, ảnh màu chuyển thành ảnh xám Hình 7: Xử lý ảnh màu sang ảnh xám Tiếp theo tính vector trung bình ảnh Để tính vector trung bình gộp vector chiều thành ma trận T thực tính vector trung bình lệnh sau: TB = zeros(480000,1); for i=1:480000 TB(i) = mean(X(i, :)); End Sau tính sai số ảnh so với ma trận trung bình Các vector sai số gộp lại thành ma trận gọi ma trận A A = zeros(480000,40); for i=1:100 A(:, i) = X(:, i) - TB; End Trang 31 Như vậy, ma trận hiệp phương sai C = A.AT , sau tính tiếp trị riêng vector riêng C Trị riêng vector riêng A.AT tính thông qua tính trị riêng vector riêng ma trận AT.A C = A'*A; [V,D]= eig(C); // V: vector riêng, D: trị riêng [SortedValue, I] = sort(diag(D),'descend'); V = V(:, I); Tính vector đặc trưng trị riêng tương ứng tính vector đặc trưng ma trận A.AT theo công thức ui = A.vi u = zeros(480000,40); for i=1:40 u(:,i) = A*egvec(:,i); end Trích chọn số đặc trưng (eigenface) Chỉ giữ lại K vector lớn cách giữ lại K vector đầu tiên(trong ma trận vector đặc trưng) tương ứng với K trị riêng lớn output = zeros(5,1); for j= 1: [giatri, vitri] = min(dist); output(j) = Vitri2Nguoi(vitri); disp(strcat('Vi tri nho nhat: ', num2str(vitri), ' La nguoi: ', num2str(output(j)))) dist(vitri) = 10^12; end Quá trình chuyển từ không gian khuôn mặt đầy đủ không gian K vector biểu diễn hình sau: Hình 8: Quá trình tạo đặc trưng khuôn mặt Chuẩn hóa vector đơn vị: dist = zeros(100,1); for j=1:100 dist(j)= norm(Omega(:,j) - query,2); Trang 32 end Biểu diễn ảnh theo vector trị riêng vừa tìm Các ảnh tương ứng với vector hệ số tương ứng với vector đặc trưng số vector đặc trưng vừa tìm Hình 9: Ảnh ban đầu biểu diễn theo trọng số wi eigenface 3.2.3 Giới thiệu chương trình Chương trình “Rút trích đặc trưng thuật toán PCA cho toán nhận dạng khuôn mặt” chương trình thiết kế giao diện người dùng GUI phần mềm Matlab 7.0, thiết kế đơn giản dễ sử dụng Hình 10: Giao diện chương trình Matlab Trang 33 Đây giao diện giới thiệu chương trình Trên giao diện có hai nút nhấn Next Close Nếu chọn Close thoát khỏi chương trình Nếu chọn Next đến giao diện chương trình Như hình đây: Hình 11: Giao diện chương trình Đây giao diện chương trình, gồm khung hình ảnh hai nút Image Close Để load ảnh khuôn mặt người nhấn Image, hộp thoại mở file xuất hiện, bạn chọn file ảnh muốn nhận dạng Ở ví dụ ảnh để kiểm tra Hình 12: Chọn ảnh để kiểm tra Trang 34 Khi mở ảnh nhận dạng, chương trình đối sánh ảnh chọn với ảnh sở liệu Nếu nhận dạng đưa ảnh thông tin người Hình 13: Kết nhận dạng 3.2.4 Đánh giá độ xác chương trình STT Dataset Nhận dạng Nhận dạng sai Tỷ lệ Nguyễn Tất Chủ 27 90% Hồ Minh Hiếu 23 76.7% Nguyễn Ngọc Liêm 29 96.6% Lê Hoàng Thanh 30 100% Nguyễn Văn Hiếu 30 100% Nguyễn Thị Mộng 30 100% Phan Hữu Duy 30 100% Lê Thị Mận 30 100% Nguyễn Thị Hậu 30 100% Đỗ Thị Mỹ Nho Bảng 2: Đánh giá kết ảnh nhận dạng k = Trang 35 STT Dataset Nhận dạng Nhận dạng sai Tỷ lệ Nguyễn Tất Chủ 27 90% Hồ Minh Hiếu 20 10 66.6% Nguyễn Ngọc Liêm 29 96.6% Lê Hoàng Thanh 30 100% Nguyễn Văn Hiếu 28 93.3% Nguyễn Thị Mộng 30 100% Phan Hữu Duy 29 96.6% Lê Thị Mận 30 100% Nguyễn Thị Hậu 30 100% Đỗ Thị Mỹ Nho 30 100% Bảng 3: Đánh giá kết ảnh nhận dạng k = 10 Từ bảng thực nghiệm cho thấy: Để khảo sát tác động thuật toán k-NN hiệu mô hình, báo cáo thử nghiệm với giá trị k khác nhau: k = k = 10 Kết thực nghiệm từ Bảng Bảng cho thấy độ xác mô hình không thay đổi nhiều k thay đổi Khi k tăng lên 10 số lượng ảnh phân loại xác tập ảnh số số giảm xuống 20/30 29/30 Trang 36 CHƯƠNG : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận - Đề tài trình bày chi tiết, cụ thể nhận dạng khuôn mặt người dựa vào phương pháp PCA Đề tài chạy thử nghiệm để đánh giá kết áp dụng phương pháp PCA phân lớp KNN Các kết đạt cho thấy độ xác chương trình tương đối cao khoảng 97% nhận dạng - Xây dựng dataset để test phần mềm - Nắm số kiến thức liên quan đến xử lý ảnh cách sử dụng Matlab - Nắm đặc điểm toán nhận dạng nói chung nhận dạng khuôn mặt nói riêng - Tìm hiểu số phương pháp nhận dạng người, nắm ưu nhược điểm số phương pháp Test thử thành công dataset tự xây dựng Tuy đạt số kết định đề tài số vấn đề không giải tốt giao diện không bắt mắt, sở liệu hạn chế ảnh 4.2 Hướng phát triển Trong thời gian tới, đề tài phát triển thành ứng dụng thực tế nhận dạng ảnh thẻ sinh viên Nhằm cải thiện chương trình, chương trình thêm chức sau:  Tự động đưa ảnh nhận dạng kích thước phù hợp ta thực thao tác quét ảnh đưa vào chương trình  Nhận dạng mặt người qua đoạn video webcam  Mở rộng số lượng người cần nhận dạng  Giải mở rộng khả xử lý chương trình với trường hợp thay đổi tư thế, trạng thái cảm xúc đối tượng giảm ảnh hưởng bên phục trang  Thử nghiệm, phối hợp với mô hình nhận dạng khác (mạng nơron, SVM, ) phương pháp nhận dạng ảnh khác (LDA, ICA, ) để mang lại độ tin cậy cao cho hệ thống  Quy định ánh sáng nơi có sử dụng hệ thống để giảm sai số nhận dạng cường độ sáng thay đổi Trang 37  Với kết đạt , phương hướng giải trên, đề tài đề xuất số hướng ứng dụng cho hệ thống nhận dạng khuôn mặt người sau:  Nhận dạng online  Sử dụng để kiểm soát vào khu vực có nhiều người vào, địa điểm công cộng sân bay, nhà ga, rạp chiếu phim Nhận dạng mặt người camera số giúp cho người quản lý kiểm soát người vào ra, khách hàng không bị làm phiền bị kiểm tra vân tay  Kết hợp với thẻ để tăng tính an toàn dịch vụ rút tiền tự động Sự kết hợp hạn chế việc ăn cắp thẻ Người rút tiền việc phải sử dụng thẻ, hệ thống đối chiếu khuôn mặt người rút tiền với người phép sử dụng tài khoản Việc kiểm tra khuôn mặt thực kín đáo mà không gây phiền nhiễu cho khách hàng Trang 38 TÀI LIỆU THAM KHẢO [1] Vũ Mạnh Hùng, “Nhận dạng mặt người, đặc trưng PCA”, Học Viện Bưu Chính Viễn Thông thành phố Hồ Chí Minh [2] Hoàng Văn Hưng, “Tìm hiểu thuật toán PCA”, đại học Công nghệ Thông tin [3] Phạm Thế Bảo, Nguyễn Thành Nhựt, Trần Anh Tuấn, “Tổng quan phương pháp xác định khuôn mặt người” [4] Vũ Hồng Hoan, “Nhận dạng mặt người Matlab” [5] Thạc sĩ Trần Thanh Hùng, “Tìm hiểu phương pháp nhận dạng khuôn mặt người sử dụng Matlab”, đại học Công nghiệp Hà Nội [6] Lê Hoàng Thanh, “Dò tìm nhận dạng khuôn mặt người Eigenface”, đại học Nha Trang [7] Nguyễn Văn Chức, “Thuật toán K – láng giềng gần nhất” , đại học Công nghệ Thông tin Hà Nội [8] Ngô Hải Bắc, “Lập trình giao diện GUI Matlab” [9] Lindsay I.Smith “A tutorial on Principal Compoments Analysis”, February 26, 2002 [10] Howard Demuth (2002), Neural network Toolbox: For use with Matlab [11] Trần Thị Thanh Hải, Eric Marchand (2009), “Một số phương pháp chuyển đổi ảnh Matlab”, Trung tâm MICA, trường đại học Bách Khoa, Hà Nội [12] Kyungnam Kim, “Face recognition using Principle Component Analysis” [13] Ion Marques (2010), “Face Recognition by Using Neural Netwwork Classifiers base PCA”, Daejeon, Korea [14] Các tài liệu Matlab : htttp: //www.mathworks.com Trang 39

Ngày đăng: 13/06/2017, 09:41

Xem thêm: Nhandangkhuonmatbang PCA

TỪ KHÓA LIÊN QUAN

Mục lục

    1.1 Sơ lược về bài toán nhận dạng khuôn mặt người

    Hình 1: Mô hình hệ thống nhận dạng khuôn mặt

    1.2 Một số phương pháp xác định khuôn mặt người

    1.2.1 Hướng tiếp cận dựa trên tri thức

    1.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi

    1.2.3 Hướng tiếp cận dựa trên so khớp mẫu

    1.2.4 Hướng tiếp cận dựa trên diện mạo

    1.3 Ứng dụng của đề tài nhận dạng khuôn mặt

    1.4 Mục tiêu và phạm vi nghiên cứu

    CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w