Phát hiện khuôn mặt là một vấn đề cơ bản trong ngành học quan sát bằng máy tính. Là một trong những giai đoạn của hệ thống nhận dạng mặt người cùng với nhiều ứng dụng rộng rãi và phổ biến khác như chỉ số hóa nội dung trong ảnh, hệ thống giám sát, hội thảo truyền hình…
TÓM TẮT Phát hiện khuôn mặt là một vấn đề cơ bản trong ngành học quan sát bằng máy tính. Là một trong những giai đoạn của hệ thống nhận dạng mặt người cùng với nhiều ứng dụng rộng rãi và phổ biến khác như chỉ số hóa nội dung trong ảnh, hệ thống giám sát, hội thảo truyền hình…, phát hiện khuôn mặt đã và đang dành được sự quan tâm nghiên cứu của nhiều người trong suốt hai thập kỷ qua. Tuy nhiên, với những thách thức rất lớn gây ra do tính biến động của môi trường cũng như tính biến đổi cao của khuôn mặt, phát hiện mặt người vẫn đang là một trong những vấn đề mở đối với các nhà nghiên cứu. Và cho đến nay vẫn chưa có một phương pháp nào thực sự giải quyết hết các thách thức của phát hiện khuôn mặt. Nhiều cải tiến, nhiều đề xuất đã được đưa ra nhằm cải thiện chất lượng phát hiện khuôn mặt. Và một trong những cải tiến đó là dựa trên những đặc điểm bất biến hoặc có sự biến động có thể phân vùng được của khuôn mặt mà màu da của con người chính là một trong những đặc điểm đó. Xuất phát từ ý tưởng kết hợp giữa màu da và một phương pháp phát hiện khuôn mặt hiệu quả, đồ án đã tập trung xây dựng một hệ thống kết hợp giữa hệ thống phát hiện khuôn mặt dựa trên mạng neural và phương pháp phân vùng màu da dựa trên mô hình màu da có tham số sử dụng phân phố Gaussian. Hệ thống phát hiện được xây dựng về cơ bản có nguyên tắc hoạt động theo mô hình mạng neural kinh điển. Đó là mô hình mạng neural Perceptron đa lớp, sử dụng thuật toán lan truyền nguợc và phương pháp giảm gradient để học mạng. Về cơ bản kiến trúc mạng neural xây dựng không có gì thay đổi, tuy nhiên, ở đây chúng ta sẽ cải tiến kiến trúc một điểm với việc sử dụng thêm mô hình xác suất dựa trên lý thuyết Bayes để có thể có sự mềm dẻo hơn trong việc đánh giá kết quả cuối cùng của mạng. Ngoài ra, đồ án cũng nêu ra một chiến thuật huấn luyện hợp lý, cho phép huấn luyện nhanh mà vẫn đảm bảo được tính 1 tổng quát và hiệu quả của mạng. Đó là chiến thuật huấn luyện mạng chủ động có học. Phương pháp phân vùng màu da được kết hợp vào hệ thống như là một giới hạn cho phép giảm không gian tìm kiếm, tức là khuôn mặt sẽ chỉ được tìm kiếm trên các vùng màu da. Việc phân vùng này đã giúp cho thời gian phát hiện của hệ thống cải thiện đáng kể, hơn nữa nó còn giúp cho hệ thống hoạt động hiệu quả hơn. Để giúp cho kết quả phát hiện được rõ ràng và chất lượng, đồ án cũng đã nêu ra các heuristic cụ thể phù hợp cho hệ thống, Những heursitic này dựa trên kết quả thực tế cũng như thống kê của quá trình huấn luyện và kiểm thử hệ thống. Đồ án với tên gọi là “Hệ thống phát hiện khuôn mặt dựa trên mạng neural và phương pháp vân vùng màu da” được bộ cục làm năm mục chính. Chương I: Giới thiêu – Là chương giới thiệu, bao gồm ba phần nhỏ. Phần đầu là tổng quan các hướng tiếp cận, các phương pháp phát hiện mặt người đã được để xuất. Phần hai là tổng quan các phương pháp phân vùng màu da dựa trên tính chất điểm ảnh. Qua phần này với những đánh giá các phương pháp sẽ giúp chúng ta chọn được phương pháp phân vùng phù hợp cho hệ thống. Phần ba sẽ là cơ sở lý thuyết cơ bản nhất về mạng neural MPL và thuật toán lan truyền ngược. Đây là kiến trúc mạng và thuật toán sẽ được sử dụng cho hệ thống mạng neural của đồ án. Chương II: Tổng thể hoạt động của hệ thống và vấn đề chuẩn bị cơ sở dữ liệu – Đây là chương miêu tả mô hình thuật toán hoạt động tổng thể nhất của hệ thống sẽ được xây dựng. Đồng thời sẽ đề cập vấn đề chuẩn bị và tiền xử lý cho các tập cơ sở dữ liệu đựoc dùng để huấn luyện mạng neural cũng như luyện tập phân vùng màu da. Đây là một trong những công việc quan trọng quyết định đến chất lượng của hệ thống. 2 Chương III: Phát hiện khuôn mặt dựa trên mạng neural và phương pháp phân vùng màu da – Đây là chương quan trọng nhất của đồ án. Nó sẽ miêu tả đầy đủ kiến trúc hệ thống được xây dựng. Thuật toán và phương pháp huấn luyện mạng neural. Thuật toán và phương pháp huấn luyện phân vùng màu da. Và sẽ đề xuất ra những heuristic giúp cải thiện chất lượng phát hiện và thời gian chạy của hệ thống. Chương IV: Phân tích thiết kế và cài đặt chương trình Chưong V: Khảo sát thực nghiệm và đánh giá chương trình – Đây là chương sẽ miêu tả kết quả việc kiểm thử chương trình dựa trên bộ test chuẩn và bộ test tự tạo. Đồng thời sẽ có những đánh giá và nhận xét về kết quả của chương trình. Kết luận và hướng phát triển Trong phạm vi bài đồ án, với việc hệ thống được xây dựng trên một mạng neural đơn lẻ, vì vậy em đã tiến hành huấn luyện cho mạng nhận biết những khuôn mặt với tư thể nhìn thẳng (frontal), có độ nghiêng và góc quay không đáng kể. Các khuôn mặt có thể có nhiều trạng thái khác nhau. Các ảnh được dùng để kiểm thử bao gồm cả ảnh chân dung và ảnh tập thể. Ảnh không và có nhiễu (tự thêm) để kiểm tra thêm về tính hiệu quả của hệ thống. Các ảnh được kiểm thử có kích thước bao gồm 240 x 180, 320 x 240, 480 x 360 điểm ảnh. Với bộ test bao gồm 300 ảnh chân dung kích thước 320 x 240; 320 ảnh này đựoc thêm nhiễu, 320 ảnh này được thu nhỏ lại kích thước 240 x 180 để kiểm tra hệ thống có thể phát hiện các khuôn mặt có kích thước khác nhau, 320 ảnh này được thêm nhiễu. Ngoài tập ảnh chân dung chuẩn ra, chương trình còn test với 100 ảnh tập thể tự tạo với nhiều mục đích khác nhau. 100 ảnh này cũng được thêm nhiễu để tiến hành kiểm thử. 3 CHƯƠNG I: GIỚI THIỆU 1. Tổng quan về các phương pháp phát hiện mặt người 1.1 Phát hiện mặt người và ứng dụng Nhận biết đối tượng nói chung và nhận biết mặt người nói riêng là bài toán cơ bản và quan trọng trong lĩnh vực quan sát bằng máy tính. Nhận biết mặt nguời thu hút sự tập trung nghiên cứu của nhiều nhà nghiên cứu trong suốt nhiều thập kỷ qua. Tuy nhiên vẫn chưa có một hướng tiếp cận nào thực sự trọn vẹn mang lại hiệu quả và giải quyết hết các thách thức và tình huống trong vấn đề phát hiện mặt người, nguyên nhân là do tính biến đổi cao của khuôn mặt con người. Chính vì vậy, đây vẫn là vấn đề mở và tiếp tục thu hút sự nghiên cứu sâu hơn với các kỹ thuật mới được đề xuất. Các kỹ thuật đã được áp dụng có thể chia thành một trong hai tiếp cận: so sánh sự phù hợp với các mô hình hình học hai, ba chiều vào ảnh, hay phương pháp so sánh sự phù hợp các mô hình khung nhìn vào ảnh có chứa khuôn mặt cần nhận biết. Các nghiên cứu trước đây cho thấy rằng các hương pháp dựa trên khung nhìn có thể nhận biết các khuôn mặt thẳng trong nền phức tạp một cách hiệu quả. Với mục đích tận dụng những ưu điểm của các kỹ thuật đã đuợc đề xuất, kết hợp chúng lại để có thể xây dựng đuợc một hệ thống phát hiện mặt người một cách hiệu quả. Đồ án đã tập trung vào vấn đề phát hiện mặt người trong ảnh màu tĩnh, nhằm kết hợp những đặc trưng của mặt người trong ảnh màu cụ thể là sử dụng kỹ thuật phân vùng màu da người trong ảnh màu kết hợp với hướng tiếp cận dựa trên khung nhìn với mục đích sử dụng mạng neural nhân tạo - một phương pháp tuy kinh điển nhưng vẫn rất mở và chứa đựng nhiều ưu điểm trong vấn đề nhận dạng, để xây dựng hệ thống phát hiện mặt người. 4 Kỹ thuật phân vùng da nguời trong ảnh màu được áp dụng trong hệ thống nhận biết mặt người với mục đích cuối cùng là giảm không gian tìm kiếm mặt người trong ảnh, giúp cho hiệu năng hoạt động của hệ thống được nâng cao hơn. Còn ưu điểm nổi bật của mạng neural nhân tạo nói riêng và phướng tiếp cận dựa trên máy học nói chung trong việc phát hiện mặt nguời đó là có thể miêu tả và phát hiện khuôn mặt trong nhiều tình huống khác nhau. Những tình huống gặp phải khi phát hiện khuôn mặt bao gồm: Tư thế của khuôn măt (Pose): Khuôn mặt là nghìn thẳng (frontal), nghiêng một phần (partial profile) hay nghiêng hoàn toàn (full profile). Khuôn mặt hướng thẳng đứng (upright) hay là khuôn mặt xoay một góc nào đó (rotate) Nội dung khuôn mặt: Khuôn mặt chứa đầy đủ các đặc trưng như mắt, mũi, miệng, tai hay thiếu một vài đặc trưng nào đó. Trạng thái của khuôn mặt: Đó chính là trạng thái tình cảm của khuôn mặt như cuời, khóc, tức giận… Đây là những tình huống mà các hướng tiệp cận khác phải mất nhiều công sức và phức tạp để có thể miêu tả được. Nhưng với mạng neural, thông qua tập mẫu và quá trình huấn luyện mạng hiệu quả, kết quả mang lại là có thể rất khả quan. Ứng dụng Công nghệ nhận biết mặt người có sự ứng dụng rộng rãi trong thực tế. Trong nhận dạng sinh trắc học, trong hội thảo truyền hình, trong chỉ số hoá ảnh và cơ sở dữ liệu video, trong tương tác người máy. Nhận biết mặt người là giai đoạn đầu trong hệ thống nhận dạng mặt người. Hai bài toán nhận biết và nhận dạng đối tượng có liên quan mật thiết. Hệ thống nhận dạng đối tượng có thể xây dựng mà không có tập bộ nhận biết đối tượng, mỗi bộ nhận biết phát hiện một đối tượng quan tâm. Tương tự, bộ nhận 5 biết đối tượng có thể được xây dựng mà không có hệ thống nhận dạng đối tượng; bộ nhận dạng đối tượng này cần phân biệt đối tượng mong muốn với mọi đối tượng khác có thể xuất hiện hay là lớp đối tượng chưa biết. Do đó hai bài toán là như nhau, dù trong thực hành hầu hết các hệ thống nhận dạng đối tượng ít khi giải quyết nền tuỳ ý, và các hệ thống nhận biết đối tượng ít khi được huấn luyện trên đủ loại đối tượng để xây dựng hệ thống nhận dạng. Điểm chú trọng khác nhau của các bài toán này dẫn đến các trình bày và thuật toán khác nhau. Thông thường, các hệ thống nhận dạng khuôn mặt làm việc bằng cách trước hết áp dụng bộ nhận biết khuôn mặt để định vị khuôn mặt, sau đó áp dụng thuật toán nhận dạng để nhận diện khuôn mặt. 1.2 Các thách thức trong vấn đề phát hiện mặt người Việc nhận biết đối tượng là bài toán xác định cửa sổ con của ảnh có thuộc về tập các ảnh của đối tượng quan tâm hay không. Do đó, đường biên quyết định của tập ảnh đối tượng phức tạp sẽ làm tăng độ khó của bài toán và có thể tăng số lỗi nhận biết. Giả sử ta muốn phát hiện khuôn mặt nghiêng trong mặt phẳng ảnh, ngoài các khuôn mặt thẳng. Việc thêm các khuôn mặt nghiêng vào tập các ảnh ta muốn nhận biết làm tăng độ biến thiên của tập, và có thể làm tăng độ phức tạp của đường biên quyết định của tập ảnh. Độ phức tạp này làm bài toán nhận biết khó hơn. Việc thêm ảnh mới vào tập ảnh đối tượng có thể làm đường biên quyết định đơn giản hơn và dễ học hơn. Có thể tưởng tượng điều này là đường biên quyết định được làm trơn bằng việc thêm các ảnh vào tập. Có nhiều nguồn biến đổi trong bài toán nhận biết đối tượng, và cụ thể trong bài toán nhận biết khuôn mặt. Có các nguồn biến đổi sau [6]: Biến đổi trong mặt phẳng ảnh: loại biến đổi ảnh khuôn mặt đơn giản nhất có thể được biểu diễn độc lập với khuôn mặt, bằng cách quay, dịch chuyển, biến đổi tỷ lệ và lấy đối xứng ảnh. 6 Biến đổi độ sáng và ngữ cảnh: biến đổi do đối tượng và môi trường gây ra, cụ thể các thuộc tính bề mặt của đối tượng và các nguồn sáng. Các thay đổi về nguồn sáng nói riêng có thể biến đổi hoàn toàn vẻ bề ngoài của khuôn mặt. Biến đổi nền: Nhiều nhà nghiên cứu cho răng với kỹ thuật nhận dạng mẫu hiện nay, tiếp cận dựa trên khung nhìn để nhận biết đối tượng chỉ thích hợp cho các đối tượng có “đường biên ảnh có thể dự đoán được”. Khi đối tượng có hình dáng dự đoán được, ta có thể trích ra window chỉ chứa các pixel bên trong đối tượng, và bỏ qua nền. Biến đổi hình dáng: với khuôn mặt, loại biến đổi này bao gồm biểu lộ tình cảm khuôn mặt, miệng và mắt mở hay đóng, và hình dáng khuôn mặt của từng người. 1.3 Các vấn đề liên quan đến phát hiện mặt người Bên cạnh vấn đề phát hiện mặt người, có nhiều vấn đề khác có quan hệ mật thiết với phát hiện mặt người mà nhiều khi gây ra nhầm lẫn nếu không được tìm hiểu một cách kỹ càng. Những vấn đề đó bao gồm [7] Định vị khuôn mặt hay xác định vị trí khuôn mặt: Đây là vấn đề rất gần với vấn đề phát hiện mặt người. Nếu như phát hiện mặt người trong ảnh là phải trả lời các câu hỏi có tồn tại khuôn mặt trong ảnh hay không ? Nếu tồn tại thì tồn tại bao nhiêu khuôn mặt? Vị trí của khuôn mặt ở đâu ? Thì vấn đề định vị mặt người chỉ trả lời cho câu hỏi vị trí mặt người ở đâu trong một ảnh đã biết trước là có một mặt người . Như vậy có thể thấy, định vị khuôn mặt là một phần công việc của phát hiện mặt người. 7 Phát hiện các đặc trưng của khuôn mặt: Đây là vấn đề cũng rất gần với vấn đề định vị khuôn mặt. Nó cũng giả thiết rằng chỉ có một khuôn mặt trong ảnh. Và việc phát hiện đặc trưng khuôn mặt là tìm ra vị trí của các đặc trưng như đôi mắt, mũi, miệng, môi, tai… Bám sát khuôn mặt: Mục đích của vấn đề này là ước lượng liên tục sự thay đổi về vị trí và huớng của khuôn mặt trong một chuỗi ảnh thời gian thực. Nhận biết trạng thái khuôn mặt: Mục tiêu của vấn đề này là nhận biết trạng thái của khuôn mặt con người (hạnh phúc, tức giận, đau khổ…). Đây là vấn đề rất khó và thú vị vì trạng thái khuôn mặt của từng người có thể là rất khác nhau trong cùng một trạng thái tâm lý. Nhận dạng khuôn mặt: Trong vấn đề này, chúng ta phải đối sánh khuôn mặt cần nhận dạng với các khuôn mặt có sẵn trong thư viện và tìm ra nhưng thông tin cần thiết về khuôn mặt cần nhận dạng nếu nó có đăc trưng tương đồng với khuôn mặt nào đó trong thư viện. Thẩm tra và xác minh khuôn mặt: Đây là vấn đề nằm trong vấn đề nhận dạng khuôn mặt. Thông thường sau khi nhận dạng khuôn mặt, người ta phải tiến hành một giai đoạn nữa gọi là thẩm tra và xác minh tính đúng đắn của khuôn mặt được nhận dạng. Nó cho phép tăng sự đúng đắn của vấn đề nhận dạng khuôn mặt. Trong những vấn đề nêu trên, có thể thấy nhận biết khuôn mặt và nhận dạng khuôn mặt là hai vấn đề cơ bản và có thể chứa đựng các vấn đề còn lại. Và thông thường, nhận biết khuôn mặt sẽ là giai đoạn đầu của hệ thống nhận dạng khuôn mặt. Sự khác nhau cơ bản giữa phát hiện khuôn mặt với nhận dạng khuôn mặt đó là: Nếu như nhận dạng khuôn mặt là phân biệt những khuôn mặt khác nhau trong tập danh mục các khuôn mặt, còn nhận biết khuôn mặt đó là phân lớp đuợc đâu là danh mục các khuôn mặt và đâu là danh mục các ảnh không phải khuôn mặt. 8 1.4 Tổnq quan các hướng tiếp cận phát hiện khuôn mặt Trong suốt quá trình hơn ba thập kỷ, đã có rất nhiều các hướng tiếp cận và xử lý khác nhau được đề xuất để giải quyết bài toán phát hiện mặt người. Các hướng tiếp cận và xử lý thông thường nhằm giải quyết những yêu cầu cụ thể và khác nhau ,trong từng ứng dụng cụ thể. Chính vì vậy có nhiều cách để có thể phân loại các phương pháp, các kỹ thuật, các hướng tiếp cận phát hiện khuôn mặt. Trong bài luận văn này, sẽ phân loại các hướng tiếp cận theo phương pháp được sử dụng nhiều nhất. Đó là chia các hướng tiếp cận theo hai hướng chính: Hướng tiếp cận dựa trên đặc trưng của ảnh (Feature-based) và hướng tiếp cận dựa trên thông tin xuất hiện trên ảnh (Image-based). Các phương pháp, kỹ thuật phân chia theo cách này có thể nhìn thấy trong sơ đồ dưới đây [7]: 9 Hình 1: Sơ đồ các hướng tiếp cận và phương pháp phát hiện mặt người 1.4.1 Hướng tiếp cận dựa trên đặc trưng của ảnh (Feature-based approaches) 10 [...]... trái, đường tóc hoặc mặt phải của khuôn mặt Việc gán nhãn này làm cho khả năng phát hiện chính xác khuôn mặt trong một bức ảnh với không gian phức tạp và có nhiều khuôn mặt Một trong những phương pháp được biết đến đó là phương pháp gán nhãn của Govindaraju, phương pháp này sử dụng hệ số vàng của khuôn mặt lý tưởng , đó là hệ số giữa độ dài và độ rỗng của khuôn mặt: (I.1) Sử dụng phương pháp này, người... ảnh khuôn mặt từ dữ liệu của FERET, tỉ lệ dò là 97% Jebara và Pentland đã đưa kĩ thuật này vào hệ thống truy tìm khuôn mặt người dựa vào cả màu sắc, 3D và thông tin về chuyển động Một cách tiếp cận tương tự là PCA được áp dụng cho tập hợp khuôn mặt và mẫu giống khuôn mặt, cùng với tiêu chuẩn lựa chọn dựa vào tỉ lệ giống nhau Samal và Iyengar đưa ra cách dò khuôn mặt PCA dựa trên hình chiếu khuôn mặt. .. kinh nghiệm cho thấy màu da người có đặc tính màu riêng biệt, và đặc tính này cho phép dễ dàng nhận ra đâu là da người [8] Và thông thường trong hướng tiếp cận phát hiện mặt người dựa trên thông tin xuẩt hiện trong ảnh, thì màu da được sử dụng như một bước phân vùng các vùng ảnh có màu sắc giống màu da, điều đó cho phép giảm không gian tìm kiếm khuôn mặt, cải thiện hiệu năng của hệ thống tìm kiếm Do đó... xử lý giữa đa mạng và các heuristic để làm rỏ ràng các kết qủa và cải thiện đáng kể độ chính xác của bộ dò tìm 1.4.2.3 Hướng tiếp cận sử dụng phương pháp thống kê (Statistical Approachs) Bên cạnh phương pháp sử dụng không gian con tuyến tính và phương pháp sử dụng mạng Nơron, còn có một số phương pháp khác tiếp cận theo hướng thống kê để nhận biết khuôn mặt Những phương pháp này dựa trên cơ sở lý thuyết... lớp, lớp là lớp điểm anh có thuộc màu da và lớp kia không phải là màu da Các điểm ảnh là hoàn toàn độc lập với nhau Ngược lại với phương pháp này là phương pháp dựa trên đặc tính vùng ảnh Phát hiện màu da dựa trên đặc tính điểm ảnh có một lịch sử phát triển khá dài, tuy nhiên trong khuôn khổ phần tổng quan này, chỉ đề cập và so sánh những kỹ thuật đã được công bố và được đánh giá hiệu quả Mục đích... nét và vị trí của khuôn mặt Kỹ thuật dò tìm dựa vào đường biên này còn được áp dụng để phát hiện cặp kính trên khuôn mặt Trong hướng tiếp cận phát hiện mặt người dựa vào đường biện, những đường biên cần được gán nhãn và được phù hợp với mô hình khuôn mặt được sắp xếp để có thể giúp chúng ta xác minh sự đúng đắn của việc phát hiện đó Người ta có thể thiết lập sự gán nhãn biên đó bằng các sử dụng mặt. .. có thể phát hiện đựoc da người, Khi xây dựng hay mô hình hóa một hệ thống phát hiện hay phân tách vùng màu da với mục đích sử dụng cho việc phát hiện mặt người, người ta thường đặt 32 ra ba vấn đề chính [7] Thứ nhất là mô hình đó được xây dựng trong không gian màu nào, thứ hai là hàm phân phối của màu da được mô hình hóa chính xác đến mức độ nào và cuối cùng là sẽ xử lý vùng màu da được phân vùng cho... dữa vào thông tin hình ảnh được chia làm ba hướng nghiên cứu con chính đó là phương pháp không gian con tuyến tính, phương pháp dựa vào mạng neural và phương pháp thống kê 1.4.2.1 Phương pháp không gian con tuyến tính (Linear Subspace Methods) Hình ảnh của khuôn mặt con người nằm trên một không gian con của toàn bộ không gian hình ảnh Để thể hiện không gian con này, người ta có thể sử dụng phương pháp. .. mẫu màu của da từ các loài khác nhau Phân phối Gaussian được đặc trưng bởi vector trung bình µ và ma trận hiệp phương sai ∑ Màu của điểm ảnh từ ảnh đầu vào có thể được so sánh với màu da của mô hình bằng cách tính hệ số khoảng cách Mahalanobis Hệ số này sẽ cho biết độ tương đồng của màu pixel với màu da của mô hình 14 Một ưu điểm của mô hình màu dựa vào phương pháp thống kê đó là sự sai khác về màu. .. khuôn mặt Thay vì khuôn mặt eigen, họ tạo ra hình chiếu eigen và kết hợp với 26 kĩ thuật xử lí hình ảnh tiêu chuẩn Họ ghi nhận tỉ lệ dò là 92% trên tập hợp 129 hình ảnh (66 hình ảnh khuôn mặt thực và 63 hình ảnh thông thường), trong đó khuôn mặt chiếm hầu hết hình ảnh 1.4.2.2 Phương pháp dựa vào mạng Neural Mạng neural đã trở thành một kỹ thuật phổ biến trong vấn đề nhận dạng khuôn mặt và tất nhiên là