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

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Cải tiến hệ thống điểm danh sinh viên trong lớp học tự động bằng Dual Camera có tích hợp mạng CNN

72 0 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 đề Cải tiến hệ thống điểm danh sinh viên trong lớp học tự động bằng Dual Camera có tích hợp mạng CNN
Tác giả Huỳnh Thái Dương, Nguyễn Nhật Duy
Người hướng dẫn TS. Đoàn Duy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật Máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 72
Dung lượng 51,21 MB

Nội dung

Hiện trang hiện nay : Việc điểm danh vân tay trong các trường hoc là một công việc thường xuyên và tốn thờigian của giáo viên và học sinh trước mỗi giờ học.. Các hệ thống điểm danh vân t

Trang 1

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH

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

KHOA KỸ THUẬT MÁY TÍNH

HUỲNH THÁI DƯƠNG

NGUYEN NHẬT DUY

KHÓA LUẬN TÓT NGHIỆP

CẢI TIEN HE THONG DIEM DANH SINH VIÊN TRONG

LỚP HỌC TỰ ĐỘNG BANG DUAL CAMERA CÓ TÍCH

HỢP MẠNG CNN

Improved the student attendance system in the classroom

automating by Dual Camera to integrate CNN

KY SƯ KY THUAT MAY TÍNH

TP HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

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

KHOA KỸ THUẬT MÁY TÍNH

HUỲNH THÁI DƯƠNG - 15520145

NGUYÊN NHẬT DUY - 15520166

KHÓA LUẬN TÓT NGHIỆP

CẢI TIEN HE THONG DIEM DANH SINH VIÊN TRONG LỚP HỌC TỰ DONG BANG DUAL CAMERA CÓ TÍCH

HỢP MẠNG CNN

Improved the student attendance system in the classroom

automating by Dual Camera to integrate CNN

KY SU KY THUAT MAY TINH

GIANG VIEN HUONG DAN

TS Doan Duy

Trang 3

TP HÒ CHÍ MINH, 2021

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định sé 462/QD-DHCNTT

ngày 23 tháng 07 năm 2021 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

LOI CAM ON

Dé có thé hoàn thành tốt dé tài khóa luận này, chúng em thật sự tỏ lòng biết ơn đến TS.Nguyén Minh Sơn và TS.Đoàn Duy đã hướng dẫn, hỗ trợ chúng em tận tình trong quá trình làm khóa luận, cũng như đưa ra những đề xuất, lời khuyên dé giúp chúng em có thể phát triển, cải thiện để tài của mình một cách tốt đẹp nhất Nếu không có sự giúp đỡ ấy, chúng em khó

lòng mà có thể hoàn thành được khóa luận này.

Chúng em cũng xin chân thành cảm ơn quý thầy cô, cán bộ công nhân viên nhà trường

cũng như quý thầy cô khoa Kỹ Thuật Máy Tính, trường Dai học Công nghệ Thông tin, TP.HCM đã tận tình truyền đạt kiến thức và kinh nghiệm cho chúng em trong suốt những năm

ĐHQG-học qua Kho kiến thức và kỹ năng chuyên môn quý báu mà các thầy cô truyền đạt lại đã giúp

đỡ chúng em rat nhiều trong quá trình nghiên cứu và thực hành Và đó cũng là hành trang quý

báu cho chúng em vững bước trong công việc sau này.

Trang 5

MỤC LỤC

Chương 1 TONG QUAN 2c 222212221 2EE2123E21212121112111 211111 cee 1

1.1.Hiện trạng hiện may : - + 2222222912121 2 51917121111 1717111111111 111 re 2

B8 cố 3

1.1.2.Nội dung thực hiện : - -¿- + ¿6 12212211 1 11 11 1E E1 01 2101 1g re 3

1.1.3.Phương pháp: - ¿+11 H220 11 1212112121010 111g ve 4

1.1.4.Giới hạn đề tài và kết quả mong đợi :

Chương 2 CƠ SỞ LÝ THUYẾT 22-©2+22E++22EE++t2EE++ttrxrrerrrrrrrrrs 5

2.1.Giới thiệu về Deep learning: :-2222+2222++222EEE2E AE 5

2.1.1.Neural network: óc 222211 12122 919121211 10101212 121210101 1010.010101 5

2.1.2.Deep Neural NÑetWOrK: c2 22.2 v2 1219101212110 5

2.1.3.Deep Learning: - cà th 12H11 HH1 H10 101 11x re 6

2.2.2.IDIÏb: càng HH 11110000011 111101100 0 P5) on 0

Trang 6

2.4.1.Facial Landmar[ Í⁄4] - c1 111191131 9118 1E 191 vn nh ng rưy 9

2.4.1.1.Facial Landmark : c1 91 E1 1E E1 91 211 ng HH Hàn 9

2.4.1.2.Tìm hiểu bộ xác định facial landmark của Dlib : - 5555555 20

2.4.2.R€esNet: HH HH HH HH HH TH HH HH Hy 21

2.4.2.1.Convolutional Nerural Network (CNN)[ I7]: +-s++ex<<ssesexss 21

2.4.2.2.Sự xuất hiện mạng ResÌNet: -: 2222222221222 E2EECEEEEerrkrerkrrrer 25

b8 0y) 26

2.4.3.1.TỔng qUAH: 22:2225222222232E21222112221122212711271122711211227112111 211 E1 re, 26

2.4.3.2.Các bước trong KNN: - -: + cn t2 27 2.5.Web Application: 30 P0 30

P U ố n ốốố ố 30

Chương 3 PHAN TÍCH VÀ THIET KE HE THÓNG: - 31

3.1.Tổng quan hệ thống : . 22-©22¿2©2++2E+++2E++EEEE+SEEEEEEEtEEEvtEErrsrrrrrrrree 31

3.1.1 Téng quan toàn bộ của hệ thống: 2-22 ©+z+2+++22E+t22EEt2Exerxxrersree 31

3.1.2.Xây dựng hệ thống nhận diện khuôn mặt: 5+ 55+ + *++xs+s+ss+ 33

3.2.Thiết kế web :.

3.2.1 Database ốẻẻẦẦẦ.ẦẦẦ 37

Trang 7

3.2.3 Giải thuật điểm danh tự ỘNĐ:: - ng nh Hàn HH 51 Chuong 4 THUC NGHIEM VA KET QUẢ: -2¿52-z+2sz+cssesrx 52

lun 52

4.2.Phát hiện khuôn mặt và định danh 53

AB.Daamh gids an 53

Chương 5 KET LUẬN VÀ HƯỚNG PHAT TRIÊN: -ð8

Trang 8

h 1.1: Sơ đồ mô phỏng cấu trúc một neural network đơn -:-2 5

h 2.1: Cấu trúc của Deep Neural NetWOrk . -2¿222zzcecvvreccvrrrrrrsee 6

h 2.2: Logo OpenC V - +: 5+2 121212 9121212111 171 7121111110171 11011111 rr 7 2.3: Minh hoa tinh năng OpenC V ¿+ + xxx k2 HH gưưn 8 2.4: Logo DLID oo cece cccccceteeeeeeseseeneeeeseseseneeseseseseeeessesesensesssesenensesseesenes 10

h 2.5: Logo Qt

h 2.6: Nvidia Jetson Nano 5c + + Street 15

2.7: Thông sé JETSON NANO DEVELOPER KIT cơ bản - 16

h 2.8: Độ phổ biến của các ngôn ngữ lập trình trên thé giới 18

2.9: Facial landmark xác định 68 điểm trên khuôn mặt - 20

2.10: Mô tả quy trình tiếp nhận và xử lý dữ liệu mang CNN

h 2.11: Mô tả quá trình tích chập và kết qua đầu ra tương ứng 2

h 2.12: Phép phân tích pooling - -¿-¿ - ¿+ ¿5+ +52 *+*+++*£2£+£+zvzererserxreers 23

h 2.13: Phép làm phẳng 22:22 ©252222+2EEE2ESE2EEEEEEEESEEErEEkrrrrrrrrrrrrrk 24

2.14: Mạng thần kinh đã được làm phẳng -¿225+++ccvvvesrrr 24

2.15: Chuỗi các vector ảnh sau khi phân tách - -:-¿-z++cs++csz++ 24

h 2.16: Van đề suy thoái mạng neural -©z+2+2£+++2zx++tzxzzzzxzsrx 25

h 2.17: ResNet sử dụng kết nối tắt xuyên qua một hay nhiều lớp

h 2.18: Minh hoa 00.900 1 27 2.19: Minh hoa ChO 01 28

h 2.20: Minh hoa 80 vÀ 0 1 29 2.21: Logo PHP - ¿+ 11121111111 101 1T HT TH HT Hàng ghế 30

h 2.22: Logo LAFAVGÏ, - 5c E1 212511151 231E1E51 21111 01 1 H1 01 1H HH rê 30

Trang 9

Hình 2.23: Laravel tuân theo Mô hình MVC - 22c ccccesz 31Hình 3.1: Sơ đồ tổng quát hệ thống điểm danh 5 + s2 £s+£+zx+£zx+=+2 32

Hình 3.2: Sơ đồ hệ thống thiết bị nhúng 2- 2 ¿52x ++S£+£++E+Eezxezxzzxzse2 33

Hình 3.3: Sơ đồ lay mẫu dữ liệu khuôn mặt trước nhận dạng - +: 34

Hình 3.4: Quy trình lấy mẫu ¿- ¿- ¿5£ +2SE2E+2EE2E2E£EEEEESEEEEEEerxerxerreree 36

Hình 3.5: Database - - - Gà T g n rự 38

Hình 3.6: Trang đăng nhập hệ thống - ¿2 - ¿2E +E££E+E+E£EE+E+EeEErErEerersrkee 40

Hình 3.7: Trang hệ thống quản lý điểm danh sinh viên -. 52-522 40

Hình 3.8: Trang quản lý điểm danh - 2 2-5 S22E+E£EEE£E£E£EE£EeEeEErkrrerersrkee 4I

Hình 3.9: Trang thông tin điểm danh lớp học -: : ¿5 ++5+22++xz+x+zxez+zz+zs+2 42

Hình 3.10: Trang quản lý lớp hỌC c2 3322011181339 113 931111 re 43

Hình 3.11: Trang quản lý thông tin lớp hỌc <5 52+ Ex+sseeeereeeeeeeeres 44

Hình 3.12: Trang quản lý thông tin danh sách sinh viên -.- «+ << «<<+++ 45

Hình 3.13: Trang quản lý thông tin thêm mới sinh viên ««<<>5+ 46

Hình 3.14: Trang quản lý thông tin edit sinh viÊn - - 55+ *£++sc+sseeesss 46

Hình 3.15: Giao điện khi bật thiết bị -:- ¿52-52 2E2222E22E2ECEE2EEEEErkerrkerrrrrree 47

Hình 3.16: Giao diện tính năng ““VIIDEO” - c1 1191 1 vn re 48 Hình 3.17: Giao diện khi click/touch chọn icon “AIDDMIN” -ssss s52 48

Hình 3.18: Giao diện khi đăng nhập thành công vào Admin - 49

Hình 3.19: Giao diện thêm ID sinh viên vào cơ sở dit liệu - - - 49

Hình 3.20: Quá trình tra1nn1g - - - c6 1111139 10111119 911 ng ng re 50

Ipi1:6/2006-1i10i0à419)59n e 51

Hình 4.1: Thiết bị điểm danh o sseecseecssseessseessseesseessesesseesseesseeesseeesneessneeesneessnss 52

Hình 4.2: Phát hiệ khuôn mặt và định danh 5555555555 << <<<<<<<<<+<++++<+<sss 52 Hình 4.3: Nhận diện và định danh khoảng cách 2m - 55+ +++<>+++ee+s+ 53

Trang 10

Hình 4.4: Nhận diện và định danh khoảng cách 4m - 55+ +++<s<>+++sex+s+ 54

Hình 4.5: Nhận diện và định danh khoảng cách 7m 5655 +5<<£+++xe+s+ 54

Hình 4.6: Nhận diện và định danh khoảng cách IÖm -.- 555 +5<<<>+++<e+s+ 55

Hình 4.7: Nhận diện với góc nghiêng khoảng 30 độ - 5-55 <s+++<<<cs+2 55

Hình 4.8: Biêu đồ Độ chính xác (%) khi phát hiện và nhận diện theo khoảng cách 56

Hình 4.9: Lúc chưa có đối tượng -¿-¿- - + +s+x+E+EE+E+E£EEEEEEEEEEEEEEEEEErErkerrkrkee 57

Hình 4.10: Tài nguyên sử dụng CPU - - -G 1 211v ng ng re 57

Hình 4.11: Biểu đồ thời gian sử lý trên 1 khung hình giữa GPU va CPU 58

DANH MUC BANG

Bang 2.1: Các thành phan của Qt cccccccccccscsscsessssesessescsessssssesesssesessesesesesssseseeseess 14

Bang 2.2 : Các thông số của Jetson Nam0 ceccccccccsccsescssssessssesesessesesessesesesessessseeseaes 17

Bảng 4.1 : Bảng số liệu thời gian thực thi hệ thống -. 2:55 252552552 56

DANH MUC TU VIET TAT

Cum tù/Kí hiệu Mô tả

REID Radio Frequency Identification

CNN Convolutional Neural Network

FPS Frames-per-second

GPU Graphics Processing Unit

CPU Central Processing Unit

GUI Graphical User Interface

GCC GNU Compiler Collection

Trang 11

XML Extensible Markup Language

JSON JavaScript Object Notation

AI Artificial Intelligence

SO-DIMM Small Outline Dual In-line Memory Module

HDMI High-Definition Multimedia Interface

SDIO Secure Digital Input Output

ĐC Inter-Integrated Circuit

UART Universal Asynchronous Receiver-Transmitter

MIPI-CSI MIPI Camera Serial Interface

ARM Advanced RISC Machine

RAM Random Access Memory

PCIe PCI Express

GFLOPS Giga Floating Point Operations Per Second

LPDDR Low-Power Double Data Rate

SDK Software Development Kit

OpenCV Open Source Computer Vision Library

HTML Hypertext Markup Language

CSS Cascading Style Sheets

MySQL "My" is the name of co-founder Michael Widenius's daughter

and "SQL" is Structured Query Language

QML Qt Modeling Language

JSON JavaScript Object Notation

CUDA Compute Unified Device Architecture

KNN K-Nearest Neighbors

Trang 12

PHP | Hypertext PreprocessorMVC | Model View Controller

Trang 13

TÓM TẮT KHÓA LUẬN

Điểm danh là một công việc thường xuyên tại các cơ quan nhà nước, doanh nghiệp, trườnghọc, tuy nhiên hiện nay công việc điểm danh này tại hầu hết các trường học, doanh nghiệp vàcác cơ quan vẫn còn thực hiện thủ công bằng tay hoặc nhận diện vân tay làm tiêu tốn nhiềukhá nhiều thời gian và dé xảy ra sự cố khi có tác động từ môi trường (mưa làm ướt vân tay,tiêu tốn tài nguyên nhân lực dé điểm danh, )

Từ đó chúng tôi xây dựng hệ thống điểm danh sinh viên trong lớp học tự động băng DualCamera có tích hợp mạng CNN kết hợp hệ thống nhúng trong phạm vi lớp học Bằng cách sửdụng board Jetson Nano để xử lý ảnh và đưa dữ liệu điểm danh lên Website dé tự động cậpnhật dữ liệu và quản lý, kiểm soát người dùng, kiểm tra việc điểm danh của sinh viên Thôngbáo quá trình học tập trên lớp của sinh viên đến phụ huynh một cách chính xác và nhanh chóngnhất

Trang 14

Chương 1 TONG QUAN

1.1 Hiện trang hiện nay :

Việc điểm danh vân tay trong các trường hoc là một công việc thường xuyên và tốn thờigian của giáo viên và học sinh trước mỗi giờ học Các hệ thống điểm danh vân tay tự động

hiện nay thường chỉ có một cơ sở đữ liệu mẫu hạn chế nên không đáp ứng đủ cho trường hợp

sỐ lượng sinh viên hoặc học sinh lớn Đồng thời việc điểm danh tự động trong trường học hiện

nay thường là sử dụng các hệ thống máy chấm công vân tay, các hệ thống này chỉ xác nhậnđơn lẻ thông tin sinh viên tham gia hay không tham gia tại một địa điểm cố định nao đó

Điểm danh là một công việc thường xuyên tại các đơn vị trường học, tuy nhiên hầu hết cáctrường học hiện nay thì công việc này đang được thực hiện bằng tay Nghĩa là mỗi giáo viênhoặc người quản lý sẽ phải gọi tên và kiểm tra sự có mặt của học sinh hoặc sinh viên trước giờ

học, hoặc trước giờ thi Việc này gây mat thời gian đồng thời có thé có hiện tượng mạo danh

Có nhiều giải pháp công nghệ dé tự động hóa quá trình điểm danh một cách tự động và hạn

chế việc giả mạo như nhận dạng giọng nói, thẻ từ RFID, nhập mã số, nhận dạng ảnh Mỗi công

nghệ đêu có các ưu và khuyêt điêm riêng.

— Phương pháp nhận dạng tiếng nói chưa đạt độ chính xác tin cậy, tại lúc điểm danh có

nhiều sinh viên hỗn loạn gây nhiễu sẽ càng làm giảm chất lượng nhận dạng

— Phương pháp thẻ từ RFID đạt độ chính xác tin cậy nhưng dễ bị làm giả và tốn nhiều

chi phí cho việc cấp phát thẻ

— Phương pháp nhập mã số đơn giản, chính xác 100% nhưng dễ bị giả mạo do học sinh,

sinh viên có thê cung câp mã cho người khác.

Chúng tôi có một giải pháp có thé giải quyết các nhược điểm trên Đó là điểm danh bằngcách sử dụng công nghệ xử lý ảnh Trên thế giới, khu vực Newham của London, Anh, trướcđây đã thử nghiệm hệ thống nhận dạng khuôn mặt được tích hợp vào hệ thống camera khu vực

lân cận hay ở Sân bay quốc tế Tocumen ở Panama vận hành hệ thống giám sát toàn sân bay sử

dụng hàng trăm camera nhận dạng trực tiếp khuôn mặt để xác định các cá nhân đi qua qua sânbay (trích Wikipedia) Tại Việt Nam, việc áp dụng công nghệ xử lý ảnh vào thực tế là một tháchthức về công nghệ và tài chính Chi một số nhà hàng, khách san và siêu thi dùng dé nghiên cứu

hành vi người dùng.

Trang 15

1.1.1 Mục tiêu đề tài :

Xây dựng hệ thống điểm danh tự động sử dụng công nghệ xử lý ảnh trên board Jetson Nanovới độ chính xác cao, thời gian thực hiện ngắn Cu thé hơn:

1.1.2.

Hiện thực được hệ thống điểm danh tự động trên một lớp học và cập nhật thông tin điểm

danh sinh viên trên website.

Website cập nhật thông tin điểm danh sinh viên trong một lớp học day đủ

Xử lý và cải tiễn thuật toán, tăng tốc FPS sử dụng GPU trên board Jetson Nano nhằmtăng hiệu năng tối đa của hệ thống điểm danh

Camera với điều kiện ánh sáng đầy đủ, hệ thống sẽ tự động nhận diện, điểm danh sinh

viên (1 Camera gan va 1 Camera xa)

Hệ thống nhận dang qua video quay từ 2 camera trên thiết bi nhúng

Kết quả mong đợi: Hệ thống hoạt động chính xác dự kiến > 90% (khi cả 2 Camera đượclắp đặt phía trên bảng với góc nghiêng 30 độ hướng xuống ché ngồi các sinh viên trong

điêu kiện ánh sáng đây đủ và sinh viên phải nhìn vê hướng camera).

Nội dung thực hiện :

Nghiên cứu thuật toán nhận dạng người và website thống kê điểm danh:

o Tìm kiếm các tài liệu liên quan machine learning, các thuật toán về machine

learning, các tài liệu dé xây dựng một website

o Nghiên cứu, đọc hiểu, chọn lọc những tài liệu phù hợp có thé áp dụng cho đề tài

Thực hiện thuật toán trong hệ thống nhúng:

o Mô tả thiết kế hệ thống

o Chuan bị môi trường bao gồm các thư viện liên quan

o_ Lập trình các chức năng của hệ thống.

Xây dựng website điểm danh:

o_ Thiết kế và xây dựng giao diện cho website

o Thiết kế và xây dựng back-end của website

o_ Thiết kế và quản lý Database của website

©_ Quản lý Database và Website trên Server Internet.

Đánh giá hiệu suất của hệ thống thông qua độ chính xác và thời gian hoàn thành điểm

danh đôi với từng đôi tượng sinh viên:

Trang 16

Nghiên cứu thuật toán về machine learning như: CNN, MobileNetV1,

Sử dụng các thu viện như: Dlib, OpenCV

Về phần cứng:

Thiết lập Linux trong jetson nano va cài đặt thư viện.

Training model hoặc sử dụng model san có và tôi ưu hóa cơ sở dữ liệu đê cải thiện

hiệu suat

Giới hạn đề tài và kết quả mong đợi:

2 Camera đặt từ trên bảng nhìn xuống với góc nghiêng 30 độ hướng xuống sinh viên,với điều kiện ánh sáng đầy đủ, hệ thống sẽ tự động điểm danh sinh viên

Website quản lý và cập nhật đầy đủ các chức năng thêm, xóa, sửa và quản trị hệ thốngđiểm danh thông tin sinh viên, lớp học, thời khóa biểu, danh sách các thiết bị nhúng,

danh sách lớp học.

Giới hạn điểm danh sinh viên khoảng 30 sinh viên/ 1 lớp.

Hệ thống nhận dạng qua video quay từ camera trên thiết bị nhúng

Kết quả mong đợi : Hệ thống hoạt động chính xác dự kiến >= 90%

Trang 17

Chương 2 CƠ SỞ LÝ THUYET

2.1 _ Giới thiệu về Deep learning:

2.1.1 Neural network:

Neural network là một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các

mang neural sinh học Nó gồm có một nhóm các layer nối với nhau, và xử ly thông tin bằng

cách truyền theo các kết nối và tinh giá trị mới tại các layer.

Thành phần cơ bản của mô hình neural network chia làm 3 phần: layer đầu tiên là input

layer, các layer ở giữa được gọi là hidden layer, layer cuối cùng được gọi là output layer Các

lớp này có nhiệm vụ xử lý tín hiệu nhận được theo thứ tự lớp sau nhận giá trị output của lớp

trước dé tiến hành Việc các lớp này xử lý theo cách nào thường phụ thuộc vào từng yêu cầu

khác nhau Số lượng các lớp ẩn (hidden layer) là không giới hạn Số lớp ân và cách xử lý ở

từng lớp ké trên sẽ quyết định kết qua và hiệu quả của công việc cần xử lý.

Hình 1.1 : Sơ đồ mô phỏng cấu trúc một neural network đơn

2.1.2 Deep Neural Network:

Để hiểu về Deep Learning, trước tiên ta cần tìm hiểu về Deep Neural Network.

Trang 18

Hình 2.1 : Cấu trúc của Deep Neural Network [1]

Deep neural network là hệ thống cấu trúc thần kinh phức tạp gồm nhiều don vị neural network mà trong đó, ngoài các lớp nguồn vào nguồn thì có hơn một lớp ẩn Mỗi lớp này sẽ thực hiện một kiểu phân loại và sắp xếp riêng trong một quá trình ta gọi là “phân cấp tính năng” và mỗi lớp đảm nhiệm một trọng trách riêng, output của lớp này sẽ là input của lớp sau.

2.1.3 Deep Learning:

Deep Learning là khả năng máy tự đào sâu học hỏi nhờ vào công nghệ Deep Neural

Network dé từ đó xử lý và giải quyết những dit liệu phi định danh hay phi cấu trúc.

Deep Learning hay còn gọi là học sâu, đây là định nghĩa về một phần các thuật toán trong Machine Learning (Máy học) với đặc thù mang độ phức tạp cao hơn Trong thực tế, Deep Learning bao gồm nhiều lớp an trong một mạng lưới thần kinh và thuộc lớp cuối cùng Việc

đi qua nhiều số lượng lớp và mạng phức tạp được cho là độ sâu, độ sâu hơn có nghĩa là khả

năng nhận dạng các vật mẫu lớn hơn, với nguồn dũ liệu thông tin lớn hơn sẽ giúp tăng cường khả năng tiếp nhận các đối tượng trở nên rộng hơn và chỉ tiết hơn.

Trang 19

2.2 Tổng quan về OpenCV, Dlib, MXNet và nemn:

2.2.1 OpenCV [2]:

GY

OpenCV

Hinh 2.2: logo OpenCV

OpenCV là một thư viện mã nguồn mở hàng dau cho thi giác máy tinh (computer vision),

xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực OpenCV

được phát hành theo giấy phép BSD(*), do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế dé tính toán hiệu quả và với sự tập trung nhiều vào các

tối ưu, thư viện này có thê tận dụng được bộ xử lý đa lõi (multi-core processing).

Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi Được

sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng

download vượt quá 6 triệu lần Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đỗ trên web hoặc công nghệ robot.

(*) Giấy pháp BSD: dành riêng cho các loại mã nguôn mở nhằm cho phép sử dụng miễn phí

và hạn chế toi da các rào cản luật lệ thông thường Giáy phép BSD là một giấy phép đơn giản

chỉ yêu câu tat cả các mã được cấp phép theo giấy phép BSD nếu được phân phối lại ở định

dạng mã nguồn.

Trang 20

2.2.1.1 Tinh năng và các module phổ biến của OpenCV:

Theo tinh năng và ứng dung của OpenCV, có thé chia thư viện này thánh các nhóm tính

năng và module tương ứng như sau:

— Xử lý và hién thị Hình ảnh/ Video/ I/O (core, imgproc, highgui).

— Phát hiện các vật thê (objdetect, features2d, nonfree)

— Geometry-based monocular hoặc stereo computer vision (calib3d, stitching, videostab).

— Computational photography (photo, video, superres).

— Machine learning & clustering (ml, flann).

— CUDA acceleration (gpu).

Trang 21

OpenCV có cấu trúc module, nghĩa là gói bao gồm một số thư viện liên kết tinh (static

libraries) hoặc thư viện liên kết động (shared libraries) Xin phép liệt kê một số định nghĩa chitiết các module phô biến có sẵn [3] như sau:

— Core functionality: Module nhỏ gọn đề xác định cau trúc dit liệu cơ bản, bao gồm mang

đa chiều dày đặc và nhiều chức năng cơ bản được sử dụng bởi tất cả các module khác

— Image Processing: Module xử lý hình ảnh gồm cả lọc hình ảnh tuyến tinh và phi tuyến

(linear and non-linear image filtering), phép biến đổi hình học (chỉnh size, afin va warpphối cảnh, ánh xạ lại dựa trên bảng chung), chuyền đôi không gian màu, biểu dé, vànhiều cái khác

— Video Analysis: Module phân tích video bao gồm các tinh năng ước tính chuyền động,

tách nên, và các thuật toán theo dõi vật thé

— Camera Calibration and 3D Reconstruction: Thuật toán hình học đa chiều cơ bản, hiệu

chuẩn máy ảnh single và stereo (single and stereo camera calibration), dự đoán kiểudang của đối tượng (object pose estimation), thuật toán thư tín âm thanh nổi (stereo

correspondence algorithms) và các yếu tố tái tạo 3D

— 2D Features Framework: Phát hiện các đặc tính nồi bật của bộ nhận diện, bộ truy xuất

thông số, thông số đối chọi

— Object Detection: Phát hiện các đôi tượng và mô phỏng của các hàm được định nghĩa

sẵn — predefined classes (vd: khuôn mặt, mắt, cốc, con người, xe hoi, )

— High-level GUI: Giao điện dé dùng dé thực hiện việc giao tiếp UI đơn giản

— Video I/O: Giao diện dé dùng dé thu và mã hóa video GPU — Các thuật toán tăng tốc

GPU từ các modun OpenCV và một số module hỗ trợ khác, ví dụ như phu và Google

test wrapper, Python binding, v.v

Trang 22

2.2.2 Dlib:

Dib

Hinh 2.4: logo Dlib

[4] Dlib là một bộ công cụ viết trên C++ chứa các thuật toán machine learning và các công

cụ dé tạo phần mềm C++ phức tạp dé giải quyết các van dé trong thé giới thực

Dlib được sử dụng trong cả ngành công nghiệp và học thuậ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 máy tính hiệu suất cao lớn Vì là phầnmềm mã nguồn mở , Dlib cho phép bạn sử dụng nó trong bat kỳ ứng dụng nào và hoàn toàn

miễn phí.

Kể từ khi bắt đầu phát triển vào năm 2002, Dlib đã phát triển dé bao gồm nhiều loại công

cụ Dlib hỗ trợ nhiều công việc khác nhau như threading, networking, numerical operations,

machine learning, computer vision, compression

Trong lĩnh vực computer vision, dlib có các api giúp chúng ta thực hiện các công việc như: Facial landmark detection, Correlation tracking, Deep metric learning.

2.2.3 Nenn:

2.2.3.1 Nenn là gi:

[5] Ncnn là một framework hỗ trợ mang neural hiệu suất cao được tối ưu hóa cho các nền

tang di động Nenn rat chú trọng về việc triển khai và sử dụng trên thiết bi di động ngay từ khibắt đầu thiết kế Nenn không phụ thuộc bên thứ ba, đa nền tảng và chạy nhanh hơn tat ca các

khuôn khổ nguồn mở đã biết trên CPU của thiết bị di động Các nhà phát triển có thé dé dàng

10

Trang 23

sử dụng Nenn để triển khai các thuật toán học sâu cho nền tảng di động và Nenn hiện đang

được sử dụng rộng rãi trong nhiêu ứng dụng của Tencent Một sô tính năng nôi bật của Ncmn:

— Hỗ trợ mạng neural chập sâu, hỗ trợ nhiều đầu vào và cấu trúc đa nhánh, có thé tính

toán một phần của nhánh

— Không phụ thuộc thư viện của bên thứ ba hoặc bất kỳ framework nào khác.

— Triển khai trên C ++ thuần túy, đa nền tảng, hỗ trợ hệ điều hành Android, iOS

— Thiết kế cấu trúc dit liệu và quản lý bộ nhớ tinh vi, dung lượng bộ nhớ rất thấp

— Thiết kế mô hình có thé mở rộng, hỗ trợ lượng tử hóa 8 bit, có thé import các mô hình

niêm yết công khai, và Qt Project dưới quản lý mã nguồn mở, liên quan đến các nhà phát triển

cá nhân và các công ty làm việc dé thúc đây Qt Qt có sẵn theo cả giấy phép thương mại nguồn

mo.

11

Trang 24

Mục đích và khả năng : Qt được sử dụng dé phát triển giao điện người dùng đồ họa và cácứng dụng đa nền tảng chạy trên tất cả các nền tảng máy tính đề bàn lớn và hầu hết các nền tảng

di động hoặc nhúng Hầu hết các chương trình GUI được tạo bang Qt đều có giao diện tự nhiên,

trong trường hợp nay Qt được phân loại là widget toolkit Ngoài ra các chương trình không

phải GUI cũng có thể được phát triển, chăng hạn như các công cụ dòng lệnh và consoles cho

server Một ví dụ về một chương trình không phải GUI sử dụng Qt là khung công tác webCutelyst Qt hỗ trợ các trình biên dịch khác nhau, bao gồm trình biên dịch GCC C++ và bộVisual Studio và có hỗ trợ quốc tế hóa rộng rãi Qt cũng cung cấp Qt Quick, bao gồm một ngôn

ngữ kịch bản lệnh được gọi là QML cho phép sử dụng JavaScript để cung cấp logic Với Qt

Quick, việc phát trién ứng dụng nhanh chóng cho các thiết bị di động trở nên khả thi, trong khilogic vẫn có thé được viết băng mã gốc dé đạt được hiệu suất tốt nhất có thể Các tính năngkhác bao gồm truy cập cơ sở dữ liệu SQL, phân tích cú pháp XML, phân tích cú pháp JSON,

— Sắp tới sẽ hỗ trợ thêm Tizen, hệ điều hành dựa trên Linux cho nhiều loại thiết bi, OS

phát triển bởi Linux Foundation, Samsung, Intel, LG, Vondafone, (các thành viên của

Tizen Association).

— Các hệ điều hành nhúng như: Android/Linux/Windows Embedded

2.2.4.2 Các thành phần của Qt [7]:

12

Trang 25

Module Description

Qt Core Chứa các thành phần cơ sở, bao gồm các containers (tương tự thư

viện chuẩn của các ngôn ngữ lập trình: QVector, QList, QMap, ),

các thư viện nhập xuất đa nền tang, lập trình đa luồng (threading) và

xử lý song song (concurrency),

Qt GUI Thành phân chính đề lập trình giao diện.

Qt Widgets | Các widget Button, hộp thoại va những thứ tương tự trong giao diện

đều gọi là các widget

Qt QML Hỗ trợ cho QML va Javascript QML (dựa trên Javascript) là một

ngôn ngữ dé viết giao diện cho ứng dung Qt, bên cạnh ngôn ngữ lập

trình chính C++.

Qt Quick | QML là một phan của Qt Quick.

Qt Quick Cac widget diéu khién danh cho Qt Quick (chu yéu danh cho

Qt SQL Module làm việc với cơ sở dt liệu (ngôn ngữ SQL).

Qt WebKit | WebKit (phát triển bởi Apple, Adobe và một sô công ty khác) là một

module cho các web browser (Safari và Google Chrome, ) dùng dé

13

Trang 26

hiền thị các trang web Qt WebKit là một thư viện giúp bạn làm việc

2.3 Tống quan về thiết bi và công nghệ nhúng sử dụng:

2.3.1 Nvidia Jetson Nano [8]:

2.3.1.1 Giới thiệu :

Trong những năm gan đây, tiễn bộ đạt được trong nghiên cứu về AI đã cho phép các nhàphát triển tạo ra thuật toán cho mọi lĩnh vực, từ nhận dạng hình ảnh đến dịch thuật tức thời.Tuy nhiên, thực tế mà nói thì về việc áp dụng những tiễn bộ này vào thế giới thực, chúng tamới chỉ ở giai đoạn bắt đầu, và đáng lo ngại hơn là quá trình này đang diễn ra tương đối chậmbởi công nghệ phần cứng hỗ trợ cho AI vẫn chưa thể theo kịp được sự phát triển về mặt phần

mêm.

Ngày 18/2, Nvidia đã công bố một sản phâm mới mà họ quảng cáo là “giúp tăng tốc quátrình ứng dụng thuật toán AI vào thế giới thực”, đó là một thiết bị máy tính AI có tên là Jetson

Nano, được thiệt kê dành riêng cho các nhà phát triên, sản xuât và nghiên cứu trí tuệ nhân tạo.

NVIDIA Jetson Nano Developer Kit là một máy tính AI tích hợp cỡ nhỏ có kích thước của

một bảng mạch Kích thước và các chuẩn kết nối của Jetson Nano là SO-DIMM Chuẩn kích

thước này cũng được Nvidia sử dụng trên các sản phẩm trước đó của mình bởi họ muốn nhắmtới mục tiêu tạo ra được những sản phẩm có kích thước nhỏ gọn nhất có thé bởi khách hàng

của công ty này chính là những đối tượng thuộc nhiều lĩnh vực, ứng dụng và đang thiết kế désao cho mạch kết nối của mình phù hợp tối đa với thiết kế mà họ dang theo đuôi

14

Trang 27

2.3.1.2 Cấu tạo phần cứng :

Jetson Nano sẽ có 2 hình dạng Một dang mô-đun, có kích thước 70x45mm, dé có thé sử

dụng trong các thiết kế sản phẩm cuối cùng Dạng còn lại là sẽ một bộ kít phát triển giống với

Raspberry Pi nhằm cung cấp một giải pháp hoàn chỉnh cho nhà phát triển Phiên bản mô-đun

sẽ sở hữu bộ nhớ trong 16GB, trong khi bộ kit lại sử dụng thẻ nhớ microSD.

Không giống như những lần cập nhật nền tảng Jetson trước, NVIDIA dự đoán 2 mục đích

sử dụng Jetson Nano Đầu tiên, bộ kit phát triển sẽ hoàn toàn hữu dụng cho các tô chức thươngmại muốn phát triển những sản phẩm có khả năng học máy Sản pham có thé thiết kế sử dụng

bộ kit phát triển này và có thể chuyên sang sử dụng mô-đun cho sản phẩm cuối cùng Đây làcách sử dung của các bo mạch và mô-đun Jetson khác Thứ hai, những người đam mê có thé

không bao giờ sử dụng phiên bản mô-đun nhưng sẽ muốn tạo ra những dự án dựa trên bộ kitphát triển, tương tự như Raspberry Pi

15

Trang 28

128 CUDA Cores | 4 Core CPU

472 GFLOPs 5W | 10W

Available March 18th at GTC

nvidia.com and distributors worldwide

Hình 2.7: Thông số JETSON NANO DEVELOPER KIT co bản [10]

Cuối cùng, NVIDIA sé bán cả mô-đun lẫn bộ kit phát triển, không chi qua các kênh phânphối mà còn cung cấp đến các thị trường rộng lớn hơn qua các cửa hàng bán lẻ

Sản phẩm NVIDA Jetson Nano Developer Kit trang bị số lượng công kết nối khá đầy đủ:

4 công USB 3.0, công HDMI, DisplayPort và một công Ethernet, cùng với đó là những chuẩnkết nối phố biến như SDIO, I2C và UART Không chi vậy, Jetson Nano còn có cả công kếtnối M2, giao thức MIPI-CSI dé kết nối với máy ảnh Người dùng cũng có thé kết nối mang

cho Jetson Nano bằng Wifi nếu không muốn sử dụng dây cáp Ethernet truyền thống

2.3.1.3 Thông số kỹ thuật:

Hỗ trợ GPU này bao gồm 1 CPU 4 nhân 64-bit dựa trên ARM Cortex-A57, RAM 4GB và

bộ xử lý video có thé xử lý lên đến 4K 30fps đối với mã hóa và 4K 60f0s đối với giải mã, cùng

với đó là các khe cắm PCle và USB 3.0

Jetson Nano cung cấp 472 GFLOPS dé chạy các thuật toán AI hiện dai một cách nhanh

chóng, với một quad-core 64-bit ARM CPU, một 128-core được tích hợp trên NVIDIA GPU,

cũng như bộ nhớ 4GB LPDDR4 Có thé chạy song song nhiều mang neural và xử lý đồng thờimột số cảm biến có độ phân giải cao

Jetson Nano cũng được hỗ trợ bởi NVIDIA JetPack Bao gồm các gói hỗ trợ board, CUDA,

thư viện phần mềm TensorRT cho deep learning, computer vision, GPU computing,

16

Trang 29

multimedia processing và nhiều ứng dụng khác SDK cũng bao gồm khả năng cài đặt

frameworks Machine Learning mã nguồn mở như TensorFlow, PyTorch, Caffe/Caffe2, Keras,cho phép các nhà phát triển tích hợp các model AI, framework AI yêu tích của họ vào các sảnphẩm một cách nhanh chóng và dé dàng

Kha năng xử lý video của Jetson Nano là khá ấn tượng Sản phẩm này không phải phục vụviệc xem video 4K, thay vào đó, nó có thé xử lý nhiều luồng video (như các máy bay khôngngười lái drone được tích hop da camera) dé có thé phát hiện đối tượng, theo dõi hay tránh

chướng ngại vật Ngoài 4K 60fps, Jetson Nano còn có khả năng giải mã 8 luồng video hay

camera với độ phân giải Full HD 30fps Các luồng này sẽ được giải mã đồng thời ngay lập tứcbởi các thuật toán học máy dé theo dõi đối tượng

GPU 128-core Maxwell.

CPU Quad-core ARM A57 @ 1.43 GHz.

Camera 2x MIPI CSI-2 DPHY lanes.

Connectivity | Gigabit Ethernet, M.2 Key E.

Display HDMI and display port.

USB 4x USB 3.0, USB 2.0 Micro-B.

Others GPIO, PC, PS, SPI, UART.

Mechanical | 69 mm x 45 mm, 260-pin edge connector.

Bang 2.2: Các thông sô của Jetson Nano (trích từ [11])

17

Trang 30

2.3.2 Ngôn ngữ lập trình C++:

Ngôn ngữ C++ được Bjarne Stroustrup phát triển từ ngôn ngữ C từ cuối thập niên 1970

C++ là một phiên bản mở rộng của ngôn ngữ C, kết hop tất cả các tính năng đã có của C.C++ được coi như là ngôn ngữ bậc trung (middle-level), kết hợp các đặc điểm và tính năngcủa ngôn ngữ bậc cao và bậc thấp C++ có thé dùng dé lập trình nhúng, lập trình hệ thống,

hoặc những ứng dung, game

C++ là ngôn ngữ "đa hướng" Nghia là nó hướng cấu trúc giống C va có thêm một tinhnăng cực kỳ quan trọng đó là tính năng hướng đối tượng C++ là một trong những ngôn ngữ

lập trình pho biết trên thé giới [12]

Most Popular Coding Languages of 2016

Python

6.7%

Hình 2.8: Độ phé biến của các ngôn ngữ lập trình trên thé giới [13]

2.3.3 Hệ quản trị cơ sở dữ liệu MySQL :

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở hoạt động trên nhiều nền

tang Nó cung cấp quyền truy cập đa người dùng dé hỗ trợ nhiều công cụ lưu trữ và được hỗ

trợ bởi Oracle.

Một số khái niệm MySQL:

— Cơ sở dit liệu (Database): Cơ sở dữ liệu là một tập hợp dữ liệu có hệ thống Cơ sở dữ

liệu hỗ trợ lưu trữ và thao tác dữ liệu Cơ sở đữ liệu giúp quản lý dữ liệu dễ dàng.

18

Trang 31

— Bảng (Table): Bang là một tập hợp các dit liệu có liên quan được giữ ở định dang bảng

trong cơ sở dữ liệu Nó bao gồm các cột và hàng

— MySQL Server: MySQL Server là một máy tính hay một hệ thống các máy tính cài dat

phần mềm MySQL cho máy chủ giúp bạn lưu trữ dit liệu trên đó, để máy khách truy

cập quản lý.

— MySQL Client: Máy khách MySQL không phải cài đặt phan mềm MySQL của Oracle,

nhưng nhìn chung, tất cả các phần mềm đều có thể thực hiện các truy vấn trên máy chủMySQL và nhận kết quả

2.4 Thuật toán áp dụng để nhận dạng khuôn mặt người :

2.4.1 Facial Landmark[14]:

2.4.1.1 Facial Landmark :

Xác định facial landmark là một bai toán con của bai toán dự đoán hình dang (shape

prediction) Vậy bài toán dự đoán hình dạng là gì, đó chính là việc chúng ta phải xác định được

những điểm chính tạo nên hình đạng của đối tượng trong một bức ảnh Trong bài toán xác địnhfacial landmark, chúng ta sẽ phải xác định được những điểm chính trong bức ảnh tạo nên hìnhdạng khuôn mặt người Facial landmark là xác định các vi trí như eye (mat), nose (mũi),

mounth (miệng) trên khuôn mặt (face) Facial landmark là đầu vào cho nhiều bài toán khác

như dự đoán tư thế đầu, tráo đổi khuôn mặt, phát hiện nháy mắt, xoay chỉnh lại khuôn mặt và

điển hình là công nghệ nhận dạng khuôn mặt FaceID

Việc xác định facial landmark gồm có hai bước:

— Bước 1: Xác định được vi trí khuôn mặt trong bức ảnh.

— Bước 2: Xác định được các điêm tạo nên câu trúc của khuôn mặt.

Việc xác định vị trí khuôn mặt có thể được thực hiện bằng nhiều cách từ đơn giản đến phức

tạp như các thuật toán dựa trên deep-learning Tuy nhiên dù sử dụng thuật toán nào, mục đích

cuối cùng là ta sẽ thu được một vùng (thường là hình vuông) được xác định bởi tọa độ (x,y)

bao quanh khuôn mặt trong bức ảnh.

19

Trang 32

Sau khi xác định được khuôn mặt trong bức ảnh, chúng ta sẽ xác định câu trúc của khuôn

mặt Có rât nhiêu kiêu câu trúc khuôn mặt khác nhau nhưng về cơ bản, chúng ta sẽ phải xác

định được những phần sau:

— Miệng.

— Lông mày phải.

— Lông mày trái.

— Mắt phải

— Mat trai

— Mui.

— Ham.

2.4.1.2 Tìm hiểu bộ xác định facial landmark của Dlib :

Bộ xác định facial landmark của Dlib là cài đặt của thuật toán được mô tả trong bài báo One Millisecond Face Alignment with an Ensemble of Regression Trees của Kazemi và

Trang 33

2.4.2 ResNet:

2.4.2.1 Convolutional Nerural Network (CNN)[17]:

Mang No-tron tích chập là một lớp của mang Notron, thường được áp dụng dé phân loạinhận dạng hình ảnh, phát hiện đối tượng, nhận dạng khuôn mặt,

CNN thu về các hình ảnh đặc trưng làm dữ liệu đầu vào, sau đó xử lý và phân loại nó theo

các danh mục nhất định Ví dụ như: Động vật, Con người, Phương tiện, Màu sac,

Các mô hình CNN trong Deep Learning sẽ dao tao (training) và kiểm tra (testing) mỗi dữliệu hình ảnh đầu vào và chuyên nó qua một loạt các lớp chập (Convolution Layer) với các bộlọc (Kernals hay Filters), Pooling, lớp kết nối day đủ (Full Connect) va áp dụng hàm toán họcSortmax dé phân loại một đối tượng có giá trị xác suất giữa 0 va 1

— CAR

— TRUCK

— VAN

HINPUT CONVOLUTION + RELU POOLING CONVOLUTION + RELU POOLING FLATTEN FULLY

oO — BICYCLE

SOFTMAX

\ CONNECTED

FEATURE LEARNING CLASSIFICATION

Hình 2.10: Mô tả quy trình tiếp nhận và xử ly dữ liệu mang CNN [16]

Convolution Layer:

Convolution Layer hay còn được gọi lớp chập, là lớp đầu tiên dé trích xuất xác tính năng

từ một ảnh đâu vào Lớp chập duy trì môi quan hệ giữa các Pixel băng cách tìm hiêu sâu các

tinh năng hình ảnh sử dụng các diém ảnh nhỏ từ dữ liệu dau vào.

Sau khi thực hiện phép tích chập, ta nhận được một mảng đầu ra tượng trưng cho một lớp

chập mới, tích chập của một ảnh với các Filter khác nhau sẽ tạo ra các chức năng khác nhau như nhận diện cạnh (edge detection), làm mờ (blur), làm nét (sharpen).

21

Trang 34

Operation Fitter

oO ũ oO identity = 1 oO

Mỗi lần thực hiện phép tính convolution xong thì kích thước ma trận kêt quả đều nhỏ hơn

ma trận ảnh ban đầu Tuy nhiên giờ ta muốn ma trận kết quả thu được có kích thước bằng ma

trận anh ban đâu ta thêm giá tri 0 ở viên ngoài ma trận ảnh.

Stride:

Stride là số lượng pixel dịch chuyên trên ma tran đầu vào

22

Trang 35

Khi bước chuyên là 1 thì chúng ta sẽ di chuyển các bộ lọc 1pixel một lần.

Khi bước chuyền là 2 thì chúng ta sẽ di chuyển các bộ lọc thành 2pixel một lần

Pooling Layer

Pooling layer thường được dùng giữa các convolutional layer, dé giảm kích thước dữ

liệu nhưng vẫn giữ được các thuộc tính quan trọng Kích thước di liệu giảm giúp giảm

việc tính toán trong model.

Có 2 loại pooling layer phố biến là: max pooling và average pooling

Hinh 2.12: Phép phan tich pooling

Fully Connected Layer

Sau khi ảnh được truyền qua nhiều convolutional layer va pooling layer thi model đãhọc được tương đối các đặc điểm của ảnh (ví dụ mắt, mũi, khung mặt, ) thì tensor của

output của layer cuôi cùng, sẽ được chuyên về 1 vector kích thước.

23

Trang 36

Như trong sơ đồ trên dé liệu ma trận anh lúc đầu được chuyền đôi thành chuỗi vector

và kết nối các phan tử dé hình thành nên một mô hình và cuối cùng dung hàm kích hoạt

như softmax hay sigmoid đê nhận diện các dau ra cụ thê như chó, mèo, SóÓI

Ngày đăng: 02/10/2024, 05:34

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

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

TÀI LIỆU LIÊN QUAN