Chương 1: Giới thiệu Trình bày tổng quan về đề tài, sơ bộ về các đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu, mục tiêu và giới hạn của đề tài. Chương 2: Cơ sở lý thuyết Trình bày nội dung chính của quyển báo cáo, nêu lên được các cơ sở lý thuyết, giới thiệu về thiết kế hệ thống, các thiệt bị cần cho hệ thống. Chương 3: Thiết kế hệ thống Sẽ trình bày cách thiết kế để làm một hệ thống nhận diện khuôn mặt. Chương 4: Kết quả và đánh giá Đánh giá lại kết quả của hệ thống dựa trên những mục tiêu đã đề ra, cũng như chức năng để đưa đến khả năng vận hành tốt nhất của hệ thống.
Chương 5: Kết luận và hướng phát triển. Kết luận và định hướng phát triển đề tài về sau. Khoa đào tạo Chất Lượng Cao 3 do an Đồ án tốt nghiệp CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 KỸ THUẬT PHÁT HIỆN KHUÔN MẶT QUA ẢNH 2.1 Phát hiện khuôn mặt dựa vào Haar-Like và AdaBoost 2.1 Tổng quan Có rất nhiều phương pháp để giải quyết bài toán xác định khuôn mặt người trên ảnh 2D dựa trên các hướng tiếp cận khác nhau. Phương pháp Haar-like – Adaboost (viết tắt HA) của hai tác giả Paul Viola và Michael J.Jones là phương pháp xác định mặt người dựa theo hướng tiếp cận trên diện mạo.
Hướng tiếp cận trên diện mạo tức là hệ thống nhận dạng khuôn mặt sẽ được học các mẫu của khuôn mặt từ một tập ảnh mẫu. Sau khi quá trình học hay quá trình huấn luyện này (training) thực hiện xong, hệ thống sẽ rút ra được những tham số để phục vụ cho quá trình nhận dạng.Vì vậy tiếp cận trên diện mạo còn được biết đến với tên gọi tiếp cận theo phương pháp học máy. Bài báo cáo tập trung chủ yếu vào quá trình nhận dạng (sau khi đã thực hiện quá trình học). Về tổng quan, phương pháp HA được xây dựng dựa trên sự kết hợp, lắp ghép của 4 thành phần, đó là: Các đặc trưng Haar-like: các đặc trưng được đặt vào các vùng ảnh để tính toán các giá trị của đặc trưng, từ những giá trị đặc trưng này đưa vào bộ phân loại Adaboost ta sẽ xác định được ảnh có khuôn mặt hay không.
Ảnh tích hợp (Integral Image): thực ra đây là một công cụ giúp việc tính toán các giá trị đặc trưng Haar-like nhanh hơn. Adaboost (Adaptive Boost): bộ phân loại (bộ lọc) hoạt động dựa trên nguyên tắc kết hợp các bộ phân loại yếu để tạo lên bộ phân loại Khoa đào tạo Chất Lượng Cao 4 do an Đồ án tốt nghiệp mạnh. Adaboost sử dụng giá trị đặc trưng Haar-like để phân loại ảnh là mặt hay không phải mặt. Cascade of Classifiers: bộ phân loại tầng với mỗi tâng là một bộ phân loại Adaboost, có tác dụng tăng tốc độ phân loại.
Như vậy bài toán xác định mặt người trong ảnh cũng chính là bài toán phân loại ảnh thành hai lớp mặt hoặc không phải mặt.2 Tiền xử lý Một lưu ý nhỏ là phương pháp Haar-Like thực hiện trên ảnh xám (gray image). Mỗi điểm ảnh (pixel) sẽ có giá trị mức xám từ 0 đến 255 (không gian màu 8 bit). Như vậy phương pháp HA sẽ không khai thác những đặc điểm về màu sắc khuôn mặt để nhận dạng song vẫn rất hiệu quả. Ảnh màu sẽ được chuyển về ảnh xám để nhận dạng, việc chuyển đổi này khá đơn giản, thực hiện bằng một hàm chuyển đổi và sử dụng chỉ với một câu lệnh trong Opencv nên báo cáo chưa đề cập tới.
Sau khi chuyển thành ảnh xám, ảnh lại tiếp tục được chuyển thành “ảnh tích hợp” (sẽ trình bày ở phần sau) và trong bước đầu tiên của quá trình nhận dạng, các đặc trưng Haar-like sẽ làm việc trực tiếp trên ảnh tích hợp.2 Đặc trưng Haar 2.1 Đối tượng nhận dạng. Trên ảnh, vùng khuôn mặt là tập hợp các điểm ảnh có nhưng mối quan hệ khác biệt so với các vùng ảnh khác, những mối quan hệ này tạo lên các đặc trưng riêng của khuôn mặt. Tất cả khuôn mặt người đều có chung những đặc điểm sau khi đã chuyển qua ảnh xám, ví dụ như: Vùng hai mắt sẽ tối hơn vùng má và vùng trán, tức mức xám của vùng này cao hơn vượt trội so với hai vùng còn lại. Vùng giữa sống mũi cũng tối hơn vùng hai bên mũi.
… Và còn rất nhiều những đặc điểm khác của khuôn mặt và các đặc trưng Haar like dựa vào các đặc điểm này để nhận dạng. Về tổng quát, các đặc trưng Haar like không chỉ được sử dụng để nhận dạng khuôn mặt mà có thể dùng để nhận dạng bất kì một đối tượng nào trên ảnh (thân người, tay, chân, ô tô, đồ vật,…. Bởi vì cũng giống như khuôn mặt, mỗi đối tượng Khoa đào tạo Chất Lượng Cao 5 do an Đồ án tốt nghiệp có những đặc điểm riêng biệt đặc trưng bởi các vùng điểm ảnh, công việc của đặc trưng Haar-like là tính toán các giá trị tương quan giữa các vùng ảnh đó. Đây chỉ là bước ban đầu về cách áp dụng đặc trưng để phân loại cửa sổ con, chi tiết cách phân loại của bộ Adaboost và Cascade of Classifiers sẽ trình bày ở mục sau.2 Đặc trưng Haar-like Các đặc trưng Haar-Like là những hình chữ nhật được phân thành các vùng khác nhau như hình: Hình 2.1: Các vùng hình chữ nhật khác nhau của đặc trưng Haar-Like Đặc trưng do Viola và Jones công bố gồm 4 đặc trưng cơ bản để xác định khuôn mặt người.
Mỗi đặc trưng Haar-Like là sự kết hợp của hai hay ba hình chữ nhật trắng hay đen như trong hình sau: Hình 2.2: Bốn đặc trưng cơ bản của Haar-Like Khoa đào tạo Chất Lượng Cao 6 do an Đồ án tốt nghiệp Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặc trưng Haar-Like cơ bản được mở rộng ra và được chia làm 3 tập đặc trưng như sau: 1.Đặc trưng cạnh (edge feature) 2.Đặc trưng đường (line feature) 3.Đặc trưng xung quanh tâm (center-surround features) Dùng các đặc trưng trên, ta có thể tính được các giá trị của đặc trưng Haar- Like là sự chênh lệch giữa tổng của các pixel của vùng đen và vùng trắng như trong công thức sau: = ổ ù đ á ứ á ủ − ổ ù á á ứ á ủ (1) 2.3 Cách áp dụng đặc trưng Haar-Like để phát hiện khuôn mặt Để phát hiện khuôn mặt, hệ thống sẽ cho một cửa sổ con (sub-window) có kích thước cố định quét lên toàn bộ ảnh đầu vào. Như vậy sẽ có rất nhiều ảnh con ứng với từng cửa sổ con, các đặc trưng Haar-like sẽ được đặc lên các cửa sổ con này để từ đó tính ra giá trị của đặc trưng. Sau đó các giá trị này được bộ phân loại xác nhận xem khung hình đó có phải khuôn mặt hay không. Hình dưới là một ví dụ: khung màu đỏ là cửa sổ con, 3 đặc trưng Haar-like với kích thước và vị trí đặt như trong hình vẽ.
Khoa đào tạo Chất Lượng Cao 7 do an Đồ án tốt nghiệp Ứng với mỗi một đặc trưng như trên, một bộ phân lớp yếu (weak classifier) hk(x) được định nghĩa như sau: 1 ế" # $ < # & ℎ = (2) 0 ế" (ượ+ ,ạ. Trong đó: X : cửa sổ con cần xét. fk: giá trị của đặc trưng Haar-like. pk: hệ số quyết định chiều của bất phương trình.
Ta hiểu công thức trên đơn giản như sau: khi giá trị của đặc trưng Haar-like k:fk tại cửa sổ con x vượt qua một ngưỡng & thì bộ phân lớp hk(x) sẽ kết luận cửa sổ con x là khuôn mặt (hk(x)=1), còn fk không vượt qua ngưỡng đó thì không là khuôn mặt. Ngưỡng & là giá trị đã rút ra sau qua trình huấn luyện bộ phân lớp, sẽ trình bày sau. Như trong phần đối tượng nhận dạng, ta thấy đặc trưng Haar-like k có kích thước và vị trí đặt trong cửa sổ con x trên hình sẽ có giá trị fk rất lớn (vì mức xám ở vùng mắt lớn hơn rất nhiều vùng má ). Giá trị fk này lớn hơn nhiều với hầu hết các giá trị fk khác khi ta di chuyển cửa sổ con x sang các vị trí khác (quét trên toàn ảnh đầu vào), và với nhưỡng & phù hợp, kết quả bộ phân lớp hk(x) sẽ cho cửa sổ con ở vị trí như trên là khuôn mặt còn ở vị trí khác thì không.
Khoa đào tạo Chất Lượng Cao 8 do an Đồ án tốt nghiệp Đương nhiên sẽ có những vị trí khác trên ảnh đầu vào vô tình cho ra fk vượt ngưỡng và bộ phân lớp yếu hk(x) kết luận đấy là khuôn mặt, nhưng ta không chỉ dùng một đặc trưng Haar-like mà dùng rất nhiều đặc trưng ở những vị trí và kích thước khác nhau trong cửa sổ con làm giảm đi sự trùng hợp ngẫu nhiên.4 Số lượng đặc trưng Haar-like. Việc xác định một cửa sổ con có phải là mặt hay không phải sử dụng rất nhiều đặc trưng Haar-like. Ứng với mỗi một kích thước, kiểu đặc trưng và vị trí đặt trong cửa sổ con cho ta một đặc trưng ứng với một bộ phân lớp yếu x. Vì vậy tập hợp đầy đủ số lượng các đặc trưng trong một cửa sổ con là rất lớn.
Theo như sự tính toán của hai tác giả, với một cửa sổ con ở kích thước cơ bản 24×24 pixel số lượng đầy đủ các đặc trưng Haar-like là hơn 160000.Có hai vấn đề đặt ra ở đây: Thứ nhất là giá trị của mỗi một đặc trưng Haar-like được tính bằng tổng giá trị các điểm ảnh vùng đen trừ đi tổng các điểm ảnh vùng trắng, như vậy là với số lượng lớn các đặc trưng sẽ tạo ra một khối lượng tính toán khổng lồ. Điều này là không phù hợp để đáp ứng thời gian thực vì thời gian xử lý rất lâu. Thứ hai là trong số hàng trăm nghìn đặc trưng đó thì không phải đặc trưng nào cũng có ích cho công việc phân loại. Nếu chúng ta không tìm cách loại bổ những đặc trưng không có ích để tập trung vào những đặc trưng có hiệu quả cao thì cũng sẽ mất thời gian xử lý một cách vô ích.
Những phần sau sẽ lần lượt tìm cách giải quyết các vấn đề này.3 Ảnh tích hợp ( Intergral image) 2.1 Định nghĩa ảnh tính hợp Như đã trình bày ở phần trên, số lượng đặc trưng Haar-like là rất nhiều và khối lượng tính toán giá trị các đặc trưng này là rất lớn. Vì vậy ảnh tích hợp được đưa ra nhằm tính toán nhanh chóng các đặc trưng, giảm thời gian xử lý.