1. Trang chủ
  2. » Thể loại khác

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO ĐỒ ÁN ĐỀ TÀI: Ứng dụng nhận diện khuôn mặt

23 35 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 23
Dung lượng 4,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Phần mềm nhận dạng khuôn mặt sử dụng để phát hiện, nhận dạngkhuôn mặt, đối chiếu so sánh, đưa ra các cảnh báo khi phát hiện sựtrùng khớp giữa khuôn mặt phát hiện được với khuôn mặt mẫu

Trang 1

ĐẠI HỌC ĐÀ NẴNGKHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO ĐỒ ÁN 5

ĐỀ TÀI: Ứng dụng nhận diện khuôn mặt

Sinh viên thực hiện : HOÀNG ĐĂNG KHÁNH Lớp : 17IT3

Trang 2

Đà nẵng, tháng 07 năm 2020

Trang 3

MỞ ĐẦU

1 Lý do chọn đề tài:

Bối cảnh chung:

Việc quản lý thông qua hình thức chấm vân tay tiềm ẩn nhiều bất cập

và rủi ro, nhất là trong thời điểm hiện nay Tại sao lại có nhận định nhưvậy? Hiện nay, dịch Covid – 19 đang ngày càng diễn biến phức tạp, Bộ

Y tế đã đưa ra khuyến cáo để người dân ý thức hơn trong việc bảo vệ sứckhỏe của bản thân và mọi người xung quanh Trong đó, việc tiếp xúc nơicông cộng sẽ gia tăng khả năng lây nhiễm cao hơn

Do đó, việc nhân viên công sở đi làm chấm công bằng vân tay, cưdân vào các tòa nhà, chung cư ấn thang máy bằng tay sẽ tiềm ẩn về nguy

cơ lây nhiễm virus chéo Vì vậy, việc sử dụng hệ thống nhận diện khuônmặt bằng hệ thống AI trong các ứng dụng quản lý sẽ giúp cho việc quản

lý được diễn ra thuận lợi, nhanh chóng và đảm bảo an về sức khỏe

Theo đó, mọi cư dân khi đến các tòa nhà chung cư, nhân viên đi làmtại công ty, doanh nghiệp chỉ cần đưa khuôn mặt của mình trước thiết bị,

và trong vài giây, thiết bị sẽ thu nhận và xử lý thông tin nhanh chóng.Đây thực sự là “giải pháp vàng” không chỉ trong thời điểm dịch Covid –

19 đang bùng phát, mà nó còn là sự lựa chọn thông minh trong thời đạicách mạng 4.0

Công nghệ nhân diện khuôn mặt hiện là một công nghệ đang được

sử dụng khá phổ biến tại các quốc gia phát triển Công nghệ này có khảnăng xác định hoặc xác nhận một người từ hình ảnh kỹ thuật số được lấymẫu trước đó hoặc từ một khung hình trong một nguồn video khác Vàhiện nay, tại thị trường Việt Nam, công nghệ này đã dần dần được sửdụng tại một số hệ thống cửa hàng, khách sạn-resort

Trang 4

Các phương pháp thực hiện:

 Hệ thống sẽ nhận diện khuôn mặt một cách kín đáo bằng cách chụpảnh khuôn mặt của những ai bước vào một khu vực được xác định từcamera giám sát Công nghệ này, không cần sự tương tác (của ngườimuốn vào khu vực) và không có sự chậm trễ Trong nhiều trườnghợp đối tượng hoàn toàn không hay biết gì về quá trình này Họkhông cảm thấy “bị giám sát” hoặc rằng sự riêng tư của họ bị xâmphạm

 Phần mềm nhận dạng khuôn mặt sử dụng để phát hiện, nhận dạngkhuôn mặt, đối chiếu so sánh, đưa ra các cảnh báo khi phát hiện sựtrùng khớp giữa khuôn mặt phát hiện được với khuôn mặt mẫu có sẵntrong cơ sở dữ liệu đăng ký trước Toàn bộ quá trình phát hiện, nhậndạng và đối chiếu được tiến hành hoàn toàn tự động, không cần có sựcan thiệp của con người

2 Mục tiêu và nhiệm vụ

Mục tiêu

Trong luận văn này chúng tôi sẽ đưa ra cái nhìn tổng quan cácphương pháp cho các hệ thống giải quyết các vấn đề về nhận diện khuônmặt trong điểm danh các em học sinh cũng như ứng dụng vào quản lí anninh tại các tòa nhà chung cư , bệnh viện , …

Một mục tiêu khác của đề tài sẽ là góp phần nghiên cứu và xâydựng một ứng dụng có khả năng ứng dụng vào thực tế tại Việt Namnhằm ứng dụng CNTT vào trong đời sống trong thời đại cuộc cách mạngcông nghiệp 4.0 hiện nay

Nhiệm vụ

Để thực hiện được mục tiêu trên, đề tài này sẽ nghiên cứu về phương phápnhận dạng khuôn mặt người; các phương pháp, thuật toán nhận dạng đượcphát triển bằng ngôn ngữ lập trình Python tích hợp trên nền tảng thư viện

mã nguồn mở OpenCV

Về lý thuyết

- Tìm hiểu về các phương pháp nhận diện khuôn mặt người được hỗ trợ trên nền tảng thư viện mã nguồn mở OpenCV

Trang 5

- Tìm hiểu Labled Faces in the Wild

Về thực tiễn

- Nghiên cứu và xây dựng một chương trình demo có thể nhận dạngcon người và hiển thị thông tin của người đó từ một đoạn video đầu vàohoặc từ camera trực tiếp

3 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu

 Ngôn ngữ lập trình Python

 Thư viện mã nguồn mở OpenCV

 Các thư viện , mã nguồn mở Dlib, Face_recognition và Labled Faces

in the Wild

Phạm vi nghiên cứu

 Nghiên cứu về các phương pháp và các ứng dụng nhận diện khuôn mặt trên thế giới theo những bài báo và nghiên cứu khoa học và các ứng dụng đang được sử dụng trong thực tế

 Chương trình demo sử dụng ngôn ngữ lập Python, thư viện mã nguồn mở OpenCV trên nền tảng hệ điều hành Windows,Ubuntu,

MacOS

4 Phương pháp nghiên cứu

Nghiên cứu lý thuyết

Đọc, phân tích, tổng hợp tài liệu từ những bài báo, các trang thông tin

và những nghiên cứu khoa học liên quan đã được công bố ở Việt Nam vàtrên thế giới

Nghiên cứu thực nghiệm

Nghiên cứu và xây dựng một chương trình mô phỏng lập trình bằng ngôn ngữ lập trình Python và thư viện mã nguồn mở OpenCV

Trang 6

5 Ý nghĩa khoa học và thực tiễn của đề tài

Ý nghĩa khoa học và thực tiễn đề tài

Về khoa học

Tìm hiểu những bài báo và những nghiên cứu khoa học liên quan đãđược công bố trên thế giới, đề xuất một giải pháp cho việc giải quyết cácvấn đề về nhận diện khuôn mặt mang tính chính xác, nhanh, hiệu quả cao

Về thực tiễn

- Giúp người lập trình có cái nhìn tổng quát các phương pháp có thểứng dụng cho hệ thống giải quyết các vấn đề về bất cập của những ứngdụng nhận diện khuôn mặt trước đó

DANH MỤC CÁC BẢNG

Trang 7

Bảng 2.2 13

Trang 8

DANH MỤC HÌNH

Trang

Hình 3.1 15

Hình 4.1 17

Hình 4.2 17

Hình 4.3 18

Hình 4.4 18

Hình 4.5 18

Trang 9

DANH MỤC CỤM TỪ VIẾT TẮT

4 Face Recognition Grand Challenge FRGC

Trang 10

CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN1.2 BÀI TOÁN PHÁT HIỆN KHUÔN MẶT NGƯỜI

Các phương pháp chính phát hiện mặt người

Dựa vào tính chất của các phương pháp xác định mặt người trên ảnh,các phương pháp này được chia thành bốn loại chính, tương ứng với bốnhướng tiếp cận khác nhau Ngoài ra cũng có rất nhiều nghiên cứu màphương pháp xác định mặt người không chỉ dựa vào một hướng mà có liênquan đến nhiều hướng

- Hướng tiếp cận dựa trên tri thức

- Hướng tiếp cận dựa trên đặc trưng không thay đổi

- Hướng tiếp cận dựa trên so sánh khớp mẫu

- Hướng tiếp cận dựa trên diện mạo

1.3 TỔNG QUAN CÁC KẾT QUẢ NGHIÊN CỨU

Những người tiên phong trong tự động nhận dạng khuôn mặt baogồm Woody Bledsoe, Helen Chan Wolf, và Charles Bisson

Trong năm 1964 và 1965, Bledsoe, cùng với Helen Chan và CharlesBisson, bắt đầu ý tưởng sử dụng máy tính để nhận ra khuôn mặt của conngười Với một cơ sở dữ liệu lớn các hình ảnh (thực tế là một cuốn sách ảnhthẻ) và một bức ảnh, vấn đề là phải lựa chọn từ cơ sở dữ liệu là một tập hợpnhỏ các hồ sơ hình ảnh như vậy có chứa các hình ảnh ăn khớp với bức ảnhđưa ra Sự thành công của phương pháp này có thể được đo bằng tỷ lệ danhsách câu trả lời trên số lượng các hồ sơ trong cơ sở dữ liệu Sau đó Bledsoerời PRI vào năm 1966 Trong các thí nghiệm thực hiện trên một cơ sở dữliệu hơn 2.000 bức ảnh, máy tính luôn vượt trội so với con người khi thểhiện cùng một nhiệm vụ nhận dạng

Trang 11

Đến khoảng năm 1997, hệ thống được phát triển bởi Christoph von derMalsburg và các sinh viên sau đại học của trường Đại học Bochum ở Đức

và Đại học Nam California tại Mỹ đã thể hiện vượt trội so với hầu hết các

hệ thống của Viện Công nghệ Massachusetts và Đại học Maryland xếphạng theo sau Phần mềm này được bán với cái tên ZN-Face và sử dụngbởi các khách hàng như Deutsche Bank và các nhà điều hành sân bay vàcác địa điểm đông đúc khác Phần mềm này "đủ mạnh mẽ để nhận dạngđược gương mặt từ các góc nhìn ít lý tưởng hơn Nó cũng thường xuyên cóthể nhận dạng được gương mặt mặc dù có những trở ngại như ria mép, râu,thay đổi kiểu tóc và thậm chí đeo kính râm"

Trong khoảng tháng 1 năm 2007, tìm kiếm hình ảnh đã là "dựa trên

ký tự xung quanh bức ảnh", ví dụ, đoạn văn kế bên đề cập đến các nội dunghình ảnh Công nghệ Polar Rose có thể đoán từ một bức ảnh, trong khoảng1,5 giây, bất kỳ người nào sẽ trông như thế nào trong không gian ba chiều,

và khẳng định rằng họ "sẽ yêu cầu người dùng nhập tên của những người

mà họ nhận ra trong ảnh online" để giúp xây dựng một cơ sở dữ liệuIdentix, một công ty từ Minnesota, đã phát triển một phần mềm là FaceIt.FaceIt có thể nhận ra khuôn mặt của một ai đó trong đám đông và so sánh

nó với cơ sở dữ liệu trên toàn thế giới để nhận dạng và đặt tên cho mộtkhuôn mặt Phần mềm được viết để phát hiện nhiều đặc điểm trên khuônmặt người Nó có thể phát hiện khoảng cách giữa hai mắt, chiều rộng củamũi, hình dạng của xương gò má, độ dài của đường viền của hàm dưới vànhiều đặc điểm khác trên khuôn mặt Nó thực hiện điều này bằng cách đưahình ảnh của khuôn mặt vào một faceprint, một mã số đại diện cho gươngmặt của con người Phần mềm nhận dạng khuôn mặt trước kia thường phảidựa trên một hình ảnh 2D với người cần nhận dạng gần như phải trực tiếp

Trang 12

và chuyển đổi nó thành một hình ảnh 2D sử dụng một thuật toán đặc biệt cóthể được quét qua hầu như tất cả các cơ sở dữ liệu  

Năm 2006, các thuật toán nhận dạng khuôn mặt mới nhất đã được

đánh giá trong Face Recognition Grand Challenge (FRGC) Hình ảnh

gương mặt, hình ảnh scan gương mặt 3D và ảnh iris độ phân giải cao, được

sử dụng trong các bài kiểm tra Kết quả cho thấy rằng các thuật toán mới làchính xác hơn 10 lần so với các thuật toán nhận dạng khuôn mặt của năm

2002 và chính xác hơn 100 lần so với các thuật toán của năm 1995 Một sốthuật toán đã có thể nhận dạng tốt hơn người tham gia trong việc nhận diệnkhuôn mặt và duy nhất có thể xác định từng người trong các cặp song sinhgiống hệt nhau

Hình ảnh độ phân giải thấp của khuôn mặt có thể được tăng cườngbằng cách sử dụng khuôn mặt ảo giác Các cải tiến cao hơn trong hình có

độ phân giải cao, máy ảnh megapixel trong vài năm gần đây đã giúp giảiquyết vấn đề thiếu độ phân giải

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT2.1 Thư viện Dlib:

Dlib là bộ công cụ C ++ hiện đại chứa các thuật toán và công cụhọc máy để tạo phần mềm phức tạp trong C ++ để giải quyết các vấn đềtrong thế giới thực Nó được sử dụng trong cả ngành công nghiệp và họcthuật trong nhiều lĩnh vực bao gồm robot, thiết bị nhúng, điện thoại di động

và môi trường điện toán hiệu năng cao lớn Cấp phép nguồn mở củaDlib cho phép bạn sử dụng nó trong bất kỳ ứng dụng nào, miễn phí

Trang 13

 Rất nhiều chương trình ví dụ được cung cấp

 Tôi coi tài liệu là phần quan trọng nhất của thư viện Vì vậy, nếubạn tìm thấy bất cứ điều gì không được ghi lại, không rõ rànghoặc đã hết tài liệu, hãy cho tôi biết và tôi sẽ sửa nó

Thuật toán học máy:

 Deep Learning

 Máy Vector Hỗ trợ dựa trên SMO thông thường để phân

loại và hồi quy

 Các phương pháp giảm thứ hạng để phân loại và hồi quy quy mô lớn

 Máy vectơ liên quan để phân loại và hồi quy

 Công cụ multiclass classification

 Một Multiclass SVM

 Một công cụ để giải quyết vấn đề tối ưu hóa liên quan đến các máy vectơ hỗ trợ cấu trúc

 Các công cụ cấu trúc SVM để sequence labeling

 Các công cụ cấu trúc SVM để giải các assignment problems

 Các công cụ SVM cấu trúc để phát hiện đối tượng trong ảnh cũng như các công cụ học sâu hơn mạnh hơn (nhưng chậm hơn) để pháthiện đối tượng

 Các công cụ SVM cấu trúc để ghi nhãn các nút trong biểu đồ

 Một triển khai SVM-Rank quy mô lớn

 Một thuật toán hồi quy RLS kernel trực tuyến

 Một thuật toán phân loại SVM trực tuyến

 Semidefinite Metric Learning

 Một công centroid estimator / trình phát hiện nhân trung tâm nhân trực tuyến và phân loại vector hỗ trợ ngoại tuyến

 Các thuật toán phân cụm: linear hoặc kernel k-means, Chinese Whispers, và Newman clustering

 Radial Basis Function Networks

 Multi layer perceptrons

Trang 14

 Một đối tượng hẹn giờ có khả năng tạo ra các sự kiện thường xuyên cách nhau theo thời gian

 Threaded objects

 Threaded functions

 Parallel for loops

 Một thread_pool với sự hỗ trợ cho tương lai

Mạng

 Thư viện cung cấp API ổ cắm TCP di động và đơn giản

 Một đối tượng giúp bạn tạo các máy chủ dựa trên TCP

 Các đối tượng iostream và streambuf cho phép các socket TCP tương tác với thư viện iostreams C ++

 Một đối tượng máy chủ HTTP đơn giản mà bạn có thể sử dụng

để nhúng máy chủ web vào các ứng dụng của mình

 Một thông báo qua đường ống cho liên thread và

inter-process thông tin liên lạc

 Một công cụ được sử dụng để thực hiện các thuật toán sử

dụng mô hình tính toán song song hàng loạt (BSP)

 Một phân tích cú pháp XML

 Một đối tượng có thể thực hiện chuyển đổi cơ sở64

 Nhiều lớp container

 Hỗ trợ nối tiếp

 Nhiều đối tượng quản lý bộ nhớ thực hiện các chiến lược tổng hợp bộ nhớ khác nhau

 Một công cụ cho phép bạn dễ dàng gọi C ++ từ MATLAB

Trang 15

2.2 Labled Faces in the Wild:

Những bộ dữ liệu này được sử dụng cho nghiên cứu máy học và đã

được trích dẫn trong các tạp chí học thuật đánh giá ngang hàng Dữ liệu là

một phần không thể thiếu trong lĩnh vực học máy Những tiến bộ chính

trong lĩnh vực này có thể là kết quả của những tiến bộ trong thuật toán học

tập (như học sâu ), phần cứng máy tính và, ít trực quan hơn, có sẵn các bộ

dữ liệu đào tạo chất lượng cao Bộ dữ liệu đào tạo được dán nhãn chất

lượng cao cho giám sát và bán giám sátCác thuật toán học máy thường khó

sản xuất và tốn kém vì cần nhiều thời gian để dán nhãn dữ liệu Mặc dù

chúng không cần phải được dán nhãn, các bộ dữ liệu chất lượng cao

cho việc học tập không giám sát cũng có thể khó khăn và tốn kém để sản

xuất

Tên bộ dữ liệu Mô tả ngắn gọn

Trường hợp

Định dạng

Nhiệm vụ Đã tạo

Người sáng tạo FERET (công

nghệ nhận

dạng khuôn

mặt)

11338 hình ảnh của 1199 cá nhân ở các vị trí khác nhau

và tại các thời điểm khác

nhau.

11.338 Hình ảnh

Phân loại, nhận diện khuôn mặt

2003

Bộ quốc phòng Hoa Kỳ

1997

J Yang và cộng sự.

FaceScrub

Hình ảnh của các nhân vật công cộng được chau chuốt

từ tìm kiếm hình ảnh.

107.818

Hình ảnh, văn bản

Nhận dạng khuôn mặt

2014

H Ng et al.

Bảng 2.2

Trang 16

2.3 Face_recognition :

 Nhận dạng khuôn mặt là một công nghệ sinh trắc học được sử dụng

để thiết lập một danh tính cá nhân và có khả năng nhận dạng và xác minh duy nhất một người Nó sử dụng một ứng dụng máy tính, còn được gọi là hệ thống nhận dạng khuôn mặt, để trích xuất hình ảnh kỹ thuật số từ hình ảnh, khung hình video hoặc quét 3D và tạo một bản sao, một bộ các phép đo đặc trưng của cấu trúc khuôn mặt, nhận dạng duy nhất một người khuôn mặt cụ thể cho mục đích nhận dạng

và xác thực

 Hệ thống nhận dạng khuôn mặt có thể sử dụng hình ảnh 2D / 3D hoặc nguồn cấp dữ liệu video để tạo hình ảnh kỹ thuật số, thiết lập bản in và nhận diện khuôn mặt bằng cách so sánh hình ảnh kỹ thuật

số của nó với bản in trong cơ sở dữ liệu Mỗi khuôn mặt đều có một

số cột mốc của thành phố và hệ thống sẽ đánh dấu những điểm này làđiểm nút của điểm Một khuôn mặt người có thể có tới 80 điểm này Họ đại diện cho các lĩnh vực quan tâm trên khuôn mặt mà hệ thống đo lường

 Một số ví dụ về các phép đo này sẽ là, khoảng cách giữa hai mắt, chiều rộng của mũi, độ sâu của hốc mắt và hơn thế nữa Các phép đo này sẽ được lưu trữ trong cơ sở dữ liệu dưới dạng bản in

 Khi hệ thống quét một khuôn mặt, nó sẽ so sánh tất cả các phép đo này với các bản ghi, bản in, trong cơ sở dữ liệu

 Các hệ thống nhận dạng khuôn mặt sử dụng một thuật toán, chẳng hạn như Kiểm tra nhà cung cấp nhận dạng khuôn mặt, có thể dự đoánliệu có một trận đấu dựa trên các điểm nút gật đầu trên khuôn mặt của một cá nhân hay không

 Thông thường, có một quy trình gồm 4 giai đoạn liên quan đến hoạt động của công nghệ này:

Chụp - Một mẫu vật lý hoặc hành vi được hệ thống chụp lại

trong quá trình đăng ký

Trích xuất - Dữ liệu duy nhất được trích xuất từ mẫu và mẫu

được tạo

So sánh - Mẫu sau đó được so sánh với một mẫu mới.

Kết hợp - Hệ thống sau đó quyết định xem tính năng được trích

xuất từ mẫu mới có khớp hay không

Ngày đăng: 20/04/2021, 22:26

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w