Dé đáp ứng các yêu cầu về thời gian phản hồi ngắn, giảm sức tiêu thụ năng lượng của thiết bị, lưu lượng băng thông đường mạng, nâng cao khả năng xử lý dữ liệu và vấn đề dữ liệu nhảy cảm:
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG
NGUYEN DANG TRUONG
HOANG GIA VUONG
KHOA LUAN TOT NGHIEP
UNG DUNG EDGE COMPUTING DE PHAT TRIEN
CAMERA THONG MINH CHO HE THONG GIAM SAT
PHUONG TIEN GIAO THONG
Using Edge Computing to develop Smart camera for Vehicle
surveillance system
KY SƯ NGANH TRUYEN THONG VÀ MẠNG MAY TÍNH
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA MANG MAY TINH VA TRUYEN THONG
NGUYEN DANG TRUONG - 17521184
HOANG GIA VUONG - 17521276
KHOA LUAN TOT NGHIEP
UNG DUNG EDGE COMPUTING DE PHAT TRIEN
CAMERA THONG MINH CHO HE THONG GIAM SAT
PHUONG TIEN GIAO THONG
Using Edge Computing to develop Smart camera for Vehicle
surveillance system
KY SƯ NGANH TRUYEN THONG VÀ MẠNG MAY TÍNH
GIANG VIEN HUONG DAN
PGS.TS LE TRUNG QUAN
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
Ti8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LOI CAM ON
Lời cảm ơn đầu tiên, nhóm chúng em xin chân thành cảm ơn đến toàn thể thầy
cô giảng viên trường Đại học Công Nghệ Thông Tin — Đại học Quốc gia Thanh phó
Hồ Chí Minh, đặc biệt là quý thầy cô Khoa Mạng máy tính và Truyền thông đã trực
tiếp giảng dạy, truyền đạt những kiến thức từ cơ bản nâng cao bằng tầm nhìn và tâm
huyết của nghề giáo Những kiến thức đó sẽ là hành trang mà chúng em mang theosuốt đời dé phát triển bản thân cũng như sự nghiệp
Chúng em chân thành cảm ơn sâu sắc đến giảng viên hướng dẫn là thầyPGS.TS Lê Trung Quân Thầy đã luôn hỗ trợ trong suốt thời gian chúng em thực hiện
để tài này Từ những bước thực hiện dau tiên, những khó khăn trong quá trình thực
hiện cũng như kiến thức khác, thầy luôn là người hỗ trợ chúng em Ngoài ra, chúng
em cảm ơn thầy ThS Nguyễn Khánh Thuật, anh Nguyễn Văn Bảo và anh Văn Thiên
Luân đã hỗ trợ thiết bị cũng như những kiến thức liên quan đến dé tài trong khoảng
thời gian chúng em thực hiện đề tài trong phòng thí nghiệm IoT E3.01
Cuối cùng, chúng con gửi lời cảm ơn tới ba mẹ là hậu phương vững chắc, tạo
điền kiện tốt nhất trong thời gian chúng con ngồi trên ghế nhà trường Đây là công
lao lớn mà chúng con không bao giờ quên.
Xin chân thành cảm ơn!
Trang 5MỤC LỤC
Chương l GIỚI THIỆU ccccc¿222222vvvccrrrrrrrvrvcee 2
1.1 Tổng quan 222V2222++22222222222222222111111222271111121 221111 re 2
1.1.1 Tổng quan về xu hướng IoT . -2z+22+++22++zz++22z+zzrzrrx 2
1.1.2 Vai trò của điện toán đám mây với ÏOTT «+ =+css+cexsesxe 4
1.2 Phát biểu vấn dé và mục tiêu hướng đến
1.2.1 Phat biểu vấn đề -22222cc2222EEEEEEcEEErrrrrrrerres 5
1.2.2 Mục tiêu hướng đến
1.3 Phương pháp luận ¿5+ St tténề g1 1 re
1.4 Phạm vi và giới hạn dé tai
14.1 Phạm vi và đối tượng nghiên cứu -¿+22++ze+zczxxzcrrrrx 8
1.4.2 Giới han của dé tài
1.5 Cấu trúc của luận Vain oie eeceecs cess eesseesseessesssesssessscsssesssessseessesssessseessessseesseesseed 9
Chương 2 | CAC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN 0
2.1 Các nghiên cứu và xu hướng phát triển của các công nghệ liên quan 0
2.1.1 Tổng quan các hướng tiếp cận và phân loại các hệ thống tính toán
Trang 62.2.2 Raspberry Pi LH HH 18 2.2.3 Dịch vụ điện toán đám mây Microsoft Azure .
2.2.4 Các công nghệ ảo hóa và DocKer 55c c+S+ccscseeeree 20 2.2.4.1 So sánh Hyperviser và Container
2.2.4.2 DockKer Ăn HH2 dư 21
2.2.5 Công nghệ điều phối container: Kubernetes
2.2.6 i00 01 ác 1 23 2.2.6.1 YOLO
2.2.6.2 TenSOrEFÏOW c1 St St S 1S 121911 1111111 1E 1 rxgrrrgrygưn 24 2.2.7 Node1S 8 z: xf££ ee 25
2.2.8 MongoDlB «cc che 25
Chương 3 PHƯƠNG PHÁP LUẬN -¿¿¿22222+222E+vzrtvrrveerrrrrscee 27
3.1 Đặc tả ngữ cảnh hệ thống -2¿-22222++22EEE2etEEEEEerrrrrktrrrrrrrerrrer 27
3.2 Mô hình tổng thể - ¿222222222222 2222311222111 .EEEErrrrrrkrrrrre 28
3.3 Phân tích mô hình -22++£222VEE2+++++t+2E2EEE+++rrrtttrrrrxrrrrrrrrrrr 29
3.3.1 Huấn luyện mô hình trí tuệ nhân tạo, và đóng gói thành Docker
COmtainer 31 29
3.3.2 Điều phối containers, thu thập và phân tích dữ liệu tại biên 30
3.3.3 Xử lí dữ liệu tại máy chủ đám mây và trả kết quả cho người dùng 31
Chương 4 HIỆN THỰC ĐÈ TÀI -¿¿©222+++22vvvzrterrvrersrrrrree 32
làn an 32 4.1.1 Nhiệm vụ của AI model -¿-¿- ¿5c + xe it 32
4.1.2 Công nghệ sử dụng - (thiet 32 4.1.3 Hiện thực ằcerierrrrirrrrirrrrrrrrrdee 32
Trang 74.1.3.1 Chuẩn bị trước training ::2+++22++rvcvcrvrrrrrrrrrrrrrrer 32
4.1.3.2 Thực hiện training.
4.1.3.3 Xây dựng thuật toán sử dung model dé phân tích hình anh 36
4.1.3.4 Đóng gói thành Docker Image
4.2 Hiện thực Cloud đến Edge với Kubernetes - -c¿222+cccccvvz 40
4.2.1 _ Hiện thực Kubernetes Master
4.2.2.1 Cấu hình Raspberry Pi
4.2.2.2 Cài dat Docker và K3s cho Raspberry Pi - - 43
4.2.3 Triển khai ứng dụng trên Raspberry Pi với Kubernetes - 44
4.3 Hiện thực Web S€TV€T Sàn HH 46 4.3.1 lu cu 6đ T Sẽ." “ 46
4.3.2 Công SAB game oy ce vượn , c cei.cei 46 4.3.3 Hiệhục .@ / 46 4.3.3.1 Hiện thực server Mongodb Atlas - +-s<ccs+c+ce 46
4.3.3.2 Hiện thực WebSite Sc c St SH ngư 48
Chương 5 THỬ NGHIỆM HE THÓNG -¿-©2+c++22vvvcscrvscee 53
Trang 86.1.2 Những hạn chế -:-©2222c222v2rrtsErvvrrrrrrvrrrrrrrrree 57
6.2 Hướng phát triển
6.2.1 Cải thiện thời gian nhận diện 5 +5+5+5++x+<+s++ 58
6.2.2 Phát triển thêm tinh năng
6.2.3 Ứng dụng CI/CD, tự động hóa việc cập nhật - 58
6.2.4 Phát triển ứng dụng theo dõi trên điện thoại thông minh
Trang 9Sơ đỗ giới thiệu phân loại một số dự án cận biên - -+ 10
So đồ vi dụ công nghệ offloading áp dụng vào Edge Computing 11
Mô hình Mobility Management sử dung trong Edge Computing 13
Mô hình các ứng dung của Internet of Things - - «+ 5+ +<<+ 16
Mô hình phát triển IoT -¿-2++222+++222E+++t2EESSzretrxvvrrrrrrrree 17
Raspberry Pi 3 Model B+ «5c 52t 22212 rườn 18 Những dich vu của AZUre - tt tt ng 20
So sánh giữa Hypervisor va COnfalneT -¿-¿ 55c +++s+ sex 21
Sơ đồ mô hình tổng thê hệ thống : -¿:-2+222+zz+z2vvvvzccvs+ 28
Mô hình huấn luyện trí tuệ nhân (ạO - -¿-¿- s55 + sxsvsseexseeeeereree 29
Hình 3.4: Mô hình hiện thực các cloud S€TVeT - -¿- ¿+ 2< ++++*£+£s£zx+xzxe+ 31
Hình 4.1: Kết nối Google Colab và Drive -¿¿+++22v++++2vvvzzrsrrvscez 33
Hình 4.2: Tải công cụ Darknet ¿-¿- 55+ ssstssteereeserrrrrrrrr.23
Hình 4.3: makefile dé thu được darknet 2+ 222+++2222+++ettvxvrrerrrxercrrr 33
Hình 4.4: Tải gói hỗ trợ Pre-trained -::- s¿+2+++222x+22ExvttEEvrerrtrerrrrerrrrrrrkr 34
Hình 4.5: Bộ hình ảnh được gắn DDAN
Hình 4.6: Tiến hành training 2¿-©22cccevccvserrerrteerrerrrrrrrrrrrreer 3Ø
Hình 4.7: Các file được tạ ra trong quá trình training -++ e+ 35
Hình 4.8: chuyển model thành dạng saved_model.pb : cz-+ 36Hình 4.9: Chuyển đổi thành TFLite - -555c¿22c5vscvsccvsvrrrrserrerrrseceersserc 3ÕHình 4.10: Hình ảnh biển số được vẽ khung -¿¿-©+2¿+2222+zz+tvvszvzsrr 37Hình 4.11: Cat hình ảnh biển 86 xe -cccvkkkkktrterirrrrrirrrrrrrrriiie 37Hình 4.12: Chuyên hình ảnh thành màu trắng đen
Trang 10Hình 4.13: Đánh dau kí tự và lọc các khối thừa cccccrrrrrrrrrrrrrrrree 38
Hình 4.14: Nội dung Dockerfile -¿-¿- «c5 St ssvEvkexeeereerererrrrrrsrrrrereve oD)
Hình 4.15: Lưu trữ Image trên Docker Hub 2-5 555555+5+5++s+x+s+> 39
Hình 4.16: Tạo máy ảo trÊn AZUTG - ¿+5 + 2S k kề 2E 2211101 111111 re 40 Hình 4.17: Truy cập vào máy ảO - + kh ng hư 40 Hinh 4.18: Cai dat Docker oo ồÖỐÖỔỒỔ 41 Hình 4.19: Cai đặt Docker thành CON ees eee eee eeeeseeeeeseeeseseeeetsteneaeeeeneees 41
Hình 4.20: Cài đặt K3S với vai trò Master óc Sc St stsisrrrerxsrrrrrrrrersre 4I
Hình 4.21: Lấy token để truy CAP Vào €ÏUS(eT +65: 2c2cccsrsrrtsesrerrrree 42
Hình 4.22: Flash image cho Raspberry Pi - - 6 525tr 42
Hình 4.23: File thiết lập Wifi cho Raspberry Pi - ¿-222cccccccvcccccrsecee 43
Hình 4.24: SSH đến Raspberry Pi -¿¿ 222222222z+22222E2EYvrrrrrrrrrrkrrrrrrrrrrrrrev 43
Hình 4.25: Cài đặt Docker trên Raspberry Pi „43
Hình 4.26: Cài đặt K3S trên Raspberry Pi 4
Hình 4.27: Kết nói vào Cluster 4
Hình 4.28: Cluster Kubernetes 4
Hình 4.29: Nội dung file yaml „45
Hình 4.30: Tao project trên Mongodb Aas - 5c «5+ 5++x+x‡xexrrkekereree 46
Hình 4.31: Thêm thành viên vào prOJ€CIL - + +2 + 2£++++++E+£e£erzxzxsrerrs 47
Hình 4.32: Chọn mức cấu hình -cccccccvvvvccrrrrrtrrtrtrrrrrrrrrrrrrrrrrrrrrii 47
Hình 4.33: Cac collection được tạo thành - + + +++x+x#xeEeEkrkekerrrrkrkrkree 48 Hình 4.34: Giao diện đăng nhập - - ¿51t TH Hư 48
Hình 4.35: Giao diện chính: - - - + t3 t3 SE SvESEErerxekrrxerrrrrrxrerrrrsrrrrsrei 49
Hình 4.36: Giao diện tìm kiếm thủ công -.-. 22¿222++ztSEEESerrrrrkrrrrrrkrvee 49
Hình 4.37: Câu trúc mã nguÖn -2-£©++++22EE++++2EE+++t£EEEEE+etEEEErrerrrrrrrrrr 50
Hình 4.38: Hàm nhận dữ liệu từ edge S€rV€T ¿- 5-5252 Sc+t+t+rersrrerreree 51
Hình 4.39: Tra cứu và lưu dữ liệu vào database cc eesceseseeseseeseeeeseeeeseeseeeeseeees 51
Hình 4.40: Hàm hién thị kết qua sccccccsecssssssesscssssesssssssecsssssecesssssecssssuseeessseeseessseeses 52Hình 4.41: Hàm Tìm kiếm thủ CONG Sàn 52
Trang 11Hình 5.1: Trường hợp nhận diện sai
Hình 5.2: Nhận diện sai do biển số ban
Trang 12DANH MỤC BANG
Bảng 2.1: Tóm tắt một số hệ thống cận biên
Bảng 5.1: Bảng kết quả thử nghiệm video
Bảng 5.2: Bảng kết quả thử nghiệm 300 ảnh
Trang 13DANH MỤC TU VIET TAT
Ký hiệu chữ viết tắt Chữ viết đầy đủ
IoTs Internet of things
Al Artificial Intelligence
ML Machine Learning
DL Deep Learning
Trang 14TÓM TÁT KHÓA LUẬN
Sự bùng nỗ mạnh mẽ của IoT với vài chục tỉ thiết bị hiện đang hoạt động
và còn tiếp tục tăng trưởng mạnh trong tương lai Xu hướng kết hợp Cloud
Computing — Edge Computing — Tri thông minh nhân tạo vào IoT cũng đang phat
triển mạnh mẽ Nhóm đã quyết định thực hiện dé tài vì nhận thay được tìm năngrất lớn trong lĩnh vực này
Đề tài đặt ra những yêu cầu cần được giải quyết như:
1 Xây dựng được một mô hình trí thông minh nhân tạo đề nhận diện biển
số xe trên khung hình và đọc các ký tự trên biển số xe đó
2 Triển khai ứng dụng trên Edge server dùng dé nhận dữ liệu từ camera
để phân tích biển số xe và đọc ký tự biển số xe
3 Ứng dụng được Kubernetes đề điều phối container tại Edge Server, để
phát triển hệ thống một cách dễ dàng nhất
4 Xây dựng trang web quản tri ứng dụng có chức năng hiển thị kết qua
phân tích và truy xuất thông tin
5 Ngoài ra còn tìm hiểu và ứng dụng các công nghệ bổ trợ khác dé hoàn
thành được hệ thống.
Về kết quả thực hiện, nhóm đã đạt được những yêu cầu cơ bản đã đặt ra
như trên Xây dựng được mô hình Model AI, thiết kế kiến trúc hệ thống giám sátgiao thông bằng cách ứng dụng công nghệ Edge Computing và công nghệ ảo hóa
container dựa trên nên tảng Docker.
Trang 15Chương 1 GIỚI THIỆU
Chương | sẽ giới thiệu về các nội dung chính như sau:
-_ Tổng quan về tình hình, xu hướng IoT hiện nay trên thế giới
- Vai trò Cloud Computing với IoT.
- Phát biểu vấn đề và mục tiêu hướng đến
- Phạm vi và giới han của đề tài
- Câu trúc của luận văn.
1.1 Tổng quan
1.1.1 Tổng quan về xu hướng IoT
INTERNET GIÚP LAM VIỆC VỚI
MỌI THIẾT BỊ TRONG CUỘC SONG KẾT NỐI VỚI THIẾT BỊ MỚI
Hình 1.1: IoT là gì?
Internet van vật (IoT - Internet of Things) là một khái niệm điện toán mô tả y tưởng
về các vật thé hàng ngày được kết nói với Internet và được cung cấp một định danhriêng Internet of Things gồm một mạng lưới các thiết bị vật lý, thiết bị nhúng, cảmbiến kết nối mang dé thu thập và trao đồi đữ liệu Các thiết bị này kết nối với nhauthông qua Wi-Fi, mạng viễn thông băng rộng (3G, 4G), Bluetooth, ZigBee, hồngngoại Gần đây, thế giới đang có sự phát triển nhanh chóng với mạng viễn thông
Trang 16băng rộng 5G Đây là một tiền đề lớn cho sự phát triển của IoT tại Việt Nam cũngnhư trên toàn thé giới Với mức độ phát triển của IoT như hiện nay, các thiết bị nàycần phải có sự “thông minh” Sự “thông minh” được thể hiện bằng cách thực hiệnnhững việc của riêng nó một cách tự động mà ít cần sự can thiệp của con người.Hiện nay, các thiết bị IoT có thé rat dé thay ở xung quanh chúng ta Vi dụ như một
chiếc đồng hồ thông minh như: Apple Watch, Mi Band, Samsung Watch Hay
phức tap hon là nhà thông minh và thành phó thông minh Mỗi nơi đều có các cảmbiến và cho phép chúng ta điều khiển thông qua điện thoại thông minh hay thậm
chí là giọng nói.
Theo báo cáo từ "IoT Analytics", sẽ có gần 41.2 tỷ thiết bị kết nối Internet như:
điện thoại thông minh, thiết bị đeo, đồng hồ thông minh, ô tô và các thiết bị khácvào cuối năm 2025 Hiện tại, con số này là khoảng 23.9 tỷ trên toàn thế giới
Total number of device connections (incl Non-loT)
20.0Bn in 2019- expected to grow 13% to 41.2Bn in 2025
Data as of Nov 2020
Number of global active Connections (installed base) in Bn
45 0:
36 30 35
20
Tom = Compound Annual Growth Rate (CAGR) udes all mobile phones, tables, PCs, laptops, and fixed line phones, IT includes ll consumer and 828 devices connected ~ se loT break-down Source(s: loT Analytics - Cellular oT 8 LPWA Connectivity Market Tracker 2010125,
Hình 1.2: Biểu đồ số lượng thiết bị kết nối Internet toàn cầu
Theo biểu đồ trên, số lượng thiết bị IoT đang có xu hướng tăng mạnh so với thiết
bị non-IoT Tuy có ảnh hưởng của dịch covid-19, nhưng số lượng thiết bị vẫn tăng
rất nhanh
Thị trường IoT hiện tại đang dần được tăng trưởng mạnh Các phần mềm và nền
Trang 17tảng IoT dự kiến sẽ tiếp tục thúc day thị trường khi nhiều dữ liệu được chuyên lênCloud dé lưu trữ, tính toán và xử lý, hướng đến áp dụng với các công nghệ Big
Data, trí tuệ nhân tạo (AI) ở Cloud computing.
1.1.2 Vai trò của điện toán đám mây với IoT
Điện toán đám mây trong IoT hoạt động như một phần không thẻ thiếu và được sử
dụng đề lưu trữ dữ liệu IoT Đám mây là một máy chủ tập trung chứa các tài nguyênmáy tính có thé được truy cập bat cứ khi nào được yêu cầu Điện toán đám mây là
một phương pháp truyền dữ liệu một cách dễ dàng cho các gói dữ liệu lớn được
tạo ra bởi IoT thông qua Internet Đám mây được ứng dụng vào tính toán, xử lý dữ
liệu, phân tích và áp dụng AI.
Các lợi ích sau khi áp dụng điện toán đám mây vào IoT:
- Dễ dàng mở rộng thiết bị và cơ sở hạ tang
- Tăng hiệu quả hoạt động
- Khả năng đáp ứng tốt
Trang 18- Dễ dàng phân tích và xem xét trạng thái thiết bị
- Dễ dàng quản lý, nâng cấp
- Dem lại hiệu quả kinh tế
Với những lợi ích trên, các nhà phát triển các điện toán đám mây phục vụ cho việc
quan lý IoT như: Microsoft Azure, AWS, Google Cloud IoT Ngoài ra, các nềntảng trên còn phát triển các công cụ cho việc áp dụng AI, Big Data để nâng caohiệu quả hệ thống IoT
1.2 Phát biểu vấn đề và mục tiêu hướng đến
1.2.1 Phát biểu vấn đề
Với sự phát triển của nền công nghiệp 4.0, IoT đang có bước tiến mạnh mẽ Kéo
theo đó là sự gia tăng của dữ liệu sinh ra trong đời sống hằng ngày từ smart city
hay smart home, trong các lĩnh vực như: nông nghiệp, môi trường, sức khỏe, y tế,
tự động hóa công nghiệp, xây dựng, giao thông Theo báo cáo từ “Statista”, chỉ
riêng dữ liệu sinh ra từ loT năm 2016 là 13.6 Zettabytes Đến năm 2025, con số
nay tăng lên là 79.4 Zettabytes [1] Điều này cho thay mức độ tăng nhanh của dữliệu như thé nào Kèm theo đó là số lượng thiết bị IoT theo dự đoán vào năm 2025
là 30.9 tỷ [1] Khi dữ liệu và số lượng thiết bị lớn như thế, các ứng dụng hay hệ
thống IoT cần có sự bảo mật cao, thời gian phản hồi ngắn Điện toán đám mâychưa đủ để hỗ trợ các ứng dụng cũng như hệ thống này
Dé đáp ứng các yêu cầu về thời gian phản hồi ngắn, giảm sức tiêu thụ năng lượng
của thiết bị, lưu lượng băng thông đường mạng, nâng cao khả năng xử lý dữ liệu
và vấn đề dữ liệu nhảy cảm: Tính toán cận biên (tiếng anh là Edge Computing) là
một lựa chọn hiệu quả dé hỗ trợ và giải quyết vấn dé cho điện toán đám mây
Trang 19nguồn sinh ra dữ liệu Mục đích của việc áp dụng công nghệ tính toán cận biên là
phân tán xử lý ở cloud, tăng khả năng đáp ứng, giảm thời gian phản hồi Các thiết
bị này có khả năng tính toán như một máy tính, năng lượng tiêu thụ ít, đứng ở giữa
nguồn sinh ra dữ liệu và cloud Khi áp dụng công nghệ tính toán cận biên vào hệthống IoT ở trong tất cả các lĩnh vực, sẽ đem đến trải nghiệm dịch vụ tốt hơn cho
người dùng.
Dé khai thác tối đa của công nghệ tính toán cận biên là tận dụng công nghệ ảo hóa
Container dé triển khai việc xử lý dữ liệu tại cận biên Lợi ích của việc áp dụng
công nghệ ảo hóa Container là gọn nhẹ, dễ triển khai, dễ quản lý Bởi các thiết bị
Trang 20có khả năng tính toán tại cận biên là các thiết bị có sự hạn chế về tài nguyên cũngnhư năng lượng, nên việc áp dụng công nghệ ảo hóa Container đang trở nên phổbiến trong hệ thống IoT Các phần mềm được tạo ra bởi container được đóng góilại và có thể thực thi trên nhiều kiến trúc phần cứng Từ đó tối ưu được tài nguyênphần cứng và khởi tạo ứng dụng nhanh tại cận biên Hơn thế nữa, khi kết hợp công
nghệ tính toán cận biên và công nghệ điều phối quản trị container (ví dụ:Kubernetes ) sẽ giúp cho việc điều phối, cập nhật phần mềm, khả năng mở rộng,
cân bằng tải, giám sát, cho một lượng lớn container trở nên dé dang hơn
1.2.2 Mục tiêu hướng đến
- Tim hiểu, lập trình, xây dựng hệ thống xử lý tính toán cận biên, từ Cloud
đến Edge có áp dụng công nghệ ảo hóa container để giải quyết các nhượcđiểm của mô hình Cloud Computing truyền thống Xây dựng nhằm giải
quyết van dé về độ trễ, khả năng xử lý, phân bố khả năng tính toán trên hệthống, áp dụng trí tuệ nhân tạo tại cận biên để tăng khả năng xử lý và phân
tích.
- Tìm hiểu công nghệ và triển khai các ứng dụng đã được xây dựng, đóng
gói trên kiến trúc hạ tầng dựa trên công nghệ quản trị điều phối container:
Kubernetes (K3S) với mục tiêu tạo nên một nền tảng quản trị vững chắcvới độ sẵn sàng cao và dễ dàng mở rộng, tối ưu tài nguyên hệ thống Cập
nhật các phiên bản ứng dụng mới trong hệ thống mà không cần thời gian
downtime Tự động khởi động lại dịch vụ khi có sự cố downtime
- Xây dựng hệ thống trang web theo dõi các phương tiện vi phạm, phương
tiện bị đánh cắp để phục vụ an ninh giao thông
- Đánh giá hiệu suất hoạt động hệ thống trên kịch bản cụ thé Từ đó đưa ra
kết luận về khả năng áp dụng thực tế, cải thiện khả năng hoạt động vàhướng phát triển đề tài
Trang 211.3 Phương pháp luận
Phương pháp luận cho đề tài được trình bày qua việc phân tích thiết kế hệ thống qua
thiết kế mô hình phân rã câu trúc hệ thống, đặc tả và thiết kế mô hình ngữ cảnh, thiết
kế mô hình luồng dữ liệu, thiết kế kiến trúc hạ tang cho hệ thống và các giải thuật sử
dụng.
1.4 Phạm vi và giới hạn đề tài
1.4.1. Pham vi và đối tượng nghiên cứu
Trong phạm vi của dé tài này, đối tượng nghiên cứu bao gồm:
Ngôn ngữ lập trình: Python, NodeJS
Giới hạn của đề tài
Hệ thống được phát triển từ đầu, nên còn nhiều hạn chế như sau:
Giới hạn về kiến thức về trí tuệ nhân tạo và hạ tầng cho việc training dataset.Khó khăn về việc tìm kiếm bộ dataset chuẩn dé training Model AI Hiện
nay, bộ dataset chuẩn dé training chưa được public trên internet để nhóm cóthể nghiên cứu Nhóm sử dụng bộ datasets có từ Internet trong các hằm giữ
xe để phục vụ việc training
Khả năng về trí tuệ nhân tạo còn nhiều hạn chế Khả năng xử lý chỉ ở mứctương đối Nhóm sử dụng Google Colab đề training Model AI và ngôn ngữ
Python dé áp dụng xử lý
Vì có giới hạn về kinh phí, chưa thể có thiết bị camera thu thập hình ảnh có
độ phân giải cao.
Vì dịch Covid-19, môi trường thử nghiệm còn có nhiều hạn chế về kịch bản
thử nghiệm.
Trang 221.5 Cấu trúc của luận văn
- Chương 1: Giới thiệu
Trình bày tổng quan về IoT, sự cải tiến từ Cloud Computing đến EdgeComputing Vai trò và khả năng xử lý của chúng trong IoT Qua đó, phát biểu
và đưa ra mục tiêu hướng tới của đề tài
- _ Chương 2: Các nghiên cứu và công nghệ liên quan
Trình bày các nghiên cứu hiện tại về mức độ phát triển, các nghiên cứu cũngnhư các công nghệ đã được áp dụng về Edge Computing qua các bài báo khoahọc, tạp chí Bên cạnh đó, trình bày cơ sở lý thuyết, hướng tiếp cận giải pháp kỹ
thuật công nghệ và giải quyết van dé của đề tài
- Chương 3: Phương pháp luận
Trình bày chỉ tiết về kiến trúc hệ thông, phân rã từng thành phần của hệ thống
Đây là chương cơ sở để theo đó hiện thực ở chương 4
- _ Chương 4: Hiện thực đề tài
Trình bày chỉ tiết về quy trình hiện thực đề tài Mỗi phần trong chương 4 trìnhbày cụ thể nhiệm vụ, công nghệ, kỹ thuật thực hiện hệ thống và ứng dụng giám
sát giao thông theo kiến trúc đã được trình bày ở chương 3
- _ Chương 5: Thử nghiệm hệ thống
Trình bày chỉ tiết về kịch bản thử nghiệm dựa trên hệ thống đã xây dựng được
ở chương 4 Qua đó trình bày kết quả và đánh giá hiệu năng của hệ thống Từ
đó, đưa ra kết luận và hướng phát triển của đề tài
- _ Chương 6: Kết luận và hướng phát triển
Tổng kết đề tài và đưa ra hướng phát triển của dé tài trong tương lai Kèm theo
đó khắc phục những nhược điểm có trong hệ thống
Trang 23Chương 2 CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIEN QUAN
Chương 2 sẽ giới thiệu về các nội dung chính như sau:
-_ Tổng quan các nghiên cứu và xu hướng phát triển của công nghệ
- Cơ sở lí thuyết của các công nghệ được sử dụng trong đề tài
2.1 Các nghiên cứu và xu hướng phát triển của các công nghệ liên quan
2.1.1 Tổng quan các hướng tiếp cận và phân loại các hệ thống tính toán
cận biên
Ở thời điểm hiện tại, sự phát triển của Internet vạn vật (IoT) và việc phô biến côngnghệ 4G đã phát triển mạnh mẽ và 5G đang dần được đưa vào sử dụng rộng rãi dầnthay đổi việc truy cập và xử lý dữ liệu của điện toán đám mây Edge Computing
(tính toán cận biên) là một mô hình điện toán mới khi dữ liệu được xử lý ở cận biên
của mạng và có rất nhiều quan điềm khi phân loại các hệ thống tính toán cận biên
Ở bài báo có đề xuất đưa ra 3 phân loại cho hệ thống tính toán cận biên:
- Dich vụ từ CLOUD xuống EDGE
- Dịch vu cho IoT ở EDGE
- Mô hình phân tích hỗn hợp CLOUD-EDGE.
EDGE COMPUTING
Cloud xudng Edge Dich vy IoT ở Edge Mô hình hôn hợpCloud-Edge
Cloudlet | | CloudPath | | Cachier Spanédge | | PCloud | | ParaDrop Azure lol Edge | | AWS Greengrass | | Alibaba Link Edge
Hình 2.1: Sơ đồ giới thiệu phân loại một số dự án cận biên
10
Trang 242.1.2 Tổng quan về công nghệ và nền tang tính toán cận biên
Sự phát triển mạnh mẽ của hệ thống tính toán cận biên đã thúc day sự phát triểnnhanh chóng của Internet of Things và đóng góp rất lớn vào việc thực hiện hóa
một xã hội hiện đại thông minh Bởi đó, các nhà khoa học đã và đang nghiên cứu
những công nghệ mới nhất dé phát triển hệ thống tính toán cận biên này Có haicông nghệ dang được phát triển ké đến theo bài báo [2] đó là:
cluster, grid hoặc cloud Giảm tải cho một bộ đồng xử lý có thể được sử dụng
để tăng tốc các ứng dụng bao gồm; kết xuất hình ảnh và tính toán toán học
Việc chuyên tải điện toán sang nền tảng bên ngoài qua mạng có thé cung cấpsức mạnh tính toán và khắc phục các hạn chế phần cứng của thiết bị, chẳng hạnnhư năng lượng tính toán, bộ nhớ và năng lượng hạn chế
Internet
Backend Server
Hình 2.2: Sơ đồ ví dụ công nghệ offloading áp dung vào Edge Computing
Việc tính toán công nghệ giảm tải không chỉ làm giảm áp lực lên mạng lõi mà
còn giảm độ trễ do đường truyền Điện toán biên di động (Mobility Edge
11
Trang 25Computing - MEC) có thể chạy các ứng dụng phức tạp mới trên thiết bị của
người dùng và tính toán giảm tải là công nghệ quan trọng cho tính toán cận
biên Đã có nhiều thành tựu nghiên cứu liên quan, chủ yếu bao gồm hai vấn đề
chính: offloading decision va resource allocation Trong đó, offloading
decision là về cách thực hiện các tác vụ tính toán, bao nhiêu việc cần thực hiện
và những việc cần thực hiện đối với thiết bị di động Resource Allocation thìđang được nghiên cứu đâu là nơi cần giảm tải tài nguyên
2.1.2.2 Mobility Management
Mobility Management nghĩa là quản ly tinh di động Mobility Management
được nghiên cứu về quá trình di chuyền của người dùng trong kịch bản tính
toán cạnh siêu dày đặc (ultra-dense) để giảm thiểu sự chậm trễ với chỉ phíchuyển giao như một điều khoản của các tác vụ giảm tải
Công nghệ tính toán cận biên dựa trên sự phân bé địa lý của các tài nguyên dé
hỗ trợ tính di động của các ứng dụng Một node của tính toán cận biên chỉ phục
vụ cho user xung quanh node đó Chế độ điện toán đám mây hỗ trợ tính di độngcủa ứng dụng bằng cách xác định vị trí của máy chủ và truyền đữ liệu đến máy
chủ thông qua mạng, do đó, quản lý di động của ứng dụng trong điện toán biên
là một chế độ mới Các vấn đề chính liên quan là khám phá tài nguyên vàchuyển đổi tài nguyên [2] Phát hiện tài nguyên, tức là user cần nhanh chóng
khám phá các tài nguyên có sẵn xung quanh và lựa chọn tài nguyên phù hợp
nhất trong quá trình di chuyển Việc khám phá tài nguyên của điện toán biên
cần thích ứng với môi trường tài nguyên không đồng nhất, đồng thời cũng cầnđảm bảo tốc độ khám phá tài nguyên, để các ứng dụng có thể cung cấp dịch vụ
cho người dùng mà không bị gián đoạn; chuyển đổi tài nguyên, nghĩa là khi
người dùng di chuyền, các tài nguyên máy tính được sử dụng bởi các ứng dụng
di động có thé được chuyển đổi giữa nhiều thiết bị Chuyển đổi tài nguyên sẽ
di chuyền địa điểm hoạt động của chương trình dich vụ dé đảm bảo tính liên
tục của dịch vụ.
12
Trang 26Trong MEC, một trong những vấn đề quan trọng cần được xem xét là làm thế
nào để đảm bảo tính liên tục của việc tiếp cận dịch vụ của người dùng trong
suốt quá trình di chuyển Một số ứng dụng dự kiến sẽ tiếp tục phục vụ người
dùng sau khi vị trí của họ thay đổi Sự không đồng nhất của tài nguyên tínhtoán biên và sự đa dạng của mạng đòi hỏi khả năng tính toán của thiết bị thích
ứng và những thay đổi về băng thông mang trong quá trình di chuyển chúng
CPU Occupation ` 2 & Edge Server
on Edge Server Colocation
Hình 2.3: Mô hình Mobility Management sử dụng trong Edge Computing
Ngoài hai công nghệ trên, cũng có thêm 3 công nghệ khác đang dang được nghiên
cứu và phát triển để áp dụng và điện toán biên đó là: Traffic Offloading, Caching
Accleration và Network Control.
2.1.3 Tóm tắt một số hệ thống cận biên đã phát triển
l Mô hình kiên Thiét bị dùng
Tén hệ thong „ Cận biên Edge Đặc trưng
Trang 27R no Gateway nha Phan cứng
ParaDrop Ba tang Thiét bị loTs ~
thông minh được ho trợ
` <M May chu rong cua
FocusStack Ba tang Thiét bị IoTs
server, Router OpenStack
Cloudlet Ba tang Cloudlet
dong hóa Hypervisor
14
Trang 28Nhan dang
` Thiết bị di động, máy chủ , Cachier Ba tâng hình,nhận biết,
2.1.4 Xu hướng phát triển công nghệ tính toán cận biên
Theo bài báo [3] liệt kê những công nghệ đang là xu hướng phát triển cho công
nghệ tính toán cận biên:
Công nghệ tính toán cận biên đáp ứng nhiều AI/ML hơnCloud và Edge phát triển như đối tác
Quản lý cận biên chiếm trạng thái xử lý trung tâm
Sự hội tụ giữa công nghệ thông tin và công nghệ vận hành
Công nghệ tính toán cận biên dễ dàng kết nối vào hệ sinh thái định sẵn
Sự phát triển 5G Privacy
Edge cải thiện về bảo mật
Trong dé tài này, nhóm sinh viên có phát triển AI/ML vào hệ thống giám sát giaothông và công nghệ ảo hóa Container để đảm bảo sự bảo mật cho dữ liệu Theo bài
báo [2], phần một có đề cập đến TensorFlow Lite Công nghệ này cho phép dễdàng thực hiện áp dụng AI vào các thiết bị hạn chế tài nguyên
2.2 Cơ sở lí thuyết
2.2.1 IoTs
IoT là viết tat của Internet of Things, hiểu đơn giản là một tap hợp các thiết bị có
khả năng kết nối với nhau, với Internet va với thế giới bên ngoài đề thực hiện mộtcông việc nhiệm vụ nào đó Các thiết bị IoT có thé là điện thoại, máy tính, tai nghe,bóng đèn, máy giặt, tủ lạnh, và rất nhiều thiết bị khác Chúng được kết nối với nhau
thông qua Wi-Fi, mạng viễn thông (3G, 4G, 5G), Bluetooth, giao thức Zigbee
15
Trang 29Hình 2.4: Mô hình các ứng dụng của Internet of Things
Mô hình IoT:
- Cam biến: Các cảm biến có nhiệm vụ thu thập các thông tin tại nơi nó được
lắp đặt Các thông tin có thé là các chỉ số nhiệt độ, độ 4m, ánh sáng của môi
trường hoặc các chỉ số về sinh trắc học của con người và nhiều loại thôngtin khác Các thông tin đó sẽ được gửi đến Cloud Server dé xử lí thong qua
loT Gateway.
- IoT Gateway: IoT gateway là một công kết nối tới Internet cho tat cả các
cảm biến/thiết bị Nhiệm vụ của IoT gateway là chuyền giao dữ liệu thu
thập được tại các cảm bién/thiét bị đến server dé xử lí
- Cloud Server: là nơi tiếp nhận, xử lí, và lưu trữ kết quả vào cơ sở dữ liệu dé
phục vụ cho một mục đích, ứng dụng nào đó.
- Ung dung IoT: Dựa trên những dữ liệu được thu thập va xử ly, các ứng dụng
(ứng dụng di động, website ) được xây dựng lên để phục vụ cho nhiều
lĩnh vực như nông nghiệp, công nghiệp, đô thị thông minh Ngoài ra, ứng
dụng IoT còn cung cấp một giao diện người dùng trực quan, tiện dụng, chophép theo dõi, điều khiển, quản lí các thiết bị mọi nơi mọi lúc thông qua
Internet.
16
Trang 30SENSOR N
loT
GATEWAY
CLOUD SERVER
MOBILE A WEB SERVER
Hình 2.5: Mô hình phát trién lơT
Một số ứng dụng của IoT:
Smart Home — Ngôi nha thông minh: Smart Home là một ứng dụng cho
phép bạn giám sát, điều khiển ngôi nhà của mình từ xa thông qua các thiết
bị di động, ngoài ra chúng còn có khả năng nhận biết và thực hiện những
công việc như bat/tat điều hoà, đèn, điện một cách tự động, hoặc từ xa.Smart Home có thé nói là một ứng dụng tiện ích, nâng cao chất lượng cuộcsống của mọi gia đình
Các vật dụng đeo trên người: Smart Watch là một ví dụ Một chiếc đồng hồ
đeo tay với khả năng thu thập thông tin sức khoẻ của bạn và đưa ra những
thông báo, chỉ thị giúp bạn bảo vệ, rèn luyện sức khoẻ
Smart City: là đô thị sử dụng các thiết bị Internet of Things (IoT) để thuthập và phân tích dữ liệu và sau đó sử dụng dữ liệu này để cải thiện cơ sở
Trang 31Raspberry Pi chạy được nhiều OS linux (trừ Ubuntu do CPU ARMv6) Một số
Distributions Linux (nhúng) chạy trên Raspberry Pi có thể ké đến như Raspbian,
Pidora, openSUSE, OpenWRT, OpenELEC
Raspberry Pi được trang bị một cấu hình tốt, khả năng kết nối với các thiết bị ngoại
vi, cảm biến cao Dựa trên những đặt điểm này, Raspberry Pi được sử dụng rộng
rai trong IoT, đặt biệt là điện toán biên Raspberry Pi đóng vai trò như một server
trung gian được đặt gần với nguồn thu dữ liệu Có chức năng xử lí một phần dữ
liệu để giảm tải cho quá trình truyền nhận Từ đó giúp giảm độ trễ, tăng hiệu suấtvận hành cho hệ thống
18
Trang 32Phiên ban Raspberry Pi được sử dung: Raspberry Pi 3 Model B+:
- Model B+ sử dung vi xử lý Broadcom BCM2837B0 4 nhân 1.4GHz, xung
nhịp cao hon so với BCM2837 1.2GHz trên Pi 3 Model B.
- Model B+ cung cấp kết nối không dây Wifi băng tan 2.4GHz và 5GHz,
Ethernet gigabit qua công USB 2.0 có tốc độ lên đến 300Mbps, gấp 3 lần
so với Pi 3 Model B Thiết bị hỗ trợ Bluetooth 4.2 và Bluetooth Low Energygiúp kết nói tốt hơn với các thiết bị thông minh khác
- Model B+ hỗ trợ Power over Ethernet (PoE), trước đây chưa được hỗ trợ
chính thức Nếu như trước đây các nhà sản xuất linh kiện tạo ra các giải
pháp riêng của họ, thì Raspberry Pi Foundation sẽ sớm phát hành PoE HAT
cho các nhà sản xuất trong tương lai gần
- Raspberry Pi 3 nâng cấp vi xử lý và kết nói mạng nhanh hơn trên Model B+
nhưng vẫn giữ nguyên được kích thước nhỏ gọn, không thay đổi so với cácphiên bản trước đó và giá bán cũng không thay đồi
2.2.3 Dịch vụ điện toán đám mây Microsoft Azure.
Azure là một nền tảng điện toán đám mây và một cổng thông tin trực tuyến, cho
phép truy cập và quản lý các dịch vụ, cũng như tài nguyên đám mây do Microsoft
cung cấp Các dịch vụ và tài nguyên này bao gồm lưu trữ và chuyền đổi đữ liệu, tùythuộc vào yêu cầu Đề có quyền truy cập vào các tài nguyên và dịch vụ này, tat cả
những gì bạn cần là kết nối Internet đang hoạt động và khả năng kết nối với Azure
Portal.
Azure cung cấp hàng trăm dịch vụ khác nhau Các danh mục này bao gồm máy tính,
mạng, lưu trữ, IoT, di chuyển, di động, phân tích, container, trí tuệ nhân tạo va
machine learning, tích hợp, công cụ quản lý, công cụ nhà phát triển, bảo mật, cơ sở
dữ liệu, DevOps, nhận dạng media và web service
Microsoft Azure gồm 3 cấu trúc cơ bản IAAS - PAAS - SAAS:
- TaaS: viết tắt của Infrastructure as a Service (Co so ha tang như một dich
vụ) Cung cấp cơ sở hạ tầng máy tính, máy ảo vật lý và các tài nguyên khác
19
Trang 33như thư viện hình ảnh đĩa máy ảo, lưu trữ dựa trên tệp và khối, tường lửa,
cân bằng tải, Địa chỉ IP, mạng cục bộ ảo
- PaaS: viết tắt của Platform as a Service (Nén tang như một dịch vụ) Cung
cấp cho bạn các nền tảng điện toán thường bao gồm hệ điều hành, môi
trường thực thi ngôn ngữ lập trình, cơ sở dữ liệu, máy chủ web
- SaaS: viết tắt của Software as a Service (Phan mềm như một dịch vụ) Cung
cấp quyền truy cập vào phần mềm ứng dụng thường được gọi là "phần mềm
theo yêu cầu" Người dùng không cần phải cài đặt, thiết lập và chạy ứngdụng Nhà cung cấp dịch vụ sẽ làm điều đó
Azure đảm bảo tính sẵn có, khả năng lưu trữ, khả năng mở rộng linh hoạt Cung cấp
nhiều loại tài nguyên, dich vụ rất thích hợp dé phát triển một hệ thống IoT
Hình 2.7: Những dịch vụ của Azure 2.2.4 Các công nghệ ảo hóa và Docker
2.2.4.1 So sánh Hyperviser va Container
Đối với ảo hóa Hypervisor, dé chạy được nhiều ứng dụng thuộc các nền tang
khác nhau trên cùng một máy chủ vật lý, ta có thể dùng các máy ảo khác nhau
để chạy các ứng dụng Sử dụng một phần mềm (hoặc phần cứng) được gọi là
Hypervisor dé tạo ra các máy ảo Nhưng việc ảo hóa này gặp phải một số van
dé sau:
20
Trang 34- Mỗi máy ảo cần có một hệ điều hành riêng (Guest OS) Điều này làm cho
chúng có thể có kích thước vài GB
- _ Tài nguyên phần cứng của may host được Hypervisor cấp phát cho các máy
ảo Tuy nhiên các máy ảo không thể chia sẽ tài nguyên cho nhau Nếu cấpphát không hợp lý sẽ dẫn đến lãng phí tài nguyên và giảm hiệu suất của hệ
thống
- Do phải chia sẽ tài nguyên cho máy ảo dẫn đến hiệu suất của máy host giảm
đi đáng kề
-_ Thời gian khởi động hoặc tắt một máy ảo rat lâu
Dé giải quyết những hạn chế trên của Virtual machine, ta sử dụng một giải pháp
mới là Container Container không cần một hệ điều hành riêng, chúng sử dụng
chung kernel với Host OS nên kích thước rất nhẹ Chúng cũng sử dụng chungtài nguyên với máy host, không cần phải cấp phát tài nguyên riêng cho từngContainer Thời gian khởi động, tắt Container cũng rất nhanh
Virtual Machine | | VituaiMachine | | virtual Machine Containerized Applications
Docker là một nền tảng mã nguồn mở được viết bằng Go-lang Bằng cách sử
dụng các container dé đóng gói một ứng dụng cùng với tất cả các thành phầncần thiết, chẳng hạn như các thư viện hay các phụ thuộc nào đó Với các
container nay, các ứng dụng có thé hoạt động ổn định trong nhiều môi trường
khác nhau.
21
Trang 35Docker Container gần giống như một máy ảo (Virtual machine), nhưngcontainer không cần ảo hóa một hệ điều hành riêng mà chạy trực tiếp trên kernel
của máy host Các container cũng sử dụng chung tài nguyên của máy host,
container cũng rất nhẹ và không gây lãng phí tài nguyên, có thê chạy được rấtnhiều Container cùng lúc trên cùng một máy host
2.2.5 Công nghệ điều phối container: Kubernetes
Kubernetes là một nền tảng nguồn mở, khả chuyền, có thể mở rộng đề quản lý cácứng dụng được đóng gói và các service, giúp thuận lợi trong việc cầu hình và tựđộng hoá việc triển khai ứng dụng Kubernetes là một hệ sinh thái lớn và phát triển
nhanh chóng Các dịch vụ, sự hỗ trợ và công cụ có sẵn rộng rai.
Các container là một cách tốt dé đóng gói và chạy các ứng dụng Trong môi trườngproduction, bạn cần quản lý các container chạy các ứng dụng và đảm bảo rằng
không có khoảng thời gian downtime Ví dụ, nếu một container bị tắt đi, mộtcontainer khác cần phải khởi động lên Điều này sẽ dé dàng hơn nếu được xử lý bởi
một hệ thống
Kubernetes cung cấp cho bạn một framework để chạy các hệ phân tán một cáchmạnh mẽ Nó đảm nhiệm việc nhân rộng và chuyên đổi dự phòng cho ứng dụng củabạn, cung cấp các mẫu deployment và hơn thế nữa
Kubernetes cung cấp các giải pháp:
- Service discovery và cân bằng tải: Kubernetes có thé expose một
container sử dụng DNS hoặc địa chỉ IP của riêng nó Nếu lượng traffic truy
cập đến một container cao, Kubernetes có thể cân bằng tải và phân phối lưulượng mang (network traffic) dé việc triển khai được ổn định
- Điều phối bộ nhớ: Kubernetes cho phép bạn tự động mount một hệ thống
lưu trữ mà bạn chọn, như local storages, public cloud providers, v.v.
- Tự động rollouts và rollbacks: Bạn có thé mô tả trạng thái mong muốn
cho các container được triển khai dùng Kubernetes và nó có thê thay đổi
trạng thái thực tế sang trạng thái mong muốn với tần suất được kiểm soát
22
Trang 36Vi dụ, bạn có thé tự động hoá Kubernetes để tạo mới các container cho việctriển khai của bạn, xoá các container hiện có và áp dụng tất cả các resource
của chúng vào container mới.
- Đóng gói tự động: Bạn cung cấp cho Kubernetes một cluster gồm các node
mà nó có thé sử dụng để chạy các tác vụ được đóng gói (containerized task)
Bạn cho Kubernetes biết mỗi container cần bao nhiêu CPU và bộ nhớ(RAM) Kubernetes có thể điều phối các container đến các node để tận dụng
tốt nhất các resource của bạn
- Tự phục hồi: Kubernetes khởi động lại các containers bị lỗi, thay thé các
container, xoá các container không phản hồi lại cấu hình health check do
người dùng xác định và không cho các client biết đến chúng cho đến khi
chúng sẵn sàng hoạt động.
- Quản lý cấu hình va bao mật: Kubernetes cho phép bạn lưu trữ và quản
lý các thông tin nhạy cảm như: password, OAuth token và SSH key Bạn có
thể triển khai và cập nhật lại secret và cấu hình ứng dụng mà không cầnbuild lại các container image và không đề lộ secret trong cấu hình stack của
với các mô hình phát hiện đối tượng hiện đại như Faster RCNN, SSD YOLO
có thể chạy tốt trên các thiết bị như Raspberry Pi, NUC YOLO đã có nhiều
phiên bản khác nhau như YOLO v1, v2, v3, v4.
Ý tưởng cơ bản của YOLO là chia ảnh thành nhiều box, mỗi box sẽ chịu trách
nhiệm xác định đối tượng có trong box đó YOLO sử dụng toàn bộ thông tin
của bức ảnh và dự đoán toàn bộ các box chứa đối tượng mỗi ô (cell) sẽ chứathông tin về tọa độ và kích thước của box, khả năng xuất hiện đối tượng của
Trang 37box và xác suất của các lớp có thé xuất hiện trong box đó.
Để triển khai mô hình chúng ta có thê sử dụng thư viện OpenCV với CPU Nếu
muốn sử dụng GPU để tăng tốc độ dự đoán các bạn có thé sử dụng thư việnDarknet hoặc một số cài đặt sử dụng Tensorflow hay Keras
2.2.6.2 TensorFlow
Tensorflow — Với sự bùng nổ của lĩnh vực Trí Tuệ Nhân Tạo — AI trong thập
ki vừa qua, machine learning và deep learning rõ ràng cũng phát triển theo
cùng Và ở thời điểm hiện tại, TensorFlow chính là thư viện mã nguồn mở cho
machine learning nổi tiếng nhất thế giới, được phát triển bởi các nhà nghiêncứu từ Google Việc hỗ trợ mạnh mẽ các phép toán học dé tính toán trong
machine learning và deep learning đã giúp việc tiếp cận các bài toán trở nên
đơn giản, nhanh chóng và tiện lợi hơn nhiều
Các hàm được dựng sẵn trong thư viện cho từng bài toán cho phép TensorFlowxây dựng được nhiều neural network Nó còn cho phép bạn tính toán song songtrên nhiều máy tính khác nhau, thậm chí trên nhiều CPU, GPU trong cùng một
máy.
Tensorflow cơ bản được xem như một trong những phương tiện trung gian giúp
tính toán cho các số lượng có trong sản xuất và đồng thời trở thành một công
cụ không thể thiếu trong Machine Learning Từ đó, phục vụ cho nhu cầu học
tập cũng như nghiên cứu một cách dễ dàng hơn.
Khi Tensorflow hoạt động sẽ cho phép các lập trình viên có thé tạo ra dataflowgraph, cũng như cấu trúc mô tả làm sao để cho dữ liệu có thể di chuyển quamột biểu đồ; hoặc di chuyền qua một seri mà các node đang xử lý Mỗi một
node có trong đồ thị thường đại diện cho | operation toán hoặc và mỗi kết nối
thường hay edge giữa các node với nhau Từ đó, mỗi kết nối hoặc edge giữacác node được xem là mảng dữ liệu đa chiều
Ngoài ra, TensorFlow còn có nhiều cải tiến mang đến sự hậu thuẫn từ Google
24