Báo cáo thực tập tốt nghiệp tìm HIỂU kĩ THUẬT và ỨNG DỤNG

41 170 0
Báo cáo thực tập tốt nghiệp tìm HIỂU kĩ THUẬT và ỨNG DỤNG

Đ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

HỌC VIỆN KĨ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN oOo LÊ QUÝ ĐA KHÓA: HỆ: KỸ SƯ TIN HỌC BÁO CÁO THỰC TẬP TỐT NGHIỆP NGÀNH CÔNG NGHỆ THƠNG TIN MÃ SỐ: 01.01 ĐỀ TÀI: TÌM HIỂU KĨ THUẬT VÀ ỨNG DỤNG OPENCV TRONG BÀI TOÁN PHÁT HIỆN, THEO DÕI KHUÔN MẶT Cán hướng dẫn: Ts Vũ Tất Thắng Hà Nội, 2013 Báo cáo thực tập tốt nghiệp Trang |2 Lời cảm ơn Đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy cô khoa Công nghệ Thông tin nhà trường giúp đỡ giới thiệu em đến thực tập lại Cơng ty phần mềm iSolar Để hồn thành khóa thực tập này, giúp đỡ nhiệt tình tạo điều kiện thầy cô nhà trường, giúp em củng cố kiến thức thiếu sót kĩ làm việc thực tế, cách giải vấn đề… Đồng thời, em xin gửi lời cám ơn đến thầy Nguyễn Việt Hùng giúp đỡ em không mặt kiến thức, kĩ lập trình mà người truyền động lực cho em, giúp em hoàn thành tốt giai đoạn thực tập tốt nghiệp suốt thời gian qua Em xin gửi lời cám ơn sâu sắc đến Công ty phần mềm iSolar tạo điều kiện thuận lợi giúp em sinh viên khác hoàn thành tốt giai đoạn thực tập tốt nghiệp Đồng thời em xin gửi lời cám ơn chân thành tới TS Vũ Tất Thắng anh Nguyễn Hồng Anh – người nhiệt tình giúp đỡ em củng cố kiến thức giải đáp khúc mắc cung cấp cho chúng em thiết bị cần thiết môi trường làm việc động, nguồn động lực lớn giúp em có thêm động lực để hồn thành tốt khóa thực tập nhiệm vụ giao Em xin cảm ơn Nhà Trường đặc biệt thầy cô khoa Công nghệ Thông tin, người mà hàng ngày tạo điều kiện giúp đỡ chúng em học tập bảo ban chúng em Sinh viên thực Lê Quý Đa Báo cáo thực tập tốt nghiệp Trang |3 Contents Báo cáo thực tập tốt nghiệp Trang |4 Mở đầu Công nghệ thông tin ứng dụng lĩnh vực sống Với hệ thống máy tính, làm nhiều việc, tiết kiện thời gian cơng sức Điển cơng việc nhận dạng mặt người Ngày xưa, muốn tìm kiếm kẻ tình nghi siêu thị hay sân bay, nhân viên an ninh phải tìm kiếm hình camera theo dõi Ngày nay, cơng việc làm tự động nhờ hệ thống nhận dạng mặt người Phát mặt người ảnh phần quan trọng hệ thống nhận dạng mặt người đó, giải tốt việc phát hiên mặt người giúp tiết kiệm thời gian nâng cao độ xác việc nhận dạng khn mặt Phát mặt người toán nhận dạng đơn giản, hệ thống cần phân loại đối tượng đưa vào có phải mặt người hay khơng phải mặt người Ở mức độ cao hơn, sau phát khn mặt, khn mặt so sánh với khn mặt có liệu để nhận dạng xem khuôn mặt (thường áp dụng nhận dạng khuôn mặt người tiếng tội phạm bị truy nã) Bài toán phá mặt người bắt đầu nghiên cứu từ năm 1990s, có nhiều cơng trình nghiên cứu phát khn mặt ảnh, nhiên nay, nhà khoa học khơng ngừng tìm hướng tiếp cận mới, thuật toán nhằm nâng cao hiệu suất việc phát khuôn mặt việc nhận dạng mặt người Với mục tiêu tìm hiểu giải thuật adaboost, đặc trưng haar-like, mơ hình Cascade of Classifiers, đồng thời áp dụng vào toán phát mặt người ảnh, khóa ln trình bầy bốn chương với bố cục sau: Chương 1: Tổng quan phương pháp xác định mặt người : Giới thiệu tổng quan toán xác định mặt người ảnh, ứng dụng khó khăn toán, đồng thời xác định phạm vi đề tài Chương 2: Cơ sở lý thuyết : Giới thiệu đặc trưng haar-like khn mặt, cách tính đặc trưng haar-like Tiếp theo giới thiệu OpenCV Chương 3: Xây dựng ứng dụng : Xây dựng chương trình demo phát mặt người ảnh, theo dõi đối tượng từ camera laptop Nêu lên phân tích – thiết kế chương trình Cuối kết luận hướng phát triển: Tóm tắt kết đạt được, hạn chế nêu lên hướng phát triển tương lai Báo cáo thực tập tốt nghiệp Trang |5 Báo cáo thực tập tốt nghiệp Trang |6 A Giới thiệu đơn vị thực tập Địa quan thực tập  Công ty TNHH giải pháp sáng tạo nghiên cứu tiên tiến Nhất Thái Dương  (iSolar) Địa chỉ: o Phòng 307 Nhà 2B, Viện khoa học Việt Nam 18 Hoàng Quốc Việt, Cầu Giấy, Hà Nội Điện thoại: 0437918026 Khu cơng nghệ cao Hòa Lạc, Hà Nội, Việt Nam Điện thoại: 04 3791 8026  Email: info@isolar.vn  Website: http://isolar.vn o Giới thiệu quan thực tập Công ty phần mềm Isolar hay công ty TNHH giải pháp sáng tạo nghiên cứu tiên tiến Nhất Thái Dương thành lập ngày tháng năm 2011 Là công ty đầu giải pháp công nghệ với mục tiêu đáp ứng nhu cầu sống Từng bước phấn đấu trở thành doanh nghiệp hàng đầu Việt Nam tiến dần Thế giới.Các lĩnh vực hoạt động Isolar:  Speech Processing: Isolar nhiều năm làm việc lĩnh vực nhận dạng, tổng hợp, nâng cao chất lượng… tiếng nói, nghiên cứu triển khai hệ thống Speech translation, server TTS, hệ thống chuyển báo viết thành báo nói…  Meeting: Cung cấp giải pháp truyền thông đa phương tiện hệ mới, với chi phí thấp, sở hữu chuẩn nén hình ảnh độc quyền với khả nén gấp lần chuẩn khác giảm tới 10 lần băng thông  Education: Đi đầu việc xây dựng giải pháp giáo dục tiên tiến, triển khai nhiều dự án tin học để nâng cao chất lượng đào tạo Điểm hệ thống học máy, hệ thống e – learning, e – contact, thi trắc nghiệm trực tuyến… nhiều dự án trọng điểm khác  Security: Isolar cung cấp giải pháp, ứng cứu chống lại mối đe dọa bảo mật doanh nghiệp Báo cáo thực tập tốt nghiệp Trang |7 B Nội dung Chương Tổng quan phương pháp xác định mặt người Giới thiệu toán xác định mặt người ảnh Trong nhiều năm qua, có nhiều cơng trình nghiên cứu tốn nhận dạng mặt người Các nghiên cứu từ toán đơn giản, từ việc nhận dạng mặt người ảnh đen trắng mở rộng cho ảnh mầu có nhiều mặt người ảnh Đến toán xác định mặt người mở rộng với nhiều miền nghiên cứu nhận dạng khuôn mặt, định vị khuôn mặt, theo dõi mặt người hay nhận dạng cảm xúc mặt người… Phát mặt người ảnh phần hệ thống nhận dạng mặt người Các hệ thống nhận dạng khuôn mặt bắt đầu xây dựng từ năm 1970, nhiên hạn chế luật xác định mặt người nên áp dụng số ứng dụng nhận dạng thẻ cước Nó phát triển mạnh mẽ từ năm 1990 có tiến cơng nghệ video ngày ứng dụng xác định mặt người trở nên phổ biến sống Định nghĩa toán xác định mặt người Xác định khuôn mặt người kỹ thuật máy tính để xác định vị trí kích thước khn mặt người ảnh Kỹ thuật nhận biết đặc trưng khuôn mặt bỏ qua thứ khác như: tòa nhà, cối, thể … Những khó khăn thách thức tốn xác định mặt người Việc xác định khn mặt người có khó khăn định như: • Hướng (pose) khn mặt máy ảnh, như: nhìn thẳng, nhìn nghiêng hay nhìn từ xuống Cùng ảnh có nhiều khn mặt tư khác • Sự có mặt chi tiết đặc trưng riêng khuôn mặt người, như: râu quai nón, mắt kính, … • Các nét mặt (facial expression) khác khuôn mặt, như: vui, buồn, ngạc nhiên, … • Mặt người bị che khuất đối tượng khác có ảnh Báo cáo thực tập tốt nghiệp Trang |8 • Sự biểu cảm khn mặt : biểu cảm làm thay đổi đáng kể đặc trưng thông số khn mặt, ví dụ khn mặt người khác người cười, tức giận hay sợ hãi … Các ứng dụng xác định mặt người Xác định mặt người thường phần hệ thống (facial recognition system) Nó thường dùng giám sát video, giao tiếp người máy quản lý sở liệu ảnh… Các ứng xác định mặt người kể đến là: Xác minh tội phạm Dựa vào ảnh người, nhận dạng xem người có phải tội phạm hay không cách so sách với ảnh tội phạm lưu trữ Hoặc sử dụng camera để phát tội phạm đám đông Ứng dụng giúp quan an ninh quản lý người tốt Camera chống trộm Các hệ thống camera xác định đâu người theo dõi xem người có làm phạm pháp khơng, ví dụ lấy trộm đồ, xâm nhập bất hợp pháp vào khu vực Bảo mật Các ứng dụng bảo mật đa dạng, số cơng nghệ nhận dạng mặt người laptop, công nghệ cho phép chủ nhân máy tính cần ngồi trước máy đăng nhập Để sử dụng cơng nghệ này, người dùng phải sử dụng webcam để chụp ảnh khn mặt cho máy “học” thuộc đặc điểm khuôn mặt giúp cho trình đăng nhập sau Lưu trữ khn mặt Xác định mặt người ứng dụng trạm rút tiền tự động (ATM) để lưu trữ khuôn mặt người rút tiền Hiện có người bị người khác lấy trộm thẻ ATM mã PIN, bị rút tiền trộm, có chủ tài khoản rút tiền lại báo với ngân hàng bị thẻ bị rút tiền trộm Nếu lưu trữ khuôn mặt người rút tiền, ngân hàng đối chứng xử lý dễ dàng Các ứng dụng khác • Điều khiển vào ra: văn phòng, cơng ty, trụ sở, máy tính, Palm, … Kết hợp thêm vân tay mống mắt Cho phép nhân viên vào nơi cần thiết Báo cáo thực tập tốt nghiệp Trang |9 An ninh sân bay, xuất nhập cảnh (hiện quan xuất nhập cảnh Mỹ áp dụng • ) Dùng camera quan sát để xác thực người nhập cảnh kiểm tra xem người có phải tội phạm hay phần tử khủng bố khơng • 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, … Ví dụ: tìm đoạn video có tổng thống Bush phát biểu, tìm phim có diễn viên Lý Liên Kiệt đóng, tìm trận đá bóng có Ronaldo đá, … • 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 Tương lai phát triển loại thẻ thơng minh có tích hợp sẵn đặc trưng • người dùng đó, người dùng khác dùng để truy cập hay xử lý hệ thống yêu cầu kiểm tra đặc trưng khuôn mặt so với thẻ để biết có phải chủ thẻ hay khơng • Hãng máy chụp hình Canon ứng dụng tốn xác định khn mặt người vào máy chụp hình hệ kết hình ảnh đẹp hơn, khn mặt người Các phương pháp để xác định mặt người Dựa vào tính chất phương pháp xác định mặt người ảnh, phương pháp chia thành bốn loại chính, tương ứng với bốn hướng tiếp cận khác Ngồi có nhiều nghiên cứu mà phương pháp xác định mặt người khơng dựa vào hướng mà có liên quan đến nhiều hướng • Hướng tiếp cận dựa tri thức: Dựa vào thuật tốn, mã hóa đặc trưng quan hệ đặc trưng khuôn mặt thành luật Đây hướng tiếp cận theo kiểu top-down • Hướng tiếp cận dựa đặc trưng khơng thay đổi: Xây dựng thuật tốn để tìm đặc trưng khn mặt mà đặc trưng không thay đổi tư khuôn mặt hay vị trí đặt camera thay đổi • Hướng tiếp cận dựa so sánh khớp mẫu: Dùng mẫu chuẩn khuôn mặt (các mẫu chọn lưu trữ) để mô tả khuôn mặt hay đặc trưng khuôn mặt (các mẫu chọn tách biệt theo tiêu chuẩn tác giả đề để so sánh) Phương pháp dùng để xác định vị trí hay dò tìm khn mặt ảnh • Hướng tiếp cận dựa diện mạo: Trái ngược với hướng tiếp cận dựa khn mẫu, mơ hình (hay mẫu) học từ tập ảnh huấn luyện mà thể tính chất tiêu biểu xuất mặt người ảnh Sau hệ B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 10 thống (mơ hình) xác định mặt người Phương pháp biết đến với tên gọi tiếp cận theo phương pháp học máy Xác định phạm vi báo cáo Trong đề tài này, tác giả tập trung vào việc xác định khuôn mặt ảnh, video webcam Từ lưu khn mặt tìm vào CSDL để phục vụ cho mục đích khác ( chẳng hạn nhận dạng mặt người ghép khuôn mặt vào ảnh khác … ) • Function Mơ tả cvAbs Trị tuyệt đối tất elements array cvAbsDiff Trị tuyệt đối khác biệt hai arrays cvAbsDiffS Trị tuyệt đối khác biệt array scalar cvAdd Cộng elementwise hai array cvAddS Elementwise addition of an array a scalar cvAddWeighted Elementwise weighted addition of hai arrays (alpha blending) cvAvg Average value of tất elements in an array cvAvgSdv Absolute value standard deviation of tất elements in an array B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 27 cvCalcCovarMatrix Compute covariance of a set of n-dimensional vectors cvCmp Apply selected comparison operator to tất elements in hai arrays cvCmpS Apply selected comparison operator to an array relative to a scalar cvConvertScale Convert array type with optional rescaling of the value cvConvertScaleAbs Convert array type sau absolute value with optional rescaling cvCopy Copy elements of one array to another cvCountNonZero Count nonzero elements in an array cvCrossProduct Compute cross product of hai three-dimensional vectors cvCvtColor Convert channels of an array from one color space to another cvDet Compute determinant of a square matrix cvDiv Elementwise division of one array by another cvDotProduct Compute dot product of hai vectors cvEigenVV Compute eigenvalues eigenvectors of a square matrix cvFlip Flip an array about a selected axis cvGEMM Generalized matrix multiplication cvGetCol Copy elements from column slice of an array cvGetCols Copy elements from multiple adjacent columns of an array B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 28 cvCvtColor void cvCvtColor( const CvArr* src, CvArr* dst, int code ); cvCvtColor() chuyển từ color space (number of channels) thành khác Tác vụ chuyển đổi xác làm định argument code, mà giá trị kê bảng sau: Các biến tham số ý nghĩa Conversion code Meaning CV_BGR2RGB Chuyển RGB BGR color spaces (có hay khơng có alpha channel) CV_RGB2BGR CV_RGBA2BGRA CV_BGRA2RGBA CV_RGB2RGBA CV_BGR2BGRA CV_RGBA2RGB CV_BGRA2BGR CV_RGB2BGRA CV_RGBA2BGR Thêm alpha channel vào RGB hay BGR image Xóa alpha channel khỏi RGB hay BGR image Chuyển RGB thành BGR color spaces thêm hay xóa alpha channel CV_BGRA2RGB CV_BGR2RGBA CV_RGB2GRAY CV_BGR2GRAY CV_GRAY2RGB CV_GRAY2BGR CV_RGBA2GRAY CV_BGRA2GRAY Chuyển RGB hay BGR color spaces thành grayscale Chuyển grayscale thành RGB hay BGR color spaces (tùy chọn xóa alpha channel xử lý) B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 29 CV_GRAY2RGBA CV_GRAY2BGRA CV_RGB2BGR565 CV_BGR2BGR565 CV_BGR5652RGB CV_BGR5652BGR Convert grayscale to RGB hay BGR color spaces add alpha channel Convert from RGB hay BGR color space to BGR565 color representation with optional addition hay removal of alpha channel (16-bit images) CV_RGBA2BGR565 CV_BGRA2BGR565 CV_BGR5652RGBA CV_BGR5652BGRA CV_GRAY2BGR565 CV_BGR5652GRAY CV_RGB2BGR555 CV_BGR2BGR555 CV_BGR5552RGB CV_BGR5552BGR Convert grayscale to BGR565 color representation hay vice versa (16-bit images) Convert from RGB hay BGR color space to BGR555 color representation with optional addition hay removal of alpha channel (16-bit images) CV_RGBA2BGR555 CV_BGRA2BGR555 CV_BGR5552RGBA CV_BGR5552BGRA CV_GRAY2BGR555 CV_BGR5552GRAY CV_RGB2XYZ CV_BGR2XYZ CV_XYZ2RGB CV_XYZ2BGR Convert grayscale to BGR555 color representation hay vice versa (16-bit images) Convert RGB hay BGR image to CIE XYZ representation hay vice versa (Rec 709 with D65 white point) B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 30 CV_RGB2YCrCb CV_BGR2YCrCb Convert RGB hay BGR image to luma-chroma (aka YCC) color representation CV_YCrCb2RGB CV_YCrCb2BGR CV_RGB2HSV CV_BGR2HSV Convert RGB hay BGR image to HSV (hue saturation value) color representation or vice versa CV_HSV2RGB CV_HSV2BGR CV_RGB2HLS CV_BGR2HLS Convert RGB hay BGR image to HLS (hue lightness saturation) color representation or vice versa CV_HLS2RGB CV_HLS2BGR CV_RGB2Lab CV_BGR2Lab Convert RGB hay BGR image to CIE Lab color representation hay vice versa CV_Lab2RGB CV_Lab2BGR CV_RGB2Luv CV_BGR2Luv Convert RGB hay BGR image to CIE Luv color representation CV_Luv2RGB CV_Luv2BGR CV_BayerBG2RGB CV_BayerGB2RGB CV_BayerRG2RGB CV_BayerGR2RGB CV_BayerBG2BGR CV_BayerGB2BGR Convert from Bayer pattern (singlechannel) to RGB hay BGR image B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 31 CV_BayerRG2BGR CV_BayerGR2BGR B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 32 Chương Xây dựng ứng dụng Phát mặt người ảnh có nhiều ứng dụng sống, nhiên, khóa luận này, tác giả 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 visual c ++ Microsoft, sử dụng thư viện mã nguồn mở OpenCV Intel B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 33 Tổng quan hệ thống phát mặt người ảnh B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 34 NON-CLASS N N Y Y N C L A S S I Cấu trúc phân tầng (Cascade of classifier) Ước lượng đặc trưng Số lượng lớn đặc trưng Chọn đặc trưng C1 C2 Cn Điều chỉnh thông số Adaboost Một tập nhỏ đặc trưng Quyết định kết Các hàm Haar Integral Image Tính đặc trưng nhanh từ nhiều tỉ lệ B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 35 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 Phân tích Nhiệm Ảnh vụ chương trình dò tìm khn mặt từ ảnh, file video gốctừ 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) Khn mặt phát Capture ảnh HỆ THỐNG PHÁT HIỆN MẶT NGƯỜI TRONG ẢN NGƯỜI DÙNG Hình 10: Biểu đồ ngữ cảnh hệ thống Như chức chương trình bao gồm: B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 36 • • • 2.1 Kết nối đến webcam, đọc file ảnh video Phát nhiều khn mặt có ảnh, video, webcam Lưu ảnh khuôn mặt phát vào csdl 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 Đầu vào (ảnh, video webcam) Phát nhanh khn mặt Adaboost Có khuôn mặt Lưu khuôn mặt vào CSDL 2.2 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 2.3 Phát khn 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 B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 37 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 tốn Cascade training Tuy nhiên việc nhận dạng khn mặt cơng việc khó tốn nhiều thời gian, đó, tác giả khơng thực khóa luận 2.4 Xử lý đầu Khn 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 khn mặt phát đánh số theo thứ tự sau: test.avi_1.jpg, test.avi_2.jpg … HỆ THỐNG PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH 1.Xử lý đầu vào 2.Phát nhanh khuôn mặt Adaboost Xử lý đầu 3.1 Lưu ảnh vào thư mục thích hợp máy 1.1 Capture ảnh 3.2.Lưu ảnh vào CSDL Hình 11: Biểu đồ phân rã chức 2.5 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 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 Đối với đầu vào file ảnh: B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 38 • • Lưu ảnh đầu vào vị trí khn mặt phát ảnh Lưu khuôn mặt phát Đối với đầu vào file video, webcam: • Lưu khn mặt phát Như thông tin sở liệu bao gồm thực thể sau: • ẢNH GỐC ( IMAGES ): Ảnh đầu vào Các thuộc tính bao gồm: - - ID: Mã ảnh, kiểu Integer, khóa có ràng buộc tự tăng Name: Tên ảnh, kiểu liệu varchar2(200) Trong trường hợp đầu vào video tên lấy theo tên file video, đầu vào webcam đặt webcam_ID (thêm ID vào tên) Image: Lưu mã nhị phân ảnh URL: lưu đường dẫn đến ảnh, kiểu giữ liệu varchar2(1000) Lưu ý: Trong trường hợp file đầu vào video webcam trường Image, URL nhận giá trị null • KHN MẶT ( FACES ): Các khn mặt phát Các thuộc tính bao gồm: - ID: Mã ảnh, kiểu Integer, khóa có ràng buộc tự tăng - IMAGE_ID: ID ảnh gốc, kiểu liệu Interger, khóa ngoại tham chiếu đến bảng ẢNH GỐC - Name: Tên khuôn mặt, đặt theo tên ảnh gốc, đồng thời thêm số thứ tự để nhận biết khuôn mặt ảnh gốc - Image: Lưu mã nhị phân ảnh khuôn mặt - URL: lưu đường dẫn đến ảnh khuôn mặt, kiểu giữ liệu varchar2(1000) Name ID Image URL IMAGES ID FACES URL Image_ID Name Image Hình 19: Sơ đồ thực thể quan hệ ( ERM ) B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 39 2.6 Thiết kế chương trình Giao diện chương trình thiết kế thân thiện đơn giản Tập trung vào chức phát khn mặt ảnh Bố cục giao diện thực hoàn toàn câu lệnh console C++ Kết thực phát khuôn mặt ảnh bên Hình 20: kết chương trình B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 40 Kết luận hướng phát triển Kết luận 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 Tác giả á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 đó, trình xây dựng chương trình demo, tác giả tìm hiểu thư viện mã nguồn mở OpenCV, qua biết cách sử dụng hàm thư viện OpenCV Trong trình thực tập tác giả phát khuôn mặt ảnh tĩnh, ảnh chụp từ camera laptop, theo dõi đối tượng từ camera laptop Về chương trình demo, sau thử nghiệm với tập ảnh 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 nhiên ảnh chụp nghiêng hay ảnh có mầu sắc tối chương trình gần khơng thể phát khuôn mặt ảnh Đối với webcam, hiệu xuất chương trình tùy theo chất lượng loại webcam sử dụng, nhiên tương tự với phát khuôn mặt ảnh, chương trình khơng thể phát mặt người điều kiện độ sáng yếu góc quay nghiêng 20o Phần thiết kế CSDL lưu trữ hình ảnh tác giả chưa thực được, mục tiêu để tác giả tiếp tục nghiên cứu, tìm hiểu 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 toán (để cải thiện hiệu phát mặt người) 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 (chẳng hạn ghép khuôn mặt người sử dụng cho khuôn mặt người tiếng) 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 Đây mục tiêu hướng tới tác giả để tiếp tục hoàn thành cho đề tài kháo luận B o c o t h ự c t ậ p t ố t n g h i ệ p T r a n g | 41 Tài liệu tham khảo Trong trình thực tập tác giả tham khảo tài liệu internet, sách, báo tiếng việt tiếng anh Các trang web: http://docs.opencv.org/ http://hxr99.blogspot.com/2011/12/opencv-examples-showing-image.html http://www.comvisap.com/2012/01/ktcb2.html sách tham khảo Learning OpenCV Computer Vision with the OpenCV Library opencv reference manual 2.1 Ung dung xu ly anh thuc te voi thu vien OpenCV ... nay, nhà khoa học khơng ngừng tìm hướng tiếp cận mới, thuật toán nhằm nâng cao hiệu suất việc phát khuôn mặt việc nhận dạng mặt người Với mục tiêu tìm hiểu giải thuật adaboost, đặc trưng haar-like,... nhiên hạn chế luật xác định mặt người nên áp dụng số ứng dụng nhận dạng thẻ cước Nó phát triển mạnh mẽ từ năm 1990 có tiến cơng nghệ video ngày ứng dụng xác định mặt người trở nên phổ biến sống... tiền, ngân hàng đối chứng xử lý dễ dàng Các ứng dụng khác • Điều khiển vào ra: văn phòng, cơng ty, trụ sở, máy tính, Palm, … Kết hợp thêm vân tay mống mắt Cho phép nhân viên vào nơi cần thiết Báo

Ngày đăng: 12/12/2017, 17:53

Từ khóa liên quan

Mục lục

  • Lời cảm ơn

  • Mở đầu

  • A. Giới thiệu đơn vị thực tập

    • 1. Địa chỉ cơ quan thực tập

      • Điện thoại: 0437918026

      • 2. Giới thiệu về cơ quan thực tập

      • B. Nội dung

      • Chương 1. Tổng quan về phương pháp xác định mặt người

        • 1. Giới thiệu bài toán xác định mặt người trong ảnh

        • 2. Định nghĩa bài toán xác định mặt người

        • 3. Những khó khăn và thách thức đối với bài toán xác định mặt người

        • 4. Các ứng dụng của xác định mặt người

          • Xác minh tội phạm.

          • Camera chống trộm.

          • Bảo mật.

          • Lưu trữ khuôn mặt

          • Các ứng dụng khác

          • Các phương pháp chính để xác định mặt người

          • 5. Xác định phạm vi báo cáo

          • Chương 2. Cơ sở lý thuyết

            • 1. Tổng quan về Adaboost

              • 1.1. Tiếp cận Bootsting

              • 1.2. Adaboost

              • 1.3. Cascade of Classifiers

              • 1.4. Cascade of boosting Classifiers

              • 1.5. Đặc trưng Haar-Like

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

Tài liệu liên quan