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

Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học

72 3 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Xây Dựng Hệ Thống Chấm Công Bằng Nhận Diện Khuôn Mặt
Tác giả Bùi Quang Huy
Người hướng dẫn Th.S. Nguyễn Thị Tuyến
Trường học Đại Học Thái Nguyên
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Thái Nguyên
Định dạng
Số trang 72
Dung lượng 15,54 MB

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

Nội dung

Ảnh rời rạc 2 chiều, Im,n biểu diễn thông tin thu được từ cảm biến của một chuỗi các vị trí cố định m=1,2...,M; n=l,2....,N trong tọa độ Cartesian 2 chiều được biến đổi từ tín hiệu liên

Trang 1

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHE THONG TIN VA TRUYEN THONG

BUI QUANG HUY

XAY DUNG HE THONG CHAM CONG BANG NHAN

DIEN KHUON MAT

DO AN TOT NGHIEP DAI HOC

NGANH CONG NGHE THONG TIN

THAI NGUYEN, NAM 2023

Trang 2

ĐẠI HỌC THÁI NGUYÊN TRUONG DAI HQC CONG NGHE THONG TIN VA TRUYEN THONG

DO AN

TOT NGHIEP DAI HOC

NGANH CONG NGHE THONG TIN

XAY DUNG HE THONG CHAM CONG BANG

NHAN DIEN KHUON MAT

Sinh viên thực hiện: BÙI QUANG HUY Lop: CNTT K17K

Giáo viên hướng dẫn: TH.S NGUYÊN THỊ TUYẾN

THÁI NGUYÊN, NĂM 2023

Trang 3

LOI CAM ON

Báo cáo đồ án này được hoàn thành tại Trường Đại học Công nghệ Thông tin

và Truyền thông dưới sự hướng dẫn của Th.S Nguyễn Thị Tuyền Em xin bày tỏ

lòng biết ơn tới các thầy cô giáo thuộc Trường Đại học Công nghệ Thông tin và

Truyền thông đã tạo điều kiện, giúp đỡ em trong quá trình làm đồ án, đặc biệt em

xin bay tỏ lòng biết ơn tới Th.S Nguyễn Thị Tuyển đã tận tình hướng dẫn và cung

cấp nhiều tài liệu cần thiết để em có thể hoàn thành đồ án đúng thời hạn

Sinh viên thực hiện

Bùi Quang Huy

Trang 4

LỜI CAM ĐOAN

Em xin cam đoan báo cáo này do chính em thực hiện, dưới sự hướng dẫn của

cô Nguyễn Thị Tuyển, các kết quả được trình bảy trong báo cáo là do em thực hiện

trong quá trình làm đồ án Em xin hoàn toàn chịu trách nhiệm về kết quả thực hiện

Trang 5

MỤC LỤC

LỜI CẢMƠN 02 2122212211221 1122212212211 1g 3 LỜI CAM ĐOAN 0 2121221112122 2 2212122121222 ru 4 MỤC LỤC 52 2122122212111211111121121121121212122121 1212122122111 5 DANH MỤC HÌNH ẢNH 5222 22122122112111211221101112121 1212101 rre 7 DANH MỤC TỪ VIẾT TẮTT -2-©2+2212212221111271221221127111112211211121122112 1 2x0 9

MỞ ĐẦU 202 2221221221122 2112122212221212121221201 222g 10

1 Lý đo chọn để tài - - c E1 E121E11511112111121111211 11g11 1n ng te te 10

2 Mục đích của đề tài xây dựng một dự án phần mềm ứng dụng nhận dạng 211i 11

3 Déi twong va pham vi nghién ctru dé tb ccc cccceceecseeessesessesesseeeseseeeeees 11

CHƯƠNG 1: TÔNG QUAN VỀ CƠ SỞ LÝ THUYẾT C22 21 xe 13 1.1 Giới thiệu về python s- 5s Sc 2E 1 121121111211 2101 22111211 2221 nga 13

IPIC cái 0a 0 15

1.3 Tổng quan về xử lý ảnh 5-21 s21 1521 121121111121 1111212112212 n re 16 1.3.1 Xur ly anh La i) cece cccceccesesesseessessresseessnsaresscessesaresareesesseesareaseees 16 1.3.2 MOt 6 khai miém CO DAN cece cessesseseeceeessessesstsetesecssesietsesteseiteen 18

1.4 Các thư viện sử dụng trong python 2 2 22 2211121121221 12 2111181 re 20 1.4.1 Libraries trong Python ác 1111212211211 111111111211 11111 121111181512 yk 21 1.4.2 Packages trong Python 0 20121112 112212211 19111111111211112 111112 1kg 21 1.4.3 Giới thiệu về thư viện được sử dung trong python -s-c5- 2+2 21

CHƯƠNG 2: XÂY DỰNG HỆ THỒNG ĐIÊM DANH BẰNG 31 NHẬN DIỆN KHUÔN MẶTT -2-2222221122127122221122112112111221121112 226 31

2.1 Téng quan vé bai toate ccccccccsesseseesessessessesesecsesstssessesscssesssnsseteseeess 31 2.1.1 Bải toán điểm danh nhận diện khuôn mặt 222 SE E252 E 55255552522 5552 31

2.1.2 Một số lĩnh vực ứng dụng phát hiện khuôn mặt người trong ảnh 32

2.1.3 Những khó khăn và thách thức trong nhận diện khuôn mặt 33

2.1.4 Hướng giải quyết s- ST 12112121111212122 211111112 rag 36

2.2 Bài toán chấm công bằng nhận diện khuôn mặt - - - - c2 2222221212 s22 37

Trang 6

2.2.1 Đặc điểm, ưu điểm của chấm cơng nhận diện khuơn mặt 37

2.3 Các phương pháp phát hiện khuơn mặt (Face Detection) ‹- 38 2.3.1 Hướng tiếp cận dựa trên trí thức (knowledge-based) - 5: s2 39

2.3.2 Hướng tiếp cận dựa trên các đặc trưng khơng đơi (feature invariant) 40 2.3.3 Hướng tiếp cận dựa trên phương pháp đối sanh mau (Template

630 HH 41 2.3.4 Hướng tiếp cận dựa trên diện mạo (appearance-based) 41 2.4 Thuật tốn phân lớp Haar 0 22122112212 221121 115111531111 11111211 281 18 re 42 2.5 FHe haarcascade_frontalface_ defậult xmil - ¿5c S2 2222222 zzsxs2 46 2.6 Đặc trưng Haar LLIke L2 20122112122 1121 1112111111111 1 1111111111581 18kg 49 2.6.1 Trích xuất đặc trưng Haar 5 20 22122112211 221151 1151111111111 1 28111123 x k2 50 2.6.2 Mở rộng đặc trưng Haar 2 c1 22 22211211 1211111 111122211811 181 1111111 cay 51 2.7 Bộ phân loại AdaBoost 1 0012011221121 1211111121121111 110121112811 re 54 2.7.1 Ap dụng AdaBoost cho bài tốn phat hiện khuơn mặt 55 2.7.2 Xây dựng các bộ phân lớp mạnh : 222 2212212221221 3 121121115522 55 2.7.3 Xây dựng cascade của các bộ phân lớp mạnh :- 22 2 +52 ss+22 56

2.8 Hệ thống phát hiện và xác định vị trí khuơn mặt trên ảnh - 5 57

2.9 Thuat 0n 59 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 5221222211122 1 ccee 63

Ki© 0y án e 63 3.2 Giao diện chương trình - c2 212111211121 121 112115111111 11 1111111115111 128151 ty 64

KET QUẢ VÀ ĐÁNH GIIÁ - 5 2c 222121111111711172121 2111121 rrye 69

0n 70 TÀI LIỆU THAM KHẢO S2 s s21 11551 1115511511512111 1512121181218 nse 71

Trang 7

DANH MỤC HÌNH ẢNH

Hình 1 I Quá trình xử lý ảnh 2 2.22221121121211 51 1111111111101 111111110 21111111 E11 ca, 17

Hinh 1 2 Các bước cơ bản trong một hệ thống xử lý ảnh ¿+ 2c 1222122 22x sey 17

Hình 1 4 Giới thiệu về thư viện Keras : 22 2222 2211122221112211112121 0 kg 24

Hình I1 5 Giới thiệu về thư viện Nuimpy 5 s2 2121171112111 1E 25

Hình 1 6 Giới thiệu về thư viện Pandas 2252 22+22221222211121112121 1 27 Hình 1 7 Giới thiệu về thư viện Pillow - -5225:t 2222221112221 tri 28

Hình 1 8 Giới thiệu về thư viện TensorFlow 25 Sans1 121212133151 5511515 155155112555 xe2 29

Hình 1 9 Giới thiệu về thư viện Matplotlib - 5+ s2 2E12151111271211211211111 E110 30

Hinh 2 1 Minh hoa sự thay đôi góc chụp c c2: 1211121121111 1111111111111 15 1811 key 35 Hình 2 2 Minh họa sự thiếu thành phần mm 36

Hình 2 3 Ảnh chụp chân dung người trong các điều kiện ánh sáng khác nhau 37

Hình 2 4 Camera ảnh hướng tới chất lượng của ảnh - 25s E1 SE2E12E5211 11x x2 37 Hinh 2 5 Các bước chính trong một hệ thống nhận dạng mặt n8ười - -:‹- 38 Hinh 2 6 Mô hình thực hiện chương trình 2222221221121 1221 1111811181151 2 11118 2s 38 Hình 2 7 Nhận dang khuôn mặt người bằng caimera 2-5222 2E12E1212E221EE2 x2 40 Hinh 2 8 Nhận dạng dựa trên tr1 thức L2 2211211121111 12111111011 11111112111 11112 re 41 Hình 2 9 Nhận dạng dựa trên phương pháp đối sánh mẫu - 22 22c S22 zzcce 42 Hình 2 10 Cửa số phát hiện đối tượng trong hình ảnh - c2 2c 2 2222222212222 +zx+2 44

Hình 2 11 Ảnh phát hiện khuôn mặt 2 2© s2£EE2E9221512711 2122121121712 221 xe 45 Hình 2 12 Ví dụ về phát hiện sai khuôn mặt trong ảnh Đây là sự cố phô biến khi sử

l8 #2 s3ix91/1ì10051v1 xe 46 Hinh 2 13 Các đặc trưng cơ bản 2 12211211211 12112111111111112 11 111111011 1111115 101 kg 46

Hình 2 14 Lưu đồ thuật toán Haar - 52 2222 22221112221112222122112211121112111 2111 47

Hình 2 15 Các mẫu đặc trưng cơ bản của Haar: (a) các khối và phân phối của nó

theo đề xuất của Viola, (b) ứng dụng trong nhận dạng mặt người 2 5c ssccs se: 51

Hình 2 16 Tính nhanh tông giá tri pixel trong vùng chữ nhật bất kỳ - - 2 se- 52

Trang 8

Hình 2 17 Mở rộng đặc trưng Haar : (a) vùng chữ nhật được mở rộng theo hướng

quay 45°, (b) các loại hình dáng của đặc trưng mở rộng - ¿+ 2c 2c ersv2 53

Hình 2 18 Mở rộng đặc trưng Haar bằng cách sử dụng hình bình hành 53

Hinh 2 19 Tinh nhanh đặc trưng Haar: (a) tính nhanh bảng công tích lũy, (b) trích

xuất tông giá trị pIxel trong vùng hình bình hành 2G 2 2222221123112 123 12221212212 <z5 55

Hình 2 20 Mô hình phân tầng kết hợp các bộ phân loại yêu đề xác định khuôn mặt 56

Hình 2 21 Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh - -: 57 Hình 2 22 Casade của các bộ phân lớp mạnh Nơi một vùng ứng viên có thế bị loại

tại bất cứ lal MOAN MAO ee eee 58

Hinh 2 23 Hé théng phat hién va xac định vị trí khuôn mặt người trên ảnh 59

Hinh 2 24 Thuật toán xây dựng CSDL khuôn mặt tự động 22 222cc cc2+ 60 Hình 3 1 Giao điện chính của ứng dụng điểm đanh 2- 5< 5222221272212 2222 65

Hình 3 2 Nhập thông tin ID và Tên đối tượng -2©2s2292E22E2E271272212722121 2 xe 65 Hình 3 3 Chụp ảnh đối tượng - 51 2 1111121121121 1111121212221 12 1121 1n nr rêu 67

lì: hy 67 Hinh 3 5 Nhận diện khuôn mặt - - cecececsccccceccccccesecesevesesstteeetttttteetseeseeeeneees 68 Hình 3 6 Tất ca thông tin đối tượng nhập vào chương trình sẽ được lưu về 01 file

CS N L0 200010 1101111111111111111 1111111111 11111111111 1101 H1 1111111 1111111 H11 1111101111111 11 E11 1x kr 69

Hình 3 7 Kết quả của chương trình trên một ảnh ImẫU 2 TS 1111121511551 11 15115 xey 70

Trang 9

DANH MỤC TỪ VIỆT TAT

Perl Practical Extraction and Trích xuất thực tế và

Report Language ngôn ngữ báo cáo PHP Hypertext Preprocessor Bộ tiền xử lý siêu văn

bản LBP Local Binary Patterns Các mẫu nhị phân cục

bộ

PCA Principal Component Analysis Phan tich thanh phan

chinh Pixel Picture Elenment Điểm ảnh JPEG Joint Photo-praphic Experts Phương pháp nén ảnh

Group JPEG

API Application Program Interface Giao diện chương trình

bằng ứng dụng LDA Linear Discriminant Analysis Phan tich phan biét

tuyén tinh

Al Artificial Intelligence Trí tuệ nhân tạo

HOG Histogram of Oriented Biểu đồ của Gradient

Gradients định hướng GIE Graphics Interchange Format Dinh dang trao déi hinh

anh

Adaboost Adaptive Boost Thuat toan AdaBoost

Trang 10

MỞ ĐẦU

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

Với sự phát triển không ngừng của khoa học và công nghệ, đặc biệt là với

những chiếc điện thoại thông minh (smartphone) ngày cảng hiện đại và được sử

dụng phô biến trong đời sông con người đã làm cho lượng thông tin thu được bằng

hình ảnh ngày cảng tăng Theo đó, lĩnh vực xử lý ảnh cũng được chú trọng phát

triển, ứng dụng rộng rãi trong đời sống xã hội hiện đại Không chỉ đừng lại ở việc

chỉnh sửa, tăng chất lượng hình ảnh mà với công nghệ xử lý ảnh hiện nay tôi có thé

giải quyết các bài toán nhận dạng chữ viết, nhận đạng dấu vân tay, nhận dạng khuôn

mặt

Một trong những bài toán được nhiều người quan tâm nhất của lĩnh vực xử lý

ảnh hiện nay đó là nhan dang khu6én mat (Face Recognition) Như chúng ta đã biết,

khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa người với người,

nó mang một lượng thông tin giàu có, chăng hạn như từ khuôn mặt tôi có thê xác

định giới tính, tuôi tác, chúng tộc, trạng thái cảm xúc, đặc biệt là xác định mỗi quan

hệ với đối tượng (có quen biết hay không) Do đó, bài toán nhận dạng khuôn mặt

đóng vai trò quan trọng trong nhiều lĩnh vực đời sống hằng ngày của con người như

các hệ thống giám sát, quản lý vào ra, tìm kiếm thông tin một người nỗi tiếng, đặc

biệt là an ninh, bảo mật Có rất nhiều phương pháp nhận dạng khuôn mặt để nâng

cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang vấp phải

những thử thách về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng của

tham số môi trường

Bài toán Nhận điện khuôn mặt (Face Recognition) bao gồm nhiều bài toán

khác nhau như: phát hiện mặt người (face detection), đánh dau (facial landmarking),

trích chọn (rút) đặc trưng (feature extration), gan nhan, phan lép (classification)

Trong thực tế, nhan dang khu6n mat ngwoi (Face Recognition) la mot huéng nghién

cứu được nhiều nhà khoa học quan tâm, nghiên cứu để ứng dụng trong thực tiễn

Ở các trường đại học hàng đầu về Công Nghệ Thông Tin như Massachusetts Institute of Technology (MIT), Carnegie Mellon University (CMU), Standford,

Berkeley và các công ty lớn như MicrosoR, Apple, Google, Facebook đều có các

trung tâm về sinh trắc học (Biometrics Center) và nghiên cứu về nhận dang khuôn

mặt người và nó đã trở thành một trong những lĩnh vực nghiên cứu chính cho đến

nay Gần đây, công ty Hitachi Kokusai Electric của Nhật mới cho ra đời một camera

giam sát, có thé chụp ảnh và tìm ra 36 triệu khuôn mặt khác có nét tương ty trong co

sở đữ liệu chỉ trong vòng một p1ây

10

Trang 11

Có hai phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựa trên đặc

trưng của các phần tử trên khuôn mặt như biến đôi Gabor Wavelet và mạng Neural,

SVM, .va nhận dạng dựa trên xét tổng thể toàn khuôn mặt như phương pháp PCA,

LDA, LFA Trong đó, PCA là phương pháp trích rút đặc trưng nhằm giảm số chiều

của ảnh tuy đơn giản nhưng mang lại hiệu quả tốt Hệ thống hoạt động ổn định và có

tính thích nghi cao khi dữ liệu đầu vào thay đổi nhiều

Hiện nay, việc điểm danh công nhân vẫn sử dụng biện pháp thủ công chưa

được tự động hóa ở nhiều công ty và nhà xưởng, gây mắt nhiều thời gian, công sức

đôi khi xảy ra tình trạng thất thoát bảng điểm danh thủ công Từ đó, xảy ra nhiều bất

cập, gây khó khăn trong việc quản lý Để giảm thiểu trình trạng trên, trong nghiên

cứu này em xin trình bày phương pháp xây dựng một hệ thống điểm danh công nhân

thông qua nhận dạng khuôn mặt

Đồ án được chia làm 3 chương:

Chương 1: Tông quan về cơ sở lý thuyết

Chương 2: Xây dựng hệ thống nhận diện khuôn mặt

Chương 3: Xây dựng chương trinh

2 Mục đích của đề tài xây dựng một dự án phần mềm ứng dụng nhận dạng

khuôn mặt

- Tìm hiệu về thư viện OpenC$v

Nghiên cứu phương pháp trích chọn đặc trưng Haar Cascade

Tìm hiểu các phương pháp xác định khuôn mặt (Face Detection)

we „ Đôi tượng và phạm vi nghiên cứu đề tài

+ Đối tượng:

-_ Các phương pháp, thuật toán phục vụ cho việc phát hiện và nhận dạng khuôn

mặt người trên ảnh

- Bộ thư viện xử lý ảnh OpenC$v

+ Pham vi nghiên cứu:

- Tập trung tìm hiểu phát hiện khuôn mat (Face Recognition) chứ không chú

trọng tìm hiểu phát hiện khuôn mặt (Face Detection)

-_ Việc xử lý ảnh, nhận dạng khuôn mặt thỏa mãn các điều kiện:

* Ánh sáng bình thường, ngược sáng, ánh sáng đèn điện (Với bộ cở sở dữ liệu

tự thu thập)

11

Trang 12

12

* Góc ảnh: Trực diện (frontal) hoặc góc nghiêng

* Không bị che khuât (no occulusion)

* Anh co chất lượng cao (high quality)

Trang 13

1

CHUONG 1: TONG QUAN VE CO SO LY THUYET

1 Giới thiệu về python

Python là một ngôn ngữ lập trình thông dịch, đa năng và dễ học, được sử dụng trong nhiều lĩnh vực khác nhau Python được thiết kế để đọc đễ hiểu và có cú pháp øọn gàng, øiúp cho người mới học lập trình dễ dàng tiếp cận và phát triển các ứng dụng

Với nhiều tính năng mạnh mẽ như hỗ trợ đa nền tảng, độ tin cậy cao, và bộ thư viện phong phú, Python là một trong những ngôn ngữ lập trình phô biến nhất trên thế giới Nó được sử dụng rộng rãi trong các ứng dụng web, khoa học dữ liệu, trí tuệ nhân tạo, phát triển same, đỗ họa, hệ thống và mạng, và nhiều ứng dụng khác

Các đặc điểm chính của Python bao gồm:

13

Cú pháp đơn giản: Python sử dụng cú pháp đơn giản và dễ đọc, với các từ khóa

và cấu trúc ngôn ngữ dễ hiểu, giúp cho việc viết mã nguồn dé dang hon so voi các ngôn ngữ lập trinh khác

Hỗ trợ đa nền tảng: Python có thê chạy trên nhiều nền tảng khác nhau bao gồm

Windows, Linux và MacOS, và là một ngôn ngữ lập trình có tính đi động cao Kiểu đữ liệu động: Python là một ngôn ngữ lập trình có kiểu dữ liệu động, có nghĩa là các biến không cần phải được khai báo trước khi sử dụng Kiểu đữ liệu được xác định tự động dựa trên giá trị được gán vào biến

Hỗ trợ các thư viện va framework manh mé: Python có một cộng đồng lớn với nhiều thư viện và ffamework phố biến để giúp cho việc phát triển ứng dụng dé đàng hơn Các thư viện phô biến như NumPy, Pandas, Matplotlib, TensorFlow,

Django, Flask va nhiéu hon nia

Hỗ trợ lập trình hướng đối tượng: Python hỗ trợ lập trình hướng đối tượng, cho phép các lập trình viên xây dựng các đối tượng và lớp đối tượng riêng để tạo ra các ứng dụng phức tạp hơn

Tốc độ xử lý cao: Python có tốc độ xử lý tương đối nhanh và được tối ưu hóa cho các tác vụ tính toán khoa học và máy học

Dễ học và dễ sử dụng: Python là một ngôn ngữ lập trình dễ học và dễ sử dụng cho

người mới bắt đâu

Trang 14

Python có nguồn gốc từ nhiều ngôn ngữ khác, bao gồm ABC, Modula-3, C, C+t, Algol-68, SmallTalk va Ủnix shell và các ngôn ngữ scrIpt khác

Python có bản quyền giống như Perl, mã nguồn Python hiện có sẵn theo giấy phép GNU (GPL)

Python hiện được duy trì bởi một nhóm phát triển cốt lõi tại viện nghiên cứu

quốc gia về toán học và khoa học máy tính ở Hà Lan Guido van Rossum vẫn giữ

một vai trò quan trọng trone việc chỉ đạo tiến trình của nó

Các tính năng của Python

-_ Dễ học: Python có ít từ khóa, cấu trúc đơn giản và cú pháp được định nghĩa rõ

ràng Điều này cho phép người mới học tiếp cận ngôn ngữ một cách nhanh

chóng

- Dé doc: Ma Python được định nghĩa rõ ràng hơn và có thể nhìn thấy bằng mắt -_ Dễ bảo trì: Mã nguồn của Python khá dễ bảo trì

-_ Một thư viện tiêu chuẩn rộng: Phần lớn thư viện của Python rất đễ đính kèm và

đa nền tảng tương thích trén UNIX, Windows va Macintosh

- Chế độ tương tác: Python có hỗ trợ cho chế độ tương tác cho phép kiểm tra tương tác và debug

- Portable: Python có thể chạy trên nhiều nền tảng phần cứng khác nhau và có cùng giao điện trên tất cả các nền tảng

- Có thể mở rộng: Tôi có thể thêm các module cấp thấp vào trình thông địch Python Các module này cho phép các lập trình viên thêm hoặc tùy chỉnh các công cụ của mình để hiệu quả hơn

- Co sé dir ligu: Python cung cấp phương thức giao tiếp cho tất cả các cơ sở đữ liệu

14

Trang 15

-_ Lập trình GUI: Python hỗ trợ các ứng dụng GUI có thể được tạo và chuyển sang nhiều cuộc gọi hệ thông, thư viện và hệ thống cửa số, như Windows MEC, Macintosh và hệ thống X Window cua Unix

- Kha nang mé rong: Python cung cap cau tric va hé trợ tốt hơn cho các chương trình lớn hơn so với kịch bản lệnh shellL

Ngoài các tính năng được đề cập ở trên, Python còn có một danh sách lớn các tính năng khác, một số tính năng được liệt kê bên dưới:

- - Nó hễ trợ các phương pháp lập trình thủ t và có cấu trúc cũng như OOP

- Nó có thể được sử dụng như một ngôn ngữ kịch bản hoặc có thể được biên dịch thành mã byte để xây dựng các ứng dụng lớn

- Nó cung cấp các kiểu đữ liệu động ở mức rất cao và hỗ trợ kiểm tra kiểu động -_ Nó hễ trợ thu gom rac ty động

- Nocé thé dé dang tích hợp voi C, C++, COM, ActiveX, CORBA va Java Python làm được những gì?

- Web Development: Mét sé Framework nhu Flask, DJango, FastAPI giúp xây dựng các ứng dụng Web, Web APIs nhanh và dễ dàng

-_ Desktop GUI: Tôi có thể xây dựng các ưng dụng Desktop với Pythong bằng cách sử dung PyQt5, Tkinter, Kivy

- Tri tuệ nhân tạo & Máy học (AI & ML): Đây có lẽ là một trong những ứng dụng khiến cho Python trở nên rất “hot” như vậy Do có nhiều thư viện hỗ trợ nên Python có thê nói là một ngôn ngữ lập trình rất mạnh mẽ trong ngảnh Trí tuệ nhân tạo và Máy học

- Software Testing/Web Automation: Automation Testing dang ngay cảng trở nên phố biến hon Python có thư viện Selenium dang dugc su dung rat nhiều trong lĩnh vực Automation Testing và lẫy dữ liệu trên các trang web

- Xử lý hình ảnh, video: Công nghệ xử lý ảnh hiện nay đang ngày cảng phát

triển với sự hỗ trợ của nhiều thư viện khác nhau Tiêu biểu nhất phải kê đến

các thư viện như OpenCV, và thư viện này cũng hỗ trợ Python rất mạnh 1.2 Giới thiệu Pycharm

PyCharm là một nền tảng hybrid được JetBrains phát triển như một IDE cho Python Nó thường duoc str dung dé phat triển ứng dụng Python Một số tô chức kỳ lân như Twitter, Facebook, Amazon và Pinterest cũng sử dụng PyCharm làm IDE Python của họ

PyCharm hỗ trợ chạy trên Windows, Linux hoặc Mac OS Ngoài ra, nó chứa cac module va cac package giúp các lập trình viên phát triển phần mềm bang Python tiết kiệm thời gian và công sức Hơn nữa, nó cũng có thế được tùy chỉnh theo yêu cầu của các nhà phát triển

Các tính năng của Pycharm:

- Trinh sửa code thông minh

15

Trang 16

-_ Điều hướng mã

- Tái cấu trúc

- Hỗ trợ cho nhiều công nghệ web khác

- H6 tro cho cdc web framework Python phé biến

- H6tro cho Thư viện Khoa hoc Python

Uu va nhuge diém cia viée sir dung PyCharm:

- Uudiém:

+ Cai dat PyCharm rat dé dang

+ PyCharm la mét IDE dé str dung

+ Có rất nhiều plugin hữu ích và phím tắt hữu ích trong PyCharm

+ PyCharm tich hop các tính năng cua thư viện và IDE như tự động hoàn thành

vả tô màu

+ Nó cho phép xem mã nguồn trong một cú nhấp chuột

+ Tiết kiệm thời gian phát triển phần mềm

+ Tính năng đánh dấu lỗi trong code giúp nâng cao hơn nữa quá trình phat trién + Cộng đồng các nhà phát triển Python vô cùng lớn và tôi có thể giải quyết các thắc mắc/ nghỉ ngờ của mình một cách đễ dàng

-_ Nhược điểm:

+ PyCharm không miễn phí và phiên bản Professional của nó khá đắt

+ Tinh nang ty dién (auto-complete) sé khéng tét cho các lập trình viên newbie + Nó có thế gây ra sự cố trong khi sửa chữa các công cụ như venv

ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh

“tốt hơn” hoặc một kết luận

16

Trang 17

ảnh lý ảnh đoạn anh va m6 tá và nội suy

Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc

trưng cường độ sáng hay một dấu hiệu nảo đó tại một vị trí nào đó của đối tượng trong không gian va nó có thể xem như một hàm n biến P(cl, c2, ., cn) Do do, anh trong xử lý ảnh có thể xem như ảnh n chiều Sơ đồ tổng quát của một hệ thống xử lý ảnh:

Anh

So dé trong hinh 1.1 bao gdm các phần sau:

Phan thu nhan anh (Image Acquisition)

Ảnh có thể nhận qua camera màu hoặc đen trắng Thường thì ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1⁄25, mỗi ảnh 25 dòng), cũng có loại camera đã số hóa (như loại CCD-Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh Camera thường dùng là loại quét dong; ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thu nhận được phụ thuộc

vào thiết bị thu, môi trường (ánh sáng, thời tiết)

Tiền xir ly (Image Processing)

Sau bộ thu nhận, ảnh có thể bị nhiễu, độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, tăng độ tương phản để làm ảnh rõ, nét hơn

Phân đoạn (Segmentation) hay phân vùng ảnh

Phân vùng ảnh là tách một ảnh đầu vảo thành các vùng thành phần để biểu

diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong

17

Trang 18

bị thư cho mục đích phân loại bưu pham, cần chia các câu, chữ, về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dang Day là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này

Biểu dién anh (Image Representation)

Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: trone nhận dạng ký tự trên phong bì thư, tôi miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự nay voi

ký tự khác

Nhận dạng ánh và nội suy anh (Image Recognition and Interpretation)

Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng

cách so sánh với mẫu chuẩn đã được học (Rhoặc lưu từ trước) Nội suy là phân đoán theo ý nghĩa trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nét sạch ngang trên phong bì thư có thé được nội suy thành mã điện thoại Có nhiều cách phân loại ảnh khác nhau về ảnh Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:

-_ Nhận dạng theo tham SỐ

-_ Nhận dạng theo câu trúc

Một số đối tượng nhận dạng khá phô biến hiện nay đang được áp dụng trong khoa học vả công nghệ lả: nhận dạng ký tự (chữ ¡n, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt

nguol

1.3.2 Một số khái niệm cơ bản

Diem anh (Picture Element)

Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Đề xử lý

được bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần

đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không

gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm anh (PEL: Picture Element) hay 201 tat la Pixel Trong khuôn khổ anh

hai chiều, mỗi pixel ứng với cặp tọa độ (x, y)

18

Trang 19

Dinh Nghia: Diém anh (Pixcel) là một phân tử của ảnh số tai toa dé (x, y) với

độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không ø1lan và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi một phần tử trong ma trận được gọi là

một phân tir anh

Độ phân giái của ảnh

Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn

định trên một ảnh số được hiển thị

Theo định nghĩa, khoảng cách piữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ đó chính là độ phân giải và được phân bố theo trục x và y

trong không gian hai chiều

Ví dụ: Độ phân giải của ảnh trên man hinh CGA (Color Graphic Adaptor) la

một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh

(3207200) Rõ ràng, cùng màn hình CGA 12 “ta nhận thây min hon man hinh CGA

17” độ phân giải 320200 Lý do: cùng một mật độ (độ phân giải) nhưng điện tích

màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn

Mức xám của ảnh

Một điểm ảnh (pixcel) có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và

độ xám của nó Dưới đây tôi xem xét một số khái niệm và thuật ngữ thường dùng trong xử lý ảnh

Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng gia tri số tại điểm đó

-_ Các thang mức xám thông thường: 16,32,64,128, 256 (Mức 256 là mức phô dụng

Lý do: từ kỹ thuật máy tinh ding 1 byte (8bit) để biểu diễn mức xám:

-_ Mức xám dùng 1 byte biểu diễn: 28 = 256, tức là từ 0 đến 255)

- Anh den trang: La ảnh có hai màu đen, trắng (không chứa mầu khác) với mức xám ở các điểm ảnh có thể khác nhau

- Ảnh nhị phân: Ảnh chỉ có hai mức đen trắng phân biệt, tức dùng 1 bít mô tả

21mức khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0

hoặc 1

- Anh mau: Trong khuôn khổ lý thuyết 3 màu (Red, Blue, Green) để tạo nên thế

giới màu, người ta thường đùng 3 byte để mô tả mức màu, khi đó các giá trị màu:

28*3 =224 ~ 16,7 triệu mau

Định nghĩa ảnh số

19

Trang 20

Ảnh số là gi: Ảnh tạo bởi các điểm ảnh, điểm ảnh biểu diễn vô vàn thứ, ví đụ như: ảnh chân dung, ảnh X-quang, ảnh thân nhiệt Điểm ảnh đặc trưng cho một siátr nào đó là một ham n biến Ảnh trong thực tế là một ảnh liên tục về không gian

và về giá trị độ sáng Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số

hoá ảnh là quá trình biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng tử hoá thành phần giá trị mà về nguyên tắc bằng mắt thường không phân biệt được 2 điểm kề nhau: Ảnh có 2 loại: đạng tín hiệu tương tự (analog), dạng tín hiệu s6(digital)

Anh sé (digital image) co thé được xem là một biểu diễn dữ liệu rời rạc thể hiện thông tin về không gian và cường độ màu Ảnh số gồm một tập hợp hữu hạn các phan tử được biểu diễn bởi 1á trị số ảnh số có thể được biểu diễn dưới dạng ma

trận 2 chiều, mỗi phần tử của ảnh số gọi là diém anh (pixel) Tuy thuộc vả độ phân

giải là cố định hay biến đổi mà điểm ảnh có thế được biểu diễn đưới dạng vector hoặc dạng bitmap Ảnh số được xác định theo mảng 2 chiều biếu diễn cường độ sáng của điểm ảnh với gia tri cô định, cũng có thể được xác định theo hàm 2 chiều f(x,y), trong do x,y la cac toa dé trong khéng gian va độ lớn (amplitude) của hàm f được gọi là độ sang (intensity) hay d6 xam (gray level) của ảnh tại điểm đó Ảnh rời rạc 2 chiều, I(m,n) biểu diễn thông tin thu được từ cảm biến của một chuỗi các vị trí

cố định (m=1,2 ,M; n=l,2 ,N) trong tọa độ Cartesian 2 chiều được biến đổi từ

tín hiệu liên tục không gian 2 chiều thông qua quá trình xử lý tần số liên tục sang

miễn rời rạc

1.4 Các thư viện sử dụng trong python

Python là một ngôn ngữ được sử dụng rộng rãi, từ Data Science dén Scripting, hay Embedded Applications tham chi là cả làm game hay lam desktop

Appliaction và một số yêu cầu cơ bản của người code như làm web, tính toán va

làm những dự án nhỏ

Mặc dù Python có vé không nhanh bằng C++ hay C, nhưng điều đa số người

dùng đánh giá cao ở Python chính là những Libraries và Packages nhiều không kế hết của nó, và điều này thật sự rất có lợi khi phải làm việc với nhiều dòng code,

khiến chúng dễ quản lý và sửa đổi hơn, với hơn 137,000 libraries và 198,826

packages trong céng déng cua Python, moi thir đường như được đơn giản hóa và tối

ưu hơn đối với Python

1.4.1 Libraries trong Python

Một Libraries, hay thường gọi là Modules trong Python co nghia là một dang

như thư viện tôi thường biết, chúng đều chứa những "cuốn sách" mang giá trị thông

tin, tuy nhiên trong Python, thay vì sách, các tôi sẽ truy xuất những Module và áp

20

Trang 21

dụng chúng trong quá trình lập trình, thay tôi làm những việc đơn giản nhưng tôn thời gian, có thê hiểu đơn giản là công dụng của chúng giống như một hàm xử lý được tích hợp vào một thư viện

1.4.2 Packages trong Python

Package trong Python là một thư mục chứa một hoặc nhiều modules hay các package khác nhau, nó được tạo ra nhằm mục đích phân bố các modules có cùng chức năng hay một cái gì đó, để để quản lý source code, hay nói là một gói hỗ trợ các module cùng được

1.4.3 Giới thiệu về thư viện được sử dụng trong python

* OpenCV ( Python) — Xw ly hình ảnh

OpenCv (Open Source Computer Vision) là một thư viện mã nguồn mở về thị

giác máy với hơn 500 hàm và hơn 2500 các thuật toán đã được tối ưu về xử lý ảnh,

và các vấn đề liên quan tới thị giác mây OpenCv được thiết kế một cách tối ưu, sử dụng tối đa mạnh của các dòng chíp đa lõi để thực hiện các phép tính toán trong thời gian thực, nghĩa là tốc độ đáp ứng của nó thê đủ nhanh cho các ứng dụng thông thường

OpenCv là thư viện được thiết kế để chạy trên nhiều nền tảng khác nhau (crossplatform), nghĩa là nó có thể chạy trên hệ điều hành Window, Linux, Mac,

¡OS Việc sử dụng thư viện OpenCv tuân theo các quy định về sử dụng phần mềm

mã nguồn mở BSD do đó tôi có thể sử dụng thư viện này một cách miễn phí cho các mục đích phi thương mại lẫn thương mại Dự án về OpenCv được khởi động từ

những năm 1999, đến năm 2000 nó được giới thiệu trong một hội nphị của IEEE về

các vấn đề trong thị piác máy và nhận dạng, tuy nhiên bản OpenCV 1.0 mãi tới tận năm 2006 mới chính thức được công bố và năm 2008 bản 1.1 (prerelease) mới được

ra đời Tháng 10 năm 2009, bản OpenCV thế hệ thứ hai ra đời (thường gọi là phiên

bản 2 x), phiên bản này có giao diện của C++ (khác với phiên bản trước c6 giao diện

của C) và có nhiều điểm khác biệt so với phiên bản thứ nhất Các bản phát hành chính thức hiện đang diễn ra sáu tháng một lần, phiên bản ổn định nhất hiện nay

được phát hành tháng 4 năm 2020 OpenCV 4 3 0 và việc phát triển hiện được thực hiện bởi một nhóm độc lập của Nga được hỗ trợ bởi các tập đoàn thương mại Thư viện OpenCV ban đầu được sự hỗ trợ từ Intel, sau đó được hỗ trợ bởi Willow Garage, mét phong thí nghiệm chuyên nghiên cứu về công nghệ robot Cho đến nay, OpenCV vẫn là thư viện mở, được phát triển bởi nguồn quỹ không lợi nhuận (none- profit foundation) và được sự hưởng ứng rất lớn của cộng đồng

Cấu Trúc tổng quan của OpenCv bao gồm 5 phần chính:

21

Trang 22

Hình 1 3 Các thành phần của thư viện OpenCV

CV bao gồm các thư viện cơ bản về xử lý ảnh và các giải thuật về thị piác máy tính (CV cũng bao gồm CvAux thư viện cho việc phát hiện, theo dõi và nhận dạng đối tượng như: khuôn mặt, mắt )

MLL là bộ thư viện về các thuật toán học máy, bao gồm rất nhiều bộ phân cụm

và phân loại thông kê

HighGUI chứa đựng những thủ tục vào ra, các chức năng về lưu trữ cũng như đọc các file ảnh và video

Cxcore chứa đựng các cấu trúc đữ liệu cơ bản (ví dụ như cầu trúc XML, các cây

đữ liệu )

Những khả năng của OpenCV:

OpenCV là một gói mô-đun hình ảnh lý tưởng cho phép tôi đọc và phi, thay

đôi dữ liệu nhiều hình ảnh cùng một lúc

Tạo ra thị giác máy tính cho phép tôi xây dựng lại, gián đoạn và thông hiểu môi trường 3D từ môi trường 2D tương ứng của nó

OpenCV được xử dùng nhiều trong nhận diện vật thể và hình ảnh được thiết lập trước, chẳng hạn như khuôn mặt, động vật, cây cối, các vật thê di chuyền, etc Tôi cũng có thể lưu và chụp bất kỳ khoảnh khắc nào của viđeo và cũng có thé phân tích các thuộc tính khác nhau của nó như chuyền động, nén, etc

OpenCV tương thích với nhiều hệ điều hành như Windows, OS-X, Open BSD

Trang 23

Keras chạy trên các thư viện máy mã nguồn mở như TensorFlow, Theano hoặc

Bộ công cụ nhận thức (CNTK) Theano là một thư viện python được sử dụng cho

các tác vụ tính toán số nhanh TensorFlow lả thư viện toán học biểu tượng nỗi tiếng

nhất được sử dụng để tạo mạng nơ-ron và mô hình học sau TensorFlow rất linh hoạt

và lợi ích chính là tính toán phân tân CNTK là khung học sâu được phát triển bởi Microsoft Nó sử dụng các thư viện nhu Python, C #, C ++ hoặc các bộ công cụ học máy độc lập Theano và TensorFlow là những thư viện rất mạnh nhưng khó hiểu để

tạo mạng nơ-ron

Keras dựa trên cấu trúc tối thiểu, cung cấp một cách dễ dàng và dễ dàng để tạo các mô hình học sâu dựa trên TensorFlow hoặc Theano Keras được thiết kế để xác định nhanh các mô hình học sâu Keras là một lựa chọn tối ưu cho các ứng dụng học sau

OMtoet Predicbons

- API nhat quan, don giản và có thê mở rộng

-_ Cấu trúc tối thiêu - đễ dàng đạt được kết quả mà không cần rườm rà

- H6 tro nhiéu nén tang va backend

- Than thign voi ngwoi dung chay trén ca CPU va GPU

- Kha nang mo rộng tính toán cao

Keras năng động, mạnh mẽ và có những ưu điểm sau:

-_ Cộng động lớn hỗ trợ

-_ Dễ dàng để kiểm tra

23

Trang 24

Mạng nơ-ron Keras được viết bằng Python giúp mọi thứ đơn giản hơn

Keras hỗ trợ cả mạng convolution và recurrent

Mô hình học sâu là các thành phần rời rạc, do đó, tôi có thê kết hợp thành nhiêu cách

Những khả năng của Keras:

Keras là một thư viện Python mạnh mẽ Nó có khả năng chạy trên Bộ công cụ nhận thire cua Microsoft (Microsoft Cognitive Toolkit), PaidML, TensorFlow

và các nên tảng khác

Thư viện Python này có nhiều cách triển khai từ các khối hình thành mạng nơ-

ron - chức năng, lớp, trình tối ưu hóa, các đối tượng và những thứ khác

Keras cũng có nhiều công cụ hữu ích cho phép tôi làm việc với các hình ảnh và văn bản khác nhau một cách dễ đàng

Nó không chỉ hỗ trợ mạng nơ-ron mà còn cung cấp một môi trường hỗ trợ đầy

đủ cho các mạng nơ-ron tích hợp và tái hiện

Sử dụng Keras, tôi có thể xây dựng các mô hình sâu cho điện thoại thong minh

- cả Android và iOS hoặc cả Java Virtual Machine

* Giới thiệu về thư viện Numpy

Numpy (Numeric Python): là một thư viện toán học rất phổ biến và mạnh mẽ của Python NumPy được trang bị các hàm số đã được tối ưu, cho phép làm việc hiệu quả với ma trận và mảng, đặc biệt là dữ liệu ma trận và mảng lớn với tốc độ xử lý

nhanh hơn nhiều lần khi chỉ sử dụng Python đơn thuần

Hình 1 5 Giới thiệu về thư viện Numpy

Đây là một trong những thư viện hữu ich nhất của python, đặc biệt là nếu tôi đang tìm hiểu về các con số Vì phần lớn Khoa học Dữ liệu và Máy học xoay quanh Thống kê, nên việc thực hành trở nên quan trọng hơn nhiều NumPy được phát triển bởi Jim Hugunin Phiên bản ban đầu là Numarray được phát triển, có một số chức năng bố sung Năm 2005, Travis Oliphant đã tạo ra gói NumPy bằng cách kết hợp các tính năng của Numarray và gói Numeric

24

Sử dụng NumPy, lập trình viên có thể thực hiện các thao tác sau:

Trang 25

- Các phép toán toan hoc va logic trén mang

- Cac bién déi Fourier và các quy trình đề thao tac shape

- Cac phép toan lién quan dén dai sé tuyén tinh NumPy tich hop san cac ham cho đại số tuyến tính và tạo số ngẫu nhiên

NumPy - Sự thay thế hoàn hảo cho MatLab

NumPy thường được sử dụng cùng với các gói như SciPy (Python Scientific)

và Mat-plotlib (thư viện vẽ dé thị) Sự kết hợp này được sử dụng rộng rãi để thay thế cho MatLab, một nền tảng phô biến cho tính toán kỹ thuật Tuy nhiên, Python thay thế cho MatLab hiện được xem như một ngôn ngữ lập trình hoàn thiện và hiện đại hơn Điều quan trọng hơn cả là Numpy là một thư viện mã nguồn mở, miễn phí

so với MatLab là một thư viện mã nguồn đóng vả phải trả phí

* Những khả năng của Numpy:

-_ Numpy là một mô-đun mở rộng mã nguồn mở cho Python, cung cấp các chức năng biên dịch nhanh cho các thao tác toán học và số, thậm chí là với những

ma trận và mảng có lượng đữ liệu không lồ Bên cạnh đó các mô-đun cung cấp một thư viện lớn các chức năng toán học cấp cao đề hoạt động trên các ma trận

và mảng một cách dễ dàng và thuận tiện

- Numpy cung cấp những masked arrays đồng thời với mảng gốc Nó cũng đi

kèm với các chức năng như thao tác với hình dạng logic, biến đổi Fourier rời

rạc, đại số tuyến tính tong quat, va nhiều hơn nữa

- Méi khi tôi thay đổi đặc điểm của bất kỳ mảng N chiều nào, Numpy sẽ tạo các mảng mới cho mảng đó và xóa các mảng cũ

-_ Gói mô-đun này cung cấp các công cụ hữu ích để tích hợp với các ngôn ngữ lập trình khác Chẳng han nhu C, C++, và ngôn netr lap trinh Fortran

- Numpy cung cap cac chire nang tuong duong voi MATLAB Cả hai đều cho

phép người dùng thao tác nhanh hơn

* Giới thiệu về thư viện Pandas

Thư viện pandas trong python là một thư viện mã nguồn mớ, hỗ trợ đắc lực trong thao tac dữ liệu Đây cũng là bộ công cụ phân tích và xử lý dữ liệu mạnh mẽ của ngôn ngữ lập trình python Thư viện này được sử dụng rộng rãi trong cả nghiên cứu lẫn phát triển các ứng dụng về khoa học dữ liệu Thư viện này sử dụng một cầu trúc đữ liệu riêng là Dataframe Pandas cung cap rất nhiều chức năng xử lý và làm việc trên cấu trúc đữ liệu này Chính sự linh hoạt và hiệu quả đã khiến cho pandas được sử dụng rộng rãi

25

Trang 26

Pandas là một thư viện mã nguồn mở được xây dựng dựa trên NumÐPy, sử dụng thao tác và phân tích dữ liệu, được thiết ké dé cho phép tôi làm việc với dữ liệu được gan nhãn hoặc quan hệ theo cách trực quan hon

Hình 1 6 Giới thiệu về thu vién Pandas

-_ Có thê xử lý tập dữ liệu khác nhau về định dạng: Chuỗi thời gian, bảng không

đồng nhất, ma trận đữ liệu

- Kha nang import dữ liệu từ nhiều nguồn khác nhau như CSV, DB/SQL

- Có thế xử lý vô số phép toán cho tập dữ liệu: Subsetting, slicing, filtering,

merging, groupBy, re-ordering, and re-shaping

- Xử lý đữ liệu mất mát theo ý người dùng mong muốn: Bỏ qua hoặc chuyển

sang 0 Xử lý, phân tích dữ liệu tốt như mô hình hoá và thống kê

- Tích hợp tốt với các thư viện khác của python

- Cung cap hiéu suat tot

Dé cai dat pandas nếu téi co Anaconda chi can g6 conda install pandas hodc str dung tools pip pip install pandas

Sau khi cai dat xong, trong Python, tdi can khai bao import pandas dé co thé bat đầu sử dụng các hàm cua pandas Vi pandas la thu vién duoc su dụng thường xuyên nên nó thường được khai báo gọn lai thanh pd import pandas as pd pd co thé thay thế băng các từ khác, tuy nhiên tôi nên đặt là pd vì các tài liệu hướng dẫn đều ngầm quy ước như thé

Pandas có ba cấu trúc đữ liệu và nó được xây dựng dựa trên thư viện Numpy vậy nên chúng hoạt động rất nhanh và hiệu quả: Series, DataFrame, Panel Trong

đó Panel là mảng 3 chiều Panel thì không được sử dụng rãi như như Series hay DataFrame và nó cũng không dễ hiển thị hay trừu tượng hoá như màn một chiều và hai chiều, nên dưới đây mình chỉ giới thiệu Series và DataFrame

Tại sao lại dùng thư viện pandas?

DataFrame đem lại sự linh hoạt và hiệu quả trong thao tác dữ liệu và lập chỉ mục;

26

Trang 27

- Là một công cụ cho phép đọc/ ghi đữ liệu giữa bộ nhớ và nhiều định dạng file: csv, text, excel, sql database, hdf5;

- Lién két dé liéu thông minh, xử lý được trường hợp dữ liệu bị thiếu Tự động đưa

dữ liệu lộn xộn về dang co cau trúc;

- Dé dang thay đổi bố cục của dữ liệu;

- Tích hợp cơ chế trượt, lập chỉ mục, lay ra tập con từ tập dữ liệu lớn;

- Cé thé thêm, xóa các cột dữ liệu;

- Tập hợp hoặc thay đổi đữ liệu với group by cho phép tôi thực hiện các toán tử trên tập dữ liệu;

Hiệu quả cao trong trộn và kết hợp các tập dữ liệu;

-_ Lập chỉ mục theo các chiều của đữ liệu giúp thao tác giữa dữ liệu cao chiều và dữ liệu thấp chiều;

-_ Tối ưu về hiệu năng:

-_ Pandas được sử dụng rộng rãi trong cả học thuật và thương mại Bao gồm thống

kê, thương mại, phân tích, quảng cáo,

* Giới thiệu về thư viện Pillow- Xử lý hình ảnh

Pilow là một phần của PIL- Python Image Libary Pilow được xây dựng trên kiến trúc của PIL, nhưng sau đó, nó chuyên đổi thành một thứ thân thiện và tốt hơn,

những chuyên gia thường nói với nhau Pillow thật ra là bản nâng cấp của PIL

Hình 1 7 Giới thiệu về thư viện Pillow

Những khả năng của Pillow:

-_ Khi sử dụng Pillow, không chỉ có thê mở và lưu hình ảnh, mả còn có thê xử lý

đặc điểm của hình ảnh, chẳng hạn như màu sắc, độ mờ, độ sang, toi

- Pillow hé tro xt ly nhiéu tép hinh anh khac nhau nhu PDF, WebP, PCX, PNG,

JPEG, GIF, PSD, WebP, PCX, GIF, IM, EPS, ICO, BMP, va con nhiéu hon thé

27

Trang 28

- V6i Pillow co thé dé dang tao ra nhimg anh thu nho (thumbnails) cho hinh ảnh,

những ảnh thu nhỏ nảy mang hầu hết đặc điểm của hình ảnh và gần như không

khác gì ảnh gốc ngoại trừ chúng được thu nhỏ lại

- Pillow hé tro mét bé suu tap các bộ lọc hình ảnh như - FIND_EDGES, DETAIL,

SMOOTH, BLUR, CONTOUR, SHARPEN, SMOOTH_MORE, etc

- Pillow cung cấp sự hỗ trợ tuyệt vời từ cộng đồng người dùng của nó, những

người luôn sẵn sảng trả lời, thử thách và làm việc thông qua bắt kỳ câu hỏi nảo

* TensorFlow- Machine Learning

TensorFlow là một thư viện miễn phí mã nguồn mở dành cho machine learning

(học máy) Nó rất dễ đàng để học và sử dụng, bên cạnh đó nó còn có một bộ công cụ cực kỳ hữu ích và tiện lợi Tuy nhiên, khả năng của nó không chỉ giới hạn ở machine learning, Ta thể sử cho các luồng đữ liệu và nhiều chương trình khác nhau Rất đơn giản dé sử dụng được nó, bằng cách tải và cài đặt Colab Notebooks tir moi trinh duyệt

Trang 29

Một điểm thú vị của thư viện này là nó có thể giúp tôi tiết kiệm thời gian hơn cho

việc debug trong quá trình xây dựng mô hình và training thuật toán bằng cách sử

dung Eager Execution

- Với TensorFlow, tôi có thé dé dang di chuyén cac mé hinh Machine Learning cua

mình trên kho đữ liệu đám mây, trên mọi thiết bị hoặc bất kỳ trình duyệt nào

-_ TensorFlow đi kèm với một kiến trúc đễ học Tôi có thể nhanh chóng phát triển

mô hình của mình thành code và tạo ra các sản phâm dễ dàng hơn

* Matplotlib- Vẽ đồ thi 2D

Mapplotlib là một thư viện python sử dung Python Script dé giúp tôi tạo ra các

dé thi 2D thường được ứng dụng trong toán học và khoa học đữ liệu Thư viện này

có hỗ trợ tạo nhiều giao điểm giữa hai trục số trong cùng một lúc Bên cạnh đó, tôi cũng có thê dùng Matplotlib để thao tác trực tiếp đến các đặc điểm khác nhau của đồ

Hình 1 9 Giới thiệu về thư viện Matplotlib

Những khả năng của Matplotlib:

- Matplotlib co thé tao ra những dé thi chất lượng và xuất ra một cách dễ đàng và thuận tiện, hoàn toàn đáp ứng nhu cầu của mọi ngành học Các đồ thị được tạo ra bằng Matplotlib có sẵn bản sao cứng trên các nền tảng tương tác khác nhau

- Tôi có thể dung Matplotlib voi nhiều bộ céng cu nhu Python Scripts, [Python

Shells, Jupyter Notebook, va nhiéu céng cụ khác

29

Trang 30

30

Một số thư viện của bên thứ ba có thể được tích hợp với các ứng dụng Matplotlib Chăng hạn như seaborn, søplot, và các bộ công cụ chiếu xạ, mapping khác như basemap

Một cộng đồng các nhà phát triển tích cực luôn sẵn sàng trợ giúp tôi với bất kỳ thắc mắc nảo của tôi với Matplotlib Sự đóng góp của họ cho Matplotlib là rất

đáng khen ngợi

Ngoài ra, tôi còn có thê theo dõi bat kỳ lỗi nào phát sinh trong quá trình lập trình,

các bản vá mới, đồng thời còn có thê đóng góp các tính năng mới tại GitHub Đó

là một trang chính thức để nêu ra các vấn đề liên quan đến Matplotlib và cùng

giải quyết chúng

Trang 31

CHUONG 2: XAY DUNG HE THONG DIEM DANH BANG

NHAN DIEN KHUON MAT

2.1 Téng quan vé bai toan

2.1.1 Bài toán điểm danh nhận diện khuôn mặt

Hiện nay, bài toán nhận dạng được ứng dụng khá rộng rãi trong việc xác mình tội phạm, trong các ứng dụng bảo mật của máy tính hoặc trong việc nhận dạng khuôn mặt của người rút tiền tại các trạm rút tiền tự động ATM,

Trong phạm vi bài báo này sẽ giới thiệu một phương pháp để xây dựng một cơ

sở dữ liệu khuôn mặt từ ảnh tĩnh một cách tự động phục vụ nhận dạng dựa trên thuật toán phát hiện khuôn mặt sử dụng bộ phân loại mạnh AdaBoost Bên cạnh đó, nó còn tạo tiền đề cho việc trích lọc tất cả các khuôn mặt người có trong một video khi kết hợp cơ sở đữ liệu này với các thuật toán theo dõi đối tượng và giúp xây đựng chức năng đếm tong số các khuôn mặt xuất hiện trong đoạn video

Xây dựng CSDL khuôn mặt tự động từ ảnh

Một số hình thức điểm danh hiện nay:

e Điểm danh bằng cách gọi tên:

+ Ưu điểm: Không mắt phí, thực hiện đơn giản

+ Nhược điểm: Tốn nhiều thời gian, không chính xác

e© Điểm danh bằng vân tay:

+ Ưu điểm: Nhanh, bảo mật cao

+ Nhược điểm: Khó bảo trì sửa chữa, đễ lây bệnh truyền nhiễm

e©_ Điểm danh bằng thẻ:

+ Ưu điểm: Nhanh

+ Nhược điểm: Khó bảo trì sửa chữa, bảo mật kém

Từ những bất cập trên em đã tìm hiểu và phát triển hệ thống điểm danh dựa

vào nhận dạng khuôn mặt Trone đó hệ thống điểm danh bằng nhận dạng khuôn

mặt thực hiện tự động hoản toàn qua hình ảnh camera Hệ thống điểm danh tự động bằng nhận diện khuôn mặt đảm bảo tính chính xác, bảo mật cao đồng thời không gây phiền hà cho người sử dụng

Điểm danh bằng nhận diện khuôn mặt thông minh là giải pháp được sử dụng

và hoạt động dựa trên nền tảng của trí tuệ nhân tạo (AI) Nó có thể tự động xác định

hoặc nhận diện một đối tượng từ hình ảnh kỹ thuật số hoặc khung hình từ nguồn

video và so sánh, phân tích với hình ảnh khuôn mặt đã được lưu trữ trước đó

31

Trang 32

Giải pháp nhận diện khuôn mặt ứng dụng công nghệ sinh trắc học khá hiệu quả

và được ứng dụng rộng rãi tại các khu công nghiệp, văn phòng và ở các trường đại

học Giải pháp giúp người quản lý tiết kiệm được thời gian và chi phí nhân lực

nhưng vẫn đảm bảo độ chính xác của các dữ liệu được thu thập Quá trình hoạt động của hệ thống điểm danh bằng nhận diện khuôn mặt bao gồm những quá trình sau đây:

«_ Lấy mẫu: Camera giám sát sẽ tiến hành quét đối tượng và lấy mẫu khuôn mặt của đối tượng

« Phân tích dữ liệu: Các dữ liệu sau khi được thu thập sẽ được lưu trữ và trích xuất thành các hình ảnh, các mẫu

« So sánh dữ liệu: Các dữ liệu hệ thống vừa thu thập sẽ được đối chiếu với dữ liệu

đã được lưu trữ trước đó

«Hiến thị kết quả: Hệ thống điểm danh bằng nhận diện khuôn mặt sau khi phân

tích, đối chiếu sẽ cho ra kết quả nhận diện có hợp lệ hay không

2.1.2 Một số lĩnh vực ứng dụng phát hiện khuôn mặt người trong ảnh

Nhận dạng đối tượng giúp cơ quan chức năng quản lý: Dựa vào ảnh một người, nhận dạng xem người đấy có phải là tội phạm hay không bằng cách so sánh với các ảnh tội phạm đang được lưu trữ

Hệ thống camera quan sát, theo dõi và bảo vệ: Sử dụng camera để quan sát, theo dõi và phát hiện tội phạm trong đám đông Ví dụ như người đó có lấy trộm đồ, xâm nhập bất hợp pháp hay không- Giúp con người bảo mật: Các ứng dụng về bảo mật rat đa dạng, một trong số đó là công nghệ nhận dạng mặt người Ví đụ như công nghệ nhận dạng mặt người của laptop, để vào được laptop người dùng phải ngôi trước máy tính và phải sử dụng webcam để chụp ảnh khuôn mặt mình và cho máy

“học” thuộc các đặc điểm của khuôn mặt giúp cho quá trình đăng nhập sau này Lưu trữ khuôn mặt: Xác định mặt người có thê được ứng dụng trong các trạm rút tiền tự động đề lưu trữ khuôn mặt của người rút tiền đề tránh trường hợp chủ thẻ

bị mắt thẻ khi đó sẽ giúp nhân viên ngân hàng xử lý dễ dàng hơn

Một số ứng dụng khác của bài toán nhận dạng mặt người:

Ứng dụng của bài toán nhận diện khuôn mặt có rất nhiều và đã được triển khai tương đối hiệu quả trong quá trình thực tế Có thê kê đến một số ứng dụng điển hình sau đây:

Xac minh tội phạm

32

Trang 33

Dựa vào ảnh của một người, nhận dạng xem người đây có phải là tội phạm hay không bằng cách so sánh với các ảnh tội phạm đang được lưu trữ Hoặc có thé str dung camera dé phat hiện tội phạm trong đám đông Ứng dụng nảy giúp cơ quan an ninh quản lý con người tốt hơn

Camera chống trộm

Các hệ thống camera sẽ xác định đâu là con người và theo dõi xem con người

đó có làm gì phạm pháp không, ví dụ như lấy trộm đồ, xâm nhập bất hợp pháp vào một khu vực nào đó

Bảo mật

Các ứng dụng về bảo mật rất đa dạng, một trong số đó là công nghệ nhận dạng mặt người của laptop, công nghệ này cho phép chủ nhân của máy tính chỉ cần ngồi trước máy tính là có thể đăng nhập được Để sử dụng công nghệ này, người dùng phải sử dụng một webcam để chụp ảnh khuôn mặt của mình và cho máy “học” thuộc các đặc điểm khuôn mặt giúp cho quá trình đăng nhập sau này

Lưu trữ khuôn mặt

Xác định mặt người có thể được ứng dụng trong các trạm rút tiền tự động(ATM) để lưu trữ khuôn mặt của người rút tiền Hiện nay có những người bị người khác lay trộm thẻ ATM và mã PIN, và bị rút tiền trộm, hoặc có những chủ tài khoản ổi rút tiền nhưng lại báo với ngân hàng là bị mắt thẻ và bị rút trộm tiền Nếu lưu trữ được khuôn mặt của người rút tiền, ngân hàng có thê đối chứng và xử lý dễ đàng hơn

Các ứng dụng khác

Điều khiến vào ra:

- Văn phòng, công ty, trụ so

- An ninh sân bay, xuất nhập cảnh

- Tìm kiếm và tô chức dữ liệu liên quan đến con người thông qua khuôn mặt

người

- Kiểm tra trạng thái người lái xe

- Điểm danh ở doanh nghiệp, trường học

2.1.3 Những khó khăn và thách thức trong nhận diện khuôn mặt

Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm

70 Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt

được những kết quả mong muốn Chính vì thế, vấn đề này vẫn đang được nhiều

33

Trang 34

nhóm trên thế giới quan tâm nghiên cứu Khó khăn của bài toán nhận dạng mặt người có thê kế đến như sau:

Tư thế chụp, góc chụp: Ảnh chụp khuôn mặt có thể thay đối rất nhiều bởi vì góc chụp giữa camera và khuôn mặt Chắng hạn như: chụp thắng, chụp chéo bên trái 45° hay chụp chéo bên phải 45°, chụp từ trên xuống, chụp từ dưới lên, v v Với các

tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuát hết

Hình 2 1 Minh họa sự thay đôi góc chụp

Sự xuất liện hoặc thiểu ruột số thành phần của khuôn mặt: Các đặc trưng như: râu mép, râu hàm, mắt kính, v v có thê xuât hiện hoặc không Vân đề này làm cho bài toán cảng trở nên khó hơn rât nhiều

Hình 2 2 Minh họa sự thiếu thành phần

34

Trang 35

Sự biểu cảm của khuôn mặt: Biêu cảm của khuôn mặt con người có thê làm ảnh hưởng đáng kế lên các thông số của khuôn mat Chang han, cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi, v v d Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các khuôn mặt khác

Hướng của đnh (pose variafions): Các ảnh khuôn mặt có thê biên doi rat

nhiều với các góc quay khác nhau của trục camera Chăng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh

Điều kiện của ảnh: Ảnh được chụp trong các điêu kiện khác nhau về: chiêu sáng, về tính chât camera (máy kỹ thuật sô, máy hông ngoại, v v ), ảnh có chat

lượng thấp ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt

Trang 36

iPhone 8 Plus iPhone X

Hình 2 4 Camera ảnh hưởng tới chất lượng của ảnh 2.1.4 Hướng giải quyết

Hệ thống nhận điện gương mặt được chia thành hai giai đoạn chính là phát hiện sương mặt (Face Detection) và nhận diện sương mặt (Face Verifiaction) Mỗi giai đoạn hiện nay đều có nhiều thuật toán và các mô hình khác nhau Đề lựa chọn được mô hình phù hợp ta sẽ so sánh dựa trên 3 yếu tố sau: tốc độ xử lý, độ chính xác

và độ lớn của mô hình Sau khi lựa chọn được mô hình phù hợp và hiệu quả nhất, ta

sẽ xây dựng một hệ thống nhận diện pương mặt theo các mô hình được chọn

Quá trình xử lý của hệ thông có thê được mô tả theo như hình ở phía dưới:

VỊ trí i - Phân đoạn khuôn mặt ˆ khuôn mặt Phát hiện

khuôn mặt (Theo dõi)

Chỉ sô khuôn mặt

Khuôn mặt đã được phân đoạn

Véc-to ~ Rút trích band Phân lớp

36

Ngày đăng: 11/02/2025, 16:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] M Turk, A Pentland, "Eigenfaces for Recognition", Journal of Cognitive Neuroscience, vol 3, no 1, pp 71-86, 1991 Sách, tạp chí
Tiêu đề: Eigenfaces for Recognition
[12] "FloatBoost" is a boosting algorithm proposed by Stan Z Li and Zhen Qiu Zhang in their 2004 paper titled "FloatBoost - Stepping towards accurate and fast learning via multi-classifier cascades &#34 Sách, tạp chí
Tiêu đề: FloatBoost" is a boosting algorithm proposed by Stan Z Li and Zhen Qiu Zhang in their 2004 paper titled
[1] P Viola, M J Jones (2004), Robust real-time face detection, International Journal of Computer Vision Khác
[2] Y Freund, R Schapire (1997), A decision-theoretic generalization of on- line learning and an application to boosting, Journal of Computer and System Sciences Khác
[4] Rainer Lienhart, Jochen Maydt, An Extended Set of Haar-like Features for Rapid Object Dectection, Intel Labs, Intel Corporration, Santa Clara, CA 95052, USA Khác
[6] K K Sung, and T Poggio Example-based learning for view-based human face detection IEEE Trans Pattern Anal Mach Intelligence, 1998 Khác
[7] A Rajagopalan et al 1998 "Automatic and Accurate Face Detection in Color Images&#34 Khác
[8] Support Vector Machine (E Osuna et al 1997) [9] Mô hình Markov an (A Rajagopalan et al 1998) Khác
[10] các mô hình tăng cường (Adaboost của P Viola và M Jones 2001; FloatBoost do Stan Z Li va Zhen Qiu Zhang 2004) Khác
[11] Kanade, T (1973) Picture processing system by computer complex and recognition of human faces In Pattern Recognition and Image Processing (pp 226- 231) Khác
[13] Yang, M, Kriegman, D, &amp; Ahuja, N (2002) Detecting faces in images: A survey IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(1), 34- 58 Khác
[14] Kotropoulos, C, &amp; Pitas, 1 (1997) Face detection in color images using a skin color model and wavelet transform JEEE Transactions on Multimedia, 4(4), 540-551 Khác
[15] H Rowley's 1998 "Neural Network-Based Face Detection&#34 Khác
[16] H Schneiderman and T Kanade 1998 "Probabilistic Modeling of Local Appearance and Spatial Relationships for Object Recognition&#34 Khác
[17] E Osuna et al 1997 "Training support vector machines: an application to face detection&#34 Khác
[18]Stan Z Li and Zhen Qiu Zhang 2004 "A New Method for Multi-View Face Detection and Facial Feature Extraction&#34 Khác
[19] KJI Adebayo, OW Onifade, AS Akinmosin, SE Yussuf, and AM Dada Combating terrorism with biometric authentication using face recognition Information Technology for People-Centred Development (ITePED 2011) Khác
[21] TS Đỗ Năng Toàn, TS Phạm Việt Bình, Giáo trình xử lý ảnh, Nhà xuất bản Khoa học kỹ thuật, 2008 Khác
[22] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xứ lý ảnh số, Nhà xuất bản Khoa học và kỹ thuật, 1999 Khác
[23] TS Hồ Văn Sung Xử lý ảnh số lý thuyết và thực hành với Matlab Nhà xuất bản khoa học và kỹ thuật, 2009 Khác

HÌNH ẢNH LIÊN QUAN

Hình  1.  3  Các  thành  phần  của  thư  viện  OpenCV - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 1. 3 Các thành phần của thư viện OpenCV (Trang 22)
Hình  1.  9  Giới  thiệu  về  thư  viện  Matplotlib - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 1. 9 Giới thiệu về thư viện Matplotlib (Trang 29)
Hình  2.  1  Minh  họa  sự  thay đôi  góc  chụp - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 1 Minh họa sự thay đôi góc chụp (Trang 34)
Hình  2.  3  Ảnh  chụp  chân  dung  người  trong  các  điều  kiện  ánh  sáng  khác  nhau - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 3 Ảnh chụp chân dung người trong các điều kiện ánh sáng khác nhau (Trang 35)
Hình  2.  4  Camera  ảnh  hưởng  tới  chất  lượng  của  ảnh  2.1.4  Hướng  giải  quyết - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 4 Camera ảnh hưởng tới chất lượng của ảnh 2.1.4 Hướng giải quyết (Trang 36)
Hình  2.  7  Nhận  dang  khuôn  mặt  người  bằng  camera - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 7 Nhận dang khuôn mặt người bằng camera (Trang 38)
Hình  2.  9  Nhận  dạng  dựa  trên  phương  pháp  đối  sánh  mẫu  2.3.4  Hướng  tiếp  cận  dựa  trên  diện  mạo  (appearance-based) - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 9 Nhận dạng dựa trên phương pháp đối sánh mẫu 2.3.4 Hướng tiếp cận dựa trên diện mạo (appearance-based) (Trang 41)
Hình  2.  10  Cửa  số  phát  hiện đối  tượng  trong  hình  ảnh - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 10 Cửa số phát hiện đối tượng trong hình ảnh (Trang 43)
Hình  2.  12  Ví  dụ  về  phát  hiện  sai  khuôn  mặt  trong  ảnh  Đây  là  sự  cố  phô - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 12 Ví dụ về phát hiện sai khuôn mặt trong ảnh Đây là sự cố phô (Trang 44)
Hình  2.  16  Tính  nhanh  tông  giá  trị  pixel  trong  vùng  chữ  nhật  bất  ky - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 16 Tính nhanh tông giá trị pixel trong vùng chữ nhật bất ky (Trang 51)
Hình  2.  20  Mô  hình  phân  tầng  kết  hợp  các  bộ  phân  loại  yêu  để  xác  định - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 2. 20 Mô hình phân tầng kết hợp các bộ phân loại yêu để xác định (Trang 54)
Hình  3.  1  Giao  điện  chính  của  ứng  dụng  điểm  danh - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 3. 1 Giao điện chính của ứng dụng điểm danh (Trang 63)
Hình  3.  3  Chụp  ảnh  đối  tượng - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 3. 3 Chụp ảnh đối tượng (Trang 65)
Hình  3.  6  Tất  cả  thông  tin  đối  tượng  nhập  vào  chương  trình  sẽ  được  lưu  về  01 - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 3. 6 Tất cả thông tin đối tượng nhập vào chương trình sẽ được lưu về 01 (Trang 67)
Hình  3.  7  Kết  quả  của  chương  trình  trên  một  ảnh  mẫu - Xây dựng hệ thống chấm công bằng nhận diện khuôn mặt Đồ án tốt nghiệp Đại học
nh 3. 7 Kết quả của chương trình trên một ảnh mẫu (Trang 68)

TRÍCH ĐOẠN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

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