ĐỒ ÁN CƠ SỞ 5: XÂY DỰNG NHẬN DIỆN KHUÔN MẶT BẰNG MTCNN VÀ FACENET (Nguyễn Đình An)
Một trong những bài toán được nhiều người quan tâm nhất của lĩnh vực xử lý ảnh hiện nay đó là nhận dạng khn mặt (Face Recognition). Như chúng ta đã biết, khn mặt đóng vai trị quan trọng trong q trình giao tiếp giữa người với người, nó mang một lượng thơng tin giàu có, chẳng hạn như từ khn mặt chúng ta có thể xác định giới tính, tuổi tác, chủng tộc, trạng thái cảm xúc, đặc biệt là xác định mối quan hệ với đối tượng (có quen biết hay khơng).
Do đó, bài tốn nhận dạng khn mặt đóng vai trò quan trọng trong nhiều lĩnh vực đời sống hằng ngày của con người như các hệ thống giám sát, quản lý vào ra, tìm kiếm thơng tin một người nổi tiếng, …đặc biệt là an ninh, bảo mật. Có rất nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang vấp phải những thử thách về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng của tham số mơi trường.
Trong khuôn khổ đồ án này, chúng em sẽ tiếp tục giải quyết bài tốn nhận dạng offline. Trong đó đối tượng được thu thập thành các file dữ liệu và được chuyển về trung tâm. Tại đó, các số liệu sẽ được phân tích xử lý. Chúng em sẽ lấy đó làm nền tảng để có thể xây dựng các ứng dụng lớn hơn sau này
NỘI DUNG:
Chương 1:.............................................................................................................7
GIỚI THIỆU VÀ NGHIÊN CỨU TỔNG QUAN..............................................7
1.1 Giới thiệu đề tài:...........................................................................................7
1.2 Phương pháp thực hiện:................................................................................7
1.3 Mục đích nghiên cứu:....................................................................................8
1.4 Giới hạn của đề tài:.......................................................................................8
1.5 Cấu trúc đồ án:............................................................................................10
Chương 2 :..........................................................................................................10
CƠ SỞ LÝ THUYẾT.........................................................................................10
2.1 Các phương pháp nhận diện khuôn mặt:.....................................................10
2.1.1 Nhận dạng khuôn mặt người dùng thuật tốn PCA :.............................11
2.1.2 Nhận dạng khn mặt người dựa trên phương pháp LBP:....................12
2.1.3 Nhận dạng khuôn mặt dựa trên phương pháp haar like và thuật tốn
Adaboost:.......................................................................................................13
2.2 Mạng nơ-ron tích chập (Convolutional Neural Network):..........................17
2.2.1 Định nghĩa:...........................................................................................17
2.2.2 Cấu trúc đơn giản của CNN:.................................................................18
2.3 Tìm hiểu về Face Detector - MTCNN:........................................................22
2.4 Tìm hiểu Pre-trained model - FaceNet:.......................................................25
2.4.1 Pre-trained model:................................................................................25
2.4.2 FaceNet:................................................................................................26
2.4.3 Thuật toán Triplet loss trong FaceNet:..................................................27
2.5 Kỹ thuật căn chỉnh khuôn mặt (Face alignment):........................................30
Trang 5
2.6 Ngơn ngữ Python:.......................................................................................31
2.6.1 Giới thiệu sơ lược về ngôn ngữ Python:...............................................31
2.6.2 Các đặc điểm của ngôn ngữ Python:.....................................................32
2.6.3 Ứng dụng của Python:..........................................................................35
2.7 Một số thư viện quan trọng:........................................................................35
2.7.1 OpenCV:...............................................................................................35
2.7.2 Numpy:.................................................................................................37
2.7.3 Keras:....................................................................................................37
2.7.4 TensorFlow:..........................................................................................38
2.7.2 Dlib:......................................................................................................38
Chương 3:...........................................................................................................39
PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG....................................................39
3.1 Phân tích – thiết kế hệ thống phát hiện mặt người:.....................................39
3.1.1 Phân tích:..............................................................................................39
3.1.2 Thiết kế hệ thống:.................................................................................41
3.1.3 Xử lý đầu vào:......................................................................................41
3.1.4 Trích chọn đặc trưng và gán nhãn:........................................................41
3.1.5 Phát hiện khuôn mặt trong ảnh đầu vào::..............................................44
3.1.6 Căn chỉnh khn mặt trước khi nhận dạng:..........................................44
3.1.7 Trích rút đặc trưng khuôn mặt từ ảnh đầu vào:.....................................44
3.1.8 Nhận diện khuôn mặt:...........................................................................45
3.1.9 Xác định các khuôn mặt “unknown”:...................................................46
3.2 Kết quả thử nghiệm hệ thống:.....................................................................46
3.3 Phân tích – thiết kế hệ thống phát hiện mặt người:.....................................24
3.3.1 Phân tích:..............................................................................................24
3.3.2 Thiết kế hệ thống:.................................................................................25
3.3.3 Thiết kế cơ sở dữ liệu:..........................................................................26
3.4 Giao diện chương trình:..............................................................................27
KẾT LUẬN.........................................................................................................49
DANH MỤC TÀI LIỆU THAM KHẢO.
Một trong những bài toán được nhiều người quan tâm nhất của lĩnh vực xử lý ảnh hiện nay đó là nhận dạng khn mặt (Face Recognition). Như chúng ta đã biết, khn mặt đóng vai trị quan trọng trong q trình giao tiếp giữa người với người, nó mang một lượng thơng tin giàu có, chẳng hạn như từ khn mặt chúng ta có thể xác định giới tính, tuổi tác, chủng tộc, trạng thái cảm xúc, đặc biệt là xác định mối quan hệ với đối tượng (có quen biết hay khơng).
Do đó, bài tốn nhận dạng khn mặt đóng vai trò quan trọng trong nhiều lĩnh vực đời sống hằng ngày của con người như các hệ thống giám sát, quản lý vào ra, tìm kiếm thơng tin một người nổi tiếng, …đặc biệt là an ninh, bảo mật. Có rất nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang vấp phải những thử thách về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng của tham số mơi trường.
Trong khuôn khổ đồ án này, chúng em sẽ tiếp tục giải quyết bài tốn nhận dạng offline. Trong đó đối tượng được thu thập thành các file dữ liệu và được chuyển về trung tâm. Tại đó, các số liệu sẽ được phân tích xử lý. Chúng em sẽ lấy đó làm nền tảng để có thể xây dựng các ứng dụng lớn hơn sau này
NỘI DUNG:
Chương 1:.............................................................................................................7
GIỚI THIỆU VÀ NGHIÊN CỨU TỔNG QUAN..............................................7
1.1 Giới thiệu đề tài:...........................................................................................7
1.2 Phương pháp thực hiện:................................................................................7
1.3 Mục đích nghiên cứu:....................................................................................8
1.4 Giới hạn của đề tài:.......................................................................................8
1.5 Cấu trúc đồ án:............................................................................................10
Chương 2 :..........................................................................................................10
CƠ SỞ LÝ THUYẾT.........................................................................................10
2.1 Các phương pháp nhận diện khuôn mặt:.....................................................10
2.1.1 Nhận dạng khuôn mặt người dùng thuật tốn PCA :.............................11
2.1.2 Nhận dạng khn mặt người dựa trên phương pháp LBP:....................12
2.1.3 Nhận dạng khuôn mặt dựa trên phương pháp haar like và thuật tốn
Adaboost:.......................................................................................................13
2.2 Mạng nơ-ron tích chập (Convolutional Neural Network):..........................17
2.2.1 Định nghĩa:...........................................................................................17
2.2.2 Cấu trúc đơn giản của CNN:.................................................................18
2.3 Tìm hiểu về Face Detector - MTCNN:........................................................22
2.4 Tìm hiểu Pre-trained model - FaceNet:.......................................................25
2.4.1 Pre-trained model:................................................................................25
2.4.2 FaceNet:................................................................................................26
2.4.3 Thuật toán Triplet loss trong FaceNet:..................................................27
2.5 Kỹ thuật căn chỉnh khuôn mặt (Face alignment):........................................30
Trang 5
2.6 Ngơn ngữ Python:.......................................................................................31
2.6.1 Giới thiệu sơ lược về ngôn ngữ Python:...............................................31
2.6.2 Các đặc điểm của ngôn ngữ Python:.....................................................32
2.6.3 Ứng dụng của Python:..........................................................................35
2.7 Một số thư viện quan trọng:........................................................................35
2.7.1 OpenCV:...............................................................................................35
2.7.2 Numpy:.................................................................................................37
2.7.3 Keras:....................................................................................................37
2.7.4 TensorFlow:..........................................................................................38
2.7.2 Dlib:......................................................................................................38
Chương 3:...........................................................................................................39
PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG....................................................39
3.1 Phân tích – thiết kế hệ thống phát hiện mặt người:.....................................39
3.1.1 Phân tích:..............................................................................................39
3.1.2 Thiết kế hệ thống:.................................................................................41
3.1.3 Xử lý đầu vào:......................................................................................41
3.1.4 Trích chọn đặc trưng và gán nhãn:........................................................41
3.1.5 Phát hiện khuôn mặt trong ảnh đầu vào::..............................................44
3.1.6 Căn chỉnh khn mặt trước khi nhận dạng:..........................................44
3.1.7 Trích rút đặc trưng khuôn mặt từ ảnh đầu vào:.....................................44
3.1.8 Nhận diện khuôn mặt:...........................................................................45
3.1.9 Xác định các khuôn mặt “unknown”:...................................................46
3.2 Kết quả thử nghiệm hệ thống:.....................................................................46
3.3 Phân tích – thiết kế hệ thống phát hiện mặt người:.....................................24
3.3.1 Phân tích:..............................................................................................24
3.3.2 Thiết kế hệ thống:.................................................................................25
3.3.3 Thiết kế cơ sở dữ liệu:..........................................................................26
3.4 Giao diện chương trình:..............................................................................27
KẾT LUẬN.........................................................................................................49
DANH MỤC TÀI LIỆU THAM KHẢO.
Không có nhận xét nào: