Chương 1 Tổng quan 1.1 Nhu cầu thực tế Hiện nay, xã hội ngày càng phát triển kéo theo quan hệ giữa người và người càng mở rộng. Con người vừa phải tất bật làm việc, vừa chăm lo cho các mối quan hệ quanh mình. Có rất nhiều điều cần phải biết, nhiều thứ cần phải nhớ nhưng trí não con người không thể chứa hết. Do đó, con người đành nhờ đến sự trợ giúp của khoa học kỹ thuật, cụ thể chính là chiếc máy tính.
Trong cuộc sống, bạn phải giao tiếp với nhiều người, thậm chí có thể lên đến hàng trăm người. Hiển nhiên rằng việc nhớ tên tất cả là một điều khó khăn. Đây chính là mục tiêu mà đề tài chúng tôi nhắm đến. Một chương trình có thể cung cấp cho bạn tên của người bạn cần thông qua hình ảnh của người đó cùng với một bộ cơ sở dữ liệu gồm các bức ảnh của những người đã được định danh.
Với chương trình này, bạn không còn phải nhớ tất cả mọi khuôn mặt cũng như tên của người quen nữa, đồng thời có thể nhanh chóng biết được bạn có quen biết đối phương không. Tất nhiên để có thể xây dựng được một chương trình như vậy, trước hết ta cần xác định rõ bài toán xuyên suốt luận văn này: bài toán nhận dạng khuôn mặt người.2 Bài toán nhận dạng mặt người Hệ thống sinh trắc học là một hệ thống được thiết kế để xác minh và nhận dạng một người dựa vào những đặc trưng sinh học duy nhất của người đó. Hệ thống nhận dạng mặt người là hệ thống sinh trắc học được thiết kế để tìm thông tin của một người. Kỹ thuật nhận dạng là kiểm tra sự phù hợp dựa trên 10 phép so sánh một-nhiều.
Cụ thể hơn, hệ thống nhận vào là một ảnh hoặc một đoạn video (một chuỗi các ảnh). Qua xử lý tính toán hệ thống xác định là người nào trong số những người hệ thống đã được biết hoặc là người lạ, hình 1.1 – Một hệ thống nhận dạng mặt người. Hệ thống nhận dạng tĩnh-tĩnh: là hệ thống được thiết kế bằng cách sử dụng một số hình ảnh tĩnh làm mẫu để nhận dạng khuôn mặt trong ảnh tĩnh. Kỹ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nói trên [8].
Hệ thống nhận dạng tĩnh-động: là hệ thống được thiết kế bằng cách sử dụng một số hình ảnh tĩnh làm mẫu để nhận dạng khuôn mặt trong ảnh động. Kỹ thuật nhận dạng này kiểm tra sự phù hợp dựa trên so sánh một-nhiều như hệ thống nhận dạng nói chung ở trên, song ảnh cần kiểm tra là các khung ảnh động trong các đoạn phim từ máy camera. Kỹ thuật này dĩ nhiên không thể chính xác vì chuyển động của mặt người trong đoạn phim khá phức tạp, song thể hiện trong ảnh tĩnh để huấn luyện ít lại [8]. Hệ thống nhận dạng động-động: là hệ thống được thiết kế bằng cách sử dụng một số hình ảnh động làm mẫu để nhận dạng khuôn mặt trong ảnh động.
Kỹ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nói trên. Tuy nhiên, kỹ thuật này chính xác hơn kỹ thuật sử dụng 11 trong hệ thống nhận dạng tĩnh-động do sự chuyển động phức tạp của khuôn mặt người cũng được huấn luyện bằng các khung ảnh động [8]. Các hướng nghiên cứu về bài toán này (dựa theo Face Recognition Vendor Test – FRVT [1] ): • Nhận dạng từ ảnh về khuôn mặt được chụp chính diện. • Nhận dạng từ ảnh về khuôn mặt được chụp không chính diện.
• Nhận dạng với tỉ lệ sai sót thấp chấp nhận được. • Hiểu được tại sao đàn ông dễ nhận dạng ra hơn so với phụ nữ. • Hiểu rõ hơn về ý nghĩa của các yếu tố nhân khẩu học được thể hiện. … Ngoài ra, còn có một hướng mới cho bài toán nhận dạng khuôn mặt người là nhận dạng khuôn mặt theo thời gian, kết hợp với nghề nghiệp và môi trường làm việc, hay chủng tộc,… 1.3 Các ứng dụng hiện nay Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau.
Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài. Các ứng dụng liên quan đến nhận dạng mặt người có thể kể như: • Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay,… Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý. • Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công. • Hệ thống giao tiếp người - máy: thay thế việc tương tác giữa người và máy theo những cách truyền thống như: bàn phím, chuột,… Thay vào đó 12 là sử dụng các giao tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay ,.
• Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo người). Chẳng hạn như: một đài truyền hình có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có B.Ronaldo… • Các hệ thống bảo mật dựa trên thông tin trắc sinh học: mặt người, vân tay,… thay vì xác nhận mật khẩu, khóa,… như thông thường.4 Những khó khăn của bài toán nhận dạng mặt người Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm 1970. Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt được kết quả mong muốn. Chính vì thế vấn đề này vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu.
Khó khăn của bài toán nhận dạng mặt người có thể kể như sau: • Tư thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp giữa camera và khuôn mặt. Chẳng hạn như: chụp thẳng, chụp xéo bên trái 450 hay xéo bên phải 450, chụp từ trên xuống, chụp từ dưới lên,…). Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuất hết. • Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trưng như: râu mép, râu hàm, mắt kính,… có thể xuất hiện hoặc không.
Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều. • Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm ảnh hưởng đáng kể lên các thông số của khuôn mặt. Chẳng hạn, cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi,… 13 • Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các khuôn mặt khác. • Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các góc quay khác nhau của trục camera.
Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh. • Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,…) ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt. • Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập huấn luyện không thể bao quát được tất cả các biến đổi có thể có trên khuôn mặt của một người cần nhận dạng trong thế giới thực. Tuy bài toán có rất nhiều khó khăn khách quan lẫn chủ quan nhưng đây vẫn là một bài toán hấp dẫn đối với con người.
Nhiều hướng tiếp cận cũng như phương pháp giải quyết đã được đề xuất cho bài toán nhận dạng mặt người. Mỗi phương pháp có chỗ hay, chỗ chưa hay khác nhau nhưng đều đã đóng góp ít nhiều cho khoa học. Hầu hết các nghiên cứu đếu cố gắng giải quyết bài toán từ trường hợp đơn giản nhất như ảnh khuôn mặt người được chụp chính diện, đầy đủ các chi tiết và là ảnh xám. Sau khi đạt được thành công nhất định cho trường hợp đơn giản nhất này, các nghiên cứu dần dần tiến đến từng trường hợp khó hơn như ảnh chụp nghiêng hay ảnh đầu vào là ảnh màu, hay thậm chí chỉ cải tiến phương pháp cũ cho nhanh hơn, chính xác hơn, hoặc đề xuất phương pháp mới tốt hơn… 1.2 Các hướng tiếp cận của bài toán nhận dạng mặt người 1.1 Các hướng tiếp cận Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính.
Thứ nhất, dùng thông tin nào để nhận dạng, chẳng hạn như mắt, mũi, miệng, tai, chân 14 mày,… hay kết hợp tất cả các thông tin trên. Thứ hai, dùng phương pháp nào để huấn luyện cho máy nhận dạng nguồn thông tin đó. Nhiều phương pháp nhận dạng khuôn mặt người được đề xuất trong khoảng 30 năm gần đây, và có rất nhiều công trình và bài báo đã được công bố rộng rải trên thế giới. Nhận dạng khuôn mặt người là một vấn đề thú vị và đầy tính thử thách, nó đã thu hút nhiều nhà nghiên cứu từ nhiều lĩnh vực khác nhau như: tâm lý học, nhận dạng mẫu (hay nhận dạng mô hình), mạng nơron nhân tạo, thị giác máy tính, đồ họa máy tính,… Thông thường, một hệ thống máy tính đơn lẻ chứa nhiều kỹ thuật được vận hành dựa trên những nguyên tắc khác nhau.
Chính sự kết hợp nhiều kỹ thuật đã gây khó khăn cho việc phân loại những hệ thống này (dựa trên loại kỹ thuật mà chúng sử dụng cho biểu diễn đặc trưng hay sự phân lớp). Để có một phân loại tốt và rõ ràng, chúng tôi đi theo một hướng do tâm lý học đề nghị, cách thức con người sử dụng những đặc trưng tổng thể và cục bộ. Cụ thể có 3 hướng tiếp cận chính cho bài toán nhận dạng khuôn mặt người: (1) Phương pháp so khớp tổng thể (holistic matching methods). Những phương pháp này sử dụng toàn bộ vùng mặt như là dữ liệu thô đầu vào cho hệ thống nhận dạng.
Các thuật toán nổi bật đại diện cho lớp này có thể kể như là Eigenfaces và Fisherfaces. Đối với những phương pháp này, những đặc trưng cục bộ như đôi mắt, mũi, miệng,… được trích ra đầu tiên và vị trí của chúng cũng như những thông tin cục bộ được nạp vào một lớp có cấu trúc. Tương tự hệ thống nhận dạng của con người sử dụng đồng thời những đặc trưng cục bộ lẫn toàn vùng mặt để nhận dạng một khuôn mặt.2 Một số công trình nghiên cứu hiện nay Phương pháp so khớp tổng thể 15 • Eigenfaces, ứng dụng trực tiếp của PCA. Kirby và Sirovich dùng vector riêng để nhận dạng khuôn mặt người.