1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thực tập doanh nghiệp đề tài hệ thống điểm danh bằng nhận diện khuôn mặt

22 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Hệ Thống Điểm Danh Bằng Nhận Diện Khuôn Mặt
Tác giả Nguyễn Thái Bảo
Người hướng dẫn ThS. Đỗ Công Đức
Trường học Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt - Hàn
Chuyên ngành Khoa Học Máy Tính
Thể loại báo cáo thực tập doanh nghiệp
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 22
Dung lượng 2,71 MB

Nội dung

Hệ thống điểm danh bằng nhận diện khuôn mặt 5PHẦN MỞ ĐẦUCông nghệ Nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác địnhhoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuậ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYỀN THÔNG VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

BÁO CÁO THỰC TẬP DOANH NGHIỆP

Giảng viên hướng dẫn : ThS Đỗ Công Đức

Đơn vị thực tập : Công ty TNHH MTV Phan Gia Huy

Người hướng dẫn : Lê Văn Tịnh

Đà Nẵng, tháng 01 năm 2021

Trang 2

PHIẾU NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP

(Bản phô-tô)

Trang 3

Hệ thống điểm danh bằng nhận diện khuôn mặt 1

LỜI CẢM ƠN

Trước tiên em xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy giáoThs.Đỗ Công Đức giảng viên – Khoa Khoa học máy tính Trong suốt thời gian học vàlàm đồ án tốt nghiệp, thầy đã dành rất nhiều thời gian quý báu để tận tình chỉ bảo,hướng dẫn, định hướng cho em thực hiện đồ án thực tập

Em xin được cảm ơn các thầy cô giáo Trường Đại Việt Hàn đã giảng dạy trongquá trình học tập, thực hành, làm bài tập, giúp em hiểu thấu đáo hơn các nội dung họctập và những hạn chế cần khắc phục trong việc học tập, nghiên cứu và thực hiện bản

Khoa: Khoa học máy tính – Lớp 18IT2 Nguyễn Thái Bảo

Trang 4

Hệ thống điểm danh bằng nhận diện khuôn mặt 2

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP 6

1.1 Cơ quan thực tập 6

1.2 Giới thiệu chung 6

1.3 Lĩnh vực hoạt động 6

1.4 Sứ mệnh 6

1.5 Tầm nhìn 6

CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN 7

2.1 Mục đích nghiên cứu và thực hiện đề tài 7

2.2 Phân tích vấn đề 7

2.3 Hệ thống điểm danh hiện tại của công ty 7

2.4 Tồn tại của hệ thống chấm công thủ công 7

2.5 Tồn tại của việc điểm danh bằng vân tay 7

2.6 Khả năng vượt trội của hệ thống điểm danh nhận diện khuôn mặt 8

2.7 Phạm vi nghiên cứu 8

2.8 Nguồn số liệu và dữ liệu nghiên cứu 8

2.9 Nội dung nghiên cứu 8

CHƯƠNG 3: CHI TIẾT ĐỀ TÀI 9

3.1 Nhận diện khuôn mặt 9

3.1.1 Tổng quan về nhận diện khuôn mặt 9

3.1.2 Xử lí ảnh trước khi nhận dạng 11

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

3.2.1 Giới thiệu 11

3.2.2 Lịch sử ra đời 12

3.2.3 Đặc điểm 13

3.2.4 Khả năng mở rộng 13

3.3 Open CV 13

3.3.1 Các ứng dụng của OpenCV 13

3.3.2 Chức năng của OpenCV 14

3.3.3 Cấu trúc của OpenCV 14

Trang 5

Hệ thống điểm danh bằng nhận diện khuôn mặt 3

3.4.2 Đặc trưng Haar 15

3.5 Khái niệm xử lí ảnh và phát hiện khuôn mặt người 16

3.5.1 Khái niệm về xử lí ảnh 16

3.5.2 Bài toán phát hiện khuôn mặt người trong ảnh 16

CHƯƠNG 4: TRIỂN KHAI VÀ XÂY DỰNG 17

4.1 Phân tích bài toán nhận diện khuôn mặt người 17

4.1.1 Phát hiện khuôn mặt ( Face detection ) 17

4.1.2 Tiền xử lý ( Preprocessing ) 17

4.1.3 Trích rút đặc trưng ( Feature extraction ) 17

4.1.4 Nhận dạng ( Recognition ) / Phân loại ( Cassification) 17

4.1.5 Dữ liệu hệ thống nhận dạng 17

4.2 Sơ đồ use-case nhận diện khuôn mặt 18

CHƯƠNG 5: KẾT LUẬN 19

5.1 Kết luận 19

5.2 Hướng phát triển 19

Khoa: Khoa Học Máy Tính – Lớp 18IT2 Nguyễn Thái Bảo

Trang 6

Hệ thống điểm danh bằng nhận diện khuôn mặt 4

MỤC LỤC HÌNH ẢNH

Hình 3.1 Cấu trúc OpenCV 14

Hình 3.2 Đặc trưng cạnh 15

Hình 3.3 Đặc trưng đường 15

Hình 3.4 Đặc trưng xung quanh tâm 15

Hình 3.5 Công thức tính giá trị Haar 15

Hình 4.1 Các bước nhận diện khuôn mặt người 17

Hình 4.2 Sơ đồ Usecase nhận diện khuôn mặt 18

Trang 7

Hệ thống điểm danh bằng nhận diện khuôn mặt 5

PHẦN MỞ ĐẦU

Công nghệ Nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác địnhhoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khunghình video từ một nguồn video Một trong những cách để thực hiện điều này là so sánhcác đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt

Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được

so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay tròngmắt như nhiều người có thể biết

Nhận dạng mặt người (Face recognition) là một lĩnh vực nghiên cứu của ngànhComputer Vision, và cũng được xem là một lĩnh vực nghiên cứu của ngành Biometrics(tương tự như nhận dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt –Iris recognition) Xét về nguyên tắc chung, nhận dạng mặt có sự tương đồng rất lớnvới nhận dạng vân tay và nhận dạng mống mắt, tuy nhiên sự khác biệt nằm ở bướctrích chọn đặt trưng (feature extraction) của mỗi lĩnh vực Trong khi nhận dạng vân tay

và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên thực tế một cách rộng rãi thìnhận dạng mặt người vẫn còn nhiều thách thức và vẫn là một 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 và mống mắt, nhận dạng mặt có nguồn

dữ liệu phong phú hơn (bạn có thể nhìn thấy mặt người ở bất cứ tấm ảnh, video clipnào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có kiểm soát hơn (đểthực hiện nhận dạng vân tay hay mống mắt, dữ liệu input lấy từ con người đòi hỏi có

sự hợp tác trong môi trường có kiểm soát)

Vì vậy, nhận dạng khuôn mặt được cho là có tiềm năng lớn hơn và có tính khảthi hơn trong tương lai và hệ thống điểm danh bằng nhận diện khuôn mặt không phải

là ngoại lệ

Trong bài báo cáo này em sẽ giới thiệu về đơn vị thực tập và nêu ra các giảipháp để phát triển hệ thống điểm danh tại đây, đồng thời đưa ra phân tích và nghiêncứu về chủ đề nhận diện khuôn mặt áp dụng trong việc điểm danh

Khoa: Khoa Học Máy Tính – Lớp 18IT2 Nguyễn Thái Bảo

Trang 8

Hệ thống điểm danh bằng nhận diện khuôn mặt 6

CHƯƠNG 1: GI I THI U VỀỀ Đ N V TH C T PỚ Ệ Ơ Ị Ự Ậ

1.1 C quan th c t pơ ự ậ

Tên cơ quan: Công ty TNHH Một Thành Viên Phan Gia Huy

Địa chỉ: 36 Nguyễn Thuật, Phường Hòa An, Quận Cẩm Lệ, Thành phố Đà Nẵng.Email: info@phangiahuy.com

Website: www.phangiahuy.com

1.2 Gi i thi u chungớ ệ

Công ty TNHH Phan Gia Huy được thành lập vào ngày 15/07/2010 với các ngành

nghề hoạt động chủ yếu trong lĩnh vực CNTT và Truyền Thông như: thiết kế Web,phát triển các ứng dụng trên nền Web, tư vấn giải pháp phần mềm, thiết kế nhận diệnthương hiệu, Thương mại điện tử, Quảng bá doanh nghiệp trên Internet

Phan Gia Huy tự hào có được một đội ngũ chuyên viên, nhân viên giàu kinh

nghiệm, kiến thức chuyên môn tốt, đa dạng Đội ngũ tư vấn uy tín của công ty luônđồng hành cùng khách hàng nhằm đưa ra những giải pháp tối ưu nhất, mang đến sự hàilòng cho khách hàng với những sản phẩm có chất lượng cao cùng với giá thành hợp lý.Với mục tiêu trở thành một đơn vị có uy tín trong lĩnh vực CNTT tại Việt Nam, đemlại những tiện ích cho khách hàng

Phan Gia Huy sẽ không ngừng nâng cao trình độ, củng cố đội ngũ, cải tiến nâng

cao chất lượng sản phẩm để ngày càng có những sản phẩm tốt hơn phục vụ kháchhàng

1.3 Lĩnh v c ho t đ ngự ạ ộ

Hoạt động chủ yếu trong lĩnh vực CNTT và Truyền Thông như: thiết kế Web,phát triển các ứng dụng trên nền Web, tư vấn giải pháp phần mềm, thiết kế nhận diệnthương hiệu, Thương mại điện tử, Quảng bá doanh nghiệp trên Internet

Trang 9

Hệ thống điểm danh bằng nhận diện khuôn mặt 7

CHƯƠNG 2: NGHIÊN C U T NG QUANỨ Ổ

2.1 M c đích nghiên c u và th c hi n đêầ tàiụ ứ ự ệ

Đề xuất nghiên cứu và lắp đặt hệ thống điểm danh bằng nhận diện khuôn mặtthay thế cho hệ thống điểm danh thủ công hiện tại Nhằm cải thiện hiệu suất làm việc

và kiểm soát giờ làm của nhân viên một cách chính xác hơn

2.2 Phần tích vầấn đêầ

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ịchCovid – 19 đang ngày càng diễn biến phức tạp, Bộ Y tế đã đưa ra khuyến cáo để ngườidân ý thức hơn trong việc bảo vệ sức khỏe của bản thân và mọi người xung quanh.Trong đó, việc tiếp xúc nơi cô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áctò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ôn mặt bằng hệ thống AI trong các ứngdụ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

– Khó kiểm soát được việc đi trễ hay về sớm của nhân viên

– Mỗi khi điểm danh luôn cần có người ghi chép sổ sách

– Số liệu khó có tính chính xác

2.5 Tốần t i c a vi c đi m danh bằầng vần tayạ ủ ệ ể

Điểm danh bằng vân tay là hệ thống điểm danh được sử dụng khá rộng rãi với tínhtiện lợi của nó và khả năng kiểm soát giờ làm nhân viên tốt hơn mà không cần mộtngười chấm công chịu trách nhiệm việc này, tuy nhiên nó vẫn còn nhiều nhược điểmkhó giải quyết như:

– Nguy cơ lây lan dịch bệnh ( Đặc biệt là Covid-19 vào thời điểm này)

Khoa: Khoa Học Máy Tính – Lớp 18IT2 Nguyễn Thái Bảo

Trang 10

Hệ thống điểm danh bằng nhận diện khuôn mặt 8– Không thể kiểm soát được giờ làm việc của nhân viên

– Hệ thống nhận diện vân tay khó chính xác khi tay của nhân viên có thể mỗi lúc

có một tình trạng khác nhau ( Vd: đổ mồ hôi, bị xước tay…)

2.6 Kh nằng vả ượt tr i c a h thốấng đi m danh nh n di n khuốn m tộ ủ ệ ể ậ ệ ặ

Hệ thống điểm danh nhận diện khuôn mặt hầu như khắc phục được hầu hết cáctồn tại của các cách điểm danh truyền thống hay vân tay như trên và còn có thể vượttrội hơn về nhiều mặt:

– Kiểm soát được việc ra vào của nhân viên

– Không cần một nhân viên chịu trách nhiệm cho việc điểm danh

– Kiểm soát được hoạt động của nhân viên qua camera

– Có thể tích hợp hệ thống vào hệ thống camera sẵn có của công ty

Nghiên cứu về công nghệ điểm danh bằng nhận diện khuôn mặt

Nghiên cứu các công nghệ và ngôn ngữ lập trình được sử dụng xuyên suốt dự ánnhư:

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

– Thư viện OpenCV

– Thuật toán nhận diện khuôn mặt Haar cascade

Trang 11

Hệ thống điểm danh bằng nhận diện khuôn mặt 9

CHƯƠNG 3: CHI TIÊẾT ĐÊỀ TÀI

3.1 Nh n di n khuốn m tậ ệ ặ

Công nghệ Nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác địnhhoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khunghình video từ một nguồn video Một trong những cách để thực hiện điều này là so sánhcác đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt

Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được

so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay tròngmắt như nhiều người có thể biết

3.1.1 T ng quan vềề nh n di n khuôn m tổ ậ ệ ặ

Nhận dạng mặt người (Face recognition) là một lĩnh vực nghiên cứu của ngànhComputer Vision, và cũng được xem là một lĩnh vực nghiên cứu của ngành Biometrics(tương tự như nhận dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt –Iris recognition) Xét về nguyên tắc chung, nhận dạng mặt có sự tương đồng rất lớnvới nhận dạng vân tay và nhận dạng mống mắt, tuy nhiên sự khác biệt nằm ở bướctrích chọn đặt trưng (feature extraction) của mỗi lĩnh vực Trong khi nhận dạng vân tay

và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên thực tế một cách rộng rãi thìnhận dạng mặt người vẫn còn nhiều thách thức và vẫn là một 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 và mống mắt, nhận dạng mặt có nguồn

dữ liệu phong phú hơn (bạn có thể nhìn thấy mặt người ở bất cứ tấm ảnh, video clipnào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có kiểm soát hơn (đểthực hiện nhận dạng vân tay hay mống mắt, dữ liệu input lấy từ con người đòi hỏi có

sự hợp tác trong môi trường có kiểm soát)

Hiện nay các phương pháp nhận dạng mặt được chia thành nhiều hướng theocác tiêu chí khác nhau: nhận dạng với dữ liệu đầu vào là ảnh tĩnh 2D(still image basedFR) là phổ biến nhất, tuy nhiên tương lai có lẽ sẽ là 3D FR (vì việc bố trí nhiều camera2D sẽ cho dữ liệu 3D và đem lại kết quả tốt hơn, đáng tin cậy hơn), cũng có thể chiathành 2 hướng là: làm với dữ liệu ảnh và làm với dữ liệu video Trên thực tế người tahay chia các phương pháp nhận dạng mặt ra làm 3 loại: phương pháp tiếp cận toàn cục(global, như Eigenfaces-PCA, Fisherfaces-LDA), phương pháp tiếp cận dựa trên cácđặc điểm cục bộ (local feature based, như LBP, Gabor wavelets) và phương pháp lai(hybrid, là sự kết hợp của hai phương pháp toàn cục và local feature)

Phương pháp dựa trên các đặc điểm cục bộ đã được chứng minh là ưu việt hơnkhi làm việc trong các điều kiện không có kiểm soát và có thể nói rằng lịch sử pháttriển của nhận dạng mặt (A never ending story) là sự phát triển của các phương pháptrích chọn đặc trưng (feature extractrion methods) được sử dụng trong các hệ thốngdựa trên feature based Các ứng dụng cụ thể của nhận dạng mặt dựa trên 2 mô hìnhnhận dạng: identification (xác định danh tính, bài toán 1-N), và verification (xác thựcKhoa: Khoa Học Máy Tính – Lớp 18IT2 Nguyễn Thái Bảo

Trang 12

Hệ thống điểm danh bằng nhận diện khuôn mặt 10danh tính, bài toán 1-1) Trong bài toán identification, ta cần xác định danh tính củaảnh kiểm tra, còn trong bài toán verification ta cần xác định 2 ảnh có cùng thuộc vềmột người hay không.

Các pha trong một hệ thống nhận dạng mặt: để xây dựng một hệ thống nhậndạng mặt, cũng không hề đơn giản, bước đầu tiên cần thực hiện là face detection, tức

là phát hiện phần ảnh mặt trong dữ liệu input (CSDL ảnh, video …) và cắt lấy phầnảnh mặt để thực hiện nhận dạng (face cropping), bước thứ hai là tiền xử lý ảnh(preprocessing) bao gồm các bước căn chỉnh ảnh (face image alignment) và chuẩn hóaánh sáng (illumination normalization) (ở đây tôi đang nói tới các ảnh có góc nhìnthẳng – frontal view face image), tiếp đến là bước trích chọn đặc điểm (featureextraction), ở bước này một phương pháp trích chọn đặc điểm nào đó (mẫu nhị phâncục bộ – Local Binary Pattern – LBP, Gabor wavelets, …) sẽ được sử dụng với ảnhmặt để trích xuất các thông tin đặc trưng cho ảnh, kết quả là mỗi ảnh sẽ được biểu diễndưới dạng một vector đặc điểm (feature vector), bước tiếp theo là bước nhận dạng(recognition) hay phân lớp (classification), tức là xác định danh tính (identity) haynhãn (label) của ảnh – đó là ảnh của ai Ở bước classification, thường thì phương phápk-láng giềng gần nhất (k-nearest neighbor:kNN) sẽ được sử dụng, thực tế cho thấy việcdùng SVM (Support Vector Machine) không mang lại hiệu quả cao hơn mà còn chậmhơn

Dữ liệu cho một hệ thống nhận dạng mặt được chia làm 3 tập: tập huấn luyện(training set), tập tham chiếu (reference set hay gallery set) và tập để nhận dạng (probeset hay query set, đôi khi còn gọi là test set) Trong nhiều hệ thống, tập training trùngvới tập reference Tập training gồm các ảnh được dùng để huấn luyện (hay học-learning), thông thường tập này được dùng để sinh ra một không gian con (projectionsubspace) là một ma trận và phương pháp hay được sử dụng là PCA (PrincipalComponent Analysis), WPCA (Whitened PCA), LDA (Linear Discriminant Analysis),KPCA (Kernel PCA) Tập reference gồm các ảnh đã biết danh tính được chiếu(projected) vào không gian con ở bước training Bước training nhằm 2 mục đích: giảm

số chiều (dimension reduction) của các vector đặc điểm (feature vector) vì các vectornày thường có độ dài khá lớn (vài nghìn tới vài trăm nghìn) nên nếu để nguyên thì việctính toán sẽ rất rất lâu, thứ hai là làm tăng tính phân biệt (discriminative) giữa các ảnhkhác lớp (định danh khác nhau), ngoài ra có thể làm giảm tính phân biệt giữa các ảnhthuộc về một lớp (tùy theo phương pháp, ví dụ như Linear Discriminant AnalysisLDA- còn gọi là Fisher Linear Discriminant Analysis-Fisherface là một phương pháplàm việc với tập training mà mỗi đối tượng có nhiều ảnh mặt ở các điều kiện khácnhau) Sau khi thực hiện chiếu tập reference vào không gian con, hệ thống lưu lại kếtquả là một ma trận với mỗi cột của ma trận là một vector tương ứng với ảnh (địnhdanh đã biết) để thực hiện nhận dạng (hay phân lớp)

Nhận dạng (hay phân lớp) được thực hiện với tập các ảnh probe, sau khi tiền xử

lý xong, mỗi ảnh sẽ được áp dụng phương pháp trích chọn đặc điểm (như với các ảnh

Ngày đăng: 14/05/2024, 16:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w