1. Trang chủ
  2. » Luận Văn - Báo Cáo

Dò tìm phát hiện khuôn mặt trong ảnh số

66 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dò Tìm, Phát Hiện Khuôn Mặt Trong Ảnh Số
Thể loại khóa luận
Định dạng
Số trang 66
Dung lượng 2,2 MB

Cấu trúc

  • Chương 1: TỔNG QUAN VỀ DÒ TÌM KHUÔN MẶT TRONG ẢNH SỐ (7)
    • 1.1. GIỚI THIỆU VỀ XỬ LÝ ẢNH (0)
      • 1.1.1 Biểu diễn ảnh số (7)
      • 1.1.2 Một số khái niệm cơ sở trong xử lý ảnh (8)
      • 1.1.3 Các giai đoạn trong xử lý ảnh (9)
    • 1.2. BÀI TOÁN DÒ TÌM KHUÔN MẶT (0)
      • 1.2.1 Tóm tắt lịch sử (11)
      • 1.2.2 Những thách thức trong bài toán dò tìm khuôn mặt (12)
      • 1.2.3 Một số khái niệm cơ sở cần thiết (15)
    • 1.3. DÒ TÌM KHUÔN MẶT DỰA TRÊN ẢNH (0)
      • 1.3.1 Giới thiệu (16)
      • 1.3.2 Eigenface (16)
      • 1.3.3 Mạng Nơron (18)
      • 1.3.4 SVM (19)
      • 1.3.5 Mô hình Markov ẩn (20)
    • 1.4. DÒ TÌM KHUÔN MẶT DỰA TRÊN ĐẶC TRƯNG HÌNH HỌC (0)
      • 1.4.1 Giới thiệu (20)
      • 1.4.2 Các phương pháp Top – down (20)
      • 1.4.3 Các phương pháp Bottom – up (21)
    • 1.5. HƯỚNG TIẾP CẬN CỦA KHOÁ LUẬN (0)
      • 1.5.1 Ý tưởng chung (22)
      • 1.5.2 Hướng tiếp cận (23)
  • Chương 2:DÒ TÌM KHUÔN MẶT NHANH BẰNG PHƯƠNG PHÁP ADABOOST (25)
    • 2.1 GIỚI THIỆU (25)
      • 2.1.1 Lựa chọn phương pháp (25)
      • 2.1.2 Phạm vi của dò tìm khuôn mặt thẳng (25)
      • 2.1.3 Những bước chính để dò tìm khuôn mặt (26)
    • 2.2 CÁC ĐẶC TRƯNG VÀ ẢNH TÍCH PHÂN (26)
      • 2.2.1 Mô hình dựa trên điểm ảnh (26)
      • 2.2.2 Các đặc trưng Haar-like (28)
      • 2.2.3 Ảnh tích phân (32)
    • 2.3 HỌC VỚI ADABOOST (35)
      • 2.3.1 Tổng quan về AdaBoost (35)
      • 2.3.2 Bộ phân lớp yếu (37)
      • 2.3.3 Ngưỡng tối ưu (38)
      • 2.3.4 Thuật toán AdaBoost (39)
      • 2.3.4 Hoạt động của bộ phân lớp yếu (44)
      • 2.3.6 AdaBoost với vấn đề dò tìm khuôn mặt (46)
    • 2.4 SỰ PHÂN LOẠI VÀO CÁC TẦNG (48)
      • 2.4.1 Hiệu quả của việc phân tầng (48)
      • 2.4.2 Cải tiến bộ phân lớp (50)
      • 2.4.3 Huấn luyện các tầng cho bộ phân lớp (51)
  • Chương 3: XÂY DỰNG CHƯƠNG TRÌNH VÀ MỘT SỐ KẾT QUẢ (56)
    • 3.1 CƠ SỞ DỮ LIỆU (56)
    • 3.2 KẾT QUẢ (57)
      • 3.2.1 Kết quả học (57)
      • 3.2.2 Kết quả kiểm tra (58)
    • 3.3 THỬ NGHIỆM BỘ DÒ TÌM KHUÔN MẶT (58)
      • 3.3.1 Dữ liệu (58)
      • 3.3.2 Kết quả thực nghiệm (59)
      • 3.3.3 Nhận xét (60)
  • TÀI LIỆU THAM KHẢO (66)

Nội dung

TỔNG QUAN VỀ DÒ TÌM KHUÔN MẶT TRONG ẢNH SỐ

BÀI TOÁN DÒ TÌM KHUÔN MẶT

Bộ xử lý ảnh số

Bộ xử lý tương tự

Hình 1.3: Các thành phần cơ bản của một hệ xử lý ảnh

 Bộ xử lý tương tự thực hiện các chức năng:

- Chọn Camera thích hợp nếu có nhiều Camera

- Chọn màn hình hiển thị tín hiệu

- Thu nhận tín hiệu video bởi bộ số hóa Thực hiện lấy mẫu và mã hóa

- Tiền xử lý ảnh khi thu nhận

 Bộ xử lý ảnh số bao gồm nhiều bộ xử lý chuyên dụng: Xử lý lọc, trích chọn đặc trưng, nhị phân hóa ảnh.

 Máy chủ đóng vai trò điều khiển các thành phần khác

 Bộ nhớ ngoài: Lưu trữ dữ liệu ảnh cũng như các kiểu dữ liệu khác để có thể chuyển giao cho các quá trình có nhu cầu.

2 BÀI TOÁN DÒ TÌM KHUÔN MẶT

Song song với sự phát triển của việc dò tìm khuôn mặt, những ứng dụng phân tích khuôn mặt đã có những ứng dụng hết sức hữu ích và số lượng những ứng dụng ngày càng tăng trong các hệ thống tự động được sử dụng trong cuộc sống: Nhận dạng khuôn mặt, Định vị khuôn mặt, Theo vết khuôn mặt,… là những hướng nghiên cứu chính.[8,10]

 Nhận dạng khuôn mặt bao gồm chỉ ra những người xuất hiện trong ảnh, theo cách hiểu khác, chúng ta muốn gán một định danh cho mỗi ảnh dò tìm được Chúng được sử dụng trong các hệ thống an ninh, …

 Định vị khuôn mặt là vấn đề tìm kiếm chính xác vị trí của một khuôn mặt mà đã biết trong một ảnh mẫu khác

 Theo dấu khuôn mặt với mục đích cho phép dò tìm khuôn mặt trong một dãy các ảnh hay một đoạn video trong thực tế.

 Nhận dạng cảm xúc khuôn mặt sẽ đánh giá trạng thái cảm xúc của khuôn mặt được tìm thấy ( vui, buồn, đau khổ…)

Nhưng để tiến hành được những nhiệm vụ trên thì trước tiên chúng ta phải tiến hành dò tìm khuôn mặt trong các ảnh Hệ thống dò tìm khuôn mặt được phát triển đầu tiên vào những năm 1970 nhưng những giới hạn của máy tính thời bấy giờ đã hạn chế việc tiếp cận các kỹ thuật nhân trắc học Đến năm 90 của thế kỷ trước, nhiều phòng thí nghiệm kỹ thuật đã được xây dựng cùng với sự tiến bộ của kỹ thuật video và sự cần thiết của việc nhận dạng khuôn mặt Trong những năm gần đây nhiều thuật khác nhau đã được phát triển, đến nay đã có tới không dưới 150 phương pháp khác nhau.

1.2.2 Những thách thức trong bài toán dò tìm khuôn mặt

Nếu như dò tìm khuôn mặt tự động trước đây không được phát triển đó là bởi vì những khó khăn trong việc xây dựng những bộ phân lớp mạnh, có khả năng dò tìm khuôn mặt trong các tình huống ảnh khác nhau và các trạng thái của khuôn mặt thậm chí trong cả những trường hợp rất đơn giản đối với con người Trên thực tế, đối tượng

“ Khuôn mặt ” rất khó để định nghĩa chính xác, bởi những tính chất đa dạng và có thể thay đổi, phụ thuộc vào đặc tính của khuôn mặt, điều kiện ánh sáng, trạng thái tâm lý của con người,….

Thách thức chính của bài toán dò tìm khuôn mặt là tìm kiếm bộ phân lớp có thế phân biệt các khuôn mặt từ tất cả các đối tượng có thể là khuôn mặt Vấn đề đầu tiên là tìm ra mô hình có khả năng bao quát tất cả các trạng thái có thể của khuôn mặt Một số biến đổi chính của khuôn mặt:[13]

 Các thuộc tính chung của khuôn mặt

Chúng ta có thể chỉ ra một số thuộc tính phổ biến của hầu hết khuôn mặt Khuôn mặt theo cách nhìn tổng quát có thể được đánh giá bởi những loại ellipse nhưng có những khuôn mặt thon dài, có những khuôn mặt tròn hơn…Màu da giữa người này với người kia cũng khác nhau

 Tư thế của khuôn mặt

Vị trí của người đối diện với máy ảnh là tốt nhất để ghi nhận toàn diện khung nhìn của khuôn mặt: khung nhìn trực diện, khung nhìn nghiêng và tất cả các vị trí trung gian, từ dưới lên….

 Trạng thái biểu cảm của khuôn mặt

Diện mạo của khuôn mặt phụ thuộc nhiều vào trạng thái cảm xúc của con người. Các đặc trưng của khuôn mặt đang cười có thể khác xa so với một khuôn mặt lạnh lùng hay một khuôn mặt buồn bã Khuôn mặt là một đối tượng động và điều đó sẽ hạn chế đáng kể hiệu quả của các phương pháp dò tìm.[13]

Hình 1.4: Một số trạng thái biểu cảm của khuôn mặt

 Sự hiện diện của các đối tượng khác

Chúng ta thường thấy các đối tượng khác xuất hiện trên ảnh khuôn mặt: cặp kính có thể làm thay đổi đặc tính riêng của khuôn mặt, chúng có thể làm cho mắt không còn được thể hiện rõ ràng Những đặc trựng tự nhiên của mặt người như là râu, ria mép hay tóc có thể chiếm một phần của khuôn mặt.

Khuôn mặt được biểu diễn với các điều kiện ánh sáng khác nhau, loại ánh sáng,cường độ sáng, các đặc trưng mà hệ thống thu được cần thiết cho việc tính toán.[13]

Hình 3.5: Ảnh trong những điều kiện ánh sáng khác nhau Hình vẽ dưới đây mô tả một vài khuôn mặt khác nhau được lấy từ cơ sở dữ liệu CMU.

Hình 1.6: Một số dạng khuôn mặt đặc trưng

Sự hỗn hợp của nền ảnh cũng là một khó khăn cho vấn đề dò tìm khuôn mặt. Thậm chí là khá dễ để xây dựng một hệ thống dò tìm khuôn mặt trên các nền đồng bộ và đơn giản, nhưng hầu hết các ứng dụng cần dò tìm khuôn mặt trong nhiều điều kiện nền ảnh khác nhau, nghĩa là nền ảnh có thể rất đa dạng và phức tạp Nhiệm vụ của việc phân loại ra 2 lớp là gán cho một đối tượng ảnh là mặt hay không phải khuôn mặt

Hình 1.7: Mẫu khuôn mặt với nền ảnh phức tạp

Trong phạm vi vấn đề này, có nhiều hướng tiếp cận đã được phát triển để dò tìm khuôn mặt trong ảnh Nhưng dò tìm khuôn mặt là một nhiệm vụ khá phức tạp, mỗi phương pháp được xây dựng cho một mục đích rõ ràng và sẽ rất khó khăn để có thể xây dựng được một hệ thống đa năng

1.2.3 Một số khái niệm cơ sở cần thiết

Trước hết, chúng ta định nghĩa một số tiêu chuẩn cơ bản để xác định sự thực thi của bộ dò tìm [9, 10]

Tỷ lệ dò tìm d là tỷ lệ phần trăm số khuôn mặt trong ảnh được bộ dò phát hiện một cách chính xác trên tổng số khuôn mặt thực tế có trông tập ảnh dò tìm

Tỷ lệ lỗi mẫu âm [10, 11]

DÒ TÌM KHUÔN MẶT DỰA TRÊN ẢNH

Trong nhiều ứng dụng, chúng ta muốn có tỷ lệ dò tìm là cao nhất Nhờ có lượng cửa sổ lớn trượt trên ảnh thông thường nên tỷ lệ lỗi mẫu dương này thường trong khoảng

10  5 đến 10  6 nhưng giá trị nhỏ bé này thường không mang nhiều ý nghĩa.

Mục tiêu của bài toán dò tìm khuôn mặt là tối đa tỷ lệ dò tìm d trong khi tối thiểu hoá tỷ lệ lỗi dương f p

Tuy nhiên, trong nhiều ứng dụng thực tiễn, rất khó để đạt được cả hai mục đích này, và đó là lý do tại sao chúng ta tìm cách điều hoà hai tham số này Tất cả những phương pháp được trình bày dưới đây sẽ thử nghiệm với nhiều hướng tiếp cận khác nhau để tìm kiếm sự thoả hiệp giữa tỷ lệ lỗi dương và tỷ lệ dò tìm Cuối cùng, chúng ta sẽ nhận thấy rằng sẽ rất khó khăn để so sánh các phương pháp với nhau bởi vì vấn đề ước lượng hiệu quả và hoàn cảnh khác nhau

3 DÒ TÌM KHUÔN MẶT DỰA TRÊN ẢNH

Các phương pháp dựa trên ảnh còn được sử dụng nhiều cho đến ngày nay Chúng ta gọi chúng là “dựa trên ảnh” bởi vì chúng được xây dựng từ việc sử dụng các mẫu ảnh đối lập với một vài phương pháp khuôn mẫu mà cần có tiền đề tri thức về đối tượng khuôn mặt Các mẫu học hay dữ liệu đầu vào được xem xét như là các biến ngẫu nhiên x và hai lớp “khuôn mặt” và “không phải khuôn mặt” được mô tả đặc điểm bởi các hàm mật độ có điều kiện: p x face ( | ) và p x non face ( |  ) Điều đó có nghĩa là hàm mật độ không biết trước và mục tiêu chính của chúng ta là xấp xỉ chúng theo sự phân biệt là khuôn mặt hay không phải khuôn mặt Sau đó là một loạt các phương pháp để tìm các hàm phân tách với việc đưa các mẫu vào lớp khuôn mặt hay lớp không phải khuôn mặt

Khó khăn chính của cách tiếp cận này là cỡ mẫu, thường cỡ mẫu x thường lớn và một bước quan trọng là giảm không gian mẫu này để tìm kiếm một hàm biệt thức có thể phân tách các mẫu dương và các mẫu âm.

Phương pháp dò tìm dựa trên ảnh đầu tiên mà chúng ta sẽ trình bày trong phần này là EigenFace Điểm mấu chốt của dò tìm khuôn mặt sử dụng Eigenface là trích rút đặc trưng của chúng từ tập ảnh bởi PCA (Phân tích thành phần chính) và ước lượng nếu Eigenface được trích rút phù hợp với các mẫu khuôn mặt đặc trưng Thực tế, tất cả các ảnh vào có thể được thay thế bởi vectơ trọng số trong không gian riêng.

1.3.2.2 Phân tích thành phần chính (PCA) [2, 7]

Bước đầu tiên của việc phân loại Eigenface là sử dụng PCA để trích rút Eigenface từ ảnh ban đầu PCA có thể hiểu là phương pháp cắt giảm số chiều của không gian đầu vào thông qua việc sử dụng phép chiếu tuyến tính làm mở rộng tối da sự phân bố của tất cả các mẫu học đuợc chiếu Đặt  x 1 ,  , x N  là tập N ảnh có các giá trị trong không gian đặc trưng n chiều Ma trận W sử dụng biến đổi tuyến tính từ không gian n-chiều sang không gian đặc trưng m-chiều với m < n (giảm số chiều) Khi đó ta có W  R n m  , các vectơ đặc trưng mới y k R m được xác định bởi biến đổi tuyến tính. y k  W T x k k  1, 2, , N (1.8)

Sau đó, ma trận tổng phân bốS T được xác định bởi:

Với  là giá trị trung bình của tất cả các mẫu:

 Áp dụng biến đổi tuyến tính ta có ma trận phân bố mới trong không gian con m- chiều được cho bởi W S WT Lý thuyết PCA chỉ ra rằng phép chiếu tuyến tính W opt tối ưu khi tối thiểu hóa được định thức của ma trận phân bố được chiếu ( cho các mẫu

Tập  w i i   1, , m  là những vectơ riêng n-chiều của S T , tương ứng với các giá trị riêng   i i  1, , m  đã được giảm bậc.

Phép chiếu trong không gian đặc trưng sử dụng W opt T cho phép phân ly khoảng cách giữa các mẫu và không gian khuôn mặt vào 2 phần: khoảng cách trong trong không gian đặc trưng DIFS (chiếu trong không gian m-chiều) và khoảng cách từ không gian đặc trưng DIFS Biến đổi tuyến tính tối ưu W opt cho bởi PCA gặp trở ngại trong quá trình làm nổi bật các thành phần tiêu biểu khi thay đổi mức độ chiếu sáng. Một phương pháp khắc phục để xây dựng Egenface đầu tiên là mặc định rằng chúng chứa đựng hầu hết các biến đổi ánh sáng, điều đó tạo cho chúng khả năng thích nghi với những sự biến đổi ánh sáng tốt hơn.

1.3.2.3 Các phương pháp khác trong không gian Eigen

Những phương pháp khác dựa trên cơ sở cắt giảm số chiều trong không gian ảnh đã được phát triển Hiệu quả nhất trong số đó là sự phân loại dựa trên mô hình được Sung và Poggio xây dựng Phương pháp này chú trọng đến việc mô hình hóa cả sự phân loại của các mẫu khuôn mặt và các mẫu không phải khuôn mặt Phân loại khuôn mặt là mô hình sử dụng 6 mẫu khuôn mặt nguyên mẫu được phân cụm bởi phiên bản cải tiến của thuật toán phân cụm k-mean Các perceptron đa tầng sẽ được sử dụng để phân tách các mẫu dương và mẫu âm Hướng phát triển này khá mạnh nhưng cũng có hạn chế vì để lựa chọn tất cả các tham số là điều không dễ dàng với những câu hỏi: Số cụm tối ưu là bao nhiêu? Bao nhiêu mẫu nên được sử dụng để huấn luyện bộ phân lớp? Yêu cầu về chất lượng cơ sở dữ liệu huấn luyện như thế nào?

Một trong những hệ thống dò tìm khuôn mặt tốt nhất đánh giá trên theo tỷ lệ lỗi dương và tỷ lệ dò tìm là hệ thống dò tìm dựa trên mạng Nơron được xây dựng bởiRowley Hệ thống sử dụng mạng Nơron được kết nối dạng lưới để đánh giá một cửa sổ con có là khuôn mặt hay không Hệ thống dò tìm khuôn mặt hoạt động theo 2 giai đoạn: trước hết áp dụng tập hợp các bộ dò tìm dựa trên mạng nơron vào ảnh, và sau đó dùng bộ phân xử để kết hợp các đầu ra Các bộ dò tìm riêng lẻ khảo sát ở mỗi vị trí trong ảnh ở một tỷ lệ nhất định, tìm vị trí có thể chứa khuôn mặt Sau đó bộ phân xử kết hợp các kết quả dò tìm từ các mạng riêng lẻ và loại trừ các dò tìm chồng lấp

Thành phần đầu tiên của hệ thống là mạng nơron nhận đầu vào là cửa sổ ảnh

20 20 pixel và cho đầu ra là một giá trị thực nằm trong khoảng    1, 1   , biểu thị có là khuôn mặt hay không Để dò tìm khuôn mặt trong ảnh, mạng làm việc trên mọi vị trí trong ảnh Để có thể dò tìm những khuôn mặt lớn hơn kích thước cửa sổ , ảnh đầu vào được giảm kích thước đi nhiều lần, sau đó áp dụng bộ dò tìm ở mỗi kích thước Mạng có một hằng số với vị trí và kích thước, nhiệm vụ là xác định tỷ lệ và vị trí nó được sử dụng Với hệ thống này cần sử dụng bộ lọc ở mọi vị trí ảnh, giảm tỷ lệ xuống 1.2 ở mỗi bước phân tích ảnh tứ phân.

Sau khi cửa sổ ảnh 20 20 pixel được trích rút từ một vị trí và tỷ lệ nào đó trong ảnh nhập, nó được tiền xử lý qua các bước hiệu chỉnh độ sáng và cân bằng lược đồ Cửa sổ sau khi được tiền xử lý sẽ được truyền qua mạng nơron Mạng có các liên kết tương tự như kiểu liên kết của võng mạng đến các tầng nhập Cửa sổ đầu vào được chia thành các mảnh nhỏ, 4 vùng 10 10 pixel, 16 vùng 5 5 pixel và 6 vùng chồng lấp 20 5 pixel Mỗi vùng có liên kết đầy đủ với một đơn vị ẩn Dường như một đơn vị ẩn được dùng cho mỗi vùng con đầu vào nhưng thực ra các đơn vị này có thể được tái tạo Chúng ta có thể sử dụng mạng với hai hay ba tập các đơn vị ẩn này Hình dáng của các vùng con này được chọn để cho phép các vùng ẩn dò tìm các đặc trưng có ích cho việc dò tìm khuôn mặt Cụ thể, các sọc ngang cho phép các đơn vị ẩn dò tìm các đặc trưng như miệng, cặp mắt, trong khi các đơn vị ẩn với vùng tiếp thu hình vuông có thể dò tìm các đặct trưng như từng mắt, mũi, hai góc miệng….Hình dạng chính xác của các vùng này không thực sự quan trọng, điều quan trọng là đầu vào được chia thành các vùng nhỏ thay vì dùng các kết nối hoàn toàn với toàn bộ đầu vào Tương tự các mẫu liên kết đầu vào thường được dùng trong việc nhận dạng tiếng nói và chữ viết [Waibel (1989), Le Cun (1989)] Mạng sẽ cho một đầu ra mang giá trị thực, chỉ ra cửa sổ đầu vào có là khuôn mặt hay có chứa khuôn mặt hay không [2]

SVM là kỹ thuật học được giới thiệu bởi Vapnik Phương pháp này tỏ ra hiệu quả với những cơ sở dữ liệu học lớn, lên tới hàng ngàn mẫu học Trong bài toán dò tìm khuôn mặt chúng ta cần mô tả tất cả các mẫu khuôn mặt đặc trưng với một số lượng lớn vì đối tượng khuôn mặt được thể hiện rất đa dạng

Nguyên tắc căn bản là mở rộng tối đa lề giữa lớp khuôn mặt và lớp không phải khuôn mặt Một loại lề đơn giản được sử dụng là khoảng cách giữa những điểm gần nhất của 2 lớp Chúng được gọi là những vectơ hỗ trợ phân loại, chúng đóng vai trò rất

DÒ TÌM KHUÔN MẶT DỰA TRÊN ĐẶC TRƯNG HÌNH HỌC

quan trọng vì chúng định nghĩa ranh giới giữa hai lớp Trên thực tế, Osuna đã xây dựng hệ thống dò tìm khuôn mặt dựa trên SVM [2]

Mô hình Markov ẩn đã được Samaria và Young sử dụng để định vị và nhận dạng khuôn mặt Nguyên tắc là phân tách các mẫu khuôn mặt thành nhiều vùng con như trán, mắt, mũi, miệng và cằm….Các mẫu khuôn mặt sẽ được nhận dạng nếu những đặc trưng này được nhận dạng theo thứ tự phù hợp Theo cách khác, mẫu khuôn mặt là một chuỗi vectơ quan sát với mỗi vectơ là một tập các pixel liền kề nhau Ảnh được lấy vào theo một thứ tự rõ ràng và việc quan sát được thực hiện trên các khuối pixel. Ranh giới giữa các vùng điểm ảnh được mô tả bởi xác suất biến đổi giữa các trạng thái và ảnh dữ liệu trong vùng được mô hình hóa bởi thuộc tính Gauss [2, 6]

4 DÒ TÌM KHUÔN MẶT DỰA TRÊN ĐẶC TRƯNG HÌNH HỌC

Các phương pháp đã liệt kê ở trên dựa trên việc học để thu được mô hình khuôn mặt từ tập mẫu dữ liệu dương và âm Chúng không có liên quan trực tiếp đến các đặc trưng hình học của khuôn mặt Một số phương pháp khác lại dựa trên những đặc trưng hình học của khuôn mặt Chúng được gọi là cơ sở hình học hay đặc trưng Nhiều hướng tiếp cận vấn đề nhưng chúng ta có thể chia ra:

 Hướng tiếp cận top – down: Một mô hình được tính toán cho một mức tỷ lệ

 Hướng tiếp cận bottom – up: Các khuôn mặt được tìm kiếm bởi sự có mặt của các đặc trưng của khuôn mặt. Ưu điểm chính của hướng tiếp cận theo các đặc trưng hình học là không bị giới hạn bởi những điều kiện ngoại cảnh Trên thực tế, các đặc trưng của khuôn mặt (mắt, mũi, màu da) được biễu diễn một cách độc lập với tư thế hay các điều kiện ánh sáng.

1.4.2 Các phương pháp Top – down Ý tưởng chính của những phương pháp này là sử dụng màu da để tìm kiếm khuôn mặt trong ảnh Những hệ thống dò tìm đa được phát triển sử dụng một chuỗi các thuật toán phân đoạn để trích rút khuôn mặt trong ảnh Màu da là một đặc trưng nổi bật được quan tâm nhiều trong các hệ thống dò tìm và nhận dạng tự động Nhiều phương pháp được lựa chọn sử dụng tùy theo những không gian màu khác nhau Ưu điểm chính của hướng phát triển này là tốc độ dò tìm rất nhanh Tuy nhiên, sẽ xảy ra vấn đề khó khăn nếu như nền ảnh dò tìm có phổ màu tương tự màu da Yang và Ahuaja đã xây dựng những hệ thống theo hướng này Mặc dù với mỗi mẫu ảnh khác nhau thì màu da thường khác nhau nhưng chúng vẫn có thể được nhận dạng Thuộc tính này được mô hình hóa bởi các thuộc tính Gauss Tất cả các điểm ảnh sẽ được kiểm tra và chúng ta coi một điểm ảnh là màu da nếu đáp ứng của chúng lớn hơn một ngưỡng xác định Cuối cùng, vùng ảnh sẽ được hệ thống đánh giá là khuôn mặt nếu hơn 70% điểm ảnh trong vùng đó thỏa mãn điều kiện có thể coi là biểu diễn màu da Vấn đề đặt ra là có những phần khác trên cơ thể người cũng có thể được thể hiện trong ảnh và những đặc trưng vùng da trên những phần đó hầu như không có sự khác biệt với vùng da mặt. Những phương pháp dò tìm dựa trên màu da chủ yếu được sử dụng làm tiền đề cho những quá trình xử lý khác để đi đến kết luận vùng ảnh có biểu diễn không mặt hay không

Saber và Tekalp thì theo phương pháp khác, họ sử dụng thuật toán để phân đoạn ảnh Sau khi ảnh được phân đoạn, mỗi vùng sẽ được xấp xỉ bằng một Elip Tiếp theo sẽ tiến hành tính toán độ lệch của những vùng Elip này với cơ sở dữ liệu ảnh chuẩn theo phương pháp đo lường độ lệch Hausdorff Nếu độ đo cuối cùng lớn hơn một ngưỡng cho trước thì vùng đó sẽ bị loại bỏ Sau đó, các thủ tục tìm kiếm đặc trưng khuôn mặt sẽ được tiến hành trên các mẫu Elip còn lại để có thể đi đến kết luận đánh giá mỗi Elip là khuôn mặt hay không.[5]

1.4.3 Các phương pháp Bottom – up

Nguyên tắc chung là tìm kiếm các đặc trưng bất biến của đối tượng khuôn mặt.

Sự bất biến này được thể hiện độc lập với mọi tỷ lệ, tư thế, điều kiện ánh sáng và các điều kiện biến đổi khác Các đặc trưng thông thường và tự nhiên thường được trích rút từ khuôn mặt là mắt, mũi, miệng, chân mày Các kỹ thuật dò tìm biên được sử dụng để trích rút những đặc trưng này Phương pháp bottom-up tìm kiếm những đặc trưng này từ ảnh đầu vào và sau đó nhóm chúng theo những mối quan hệ hình học

Sự khác nhau của những phương pháp được phát triển theo hướng bottom-up là ở cách thức lựa chọn các đặc trưng và thiết lập liên kết giữa chúng.

Theo hướng này, một phương pháp đã được Govindaraju phát triển khá sớm.Trong phương pháp này các đặc trưng khuôn mặt được mô tả đặc điểm bởi những đường cong và các mối quan hệ mang tính cấu trúc liên kết chúng lại Hai trạng thái liên tục được áp dụng, đầu tiên các đường cong khuôn mặt được trích rút từ ảnh đầu vào để tìm kiếm những đối tượng có khả năng là khuôn mặt Sau đó, các đặc trưng khuôn mặt được nhóm lại bằng cách sử dụng các xử lý phù hợp (với hàm giá trị và một ngưỡng).

HƯỚNG TIẾP CẬN CỦA KHOÁ LUẬN

Một phương pháp khác được sử dụng bởi Yow và Cipolla, tập hợp các bộ lọc đạo hàm được sử dụng để lựa chọn các đặc trưng cạnh như là góc của cặp mắt, sống mũi,

…Sau đó chỉ các điểm có những thuộc tính riêng biệt mới được giữ lại Các điểm có liên quan sẽ được liên kết lại với nhau và chúng được sử dụng để xây dựng mô hình khuôn mặt [5]

5 HƯỚNG TIẾP CẬN CỦA KHOÁ LUẬN

Dò tìm khuôn mặt tự động là một vấn đề phức tạp với việc dò tìm một hay nhiều khuôn mặt trong ảnh số hoặc trong một đoạn video Khó khăn nội tại trên thực tế là khuôn mặt không phải là những đối tượng bất biến Khuôn mặt trên hai bức ảnh có thể là của hai người khác nhau nhưng cũng có thể là của cùng một người, phụ thuộc vào điều kiện ánh sáng, trạng thái cảm xúc hay tư thế của chủ thể Điều đó lý giải tại sao có rất nhiều phương pháp đã được phát triển để giải quyết bài toán này Mỗi phương pháp được phát triển theo một hướng riêng và chúng ta có thể sắp xếp những phương pháp đó theo hai hướng chính: Các phương pháp dựa trên hình ảnh và các phương pháp dựa trên đặc trưng Hướng thứ nhất sử dụng tập huấn luyện là các ảnh mẫu để huấn luyện cho bộ phân loại, sau đó bộ phân loại sẽ duyệt qua các ảnh kiểm tra để thực hiện phân loại và nhận dạng Hướng còn lại dựa trên việc dò tìm các đặc trưng của khuôn mặt như mắt, miệng…

Dò tìm khuôn mặt nhanh là một vấn đề đang ngày càng được quan tâm phát triển vì những ứng dụng thực tiễn của chúng Cho đến nay đã có nhiều phương pháp được sử dụng để dò tìm khuôn mặt nhanh được xây dựng và có thể tóm lại trong ba nhóm giải pháp chính:

 Dò tìm khuôn mặt dựa trên sự phân tích màu sắc của vùng da: Mặc dù việc sử lý khá nhanh xong nhóm này có giới hạn chỉ xử lý trên ảnh màu và thường nhạy cảm với điều kiện ánh sáng, thường chỉ sử dụng làm bước tiền xử lý cho các hướng khác

 Dò tìm khuôn mặt dựa trên các đăc trưng: Nhóm này dựa vào các đặc trưng gần bất biến và xuất hiện trên hầu hết các khuôn mặt Thành công nhất trong dò tìm khuôn mặt người trong thời gian thực là phương pháp ASM (Active Shape Model)

 Hướng dò tìm khuôn mặt dựa trên thông tin hình ảnh gồm mạng nơron, các hướng thống kê (SVM, AdaBoost…) Phương pháp SVM và mạng nơron cũng đạt được những kết quả cao trong thời gian khá nhanh xong cũng chỉ khoảng vài ảnh trong 1 giây nên khó áp dụng để xây dựng các hệ thống nhận dạng thời gian thực Riêng phương pháp AdaBoost cho kết quả khả quan vì một hệ thống hoàn thiện có thể xử lý khoảng 15-20 khung hình trong một giây.

Nếu có thể kết hợp phương pháp dựa trên đặc trưng hình học và ảnh truyền thống để xây dựng hệ thống dò tìm thì sẽ phát huy được ưu điểm của mỗi phương pháp và giảm thiểu những hạn chế AdaBoost là phương pháp có thể đáp ứng được yêu cầu. Những đặc trưng hình học là những đặc trưng rất chung của khuôn mặt như vị trí của các đặc trưng riêng có: mắt, mũi, miệng… Những đặc trưng dựa trên cơ sở ảnh cũng được sử dụng vì chúng ta sử dụng hình thức học thống kê với một tập dữ liệu đủ lớn để xây dựng mô hình và hình thành khái niệm về đối tượng “khuôn mặt” một cách tương đối đầy đủ

Chúng ta lựa chọn làm việc trong ngữ cảnh phổ biến Mục tiêu của đề tài này là dò tìm khuôn mặt có độ phân giải thấp một cách nhanh chóng trên nền phức tạp Tình huống này có thể tìm thấy trong rất nhiều ứng dụng như việc giám sát ở nơi công cộng. Phương pháp được sử dụng trong cả hai hướng dò tìm, dựa trên ảnh và trên các đặc trưng Ở hướng thứ nhất sử dụng thuật toán học để huấn luyện bộ phân lớp với các mẫu học đúng và các mẫu sai Ở hướng thứ hai, các đặc trưng được chọn lựa bởi các thuật toán học liên quan tới các đặc trưng của khuôn mặt (vị trí mắt, sự khác biệt của sống mũi) Kỹ thuật học tăng cường cải tiến bộ phân lớp bằng việc cập nhật trọng số cho các mẫu học Việc học sử dụng thuật toán tăng cường là đóng góp chính của phương pháp dò tìm khuôn mặt này

Theo một cách khác, những bộ phân lớp đơn giản được ứng dụng trong học tăng cường là các đặc trưng tương tự Haar, chúng cho phép tính toán nhanh trong khi vẫn đảm bảo tốc độ dò tìm tốt.

Mục tiêu của chúng ta là dò tìm khuôn mặt trong những nền ảnh đa dạng và độ phân giải thấp Ưu điểm chính của các phương pháp dựa trên đặc trưng hình học là những đặc trưng hình học gần như bất biến Nhưng sẽ khó khăn nếu chúng ta chỉ sử dụng những phương pháp này

Tóm lại, đề tài này lựa chọn xây dựng hệ thống dò tìm khuôn mặt dựa trên thuật toán AdaBoost vì những lý do căn bản:

 Mục tiêu của đề tài là tìm hiểu và bước đầu xây dựng một hệ thống dò tìm khuôn mặt nhanh mà vẫn đảm bảo tỷ lệ dò tìm, có thể ứng dụng để dò tìm trong thời gian thực.

 Phương pháp AdaBoost dựa trên sự kết hợp của hướng dò tìm dựa trên đặc trưng hình học và hướng dò tìm dựa trên ảnh Ý tưởng chính là xây dựng các bộ dò tìm yếu với độ chính xác không cao nhưng lại có thời gian xử lý rất nhanh. Tuy nhiên, khi kết hợp các bộ dò tìm lại thì có thể cho kết quả chính xác cao

 Phương pháp AdaBoost sử dụng các đặc trưng hình học đơn giản vốn được tính toán rất nhanh, thích hợp sử dụng để xây dựng hệ thống dò tìm thời gian thực

 Các bộ phân loại AdaBoost có thể xây dựng phân tầng với độ phức tạp xử lý từ thấp đến cao nhằm nhanh chóng loại bỏ phần lớn các ứng viên xấu ( không phải mặt người) vốn chiếm đại đa số trong các cửa sổ cần phân loại Sau đó sẽ tiến đến bộ phân loại phức tạp hơn, sử dụng nhiều đặc trưng hơn nhưng chỉ phải làm việc trên một số ít đối tượng AdaBoost là môt giải pháp điều hoà tốt giữa hai yếu tố hiệu quả và tốc độ dò tìm Tốc độ dò tìm tốt là do việc lựa chọn những đặc trưng đơn giản, tỷ lệ dò tìm tốt nhờ thuật toán học tăng cường AdaBoost có khả năng lựa chọn những đặc trưng tiêu biểu nhất trong tập dữ liệu lớn.

TÌM KHUÔN MẶT NHANH BẰNG PHƯƠNG PHÁP ADABOOST

GIỚI THIỆU

Trong chương này chúng ta sẽ trình bày về phương pháp dò tìm khuôn mặt bằng thuật toán tăng cường với tốc độ dò tìm nhanh Bộ dò tìm này xuất phát từ ý tưởng dò tìm đối tượng trong thời gian thực của Viola và Jone Chúng ta có sự lựa chọn để xây dựng một mô hình sử dụng cách học thống kê các mẫu dương và mẫu âm Huấn luyện bộ phân lớp bằng các đặc trưng trực quan, vì vậy chúng ta sẽ lý giải tại sao thuật toán này lại thích hợp với dò tìm khuôn mặt và mô tả cách làm việc của chúng Chúng ta cũng sẽ nhấn mạnh những đóng góp chủ yếu như là cách biểu diễn ảnh mới, sự lựa chọn các đặc trưng trực quan.

2.1.2 Phạm vi của dò tìm khuôn mặt thẳng

Trước khi đi vào chi tiết, chúng ta hãy để ý rằng những phương pháp dò tìm khuôn mặt được thiết kế trong những phạm vi riêng và cho những mục đích khác nhau, điều đó lý giải tại sao không phải khi nào cũng dễ dàng để so sánh hiệu quả của chúng Một vài bộ dò tìm chỉ hướng tới mục tiêu là dò tìm với tỷ lệ chính xác càng cao càng tốt, nhưng đề tài của chúng ta có khác biệt một chút trong một phạm vi khác: Ngoài việc muốn có một tỷ lệ dò tìm tốt, chúng ta muốn xây dựng một hệ dò tìm hướng thời gian thực Và vì vậy mục đích là muốn dò tìm hầu hết các khuôn mặt, thậm chí chúng ta chấp nhận tỷ lệ lỗi dương cao hơn (không phải khuôn mặt nhưng cũng được bộ dò tìm cho là khuôn mặt)

Trong trường hợp khác, camera được đặt ở sảnh sân bay, các khuôn mặt thường có độ phân giải thấp, có kích cỡ khác nhau và nền ảnh khác phức tạp.

Trong những trường hợp này chúng ta phải xây dựng bộ dò tìm thích hợp với nhiều điều kiện ánh sáng, sự biến đổi hình dạng và kích thước của khuôn mặt Dò tìm khuôn mặt là công đoạn phục vụ cho nhận dạng khuôn mặt, khi mà chỉ những khuôn mặt nhìn trực diện mới có ích Điều đó lý giải cho việc lựa chọn tập huấn luyện được sử dụng để huấn luyện các bộ phân lớp Tóm lại, dù lựa chọn phương pháp nào thì cũng phải đảm bảo có thể ứng dụng được trong thực tiễn và AdaBoost đáp ứng được yêu cầu này [9,10]

2.1.3 Những bước chính để dò tìm khuôn mặt

Ban đầu, ảnh được quét bởi những cửa sổ với tỷ lệ khác nhau Mỗi cửa sổ con được kiểm tra bởi bộ phân lớp đa tầng Nếu cửa sổ con không phải là khuôn mặt thì sẽ bị loại bỏ ngay từ những tầng đầu tiên Nhiệm vụ quan trọng là phải lựa chọn ra những đặc trưng có khả năng mô tả đối tượng khuôn mặt Nguyên tắc của việc dò tìm là áp dụng thành công các bộ phân lớp đơn giản để kết hợp chúng vào bộ phân lớp mạnh.

Sự lựa chọn đặc trưng này sẽ quyết định hiệu quả của việc dò tìm Khó khăn đặt ra là cần lựa chọn các đặc trưng đủ đơn giản để có thể phân biệt đối tượng là khuôn mặt hay không Trong trường hợp này hàm cơ bản Haar là một trong những lựa chọn thích hợp nhất Thực tế, các đặc trưng đáp ứng không nhiều hơn sự khác biệt của 2, 3 hay 4 vùng chữ nhật ở những tỷ lệ và hình dạng khác nhau Để cải thiện tốc độ tính toán những đặc trưng này chúng ta sẽ mô tả ảnh theo một cách mới gọi là “Ảnh tích phân” cho phép tính toán vùng chữ nhật chỉ với những phép  đơn giản

Sau quá trình này, chúng ta thu được một tập lớn các đặc trưng, AdaBoost được sử dụng để lựa chọn một tập nhỏ trong số chúng để xây dựng lên một bộ phân lớp mạnh Chúng ta chỉ muốn giữ lại những đặc trưng có thể giúp phân loại tốt nhấtcác mẫu dương và mẫu âm Tại mỗi bước chọn lựa có một đăc trưng được chọn bởi bộ phân lớp yếu vì vậy AdaBoost cung câp thuật toán học hiệu quả và mạnh mẽ Các vùng không phải khuôn mặt sẽ bị loại trừ một cách nhanh chóng và do càng đến các tầng sau việc dò tìm càng diễn ra hiệu quả dẫn tới hầu hết những khuôn mặt đều được dò tìm thấy.[9,10, 12]

CÁC ĐẶC TRƯNG VÀ ẢNH TÍCH PHÂN

Trong thời gian gần đây, đã có nhiều mô hình được sử dụng để huấn luyện bộ phân lớp bởi thuật toán học tăng cường Hai mô hình được đánh giá là hiệu quả và đã được phát triển nhiều là:

 Mô hình dựa trên điểm ảnh

 Mô hình dựa trên các đặc trưng Haar.

2.2.1 Mô hình dựa trên điểm ảnh

Mô hình hóa khuôn mặt sử dụng các mô tả bởi điểm ảnh đã được sử dụng bởiPavlovic Trong cách huấn luyện bộ phân lớp của mình Pavlovic đã sử dụng sự kết hợp các bộ phân lớp yếu dựa trên các giá trị điểm ảnh Gọi X biểu thị ảnh được véctơ hóa của các giá trị cấp xám của điểm ảnh, X ( ) l là điểm ảnh thứ l Khi đó ta có bộ phân lớp yếu:

Bộ phân lớp có đầu vào là ảnh khuôn mặt, đầu ra là quyết định phân lớp ảnh đầu vào là khuôn mặt hay không phải khuôn mặt bằng việc so sánh với ngưỡng  Thuật toán học được sử dụng là AdaBoost, thuật toán sẽ làm việc trên dữ liệu huấn luyện là các điểm ảnh mô tả tốt nhất cấu trúc khuôn mặt Như hình vẽ dưới đây, các đặc trưng cấu trúc hình học nổi bật của ảnh khuôn mặt được mô tả: vùng mắt, mũi, miệng

Hình 2.1: Mô hình khuôn mặt trước khi biến đổi

Hình 2.2: Mô hình ảnh sau khi trích chọn các vùng quan trọng

Hình thứ nhất mô tả khuôn mặt trung bình được lấy từ cơ sở dữ liệu huấn luyện. Hình thứ hai mô tả đặc trưng khuôn mặt được lấy mẫu bằng các hàm học sử dụng thuật toán tăng cường Mỗi vùng trắng trong ảnh thứ hai tương ứng với các điểm ảnh được lựa chọn bởi thuậtt toán tăng cường.

Phương pháp này đã được thực nghiệm chứng minh là khá hiệu quả bởi vì lý thuyết học tăng cường cho kết quả huấn luyện tốt Nhưng chỉ với một ảnh 24 24

2 8 chúng ta đã có tới 576 điểm ảnh, chúng ta phải có tới 576 lần phân lớp yếu tương ứng với số điểm ảnh đó xem chúng có là điểm quan trọng hay không, sau đó kết hợp chúng lại để có bộ phân lớp mạnh Vì vậy, thời gian tính toán lớn là một hạn chế của mô hình này

2.2.2 Các đặc trưng Haar-like

So sánh các phương pháp mô hình hoá khuôn mặt và tính toán các đặc trưng cần thiết cho ứng dụng của chúng ta, chúng ta đi tới kết luận rằng phương pháp dựa trên đặc trưng thích hợp hơn phương pháp dựa trên nền tảng điểm ảnh Đó là động lực thúc đẩy sử dụng các đặc trưng hơn là sử dụng các điểm ảnh một cách trực tiếp Một lý do phổ biến là các đặc trưng có thể có tác dụng giải mã những vùng tri thức đặc biệt, không theo quy luật vốn rất khó khăn để học sử dụng một lượng hạn chế của dữ liệu đào tạo Và như chúng ta sẽ nhìn thấy, các đặc trưng có thể thao tác nhanh hơn hệ thống sử dụng pixel.

Trong hệ thống dò tìm khuôn mặt này, chúng ta sử dụng các đặc trung rất đơn giản

    nÕu nÕu nếu khác đi

Có 3 loại đặc trưng Haar-like cơ bản Giá trị của đặc trưng 2 hình chữ nhật là sự khác biệt giữa tổng các pixel trong 2 vùng chữ nhật Các vùng có cùng kích cỡ và hình dạng và nằm liền kề nhau Đặc trưng 3 hình chữ nhật tính tổng của 2 hình chữ nhật bên băng các được trừ từ tổng của hình chữ nhật trung tâm Cuối cùng, đặc trưng 4 hình chữ nhật tính toán sự khác biệt giữa 2 cặp hình chữ nhật chéo

Trong trường hợp phổ biến, một ảnh 15 20 , tập các hình chữ nhật đặc trưng là khá lớn: 37520 Hình dưới đây trình bày về các mẫu 2-3-4 hình chữ nhật được sử dụng bởi bộ dò tìm.

Hình 2.3: Mẫu các đặc trưng hình chữ nhật nằm trong cửa sổ dò tìm

Kết quả đặc trưng là tổng các pixel nằm trong hình chữ nhật màu trắng trừ đi tổng của các pixel trong các hình chữ nhật màu xám

Các đặc trưng Haar-like nguyên mẫu Vùng màu đen ứng với trọng số âm, vùng trắng ứng với trọng số dương.

Hình 2.4: Các dạng đặc trưng Haar-like cơ bảnNgoài ra còn có thể mở rộng các đặc trưng bằng cách xoay 45 và tạo ra một số lượng đặc trưng lớn hơn rất nhiều.

Hình 2.5: Các dạng đặc trưng Haar-like mở rộng

Số lượng các đặc trưng:

Số lượng các đặc trưng tính được theo mỗi nguyên mẫu là khá lớn và khác nhau giữa nguyên mẫu này với nguyên mẫu khác và có thể được tính toán theo cách dưới đây Đặt H và W là kích thước của của sổ điểm ảnh H x W và đặt w và h là kích cỡ của một nguyên mẫu nằm trong cửa sổ như hình dưới:

Hình 2.6: Hình chữ nhật ở phía trên bên phải cửa sổ Đặt U = [W/w], V = [H/h] là tỷ lệ co giãn lớn nhất theo chiều x và y, với kích thước WH số lượng đặc trưng có thể được xác định bởi :

Bảng 1: Các kiểu đặc trưng và số lượng tương ứng

Kiểu đặc trưng w/h U/V Số lượng

Với cửa sổ dò tìm có kích cỡ 15 20 chúng ta đã có một lượng đặc trưng hình chữ nhật khá lớn: 37520

Hình 2.7: Minh họa các đặc trưng đường và đặc trưng cạnh được lựa chọn

Chúng ta chỉ cần sử dụng 3 loại đặc trưng thẳng dường như đã đủ để có thể xây dựng những bộ dò tìm hiệu quả Sự lựa chọn đặc trưng là quan trọng nhưng không mang tính quyết định như quá trình huấn luyện các bộ phân lớp, đó là quá trình kết hợp các bộ phân lớp yếu Sự lựa chọn và sử dụng chưa đầy đủ các loại đặc trưng không ảnh hưởng nhiều tới hiệu quả dò tìm, chỉ cần các đặc trưng cơ bản định hướng theo chiều ngang và chiều dọc là đủ để biểu diễn tốt đối tượng “khuôn mặt” Với những kiểu đặc trưng khác sẽ mở ra hướng phát triển cho đề tài trong tương lai.

Lựa chọn các đặc trưng hình chữ nhật dường như là khá thô sơ nếu như chúng ta đem so sánh với những lựa chọn khác, chẳng hạn như các bộ lọc điều khiển được Các bộ lọc điều khiển được dường như thích hợp với việc dò tìm biên, nén ảnh và phân tích cấu trúc ảnh Ngược lại, các đặc trưng hình chữ nhật nhạy hơn với các đường, sự xuất hiện của biên và các cấu trúc ảnh khá đơn giản Sự lựa chọn hướng phát triển là sự điều hoà giữa lợi ích giữa đơn giản và tính toán nhanh với bộ lọc trực quan nhưng tốc độ chậm hơn.[9,14]

Chúng ta đã biết rằng chúng ta cần các đặc trưng Haar-like để huấn luyện các bộ phân lớp Mục tiêu của phần này là giới thiệu một cách môt tả ảnh mới gọi là “Ảnh tích phân”, tạo thuận lợi cho việc tính toán nhanh các đặc trưng.

Giá trị của “Ảnh tích phân” tại toạ độ ( X Y , )là tổng của tất cả các pixel ở phía trên-bên trái của ( X Y , ) như hình dưới.

Hình 2.8: Biểu diễn “ảnh tích phân”

HỌC VỚI ADABOOST

Sử dụng các bộ phân lớp một tầng với tập hợp các đặc trưng chúng ta có thể xây dựng bộ dò tìm khuôn mặt bằng việc áp dụng tất cả các vị trí ảnh Đó là một trong rất nhiều ý tưởng có thể sử dụng để giải quyết bài toán dò tìm khuôn mặt.

Tuy nhiên, chỉ với một ảnh 15 20 chúng ta phải xử lý với 37520 đặc trưng, còn lớn hơn cả số điểm ảnh Điều này là rất hạn chế, ngay cả khi chúng ta có thể tính toán rất nhanh, dễ dàng (nhất là với ảnh tích phân) thì vẫn rất tốn thời gian và không còn đáp ứng được yêu cầu của ứng dụng Một giải pháp khác cho việc xây dựng các bộ dò tìm khuôn mặt là lựa chọn một lượng nhỏ trong số các đặc trưng này, đó là những đặc trưng tốt nhất cho việc phân tách các mẫu dương và các mẫu âm Bộ phân lớp cuối cùng có thể là sự kết hợp của một số đặc trưng Haar-like nổi bật

Vì vậy, trong phần này chúng ta sẽ thảo luận về thuật toán gọi là Adaboost (Adaptive Boosting) với hai mục tiêu:

 Lựa chọn tập hợp các đặc trưng tiêu biểu đại diện tốt nhất cho khuôn mặt.

 Huấn luyện bộ phân lớp mạnh với sự kết hợp tuyến tính các đặc trưng tốt nhất.

Hình 2.10: Mô hình thuật toán AdaBoost

Trong phần dưới đây, chúng ta sẽ lý giải tại sao chúng ta chọn thuật toán này thay vì những thuật toán kinh điển và sau đó chúng ta sẽ có một số lý thuyết để lý giải tại sao Adaboost tỏ ra hiệu quả và chúng có thể đáp ứng như thế nào cho vấn đề dò tìm khuôn mặt.[9]

Các thuật toán đã được phát triển

Cho một tập các đặc trưng và tập mẫu huấn luyện( gồm cả mẫu dương và mẫu âm), một số hướng phát triển học máy chính đã được sử dụng để học hàm phân lớp Ở đây chúng ta tóm tắt môt hướng chính được dùng để huấn luyện bộ phân lớp:

 Mô hình hỗn hợp Gauss

 Các đặc trưng ảnh đơn giản và mạng nơron

 Thủ tục học Winnow Đánh giá thuật toán AdaBoost [5,9,11,14]

Adaboost là thuật toán học tăng cường hiệu quả bởi sự kết hợp của những bộ học thống kê đơn giản trong khi giảm thiểu đáng kể không chỉ lỗi huấn luyện mà còn cả những lỗi không lường trước được Giống như tất cả các hàm học, chúng có những ưu điểm và những hạn chế dưới đây. Ưu điểm:

 Không cần những tri thức nền tảng

Như trong hình 2.10, AdaBoost là một thuật toán mà chỉ cần hai đầu vào: tập dữ liệu đào tạo và tập hợp các đặc trưng (các hàm phân lớp) Chúng không cần những tri thức biết trước về cấu trúc khuôn mặt Hầu hết các đặc trưng mô tả sẽ được lựa chọn một cách tự động trong quá trình học.

 Thuật toán có khả năng thích nghi

Tại mỗi trạng thái trong quá trình học, các mẫu dương và mẫu âm sẽ được kiểm tra bởi bộ phân lớp hiện thời Nếu mẫu x i bị phân lớp sai có nghĩa là nó rất khó để phân loại hay nó không thể được phân loại vào lớp tốt Cùng với sự gia tăng biệt số của bộ phân lớp những mẫu bị phân lớp sai này sẽ được cập nhật trọng số cho vòng lặp tiếp theo của thuật toán Vì vậy các mẫu có thể phân lớp dễ dàng có thể được tìm thấy ngay trong vòng lặp đầu tiên và sẽ có trọng số nhỏ trong quá trình học ở trạng thái tiếp theo, ngược lại những mẫu khó phân loại và đã bị phân loại sai sẽ có một trọng số lớn để hướng tới ưu tiên phân loại những mẫu khó ở những vòng lặp tiếp theo của thuật toán.

 Lỗi huấn luyện hội tụ về 0 theo hàm mũ

Với một tập hữu hạn các mẫu huấn luyện ( gồm cả mẫu dương và mẫu âm), lỗi huấn luyện tiến nhanh về 0 và có thể đạt xấp xỉ 0 sau hữu hạn vòng lặp

 Chất lượng của bộ dò tìm bị phụ thuộc vào tập mẫu huấn luyện

Kích thước của tập mẫu và tính chất có thể thay đổi được của các loại mẫu là nhân tố quan trọng để tiến hành thống kê Cách thức kết hợp các bộ phân lớp cơ sở có ảnh hưởng tới kết quả Sử dụng các hàm cơ bản sẽ cho kết quả tốt hơn sự lựa chọn ngẫu nhiên nhưng nếu chúng ta muốn tăng cường khả năng dò tìm với tỷ lệ dò tìm chính xác cao sau hữu hạn vòng lặp thì cần có giải pháp kết hợp một cách hiệu quả các hàm cơ sở

 Tốc độ huấn luyện khá chậm

Tại mỗi bước lặp, thuật toán kiểm tra tất cả các đặc trưng của tất cả các mẫu nên chúng yêu cầu thời gian tính toán tương ứng với kích cỡ của của đặc trưng và tập mẫu Với hàng nghìn mẫu huấn luyện và hàng chục nghìn đặc trưng cho mỗi mẫu huấn luyện có kích thước chỉ 15 20 pixel chúng ta sẽ gặp vấn đề về thời gian huấn luyện Tuy nhiên thời gian tính toán phụ thuôc tuyến tính vào cả hai tập hợp.

Các đặc trưng Haar-like sẽ được sử dụng để xây dựng các bộ phân lớp cơ bản ứng dụng thuật toán AdaBoost Bản chất của quá trình học tăng cường là kết hợp các bộ phân lớp đơn giản (còn gọi là bộ học yếu) Bộ học được gọi là “yếu” vì tự chúng không đủ khả năng để phân lớp dữ liệu tốt, chúng chỉ cần phân lớp chính xác trong khoảng hơn 50% các trường hợp

Một cách đơn giản để kết hợp các bộ học yếu và các đặc trưng Haar-like là gán cho mỗi bộ học yếu một đặc trưng Vì vậy, thuật toán AdaBoost sẽ lựa chọn tại mỗi vòng lặp các đặc trưng có khả năng phân lớp tốt nhất giữa các mẫu dương và mẫu âm

Sự phản hồi của các đặc trưng là sự khác nhau của tổng các pixel ở các vùng lân cận nhau Chúng ta hy vọng những đáp ứng này sau đó có thể cho phép phân biệt các mẫu dương với các mẫu âm Cho mỗi đặc trưng và tại mỗi vòng lặp của thuật toánAdaBoost bởi vì các mẫu được điều chỉnh trọng số sau mỗi vòng lặp, vì vậy các đáp ứng của một đặc trưng với một mẫu sẽ không cần thiết như nhau ở mỗi trạng thái Một

3 8 bộ phân lớp yếu là một ước lượng đặc trưng theo ngưỡng tối ưu Ngưỡng là tối ưu khi số lượng mẫu bị phân lớp sai là nhỏ nhất

Chúng ta có thể tóm lại bằng công thức dưới đây:

Bộ phân lớp h x j ( ) bao gồm đặc trưng f j

, ngưỡng  j và đại lượng p j chỉ ra hướng của sự khác biệt

Trong đó x là mẫu có trọng số, có thể là mẫu dương hoặc mẫu âm Các mẫu đều được cập nhật lại trọng số sau mỗi trạng thái của thuật toán.[9]

Cho đặc trưng f j và tất cả các mẫu đáp ứng f x j ( ) i

, i tập huấn luyện đối với đặc trưng nay, chúng ta muốn một nguỡng  j để phân tách hiệu quả nhất các mẫu dương và các mẫu âm Một phương pháp có thể xấp xỉ có thể xấp xỉ các thuộc tính của mẫu âm và mẫu dương bởi 2 xấp xỉ Gauss, với chỉ 2 tham số cho mỗi xấp xỉ Gauss. Hướng này có thể làm việc trên lý thuyết khi chúng ta chỉ muốn bộ phân lớp làm việc với tỷ lệ dò tìm hơn 50% Nhưng trong thực tế sự phân phối cho nhiều đặc trưng tạo nên độ lệch chuẩn lớn như nhiều mẫu dưới đây không được mô tả đặc điểm bởi xấp xỉ Gauss.

Hình 2.11: Phân phối mẫu cho mỗi đặc trưng và xấp xỉ Gauss tương ứng

Một hướng thích hợp hơn là tìm ngưỡng từ tích luỹ cấp xám.

SỰ PHÂN LOẠI VÀO CÁC TẦNG

Chúng ta đã có phương pháp lựa chọn các đặc trưng tiêu biểu nhất và kết hợp chúng trong bộ phân lớp mạnh Tuy nhiên, chúng ta cần những giải pháp cải tiến hệ thống dò tìm khuôn mặt nhằm làm giảm đáng kể thời gian tính toán Đó là việc hướng tới xây dựng các tầng có thể góp phần làm cho hệ thống dò tìm hiệu quả hơn

2.4.1 Hiệu quả của việc phân tầng

Với một bộ dò tìm c do phương pháp AdaBoost huấn luyện được, ta có thể dò tìm với một độ chính xác nhất định và với một tốc độ nhất định Nếu như muốn có tỷ lệ dò tìm cao thì bộ dò tìm phải gồm nhiều đặc trưng, điều đó kéo theo tốc độ dò tìm sẽ giảm.

Nếu sử dụng bộ dò tìm kết hợp với nhiều bộ dò tìm cơ bản khác nhau cũng xảy ra điều tương tự Để có được độ chính xác cao, hoặc cần phải có số lượng lớn các bộ dò tìm, hoặc mỗi bộ dò tìm cần phải có nhiều đặc trưng, hoặc cả hai Và tất nhiên tốc độ dò tìm sẽ giảm.

Một hướng khắc phục những nhược điểm này là xây dựng bộ dò tìm phân tầng

T  t Bộ dò tìm phân tầng bao gồm nhiều tầng, mỗi tầng t i    c j là một bộ dò tìm kết hợp với số lượng các bộ dò tìm khác nhau nên tốc độ và tỷ lệ dò tìm khác nhau Khi dò tìm tất cả các khuôn mặt trong ảnh, tất cả các cửa sổ con W 0   w i, j, s  với các kích thước s khác nhau

Nguyên tắc cải tiến bộ phân lớp đó là khả năng loại bỏ nhanh chóng các cửa sổ chắc chắn cho mẫu âm trong khi vẫn giữ lại được hầu hết các mẫu dương và sau đó tập trung vào các cửa sổ con với các bộ phân lớp hoàn chỉnh hơn Để làm được điều đó, những tầng đầu tiên sẽ chỉ chứa ít đặc trưng, sao cho có thể đạt được tỷ lệ dò tìm rất cao (xấp xỉ 100%) nhưng có thể có tới 40% mẫu bị nhận nhầm là mẫu dương (khuôn mặt) Đây rõ ràng là điều không thể chấp nhận được với bài toán dò tìm khuôn mặt, nhưng nếu kết hợp nhiều tầng dò tìm sẽ cho phép đạt được mục đích dò tìm khuôn mặt nhanh với tỷ lệ dò tìm cao.

Chúng ta có thể so sánh cấu trúc tầng này với cây quyết định Nếu một cửa sổ con được phân lớp ở một tầng, chúng có thể tiếp tục xử lý ở các tầng dưới và sẽ được ước lượng ở tầng tiếp theo Quá trình đối với cửa sổ con này sẽ được lặp lại cho đến khi có một tầng đánh giá nó là mẫu âm hoặc nếu tất cả các tầng của bộ phân lớp mạnh đều

Các cửa sổ mẫu âm

Các cửa sổ mẫu dương

Mẫu không phải khuôn mặt

Tầng trước đóng vai trò như một bộ phân lớp yếu ở tầng sau đánh giá nó là mẫu dương Với trường hợp thứ hai, nó sẽ được bộ dò tìm thừa nhận là mẫu dương (khuôn mặt) Hình vẽ dưới đây mô tả quá trình xử lý của các tầng [9, 10, 13]

Hình 2.15: Lược đồ mô tả quá trình dò tìm phân tầng

Hình 2.16: Cấu trúc phân tầng chi tiết

Một quá trình phân lớp được áp dụng cho mọi cửa sổ con Khởi đầu quá trình, bộ phân lớp loại ra phần lớn các mẫu âm với các xử lý đơn giản Ở các tầng con tiếp theo tiếp tục loại ra các mẫu âm nhưng tất nhiên là sẽ cần nhiều thời gian hơn Sau quá trình xử lý ở một loạt các tầng, các cửa sổ con không phải khuôn mặt được loại bỏ một cách triệt để Các mẫu được phân lớp dương với độ chính xác cao.

Như đã trình bày trong những phần trước, mục tiêu của đề tài là dò tìm khuôn mặt trong những ảnh có chứa một vài khuôn mặt Chú ý rằng chúng ta phải làm việc trên khoảng 20 triệu cửa sổ trong ảnh 100 100 pixel chỉ để dò tìm một vài cửa sổ là khuôn mặt, đa số trong những cửa sổ này là mẫu âm Sẽ là rất hữu ích nếu có thể loại bỏ nhanh chóng những cửa sổ này Nếu tầng cuối cùng thực hiện việc đánh giá các cửa sổ với hàng nghìn đặc trưng thì cũng chỉ phải làm việc trên một số ít những cửa sổ có khả năng cao là khuôn mặt còn lại, do đó vẫn đảm bảo về mặt thời gian.

2.4.2 Cải tiến bộ phân lớp

Chúng ta đã định nghĩa tầng là sự nối tiếp nhau của các bộ phân lớp Bước đầu là khá đơn giản nhưng chúng ta có thể làm cho những bộ phân lớp trở lên thích hợp hơn. Phần này sẽ mô tả cách thức xây dựng những bộ phân lớp thích hợp hơn tại mỗi trạng thái.

Trước tiên, những trạng thái cuối cùng của tầng phải xem xét nhiều đặc trưng hơn các trạng thái ban đầu Thuật toán AdaBoost có thể làm cho lỗi huấn luyện giảm đi theo hàm mũ theo số vòng lặp Nếu như có nhiều đặc trưng (tức là AdaBoost sẽ phải chạy nhiều vòng lặp hơn) sẽ có sự phân biệt tốt hơn giữa Nghĩa là bộ phân lớp lúc đó sẽ mạnh hơn một bộ phân lớp với số đặc trưng ít hơn (ít vòng lặp hơn).

Thứ hai, một lý do không kém phần quan trọng cho việc sử dụng sự phân loại theo tầng là cách thức lựa chọn tập huấn luyện Tại mỗi bước học, bộ phân lớp hay trạng thái thứ i được kiểm tra trên các tập mẫu âm Tất cả các mẫu bị phân lớp sai được giữ cho bộ phân lớp thứ i1, do vậy bộ phân lớp thứ i1 sẽ phải xử lý trên những mẫu khó phân loại hơn so các bộ phân lớp trước Nghĩa là chúng ta sẽ thúc đẩy những bộ phân lớp sau có tỷ lệ lỗi mẫu dương khả quan hơn.

2.4.3 Huấn luyện các tầng cho bộ phân lớp

Mục tiêu của dò tìm phân tầng là cải thiện tỷ lệ lỗi dương và tỷ lệ dò tìm Những hệ thống đã được xây dựng cho tỷ lệ dò tìm trong khoảng 85% đến 95% và tỷ lệ lỗi dương khoảng 10  5 Số lượng các đặc trưng tại mỗi trạng thái và tổng số trạng thái sẽ ảnh hưởng tới những tỷ lệ này

Gọi F là tỷ lệ lỗi dương của bộ phân lớp được phân tầng, K là số bộ phân lớp của tầng t k và f i là tỷ lệ lỗi mẫu dương của bộ phân lớp thứ i trong tổng số các mẫu được kiểm tra qua bộ phân lớp này Xét mỗi tầng t k   c i ta có tỷ lệ lỗi mẫu dương của t k được tính như sau:

Sau đó, tỷ lệ dò tìm được xác định:

  với d i là tỷ lệ dò tìm của bộ phân lớp thứ i trên các mẫu được kiểm tra trên bộ phân lớp đó

Với cách tính này, ta có thể tính được tỷ lệ dò tìm của toàn bộ các tầng T   t i là:

Nếu chúng ta muốn nâng tỷ lệ dò tìm lên 90%, chúng ta có thể xây dựng một bộ phân lớp nhiều tầng và mỗi tầng có tỷ lệ dò tìm trong khoảng 99%, khi đó

XÂY DỰNG CHƯƠNG TRÌNH VÀ MỘT SỐ KẾT QUẢ

CƠ SỞ DỮ LIỆU

Bước đầu tiên của toàn bộ quá trình dò tìm khuôn mặt trong ảnh số là việc lựa chọn và xây dựng cơ sở dữ liệu bởi vì điều đó ảnh hưởng nhiều đến chất lượng huấn luyện và kết quả dò tìm Cơ sở dữ liệu là tập hợp tất cả các ảnh mà ta sử dụng để thực hiện việc dò tìm khuôn mặt Chúng ta có thể chia cơ sở dữ liệu ra làm 2 phần:

Bao gồm tất cả các mẫu được sử dụng để huấn luyện hay để kiểm tra các bộ phân lớp khác Chúng gồm có các mẫu dương và các mẫu âm Các mẫu dương được xây dựng với các điều kiện ngoại cảnh(ánh sáng, nền, …) khác nhau Với các mẫu âm thì cần có nền tốt nhất có thể Chúng ta có thể trích rút chúng từ những ảnh lớn không phải khuôn mặt Sẽ rất khó để xác định xem những mẫu nào có thể đại diện tốt nhất cho đối tượng ảnh không phải khuôn mặt và số lượng mẫu không phải khuôn mặt cần thiết là bao nhiêu vì phạm vi của đối tượng này là rất rộng Tuy nhiên chúng ta sẽ cố gắng lựa chọn những đối tượng không phải khuôn mặt khó phân biệt nhất với đối tượng khuôn mặt và như vậy có thể tăng khả năng xác định chính xác ranh giới giữa lớp khuôn mặt và lớp không phải khuôn mặt Những ảnh cơ sở được sử dụng để xây dượng cơ sở dữ liệu có kích thước 15x20pixel

 Tập huấn luyện : Tập này là đầu vào cho bộ phân lớp một tầng và cho trạng thái đầu tiên của học phân tầng Vì tập này có ảnh hưởng quyết định tới việc hình thành khái niệm về đối tượng “khuôn mặt”, “không phải khuôn mặt” của bộ học nên chúng ta cần tiến hành chọn lựa dữ liệu một cách hết sức thận trọng Chúng ta sẽ sử dụng dữ liệu từ nhiều nguồn khác nhau vì dữ liệu lấy từ một nguồn thường được thực hiện trong những điều kiện tương tự nhau dẫn đến không đảm bảo tính đa dạng và khả năng bao quát các tình huống

 Tập thử nghiệm : Với một bộ phân lớp đã được huấn luyện bằng AdaBoost chúng ta cần huấn luyện chúng với các tập dữ liệu khác với cả các mẫu dương và mẫu âm Qua đó chúng ta có thể thu được lỗi kiểm tra của bộ phân lớp.Trong kỹ thuật huấn luyện phân tầng, tập dữ liệu này được sử dụng xuyên suốt quá trình học để kiểm tra tầng hiện thời Các mẫu bị phân lớp sai sẽ được đưa vào để trở thành các mẫu huấn luyện cho các tầng tiếp theo

 Tập chuẩn hoá : Tập này được sử dụng để kiểm tra sự thực thi của các tầng Một số ảnh có mặt tại tầng cuối cùng của bộ dò tìm và chúng cho phép ước lượng chất lượng chung của bộ dò tìm.

Với tập dữ liệu này cần thể hiện được phần lớn các tình huống thực tế căn bản với một tập ảnh với nền phức tạp Chúng được sử dụng để kiểm tra bộ phân lớp cuối cùng sử dụng cửa sổ quét trên ảnh đầu vào Hiện nay người ta thường sử dụng cơ sở dữ liệu ảnh CMU để xây dựng tập kiểm tra của mình và đề tài này cũng vậy vì cơ sở dữ liệu này đáp ứng tốt các yêu cầu của tập dữ liệu kiểm tra với đa dạng các tình huống Tập dữ liệu này khác hẳn với tập dữ liệu huấn luyện vì nó không phải là những ảnh 15x20, kích thước của các ảnh trong cơ sở dữ liệu này rất đa dạng Chúng cho phép ước lượng tỷ lệ dò tìm và tốc độ dò tìm một cách tương đối chính xác

Với đề tài này, tập ảnh để huấn luyện bộ dò tìm khuôn mặt được lấy từ trang web http://www.ai.mit.edu/projects/cbcl của trung tập CBCL thuộc trường đại học MIT. Tập ảnh gồm 2 phần: ảnh huấn luyện (1303 mặt người, 13495 đối tượng không phải mặt người) và tập ảnh thử nghiệm ( 368 mặt người và 12238 đối tượng không phải mặt người)

Tập ảnh kiểm tra được lấy từ cơ sở dữ liệu CMU với khoảng 4200 ảnh khác nhau bao gồm cả những ảnh chứa hoặc không chứa mặt người

Nhận xét về tập dữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh là khuôn mặt nhìn trực diện so với mặt phẳng ảnh và mỗi khuôn mặt đều có đầy đủ các thông tin đặc trưng căn bản ( chân mày, mắt, mũi, miệng, cằm) Một số khuôn mặt quay với góc quay không đáng kể và có sắc thái tình cảm khác nhau.

KẾT QUẢ

Thuật toán AdaBoost và các bộ học đã được kiểm chứng hiệu quả thực thi trên những tập mẫu với các tham số khác nhau như cơ sở dữ liệu được sử dụng, số lượng các trạng thái trên mỗi tầng, …

Lý thuyết đã chỉ ra rằng các bộ phân lớp yếu được sử dụng để huấn luyện với thuật toán AdaBoost cần thoả mãn một điều kiện Dù là gọi là bộ phân lớp yếu nhưng

5 8 chúng cần đảm bảo cho kết quả tốt hơn sự lựa chọn ngẫu nhiên Tức là chúng phải phân loại một cách chính xác ít nhất 50% các mẫu thử bởi vì với phân lớp nhị phân, sự lựa chọn ngẫu nhiên cho kết quả chính xác trong khoảng 50% Hình vẽ dưới đây mô tả tỷ lệ lỗi ứng với các đặc trưng được lựa chọn

3.2.2 Kết quả kiểm tra Để kiểm tra kết quả học và tỷ lệ phân lớp sau quá trình xử lý học tăng cường, chúng ta đề cập đến hai khái niệm ước lượng lỗi cơ bản:

 Lỗi huấn luyện  tr : là tỷ lệ lỗi phát sinh khi tiến hành trên tập huấn luyện

N te te te tr i i i tr i

   với N tr là tổng số mẫu của tập huấn luyện (gồm cả mẫu dương và mẫu âm),

( te ) x i là mẫu thứ i , y i ( ) te là nhãn của mẫu thứ i (+1 hoặc -1) Lý thuyết Boosting chỉ ra rằng lỗi huấn luyện này sẽ tiến đến 0 khi tăng số vòng lặp.

 Lỗi thử nghiệm: là tỷ lệ lỗi phát sinh trong quá trình kiểm nghiệm

N te te te te i i i te i

   với N te là tổng số mẫu huấn luyện (gồm cả mẫu âm và mẫu dương), x i ( te ) là mẫu thứ i , y i ( ) te là nhãn của mẫu thứ i ( 1 hoặc 1 ).

THỬ NGHIỆM BỘ DÒ TÌM KHUÔN MẶT

3.3.1 Dữ liệu Để đánh giá khách quan về hiệu quả dò tìm khuôn mặt của hướng phát triển sử dụng thuật toán AdaBoost đề tài đã tiến hành thử nghiệm chương trình demo trên các tập dữ liệu chuẩn thường được sử dụng, bao gồm:

- Tập dữ liệu từ cơ sở dữ liệu CMU (http://www.ri.cmu.edu/projects/) bao gồm

230 ảnh với nhiều kích cỡ từ 20 20 đến 400 400

- Tập dữ liệu CBCL của trường đại học MIT bao gồm 126 ảnh mặt người, 20038 ảnh không phải mặt người chủ yếu có kích cỡ 20 24

- Tập dữ liệu 300 ảnh gồm 39 người, trong đó có 180 ảnh trích từ cơ sở dữ liệu ORL của AT&T còn lại là ảnh chụp bằng máy ảnh kỹ thuật số, điện thoại di động.

- Tập 70 ảnh có nền phức tạp với cỡ lớn ( 800 600 đến 1024 768 ) thu thập từ internet

Ghi chú: Kết quả thực nghiệm thu được dưới đây thu được khi tiến hành thử nghiệm chương trình trên máy PentiumIV 2.0GHz 256MB RAM

- Bảng kết quả thực nghiệm trên tập dữ liệu CBCL cảu trường đại học MIT

Bảng 2: Kết quả trên tập dữ liệu CBCL

Bộ tham số Tỷ lệ dò tìm Tỷ lệ lỗi mẫu dương Tỷ lệ lỗi mẫu âm

- Bảng kết quả với tập dữ liệu lấy từ cơ sở dữ liệu CMU

Bảng 3: Kết quả trên tập dữ liệu CMU

Bộ tham số Tỷ lệ dò tìm Tỷ lệ lỗi mẫu dương Tỷ lệ lỗi mẫu âm

- Bảng kết quả với tập dữ liệu lấy từ cơ sở dữ liệu ORL

Bảng 4: Kết quả trên tập dữ liệu ORL

Bộ tham số Tỷ lệ dò tìm Tỷ lệ lỗi mẫu dương Tỷ lệ lỗi mẫu âm

- Bảng kết quả thử nghiệm tốc độ dò tìm với ảnh phức tạp cỡ lớn thu thập từ internet

Bảng 5: Kết quả trên tập dữ liệu thu thập từ internet.

- Với số lượng tầng của chương trình minh họa còn ít, số lượng mẫu huấn luyện và thời gian huấn luyện bộ dò tìm còn hạn chế do vậy tỷ lệ dò tìm chính xác chưa đạt đến mức tối ưu như lý thuyết

- Khi số tầng càng tăng thì tỷ lệ dò tìm càng cao và tỷ lệ lỗi mẫu dương, lỗi mẫu âm giảm Nhưng khi số tầng tăng thì tốc độ dò tìm giảm.

- Với tốc độ dò tìm tính bằng ms nên hệ thống thích hợp cho dò tìm thời gian thực

- Thời gian huấn luyện thuật toán AdaBoost rất lâu, mất khoảng 3 ngày liên tục cho một hệ thống chỉ 20 tầng.

- Hiệu quả dò tìm cao với các ảnh trực diện, góc nghiêng nhỏ Lỗi mẫu âm thường mắc phải với những khuôn mặt có góc nghiêng lớn hay bị che khuất (không còn giữ được nguyên vẹn cấu trúc đặc trưng của khuôn mặt).

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1 Đánh giá thuật toán a Ưu điểm

- Phương pháp cho độ chính xác tương đối nhưng lại dò tìm khá nhanh, thích hợp trong việc dò tìm thời gian thực, trong video.

- Thích hợp với việc huấn luyện trong điều kiện dữ liệu bị nhiễu

- Phương pháp trích chọn đặc trưng tiến hành nhanh và trực quan b Nhược điểm

- Thuật toán huân luyện chậm do tổ hợp các bộ phân lớp yếu khá lớn

- Chỉ thích hợp với dò tìm trong điều kiện các khuôn mặt nhìn thẳng và góc quay nhỏ

- Một số tính chất của AdaBoost mang tính chất nhận định và chưa được chứng minh chặt chẽ

2 Hướng phát triển a Về mặt thuật toán

- Kết hợp các phương pháp khác như SVM ở những tầng cuối cùng để tăng độ chính xác

- Sử dụng các mô hình cải tiến của thuật toán AdaBoost như FloatBoost để cải thiện tỷ lệ dò tìm cũng như hạn chế lỗi b Về mặt thực tiễn

- Dò tìm khuôn mặt trong thời gian thực kết hợp với theo vết khuôn mặt trong các đoạn Video-camera để tăng độ chính xác và giảm thời gian dò tìm.

- Đối với dữ liệu học: Cần phải tăng dần số mẫu học và thu thập mẫu học từ những nguồn đa dạng, chuẩn để có thể giúp bộ học định nghĩa được một cách đầy đủ nhất về đối tượng “khuôn mặt”

- Cần phải xây dựng một hệ thống dò tìm khuôn mặt có khả năng thích nghi với những ảnh hưởng của mỗi trường và đặc biệt phải giải quyết bài toán dò tìm khuôn mặt ở nhiều góc độ khác nhau so với mặt phẳng ảnh để đảm bảo giảm thiểu việc bỏ sót những đối tượng cần dò tìm

Dò tìm khuôn mặt là một bài toán phức tạp, mỗi hệ thống dò tìm thường chỉ thích hợp với một số hoàn cảnh nhất định Sẽ rất khó khăn để có thể xây dựng một hệ thống dò tìm phát huy hiệu quả trong mọi điều kiện Bộ dò tìm khuôn mặt dựa trên thuật toán AdaBoost và các đặc trưng hình học Haar cũng không phải là ngoại lệ Bộ dò tìm này phù hợp với yêu cầu dò tìm trong thời gian thực nhưng lại chỉ phát huy hiệu quả với những khuôn mặt thẳng Với những thuật toán cải tiến dựa trên AdaBoost sẽ được phát triển thì những hạn chế của phương pháp này sẽ được khắc phục và hệ thống dò tìm sẽ cho kết quả tốt hơn Đề tài này là những tìm hiểu đầu tiên của tôi về lĩnh vực xử lý ảnh với một bài toán cụ thể Vì vậy, tôi không có tham vọng trong thời gian ngắn có thể ngay lập tức cải tiến hay nâng cấp thuật toán để đạt những kết quả tối ưu hơn Qua đề tài này, tôi mong muốn khám phá những tri thức khoa học thực sự trong một lĩnh vực rất lý thú, đó là xử lý ảnh

Với những mục tiêu khiêm tốn đặt ra ban đầu, đề tài đã cơ bản giải quyết được

Do kiến thức của bản thân còn nhiều hạn chế, thời gian tìm hiểu bài toán ngắn nên trong quá trình thực hiện đề tài sẽ không tránh khỏi những sai sót

PHỤ LỤC 1: Cấu trúc chương trình demo

Initial_PossibleFeatures(); // tao cac kieu dac trung

Make_WeakClassifier(); //khoi tao bo phan lop yeu

Get_PrositiveExamples(); //tai mau duong tu thu muc luu tru Get_NegativeExamples(); //tai mau am tu thu muc luu tru

Initial_PositiveImage(); //khoi tao anh duong(mat nguoi)

Make_IntegralImage(BYTE* src, double* dst, int width, int height);

// tao anh tich phan cua cac mau

Initial_NegativeImage(); //khoi tao cac mau anh am

Make_IntegImage(BYTE* src, double* dst, int width, int height);

// tao anh tich phan cua cac mau

Start_CascadeClassifier(); //bat dau vong lap phan lop cau truc thap

AdaBoost(n[nNode], nNode -1); //ap dung voi tung buoc thuat toan

Get_EachFeature(m_ImgPositive[j].IntegrailImage,0,0,&minsc); // lay dac trung cua mau duong

// tinh toan tat ca cac gia tri qua n lan phan lop yeu voi mot dac trung cho moi mau (voi mau duong)

Get_EachFeature(m_ImgNegative[j].IntegrailImage,0,0,&minsc);

// tinh toan tat ca cac gia tri qua n lan phan lop yeu voi mot dac trung cho moi mau (voi mau am)

// Lay gia tri nho nhat va cap nhat loi va trong so va luu giu cac bo hoc yeu // tiep tuc lap lai

InitVJFaceDetect(); //khoi tao tap du lieu huan luyen

VJFaceDetector(grayImg, image2, TRUE);//xu ly do tim

VJFaceDetector(CvArr* image1, CvArr* image2, BOOL nFlip);

//phan tich va tong hop vung ket qua sau do ve hop vi tri khuon mat

PHỤ LỤC 2: Một số mẫu test chương trình demo

Ngày đăng: 19/07/2023, 16:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đinh Đức Hùng. Một số kỹ thuật hỗ trợ tìm kiếm ảnh theo nội dung. Luận văn Thạc sỹ. Hà Nội, 2003, tr. 2-10 Khác
[2] Trần Phước Long. Nhận dạng người dựa vào thông tin khuôn mặt xuất hiện trên ảnh. Khóa luận tốt nghiệp đại học. TP HCM, 2003. tr 18-80 Khác
[3] Ts. Nguyễn Kim Sách. Xử lý ảnh và Video số. Nxb KHKT, 1997, tr. 5-33 [4] PGS-TS Ngô Quốc Tạo. Bài giảng Xử lý ảnh (Đại học Công nghệ), 2006Tiếng Anh Khác
[5]Alexander Kurnov, Rainer Lienhart. Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection. Intel Corporation,2002. tr.1-18 Khác
[6] Bo WU, Chang HUANG. Fast Rotation Invariant Multi-View Face Detection [7] Hyeonjoon Moon, P Jonathon Phillips.Computational and performance aspects of PCA-based face-recognition algorithms Khác
[8] K. Sung and T. Poggio. Example-based learning for view-based human face detection. IEEE Trans. On PAMI, 1998 tr.19–51 Khác
[9] P. Viola and M. Jones. Fast and robust classification using asymmetric AdaBoost and a detector cascade.InNIPS 14, 2002 Khác
[10] P. Viola and M. J. Jones. Robust real-time face detection. IJCV, 2004.tr. 1-110 Khác
[11] Ming Jing Li, Rong Xiao. Robust Multi-Pose Face Detection in Images. Tr 4-17 Khác
[12] S.Charles Brubaker, Jianxin Wu. On the Design of Cascade of Boosted Ensembles for Face Detection Based on Real Adaboost. Tr 3-4 Khác
[13] Rafael C.Gonzalez, Richard E.Woods. Digital Image Processing. Addison- Wesley, 1992. Tr 45-133 Khác
w