ĐỒ ÁN CƠ SỞ 3 Đề tài XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT

30 3 0
ĐỒ ÁN CƠ SỞ 3 Đề tài XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT

Đ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

XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ Đề tài XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Đà Nẵng, ngày 27 tháng 07 năm 2020 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH MỞ ĐẦU Hiện nay, với phát triển xã hội, vấn đề án ninh bảo mật yêu cầu khắt khe nơi giới Các hệ thống nhận dạng người đời với độ tin cậy ngày cao Một toán nhận dạng người quan tâm nhận dạng khn mặt Vì nhận dạng khn mặt cách dễ dàng mà người dùng để phân biệt Bên cạnh đó, ngày việc thu thập, xử lý thông tin qua ảnh để phân biệt đối tượng quan tâm ứng dụng rộng rãi Với phương pháp này, thu nhận nhiều thơng từ đối tượng mà không cần tác nhiều đến đối tượng nghiên cứu Một toán nhiều người quan tâm lĩnh vực xử lý ảnh nhận dạng khuôn mặt (Face Recognition) Như biết, khn mặt đóng vai trị quan trọng q trình giao tiếp người với người, mang lượng thơng tin giàu có, chẳng hạn từ khn mặt xác định giới tính, tuổi tác, chủng tộc, trạng thái cảm xúc, đặc biệt xác định mối quan hệ với đối tượng (có quen biết hay khơng) Do đó, tốn nhận dạng khn mặt đóng vai trị quan trọng nhiều lĩnh vực đời sống ngày người hệ thống giám sát, quản lý vào ra, tìm kiếm thông tin người tiếng, …đặc biệt an ninh, bảo mật Có nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất nhiên dù hay nhiều phương pháp vấp phải thử thách độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng tham số môi trường Trong khuôn khổ đồ án này, chúng em tiếp tục giải tốn nhận dạng offline Trong đối tượng thu thập thành file liệu chuyển trung tâm Tại đó, số liệu phân tích xử lý Chúng em lấy làm tảng để xây dựng ứng dụng lớn sau Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH LỜI CẢM ƠN Để thực hoàn thành tốt đồ án này, em nhận giúp đỡ hướng dẫn tận tình thầy cô thuộc Khoa Công nghệ Thông tin Truyền thông – Đại học Đà Nẵng Em xin cảm ơn thầy cô thuộc môn chuyên ngành cung cấp cho chúng em thông tin, kiến thức vô quý báu cần thiết suốt thời gian để em thực hồn thành đồ án Đặc biệt em xin chân thành cảm ơn thành thầy Phan Trọng Thanh người trực tiếp hướng dẫn chúng em thời gian thực đồ án Cuối cùng, xin chân thành cảm ơn bạn ngành công nghệ thông tin ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm tài liệu có giúp chúng tơi q trình nghiên cứu thực đề tài Do giới hạn mặt thời gian kiến thức kinh nghiệm thực tiễn nên đề tài không tránh khỏi sai sót Em mong nhận thơng cảm q thầy mong đón nhận góp ý thầy cô bạn Em xin chân thành cảm ơn! Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Đà Nẵng, ngày 27 tháng 07 năm 2020 Giảng viên hướng dẫn PHAN TRỌNG THANH Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH MỤC LỤC Chương 1: GIỚI THIỆU VÀ NGHIÊN CỨU TỔNG QUAN 1.1 Giới thiệu đề tài: 1.2 Phương pháp thực hiện: .7 1.3 Các phương pháp nghiên cứu: 1.4 Ưu điểm, nhược điểm phương pháp: 1.5 Kết luận: .9 1.6 Cấu trúc đồ án: 10 Chương : 11 CƠ SỞ LÝ THUYẾT .11 2.1 Tổng quan Adaboost: 11 2.2 Tiếp cận Boosting: 11 2.3 Adaboost: 12 2.4 Các đặc trưng Haar-Like: 16 2.5 Cascade of Classifiers: .19 2.6 Cascade of boosting classifiers: .21 Chương 3: 22 PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG 22 3.1 Sơ lược OpenCV: 22 3.2 Tổng quan hệ thống phát mặt người ảnh: 23 3.3 Phân tích – thiết kế hệ thống phát mặt người: 24 3.3.1 Phân tích: 24 3.3.2 Thiết kế hệ thống: 25 3.3.3 Thiết kế sở liệu: 26 3.4 Giao diện chương trình: 27 KẾT LUẬN 29 DANH MỤC TÀI LIỆU THAM KHẢO .30 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH MỤC LỤC HÌNH ẢNH Hình 1: Boosting 12 Hình 2: Đặt trưng Haar-like 15 Hình 3: Cách tính Integral Image ảnh 17 Hình 4: Ví dụ cách tính nhanh tổng điểm ảnh vùng D ảnh .17 Hình 5: Ví dụ cách tính nhanh tổng điểm ảnh vùng D ảnh với đặc trưng xoay 450 18 Hình 6: Cascade of classifiers 20 Hình 7: Cascade of boosting classifiers .20 Hình 8: Cấu trúc OpenCV 22 Hình 9: Tổng quan hệ thống phát mặt người ảnh 23 Hình 10: Biểu đồ ngữ cảnh hệ thống 24 Hình 11: Sơ đồ hệ thống .24 Hình 12: Cơ sở liệu .26 Hình 13: Giao diện tạo người dùng .26 Hình 14: Giao diện lấy liệu 27 Hình 15: File liệu lấy 27 Hình 16: Giao diện training 28 Hình 17: Giao diện nhận diện người dùng 28 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Chương 1: GIỚI THIỆU 1.1 Giới thiệu đề tài: Với phát triển không ngừng khoa học công nghệ, đặc biệt thiết bị hỗ trợ công nghệ xử lý ảnh ngày đại sử dụng phổ biến đời sống người làm cho lượng thông tin thu hình ảnh ngày tăng phổ biến Theo đó, lĩnh vực xử lý ảnh trọng phát triển, ứng dụng rộng rãi đời sống xã hội đại Không dừng lại việc chỉnh sửa, tăng chất lượng hình ảnh mà với cơng nghệ xử lý ảnh giải toán nhận dạng chữ viết, nhận dạng dấu vân tay, đặc biệt nhận dạng khuôn mặt… Công nghệ nhân diện khuôn mặt (Facial Recognition Technology) công nghệ sử dụng phổ biến quốc gia phát triển Cơng nghệ có khả xác định xác nhận người từ hình ảnh kỹ thuật số lấy mẫu trước từ khung hình nguồn video khác Đây phương pháp xác minh độc đáo thiết bị dựa vào điểm khác tiêu biểu khuôn mặt người để tiến hành phân biệt người với người khác Do trường hợp song sinh người dùng yên tâm máy phát ra.Chính đặc điểm ngồi ứng dụng việc quản lý nhân cịn lựa chọn nhiều đơn vị hoạt động lĩnh vực an ninh, bảo mật Xây dựng dự án phần mềm ứng dụng nhận dạng khuôn mặt nhằm giúp việc quản lý, điểm danh thống kê theo yêu cầu cho việc điểm danh sinh viên học, vào nhà trường Ngoài ra, giúp sinh viên tìm hiểu thư viện OpenCV, tìm hiểu phương pháp xác định khn mặt (Face Detection) 1.2 Phương pháp thực hiện: - Trước tiên ta phải nêu tốn, phân tích thiết kế hệ thống nhận dạng - Xây dựng hệ thống sử dụng ngôn ngữ Python thư viện OpenCV Hệ thống lấy mẫu khn mặt camera, sau hệ thống trích xuất, phân tích khn mặt từ hình ảnh mẫu lấy trước để so sánh hệ thống Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH đưa kết luận có phải đối tượng cho phép hay khơng Sử dụng cơng cụ IDLE Python để lập trình - Sau xây dựng sở liệu SQLite để thống kê, hiển thị liệu, sử dụng số cơng cụ để lập trình Sublime Text, PHPStorm, Pycharm … 1.3 Các phương pháp nghiên cứu: Hiện có hai phương pháp nhận diện khuôn mặt sử dụng rộng rãi là: - Nhận dạng dựa đặc trưng phần tử khuôn mặt (Feature based face recognition) - Nhận dạng dựa xét tổng thể khn mặt (Appearance based face recognition) Ngồi cịn có số phương pháp loại nhận dạng sử dụng mơ hình khn mặt: - Nhận dạng 2D: Elastics Bunch Graph, Active Appearance Model - Nhận dạng 3D: 3D Morphable Model 1.4 Ưu điểm, nhược điểm phương pháp: Nhận dạng dựa đặc trưng phần tử khuôn mặt: Đây phương pháp nhận dạng khuôn mặt dựa viện xác định đặc trưng hình học chi tiết khn mặt (vị trí, diện tích , hình dạng mắt, mũi, miệng, ) mối quan hệ chúng (khoảng cách hai mắt, khoảng cách hai lông mày, ) Ưu điểm phương pháp gần với cách mà người sử dụng để nhận biết khuôn mặt Hơn với việc xác điịnh đặc tính cà mối quan hệ, phương pháp cho kết tốt trường hợp ảnh có nhiều nhiễu bị nghiêng, bị xoay ánh sáng thay đổi Nhược điểm phương pháp cài đặt thuật toán phức tạp việc xác định mối quan hệ đặc tính khó phân biệt Mặt khác, với ảnh kích thước bé đặc tính khó phân biệt Nhận dạng dựa xét tổng thể khuôn mặt: Đây phương pháp xem ảnh có kích thước RxC vector không gian RxC chiều Ta xây dựng khơng gian có chiều nhỏ chi biểu diễn khơng gian có đặc điểm khn mặt Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH khơng bị Trong khơng gian đó, ảnh người tập trung lại nhóm gần cách xa nhóm khác Ưu điểm phương pháp tìm đặc tính tiêu biểu đối tượng cần nhận dạng mà không cần phải xác định thành phần mối quan hệ thành phần Phương pháp sử dụng thuật tốn thực tốt với ảnh có độ phân giải cao, thu gọn ảnh thành ảnh có kích thước nhỏ Có thể kết hợp phương pháp khác mạng Nơ-ron, Support Vector Machine Nhược điểm phương pháp phân loại theo chiều phân bố lớn vector Tuy nhiên, chiều phân bố lớn lúc mang lại hiệu qua tốt cho toán nhận dạng đặc biệt phương pháp nhạy với nhiễu 1.5 Kết luận: Vì kết nghiên cứu cuối phần mềm áp dụng vào thực tế với yêu cầu độ xác cao, khả thích ứng linh hoạt, hoạt động ổn định môi trường thực tế hoạt động với camera với độ phân giải thấp Nên nhóm định chọn phương pháp nhận dạng dựa đặc trưng phần tử khuôn mặt (Feature based face recognition) 1.6 Cấu trúc đồ án: - Nghiên cứu tổng quan - Phân tích thiết kế hệ thống - Triển khai xây dựng - Kết luận hướng phát triển Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Adaboost: Trang 10 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Đặc trưng đường (line features): Đặc trưng xung quanh tâm (center-surround features): Lợi ích đặc trưng Haar-like diễn đạt tri thức đối tượng ảnh (bởi biểu diễn mối liên hệ phận đối tượng), điều mà thân điểm ảnh khơng diễn đạt Để tính giá trị đặc trưng haar-like, ta tính chênh lệch tổng pixel vùng đen vùng trắng công thức sau: f(x) = Tổngvùng đen(pixel) - Tổngvùng trắng(pixel) Như ta thấy rằng, để tính giá trị đặc trưng Haar-like, ta phải tính tổng vùng pixel ảnh Nhưng để tính tốn giá trị đặc trưng Haar-like cho tất vị trí ảnh địi hỏi chi phí tính tốn lớn, khơng đáp ứng cho ứng dụng địi hỏi tính run-time Do Viola Jones đưa khái niệm gọi Integral Image để tính tốn nhanh cho đặc trưng Sau này, Lienhart kế thừa Integral Image (SAT) đưa thêm khái niệm Rotated Summed Area Table (RSAT) dùng để tính tốn nhanh cho đặc trưng xoay góc 45o Integral Image mảng chiều với kích thước với kích ảnh cần tính đặc trưng Haar-like, với phần tử mảng tính cách tính tổng điểm ảnh phía (dịng-1) bên trái (cột-1) Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải ảnh, việc tính tốn đơn đựa phép cộng số nguyên đơn giản, tốc độ thực nhanh Trang 16 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Hình 3: Cách tính Integral Image ảnh Sau tính Integral Image, việc tính tổng điểm ảnh vùng ảnh thực đơn giản theo cách sau: (Giả sử ta cần tính tổng điểm ảnh vùng D Hình 4): D = A + B + C + D – (A+B) – (A+C) + A Với A + B + C + D giá trị điểm P4 Integral Image, tương tự A+B giá trị điểm P2, A+C giá trị điểm P3, A giá trị điểm P1 Vậy ta viết lại biểu thức tính D sau: Hình 4: Ví dụ cách tính nhanh tổng điểm ảnh vùng D ảnh Trang 17 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: THẦY PHAN TRỌNG THANH Hình 5: Ví dụ cách tính nhanh tổng điểm ảnh vùng D ảnh với đặc trưng xoay 450 Với đặc trưng Haar-like xoay 45o Integral Image điểm (x, y) tính theo cơng thức: Tổng pixel vùng ảnh tính theo cách sau: D = A + B + C + D – (A+B) – (A+C) + A Như tổng điểm ảnh hình chữ nhật (kể trường hợp xoay 45º) tính nhanh dựa integral image đỉnh nó: Sum (D) = - – + 2.5 Cascade of Classifiers: Ta thấy trình huấn luyện, phân loại phải duyệt qua tất đặc trưng mẫu tập training Việc tốn nhiều thời gian Tuy nhiên, mẫu đưa vào, mẫu thuộc loại khó nhận dạng, có mẫu background dễ nhận (ta gọi mẫu background đơn giản) Đối với mẫu này, ta cần xét hay vài đặc trưng đơn giản nhận diện không cần xét tất đặc trưng Nhưng phân loại thông thường cho dù mẫu cần nhận dạng dễ hay khó Trang 18 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH xét tất đặc trưng mà rút q trình học Do đó, chúng tốn thời gian xử lý cách không cần thiết Cascade of Classifiers xây dựng nhằm rút ngắn thời gian xử lý, giảm thiểu false alarm cho phân loại Cascade tree gồm nhiều stage (hay gọi layer), stage stage classifier Một mẫu để phân loại đối tượng cần phải qua hết tất stages Các stage classifiers stage sau huấn luyện mẫu negative mà stage classifier trước nhận dạng sai, tức tập trung học từ mẫu background khó hơn, kết hợp stage classifiers lại giúp phân loại có false alarm thấp Với cấu trúc này, mẫu background dễ nhận diện bị loại từ stages đầu tiên, giúp đáp ứng tốt độ phức tạp gia tăng mẫu đưa vào, đồng thời giúp rút ngắn thời gian xử lý Thuật toán Cascade training: Gọi: F: giá trị false alarm d độ xác weak classifier stage Ftarget: Giá trị max false alarm P, N: số lượng mẫu positive negative Pi, Ni: tập positive negative cho phân lớp tầng thứ i Fi, Di: Giá trị false alarm độ xác cascade trước đến tầng thứ i Khởi tạo i=0; F0=1.0; D0 = 1.0 Lặp: while Fi > Ftarget  i = i+1;  Huấn luyện phân loại hi từ tập Pi Ni với detection rate d max false alarm f Thêm hi vào phân lớp Dùng phân lớp có để tính Fi: Duyệt qua N mẫu negative tìm đủ n mẫu mà phân lớp có phân loại sai  N := ∅  Nếu Fi >Ftarget N = { số mẫu sai stage phân loại sai } P = { số mẫu positive mà stage phân loại dúng } Trang 19 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Minh họa thuật tốn Cascade training: Hình 6: Cascade of classifiers Hình minh họa huấn luyện cascade gồm N stages Ở stage, weak classifier tương ứng huấn luyện cho độ xác h false alarm f 2.6 Cascade of boosting classifiers: Cascade of boosting classifiers mơ hình cascade of classifiers với classifier xây dựng Adaboost sử dụng haar-like Hình 7: Cascade of boosting classifiers Viola Jones sử dụng thành công cascade of boosting classifiers cho toán nhận dạng mặt người Với tập huấn luyện gồm 4196 hình mặt người đưa ảnh grayscale kích thước 24x24 9500 hình background, hai ôngđã xây dựng cấu trúc cascade tree gồm 38 stage với tổng cộng 6060 đặc trưng haarlike Thực nghiệm cho thấy classifier stage sử dụng đặc trưng loại khoảng 50% mẫu background (khơng phải mặt người) có độ Trang 20 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH xác d = 100% Classifier stage thứ sử dụng 10 đặc trưng loại 80% mẫu background với độ xác 100% Hệ thống so sánh với hệ thống Rowley-Baluja-Kanade (sử dụng mạng neural), Schneiderman-Kanade (sử dụng phương pháp thống kê), cho thấy tỉ lệ nhận dạng ngang nhau, hệ thống Viola Jones chạy nhanh đến 15 lần so với hệ thống Rowley-Baluja-Kanade nhanh 600 lần hệ thống SchneidermanKanade Lý mà cấu trúc cascade đạt tốc độ nhận dạng nhanh nhờ sớm loại bỏ mẫu background đơn giản (thường có số lượng lớn nhiều so với mẫu chứa object – mẫu chưa khuôn mặt cần tiến hành nhận dạng) Bên cạnh đó, hệ thống Viola Jones đạt độ xác cao nhờ vào thuật toán cascade training, nhận dạng huấn luyện AdaBoost với đặc trưng Haar-like mô tả tốt thơng tin đối tượng, với cách Integral Image tính nhanh đặc trưng, không làm giảm tốc độ nhận dạng hệ thống Như vậy, mơ hình Cascade of Boosted Classifiers thật cách tiếp cận tốt tốc độ lẫn khả nhận dạng, phù hợp với nhận dạng mặt người Trang 21 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Chương 3: PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG Phát mặt người ảnh có nhiều ứng dụng sống, nhiên, khóa luận này, chúng em xây dựng chương trình nhỏ để minh họa cho lý thuyết Cụ thể chương trình phát mặt người ảnh viết ngôn ngữ python, sử dụng thư viện mã nguồn mở OpenCV Intel 3.1 Sơ lược OpenCV: OpenCV thư viện mã nguồn mở intel thị giác máy tính Nó cung cấp mã nguồn bao gồm hàng trăm hàm, lớp dựa thuật toán xử lý ảnh Computer vision dùng ngôn ngữ C/C++ Open CV thể đa dạng trí tuệ nhân tạo Được ứng dụng nhiều toán nhận dạng mặt, dị tìm mặt, phát mặt, lọc Kalman, … Cấu trúc tổng quan OpenCV bao gồm phần phần hình vẽ Hình 8: Cấu trúc OpenCV Phần CV bao gồm thư viện xử lý ảnh giải thuật thị giác máy tính ML thư viện thuật toán học máy, bao gồm nhiều phân cụm phân loại thống kê HighGUI chứa đựng thủ tục vào ra, chức lưu trữ đọc file ảnh video Phần thứ 4, Cxcore chứa đựng cấu trúc liệu ( ví dụ cấu trúc XML, liệu …) Phần cuối CvAux, phần bao gồm thư viện cho việc phát hiện, theo dõi nhận dạng đối tượng (khuôn mặt, mắt …) Trang 22 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH 3.2 Tổng quan hệ thống phát mặt người ảnh: Hình 9: Tổng quan hệ thống phát mặt người ảnh Về bản, từ ảnh gốc ban đầu, hệ thống chia ảnh thành vơ số vùng nhỏ để tính đặc trưng, sau đưa đặc trưng Tiếp theo, chương trình xác định vùng khả quan (các ứng viên) khn mặt, cuối ứng viên đưa vào phân loại để tiến hành xác định ứng viên mặt người 3.3 Phân tích – thiết kế hệ thống phát mặt người: 3.3.1 Phân tích: Nhiệm vụ chương trình dị tìm khn mặt từ ảnh, file video từ webcam, sau lưu khuôn mặt vào csdl để phục vụ cho mục đích khác (sẽ phát triển sau) Trang 23 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Hình 10: Biểu đồ ngữ cảnh hệ thống Như chức chương trình bao gồm:  Kết nối đến webcam, đọc file ảnh video  Phát nhiều khuôn mặt có ảnh, video, webcam  Lưu ảnh khuôn mặt phát vào sở liệu  Nhận diện khuôn mặt thay đổi trạng thái điểm danh 3.3.2 Thiết kế hệ thống: Với chức trên, chương trình chia thành thành phần chính: Phần xử lý đầu vào, phần phát khuôn mặt phần xử lý đầu Lấy đặc trưng huấn luyện nhận dạng Hình 11: Sơ đồ hệ thống Trang 24 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH a Xử lý đầu vào: Chương trình nhận đầu vào file ảnh, video webcam, nhiên, việc phát khuôn mặt thực ảnh, đó, với đầu vào webcam hay file video, ta phải chuyển thành ảnh tĩnh xử lý ảnh tĩnh Sau có ảnh đầu vào chuyển ảnh cho giai đoạn xử lý tiếp theo, phát khn mặt có ảnh b Phát khuôn mặt: Phần xử lý nghiệp vụ hệ thống Sau có ảnh truyền vào, hệ thống thực chức phát khn mặt có ảnh Việc phát khn mặt thực nhanh thuật tốn adaboost thơng qua hàm cvHaarDetectObjects() OpenCV Hàm thực việc phát đối tượng dựa đặc trưng haar-like, cụ thể nhờ vào Cascade truyền vào cho hàm Bộ Cascade xây dựng theo dạng (tree-node) huấn luyện từ trước Việc huấn luyện Cascade thực từ liệu thu thập để phục vụ cho trình nhận dạng Ví dụ, muốn nhận dạng người A, ta thu thập ảnh khuôn mặt người A với nhiều tư thế, góc chụp điều kiện chụp khác nhau, sau cho nhận dạng học theo thuật toán Cascade training Sau training xong, hệ thơng lưu lại thành file có yml, bao gồm nhiều đặc điểm, nhiều tư người dùng, giúp hệ thống nhận diện c Xử lý đầu ra: Khuôn mặt sau phát tách khỏi ảnh lưu dạng ảnh bitmap với phần mở rộng *.jpg Đối với đầu vào file ảnh, liệu đầu file ảnh có lưu vị trí khn mặt phát ảnh, đồng thời tách riêng khuôn mặt lưu vào sở liệu Đối với đầu vào file video webcam Các khuôn mặt tách lưu lại thành file ảnh riêng rẽ, đánh số thứ tự theo tên file video Ví dụ file video test.avi ảnh khuôn mặt phát đánh số theo thứ tự sau: test.avi_1.jpg, test.avi_2.jpg … 3.3.3 Thiết kế sở liệu: Lưu trữ sở liệu phần quan trọng ứng dụng Việc xây dựng, tổ chức sở liệu ảnh hướng lớn đến tốc độ chương trình Do tơi xây dựng quản sở liệu hệ quản trị sở liệu SQL Lite, Trang 25 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH hệ quản trị sở liệu mạnh, đáp ứng nhiều yêu cầu quản lý sở liệu doanh nghiệp lớn, đặc biệt ngân hàng hay kho bạc Tuy tại, chương trình dừng lại mức phát khuôn mặt ảnh, việc xây dựng sở liệu tốt tiền đề để phát triển chương trình thành ứng dụng lớn sau Hệ thống cần lưu trữ liệu: Ảnh khuôn mặt sau phát webcam Như thông tin sở liệu bao gồm thực thể sau:  ID: Mã ảnh, kiểu Integer, khóa có ràng buộc tự tăng  Name: Tên sinh viên, kiểu liệu text (255) Hình 12: Cơ sở liệu 3.4 Giao diện chương trình: Hình 13: Giao diện tạo người dùng Trang 26 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Hình 14: Giao diện lây liệu khn mặt Hình 15: File hình ảnh tạo Trang 27 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH Hình 16: Giao diện training Hình 17: Giao diện nhận diện Trang 28 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH KẾT LUẬN 1.Kết đạt Trên sở nghiên cứu toán phát mặt người ảnh Đặc biệt thuật toán Adaboost, đặc trưng haar-like mơ hình Cascade of Classifier Chúng em áp dụng thành cơng mơ hình Cascade of Classfier vào toán phát mặt người ảnh Tuy kết đạt chưa cao, bước đầu để phát triển toán nhận dạng mặt (face recognition) người sau Bên cạnh đó, q trình xây dựng chương trình demo, tơi tìm hiểu thư viện mã nguồn mở OpenCV, hệ quản trị sở liệu Oracle, qua biết cách sử dụng hàm thư viện OpenCV quản lý sở liệu hệ quản trị sở liệu Oracle Về chương trình demo, sau thử nghiệm với tập ảnh lớn webcam Chương trình đạt kết tốt, thời gian phát nhanh ảnh mặt người chụp thẳng, chất lượng ảnh tốt (chụp máy kĩ thuật số), nhiên ảnh chụp nghiêng hay ảnh có mầu sắc q tối chương trình gần khơng thể phát khn mặt ảnh Đối với webcam, hiệu xuất chương trình cịn tùy theo chất lượng loại webcam sử dụng, nhiên tương tự với phát khn mặt ảnh, chương trình phát mặt người điều kiện độ sáng yếu góc quay nghiêng 200 2.Hướng phát triển: Có nhiều hướng phát triển cho chương trình này, phát triển mặt ứng dụng mặt thuật tốn Có thể xây dựng ứng dụng cần đến phát mặt người mà không cần nhận dạng Ví dụ hệ thống ghép hình, ghép khn mặt phát vào ảnh khác Ngồi phát triển chương trình theo hướng nhận dạng khn mặt, xây dựng hệ thống để học đặc trưng người cần nhận dạng Khi thực hiện, ta đưa qua ảnh qua chương trình phát mặt người để phát nhanh khn mặt có ảnh, sau so sách khn mặt với khn mặt mà chương trình “học” từ trước, so sánh đặc trưng hai khuôn mặt, trùng đưa thơng tin khn mặt nhận dạng Trang 29 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: THẦY PHAN TRỌNG THANH DANH MỤC TÀI LIỆU THAM KHẢO [1] G Yang and T S Huang, “Human Face Detection in Complex Background”, Pattern Recognition, vol 27, no 1, pp 53-63, 1994 [2] A Lanitis, C.J Taylor, and T.F Cootes, “An Automatic Face Identification System Using lexible Appearance Models”, Image and Vision Computing, vol 13, no 5, pp 393-401, 1995 [3] Andrew King, “A Survey of Methods for Face Detection”, 2003 [4] A Yuille, P Hallinan, and D Cohen, “Feature Extraction from Faces Using eformable Templates”, Int’l J Computer Vision, vol 8, no 2, pp 99-111, 1992 [5] D.G Kendall, “Shape Manifolds, Procrustean Metrics, and Complex Projective Shapes”, Bull London Math Soc., vol 16, pp 81-121, 1984 [6] E Osuna, R Freund, and F Girosi, “Training Support Vector Machines: An Application to Face Detection” Proc IEEE Conf Computer Vision and Pattern Recognition, pp 130-136, 1997 [7] Fuzhen Huang and Jianbo Su, “Multiple Face Contour Detection Using adaptive Flows”, Sinobiometrics 2004, LNCS 3338, pp 137-143, Springer-Verlag Berlin eidelberg, 2004 [8] H.P Graf, T Chen, E Petajan, and E Cosatto, “Locating Faces and Facial Parts”, Proc First Int’l Workshop Automatic Face and Gesture Recognition, pp 41-46, 1995 [9] J Canny, “A Computational Approach to Edge Detection”, IEEE Trans Pattern Analysis and Machine Intelligence, vol 8, no 6, pp 679-698, June 1986 [10] J Sobottka and I Pitas, “Segmentation and Tracking of Faces in Color Images”, Proc Second Int’l Conf Automatic Face and Gesture Recognition, pp 236-241, 1996.s Trang 30

Ngày đăng: 01/03/2022, 01:10

Mục lục

  • GIỚI THIỆU

    • 1.1 Giới thiệu đề tài:

    • 1.2 Phương pháp thực hiện:

    • 1.3 Các phương pháp nghiên cứu:

    • 1.4 Ưu điểm, nhược điểm của các phương pháp:

    • 1.6 Cấu trúc đồ án:

    • CƠ SỞ LÝ THUYẾT

      • 2.1 Tổng quan về Adaboost:

      • 2.4 Các đặc trưng Haar-Like:

      • 2.6 Cascade of boosting classifiers:

      • PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG

        • 3.1 Sơ lược về OpenCV:

        • 3.2 Tổng quan về một hệ thống phát hiện mặt người trong ảnh:

        • 3.3.2 Thiết kế hệ thống:

        • 3.3.3 Thiết kế cơ sở dữ liệu:

        • 3.4 Giao diện chương trình:

Tài liệu cùng người dùng

Tài liệu liên quan