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 3THÔ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 54 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 74 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 8LỜ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 10web 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 11cu, 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 12và 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 13Thá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 141.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 153.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 16DANH 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 17Hì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 18DANH 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 19DANH 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 20TÓ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 21Chươ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 22cả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 23Bì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 24toá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 25giao 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 26Chươ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 27trí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 28OpenCVHinh 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 29Hì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 30e 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 312.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 32e 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 33Trong 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 34thé 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 35e 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