Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Nội dung
MỤC LỤC 1 Mở đầu Mọi người có thể dễdàng nhìn thấy vị trí tất cả các khuôn mặt trong ảnhvà phân biệt được mọi người trong ảnh là người mình đã quen biết hay không. Tuy nhiên, trong lĩnh vực thị giác máy tính, kỹ thuật máy tính xác định chính xác vị trí, kích thước khuôn mặt trong một ảnh bất kỳ là một vấn đề vô cùng khó khăn. Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặtngườitừảnh đen trắng, xám đến ảnh màu như ngày hôm nay. Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặtngười nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng trong ảnh đen trắng. Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay đổi trong ảnh. Không những vậy mà còn mở rộng cả phạm vi từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thực tế và rất nhiều của con người. Trong thực tế, các ứng dụng của việc dòtìmvànhậndạng khuôn mặtngười được triển khai trong nhiều lĩnh vực quan trọng, nhất là trong lĩnh vực an ninh. Tuy nhiên những kết quả đã đạt được hiện nay chỉ có độ chính xác nhất định, chưa đạt được độ chính xác cao. Ảnh thu được phụ thuộc rất lớn vào nhiều điều kiện: độ chiếu sáng, khung cảnh xung quanh, quần áo đang mặc trên người,… Việc tìm ra các tập luật chặt chẽ của khuôn mặtđể xác định vị trí của nó trong ảnh rất khó khăn. Từ các kết quả nghiên cứu cho thấy nếu tập luật quá chặt chẽ sẽ dòtìm thiếu các khuôn mặt trong ảnh, ngược lại nếu tập luật đơn giản sẽ dòtìm sai một số vị trí không phải là khuôn mặt. Bên cạnh đó, cho đến nay việc mô hình hoá gương mặt một cách tổng quát là một công việc không hề đơn giản. Vẫn chưa có một nghiên cứu 2 nào trả lời chính xác câu hỏi: đâu là đặc trưng thực sự để phân biệt hai gương mặt với nhau? Các kỹ thuật dòtìmvànhậndạngảnh được ứng dụng rất hiệu quả trong thực tế. Tuy nhiên, các kỹ thuật dòtìmvànhậndạngảnh hiện nay vẫn chưa có kết quả hoàn toàn chính xác. Vì vậy trong đồ án tốt nghiệp của mình em đã chọn đềtài“nghiêncứuvàxâydựngchươngtrìnhtựđộngdòtìmmặtngườivànhậndạngảnhchândung”để có điều kiện tìm hiểu thêm về công nghệ xử lý ảnhvà các ứng dụng thực tế của nó. Mục tiêu của đồ án là xâydựng ứng dụng có khả năng dòtìm được toàn bộ vị trí các khuôn mặt trong ảnh màu có màu nền phức tạp vànhậndạngảnh các khuôn mặtdòtìm được tương ứng là ai trong cơ sở dữ liệu. Đồ án được trình bày trong 6 chương với bố cục như sau: Chương 1: Giới thiệu bài toán nhậndạngmặt người: nêu lên tầm quan trọng của các ứng dụngnhậndạngmặtngười trong thực tế. Đồng thời mô tả phạm vi bài toán mà đồ án giải quyết. Chương 2: Một số vấn đề cơ bản về xử lý ảnh số: trình bày cơ sở lý thuyết về biểu diễn ảnh số. Phương pháp biểu diễn và phân tích ảnh trên một số không gian màu cơ bản, là cơ sở cho việc tìm ra các phương pháp giải quyết một số bài toán xử lý ảnh. Chương 3: Dòtìm khuôn mặt trong ảnh: trình bày một số phương pháp dòtìm khuôn mặt trong ảnh. Trình bày chi tiết hai phương pháp dòtìm khuôn mặt mà luận án thực hiện: dòtìm khuôn mặt dựa trên sắc màu da vàdòtìm khuôn mặt sử dụng mô hình Cascade of Boosted Classifier. Chương 4: Nhậndạngmặt người: trình bày chi tiết phương pháp nhậndạngmặtngười dựa trên kỹ thuật phân tích thành phần chính (PCA - Principal Components Analysis). 3 Chương 5: Thiết kế chươngtrìnhnhậndạngmặt người: trình bày các chức năng của chươngtrìnhdò tìm, nhậndạngmặtngườivà một số module tiện ích. Chương 6: Kết luận: các kết quả, một số hạn chế, khả năng ứng dụng, hướng phát triển của đề tài. Trong phạm vi đềtài đã xâydựngchươngtrình thực hiện dòtìm vị trí các khuôn mặt trong ảnh có màu nền phức tạp vànhậndạngảnh khuôn mặtdòtìm được bằng phương pháp phân tích thành phần chính (PCA – Principal Components Analysis). Kết quả nhậndạng chỉ tương đối chính xác trong tập dữ liệu nhỏ (dưới 20 người) và trong điều kiện môi trường ràng buộc (trong văn phòng, nhà ở,…). Vì vậy trong thời gian tới em rất mong được sự đóng góp ý kiến của các thầy, cô giáo và các bạn đểđềtài có kết quả cao hơn, có thể triển khai các ứng dụng trong thực tế. Trong quá trình thực hiện em xin chân thành cảm ơn thầy giáo đã tận tình hướng dẫn, chỉ bảo từng nội dung của đề tài, các thầy, cô giáo khoa Công Nghệ Thông Tin đã có nhiều giúp đỡ chuyên sâu về công nghệ xử lý ảnh, để em có thể hoàn thành nội dung của đồ án. 4 Chương 1. Giới thiệu bài toán nhậndạngmặtngười Trong thế giới ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật số và mạng toàn cầu, vấn đề đảm bảo an toàn về thông tin cũng như vật chất trở nên ngày càng quan trọng. Việc làm giả ảnh, hộ chiếu, giấy tờ về tài chính, thẻ tín dụng, tem bảo vệ, mã vạch,…. để vượt biên mua vũ khí, tiến hành các nghiệp vụ ngân hàng, hợp pháp hoá thu nhập. Phần lớn các hệ thống thông tin hiện nay các thông tin xác thực người truy cập không đặc trưng cho bản thân họ và chỉ là những gì họ đang sở hữu: số chứng minh thư nhân dân, chìa khoá, mật mã, thẻ tín dụng hoặc họ tên. Rõ ràng các thông tin hay vật dụng này không mang tính đặc trưng mà chỉ mang tính xác thực với người sử dụng, nếu chúng bị đánh cắp hoặc sao chép thì kẻ trộm hoàn toàn có quyền truy cập và sử dụng hệ thống. Hiện nay các công nghệ hiện đại đã cho phép việc xác thực dựa vào bản chất của từng cá nhân. Nhậndạng gương mặt là một trong số các phương pháp nhậndạng dựa vào đặc tính sinh lý có nhiều ứng dụng quan trọng và thuận tiện khi sử dụng. Ngày nay nhậndạngmặtngười đã được quan tâm và được coi như là một trong các lĩnh vực quan trọng nhất trong khoa học nhậndạng là do nhu cầu ứng dụngnhậndạngmặtngười trong các lĩnh vực (kinh tế, thi hành luật pháp, điều tra tội phạm, bảo mật,…) ngày càng nhiều. Trong an ninh hệ thống nhậndạng được dùngđểnhậndạng tội phạm (đã có trong cơ sở dữ liệu) tại các sân bay, nhà ga, hay tại các khu vực cấm không cho người lạ xâm nhập. Trong một số công ty, nhà máy quản lý ngày công làm việc của công nhân bằng việc quét thẻ mỗi khi công nhân tan ca. Nếu số lượng công nhân của công ty lớn thì việc người quản lý kiểm soát rất khó khăn .Trong trường 5 hợp này hệ thống nhậndạngmặtngười sẽ trở nên rất hữu ích để chống việc công nhân không đi làm nhưng nhờ người khác quét thẻ hộ. Ngoài ra, hệ thống dòtìm vị trí khuôn mặtngườivànhậndạngảnh khuôn mặt có thể triển khai rất nhiều ứng dụng khác trong thực tế: - Hệ thống tương tác giữa ngườivà máy: giúp những người dị tật hoặc khiếm khuyết có thể trao đổi. Những ngườidùng ngôn ngữ tay có thể giao tiếp với những người bình thường. Những người bại liệt thông qua một số ký hiệu nháy mắt có thể biểu lộ những gì họ muốn, Đó là các bài toán điệu bộ của bản tay, điệu bộ của khuôn mặt, - Hệ thống quan sát, theo dõi và bảo vệ. Các hệ thống camera sẽ xác định đâu là con ngườivà theo dõi con ngườiđó xem họ có vi phạm gì hay không, ví dụ xâm phạm khu vực không được vào, - Kiểm tra trạng thái người lái xe có ngủ gật không, nếu ngủ gật đưa ra thông báo cần thiết. - Hãng máy chụp hình Cannon đã ứng dụng xác định vị trí khuôn mặtngười vào máy chụp hình thế hệ mới để cho kết quả hình ảnh đẹp, nhất là khuôn mặt con người - Trong điều khiển Robot Tuy nhiên, nhậndạngmặtngười là một trong những bài toán khó khăn nhất trong lĩnh vực nhậndạng ảnh. Một gương mặtngười không chỉ là đối tượng ba chiều mà còn là một thực thể mang tính động rất cao. Ngoài ra, nhậndạngmặtngười còn phụ thuộc vào nhiều yếu tố: chất lượng ảnh của thiết bị thu, nền phức tạp, sự dịch chuyển, xoay theo ba chiều, cảm xúc thể hiện trên khuôn mặt, Hiện nay chất lượng của các hệ thống dòtìmvànhậndạngảnh khuôn mặtngười chưa cao. Người ta vẫn chưa tìm ra được phương pháp trích chọn các đặc trưng của khuôn mặt mà vẫn chỉ sử dụng các đặc trưng của ảnh. Một số phương pháp được triển khai ứng dụng nhưng tốc độ 6 xử lý, nhậndạngảnh còn chậm, không đáp ứng thời gian thực. Dođó vẫn khó có thể triển khai các ứng dụng thực tế. Đềtài tiến hành xâydựng ứng dụng có thể tựđộngdòtìm toàn bộ vị trí các khuôn mặt trong ảnh lớn phục vụ cho quá trình lấy mẫu huấn luyện và mẫu nhậndạng cho hệ thống nhậndạngmặt người, nhậndạng các khuôn mặt đã dòtìm được.Việc định vị chính xác vị trí khuôn mặtvàtìm một số điểm đặc trưng trên khuôn mặt có ý nghĩa quyết định đến hiệu quả của hệ thống nhậndạngmặt người. Từđó áp dụng vào các ứng dụng thực tế: hệ thống chống trộm, quản lý nhân công bằng ảnh thẻ, Cấu trúc điển hình của hệ thống nhậndạngmặtngười gồm có 2 bộ phận chính: + Bộ dòtìm (Face Image Detector): có nhiệm vụ xác định vị trí của gương mặt trong một ảnh bình thường. + Bộ phận nhậndạng hay phân lớp gương mặt (Face Recognizer): để xác định người có gương mặt tương ứng là ai trong cơ sở dữ liệu. Đểxâydựng một hệ thống nhậndạngmặtngười thường thực hiện các bước sau: 1.1: Tiền xử lý (Pre-Processing) Giai đoạn này để nâng cao chất lượng của ảnh số giúp cho việc phát hiện vị trí mặtngườivà quá trìnhnhậndạng đạt hiệu quả hơn. Các công việc trong giai đoạn này có thể là: chuẩn hoá kích cỡ ảnh (Image size normalization), hiệu chỉnh độ sáng, tối của ảnh (Histogram equalization, illumination normalization), lọc nhiễu (median filtering). 1.2. Tách khuôn mặt (Face Detection) Giai đoạn tách khuôn mặttừảnh ban đầu là một giai đoạn quan trọng và khó khăn góp phần quan trọng đến kết quả nhận dạng, việc phát hiện khuôn mặttừảnh ban đầu gắn với điều kiện không ổn định của dữ liệu ảnh: độ 7 sáng của ảnh, kích thước và hướng của khuôn mặt, góc quay,… Vì vậy, với hệ thống nhậndạngmặtngười cần phải có một số tiêu chuẩn ràng buộc: + Ảnh với màu tự nhiên chiếu sáng vàđộ đậm đều (không quá tối và không quá sáng) + Kích thước của khuôn mặt không quá lớn hoặc quá nhỏ. +Khuôn mặt phải được chụp trực diện, mắt mở tự nhiên + Không có vật gì che khuôn mặt: mũ, khăn, tóc 1.3 : Trích chọn đặc trưng Giai đoạn này tìm ra các đặc trưng chính của khuôn mặt, từ các đặc trưng này hình thành các véc tơ đặc trưng, các vector này được sử dụngđể đối sánh sự giống nhau giữa ảnh khuôn mặt cần tìmvàảnh trong cơ sở dữ liệu. 2.4 : So sánh (Comparison) Thực hiện việc so sánh giữa các vector đặc trưng để chọn ra khoảng cách giữa ảnh cần tìmvàảnh trong cơ sở dữ liệu. Một số khoảng cách thường được sử dụng là khoảng cách Ơclít, Mahalanobis,… 8 Tiền xử lý Rút trích đặc trưng Bộ nhận dạng/ Phân lớp gương mặtNhận dạng/ Loại bỏ Tách khuôn mặt CSDL mặtngười Cập nhật CSDL Hình 1.1: Mô hình hệ thống nhậndạngmặtngười 9 Chương 2: Một số vấn đề cơ bản về xử lý ảnh số 2.1: Một số khái niệm cơ bản .Pixel (picture element - điểm ảnh ) Ảnh trong thực tế là một ảnh liên tục về không gian và giá trị độ sáng. Quá trình thu nhậnảnh số là quá trình số hoá ảnh. Đó là quả trình biến đổi tín hiệu liên tục thành tín hiệu rời rạc. Một ảnh khi được số hoá là tập hợp các điểm ảnh, nó được biểu diễn bởi mảng 2 chiều I(n,p) trong đó n- số dòng, p- số cột. Ta nói ảnh gồm nxp điểm ảnh, ký hiệu I(x, y) là giá trị điểm ảnhtại vị trí dòng y cột x. . Ảnh đen trắng, ảnh đa mức xám, ảnh màu - Ảnh đen trắng, ảnh đa cấp xám: gồm 2 màu (đen, trắng), người ta phân các mức độ (L) đen trắng như sau: +L=2: ảnh gồm 2 mức, mức 0 ứng với màu tối, mức 1 ứng với màu sáng. Ảnh này gọi là ảnh nhị phân. Mỗi điểm ảnh được mã hoá trên 1 bit. +L>2: Ảnh đa mức xám, việc xác định số mức phụ thuộc vào tiêu chuẩn lượng hoá, L thường được chọn là 32, 64, 126, 256. Thường sử dụng mức 256, mỗi điểm ảnh được mã hoá bằng 8 bit (2 8 = 256). - Ảnh màu: ảnh màu là ảnh được tổ hợp từ 3 màu cơ bản: Red (đỏ), Green (xanh lục), Blue (xanh lơ). Mỗi điểm ảnh gồm 3 thành phần màu cơ bản:R, G, B. Mỗi màu phân thành L cấp khác nhau (L thường là 256). Như vậy để lưu trữ một ảnh màu ta phải lưu trữ 3 lớp màu cơ bản của ảnh, mỗi lớp màu tương đương với một ảnh đa cấp xám. Dođó không gian lưu trữ ảnh màu lớn gấp 3 lần so với không gian lưu trữ ảnh xám cùng kích thước. 2.2: Biểu diễn ảnhẢnh số đa mức xám được biểu diễn bằng ma trận 2 chiều f(x,y) trong đó các phần tử là giá trị điểm màu của ảnh. 10 [...]... điểm ảnh màu da người là phân ngưỡng tách các điểm ảnh thuộc vùng da người trong ảnhTừảnh được phân ngưỡng ta có thể áp dụng các thuật toán dòtìmđể xác định vị trí của khuôn mặt trong ảnh Thông thường để giải quyết vấn đề trên, người ta xem xét một độđođểđo khoảng cách các điểm ảnh màu đến sắc thái của màu da Phương pháp dòtìm khuôn mặt dựa trên sắc màu da gồm có 3 giai đoạn như sau: 1 Xây dựng. .. dựng mô hình màu da người 2 Phân ngưỡng tách các điểm ảnh màu da người ra khỏi các màu khác trong ảnh I(x,y)=1 nếu là màu da, ngược lại bằng 0 3 Dòtìm các khuôn mặt trong ảnh đã được phân ngưỡng Việc dòtìm khuôn mặt trong ảnh đã được phân ngưỡng tương đối đơn giản Định nghĩa min_size và max_size là kích thước nhỏ nhất và lớn nhất của cửa sổ bao khuôn mặt (chỉ dòtìm các khuôn mặt có kích thước trong... p(x | khuôn mặt )và p(x | không phải khuôn mặt) là đa phương thức, và chưa thể 18 hiểu nếu xây dựng các dạng tham số hóa một cách tự nhiên cho p(x |khuôn mặt )và p(x | không phải khuôn mặt) Có khá nhiều nghiên cứu theo hướng tiếp cận này quan tâm xấp xỉ có tham số hay không có tham số cho p(x | khuôn mặt) và p(x | không phải khuôn 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... giả cố gắng tìm các đặc trưng không thay đổi của khuôn mặtngườiđể xác định khuôn mặtngười Dựa trên nhận xét thực tế, con ngườidễdàngnhận biết các khuôn mặtvà các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi Có nhiều nghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khuôn mặt trong ảnh hay không... nghĩa khuôn mặt của khu vực vừa dòtìm được Nếu kiểm tra điều kiện đúng: 1 Khu vực đó được xác định là khuôn mặt, 2 Xoá vùng dòtìm được, 3.Tiếp tục dòtìm đến các vị trí tiếp theo Vấn đề đặt ra của phương pháp này là làm sao đểxâydựng mô hình màu da người có độ chính xác cao? Giải pháp nào để khắc phục những màu nền có cùng sắc màu với màu da người? Phương pháp này có ưu điểm là tốc độdòtìm nhanh,... thức cơ bản là xây dựng một số điều kiện biên để kiểm tra một điểm ảnh có thuộc điều kiện đó thì điểm ảnhđó có thể là da người Có nhiều cách đểxây dựng, có thể thu thập các điểm ảnh mình biết chắc là da người rồi từđóxâydựng điều kiện Có rất nhiều nghiên cứu theo hướng này và cho kết quả khả quan Dưới đây là một số công thức thực nghiệm để đánh giá điểm ảnh có cùng kết quả với màu da người: R >... hình phân bố màu da động 29 Một họ các phương thức để mô hình hóa màu da người được xâydựngvà làm cho phù hợp với bài toán xác định vị trí trong ảnh có màu da là màu da ngườiđể theo vết khuôn mặt con ngườiĐểxây dựng, các tác giả chọn phân tích các ảnh tĩnh từ vài khía cạnh Khía cạnh đầu tiên, mô hình màu da người có thể ít tổng quát (quá cụ thể) - ví dụ như điều chỉnh cho một người cụ thể hay cho... max_size]) Ảnh sau khi phân ngưỡng được quét theo từng dòng, đến khi gặp vị trí nghi ngờ có khuôn mặt (gặp một đường ngang có kích thước thuộc khoảng [min_size, max_size]) thì: 1 Dò lên phía trên để xác định biên trên của khuôn mặt, 2 Dò xuống dưới để xác định biên dưới và hai bên của khuôn mặt 20 Đường có khả năng thuộc khuôn mặt Điều kiện định nghĩa khuôn mặt Hình 3.1: Phương pháp dòtìm khuôn mặt trên ảnh. .. sai - trong mô hình màu da người có tham số 3.3: Phương pháp dòtìm khuôn mặt dựa trên các Haar Feature 3.3.1 Haar- features 30 Đặc trưng dùngđểxâydựng strong classifier từ các weak classifier cho bài toán dòtìmmặtngười là Haar Feature Haar Feature được xâydựngtừ các hình chữ nhật đen và trắng có kích thước bằng nhau, dùngđể tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề nhau... điểm ảnh có sắc màu có phải là màu da người hay không dựa trên mạng Bayes đã được huấn luyện trước đó Gần đây Moon Hwan Kim, Jin Bae Park, và Young Hoon Joo xâydựng mô hình màu da người dựa trên logic mờ Các tác giả xâydựng bộ điều khiển mờ từ dữ liệu các điểm ảnh có màu là màu da người, rồi từ đây xây dựng một bộ gom nhóm (clustering) mờ dùng cho việc xác định vùng nào có cùng màu với màu da người . của mình em đã chọn đề tài “nghiên cứu và xây dựng chương trình tự động dò tìm mặt người và nhận dạng ảnh chân dung” để có điều kiện tìm hiểu thêm về công nghệ xử lý ảnh và các ứng dụng thực. dụng, hướng phát triển của đề tài. Trong phạm vi đề tài đã xây dựng chương trình thực hiện dò tìm vị trí các khuôn mặt trong ảnh có màu nền phức tạp và nhận dạng ảnh khuôn mặt dò tìm được bằng phương. Components Analysis). 3 Chương 5: Thiết kế chương trình nhận dạng mặt người: trình bày các chức năng của chương trình dò tìm, nhận dạng mặt người và một số module tiện ích. Chương 6: Kết luận: các