intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề tài: Phát hiện khuôn mặt trong ảnh

Chia sẻ: Trần Quang Hợp | Ngày: | Loại File: DOCX | Số trang:35

251
lượt xem
77
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nhận diện mặt người là bài toán mới chỉ xuất hiện cách đây không lâu , chỉ khoảng vài thập niên , nhưng đã có rất nhiều nghiên cứu về nó . Các nghiên cứu ban đầu rất đơn giản , ảnh là đen trắng và chỉ có một khuôn mặt chụp thẳng , sau này mở rộng ra cho ảnh màu , ảnh có nhiều khuôn mặt với nhiều góc , môi trường xung quanh cũng đi từ đơn giản đến rất phức tạp … Ngày nay các hệ thống nhận dạng mặt người đang được ứng dụng trong nhiều lĩnh vực, đặc biệt là...

Chủ đề:
Lưu

Nội dung Text: Đề tài: Phát hiện khuôn mặt trong ảnh

  1. TÓM TẮT Nhận diện mặt người là bài toán mới chỉ xuất hiện cách đây không lâu , chỉ khoảng vài thập niên , nhưng đã có rất nhiều nghiên cứu về nó . Các nghiên cứu ban đ ầu rất đ ơn gi ản , ảnh là đen trắng và chỉ có một khuôn mặt chụp thẳng , sau này mở r ộng ra cho ảnh màu , ảnh có nhiều khuôn mặt với nhiều góc , môi trường xung quanh cũng đi t ừ đ ơn gi ản đ ến r ất phức tạp … Ngày nay các hệ thống nhận dạng mặt người đang được ứng dụng trong nhi ều lĩnh vực, đặc biệt là an ninh và bảo mật. Nhận dạng mặt người tức là đưa ra nh ững thông tin về đối tượng được đưa vào từ một bức ảnh, hay từ camera quan sát. Bước đầu tiên c ủa một hệ thống nhận dạng mặt người là phát hiện khuôn mặt, tức xác định vị trí khuôn m ặt trên bức ảnh, sau đấy tách khuôn mặt ra khỏi ảnh để tiến hành nhận d ạng. Sau khi đã xem xét các hướng tiếp cận khác nhau, em chọn phương pháp PCA và phương pháp ti ếp cận học máy bằng Adaboost và mô hình Cascade of classifiers. Điểm mạnh c ủa Adaboost là tốc độ phát hiện khuôn mặt khá nhanh. Kết quả thử nghiệm cho thấy chương trình đạt độ chính xác khá cao với các ảnh mặt người được chụp trực diện bằng máy kĩ thuật số.
  2. CHƯƠNG 1- TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP XÁC ĐỊNH MẶT NGƯỜI 1. Giới thiệu về bài toán xác định mặt người trong ảnh. Trong nhiều năm qua, có rất nhiều công trình nghiên cứu về bài toán nhận d ạng m ặt người. Các nghiên cứu đi từ bài toán đơn giản, từ việc nhận dạng m ột m ặt ng ười trong ảnh đen trắng cho đến mở rộng cho ảnh mầu và có nhiều mặt người trong ảnh. Đ ến nay các bài toán xác định mặt người đã mở rộng với nhiều mi ền nghiên c ứu như nhận dạng khuôn mặt, định vị khuôn mặt, theo dõi mặt người hay nhận dạng cảm xúc m ặt người… Phát hiện mặt người trong ảnh là phần đầu tiên của một hệ thống nhận dạng m ặt người. Các hệ thống nhận dạng khuôn mặt được bắt đầu xây dựng từ những năm 1970, tuy nhiên do còn hạn chế về các luật xác định mặt người nên chỉ được áp dụng trong m ột số ứng dụng như nhận dạng thẻ căn cước. Nó chỉ được phát triển mạnh mẽ từ những năm 1990 khi có những tiến bộ trong công nghệ video và ngày nay thì các ứng d ụng c ủa xác định mặt người đã trở nên phổ biến trong cuộc sống. 2. Định nghĩa bài toán xác định mặt người. Xác định khuôn mặt người là một kỹ thuật máy tính để xác định các vị trí và kích thước của các khuôn mặt người trong các ảnh bất kì. K ỹ thu ật này nh ận bi ết các đ ặc tr ưng của khuôn mặt và bỏ qua những thứ khác như: tòa nhà, cây cối, cơ thể … 3. Những khó khăn và thách thức đối với bài toán xác định mặt người. Việc xác định khuôn mặt người có những khó khăn nhất định như: • Hướng của khuôn mặt đối với máy ảnh, như: nhìn thẳng, nhìn nghiêng hay nhìn từ trên xuống. Cùng trong một ảnh có thể có nhiều khuôn mặt ở những tư thế khác nhau. • Sự có mặt của các chi tiết không phải là đặc trưng riêng c ủa khuôn m ặt ng ười, như: râu quai nón, mắt kính, …. • Các nét mặt khác nhau trên khuôn mặt, như: vui, buồn, ngạc nhiên, …. • Mặt người bị che khuất bởi các đối tượng khác có trong ảnh. rất khác khi người đấy cười, tức giận hay sợ hãi … 4. Các ứng dụng của xác định mặt người Xác định mặt người thường là một phần của một hệ th ống (facial recognition system). Nó thường được dùng trong giám sát video, giao ti ếp người máy và qu ản lý c ơ s ở d ữ li ệu ảnh… Các ứng cơ bản của xác định mặt người có thể kể đến là: 4.1. Xác minh tội phạm. Dựa vào ảnh của một người, nhận dạng xem người đấy có ph ải là t ội ph ạm hay không bằng cách so sách với các ảnh tội phạm đang được lưu tr ữ. Ho ặc có th ể s ử d ụng camera để phát hiện tội phạm trong đám đông. Ứng dụng này giúp c ơ quan an ninh qu ản lý con người tốt hơn. 4.2. Camera chống trộm. Các hệ thống camera sẽ xác định đâu là con người và theo dõi xem con người đó có làm gì phạm pháp không, ví dụ như lấy trộm đồ, xâm nhập bất hợp pháp vào một khu vực nào đó. 4.3. Bảo mật. Các ứng dụng về bảo mật rất đa dạng, một trong số đó là công ngh ệ nh ận d ạng m ặt người của laptop, công nghệ này cho phép chủ nhân c ủa máy tính ch ỉ c ần ng ồi tr ước máy là có thể đăng nhập được. Để sử dụng công nghệ này, người dùng ph ải s ử d ụng m ột webcam để chụp ảnh khuôn mặt của mình và cho máy “học” thuộc các đặc đi ểm c ủa khuôn mặt giúp cho quá trình đăng nhập sau này.
  3. 4.4. Lưu trữ khuôn mặt Xác định mặt người có thể được ứng dụng trong các trạm rút ti ền tự động (ATM) đ ể lưu trữ khuôn mặt của người rút tiền. Hiện nay có những người bị người khác l ấy tr ộm th ẻ ATM và mã PIN, và bị rút tiền trộm, hoặc có những ch ủ tài kho ản đi rút ti ền nh ưng l ại báo với ngân hàng là bị mất thẻ và bị rút tiền tr ộm. N ếu lưu tr ữ đ ược khuôn m ặt c ủa ng ười rút tiền, ngân hàng có thể đối chứng và xử lý dễ dàng hơn. 4.5. Các ứng dụng khác • Điều khiển vào ra: văn phòng, công ty, trụ sở, máy tính, Palm, …. K ết h ợp thêm vân tay và mống mắt. Cho phép nhân viên được ra vào nơi cần thiết. • An ninh sân bay, xuất nhập cảnh (hiện nay c ơ quan xuất nhập c ảnh Mỹ đã áp dụng). Dùng camera quan sát để xác thực người nhập cảnh và kiểm tra xem người đấy có phải là tội phạm hay phần tử khủng bố không. Tìm kiếm và tổ chức dữ liệu liên quan đến con người thông qua khuôn mặt người trên nhiều hệ cơ sở dữ liệu lưu trữ thật lớn, như internet, các hãng truyền hình, …. • Kiểm tra trạng thái người lái xe có ngủ gật, mất tập trung hay không, và h ỗ tr ợ thông báo khi cần thiết. • Tương lai sẽ phát triển các loại thẻ thông minh có tích h ợp s ẵn đặc tr ưng c ủa người dùng trên đó, khi bất cứ người dùng khác dùng để truy c ập hay xử lý t ại các hệ thống sẽ được yêu cầu kiểm tra các đặc trưng khuôn mặt so với thẻ để bi ết nay có phải là chủ thẻ hay không. người • Hãng máy chụp hình Canon đã ứng dụng bài toán xác đ ịnh khuôn m ặt ng ười vào máy chụp hình thế hệ mới để cho kết quả hình ảnh đẹp hơn, nhất là khuôn mặt người. 5. Xác định phạm vi đề tài Trong đề tài này, tôi tập trung vào việc xác định khuôn mặt trong ảnh. Từ đấy lưu khuôn mặt tìm được vào CSDL để phục vụ cho các mục đích khác ( chẳng hạn như nhận dạng mặt người hoặc ghép khuôn mặt vào bức ảnh khác … ). Do các điều kiện khó khăn đã nêu ở trên ( mục 3 chương 1) tôi xin đưa ra những giả định và rành buộc sau để giảm độ phức tạp của bài toán: • Các khuôn mặt được chụp thẳng hoặc góc nghiêng không đáng kể (bé hơn 10o) • Phông nền của ảnh không quá phức tạp • Ảnh được chụp trong điều kiện ánh sáng bình thường. • Đối với video hoặc webcam, do có thể tách thành các xử lý trên ảnh nên v ới nh ững video phức tạp hay webcam quá kém, chương trình sẽ không thực hiện được tốt nhất có thể.
  4. CHƯƠNG 2- CÁC CÔNG TRÌNH NGHIÊN CỨU 1. Các phương pháp chính để xác định mặt người. Dựa vào tính chất của các phương pháp xác định mặt người trên ảnh, các phương pháp này được chia thành bốn loại chính, tương ứng với b ốn h ướng ti ếp c ận khác nhau. Ngoài ra cũng có rất nhiều nghiên cứu mà phương pháp xác định mặt người không ch ỉ dựa vào một hướng mà có liên quan đến nhiều hướng. • Hướng tiếp cận dựa trên tri thức: Dựa vào các thuật toán, mã hóa các đ ặc tr ưng và quan hệ giữa các đặc trưng của khuôn mặt thành các luật. Đây là hướng tiếp cận theo kiểu top-down. • Hướng tiếp cận dựa trên đặc trưng không thay đổi: Xây d ựng các thu ật toán đ ể tìm các đặc trưng của khuôn mặt mà các đặc trưng này không thay đ ổi khi t ư th ế khuôn mặt hay vị trí đặt camera thay đổi. Hướng tiếp cận này là hướng tiếp cận theo kiểu bottom-up. • Hướng tiếp cận dựa trên so sánh khớp mẫu: Dùng các m ẫu chuẩn của khuôn m ặt (các mẫu này được định nghĩa bằng tay trước ho ặc được tham s ố hóa bằng m ộ hàm số) để mô tả các khuôn mặt hay các đặc trưng của khuôn mặt. Mẫu này được sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá trị tương đồng cho mỗi vị trí. Việc xuất hiện một khuôn mặt tại một vị trí nào đó trong ảnh phụ thuộc vào giá trị tương đồng của điểm đó so với mẫu chuẩn • Hướng tiếp cận dựa trên diện mạo: Trái ngược với hướng ti ếp cận dựa trên khuôn mẫu, các mô hình (hay các mẫu) sẽ được học từ một tập ảnh huấn luyện mà thể hiện tính chất tiêu biểu của sự xuất hiện của mặt người trong ảnh. Sau đó hệ thống (mô hình) sẽ xác định mặt người. Phương pháp này còn được biết đến với tên gọi tiếp cận theo các phương pháp học máy. 1.1. Hướng tiếp cận dựa trên tri thức 1.1.1. Tư tưởng Trong hướng tiếp cận này, các phương pháp xác định m ặt người đ ược xây d ựng d ựa vào các luật, các luật này phụ thuộc vào tri thức của các tác gi ả nghiên c ứu v ề bài toán xác định khuôn mặt. Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng c ủa khuôn mặt và các quan hệ tương ứng. Ví dụ, một khuôn mặt thường có hai mắt đối xứng qua tr ục th ẳng đứng giữa khuôn mặt và có một mũi một miệng. Các quan hệ đặc tr ưng có th ể là quan h ệ v ề vị trí và khoảng cách tương đối. Khó khăn của hướng ti ếp cận này đó là làm th ế nào đ ể chuyển các tri thức của con người về khuôn mặt sang các luật cho máy tính m ột cách hi ệu quả. Nếu các luật này quá chi tiết, chặt chẽ thì sẽ có thể xác định thiếu các khuôn m ặt có trong ảnh, nhưng nếu các luật quá tổng quát thì sẽ dẫn đến xác định sai khu v ực không ph ải là khuôn mặt thành khuôn mặt. Ngoài ra cũng khó để mở r ộng phạm vi của bải toán để xác định các khuôn mặt có nhiều tư thế khác nhau. 1.1.2. Các nghiên cứu Có nhiều cách để xây dựng chương trình xác định mặt người theo h ướng ti ếp c ận dựa trên tri thức. Thông thường chương trình sẽ được xây dựng theo hướng d ựa vào m ột phương pháp nào đấy chọn ra các ứng viên trong bức ảnh trước, sau đó sẽ áp dụng các luật để xác định ứng viên nào là khuôn mặt, ứng viên nào không phải là khuôn mặt. Quá trình này có thể được áp dụng nhiều lần để giảm sai sót.
  5. Hình 1: Một phương pháp xác định khuôn mặt điển theo hướng tiếp cận top-down. Trên hình 1, Các luật được xây dựng dựa vào tri thức của người nghiên cứu về các đặc trưng của khuôn mặt (ví dụ như cường độ phân phôi và sự khác nhau ) của các vùng trên khuôn mặt Yang và Huang đã sử dụng hướng tiếp cận dựa trên tri thức để xác định khuôn mặt [7]. Hệ thống của hai tác giả bao gồm ba mức luật. Đầu tiên các ông sử dụng m ột khung cửa sổ để quét trên bức ảnh và thông qua một số tập luật để xác định các ứng viên có th ể là mặt người, ví dụ như tìm phần trung tâm của khuôn mặt (phần tối hơn trong hình 1). Tiếp theo, dùng một tập luật để mô tả tổng quát hình dáng khuôn m ặt, lọc các ứng viên ở mức một thành một tập các ứng viên mới có xác xuất là khuôn mặt cao h ơn. Cu ối cùng, các ông lại dùng một tập luật khác để xem xét ở mức chi tiết các đặc trưng khuôn m ặt ( có thể là đặc trưng về mắt, mũi, miệng … ), từ đó lọc ra các ứng viên chính xác nhất. Có th ể nói cách làm của hai ông là một cách làm mịn dần để đạt được kết qu ả t ốt nhất, m ặc dù t ỷ lệ chính xác chưa cao, nhưng đây là tiền đề cho nhiều nghiên cứu sau này. Có rất nhiều công trình nghiên cứu sử dụng phương pháp chiếu để xác đ ịnh khuôn mặt. Kotropoulos và Pitas đưa ra một phương pháp gần tương t ự v ới Yang và Huang. Đ ầu tiên, các vùng của khuôn mặt được định vị bởi phương pháp chiếu (đã được Kanade sử dụng thành công) để xác định biên của khuôn mặt. Với I(x,y) là giá tr ị xám c ủa m ột đi ểm trong ảnh có kích thước m x n ở tại vị trí (x,y), các hàm để chiếu ảnh theo phương ngang và thẳng đứng được định nghĩa như sau: Dựa trên biểu đồ hình chiếu ngang, khi xét biểu đồ biến thiên của HI hai ông tìm được hai cực tiểu địa phương tương ứng với hai đỉnh đầu bên trái và bên phải c ủa khuôn mặt. Còn theo hình chiếu dọc, xét biến thiên và tìm cực tiểu địa phương của VI cũng cho ta các vị trí của miệng, đỉnh mũi và hai mắt. Các đặc trưng này đ ủ đ ể xác đ ịnh khuôn m ặt Hình 2.a cho một ví dụ về cách xác định như trên. Cách xác định này có tỷ lệ xác đ ịnh chính xác là 86.5% cho trường hợp chỉ có một khuôn mặt trực diện và hình n ền không phức tạp. Nếu hình nền phức tạp như hình 2.b thì rất khó tìm. Còn nếu ảnh có nhiều khuôn m ặt (hình 2.c) thì sẽ
  6. không xác định được Hình 2: Phương pháp chiếu (a) Ảnh chỉ có một khuôn mặt và hình nền đơn giản; (b) Ảnh chỉ có một khuôn mặt và hình nền phức tạp; (c) Ảnh có nhiều khuôn mặt 1.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi. Tiếp cận dựa trên các đặc trưng không thay đổi là ti ếp cận theo ki ểu bottom up. D ựa trên thực tế, chúng ta cố gắng tìm ra những đặc điểm không thay đổi khi c ủa khuôn m ặt khi ở các tư thế khác nhau và các điều kiện môi trường như ánh sáng khác nhau. Đã có rất nhiều nghiên cứu về hướng tiếp cận này, các đặc điểm không thay đổi được tìm thấy như lông mày, mắt, mũi, miệng hay các đường viền trên tóc … Trên cơ sở các đặc tr ưng này, các nhà nghiên cứu xây dựng lên một mô hình thống kê mô tả quan hệ của các đặc trưng và từ đó xác định sự xuất hiện của khuôn mặt trong bức ảnh. Khó khăn của hướng tiếp cận này đó là phải mô tả các đặc trưng không thay đổi và quan hệ giữa chúng phù hợp với điều kiện ánh sáng, độ nhiễu hay bị che khuất. 1.2.1. Các đặc trưng của khuôn mặt Có rất nhiều nghiên cứu về các đặc trưng của khuôn m ặt. Có th ể d ựa vào các đ ặc trưng như hai mắt, hai lỗ mũi, miệng, phần nối giữa mũi và mi ệng … ho ặc d ựa vào đ ường viền của khuôn mặt Leung đã đưa ra một mô hình xác xuất để xác định khuôn m ặt trong ảnh có hình n ền phức tạp dựa trên việc tìm kiếm các đặc trưng không thay đổi c ủa khuôn m ặt trong ảnh,sau đó dùng đồ thị ngẫu nhiên để xác định khuôn mặt. Tư tưởng của phương pháp này đó là xem bài toán xác định khuôn mặt như là bài toán tìm ki ếm với mục tiêu là tìm th ứ t ự các đặc trưng không thay đổi của khuôn mặt. Dùng năm đặc trưng (hai m ắt, hai l ỗ mũi, phần nối giữa mũi và miệng) để mô tả một khuôn mặt. Đồng thời tính quan hệ khoảng cách cho tất cả các cặp đặc trưng (như mắt trái, mắt phải), sau đấy dùng phân bố Gauss để mô hình hóa. Một mẫu khuôn mặt được đưa ra thông qua trung bình tương ứng cho m ột tập đa hướng, đa tỷ lệ của bộ lọc đạo hàm Gauss. Từ một ảnh, các đặc trưng của ứng viên được xác định bằng cách so khớp từng điểm ảnh khi lọc tương ứng với vector mẫu. Hai ứng viên có đặc trưng đứng đầu sẽ được chọn để tìm kiếm cho các đặc trưng khác của khuôn mặt. Từ các đặc trưng không thay đổi, các đặc trưng khác sẽ được xác định thông qua sự đánh giá xác xuất khoảng cách giữa các đặc trưng, hơn nữa phương sai của phép thống kê này có thể được tính toán trước để xác định các đặc trưng với xác xuất lớn. Tỷ lệ chính xác của phương pháp này là 86%.
  7. Bên cạnh tính khoảng cách liên quan để mô tả quan hệ gi ữa các đ ặc tr ưng nh ư Leung. Kendall [4], Mardia and Dryden [12] dùng lý thuyết xác suất th ống kê về hình dáng. Dùng hàm mật độ xác suất (Probility Density Function - PDF) qua N đi ểm đ ặc tr ưng, t ương ứng (xi, yi) là đặc trưng thứ i với giả sử là phân bố Gauss có 2N-chi ều. Các tác giả áp dụng phương thức cực đại khả năng (Maximum-Likelihood - ML) để xác địnhvị trí khuôn m ặt. M ột thu ận l ợi của phương pháp này là các khuôn mặt bị che khuất vẫncó thể xác đ ịnh đ ược. H ạn ch ế phương pháp này đó là không xác định được nhiều khuôn mặt trong cùng một ảnh. Không dùng phương pháp xác xuất, Sirohey đưa m ột phương pháp khác xác đ ịnh khuôn mặt từ một ảnh có hình nền phức tạp [10], gọi là phương pháp d ựa trên c ạnh. Ông dùng phương pháp Candy [9] và heuristics loại bỏ các cạnh để còn lại duy nh ất m ột đ ường bao xung quanh khuôn mặt. Dùng một hình ellipse để bao khuôn m ặt, tách bi ệt vùng đầu và hình nền. Tỷ lệ chính xác của thuật toán là 80%. Graf đưa ra một phương pháp khác để xác định đặc trưng, từ đó xác đ ịnh khuôn m ặt trong ảnh xám [8]. Dùng bộ lọc để làm nổi các biên, các phép toán hình thái h ọc (morphology) được dùng để làm nổi bật các vùng có cường độ cao và hình dáng ch ắc chắn (như mắt). Thông qua histogram để tìm các đỉnh nổi bật để xác định các ngưỡng chuyển ảnh xám thành hai ảnh nhị phân. Tiếp theo, ông xác định các ứng viên khuôn mặt nhờ vào các thành phần đều xuất hiện trong cả hai ảnh nhỉ phân, sau đó phân loại xem các ứng viên có phải là khuôn mặt không. Phương pháp được kiểm tra và cho kết quả tốt trên các ảnh chỉ có đầu và vai của người. Tuy nhiên phương pháp này còn một vấn đề đấy là sử dụng các phép toán morphology như thế nào và làm sao xác định khuôn mặt trên các vùng ứng viên. Park dùng Gaze để tìm ứng viên góc mắt, miệng và tâm m ắt. Ông xây d ựng SVM (Support Vector Machine) đã được học trước đó để xác định các vị trí ứng viên có phải là góc mắt, miệng, và tâm mắt hay không để theo vết con mắt người. Juan và Narciso xây dựng một không gian màu mới YCg’Cr’ để l ọc các vùng là ứng viên khuôn mặt dựa trên sắc thái của màu da người. Sau khi có ứng viên, hai ông dùng các quan hệ về hình dáng khuôn mặt, mức độ cân đối của các thành phần khuôn mặt để xác định khuôn mặt người. Tương tự, Chang và Hwang cũng dùng không gian m ầu Ycg’Cr’ với tỷ lệ chính xác hơn 80% trong ảnh xám. Jin xây dựng một bộ lọc để xác định ứng viên khuôn mặt người theo màu da người Từ ứng viên này tác giả xác định khuôn mặt người theo hình dáng khuôn m ặt và các quan h ệ đặc trưng về thành phần khuôn mặt, với mắt phải được chọn làm g ốc t ọa đ ộ đ ể xét quan hệ. Tỷ lệ chính xác cho khuôn mặt chụp thẳng trên 80%. 1.2.2. Kết cấu của khuôn mặt. Khuôn mặt con người có những kết cấu riêng bi ệt mà có th ể dùng đ ể phân lo ại so v ới các đối tượng khác. Từ kết cấu của khuôn mặt xây dựng lên m ột b ộ phân lo ại, gọi là k ết c ấu giống khuôn mặt (face-like texture). 1.2.3. Mầu sắc da. Thông thường các ảnh màu không xác định trực ti ếp trên toàn b ộ d ữ li ệu ảnh mà các tác giả dùng tính chất sắc màu của da người (khuôn mặt người) đ ể ch ọn ra đ ược các ứng viên có thể là khuôn mặt người (lúc này dữ liệu đã thu hẹp đáng k ể) đ ể xác đ ịnh khuôn m ặt người. 1.2.4. Đa đặc trưng. Gần đây có nhiều nghiên cứu sử dụng các đặc trưng toàn cục nh ư: màu da ng ười, kích thước, và hình dáng để tìm các ứng viên khuôn mặt, rồi sau đó sẽ xác định ứng viên nào là khuôn mặt thông qua dùng các đặc trưng c ục bộ (chi ti ết) như: m ắt, lông mày, mũi, miệng, và
  8. tóc. Tùy mỗi tác giả sẽ sử dụng tập đặc trưng khác nhau. 1.3. Hướng tiếp cận dựa trên so sánh khớp mẫu. 1.3.1. Tư tưởng của so sánh khớp mẫu Trong hướng tiếp cận dựa trên so sánh khớp mẫu, các mẫu chuẩn c ủa khuôn m ặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc được bi ểu di ễn thành một hàm với các tham số cụ thể. Từ ảnh đầu vào, ta tính các giá tr ị tương quan so v ới các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá tr ị t ương quan này mà hệ thống sẽ quyết định có hay không có tồn tại khuôn mặt trong ảnh. Hướng ti ếp c ận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi. 1.3.2. Xác định các mẫu. Sakai đã cố gắng thử xác định khuôn mặt người chụp thẳng trong ảnh [20]. Ông dùng vài mẫu con (sub template) về mắt, mũi, miệng, và đường viền khuôn mặt để mô hình hóa một khuôn mặt. Mỗi mẫu con được định nghĩa trong giới hạn của các đo ạn thẳng. Các đo ạn thằng trong ảnh được trích bằng cách xem xét thay đổi c ủa h ệ số góc và so kh ớp các m ẫu con. Đầu tiên tìm các ứng viên thông qua mối tương quan gi ữa các ảnh con và các m ẫu v ề đường viền. Sau đó, so khớp với các mẫu con khác. Hay nói m ột cách khác, giai đo ạn đ ầu xem như là giai đoạn sơ chế để tìm ứng viên, giai đọan th ứ hai là giai đo ạn tinh ch ế đ ể xác định ứng viên có phải là khuôn mặt hay không. Ý tưởng này được duy trì cho đ ến các nghiên cứu sau này. Craw đưa ra một phương pháp xác định khuôn mặt người dựa vào các m ẫu v ề hình dáng của các ảnh được chụp thẳng (dùng vẻ bề ngoài của hình dáng khuôn m ặt). Đ ầu tiên dùng phép lọc Sobel (Phép lọc Sobel dựa vào tích vô hướng c ủa hai vector gradient) đ ể tìm các cạnh. Các cạnh này sẽ được nhóm lại theo m ột số ràng bu ộc. Sau đó, tìm đ ường vi ền của đầu, quá trình tương tự được lặp đi lặp lại với mỗi tỷ lệ khác nhau để xác định các đặc trưng khác như: mắt, lông mày, và môi. Sau đó Craw mô tả m ột ph ương th ức xác định dùng một tập có 40 mẫu để tìm các đặc trưng khuôn mặt và điều khiển chiến lược dò tìm. Một số nhà nghiên cứu sử dụng hình chiếu như các mẫu để xác định khuôn mặt người. Silhouettes dùng PCA (phân tích thành phần chính – Principal Component Analysis - PCA) để có một tập hình chiếu cơ bản từ các mẫu khuôn mặt, hình chiếu được mô t ả nh ư một mảng các bit. Sau đấy dùng đặc trưng hình chiếu kết hợp biến đ ổi Hough đ ể xác đ ịnh khuôn mặt người. Phương pháp này định nghĩa m ột số gi ả thuyết đ ể mô t ả các khả năng c ủa các đặc trưng khuôn mặt. Với một khuôn mặt sẽ có một tập gi ả thuyết, gọi là lý thuyết DepsterShafer. Dùng một nhân tố tin cậy để kiểm tra sự tồn tại hay không c ủa các đ ặc tr ưng của khuôn mặt, và kết hợp nhân tố tin cậy này với một độ đo để xem xét có hay không có khuôn mặt trong ảnh. Sinha dùng một tập nhỏ các ảnh bất biến trong không gian ảnh đ ể mô tả không gian các mẫu ảnh [15, 16]. Tư tưởng chính của ông dựa vào s ự thay đ ổi m ức đ ộ sáng của các vùng khác nhau của khuôn mặt (như hai mắt, hai má, và trán), (quan h ệ v ề m ức độ sáng của các vùng còn lại thay đổi không đáng kể). Sau đấy xác đ ịnh các c ặp t ỷ s ố c ủa mức độ sáng của một số vùng (một vùng tối hơn hay sáng hơn) cho ta m ột l ượng b ất bi ến khá hiệu quả. Ông lưu sự thay đổi độ sáng của các vùng trên khuôn m ặt trong m ột t ập thích hợp với các cặp quan hệ sáng hơn – tối hơn gi ữa các vùng nh ỏ. M ột khuôn m ặt đ ược xác định nếu nó thỏa mãn tất cả các cặp sáng hơn – tối hơn. Ý t ưởng này xu ất phát t ừ s ự khác biệt của cường độ giữa các vùng kề cục bộ trên ảnh, sau này nó được m ở rộng trên c ơ sở biến đổi wavelet để xác định người đi bộ, xác định xe hơi, xác định khuôn m ặt. Ý t ưởng c ủa Sinha còn được áp dụng trong các nghiên cứu về thị giác c ủa robot. Hình 3 cho th ấy m ẫu khuôn mặt với 16 cùng và 23 quan hệ. Các quan hệ này đ ược dùng đ ể phân lo ại, có 11 quan hệ thiết yếu (các mũi tên màu đen) và 12 quan hệ xác thực (các mũi tên m ầu xám). Mỗi mũi
  9. tên là một quan hệ. Một quan hệ của hai vùng thỏa mãn mẫu khuôn mặt khi tỷ lệ gi ữa hai vùng vượt qua một ngưỡng và một khuôn mặt được xác đinh khi có 23 quan hệ thỏa mãn điều kiện trên Hình 3: Một mẫu khuôn mặt Mẫu khuôn mặt có kích thước 14 x 16 pixel được sử dụng trong phương pháp định v ị khuôn mặt của Sinha. Mẫu gồm 16 vùng trên khuôn mặt và 23 quan hệ ( các mũi tên). Một số phương pháp khác như của Froba và Zink lọc cạnh ở đ ộ phân gi ải th ấp r ồi dùng biến đổi Hough để so khớp mẫu theo hướng c ạnh để xác đ ịnh hình dáng khuôn m ặt ở dạng chụp hình thẳng ở dạng xám. Tỷ lệ chính xác trên 91%. Ngoài ra Shu và Jain còn xây dựng ngữ nghĩa khuôn mặt. Ngữ nghĩa xây dựng theo hình dáng và vị trí các thành ph ần khuôn mặt. Hai ông từ bộ ngữ nghĩa này tạo một đồ thị quan hệ để dễ dàng so khớp khi xác định khuôn mặt người … 1.3.3. Các mẫu biến dạng Yuille dùng các mẫu biến dạng để mô hình hóa các đặc trưng của khuôn mặt [3]. Trong hướng tiếp cận này, các đặc trưng khuôn mặt được mô tả bằng các m ẫu đ ược tham số hóa và có một hàm năng lượng (giá trị) được để liên kết các c ạnh, đ ỉnh, và thung lũng trong ảnh để tương ứng với các tham số trong mẫu. Mô hình này tốt nh ất khi t ối thi ểu hàm năng lượng qua các tham số, Mặc dù có kết quả tốt nhưng phương pháp này có m ột số hạn chế đó là các mẫu biến dạng phải được khởi tạo trong phạm vi gần với các đối tượng mà nó xác định. Rất nhiều hướng tiếp cận dựa trên dường gấp khúc (snake) và các m ẫu đ ể xác đ ịnh khuôn mặt. Đầu tiên ảnh sẽ được làm xoắn lại bởi một lọc làm mờ r ồi dùng phép toán morphology để làm nổi bật cạnh lên. Tiếp theo dùng m ột đường gấp khúc có n đi ểm ảnh (giá trị n nhỏ) để tìm và ước lượng các đọan cong nhỏ. Mỗi khuôn mặt được xấp x ỉ b ằng một ellipse và biến đổi Hough, rồi tìm một ellipse nổi tr ội nh ất. Các ứng viên s ẽ có b ốn tham số mô tả nột ellipse (để xác định khuôn mặt). Với mỗi ứng viên, m ột ph ương th ức tương tự như phương thức mẫu biến dạng được dùng để xác định các đặc tr ưng ở mức chi tiết. Nếu tìm thấy số lượng đáng kể các đặc trưng khuôn mặt và thỏa mãn tỷ lệ cân đối thì xem như đã xác định được một khuôn mặt. Lam và Yan cũng dùng đường gấp khúc để xác định vị trí đầu v ới
  10. thuất toán greedy để cực tiểu hóa hàm năng lượng [11]. Thay vì dùng đường gấp khúc thì Huang và Su [6] dùng lý thuyết dòng ch ảy đ ể xác định đường viền khuôn mặt dựa trên đặc tính hình học. Hai ông dùng lý thuyết t ập h ợp đ ồng mức (Level Set) để loang từ các khởi động ban đầu để có được các khuôn mặt người. Lanitis mô tả một phương pháp biểu diễn khuôn mặt người với cả hai thông tin: hình dáng và cường độ [12]. Bắt đầu bằng các tập ảnh được huấn luyện v ới các đ ường vi ền mẫu như là đường bao mắt, mũi, cằm/má đã được gán nhãn(phân lo ại). Ông dùng m ột vector các điểm mẫu để mô tả hình dáng. Sau đó dùng một mô hình phân b ố đi ểm (Point Distribution Model – PDM) để mô tả vector hình dáng qua toàn b ộ các cá th ể. Dùng cách tiếp cận như của Kirby và Sirovich [14] để mô tả cường độ bề ngoài của hình dáng đã được chuẩn hóa. Để tìm kiếm và ước lượng vị trí khuôn mặt cũng như các tham số về hình dáng ông sử dụng một mô hình PDM có hình dáng như khuôn mặt (xác định khuôn mặt bằng mô hình hình dáng tích cực - Active Shape Model - ASM). Các mảnh của khuôn mặt được làm biến dạng về hình dáng trung bình rồi trích lấy các tham số cường độ. Sau đấy các tham số hình dáng và cường độ được dùng để phân loại và xác định khuôn mặt. 1.4. Hướng tiếp cận dựa trên diện mạo. 1.4.1. Tư tưởng của hướng tiếp cận dựa trên diện mạo Trái ngược với hướng tiếp cận dựa trên so sánh khớp mẫu (các mẫu đã đ ược các nhà nghiên cứu định nghĩa trước), các mẫu trong hướng tiếp cận này được học từ một tập ảnh mẫu. Có thể nói hướng tiếp cận dựa trên diện mạo áp dụng các kỹ thuật theo hướng xác suất thống kê và học máy để tìm những đặc tính liên quan của khuôn mặt và không phải là hiệu quả xác định. Trong hướng tiếp cận này, phương pháp xác xuất tiếp tục được nhiều nhà nghiên c ứu sử dụng. Một bức ảnh hoặc một vector (đặc trưng cho bức ảnh) đ ược xem nh ư m ột bi ến ngẫu nhiên. Biến ngẫu nhiên này sẽ được xác định là có mô tả các đ ặc tính c ủa khuôn mặt hay không thông qua các xác xuất có điều kiện p(x/face) và p(x/nonface). Có thể dùng bộ phân loại Bayesian để phân loại các ứng viên là khuôn mặt hay không phải khuôn m ặt. Tuy nhiên, việc cài đặt bộ phân loại Bayesian với số chiều x lớn là một điều khá khó khăn, do đó có rất nhiều nghiên cứu theo hướng tiếp cận này quan tâm tới vi ệc tham s ố hóa hay không tham s ố các xác xuất p(x/face) và p(x/nonface). Một các tiếp cận khác trong hướng tiếp cận dựa trên diện mạo là tìm m ột hàm bi ệt số ví dụ như các hàm mô tả mặt phẳng hay siêu phẳng quy ết đ ịnh (các ranh gi ới) đ ể phân bi ệt hai lớp khuôn mặt và không phải khuôn mặt. Thông thường, m ột b ức ảnh đ ược chi ếu vào không gian có số chiều ít hơn rồi sau đó dùng một hàm biệt số (dựa trên các đ ộ đo kho ảng cách) để phân loại hoặc xây dựng một mặt quyết định phi tuyến b ằng m ạng neural đa t ầng. Ngoài ra có thể dùng SVM (Super Vector Machine) và các ph ương th ức kernel chi ếu các m ẫu vào không gian có số chiều cao hơn để dữ liệu bị rời rạc hoàn toàn và t ừ đó có th ể s ử d ụng mặt phẳng phân loại để phân loại các mẫu là khuôn mặt hay không phải là khuôn mặt[5]. 1.4.2. Một số phương pháp cụ thể trong hướng tiếp cận dựa trên diện mạo Có rất nhiều phương pháp học máy được sử dụng trong h ướng ti ếp c ận d ựa trên di ện mạo. Trong phần này chỉ nêu ra một số phương pháp cùng những nghiên cứu liên quan đ ến phương pháp đấy. Riêng phương pháp adaboost sẽ được trình bầy trong phần sau của báo cáo. a. Adaboost Adaboost được đánh giá là phương phát tiếp cận nhanh nhất trong các thu ật toán h ọc máy. Nó thường được kết hợp với các mô hình cascade of classifiers để tăng t ốc đ ộ phát hiện khuôn mặt trong ảnh. Tư tưởng của thuật toán adaboost đấy là kết hợp các bộ phân loại yếu
  11. thành một bộ phân loại mạnh. Trong quá trình xây dựng, bộ phân lo ại yếu ti ếp theo sẽ đ ược xây dựng dựa trên các đánh giá về các bộ phân loại yếu trước, cuối cùng các bộ phân loại yếu sẽ được kết hợp để trở thành bộ phân loại mạnh Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn m ặt người [17] v ới các đặc trưng dạng Haar-like. Tốc độ xử lý khá nhanh và t ỷ l ệ chính xác h ơn 80%. Ngoài ra Schneiderman và Kanade dùng wavelet để trích đặc trưng, sau đấy cũng xây d ựng h ệ th ống học với Adaboost, dựa trên xác suất để xác định khuôn mặt người. T ỷ l ệ chính xác trên c ủa phương pháp này lên đến 90%. b. Mạng Neural Về cơ bản mạng neural là một mạng các phần tử (gọi là neuron) kết n ối v ới nhau thông qua các liên kết (các liên kết này được gọi là trọng số liên k ết) đ ể th ực hi ện m ột công việc cụ thể nào đó. Khả năng xử lý của mạng neuron được hình thành thông qua quá trình hiệu chỉnh trọng số liên kết giữa các neuron, nói cách khác là h ọc t ừ t ập h ợp các mẫu huấn luyện. Mạng neural rất hay được sử dụng trong các bài toán nhận dạng mẫu, nhận d ạng m ặt người cũng có thể xem là một bài toán nhận dạng với hai lo ại mẫu (m ặt người ho ặc không ph ải mặt người) và như vậy có thể sử dụng mạng neural khá hi ệu qu ả k ể c ả khi các m ẫu khuôn mặt có độ phức tạp cao. Tuy nhiên, một điều trở ngại đó là các kiến trúc m ạng đ ều có tính tổng quát cao, do đó, khi áp dụng ta phải tính toán rõ s ố lượng t ầng, số l ượng node, t ỷ l ệ h ọc … cho từng trường hợp cụ thể. c. Support Vector Machine Support Vector Machine (SVM) được Vladimir Vapnik đưa ra vào năm 1995 đ ể gi ải quyết vấn đề nhận dạng mẫu hai lớp sử dụng nguyên tắc c ực ti ểu hóa r ủi ro c ấu trúc (Structural Risk Minimization). Đây là phương pháp tiếp cận phân loại văn bản r ất hi ệu qu ả. Ưu điểm của SVM là giải thuật này được xây dựng trên ý tưởng c ực ti ểu r ủi ro c ấu trúc. Nguồn gốc của SVM dựa trên sự chắc chắn về lỗi chính xác, có thể phân lo ại ngẫu nhiên các mẫu đối tượng được chọn mà lỗi được giữ sao cho nhỏ nhất. Vì v ậy, gi ải thu ật SVM giúp giảm thiểu biên trên các lỗi chính xác và làm cho hệ thống tin cậy hơn Cho trước một tập huấn luyện, các ảnh được biểu diễn dưới dạng vector. Trong không gian vector, mỗi vertor được biểu diễn bởi một điểm. Phương pháp SVM sẽ tim m ột siêu ph ẳng quyết định để phân chia không gian vector thành hai lớp (khuôn m ặt và B ch ỉ có 3 vi ệc mà anh ta thích làm đó là: việc thứ nhất là đi dạo, th ứ hai là đi ch ợ và th ứ ba là d ọn phòng. Và vi ệc anh ta làm việc gì trong ngày phụ thuộc rất lớn vào thời ti ết c ủa ngày hôm đ ấy. Nh ư vậy, dù không nhận được thông tin cụ thể về thời tiết trong ngày ở nơi người B ở, nhưng người A vẫn có thể dựa vào việc B làm trong ngày để đoán về thời tiết hôm đấy. Như vậy nếu coi thời tiết chỉ có hai trạng thái là nắng và mưa thì thời tiết là một chuỗi Markov cụ thể, và nó là ẩn đối với người A. Dữ liệu quan sát được ở đây là việc làm trong ngày của người B. Toàn bộ hệ thống này là một mô hình Mackov ẩn. Một giả thuyết quan trọng của mô hình Markov ẩn là các mẫu có thể được xem như các tiến trình ngẫu nhiên có tham số và các tham s ố này đ ược ước l ượng chính xác. Khi phát triển HMM để giải quyết bài toán nhận dạng mẫu, phải xác định rõ có bao nhiêu tr ạng thái ẩn đầu tiên cho hình thái mô hình. Sau đó, huấn luyện HMM h ọc xác su ất chuyển tiếp giữa các trạng thái từ các mẫu, mà mỗi mẫu được mô tả nh ư một chu ỗi các quan sát. M ục tiêu huấn luyện HMM là cực đại hóa xác suất của quan sát từ dữ li ệu huấn luyện b ằng cách đi ều chỉnh các tham số trong mô hình HMM thông qua phương pháp phân đo ạn Viterbi chu ẩn và các thuật toán Baum-Welch. Sau khi huấn luyện xong, dựa vào xác su ất để xác đ ịnh m ột quan
  12. sát thuôc lớp nào. . Đối với bài toán phát hiện và nhận dạng mặt người, ta chia khuôn m ặt thành các vùng khác nhau như đầu, mắt, mũi, miệng, và cằm. Có thể nhận dạng m ột mẫu khuôn mặt người bằng cách thực hiện tiến trình xem xét các vùng quan sát theo m ột thứ tự thích h ợp (t ừ trên xuống dưới, từ trái qua phải). Mục tiêu của hướng tiếp cận này là kết hợp các vùng đặc trưng khuôn mặt với các trạng thái của mô hình.
  13. Thường các phương pháp dựa vào HMM sẽ xem xét một m ẫu khuôn m ặt như m ột chuỗi các vector quan sát, với mỗi vector là một dãy các điểm ảnh (hình 4 và hình 6) Trong quá trình huấn luyện và kiểm tra, một ảnh được quét theo một th ứ tự và m ột quan sát đ ược xem như một khối các điểm ảnh (hình 4 và hình 6). Sau đấy, áp dụng m ột đ ịnh hướng theo xác suất để chuyển từ trạng thái này sang trạng thái khác ( hình 5 ), dữ li ệu ảnh đ ược mô hình hóa bằng phân bố Gauss đa biến. Một chuỗi quan sát bao gồm tất cả giá trị cường độ từ mỗi khối. Kết quả xuất ra cho biết quan sát thuộc lớp nào. Một nghiên cứu điển hình trong các tiếp cận này đó là c ủa Samaria. Samaria đã dùng năm trạng thái tương ứng năm vùng như trong hình 6 để mô hình hóa tiến trình xác định khuôn mặt người. Ông huấn luyện từng vùng cho HMM. M ỗi trạng thái sẽ ph ụ trách xem xét m ột vùng tương ứng để đưa ra quyết định phù hợp. Nếu kết quả xem xét cu ối cùng v ượt qua m ột ngưỡng thì quan sát này sẽ là khuôn mặt người. d. Phân loại Bayes Bayes là một bộ phân loại tuyến tính dựa trên xác xuất. Tư tưởng của nó là d ựa vào xác xuất của các đặc trưng xuất hiện trong khuôn mặt. Đây là ph ương pháp đ ơn gi ản, cài đ ặt không phức tạp, tốc độ nhanh, với tập huấn luyện lớn thì cho k ết qu ả vẫn t ương đ ối chính xác. Một nghiên cứu điển hình dùng phân lo ại Bayes vào xác đ ịnh m ặt người trong h ướng tiếp cận dựa trên diện mạo đó là nghiên cứu của Schneiderman và Kanade. Hai ông đã mô t ả một phân loại Naïve Bayes để ước lượng xác xuất chung của di ện mạo c ục b ộ và v ị trí c ủa các mẫu (các vùng trên khuôn mặt) ở nhiều độ phân giải khác nhau. Ứng v ới m ỗi đ ộ phân giải, khuôn mặt người được chia thành bốn vùng chữ nhật, các vùng này được chiếu xuống không gian có số chiều bé hơn và được lượng tử hóa thành tập các m ẫu có giới hạn. Sau đấy thống kê các vùng đã được chiếu để mã hóa diện mạo cục bộ. Nếu xác xuất lớn hơn xác xuất đạt được lớn hơn xác xuất tiền nghiện thì kết luận có khuôn mặt người. Hướng tiếp cận này còn cho phép xác định các khuôn mặt bị xoay hoặc góc nhìn nghiêng.
  14. CHƯƠNG 3- NHẬN DẠNG DỰA TRÊN PCA 1.Thuật toán Khuôn mặt con người có rất nhiều nét để nhận biết , nếu như ta gặp l ại m ột người b ạn sau một thời gian dài , ta có thể nhận ra ngay người đó dù nh ững chi ti ết c ụ th ể trên m ặt có thể thay đổi như da , mái tóc . Ta nhận ra không phải vì nhớ đôi m ắt , hay mũi hay môi hay tóc , lông mày người đó mà ta nhận ra vì nhớ diện mạo c ủa người đó . T ức là trên khuôn m ặt t ồn tại một nét tổng thể nào đó để có thể nhận diện , thuật toán của ta bắt đ ầu t ừ ý t ưởng này . Phân tích thành phần chính (Principal Component Analysis ) gọi tắt là PCA là thuật toán nhận dạng ảnh dựa trên những nét tổng thể của khuôn mặt , ta sẽ áp dụng thu ật toán này đ ể th ực hiện hai công việc sau : - Thứ nhất là tìm một khuôn mặt giống với khuôn mặt cho trước - Thứ hai là xác định vị trí những khuôn mặt người trong một bức ảnh . Ban đầu ta có một tập ảnh khuôn mặt gọi là tập ảnh huấn luyện (training set) . Gi ả s ử m ỗi ảnh có kích thước M×N , ta coi mỗi bức ảnh này là một vector trong không gian M*N chi ều . Bây giờ mỗi khuôn mặt là một vector , ta thấy những vector này không phân b ố ng ẫu nhiên trong không gian ảnh mà phân bố theo một quy luật tương đối nào đó , ta có th ể nói nh ững vector này nằm trong một không gian con gọi là không gian khuôn m ặt . T ừ nh ững vector trong tập huấn luyện , ta sẽ tìm một c ơ sở trực chuẩn cho không gian khuôn m ặt . Nh ững vector thuộc cơ sở này có thể coi là những vector mang những nét t ổng th ể đ ặc tr ưng v ề khuôn mặt . Giả sử tập huấn luyện có P ảnh , khi đó ta sẽ có P vector : , , … , . Tính vector ảnh trung bình : m = . Sự khác biệt giữa những khuôn mặt với ảnh trung bình là những vector : , i=1…P Ý tưởng của việc phân tích thành phần chính là tìm một tập nh ững vector tr ực chu ẩn sao cho những vector này mô tả tốt nhất sự phân bố những vector khuôn mặt trong không gian . Những vector được chọn sao cho : lớn nhất . Những vector và giá trị vô hướng chính là những vector riêng và trị riêng tương ứng của ma trận . là tích vô hướng giữa hai vector u , v . A=[] Ta thấy ma trận A có kích thước M*N × P , còn ma trận có kích thước M*N ×M*N , do kích thước ma trận này quá lớn nên ta không thể tìm được những vector riêng và nh ững tr ị riêng trực tiếp được , thay vào đó ta sẽ tìm những vector riêng của ma trận có kích thước P×P . Nếu v là một vector riêng của và λ là trị riêng tương ứng , khi đó ta có : v = λv  v = λAv , tức là Av là một trị riêng của ma trận . Thông thường ta chỉ lấy một số Q vector riêng ứng với Q trị riêng có giá trị lớn nhất . Sau khi có các vector riêng của ma trận , ta sẽ chuẩn hóa chúng để thu được một cơ sở trực chuẩn của không gian khuôn mặt . Đặt L= , tìm V là tập hợp các vector riêng của L , D là tập hợp các trị riêng tương ứng . V bao gồm Q vector riêng ứng với những trị riêng lớn hơn m ột giá tr ị nào đó ho ặc ứng v ới Q trị riêng lớn nhất trong D . E = AV là tập các vector riêng của . Do đây là những vector riêng , mà nó lại có d ạng khuôn mặt nên còn đuợc gọi là Eigenfaces . E là ma trận M*N×Q , mỗi cột là một vector riêng . Chuẩn hóa các vector cột trong E ( chia mỗi vector cho độ dài của vector đó ) .
  15. Bây giờ , ta có thể coi E là một cơ sở trực chuẩn của không gian khuôn mặt . Với H là bức ảnh có cùng kích thước với những bức ảnh trong t ập huấn luyện . Ta s ẽ xét nó có phải là bức ảnh khuôn mặt hay không , cũng như tìm bức ảnh gi ống v ới nó nh ất trong t ập huấn luyện . H được xem là một vector trong không gian M*N chiều . Đặt K=H-m với m là vector ảnh trung bình . Cho V là một không gian có tích vô hướng hữu hạn chiều và W là m ột không gian con c ủa V . Giả sử W có một cơ sở trực chuần là {, … , . Khi đó hình chi ếu tr ực giao c ủa vector u b ất kỳ lên W được xác định như sau : = Độ dài được gọi là khoảng cách từ u đến W . Tập hợp , i=1,… , Q được gọi là tọa độ của trong không gian W . Tìm C=K là tọa độ của hình chiếu của K lên không gian khuôn mặt . C là vector c ột Q ×1 = với = C( i , 1) ; = E( : , i ) . Với là một cột trong ma trận A ( tương ứng với bức ảnh trong tập huấn luyện ) . Ta tính = là tọa độ của hình chiếu của lên không gian khuôn mặt . Ta tính hai đại lượng sau : - s = xem như khoảng cách từ bức ảnh H đến không gian mặt - = xem như khoảng cách từ H đến bức ảnh trong tập huấn luyện Xét α và β là hai ngưỡng nào đó . - s < α thì H là bức ảnh khuôn mặt ( do H đủ gần với không gian mặt ) β thì là bức ảnh của cùng một người với H . ( H đủ gần với ) - Vậy là ta đã có thể tìm bức ảnh trong tập huấn luyện giống với bức ảnh H hay xác định đó có phải là bức ảnh khuôn mặt hay không . Tuy nhiên ảnh H phải có cùng kích thước với những bức ảnh trong tập huấn luyện . Bây giờ trong một bức ảnh lớn H có nhiều khuôn mặt , ta sẽ xác định vị trí những khuôn mặt trong bức ảnh . Tại mỗi vị trí (x,y) trong H , đặt H(x,y) là một vùng trong ảnh H có kích th ước M ×N tại (x,y) , ta xem ảnh con H(x,y) là một vector M*N chiều . K(x,y) = H(x,y) – m ; Tìm (x,y) là hình chiếu của K(x,y) lên không gian khuôn mặt . Tính s(x,y)= . Tập hợp các giá trị s(x,y) tạo thành một bản đồ khuôn mặt (face map) của H , từ đó ta có th ể xác định vị trí những khuôn mặt trong ảnh . 2.Hình ảnh minh họa Trong ví dụ này ta có một tập huấn luyện gồm những bức ảnh khuôn mặt kích thước 180x200 pixel , dưới đây là một số hình ảnh của những eigenfaces thu được ( lưu ý là đây chỉ là các vector trực giao , những eigenfaces thực sự chính là những vector này được chuẩn hóa ) .
  16. Như ta thấy nếu bức ảnh là khuôn mặt người thì hình chiếu sẽ khá gi ống v ới ảnh gốc , còn khi bức ảnh không phải là khuôn mặt thì hình chiếu sẽ khác ảnh gốc rất nhiều , do đó khoảng cách từ bức ảnh mặt người tới không gian m ặt sẽ nhỏ h ơn rất nhi ều so v ới kho ảng cách t ừ bức ảnh không phải mặt người tới không gian mặt . Dưới đây là một ví dụ khác , ta có một tập huấn luyện gồm những bức ảnh kích thước 18x27 pixel , ta cũng tìm các Eigenface và sau đó tìm face map c ủa m ột b ức ảnh ki ểm tra . Trong ví dụ này thì ảnh con H(x,y) vùng hình chữ nhật có tâm tại (x,y) trên b ức ảnh và có kích th ước 18x27 pixel . Hình trên là face map của bức ảnh ban đầu . Ta thấy vị trí của mổi khuôn mặt chính là những vùng c ực tiểu đ ịa ph ương trên b ức ảnh ( là những đốm đen trong những vùng trắng hình chữ nhật ) . Bây giờ nếu ta có một cơ sở dữ liệu những ảnh không phải khuôn m ặt ( ta th ường t ập trung vào những hình ảnh xung quanh khuôn mặt như cổ áo , một phần của khuôn m ặt …) . Tìm face map của bức ảnh ban đầu với không gian không phải khuôn mặt này , ta thu đ ược k ết quả sau :
  17. Hình trên cũng khá giống với face map ứng với không gian khuôn m ặt nh ưng t ại m ỗi vùng sáng hình chữ nhật thì không hề có tâm ở giữa . Thực ra từ face map ứng với không gian khuôn mặt , nếu ta có m ột thuật toán t ốt đ ể tìm những vị trí cực tiểu địa phương thì đã có thể xác đ ịnh v ị trí các khuôn m ặt . Face map ứng với không gian không phải khuôn mặt chỉ là một cách đơn gi ản để giúp ta tìm chính xác h ơn thôi . Tất cả những điều thu được ở trên chỉ là kết quả hoàn toàn dựa trên lý thuy ết , trong th ực t ế những thuật toán nhận dạng mặt người đã phát triển lên rất nhiều từ ý t ưởng c ủa PCA m ới có được độ chính xác yêu cầu . 3.Nhận xét PCA là phương pháp dùng để xây dựng đặc trưng khuôn mặt , nó là m ột n ền tảng đ ể phát triển những thuật toán khác . Thực tế có rất nhiều tác giả áp dụng PCA , kết h ợp v ới những phương pháp như mạng neural , xác suất thống kê để xây dựng những thu ật toán có đ ộ chính xác cao . Ưu điểm của PCA là nó dễ cài đặt , nếu ta xét bài toán tìm khuôn m ặt gi ống nhau thì chỉ cần áp dụng hoàn toàn theo lý thuyết là đã có độ chính xác khá cao , n ếu áp d ụng cho bài toán tìm vị trí khuôn mặt thì cần phải có một thuật toán n ữa để s ử d ụng face map thu đ ược theo lý thuyết . Khuyết điểm của PCA là các m ẫu khuôn mặt hoàn toàn ph ụ thu ộc vào t ập huấn luyện , có nghĩa là các khuôn mặt trong ảnh kiểm tra phải giống với các ảnh huấn luyện về kích thước , tư thế , độ sáng . Thực tế trong tập huấn luyện th ường gồm nhi ều nhóm hình , mỗi nhóm là hình của một người với tư thế , độ sáng khác nhau . Có rất nhiều thuật toán nhận dạng mặt người dựa trên những chi tiết của khuôn mặt như đôi mắt , lông mày , cấu trúc của khuôn mặt , hay màu da …Khác hoàn toàn với những thuật toán trên , PCA nhận dạng dựa trên những nét tổng thể của khuôn mặt . Còn hơn một thuật toán , PCA đã cung cấp một cơ sở rất rõ ràng cho việc mô tả đặc trưng của khuôn mặt , để từ đó có thể phát triển những thuật toán nhận dạng khác . Vì vậy có thể PCA không là thuật toán tốt nhất , nhưng là thuật toán phổ biến nhất được áp dụng trong bài toán nhận diện mặt người .
  18. CHƯƠNG 4- CƠ SỞ LÝ THUYẾT VỀ ADABOOST VÀ ĐẶC TRUNG HAAR-LIKE 1. Tổng quan về Adaboost Học theo adaboost là một cách trong hướng tiếp cận dựa trên diện m ạo, Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người [17] v ới các đ ặc tr ưng d ạng Haar wavelet-like. Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80% trên ảnh xám. Thuật toán học máy Adaboost được phát triển thuật toán boosting, do đó tôi sẽ trình bầy m ột chút về thuật toán boosting trước khi trình bầy về adaboost. 1.1. Tiếp cận Boosting Về lịch sử, boosting bắt nguồn từ câu hỏi nổi ti ếng đ ược đ ưa ra b ời Kearns vào năm 1989 : “Liệu có thể tạo ra một strong classifier từ một tập các b ộ phân lo ại y ếu?”. Năm 1990, Robert Schapire đưa ra thuật toán boosting đầu tiên, ti ếp đ ến năm 1993 thì nó đ ược Drucker, Schapire và Simard kiểm nghiệm trong trong các chương trình nh ận dạng ( OCR application ). Freund đã tiếp tục các nghiên cứu của Schaprire, và đến năm 1995 thì ông cùng với Schapire phát triển boosting thành adaboost. Như vậy, nguyên lý cơ bản của boosting là sự kết hợp các weak classifiers thành một strong classifier. Trong đó, weak classifier là các bộ phân lo ại đ ơn gi ản ch ỉ c ần có đ ộ chính xác trên 50%. Bằng cách này, chúng ta nói bộ phân loại đã được “boost”. Để hiểu cách hoạt động của thuật toán boosting, ta xét một bài toán phân lo ại 2 l ớp (m ẫu c ần nhận dạng chỉ thuộc một trong hai lớp) với D là tập hu ấn luyện g ồm có n m ẫu. Trước tiên, chúng ta sẽ chọn ngẫu nhiên ra n1 mẫu từ tập D (n1
  19. 1.2. Adaboost Như đã biết, AdaBoost (Adaptive Boost) là một bộ phân loại mạnh phi tuyến ph ức d ựa trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm 1995. Adaboost hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifier d ựa trên các đặc trưng Haar- Line để hình thành một strong classifier. Để có thể kết hợp các bộ phân loại yếu, adaboost sử dụng một trọng số (weight) để đánh dấu các mẫu khó nhận dạng. Trong quá trình hu ấn luy ện, c ứ mỗi weak classifier được xây dựng, thuật toán sẽ tiến hành cập nhật lại tr ọng s ố đ ể chu ẩn b ị cho việc xây dựng weak classifier tiếp theo: tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi weak classifier v ừa xây d ựng. B ằng cách này, các weak classifier sau có thể tập trung vào các mẫu mà các weak classifier tr ước đó thực hiện tốt. Sau cùng các weak classifier sẽ được kết hợp tùy theo m ức đ ộ ‘t ốt’ c ủa chúng để tạo nên một strong classifier. Các weak classifiers hk(x) là các bộ phân loại yếu, đ ược bi ểu diễn như sau: Trong đó: x : mẫu hay cửa sổ con cần xét (x = (x1,x2,…,xn) là vector đặc trưng của mẫu) fk: giá trị của đặc trưng Haar-like
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2