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

Khóa luận tốt nghiệp Truyền thông và mạng máy tính: Xây dựng hệ thống phát hiện hành động phạm tội sử dụng Camera thông minh áp dụng kỹ thuật học sâu

70 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 đề Xây dựng hệ thống phát hiện hành động phạm tội sử dụng Camera thông minh áp dụng kỹ thuật học sâu
Tác giả Ngo Nguyen Linh Hao, Dang Duc Chau
Người hướng dẫn TS. Le Kim Hung, THS. Thai Huy Tan
Trường học Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Mạng Máy tính và Truyền thông
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 70
Dung lượng 44 MB

Nội dung

Tinh khoa học và tinh mới Đề tài này tập trung nghiên cứu, huấn luyện đữ liệu để xây dựng được mô hìnhmáy học có khả năng nhận biết được hành vi bao lực, bên cạnh đó nhóm chúng emcũng ng

Trang 1

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

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

NGO NGUYEN LINH HAO

DANG DUC CHAU

KHOA LUAN TOT NGHIEP

XAY DUNG HE THONG PHAT HIEN HANH DONG

PHAM TOI SU DUNG CAMERA THONG MINH AP

DUNG KY THUAT HOC SAU

BUILDING A CRIMINAL ACTION DETECTION

SYSTEM WITH AN AI-BASED CAMERA USING DEEP

LEARNING

KY SU NGANH MANG MAY TINH VA TRUYEN THONG

TP HO CHÍ MINH, 2022

Trang 2

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

TRUONG DAI HOC CONG NGHETHONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

NGO NGUYEN LINH HAO - 18520715

DANG DUC CHAU - 18520516

KHOA LUẬN TOT NGHIỆP

XAY DUNG HE THONG PHAT HIEN HANH DONG

PHAM TOI SU DUNG CAMERA THONG MINH AP

DUNG KY THUAT HOC SAU

BUILDING A CRIMINAL ACTION DETECTION

SYSTEM WITH AN AI-BASED CAMERA USING DEEP

LEARNING

KY SU NGANH MANG MAY TINH VA TRUYEN THONG

GIANG VIEN HUONG DAN

TS LE KIM HUNG THS THAI HUY TAN

TP HO CHi MINH, 2022

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

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

NĐØầY của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

—¬ cece e cece eee ee eee ene ec eee eee teen ena eee — Chủ tịch.

Boece ccc eee e nee e eee eens ene e eee enee ene ennees — Ủy viên

— nen ene e nena ees — Ủy viên

Trang 4

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC CÔNG Độc Lập - Tự Do - Hạnh Phúc

NGHỆ THÔNG TIN

1P HCM ngày tháng năm 2022

NHẠN XÉT KHÓA LUẬN TÓT NGHIỆP

(CUA CÁN BO HUONG DAN)

Tên khóa luận:

XÂY DUNG HE THONG PHÁT HIỆN HANH ĐỘNG PHAM TOI SUDỤNG CAMERA THONG MINH ÁP DUNG KỸ THUAT HỌC SAU

Nhóm SV thực hiện: Cán bộ hướng dẫn:

Ngô Nguyễn Linh Hảo - 18520715 TS Lê Kim Hùng

Đặng Đức Châu — 18520516 ThS Thái Huy Tân

Đánh giá Khóa luận

1 Vé cuôn bao cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một sô nhận xét về hình thức cuôn báo cáo:

Trang 5

4 Vé thái độ làm việc của sinh viên:

Điểm từng sinh viên:

Ngô Nguyễn Linh Hảo : /10

Dang Dire Chau : /10

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 6

ĐẠI HOC QUỐC GIA TP HO CHÍ MINH CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC CÔNG Độc Lập - Tự Do - Hạnh Phúc

NGHỆ THÔNG TIN

TP HCM ngày tháng năm 2022

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luân:

XÂY DỰNG HỆ THÓNG PHÁT HIỆN HÀNH ĐỘNG PHẠM TỘI SỬDỤNG CAMERA THÔNG MINH ÁP DỤNG KỸ THUẬT HỌC SÂU

Nhóm SV thực hiện: Can bộ phản biện:

Ngô Nguyễn Linh Hảo - 18520715

Đặng Đức Châu - 18520516

Đánh gia Khóa luận

1 Về cuôn báo cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một sô nhận xét vê hình thức cuôn báo cáo:

Trang 7

4 Vé thái độ làm việc của sinh viên:

Điểm từng sinh viên:

Ngô Nguyễn Linh Hảo : /10

Dang Dire Chau : /10

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 8

LỜI CẢM ƠN

Trước tiên, nhóm chúng em xin chân thành gửi lời cảm ơn đến tất cả quý thầy côTrường Đại học Công nghệ Thông tin, đặc biệt là quý thầy cô khoa Mạng Máy tính

và Truyền thông đã tạo môi trường học tập, nghiên cứu bồ ích và luôn truyền đạt kiến

thức bổ ích trong quá trình hoc tập tại trường

Nhóm cũng xin gửi lời cảm ơn sâu sắc nhất đến tiến sĩ Lê Kim Hùng cùng với

thạc sĩ Thái Huy Tân — giảng viên hướng dẫn của nhóm — người đã định hướng, cho

nhưng lời khuyên chân thành và giúp đỡ nhóm hoàn thành khoá luận tốt nghiệp Với

sự tận tâm, yêu nghề và khối kiến thức sâu rộng, vững chắc, thầy đã giúp nhóm chúng

em có cơ hội tìm hiểu, tiếp xúc nhiều kiến thức bổ ích mới dé làm ban đạp nhóm có

thé hoàn thành khóa luận tốt nhất trong khả năng của nhóm

Ngoài ra, nhóm xin cảm ơn gia đình luôn là nguồn năng lượng to lớn ủng hộ vềmặt tỉnh thần và cả vật chất Thật thiếu sót nếu không gửi lời cảm ơn đến các anh chị,bạn bè khoa Mạng Máy tính và Truyền thông và IEC Team đã nhiệt tình hỗ trợ khi

nhóm gặp khó khăn.

Mặc dù thành quả ngày hôm nay là quá trình cỗ gắng hết sức để hoàn thành khóaluận tốt nghiệp, nhưng cũng không thê tránh khỏi những thiếu sót nhất định do bướcđầu làm quen với nghiên cứu còn nhiều bỡ ngỡ và hạn chế về kiến thức chuyên môn,

sâu rộng cũng như kinh nghiệm thực tiễn Nhóm chúng em mong nhận được sự thông

cảm và góp ý chân thành từ quý thầy, cô Những góp ý này sẽ là kim chi nam dénhóm chúng em phát triển về sau và hoàn thiện bản thân thật tốt hơn nữa

Xin chân thành cảm ơn.

TP Hồ Chí Minh, ngày tháng năm 2022

Trang 9

ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng năm 2022

ĐÈ CƯƠNG ĐÈ TÀI LUẬN VĂN KỸ SƯ

1 Tên đề tài hoặc hướng NCTên tiếng việt:

Xây dựng hệ thống phát hiện hành động phạm tội sử dụng camera thông minh áp

dụng kỹ thuật học sâu

Tên tiếng anh:

Building a criminal action detection system with an Al-based camera using deep learning

2 Ngày và mã ngành đào tao

Ngành: Truyền thông và Mạng máy tính

Mã ngành: 7480102_CLC

3 Ho và tên học viên thực hiện đề tài, khóa -đợt học

Họ tên sinh viên 1: Ngô Nguyễn Linh Hảo MSSV: 18520715

Họ tên sinh viên 2: Đặng Đức Châu MSSV: 18520516

Người hướng dẫn 1: TS Lê Kim Hùng

Dia chi email: hunglk@uit.edu.vn Điện thoại: 0948790268

Người hướng dẫn 2: ThS Thái Huy Tân

Dia chỉ email: tanth@uit.edu.vn Dién thoai: 0383410784

4 Tinh khoa học và tinh mới

Đề tài này tập trung nghiên cứu, huấn luyện đữ liệu để xây dựng được mô hìnhmáy học có khả năng nhận biết được hành vi bao lực, bên cạnh đó nhóm chúng emcũng nghiên cứu làm sao triển khai mô hình này lên thiết bị biên nhưng vẫn đảm bảo

được tính chính xác khi nhận diện hành động.

Sau khi triển khai mô hình trên thiết bị biên hoàn thành thì kế nối với hệ thống

il

Trang 10

web dé ghi nhận thông tin và giám sát liên tục 24/7.

5 Mục tiêu, đối tượng và phạm vi nghiên cứu

5.1 Mục tiêu

Tìm hiểu về trí tuệ nhân tạo (AI — Artificial Intelligence) va ứng dụng của AI

vào các hệ thống camera giám sát nhằm phát hiện và ngăn chặn hành động phạm

Xây dựng website để người dùng theo dõi, giám sát hình ảnh từ camera trong thời

gian thực, nhận thông báo khi phát hiện hành động bạo lực.

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

Đối tượng trong nghiên cứu này mà nhóm hướng đến:

e Nghiên cứu, xây dựng mô hình máy học có khả năng nhận diện hành vi bạo

lực áp dụng kỹ thuật học sâu.

e_ Các tập dữ liệu được sử dung dé huấn luyện và đánh giá mô hình: RWF-2000

Dataset, Hockey Fights Dataset, Raw video, AIRTLab Dataset.

e Nghién cứu, tối ưu hóa mô hình máy hoc phù hợp lam sao có thé chạy trênthiết bị Raspberry Pi 4

e Tìm hiểu ngôn ngữ lập trình Python sử dụng trong việc xây dựng và chạy mô

hình.

e Nghiên cứu về NodeJS cùng với hệ quản trị cơ sở dit liệu MongoDB dé áp

dụng trong việc xây dựng server backend va Vue.js trong việc xây dựng giao diện trang website.

e Nghiên cứu về công cụ Socket IO trong việc kết nối, truyền tải dữ liệu trong

thời gian thực.

5.3 Pham vi nghiên cứu

Khóa luận thực hiện nghiên cứu trên khuôn viên trường học, hang quán, khu dân

ill

Trang 11

cu, chung cư có quy mô dưới 100 người nơi có nhiều hoạt động Khi hoàn thành dé

tài có thé phát triển thêm về mặt thiết bị và ứng dụng giám sát trong những phạm vi

đã nghiên cứu.

6 Nội dung, phương pháp thực hiện

Nội dung 1: Tìm hiểu và làm quen với các khái niệm liên quan đến những công nghệtrong đề tài

Mục tiêu: Xác định các công nghệ liên quan đến mục tiêu đề tài

Phương pháp:

" Đọc tài liệu, bài báo liên quan đến các công nghệ đang hướng đến.

= Tìm ra điểm mạnh, điểm yếu và việc kết hợp các công nghệ với nhau qua

từng tài liệu, bài báo đã tìm hiểu

Nội dung 2: Tìm hiểu thiết bị sử dụng trong đề tài và cách lập trình trên máy tính

nhúng.

Mục tiêu: Xác định các thiết bị sẽ dùng trong nghiên cứu và cách thức các thiết

bị này hoạt động Bên cạnh đó, tìm hiểu về cách lập trình trên máy tính nhúng để xử

lý các dit liệu liên quan và xây đựng mô hình kiến trúc hệ thống ban dau

Phương pháp: Nhóm thực hiện việc tìm hiểu và tham khảo các nghiên cứu đã

công bồ trước đây có liên quan đến đề tài dùng camera dé phát hiện các hành vi bat

thường Từ đó cùng thống nhất về các thành phan trong hệ thống ban đầu bao gồm:

= Một thiết bị Rasberry Pi 4 Model B được triển khai model đã xây đựng dựatrên các kỹ thuật học sâu - đóng vai trò như một thiết bị thực hiện tiếp nhận và

o Phan xây dựng model: Nhóm cần phải tìm hiểu về các thuật toán học

sâu được sử dụng dé nhận diện các hành động mang tính bạo lực, sau

đó tìm hiểu môi trường vận hành và cách triển khai, thực hiện đánh giá

IV

Trang 12

và chọn ra model có kết quả khả quan nhất.

o Phần xây dựng trang web quản trị: Tham khảo và tìm hiểu các công cụ

hoặc framework cần sử dụng đề phát triển trang web

o_ Phần thiết bị: Rasberry Pi 4 model B

Nội dung 3: Xây dựng trang web dành cho quản trị viên dé quan lý hệ thống

Mục tiêu: Xây dựng một trang web dành cho quản trị viên dé kiếm soát được ditliệu trong hệ thong

Phương pháp:

= Sử dụng Figma dé thiết kế giao diện ban đầu cho trang web

= Xây dung database, sử dụng MongoDB.

= Xây dung backend riêng cho trang web gồm các API dé thực hiện xử lý dữliệu và yêu cầu được gửi từ Raspberry Pi 4 model B

7 Kết quả mong đợi

Xây dựng thành công hệ thong phát hiện ra hành động bao luc dựa trên AI camera,

khi xảy ra các hành vi này sẽ có cảnh báo lên cho người dùng, mọi giám sát sẽ được

hỗ trợ bởi công nghệ Điều đó giúp cho giảm thiểu rất nhiều chi phí về nhân lực

Hệ thống có sử dụng mô hình máy học áp dụng các kỹ thuật học sâu và được triểnkhai trên Raspberry Pi 4 Model B với độ chính xác cao đáng tin tưởng, kết hợp vớitrang Web được triển khai sẽ lập tức gửi thông báo khi có hành động bạo lực xảy ra

§ Kế hoạch bố trí thời gian NC

Thời gian Nội dung thực hiện

Ngô Nguyễn Linh Hảo Đặng Đức Châu

Tháng 2/2022 | Nghiên cứu về các công nghệ, thiết bị liên quan trong dé tài như

kỹ thuật học sâu áp dụng phân tích hành động con người, thiết

bị máy tính nhúng hỗ trợ tiếp nhận và xử lý đữ liệu

Trang 13

Tháng 3/2022 e Sử dụng Figma thiết kế giao diện

ban đầu cho trang web quản trị

Xây dựng backend riêng

cho trang web gôm các

© Dung framework Vuejs dựa theo | API dé thực hiện xử lý

thiết kế có sẵn xây dựng frontend dữ liệu

cho web.

Tháng 4/2022 Triển khai module trên thiết bị

Tháng 5/2022 | Kết hợp trang web với thiết bị có cài |e Kết hợp trang web với

module dé triển khai thiết bị có cài module để

triển khai.

e Kiểm thử hệ thống.

Thang 6/2022 | Đánh giá kết quả và chuẩn bị bảo vệ trước hội đồng

TP.HCM,ngày tháng năm 2022

Xác nhận của CBHD Sinh viên 1 Sinh viên 2

(Họ tên và chữ ký) (Họ tên và chữ ký) (Họ tên và chữ ký)

vi

Trang 14

1.6 Đối tượng và phạm vi nghiên cứu -¿ 2¿++2++22++2x++£x+zx+zx+zzxzzeez 5

1.6.1 Đối tượng nghiên cứu - ++s+seSS 2 E2E21E71E1121121121 1111111 te, 5

1.6.2 Phạm vi nghiÊn CỨU - - 2 2221311211 1211151 1311151118111 1111111 key 6

1.7 Cau trúc khóa luận tốt nghiỆp + 2 +SE+2E+2E2EE2EEEEEEEEtEEEEErErrrkerkee 6Chương 2 CÔNG NGHỆ LIÊN QUAN - + 2522522E+E£EE£EE2EE2EZEeEEeEkerxrrrei 7

2.1 Công nghệ liên quan đến trí tuệ nhân ta0 ¿2-2 2522 +Ee£E+£z£zE++xez 7

2.1.1 Object Detection na a 7

“180 2 À 14 2.2.6 002009 0 Ố 15

Chương 3 KIÊN TRÚC HE THNG 22- 2: ©5222E222++2E£2EE2EEvEE+zrxzrxees 17

3.1 Kiến trúc toàn bộ hệ thống — 17

Vii

Trang 15

3.2 Mô hình phân rã chức năng ¿c2 2211211121112 1111111111111 11181 xeE 19

3.3 Mô hình secase 2c E2 222111111112153011 1111199531111 ng 1 key 19

3.4 Thiết kế cơ sở dit liệu - 22 2© £+2E2EE£EEEEEE122127112712112711211 21.2212 xe 22

3.4.1 Mô hình thực thể kết hợp (ERD) 2 2 2+ x+£E+zEzE++Ex+zxerxerxez 223.4.2 Hệ thống cơ sở dữ liệu - 2 2 2 +k‡EEEE2E12E2111712112112111 111 Xe 23Chương 4 ĐÁNH GIÁ MÔ HÌNH VÀ THUC NGHIỆM :¿-: 25

4.1 Môi trường thực nghiỆm - (2c 22 322112113 1115119511118 11 E1 1 rry 25

4.2 Kịch bản thực nghiỆm - . - c2 1221115113 115 115 11211111111 111 11 ng ry 26

4.3 Giới thiệu tập đữ liệu -¿-©+¿22E+22122122122112712112211211211 21.2 1y ee 26

4.3.1 RWF-2000 dataset c1 LH 11111202111 1H01 kg kg 27 4.3.2 Hockey Fight dataset - - 2c 22.12 12 HH TH HH Hy Hy 28 4.3.3 RAW VIdCO 0 ng :41+1Œ1Œ11L1 29 4.3.4 AIRT Lab dataset — Violence deftection -‹ - c2 << << £ccc+zzsx+ 30

4.4 Kết quả thử nghiệm mô hình ¿5-2 2S E£2E££E£EE£EE2EE2EEEeEEerxerezex 31

(9 v((00i90ì00)))) :P£PNNẠỌiiiáaiii 31

4.4.2 Kết quả đánh giá mô hinh oo ess ess ees eesessessessessessssssesessessessees 324.4.3 Kết quả triển khai thực tế trên thiết bị, - 2-52 ©52+cz+£z+zxerxerseez 344.4.4 Hệ thong cloud ¿- 2 se ‡EÉEE2EE2E2EEE15112112112111112111 111111 1x6 364.4.5 Hệ thong website - 5c St 2t 2E 212212112112111121121121121 11111 xe 38Chương 5 KET LUẬN - - 2-52-5229 EEE12E121121571112112111111111121111 111111 47

5.1 Kết Ua Cat QUOC 1 47

5.2 Thuận lợi và khó khăn 2 22+2E2+EE+EEESEE2EEEEEE2E12212711271 22171 xe 47

5.2.1 Thuận lỢI - - ¿+ 2E 221111223111 25311112931 111901 11H vn ng kg re 47 5.2.2 Khó khăn 2-©-+2S2+2k 22122122122112712112711211211211211111 211.11 xe 47

5.3 Hướng phat triển đề tài - - + s52 E29 12E12112112171211211211 21111 xe 47

Vili

Trang 16

DANH MỤC HÌNH VẾ

Hình 1.1 Hình ảnh giữa bình thường và hành vi bạo lực - 55s c+< se 4

Hình 2.1 Hình ảnh về Object Detection [6 ] -¿- 2 2 2 +s+x£E+E++E£Eerxerxerxzrrea 7

Hình 2.2 Hình ảnh logo TensorFlow [7] - - c2: 32c +32 E32 *ESEEssrrserssererses 8

Hình 2.4 Hình ảnh thư viện NumPy [9] - 2: 222 SE SE **EEEEssrseersrrsrreree 10 Hình 2.5 Hình ảnh logo Vue.Js [ I Ï] ¿5c 22c 13331113 E3 E11 EErsseres 10 Hình 2.6 Hình ảnh logo node JS [12] ¿5-5252 +22 **+EE+vEEsexeerseerserssersses 12 Hình 2.7 Hình ảnh logo MongoDB [L2 ] - - c5 +2 *++++txeeseerseerseersserses 15

Hình 3.1 Kiến trúc tông quan hệ thống giám sát hành động phạm tội 17Hình 3.2 Cấu trúc mô hình MobileNet-LSTM được dé xuắt -.-:-: 18Hình 3.3 Sơ đồ phân rã chức năng -¿- + 2 tt S1 EE2EE2E2EEEEEEEEEE2EE2E2E E1 EEEcxee 19

Hình 3.4 Mô hình S€CaS€ - Ác 2n 11v TT HH nh TH Hàng nh nưệp 20

Hinh 4.9 Dinh nghia toan hoc cua cac chi TT 32

Hình 4.10 Biéu đồ độ chính xác đạt từng epoch ¿5 scs+c++£+xerxerxerszxee 33

Hình 4.11 Biểu đồ hàm mat mác của mô hình theo từng epoch - 33Hình 4.12 Mô tả Confusion Matrix cho mô hình dé xuắt 2-2 55552 34Hình 4.13.Hệ thống thiết bị trong thực nghiỆệm -. ¿+ 2+ ssvxssesssreses 35Hình 4.14 Góc quay camera trong thực tẾ + + 2+ ++E££EeEE2EE2EzEerkerxersrree 36

1X

Trang 17

Hình ảnh giao diện đăng nhập - - 5 c5 S2 13+ EEssEEeeeeesererske 40

Hình ảnh giao diện quên và đặt lại mật khẩu -¿-cccccctsvseereresrsed 4I

Hình ảnh giao diện ProfiÏe - 5 c2 321133113122 EEErrrkreree 42 Giao diện live Camera .- + - G5 111122231 11251 1111511111851 11 81x re 43 Hình ảnh quản li caImera - - 5 2 3213321135151 EEeerke 44

Hình anh trang chỉ tiẾt caimera ¿2-2 2 52+S£+E£EE£EESEE2EZEerEerkerszei 44

Hình ảnh danh sách các sự kiện đã xảy ra c c2 46

Trang 18

DANH MỤC BANG

Bảng 3.1 Hiện thực hóa sơ đồ usecase dùng cho người dùng đã có tài khoản và người

dùng không có tài khoản - c1 3121121211 11111 1111111 1111 111 111 11H ng kg rry 21

Bang 3.2 Hiện thực hóa sơ đồ Usecase dùng cho Quản tri Vin cece 21

Bang 3.3 Cơ sở dữ liệu trong hệ thong oo ceceeceescessessessesssessessessessessesssesessesseeseees 23

Bảng 4.1 Tóm tắt cầu hình phần cứng dé thực nghiệm và đánh giá hệ thống 26Bang 4.2 Chi tiết số lượng video của mỗi tập dữ liệu - 2-5 sccsz +2 27

Bảng 4.3 Mô tả các chi số trong bang Confusion Matrix 2-55 scccc>sz 31

Bảng 4.4 Kết quả đánh giá chỉ tiết hai nhãn NonFight (Không bạo lực) va Fight (Bao

XI

Trang 19

DANH MỤC TU VIET TAT

TU NOI DUNG

UDP User Datagram Protocol

HTTP HyperText Transfer Protocol

HTTPS HyperText Transfer Protocol Secure

AI Artificial Intelligence

Web Website

VNP Virtual Private Network

DNS Domain Name System

API Application Programming Interface

URL Uniform Resource Locator

ERD Entity-relationship model

GPU Graphics Processing Unit

xii

Trang 20

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

Camera giám sát thông minh là một trong những dich vụ cần thiết dé đảm bảo an

toàn đời sống Nhu cầu ngày càng tăng đối với những khu vực cần giám sát mật độcao như khu dan cư, chung cư cao cấp, trường học Hau hết hiện nay các hệ thống

giám sát đều sử dụng các camera thông thường không có khả năng nhận diện hành

động và được giám sát bởi con người Tuy nhiên việc giám sát liên tục trong thời gian

dài sẽ giảm đi chất lượng giám sát dẫn đến bỏ qua các cảnh có hành vi bất thường cụ

thê hơn là hành vi bạo lực [1]

Do đó, trong khóa luận này nhóm chúng em đề xuất một giải pháp mới dé giảiquyết những vấn đề còn đang hiện hữu như trên Đầu tiên, nhóm tìm hiểu và huấnluyện mô hình dựa trên các tập dir liệu có các hành động bạo lực dé tìm ra được môhình tốt nhất cho hệ thông, bên cạnh đó nhóm cũng phải tối ưu hóa mô hình đề có thểchạy trên các thiết bị biên và trả về lại kết quả tốt nhất Sau cùng khi có kết quả như

mong muốn, nhóm sẽ kết hợp với hệ thống web đã xây dựng song song với mô hình

máy học dé trực tiếp hình ảnh qua camera trong thời gian thực và gửi thông báo đến

người dùng khi phát hiện hành động bạo lực.

Cụ thê hơn, sau khi đánh giá mô hình qua tập dữ liệu mà nhóm thu thập được thì

độ chính xác đạt được 82,67% trên tập Testing Set Sau đó triển khai mô hình lên

thiết bị biên là Raspberry Pi 4 và ghi nhận lại số khung hình được xử lý trong mộtgiây từ 8-9 khung hình, và trung bình mô hình xử lý từng khung hình là 0,1s Với tốc

độ này hệ thống có thể triển khai trong thời gian thực với ngữ cảnh cụ thê như tại

trường học, khu dân cư, chung cư cao cấp

Khóa luận này có ý nghĩa trong việc ứng dụng trí tuệ nhân tạo trên thiết bị biên

có cau hình thấp, giá thành hợp lý, thiết kế nhỏ dé dàng triển khai trong đời sống thực

tế Dự kiến đây sẽ là một giải pháp tiềm năng, sử dụng vào thực tế trong đời sống giảiquyết được hàng loạt các vấn đề hiện nay đang gặp phải và tính thực thi cao

Trang 21

Chương 1 MỞ ĐẦU

Tóm tắt

Trong chương này, nhóm xin trình bày tong quan về dé tai, bài toán xử lý van dé

hiện hữu được nhắc đến, nhưng khó khăn thách thức trong quá trình nghiên cứu Đồng

thời đưa ra mục tiêu, đối tượng và phạm vi nghiên cứu cũng như là cau trúc của khóa

luận

1.1 Tên dé tài

Tên tiếng việt: Xây dựng hệ thống phát hiện hành động phạm tội sử dụng camera

thông minh áp dụng kỹ thuật học sâu.

Tên tiếng anh: Building a criminal action detection system with an

AI-based camera using deep learning.

1.2 Tổng quan

Trong những năm gần đây, việc áp dụng công nghệ trí tuệ nhân tạo vào các lĩnhlực như an ninh, giao thông, ngân hàng, y tế và các lĩnh vực thiết yếu cho đời sốngcon người được dau tư đây mạnh Theo số liệu được bộ Công an công bồ thống kê về

tỉ lệ phạm tội vào năm 2021 [2], SỐ vu phạm tội về trật tự xã hội trên cả nước xảy ra

41, 728 vụ, trong đó tại Thành phó Hồ Chí Minh xảy ra 1,404 vụ Đây là thành phốlớn nhất cả nước, nơi có mật độ dân nhập cư cao dé đáp ứng được điều này thì cáckhu dân cư, chung cư cao cấp mọc lên với tốc độ chóng mặt, bên cạnh đó trường họccũng không ngoại lệ Với mật độ đông đúc thì vấn đề an ninh hết sức cần quan tâm,việc kiểm soát an ninh phải được thực hiện một các triệt dé Nhiều hành động phạmtội nói chung, hành động bạo lực nói riêng vẫn một ngày len lõi trong đời sống xã hộingày nay, trong khuôn viên công cộng, hàng quán ăn uống, đặc biệt trong môi trường

học tập — có lẽ đây là nơi mà mọi người luôn nghĩ là an toàn nhưng cũng là nơi có tỉ

lệ bạo lực khá cao và tỉ lệ này ngày cảng gia tăng.

Theo thống kê của UNICEF- Quỹ Nhi đồng Liên Hợp Quốc [3], có khoảng 150triệu trẻ em trong độ tuổi từ 13-15 tuôi trên toàn thé giới đã gián đoạn trong việc học

tập vì bị bắt nạt hoặc đánh nhau với bạn bè Gần đây nhất, tại Thành phố Hồ Chí

Minh, một ngôi trường quốc tế đã xảy ra bạo lực học đường khiến cho nhiều người

Trang 22

cảm thấy quan ngại, bức xúc về những hành động không nên có trong trường học

cũng như trong đời sống xã hội Đây là vấn đề nhức nhối cần được quan tâm, chính

vì vậy tìm ra giải pháp phát hiện những hành động bạo lực, có khả năng giám sát

24/7, đưa ra những cảnh báo khi có những hành động phạm tội là vô cùng cần thiết

Trong đó, giải pháp sử dụng các thiết bị loT với giá thành thấp, kích thước nhỏgon dé dang thực nghiệm ở nhiều ngữ cảnh khác nhau mà gây ra nhiều khó khăn, bêncạnh đó phần cứng khả năng xử lý và ứng dụng mô hình trí tuệ nhân tạo Chính vì

vậy, trong khóa luận này sé tập trung vào việc nghiên cứu các phương pháp học sâu

và tôi ưu hóa mô hình dé triển khai hệ thống trên các thiết bị IoT một cách dé dàng

và ứng dụng vào giải quyết vấn đề trong đời sống

1.3 Giới thiệu bài toán

Ngày nay, áp dụng trí tuệ nhân tạo vào đời sống không còn gi xa lạ Nhận dạng

hành động là một chủ đề được quan tâm nhiều trong lĩnh vực thị giác máy tính Tuy

nhiên, phần lớn các nghiên cứu tập trung vào nhận diện những hành động cơ bản nhưchạy bộ, đi bộ, nhảy hay leo trèo và nhiều hành động tương tự khác Nhưng tươngđối ít các nghiên cứu về phát hiện một sự kiện cụ thể nào đó đang xảy ra trực tiếp Vi

du nhu su kién gom nhiéu hanh động mang tính bạo lực, sử dụng vũ khí Nếu các

nghiên cứu này được áp dụng trong một số kịch bản như khu công cộng, nhà tủ, trung

tâm tâm thần thì tính ứng dụng rất cao [4] Vì thé, dé giam thiéu tinh trạng phạm tội

trật tự xã hội hay những hành động mang tính bạo xảy ra thì ngoai việc nhận diện

được hành vi bình thường, bên cạnh đó mô hình phải phân tích được nhiều hành vi.Hành vi bình thường là một hành động dự kiến xuất phát từ mỗi cá nhân, hành độngnày không mang yếu tô gây hại lẫn nhau Cách mà con người tương tác với con ngườiphù hop với những chuẩn mực, kỳ vọng của xã hội Khi những hành vi này đồng bộ

với mong đợi của xã hội thì hành vi đó được xem là bình thường Còn trái lại những

gì mà đã được xem là chuẩn mực trong xã hội là hành vi bất thường cụ thể hơn các

hành vi gây tác động vật lý đối phương là hành vi mang tính bạo lực [5] Tương tựvậy, việc định nghĩa một hành vi bạo lực trong ngữ cảnh cụ thể rất dễ dàng

Trang 23

Bình thường Cảnh bạo lực xảy ra

Hình 1.1 Hình ảnh giữa bình thường và hành vi bạo lực

Chính vì thế, trong khuôn khổ khóa luận này nhóm chúng em sẽ tập trung nghiên

cứu phương pháp phát hiện hành vi bạo lực là một trong những loại hành vi phạm tội

nhờ vào áp dụng kỹ thuật học sâu trên các thiết bị biên có kinh phí thấp Đây là một

đề tài khá mới vì để áp dụng được mô hình lên các thiết bị có phần cứng thấp như

vậy yêu cầu phải xây dựng một mô hình phù hợp Dé huấn luyện mô hình, một tập

dữ liệu tổng hợp chứ các hành vi bạo lực và không bạo lực được nhóm thu thập từ

những tập dữ liệu liên quan.

1.4 Khó khăn và thách thức

Trong quá trình nghiên cứu đề tài và triển khai hệ thống, nhóm chúng em gặpnhiều khó khăn và thách thức trên những phương diện sau:

e Về phương pháp: Bài toán phát hiện hành động phạm tội là một bài toán chưa

phố biến nên rất ít tài liệu tham khảo Trong nhiều nghiên cứu khác, các

phương pháp được đề xuất đều triển khai trên thiết bị phần cứng có cấu hình

cao như phần cứng có hỗ trợ GPU, nhưng trong đề tài này nhóm chúng emđang nghiên cứu, thử nghiệm mô hình trên các thiết bị biên Raspberry Pi 4 làthiết bị có cấu hình phần cứng khá thấp, nên dé có thé chạy thành công môhình trên thiết bị này thì phải lựa chọn kỹ thuật, khảo sát các phương pháp liên

quan dé đưa ra được một mô hình tốt nhất, có thé chạy trong thời gian thực

trên thiết bị biên này

e Về dữ liệu: Đề mô hình được huấn luyện đạt được kết quả tốt như mong đợi,

thì điều quan trọng không kém là phải có tập đữ liệu chất lượng Đối với bài

Trang 24

toán nhóm đang nghiên cứu, thì số lượng các tập dữ liệu liên quan rất hạn chế

vì những hành vi phạm tội thường được ghi lại bằng camera giám sát ở nơi

công cộng như công viên, khu dân cư, hàng quán, bến xe, và những nội dung

này thường không công khai Do đó xảy ra việc thiếu hụt về đữ liệu thực tế

Bên cạnh đó, việc xử lý tập dữ liệu với 3,522 video và dung lượng 15,83 GB

là cũng là một thách thức lớn vì thiết bị nhóm dùng dé xử lý dit liệu này đã bị

gián đoạn vì không đủ tài nguyên.

1.5 Mục tiêu của khóa luận

Trong đề tài này, nhóm chúng em hướng đến những mục tiêu cụ thể như sau:

e Tìm hiểu về trí tuệ nhân tao (AI— Artificial Intelligence) và ứng dung của AI

vào các hệ thống camera giám sát nhằm phát hiện và ngăn chặn hành động

phạm tội.

e Áp dụng kỹ thuật học sâu dé xây dựng một mô hình object detection và thực

hiện triển khai mô hình này lên thiết bị biên là Raspberry Pi 4 Model B có gan

USB camera.

e Xây dựng website dé người dùng theo dõi, giám sát hình anh từ camera trong

thời gian thực, nhận thông báo khi phát hiện hành động bạo lực.

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

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

e _ Nghiên cứu, xây dựng mô hình máy học có khả năng nhận diện hành vi bao

lực áp dụng kỹ thuật học sâu.

e Các tập dữ liệu được sử dụng dé huấn luyện và đánh giá mô hình:

RWF-2000 Dataset, Hockey Fights Dataset, Raw video, AIRTLab Dataset.

e Nghiên cứu, tối ưu hóa mô hình may học phù hợp làm sao có thé chạy trên

thiết bị Raspberry Pi 4

e_ Tìm hiểu ngôn ngữ lập trình Python sử dụng trong việc xây dựng và chạy

mô hình.

e© Nghiên cứu về NodeJS cùng với hệ quản trị cơ sở dữ liệu MongoDB dé áp

dụng trong việc xây dựng server backend và Vue.Js trong việc xây dựng

Trang 25

giao diện trang website.

e _ Nghiên cứu về công cụ Socket IO trong việc kết nói, truyền tải dữ liệu trong

thời gian thực.

1.6.2 Phạm vi nghiên cứu

Khóa luận thực hiện nghiên cứu trên khuôn viên trường học, hang quán, khu

dân cư, chung cư có quy mô dưới 100 người nơi có nhiều hoạt động Khi hoàn

thành đề tài có thể phát triển thêm về mặt thiết bị và ứng dụng giám sát trong những

phạm vi đã nghiên cứu.

1.7 Cấu trúc khóa luận tốt nghiệp

Thông qua phan trình bày tổng quan về những nội dung sẽ nghiên cứu trong khóaluận tốt nghiệp, nhóm xin đưa ra cấu trúc cụ thể của khóa luận tốt nghiệp như sau:

e_ Chương 1: Mở đầu - Trình bày tổng quan, giới thiệu bai toán giải quyết, khó

khăn và thách thức trong nghiên cứu, mục tiêu hướng đến của đề tai, phạm vi,

phương pháp và đối tượng nghiên cứu

e Chương 2: Công nghệ liên quan - Trinh bày về công nghệ liên quan đã sử dụng

trong khóa luận.

e Chương 3: Kiến trúc hệ thống — Mô tả kiến trúc toàn bộ hệ thống, mô hình

phân rã chức năng, Usecase, thiết kế cơ sở dữ liệu

e Chương 4: Đánh giá mô hình thực nghiệm - Trình bày môi trường va kịch ban

thực nghiệm, mô tả tập đữ liệu, phương pháp đánh giá và kết quả thực nghiệm

e_ Chương 5: Kết luận - Kết luận và đề xuất hướng phát triển của khóa luận

Trang 26

Chương 2 CÔNG NGHỆ LIÊN QUAN

Tóm tắt

Trong chương này, nhóm chúng em trình bày về khái niệm công nghệ đã sử

dụng trong khóa luận

2.1 Công nghệ liên quan đến trí tuệ nhân tạo

2.1.1 Object Detection

Object Detection (Phát hiện đối tượng) được hiểu với nghĩa phat hiện đối tượng

đây là một thuật ngữ chung trong lĩnh vực thị giác máy tính (Computer Vision) Mục

đích việc phát hiện đối tượng là dé xác định đối tượng được thé hiện trong một khung

ảnh nhất định, một ngữ cảnh cụ thể có phải là một thực thể của một nhóm đối tượng

đã cho trước hay không (ví dụ như con người, xe hơi, xe máy, chó, mèo, hay đồ vật);

nếu nhận thấy được sự xuất hiện của đối tượng thì sẽ trả về vi trí và phạm vi của từng

đôi tượng đó trên bức ảnh và các giá trị dự đoán liên quan.

Hình 2.1 Hình ảnh về Object Detection [6]

2.1.2 Tensorflow

Tensorflow là một thư viện miễn phí và mã nguồn mở hỗ trợ mạnh mẽ cho phéptoán học đề tính toán trong machine learning (máy học) chung và deep learning (họcsâu) nói riêng, thư viện này được phát triển bởi đội ngũ Google Brain Nó cho phép

ta thực hiện các tác vụ liên quan đên máy học chủ yêu như huân luyện mô hình và

Trang 27

trích xuất kết quả từ mô hình đã huấn luyện Ngoài hai ngôn ngữ JavaScript và C++,

trong Tensorflow chủ yếu sử dụng ngôn ngữ lập trình Python, bên cạnh đó

Tensorflow có thể chạy trên đa hệ điều hành như nhân Linux, Windows, macOS,

Raspbian, và trên các bộ xử lý ARM, x86, Edge TPU,

C, Python và có thé chạy trên nhiều nền tảng khác nhau như Windows, Linux, macOS,Android, iOS Trong đề tài nghiên cứu này, nhóm chúng em sử dụng thư viện

OpenCV bằng ngôn ngữ lập trình Python

OpenCV đã nâng cấp và có thêm tinh năng tăng tốc GPU cho các ứng dụng liên

quan đến việc Real-time Bên cạnh đó, có rất nhiều tính năng hữu ích cho việc tiền

xử ly dữ liệu (preprocessing) và hậu xử ly dé liệu (postprocessing) dé hiển thị cho

người dùng OpenCV thường được sử dụng chung với thư viện NumPy giúp ta tương tác với hình ảnh dưới dạng ma trận sô.

Trang 28

OpenCVHinh 2.3 Hinh anh logo cua OpenCV [8]

2.1.4 NumPy

NumPy (hay Numeric Python) được hiểu nôm na là thư viện số học của Python.Thư viện này hỗ trợ mạnh mẽ trong việc tính toán dữ liệu trên mảng nhiều chiều.Được xem như là một thư viện lõi của học máy Ở NumPy có rất nhiều ưu điểm khi

lập trình trên Python mà người dùng như:

e NumPy được viết trên ngôn ngữ Python và C được trang bị các ham số đã tối

ưu nên khắc phục được điểm yêu khi chạy luồng đơn trên Python

e Vùng 6 nhớ lưu trữ các dit liệu trên mảng NumPy được sắp xếp liền kề nhau

nên có tốc độ truy xuất rất nhanh và một mảng NumPy chỉ lưu trữ duy nhất

một kiểu đữ liệu cũng vì thế mà tốc độ xử lý trên NumPy vượt trội

e© Ngoài ra NumPy còn là thư viện phô biến được sử dụng cùng với các thư viện

trong hệ sinh thái học máy như scipy, pandas, matplotlib và cùng nhiều thư

viện khác.

Trang 29

Hình 2.4 Hình ảnh thư viện NumPy [9]

2.2 Công nghệ liên quan đến lập trình web

2.2.1 Vue.js

2.2.1.1 Giới thiệu về Vue.js

Vue.js là một trong những JavaScript framework nổi tiếng mà được nhiều lập

trình viên ưa dùng cho việc xây dựng giao diện Được phát hành vào năm 2014,

với hơn 8 năm phát triển, cộng đồng framework này lớn mạnh, rất nhiều đóng góp

từ các lập trình viên Tính linh hoạt của Vue.js được dùng để xây dựng nên các

giao diện người dùng [10]

Y Weis

Hình 2.5 Hình ảnh logo Vue.js [11]

2.2.1.2 Ưu điểm của Vue.js

Đặc trưng của Vue.js dùng kiến trúc MVC và có khả năng kết hợp với nhiềuFramework khác nên Vue trở nên nỗi tiếng trong giới phát triển web

Dưới đây là một số ưu điểm:

e Thư viện và công cụ hỗ trợ nhiều

10

Trang 30

e Yêu cầu lưu trữ thấp

e Đơn giản, dễ học

e Tài liệu đầy đủ

e Component và kha năng tái sử dung

2.2.1.3 Áp dụng Vue.js vào đề tài

Trong hệ thống, Vue.js được sử dụng dé xây dựng giao diện người dùng cho

hệ thống ứng dụng bao gồm web người dùng và web quản lý Với những ưu điểm

vượt trội thì Vue.Js mang lại cảm giác mượt mà khi sử dụng.

2.2.2 Axios

2.2.2.1 Giới thiệu về Axios

Axios là một HTTP client được viết dua trên giao diện XMLHttpResquest đượccung cấp bởi các browsers Axios có khả năng thực hiện các yêu cầu HTTP từ các

trình duyệt và xử lý việc chuyền đổi dit liệu resquest và response.

2.2.2.2 Ưu điểm của Axios

Theo ý kiến của cộng đồng web thi Axios và Fetch trong Javascript có rất nhiềuđiểm tương đồng với nha nhưng Axios lại có nhiều tiện tích và chức năng hơn

Ngoài ra Axios còn có thêm các ưu điêm khác như sau:

e _ Yêu cầu và phản hồi đánh chặn

e - Xử lý lỗi rõ ràng, dễ kiểm tra lỗi.

e Bao vệ chống lại XSRF (Cross-site request forgery)

e Giup tiến trình tải các file nặng đơn giản

e Phan hồi timeout

2.2.2.3 Áp dụng Axios vào đề tài

Axios được sử dụng dé thực hiện các phương thức yêu cầu như GET, POST,

PUT, PATCH va DELETE trong ứng dụng Axios sẽ được sử dụng và khai thác

trong khóa luận chủ yếu trong việc thực hiện gọi các API và xử lý các dữ liệu

JSON đã nhận được.

11

Trang 31

2.2.3 Node JS

2.2.3.1 Giới thiệu về Node js

Node.Js là một JavaScript thời gian thực được viết dựa trên Ckohrome’s V8JavaScript engine Node.js sử dụng các phan phát sinh các sự kiện (event-driven),

mô hình non-blocking I/O dé tạo ra các ứng dụng nhẹ và hiệu quả cao cho các ứngdụng về đữ liệu thời gian thực chạy trên các thiết bị phân tán

Điều đặc biệt ở Node.js mang lại là mặc dù các JavaScript thường được sử dụngtrên client thì Node.js du được xây dựng trên nên tảng JavaScript một ngôn ngữ

thuần client nhưng có thể sử dụng để thực hiện các công việc trên ca client va

server.

S

Hinh 2.6 Hinh anh logo node JS [12]

2.2.3.2 Uu diém ciia Node js

Một số đặc điểm quan trong giúp Node.js trở nên rat dang dé nghiên cứu sử

dụng đó là:

e Không đồng bộ và phát sinh sự kiện (Event Driven): Tat cả các API của thư

viện Node.js đều không đồng bộ, nghĩa là blocking (khóa) Nó rất cần thiết vì

Node.js không bao giờ đợi một API trả về dit liệu Server chuyên sang một APIsau khi gọi nó và có cơ chế thông báo về sự kiện của Node.js giúp Server nhậnđược phản hồi từ các API gọi trước đó

e Tốc độ xử lý nhanh: nhờ cơ chế Non I/O Blocking, tận dụng tối đa tài nguyên

của server và không tạo ra độ trê như các ngôn ngữ server-side khác.

12

Trang 32

e JavaScript là một ngôn ngữ phổ biến, điều này đã giúp node.js trở nên dé dang

được sử dụng và áp dụng rộng rãi hơn.

e Node.js hỗ trợ rất tốt cho việc xây dựng ứng dụng thời gian thực

2.2.3.3 Áp dụng Node js vào đề tài

Node.Js được chúng em sử dụng vào việc xây dựng server cho ứng dụng, tạo

các phương thức GET/POST nhận và gửi kết quả cho trang giao điện người dùng.Khả năng xử lý dữ liệu thời gian thực, tốc độ xử lý nhanh chóng, thực hiện đượcnhiều yêu cầu cùng lúc và dé dàng sử dụng

2.2.4 Socket.IO

2.2.4.1 Giới thiệu về Socket.IO

SocketIO là một thư viện JavaScript cho các ứng dụng web, mobile cho phép

thực hiện giao tiếp giữa client-server trong thời gian thực Công cụ được phát hànhvào năm 2010, đến nay vẫn phô biến trong việc giao tiếp, chuyên thông tin và làlựa chọn đầu tiên mà lập trình viên hướng tới SocketIO hoạt động trên mọi nềntảng, trình duyệt hoặc thiết bị và tốc độ phản hồi cao khi tạo kết nói

2.2.4.2 Ưu điểm của Socket.IO

Với thời gian hình thành khá lâu, socket io có rất nhiều ưu điểm và được đánhgiá cao khi sử dụng như: bao mật, mã hóa nhị phân, tự động phục hồi kết nối vớiserver, ghép kênh, phát hiện ngắt kết nối Dưới đây là một số ưu điểm nỗi bậtnhất mà socket io mang lại:

Bảo mật cao

Socket io hình thành dựa trên nền tảng Engine.IO Trước khi mà nền tang này

sử dụng giao thức Websocket dé giao tiếp thì phải chạy một phương thức khác,

gọi là phương thức long- dé kết nối Nhờ vào các thiết lập chặt chẽ như vậy nênkhi sử dung socket io thì nó sẽ tự động xuất hiện những kết nối bảo mật tự độngvới server Ví dụ như: proxy và cân bằng tải hoặc là tường lửa cá nhân và cácphần mềm ngăn chặn virut

Tự động phục hoi kết nôi với server

13

Trang 33

Trong quá trình kết nối giữa client và server thì việc ngắt kết nối và làm giánđoạn quá trình trao gửi, đữ liệu là rất bình thường Nhưng ở socket io có một đặcđiểm nổi bật là khi xảy ra gián đoạn như trên, socket 1o lập tức tự khôi phục kếtnối và phục hồi server Đặc biệt hơn nữa, đây là một tính năng mà người dùng cóthé tùy chỉnh theo ý muốn, có thé chọn dùng quyên và không tự động kết nối với

một server nào đó.

Cho phép tạo kênh và phòng

Tính năng này như có vẻ khác lạ nhưng rất dễ dàng sử dụng và đây là một

tính năng nỗi bật khi mà socket io cho phép người dùng tạo ra các kênh, phòng

cho riêng mình Bằng cách tạo liên kết giữa các module riêng lẽ để thành một

kênh riêng cho người dùng Ngoài ra, socket io còn mang lại khả năng hỗ trợ tạo

phòng cho các clients tham gia với mục đích gửi thông báo đến một nhóm người

dùng được kết nối với 1 số thiết bị

2.2.4.3 Áp dung Socket.IO vào đề tài

Từ những ưu điểm có được của Socket.IO, trong đề tài này nhóm đã sử dụng

socket io cho việc truyền, gửi dir liệu từ hệ thống thiết bị lên hệ thông cloud

2.2.5 Ngrok

2.2.5.1 Giới thiệu về Ngrok

Ngrok là ứng dụng đa nền tảng cho phép các nhà phát triển đưa một máy chủ

cục bộ vao Internet với ít sự nô lực hơn

2.2.5.2 Ưu điểm của Ngrok

Dựa vào những đặc điểm mang tính đặc trưng của Ngrok mà chúng em liệt kê mộtvài ưu điểm của Ngrok như sau:

e Ngrok có khả năng kết nối với các mang mà không cần công chuyên tiếp không

cần DNS động cũng không cần VPN

e _ Ngrok có khả năng triển khai ứng dụng lên Internet rất nhanh chóng

2.2.5.3 Áp dụng Ngrok vào đề tài

Từ những ưu điểm của Ngrok, nhóm chúng em sử dụng Ngrok dé public linkstream url từ flask server ra Internet Điều đó giúp server ở cloud dé dang đọc và

14

Trang 34

thé hiện stream video sang giao điện người dùng.

2.2.6 MongoDB

2.2.6.1 Giới thiệu về MongoDB

MongoDB là một hệ quan trị cơ sở dữ liệu mã nguồn mở NoSQL phổ biếnđược viết bằng C++ Được phát triển bởi MongoDB Inc MongoDB luôn có mặt

trong danh sách các hệ thống cơ sở dữ liệu phổ biến nhất hiện nay [7]

MongoDB là cơ sở dt liệu hướng tai liệu, nó lưu trữ dữ liệu trong các document

dạng JSON với schema động rất linh hoạt Nghia là bạn có thé lưu các bản ghi ma

không cần lo lắng về cau trúc dit liệu như là số trường, kiểu của trường lưu trữ Tàiliệu MongoDB tương tự như các đối tượng JSON

MongoDB là một cơ sở dữ liệu NoSQL hỗ trợ đa nền tảng, nó có thê chạy trên

Windows, Linux và Mac và hỗ trợ hầu hết các ngôn ngữ lập trình phố biến như

C#, Java, PHP, Javascript trong các môi trường phát triển khác nhau

2.2.6.2 Ưu điểm của MongoDB

Dựa trên những lợi ích của MongoDB mang lại và nhu cầu xây dựng ứng dụng

thời gian thực đặt ra ban đầu MongoDB thật sự là một trong những lựa chọn thích

hợp bởi vì:

e Tốc độ xử lý nhanh chóng: do được viết bởi C++ nên nó có khả năng tính toán

với toc độ cao chứ không giông như các hệ quản tri co sở dtr liệu hiện nay.

15

Trang 35

e M6 hình dữ liệu linh hoạt: MongoDB lưu trữ dữ liệu trong các tai liệu thay vì

các bảng cho phép thay đổi cấu trúc các document đơn giản chỉ bằng cách

thêm mới các trường hoặc xóa các trường có sẵn Khả năng này của MongoDB

giúp bạn trình bảy các quan hệ dạng thứ bậc, để lưu trữ mảng, và các cấu trúcphức tạp khác một cách đễ dàng, cung cấp khả năng mở rộng tốt

e Giảm thiểu rủi ro: đặt trong trường hợp đề tài phát triển ứng dụng di động yêu

cầu thời gian thực và nhiều người dùng tương tác, nếu quá trình load bị lỗi tại

một thời điểm nào đó thì nó sẽ bỏ qua phần đó nên sẽ an toàn hơn

e Phù hợp với việc phát triển ứng dụng di động và server Node.js.

2.2.6.3 Áp dụng MongoDB vào đề tài

Trong ứng dụng, Mongo DB đơn giản là hệ quản trị cơ sở NoSQL Ứng dụng

sẽ tương tác lấy dữ liệu Mongo DB thông qua server được viết trên nền tảng Node

js Với việc lưu dữ liệu mà không cần định nghĩa sẵn và không cần thiết lập mối

quan hệ giữa các cơ sở dit liệu giúp cho việc lưu trữ cũng như lấy dữ liệu được

Ngày đăng: 03/11/2024, 18:29

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

TÀI LIỆU LIÊN QUAN