Tài liệu Đề tài 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: 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ừ ý ...
124 trang |
Chia sẻ: hunglv | Lượt xem: 1118 | Lượt tải: 2
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài 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, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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 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.
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ử.
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.
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 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.
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.
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.
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]:
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)
Phương pháp tiệp cận dựa trên đặc trưng của khuôn mặt được chia thành ba vấn đề. Giả sử cần phải phát hiện một khuôn mặt trong một nền ảnh lộn xộn, phân tích mức thấp (low-level analysis) thực hiện phân đoạn các đặc trưng của ảnh dựa trên những thuộc tính của điểm ảnh như độ xám hay màu sắc. Sự phân đoạn lúc này còn mập mờ và chưa rõ ràng. Vấn đề thứ hai là phân tích đặc trưng, các đặc trưng của ảnh được tổ chức thành các đặc trưng khuôn mặt có tính tổng quát hơn dựa trên đặc tính hình học của khuôn mặt. Sau giai đoạn này, tính mập mờ của các đặc trưng của ảnh đã được giảm bớt, đồng thời, vị trí khuôn mặt cùng với các đặc trưng khuôn mặt đã được xác định. Tiếp theo sẽ là việc sử dụng mô hình hình dạng (active shape models). Những mô hình này bao gồm từ mô hình dạng rắn (snakes - được đề xuất vào những năm 80) cho tới mô hình phân tán điểm (PDM – Point Distributed Model) được đề xuất vào những năm gần đây để trích chọn đặc trưng có sự biến động phức tạp như mắt, môi,…
1.4.1.1 Phân tích mức thấp (Low-level analysis)
Người ta gọi là phân tích mức thấp vì việc phân tích ở đây là phân tích dựa trên các đặc trưng rất cơ bản và mang tính trực quan, những đặc trưng đó bao gồm biên ảnh, thông tin đa mức xám, màu sắc, chuyển động, tính đối xứng của khuôn mặt.
1.4.1.1.1 Biên ảnh (Edges)
Đây là một đặc trưng cơ bản nhất trong các ứng dụng về xử lý ảnh, sử dụng biên để phát hiện khuôn mặt được thực hiện đầu tiên bởi Sakai. Dựa trên việc phân tích các đường ảnh của khuôn mặt, với mục đích là định vị những đặc điểm trên khuôn mặt. Một mô hình được đề xuất để tìm ra những đường nét của mặt người. Công việc tìm ra hình dáng của mặt người được triển khai bao gồm một đường cong bám sát vào khuôn mặt với một độ cong xác định và ràng buộc để tránh sự ảnh hưởng của các nhiễu biên. Những đặc tính của đương trong hình dáng của đầu người sau đó được đưa ra để phân tích đặc trưng sử dụng độ 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 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 ta đã kiểm thử 60 ảnh có nền phức tạp bao gồm 90 khuôn mặt thì thấy khả năng hệ thống có thể phát hiện chính xác là 76% với mức độ trung bình là sai 2 mặt lỗi / ảnh.
1.4.1.1.2 Thông tin đa mức xám (Grayscale Information)
Bên cạnh đường biên, thì thông tin về mức xám trong khuôn mặt cũng có thể được xem như là một đặc trưng. Những đặc trưng khuôn mặt như là lông mày, động tử hay, môi thương xuất hiện với mức xám lớn hơn những thành phần phụ cận bao quanh chúng. Tính chất này có thể được khai thác để phân biệt các thành phần khác nhau của khuôn mặt. Những thuật toán trích chọn đặc trưng khuôn mặt gần đây thường dựa vào mức xám nhỏ nhất trong một vùng khuôn mặt. Trong những thuật toán này, bức ảnh đầu vào đầu tiên được cải thiển bằng viêc làm tăng độ tương phản và biến hình mức xám (gray-scale morphological) để có thể tăng độ tối của những vùng nói trên, từ đó việc nhân biết sẽ dễ dàng hơn. Những vùng tối này được trích chọn bằng phép lấy ngưỡng dưới. Bên cạnh đó, người ta đã tiến hành xây dựng hệ thống tự động tìm kiếm các vùng tối thuộc mặt thông qua sự phân tích về màu sắc. Hệ thống sử dụng một mẫu mắt gán trọng số để xác định cac vị trí có thẻ có của cặp mắt.
1.4.1.1.3 Màu (color)
Trong khi thông tin về mức xám được xem là một đặc trưng cơ bản của ảnh, màu sắc có ý nghĩa nhiều trong việc nhận biết sự xuất hiện của đối tượng. Một trong những không gian màu được biết đến rỗng rãi nhất đó là không gian RGB, đó là không gian mà mỗi màu được đĩnh nghĩa bởi sự kết hợp của ba thành phần màu là Red, Green và Blue. Do đó sự thanh đổi chủ yếu trong màu sắc của da đó là do sự thay đổi về độ chói, thông thường các màu RGB được coi trọng hơn, do đó, ảnh hưởng của độ chói có thể được lọc bỏ. Người ta có thể chuẩn hóa các thành phần màu từ RGB thành rgb như sau:
(I.2)
Từ hệ thức trên chúng ta có thể thấy rằng r+g+b = 1. Việc chuẩn hóa màu này có ý nghĩa là, chỉ cần viết hai trong số ba giá trị trên là chúng ta có thể tìm ra giá trị còn lại. Trong việc phân tích màu sắc của da, một biểu đổ màu dựa vào r và g chỉ ra rằng màu của khuôn mặt tập trung thành một cụm nhỏ trong biểu đồ mức xám. Để so sánh thông tin màu của một pixel với giá trị của r và g trong cụm trên, và từ đó tạo ra khả năng các pixel thuộc vùng da của mặt có thể được tìm ra.
Bên cạnh mô hình RGB, chúng ta còn có một vài mô hình màu khác được sử dụng trong việc nghiên cứu vấn đề nhận dạng mặt người. Mô hình HIS là một ví dụ, mô hình này có những ưu điểm so với các mô hình khác trong việc mang lại sự phân biệt rõ ràng giữa các cụm màu của các đặc trưng khuôn mặt. Do đó mô hình này thường được sử dụng cho công việc trích chọn đặc trưng của khuôn mặt như môi, mắt, lông mày. Do việc này có quan hệ chặt chẽ với việc cảm thụ màu sắc ở con người, nó cũng được sử dụng phổ biến trong các sơ đồ phần vùng khuôn mặt.
Một mô hình khác được biết đến trong việc áp dụng để nhận dạng khuôn mặt đó là mô hình YIQ. Để chuyển đổi từ không gian màu RGB sang không gian YIQ, chúng ta thấy có thành phần I, đó là khoảng màu từ cam (orange) -> xanh lơ (Cyan), giống như khoảng màu của da người châu á. Việc chuyển đổi này cũng ảnh hưởng tới việc triệt tiêu nền các màu khác và cho phép nhận biết những khuôn mặt nhỏ trong một môi trường tự nhiên. Các mô hình màu khác cũng được áp dụng cho việc nhận biết mặt người còn có HSV, YES, YCrCb, YUV, CIE-xyz, L*u*v, CSN và UCS(Farnsworth).
Việc phân vùng màu có thể được thực hiện bằng việc sử dụng các ngưỡng xấp xỉ màu khi màu da được mô hình hóa thông qua biểu đồ mức xám. Phương pháp phức tạp hơn đó là sử dụng phương pháp tính toán thống kê, sự thay đổi khuôn mặt của mô hình là trong một phổ rộng. Người ta đã tiến hành sử dụng phân phối Gaussian để tập hợp hàng ngàn 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.
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 của những đối tượng mới có thể được phù hợp vào mô hình bằng phương pháp huấn luyện. Sử dụng phương pháp này, sự nhận biết màu có thể sẽ hiệu quả hơn, chống lại sự thay đổi của các nhân tố môi trường như là điều kiện chiếu sáng và đặc tính riêng của máy ảnh.
1.4.1.1.4 Chuyển động
Nếu như chúng ta phát hiện khuôn mặt cho video, khi đó thông tin về sự chuyển động, cử chỉ, dáng điệu có ý nghĩa rất lớn trong việc xác định đối tượng chuyển động. Các chuyển động liên tục kế nhau được phân chia bằng việc phân tích các frame khác nhau. Hướng tiếp cận này, nói chúng là khá đơn giản, được hộ trợ để phân biệt một chuyển động cận cảnh và có hiệu quả không phụ thuộc điều kiện nội dung bối cảnh. Bên cạnh vùng mặt, người ta còn tiến hành thực hiện trên nhiều frame khác nhau để định vị các đặc trưng của khuôn mặt. Như là trạng thái của đôi mắt bằng cách tính toán độ lớn về chiều ngang và chiều dọc giữa những vùng liên tiếp nhận được trong các frame khác nhau.
Một cách khác để có thể tính toán các chuyển động trực quan đó là thông qua việc ước lượng sự chuyển động của các đường viền của ảnh. So sánh các frame khác nhau, kết quả có được từ sự chuyển động của các đường viền là có thể tin cậy, đặc biệt là khi chuyển động đó là không quan trọng. Một bộ lọc Gaussian có tính không gian và thời gian được sử dụng bởi hệ thống McKenna để phát hiện chuyển động của vùng bao khuôn mặt cũng như vùng bao toàn bộ cơ thể con người. Tiến trình này yêu cầu giá trị mức xám của ảnh I(x,y) với một toán tử biên phụ thưộc thời gian m(x,y,t) được định nghĩa từ bộ lọc Gaussian G(x,y,t) như sau:
(I.3)
Trong đó u là hệ số thời gian, a là độ rộng bộ lọc. Toán tử biên phụ thuộc thời gian sau đó được nhân chập với các frame của ảnh theo bởi công thức:
(I.4)
Kết quả của tiến trình xử lý miền thời gian này S(x,y,t) sẽ cho ta một chỉ số trực tiếp của sự chuyển động biên trong I(x,y,t).
Mặc dù phương pháp này miêu tả việc nhận biết biên và vùng chuyển động, nhưng chúng cũng cho phép chúng ta tin vào sự chính xác của việc ước lượng tốc độ của chuyển động luồng sáng hay còn gọi là luồng quang (optical flow). Bởi vì việc ước lượg này dựa trên các mẫu chuyển động trong một khoảng ngắn, và có cảm giác như chuyển động đó là rất trơn và mịn. Dựa vào thông tin của chuyển động, khuôn mặt chuyển động trong ảnh tuần tự được phân vùng. Luồng quang được mô hình bởi luồng ảnh với phương trình ràng buộc sau đây:
(I.5)
Trong đó, Ix, Iy và It là các đạo hàm miền thời gian của cường độ ảnh và Vx và Vy là tốc độ chuyển ảnh. Để giải phương trình trên cho Vx, Vy, một vùng bao gồm các điểm ảnh chuyển động theo một quỹ đạo được ghi nhận. Những vùng đáp ứng tới những quỹ đạo chuyển động khác nhau được phân lớp trong vùng chuyển động và vùng không chuyển động.
1.4.1.1.5 Tiểu chuẩn suy rộng (Generalized Measure)
Những đặc trưng trực quan như đường biên, màu sắc hay chuyển động là giai đoạn đầu tiên trong hệ thống quan trắc con người. Quá trình này cho phép những thông tin trực quan được tổ chức lại thành những nhóm hoạt động mức cao. Dựa vào việc quan sát, Reisfeld đã đề xuất rằng một hệ thống quan sát bằng máy nên được bắt đầu với việc tính toán mức thấp ở giai đoạn tiền tập trùng các tính chất ảnh được tổng hợp. Ban đầu, Reisfeld và Yeshurun đã giới thiệu một toán tử đối xứng tổng quát dựa vò toán tử điểm biển. Do những đặc trưng của khuôn mặt có tính đối xứng một cách tự nhiên. Khi thực hiện, toán tử đối xứng này sẽ tính toán và gán cho mỗi điểm ảnh một cường độ gọi là cường độ điểm ảnh dựa trên mức độ ảnh hưởng của vùng bao điểm dó. Cường độ đối xứng đó , Mσ(p), cho mỗi điểm ảnh được xác định bằng:
(I.6)
Trong đó, C(i,j) là mức độ ảnh hưởng của vùng biên điểm i,j (của pixel) trong tập các pixel được đĩnh nghĩa bởi Г(p). Nó được xác định theo công thức:
(I.7)
Trong đó, D(i,j) là hàm hệ số độ dài, P(i,j) là hàm hệ số phase, ri và rj được xác định theo công thức dưới đây:
(I.8)
Trong đó pk chỉ điểm (xk, yk) với k = 1…K, là gradient của cường độ tại điểm pk,αij là góc theo chiều ngược kim đồng hồ giữa đường thằng qua pi và pj so với mặt ngang. Hình dưới đây miêu tả một ví dụ về cách tính Mσ(p) từ gradient của mătj trước ảnh mặt người. Cường độ đối xứng được tham chiếu một cách rõ ràng thể hiện sự định vị các đặc trưng của khuôn mặt như là mắt và miệng.
1.4.1.2 Phân tích đặc trưng (Feature analysis)
Những đặc trưng được tạo ra từ quá trình phân tích mức thấp thực ra là không rõ ràng. Quả vậy, trong việc định vị vùng mặt sử dụng mô hình màu da, các đối tượng có cùng màu nền tương tự như màu da có thể cũng được nhận biết. Điều này có thể được giải quyết bằng việc phân tích mức cao. Trong nhiều kỹ thuật nhận biết khuôn mặt, những tích lũy hiểu biết hình thái về khuôn mặt đó sẽ được áp dụng để có thể đặc tính hóa và để xác minh lại những đặc trưng đó từ những trạng thái mập mờ. Có hai hướng tiếp cận trong ứng dụng về hình thái khuônn mặt. Hướng tiếp cận đầu tiên liên quan đến chiến lược truy tìm đặc trưng dựa vào mối quan hệ về vị trí dựa các đặc trưng. Những đặc trưng được nhận biết nhờ các đặc trưng đã tồn tại. Kỹ thuật thứ hai đó sử dụng kỹ thuật nhóm đặc trưng thnàh các “chòm sao” bằng cách sử dụng một số mô hình khuôn mặt khác nhau.
14.1.2.1 Tìm kiếm đặc trưng
Việc truy tìm các đặc trưng của khuôn mặt là truy tìm các đặc trưng nổi bật của khuôn mặt bằng cách dựa vào hình thái của chúng. Việc truy tìm này dựa vào mối quan hệ dựa các đặc trưng đó về khoảng cách hình học, vị trị trong khuôn mặt.
Nhiều thuật toán, mô hình đã được xây dựng cho công việc này. De Silva là một thuật toán tiêu biểu. Mô hình của Jeng cũng là hệ thống phát hiện đặc trưng được biết đến rỗng rãi. Trong hệ thống này, việc khởi tạo sẽ được xác định bằng việc định vị vị trí của đôi mắt trong bức ảnh. Từ việc xác định đôi mắt, quá trình sẽ truy tìm các đặc trưng khác như mũi, miệng và động tử. Mỗi đặc trưng sau khi truy tìm đều thiết lập các hàm quan hệ với các đặc trưng khác, điều này giúp cho việc xác định khuôn mặt có thể tin cậy hơn, các hàm quan hệ này chính là các hệ số được miêu tả như trong đẳng thức dưới dây:
(I.9)
Bên cạnh đó, nhiều hệ thống truy tìm đặc trưng cũng được đề xuất như hệ thống GAZE của Herpers dựa vào sự chuyển động của mắt trong hệ thống trực quan con người HVS. Điểm cốt yếu của hệ thống là thuật toán định vị các đặc trưng nổi bạt. Một thuật toán đa mức sử dụng bộ lọc đa hướng Gaussian.
1.4.1.2.2 Phân tích “chòm sao”
Một vài thuật toán đề cập đến trong phần trên có độ tin cậy phụ thuộc vào mức đột đúng đắn về thông tin được tìm ra từ các tập mô hình ảnh mặt với dưới những điều kiện cố định. Nếu như khi điều kiện đó không còn thỏa mãn, như là định vị khuôn mặt trong một bối cảnh phức tạp, nhiều thuật toán có thể không còn chính xác. Vì vậy vấn đê đặt ra là làm thế nào để chúng ta có thể nhóm các đặc trưng khuôn mặt đó lại thành từng chùm với những tham số đại diễn chung nhất, phản ánh được hết các trường hợp xẩy ra của các đặc trưng, bằng việc sử dụng phương pháp mô hình hóa hiệu quả như là phương pháp phân tích thống kê.
Nhiều phương pháp nhóm thành các “chòm sao” được đề xuất. Trong đó nổi bật là phương pháp sử dụng lý thuyết độ nét thống kê từ bộ lọc đa cấp Gaussian. Một mô hình thống kê trong miền không gian của các đặc trưng khuôn mặt cho phép phát hiện một cách linh hoạt hơn. Thuật toán hộ trợ việc quản lý sự thiếu hụt đặc trưng cũng như cho phép sử dụng các hệ số mở rộng. Mức độ thành công của mô hình này là 84% khi nghiên cứu tập 150 bức ảnh. Việc phát hiện sai được xác định là do hệ số phụ thuộc của đặc trưng đầu.
Mô hình thống kê cho ảnh có sự xuất hiện nhiều khuôn mặt cũng được đề xuất, trong mô hình này, các khuôn mặt được phân lớp thành từng nhóm với những đặc trưng chung nhất. Những nhóm này lại được phân lớp tiếp trong các thành phần đặc trưng khuôn mặt. Sau khi đặc trưng này nhận được từ việc xử lý mức thấp. Việc nhóm đặc trưng này có tác dụng giảm bớt sai số đặc trưng sinh ra do ảnh hưởng của bối cảnh hỗn tạp. Một mạng theo luật Bayesian sẽ được hỗ trợ kết hợp với việc phát hiện riêng cho từng nhóm đặc trưng để có thể chắc chắn rằng giả thuyết về sự đúng đắn của khuôn mặt có được sự tin cậy với mức độ cao.
Hệ thống sử dụng phương pháp này nổi tiếng nhất là hệ thống của Maio và Maltoni. Trong hệ thống này ảnh đầu vào được chuyển đổi trực tiếp bằng cách sử dụng một toán tử gradient có cửa sổ 7*7. Từ ảnh chuyển đổi trực tiếp này, người ta áp dụng hai giai đoạn nhận biết khuôn mặt. Ảnh được nhận biết sẽ được khoanh vùng trong một hình ellipse. Hệ thống của Maio và Maltoni là hệ thống thời gian thực với mức độ phát hiện khi test là 69/70 bức ảnh mà không bị một lỗi nào.
1.4.1.3 Các mô hình hình dạng tích cực (Active shape models)
Đây là mô hình thời gian thực hiệu quả và là thành tựu quan trọng của hướng tiếp cận dựa vào phân tích đặc trưng. Mô hình dựa vào tính chất vật lý thật sự và sự xuất hiện mức cao của các đặc trưng. Mô hình ASM tương tác với các đặc trưng ảnh cục bộ (biên, độ sáng) và dần dần làm biến dạng độ nét của đặc trưng đó. Co ba dạng của mô hình ASM đang được nghiên cứu. Đầu tiên là mô hình sử dụng một đường đi kích hoạt (active contour) gọi là snakes (dạng con rắn). Mô hình thứ hai là mô hình dữa vào các dạng mẫu biến đổi (deformable templates) cho phép thực hiện hiệu quả hơn mô hình snakes. Mô hình thứ ba là mô hình Smart snakes (con rắn hoạt thông minh) và PDM (mô hình phân bố điểm). Mô hình này dựa trên tập các điểm được gán nhãn và chỉ cho phép biến đổi theo một vài hình dạng dựa trên quá trình học.
1.4.1.3.1 Mô hình dạng con rắn (Snake)
Được sử dụng để xác định đường bao của đầu. Để thực hiện việc này, một con rắn ban đầu được khởi tạo tại một vùng lân cận xung quanh vùng biên đầu. Sau đó co dần về phía các đường biên và đưa ra hình dạng giả định của vùng đầu. Sự tiến hóa của con rắn đựoc thực hiện thông qua việc cực tiểu hóa một hàm năng lượng dạng Esnake (tương tự như trong vật lý) và được biểu diễn như sau:
Esnake = Ebên trong + Ebên ngoài (I.10)
Trong đó Ebên trong và Ebên ngoài lần lượt là các hàm năng lượng bên trong và bên ngoài. Năng lượng bên trong là phần năng lượng phụ thuộc và các thuộc tính bản chất của con rắn và tạo nên sự tiến hóa tự nhiên của đường biên động. Các tiến hóa tự nhiên và điển hình của con rắn là sự co ngắn và sự mở rộng. Trong khi đó, năng lượng bên ngoài có khuynh hướng chống lại năng lượng bên trong và làm cho các đường biên động sai lệch so với tiến hóa tự nhiên thậm chí thừa nhận hình dạng của các đặc tính gần nhất là hình dạng của vùng đầu khi ở trạng thái cân bằng.
Hai vấn đề chính cần quan tâm trong việc áp dụng mô hình con rắn là lựa chọn cách tính năng lượng chính xác và kỹ thuật cực tiểu hóa hăng lượng. Năng lượng Elastic được sử dụng phổ biến như là năng lượng bên trong. Khoảng cách giữa các điểm điều khiển trên đường biên động được cân đối và do đó đem lại cho đường biên đặc tính giống như sợi dây cao su có thể co hoặc dãn. Vấn đề năng lượng bên ngoài được xem xét dựa vào kiểu dạng của đặc trưng ảnh được xem xét. Có thể tính năng lượng này theo các thông số gradient. Và theo cáchnày, các đường biên động thường hội tụ về phía các vị trí biện. Bên cạnh các thông số về gradient, mộ số cách tính năng lượng bên ngoài khác còn bao gồm cả các hàm liên tục liên quan đến màu da trong đó hấp dẫn các con rắn về phía các vùng mặt.
Mặc dù phương pháp con rắn một cách tổng quát có thể xác định đựoc các đường bao quanh các vùng đặc trưng nhưng việc triển khai phương pháp vẫn bị cản trở bởi hai vấn đề. Thứ nhất là các phần của con rắn hay bị bẫy vào các vùng đặc trưng ảnh không đúng. Thứ hai là phương pháp con rắn không thực sự hiệu quả trong xác định các đặc trưng không lồi (đặc trưng xuất hiện nổi bật) do xu hướng tiến tới cực tiểu độ cong của con rắn.
1.4.1.3.2 Dạng mẫu có thể biến đổi (Deformable templates)
Xác định đường bao của một vùng đặc trưng khuôn mặt không phải là một vấn đề dễ giải quyết bởi vì các dấu hiệu cục bộ của các đường biên mặt khó có thể đựoc tổ chức thành các thự thể tổng thể nhận biết thông qua các đương biên. Độ tương phản thấp về độ sáng xung quanh một số vùng đặc trưng ảnh cũng làm cho quá trình do tìm biên khó thực hiện. Yuille và cộng sự đã mở rộng khái niệm con rắn thông qua việc kết hợp các thông tin tổng thể về cặp mắt để nâng cao độ tin cậy của quá trình trích chọn đặc trưng. Một mẫu có thể thay đổi của mắt dựa trên các đặc trưng nổi bật của chúng được tham số hóa sử dụng 11 tham số. Hoạt động theo nguyên tắc giống như con rắn, một mẫu nếu được khởi đầu gần với các đặc trưng mắt sẽ tự biến đổi hướng tới đường bao đặc trưng tối ưu. Cơ chế biến đổi liên quan đến phương pháp cực tiểu hóa giảm gradient dốc nhất của tổ hợp năng lượng ngoài do các vùng trũng, đường biên, đỉnh và độ sáng của ảnh (Ev, Ee, Ep, Ei) được tính theo công thức:
E = Ev+ Ee+ Ep+ Ei + Ebên trong (I.11)
Tất cả các biểu thức năng lượng trên được biểu diễn bằng một tích phân sử dụng các thuộc tính mẫu như diễn tích và độ dài của đường tròn và đường parabol.
Có thể thấy rằng, chiến lược đối sánh mẫu là cố định, do đó vị trí khởi đầu của các mẫu sẽ ảnh hưởng nhiều đến quá trình tiến hóa. Người ta đã chỉ ra rằng, nếu mẫu được khởi đâu tại trên mắt thì nó sẽ bị hấp dẫn bởi lông mày thay vì cặp mắt. Ngoài ra, thời gian xử lý cũng sẽ rất lớn trong quá trình thực hiện cực tiểu hóa. Vì vậy những nghiên cứu gần đầy tập trung vào việc giảm thời gian thực hiện, thay đổi các mẫu và biểu thức năng lượng. Trong một phát triển gần đây, Lam và Yan sử dụng các thông tin về góc mắt để đánh giá các tham số khởi đầu của mô hình mẫu mắt. Sự gia tăng về thông tin làm cho phép so sánh mẫu sẽ chính xác, tin cậy hơn. Thời gian để mẫu đạt được vị trí tối ưu cũng đã giảm đến 40% (so sánh với mẫu ban đầu). Bên cạnh mẫu mắt, các mẫu miệng cũng được sử dụng với cùng một chiến lược.
1.4.1.3.3 Mô hình phân phối điểm (PDM – Point Distributed Models)
Là một mô hình mô tả tham số hóa tối ưu của hình dạng dựa trên phưong pháp thống kê. Kiến trúc của quá trình so khớp của PDM khác với các mô hình hình dạng động khác. Các đương biên đọng của PDM được rời rạc hóa thành các tập điểm được đánh nhãn. Sự biến đổi của các tập điểm này trước hết được tham số hóa thông qua các tập mẫu học.chứa các đối tượng có hình dạng và tư thé khác nhau. Sử dụng phương pháp phân tích thành phần chính PCA, sự biến đổi của các đặc trưng trong tập mẫu học được xây dựng thành một mô hình linh động tuyến tính. Mô hình đựoc cấu thành từ trung bình của tất cả các đặc trưng trong tập hợp và mô hình cơ bản của sự biến đổi từng điểm ảnh: x = xtb + Pv (I.12)
Trong đó, x biểu diễn một điểm trong PDM và xtb là đặc tính trung bình trong tập mẫu đối với điểm đó, P = [p1, p2, …, pt ] là ma trận chưa t vector biến đổi quan tọng nhất của ma trận hiệp phương sai, còn v là vector trọng số.
Mô hình PDM đầu tiên đựoc phát triển bới Lanitis và cộng sự. Mô hình minh họa dáng vẻ tổng thể của khuôn mặt bao gồm đặc tính như lông mày, mũi, mắt. Sử dụng 152 điểm điều khiển được chọn bằng tay và 160 ảnh mặt mẫu, một mô hình PDM được xây dựng. Chỉ sử dụng 16 trọng số, mô hình có thể xấp xỉ được 95% các hình dạng khuôn mặt trong tập mẫu. Để so khớp một môhnhf PDM với một mặt, mô hình hình dạng trung bình (với điểm đánh nhãn là xtb) đầu tiên được đặt gần mặt. Sau đó các chiến lược tìm kiếm trên mức xám cục bộ được sử dụng để đưa từng điểm hướng đến điểm tưng ứng thuộc đường bao. Trong suốt quá trình biến đổi này, hình dạng chỉ được phép thay đổi theo một cách phù hợp với các thông tin đựoc mô hình hóa trong tập mẫu.
Ưu điểm cua PDM là sử dụng mô hình khuôn mặt với các tham số tối ưu. Đặc tính tổng thể của mô hình cũng cho phép tất cả các đặc trưng được xác định song song với nhau và do đó giảm bớt đựoc yêu cầu phải tìm kiếm lần lượt các đặc trưng. Hơn nữ, sự thiếu vắng một đặc trưng nào đó không phảilà một vấn đề nghiêm trọng khi mà đến các đặc trưng khác trong mô hình vẫn có thể đạt tới một giải pháp tối ưu toàn thể.
1.4.2 Hướng tiếp cận dựa trên thông tin xuất hiện trong ảnh (Image-based approach)
Hạn chế của hướng tiếp cận dựa vào đặc trưng của hình ảnh đó là khả năng nhận biết nhiều khuôn mặt trong một bức ảnh có bối cảnh phức tạp là không cao cho dù đã có nhiều nỗ lực cải tiến và nâng cao chất lượng dò tìm. Điều đó đòi hỏi một phương pháp mới, một hướng tiếp cận mới để giải quyết vấn đề này. Và hướng tiếp cận dựa vào thông tin hình ảnh là hướng tiếp cận có thể đáp ứng nhu cầu đó.
Hầu hết các phương pháp trong hướng tiếp cận này đều sử dụng chung một kỹ thuật đó la kỹ thuật quét cửa sổ hay còn gọi là kỹ thuật quét khung nhìn để nhận biết khuôn mặt. Thuật toán quét cửa sổ sẽ dò tìm trong ảnh đầu vào tất cả các khuôn mặt có thể có trong ảnh. Kích thước của cửa sổ, hệ số lấy mẫu, kích thước của bước quét phụthuộc vào mục đích của phương pháp cũng như hiệu năng của hệ thống.
Nhận biết khuôn mặt 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 về thần kinh, tuy nhiên vẫn có vài phương pháp có liên quan chặt chẽ hơn với phân tích thống kê độ biến thiên tiêu chuẩn cái mà có thể ứng dụng được. Các kĩ thuật trong phương pháp này bao gồm phân tích thành phần chính (PCA principal component analysis), phân tích biệt số tuyến tính (LDA), và phân tích hệ số (FA).
Vào cuối những năm 80, Sirovich và Kirby phát triển một kĩ thuật sử dụng PCA để thể hiện hiêụ quả khuôn mặt con người. Đưa ra sự giống nhau giữa nhiều hình ảnh khuôn mặt khác nhau, kĩ thuật này đầu tiên tìm ra những thành phần cơ bản của sự phân bố trên khuôn mặt, thể hiện bằng eigenvectors của ma trận các biến của bố cục. Từng khuôn mặt trong một tập hợp các khuôn mặt sau đó có thể tính xấp xỉ bằng sự kết hợp tuyến tính giữa những eigenvector lớn nhất, được biết tới như eigenfaces.
Turk và Pentland sau đó đã mở rộng kĩ thuật này cho nhận dạng khuôn mặt. Cách thức của họ khai thác tính tự nhiên căn bản của eigenfaces trên định dạng khuôn mặt. Bởi vì sự tái tạo khuôn mặt bằng các thành phần cơ bản của nó chỉ là sự gần đúng, sai số còn dư được định nghĩa trong giải thuật như sự đo lường sơ bộ của mặt. Sai số còn dư này cho ta dấu hiệu tốt của sự tồn taị của khuôn mặt thông qua quan sát mức tối thiểu chung trên bản đồ khoảng cách.
Gần đây hơn, Moghaddam và Pentland đã phát triển xa hơn kĩ thuật này trong phạm vi xác suất. Khi sử dụng PCA để định dạng, người ta thường bỏ đi phần bù trực giao của không gian khuôn mặt (như đã đề cập trước đó). Moghaddam và Pentland phat hiện ra rằng điều này dẫn tới giả thiết không gian khuôn mặt có mật độ không đổi, do đó họ mở rộng máy dò sự giống nhau tới cực đại, dùng cả không gian khuôn mặt và phần bù trực giao của nó để xử lí mật độ bất kì. Họ ghi nhận tỉ lệ định dạng là 95% trên tập hợp của 7000 hình ảnh khuôn mặt khi định dạng mắt trái. So sánh với máy dò DFFS thì tốt hơn rất nhiều. Khi dò đầu của 2000 hình ả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. Thay vì khuôn mặt eigen, họ tạo ra hình chiếu eigen và kết hợp với 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à trong cả nhận biết khuôn mặt. Mạng neural ngày nay đã có nhiều thay đổi so với sơ khai đơn giản MLP của nó.
Hệ thống dò tìm khuôn mặt thực hiện qua bốn bước chính [6]:
Ước lượng vị trí: việc dùng tiếp cận máy học, cụ thể là mạng neural, đòi hỏi việc huấn luyện mẫu. Để giảm số lượng biến đổi trong ảnh huấn luyện dương, ảnh được canh biên với các ảnh khác để cực tiểu hoá các biến đổi vị trí đặc trưng khuôn mặt. Khi thi hành chương trình, ta không biết chính xác các vị trí đặc trưng khuôn mặt, do đó không thể dùng chúng để định vị các ứng viên khuôn mặt tiềm năng. Thay vậy, ta dò tìm toàn diện ở mọi vị trí và tỷ lệ để tìm mọi vị trí ứng viên. Các cải tiến dò tìm toàn diện làm cho thuật toán nhanh hơn, với tỷ lệ dò tìm giảm 10% đến 30%.
Tiền xử lý: Để giảm các biến đổi gây ra do chiếu sáng hay camera, ảnh được tiền xử lý với các thuật toán chuẩn như cân bằng lược đồ để cải thiện độ sáng và độ tương phản trong ảnh.
Dò tìm: Các khuôn mặt tiềm năng đã chuẩn hoá về vị trí, tư thế, và độ sáng trong hai bước đầu tiên được khảo sát để xác định chúng có thực sự là khuôn mặt hay không. Quyết định này được thực hiện bằng mạng neural đã huấn luyện với nhiều ảnh mẫu khuôn mặt và không khuôn mặt.
Quyết định: Kết hợp nhiều mạng để có được một quyết định khách quan nhất. Mỗi mạng học những điều khác nhau từ dữ liệu huấn luyện, và đưa ra các lỗi khác nhau. Các quyết định của chúng có thể kết hợp dùng một số heuristic đơn giản, làm tăng độ chính xác dò tìm khuôn mặt và ngăn chặn lỗi.
Hình 2: Hệ thống Rowley
Hình 3: Sở đồ luồng xử lý các bước chính trong phát hiện khuôn mặt
Sơ đồ trên là thuật toán dò tìm khuôn mặt thẳng trong ảnh xám, bằng cách sử dụng mạng noron. Thuật toán thực hiện bằng cách áp dụng một hay nhiều mạng neural trực tiếp với các phần của ảnh đầu vào, và phân xử các kết qủa của chúng. Mỗi mạng được huấn luyện để kết xuất một kết quả là có hay không có khuôn mặt.
Huấn luyện mạng neural để dò tìm khuôn mặt là một công việc đầy thách thức, vì khó khăn trong việc biểu thị các ảnh “không khuôn mặt”. Không như việc nhận dạng khuôn mặt, trong đó các lớp phân biệt là các khuôn mặt khác nhau. Hai lớp gọi là phân biệt trong dò tìm khuôn mặt là “ảnh có chứa khuôn mặt” và “ảnh không chứa khuôn mặt”. Dễ dàng lấy được mẫu ảnh chứa khuôn mặt điển hình, nhưng việc lấy mẫu ảnh không chứa khuôn mặt điển hình khó hơn rất nhiều. Ta tránh việc dùng tập huấn luyện có kích thước lớn để biểu diễn không khuôn mặt bằng việc chọn thêm ảnh vào tập huấn luyện khi tiến hành huấn luyện. Phương pháp “bootstrap” nhằm giảm kích thước của tập huấn luyện cần thiết. Việc dùng cách thức 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 thông tin, lý thuyết về SVM (Support Vector Machine) và các luật xác suất của Bayes.
SVM là phương pháp do Vladimir N. Vapnik đề xuất năm 1995. SVM dựa trên lý thuyết thống kê và ngày càng được sử dụng phổ biến trong nhiều lĩnh vực, đặc biệt là trong lĩnh vực phân loại mẫu và nhận dạng mẫu. Đồng thời phương pháp này có nhiều tính năng ưu việt so với các phương pháp cổ điển khác như dễ dàng xử lý, xử lý có tính ổn định cao trên dữ liệu phức tạp, có thể có số chiều lớn và quan trọng hơn cả là khả năng xử lý tổng quát.
Phưong pháp tìm kiếm khuôn mặt dựa trên mô hình Markov ẩn cũng là một trong các hướng nghiên cứu được chú trọng. Mô hình Markov ẩn là một tập các mô hình thống kê được sử dụng để mô tả các đặc tính thống kê của tín hiệu. Lý thuyết về chuỗi Markov và mô hình Markov đã được nghiên cứu sâu rộng và áp dụng nhiều trong lý thuyết nhận dạng như nhận dạng tiếng nói, chữ viết. Samarie và cộng sự, Netfian và cộng dự là hai nhóm nghiên cứu hàng đầu trong việc áp dụng mô hình Markov ẩn vào tìm kiếm và nhận dạng mặt người.
1.4.4 Kết luận
Nhận biết mặt người là một lĩnh vực đang thu hút nhiều sự quan tâm của các nhà nghiên cứu. Ngày càng có nhiều thuật toán mới, hướng tiếp cận mới nhằm nâng cao chất lượng cũng như độ chính xác của hệ thống dò tìm khuôn mặt. Tuy nhiên do tính phức tạp của môi trường, không gian và bối cảnh cũng như yêu cầu về tính thời gian thực của hệ thống mà cho đến nay, vân chưa có một phương pháp nào thật sự tối ưu. Việc tìm ra phương pháp mới vẫn còn để ngỏ và có thể cần sự trợ giúp của công nghiệp máy tính, đó là sự phát triển của phần cứng, tốc độ xử lý của máy tính.
Tổng chung lại thì, nhận dạng mặt người có hai hướng tiệp cận chính, đó là hướng tiếp cận dựa vào những đặc trưng của mặt người và hướng tiếp cận dựa vào thông tin hình ảnh.
Hướng tiếp cận dựa vào những đặc trưng của mặt người được áp dụng chủ yếu khi hệ thống yêu cầu tính thời gian thực. Vì khi đó vấn đề về màu sắc và chuyển động của hình ảnh phải được quan tâm. Tuy nhiên, hướng tiếp cận này thì chất lượng phát hiện của hệ thống có thể sẽ không cao, muốn nâng cao, chúng ta phải có thêm những kỹ thuật mới bổ sung và khá phức tạp.
Hướng tiếp cận dựa vào thông tin hình ảnh là phương pháp có chất lượng và hiệu quả cao nhất, nhưng chỉ xử lý cho ảnh xám. Và các phương pháp đều sử dụng chung kỹ thuật cửa sổ đa phân giải. Chúng ta có thể không cần sử dụng cửa số quét này nếu kết hợp hướng tiếp cận trên với phương pháp dựa vào đặc tính khuôn mặt như là một bước tiền xử lý.
Ứng dụng quan trọng nhất của nhận biết khuôn mặt cho đến hiện nay có lẽ là đó là giai đoạn tiền xử lý cho hệ thống nhận dạng mặt người. Ngoài ra, vơi sự gia tăng của tài nguyên trên Internet, lý thuyết về nhận biết mặt người có thể được ứng dụng để chỉ số hoá nội dung ảnh và cở sở dữ liệu video. Ngoài ra, còn có ứng dụng trong công nghệ sinh trắc học và hội thảo truyền hình.
2. Tổng quan về các kỹ thuật nhận biết màu da dựa trên tính chất điểm ảnh
2.1 Giới thiệu
Như đã trình bày trong phần trước, dựa vào màu sắc của da người cũng là một trong những phương pháp được dùng để phát hiện mặt người. Tuy nhiên nếu chỉ đơn thuần sử dùng màu sắc không thôi thì rất khó có thể đạt được hiệu quả cao trong phát hiện mặt nguời. Vì trong các khung cảnh thì có rất nhiều vật có màu sắc tương tự như màu của khuôn mặt. Tuy nhiên nếu kết hợp phương pháp này với các phương pháp khác lại có thể mang lại hiệu quả cao. Vì 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 đó nhiều mô hình đã được xây dựng để 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 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 nhận biết mặt người như thế nào. Trong phần này, sẽ chỉ đề cập đến hai câu hỏi trên, còn việc xử lý vùng da như thế nào cho việc phát hiện mặt người, sẽ đề cập đến trong chương sau, với một phương pháp cụ thể được chọn để sử dụng cho bài đồ án này.
Phương pháp được được đề ập trong phần này là phương pháp phát hiện da người dựa trên đặc tính điểm ảnh, nghĩa là sẽ phân lớp điểm ảnh thành hai 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 cuối cùng của phần tổng quan này là thu tập các kỹ thuật đã được công bố, mô tả những ý tưởng chính của kỹ thuật đó, tổng hợp và đưa ra những ưu điểm, nhược điểm và những đặc trưng của từng kỹ thuật. Từ đó sẽ đưa ra quyết định lựa chọn kỹ thuật phù hợp dùng để phân vùng màu da áp dụng cho bài đồ án này.
2.2 Không gian màu sử dụng cho mô hình hóa màu da
Trong lĩnh vực đo màu, cũng như các lĩnh vực trong truyền tín hiệu hình ảnh và video sử dụng rất nhiều không gian màu với các tính chất khác nhau. Và trong số đó nhiều không gian màu được áp dụng cho vấn đề mô hình hóa màu da. Sau đây là tóm lược nhóm các không gian màu được sử dụng rộng rãi nhất cũng như các tính chất của chúng
2.2.1 Không gian màu RGB
RGB là không gian màu cơ bản được áp dụng từ lâu cho màn hình CRT. Trong không gian màu này, mỗi điểm màu là sự kết hợp của ba thành phần đơn màu (Đỏ - Red, Xanh lá cây- Green và xanh da trời : Blue). Đây là một trong những không gian màu được sử dụng phổ biến nhất cho việc xử lý và lưu trữ dữ liệu ảnh số. Tuy nhiên do tính tương quan cao giữa các kênh, giá trị cảm nhận không đồng nhất, sự pha trỗn giữa dữ liệu thành phần màu và dữ liệu về độ sáng mà không gian RGB không được ưa thích sử dụng cho việc phân tích màu cũng như trong các thuật toán nhận dạng dựa trên màu sắc.
2.2.2 Không gian RGB chuẩn hóa
Không gian RGB chuẩn hóa là không gian màu nhận được từ không gian RGB cơ bản theo công thức chuẩn hóa đơn giản sau đây:
(I.13)
.
Có thể dễ dàng thấy rằng, trong không gian này, r+g +b = 1. Do đó chỉ cần hai trong ba thành phần trên là đủ để biểu diễn không gian màu này, thành phần thứ ba sẽ không còn giá trị và có thể được bỏ qua, để rút ngắn được số chiều của không gian này. Hai thành phần còn lại thường được gọi là các thành phần “màu tinh khiết” (“pure colors”). Thông thường, hai thành phần r và b thường được giữ lại, còn b bị rút bỏ đi. Tính chất cần chú ý của không gian màu này đó là tính bất biến đối với của bề mặt. Nghĩa là, nếu như không quan tâm đến ánh sáng xung quanh, thì không gian chuẩn hóa RGB là bất biến đối với sự thay đổi về hướng bề mặt liên quan đến nguồn chiếu (tất nhiên là duới một vài giả thiết nhất định). Kết hợp với phép chuyển đổi đơn giản từ không gian màu RGB cơ bản mà không gian RGB chuẩn hóa này ngày càng được sử dụng rộng rãi trong nhiều lĩnh vực, trong đó có linh vực nhận dạng.
2.2.3 HIS, HSV, HSL - Độ bão hòa của màu
Không gian màu dựa trên tính bão hòa màu được giới thiệu khi có những nhu cầu trong việc xác định số lượng tính chất màu. Chúng miêu tả màu sắc với những giá trị thuộc về trực giác, dựa trên ý kiến của các họa sỹ về những trạng thái khác nhau của màu sắc, trạng thái bão hòa cũng như từng tông màu khác nhau. Hue biểu thị cho màu trỗi (như màu đỏ, màu xanh lá cây, màu đỏ tía và màu vàng) của một vùng ảnh, saturation (độ bão hòa) là thước đo cho giới mức ngưỡng màu của một vùng ảnh. Các khái niệm như “intensity” (cường độ), “lightness” (tính dịu) hay “value”(giá trị) liên quan đến độ sáng của màu. Giá trị trực giác của các thành phần trong không gian màu này và sự phân biệt rõ ràng giữa độ sáng với cá thành phần màu của không gian màu là ưu điểm mà giúp cho không gian này được sử dụng phổ biến trong vấn đề phần vùng màu da.
Công thức chuyển từ không gian RGB sang không gian này như sau:
(I.14)
Ngoài ra còn có thể tính Hue à Saturation bằng cách sử dụng hàm log cho các thành phần màu của không gian màu RGB. Phương pháp này có thể làm giảm sự độc lập của các thành phần màu theo mức sáng.
Hệ tọa độ cực giữa Hue và Saturation có thể gây ra nhiều khó khăn trong mô hình màu da, chính vì vậy người ta còn chuyển nó sang hệ tọa độ Đề các theo công thức sau:
(I.15)
2.2.4 TSL – Tint, Saturation, Lightness (sắc thái, độ bão hòa, độ dịu )
Không gian chuẩn hóa thành phần màu và độ sáng TSL được chuyển từ không gian chuẩn hóa RGB theo công thức sau đây:
(I.16)
Trong đó, r’ = r – 1/3, g’ = g – 1/.
Theo kết quả nghiên cứu, so sánh chín không gian màu sử dụng cho mô hình màu da thi không gian chuẩn hóa TSL thực hiện mô hình hóa màu da nhanh hơn các không gian khác.
2.2.5 YcrCb
YCrCb là không gian màu được sử dụng nhiều trong vấn đề nén ảnh. Màu sắc dược biểu diễn bởi luma (đó là giá trị độ sáng được tính toán từ không gian RGB), gồm ba thành phần, một thành phần là tổng các trọng số từ RGB, hai thành phần màu khác nhau Cr và Cb được tạo ra bằng cách từ từ hai thành phần Red và Blue trong không gian màu RGB. Công thức để chuyển đổi như sau:
(I.17)
Việc chuyển đổi đơn giản, tính phân chia rõ ràng của độ sáng và các thành phần màu là những đặc tính giúp cho không gian này lôi cuốn các nhà nghiên cứu sử dụng cho việc mô hình hóa màu da.
2.2.6 Các hệ tọa độ không gian màu khác
Bên cạnh YcrCb, một vài không gian màu khác đựoc tạo ra từ chuyển đổi tuyến tính không gian RGB được sử dụng trong vấn đề phát hiện màu da. Như là YES, YUV hay YIQ. Tuy nhiên chúng ít được sử dụng hơn.
2.3 Mô hình hóa màu da
Mục đích cuối cùng của phát hiện màu da là xây dựng một quy tắ có tính quyết định. Đây là quy tắc sẽ giúp phân biệt một điểm ảnh là da hay không phải là da người. Thông thường, quy tắc này sẽ thiết lập một giá trị đo cho phép tính toán mức độ tương đồng giữa một điểm ảnh màu với đặc trưng màu da. Giá trị đo này được thiết lập như thế nào, công thức ra sao tùy thuộc vào từng phương pháp mô hình hóa màu da.
2.3.1 Xác định ngưỡng cụ thể một điểm ảnh là màu da
Trong một số không gian màu, phương pháp xây dựng và xếp lớp màu da bằng cách xác định rõ ràng (thông qua một số quy tắc) biên giới các giá trị của điểm ảnh là màu da hay không. Ví dụ như:
Trong không gian RGB:
(R,G,B) được xếp thuộc lớp màu da nếu như:
R>95 và G>40 và B>20 và
Max(R,G,B) – Min(R,G,B) >15 và
|R-B| > 15 và R>g và R>B
Tính đơn giản của phương pháp này cũng thu hút nhiều sự tập trung nghiên cứu. Ưu điểm dễ thấy của phưuơng pháp này đó là tính đơn giản của quy tắc nhận biết màu da. Điều này cho phép phân lớp một cách nhanh chóng và dễ dàng. Tuy nhiên kết quả đạt được khi phân lớp là không cao trong trường hợp tổng quát. Vì vậy khó khăn chính của phương pháp này nếu muốn có được hệ số nhận dạng cao đó là phải tìm ra được một không gian màu thích hợp cũng như các quy tắc tốt để nhận biết màu da trong không gian màu này.
Hiện nay người ta đang đề xuất sử dụng thuật toán máy học để tìm ra một không gian màu thích hợp cũng như các quy tắc phân lớp màu da với mong muốn có được hệ số nhận dạng cao. Tuy nhiên đó cũng chỉ mới là đề xuất và chưa có một kết quả cụ thể của một nghiên cứu nào đựoc công bố.
Tuy nhiên, giữa và kết quả đạt được, chúng ta vẫn có thể tìm ra được những quy tắc cho phép nhận biết chắc chắn một điểm ảnh không phải là màu da. Những quy tắc này có thể được sử dụng làm bước lọc khởi tạo cho các phương phân lớp pháp phức tạp hơn giữa vùng màu da và vùng không phải màu da. Nó giúp cho quá trình phân lớp được thực hiện nhanh chóng hơn và đỡ tốn công hơn.
2.3.2 Phưong pháp mô hình hóa màu da sử dụng phân phối không tham số
Ý tưởng chính của phưong pháp mô hình hóa màu da không tham số đó là ước lượng phân phối màu da từ dữ liệu huấn luyện mà không xuất phát từ một mô hình rõ ràng nào của màu da. Kết quả của phương pháp này thường được biểu diễn dưới dạng một bản đồ phân bố màu da (SPM – Skin Probability Map). Mỗi một giá trị phân bố được gán cho mỗi điểm trong không gian màu.
2.3.2.1 Bảng tra cứu chuẩn hóa (LUT – Lookup Table)
Một số thuật toán phát hiện mặt người và bám sát mặt người sử dụng một lược đồ mức xám dựa trên hướng tiếp cận phân vùng các điểm ảnh là màu da. Không gian màu được lượng tự hóa thành từng nhóm, mỗi một nhóm đáp ứng cho một khoảng các thành phần màu. Các nhóm lược đồ này được tham chiếu tới một bảng gọi là bảng tra cứu. Mỗi một nhóm lưu trữ một số lượng lần xuất hiện của một màu khi tiến hành huấn luỵện ảnh da người. Sau quá trình huấn luyện, biểu đồ sẽ tính toán và chuẩn hóa, chuyển sang giá trị biểu đô trong phân phối xác suất miền rời rạc: Pskin(c) = skin[c]/Norm (I.18)
Trong đó, skin[c] nhận giá trị của nhóm lược đồ, đáp ứng cho véc tơ màu c, Norm là một hệ số chuẩn hóa (tổng tất cả các giá trị của các nhóm biểu đồ) hay là giá trị lớn nhất của một nhóm biểu đồ. Giá trị chuẩn hóa của của bảng tra cứu các nhóm biểu đồ là căn cứ để cho phép quyết định một màu có là màu da hay không.
2.3.2.2 Phân lớp Bayes (Bayes Classifier)
Giá trị của Pskin(c) trong công thức trên là một điều kiện xác suất – P(c|skin) – xác suất một màu quan sát c là một pixel màu da. Và xác suất thích hợp được dùng để phát hiện màu da đó là P(skin|c) – xác suất quan sát màu được màu da khi xuất hiện một giá trị màu c rời rac. Để tính giá trị này, ta sử dụng công thức Bayes quen thuộc:
(I.19)
Trong đó P(c|skin) và P(c|-skin) đựoc tính trực tiếp từ biểu đồ màu da và không màu da. Xác suất toàn phần P(skin) và P(-skin) thì được ước lượng từ một số lượng các mẫu là màu da và không màu da trong tập mẫu huấn luyện. Bất đẳng thức P(skin|c) > Θ, trong đó Θ là một giá trị ngưỡng, có thẻ được sử dụng để trở thành quy tắc trong phát hiện màu da.
Công thức trên đôi khi hơi phức tạp, và để có thể tránh điều này, nếu như thực sự không cần phải biết một cách chính xác suất P(skin|c) và P(-skin|c) mà chỉ cần biết tỉ số giữa chúng thì người ta thường đưa vê công thức như sau:
(I.20)
So sánh công thức này với một ngưỡng có thể tạo ra một quy tắc cho phép phát hiện tỉ số màu da/không phải màu da. Sau một vài phép biến đổi, chúng ta nhận được công thức
(I.21)
Công thức trên có thể thấy rằng, việc chọn lựa giá trị của xác suất toàn phần không ảnh hưởng đến chất lượng của bộ phát hiện, vì với bất kì một xác suất toàn phần P(skin) đều có thể chọn được một giá trị K phù hợp sao cho giá trị của ngưỡng là Θ.
2.3.2.4 Tổng kết phương pháp không tham số
Hai ưu điểm dễ thấy của phương pháp mô hình hóa phân phối không tham số đó là: thứ nhất, chúng có thể huấn luyện và sử dụng được một cách nhanh chóng. Thứ hai, chúng độc lập với lý thuyết vè hình dạng của phân phối màu da (điều này không đúng trong mô hình hóa màu da có tham số). Tuy nhiên nhược điểm của phương pháp này đó là chúng yêu cầu nhiều bộ nhớ để lưu trữ và không có khả năng nội suy hay tạo ra dữ liệu huấn luyện. Lấy ví dụ như, chúgn ta lượng tử hóa điểm ảnh trong không gian RGB về 8bit cho mỗi màu, khi đó chúng ta phải cần một mảng có tới 224 phần tử để lưư trữ tập tất cả các xác suất của mô hình. Để có thể giảm bớt kích thước này bằng cách loại bỏ những dữ liệu huấn luyện nhỏ lẻ, không gian màu thường sử dụng kích thước 128*128*128, 64*64*64, 32*32*32. Theo như nghiên cứu thì kích thước 32*32*32 là kích thước không gian mang lại hiệu quả cao nhất.
2.3.3 Mô hình hóa phân phố màu da có tham số
Hầu hết các mô hình màu da không tham số dựa trên biểu đồ xám đều yêu cầu rất nhiều bộ nhớ và hiệu năng của chúng phụ thuộc hoàn toàn của tập ảnh huấn luyện cố định. Vì vậy cần có một mô hình màu da có thê tự thêm hoặc tự tạo ra dự liệu huấn luyện để, điều đó dẫn đến sự ra đời ủa mô hình phân phối tham số.
2.3.3.1 Mô hình dựa trên phấn phối Gaussian đơn.
Phân phối màu da có thể đựoc mô hình hóa bởi phân phối Gaussian thêm vào hàm mật độ xác suất. Đĩnh nghĩa như sau:
(I.22)
Ở đây, c là một véc tờ màu, µs và Σs là hai tham số phân phối (véc tơ trùng bình và ma trận hiệp phương sai). Các tham số của mô hình được ước lượng thông qua quá trình huấn luyện bởi công thức sau:
(I.23)
Trong đó, n là tổng số các mẫu màu da . Xác suất p(c|skin) có thể được tính trực tiếp mức độ tưong tự màu da (likehood skin color) hoặc có thể tính bằng khoảng cách Mahalanobis từ vé tơ màu c, véc tơ trung bình µs, ma trận hiệp phương sai Σs. Công thức tính khoảng cách Mahalanonbis:
(I.24)
Phưong pháp mô hình hóa giựa trên phân phới đơn Gaussian đã được triển khai và nghiên cứu.
2.3.3.2 Mô hình kết hợp dựa trên phân phối Gaussian
Một mô hình công phu, phức tạp hơn, có khả năng biểu diễn được phân phối phức tạp đó là mô hình két hợp dựa trên phân phối Gaussian. Đây là mô hình mở rộng từ mô hình đơn Gaussian trên, trong trường hợp này, hàm phân phối mật độ xác suất là:
(I.25)
Trong đó, k là số lượng các thành phần được kết hợp, πi là tham số kết hợp, thỏa mãn ràng buộc Σki = 1 πi = 1, và pi(c|skin) thỏa mãn hàm phối mật độ xác suất Gaussian, với mỗi véc tơ trung bình và ma trận hiệp phương sai của nó. Huấn luyện mô hình đựoc thực hiện với một kĩ thuật được biết đến nhiều gọi là thuật toán kì vọng tối đa (EM - Expectation Maximization), trong đó giả sử rằng số lượngcác thành phần k là đã biết trước. Chi tiết việc huấn luyện mô hình kết hợp Gaussian với thuật toán EM này có thể được tìm thấy trong nhiều nghiên cứu. Việc phân lớp trong mô hình kết hợp Gaussian được thực hiện nhờ việc so sánh xác suất p(c|skin) với một vài giá trị ngưỡng.
Việc chọn lựa số lượng thành phần k ở đây là quan trọng. Vì nó ảnh hưởng đến độ chính xác của việc huấn luyện cho mô hình. Theo như những nghiên cứu hiện nay, k = 8 là sự lựa chọn mang hiệu năng cao nhất cho mô hình kết hợp phân phối Gausian.
2.3.3.3 Đa phân phối Gausian
Mức độ gần đúng của các nhóm màu da với phân phối Gaussian 3D trong không gian YcbCr đã được miêu tả trong nhiều bài báo. Một số lượng khác nhau các thuật toán phân nhóm K-trung bình được sử dụng cho nhóm Gaussian thực hiện việc huấn luyện mô hình. Các điểm ảnh được phân lớp thành lớp màu da nếu như khoảng cách Mahalanobis từ véctơ màu c đến trung tâm của cụm gần nhất trong mô hình nhỏ lớn hơn một ngưỡng cho trước.
2.3.3.4 Tổng kết các phưong pháp mô hình hóa theo tham số
Tất cả các phương pháp mô hình hóa theo tham số được miêu tả như trên (ngoại trừ phương pháp 2.3.3.3) đều tính toán trên mặt phẳng các thành phần màu của không gian màu mà bỏ qua thông tin về độ sáng.
Dĩ nhiên, khi một mô hình phân phối cụ thể được sử dụng, sẽ có câu hỏi đặt ra về sự xác thực về giá trị của mô hình đó. Hiển nhiên, mô hình độc lập với hình dạng của phân phối trong không gian màu thì càng tốt hơn, do đó mô hình không tham số xét về mặt này hiển nhiên sẽ tốt hơn mô hình có tham số. Tuy nhiên do yêu cầu quá cao về bộ nhớ mà khi đánh giá hiệu năng thì mô hình có tham số lại có hiệu năng cao hơn. Điều này có thể thấy trong các bảng đánh giá ở nhiều bài báo.
2.4 So sánh kết quả các mô hình
Để có thể đánh giá và so sánh hiệu năng của các phương pháp mô hình hóa màu da là không dễ, vì mỗi phương pháp thường được đề xuât của một nhóm các nhà nghiên cứu và được thử nghiệm trên cơ sơ dữ liệu riêng. Và chưa có một cơ sở dữ liệu chuẩn nào được công bố rộng rãi cho vấn đề này. Cơ sở dữ liệu huấn luyện và kiểm định được biết đến nhiều nhất đó là cơ sở dữ liệu của Compaq. Trong bảng so sánh được đưa ra dưới đây, là kết quả tốt nhất mà mỗi phương pháp đạt được, được tổng hợp bởi [Valimir Vezhnevets, Vassili Sazonov Alla Andreeva ], với kết quả thử nghiệm dựa trên có ở dữ liệu của Compaq nêu trên. Bảng sau đây sẽ so sánh hệ số phát hiện đúng và không đúng của từng phương pháp. Mặc dù các phương pháp là khác nhau về dữ liệu huấn luyện và tập dữ liệu test, cũng như chiến lược huấn luyện, bảng dưới đây vẫn mô tả một bức tranh toàn cảnh về hiệu năng của các phương pháp [7]:
Phương Pháp
Nhận biết đúng
Nhận biết sai
Bayes SPM trong RGB
(Jones và Regh 1999)
80%
90%
8.5%
14.2%
Bayes SPM trong RGB
(Bran và Mason 2000)
93.4 %
19.8%
Maximum Entropy Model trong RGB
(Jedynak và al. 2002)
80%
8%
Gaussian Mixture models trong RGB
(Jones và Rehg 1999)
80%
90%
~9.5%
~15.5%
SOM in TS
(Brown và al. 2002)
78%
32%
Elliptical boundary model trong CIE – xy
(Lee và Yoo 2002)
90%
20.9%
Single Gaussian trong Cb và Cr
(Lee và Yoo 2002)
90%
33.3%
Gausian Mixture trong IQ
(Lee và Yoo 2002)
90%
30,0%
Thresholding của trục I trong YIQ
(Brand và Mason 2000)
94.7%
30.2%
Bảng 1: Kết quả nhận biết đúng và sai của các phương pháp
2.5 Đánh giá phương pháp
Ưu điểm chính của các phương pháp sử dụng các ngưỡng để phân lớp điểm ảnh là màu da hay không đó là tính đơn giản và tính trực giác cao trong các quy tắc phân lớp. Tuy nhiên, điểm khó khăn đó là cần phải tìm được cả một không gian màu tốt và các quy tắc xứng đáng trong không gian đó. Phương pháp được đề xuất hiện này sử dụng thuật toán máy học để có thể tìm được không gian và các quy tắc thích hợp, tuy nhiên đề xuất này vẫn đang là một vấn đề mở trong tương lai
Các phương pháp sử dụng mô hình hóa không tham số thật sự nhanh trong cả việc huấn luyện và phân lớp, độc lập với phân bố hình dạng của màu da và cả không gian màu. Tuy nhiên, phương pháp này lại yêu cầu quá nhiều bộ nhớ lưu trữ và phụ thuộc cố dịnh vào tập dữ liệu huấn luyện.
Các phương pháp mô hình hóa có tham số cũng xử lý khá nhanh. Hơn nữa chúng lại có khả năng tự tạo ra các dữ liệu huấn luyện phù hợp, chúng được miêu tả bằng một số lượng không nhiều các tham số và đặc biệt chúng cần không đáng kể bộ nhớ lưu trữ. Tuy nhiên, chúgn có thể sẽ thực sự chậm (giống như mô hình kết hợp giữa trên phân phối Gaussian) trong cả huấn luyện và làm việc, và hiệu năng của chúng phụ thuộc nhiều vào hình dạng của phân phối màu da. Bên cạnh đó, hầu hết các phương pháp mô hình hóa màu da có tham số đều bỏ qua những thống kê về màu không phải là tham số.
2.6 Chọn lựa không gian màu và phương pháp mô hình hóa dùng để nhận biết màu da cho đồ án.
Với mục đích là sử dụng nhận biết màu da để tiến hành phần vùng màu da, giảm không gian tìm kiếm khuôn mặt trong ảnh màu. Vì vậy, phương pháp cần thiết cho đồ án phải có hiệu năng cao, thời gian thực hiện nhanh, yêu cầu bộ nhớ không lớn. Thời gian huấn luyện không phải là vấn đề. Không gian nhớ phải phù hợp với phương pháp nhận biết màu da. Chính vì vậy, xem xét tất cả các phương pháp, các đặc trưng cũng như hiệu năng của từng phương pháp. Chúng ta sẽ sử dụng phương pháp mô hình hóa có tham số để tiến hành phân vùng màu da cho ảnh. Cụ thể phương pháp được lựa chọn đó là phương pháp mô hình hóa màu da có tham số dựa trên phân phối Gaussian. Và không gian màu được lựa chọn đó là không gian YcrCb do đặc điểm chuyển đổi đơn giản từ RGB, sự phân biệt rõ ràng giữa độ sáng và các thành phần màu. Đồng thời, để nâng cao hiệu năng và giảm thời gian tính toán cho phương pháp chọn lựa này, chúng ta sẽ xem xét các quy tắc đựoc đề xuất trong nhóm phương pháp dùng nguỡng để lọc khởi tạo loại bỏ những điểm ảnh chắc chắn không phải màu da. Chi tiết cách thức tiến hành của phương pháp phân vùng màu da này sẽ được đề cập đến trong phần 2 của chương III.
3. Giới thiệu về mạng neural nhân tạo MPL và thuật toán lan truyền ngược
3.1 Giói thiệu
Hệ thống phát hiện mặt người được xây dựng trong đồ án dựa trên mạng neural MPL (Multi Perceptron Layer) và sử dụng thuật toán lan truyền ngược để luyện mạng. Vì vậy trong phần này, sẽ nói một cách cơ bản nhất về MPL và thuật toán lan truyền ngược.
Có thể nói, hiện nay, không có một định nghĩa chính thức nào cho mạng neural. Tuy nhiên phần lớn mọi người đều đồng tình rằng mạng neural là một mạng bao gồm rất nhiều bộ xử lý đơn giản (gọi là các unit), mỗi unit có vùng nhớ riêng của mình. Các unit được kết nối với nhau thông qua kênh thông tin (gọi là các connection), thường mang dữ liệu số (không phải là các ký hiệu), và được mã hóa theo một cách nào đấy. Các unit chỉ xử lý trên bộ dữ liệu của riêng nó và trên các đầu vào được đưa tới thông qua các liên kết. hạn chế của các phép xử lý cục bộ này là nó thường ở trạng thái nghỉ trong suốt quá trình học.
Một số mạng neural là các mô hình mạng neural sinh học, một số thì không, nhưng từ trước tới nay, thì tất cả các lĩnh vực của mạng neural đều đựoc nghiên cứu xây dựng xuất phát từ các yêu cầu xây dựng các hệ thống nhận tạo rất phức tạp, hay các phép xử lý “thông minh”, và những gì tuơng tự như bộ não con người.
Hầu hết các mạng neural đều có một vài quy tắc học nào đó mà thông qua đó các trọng số của các liên két được điều chỉnh dựa trên dữ liệu. Nói cách khác, các mạng neural “học” và các ví dụ và dựa trên các dữ liệu đó thì nó có khả năng tổng quát tri thức và đưa ra “nhận thức của mình”.
Mạng neural là mô hình mạng ứng dụng các phương pháp xử lý song song và các thành phần mạng xử lý hoàn toàn đợc lập với nhau. Một vài nguời xem khả năng xử lý song song số lượng lớn và tính liên kết cao của mạng neural là các tính chất đặc trưugn của nó. Tuy nhiên với những yêu cầu như thế thì lại không có những mô hình đơn giản, ví dụ như mô hình hồi quy tuyến tính đơn giản, một mô hình được ứng dụng rất rộng rãi của mạng neural.
Mạng neural có thể được áp dụng trong mọi trường hợp khi tồn tại một mối liên hệ giữa các biến độc lập (inputs) và các biến phụ thuộc (outputs), thậm chí là ngay cả khi mối quan hệ đó phứuc tạp. Một số lĩnh vực mà mạng neural đã được áp dụng thành công như dự đoán triệu chứng y học, dự đoán thị trường chứng khoán, đánh giá độ tin cậy tài chính, điều chỉnh điều kiện của cơ cấu máy móc.
3.2 Mạng Perceptron nhiều tầng (MPL – Multi Perceptron Layer) [3]
MPL là một loại mạng lan truyền tiến được huấn luyện theo kiểu học có thầy. Mạng là một cấu trúc gồm nhiều lớp trọng số. Ở đây ta chỉ xét đến loại mạng lan truyền khả vi. Đây là loại mạng có thể áp dụng phương pháp tính toán khá hiệu quả và mạnh gọi là lan truyền ngược lỗi , để xác định đạo hàm hàm lỗi theo các trọng số và độ dốc trong mạng. Đây là một tính chất rất quan trọng của những mạng kiểu này bởi những đạo hàm này đóng vai trò trung tâm trong các giải thuật học của các mạng đa lớp. Vấn đề lan truyền ngược sẽ được ta xét tới trong một phần riêng sau này.
3.2.1 Ánh xạ mạng lan truyền tiến
Trong phần này ta sẽ nghiên cứu mô hình mạng neural lan truyền tiến như là một khung tổng quát đại diện cho các hàm ánh xạ phi tuyến giữa tập các biến đầu vào và tập các biến đầu ra.
3.2.1.1 Mạng phân lớp
Các mạng đơn lớp được xây dựng dựa trên sự kết hợp tuyến tính các biến đầu vào được chuyển đổi bởi một hàm truyền phi tuyến.
Ta có thể xây dựng được các hàm tổng quát hơn bằng cách nghiên cứu những mô hình mạng có các lớp các nút là liên tiếp, với các kết nối từ tất cả các nút thuộc một lớp tới tất cả các nút thuộc lớp kế tiếp, và không cho phép bất kỳ một loại kết nối nào khác. Những mạng phân lớp như thế này có thể dễ phân tích hơn các cấu trúc tổng quát khác, và cũng dễ được mô phỏng bởi phần mềm hơn.
Hình 4: Mô hình mạng lan truyền tiến
Các nút không phải là các nút nhập và nút xuất được gọi là các nút ẩn. Trong mô hình chúng ta nghiên cứu ở đây, có d nút nhập, M nút ẩn và c nút xuất.
Kết quả của nút ẩn thứ j được tính như sau:
(I.26)
Trong đó là trọng số của lớp đầu tiên, từ nút nhập i đến nút ẩn j, và là trọng ngưỡng của nút ẩn j.
Giả sử đặt một biến cố định x0 = 1. Từ đó công thức (I.26) có thể được viết lại:
(I.27)
Sau đó độ hoạt động zk của nút ẩn j được tính toán bằng cách chuyển đổi tổng tuyến tính (I.27) sử dụng hàm truyền g(.), tức là: zk = g(aj) (I.28)
Kết xuất của mạng được tính bằng cách chuyển đổi độ hoạt động của các nút ẩn sử dụng một lớp các nút thứ 2. Với mỗi nút xuất k, ta có:
(I.29)
Đặt z0 =1 ta có:
(I.30)
Sau đó giá trị này được cho qua hàm truyền phi tuyến cho ta kết xuất đầu ra của nút xuất k: (I.31)
Ở đây ta sử dụng kí hiệu để biểu diễn hàm truyền của các nút xuất nhằm chỉ ra rằng hàm này có thể không trùng với hàm đã được sử dụng trong lớp ẩn.
Kết hợp (I.27), (I.28), (I.30), (I.31) ta có công thức chung cho mô hình mạng trong hình trên:
(I.32)
3.2.1.2 Kiến trúc mạng tổng quát
Ta có thể xây dựng được những ánh xạ mạng tổng quát hơn bằng cách nghiên cứu những sơ đồ mạng phức tạp hơn. Tuy nhiên ở đây thì ta chỉ giới hạn nghiên cứu trong phạm vi các mạng lan truyền tiến.
Mạng lan truyền tiến là mạng không có một kết nối quay lui nào trong mạng.
Theo Bishop (1995): OVề mặt tổng quát, một mạng được gọi là lan truyền tiến nếu nó có thể gán các số liên tục cho tất cả các nút nhập, tất cả các nút ẩn và nút xuất sao cho mỗi nút chỉ có thể nhận được các kết nối từ các nút nhập hoặc các nút được gán số bé hơn.Õ
Với những mạng có tính chất như thế, kết xuất của mạng là các hàm quyết định của các đầu vào, và vì thế toàn bộ mạng được gọi là một ánh xạ hàm phi tuyến đa biến.
Kết xuất của nút k tính được như sau:
(I.33)
trong đó g(.) là một hàm truyền phi tuyến, và j thuộc tập tất cả các nút nhập và các nút gửi kết nối tới nút k (Tham số trọng ngưỡng cũng đã được bao hàm ở trong tổng này).
Với một tập cho trước các giá trị đầu vào, áp dụng liên tục công thức (I.33) sẽ cho phép các kích hoạt của tất cả các nút trong mạng được ước lượng, bao gồm cả các kích hoạt của các nút xuất. Quá trình này được gọi là lan truyền tiến các tín hiệu qua mạng.
Nếu như các hàm truyền của tất cả các nút ẩn trong mạng là tuyến tính, thì với những mạng như thế ta luôn luôn tìm được một mô hình mạng tương đương mà không có một nút ẩn nào. Những mạng này được gọi là mạng tuyến tính đa lớp và vì thế không được đi sâu nghiên cứu, mà người ta chỉ chủ yếu nghiên cứu các mạng đa lớp với các hàm truyền của các nút ẩn là phi tuyến.
3.2.2 Hàm sigmoid
Bây giờ chúng ta sẽ xem xét hàm truyền logistic dạng S, trong đó các đầu ra của nó nằm trong khoảng (0,1), có phương trình như sau:
(I.34)
Hình vẽ dưới đây biểu diễn một hàm truyền sigmoid cho các nút trong mạng. Đây là một hàm mũ có một đặc tính vô cùng quan trọng vì : khi x chạy từ vô cùng lớn đến vô cùng bé thì f(x) luôn chạy trong khoảng từ 0 đến 1. Giải thuật học ở đây sẽ điều chỉnh trọng số của các kết nối giữa các nút để hàm này ánh xạ giá trị của x sang dạng nhị phân, thông thường:
f(x) > 0.9 : f(x) = 1
f(x) < 0.1 : f(x) = 0.
Hình 5: Đồ thị hàm truyền sigmoid
Trong phần này chúng ta sẽ xem xét các mạng neural với nút xuất tuyến tính. Tuy nhiên điều này cũng chẳng hạn chế lớp các hàm mà mạng có thể xấp xỉ hoá. Việc sử dụng các hàm sigmoid tại các đầu ra sẽ giới hạn phạm vi có thể xảy ra của các nút xuất thành phạm vi có thể đạt tới được của hàm sigmoid (giá trị kết xuất là từ 0 tới 1), và trong một số trường hợp thì điều này có thể là không mong muốn. Thậm chí ngay cả khi giá trị xuất mong muốn là nằm trong giới hạn của hàm sigmoid thì chúng ta vẫn phải chú ý rằng hàm sigmoid g(.) là một hàm đơn điệu tăng, do đó nó có thể lấy nghịch đảo được. Do vậy một giá trị xuất y mong muốn đối với mạng có nút xuất thuộc dạng sigmoid thì tương đương với một giá trị xuất g-1(y) đối với mạng có nút xuất tuyến tính.
Một nút ẩn thuộc dạng sigmoid có thể xấp xỉ một nút ẩn tuyến tính bất kì một cách chính xác. Công việc này đạt được bằng cách thiết kế cho tất cả các trọng số các cung đầu vào của nút, cũng như các trọng ngưỡng, sao cho rất nhỏ để mà tổng của các giá trị nhập phải nằm trên phần tuyến tính của đường cong sigmoid, gần đúng với đường thẳng nguyên thuỷ. Trọng số trên cung xuất từ một nút đến tầng chứa các nút kế tiếp có thể tạo ra tương đối lớn để tái tỉ lệ với độ hoạt động (và với trọng ngưỡng để có được bước dịch chuyển phù hợp nếu cần thiết). Tương tự, một nút ẩn dạng sigmoid có thể được tạo ra nhằm xấp xỉ một hàm bậc thang (step) bằng vịêc đặt giá trị cho các trọng số và trọng ngưỡng rất lớn.
Bất kì một ánh xạ hàm liên tục nào đều có thể được trình bày với độ chính xác tuỳ ý bởi một mạng neural hai lớp trọng số sử dụng các nút ẩn dạng sigmoid (Bishop, 1995).
Do đó chúng ta biết được rằng những mạng neural với nhiều tầng nút xử lý cũng có khả năng xấp xỉ hoá bởi vì chúng đã chứa đựng trong nó mạng neural hai tầng như một trường hợp đặc biệt. Điều này cho phép các tầng còn lại được sắp xếp để thực hiện những biến đổi tuyến tính như đã thảo luận ở trên, và sự biến đổi đồng nhất chính là một trường hợp dặc biệt của một phép biến đổi tuyến tính (biết rằng có đủ số nút ẩn để không có sự giảm bớt về chiều xảy ra).
3.3 Thuật toán lan truyền ngược [1]
Bây giờ chúng ta sẽ tập trung nghiên cứu một kĩ thuật rất phổ biến của mạng neural nhiều tầng. Chúng ta sẽ xem xét cách mà một mạng học một ánh xạ từ một tập dữ liệu cho trước.
Chúng ta đã biết việc học dựa trên định nghĩa của hàm lỗi, hàm lỗi này sau đó sẽ được tối thiểu hoá dựa vào các trọng số và các trọng ngưỡng trong mạng.
Trước tiên ta sẽ xem xét trường hợp mạng sử dụng hàm ngưỡng. Vấn đề cần bàn ở đây chính là cách để khởi tạo các trọng số cho mạng như thế nào. Công việc này thường được gọi là ‘credit assignment problem’. nếu một nút đầu ra tạo ra một đáp số sai lệch thì chúng ta phải quyết định xem liệu nút ẩn nào phải chịu trách nhiệm cho sự sai lệch đó, cũng chính là việc quyết định trọng số nào cần phải điều chỉnh và điều chỉnh là bao nhiêu.
Để giải quyết vấn đề gán trọng số này, chúng ta hãy xem xét một mạng với các hàm truyền phân biệt ,do đó giá trị tổng trọng của các nút xuất sẽ trở thành một hàm phân biệt của các biến nhập và của trọng số và trọng ngưỡng. Nếu ta coi hàm lỗi, ví dụ có dạng sai số trung bình bình phương, là một hàm riêng biệt cho các giá trị xuất của mạng thì bản thân nó cũng chính là một hàm phân biệt của các trọng số.
Do đó chúng ta có thể tính toán được đạo hàm hàm lỗi theo các trọng số, và giá trị đạo hàm này lại có thể dùng để làm cực tiểu hoá hàm lỗi bằng cách sử dụng phương pháp giảm gradient (gradient descent) hoặc các phương pháp tối ưu hoá khác.
Giải thuật ước lượng đạo hàm hàm lỗi được biết đến với tên gọi lan truyền ngược, nó tương đương với việc lan truyền ngược lỗi trong mạng. Kĩ thuật về lan truyền ngược được biết đến rất rộng rãi và chi tiết qua các bài báo cũng như các cuốn sách của Rumelhart, Hinton và Williams (1986). Tuy nhiên gần đây một số ý tưởng tương tự cũng được một số nhà ngiên cứu phát triển bao gồm Werbos (1974) và Parker (1985).
Cần nói thêm rằng giải thuật lan truyền ngược được sử dụng trong mạng neural có ý nghĩa rất lớn. Ví dụ như, kiến trúc của mạng perceptron nhiều tầng cũng thường được gọi là mạng lan truyền ngược. Khái niệm lan truyền ngược cũng thường được sử dụng để mô tả quá trình huấn luyện của mạng perceptron nhiều tầng sử dụng phương pháp gradient descent áp dụng trên hàm lỗi dạng sai số trung bình bình phương. Để làm rõ hơn về thuật ngữ này chúng ta cần xem xét quá trình luyện mạng một cách kĩ càng. Phần lớn các giải thuật luyện mạng đều liên quan đến một thủ tục được lặp đi lặp lại nhằm làm tối thiểu hàm lỗi, bằng cách điều chỉnh trọng số trong một chuỗi các bước.
Tại mối bước như vậy, chúng ta có thể chia thành hai bước phân biệt.
Tại bước thứ nhất, cần phải tính đạo hàm hàm lỗi theo các trọng số. Chúng ta đã biết rằng một đóng góp rất quan trọng của kĩ thuật lan truyền ngược đó là việc cung cấp một phương pháp hết sức hiệu quả về mặt tính toán trong việc đánh giá các đạo hàm. Vì tại bước này lỗi sẽ được lan truyền ngược trở lại mạng nên chúng ta sẽ sử dụng khái niệm lan truyền ngược để đặc trưng riêng cho việc đánh giá đạo hàm này.
Tại bước thứ hai, các đạo hàm sẽ được sử dụng trong việc tính toán sự điều chỉnh đối với trọng số. Và kĩ thuật đơn giản nhất được sử dụng ở đây là kĩ thuật gradient descent, kĩ thuật này được Rumelhart et al. (1986) đưa ra lần đầu tiên.
Một điều hết sức quan trọng là phải nhận thức được rằng hai bước này là phân biệt với nhau. Do đó, quá trình xử lý đầu tiên , được biết đến là quá trình lan truyền ngược các lỗi vào trong mạng để đánh giá đạo hàm, có thể được áp dụng đối với rất nhiều laọi mạng khác nhau chứ không chỉ đối với riêng mạng perceptron nhiều tầng. Nó cũng có thể được áp dụng với các loại hàm lỗi khác chứ không chỉ là hàm tính sai số bình phương cực tiểu, và để đánh giá các đạo hàm khác này có thể sử dụng các phương pháp khác như phương pháp ma trận Jacobian và Hessian mà chúng ta sẽ xem xét ở phần sau. Và cũng tương tự như vậy thì tại bước thứ hai, việc điều chỉnh trọng số sử dụng các đạo hàm đã được tính trước đó có thể thực hiện với nhiều phương pháp tối ưu hoá khác nhau, và rất nhiều trong số các phương pháp đó cho kết quả tốt hơn phương pháp gradient descend.
3.3.1. Lan truyền ngược
Hình 5: Lan truyền ngược
Bây giờ chúng ta sẽ áp dụng giải thuật lan truyền ngược cho bất kì một mạng neural có cấu hình lan truyền tiến tuỳ ý, sử dụng các hàm truyền phi tuyến tuỳ ý, và cả hàm lỗi có dạng tuỳ ý. Để minh hoạ chúng ta sẽ dùng một mạng có cấu trúc một tầng nút ẩn dạng sigmoid và hàm lỗi là hàm tính theo sai số trung bình bình phương.
Trong các mạng lan truyền tiến nói chung mỗi nút đều tình tổng trọng hoá các đầu vào của nó theo công thức:
(I.35)
Với zi là giá trị nhập hoặc là giá trị xuất của một nút có cung kết nối với nút j và wji chính là trọng số của cung kết nối đó. Giá trị tổng này được tính trên tất cả các nút có kết nối trực tiếp với nút j. Chúng ta biết rằng, trọng ngưỡng của nút cũng được đưa vào trong tổng bằng cách tạo ra thêm một giá trị nhập cố định = 1. Tổng trong (I.35) lại được biến đổi thông qua một hàm truyền phi tuyến g(.) để đưa ra được gía trị xuất zi của nút j theo công thức:
(I.36)
Bây giờ chúng ta cần phải xác định giá trị của các trọng số trong mạng thông qua việc tối thiểu hoá hàm lỗi.
ở đây ta sẽ coi cá hàm lỗi được viết như một tổng của tất cả các lỗi tại mỗi mẫu riêng biệt.Tổng này sẽ được tính trên tất cả các mẫu của tập huấn luyện
(I.37)
Với n là nhãn của từng mẫu.
Chúng ta cũng giả định rằng lỗi En có thể được thể hiện như một hàm riêng của các biến đầu ra, có nghĩa là :
En = En(yc, …, yc)
Mục đích của chúng ta ở đây chính là phải tìm ra một hàm nhằm để tính được đạo hàm của hàm lỗi theo các trọng số và trọng ngưỡng của mạng.
Đối với từng mẫu, ta sẽ coi như đã cung cấp một vector nhập tương ứng là đầu vàovà đã tính được các giá trị xuất của các nút ẩn cũng như nút xuất theo các công thức (I.35), (I.36). Quá trình này thường được gọi là quá trình lan truyền tiến trong mạng.
Bây giờ hãy xem xét việc tính đạo hàm của En theo cá trọng số wji. Giá trị xuất của các nút sẽ phụ thuộc vào từng mẫu nhập n nào. Tuy nhiên để dễ nhìn, ta quy ước sẽ bỏ qua việc viết kí tự n trên các biến nhập và xuất. Trước tiên ta cần chú ý rằng En phụ thuộc vào trọng số wji thông qua tổng giá trị nhập ai của nút j. Do đó ta có thể đưa ra công thức tính các đạo hàm riêng như sau:
(I.38)
Từ (I.35) ta có:
(I.39)
Như vậy suy ra:
(I.40)
Trong đó
Từ công thức (I.40) ta thấy rằng để tính được đạo hàm chúng ta chỉ cần tính giá trị cho mỗi nút ẩn và nút xuất trong mạng và sau đó áp dụng công thức (I.40).
Với các nút xuất thì việc tính δk là hết sức đơn giản.
Ta có:
(I.41)
Để tính ra (I.41) ta cần tìm ra công thức tính g’(a) và .
Để tính được δ cho cá nút ẩn, ta cần sử dụng công thức tính đạo hàm riêng:
(I.42)
Trong đó giá trị tổng được tính trên các nút k mà nút j kết nối đến. Việc sắp xếp các nút cũng như các trọng số được minh hoạ trong Hình 6.
Hình 6: Minh họa việc tính δj cho việc tính nút ẩn j
Chú ý rằng các nút có nhãn k này có thể bao gồm cả nút nhập và nút xuất.
Bây giờ chúng ta có công thức lan truyền ngược như sau:
(I.43)
Công thức này nói lên rằng giá trị của δ đối với một nút ẩn có thể đựơc tính từ việc lan truyền ngược các giá trị δ của các nút ẩn cao hơn trong mạng, như được minh hoạ trong hình 5. Bởi vì chúng ta đã biết đựơc các giá trị δ của các nút xuất nên ta có thể áp dụng (I.43) một cách đệ quy nhằm tính ra các giá trị δ cho tất cả các nút ẩn trong mạng, mà không quan tâm đến cấu hình của nó.
Chúng ta có thể tổng kết lại giải thuật lan truyền ngược nhằm tính đạo hàm hàm lỗi En theo các trọng số trong 4 bước:
Đưa vector nhập xn vào mạng và lan truyền tiến nó trong mạng sử dụng (I.35) và (I.36) để tìm ra giá trị xuất cho tất cả các nút ẩn cũng như nút xuất.
Tính δ cho tất cả các nút xuất sử dụng công thức (I.41)
Lan truyền ngựơc các d bằng công thức (I.43) để thu được δ cho mỗi nút ẩn trong mạng.
áp dụng để tính các đạo hàm.
Đạo hàm của lỗi tổng E có thể thu được bằng cách lặp đi lặp lại các bước trên đối với trừng mẫu trong tập huấn luyện và sau đó tính tổng trên tất cả các lỗi.
Trong quá trình tính đạo hàm trên chúng ta đã giả định rằng mỗi nút ẩn cũng như xuất đếu có chung một hàm truyền g(.). Tuy nhiên điều này hoàn toàn có thể tính được với trường hợp mỗi nút khác nhau đếu có các hàm truyền riêng, đơn giản bằng cách đánh dấu dạng của hàm g(.) ứng với từng nút.
3.3.2 Hiệu quả của lan truyền ngược
Một trong những đặc tính quan trọng nhất của lan truyền ngược chính là ở khả năng tính toàn hiệu quả của nó [1].
Đặt w là tổng số các trọng số và trọng ngưỡng. Do đó một phép tính hàm lỗi (cho một mẫu nhập nào đó) cần O(w) thao tác với w đủ lớn. Điều này cho phép số lượng trọng số có thể lớn hơn số lượng nút, trừ những mạng có quá ít kết nối. Do vậy, hiệu quả của việc tính toán trong lan truyền ngược sẽ liên quan đến việc tính giá trị của tổng trong công thức (I.35), còn việc tính toán các hàm truyền thì tổng phí khá nhỏ. Mỗi lượt tính tổng trong (I.35) cần đến một phép nhân và một phép cộng, dẫn đến chi phí tính toán toàn bộ sẽ bằng O(w). [1]
Với tất cả w trọng số thì sẽ có w đạo hàm cần tính toán. Với mỗi lần tính đạo hàm như vậy cần phải thực hiện tìm biểu thức hàm lỗi, xác định công thức tính đạo hàm và sau đó tính toán chúng theo giải thuật lan truyền ngược, mỗi công việc đó sẽ đòi hỏi O(w) thao tác. Như vậy toàn bộ quá trình tính toán tất cả các đạo hàm sẽ tỉ lệ với O(w2). Giải thật lan truyền ngược cho phép các đạo hàm được tính trong O(w) thao tác. Điều này cũng dẫn đến rằng cả hai pha lan truyền ngược và lan truyền tiến đều cần O(w) thao tác, việc tính đạo hàm theo công thức (I.43) cũng cần O(w) thao tác.Như vậy giải thuật lan truyền ngược đã làm giảm độ phức tạp tính toán từ O(w2) đến O(w) đối với mỗi vector nhập. Vì quá trình luyện mạng, dù có sử dụng lan truyền ngược, có thể cần rất nhiều thời gian, nên việc đạt được hiệu quả như vậy là hết sức quan trọng.Với tổng số N mẫu luyện, số lượng các bước tính toán để đánh giá hàm lỗi trên toàn bộ tập dữ liệu sẽ là N lần bước tính toán của một mẫu.
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
1. Tổng thể sơ đồ hoạt động của hệ thống phát hiện mặt người
Hệ thống phát hiện khuôn mặt của đồ án tiến hành dựa trên năm hoạt động chính sau đây:
Huấn luyện ảnh khuôn mặt và ảnh không phải khuôn mặt: Đây là quá trình hoạt động ngoại tuyến của hệ thống. Quá trình huấn luyện dựa trên cơ chế máy học mà cụ thể là mạng neural nhân tạo. Tập cơ sở dữ liệu được chuẩn hóa về kích thước cửa số chuẩn được cho vào mạng neural để huấn luyện. Kết quả của huấn luyện sẽ cho ra bộ tham số của mạng. Bộ tham số này sẽ được dùng cho quá trình phát hiện khuôn mặt của hệ thống. Do ảnh cần phát hiện khuôn mặt là ảnh màu nên tập ảnh huấn luyện khuôn mặt là ảnh màu và sẽ được chuyển sang ảnh đa mức xám trước khi đưa vào huấn luyện.
Tiền xử lý: Đây là quá trình làm giảm sai khác gây ra do điều kiện sáng bằng phép cân bằng lược đồ mức xám, lọc nhiễu…của các ảnh được sử dụng để huấn luyện mạng neural cũng như huấn luyện phân vùng màu da. Các thuật toán được sử dụng trong quá trình tiền xử lý này bao gồm cần bằng lược đồ mức xám, lọc thông thấp.
Huấn luyện phân vùng màu da: Đây cũng là hoạt đông ngoại tuyến của hệ thống. Phương pháp để phân vùng màu da được lựa chọn dựa trên mô hình hóa màu da có tham số sử dụng phận phối Gaussian và trong không gian màu YCrCb. Quá trình huấn luyện từ bộ cơ sở dữ liệu các mẫu màu da của các chủng tộc châu lục Âu, Á, Mỹ , Phi, Châu đại dương…Kết quả của quá trình huấn luyện sẽ cho ra bộ tham số bao gồm xác suất ngưỡng nhỏ nhất mà mô hình học được, vector trung bình và ma trận hiệp phương sai. Đây là bộ tham số được dùng để tiến hành phân vùng màu da ảnh trước khi ảnh được đưa vào hệ thống phát hiện khuôn mặt.
Phát hiện khuôn mặt: Đây là hoạt trực tuyến của hệ thống. Trong hoạt động này, ảnh màu đầu vào cần phát hiện khuôn mặt trước khi phát hiện khuôn mặt sẽ được qua quá trình tiền xử lý như lọc nhiễu, cân bằng biểu đồ mức xám. Sau đó ảnh được phân vùng màu da và tạo ra một ảnh nhị phân ảnh phân vùng. Ảnh gốc sau quá trình phân vùng màu da sẽ được chuyển sang ảnh đa mức xám. Cuối cùng, sẽ là quá trình phát hiện khuôn mặt trong ảnh bằng cách trích mọi cửa sổ của ảnh theo không gian tìm kiếm của vùng da được phân vùng. Để có thể phát hiện khuôn mặt của ảnh ở các kích thước khác nhau, trong quá trình này, ảnh cũng được xử lý đa phần giải.
Xử lý kết quả: Sau quá trình phát hiện, các cửa số được hệ thống phát hiện là khuôn mặt trước khi cho kết quả cuối cùng sẽ được xử lý bằng một vài heuristic để có thể cho ra những cửa số được phát hiện khuôn mặt có độ tin cậy cao nhất.
Tổng thể các hoạt động của hệ thống có thể được mô tả như sơ đồ thuật toán sau đây
2. Chuẩn bị cơ sở dữ liệu
Hệ thống phát hiện khuôn mặt được xây dựa trên mạng neural và phần vùng màu da, chính vì vậy việc chuẩn bị dữ liệu cho hệ thống đóng một vai trò vô cùng quan trọng, nó quyết định đến hiệu năng cuối cùng của hệ thống. Dữ liệu cho hệ thống ở đây sẽ bao gồm:
Dữ liệu cho huấn luyện mạng neural: Bao gồm tập các dữ liệu khuôn mặt và không phải khuôn mặt. Tập các ảnh được sử dụng để huấn luyện mạng.
Dữ liệu cho việc phân vùng màu da: Đâu là tập các mẫu màu da của nhiều chủng tộc và châu lục trên thế giới, sự phong phú và chính xác của tập mẫu này quyết định kết hiệu quả của quá trình phân vùng.
Dữ liệu được dùng để khảo sát và thử nghiệm kết quả hoạt động của hệ thống
2.1 Dữ liệu huấn luyện mạng neural
2.1.1 Ảnh huấn luyện là khuôn mặt
Ảnh huấn luyện khuôn mặt được sử dụng trong đồ án này là tập ảnh chuẩn được lấy từ website của Dr Libor Spacek: Đây là một nguồn ảnh mầu chuẩn phong phú với 750 ảnh màu 24bit kích thước 480 x 640 của 50 người, mỗi người là 15 kiểu ảnh theo tư thề nhìn thẳng hoặc xê dịch một lượng không đáng kể. Các khuôn mặt ở các trạng thái như bình thường, cười, nghiêm nghị, đeo kính và không đeo kính, nhắm mắt và mở mắt.
Toàn bộ 750 ảnh này được sử dụng để chuẩn hóa về kích thước cửa sổ 25x25, đây là kích thước cửa số chuẩn được chọn để sử dụng cho hệ thống phát hiện khuôn mặt. Điều này cũng có nghĩa là, kích thước tối thiểu của khuôn mặt có thể được phát hiện bởi hệ thống là 25 x 25.
Hình 8: Ví dụ về ảnh trong cơ sở dữ liệu của Libor Spacek
Để làm phong phú thêm cho nguồn ảnh khuôn mặt, sau khi ảnh được chuẩn hóa về kích thước 25 x 25, ảnh sẽ được cho qua phép đối xứng [8]. Như vậy, cuối cùng cơ sở dữ liệu ảnh khuôn mặt mà chúng ta có được là 1500 ảnh.
Hình 9: Ví dụ về ảnh được chuẩn hóa về kích thước cửa số 25 x 25 và sau khi lấy đối xứng
Sau khi chuẩn hóa và lấy đối xứng, các cửa sổ được tiến hành tiền xử lý. Thực ra, quá trình tiền xử lý được thực hiện khi ảnh được cho vào hệ thống huấn luyện mạng neural. Và trước khi thực hiện tiền xử lý, các cửa sổ ảnh được chuyển sang đa mức xám grayscale 24bit bằng cách sử dụng không gian màu YcrCb (giá trị của mỗi điêm ảnh đa mức xám là giá trị độ sáng Y của không gian màu YCrCb). Sau đó ảnh được tiến hành tiền xử lý, đầu tiên cửa sổ được lọc nhiễu bằng phép lọc thông thấp, sau đó tiến hành cân bằng lược đồ mức xám để làm tăng độ tương phản trong ảnh [8].
Để tiến hành cân bằng lược đồ mức xám, ở đây, sẽ sử dụng một chụp mặt nạ để loại bỏ ảnh hưởng của pixel nền kích thước 25 x 25
Hình 10: Mặt nạ loại bỏ kích ảnh hưởng của pixel nền
Như vậy quá trình cân bằng lược đồ chỉ được tiến hành cho những pixel nằm trong vòng tròn mặt nạ [8]
Hình 11: Ví dụ ảnh sau quá trình cân bằng lược đồ
2.1.2 Ảnh huấn luyện không khuôn mặt
Có thể nói việc huấn luyện ảnh phát hiện khuôn mặt gặp nhiều thách thức là do gặp khó khăn trong việc biểu thị ảnh “không khuôn mặt”. Không nhau việc nhận dạng khuôn mặt, trong đó các lớp phân biệt là các khuôn mặt khác nhau. Hai lớp gọi là phân biệt trong dò tìm khuôn mặt là “ảnh có chứa khuôn mặt” và “ảnh không chứa khuôn mặt” [6]. Dễ dàng lấy được mẫu ảnh chứa khuôn mặt điển hình, nhưng việc lấy mẫu ảnh không chứa khuôn mặt điển hình và có giá trị là khó hơn rất nhiều. Có thể thấy, đối với một hệ thống cụ thể, thì những ảnh không khuôn mặt được xem là có giá trị nhất khi nó bị phát hiện nhầm là ảnh khuôn mặt. Trong đồ án này, do đầu vào là các ảnh màu, và hơn nữa ảnh trước khi được phát hiện khuôn mặt được cho qua bộ phần vùng màu da, chính vì vậy, những ảnh không khuôn mặt có giá trị thông thường là ảnh có chứa vùng có màu tương tự màu da. Chính vì vậy, tập ảnh không khuôn mặt có màu tương tự màu da, đặc biệt là tập ảnh có chứa bộ phân cơ thể con người như tay, chân, cũng như các bộ phân trên khuôn mặt là đáng chú ý nhất.
Tuy nhiên để đảm bảo tính tổng quát của hệ thống, tập ảnh không khuôn mặt được chuẩn bị không chỉ có những ảnh có màu tương tự màu da mà là tập ảnh tự nhiên bất kì. Như ảnh hoa lá cây cỏ, nhà cửa.
Trong đồ án này, quá trình huấn luyện ảnh không khuôn mặt bao gồm huân luyện thụ động và huấn luyện chủ động có học. Huấn luyện thụ động có nghĩa là huấn luyện không khuôn mặt từ tập ảnh tạo sẵn. Còn huấn luyện chủ động có học là tiến hành cập nhật những cửa số bị phát hiện nhầm là khuôn mặt vào cơ sở dữ liệu ảnh không khuôn mặt. Toàn bộ quá trình huấn luyện này sẽ được đề cập đến trong chương III của đồ án. Trong phần này, chỉ đề cập đến cơ sở dữ liệu tạo sẵn ban đầu, như là một bước chuẩn bị cho quá trình huấn luyện ảnh không khuôn mặt thụ động.
Tập ảnh ban đầu này bao gồm hai phần và chứa khoảng 200 cửa sổ. Trong đó, 100 cửa sổ được tạo ngẫu nhiên từ một số bức ảnh tự nhiên không chưa mặt người. 100 ảnh còn lại là tập các ảnh được trích chọn thủ công từ các tập ảnh có sẵn. Những cửa số này tập trung vào những vùng tưong tự màu da, các bộ phận cơ thể con người cũng như bộ phận của khuôn mặt. 200 ảnh này sau quá trình trích chọn cũng được tiến hành lọc nhiễu và cân bằng lược đồ xám.
Hình 12: Hình minh họa các cửa sổ được trích chọn ngẫu nhiên trong cơ sở dữ liệu ảnh huấn luyện không khuôn mặt.
Bên cạnh tập 200 ảnh tạo sẵn này, chúng ta cũng chuẩn bị sẵn khoảng 50 bức ảnh được sử dụng để tiến hành huấn luyện chủ động có học cho ảnh không khuôn mặt .Đây là nguồn ảnh được lấy bất kì trên mạng Internet. 50 ảnh này là tập các ảnh màu kích thước 480 x 360, là các ảnh tập thể, gia đình, tự nhiên. Tập 50 ảnh này cũng được tiến hành lọc nhiễu và cân bằng lược đồ xám.
Hình 13: Ví dụ về ảnh dùng để huấn luyện chủ động ảnh không khuôn mặt
2.2 Ảnh huấn luyện để phân vùng màu da
Mô hình phần vùng màu da được sư dụng dưa trên mô hình có tham số dựa trên phân phối Gaussian, sử dụng trong không gian màu YCrCb.
Để có thể học tốt và tạo ra bộ tham số hiệu quả, các mẫu màu da được trích chọn phải là những mẫu điển hình, bao gồm tất cả các màu da của các châu lục, chủng tộc. Đồng thời đó phải là màu da thực, không phải màu da được trang điểm hay xử lý bằng kỹ thuật xử lý ảnh.
Toàn bộ một trăm mẫu màu da có trong cơ sở dữ liệu của đồ án đều được trích chọn thủ công từ nhiều bức ảnh tìm kiếm trên Internet. Các mẫu màu da này bao gồm khá đầy đủ cho các chủng tộc châu lục Âu, Á, Mỹ, Phi, Úc…Các mẫu màu da trước khi tiến hành huấn luyện để tạo ra bộ tham số phân vùng ảnh đều được tiến hành lọc nhiễu bằng bộ lọc thông thấp
Hình 14: Ví dụ tập mẫu da được dùng để huấn luyện bộ phân vùng màu da
2.3 Cơ sở dữ liệu để đánh giá kết quả hệ thống.
Một hệ thống sau khi xây dựng luôn cần có những khảo sát để đánh giá kết quả. Muốn vậy, chúng ta cần có những bộ dữ liệu chuẩn để tiến hành đánh giá.
Đối với hệ thống trong đồ án, do tập ảnh huấn luyện khuôn mặt là nhìn thẳng với độ nghiêng và góc quay của khuôn mặt không đáng kể, vì vậy, để đánh giá được hiệu quả học của hệ thống, chúng ta cần có những bộ dữ liệu chuẩn tương tự. Ở đây, đồ án sẽ sử dụng bộ dữ liệu test chuẩn được lấy từ cơ sở dữ liệu của trường đại học University of Ljubljana, tại website: Đây là bộ dữ liệu test ảnh màu bao gồm 320 ảnh màu của 141 người, chỉ có một khuôn mặt kích thước 640 x 480 được chụp trong điều kiện ánh sáng đồng nhất.
Hình 15: Ví dụ về bộ ảnh trong tập dữ liệu để kiểm tra hiệu năng hệ thống
Ngoài ra, do chưa có một bộ dữ liệu test ảnh màu nhiều khuôn mặt nào được phổ biến miễn phí trên mạng nên ở đây, chúng ta sẽ tự xây dựng cho mình một tập cảc ảnh nhiều khuôn mặt để có thể đánh giá một cách chính xác hơn hiệu năng hệ thống. Tập ảnh này được xây dựng dựa trên tiêu chí để kiểm tra hiệu quả của hệ thông tron
Các file đính kèm theo tài liệu này:
- 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.doc