Nhận dạng khuôn mặt là bài toán kinh điển được các nhà nghiên cứu quan tâm từ rất nhiều năm trở lại đây bởi bài toán nhận dạng ảnh có rất nhiều
ứng dụng trong an ninh, giả trí,v..v…. Mục đích chính của các nhà khoa học hiện nay là nâng cao hiệu xuất của việc nhận dạng ảnh và vượt qua những khó khăn trong quá trình nhận dạng như sự phản chiếu của ánh sáng, vị trí ảnh chụp, nhiễu, v…v…Tuy nhiên, khó khăn chính là từ sự biến thiên của hình dạng khuôn mặt, mắt, mũi miệng ở những góc nghiêng khác nhau. Chính điều này tạo ra sự biến thiên rất lớn trong quá trình nhận dạng. Thêm vào đó là các trường hợp đeo khẩu trang, kính, hoặc các khuôn mặt nằm cạnh nhau lúc chụp hình. Tất cả những trường hợp này đều làm cho hình dáng khuôn mặt trở nên rất khó được khôi phục. Chính vì vậy, cần phải có một bước tiền xử lý thật tốt để có thể trích xuất được vùng mặt và sau đó là trích xuất đặc trưng của vùng đó, phục vụ cho quá trình nhận dạng.
Như chúng ta đã biết thì AAM là phương pháp dựa vào mô hình, cung cấp cho dữ liệu ảnh cơ sở tri thức cho trước về hình dáng và kết cấu mô hình. Với những điểm mạnh như vậy, AAM có thể giải quyết được khó khăn nêu trên. AAM sẽ cung cấp những hình mẫu về khuôn mặt và từ đó sẽ giúp định hình được vị trí, hình dáng khuôn mặt một cách tương đối chính xác. Do đó AAM sẽ được dùng làm bước tiền xử lý cho quá trình nhận dạng khuôn mặt.
2.2.4.2. Dữ liệu huấn luyện
Để mở rộng khả năng của mô hình biểu diễn động để biểu diễn khuôn mặt ở những góc độ khác nhau, chúng ta sẽ tiến hành tập hợp những dữ liệu huấn luyện có khuôn mặt quay các góc riêng biệt từ 0 đến 180 độ. Dữ liệu huấn luyện được chia thành 5 nhóm chính: mặt quay trái, mặt nghiên trái, mặt thẳng, mặt nghiên phải, mặt quay phải. Một dữ liệu ảnh bất kỳ được gán cho tất cả các tập dữ liệu huấn luyện trên để tìm ra mối quan hệ gần nhất.
(a) (b) (c)
Hình 2.13. Tập dữ liệu huấn luyện
(a): ví dụ của tập dữ liệu huấn luyện mặt quay trái (b): ví dụ của tập dữ liệu huấn luyện mặt nghiêng trái (c): ví dụ của tập dữ liệu huấn luyện mặt thẳng
Khi ta tiến hành hiệu chỉnh tham số mô hình, c, bằng cách tăng giảm nó ta sẽ có những thay đổi trong hình dáng và kết cấu của nó.
2.2.4.3. Tiên đoán góc độ
Mô hình tham số liên quan tới góc nhìn, θ, được xấp xỉ như sau
0 xcos( ) ysin( )
c c c c (2.41)
Trong đó c0, cx, cy là những vecto được ước lượng trong quá trình huấn luyện. Phương trình trên biểu diễn chính xác mối liên hệ giữa hình dáng, x và hướng của góc theo phép chiếu affine.
Ở đây em chỉ trình bày cách xử lý đầu quay nghiêng qua trái, phải. Trường hợp gật đầu được xử lý tương tự.
Chúng ta ước lượng góc quay của đầu trong từng dữ liệu huấn luyện với sai số 10o. Với mỗi góc như vậy chúng ta tìm ra một mô hình biểu diễn động với tham số ci. Sau đó chúng ta thay các tập giá trị {ci} tìm được lần lượt vào phương trình (2.41) để tìm ra c0, cx, cy. Khi đã có được giá trị của các tham số trên ta sẽ tiến hành tìm góc ước lượng của một dữ liệu ảnh bất kỳ.
Với một dữ liệu ảnh bất kỳ, ta có thể có được mô hình biểu diễn động của nó với tham số c. Ký hiệu R là ma trận nghịch đảo của ma trận (cx |cy).
Đặt
1
0
(x ya, a) Rc (cc ) (2.42) Ước lượng tốt nhất cho góc đó sẽ là 1
tan ( ya / xa).
Ví dụ về dữ liệu huấn luyện ứng với các góc khác nhau và sinh ra mô hình biểu diễn động.
Hình 2.15. Biểu đồ mô tả sự khớp nhau trong việc tiên đoán góc giữa mô hình thật và dữ liệu huấn luyện
Hình 2.16. Ngưỡng góc quay dùng để phân hoạch tập dữ liệu huấn luyện
Với góc tiên đoán được theo cách làm trên, mô hình nằm trên dữ liệu ảnh sẽ được tiến hành so khớp với từng nhóm dữ liệu từ trái sang phải. Ta sẽ tìm ra mô hình nào cho sự so khớp có giá trị cao nhất với mô hình trên dữ liệu ảnh. Mở rộng hơn môt chút , khi ta tìm được mô hình của dữ liệu ảnh tại góc θ bất kỳ, chúng ta có thể sinh ra mô hình tại góc mới cho mô hình tại góc θ đó. Ký hiệu r là vecto sai số giữa mô hình tại góc θ và góc mới:
0
( xcos( ) ysin( ))
r c c c c (2.43) Giả sử góc quay mới là α, khi ấy ta có công thức
0
( ) xcos( ) ysin( )
c c c c r (2.44)
Hình 2.17. Ví dụ minh họa những mô hình có thể suy ra khi ta đã tiến hành so khớp và tìm ra độ nghiêng một góc của một dữ liệu ảnh
Với những mô tả mang tính tổng quan và sự lập luận ở trên, ta đã thấy được phần nào độ mạnh và linh hoạt cũng như tính chính xác của mô hình biểu diễn động. Chính vì nó có khả năng mô hình hóa các cấu trúc nên khi áp dụng nó vào các ứng dụng thì nó sẽ cung liệu ảnh thật. Tất nhiên để tăng tính hiệu quả của phương pháp AAM ta có thể áp dụng thêm các phương pháp ràng buộc cũng như các phương pháp làm giảm số chiều tính toán.
Trong bài toán nhận dạng mặt người, AAM cho thấy tính ưu việt của nó trong quá trình tiền xử lý bởi nó xác định được vùng mặt, và có thể là cả mắt, mũi và miệng được rất nhiều trường hợp khó xác định do tác động bởi điều kiện ngoại cảnh. Ngay cả trong những góc quay khác nhau, AAM cũng có thể xác định được khuôn mặt và nội suy ra vị trí tại những góc khác. Hiện đã có những nghiên cứu cụ thể áp dụng AAM vào việc nhận dạng khuôn mặt và cho ra kết quả tích cực.
Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM 3.1. Phân tích yêu cầu bài toán
Đầu vào: Là một bức ảnh mặt người
Đầu ra: Là một bức ảnh mặt người đã so khớp với CSDL và trạng thái biểu cảm của khuôn mặt.
(a) (b)
Hình 3.1. Ảnh khuôn mặt đầu vào: (a) Trạng thái vui vẻ
(b)Trạng thái ngạc nhiên
Tư tưởng của bài toán như sau: Với một ảnh mặt người đầu vào hệ thống sẽ rút trích đặc trưng của ảnh đầu vào, tiếp đến là rút trích đặc trưng ảnh của CSDL ảnh, cuối cùng tính độ đo sự tương đồng và xuất kết quả.
Hình 3.2. Mô hình chức năng nhận dạng đối tượng
Như vậy, bài toán nhận dạng đối tượng bằng kỹ thuật Xử lý ảnh gồm ba bước chính:
-Xác định và trích chọn các đặc trưng của hai ảnh một cách độc lập. -Đánh giá độ tương tự (độ giống nhau) của đối tượng trong hai ảnh dựa vào
việc so khớp các đặc trưng được trích chọn.
-Phân tích xác suất để thực hiện xác minh cuối cùng.
Đây chính là một bài toán lớn trong lĩnh vực nhận dạng và thị giác máy.
Chương trình sử dụng mã nguồn mở [12] viết bằng ngôn ngữ Java trên công cụ phát triển NetBean IDE (Intergrated Depvelopment Environment) 8.2, thư viện OpenCV3.2 và CSDL khuôn mặt Muct.
NetBeans IDE là IDE chính thức của Java 8. Với các trình soạn thảo, trình phân tích mã và trình chuyển đổi, bạn có thể nhanh chóng và nâng cấp các ứng dụng của mình để sử dụng cấu trúc ngôn ngữ Java 8 mới, chẳng hạn như lambdas, các thao tác chức năng và các tài liệu tham khảo về phương pháp. Bộ phân tích và chuyển đổi hàng loạt được cung cấp để tìm kiếm thông qua nhiều ứng dụng cùng một lúc, phù hợp với các mẫu chuyển đổi sang các cấu trúc ngôn ngữ Java 8 mới. Với sự phát triển không ngừng của Java Editor, nhiều tính năng phong phú và hàng loạt các công cụ, mẫu và ví dụ, NetBeans IDE thiết lập tiêu chuẩn cho việc phát triển với các công nghệ tiên tiến.
OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học (machine learning), và các tính năng tăng tốc GPU trong hoạt động thời gian thực. OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại. Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực. Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi. Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần. Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot.
CSDL Muct [14] gồm 3755 khuôn mặt ứng với 76 điểm mốc. CSDL được tạo ra để cung cấp sự đa dạng hơn về độ sáng, độ tuổi và dân tộc so với các CSDL 2D hiện có.
3.3. Một số kết quả chương trình
Thực hiện cài đặt thử nghiệm phương pháp AAM so khớp nhận dạng ảnh mặt người và xác định biểu cảm khuôn mặt. Bước đầu với một số kết quả sau:
Hình 3.3. Truy vấn và so khớp đối tượng ứng với trạng thái vui vẻ
Hình 3.4. Truy vấn và so khớp đối tượng ứng với trạng thái ngạc nhiên
Một trong những hướng tiếp cận để nhận dạng đối tượng hiệu quả đã và đang được nhiều nhóm nghiên cứu chú ý gần đây đó là dựa mô hình biểu diễn động. Làm sao có thể nhận dạng chính xác được khuôn mặt đối tượng trong ảnh cho dù khuôn mặt đối tượng đó có sự biến đổi như xoay trái, xoay phải, nghiêng trái, nghiêng phải, nhìn lên, nhìn xuống và xác định trạng thái biểu cảm của khuôn mặt. Xuất phát từ thực tế đó luận văn đã tìm hiểu về các phương pháp mô hình biểu diễn động dựa vào các điểm điều khiển trên khuôn mặt, kỹ thuật AAM áp dụng cho bài toán phát hiện, xác định trạng thái biểu cảm và ứng dụng của chúng trong nhận dạng.
Kết quả đạt được:
Trong quá trình nghiên cứu tài liệu và thực hiện luận văn dưới sự định hướng của thầy giáo hướng dẫn, luận văn đã đạt được một số kết quả như sau:
-Trình bày khái quát về biểu cảm khuôn mặt và bài toán trích rút đặc trưng biểu cảm khuôn mặt, các vấn đề trong phát hiện và đánh dấu đối tượng, các vấn đề về mô hình biểu diễn động.
-Trình bày lý thuyết về điểm bất động và các đặc trưng bất biến của đối tượng, vai trò, đặc điểm; lý thuyết cơ bản của thuật toán SIFT. Trình bày ứng dụng nhận dạng đối tượng ảnh dựa vào các đặc trưng bất biến được xây dựng từ các điểm bất động, cài đặt thử nghiệm thành công kỹ thuật SIFT đã trình bày ở chương 2 trong trường hợp các ảnh có sự khác nhau về tỷ lệ, góc nhìn và các đối tượng trong ảnh bị che khuất một số bộ phận không đáng kể.
-Trình bày lý thuyết về mô hình biểu diễn động và áp dụng mô hình biểu diễn động vào bài toán nhận dạng biểu cảm khuôn mặt.
-Ngoài ra, trong quá trình nghiên cứu tôi cũng tự tích lũy thêm cho mình các kiến thức về toán học, về kỹ thuật lập trình,…Và quan trọng là rèn luyện kỹ năng để thực hiện một nghiên cứu khoa học. Tuy mới chỉ là bước đầu,
nhưng những kết quả này sẽ giúp ích cho tôi trong những nghiên cứu sau này để thu được những kết quả tốt hơn.
Một số vấn đề cần tiếp tục giải quyết:
-Xây dựng chương trình với giao diện đồ họa.
-Xây dựng CSDL tập điểm biểu diễn biểu cảm khuôn mặt đầy đủ. Trong quá trình thực hiện luận văn tốt nghiệp, bản thân tôi cũng đã rất nỗ lực, cố gắng, đầu tư nhiều thời gian, công sức cho việc tìm hiểu nghiên cứu đề tài dưới sự định hướng tận tình của thầy giáo PGS.TS. Đỗ Năng Toàn. Tuy nhiên, do hạn chế về mặt kiến thức của bản thân, thời gian cũng như các nguồn tài liệu, nên luận văn chưa được hoàn hảo, còn nhiều thiếu sót. Kính mong các thầy cô giáo cũng như các bạn đồng nghiệp chỉ bảo và giúp đỡ.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1]. Đỗ Năng Toàn, Phạm Việt Bình (2007), Giáo trình xử lý ảnh, NXB KH kỹ thuật.
[2]. Đỗ Năng Toàn, Ngô Quốc Tạo, Một số phương pháp nâng cao hiệu quả nhận dạng phiếu điều tra dạng dấu phục vụ cho thiết kế hệ nhập liệu tự
động markread, Tạp chí Tin học và Điều khiển học, Tập 15, số 4, năm
1999.
[3]. Lương Mạnh Bá, Nguyễn Thanh Thuỷ (1999), Nhập môn xử lý ảnh số, NXB Khoa học kỹ thuật.
[4]. La Ngọc Tùng (2012), Kỹ thuật SIFT trong phát hiện và đánh dấu đối tượng.
[5]. Hà Mạnh Toàn (2015), Trích rút đặc trưng phục vụ biểu diễn biểu cảm khuôn mặt 3d.
Tiếng Anh
[6]. Statical model of appearance for computer vision – T.F.Cootes and C.J.Taylor, Imaging Science and Biomedical engineering, University of Manchester.
[7]. Active appearance model: theory and cases – M.B. Stegman, R.Fishker, Deparment of mathematical modelling, University of Denmark
[8]. Active appearance model – T.F.Cootes and Edward, IEEE transaction and pattern analysis and machine intelligence, vol 23, no.6, 2001
[9]. Face recognition using active appearance model – Edward, Cootes and Taylor, Wolfson image analysis unit, department of medical biophysis, university of Manchester.
[10]. Brown M. and Lowe D.G 2002, Invariant features from interest point groups, In The 13th British Machine Vision Conference, Cardiff University, UK.
[11]. David Lowe, 1999, The SIFT (Scale Invariant Feature Transform) Detector and Descriptor, University of British Columbia.
[12]. https://github.com/htkseason/AAM-Fitting
[13].http://en.wikipedia.org/wiki/Scale-invariant_feature_transform
[14]. http://www.milbo.org/muct
[15]. I. Rey Otero and M. Delbracio, "Anatomy of the SIFT Method.", Image Processing Online, 2013.
[16]. Jafar W. Al-Badarneh, Abdalkareem R. Al-Hawary, Abdulmalik M. Morghem, Mostafa Z. Ali, Rami S. Al-Gharaibeh, Keypoints Extraction for Markerless Tracking in Augmented Reality Applications: A Case Study in Dar As-Saraya Museum, Oct. 2014.