Thuật toán so khớp khuôn mặt

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và xây dựng hệ thống xác định khuôn mặt chung nhất trong tập ảnh số (Trang 45)

THUẬT TOÁN ASM_FITTING Input: LI – tập ảnh gồm n ảnh

cascade_name – dữ liệu huấn luyện cascade

model_name – dữ liệu mô hình sau khi được huấn luyện

Output: D – Tập đặc trưng khuôn mặt

1. Khởi tạo

nImages n; totalFaces 0;

2. Load dữ liệu

init_detect_cascade(cascade_name); Read(model_name);

3. Mô hình hóa khuôn mặt

For i = 0 to nImages do

Bool flag detect_all_faces(&detshapesi , &nFace, LIi );

If (flag)

For j = 0 to nFaces() do Begin

Sj InitShape(detshapesj ); totalFaces ++;

End;

Sj Fit_asm(Sj)

4. Trích rút đặc trƣng

For k = 0 to totalFaces do Dk Feature(Sk);

Thuật toán ASM_fitting có các tham số đầu vào là một tập ảnh các khuôn mặt cho trƣớc, các dữ liệu haarlike và mô hình sau khi huấn luyện đã nói ở phần trên. Hàm

detect_all_face() nếu phát hiện đƣợc khuôn mặt trong mỗi bức ảnh sẽ trả về giá trị flag = true. Khi phát hiện đƣợc mỗi khuôn mặt trong bức ảnh, hàm InitShape() trả về một hình chữ nhật bao khuôn mặt đƣợc lƣu trữ dƣới dạng hai điểm Top-left và Bottom- Right. Hàm Fit_asm() sẽ so khớp hình dạng đƣợc mô hình hóa từ hàm InitShape()

cho phù hợp với khuôn mặt hiện tại đang xét cho ta 68 điểm mốc. Cuối cùng hàm

Feature() sẽ trích rút đặc trƣng lƣu trữ dƣới dạng phù hợp.

Trong hệ thống thu đƣợc 68 điểm mốc sau quá trình so khớp fitting, một hình dạng đƣợc định nghĩa gồm 68 điểm mốc này, đƣợc thành lập bằng cách kết hợp các phần tử biểu diễn vị trí của các điểm độc lập {(xi, yi)} đƣợc gọi là điểm mốc:

S = ),

Để trích rút đặc trƣng mỗi một khuôn mặt đƣợc biểu diễn dƣới dạng vector X gồm 136 phần tử nhƣ sau:

X = (x1, x2,…,xn, y1, y2,….., yn)

Kết quả tập đặc trƣng thu đƣợc từ N khuôn mặt phát hiện đƣợc là một ma trận gồm N hàng và 136 cột. Trong đó mỗi một khuôn mặt đƣợc biểu diễn là một hàng của ma trận, còn số cột của ma trận chính là 136.

3.4 Xác định khuôn mặt chung nhất

Tác giả áp dụng phƣơng pháp phân cụm phân cụm phân cấp để gom các khuôn mặt tƣơng tự nhau về các cụm khuôn mặt riêng biệt. Từ đó xác định khuôn mặt chung nhất trong tập ảnh. Thuật toán đƣợc mô tả dƣới hình 3.9:

Input: D- Ma trận đặc trƣng cỡ NxN Ouput: F - Khuôn mặt chung nhất For n 1 to N do

For i  1 to N do C[n][i]  SIM(Dn,i); I[n] 1;

For k  1 to N – 1 do

<i , m>  argAve{<i , m>: i ≠ m ˄ I[i] =1˄I[m] =1 } C[i][m] A.APPEND(<i , m>)

For j  1 to N do

C[i][j]  SIM(i,m,j);C[j][i]  SIM(i,m,j); I[m]  0;

id  MaxFaces(A); FGetFaces(id);

Trong thuật toán trên, đầu tiên chúng ta tính ma trận khoảng cách C cỡ NxN.

Sau đó thực hiện N - 1 bƣớc để sáp nhập các cụm hiện tại có độ tƣơng tự nhỏ hơn một ngƣỡng cho trƣớc. Trong mỗi lần lặp, ta thu đƣợc hai cụm tƣơng tụ đƣợc sáp nhập và các hàng và cột của cụm i đã sáp nhập trong C đƣợc cập nhật. Các cụm đƣợc lƣu trữ

nhƣ một danh sách của việc sáp nhập trong A. Mảng I cho ta biết đƣợc trạng thái của cụm có thể đƣợc sáp nhập. Hàm SIM(i, j, m) tính độ tƣơng tự của cụm j và cụm mới sau khi sáp nhập cụm i với cụm m, ở đây tác giả dùng độ đo Centroid-linkage. Sau

khi có các cụm A khuôn mặt riêng biệt ta xác định chỉ số của cụm có số lƣợng khuôn mặt lớn nhất thông qua hàm MaxFaces(). Khuôn mặt F là khuôn mặt chung nhất trong tập ảnh đƣợc lấy trong cụm có số lƣợng khuôn mặt lớn nhất bằng hàm GetFaces()

3.5 Kết luận chƣơng 3

Trong chƣơng này, tác giả tập trung nghiên cứu các bƣớc để giải quyết xây dựng hệ thống. Ở chƣơng 4, là phần thử nghiệm cho việc dò tìm khuôn mặt chung nhất giữa các bức ảnh khuôn mặt. Sau quá trình thực nghiệm, tác giả tiến hành so sánh và đƣa ra những đánh giá, nhận xét cho bài toán

CHƢƠNG 4: THỬ NGHIỆM VÀ KẾT QUẢ ĐẠT ĐƢỢC 4.1 Cơ sở dữ liệu khuôn mặt thử nghiệm

Để phục vụ cho bài toán tác giả đã thu thập một tập dữ liệu ảnh gồm 3 tập ảnh bao gồm các ảnh ở nhiều độ phân giải khác nhau trong đó mỗi ảnh có nhiều khuôn mặt để thử nghiệm và đánh giá. Tập dữ liệu này đƣợc tác giả thu thập từ các mẫu hình chụp khuôn mặt ngƣời, các ảnh đều đƣợc lƣu ở định dạng JPG. Các ảnh khuôn mặt đều không những chỉ có một khuôn mặt mà có thể có nhiều khuôn mặt trong bức ảnh. Bằng cách thay đổi các hình ảnh khuôn mặt khác nhau trên tập dƣ liệu cho chúng ta thấy hiệu quả của hệ thống

4.2 Một số thực nghiệm

Tác giả tiến hành các thực nghiệm kết quả của hệ thống trên một số tập ảnh đầu vào nhƣ trình bày ở mục 4.1 nhƣ sau để đánh giá hiệu quả của hệ thống.

Thực nghiệm 1:

Tập ảnh đầu vào

Hình 4.2: Tập ảnh đầu vào thực nghiệm 1

Trong tập ảnh trên tổng tất cả có 12 cá nhân, và nhƣ chúng ta thấy khuôn mặt chung nhất giữa các bức ảnh trên là

Hình 4.3: Khuôn mặt chung nhất trong thực nghiệm 1

Cá nhân xuất hiện 4 lần trong tập ảnh đầu vào trên. Hình 4.4 và hình 4.5 dƣới đây là kết quả của hệ thống với từng phƣơng pháp trích rút đặc trƣng.

Hình 4.4: Kết quả của hệ thống trong thực nghiệm 1 - PCA

Thực nghiệm 2:

Tập ảnh đầu vào

Hình 4.6: Tập ảnh đầu vào thực nghiệm 2

Trong tập ảnh trên tổng tất cả có 06 cá nhân, và nhƣ chúng ta thấy khuôn mặt chung nhất giữa các bức ảnh trên là

Hình 4.7: Khuôn mặt chung nhất trong thực nghiệm 2

Cá nhân xuất hiện 4 lần trong tập ảnh đầu vào trên. Hình 4.8 và hình 4.9 dƣới đây là kết quả của hệ thống với từng phƣơng pháp trích rút đặc trƣng.

Hình 4.8: Kết quả của hệ thống trong thực nghiệm 2 - PCA

Hình 4.9: Kết quả của hệ thống trong thực nghiệm 2 - ASM

Thực nghiệm 3:

Tập ảnh đầu vào

Hình 4.10: Tập ảnh đầu vào thực nghiệm 3

Trong tập ảnh trên tổng tất cả có 6 cá nhân, và nhƣ chúng ta thấy khuôn mặt chung nhất giữa các bức ảnh trên là

Cá nhân trong hình 4.11 xuất hiện 3 lần trong tập ảnh đầu vào. Hình 4.12 và hình 4.13 dƣới đây là kết quả của hệ thống.

Hình 4.12: Kết quả của hệ thống trong thực nghiệm 3 - PCA

Hình 4.13:Kết quả của hệ thống trong thực nghiệm 3 - ASM

Với những thực nghiệm trên, tác giả thấy cả 2 phƣơng pháp PCA và ASM cho những kết quả khá chính xác khi xác định khuôn mặt chung nhất trong một tập ảnh trong đó mỗi bức ảnh có nhiều khuôn mặt. Tác giả cũng thực hiện thêm nhiều thực nghiệm khác nhau, kết quả cho thấy rằng đối với phƣơng pháp PCA thì độ sáng của hình ảnh ảnh hƣởng rất lớn đến kết quả, còn ASM thì biểu cảm khuôn mặt thay đổi sẽ làm kết quả thay đổi.

4.3 Kết luận chƣơng 4

Trong chƣơng cuối này, tác giả đã trình bày về tập cơ sở dữ liệu ảnh đầu vào gồm nhiều khuôn mặt trong mỗi bức ảnh và, thu thập kết quả từ các kết quả từ một số thực nghiệm để có những nhận xét và đánh giá về hệ thống.

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận

Trong nội dung của luận văn này, sau khi tiến hành nghiên cứu tổng quan về bài toán xác định đƣợc khuôn mặt giống nhau nhất giữa các bức ảnh gồm nhiều khuôn mặt, và một số phƣơng pháp liên quan để giải quyết bài toán. Tác giả đi sâu vào nghiên cứu và ứng dụng thành công hai phƣơng pháp Active Shape Model, PCA để trích rút đặc trƣng khuôn mặt và áp dụng phƣơng pháp phân cụm phân cấp tích tụ để gom các khuôn mặt giống nhau về cùng một cụm, từ đó ta xác định đƣợc khuôn mặt chung nhất trong tập ảnh thuộc cụm có số lƣợng khuôn mặt lớn nhất. Tác giả tiến hành cài đặt và xây dựng các thử nghiệm thành công, từ đó đƣa ra những nhận xét, đánh giá cho bài toán. Qua thử nghiệm hệ thống đáp ứng tƣơng đối tốt mong muốn của ngƣời dùng

Để xây dựng đƣợc một chƣơng trình ứng dụng cho bài toán có một số khó khăn cần vƣợt qua đó là: trong việc dò tìm và phát hiện ra khuôn mặt ở trong những điều kiện khác nhau là rất khó khăn. Khó khăn thứ 2 đó là, hệ thống xây dựng phải đáp ứng thời gian thực và tốc độ xử lý phải nhanh. Bên cạnh đó các kết quả đã công bố từ trƣớc, các tác giả sử dụng trên tập ảnh mẫu gồm mỗi ảnh chỉ có một khuôn mặt nên vẫn chƣa so sánh hệ thống tác giả xây dựng với các hệ thống đã có.

Hƣớng phát triển

Bài toán đặt ra là tƣơng đối khó và mới trong lĩnh vực nhận dạng và khai phá dữ liệu. Mặc dù tác giả đã nỗ lực, cố gắng nhằm xây dựng một hệ thống có khả năng đáp ứng tốt nhất áp dụng đƣợc vào thực tế. Nhƣng với những hạn chế về mặt trình độ cũng nhƣ thời gian thực hiện, nên kết quả vẫn còn chƣa đƣợc nhƣ mong muốn. Những định hƣớng sau đây sẽ hy vọng ngày càng hoàn thiện mang tính khả thi cho khả năng tƣơng tác giữa ngƣời với máy tính qua hệ thống.

- Tăng số đặc trƣng của khuôn mặt đƣợc trích rút để tăng độ chính xác cho kết quả phân cụm

- Kết hợp với một số phƣơng pháp khác để quá trình dò tìm khuôn mặt đƣợc chính xác và hiệu quả với những khuôn mặt nghiêng, bị xoay, có những vật cản nhƣ đội mũ, đeo kính

- Có thể tích hợp hệ thống vào một số hệ thống thực tế nhƣ các trang mạng xã hội để giải quyết một số vấn đề trong thực tế.

-

TÀI LIỆU THAM KHẢO

[1] A tutorial on principal components analysis, Lindsay I Smith. Cornell University, USA, (February 2002)

[2] A. Jain, M. Murty, and P. Flynn, ”Data Clustering: A Review”, ACM Computing Surveys, 31(3), September 1999.

[3] D.G. Kendall, “Shape Manifolds, Procrustean Metrics, and Complex Projective Shapes”, Bull. London Math. Soc., vol. 16, pp. 81-121, 1984

[4] E. Osuna, R. Freund, and F. Girosi, “Training Support Vector Machines: An Application to Face Detection” Proc. IEEE Conf. Computer Vision and Pattern Recognition, pp. 130-136, 1997

[5] G. Yang and T. S. Huang (1994) “Human Face Detection in Complex Background”, Pattern Recognition, vol. 27, no. 1, pp. 53-63.

[6] G.Zhao, M.Pietikäinen. Dynamic texture recognition using local binary patterns with an application to facial expressions. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2007

[7] H.B.Deng, L.W.Jin, L.X.Zhen, J.C.Huang. A New Facial Expression Recognition Method Based on Local Gabor Filter Bank and PCA plus LDA. International Journal of Information Technology. 2005

[8] H.P. Graf, T. Chen, E. Petajan, and E. Cosatto, “Locating Faces and Facial Parts”, Proc. First Int‟l Workshop Automatic Face and Gesture Recognition, pp. 41-46, 1995 [9] J. Canny, “A Computational Approach to Edge Detection”, IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 8, no. 6, pp. 679-698, June 1986.

[10] J. Sobottka and I. Pitas, “Segmentation and Tracking of Faces in Color Images”, Proc. Second Int‟l Conf. Automatic Face and Gesture Recognition, pp. 236-241, 1996. [11] J.Yang, R.Stiefelhagen, U.Meier, A.Waibel. Real-time face and facial feature tracking and applications. In Proceedings of Auditory-Visual Speech Processing, New South Wales, Australia. 1998.

[12] K.V. Mardia and I.L. Dryden, “Shape Distributions for Landmark Data”, Advanced Applied Probability, vol. 21, pp. 742-755, 1989.

[13] Kang Ryoung Park, Gaze Detection System by Wide and Auto Pan/Tilt Narrow View Camera, DAGM 2003, LNCS 2781 pp 76 – 83, Springer-Verlag Berlin Heidelberg 2003

[14] Ming-Hsuan Yang, David J. Kriegman, and Narendra Ahuja (2002) , Detecting Faces in Images: A Survey”, IEEE Transactions on Pattern Analysis and machine Intelligent, vol 24, no. 1.

[15] P. Viola, & M. Jones. (2004). Robust real-time face detection. International Journal of Computer Vision, 57(2), 137-154.

[16] Stephen Milborrow and Fred Nicolls. “Locating facial features with an extended active shape model”. Proceedings of the 10th European Conference on Computer Vision: Part IV, ECCV '08, 2008.

[17] T. Ojala, M. Pietikäinen, and T. Maenpaa. Multiresolution Gray Scale and Rotation Invariant Texture Analysis with Local Binary Patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002.

[18] T. F. Cootes, D. H. Cooper, C. J. Taylor, and J. Graham, “Active Shape Models- Their Training and Application”, Department of Medical Biophysics, University of Manchester, Oxford Road, Manchester M13 9PT, England.

[19] T. Sakai, M. Nagao, and S. Fujibayashi, “Line Extraction and Pattern etection in a Photograph”, Pattern Recognition, vol. 1, pp. 233-248, 1969.

[20] Y.L.Tian, L.Brown, A.Hampapur, S.Pankanti, A.Senior, R.Bolle. Real world real-time automatic recognition of facial expressions. IEEE Workshop on Performance Evaluation of Tracking and Surveillance. 2003.

[21] http://blog.greatyao.me/2012/05/06/Introduction-to-ASMLibrary/ [22] http://www.facedetection.com/facedetection/datasets.htm

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và xây dựng hệ thống xác định khuôn mặt chung nhất trong tập ảnh số (Trang 45)

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

(58 trang)