nghiên cứu thư viện opencv ứng dụng nhận dạng khuôn mặt người

67 1.8K 11
nghiên cứu thư viện opencv ứng dụng nhận dạng khuôn mặt người

Đ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

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CNTT & TT BỘ MÔN TIN HỌC ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU THƯ VIỆN OPENCV ỨNG DỤNG NHẬN DẠNG KHUÔN MẶT NGƯỜI Sinh viên thực Cán hướng dẫn Nguyễn Hoàng Phúc Ths.Nguyễn Đức Khoa MSSV : 1111540 Cần Thơ, 2015 TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CNTT & TT BỘ MÔN TIN HỌC ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU THƯ VIỆN OPENCV ỨNG DỤNG NHẬN DẠNG KHUÔN MẶT NGƯỜI Sinh viên thực Cán hướng dẫn Nguyễn Hoàng Phúc Ths Nguyễn Đức Khoa MSSV : 1111540 Cán phản biện 1.Ths.Huỳnh Phụng Toàn 2.Ks.Phạm Phương Hồng Ngân Luận văn bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng Khoa CNTT & TT, Trường Đại học Cần Thơ vào ngày 14 tháng năm 2015 Có thể tìm hiểu luận văn tại: -Trung tâm Học liệu, Trường Đại học Cần Thơ -Website: http://www.lrc.ctu.edu.vn/ Cần Thơ, 2015 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời tri ân đến quý Thầy Cô Khoa Công nghệ thông tin & Truyền thông nói chung Thầy Cô Bộ môn Tin học ứng dụng nói riêng, người giảng dạy, cung cấp kiến thức tạo điều kiện để em thực đề tài Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến Thầy Ths Nguyễn Đức Khoa người tận tình hướng dẫn, truyền đạt kinh nghiệm, kiến thức bảo em suốt trình thực đề tài Con xin gửi lời biết ơn sâu sắc kính trọng đến cha mẹ - gia đình giúp có thành ngày hôm Sau cùng, xin chân thành gửi lời cảm ơn đến bạn bè đóng góp ý kiến, giúp đỡ động viên lúc khó khăn tiếp thêm cho động lực để hoàn thành đề tài Cần thơ, ngày tháng năm 2015 1111540 - Nguyễn Hoàng Phúc Trang i Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người MỤC LỤC CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề 1.2 Một số nghiên cứu trước .1 1.3 Phạm vi đề tài .2 1.4 Phương pháp nghiên cứu 1.5 Bố cục nội dung CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .4 2.1 Bài toán dò tìm khuôn mặt 2.1.1 Định nghĩa toán .4 2.1.2 Những yếu tố ảnh hưởng toán 2.1.3 Các phương pháp dò tìm khuôn mặt 2.2 Giới thiệu đặc trưng Haar-Like 2.2.1 Đặc trưng Haar-Like 2.2.2 Trích đặc trưng Harr-Like từ ảnh 2.2.3 Mô hình Cascades of Boosted Classifiers 11 2.2.4 Adaboost 12 2.2.4.1 Tổng quan Adaboost .12 2.2.4.2 Sơ lược Boosting 12 2.2.4.3 Kỹ thuật Adaboost – nhận dạng đối tượng 14 2.3 Định vị đối tượng 21 2.4 Tổng quan thư viện OpenCV 22 2.4.1 Tổng quan 22 2.4.2 Cấu trúc ứng dụng OpenCV 23 2.4.3 Những đặc trưng OpenCV 25 2.5 Thư viện Emgu CV 26 2.6 GSMComm 28 CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 29 Trang ii Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người 3.1 Quy trình hệ thống 29 3.2 Phát nhận dạng đối tượng với đặc trưng Haar-Like 29 3.2.1 Huấn luyện liệu 29 3.2.2 Hệ thống nhận dạng đối tượng 35 3.3 Thực nghiệm hệ thống 36 3.3.1 Huấn luyện liệu 36 3.3.2 Thực nghiệm nhận dạng đối tượng với Emgu CV: 39 KẾT LUẬN VÀ ĐỀ NGHỊ 47 PHỤ LỤC 49 TÀI LIỆU THAM KHẢO 58 Trang iii Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người DANH MỤC HÌNH Hình 2.1: Dò tìm khuôn mặt Hình 2.2: Đặc trưng Haar-Like Hình 2.3: Tính toán vùng S dựa vùng trước Hình 2.4: Các đặc trưng Haar-Like .7 Hình 2.5: Các đặc trưng mở rộng từ đặc trưng Haar-like sở .8 Hình 2.6: Cách tính Integral Image ảnh Hình 2.7: Cách tính nhanh vùng D với tổng điểm ảnh ảnh Hình 2.8: Cách tính nhanh tổng điểm ảnh D ảnh với đặc trưng xoay 45o .10 Hình 2.9: Cách trích đặc trưng Haar-like 10 Hình 2.10: Cấu trúc phân tầng với N giai đoạn 11 Hình 2.11: Kỹ thuật Boosting 14 Hình 2.12: Nguyên tắc Adaboost 15 Hình 2.13: Kỹ thuật Adaboost 16 Hình 2.14: Lược đồ huấn luyện nhận dạng đối tượng 18 Hình 2.15: Ưu tiên trọng số lớn để phân hoạch 19 Hình 2.16: Adaboost Cascades of Boosted Classifier 20 Hình 2.17: Dò tìm đối tượng với Haar Like Features - Cascade of Boosted Classifiers .21 Hình 2.18: Thư viện OpenCV 22 Hình 2.19: Lịch sử phiên OpenCV 23 Hình 2.20: Cấu trúc OpenCV 23 Hình 2.21: Các khía cạnh ứng dụng OpenCV 25 Hình 2.22 Thư viện Emgu CV 26 Hình 2.23: Cấu trúc Emgu CV 27 Hình 2.24: Sơ đồ hệ thống GSM .28 Hình 3.1: Quy trình hệ thống 29 Hình 3.2: Thư mục chứa ảnh tập tin liên quan 30 Trang iv Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Hình 3.3: Thu ảnh thông qua Webcam 30 Hình 3.4: Ảnh chứa đối tượng – Positives 31 Hình 3.5: Ảnh đối tượng – Negatives 31 Hình 3.6: Đánh dấu vị trí đối tượng lưu vào tập tin Positive.txt 31 Hình 3.7: Ghi nhận ảnh đối tượng vào tập tin Negatives.txt 32 Hình 3.8: Gói thư viện tạo vectơ với Positives 33 Hình 3.9: Cấu trúc phân tầng tập tin Xml .34 Hình 3.10: Đánh dấu vị trí đối tượng 36 Hình 3.11: Lưu ảnh không đối tượng 36 Hình 3.12: Tạo file vectơ 37 Hình 3.13: Các bước huấn luyện 37 Hình 3.14: Các Stage (tầng) tạo .38 Hình 3.15: File Xml sau ghép lại 38 Hình 3.16: Giao diện chương trình 43 Hình 3.17: Nhận dạng đối tượng 43 Hình 3.18: Chụp ảnh đối tượng 44 Hình 3.19: Thanh trackbar 45 Hình 3.20: Lưu thành công video 45 Hình 3.21: Kết nối gửi tin nhắn 46 Trang v Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người DANH MỤC KÝ HIỆU VÀ VIẾT TẮT Viết đầy đủ Ký hiệu viết tắt AdaBoost Adaptive Boost API Application Programming Interface GUI Graphic User Interface GSMComm Global System for Mobile Communications OpenCV Open Source Computer Vision Library RSAT Rotated Summed Area Table IPP Intergrated Performance Primitives XML eXtensible Markup Language -w Width of Image -h Height of Image vec Vector Trang vi Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người TÓM TẮT Tóm Tắt: Luận văn tìm hiểu OpenCV - thư viện xử lý ảnh mã nguồn mở giải thuật để nhận dạng, phát đối tượng thời gian thực Các giải thuật máy học áp dụng kết hợp với thư viện Emgu (nền tảng từ OpenCv triển khai ngôn ngữ C#) để xây dựng ứng dụng phát đối tượng (đối tượng cụ thể khuôn mặt người) Haar-like Features giải thuật máy học áp dụng đề tài để trích đặc trưng đối tượng cần dò tìm, kết hợp với phân tầng Cascade of Boosted Classifiers nhằm nhận dạng, phát đối tượng mặt phẳng ảnh thông qua giải thuật Adaboost để phân lớp Đề tài thu thập 6000 ảnh (trong đó: 1500 ảnh có đối tượng, 4500 ảnh đối tượng) Ứng dụng thực thi phát hiện, khoanh vùng, lưu ảnh đối tượng lưu lại đoạn phim đối tượng bị nhận dạng Sử dụng hệ thống GSM để gửi tin nhắn SMS vào điện thoại nhằm báo cáo thời gian đối tượng bị phát hiện, đồng thời phát tín hiệu báo động Abstract: The purpose of this research is study about OpenCV – the open source image processing library and algorithms to identify and detect objects in real time The machine learning algorithms are applied in conjunction with Emgu library (which is derived from OpenCv and deployed on the C# language) to create object-detecting applications (the specific objects are human faces) Haar-like Features - a machine learning algorithm is applied in the study for extracting features of the object to be detected, combined with Boosted Cascade of Classifiers to identify, detect objects on the image plane via algorithms AdaBoost for classification A total of 6,000 photos (1,500 contained object images and 4,500 did not contain object images) were collected for study The application will discover, zone, and save images or clips whenever the objects are identified The use of GSM system is to send an SMS to a cellphone to report the time that the objects are detected, and to give an alarm Từ khoá (Keyword): Haar-Like feature, Adaboost, Cascade of Booted Classsifier, nhận dạng đối tượng, Emgu, OpenCV Trang vii Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề Trong thời kỳ phát triển mạnh mẽ công nghệ thông tin, người dần áp dụng ứng dụng khoa học máy tính để phục vụ công việc ngày Trong đó, ứng dụng bảo mật an ninh dựa vào hệ thống thị giác máy tính để thực việc phát hiện, nhận dạng xuất ngày nhiều với đối tượng ngày phong phú, đa dạng Hiện nay, ứng dụng nhận dạng khuôn mặt xây dựng phát triển nhiều thiết bị hệ thống nhằm giúp người thuận tiện việc quản lý, bảo mật, giám sát tìm kiếm Các ứng dụng nhận diện khuôn mặt, nụ cười máy ảnh smartphone dần trở nên quen thuộc với người Nhận thấy cần thiết nghiên cứu nhằm giúp người dễ dàng quản lý an tâm việc bảo vệ tài sản, kèm theo tiền đề cho việc phát triển nghiên cứu nâng cao hệ thống thị giác máy tính, ứng dụng nhận dạng đối tượng Đề tài với tên gọi: “Nghiên cứu thư viện Opencv – Ứng dụng nhận dạng khuôn mặt người” thực với mong muốn khai thác khía cạnh phát nhận dạng đối tượng Có thể nói, hướng nghiên cứu nhằm phục vụ tốt nhu cầu xã hội 1.2 Một số nghiên cứu trước Có nhiều nghiên cứu sử dụng phương pháp khác để giải toán nhận dạng khuôn mặt, hai cách phổ biến nhận dạng dựa phần tử khuôn mặt (Feature based face recognition) nhận dạng dựa xét tổng thể khuôn mặt (Appearance based face recognition) Nhìn chung, phương pháp có ưu nhược điểm nhằm giải toán nhận dạng mặt người [2,tr.1-2]  Những năm 1960, Woody Bledsoe, Helen Chan Wolf, Charles Bisson cho đời hệ thống nhận dạng khuôn mặt bán tự động Hệ thống yêu cầu người quản trị xác định vị trí đặc trưng như: mắt, tai, mũi miệng ảnh Sau đó, hệ thống tính khoảng cách tỷ lệ đến điểm tham chiếu chung Cuối so sánh với kho liệu lưu trữ  Năm 1970, Goldstein, Harmon Lesk sử dụng 21 dấu hiệu chủ quan như: màu tóc độ dày môi để nhận dạng tự động Giống giải pháp trước, phép đo vị trí tính tay nên đòi hỏi nhiều thời gian  Năm 1988, Kirby Sirovich áp dụng phương pháp phân tích thành phần (PCA), phương pháp sử dụng chuẩn đại số tuyến tính cho vấn đề nhận dạng Trang Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Tác vụ: Khi người dùng click vào nút 2, hệ thống bắt đầu lưu ảnh đối tượng vào thư mục qui định sẵn Công cụ sử dụng: Dựa thuật toán gói thư viện Emgu Hình 3.18: Chụp ảnh đối tượng Trang 44 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Tác vụ: Người dùng phải kéo trackbar để điều chỉnh số frame ảnh trước tiến hành lưu video (đây yếu tố định tốc độ video thu lại) Hình 3.19: Thanh trackbar Tác vụ: Sau chọn nút số 4, hệ thống cửa sổ lựa chọn chỗ lưu tên video cho người dùng tự chọn Sau chọn Save video bắt đầu lưu Công cụ sử dụng: Dựa thuật toán gói thư viện Emgu Tác vụ: Nút số sử dụng người dùng muốn dừng lưu video, sau click hệ thống cửa sổ thông báo video lưu thành công Công cụ sử dụng: Dựa thuật toán gói thư viện Emgu Hình 3.20: Lưu thành công video Tác vụ: Nút số thực bật kết nối với điện thoại (điện thoại kết nối cáp với máy tính) Công cụ sử dụng: Sử dụng thư viện GSMComm để thực kết nối gửi tin nhắn từ điện thoại dùng làm server Trang 45 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Hình 3.21: Kết nối gửi tin nhắn Tác vụ: Nút số thực chức bật tín hiệu báo động với tập tin âm (mp3) có sẵn Công cụ sử dụng: Sử dụng thư viện Interop.WMPLib.dll để thực phát tập tin báo động Trang 46 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người KẾT LUẬN VÀ ĐỀ NGHỊ KẾT LUẬN Qua trình nghiên cứu, tìm hiểu thực đề tài, hoàn thành mục tiêu đặt với kết cụ thể sau:  Tìm hiểu trình hình thành, cấu trúc, nội dung hàm gói thư viện mã nguồn mở OpenCV Nghiên cứu, triển khai ứng dụng với gói thư viện Emgu tảng OpenCV  Tìm hiểu toán nhận dạng khuôn mặt người dựa đặc trưng trích xuất mặt phẳng ảnh từ công trình nghiên cứu  Nghiên cứu cách rút trích đặc trưng để nhận dạng khuôn mặt Áp dụng đặc trưng Haar-Like kết hợp thuật toán Adaboost phân tầng Cascades of Boosted Classifiers để thực phát nhận dạng đối tượng Dựa toán Viola –Jones để thực phân tích nhận dạng mặt người theo thời gian thực với việc đáp ứng tốt mặt thời gian nhận dạng nhằm triển khai hiệu cho toán chống trộm (ưu điểm mặt thời gian – tốc độ xử lý) đặc trưng HaarLike tính nhanh nhờ tích phân ảnh, thuật toán Adaboost giúp chọn đặc trưng phân loại hiệu cách xây dựng phân loại mạnh dựa phân loại yếu kết hợp mô hình Cascades of Boosted Classifiers giúp loại bỏ mẫu đơn giản rút ngắn thời gian xử lý  Thu thập ảnh (6000 ảnh – với 1500 có đối tượng 4500 ảnh không đối tượng), huấn luyện đối tượng nhằm xuất tập tin xml phục vụ cho việc nhận dạng đối tượng  Xây dựng hệ thống nhận dạng đối tượng thời gian thực dựa phương án đề xuất Kết hệ thống gồm: Rút trích đặc trưng, phát hiện, nhận dạng đối tượng; khoanh vùng đối tượng; lưu lại hình ảnh video đối tượng bị phát mặt phẳng ảnh; gửi tin nhắn SMS thông báo bật tín hiệu báo động ĐỀ NGHỊ Một số đề xuất dựa theo ý tưởng kết đạt từ để tài theo hai hướng nghiên cứu ứng dụng thực tế  Hướng nghiên cứu: - Hệ thống tập trung nghiên cứu gói thực OpenCV Do vậy, số lượng ảnh thu thập hạn chế dẫn đến kết nhận dạng bước phát đối tượng độ xác chưa cao Đề xuất hệ thống thu thập với số lượng ảnh tăng lên đồng thời thực với nhiều môi trường hoạt cảnh khác nhằm giúp cải thiện độ xác khả phát đối tượng Trang 47 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người mặt phẳng ảnh từ hạn chế yếu tố bắt sai, bắt lầm nâng cao khả chống trộm - Hệ thống tập trung vào việc ghi nhận ảnh thời điểm vào thông báo đến người dùng xác với nhiều phương án xác lập nhằm giúp tránh trường hợp thông báo sai  Hướng ứng dụng thực tế: - Hệ thống cần triển khai Camera thực có độ phân giải tốt môi trường phù hợp Cần tích hợp độ sáng bao phủ với vị trí phù hợp để phát đối tượng theo diện rộng - Hệ thống cần tăng cường yếu tố mặt lưu trữ nhằm giúp ghi nhận thông tin nhiều - Hệ thống triển khai Web nhằm giúp người dùng xem nâng cao tính bảo mật từ xa - Hệ thống triển khai Robot nhằm giải toán chống trộm với sản phẩm siêu thị nơi chuyên dụng Trang 48 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người PHỤ LỤC I Cài đặt OpenCV Để sử dụng thư viện OpenCV ta cần tải gói thư viện trang web OpenCV : http://opencv.org/ Giao diện trang web giới thiệu phiên OpenCV hỗ trợ nhiều hệ điều hành khác Ở đây, nghiên cứu OpenCv hệ điều hành Windows Có thể truy cập trang web để tải truy cập đường link sau để tải 3.0-beta: http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0-beta/ Sau tải xong ta tập tin exe tiến hành giải nén ta thư mục opencv với kích thước 3.60 GB Trong thư mục opencv gồm: thư mục build thư mục để cài đặt chứa tập tin hướng dẫn, thư mục sources chứa mã nguồn ví dụ Hình 1: Các tập tin thư mục build Trang 49 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Thư mục build thư mục để cài đặt chứa tập tin hướng dẫn, thư mục sources chứa mã nguồn ví dụ Hình 2: Các tập tin thư mục build Trang 50 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Hình 3: Các tập tin thư mục sources tập tin xml nhận dạng có sẵn Trang 51 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người II Cấu hình cho Windows Visual Studio sử dụng OpenCV Khai báo thư viện OpenCV cho Windows: - Nhấn chuột phải vào My Computer > Properties > Advanced system settings Ở cửa sổ bạn vào thẻ Advanced > Environment Variables > chọn PATH bảng phía cửa sổ > Edit > Copy đường dẫn tới thư mục \opencv\build\x64\vc12\bin Ở sử dụng Visual Studio 2013 nên chọn vc12, chọn đường dẫn phù hợp với đường dẫn cài đặt, phiên windows visual studio dùng Nhấn OK để hoàn thành Hình 4: Cửa sổ System Properties Để thao tác có hiệu lực cần khởi động lại máy Có thể khởi động lại sau cấu hình xong visual studio Tiếp theo mở Visual Studio tạo empty project C++ thực theo bước sau: - Ở cửa sổ Property Manager nhấn chuột phải vào Add New Project Property Sheet > Nhập tên > Add Trang 52 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Hình 5: Bước tạo project C++ Click chuột phải vào Debug|Win32 > Properties để mở Debug Property Pages lên: Hình 6: Debug Property Pages - - Ở mục VC++Directories: ExecutableDirectories copy đường dẫn tới thư mục opencv\build\x64\vc12\bin Library Directories đường dẫn tới thư mục \opencv\build\x64\vc12\lib Ở mục C/C++: Additional Include Directories opencv\build\include Ở mục Linker tab General mục Additional Library Directories đường dẫn \opencv\build\x64\vc12\lib Linker > Input: Additional Dependencies copy hết hai khung vào Trang 53 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người opencv_calib3d2410d.lib opencv_nonfree2410d.lib opencv_contrib2410d.lib opencv_objdetect2410d.lib opencv_core2410d.lib opencv_ocl2410d.lib opencv_features2d2410d.lib opencv_photo2410d.lib opencv_flann2410d.lib opencv_stitching2410d.lib opencv_gpu2410d.lib opencv_superres2410d.lib opencv_highgui2410d.lib opencv_ts2410d.lib opencv_imgproc2410d.lib opencv_video2410d.lib opencv_legacy2410d.lib opencv_videostab2410d.lib opencv_ml2410d.lib Hình 7: Thêm thư viện cần thiết - Tương tự phần Release|Win32 Linker > Input: Additional Dependencies Trang 54 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người opencv_calib3d2410.lib opencv_nonfree2410.lib opencv_contrib2410.lib opencv_objdetect2410.lib opencv_core2410.lib opencv_ocl2410.lib opencv_features2d2410.lib opencv_photo2410.lib opencv_flann2410.lib opencv_stitching2410.lib opencv_gpu2410.lib opencv_superres2410.lib opencv_highgui2410.lib opencv_ts2410.lib opencv_imgproc2410.lib opencv_video2410.lib opencv_legacy2410.lib opencv_videostab2410.lib opencv_ml2410.lib Việc lại code hay lấy code mẫu thư mục source/samples chạy thử III Cài đặt thư viện Emgu Trang web Emgu CV là: http://www.emgu.com/wiki/index.php/Main_Page Tải gói thư viện Emgu phiên trang web: http://sourceforge.net/projects/emgucv/files/ Sau tải cài đặt ta thư mục gồm tất thư viện code ví dụ: Hình 8: Thư viện Emgu Trang 55 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Thêm Emgu vào Visual Studio để sử dụng thư viện: Trong Solution Explorer, click phải lên tên project > Add reference… > chọn tab Browse > duyệt đến thư mục {Emgu folder}\bin > chọn ba file Emgu.CV.dll, Emgu.CV.UI.dll, Emgu.Util.dll > OK Chạy thử ví dụ gói Emgu CameraCapture Hình 9: CameraCapture IV Cài đặt thư viện GSMComm Tải gói thư viện trang web : http://www.scampers.org/steve/sms/libraries.htm Sau tải tiến hành cài đặt xong ta thư mục sau : Hình 10: Thư mục GSM Trong có hai thư mục dành cho hai Net Framework 2.0 4.0 Các tập tin hai thư mục giống dành riêng cho hai Framework, gồm thư viện Trang 56 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người cần lập trình số demo ví dụ Chỉ cần Add Reference… thư viện vào Visual Studio gọi hàm GSM sử dụng Hình 11: Các thư viện GSM Để gửi tin nhắn cần có điện thoại kết nối với máy tính thông qua dây cáp Chạy thư demo thư mục Samples nhằm kiểm tra cổng kết nối điện thoại thông số Baud rate để kết nối cho xác Hình 12: Demo GSM Trang 57 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người TÀI LIỆU THAM KHẢO [1] Châu Ngân Khánh Nhận dạng mặt người sử dụng giải thuật Haar Like Features – Cascade of Boosted Classifiers đặc trưng SIFT Luận văn thạc sĩ Khoa Công Nghệ thông tin truyền thông, Đại học Cần Thơ, 2013 [2] Communication ICP Team Face Recognition (7-2006) [3] http://www.prodigyproductionsllc.com/articles/programming/how-to-train-opencvhaar-classifiers/ [4] http://www.emgu.com/wiki/index.php/Main_Page [5] http://opencv.org/ [6] Lê Hồng Chuyên Tìm hiểu số phương pháp phát khuôn mặt ảnh Khoá luận tốt nghiệp Khoa Công nghệ thông tin, Đại học Dân lập Hải Phòng, 2007 [7] Mã Trường Thành Điều khiển Robot Pioneer P3-DX bám sát đối tượng Luận văn Thạc sĩ Khoa Công nghệ thông tin & Truyền thông - Trường Đại học Cần Thơ, 2013 [8] Mahdi Rezaei Create a Cascade of Haar-Like Classifiers: Step by Step [9] P Viola and M Jones (2001) Robust Real-time Object Detection International Journal of Computer Vision [10] R Lienhart, J Maydt (2002) An Extended Set of Haar-like Features for Rapid Object Detection Intel Labs, Intel Corporation, Santa Clara, CA 95052, USA [11] Tạ Minh Lễ Nghiên cứu khả ứng dung thư viện xử lý ảnh OpenCV vào thư viện mã nguồn mở Android Khoa Công nghệ, Đại học Cần Thơ, 2012 [12] Trần Phước Long, Nguyễn Văn Lượng Nhận dạng người dựa vào thông tin khuôn mặt xuất ảnh Luận văn Đại học Khoa Công nghệ thông tin, Đại học Khoa học tự nhiên, Tp Hồ Chí Minh, Việt Nam, 2003 [13] Trần Lê Hồng Dũ Phát khuôn mặt dựa đặc trưng lòi lõm Luận văn Thạc sĩ Khoa Công nghệ thông tin, Đại học Khoa học tự nhiên, Tp Hồ Chí Minh, Việt Nam, 2005 [14] Trần Quang Hợp, Lương Đình Lưu, Phạm Duy Khánh Bài toán phát mặt người ảnh Trang 58 [...]... tích hợp thêm các thư viện về giao diện như wxWidgets);  Chức năng vẽ, chú thích lên ảnh: Chức năng này thư ng áp dụng cho các bài toán nhận dạng mặt người trong ảnh Hiện nay thấy rõ nhất là các chức năng trên ứng dụng mạng xã hội Facebook Trang 24 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Hình 2.21: Các khía cạnh và ứng dụng của OpenCV http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2009/01/1193512/cong-nghecam-quan-may-tinh/... nhằm nhận dạng khuôn mặt người trên mặt phẳng ảnh Nêu lên các thiết kế về chương trình và trình bày về thực nghiệm chương trình kèm theo hướng dẫn Trang 3 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Bài toán dò tìm khuôn mặt 2.1.1 Định nghĩa bài toán Dò tìm, xác định mặt người là một kỹ thuật máy tính dùng để xác định kích thư c...Nguyễn Hoàng Phúc – 1111540        Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người khuôn mặt Đây được coi là cột mốc quan trọng vì nó cho thấy ít hơn một trăm giá trị cần thiết để nhận dạng một khuôn mặt được chuẩn hoá Năm 1991, Turk và Pentland sử dụng thuật toán eigenfaces để nhận dạng khuôn mặt tự động trên thời gian thực Dù phương pháp này một phần nào... phân lớp để quyết định xem có phải mặt người hay không Trang 21 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Cấu trúc cascade đạt tốc độ nhận dạng nhanh chính là nhờ sớm loại bỏ được các mẫu sai (background) đơn giản (thư ng có số lượng lớn hơn nhiều so với các mẫu đúng (object) – các 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 của Viola... chất lượng ảnh khuôn mặt 2.1.3 Các phương pháp dò tìm khuôn mặt - Có bốn phương pháp xác định khuôn mặt trên ảnh, tương ứng với bốn hướng tiếp cận khác nhau [1,tr.7-8]: Trang 4 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người  Hướng tiếp cận dựa trên tri thức: Dựa vào các thuật toán, mã hóa các đặc trưng và quan hệ giữa các đặc trưng của khuôn mặt thành các... khai nghiên cứu bằng việc thu thập ảnh, huấn luyện và giải quyết bài toán thực tế về nhận dạng khuôn mặt người với các tác vụ cơ bản như: lưu hoạt động của đối tượng dưới dạng ảnh và video thông qua Webcam; thực hiện tác vụ chống trộm với nhiều hình thức khác nhau (đề xuất thông qua tin nhắn và báo động tại chỗ) Trang 2 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt. .. Schapire đưa ra thuật toán boosting đầu tiên Sau đó, được phát triển, áp dụng, kiểm nghiệm vào những năm 1993 trong các chương trình nhận dạng do Drucker, Schapire và Simard thực hiện Yoav Freund đã cùng Robert Schaprire tiếp tục nghiên Trang 12 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người cứu và phát triển, và đến năm 1995 thì ông cùng với Schapire phát triển... IPP Mã lệnh tối ưu cho Intel CPUs Hình 2.20: Cấu trúc cơ bản của OpenCV Trong đó: - Phần CV&CVAUX bao gồm các thư viện cơ bản về xử lý ảnh và các giải thuật về thị giác máy tính Phần này sẽ thực hiện hỗ trợ các chức năng cấp cao (nhận dạng đối Trang 23 Nguyễn Hoàng Phúc – 1111540 - Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người tượng, hiệu chỉnh Camera/Webcam), xử lý, phân tích các chuyển... độ khó nhận dạng của mẫu đó và ht+1 sẽ ưu tiên học cách phân loại những mẫu này Hình 2.15: Ưu tiên trọng số lớn để phân hoạch [https://alliance.seas.upenn.edu/~cis520/wiki/index.php?n=lectures.boosting] Trang 19 Nguyễn Hoàng Phúc – 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Vòng lặp xây dựng strong classifier sẽ dừng lại sau T lần lặp Trong thực tế cài đặt (thư viện OpenCV. .. 1111540 Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người - Thuật toán AdaBoost: 1 Cho một tập gồm n mẫu có đánh dấu (x1,y1), (x2,y2),… (xn,yn) với xk ∈ (xk1, xk2, … , xkm) là vector đặc trưng và yk ∈ (-1, 1) là nhãn của mẫu (1 ứng với object, -1 ứng với background) 2 Khởi tạo trọng số ban đầu cho tất cả các mẫu: với m là số mẫu đúng (ứng với object và y = 1) và l là số mẫu sai (ứng với ... Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người 1.4 Phương pháp nghiên cứu  Nghiên cứu gói thư viện OpenCv – cụ thể gói thư viện Emgu với ngôn ngữ sử dụng C# (C Sharp)  Sử dụng. .. 3.3.2 - Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người Thực nghiệm nhận dạng đối tượng với Emgu CV: Thông tin máy tính ứng dụng cài đặt nghiên cứu: Loại - Tên kích thư c sử dụng. .. phương pháp sử dụng chuẩn đại số tuyến tính cho vấn đề nhận dạng Trang Nguyễn Hoàng Phúc – 1111540        Nghiên cứu thư viện OpenCv - Ứng dụng nhận dạng khuôn mặt người khuôn mặt Đây coi

Ngày đăng: 12/01/2016, 19:55

Từ khóa liên quan

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

Tài liệu liên quan