FACERECOGNITION OPENCV trí tuệ nhân tạo

17 336 2
FACERECOGNITION   OPENCV trí tuệ nhân tạo

Đ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 Sư Phạm Thành Phố Hồ Chí Minh KHOA CÔNG NGHỆ THÔNG TIN  BÁO CÁO ĐỀ TÀI FACERECOGNITION - OPENCV MƠN: TRÍ TUỆ NHÂN TẠO GVHD: Ths Nguyễn Đình Hiển Nhóm Sinh Viên: TP.Hồ Chí Minh, 2018 LỜI NĨI ĐẦU Trí tuệ nhân tạo (AI) xem ngành khoa học máy tính liên quan đến việc tự động hóa hành vi thơng minh AI phận khoa học máy tính phải đặt nguyên lý lý thuyết vững chắc, có khả ứng dụng lĩnh vực Những nguyên lý bao gồm cấu trúc liệu dùng cho biểu diễn tri thức, thuật toán cần thiết để áp dụng tri thức đó, ngơn ngữ kỹ thuật lập trình dùng cho việc cài đặt chúng Cho đến nay, trí tuệ nhân tạo ngành khoa học trẻ, mối quan tâm phương pháp chưa rõ ràng so với tất ngành khoa học trưởng thành trước Song, mục tiêu trọng tâm quan tâm đến việc mở rộng khả khoa học máy tính tìm cách định nghĩa giới hạn Ngày nay, thực thể thơng minh đóng vai trò vơ quan trọng sống phát triển văn minh nhân loại Với khả làm việc không mệt mỏi khả học tập nhanh chóng, AI sớm trở thành đối tượng người sử dụng cho nhiều mục đích hoạt động khác nhằm thõa mãn nhu cầu sống đại Hiện nay, AI ứng dụng việc phát triển hệ thống tự động hóa : Smart Home, trợ lý ảo ( Cortana , Siri, Bixby,v.v) siêu bảo mật Việc bảo mật thông tin từ lâu người tâm đến, người ln tìm cách cải tiến cách thức bảo mật để ngày đảm bảo an tồn thơng tin Việc ứng dụng AI vào chế bảo mật người quan tâm trọng thông qua hình thức fingerprint, iris recognition face recognition Chính nhóm chúng em chọn đề tài “FACERECOGNITION OPENCV” để tìm hiểu ứng dụng AI việc bảo mật thông tin nhận diện khuôn mặt Chúng em nhận thức tầm quan trọng việc bảo mật thơng tin nên chúng em tìm hiểu nghiên cứu bảo mật thơng tin Nhóm chúng em mong giúp đỡ góp ý thầy bạn để sản phẩm ngày hoàn thiện MỤC LỤC I GIỚI THIỆU OPENCV Opencv gì? OpenCV viết tắt Open Source Computer Vision xem thư viện mã nguồn mở hàng đầu cho việc xử lý ảnh theo thời gian thực OpenCV (Thư viện hình ảnh máy tính nguồn mở) thư viện phần mềm máy tính học tập máy tính nguồn mở OpenCV xây dựng để cung cấp sở hạ tầng chung cho ứng dụng thị giác máy tính để đẩy nhanh việc sử dụng nhận thức máy sản phẩm thương mại Là sản phẩm cấp phép BSD, OpenCV giúp doanh nghiệp dễ dàng sử dụng sửa đổi Thư viện có 2500 thuật tốn tối ưu hóa, bao gồm tập hợp tồn diện thuật tốn máy học tầm nhìn máy tính tiên tiến đại Các thuật tốn sử dụng để phát nhận diện khuôn mặt, xác định đối tượng, phân loại hành động người video, theo dõi chuyển động camera, theo dõi đối tượng chuyển động, trích xuất mơ hình 3D đối tượng, tạo đám mây điểm 3D từ camera stereo, ghép ảnh lại với để tạo độ phân giải cao hình ảnh tồn cảnh, tìm hình ảnh tương tự từ sở liệu hình ảnh, xóa mắt đỏ khỏi hình ảnh chụp flash, theo dõi chuyển động mắt, nhận diện phong cảnh thiết lập điểm đánh dấu để che phủ thực tế mở rộng, v.v Thư viện sử dụng rộng rãi công ty, nhóm nghiên cứu quan phủ Cùng với cơng ty có uy tín Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota sử dụng thư viện, có nhiều cơng ty khởi nghiệp Applied Minds, VideoSurf Zeitera, sử dụng rộng rãi OpenCV Các ứng dụng triển khai OpenCV mở rộng phạm vi từ khâu hình ảnh đường phố, phát xâm nhập video giám sát Israel, giám sát thiết bị mỏ Trung Quốc, giúp robot điều hướng nhận đồ vật Willow Garage, phát tai nạn chết đuối châu Âu Tây Ban Nha New York, kiểm tra đường băng cho mảnh vỡ Thổ Nhĩ Kỳ, kiểm tra nhãn sản phẩm nhà máy khắp giới để phát khn mặt nhanh chóng Nhật Bản Nó có giao diện C ++, Python, Java MATLAB hỗ trợ Windows, Linux, Android Mac OS OpenCV dựa chủ yếu vào ứng dụng thị giác thời gian thực tận dụng hướng dẫn MMX SSE có sẵn Một giao diện CUDA OpenCL đầy đủ tính tích cực phát triển Có 500 thuật tốn khoảng 10 lần so với nhiều chức soạn hỗ trợ thuật tốn OpenCV viết tự nhiên C ++ có giao diện templated hoạt động liền mạch với container STL - Ứng dụng opencv: Giám sát tự động Tìm kiểm, phục hồi, xử lý ảnh Nhận dạng khuôn mặt, cử Nhận dạng chữ viết, số, ký tự Kiểm soát dân số trung quốc cách nhận diện khuôn mặt qua opencv Kiểm soát bãi giữ xe Nhận dạng ảnh Xử lý hình ảnh Phục hồi hình ảnh/video Thực tế ảo Các ứng dụng khác II KHẢO SÁT MỘT SỐ ỨNG DỤNG HIỆN TẠI: FACE2GENES: 1.1 Giới thiệu: - Face2Gene ứng dụng hấp dẫn cho người đam mê di truyền tất Ứng dụng cho phép nhà cung cấp dịch vụ chăm sóc sức khỏe chụp ảnh bệnh nhân phân tích đặc điểm khn mặt cụ thể liên quan đến rối loạn di truyền Được phát triển FDNA, cơng ty có trụ sở Boston, cơng nghệ gọi Phân tích tiểu thuyết hình thái mặt Ý tưởng tải lên ảnh bệnh nhân đánh giá ứng dụng cho tính khn mặt bên ngồi độ lệch chuẩn bình thường tham chiếu chéo tới sở liệu điều kiện di truyền liên quan đến tính - Ứng dụng miễn phí thiết kế để sử dụng độc quyền nhà cung cấp dịch vụ chăm sóc sức khỏe Nhà cung cấp phải đăng ký ứng dụng xác minh trước có tồn quyền truy cập Ưu điểm - Di truyền kiểu hình niết bàn cho hội chứng kết hợp với đặc điểm khuôn mặt cụ thể - Dễ sử dụng - Chú ý đến riêng tư trường hợp bệnh nhân Nhược điểm - Thông tin nhà phát triển không khả dụng ứng dụng - Ứng dụng hẹp chuyên ngành y tế khác Thiết bị - Android, iPhone, iPad Khả ứng dụng thực tế - Ứng dụng tuyệt vời cho người nhìn thấy số lượng hợp lý điều kiện liên quan đến di truyền môi trường nhi khoa, không thực áp dụng tất cài đặt thực hành Tầm nhìn chung - Ứng dụng thực hấp dẫn, hạn chế sử dụng trung tâm y tế đại học, bác sĩ khác tìm thấy số ứng dụng thực tế thời kỳ Ứng dụng thực thú vị nhiều trường hợp nói thêm giúp đỡ móng tay xuống số đặc điểm khuôn mặt dysmorphic đến hội chứng cụ thể FDNA đặc biệt quan tâm đến hợp tác phát triển sở liệu lý khoa học FINDFACE: 2.1 Giới thiệu: - Nhận dạng khn mặt tính tuyệt vời cho tảng thiết bị: Bạn mở khóa máy tính với nó, tự động xếp ảnh theo người chí trao đổi khn mặt bạn với chó Snapchat Nhưng điều xảy nhận dạng khuôn mặt tốt gần loại bỏ hồn tồn tiềm giấu tên nơi cơng cộng? - Đó xác câu hỏi hỏi FindFace, ứng dụng nhận dạng khuôn mặt sử dụng ảnh hồ sơ mạng xã hội hàng đầu Nga để tìm danh tính ảnh với tỷ lệ thành cơng 70% cách vơ lý - Chìa khóa cho tồn hoạt động việc sử dụng mạng xã hội Vkontakte Nga với hợp tác với thuật tốn tìm kiếm độc quyền phát triển người đồng sáng lập, Alexander Kabakov (29 tuổi) Artem Kukharenko (26 tuổi) FindFace - Sử dụng ảnh hồ sơ 200.000 người dùng Vkontakte, thuật tốn FindFace tìm kiếm thơng qua sở liệu tỷ ảnh vài giây, sử dụng bốn máy chủ tiêu chuẩn - NTech Lab, tạo FindFace, “upstaged” 100 thuật tốn nhận dạng khn mặt khác thách thức MegaFace Đại học Washington cách đạt độ xác 73,3% triệu khn mặt ; chí đánh bại “FaceNet” Google mà trước đạt đến mức độ xác 99,63% ( pdf ) thử nghiệm khác 2.2 Ứng dụng: Nó dao lưỡi: Giúp nhiều thứ vơ tình dẫn đến thảm họa vơ lớn thảm họa bảo mật Vài tháng trước Nga, người đàn ơng có tên Egor Tsvetko chụp hình người lạ tàu điện ngầm St.Petersbug Sau đó, ông sử dụng ứng dụng FindFace để nhận diện khn mặt họ Ơng dùng ảnh chụp từ tàu điện ngầm khớp với khuôn mặt VK (phiên Nga Facebook) đưa vào album có tên "Khn mặt bạn liệu lớn" Ông cho biết: "Ông cảm thấy xấu hổ người khơng quen biết biết thơng tin cá nhân mình" Một nhà phát triển phần mềm khác sử dụng ứng dụng để tìm tên hai người phụ nữ mà ơng chụp ảnh sáu năm trước FindFace sử dụng rộng rãi Nga cộng đồng thực triệu tìm kiếm với 100 triệu hồ sơ VK hình ảnh cơng khai, tỷ lệ tương thích thành cơng 70% III NHẬN DẠNG KHN MẶT (FACE RECOGNITION - OPENCV): 1.Tìm hiểu chung: Nhận dạng mặt người (Face recognition) lĩnh vực nghiên cứu ngành Computer Vision, xem lĩnh vực nghiên cứu ngành Biometrics (tương tự nhận dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt – Iris recognition) Xét nguyên tắc chung, nhận dạng mặt có tương đồng lớn với nhận dạng vân tay nhận dạng mống mắt, nhiên khác biệt nằm bước trích chọn đặt trưng (feature extraction) lĩnh vực Trong nhận dạng vân tay mống mắt đạt tới độ chín, tức áp dụng thực tế cách rộng rãi nhận dạng mặt người nhiều thách thức lĩnh vực nghiên cứu thú vị với nhiều người So với nhận dạng vân tay mống mắt, nhận dạng mặt có nguồn liệu phong phú (bạn nhìn thấy mặt người ảnh, video clip liên quan tới người mạng) đòi hỏi tương tác có kiểm soát (để thực nhận dạng vân tay hay mống mắt, liệu input lấy từ người đòi hỏi có hợp tác mơi trường có kiểm soát) Hiện phương pháp nhận dạng mặt chia thành nhiều hướng theo tiêu chí khác nhau: nhận dạng với liệu đầu vào ảnh tĩnh 2D(still image based FR) phổ biến nhất, nhiên tương lai có lẽ 3D FR (vì việc bố trí nhiều camera 2D cho liệu 3D đem lại kết tốt hơn, đáng tin cậy hơn), chia thành hướng là: làm với liệu ảnh làm với liệu video Trên thực tế người ta hay chia phương pháp nhận dạng mặt làm loại: phương pháp tiếp cận toàn cục (global, Eigenfaces-PCA, Fisherfaces-LDA), phương pháp tiếp cận dựa đặc điểm cục (local feature based, LBP, Gabor wavelets) phương pháp lai (hybrid, kết hợp hai phương pháp toàn cục local feature) Phương pháp dựa đặc điểm cục chứng minh ưu việt làm việc điều kiện khơng có kiểm sốt nói lịch sử phát triển nhận dạng mặt (A never ending story) phát triển phương pháp trích chọn đặc trưng (feature extractrion methods) sử dụng hệ thống dựa feature based Các ứng dụng cụ thể nhận dạng mặt dựa mơ hình nhận dạng: identification (xác định danh tính, tốn 1-N), verification (xác thực danh tính, tốn 1-1) Trong tốn identification, ta cần xác định danh tính ảnh kiểm tra, tốn verification ta cần xác định ảnh có thuộc người hay khơng Các bước trình nhận dạng khn mặt: - Trong quy trình xử lý đưa kết việc nhận diện khuôn mặt cần có nhiều bước, bước giới thiệu sau: + Bước 1: Face detection, tức phát phần ảnh mặt liệu input (CSDL ảnh, video …) cắt lấy phần ảnh mặt để thực nhận dạng (face cropping) + Bước 2: 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) + Bước 3: Trích chọn đặc điểm (feature extraction), bước phương pháp trích chọn đặc điểm (mẫu nhị phân cục – Local Binary Pattern – LBP, Gabor wavelets, …) sử dụng với ảnh mặt để trích xuất thơng tin đặc trưng cho ảnh + Bước 4: , Kết ảnh biểu diễn dạng vector đặc điểm (feature vector), bước bước nhận dạng (recognition) hay phân lớp (classification), tức xác định danh tính (identity) hay nhãn (label) ảnh – ảnh Tùy theo yêu cầu dự án, vấn đề cần giải mà có phương án sử dụng thuật tốn phù hợp Ví dụ: Nhận dạng giới tính, nhận dạng cảm xúc, độ tuổi,… IV SẢN PHẨM CỦA NHÓM THỰC HIỆN Cài đặt thư viện Chú thích: Trong source code nhóm sử dụng thư viện using Emgu.CV.Structure:  Một thư viện xử lý hình ảnh mạnh dành riêng cho ngôn ngữ C# Cho phép gọi chức OpenCV từ NET  Có thể chạy hệ điều hành windown, linux, mac os, ios, android, windows phone Các bước cài đặt thư viện : B1: Cài đặt tools 10 B2: Thiết lập project chọn tớiEmguCV\emgucv-windows-universal_version\bin\Emgu.CV.UI.dll > Open 11 using System.Diagnostics: đường dẫn file không cần thư viện Giải thích số chức hàm chương trình: Lấy vecto riêng để tạo thành khơng gian riêng Get set cho hình ảnh tương ứng 12 Get or set đăt ngưỡng khoảng cách riêng Lấy hình ảnh trung bình Nhận đặc điểm riêng hình ảnh  Tạo trình nhận dạng đối tượng cách sử dụng liệu tranning cụ thể tham số, ln trả đối tượng giống nhất, gần 13  Sắp xếp hình ảnh riêng cho hình ảnh training cụ thể Phân tách hình ảnh thành đặc điểm riêng, sử dụng vecto riêng cụ thể 14 Cho giá trị riêng, tái tạo lại ảnh chiếu Lấy khoảng cách đặc trưng Kiểm tra, tìm sở dử liệu đối tượng gần 15 Cố gắng nhận hình ảnh trả lại dãn nhãn 3.SOURCE CODE: 16 4.Demo sản phẩm: -HẾT - 17 ...LỜI NĨI ĐẦU Trí tuệ nhân tạo (AI) xem ngành khoa học máy tính liên quan đến việc tự động hóa hành vi thơng minh AI... áp dụng tri thức đó, ngơn ngữ kỹ thuật lập trình dùng cho việc cài đặt chúng Cho đến nay, trí tuệ nhân tạo ngành khoa học trẻ, mối quan tâm phương pháp chưa rõ ràng so với tất ngành khoa học trưởng... hoàn thiện MỤC LỤC I GIỚI THIỆU OPENCV Opencv gì? OpenCV viết tắt Open Source Computer Vision xem thư viện mã nguồn mở hàng đầu cho việc xử lý ảnh theo thời gian thực OpenCV (Thư viện hình ảnh máy

Ngày đăng: 24/02/2019, 21:44

Mục lục

  • 2. Ứng dụng của opencv:

  • 2. Các bước cơ bản của quá trình nhận dạng khuôn mặt:

  • 2. Giải thích một số chức năng của các hàm chính trong chương trình:

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

Tài liệu liên quan