2 Trường hợp ảnh có nhiều mặt người trong ảnh

Một phần của tài liệu (LUẬN văn THẠC sĩ) mạng nơron và ứng dụng mạng nơron trong nhận dạng cảm xúc trên khuôn mặt người luận văn ths công nghệ thông tin 1 01 10 (Trang 67)

Bằng việc kết hợp mạng nơron và những kỹ thuật khác, các kết quả này cho thấy khả năng sử dụng mạng nơron để xây dựng một hệ thống xác định mặt là hoàn toàn chấp nhận được. Kết quả này có thể được dùng vào nhiều mục đích khác nhau, và một cách thể hiện rõ nhất là sử dụng cho pha nhận dạng cảm xúc ngay sau đây.

4.2. Pha nhận dạng cảm xúc trên khuôn mặt người

4.2.1. Cơ sở dữ liệu ảnh mặt người

Trong pha nhận dạng cảm xúc này, luận văn sử dụng bộ cơ sở dữ liệu FG-NET của trường đại học công nghệ Munich [18]. Bộ dữ liệu này gồm các đoạn video của 19 người, mỗi dạng cảm xúc được thu 3 lần và được mô tả dưới dạng một dãy các ảnh tĩnh liên tiếp nhau. Các dạng cảm xúc đó là: 1. Hạnh phúc, 2. Kinh tởm, 3. Tức giận, 4. Sợ hãi, 5. Buồn rầu, 6. Ngạc nhiên và 7. Trung lập.

Tập dữ liệu huấn luyện được xây dựng bằng cách lựa chọn ngẫu nhiên một tập dữ liệu huấn luyện gồm 266 ảnh của 19 người, mỗi người có 2 ảnh cho mỗi kiểu cảm xúc từ bộ cơ sở dữ liệu trên. Sau đó, bộ dữ liệu huấn luyện này được chia thành 2 nhóm: nhóm 1 để huấn luyện, nhóm còn lại để kiểm tra. Bộ cơ sở dữ liệu huấn luyện gồm 13 người (182 ảnh, mỗi người 14 ảnh, mỗi kiểu cảm xúc có 2 ảnh). Bộ cơ sở dữ liệu kiểm tra có 6 người (84 ảnh).

Chương trình thực nghiệm hệ thống được xây dựng bằng Matlab, một công cụ rất mạnh trong việc thiết kế và giải các bài toán bằng mạng nơron.

4.2.2. So sánh các công nghệ chuẩn hóa đầu vào

Đóng góp của một đầu vào sẽ phụ thuộc ảnh hưởng của nó tới các đầu vào khác. Với độ thiếu thông tin (về độ quan trọng của mỗi đầu vào), thường phải chuẩn hoá mỗi đầu vào vào một vùng giá trị xác định hoặc một độ lệch chuẩn giống nhau. Đó là bước cuối cùng trước khi đưa dữ liệu vào bộ phân lớp. Dưới đây tôi sẽ thực

hiện đánh giá các phương pháp chuẩn hóa đầu vào đã trình bày trong phần 3.3.1 với một hệ thống có các tham số như sau:

Tham số Giá trị

Tập dữ liệu Các ảnh mặt kích thước 30x27 điểm ảnh Phương pháp chuẩn hóa đầu vào {[0,1]~pp1, [-1,1]~pp2, m[-1,1]~pp3 , std~pp4,

PCA450, PCA200, PCA50, PCA10} Khởi tạo trọng số Lớp ẩn = 0, lớp ra = ngẫu nhiên (cố định)

Thuật toán huấn luyện Giảm gradient với hệ số quán tính (gdm) Hàm kích hoạt Dùng hàm log-sigmoid (cố định)

Số nơron trong lớp ẩn 14

Hệ số học 0.9

Hệ số quán tính 0.6

MSE huấn luyện nhỏ nhất 0 Số chu kỳ lớn nhất 1500

Bảng 4.1 - Các tham số trong so sánh các công nghệ chuẩn hóa đầu vào

Với những kết quả thu được đã mô tả trong hình 4.3 cho thấy rằng, hệ thống nhận dạng nét cảm xúc không thực hiện tốt khi chuẩn hóa các đầu vào ở trung bình 0 và chuẩn hóa độ lệch chuẩn là 1. Ưu điểm của PCA là thời gian huấn luyện nhanh, có kết quả khá tốt khi lựa chọn số lượng đặc trưng nhỏ (50), tuy nhiên độ sai số vẫn là quá lớn so với khi áp dụng phương pháp thứ 2. Do vậy, tôi lựa chọn phương pháp 2 là phương pháp để huấn luyện cho hệ thống này.

4.2.3. Chọn thuật toán huấn luyện mạng tốt nhất

Bước tiếp theo cần thực hiện để tìm ra hệ thống nhận dạng tốt nhất là chọn một thuật toán huấn luyện mạng phù hợp nhất với hệ thống. Áp dụng những lý thuyết về thuật toán lan truyền ngược và các cải tiến đã trình bày ở trên, trong chương trình cũng đã thử nghiệm với hệ thống sử dụng các thuật toán: lan truyền ngược cơ sở (gd), lan truyền ngược có biến đổi hệ số quán tính (gdm), lan truyền ngược có biến đổi hệ số học (gda), lan truyền ngược kết hợp với biến đổi hệ số học và hệ số quán tính (gdx) và thuật toán lan truyền ngược kết hợp gradient liên hợp (rprop). Dưới đây là biểu đồ tổng kết độ chính xác trung bình hệ thống đạt được khi huấn luyện mỗi thuật toán huấn luyện mạng với các giá trị tham số trong bảng dưới đây .

Tham số Giá trị

Tập dữ liệu Các ảnh mặt kích thước 30x27 điểm ảnh Phương pháp chuẩn hóa đầu vào Phương pháp 2 (cố định)

Khởi tạo trọng số Lớp ẩn = 0, lớp ra = ngẫu nhiên (cố định)

Thuật toán huấn luyện Gd, gdm, gda, gdx, rprop

Hàm kích hoạt Dùng hàm log-sigmoid (cố định)

Số nơron trong lớp ẩn {1, 2, 3, 4, 5, 7, 10, 14, 21, 25, 30}

Hệ số học 0.9

Hệ số quán tính 0.6

MSE huấn luyện nhỏ nhất 0 Số chu kỳ lớn nhất 1500

Hình 4.4 - So sánh các thuật toán huấn luyện mạng

Nhìn vào hình 4.4, chúng ta có thể thấy rằng sử dụng thuật toán lan truyền ngược kết hợp với gradient liên hợp không cung cấp được độ chính xác mong muốn (<50%). Với các thuật toán còn lại, các kết quả đạt được là khá xấp xỉ nhau (độ chính xác trung bình cao nhất đạt được là xấp xỉ 57%), tuy nhiên qua các đồ thị trên ta thấy rằng thuật toán lan truyền ngược kết hợp biến đổi hệ số quán tính (gdm) có hoạt động ổn định nhất, vì vậy thuật toán này được lựa chọn để huấn luyện trong hệ thống tốt nhất sau này.

4.2.4. Lựa chọn số nơron trong lớp ẩn tốt nhất

Trong phần này tôi cố gắng tìm số nơron trong lớp ẩn tối ưu cho hệ thống. Hệ thống chỉ dùng một hệ số học khá nhỏ và một hệ số quán tính chấp nhận được để loại trừ việc học quá nhanh hoặc quá chậm, và khả năng huấn luyện quá trơn tru của hệ thống. Hình 4.5, 4.6, 4.7 có được sau khi huấn luyện 17 mạng nơron, mỗi mạng được lặp lại 10 lần với các tham số trình bày trong bảng dưới đây.

Tham số Giá trị

Tập dữ liệu Các ảnh mặt kích thước 30x27 điểm ảnh Phương pháp chuẩn hóa đầu vào Phương pháp 2 (cố định)

Phương pháp khởi tạo trọng số Khởi tạo lớp ẩn=0, lớp ra là ngẫu nhiên (cố

định)

Thuật toán huấn luyện Gdx (cố định)

Các hàm kích hoạt Cả 2 lớp đều dùng hàm log-sigmoid (cố định)

Số nơron trong lớp ẩn {1, 2, 3, 5, 7,10,14, 21, 28, 35, 56, 70,100, 200, 300}

Hệ số học 0.9

Hệ số quán tính 0.6

Số lần lặp 1500

Bảng 4.3 - Các tham số trong chọn số nơron trong lớp ẩn

Hình 4.5 - Độ chính xác trung bình tương ứng với số nơron trong lớp ẩn

Các đồ thị về độ chính xác, độ sai số trung bình và độ thiên vị trung bình thu được đều có dạng hình chữ U. Với số nơron nhỏ trong lớp ẩn (từ 1 – 5 nơron), hệ thống có giá trị MSE lớn, độ chính xác thấp và độ thiên vị lớn vì mạng chưa đủ phức tạp để loại bỏ ảnh hưởng của nền ảnh nên hướng chưa xác định rõ ràng. Kết quả này cũng xuất hiện khi sử dụng quá nhiều nơron ở lớp ẩn. Từ 100 nơron trở đi, MSE quay trở lại mức khi hệ thống chỉ có 3 nơron ở 1 lớp ẩn. Điều này cho thấy khi thêm các thành phần vào trong lớp ẩn, sai số huấn luyện giảm đi nhưng ảnh hưởng của mỗi nơron tới khả năng xử lý càng ngày càng ít hiệu quả. Khi có quá nhiều nơron thì khả năng xử lý kém là kết quả của việc mạng bị quá khớp.

Hình 4.6 - MSE tương ứng với số nơron trong lớp ẩn

Hình 4.7 - Độ thiên vị trung bình tương ứng với số nơron trong lớp ẩn

Từ hình 4.5, 4.6, 4.7, có thể nhận xét rằng, mô hình 21 nơron là sự lựa chọn hợp lý nhất. Đó là mạng có sai số bình phương trung bình nằm trong 2 mạng có sai số nhỏ nhất, có độ chính xác tốt nhất, độ thiên vị xấp xỉ 2, thời gian huấn luyện là

chấp nhận được. Do đó tôi chọn phương án 21 nơron trong lớp ẩn cho các huấn

Hình 4.8 - Thời gian huấn luyện đạt được

4.2.5. Hệ số học và hệ số quán tính

Với việc lựa chọn thuật toán lan truyền ngược kết hợp với biến đổi hệ số học và hệ số quán tính, trong phần này tôi sẽ đề cập đến cách xác định một cặp giá trị thích hợp nhất cho hệ thống. Các tham số được liệt kê trong bảng 4.4 dưới đây:

Tham số Giá trị

Tập dữ liệu Các ảnh mặt kích thước 30x27 điểm ảnh Phương pháp chuẩn hóa đầu vào Phương pháp 2 (cố định)

Phương pháp khởi tạo trọng số Khởi tạo lớp ẩn=0, lớp ra là ngẫu nhiên (cố định)

Thuật toán huấn luyện Gdx (cố định)

Hàm kích hoạt Cả 2 lớp đều dùng hàm log-sigmoid (cố định)

Số nơron dùng trong lớp ẩn 21 (cố định)

Hệ số học {0.1, 0.5, 0.9, 1.5, 3, 6, 10, 20, 30, 50, 60 } Hệ số quán tính {0, 0.6, 0.99}

MSE huấn luyện tối thiểu 0 Số chu kỳ tối đa 2000

Hình 4.9 - Bảng tổng kết MSE khi biến đổi hệ số học và hệ số quán tính

Hình 4.9 cho thấy rằng hệ số quán tính quá lớn thì sai số trong quá trình huấn tăng khi hệ số học tăng (với hệ số quán tính = 0.99). Việc sử dụng hệ số quán tính có ảnh hưởng lớn tới kết quả huấn luyện, trong khi hệ số học chỉ có ảnh hưởng nhỏ. Ở đây sẽ xuất hiện câu hỏi “Nên chọn một hệ thống có hệ số học lớn và không dùng hệ số quán tính hay chọn một hệ thống có hệ số học nhỏ kết hợp với một hệ số quán tính nào đó?”. Qua phân tích từ hình 4.9, ta thấy rằng khi không dùng hệ số quán tính (hệ số quán tính = 0), khả năng phân loại của hệ thống kém dù với hệ số học bất kỳ (đường cong không thay đổi mấy dù hệ số học có sự biến thiên lớn). Ngoài ra, các kinh nghiệm chỉ ra rằng việc sử dụng một hệ số quán tính trong thuật toán lan truyền ngược có tác dụng trong việc tăng tốc độ hội tụ và loại bỏ các cực tiểu cục bộ trong sai số bề mặt. Trong thực tế thực nghiệm cho thấy rằng, cả khi dùng hệ số học rất nhỏ hay rất lớn, về thực chất không làm chậm quá trình huấn luyện (khi hệ số học nhỏ) hoặc gây ra các dao động hỗn loạn (khi hệ số học lớn). Hệ số học lớn 10, 20 có thể cho sai số huấn luyện nhỏ nhưng chúng không đảm bảo quá trình huấn luyện trôi chảy.

4.2.6. Hệ thống tốt nhất

Tham số Giá trị

Tập dữ liệu Các ảnh mặt kích thước 30x27 điểm ảnh Phương pháp chuẩn hóa đầu vào Phương pháp 2

Phương pháp khởi tạo trọng số Khởi tạo lớp ẩn=0, lớp ra là ngẫu nhiên

Thuật toán huấn luyện Gdm

Hàm kích hoạt Cả 2 lớp đều dùng hàm log-sigmoid

Số nơron dùng trong lớp ẩn 21

Hệ số học 1.5

Hệ số quán tính 0.6

Cần thấy rằng số lượng mẫu trong tập cơ sở dữ liệu huấn luyện không nhiều, việc lấy các mẫu là ngẫu nhiên nên các cảm xúc có cường độ thấp là nguyên nhân khách quan gây nên những khó khăn cho quá trình nhận dạng cảm xúc trên mặt. Với các giá trị trong bảng trên, hệ thống đạt được độ chính xác xấp xỉ 63% (tốt nhất là 65.476%) với độ thiên vị <1 có thể coi là một kết quả chấp nhận được, cho thấy khả năng ứng dụng mạng nơron khi sử dụng để xây dựng hệ thống nhận dạng cảm xúc.

Kết luận

Luận văn tập trung nghiên cứu về mạng nơron và thuật toán lan truyền ngược cùng những cải tiến của nó. Bài toán đặt ra là nhận dạng những cảm xúc trên khuôn mặt người. Hệ thống này có khả năng nhận dạng được 7 dạng cảm xúc như tức giận, kinh tởm, sợ hãi, hạnh phúc, buồn, ngạc nhiên và trạng thái trung lập.

Luận văn đã giới thiệu các cải tiến của thuật toán lan truyền ngược và đồng thời đánh giá các ưu, nhược điểm của từng phương pháp. Trên những cơ sở đó, tôi tiến hành cài đặt chương trình trên Matlab bởi khả năng hỗ trợ xây dựng tốt cho các chương trình được xây dựng bằng mạng nơron, với bộ công cụ Neuron Network đã có sẵn trong chương trình.

Bài toán áp dụng nhằm minh họa những kiến thức nghiên cứu đã trình bày trong 2 chương đầu. Tuy nhiên, để có thể triển khai thực tế cần phải bổ sung thêm những yêu cầu sau:

 Hệ thống cần kết hợp được tách mặt và nhận dạng cảm xúc.

 Hệ thống hỗ trợ được nhiều định dạng ảnh hơn.

 Hệ thống thực hiện phân tích được những chuỗi ảnh, hoặc những đoạn video mô

tả quá trình diễn ra cảm xúc của đối tượng hoặc hướng tới nhận dạng biểu cảm của các đối tượng 3D.

 Hệ thống mới chỉ nhận dạng 7 dạng cảm xúc cơ bản, đồng thời chưa có chế độ

nhận dạng một số dạng cảm xúc hỗn hợp (ví dụ: ngạc nhiên + hạnh phúc hay tức giận + buồn,....)

Tài liệu tham khảo

Tài liệu tiếng Việt

[1] Ngô Quốc Tạo, Lê Thanh Hà, Nguyễn Thị Ngọc Hân (2004), Xác định mặt

người dựa trên mạng nơron, Kỷ yếu hội thảo ““Một số vấn đề chọn lọc của Công

nghệ thông tin và truyền thông”.

Tài liệu tiếng Anh

[2] A. Mehrabian(1968), Communication without Words, Psychology Today, Vol.

2, No. 4, pp. 53-56.

[3] B. Fasel and J. Luettin (2003), Automatic Facial Expression Analysis: A Survey, Pattern Recognition, Vol. 36(1), pp. 259-275.

[4] Dilip Sarkar (1995), Method to Speed Up Error Back-Propagation Learning

Algorithm, ACM Computing Surveys, Vol.27, No.4.

[5] J. McClelland, D. Rumelhart, and G. Hinton (1987), The Appeal of Parallel

Distributed Processing, Vol.1: Foundations, MIT Press, Cambridge, pp. 3-44.

[6] Jun Wang, Lijun Yin, Xiaozhou Wei, Yi Sun (2006) , 3D Facial Expression

Recognition Based on Primitive Surface Feature Distribution, IEEE Computer

Society Conference on Computer Vision and Pattern Recognition – Vol. 2

(CVPR'06), pp. 1399-1406.

[7] H. A. Rowley, S. Baluja, and T. Kanade (1998), Noron network-based face

detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.

20, No. 1, pp. 23-38.

[8] H.A. Rowley, S. Baluja, and T. Kanade (1998), Rotation invariant neural

network-based face detection, Proceedings of IEEE Conference on Computer

Vision and Pattern Recognition, pp. 38-44.

[9] Karin Sobottka, Ioannis Pitas (1996), Extraction of Facial Regions and Feature

using Color and Shape Information, In Int. Conf. on Pattern Recognition

(ICIP),Vienna, Austria.

[10] Lihui Chen and Christos Grecos (2003), A Fast Skin Colour Detector for Face Extraction, Electronic systems and control division research 2003.

[11] M. Hagan, H. Demuth, and M. Beale (1996), Neural Network Design, PWS Publishing Company, Boston, MA 02116.

[12] Ming-Hsuan Yang, David J. Kriegman, Narendra Ahuja (2002), Detecting

Faces in Images: A Survey, IEEE Transactions on Pattern analysis and machine

intelligence, Vol. 24, No. 1.

[13] M. Pantic, L. Rothkrantz (2000), Automatic Analysis of Facial Expressions:

The State of the Art, IEEE Transactions on Pattern analysis and machine

intelligence, Vol. 22, No. 12.

[14] M.Yeasin, B.Bullot, R.Sharma (2004), From Facial Expression to Level of

Interest: A Spatio-Temporal Approach, IEEE Computer Society Conference on

Computer Vision and Pattern Recognition (CVPR’04)

[15] Oliver Jesorsky, Klaus J. Kirchberg, and Robert W. Frischholz - Robust Face Detection Using the Hausdorff Distance - In Proc. Third International Conference

on Audio- and Video-based Biometric Person Authentication, Springer, Lecture

Notes in Computer Science, LNCS-2091, pp. 90–95, Halmstad, Sweden, 6–8 June

2001.

[16] Rogério Schmidt Feris, Teófilo Emídio de Campos and Roberto Marcondes Cesar Junior – Detection and Tracking of Facial Features in Video Sequences –

Lecture Notes in Artificial Intelligence, vol. 1793, pp. 197-206, April 2000, Springer-Verlag press.

[17] Y. Dai, Y. Shibata, T. Ishii, K. Hashimoto, K. Katamachi, K. Noguchi, N. Kakizaki, D. Cai (2001), An associate memory model of Facial Expressions and its application in Facial expression recognition of patients on bed, IEEE

International Conference on Multimedia and Expo (ICME'01), pp. 151.

Website

Phụ lục

Cơ sở dữ liệu mặt người dùng trong pha nhận dạng biểu cảm: Giận dữ:

Hạnh phúc:

Buồn bã:

Một phần của tài liệu (LUẬN văn THẠC sĩ) mạng nơron và ứng dụng mạng nơron trong nhận dạng cảm xúc trên khuôn mặt người luận văn ths công nghệ thông tin 1 01 10 (Trang 67)

Tải bản đầy đủ (PDF)

(85 trang)