1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ tài NHẬN DẠNG mặt NGƯỜI TRÊN MATLAB

33 11 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

Định dạng
Số trang 33
Dung lượng 1,33 MB

Nội dung

ĐỒ ÁN MƠN THỊ GIÁC MÁY TÍNH ĐỀ TÀI : NHẬN DẠNG MẶT NGƯỜI TRÊN MATLAB Giảng viên hướng dẫn: Lê Thị Ngọc Thúy Sinh viên thực hiện: Đỗ Thanh Huy Trần Quốc Tuân Đỗ Thị Thảo Cù Quang Anh MỤC LỤC LỜI MỞ ĐẦU PHẦN I: TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT VÀ THUẬT TOÁN PCA I CÔNG NGHỆ NHẬN DIỆN MẶT NGƯỜI TRONG THỊ GIÁC MÁY TÍNH II THUẬT TOÁN PCA III THUẬT TỐN PCA TRONG NHẬN DIỆN KHN MẶT 11 PHẦN II: ẢNH MÀU VÀ CÁC LỆNH XỬ LÝ ẢNH MÀU TRÊN MATLAB 16 I GIỚI THIỆU ẢNH SỐ 16 Ảnh số 16 Các kiểu hình ảnh Matlab 21 Chuyển đổi kiểu liệu 22 Các phép toán số học với liệu ảnh 23 Các hàm hiển thị Matlab 24 Các hàm sử dụng đề tài 25 II GIAO DIỆN GUI CỦA MATLAB 26 Giao diện GUI 26 Giới thiệu qua chương trình nhận dạng mặt người 28 III: SƠ ĐỒ KHỐI VÀ CODE CHƯƠNG TRÌNH 31 Sơ đồ khối 31 Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com Code chương trình 32 Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com LỜI MỞ ĐẦU Trong giới ngày với phát triển mạnh mẽ kỹ thuật số mạng toàn cầu, vấn đề đảm bảo an tồn thơng tin vật chất ngày trở nên quan trọng khó khăn Một phương pháp đơn giản toán phức tạp xác định người thơng qua khn mặt từ cập nhật thơng tin để đảm bảo an tồn thơng tin tìm kiếm tội phạm Trong nhiều năm qua có nhiều cơng trình nghiên cứu tốn nhận dạng khn mặt người từ ảnh đen trắng, xám đến ảnh màu ngày hôm Các nghiên cứu từ tốn đơn giản, ảnh có khn mặt người nhìn thẳng vào thiết bị thu hình đầu tư thẳng đứng ảnh đen trắng Cho đến ngày hơm tốn mở rộng cho ảnh màu, có nhiều khn mặt ảnh, có nhiều tư thay đổi ảnh Không mà cịn mở rộng phạm vi từ mơi trường xung quanh đơn giản môi trường xung quanh phức tạp nhằm đáp ứng nhu cầu người Mục tiêu đề tài “Nhận dạng mặt người thuật toán PCA Matlab” thực chương trình tìm kiếm ảnh có khn mặt người tập ảnh sở giống với khuôn mặt người ảnh cần kiểm tra ngôn ngữ Matlab Để tiện theo dõi em xin trình bày đề tài theo ba phần:  Phần đầu tổng quan nhận diện khn mặt thuật tốn PCA sử dụng  Phần giới thiệu ảnh màu thứ liên quan đến việc nhận dạng khuôn mặt phần mềm sử dụng  Sau code chương trình thuật tốn để dễ hình dung Do tài liệu tham khảo hạn chế, trình độ có hạn kinh nghiệm thực tiễn cịn non nên đề tài cịn nhiều thiếu sót Chúng em mong nhận ý kiến lời nhận xét để giúp chúng em hồn thiện đề tài Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com PHẦN I: TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT VÀ THUẬT TỐN PCA I CƠNG NGHỆ NHẬN DIỆN MẶT NGƯỜI TRONG THỊ GIÁC MÁY TÍNH Sinh trắc học sử dụng trình xác thực người cách sử dụng đặc trưng người để xác minh nhận dạng Có nhiều loại hệ thống sinh trắc học nhận diện dấu vân tay, nhận diện phát khuôn mặt, nhận diện mống mắt…Các đặc trưng sinh học này thường sử dụng cho nhận dạng người hệ thống giám sát nhận dạng tội pham Lợi việc sử dụng đặc trưng sinh học nhận dạng chúng khó thay đổi theo thời gian đặc trưng độc người Một hệ thống nhận diện khuôn mặt ứng dụng máy tính, có khả nhận dạng xác minh người từ ảnh số từ khung video video Các pha hệ thống nhận diện khuôn mặt: Để xây dựng hệ thống nhận dạng mặt, không đơn giản, bước cần thực face detection, tức phát phần ảnh mặt liệu đầu vào (CSDL ảnh, video …) cắt lấy phần ảnh mặt để thực nhận dạng (Face cropping), bước thứ hai tiền xử lý ảnh (Preprocessing) bao gồm bước chỉnh ảnh (Face image alignment) chuẩn hóa ánh sáng (Illumination normalization) (ở nói tới ảnh có góc nhìn thẳng), tiếp đến bước trích chọn đặc trưng (Feature extraction), bước phương pháp trích chọn đặc trưng (mẫu nhị phân cục – Local Binary Pattern – LBP, Gabor wavelets, …) sử dụng với ảnh khn mặt để trích xuất thơng tin đặc trưng cho ảnh, kết ảnh biểu diễn dạng vector đặc trưng, bước bước nhận dạng hay phân lớp, tức xác định danh tính hay nhãn ảnh – ảnh Ở bước phân lớp, thường phương pháp k-nearest neighbor sử dụng, ngồi sử dụng SVM (Support Vector Machine) nhiên không mang lại hiệu cao Dữ liệu cho hệ thống nhận dạng mặt chia làm tập: tập huấn luyện (Training set), tập tham chiếu (reference set hay gallery set) tập để nhận dạng (probe set hay query set, đơi cịn gọi test set) Trong nhiều hệ thống, tập training trùng với tập reference Tập training gồm ảnh dùng để huấn luyện (hay học), thông thường tập dùng để sinh không gian (projection subspace) Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com ma trận phương pháp hay sử dụng PCA (Principal Component Analysis), WPCA (Whitened PCA), LDA (Linear Discriminant Analysis), KPCA (Kernel PCA) Tập reference gồm ảnh biết danh tính chiếu (projected) vào khơng gian bước training Bước training nhằm mục đích: giảm số chiều (Dimension reduction) vector đặc trưng (Feature vector) vector thường có độ dài lớn (vài nghìn tới vài trăm nghìn) nên để nguyên việc tính tốn rất lâu, thứ hai làm tăng tính phân biệt ảnh khác lớp (định danh khác nhau), ngồi làm giảm tính phân biệt ảnh thuộc lớp (tùy theo phương pháp, ví dụ Linear Discriminant Analysis LDA- gọi Fisher Linear Discriminant Analysis-Fisherface phương pháp làm việc với tập Training mà đối tượng có nhiều ảnh mặt điều kiện khác nhau) Sau thực chiếu tập Reference vào không gian con, hệ thống lưu lại kết ma trận với cột ma trận vector tương ứng với ảnh (định danh biết) để thực nhận dạng (hay phân lớp) Nhận dạng (hay phân lớp) thực với tập ảnh khảo sát, sau tiền xử lý xong, ảnh áp dụng phương pháp trích chọn đặc trưng (như với ảnh thuộc tập training Reference) chiếu vào không gian Tiếp đến việc phân lớp dựa phương pháp k-NN, định danh ảnh cần xác định gán định danh ảnh có khoảng cách (distance) gần với Ở cần lưu ý ảnh vector nên dùng khái niệm hàm khoảng cách hai vector để đo khác biệt ảnh Ứng dụng nhận diện khuôn mặt người:  Hệ thống tương tác người máy: giúp người bị tật khiếm khuyết trao đổi  Hệ thống quan sát, theo dõi bảo vệ  Thẻ cước, chứng minh thư nhân dân (Face Indentification)  Tìm kiếm tổ chức liệu liên quan đến người thông qua khuôn mặt người nhiều hệ sở liệu lưu trữ thật lớn, internet, hãng truyền hình  Ứng dụng video phone  Phân loại lưu trữ hình ảnh điện thoại di động  Kiểm tra trạng thái người lái xe có ngủ gật, tập trung hay không, hỗ trợ thông báo cần thiết  Trong lĩnh vực thiết kế điều khiển robot Phương pháp nhận diện khuôn mặt người: Dựa vào đặc điểm phương pháp nhận diện khuôn mặt người ảnh Các phương pháp chia làm bốn hướng tiếp cận chính: Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com  Hướng tiếp cận dựa tri thức: Mã hóa hiểu biết người khn mặt thành luật Thông thường luật mô tả mối quan hệ đặc trưng  Hướng tiếp cận dựa đặc trưng không thay đổi: Mục tiêu thuật tốn tìm đặc trưng mô tả cấu trúc khuôn mặt người mà đặc trưng không thay đổi theo thời gian, không phụ thuộc vào biểu cảm khuôn mặt, vị trí đặt thiết bị thu hình hay điều kiện ánh sáng  Hướng tiếp cận dựa so mẫu khớp: Dùng mẫu chuẩn khuôn mặt người (các mẫu lựa chọn lưu trữ) để mô tả cho khuôn mặt người hay đặc trưng khuôn mặt (các mẫu phải chọn cho tách biệt theo tiêu chuẩn mà tác giả định để so sánh) Các mối tương quan liệu ảnh đưa vào mẫu dùng để xác định khuôn mặt người  Hướng tiếp cận dựa diện mạo: Trái ngược hẳn với so mẫu khớp, mơ hình (hay mẫu) học từ tập ảnh huấn luyện trước Sau hệ thống (mơ hình) xác định khn mặt người Hay số tác giả gọi hướng tiếp cận hướng tiếp cận theo phương pháp học Ưu nhược điểm So với công nghệ khác Trong số kỹ thuật sinh trắc học, nhận dạng khn mặt phương pháp đáng tin cậy hiệu Tuy nhiên, lợi quan trọng khơng địi hỏi hợp tác đối tượng thử nghiệm Các hệ thống thiết kế lắp đặt sân bay, khu chung cư, nơi cơng cộng khác xác định cá nhân đám đông, mà không bỏ sót Sinh trắc học khác dấu vân tay, qt mống mắt, nhận dạng giọng nói khơng thể thực điều Nhược điểm Nhận dạng khn mặt cịn xa đạt đến mức độ hồn hảo, ngồi khó để thực phương pháp điều kiện định Ralph Gross, nhà nghiên cứu Viện Mellon Robotics Carnegie, mô tả trở ngại liên quan đến góc nhìn khn mặt: "Nhận dạng khn mặt thực tốt phía mặt trước phía chênh lệch 20 độ, sau bạn phía góc khuất, có vấn đề." Các điều kiện khác mà nhận dạng khuôn mặt không làm việc tốt bao gồm thiếu ánh sáng, đeo kính mát, tóc dài, đối tượng mà phần khn mặt bị che, hình ảnh độ phân giải thấp Một bất lợi nghiêm trọng nhiều hệ thống Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com hiệu biểu khuôn mặt khác Ngay nụ cười lớn, làm cho hệ thống giảm tính hiệu Ngồi cịn có khơng thống liệu sử dụng nhà nghiên cứu Thách thức nhận diện khuôn mặt: Hiện vấn đề sau coi thách thức lớn (chưa có phương pháp tối ưu) nhận dạng mặt:  Sự thay đổi hướng khuôn mặt: kết với ảnh có hướng thay đổi (> 45°, khơng phải diện) cịn khiêm tốn  Độ phân giải thấp: ảnh thu từ camera giám sát thường có kích thước chất lượng rất thấp, kết nghiên cứu lĩnh vực chưa nhiều  Nhận diện khuôn mặt dựa video: với phát triển phương tiện multimedia, thông tin mặt người liệu video vô nhiều, nhiên hầu hết phương pháp nhận dạng làm việc với ảnh tĩnh trích xuất từ liệu video, chưa có phương pháp tốt tận dụng hết ưu liệu video  Các hệ thống lớn: sở liệu ảnh khuôn mặt test nhà nghiên cứu nhỏ (vài trăm tới vài chục nghìn ảnh mặt), nhiên thực tế CSDL lớn, ví dụ CSDL ảnh khn mặt cảnh sát chứa từ hàng triệu tới tỉ ảnh …  Điều kiện lão hóa: việc nhận dạng ảnh mặt thay đổi theo thời gian thực vấn đề lớn khả nhận dạng người  Điều kiện sáng: thách thức lớn nhận dạng mặt, chưa có phương pháp tốt cho ảnh chụp điều kiện ngồi trời II THUẬT TỐN PCA Phân tính thành phần (Principal component analysis) hay cịn gọi PCA kết đẹp từ việc áp dụng đại số tuyến tính PCA sử dụng nhiều khn mẫu phân tích phương pháp không cần tham số đơn giản cho việc trích xuất thơng tin thích hợp từ tập liệu không rõ ràng PCA cung cấp hướng cho việc làm để hạn chế tập liệu phức tạp tới tập liệu với số chiểu nhỏ để thông tin ẩn tập liệu khơng rõ ràng Thơng thường để hiểu rõ tượng đó, ta thường đo lường vài đại lượng hệ thống Ta khơng tính tốn điều xảy liệu đo mù mờ, không rõ ràng, số lượng biến đo lường lớn Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com thời điểm dễ gây nhầm lẫn Ví dụ với hệ thống đơn giản ta cần vài đo lường để tính tốn hệ thống đó, với trường hợp ta có kinh nghiệm trước hệ thống, khơng có kinh nghiệm hệ thống, thường ta sử dụng hiểu biết có để đo lường hệ thống này, hiểu biết không phù hợp với hệ thống nên phép đo sử dụng mơ hình nhiều chiều thực tế để mô tả hệ thống, gây nên dư thừa liệu khơng rõ ràng Thuật tốn PCA hữu dụng trường hợp Nó biến đổi tập liệu đo lường dư thừa, nhiễu lớn tập liệu mà biểu diễn diễn tốt (dễ quan sát nhất, dễ phân biệt nhất) hệ thống Với hệ thống liên tục tuyến tính ta đưa đo lường vào không gian vector nơi mà thể hệ thống xem vector thuộc khơng gian vector tổ hợp tuyến tính vector sở khơng gian vector (số vector sở số chiều khơng gian đó) Ta sử dụng phép biến đổi tuyến tính để ánh xạ tập liệu gốc vào tập liệu ta mong muốn tập liệu giảm dư thừa nhiễu Nhiệm vụ ta tìm phép biến đổi Một số đặc điểm PCA:  Giúp giảm số chiều liệu  Thay giữ lại trục tọa độ không gian cũ, PCA xây dựng không gian chiều hơn, lại có khả biểu diễn liệu tốt tương đương không gian cũ, nghĩa đảm bảo độ biến thiên (variability) liệu chiều  Các trục tọa độ khơng gian tổ hợp tuyến tính khơng gian cũ, mặt ngữ nghĩa, PCA xây dựng đặc trưng dựa đặc trưng quan sát Điểm đặc trưng biểu diễn tốt liệu ban đầu  Trong không gian mới, liên kết tiềm ẩn liệu khám phá, mà đặt khơng gian cũ khó phát hơn, liên kết rõ Giả sử, với X ma trận vector biểu diễn tập liệu gốc, Y ma trận vector biểu diễn lại tập liệu P phép biến đổi tuyến tính Cơng thức để ánh xạ tập liệu gốc vào tập liệu biểu diễn lại sau: 𝑃𝑋 = 𝑌 (1) Sau ta phân tích làm để xác định P Có hai đại lượng toán học mà cần quan tâm phương sai hiệp phương sai Trong lý thuyết xác suất thống kê: Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com  Phương sai biến ngẫu nhiên độ đo phân tán thống kê biến đó, hàm ý giá trị biến thường cách giá trị kỳ vọng bao xa ∑𝑛𝑖=1(𝑋𝑖 − 𝑋̅ )2 𝜎 = (𝑛 − 1)  Hiệp phương sai độ đo biến thiên hai biến ngẫu nhiên 𝑐𝑜𝑣(𝑋, 𝑌) = ∑𝑛𝑖=1(𝑋𝑖 − 𝑋̅ ) (𝑌𝑖 − 𝑌̅) (𝑛 − 1) Hiệp phương sai hai biến ngẫu nhiên X Y cho biết mối tương quan X Y Giá trị hiệp phương sai không quan trọng dấu  Nếu giá trị hiệp phương sai dương X Y tăng giảm  Nếu giá trị hiệp phương sai âm X tăng Y giảm ngược lại  Nếu giá trị hiệp phương sai không, X Y độc lập với Hiệp phương sai công cụ hữu dụng để tìm mối liên hệ chiều tập liệu có số chiều cao Hiệp phương sai biến phương sai biến Các vector khơng gian vector xem biến ngẫu nhiên nhiều chiều, thành phần vector biến ngẫu nhiên vô hướng Giả sử ta có vector sau 𝑋1 𝑋=[ ⋮ ] 𝑋𝑛 Ma trân hiệp phương sai của X có dạng sau 𝑐𝑜𝑣 (𝑋1 , 𝑋1 ) 𝑐𝑜𝑣 (𝑋2 , 𝑋1 ) 𝐶= 𝑋𝑋 𝑇 = [ ⋮ 𝑛−1 𝑐𝑜𝑣 (𝑋𝑛 , 𝑋1 ) 𝑐𝑜𝑣(𝑋1 , 𝑋2 ) 𝑐𝑜𝑣(𝑋2 , 𝑋2 ) ⋮ 𝑐𝑜𝑣 (𝑋𝑛 , 𝑋2 ) ⋯ ⋯ ⋱ ⋯ 𝑐𝑜𝑣(𝑋1 , 𝑋𝑛 ) 𝑐𝑜𝑣(𝑋2 , 𝑋𝑛 ) ] ⋮ 𝑐𝑜𝑣 (𝑋𝑛 , 𝑋𝑛 ) Ta có nhận xét sau ma trận hiệp phương sai: Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com Ảnh màu 1.1 Biểu diễn ảnh số Trong biểu diễn ảnh, người ta thường áp dụng phần tử đặc trưng ảnh Pixel Nhìn chung xem hàm biến chứa thông tin biểu diễn ảnh Các mơ hình biểu diễn ảnh cho ta ta mơ tả logic hay định lượng tính chất hàm Việc xử lý ảnh số phải lấy mẫu lượng tử hóa Việc lượng tử hóa chuyển đổi tín hiệu tương tự sang tín hiệu số ảnh lấy mẫu mọt số hữu hạn mức xám Một số mơ hình thường áp dụng biểu diễn ảnh: mơ hình tốn, mơ hình thống kê 1.2 Ảnh màu Cơ sở ảnh màu Như ta biết cho ảnh sáng trắng qua lăng kính ta thu dãy phổ màu bao gồm màu rộng : tím lam, lục, vàng, cam , đỏ Nếu nhìn kỹ khơng có ranh giới rõ ràng màu mà màu từ từ chuyển sang màu Mắt nhìn thấy ánh sáng phản xạ từ vật thể Tất màu tạo từ màu (màu sơ cấp) là: đỏ (R), lam (B), lục (G) Các màu trộn lại với theo tỉ lệ định để tạo màu thứ cấp Phương trình màu: 𝑌 = 0.2989 ∗ 𝑅 + 0.58662 ∗ 𝐺 + 0.11448 ∗ 𝐵 Hình 3.2: Các màu sở Ví dụ: Đỏ + Lục = Vàng Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 18 Lục + Lam = Xanh Trộn ba màu sơ cấp trộn màu thứ cấp với màu sơ cấp ngược với tạo ánh sáng trắng Các màu gốc có liên quan đến khái niệm sinh học vật lý, dựa sở phản ứng sinh lý học mắt người ánh sáng Mắt người có tế bào cảm quang có hình nón nên cịn gọi tế bào hình nón, tế bào thơng thường có phản ứng cực đại với ánh sáng vàng-xanh (tế bào hình nón L), xanh (tế bào hình nón M), xanh lam (tế bào hình nón S) tương ứng với bước sóng khoảng 564 nm, 534 nm 420 nm Các đặc trưng dùng để phân biệt màu với màu khác là: độ sáng (brightness), sắc màu (hue) độ bão hòa màu (sarturation)    Màu sắc có liên quan đến bước sóng ánh sáng Thơng thường, sắc màu tên màu Ví dụ: đỏ, cam, lục Độ sáng thể cường độ ánh sáng: mô tả sáng hay tối Độ bão hịa màu: thể độ khiết màu Khi độ bão hịa cao, màu vẽ rực rỡ Có nhiều mơ hình màu RGB, CYM, YIQ, CIE Ở trình bày mơ hình màu RGB Hình 3.3: Mơ hình màu RGB Các màu R, G, B nằm đỉnh trục tọa độ khối vuông Màu đen nằm gốc tọa độ, màu trắng nằm góc xa so với điểm gốc Thang màu xám kéo dài từ đen đến trắng (đường chấm) Hình ảnh mơ hình màu RGB bao gồm mặt phẳng ảnh độc lập (dùng cho màu sơ cấp) Thường ta giả thiết tất giả trị màu chuẩn hóa (tức khối vuông khối đơn vị), tất giá trị màu nằm khoảng [0, 1] Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 19 Vì hệ màu RGB, màu mơ tả điểm bên hình lập phương Ở gốc tọa độ (0, 0, 0) màu đen Trên trục tọa độ dương màu đỏ, lục, lam Khi ánh sáng từ điểm riêng biệt cộng dồn với để tạo màu khác (0, 0, 0) màu đen (255, 255, 255) màu trắng (255, 0, 0) màu đỏ (0, 255, 0) màu xanh (0, 0, 255) màu xanh lam (255, 255, 0) màu vàng (0, 255, 255) màu xanh ngọc (255, 0, 255) màu hồng sẫm 1.3 Các định dạng ảnh xử lý ảnh - Định dạng ảnh IMG: ảnh đen trắng, phần đầu IMG có 16 byte chứa thông tin - Định dạng ảnh GIF: GIF (viết tắt Graphics Interchange Format; tiếng anh “Định dạng trao đổi hình ảnh”) định dạng tập tin hình ảnh bitmap cho hình ảnh dùng 256 màu sắc khác hoạt hình dùng 256 màu cho khung hình GIF định dạng nén liệu đặc biệt hữu ích cho việc truyền hình ảnh qua đường truyền lưu lượng nhỏ Định dạng CopuServe cho đời năm 1987 nhanh chóng dùng rộng rãi World Wide Web Tập tin GIF dùng nén liệu bảo tồn kích thước tập tin giảm mà khơng làm giảm chất lượng hình ảnh, cho hình ảnh có 256 màu Số lượng tối đa 256 màu làm cho định dạng khơng phù hợp cho hình chụp (thường có nhiều màu sắc), nhiên kiểu nén liệu bảo tồn cho hình chụp nhiều màu có kích thước q lớn truyền liệu mạng Định dạng JPEG nén liệu thất dùng cho ảnh chụp, lại làm giảm chất lượng cho vẽ màu, tạo nên chỗ nhịe thay cho đường sắc nét, đồng thopwif độ nén thấp cho hình vẽ màu Như GIF thường dùng cho sơ đồ, hình vẽ nút bấm hình màu, cịn JPEG dùng cho ảnh chụp Định dạng GIF dựa vào bảng màu - bảng chứa tối đa 256 màu khác cho biết màu dùng hình Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 20 Hình 3.4: Ảnh GIF - Định dạng JPEG: Phương pháp nén ảnh JPEG (tiếng Anh, viết tắt cho Joint Photo-graphic Experts Groups) phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần Tuy nhiên ảnh sau giải nén khác với ảnh ban đầu Chất lượng ảnh bị suy giảm sau giải nén Sự suy giảm tăng dần theo hệ số nén Tuy nhiên mát thơng tin chấp nhận việc loại bỏ thông tin không cần thiết dựa nghiên cứu hệ nhãn thị mắt người Phần mở rộng file JPEG thường có dạng jpeg, jfif, jpg, JPG hay JPE; dạng jpg dạng dùng phổ biến Hiện dạng nén ảnh JPEG phổ biến ĐTDD trang thiết bị lưu giữ có dung lượng nhỏ Cơng đoạn chia nhỏ ảnh thành nhiều vùng nhỏ (thông thường vùng 8x8 pixel) sử dụng biến đổi cosin rời rạc để biến đổi vùng thể thành dạng ma trận có 64 hệ số thể “thực trạng “ pixel Điều quan trọng hệ số có khả thể “thực trạng “ cao , khả giảm nhanh với hệ số khác Nói cách khác lượng thông tin 64 pixels tập trung chủ yếu số hệ số ma trận theo biến đổi Trong giai đoạn có mát thơng tin, khơng có biến đổi ngược xác Nhưng lượng thông tin bị chưa đáng kể so với giai đoạn Ma trận nhận sau biến đổi cosin rời rạc lược bớt khác hệ số Đây lúc nhiều thơng tin người ta sex vứt bỏ thay đổi nhỏ hệ số Như bung ảnh nén ta có tham số khác pixel Các biến đổi áp dụng cho thành phần U V ảnh với mức độ cao so với Y (mất nhiều thông tin U V hơn) Sau áp dụng phương pháp mã hóa Gernot Hoffman: phân tích dãy số, Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 21 phần tử lặp lại nhiều mã hóa ký hiệu ngắn (marker) Khi bung ảnh người ta việc làm lại bước theo trình ngược lại với biến đổi ngược Hình 3.5: Ảnh dạng JPEG Các kiểu hình ảnh Matlab Image Processing Toolbox Matlab hỗ trợ bốn kiểu biểu diễn hình ảnh gồm: Ảnh số (index images), ảnh độ sáng (intensity images), ảnh nhị phân (binary images), ảnh RGB (RGB images) Ảnh số: Với cách biểu diễn ảnh này, ảnh biểu diễn hai ma trận, ma trận liệu ảnh X ma trận màu (còn gọi đồ màu) Ma trận liệu thuộc kiểu uint8, uint16, double Ma trận màu ma trận kích thước mx3 gồm phần tử kiểu double có giá trị nằm khoảng [0, 1] Mỗi hàng ma trận xác định thành phần red, green, blue màu tổng số m màu sử dụng ảnh, giá trị phần tử ma trận liệu cho biết màu điểm ảnh nằm hàng ma trận màu Nếu ma trận liệu thuộc kiểu double, giá trị tương ứng với hạng thứ bẳng màu, giá trị thứ tương ứng với hàng thứ bảng màu Nếu ma trận liệu thuộc kiểu uint8 uint16 giá trị tương ứng với hàng 1, giá trị tương ứng với hàng Riêng với kiểu uint6, Matlab không Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 22 hỗ trợ đủ phép toán so với kiểu uint8 nên cần xử lý ta chuyển sang kiểu liệu uint8 double hàm imapprox im2double Ảnh biểu diễn theo độ sáng: Mỗi ảnh biểu diễn ma trận hai chiều, giá trị phần tử cho biết độ sáng (hay mức xám) điểm ảnh Ma trận thuộc kiểu uint8, uint16 double Trong giá trị nhỏ tương ứng với màu đen giá trị lớn (255 655535 tùy kiểu liệu nào) ứng với màu trắng Như vậy, ảnh biểu diễn theo kiểu gọi “ảnh trắng đen” ảnh gray scale Ảnh nhị phân: Ảnh nhị phân biểu diễn ma trận hai chiều thuộc kiểu logical, có nghĩa điểm ảnh nhận hai giá trị (đen) (trắng) Ảnh RGB: Ảnh RGB gọi ảnh “true color” tính trung thực Ảnh biểu diễn ma trận chiều có kích thước 𝑚 × 𝑛 × 3, với 𝑚 × 𝑛 kích thước ảnh theo pixels Ma trận định nghĩa thành phần màu red, green, blue cho điểm ảnh, phần tử thuộc kiểu uint8, uint16, double Ví dụ, điểm ảnh vị trí (10, 5) có ba thành phần màu xác định giá trị (10, 5, 1), (10, 5, 2) (10, 5, 3) Các file ảnh thường sử dụng bit cho thành phần màu, nghĩa 24 bit cho điểm ảnh (khoảng 16 triệu màu) Chuyển đổi kiểu liệu Chúng ta chuyển đổi kiểu liệu uint8, uint16 double nhờ sử dụng hàm chuyển đổi Matlab im2double, im2uint8, im2uint16 Cú pháp hàm đơn giản, cần nhập vào ma trận cần chuyển kiểu, riêng với ảnh indexed cần thêm vào chuỗi “indexed” Tuy nhiên cần lưu ý vấn đề sau chuyển đổi ảnh: - - Khi chuyển đổi từ ảnh nhiều bit sang ảnh bit hơn, chuyển từ uint16 sang uint8 mà số thơng tin ảnh ban đầu, chất lượng ảnh giảm Khi chuyển đổi liệu với kiểu indexed, lưu ý thông tin ma trận địa bảng đổ màu giá trị màu nên lúc chuyển đổi Muốn chuyển đổi ta phải dùng hàm Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 23 imapprox để giảm số màu cần biểu diễn ảnh xuống (bằng cách cho màu gần giống thành một) chuyển Tên thuộc tính Mơ tả Filename Chuỗi chứa tên file FileModDate Ngày chỉnh file gần FileSize Số nguyên kích thước(byte) Format Chuỗi cho biết định dạng ảnh FormatVersion Tên phiên định dạng ảnh Width Chiều rộng ảnh (pixel) Height Chiều cao ảnh (pixel) BitDepth Số bit pixel ColorType Cho biết kiểu ảnh (truecolor, indexed ) Bảng 3.1 Các thông tin gọi hàm iminfo Các phép toán số học liệu ảnh Các phép toán bao gồm phép cộng, trừ, nhân chia Đây thao tác xử lý ảnh trước thực phép biến đổi phức tạp khác Người sử dụng sử dụng hàm số học mà Matlab cung cấp để tác động lên liệu ảnh Tuy nhiên Matlab hỗ trợ phép toán kiểu liệu double nên cần phải chuyển đổi trước thực Để đơn giản hơn, Matlab cung cấp hàm thực phép tốn số học chấp nhận kiểu liệu ảnh trả kết giá trị thuộc kiểu với toán hạng Cú pháp Z = imabsdiff(x,y) Mô tả Trừ tương ứng phần tử y cho phần tử x, trả trị tuyệt đối hiệu Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 24 Z = imadd(x,y,out_class) Cộng hai ảnh, cộng ảnh với số, out_class kiểu liệu tổng im2 = imcoplement(im) Lấy bù ảnh im Z = imdivide(x,y) Chia phần tử x cho phần tử y, kết làm tròn Z = imlincomb(i1,k1,k2,a2, ,out_class) Lấy tổ hợp tuyến tính 𝑧 = 𝑘1 ∗ 𝑎1 + 𝑘2 ∗ 𝑎2+ Z = immultiply(x,y) Nhân hai ảnh, ảnh với số Z = imsubtrace(x,y) Trừ hai ảnh, ảnh với số Bảng 3.2 Các phép toán số học ảnh Các hàm hiển thị ảnh Matlab Để hiển thị ảnh, Matlab cung cấp hàm image imagesc Ngoài Image Processing Toolbox có hai hàm hiển thị khác imview imshow - - Hàm image(x, y, c) để hiển thị hình ảnh biểu diễn ma trận c kích thước mxn lên hệ trục tọa độ x, y vector xác định vị trí điểm c(1, 1) c(m, n) Hàm imagesc có chức tương tự hàm image, ngoại trừ việc liệu ảnh co giãn để sử dụng toàn đồ màu hành Hàm imview cho phép hiển thị ảnh cửa sổ riêng Java, gọi Image Viewer Hàm imshow cho phép hiển thị ảnh Figure tự động thiết lập giá trị đối tượng image, axes, figure để hiển thị hình ảnh Các hàm chuyển đổi loại ảnh kiểu liệu ảnh dither Tạo ảnh nhị phân hay RGB gray2ind Chuyển ảnh đen trắng thành ảnh indexed grayslice Chuyển ảnh trắng đen thành ảnh indexed lấy ngưỡng im2bw Chuyển ảnh thành ảnh kiểu liệu nhị phân Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 25 im2double Chuyển ảnh thành ảnh kiểu liệu double im2uint16 Chuyển ảnh thành ảnh kiểu liệu uint16 im2uint8 Chuyển ảnh thành ảnh kiểu liệu uint8 imapprox Xấp xỉ ảnh indexed cách giảm số màu ind2gray Chuyển ảnh indexed thành ảnh gray scale ind2rgb Chuyển ảnh indexed thành ảnh RBG mat2gray Tạo ảnh gray scale từ ma trận rgb2ind Chuyển ảnh RBG thành ảnh indexed grb2gray Chuyển ảnh RBG thành ảnh gray scale Các hàm truy xuất liệu ảnh imfinfo Truy xuất thông tin ảnh imread Đọc ảnh từ file xuất ma trận ảnh imwrite Lưu ma trận ảnh thành file ảnh Các hàm biến đổi hình học cp2tform Định nghĩa phép biến đổi hình học cặp tương ứng imcrop Trích xuất phần ảnh imresize Thay đổi kích thước ảnh imrotate Thực phép quay ảnh imtransform Thực phép biến đổi hình học tổng quát maketform Định nghĩa phép biến đổi hình học tổng quát Bảng 3.3 Các hàm xử lý hình ảnh khác Matlab Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 26 Các hàm khác sử dụng đề tài  T = ls(pathfolder): Lấy tất tên file đường dẫn thư mục pathfolder  D = size(a): Trả giá trị ma trận có dạng [x,y] kích thước ma trận a  T = reshape(X, M, N): Trả ma trận có kích thước MxN, với phần tử phần tử nằm ma trận X  mean(X, dim): với dim chiều lấy trung bình, dim lấy trung bình theo cột, dim lấy trung bình theo hàng Khơng có tham số dim mặc định  double(X): Ép kiểu X sang kiểu double  [V, D] = eig(X): Tạo ma trận đường chéo D giá trị riêng ma trận V có cột tương ứng vector riêng, đó: 𝑋 ∗ 𝑉 = 𝑉 ∗ 𝐷  Diag(V): Lấy phần tử đường chéo chính, kết trả mảng phần tử đường chéo V  Sort(X): tăng dần hay giảm Đối với vector, Sort(X) xếp phần tử X thứ tự tăng dần Đối với ma trận, Sort(X) xếp loại cột X theo thứ tự tăng dần Khi X mảng di động chuỗi, Sort(X) xếp ký tự theo thứ tự bảng mã ASCII  Orth(X): Xây dựng hệ sở trực chuẩn  Norm(A-B): Hàm tính khoảng cách clit hai vector A B II GIAO DIỆN GUI CỦA MATLAB Giao diện GUI GUI (Graphical User Interface) giao diện đồ họa có điều khiển nhiều cơng cụ người lập trình tạo sẵn, cho tương tác người dùng giao diện chương trình, Mỗi chương trình người lập trình tạp sẵn giao diện thực vài chức người lập tình tạo sẵn giao tiếp với người sử dụng - Khởi động: Trong cửa sổ Comment Windowns gõ lệnh “guide” enter ta giao diện hình GUI: - Chọn Dòng “Blank GUI (Default)” để tạo giao diện gui bắt đầu với giao diện trống Các dòng lại để khởi động GUI với giao diện tạo sẵn Nhấp chọn OK để tạo giao diện bắt đầu với giao diện trống Ta hình ảnh giao diện GUI Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 27 - Trước tạo giao diện ta lưu File lại, Matlab tự động lưu file, file đuôi m file đuôi fig ta nhấn F5, Matlab chuyển đường dẫn đến thư mục lưu file, chọn nơi cần lưu nhấn Save Các thao tác bản: Kéo thả để thay đổi độ rộng giao diện Căn chỉnh nút, biểu tượng giao diện Tạo giao diện liên kết với giao diện Nút Run để thực thi chương trình Các conltrol Matlab GUI hỗ trỡ sẵn (bên phải hình): - Push Button: nút nhấn, nhấn vào thực thi lệnh cấu trúc hàm callback Slider: trượt cho phép người dùng di chuyển trượt để thục thi lệnh Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 28 Radio Button: Nó giống Check Box thường sử dụng để tạo lựa chọn nhất, tức lần chọn số nhóm nhiều nút Khi chọn cịn lại nhóm bị bỏ chọn Check box: Sử dụng để đánh dấu tích (thực thi) vào check nhiều để thực thi Edit Text: nơi kí tự nhập vào từ người dùng, người dùng thay đổi Static Text: Là kí tự hiển thị thông qua callback, thông thường để viết nhãn cho biểu tượng, người dùng thay đổi nội dung Pop-up Menu: mở danh sách lực chọn người dùng nhấp chuột vào Chỉ chọn mục danh sách mục List Box: hộp thoại danh sách cách mục, cho phép người dùng chọn nhiều mục Toggle Button: nút nhấn có điều khiển, nhấp chuột nhả ra, nút nhấn giữ lệnh thực thi, nhấp chuột vào lần thứ 2, nút nhấn nhả ra, hủy bỏ lệnh vừa thực thi Table: tạo bảng tương tự Excel Axes: Đây giao diện đồ họa hiển thị hình ảnh, có nhiều thuộc tính bao gồm: không gian 2D (theo trục đứng trục ngang), 3D (hiển thị không gian chiều) Panel: Tạo mảng nhóm biểu tượng lại với giúp ta dễ kiểm soát thao tác di chuyển Button Group: quản lí lựa chọn nút Radio Button Active Control: Quản lí nhóm bút chương trình liên quan với Active - - - - - Ta double click vào biểu tượng tạo để điều chỉnh thuộc tính bên Một số thuộc tính quan trọng: - Color: điều chỉnh màu sắc String: Hiển thi chữ biểu tượng Style: thay đổi thuộc tính biểu tượng Tag: Khi tác động vào gọi hàm mà có tag code chương trình Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 29 Giao diện chương trình nhận dạng mặt người Thực chạy guide thiết kế, giao diện hình Giao diện guide gồm control button, Axes Pop_up menu Sau bấm nut chọn file ấn vào mũi tên xổ xuống pop_up menu ta có loạt đường dẫn file ảnh *.jpg có thư muc E:\image2 Khi lựa chọn đường dẫn pop_up ảnh tương ứng Axes1, ảnh ảnh đầu vào q trình nhận diện khuôn mặt Sau ảnh đầu vào, ta bấm nút Bat dau, thuật toán PCA thực tìm ảnh giống sở liệu, khơng tìm thấy ảnh, ảnh có màu đen Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 30 III SƠ ĐỒ KHỐI VÀ CODE CHƯƠNG TRÌNH Sơ đồ khối Cơ sở liệu Tập huấn luyện Ảnh kiểm tra Ánh xạ ảnh kiểm tra PCA (Trích đặc trưng) Vector đặc trưng Vector đặc trưng Phân loại (AdaBoost) Tạo định Sơ đồ khối tổng quát chương trình Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 31 Code chương trình Ai muốn mua code liên hệ sđt: 0964435482 Xem nhiều tài liệu tại: http://nhasachtinhoc.blogspot.com 32 ... thống sinh trắc học nhận diện dấu vân tay, nhận diện phát khuôn mặt, nhận diện mống mắt…Các đặc trưng sinh học này thường sử dụng cho nhận dạng người hệ thống giám sát nhận dạng tội pham Lợi việc... liên quan đến góc nhìn khn mặt: "Nhận dạng khn mặt thực tốt phía mặt trước phía chênh lệch 20 độ, sau bạn phía góc khuất, có vấn đề. " Các điều kiện khác mà nhận dạng khuôn mặt không làm việc tốt... thuật toán PCA Matlab? ?? thực chương trình tìm kiếm ảnh có khn mặt người tập ảnh sở giống với khuôn mặt người ảnh cần kiểm tra ngôn ngữ Matlab Để tiện theo dõi em xin trình bày đề tài theo ba phần:

Ngày đăng: 05/08/2021, 11:35

TỪ KHÓA LIÊN QUAN

w