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

Nghiên cứu ứng dụng trí tuệ nhân tạo để xây dựng hệ thống phân luồng, truy vết tự động người nghi nhiễm covid 19 ra vào hải quan bình dương

70 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Nội dung

Trang 1

TRUONG DAI HOC SU PHAM

PHAM HONG THUY

NGHIÊN CỨU ỨNG DỤNG TRÍ TUỆ NHÂN TẠO ĐÈ XÂY DỰNG HỆ THONG PHAN LUỎNG, TRUY VÉT TỰ ĐỘNG NGƯỜI NGHI NHIÊM

COVID-19 RA VAO HAI QUAN BINH DUONG

Trang 2

LỜI CÁM ƠN

Trước tiên, em xin gửi lời cảm ơn và biết ơn sâu sắc đến TS Nguyễn Đình Lầu đã tận tình chỉ bảo, hướng dẫn, giúp đỡ em trong suốt thời gian em tiến hành nghiên cứu Và cũng là người gợi ý cho em những ý tưởng và kiểm tra sự phù hợp của luận văn Em cũng xin gửi lời cảm ơn chân thành đến toàn thể các thầy cô trường Đại học Sư Phạm — Đại học Đà Nẵng đã giảng dạy, và tạo điều kiện cho em trong suốt quá trình học tập và nghiên cứu tại trường Những kiến thức tiếp thu được sẽ là hành trang giúp chúng em vững bước trong tương lai

Cuối cùng, em xin cảm ơn gia đình, bạn bè, đã luôn ở bên động viên và là nguồn

cổ vũ lớn lao, là nguồn động lực giúp em hoàn thành luận văn này

Mặc dù đã có gắng hết mình để hoàn thành luận văn trong phạm vi, khả năng bản thân Tuy nhiên sẽ không tránh khỏi những thiếu sót và sai làm Em rất mong nhận được

sự cảm thông và chỉ bảo tận tình của quý thầy cô và toàn thể các bạn

Xin chân thành cam on!

Tác giả luận văn

aA i —~

Trang 3

Tôi xin cam đoan:

- Những nội dung trong luận văn nảy là do tôi thực hiện dưới sự hướng dẫn trực

tiếp của TS Nguyễn Đình Lầu

- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực

về tên tác giả, tên công trình, thời gian và địa điểm công bố

- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo tơi xin chịu hồn toàn

trách nhiệm

Tác giả luận văn

Trang 4

TRANG THÔNG TIN LUẬN VĂN THẠC SĨ

Tên đề tài: Nghiên cứu ứng dụng trí tuệ nhân tạo để xây dựng hệ thống phân luồng, truy vết tự động người nghỉ nhiễm Covid-19 ra vào Hải quan Bình Dương

Ngành: Hệ thống thông tin

Họ tên học viên: Phạm Hồng Thủy

Người hướng dẫn khoa học: TS Nguyễn Đình Lầu

Cơ sở đào tạo: Trường Đại học Sư Phạm - Đại học Đà Nẵng

Tóm tắt

Nội dung chính của luận văn nhằm tìm hiểu, nghiên cứu ứng dụng trí tuệ nhân tạo để xây dựng hệ thống phân luồng, truy vết tự động người nghỉ nhiễm Covid-I9 Đề tài tập trung nghiên cứu các phương pháp nhận dạng khuôn mặt Có nhiều phương pháp để nhận dạng khuôn mặt, từ việc tìm hiểu và nghiên cứu các phương pháp từ đó đề xuất phương pháp cải tiến hiệu quả cho bài toán nhận dạng khuôn mặt Đánh giá được sự hiệu quả của phương pháp nhận dạng khuôn mặt Ứng dụng các phương pháp trong việc

nhận dạng khuôn mặt người trong công tác kiểm soát dịch bệnh Kết quả nghiên cứu

của đề tài góp phần mở rộng lĩnh vực ứng dụng phương pháp nhận dạng khuôn mặt trong vấn để kiểm soát dịch hoặc một người nghi ngờ ra vào tòa nhà, từ việc nhận dạng

được khuôn mặt có thể xác định được nhân viên hay là khách, khách là khách lạ hay

khách quen, khách là nam hay nữ, khách đến cơ quan bao nhiêu lần, người đến đeo khẩu trang đúng hay không, các thông tin phòng chống dịch được đảm bảo không để nâng cao chất lượng phục vụ và quản lý Trong đề tài này tôi đã thực hiện nghiên cứu nhận dạng khuôn mặt Từ đó áp dung Deep Learning với Pytorch để thực hiện việc nhận dạng người ra vào là nhân viên, khách lạ hay khách quan và phân tích đeo hay không đeo

khẩu trang, kết nối API PC Covid dé phan tich thong tin nghi nhiém tir khai bao y té va

tiếp xúc kết quả thực hiện chạy nhận dạng mặt người chỉ mới nhận dạng được những khuôn mặt đã được huấn luyện, còn những khuôn mặt khác sẽ xuất hiện là “unknow” Tập dữ liệu huấn luyện còn ít, khắc phục những điểm hạn chế nêu trên để nhận dạng và nhận dạng để phục vụ điểm danh; kết hợp với cảm biến đo thân nhiệt Tiến hành thu thập thêm nhiêu đữ liệu ứng dụng vào các bài toán lớn hơn để phục vụ cho ngành y trong kiểm soát dịch bệnh phạm vi toàn quốc khi kết nối vào API ứng dụng PC-Covid

Từ khóa: PC-Covid, nhận dạng khuôn mặt, Deep Learning, Pytorch, kiểm soát

Xác nhận của giáo viên hướng dẫn Người thực hiện đề tài

AU

= ae

Trang 5

channeling, automatic tracing people suspected of infection of Covid-19 into Binh

Duong customs

Specialized: Information System

Full name of master student: Pham Hong Thuy

Supervisors: Dr Nguyen Dinh Lau

Tranning institution: University of Science and Education — The University of Da Nang Abtract

The main content of the thesis is to learn, research and apply artificial intelligence to build a threading and automatic tracking system for people suspected of being infected with Covid-19 The topic focuses on studying face recognition methods There are many methods for face recognition, from understanding and researching methods

from which to propose effective improvement methods for face recognition problem

Evaluate the effectiveness of facial recognition method Application of methods in human face recognition in disease control The research results of the topic contribute to expanding the field of application of face recognition method in the control of epidemics or a suspicious person entering the building, from the face recognition can identify the person staff or guests, guests are strangers or regular customers, guests are male or female, how many times the guests come to the office, the person who comes is wearing the correct mask or not, the epidemic prevention information is not guaranteed to improve High quality service and management In this topic I have done

face recognition research From there, apply Deep Learning with Pytorch to perform the

identification of people coming in and out as employees, strangers or objectively and analyzing whether wearing or not wearing a mask, connecting the PC Covid API to analyze suspicious information from the declaration medical reports and exposure The result of running the human face recognition run only recognizes the trained faces, and

the other faces will appear as "unknow" The training data set is small, Overcoming the

above limitations for identification and identification to serve attendance; combined with body temperature sensor Collect more application data on larger problems to serve the medical industry in disease control nationwide when connecting to the PC-Covid application API

Keywords:PC-Covid, face recognition, Deep Learning, Pytorch, control

Supervior’s confirmation Student

Trang 6

MỤC LỤC DANH MỤC CÁC KÍ HIỆU, CÁC TỪ VIẾT TẮTT e- < -555<<5<<<35%6 i M.\0581/00/090.10:7.0)/65:159000 57 ii DANH MUC CAC HINH VE, DO THI .csscssscssssesssecsessssscssecssecsseesneceneeesseereeeene iii I, (OY Cr 1 CHƯƠNG 1: CƠ SỞ LÝ THUY ỆT .-° 5-5 5s5s5sesseEsexeexsereesserereesexe 3

1.1 Vấn đề kiểm soát sàng lọc và thực trạng kiểm soát tại Việt Nam 3

làn ác 3

1.1.2 Quy trình kiểm soát sàng lỌc -c:-cccctcrtiittiitrierrirerierriee 3 1.2 Khái niệm về Trí tuệ nhân tạo, Machine Learning, Deep Learning 4

1.2.1.Khái niệm Trí tuệ nhân tạo (AI — Artificail Intelligence) 1.2.2.Machine Learning

1/2.3:Deep I;earHHDD s:acnsignaroonasnioinisiBLSEA 06600 K1 0 kh TA 44204 50 1.2.4 Tổng quan các phương pháp Deep Learning trong phát hiện đối

tượng và nhận dạng khuôn mặt ¿5-5 ‡‡t+t‡tetetetertretetrrre 8

CHUONG2: PHAN TiCH THIET KE BAI TOAN THÔNG TIN NGƯỜI RA VÀO DỮ QUANN casennsnnniettdirnitinidtisriiiitiointigiorsarnssrmosre 14 2.1 Phát biểu bài toán -cceeseeeeereeeeerrrrrrriitrtrirriniirrrerrkee 14

2.1.1 Bài toán nhận dạng khuôn mặt -¿- ¿5c +S+‡‡ttsvrereeereres 14 2.1.2 Bài toán phát hiện không đeo khâu trang - - -‹c-c+++ 15 2.1.3 Bài toán đếm số lượng khách và nhận dạng nhân viên hay người lạ:

¬- ƠƠƠ Ồ Ồ 16

2.2 Mạng nơ ron CNN (Convolufional NÑeural Ñetworks) «-«-««« 22 2.2.1 Khái niệm

2.2.2 Cầu trúc CNN

2.2.3 Mô hình nhận dạng khuôn mặt dựa trên ƠNN : - 27 2.3 Quá trình huấn luyện mạng nơ FOII s- 5° se cxsereserssrrsersers

Trang 7

2.4.6 Mô hình phân lớp ảnh chụp khuôn mặt người .- 32 2.5 Hàm nhân ÏK€r'n€Ì ó5 %5 << 010801 1x 32 CHƯƠNG 3:XÂY DỰNG CHƯƠNG TRÌNH, CÀI ĐẶT, THỨ NGHIỆM VÀĐÁNH GIÁ 5S Hee 34

3.1 Môi trường và công cụ sử Ụụng - so xe 34 3.2 Ngôn ngữ và cơng cụ lập trÌnh: .d c5 S S2 11 svsse 40

„3 Phũt triển phương: trÌNÏtuaseearastostryttstotistgtttigtVn8t011300004010181901080XG 41

3.31) Naf :dans NUON SAL score ensersremareeemennnuerneemnneenaucnren 41

3.3.2 Dao tao m6 hinh (Update FaceList va Face Recognition voi

FaceNet) scvisvecsesovesnecnesnsansiarcunamnnn nemacanannaneviammerremmeeeares 43 3.3.3 Face Recognition diva theo FaceList: 0 csecssseeensesesseessseseensees 44 3.3.4 Phân tích thông tin và phân loại

3.4 Kết quả thực nghiệm . -e- 5s ©+sevvvsetrvsetrsetrkssrxesrsrsesrsee

3.5 Đánh giá kết Ua scsssessssssssssssscesscsssssscesssecsessscesssccessusccssucesnscesseccessnecssses

3.5.1 Nhận dạng khuôn mặt người .- -¿- xsxsssetsieekrsreree

3.5.2 Đánh giá và phân luỗng 2-¿+22++22++22x+v2Exterxretrkverrxee KET LUAN VA HUONG PHAT TRIEN

4.1 KGt MAD csecsssecssecssesssecsssesssscsssecssscssssesssecsssecesecsssessssccsssecasecsnecesscessseessecs 50

4.2 Hướng phát trign cccscssssssssssesssesssssecsssseccsssecsssssssssecsssnecsssecesssccsssnecesses 50

Trang 8

i DANH MUC CAC Ki HIEU, CAC TU VIET TAT STT ee Diễn giải 1 Al Artificail Intelligence

2 SVM Support Vector Machine

3 SSD Single Shot Detector

Trang 9

DANH MUC CAC BANG BIEU Bảng 2.1 So sánh kích thước Filter

Trang 10

iii

DANH MỤC CÁC HÌNH VẼ, ĐÒ THỊ

Hình 1.1 Quy trình nghiệp vụ tổng hợp - c: 5c 52221 2111k 3 Hinh 1.2 Quy trinh nghiép vu chi HỆ in nh 0a nam an i 3

Hình 1.3 Mối liên hệ của AI, Machine Leaning, Deep Learning .- 8

Hình 1.4 Minh họa ý tưởng Triplet Loss 9

Hình 1.5 Kiến trúc cơ bản của một mạng CNN . .¿55¿cc22+ccsczveerrrrrrrrei 10

Hình 1.6 Bộ lọc tích chập được sử dụng trên ma trận điểm ảnh

Hình 1.7 Phương thức Max Pooling và Avarage Pooling : c-cxexs+2 12 Hình I.8 Kiến trúc của mạng VGG]6 :2+++22xt2YxS2xxtEErtExrttrrrrrrrrrrrrrrre 12 Hình 1.9 Đường ống R - CNN sử dụng Caffe cho phát hiện đối tượng 13 Hình I 10 Mõ hình OperiEace cc0g0101433010555133G4G3SDGARRG4EE15E833.EA 14 Hình 2.IMô hình giải pháp nhận dạng khuôn mặt - +55 c+cccsvssvxse2 15

Hinh 2.2 Kién ống PB 17

Hình 2.3 Bản đồ tính năng có độ phân giải thấp hơn (bên phải) phát hiện các đối tượng

có quy mô lớn hƠI ¿+ + t1 1E 9121212111111217111 1112111111111 H101 tt 17 Hình 2.4 Phép chập theo 0108-08) mẽ 18 Hình 2.5 Phép chập theo chiều kim IXÌ ¿-2¿5522+225++22vv+ceExxverxrrrrrrrerke 18

Hình 2.6 Mô hình kiến trúc ñgfiØ NIGBIIGNEES s.occrbtiittiovtGG0G0300SSGV0N50410Đ0A 19

Hinh 2.7 Convolution truyền thống (trái), Depthwise Separable Convolution 20 Hình 2.8 Mô hình MobileNet Single Shot I)et€cfOr -. cccccsecsseererrrrrrree 20 Hình 2:9 Tọa độ hộp giới hạn se eeinscua nga g1841810510401810361300510510100144018940461 Hình 2.10 Khoảng cách Eculid giữa các cặp centroid

Hình 2.11 Các ID đối tượng liên kết với khoảng cách tối thiêu

Hình 2.12 ID #3A mới không khớp với các đối tượng hiện có - -: -: 23 Hình 2.13 Điểm góc trái của dữ liệu đầu vào sẽ tương ứng với điểm góc trái của €A{UT€ I8 th HH HH HH HH HH HH H111 11 111111111110 24 Hình 2.14 Mô tả sử dụng kích thước filter lẻ và filter chẵn ccxccccee 25 Hình 2.15 Ma tran su dung zero padding

Hinh 2.16 Pooling layer 2x2

Hình 2.17 Chuyên ma trận đặc trưng thành vec tƠ -c.ccccsccveretieeriererrrrre 27

Trang 11

Hình 3.1 NVIDIA® Jetson Nano TM JDeveloper KÍ( sec cccccsskrereeererse Hinh 3.2 So dé mach NVIDIA® Jetson Nano ™ Developer Kit

Hinh 3.3 NVIDIA® Jetson Nano ™ Developer Kit két néi camera - 35

Hinh 3.4 M6 hinh hé thong cecccccsscssssessssesseecssssssessssecsssesscssessssssessecsuseessecsanecsaneenneess 36

Hình 3.5 Mô hình khai thác hệ thống sang lOC sssccssssseesssscsssseesessseeeesseeeeeeneeeeeneees 36 Hình 3.6 Quy trình triển khai mé hinh tir framework Pytorch sang TensorRT

chạy trên may Jetson TX2 wwecsuswenenmnenneaemannnererenmnanmnnarieesrcecoveaneenscenns 37

Trang 12

1

MO DAU

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

Năm 2021, đại dịch Covid-19 đã ảnh hưởng rất nhiều đến hoạt động sản xuất

kinh doanh, mối quan hệ xã hội; các địa phương triển khai đồng bộ nhiều biện pháp giám sát, truy vết, giãn cách, tăng cường giãn cách, tiêm vắc-xin; bên cạnh nhiều biện pháp chính sách triển khai, vấn đề ứng dụng cơng nghệ trong kiểm sốt dịch bệnh đã được đặt trọng tâm trong công tác phòng chống dịch

Hiện tại các địa phương, doanh nghiệp chuyển sang trạng thái bình thường mới đảm bảo vừa phòng chống địch Covid-19, vừa phát triển sản xuất kinh doanh

Trong những năm gần đây, sự tiến bộ vượt bậc của công nghệ thông tin, cuộc cách mạng công nghiệp 4.0 đang tác động mạnh mẽ đến các lĩnh vực, các doanh nghiệp đều đứng trước yêu cầu phải thực hiện nhanh quá trình chuyển đối số

Dịch bệnh lây lan qua giao tiếp giữa người với người Vì vậy cần thực hiện các yêu cầu để đảm bảo tuân thủ phòng chống dịch như: cần thực hiện nhận dạng người trong đơn vị hay khách bên ngoài vào đơn vị, đeo khẩu trang đúng quy định hay không, trực tiếp đo nhiệt độ người ra vào nếu trên mức ngưỡng hướng dẫn phân luồng qua bộ phận hễ trợ xét nghiệm Tuy nhiên, quy trình như vậy vừa phải cắt cử nhân sự để thực hiện công việc kiểm soát người ra vào, vừa nguy hiểm cho người tiếp xúc trực

tiếp và đặc biệt khi cần tìm thông tin người đã từng đến thì rất khó khăn Vì vậy tôi chọn đề tài: “NGHIÊN CỨU ỨNG DỤNG TRÍ TUỆ NHÂN TẠO ĐB XÂY DỰNG HỆ THÓNG PHÂN LUÔNG, TRUY VÉT TỰ ĐỘNG NGƯỜI NGHI NHIÊM COVID-19 RA VAO HAI QUAN BINH DUONG” để khắc phục hạn chế các công

việc đã nêu ở trên làm đề tài luận văn thạc sĩ ngành Hệ thống thông tin 2 Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu:

- Tìm hiểu thực trạng và các giải pháp trong công tác phòng chống dịch bệnh hiện tại

- Nghiên cứu các phương pháp nhận dạng khuôn mặt để nhận đạng người trong

đơn vị hay khách đến, kiểm tra đeo khẩu trang; các phương pháp đo thân nhiệt

- Ứng dụng các phương pháp trong việc nhận dạng khuôn mặt người trong cơng

tác kiểm sốt dịch bệnh

Nhiệm vụ:

- Tim hiéu vé Tri tué nhan tao (AI), Machine learning, Deep Learning; - Tìm hiểu các phương pháp nhận dạng khuôn mặt;

- Tìm hiểu về dữ liệu thực tế (cụ thể các bài toán thực tế)

Trang 13

- Các phương pháp của Deep Learning trong nhận dạng khuôn mặt Phạm vi nghiên cứu

- Nhận đạng khuôn mặt của người trong đơn vị, khách ra vào đơn vị

- Đưa ra các thông tin về người được nhận dạng để phục vụ kiểm soát dịch COVID 19

4 Phương pháp nghiên cứu Nghiên cứu lý thuyết

- Tìm hiểu lý thuyết về kỹ thuật Deep Learning

- Tìm hiểu về các phương pháp phát hiện khuôn mặt và nhận dạng khuôn mặt trường hợp có đeo và không đeo khẩu trang;

- Một số tài liệu liên quan

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

- Xây dựng bộ đữ liệu thử nghiệm;

5, Ý nghĩa khoa học và thực tiễn

về mặt khoa học:

- Nghiên cứu, tìm hiểu phương pháp nhận dạng khuôn mặt để ứng dụng vào thực tế; - Công trình nghiên cứu về đề tài này góp phần khảo sát và nghiên cứu về ứng dụng Deep Learning

Về mặt thực tiễn:

Kết quả nghiên cứu của đề tài góp phần mở rộng lĩnh vực ứng dụng phương pháp nhận dạng khuôn mặt trong vấn để kiểm soát dịch hoặc một người nghỉ ngờ ra vào tòa nhà, từ việc nhận dạng được khuôn mặt có thể xác định được nhân viên hay là khách, khách là khách lạ hay khách quen, khách là nam hay nữ, khách đến cơ quan bao nhiêu

lần, người đến đeo khẩu trang đúng hay không, các thông tin phòng chống dịch được

đảm bảo không để nâng cao chất lượng phục vụ và quản lý 6 Cấu trúc của luận văn

Sau phần mở đầu, nội dung chính của luận văn được chia thành 3 chương:

Chương 1: Cơ sở lý thuyết, giới thiệu công tác phòng chống dich tại 1 don vi và có thé mở rộng là điểm công cộng và thực trạng kiểm soát dịch; giới thiệu trí tuệ nhân tạo, Machine Learning, Deep Learning; tổng quan về các phương pháp phát hiện đối tượng

và nhận dạng khuôn mặt

Trang 14

3 CHUONG 1 CO SO LY THUYET 1.1 Vấn đề kiểm soát sàng lọc và thực trạng kiểm soát tại Việt Nam 1.1.1 Hiện trạng:

Khi người ra vào các cơ quan, bệnh viện, tòa nhà, tất cả đều phải được kiểm tra

sàng lọc thông qua kiểm tra nhiệt độ, thông tin khai báo y tế từ đó phân luồng trước khi cho vào

Kiểm tra đo nhiệt độ hiện đang bố trí nhân sự thực hiện đo tiếp xúc hoặc đo không tiếp xúc nhưng không được lưu trữ kết hợp thông tin người ra vào

Mội số nơi, có trang bị camera tầm nhiệt nhưng giá thành khá cao và gặp nhiều

vấn đề rủi ro và cần phải khắc phục mới đáp ứng hiện tại

1.1.2 Quy trình kiểm soát sang lọc 1.1.2.1 Quy trình nghiệp vụ tổng hợp: ~ ) HP j2 B5 San C) Sang loc BTS ea Thông kê @ Hình 1.1Quy trình nghiệp vụ tổng hợp

BI Sàng lọc: thực hiện đo nhiệt độ, nhận dạng nhanh khuôn mặt để phát hiện deo

khẩu trang đúng hay không, kiểm tra thông tin như khai báo y tế, tiêm vac xin, xét

nghiệm, di chuyển

B2 Tiếp nhận: lưu thông tin vào hệ thống và hiển thị lên màn hình

Trang 15

B2- Đo nhiệt độ người ra vào được thực hiện đồng thời với B1; kết quả đạt hay không đạt ngưỡng:

B3.1 - Thông báo hướng dẫn 2: mời khách hàng hoặc nhân viên vào

B3.2 - Không đạt ngưỡng sẽ cảnh báo âm thanh phân luồng qua bộ phận test nhanh

1.2 Khái niệm về Trí tuệ nhân tạo, Machine Learning, Deep Learning

1.2.1.Khai niém Tri tué nhan tao (AI — Artificail Intelligence) Khai niém

AI — Artificail Intelligence hay còn gọi là Trí tuệ nhân tạo là một ngành khoa học, kỹ thuật chế tạo máy móc thông minh, đặc biệt là các chương trình máy tính thông minh AI được thực hiện bằng cách nghiên cứu cách suy nghĩ của con người, cách con người học hỏi quyết định và làm việc trong khi giải quyết một vấn đề nào đó, và sử dụng những kết quả nghiên cứu này như một nền tảng để phát triển các phần mềm và hệ thống thông minh, từ đó áp dụng vào các mục đích khác nhau trong cuộc sống Nói một cách dễ hiểu thì AI là việc sử dụng, phân tích các dữ liệu đầu vào nhằm đưa ra sự dự đoán rồi đi đến quyết định cuối cùng

Phân loại công nghệ AI

Công nghệ AI phản ứng (Reactive Machine): dùng để phân tích những động thái khả thi nhất của chính nó và đối thủ, từ đó đưa ra được giải pháp tối ưu nhất Công nghệ AI với bộ nhớ hạn chế: đây là loại có khả năng sử dụng những kinh nghiệm trong quá khứ để đưa ra những quyết định trong tương lai Công nghệ AI này thường

kết hợp với cảm biến môi trường xung quanh nhằm mục đích dự đoán những trường

hợp có thể xảy ra và đưa ra quyết định tốt nhất cho thiết bị

Lý thuyết trí tuệ nhân tạo: đây là một thuật ngữ tâm lý có thể học hỏi cũng như tự suy nghĩ, sau đó áp dụng những gì học được để thực hiện một việc cụ thể Hiện nay công nghệ AI này vẫn chưa trở thành một phương án khả thị

Tự nhận thức: chúng có khả năng tự nhận thức về bản thân, có ý thức và hành xử như con người vậy Thậm chí chúng còn có thê bộc lộ cảm xúc cũng như hiểu được những cảm xúc Đây được xem là bước phát triển cao nhất của công nghệ AI cho đến thời điểm hiện tại, thế nhưng công nghệ này vẫn chưa khả thi

Ứng dụng của AI

Ứng dụng trong lĩnh vực sức khỏe

Sản sinh ngôn ngữ tự nhiên (Nature Language Generation, NLG): tạo ra các văn bản từ những dữ liệu máy tính tự tổng hợp được

Trang 16

5

Quản trị viên ảo: từ những chatbot đơn giản cho đến những hệ thống tiên tiến có thể kết nối được với con người, công nghệ này đang được sử dụng trong dịch vụ khách hàng, hỗ trợ người dùng và quản lý nhà thông minh

Nén tang may hoc (Machine Learning): cung cấp các thuật toán, API, bộ công cụ phát triển và huấn luyện, dữ liệu cũng như các công nghệ điện toán dé thiết kế, huấn luyện và triển khai các mô hình máy học vào trong các ứng dụng, tiến trình và máy móc

Phần cứng tối ưu hóa AI: bao gồm các bộ xử lý GPU và các thiết bị đặc biệt được thiết kế để có thể thực hiện được các công việc của trí tuệ nhân tạo một cách hiệu

quả nhất Để xử lý các AI tốt nhất chúng ta cần phải trang bị một bộ máy tính chuyên

dụng cho ứng dụng AI — Trí tuệ nhân tạo (Deep Learning), đây là những bộ PC mà được xây dựng rất là đặc biệt, chạy song song nhiều card màn hình

Quản lý ra quyết định: đây là công nghệ đưa các quy tắc và logic vào trong hệ thống AI để sử dụng cho việc thiết lập/huấn luyện ban đầu nhằm giúp chúng có khả năng duy trì và điều chỉnh liên tục

Nền tảng Deep Learning: là một lĩnh vực đặc biệt trong máy học (Machine

Learning), Deep Learning là một chương trình chạy trên một mạng thần kinh nhân tạo, có khả năng huấn luyện máy tính học một lượng rất lớn dữ liệu

Sinh trắc học: công nghệ này cho phép tương tác tự nhiên hơn giữa con người

và máy móc, bao gồm cả nhận diện hình ảnh, dấu vân tay, giọng nói và cử chỉ con

người

Quy trình tự động hóa robot: sử dụng mã hóa và những phương pháp khác để tự động

hóa hoạt động của con người bằng robot để hỗ trợ công việc hiệu quả hơn

1.2.2.Machine Learning

Khái niệm

Machine Learning (Học máy) là là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể Ví dụ như các máy có thể "học" cách phân loại thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vào thư mục tương ứng Học máy rất gần với suy diễn théng ké (statistical inference) tuy có khác nhau về thuật ngữ

Phân loại thuật toán Machine Learning

Các thuật toán học máy được phân loại theo kết quả mong muốn của thuật toán Các loại thuật toán thường dùng bao gồm:

Học có giám sát: trong đó, thuật toán tạo ra một hàm ánh xạ dữ liệu vào tới kết

quả mong muốn Một phát biểu chuẩn về một việc học có giám sát là bài toán phân

Trang 17

Học không giám sát: mô hình hóa một tập dữ liệu, không có sẵn các ví dụ đã được gắn nhãn

Học nửa giám sát: kết hợp các ví dụ có gắn nhãn và không gắn nhãn để sinh một hàm hoặc một bộ phân loại thích hợp

Học tăng cường: trong đó, thuật toán học một chính sách hành động tùy theo các quan sát về thế giới Mỗi hành động đều có tác động tới môi trường, và môi trường cung cấp thông tin phản hồi để hướng dẫn cho thuật toán của quá trình học

Chuyển đổi: tương tự học có giám sát nhưng không xây dựng hàm một cách rõ ràng Thay vì thế, cố gắng đoán kết quả mới dựa vào các dữ liệu huấn luyện, kết quả huấn luyện, và dữ liệu thử nghiệm có sẵn trong quá trình huấn luyện

Học cách học: trong đó thuật toán học thiên kiến quy nạp của chính mình, dựa theo các kinh nghiệm đã gặp

Một số thuật toán Machine Learning

Support Vector Machines (SVM): một thuật toán cố gắng xây dựng một siêu mặt phẳng trong không gian nhiều chiều để phân biệt các đối tượng ở các lớp khác nhau Làm sao cho khoảng cách giữa 2 đối tượng khác label gần nhau nhất có khoảng cách cực đại Ý tưởng của thuật toán cực kỳ đơn giản, nhưng mô hình này lại rất phức

tạp và có hiệu quả Thực tế ở một số bài toán, SVM là một mô hình machine learning

cho hiệu quả tết nhất

Mô hình xác suất (Probabilistic Models): các mô hình này cố gắng giải quyết

bài toán bằng phân bố xác suất Một thuật toán phổ biến nhất là phân loại Navie

Bayes Nó sử dụng lý thuyết Bayes và giả thiết các đặc trưng là độc lập Điểm mạnh của mô hình xác suất là đơn giản nhưng hiệu quả Đầu ra của nó không chỉ là label mà

còn đi kèm xác suất thể hiện độ chính xác cho kết quả đó

Học sâu (Deep Learning): hiện đang là xu hướng trong Machine Learning dựa trên các mô hình mạng nơ ron nhân tạo (Artificial Neural Networks) Mạng nơ ron có cách tiếp cận kết nối và sử dụng ý tưởng theo cách bộ não con người làm việc Chúng bao gồm số lượng lớn các nơ ron liên kết với nhau, được tổ chức thành các lớp (layers) Học sâu liên tục được phát triển với các cấu trúc mới sâu hơn, xây dựng các cấu trúc biểu diễn các đặc trưng quan trọng một cách tự động

1.2.3.Deep Learning Khái niệm

Deep Learning là định nghĩa thuộc 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 Vì vậy có thể nói hai khái niệm giữa Deep Learning và Machine Learning hoàn toàn có liên hệ mật thiết với

nhauTrong thực tế, Deep Learning bao gồm nhiều lớp ẩn trong một mạng lưới thần

Trang 18

7

Ngày nay, sự thay đổi lớn nhất trong học tập sâu là độ sâu của mạng lưới thần kinh đã phát triển từ một vài lớp đến hàng trăm trong số chúng Độ sâu hơn có nghĩa là khả năng nhận dạng các mẫu lớn hơn, với nguồn thông tin lớn hơn giúp tăng khả năng tiếp nhận các đối tượng trở nên rộng hơn, chỉ tiết hơn

Các thuật toán Deep Learning sử dụng

K-nearest neighbors: là một thuật toán đơn giản và được giám sát để giải quyết

cả hai vấn đề phân loại và hồi quy

Hierarchical Clustering: nhóm các đối tượng tương tự thành cụm Mỗi cụm khác biệt với các cụm khác

K-means Clustering: gán các điểm dữ liệu cho các danh mục hoặc các cụm,

bằng cách tìm khoảng cách trung bình giữa các điểm dữ liệu

Artificial Neural Networks: là một lưới nhiều lớp được kết nối với nhau đầy đủ

để xem xét đữ liệu

Recurrent Neural Networks: sử dụng đầu ra từ bước trước để làm đầu vào cho bước tiếp theo

Convolutional Neural Networks: lấy một hình ảnh đầu vào, xử lý và phân loại nó theo các loại nhất định

Linear Regression: là phương pháp thống kê mạnh mẽ để tạo ra những hiểu biết về hành vi của người tiêu dùng, về kinh doanh

Logical Regression: được sử dụng khi dữ liệu có thé phan tach tuyến tính hoặc phân loại và kết quả là nhị phân

Các ứng dụng của Deep Learning

Trợ lý ảo: Amazon Echo, Google Assistant, Alexa và Siri đều đang khai thác các

khả năng học sâu để giúp hiểu lời nói của người dùng và ngôn ngữ con người sử dụng khi họ tương tác với máy

Dịch thuật: thuật toán học sâu có thé tự động dịch giữa các ngôn ngữ Điều này có thể hỗ trợ cho khách du lịch, doanh nhân và những người làm việc trong chính phủ Ơ tơ tự lái: Deep Learning cho phép một chiếc xe không người lái điều hướng bằng cách đưa cho nó hàng triệu tình huống, giúp nó học và xử lý, mang đến một chuyến đi an toàn và thoải mái cho người dùng Dữ liệu từ các cảm biến GPS, lập bản đồ địa lý được kết hợp với nhau trong quá trình học sâu để tạo ra các mô hình chuyên xác định đường đi, biển báo đường phố, các yếu tố động như giao thông, tắc nghẽn và người đi

bộ

Cá nhân hóa: lĩnh vực thương mại và giải trí như Amazon và Netflix đang có gắng xây dựng năng lực Deep Learning để cung cấp cho người dùng một hệ thống

mua sắm hoặc giải trí được cá nhân hóa

Chăm sóc sức khỏe: từ trợ lý ảo cá nhân đến các bài tập thể dục phục hồi sức khỏe, máy tính ghi lại rất nhiều dữ liệu về tình trạng sinh lý và tỉnh thần mỗi giây của bệnh

Trang 19

Nhận dạng hình ảnh: mạng thần kinh chuyển đổi cho phép xử lý hình ảnh kỹ thuật số có thể được phân tách thành nhận dạng khuôn mặt, nhận dạng đối tượng, phân tích chữ viết tay Hiện nay máy tính có thể nhận dạng hình ảnh bằng Deep Learning Công nghệ nhận dạng hình ảnh dựa trên công nghệ xử lý hình ảnh kỹ thuật số và sử dụng công nghệ trí tuệ nhân tạo, đặc biệt là phương pháp học máy, để làm cho máy tính nhận ra nội dung trong hình ảnh Các ứng dụng khác bao gồm tô màu hình ảnh đen trắng và thêm âm thanh vào các bộ phim câm

Nhận dạng khuôn mặt: học sâu được sử dụng để nhận diện khuôn mặt không chỉ vì mục đích bảo mật mà còn cho việc gắn thẻ mọi người trên bài đăng Facebook Những thách thức đối với thuật toán học sâu trong nhận dạng khuôn mặt là nhận biết chính người đó ngay cả khi họ thay đổi kiểu tóc, cạo râu hoặc khi hình ảnh được chụp trong điều kiện thiếu sáng

ARTIFICIAL INTELLIGENCE

Programs with the ability to

learn and reason like human

MACHINE LEARNING

Algorithms with the ability to learn without béing expliciHly programmed DEEP LEARNING CN 1/70/0170 /24//)/ titi) ›rtÌftclal neutal D1107 153 71/0) ast amounts of data

Hình 1.3 Mối lién hé cia AI, Machine Leaning, Deep Learning

1.2.4 Tổng quan các phương pháp Deep Learning trong phát hiện đối tượng và nhận dạng khuôn mặt

a Facenet: Triplet Loss

Facenet [2] là mô hình mạng học sâu dùng hàm hoc Triplet Loss Ở giai đoạn huấn luyện, ta cần tìm bộ ba vector đặc trưng của các mẫu, trong đó hai mẫu cùng lớp và

một mẫu khác lớp Với bộ ba này ta cần cực tiểu hóa khoảng cách của cặp mẫu dương

Trang 20

9 L(4,P,N) =) max (Ifa) - f(Po|[ — |If(A)) = f(W||D + ø,0) ¡=0 Giải thích kí hiệu: - -A là mẫu Anchor dau vao ° =P; hình ảnh dương e N- hinh anh 4m

+: biên độ giữa hình ảnh âm và hình ảnh dương + f : vec to dac trung

Thử thách của việc huấn luyện mô hình dùng Triplet Loss đó là ta phải tìm bộ ba mẫu trong bộ dữ liệu Cặp mẫu dương nhóm tác giả chọn cặp mẫu dương có khoảng cách xa nhau nhất Đối với cặp mẫu âm thì chọn cặp có khoảng cách gần nhau nhất Việc chọn bộ ba có tính chất như trên là kéo cặp mẫu dương cùng lớp về gần nhau hơn và đẩy xa nhau ra với mẫu khác nhóm Kết quả là mô hình có khả năng rút trích đặc trưng phân biệt cho từng người và đặc trưng của từng người sẽ ở gần một tâm cụm nào đó trong miền không gian đặc trưng

Negative

Anchor ,@ LIARMNG ` |

,= ¬" `

ae Positive Ancho Positive

Hình 1.4 Minh họa ý tưởng Triplet Loss

Hình trên minh họa ý tưởng chính của Triplet Loss Các đặc trưng của mẫu âm ban đầu chưa phân tách có thể nằm gần trong nhóm mẫu dương Qua quá trình học điều chỉnh bằng hàm lỗi Triplet, các đặc trưng của mẫu dương cùng nhóm sẽ tách biệt nhau ra

b Mang no ron CNN — VGG16

Trang 21

GÓI -io] imnlliemmamˆ Ol LỘ! se | es loi- tO, Py we feel S1" |*) ° (104 |8 ( o [DỊ ¡ ——i Né XUÁI (M) J l J

Các lớp tích chập (Convolutional), Các lớp kết nối Phân loại

kích hoạt phi tuyến ReLU và lấy mẫu dây đú (Fully

(Pooling) connected)

Hinh 1.5 Kién trúc cơ bản của một mạng CNN

Lớp tích chập: đây là thành phần quan trọng nhất trong mạng CNN, thể hiện sự

liên kết cục bộ thay vì kết nối toàn bộ các điểm ảnh Các liên kết cục bộ được tính toán

bằng phép tích chập giữa các giá trị điểm ảnh trong vùng ảnh cục bộ với các bộ lọc filters có kích thước nhỏ (4x) (0x0) (0x0) (9x0) ee (0x 1) ¿ (0x1) Các điểm ảnh góc (oxo) (0x1) ey Bộ lọc tich chập Giả trị điểm ảnh mới bội linh

Hình 1.6 Bộ lọc tích chập được sử dụng trên ma trận điểm ảnh

Trong hình 1.6, bộ lọc được sử dụng là một ma trận có kích thước 3x3, bộ lọc

Trang 22

II

Kích thước này được quyết định tùy theo kích thước các khoảng trắng được thêm ở viền bức ảnh gốc và được tính theo công thức sau:

i+2+p—-k

=— Hd

S

Trong đó: O: kích thước ảnh đầu ra; ¡: kích thước ảnh đầu vào; p: kích thước

khoảng trắng phía ngoài viền của ảnh gốc; k: kích thước bộ lọc; s: bước trượt của bộ lọc

Như vậy, sau khi đưa một bức ảnh đầu vào cho lớp tích chập nhận được kết quả đầu ra là một loạt ảnh tương ứng với các bộ lọc đã được sử dụng để thực hiện phép tích chập Các trọng số của các bộ lọc này được khởi tạo ngẫu nhiên trong lần đầu tiên

và sẽ được cập nhật trong quá trình huấn luyện

Lớp kích hoạt phi tuyến ReLU: được xây dựng để đảm bảo tính phi tuyến của mô hình huấn luyện sau khi đã thực hiện một loạt các phép tính toán tuyến tính qua các lớp tích chập Lớp kích hoạt phi tuyến sử dụng các hàm kích hoạt phi tuyến như ReLU hoặc sigmoid, tanh, để giới hạn phạm vi biên độ cho phép của giá trị đầu ra

Trong đó các hàm kích hoạt này, hàm ReLU được chọn do cài đặt đơn giản, tốc độ xử

lý nhanh mà vẫn đảm bảo được tính toán hiệu quả Phép tính toán của hàm ReLU chi đơn giản là chuyển tất cả các giá trị âm thành giá trị 0

Lớp ReLU được áp dụng ngay phía sau lớp tích chập, với đầu ra là một ảnh mới có kích thước giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn tương tự, trừ các giá trị âm đã bị loại bỏ

F(x) = max (0,x)

Lớp lấy mẫu: được đặt sau lớp tích chập và lớp ReLU để làm giảm kích thước ảnh đầu ra trong khi vẫn giữ được các thông tin quan trọng của ảnh đầu vào Việc giảm kích thước dữ liệu có tác dụng làm giảm số lượng tham số cũng như tăng hiệu quả tính toán Lớp lấy mẫu cũng sử dụng một cửa số trượt để quét toàn bộ các vùng trong ảnh như lớp tích chập, và thực hiện phép lấy mẫu thay vì phép tích chập, sẽ chọn lưu lại một giá trị duy nhất đại diện cho tồn bộ thơng tin của vùng ảnh đó

Trang 23

max pooling 20 30 112) 37 average pooling 112100 25: 2| 13 8 79 | 20

Hình 1.7 Phương thức Max Pooling và Avarage Pooling

Như vậy, với mỗi ảnh đầu vào được đưa qua lấy mẫu sẽ thu được một ảnh đầu

ra tương ứng, có kích thước giảm xuống đáng kể nhưng vẫn giữ được các đặc trưng cần thiết cho quá trình tính toán và nhận dạng

Lớp kết nối đầy đủ: được thiết kế tương tự như trong mạng nơ ron truyền thống, tất cá các điểm ảnh được kết nối đầy đủ với node trong lớp tiếp theo & | | elt | ¡ l@i |

Teg 818 r oF 8 Ni lw! ái iw) TN) © o 8g wm 8 wn q) Oo) igi 0) |b ig | wei tel te

lglg > ti ti» f'tielrihiei: ị goi tế sie eis lelieuers |: 8 leis ial 8 +

| 10 Ã | | Pots 5 | Rig yplig

In x ia x im x © x gi lel ia) Ri {we 1m] in x o x 4a % alio| ial we) 1X) |x (7) Fat 1 1% 7m 9 @® J9] | ” ® " ø| im |m | | | | te) AGS) ( J | % “ iH 5 & 4 3 ' ` % \ % ` * i : £ : : ws + + ớ z ứ,

Hình 1.8 Kiến trúc của mạng VGGI6

- Caffe [13] là một Deep Learning famework được phát triển bởi Berkeley AI Research (BAIR) và cộng đồng người dùng Deep Neural Networks được định nghĩa trong Caff theo layer-by-layer Dữ liệu được đưa vào qua data layers Tuy layers mới phải được viết theo C++/Cuda nhưng có một vài layer được hỗ trợ trên Python

Các bước đào tạo CNN bằng Caffe:

Trang 24

13

Định nghĩa mô hình: Trong bước này, mô hình được chọn là CNN và các tham số của nó sẽ được xác định rồi trong tệp cấu hình có phần mở rộng prototxt

Định nghĩa bộ giải: Bộ giải có trách nhiệm tối ưu hóa mô hình Xác định các tham số bộ giải trong một tệp cấu hình có phần mở rộng prototxt

Đào tạo mô hình: Đào tạo mô hình bằng cách thực hiện một lệnh Caffe từ thiết bị đầu

cuối Sau khi đào tạo mô hình, chúng ta sẽ có được mô hình được đào tạo trong một tệp có phần mở rộng caffemodel

R-CNN: Regions with CNN features

TEs] warped region : ⁄

2 Extract region 3 Compute 4 Classify image proposals(x2k) CNN features regions

Hình 1.9 Duong éng R — CNN sir dung Caffe cho phát hiện đối tượng

Caffe có thể xử lý hơn 60 triệu anh mdi ngay voi mot GPU NVIDIA K40, đó là 1ms/hình ảnh cho suy luận và 4ms/ hình ảnh để học tập

OpenFace [2] là một mô hình nhận dạng khuôn mặt học sâu được phát triển bởi BrandonAmos, Bartosz Ludwiczuk va Mahadev Sytyanarayanan, m6 hinh tap trung

vào nhận dạng khuôn mặt thời gian thực

Trang 25

CHƯƠNG 2

PHAN TICH THIET KẾ BÀI TỐN THƠNG TIN NGƯỜI

RAVÀO CƠ QUAN

2.1 Phát biểu bài toán

Bài toán phân tích thông tin người ra vào tòa nhà và các điểm công cộng trong vấn đề kiểm soát dịch Covid-19 Căn cứ vào phân tích được thông tin người ra vào để có thể đưa ra quyết định đúng đắn Từ thông tin thu thập có thể đưa ra các kế hoạch kiểm soát chống dịch hiệu quả Từ đó, xây dựng hệ thống phân luồng, truy vết tự động người nghi nhiễm ra vào hải quan Bình Dương

Người ra vào 1 tòa nhà bao gồm nhân viên của đơn vị và người đến liên hệ

công tác như vậy phải nhận định được là nhân viên của đơn vị hay là khách lạ đến đơn vị, khách nào thường xuyên đến hay là mới đến lần đầu; nhận dạng được người đến

đảm bảo tuân thủ như đeo khẩu trang và các thông tin như khai báo y tế, di chuyển, tiêm vắc xin, xét nghiệm, nhiệt độ

2.1.1 Bài tốn nhận dạng khn mặt

Từ dữ liệu hình ảnh và video trích xuất từ camera tại điểm ra vào cơ quan nhận dạng được khuôn mặt ngườira vào Đầu ra là hình ảnh nhận dạng được khuôn mặt khách ra vào tiến hành phân tích thông tin của khách như có đeo khẩu trang, nhiệt độ, tiêm vac xin, thông tin khai báo y tế

Áp dụng kĩ thuật Deep Learning để nhận dạng khuôn mặt:

ảnh mẫu Phát hiện Trích chọn Dữ liệu đặc

khuôn mặt khuôn mặt đặc trưng trừng

ảnh truy vấn Truy xuất đặc

khuôn mặt trưng lưu trữ "——

Phát hiện Tién xử lý Trích chọn D Phân loại

Trang 26

Lộ

Hình 2.1 Mô hình giải pháp nhận dạng khuôn mặt

Giai đoạn 1: Thu thập cơ sở dữ liệu và huấn luyện

Bước I: Phát hiện khuôn mặt: các khuôn mặt sẽ được đánh dấu từ dữ liệu khuôn mặt của các video hình ảnh qua các thuật tốn phát hiện khn mặt Sau khi các khuôn mặt được phát hiện sẽ chuyển đến bước tiếp theo để trích chọn đặc trưng

Bước 2: Trích chọn đặc trưng: sử dụng mạng nơ ron thần kinh CNN được huấn luyện để trích xuất các đặc trưng riêng biệt bằng cách sử dụng 128 phép đo cho mỗi

khuôn mặt, mỗi khuôn mặt sẽ được biểu diễn bằng 1 vectơ đặc trưng với 128 giá trị số

Bước 3: Lưu trữ đặc trưng và mô hình vào trong cơ sở dữ liệu

Giai đoạn 2: Nhận dạng

Bước I1: Phát hiện khuôn mặt Tìm trên ảnh và video có xuất hiện khuôn mặt cần truy xuất Đánh dấu vị trí khuôn mặt trong hình Tỉ lệ phát hiện ra khuôn mặt phụ

thuộc vào ánh sáng, góc độ, biểu hiện cảm xúc

Bước 2: Tiền xử lý: sử dụng các phép lọc để xử lý các hình ảnh khuôn mặt Bước 3: Trích xuất đặc trưng Sau khi phát hiện ra khuôn mặt trong ảnh và video, Deep Learning sẽ xác định ra thành phần đặc trưng nhất, đảm bảo tính duy nhất của một khuôn mặt Bước này trích xuất ra một vector đặc trưng với 128 giá trị đặc trưng của từng khuôn mặt Vec tơ đặc trưng này được so sánh với các vec tơ tính năng được lưu trữ trong cơ sở dữ liệu

Bước 3: Nhận dạng khuôn mặt Với hình ảnh đầu vào sau khi phát hiện ra

khuôn mặt, sử dụng thuật toán SVM để so sánh trích rút đặc trưng của khuôn mặt với

cơ sở dữ liệu khuôn mặt Tên của người cần truy vấn bằng nhận dạng khuôn mặt sẽ được hiển thị

2.1.2 Bài tốn phát hiện khơng đeo khâu trang

Khi nhận diện khuôn mặt người ra vào tòa nhà, phát hiện người không đeo khẩu

trang hoặc đeo khẩu trang không đúng, được chia thành hai giai đoạn:

Giai đoạn 1: phát hiện khuôn mặt trong ảnh, bước này phát hiện cả khuôn mặt có đeo lẫn không đeo khâu trang, sau đó được cắt lại và qua bước 2

Giai doan 2: phan loai (classification) để phát hiện khuôn mặt trong các trường hợp sau:

+ Mask: có đeo khâu trang

+No Mask: không đeo khẩu trang

+ Wrong: đeo khẩu trang chừa mũi hoặc miệng + Hand: lấy tay che khẩu trang

Trang 27

2.1.3 Bài toán đếm số lượng khách và nhận dạng nhân viên hay người lạ:

Cũng từ đữ liệu video được trích xuất từ camera tại các địa điểm của cơ quan ,

đếm số lượng khách từ dữ liệu video, thống kê gần đúng số lượng khách đến cơ quan

hàng ngày, thời gian đi và về

Áp dụng kết hợp trình theo dõi đối tượng và phát hiện đối tượng thành một

thuật toán duy nhất, được chia thành hai giai đoạn:

- Giai đoạn 1- Phát hiện: xác định vị trí của đối tượng trong 1 hình ảnh/ khung hình Trong giai đoạn phát hiện đối tượng, chạy trình theo dõi đối tượng dé phát hiện xem các đối tượng “mới” xuất hiện hay không và xem có thể tìm thấy đối tượng bị “mất” trong giai đoạn theo dõi hay không Đối với mỗi đối tượng được phát hiện, tạo hoặc cập nhật trình theo dõi đối tượng với tọa độ hộp giới hạn mới

- Giai đoạn 2 — Theo dõi: theo dõi đối tượng sẽ chấp nhận các tọa độ đầu vào (x, y)

của vị trí một đối tượng trong hình ảnh và sẽ:

+ Gán một ID duy nhất cho đối tượng cụ thể

+ Theo dõi đối tượng khi nó di chuyển xung quanh luồng video, dự đoán vị trí

đối tượng mới trong khung tiếp theo dựa trên các thuộc tính khác nhau của khung Đối với mỗi đối tượng được phát hiện, tạo một trình theo dõi đối tượng để theo dõi đối tượng khi nó di chuyển xung quanh khung Tiếp tục theo dõi cho đến khi đạt đến khung thứ N và lặp lại toàn bộ quá trình

2.1.3.1 MobileNet Single Shot Detector (MobileNet SSD)

MobileNet SSD 1a thuật toán phát hiện đối tượng thời gian thực, siêu nhanh trên các thiết bị hạn chế tai nguyén (Raspberry Pi, dién thoại thông minh, )

MobileNet SSD bao gém Single Shot Detector va MoblileNet: a Single Shot Detector

SSD [20] 1a mé hinh Single Shot Detector sit dung mang VGG16 SSD phathién đối tượng gồm 2 phần: trích xuất bản đồ tính năng và áp dụng bộ lọc chập để phát hiện đối tượng

Extra Feature Layers

VGG-16 ch cử dit Có thứ th chu hhughgdg22723010,20- Hec2St through Convs, ) Slayer

enn eee ene Ciass fer Cony Sxdni4x.Classesed)

oo; =— Ciasefer : Conv dxdniGxiCiassesed + | | SSD í Detections:8732 per Class 14.3mAP §9FPS ng orag cane caret a 4 Cony: 3xanidutCiasgeses)) _Non-Maximum Suppression |

Con: 33x! tim sated old te txt ae Cory 1x1

Conv, 3xdn512-s2 Conv: 30325882 Conv dnd 20831 Cony

Trang 28

17

SSD sử dụng VGGI6 để trích xuất bản đồ tính năng Sau đó nó phát hiện các đối tượng bằng cách sử dụng lớp conv4:_ 3

SSD tính vị trí và điểm lớp bằng cách sử dụng các bộ lập tích chập nhỏ Sau khi trích xuất các ban dé tính năng, SSD áp dụng bộ lọc tích chập 3x3 cho mỗi ô để đưa ra dự đoán (các bộ lọc này tính toán kết quả giống như các bộ lọc CNN thông thường) Mỗi bộ lọc cho ra 25 kênh: 21 điểm cho mỗi lớp cộng với một hộp ranh giới

SSD sử dụng nhiều lớp để phát hiện đối tượng một cách độc lập Khi CNN giảm dần kích thước không gian, độ phân giải của các bản đồ của các đối tượng cũng

giảm theo SSD sử dụng các lớp có độ phân giải thấp hơn để phát hiện các đối tượng có quy mô lớn hơn Ví dụ: bản đồ đối tượng 4x4 được sử dụng cho đối tượng tỷ lệ lớn hơn ' t ' ' 7 - : + + + 1 7 xã geo ea wow he

8 x 8 feature map 4x 4 feature map

Hình 2.3 Bản đồ tính năng có độ phân giải thấp hơn (bên phải) phát hiện các đối tượng

có quy mô lớn hơn

SSD bé sung thêm 6 lớp chập phụ sau VGG16 Năm trong số chúng sẽ được thêm vào để phát hiện đối tượng 3 trong số các lớp đó, đưa ra 6 dự đoán thay vì 4

Tổng cộng, SSD thực hiện 8732 dự đoán bằng cách sử dụng 6 lớp

b MobileNets

- MobileNets [9] là mô hình sử dụng cách tính chập tích mang tên DSC (Depthwise Separable Convolution) nhằm giảm kích thước mô hình và giảm độ phức tạp tính toán - Kiến trúc mạng MobileNets:

+ Depthwise Convolution là một loại tích chập trong đó áp dụng một bộ lọc tích chập

duy nhất cho mỗi kênh đầu vào Trong phép tích chập 2D thông thường được thực

hiện nhiều kênh đầu vào, bộ lọc cũng sâu như đầu vào và cho phép tự do trộn các kênh

để tạo ra từng phần tử trong đầu ra Ngược lại, sự biến đổi theo chiều sâu giữ cho mỗi

kênh riêng biệt Các bước thực hiện:

+ Tách đầu vào và lọc thành các kênh

Trang 29

+ Chuyển đổi từng đầu vào với bộ lọc tương ứng + Xếp chồng các kết quả đầu ra được biến đổi với nhau

-®œ-

Hình 2.4 Phép chập theo chiều sâu 3x3

+ Pointwise Convolution là một kiểu tích chập sử dụng một nhân 1x1: một nhân lặp lại qua từng điểm đơn lẻ Kernel này có độ sâu bằng nhiều kênh mà hình ảnh đầu vào có

Sf Hình 2.5 Phép chập theo chiều kim IxI

Mô hình kiến trúc mạng MobileNets

Mô hình có 30 lớp với các đặc điểm sau:

Trang 30

19 Table 1 MobileNet Body Architecture Type / Stride Filter Shape Input Size Conv / s2 3x 3™«3 x 32 224 x 324 x3 Cony dw / sỈ 34x3x32dw 112% 112 x 32 Conv /s1 Ix 1 x 32 x 64 L12 x 112 x32 Conv dw / s2 3« 3 « 64 dw 112 x 112 x 64 Conv / sl Íx 1x64 x 128 56 x 56 xố Conv dw/ sl 3x« 3 «x 128 dw 506» 5G » 128 Cony /sl 1x 1x 128 x 128 56 x 56 x 128 Cônv dw / s2 3x 3 ™« 128 dw 56 x 56 «x 128 Conv / sl Ix 1 = 128 x 256 28 x 28 x 128 Cony dw/s1 3x 3 x 256 dw 28 x 28 > } Conv / sl Ix 1 x 256 « 256 28 x QBS x Cony dw / s2 3 x3 x 356 dw 28 « 28 Conv /sl Lx 1 « 256 «x 512 14 x 14 x 356 5x Conv dw/š1 | 3 x 3x 512 dw 14 x l4 Conv/ sl Ix 1x 512 « 512 14 x 14 Conv dw / s2 3 x3 x512dw 14 x l4 x Conv /s1 1x 1x 512 x 1024 Tx 7X Cony dw / s2 3< 3 x 1024 dw Ÿx7x Conv / sl Ix 1 x 1024 x 1024 | 7x 7 x Avg Pool/s1 Pool 7 x 7 7x7 x FC /s1 1024 « 1000 lx] x Softmax /s1 Classifier Ix 1 x 1000 Hình 2.6 Mô hình kiến trúc mạng MobileNets

MobileNets sử dụng rất nhiều lớp Depthwise Separable Convolution để giảm số lượng tham số đi nhiều lần

Trang 31

Với BN và ReLU (phải)

Kết hợp kiến trúc MobileNets và Single Shot Detector để phát hiện dối tượng

Extra Feature Layers MobileNet [ 1 4 through the last DSC module Classtier; n 1011/00 án ©0nv3x3x|4x(cla35@514)} li G222021)162262À0)1104 4120 —— mm 5 | BS conv3x3x(6x(classes+4)) : Ÿ H 3 Le ì Ệ $ 38 x 8 | 8 cy : = ! | laye1 5 t t Í g Š \ { a Sd Ệ i a ễ š 300200 Si CA 512

mage OSC-3x3x1024 convintx256 convixtxt28 convlxil28 conylxixi28

convixixi024 —DSC-3x3x512 D§O-3x3x266 0§C-3x3x256 conv3xix256

Hình 2 8 Mơ hình MobileNet Single Shot Detector

2.1.3.2 Thuật toán theo dõi centroid: Thuật toán theo dõi centroid [7] gồm:

Bước I: Chấp nhận một tập hợp các hộp giới hạn và tính toán các trọng tâm tương ứng của các hộp giới hạn Các hộp giới hạn có thể được cung cấp bởi: một máy dò đối tượng hoặc trình theo dõi đối tượng

@ Step #1

Trang 32

21

Bước 2: Tính khoảng cách Euclid giữa bất kỳ tâm mới (màu vàng) và các tâm hiện có (màu tím) Khoảng cách Euclid giữa các cắp centroid phải cùng một ID dối tượng

Step #2

Hình 2.10 Khoảng cách Eculid giữa các cặp centroid

Bước 3: Liên kết các ID đối tượng

Step #3

Trang 33

Bước 4: Đăng kí các đối tượng mới + Gán ID cho đối tượng mới

+ Lưu trữ tâm của tọa độ hộp giới hạn cho đối tượng mới

@ Step #4

Hình 2-12 ID #3A mới không khớp với các đối tượng hiện có

Bước 5: trường hợp một đối tượng bị mất hoặc ra khỏi trường xem, hủy đăng kí đối tượng đó

Để theo dõi và đếm một đối tượng trong luồng video, cần lưu trữ thông tin của chính đối tượng, bao gồm:

+ ID đối tượng

+ Tâm trước (vì vậy có thé dé dàng tính hướng đối tượng đang di chuyển)

+ Đối tượng đã được đếm hay chưa

2.2 Mang no ron CNN (Convolutional Neural Networks)

2.2.1 Khai niém

Convolutional Neural Netwworks (CNN) [19] la m6t trong mé hinh deep learning phé biến nhất CNN được dùng trong nhiều bài toán như nhận dạng ảnh, phân tích video, ảnh MRI, hoặc cho các bài của lĩnh vực xử lý ngôn ngữ tự nhiên và hầu hết đều giải quyết tốt bài toán này

2.2.2 Cấu trúc CNN

Trang 34

23

nhất định Thông thường 1 ảnh sẽ được lan truyền qua tầng convolution layer + nonlinear layer đầu tiên, sau đó các giá trị tính toán được sẽ lan truyền qua pooling layer, bộ ba convolution layer + nonlinear layer + pooling layer có thể được lặp lại nhiều lần trong network Và sau đó được lan truyền qua tang fully connected layer va sofimax dé tính xác suất ảnh có chứa vật thẻ gì

2.2.2.1 Convolution layer

Convolution layer là lớp đầu tiên của mô hình CNN Lớp này có chức năng chính là phát hiện các đặc trưng có tính không gian hiệu quả Trong tầng này có 4 đối tượng chính là: ma trận đầu vào, bộ filters, receptive field va feature map Conv layer nhận đầu vào là ma trận 3 chiều và một bộ filters BO filters này sẽ vượt qua từng vị trí trên bức ảnh để tính tích chập (colvolution) giữa bộ filters và phần tương ứng trên bức ảnh Phần tương ứng này trên bức ảnh gọi là receptive field, tức là vùng mà một nơ ron có thể nhìn thấy để đưa ra quyết định và ma trận cho ra bởi quá trình này được gọi là feature map

Ví dụ, dữ liệu đầu vào là ma trận có kích thước 8x8x1, bộ filters có kich thuéc 2x2x1, feature map có kích thước 7x7xI Mỗi giá trị ở feature map được tính bằng tổng của tích các phần tử tương ứng của bộ filters 2x2x1 với receptive field trên ảnh Và để tính tat ca cdc gia tri cho feature map, cần trượt filters từ trái sang phải, từ trên xuống dưới Do đó, có thể thấy rằng phép colvolution bảo tồn thứ tự khơng gian của các điểm ảnh

ma trận đầu vào ma trận đầu ra

— —= receptive field — filler/kernel

Hình 2.13 Điểm góc trái của dữ liệu đầu vào sẽ tương ứng với điểm góc trái của feature map

Trang 35

filters quét qua toàn bộ bức ảnh, nên những đặc trưng này có thể nằm ở vị trí bất kỳ trong anh, cho dù ánh bị xoay trái/phái thì những đặc trưng này vẫn bị phát hiện

Các tham số của tầng convolutional layer: kich thước bộ filter, stride va padding Kich thước bộ filter là một trong những tham số quan trọng nhất của tầng convolution layer Kích thước này tỉ lệ thuận với số tham số cần học tại mỗi tầng convolution và là tham

số quyết định receptive field của tầng này Kích thước phổ biến nhất của bộ filter là 3x3 Kích thước filter nhỏ được ưu tiên lựa chọn thay kích thước lớn vì những lý do sau: Filter Nhỏ Filter Lớn Kích thước nhỏ thì mỗi lần nhìn được một Ẵ a Receptive field lén vùng nhỏ các pixel

Rút trích được đặc trưng có tính cục bộ cao Các đặc trưng có tính tông quát hơn Bắt được những phần cơ bản của bức

Phát hiện được các đặc trưng nhỏ hơn ảnh

Die wane au eich dupe sé da dang: hits Thông ít rút trích được ít da dang ích hơn ở tâng sau

Giảm kích thước ảnh chậm hơn, do đó cho | Giảm kích thước ảnh nhanh, do đó chỉ

phép mạng sâu hơn cho phép mạng nơng

Ít trọng số hơn, chia sẻ trọng số tốt hơn Chia sé trong sô ít ý nghĩa hơn Bảng 2.1 So sánh kích thước Filter

Kích thước của tầng convolutional layer hau hết đều là số lẻ, ví dụ như 3x3 hay 5x5 Với kích thước filter lẻ, các giá trị của feature map sẽ xác định một tâm điểm ở tầng phía trước Nếu chọn filter có kích thước 2x2, 4x4 thì sẽ gặp khó khăn khi muốn tìm vị trí tương ứng của các giá trị feature map trên không gian ảnh Đã /1|ESm PP N F— Oo F¬¬ PP = * x | im ° fs ey —- a mJ ° —.| 2 | = # F¬d “<= Ea - ol Pa PS = pm PJ fm SLT filter PR | F lL AI es Em lo Ly Sd rs ¡ PS ¬— ME] |

đầu vào mi feature map

Trang 36

25

Ở những trường hợp đặc biệt như filter có kích thước IxI hay có kích thước bằng với

ma trận đầu vào, tầng convolution có ý nghĩa rất thú vị Khi có kích thước IxI, tầng convolution xem mỗi điểm như một đặc trưng riêng biệt, có chức năng giảm chiều (tăng chiều) khi số lượt feature map ở tâng sau nhỏ hơn (lớn hơn) tầng trước Filter 1x1 đã được sử dụng trong kiến trúc mạng phổ biến như inception networks Trong khi đó, filter với kích thước bằng ảnh đầu vào, tầng convolution có chức năng y hệt fully connected layer Ngoài ra cần lưu ý tham số stride, thể hiện số pixel cần phải dịch

chuyền mỗi khi trượt bộ filter qua bức ảnh

Khi áp dụng phép convolution thì ma trận đầu vào sẽ nhỏ dần đi, do đó số layer của mô hình CNN sẽ bị giới hạn và không thể xây dựng deep nets mong muốn Để giải quyết tình trạng này, cần padding vào ma trận dầu vào để đảm bảo kích thước đầu ra sau mỗi tầng convolution là không đổi Do đó có thể xây dựng được mô hình với số tầng convolution lớn tùy ý Một cách đơn giản và phổ biến nhất để padding là sử dụng hàng số 0, ngoài ra có thể sử dụng reflection padding hay là symmetric padding 0 6 OC G Ơi hm oO ©lololoieieclo cm ® fF oo oo A — ° ooo oe ° om @ = a œ'©Glioelo|olole zero padding Hình 2.15 Ma tran str dung zero padding 2.2.2.2 Nonlinear Layer

Trang 37

ReLU sẽ gán những giá trị âm bằng 0 và giữ nguyên giá trị của đầu vào khi lớn hơn 0 2.2.2.3 Pooling Layer

Sau hàm kích hoạt sẽ sử dụng tầng pooling Một số loại pooling layer phổ biến như là max-pooling, average pooling với chức năng chính là giảm chiều của tầng trước đó Với một pooling có kích thước 2x2, cần phải trượt filter 2x2 này trên những vùng ảnh có kích thước tương tự rồi sau đó tính max, hay average cho vùng ảnh đó

đầu vào sau khi pooling

Hinh2.16 Pooling layer 2x2

Ý tưởng đằng sau tầng pooling là vị trí tuyệt đối của những đặc trưng trong không gian ảnh không còn cần thiết, thay vào đó vị trí tương đối giữa các đặc trưng đã đủ để phân loại đối tượng Hơn nữa giảm tầng pooling có khả năng giảm chiều cực kì nhiều, làm hạn chế overft và giảm thời gian huấn luyện tốt

2.2.2.4 Fully Connected Layer

Tầng cuối cùng của mô hình CNN là tầng Fully Connected Layer Tầng này có chức

Trang 38

27 Pooled Feature Map 1 1 1Ị110 0 Flattening 412|1 ¬ 4 0121/1 2 1 0 2 1

Hình 2.17 Chuyển ma trận đặc trưng thanh vec to

Sau đó dùng các fully connectes layer để kết hợp các đặc điểm của ảnh để ra được ou(put của mô hình

2.2.3 Mô hình nhận dạng khuôn mặt dựa trên CNN

Trang 39

Mỗi lớp nơ ron trong mô hình CNN lấy một mảng nhiều chiều gồm các số làm đầu vào và tạo ra một mảng số nhiều chiều khác ở đầu ra (sau đó trở thành đầu vào của lớp tiếp theo) Khi phân loại hình ảnh khuôn mặt, đầu vào của lớp nơ ron đầu tiên là kích thước hình ảnh đầu vào Kích thước đầu ra của lớp cuối cùng là tập hợp các khả năng của các lớp khác nhau được phân loại cho mỗi ảnh đầu vào Sử dụng ba loại lớp nơ ron để xây dựng kiến trúc của CNN bao gồm: 5 lớp tích chập (CONV), 4 lớp nơ ron gộp chung hay còn gọi là lớp nơ ron tổng hợp (POOL) và 2 lớp nơ ron kết nối đầy

đủ để phân loại (gọi là lớp Dense) Mỗi lớp CONV được kết nối theo sau nó bởi một

lớp POOL, áp dụng cơ chế kích hoạt ReLu, sau mỗi lớp CONV để đảm bảo đầu vào

không âm cho lớp nơ ron kế tiếp Theo nguyên tắc xếp chồng các lớp nơ ron và giảm không gian mẫu tại các kết quá đầu ra của chúng CNN thực hiện trích xuất các đặc trưng ngày càng trừu tượng và phức tạp hơn, đồng thời, là bất biến đối với các phép biến dạng và chuyển đổi Hơn nữa, để khắc phục hiện tượng quá khớp trong huấn luyện mạng nơ ron, sử dụng kỹ thuật Dropout sau mỗi lớp POOL Dropout sẽ thực hiện chọn ngẫu nhiên hàm kích hoạt với một lượng theo tỷ lệ (được đặt trước) của các nơ ron và đặt thành 0 (tức là đầu ra của nơ ron được chọn bằng 0) trong quá trình huấn luyện mạng Mạng tích chập CNN trong mô hình này được chia thành 12 khối (hình 2- 2)

Khối BI là ảnh đầu vào có kích thước H x W x I (cao x rộng x sâu) Để giảm

bớt không gian và bộ nhớ của quá trình tính toán mạng nơ ron sử dụng ảnh đầu vào đa cấp xám

Khối B2 là lớp nơ ron tích chập có 32 bộ lọc đặc trưng với kích thước cửa số

hàm nhân 3x3 Hàm kích hoạt ReLu được sử dụng trong lớp nơ ron này Hiệu ứng này nhằm cải thiện các đặc trưng thưa của toàn mạng và tránh sự phụ thuộc vào việc truyền tham số giữa các nơ ron

Khối B3 là lớp POOL kết hợp với hàm kích hoạt kiểu MaxPooling, cửa số xử lý có kích thước 2x2 được sử dụng và đầu ra bị loại bỏ (đặt về 0) ngẫu nhiên với xác suất

0,25 Lớp giảm không gian mẫu sử dụng phương pháp max-pooling với việc có thể giữ lại thông tin hữu ích và cắt giảm lượng dữ liệu cần xử lý ở bước tiếp theo

Khối B4, B6, B8 tương tự khối B2 nhưng số các bộ lọc tăng dần từ 32, 64, đến

128 Các khối B5, B7, B9 tương tự khối B3, mỗi khối này kết nối ngay theo sau khối tích chập CONV để thực hiện cắt giảm không gian mẫu

Khối B10 là lớp nơ ron kết nối đầy đủ Lớp này cùng với lớp trong khối B12

nhằm mục tiêu phân lớp các đặc trưng được trích chọn ở các lớp trước

Trang 40

29

quá khớp dữ liệu học và có khả năng dự đoán tốt hơn Cơ chế này được thực hiện thông qua việc chia dữ liệu học thành hai phần, một phần dé tinh toán cập nhật và điều

chỉnh trọng số mạng, một phần để tính toán sai số và cập nhật thay đỗi trọng số mạng Đầu ra phân lớp cuối cùng của mô hình được xác định dựa trên giá trị cực đại hàm

Softmax cua no ron tương ứng, với mô hình CNN có lớp (tức là có nơ ron ở lớp ra) thì công thức xác định như sau:

output crassizied = argmaxe,{O, : k = 1, , 10x}

Trong d6, 0, 1a đầu ra của nơ ron thứ ở lớp nơ ron cuối cùng và tương ứng với nó

là lớp đối tượng Cụ

2.3 Quá trình huấn luyện mạng nơ ron

Quá trình huấn luyện mạng nơ ron được thực hiện theo các tiễn trình Từ dữ liệu hình ảnh đầu vào có chứa khuôn mặt, trong bước đầu tiên thuật toán sẽ tiến hành phát hiện (face detection) và xác định vị trí của các khuôn mặt có trên ảnh Các khuôn mặt được phát hiện sau đó sẽ tiếp tục được tiền xử lý nhằm tăng cường chất lượng hình ảnh (loại nhiễu, khử bóng hoặc mờ), chuẩn hóa kích thước và độ phân giải ảnh, căn chỉnh

khuôn mặt Các khuôn mặt sau khi đã tiền xử lý sẽ được sử dụng làm đầu vào cho mô

Ngày đăng: 03/11/2023, 17:58

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

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

TÀI LIỆU LIÊN QUAN