ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU CẢI THIỆN Xác định khuôn mặt người dựa trên mạng neural
ĐỀ TÀI: Xác định khuôn mặt người dựa trên mạng neural
Khoa Điện Tử Viễn Thông, Trường Đại học Bách Khoa, Đại học Đà Nẵng
GVHD : TS. Phạm Văn Tuấn
Khoa Điện Tử Viễn Thông, Trường Đại họcBách Khoa, Đại học Đà Nẵng
MỤC LỤC
LỜI CAM ĐOAN.. i
MỤC LỤC…….ii
CÁC TỪ VIẾT TẮT.. v
DANH MỤC CÁC HÌNH VẼ.. vi
LỜI MỞ ĐẦU.viii
Chương 1: TỔNG QUAN VỀ HỆ THỐNG XÁC ĐỊNH KHUÔN MẶT NGƯỜI1
1.1Giới thiệu chương. 1
1.2 Hệ thống xác định khuôn mặt và ứng dụng. 1
1.2.1 Định nghĩa…………………………………………………………………..1
1.2.2 Một số lĩnh vực ứng dụng xác định khuôn mặt……………………………..2
1.3 Một số phương pháp xác định khuôn mặt người2
1.3.1 Hướng tiếp cận dựa trên tri thức…………………………………………….3
1.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi………………………...3
1.3.3 Hướng tiếp cận dựa trên dựa trên so khớp mẫu…………………………….3
1.3.4 Hướng tiếp cận dựa trên diện mạo………………………………………….4
1.4Khó khăn và thách thức trong bài toán xác định khuôn mặt4
1.5 Hướng tiếp cận được thử nghiệm trong đồ án. 5
1.5.1 Mạng Nơ-ron nhân tạo……………………………………………………...5
1.5.2 Ứng dụng của mạng Nơ-ron trong bài toán xác định khuôn mặt…………...5
1.5.3 Các bước xác định khuôn mặt dựa trên mạng Nơ-ron……………………...5
1.6 Kết luận chương. 6
Chương 2: CƠ SỞ DỮ LIỆU VÀ CÁC BƯỚC TIỀN XỬ LÝ.. 7
2.1 Giới thiệu chương. 7
2.2 Nguồn cơ sở dữ liệu. 7
2.2.1 Các nguồn cơ sở dữ liệu…………………………………………………….7
2.2.2 Biểu diễn dữ liệu khuôn mặt trong máy tính………………………………..8
2.3 Gán nhãn và canh biên các đặc trưng khuôn mặt9
2.4 Tiền xử lý về độ sáng và độ tương phản trên tập mẫu học. 11
2.6 Kết luận chương:12
Chương 3: MẠNG NƠ-RON VÀ RÚT TRÍCH ĐIỂM ĐẶC TRƯNG KHUÔN MẶT.. 13
3.1 Giới thiệu chương:13
3.2 Tổng quan về mạng Nơ-ron nhân tạo. 13
3.2.1 Khái niệm mạng Nơ-ron…………………………………………………...13
3.2.2 Cấu trúc mạng Nơ-ron……………………………………………………..13
3.2.3 Phân loại cấu trúc mạng Nơ-ron…………………………………………...14
3.2.4 Quá trình lan truyền tín hiệu từ đầu vào đến đầu ra……………………….15
3.3 Rút trích điểm đặc trưng khuôn mặt17
3.3.1 Phép biến đổi fourier rời rạc (Discrete Fourier Transform)……………….17
3.3.2 Bộ lọc Gabor (Gabor Filter)……………………………………………….18
3.4 Kết luận chương. 22
Chương 4: DÒ TÌM KHUÔN MẶT.. 22
4.1 Giới thiệu chương. 22
4.2 Huấn luyện dò tìm khuôn mặt22
4.2.1 Huấn luyện ảnh khuôn mặt………………………………………………...24
4.2.2 Huấn luyện ảnh không phải khuôn mặt…………………………………...24
4.2.3 Huấn luyện toàn diện……………………………………………………… 25
4.3 Nâng cao chất lượng và cải thiện tốc độ xác định khuôn mặt26
4.3.1 Các Heuristic loại bỏ thông tin thừa……………………………………….26
4.3.2 Hệ thống mạng kết hợp…………………………………………………… 28
4.4 Kết luận chương. 30
CHƯƠNG 5: LƯU ĐỒ THUẬT TOÁN.. 31
5.1 Giới thiệu chương. 31
5.2 Các bước trong chương trình chính. 31
5.3 Chương trình con tạo cơ sở dữ liệu. 32
5.4 Chương trình con tạo mạng Nơ-ron đơn giản. 32
5.5 Chương trình con huấn luyện và phân lớp. 33
5.5.1 Trainscg…………………………………………………………………… 33
5.5.2 Traincgb, traincgf, traincgp……………………………………………….34
5.6 Tổng kết chương. 34
CHƯƠNG 6: KẾT QUẢ MÔ PHỎNG.. 35
6.1 Giới thiệu chương. 35
6.2 Kết quả với TRAINSCG.. 35
6.2.1 Nhận xét…………………………………………………………………...37
6.3 Kết quả với TRAINCGB.. 38
6.3.1 Nhận xét…………………………………………………………………...39
6.4 Kết quả với TRAINCGF. 40
6.4.1 Nhận xét…………………………………………………………………...41
6.5 Kết quả với TRAINCGP. 42
6.5.1 Nhận xét…………………………………………………………………… 43
6.6 So sánh kết quả. 43
6.7 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm trainscg. 44
6.8 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgb. 46
6.9 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgf. 47
6.10 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgp. 49
6.11 So sánh kết quả của 4 hàm trên khi thay đổi số Nơ-ron trong lớp ẩn. 50
6.12 Kết luận chương. 51
HƯỚNG PHÁT TRIỂN ĐỀ TÀI52
TÀI LIỆU THAM KHẢO.. 53
PHỤ LỤC…………... 54
CÁC TỪ VIẾT TẮT
FFT : Fast Fourier Transform.
PCA : Principal Component Analysis.
MLP : Multi Layer Perception.
TRAINSCG: Scaled Cọnjugate Gradient Backpropagation.
TRAINCGB: Conjugate gradient backpropagation with Powell-Beale restarts.
TRAINCGP: Conjugate gradient backpropagation with Polak-Ribiére updates.
TRAINCGF: Conjugate gradient backpropagation with Fletcher-Reeves updates.
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Ví dụ về xác định khuôn mặt.
Hình 2.1Một số mẫu mặt người làm cơ sở dữ liệu trong hệ thống xác định khuôn mặt.
Hình 2.2 Một sỗ mẫu không phải là mặt người làm cơ sở dữ liệu cho hệ thống xác định.
Hình 2.3 Các mẫu dùng để kiểm tra.
Hình 2.4 Trái: Mẫu khuôn mặt chuẩn. Phải: Các vị trí đặc trưng.
Hình 2.5 Các mẫu của khuôn mặt thẳng.
Hình 2.6 Các bước trong việc tiền xử lí windown.
Hình 2.7 Phân đoạn ảnh nền với thuật toán E.
Hình 3.1Mô hình mạng Nơ-ron.
Hình 3.2 Mạng Nơ-ron truyền thẳng một lớp.
Hình 3.3 Mạng Nơ-ron truyền thẳng nhiều lớp.
Hình 3.4Ảnh thực hiện phép biến đổi FFT.
Hình 3.5 Biến đổi của bộ lọc Gabor.
Hình 3.6 Ví dụ về đáp ứng khuôn mặt dựa trên bộ lọc Gabor.
Hình 3.7 Các điểm đặc trưng khuôn mặt người được trích từ đáp ứng của bộ lọc Gabor.
Hình 3.8 Các bước thực hiện quá trình rút trích đặc trưng.
Hình 4.1 Thuật toán dò tìm khuôn mặt.
Hình 4.2 Ảnh minh họa khi chưa sử dụng heuristic.
Hình 4.3 Kết quả khi sử dụng heuristic.
Hình 4.4 Ảnh minh họa việc đánh mất cửa sổ khi sử dụng Heuristic.
Hình 4.5 AND các đầu ra từ hai mạng trên các vị trí và tỷ lệ khác nhau có
thể cải thiện độ chính xác dò tìm.
Hình5.1 Lưu đồ các bước trong chương trình chính.
Hình 5.2 Lưu đồ chương trình tạo cơ sở dữ liệu.
Hình 5.3 Cấu trúc mạng Nơ-ron.
Hình 6.1 Các ảnh kiểm tra với phương pháp trainscg.
Hình 6.2 Bảng thống kê số liệu khi ứng dụng phương pháp trainscg.
Hình 6.3 Các ảnh kiểm tra với phương pháp traincgb.
Hình 6.4 Bảng thống kê số liệu khi ứng dụng phương pháp traincgb.
Hình 6.5 Các ảnh kiểm tra với phương pháp traincgf.
Hình 6.6 Bảng thống kê số liệu khi ứng dụng phương pháp traincgf.
Hình 6.7 Các ảnh kiểm tra với phương pháp traincgp.
Hình 6.8 Bảng thống kê số liệu khi ứng dụng phương pháp traincgp.
Hình 6.9 kết quả của 4 phương pháp.
LỜI MỞ ĐẦU
Trong những năm gần đây, các ứng dụng về trí tuệ nhân tạo ngày càng phát triển và được đánh giá cao. Một lĩnh vực đang được quan tâm của trí tuệ nhân tạo nhằm tạo ra các ứng dụng thông minh, có tính người đó là nhận dạng. Đối tượng cho việc nghiên cứu nhận dạng cũng rất phong phú và đa dạng. Trong đề tài này em chọn đối tượng là khuôn mặt.
Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa người với người, và cũng mang một lượng thông tin giàu có, chẳng hạn có thể xác định giới tính, tuổi tác, trạng thái cảm xúc của người đó, ... hơn nữa khảo sát chuyển động của các đường nét trên khuôn mặt có thể biết được người đó muốn nói gì.Trong hệ thống nhận dạng người thì quá trình xác định khuôn mặt người được đánh giá là bước khó khăn và quan trọng nhất so với các bước còn lại của hệ thống. Do đó, xác định khuôn mặt là điều quan trọng và cần thiết . Đó là lí do cơ bản để em chọn đề tài :
“XÁC ĐỊNH KHUÔN MẶT NGƯỜI DỰA TRÊN MẠNG NƠ-RON”
Đề tài được chia thành 6 chương với nội dung sau:
- Chương 1: Giới thiệu tổng quan về hệ thống xác định khuôn mặt người. Trong chương này, đồ án trình bày mô hình cũng như định nghĩa về bài toán xác định khuôn mặt. Nêu ra những khó khăn tồn tại đối với phương pháp xác định khuôn mặt. Đồng thời xây dựng theo hướng tiếp cận dựa trên diện mạo. Cụ thể là ứng dụng mạng Nơ-ron.
- Chương 2 : Chuẩn bị cơ sở dữ liệu và các bước tiền xử lý. Trong chương này trình bày cơ sở xây dựng tập cơ sở dữ liệu và các giai đoạn tiền xử lí để nâng cao chất lượng hình ảnh.
- Chương 3: Mạng Nơ-ron và rút trích đặc điểm đặc trưng khuôn mặt. Trong chương trình này trình bày hai kĩ thuật quan trọng trong hệ thống xác định khuôn mặt: Mạng Nơ-ron và kĩ thuật rút trích đặc trưng bằng phương pháp FFT kết hợp với bộ lọc Gabor.
- Chương 4 : Dò tìm khuôn mặt. Trong chương này tổng hợp các kĩ thuật nhằm xác định vị trí của khuôn mặt.
- Chương 5: Lưu đồ thuật toán.
- Chương 6: Kết quả mô phỏng phương pháp xác định khuôn mặt người dựa trên mạng Nơ-ron.
Mặc dù đã cố gắng rất nhiều, nhưng do thời gian có hạn, khả năng dịch và hiểu tài liệu chưa tốt nên nội dung đồ án này không thể tránh khỏi những thiếu sót, rất mong được sự chỉ bảo, góp ý của các thầy cô và các bạn.
Em xin chân thành cảm ơn các thầy cô khoa Điện tử-Viễn thông, Đại học bách khoa Đà Nẵng đã tận tình dạy bảo, truyền đạt nhiều kiến thức quí báu cho chúng em. Đặc biệt em xin gửi lời cảm ơn chân thành nhất đến Tiến Sĩ Bùi Thị Minh Tú đã tận tình giúp đỡ và chỉ dẫn, cũng như định hướng đề tài cho em trong suốt thời gian làm đồ án tốt nghiệp.
Chương 1: TỔNG QUAN VỀ HỆ THỐNG XÁC ĐỊNH KHUÔN MẶT NGƯỜI
1.1 Giới thiệu chương
Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay. Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng trong ảnh đen trắng. Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay đổi trong ảnh. Không những vậy mà còn mở rộng cả phạm vi từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thật sự và rất nhiều của con người.
1.2 Hệ thống xác định khuôn mặt và ứng dụng
1.2.1 Định nghĩa
Xác định khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác định các vị trí và các kích thước của các khuôn mặt người trong các ảnh bất kỳ. Kỹ thuật này nhận biết các đặc trưng của khuôn mặt và bỏ qua những thứ khác, như: tòa nhà, cây cối, cơ thể…
|
Input output
Hình 1.1 Ví dụ về xác định khuôn mặt
1.2.2 Một số lĩnh vực ứng dụng xác định khuôn mặt
Xác định khuôn mặt đã được ứng dụng nhiều trong các lĩnh vực:
* Hệ thống tương tác giữa người và máy (điều kiển máy tính qua các cử động của khuôn mặt).
* Hệ thống nhận dạng người (giúp cho các cơ quan an ninh quản lý tốt con người).
* Hệ thống quan sát, bảo vệ, quản lý việc ra vào cho các cơ quan và công ty.
* Hệ thống trợ giúp lái xe, hệ thống phân tích cảm xúc trên khuôn mặt, và hệ thống nhận dạng khuôn mặt cho các máy ảnh kỹ thuật số...
1.3 Một số phương pháp xác định khuôn mặt người
Hiện nay có rất nhiều phương pháp xác định khuôn mặt người, dựa vào các tính chất của các phương pháp, ta có thể chia ra làm bốn hướng tiếp cận chính như sau:
o Hướng tiếp cận dựa trên tri thức: Mã hóa các hiểu biết của con người về các loại khuôn mặt người thành các luật. Thông thường các luật mô tả quan hệ của các đặc trưng.
o Hướng tiếp cận dựa trên đặc trưng không thay đổi: Mục tiêu các thuật toán đi tìm cácđặc trưng mô tả cấu trúc khuôn mặt người màcác đặc trưng này sẽ không thay đổi khi tư thếkhuôn mặt, vị trí đặt thiết bị thu hình hoặcđiều kiện ánh sáng thay đổi.
o Hướng tiếp cận dựa trên so khớp mẫu: Dùng các mẫu chuẩn của khuôn mặt người (các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặt người hay các đặc trưng khuôn mặt (các mẫu này phải chọn làm sao cho tách biệt nhau theo tiêu chuẩn mà các tác giả định ra để so sánh). Các mối tương quan giữa dữ liệu ảnh đưa vào và các mẫu dùng để xác định khuôn mặt người.
o Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn với so khớp mẫu, các mô hình (hay các mẫu) được học từ một tập ảnh huấn luyện trước đó. Sau đó hệ thống (mô hình) sẽ xác định khuôn mặt người. Hay một số tác giả còn gọi hướng tiếp cận này là hướng tiếp cận theo phương pháp học.
1.3.1 Hướng tiếp cận dựa trên tri thức
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tác giả nghiên cứu về bài toán xác định khuôn mặt người. Đây là hướng tiếp cận dạng top-down. Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và các quan hệ tương ứng.
Ví dụ: một khuôn mặt thường có hai mắt đối xứng nhau qua trục thẳng đứng ở giữa khuôn mặt và có một mũi, một miệng. Các quan hệ của các đặc trưng có thể được mô tả như quan hệ về khoảng cách và vị trí. Thông thường các tác giả sẽ trích đặc trưng của khuôn mặt trước tiên để có được các ứng viên, sau đó các ứng viên này sẽ được xác định thông qua các luật để biết ứng viên nào là khuôn mặt và ứng viên nào không phải khuôn mặt. Thường áp dụng quá trình xác định để giảm số lượng xác định sai.
1.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi
Đây là hướng tiếp cận theo kiểu bottom-up. Các tác giả cố gắng tìm các đặc trưng không thay đổi của khuôn mặt người để xác định khuôn mặt người. Dựa trên nhận xét thực tế, con người dễ dàng nhận biết các khuôn mặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi. Có nhiều nghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khuôn mặt trong ảnh hay không. Các đặc trưng như: lông mày, mắt, mũi, miệng, và đường viền của tóc được trích bằng phương pháp xác định cạnh. Trên cơ sở các đặc trưng này, xây dựng một mô hình thống kê để mô tả quan hệ của các đặc trưng này và xác định sự tồn tại của khuôn mặt trong ảnh.
1.3.3 Hướng tiếp cận dựa trên dựa trên so khớp mẫu
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm. Từ một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá trị tương quan này mà các tác giả quyết định có hay không có tồn tại khuôn mặt trong ảnh.
Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi.
1.3.4 Hướng tiếp cận dựa trên diện mạo
Trái ngược với các phương pháp so khớp mẫu với các mẫu đã được định nghĩa trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ các ảnh mẫu. Một cách tổng quát, các phương pháp theo hướng tiếp cận này áp dụng các kỹ thuật theo hướng xác suất thống kê và máy học để tìm những đặc tính liên quan của khuôn mặt và không phải là khuôn mặt. Các đặc tính đã được học ở trong hình thái các mô hình phân bố hay các hàm biệt số nên dùng có thể dùng các đặc tính này để xác định khuôn mặt người. Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng hiệu quả tính toán cũng như hiệu quả xác định.
Ưu điểm của hướng tiếp cận này là: Các phương pháp theo 3 hướng tiếp cận đầu thường cho tốc độ xử lí nhanh, tuy nhiên có nhược điểm là kết quả xử lí chưa cao. Ngược lại các phương pháp dựa trên máy học thường cho kết quả chính xác hơn.
1.4 Khó khăn và thách thức trong bài toán xác định khuôn mặt
Việc xác định khuôn mặt người có những khó khăn nhất định như sau:
- Tư thế khuôn mặt (pose): của khuôn mặt đối với máy ảnh như: nhìn thẳng, nhìn nghiêng hay nhìn từ trên xuống. Cùng trong một ảnh có thể có nhiều khuôn mặt ở những tư thế khác nhau.
- Nội dung khuôn mặt: khuôn mặt chứa đầy đủ các thông tin như: mắt, mũi, miệng, hay thiếu một vài đặc trưng nào đó...
- Trạng thái khuôn mặt: Các nét mặt khác nhau trên khuôn mặt như: vui, buồn, tức giận, ngạc nhiên, ….
1.5 Hướng tiếp cận được thử nghiệm trong đồ án
Trong đề tài xác định khuôn mặt người, em sẽ đi theo hướng tiếp cận dựa trên diện mạo. Cụ thể là em sẽ trình bày phương pháp tiêu biểu của phương pháp máy học đó là: Mạng Nơ-ron
1.5.1 Mạng Nơ-ron nhân tạo
Là một hệ thống bao gồm nhiều phần tử xử lý đơn giản(hay còn gọi là nơ-ron) hoạt động song song và được nối với nhau bằng các liên kết nơ-ron. Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt hay ức chế của các nơron
1.5.2 Ứng dụng của mạng Nơ-ron trong bài toán xác định khuôn mặt
Mạng Nơ-ron được áp dụng rộng rãi và tương đối thành công trong các bài toán nhận dạng mẫu như: Nhận diện kí tự ( nhận diện chữ viết), đối tượng (object) , điều khiển robot …Một trong những ưu điểm của mạng nơ-ron là tính khả thi của hệ thống học là cơ sở dữ liệu mẫu đa dạng và phức tạp vì vậy khả năng phát hiện khuôn mặt rất lớn.Tuy nhiên điều trở ngại là các kiến trúc mạng đều quá lớn ,vì vậy khi áp dụng vào trường hợp cụ thể phải xác định rõ ràng số lượng tầng ,số lượng node , tỉ lệ … cho từng trường hợp.
Theo đánh giá của các chuyên gia thì phương pháp xác định mặt người bằng mang nơ-ron của Rowel đối với ảnh xám là tốt nhất. Một mạng đa tầng được dùng để học các mẫu khuôn mặt và không phải là khuôn mặt từ các ảnh tương ứng ( dựa trên quan hệ về cường độ và mặt không gian của các điểm ảnh). Đây cũng là phương pháp mạng nơ-ron mà em sẽ trình bày cụ thể trong các chương sau của luận văn.
1.5.3 Các bước xác định khuôn mặt dựa trên mạng Nơ-ron
Hệ thống xác định khuôn mặt thực hiện các bước chính sau :
- Ước lượng vị trí: việc dùng tiếp cận máy học, cụ thể là mạng Nơ-ron, đòi hỏi việc huấn luyện mẫu. Để giảm số lượng biến đổi trong ảnh huấn luyện dương, ảnh được canh biên với các ảnh khác để cực tiểu hoá các biến đổi vị trí đặc trưng khuôn mặt. Khi thi hành chương trình, ta không biết chính xác các vị trí đặc trưng khuôn mặt, do đó không thể dùng chúng để định vị các ứng viên khuôn mặt tiềm năng. Thay vậy, ta dò tìm toàn diện ở mọi vị trí và tỷ lệ để tìm mọi vị trí ứng viên. Các cải tiến dò tìm toàn diện làm cho thuật toán nhanh hơn, với tỷ lệ dò tìm giảm 10% đến 30%.
- Tiền xử lý: để giảm các biến đổi gây ra do chiếu sáng hay camera, ảnh được tiền xử lý với các thuật toán chuẩn như cân bằng lược đồ để cải thiện độ sáng và độ tương phản trong ảnh. Sau đó ta tiến hành phân mảnh ảnh và rút trích các đặc trưng quan trọng của khuôn mặt, đồng thời tiến hành phân tích độ nhạy để lọc bỏ các thông tin dư thừa.
- Dò tìm: các khuôn mặt tiềm năng đã chuẩn hoá về vị trí, tư thế, và độ sáng trong hai bước đầu tiên được khảo sát để xác định chúng có thực sự là khuôn mặt hay không. Quyết định này được thực hiện bằng mạng Nơ-ron đã huấn luyện với nhiều ảnh mẫu khuôn mặt và không khuôn mặt.
- Quyết định: Kết hợp nhiều mạng để có được một quyết định khách quan nhất. Mỗi mạng học những điều khác nhau từ dữ liệu huấn luyện, và đưa ra các lỗi khác nhau. Các quyết định của chúng có thể kết hợp dùng một số phương thức đơn giản khác, làm tăng độ chính xác dò tìm khuôn mặt và ngăn chặn lỗi.
1.6 Kết luận chương
Qua chương này, ta đã có cái nhìn tổng quan về hệ thống xác định khuôn mặt cũng như các khó khăn trong quá trình thực hiện . Sau khi phân tích được ưu nhược điểm của các cách tiếp cận , cho ta thấy được hướng tiếp cận dựa trên diện mạo cho kết quả tương đối chính xác so với các hướng tiếp cận khác . Từ đó đi tới quyết định thực hiện nhận dạng mặt người dựa trên phương pháp mạng Nơ-ron . Trong chương này cũng đã trình bày sơ lược về các bước thực hiện chính trong phương pháp nhận diện dựa trên mạng Nơ-ron.
Chương 2: CƠ SỞ DỮ LIỆU VÀ CÁC BƯỚC TIỀN XỬ LÝ
2.1 Giới thiệu chương
Trong chương này, em sẽ trình bày các bước chuẩn bị dữ liệu để áp dụng thuật toán xác định khuôn mặt bằng mạng Nơ-ron.
vDữ liệu cho huấn luyện mạng Nơ-ron: bao gồm tập các dữ liệu khuôn mặt và không phải khuôn mặt. Tập các ảnh sử dụng để huấn luyện mạng
vDữ liệu dùng để khảo sát và thử nghiệm kết quả hoạt động của hệ thống
2.2 Nguồn cơ sở dữ liệu
2.2.1 Các nguồn cơ sở dữ liệu
Trong phần này, Em xin giới thiệu các nguồn cơ sở dữ liệu hình ảnh. Các ảnh này được lấy từ nguồn chuyên phục vụ nhận diện khuôn mặt.
http://vasc.ri.cmu.edu/idb/images/face/frontal_images/images.html. Cơ sở dữ liệu gồm các ảnh xám có kích thước chuẩn hoá 27x18 (pixels).Một vài ảnh sẽ được minh họa trong hình sau:
Hình 2.1Một số mẫu mặt người làm cơ sở dữ liệu trong hệ thống xác định khuôn mặt
Hình 2.2 Một sỗ mẫu không phải là mặt người làm cơ sở dữ liệu cho hệ thống xác định
Hình 2.3: Các mẫu dùng để kiểm tra
Nhận xét về tập mẫu giữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh làkhuôn mặt trực diện với mặt phẳng ảnh và mỗi khuôn mặt đều đầy đủ thông tinđặc trưng như (Hai chân mày, hai mắt, mũi, miệng, cằm). Một số khuôn mặt quayvới một góc không đáng kể.
2.2.2 Biểu diễn dữ liệu khuôn mặt trong máy tính
Dữ liệu ảnh biểu diễn bên trong máy tính là cường độ sáng của điểm ảnh, tại vị trị x và y: (I(x,y)).
Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, ta dùng hai cách tổ chức dữ liệu như sau:
vĐọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí liên tục nhau trên một mảng số thực một chiều. Như vậy từ ảnh có kích thước 27×18 pixels,ta biểu diễn thành mảng vector một chiều: x=(x1,x2,….,x900). Đây là cách bố trí để thí nghiệm cho phương pháp PCA .
v Đọc từng khối ảnh có kích thước 8×32 (pixel) theo thứ tự khối dưới chồng lấp khối trên một nữa kích thước tính theo chiều cao, trên mỗi khối ảnh này ta lại tiếp tục tách ra mỗi khối con 8×8 liên tục nhau. Từ khối 8×8(pixels), chúng tôi chọn ra 20 hệ số đặc trưng từ phép biến đổi trên miền tần số. Mỗi khối ảnh 8×32 sẽ được lượng hoá thành mỗi vector một chiều. Như vậy đỗi với ảnh mỗi khuôn mặt ta biểu biển trong máy tính thành một chuỗi các vector một chiều liên tiếp nhau.
2.3 Gán nhãn và canh biên các đặc trưng khuôn mặt
Bước đầu tiên trong việc giảm số các biến đổi trong ảnh khuôn mặt là canh biên các khuôn mặt này với khuôn mặt khác. Việc canh biên này sẽ làm giảm các biến đổi về vị trí, hướng, và tỷ lệ các khuôn mặt. Việc canh biên được tính trực tiếp từ các ảnh. Và nó tạo ra không gian ảnh khuôn mặt tối thiểu. Cường độ ảnh khuôn mặt có thể biến đổi nhiều, làm cho một số khuôn mặt khó canh biên với nhau. Ta dùng giải pháp gán nhãn thủ công các mẫu khuôn mặt. Bước tiếp theo là dùng thông tin này để canh biên các khuôn mặt với khuôn mặt khác. Trước hết định nghĩa canh biên giữa hai tập điểm đặc trưng. Đó là phép quay, biến đổi tỷ lệ, và dich chuyển để làm cực tiểu hoá tổng bình phương khoảng cách giữa từng cặp đặc trưng tương ứng. Trong không gian hai chiều, một phép biến đổi toạ độ như vậy có thể được viết dưới dạng sau:
[3]
Khi có hai hay nhiều hơn cặp điểm đặc trưng phân biệt, hệ các phương trình tuyến tính có thể được giải bằng phương pháp đảo ngược giả. Gọi ma trận bên trái là A, vector (a, b, t‑x, ty) là T, và bên phải là B, khi đó lời giải:
[3]
Lời giải đảo ngược giả đưa ra phép biến đổi T làm cực tiểu tổng bình phương khác biệt giữa tập toạ độ x’i, y’i và phiên bản đã biến đổi của xi, yi.
Canh biên tập các điểm đặc trưng :
- Bước 1 : Khởi tạo F , vector sẽ là vị trí trung bình của mỗi đặc trưng gán nhãn trên mọi khuôn mặt, với một số vị trí đặc trưng ban đầu. Trong trường hợp canh biên các khuôn mặt thẳng, các đặc trưng này là vị trí mong muốn của hai mắt, đỉnh mũi, hai góc và trung tâm miệng của mỗi khuôn mặt trong cửa sổ đầu vào.
- Bước 2 : Với mỗi khuôn mặt i, dùng thủ tục canh biên để tính phép quay, dịch chuyển, và biến đổi tỷ lệ tốt nhất để canh biên các đặc trưng khuôn mặt Fi với các vị trí đặc trưng trung bình F . Gọi vị trí đặc trưng đã canh biên F’i.
- Bước 3 : Cập nhật F bằng việc lấy trung bình các vị trí đặc trưng đã canh biên F’i cho mỗi khuôn mặt i.
- Bước 4 : Toạ độ đặc trưng trong F được quay, dịch chuyển và biến đổi để phù hợp với một số toạ độ chuẩn. Toạ độ chuẩn là toạ độ được dùng làm giá trị khởi tạo cho F .
- Bước 5: Sang bước 2
Theo kinh nghiệm, thuật toán hội tụ trong vòng năm lần lặp, tạo cho mỗi khuôn mặt phép biến đổi để ánh xạ nó gần về vị trí chuẩn, và canh biên với mọi khuôn mặt khác. Khi đã biết các tham số để canh biên khuôn mặt, ảnh có thể được lấy mẫu lại dùng nội suy song tuyến tính. . Khuôn mặt chuẩn và phân phối của các vị trí đặc trưng được cho trong hình 3.4.
Hình 2.4 Trái: Mẫu khuôn mặt chuẩn. Phải: Các vị trí đặc trưng
Trong quá trình huấn luyện xác định khuôn mặt, thì số lượng mẫu cần thiết dùng cho quá trình xác định rất quan trọng. Điều này có thể thực hiện bằng cách xoay, chuyển đổi , lấy tỉ lệ các mẫu.
................................
6.11 So sánh kết quả của 4 hàm trên khi thay đổi số Nơ-ron trong lớp ẩn
Qua kết quả trên ta thấy, để hệ thống đạt hiệu quả thì với mỗi hàm huấn luyện khác nhau thì số Nơ-ron trong lớp ẩn cũng khác nhau.
- Với hàm traincsg thì ta nên chọn số Nơ-ron lớp ẩn là 100
- Với hàm traincgb thì ta nên chọn số Nơ-ron lớp ẩn là 50
- Với hàm traincgf thì ta nên chọn số Nơ-ron lớp ẩn là 150
- Với hàm traincgp thì ta nên chọn số Nơ-ron lớp ẩn là 150
6.12 Kết luận chương
Mỗi phương pháp huấn luyện đều có ưu và nhược điểm riêng và tùy thuộc vào số Nơ-ron lớp ẩn. Trong chương này em không đưa ra nhận xét là phương pháp nào là tốt nhất mà thông qua ba phương pháp huấn luyện khác nhau cho ta kết quả về việc ứng dụng mạng neural trong bài toán phát hiện khuôn mặt. Tỉ lệ phát hiện đúng khi số nơ-ron lớp ẩn là 100 như sau.
- Tỉ lệ phát hiện đúng trung bình là : 92.6%
- Tỉ lệ phát hiện trùng trung bình là : 15.74 %
- Tỉ lệ thành công trung bình là : 77.75%
Tuy nhiên vấn đề vẫn còn tồn tại trong mô hình này là thời gian xử lí lâu, đặc biệt là đối với các ảnh có nhiều chi tiết và kích thước lớn.
HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Đây là một đề tài tương đối phức tạp, mặc dù chúng em đã cố gắng xây dựng một hệ thống có khả năng xác định khuôn mặt người dựa trên mạng Nơ-ron. Nhưng với những hạn chế về mặt trình độ cũng như thời gian thực hiện, em kết thúc đề tài với nghiên cứu về một mảng nhỏ trong lĩnh vực thị giác máy tính, và kết quả dừng lại với việc xác định khuôn mặt với tư thế nhìn thẳng . Những định hướng dưới đây hi vọng sẽ cải thiện được khả năng tương tác giữa người với máy tính qua hệ thống xác định khuôn mặt:
- Đối với cơ sở dữ liệu học: Cần phải tăng dần số mẫu học, vì đây là một trong những yếu tố quan trọng quyết định chất lượng của hệ thống cũng như đáp ứng được nhu cầu thực tế, số người sẽ phân loại có thể lên đến hàng ngàn, hàng triệu và hàng tỉ người.
- Đối với việc rút trích đặc trưng khuôn mặt: Cần phải tìm hiểu và nghiên cứu nhiều phương pháp rút trích đặc trưng khuôn mặt hiệu quả hơn để lọc được thông tin quan trọng và tổng quát nhất thuộc về khuôn mặt và có khả năng loại trừ tạp nhiễu nhiều nhất.
- Đối với hệ thống huấn luyện dựa trên mạng Nơ-ron : Kết hợp nhiều kiểu mạng neural huấn luyện lại với nhau để loại bỏ được các phát hiện sai, đồng thời làm tăng tỉ lệ phát hiện khuôn mặt .Ngoài ra để giảm thời gian xử lí thì có thể kết hợp các phương pháp dựa vào sắc màu của vùng da…
- Mở rộng xác định khuôn mặt trong các video.
TÀI LIỆU THAM KHẢO
[1] Phạm Thế Bảo, Nguyễn Thành Nhựt, Phạm Thị Hoàng Nhung, Cao Minh Thịnh, Trần Anh Tuấn, Phan Phúc Doãn,” Tổng quan các phương pháp xác định khuôn mặt người”,tạp chí công nghệ thông tin và truyền thông.
[2] Bhaskar Gupta, Sushant Gupta, Face recognition Algothrm - Ion Marques, Arun Kumar Tiwari “Face Detection Using Gabor Feature Extraction and Artificial Neural Network”ABES Engineering College, Ghaziabad.
[3] Henry A. Rowley, “Neural Network-Based Face Detection”, May 1999.
CMU-CS-99-117.
[4] Phil Brimblecombe,”Face detection using Neural network”, H615-Meng Electronic Engineering school of Electronics and Physical Sciences.
[5]http://www.en.wikipedia.org/wiki/Fast_Fourier_transform
.[6] Mac Hill, “Machine Learning”.
[7] Srinivasa K G, Inchara Shivalingaiah, Lisa Gracias, Nischit Ranganath, Paper: “Facial expression recognition system using weight-based approach”.
[8] www.matlabwork.com
PHỤ LỤC
* Chương trình chính
* Main
clear all;
close all;
clc;
if ~exist('gabor.mat','file')
fprintf ('Creating Gabor Filters ...');
create_gabor;
end
if exist('net.mat','file')