Trong dé tài này, hệ thống cận biên được dé xuất dùng công nghệ ảo hóa và điều phối container gọn nhẹ, có hỗ trợ GPU cũng như các chức năng nền tảng, giúp cho việc triển khai và quản lý
Trang 1BOK CR
LE ANH TUAN
NGHIEN CUU VA PHAT TRIEN HE THONG CAN BIEN THONG MINH VAO UNG DUNG NHAN DIEN MAT NGUOI
KHONG DEO KHAU TRANG
RESEARCH AND DEVELOP INTELLIGENT EDGE SYSTEM
FOR FACE MASK RECOGNITION APPLICATION
LUAN VAN THAC Si NGANH CONG NGHE THONG TIN
Mã số: 8.48.02.01
GIẢNG VIÊN HƯỚNG DAN:
PGS TS Lê Trung Quân
Trang 2Trước tiên, tôi xin gửi lời cảm ơn chân thành đến toàn thé quý Thay Cô, Giảng
viên trường Đại học Công nghệ thông tin - Đại học quốc gia TP Hồ Chí Minh, đặcbiệt là quý Thầy Cô đã trực tiếp giảng dạy, hướng dẫn, cung cấp những kiến thức
quan trọng, định hướng nghiên cứu và chia sẻ những kinh nghiệm làm việc trong
những dự án thực tế Tắt cả những điều ấy luôn là hành trang quý báu giúp tôi trongquá trình nghiên cứu khoa học và làm việc sau này Đặc biệt, để hoàn tất khóa luậncao học và các bài báo khoa học trong quá trình nghiên cứu và học tập, tôi luôn biết
ơn Thầy PGS.TS Lê Trung Quân Trong suốt quá trình thực hiện dé tài này, Thầy
luôn động viên, theo dõi tiến độ và hỗ trợ kịp thời Bên cạnh đó, tôi xin gửi lời cảm
ơn anh Huỳnh Văn Đặng đã hỗ trợ tôi nhiệt tình trong quá trình viết báo, tham gianghiên cứu khoa học Cuối cùng, tôi xin gửi lời tri ân đến gia đình, người thân và bạn
bè luôn quan tâm, theo dõi và hỗ trợ tôi trong suốt thời gian tham gia học tập và
nghiên cứu tại trường.
Tran trọng cảm on!
Tác giả.
Trang 3Tôi xin cam đoan dé tài “Nghién cứu và phát triển hệ thống cận biên thông minh
vào ứng dụng nhận diện mặt người không đeo khẩu trang” được thực hiện độc lậpdưới sự hướng dẫn của Thầy PGS TS Lê Trung Quân Các kết quả và số liệu trong
báo cáo là trung thực Vì vậy, tôi xin hoàn toàn chịu trách nhiệm về các công trìnhnghiên cứu của mình.
Trang 4DANH MỤC CÁC HÌNH ẢNH
DANH MỤC CÁC BẢNG
TOM TAT LUẬN VĂN
Chương 1 TONG QUAN
1LI Giớithiệu
1.2 Mục tiêu hướng đến của đề tài
1.2.1 Mục tiêu tông quan
1.2.2 Mục tiêu cụ thể
1.3 Giới hạn và kết quả mong muốn của đề tài
1.3.1 Đối tượng nghiên cứu
143.2 Giới hạn đề tài
1.4 Nội dung và phương pháp thực hiện
1.4.1 Các nghiên cứu và công nghệ có liên quan
1.4.2 Phân tích và thiết kế hệ thống
1.4.3 Thực hiện và triển khai hệ thống
14.4 Kết quả thực nghiệm và đánh giá
1.4.5 Kết luận và hướng phát triển tương lai
1.5 Y nghĩa của đề tài
1.6 Sản phẩm khoa học liên quan
Chương 2 CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN
24 Các nghiên cứu và xu hướng công nghệ trên thế giới
Trang 52.2 Một số ứng dụng liên quan đến COVID-19 tại Việt Nam
2.3 Cơ sở lý thuyết và hướng tiếp cận đề tài
Ảo hóa tại cận biên
Công nghệ ảo hóa container
Công nghệ điều phối containerNền tảng quản lý các điều phối container
Prometheus, Grafana và AlertManager
Các mô hình trí tuệ nhân tao nhận diện đôi tượng
Các công nghệ phát triển ứng dụng AI nhận diện đối tượng
Các chức năng nền tảng hệ thống
Trang 64.1.3 Facemask Recognition Management System
4.1.4 Huấn luyén va kiêm tra mô hình trí tuệ nhân tao
4.2 Triển khai các thành phần cận biên
4.2.1 Nền tảng hệ thống
4.2.2 Các chức năng nên tảng hệ thống
4.2.3 Facemask Recognition 102
4.3 Thực hiện các thành phan thiết bị đầu cuối
Chương 5 KET QUA THỰC NGHIỆM VÀ ĐÁNH GIA
5.1 Danh giá độ chính xác và hiệu suất của mô hình A
5.1.1 Ly thuyết phép đo đánh giá mô hình
5.1.2 Đánh giá kết quả 105
5.2 Đánh giá hiệu suất và tính sẵn sàng 109
5.3 Đánh giá hiệu suất trong việc triển khai hệ thống tự động
Trang 76.1 Kếtluận
6.1.1 Kết quả đạt được
6.1.2 Một số thách thức khi thực hiện đề tài
6.1.3 Một số hạn chế của đề tài
6.2 Hướng phát triển tương lai
TÀI LIỆU THAM KHẢO
Trang 8Advanced RISC Machine
Amazon Web Services Continuous Integration / Continuous Deployment Command-Line Interface
Configuration Management
Cloud Native Computing Foundation
Convolutional Neural Network
Central Processing Unit
Container Runtime Interface
Container Runtime Interface for Open Container Initiative
Camera Serial Interface
Development and Operations
Amazon Elastic Kubernetes Service Facemask Recognition Management System
Google Cloud Platform
Google Kubernetes Engine
Graphics Processing Unit Hypertext Transfer Protocol Infrastructure as Code
Institute of Electrical and Electronics Engineers
Integrated Development Environment Intersection over Union
Internet of Things
Trang 9Machine Learning
Message Queuing Telemetry Transport
Network File System Non-Maximum Suppression
Open Container Initiative
Software Development Kit
Spatial Pyramid Pooling Single Shot Detector
Secure Sockets Layer
Transport Layer Security
VideoLAN Client Virtual Machine
Visual Object Classes
Wireless Fidelity
YAML Ain't Markup Language You Only Look Once
Trang 10Hình 2.1 Kiến trúc nền tang Docker.
Hình 2.2 Kiến trúc hệ thông Kubernetes
Hình 2.3 Kiến trúc hệ thống K3:
Hình 2.4 Kiến trúc hệ thống Rancher Hình 2.5 Kiến trúc hệ thống Longhorn
Hình 2.6 Triển khai C/CD dùng Jenkin: Hình 2.7 Triển khai CI/CD dùng Jenkins và Ansible Hình 2.8 GitLab Runner dùng Kubernetes Executor. Hình 2.9 Tổng quan hệ thống R-CNN Al Hình 2.10 Kiến trúc Fast R-CNN Hình 2.11 Kiến trúc Faster R-CNN Hình 2.12 Kiến trúc Mask R-CNN Hình 2.13 Kiến trúc SSD Hình 2.14 Kiến trúc mạng SSD Hình 2.15 Hệ thống nhận diện YOLO
Hình 2.16 Mô hình YOLO
Hình 2.17 Kiến trúc mạng YOLO
Hình 2.18 Kiến trúc mạng YOLOv2
Hình 2.19 Kiến trúc mạng YOLOv3
Hình 2.20 Kiến trúc YOLOv4 Hình 3.1 Sơ đồ phân rã các thành phần hệ thống Hình 3.2 Kiến trúc hệ thống tổng quan
Hình 3.3 Kiến trúc nền tảng hệ thống đám mây
Hình 3.4 Kiến trúc hệ thống Cluster Management Hình 3.5 Kiến trúc dịch vụ Monitoring
Hình 3.6 Kiến trúc dịch vụ DevOps Hình 3.7 Kiến trúc dich vu Registry Hình 3.8 Kiến trúc ứng dụng FRMS
Hình 3.9 Lược đồ cơ sở dữ liệu ứng dụng FRMS
Trang 11Hình 3.12 Kiến trúc dịch vụ Facemask Recognition.
Hình 3.13 Thiết kế mạch xử lý [8]
Hình 3.14 Thiết kế xử lý luồng video [8]
Hình 3.15 Thiết kế giao điện ứng dụng di động
Hình 3.16 Minh họa cơ sở dit li ứng dụng di động.
Hình 4.1 Chương trình cài đặt nền tảng đám mây dùng K8s cluster .Hình 4.2 Chương trình cai đặt nền tang đám mây dùng K3s cluster .Hình 4.3 Cấu hình NVIDIA Container Runtime hỗ trợ GPU
Hình 4.4 Các thành phần hệ thống đám mây dùng K3s cluster
Hình 4.5 Các thành phần hệ thống đám mây dùng K8s cluster
Hình 4.6 Chương trình cài đặt hệ thống quản lý Kubernetes cluster .
Hình 4.7 Các thành phan của hệ thống quan lý Kubernetes cluster
Hình 4.8 Giao diện hệ thống quản lý Kubernetes cluster
Hình 4.9 Giao diện hệ thống lưu trữ
Hình 4.10 Nhân bản dữ liệu và sao lưu dự phòng
Hình 4.11 Kế hoạch sao lưu dit liệu định kỳ
Hình 4.12 Sao lưu dữ liệu trên Amazon S.
Hình 4.18 Chương trình cài đặt nền tảng DevOps
Hình 4.19 Chương trình xây dựng container image của GitLab Runner
Hình 4.20 Khởi tạo GitLab.
Trang 12Hình 4.27 Trạng thái của GitLab Runner sau khi được câu hình.
Hình 4.28 Quản lý CI/CD pipelines .
Hình 4.29 Xây dựng và đóng gói ứng dụng FRMS
Hình 4.30 Triển khai ứng dụng FRMS Hình 4.31 Dọn dẹp môi trường hệ thống Hình 4.32 Chương trình cai đặt chức năng quản lý container images
Hình 4.33 Khởi tạo Registry Hình 4.34 Dừng Registry .
Hình 4.35 Trạng thái dịch vụ lưu trữ của Registry Hình 4.36 Trạng thái hoạt động của Registry
Hình 4.37 Đăng nhập Registry
Hình 4.38 Truy cập Credential Store Hình 4.39 Chương cai đặt và mã nguồn của ứng dụng FRMS
Hình 4.40 Khởi tạo FRMS .
Hình 4.41 Dừng FRMS
Hình 4.42 Trạng thái dịch vụ lưu trữ của FRMG .86
Hình 4.43 Trạng thái hoạt động của FRMS .87 Hình 4.44 Giao diện quan lý của FRMS 87 Hình 4.45 Trang thông tin liên hệ của FRMS .88 Hình 4.46 Kết quả huấn luyện mô hình YOLOv3 416 x 416 91 Hình 4.47 Nhận diện đối tượng dùng hình ảnh 91 Hình 4.48 Nhận diện đối tượng dùng video
Hình 4.49 Nhận diện đối tượng dùng live camera
Hình 4.50 Dự đoán hình ảnh dùng pytorch-YOLOv4 Hình 4.51 Dự đoán video sử dung DeepStream
Hình 4.52 Thư mục cài đặt K3s cluster
Hình 4.53 Nền tảng hệ thống cận biên dùng K3s và Docker
Hình 4.54 Nền tảng hệ thống cận biên dùng K3s và Containerd Hình 4.55 Trạng thái ưu tiên của các kết nối mạng
Trang 13Hình 4.58 Giao diện hệ thống quản lý Kubernetes cluster.
Hình 4.59 Giao diện hệ thông lưu trữ
Hình 4.60 Giao diện quan lý cấu hình các nodes của hệ thống lưu trữ Hình 4.61 Nhân bản dữ liệu và sao lưu dự phòng Hình 4.62 Sao lưu dữ liệu trên Amazon S3. Hình 4.63 Hệ thống giám sát trực quan Hình 4.64 Quản lý mã nguồn
Hình 4.65 Quản lý CI/CD pipelines
Hình 4.66 Cập nhật dịch vụ Facemask Recognition dùng CI/CD pipelines 101
Hình 4.67 Chương trình cài đặt dịch vụ Facemask Recognition .
Hình 4.68 Dịch vụ Facemask Recognition. Hình 4.69 Hệ thống camera và vi điều khién ESP32 [8]
Hình 4.70 Ứng dụng desktop (VLC)
Hình 4.71 Ung dung di động
Hình 5.1 Confusion Matrix
Hình 5.2 Biéu đồ đánh giá độ chính xác của các mô hình AI „107 Hình 5.3 Biéu đồ đánh giá độ chính xác của các mô hình AI 108 Hình 5.4 Biéu đồ đánh giá hiệu suất của mô hình AI 109 Hình 5.5 Biểu đồ tài nguyên phần cứng sử dụng 111
Trang 14Bảng 2.1 So sánh SSD với các mô hình khác.
Bang 2.2 So sánh YOLO với các mô hình khác
Bang 2.3 So sánh YOLOv2 với các mô hình khác.
Bảng 2.4 So sánh YOLOv3 với các mô hình khác.
Bang 2.5 So sánh YOLOv3-Tiny với các phiên bản khác .
Bảng 2.6 So sánh YOLOv4 các mô hình khá
Bang 2.7 So sánh YOLOv4-Tiny với các mô hình kh: 55
Bảng 4.1 Các pretraining weights 88
Bảng 5.1 Đặc ta phần cứng thực nghiệm 104
Bảng 5.2 Đánh giá độ chính xác của các mô hình AI, 106
Bang 5.3 Đánh giá độ chính xác của các mô hình AI,
Bảng 5.4 Đánh giá số lượng tính toán của các mô hình AI
Bang 5.5 Đánh giá hiệu suất của mô hình AI
Bang 5.6 Đánh giá thời gian triển khai hệ thống an biên tự động
Bang 5.7 Đánh giá thời gian thực thi CI/CD pipelines
Bảng 5.8 Đánh giá tài nguyên phần cứng sử dụng
Trang 15Trong thời đại ngày nay, sự phát triển không ngừng của các hệ thống nhúng
hiện đại, IoT (Internet of Things), 5G (Fifth Generation) và AI (Artificial
Intelligence) đã thúc đây sự phát triển của các ứng dụng thông minh dựa trên tính
toán biên Hướng tiếp cận này nhằm giải quyết số vấn dé của điện toán đám may
về độ trễ phản hồi đối với các ứng dụng yêu cầu xử lý theo thời gian thực, tiêu haonăng lượng và chỉ phí đường truyền
Trong dé tài này, hệ thống cận biên được dé xuất dùng công nghệ ảo hóa và
điều phối container gọn nhẹ, có hỗ trợ GPU cũng như các chức năng nền tảng, giúp
cho việc triển khai và quản lý các ứng dụng AI (dựa vào kiến trúc microservices) xử
lý theo thời gian thực trên các máy tính nhúng (có tài nguyên phần cứng hạn chế) trởnên dễ đàng, linh hoạt và hiệu quả hơn Giải pháp ảo hóa tối ưu phần cứng, gọn nhẹ,
hỗ trợ triển khai ứng dụng nhanh Hệ thống này điều phối các ứng dụng tự động, đảmbảo tính sẵn sàng, khả năng mở rộng, tự phục hồi, cân bằng tải và triển khai tự động
Các chức năng quản lý và giám sát tập trung đơn giản hóa việc quản trị các dịch vụ
chạy trên nền tảng ảo hóa và điều phối container, đặc biệt với số lượng lớn các thiết
bị và dịch vụ Ngoài ra, chức năng quan lý container image và DevOps giúp tự động.
hóa việc phân phối liên tục phần mềm cập nhật cho các ứng dụng chạy trên nền tảng
ảo hóa và điều phối container tại cận biên Hơn nữa, nhằm đảm bảo tính sẵn sàng, dữ
liệu được nhân bản, sao lưu dự phòng trên hệ thống và trung tâm đám mây giúp khôiphục dữ liệu trong trường hợp cap bách
Hiện nay, sự bùng nỗ của đại dịch COVID-19 gây thiệt hại nghiêm trọng về
người và tài sản trên toàn thé giới Trong đó, việc đeo khẩu trang là một trong những
biện pháp thiết thực nhất dé ngăn ngừa lay lan dịch bệnh trong cộng đồng Với nhu
cầu cấp thiết của đề tài, ứng dụng nhận diện mặt người không đeo khẩu trang đượcchọn để triển khai thực nghiệm trong việc nghiên cứu và xây dựng hệ thống cận biênthông minh dựa trên các giải pháp và hướng tiếp cận đã được trình bày ở trên
Trang 16Chương 1
TONG QUAN
Chương | giới thiệu bài toán cần giải quyết, từ đó đưa ra giải pháp khắc phục,mục tiêu hướng đến và phạm vi nghiên cứu, nội dung và phương pháp thực hiện, ýnghĩa của đề tài, và sau cùng là các sản phẩm khoa học liên quan
1.1 Giới thiệu
Trong thời đại bùng nỗ thông tin, số lượng lớn các thiết bị kết nối mạng và dữ
liệu được sinh ra ngày càng tăng [4] [5], trong đó việc phân tích, xử lý dữ liệu trên,
cũng như áp dụng AI chủ yếu diễn ra tại điện toán đám mây Tuy nhiên, hướng tiếpcận này gặp phải van đề về độ trễ phản hồi do kết nói mạng giữa thiết bị nguồn và hệthống xử lý dữ liệu tại trung tâm đám mây thông qua đường truyền Internet có tốc độ
và băng thông hạn chế; vấn đề tắc nghẽn mạng bởi số lượng lớn dữ liệu được sinh ra
từ nhiều thiết bị kết nối mạng, cũng như tốn băng thông và tiêu hao năng lượng Đặc
biệt, với một số ứng dụng yêu cầu xử lý theo thời gian thực, hướng tiếp cận này không
thé đáp ứng yêu cầu Cụ thé, ứng dụng chăm sóc sức khỏe thông minh [6] (bài báođăng tại Hội nghị quốc tế INISCOM 2021 mà tác giả đã tham gia) yêu cầu phải có độ
trễ phản hồi thấp trong việc xử lý dữ liệu, đưa ra các cảnh báo về sức khỏe nhanh
chóng Nếu thời gian phản hồi chậm dẫn đến chậm trễ trong việc chữa trị và chăm
sóc bệnh nhân Dé giải quyết các van đề trên, giải pháp tính toán biên cho ứng dụng
chăm sóc sức khỏe thông minh đã được đề xuất Tính toán biên hướng đến việc phân
tích xử lý tính toán trung gian, xử lý dữ in thiết bị gửi dữ liệu nhất có thể Hướngtiếp cận này đáp ứng được độ trễ phản hồi thấp cũng như tiết kiệm năng lượng và chỉphí đường truyền
Ngoài ra, áp dụng AI tại hệ thống cận biên đang là một trong những xu hướngnghiên cứu hàng đầu hiện nay, với sự hậu thuẫn của các máy tính nhúng hiện đại,thiết bị IoT thông minh, các thuật toán học sâu tiên tiến, đã tạo ra các phần mềm thôngminh, hỗ trợ xử lý theo thời gian thực Mặc dù giải pháp tính toán biên đã giải quyếtđược vấn đề độ trễ phản hồi, giảm tiêu hao năng lượng và băng thông mạng, việctriển khai và quản lý ứng dụng AI tại cận biên vẫn gặp phải một số thách thức, gồm
Trang 17có: tính sẵn sàng thấp, khó mở rộng và bảo trì; việc triển khai thủ công, tốn chi phí,đặc biệt với số lượng lớn các thiết bị và dịch vụ; quản lý và giám sát hệ thống cònnhiều hạn chế Trong thực tế, một số tình huống có thể xảy ra Ví dụ: giả sử một thiết
bị cận biên hoặc 6 cứng bị hỏng, ứng dụng AI được triển khai trên thiết bị trên ngừnghoạt động Nếu không có hệ thống giám sát, nhà quản trị sẽ không biết được tìnhtrạng tài nguyên phần cứng, trạng thái hoạt động của các dich vu dé sửa chữa kịpthời; hoặc nếu không có hệ thống dự phòng, mắt mát dữ liệu, thời gian khắc phục lâu,
giảm chất lượng dịch vụ, đặc biệt là các ứng dụng AI trong lĩnh vực y tế, hệ thống
cần ồn định và đảm bảo tính sẵn sàng cao Hơn nữa, việc bảo trì hệ thống thủ công
dẫn đến tốn chỉ phí và thời gian, dé sai sót do con người; khó khăn trong việc mởrộng hệ thống Để khắc phục các hạn chế trên, việc áp dụng công nghệ ảo hóa và điều
phối container tại cận biên là một lựa chọn phù hợp và hiệu quả Công nghệ ảo hóa
container cho phép các ứng dụng và thư viện phụ thuộc được đóng gói với nhiều kiến
trúc phần cứng khác nhau và thực thi trên môi trường riêng biệt Chúng được thiết kếnhỏ gọn, tối ưu hóa phần cứng, triển khai ứng dụng nhanh, phù hợp triển khai trêncác máy tính nhúng tại cận biên có tài nguyên phần cứng hạn chế Bên cạnh đó, côngnghệ điều phối container quản lý các ứng dụng tự động, nhằm đảm bảo tính sẵn sang,khả năng mở rộng, tự phục hồi và triển khai tự động Đặc biệt, nền tảng này hỗ trợ
GPU giúp cho ứng dụng AI xử lý theo thời gian dựa trên tính toán biên Ngoài ra, các
chức năng quản lý và giám sát tập trung được triên khai giúp đơn giản hóa việc quản
trị các ứng dụng trên nền tảng ảo hóa và điều phối container; chức năng quản lýcontainer image và nền tảng DevOps giúp tự động hóa việc cập nhật phần mềm chocác ứng dụng AI tại cận biên trở nên dễ dàng, linh hoạt và hiệu quả hơn, đặc biệt vớicác hệ thống có số lượng lớn thiết bị và ứng dụng được triển khai, tiết kiệm và giảmchỉ phí vận hành Sau cùng, hệ thống lưu trữ cung cấp chức năng nhân bản dữ liệutrên nhiều nodes nhằm đảm bảo tính sẵn sàng dữ liệu, sao lưu dự phòng trên hệ thống
và đám mây, hỗ trợ khôi phục dit liệu khi có sự cố nghiêm trọng xảy ra
Hiện nay, sự bùng nỗ của đại dịch COVID-19 gây thiệt hại nghiêm trọng về
người và tài sản trên khắp toàn cầu Thông qua việc khảo sát một số công trình liên
quan, kết quả cho thấy việc nghiên cứu ứng dụng phục vụ phòng tránh dịch bệnh đang
được nhiều sự quan tâm, đặc biệt trong trong tình hình dịch bệnh diễn biến phức tạp
Trang 18Nếu có các giải pháp cảnh báo việc tuân thủ các quy tắc cộng đồng sẽ giúp phần nàocải thiện tình hình lây nhiễm dịch bệnh Một trong những giải pháp thiết thực nhất làgiải pháp giám sát các cá nhân không đeo khẩu trang ở những nơi công cộng trongthời gian dịch bệnh đang diễn ra Với nhu cầu cấp thiết của đề tài, ứng dụng nhậndiện mặt người không deo khẩu trang được chọn để triển khai thực nghiệm trong việcnghiên cứu và xây dựng hệ thống cận biên thông minh dựa trên các tiêu chí, giải pháp
và hướng tiếp cận đã được trình bày ở trên
1.2 Mục tiêu hướng đến của đề tài
1.2.1 Mục tiêu tổng quan
Nghiên cứu và triển khai hệ thống cận biên thông minh dùng công nghệ ảo hóa
và điều phối container có hỗ trợ GPU, cho các ứng dụng AI xử lý theo thời gian thựctrên các máy tính nhúng có tài nguyên phần cứng hạn chế Giải pháp ảo hóa tối ưu
phần cứng, gọn nhẹ, hỗ trợ triển khai ứng dụng nhanh Hệ thống này điều phối các
ứng dụng tự động, đảm bảo tính sẵn sàng, khả năng mở rộng, tự phục hồi và triểnkhai tự động Hệ thống cung cấp các chức năng quản lý và giám sát giúp đơn giản
hóa việc quản trị ứng dụng chạy trên nền tảng ảo hóa và điều phối container Ngoài
ra, chức năng quan lý container image và nền tang DevOps hỗ trợ tự động hóa việcphân phối liên tục phần mềm cập nhật cho các ứng dụng chạy trên nền tảng ảo hóa
và điều phối container tại cận biên Trong đề tài này, hệ thống đề xuất được áp dụng
vào ứng dụng nhận diện mặt người không đeo khâu trang.
1.2.2 Mục tiêu cụ thể
© Tim hiểu các công trình nghiên cứu và công nghệ có liên quan
© Phan tích thiết kế và triển khai nền tảng hệ thống đám mây trên máy tính (kiếntrúc x64) và hệ thống cận biên trên các máy tính nhúng (kiến trúc ARM) dùng
nền tảng ảo hóa và điều phối container
¢ Tim hiểu và triển khai hệ thống quan lý nền tảng điều phối container, tích hợp
địch vụ giám sát, dịch vụ lưu trữ và sao lưu dự phòng.
¢ Tim hiểu và ứng dụng nền tảng DevOps, tích hợp quản lý mã nguồn và CI/CD
hỗ trợ phân phối liên tục phần mềm cập nhật của ứng dụng nhận diện mặtngười không đeo khâu trang
Trang 19Tìm hiểu và triển khai dịch vụ quản lý các container image, lưu trữ các ứng
dụng được đóng gói dưới dạng container.
Nghiên cứu và triển khai ứng dụng nhận diện mặt người không đeo khẩu trang.Tìm hiểu và phát triển ứng dụng di động đơn giản theo dõi luồng video nhậndiện mặt người không đeo khâu trang
Thực nghiệm và đánh giá kết quả: đánh giá độ chính xác và hiệu suất của môhình AI; đánh giá hiệu suất và tính sẵn sàng của hệ thống cận biên; đánh giáhiệu suất việc triển khai tự động hệ thống được dé xuất; đánh giá tài nguyên
và phần cứng sử dụng
1.3 Giới hạn và kết quả mong muốn của đề tài
1.3.1. Đối tượng nghiên cứu
Trong báo cáo này, các đối tượng nghiên cứu bao gồm:
Công nghệ ảo hóa và điều phối container: NVIDIA Docker, Containerd hỗ trợ
GPU, Kubernetes (K8s) và Lightweight Kubernetes (K3s).
Nén tang quan ly Kubernetes cluster: Rancher
Công cụ giám sát: Prometheus, Grafana và AlertManager.
Công cụ lưu trữ dữ liệu và sao lưu dự phòng: Kubernetes Persistent Volume,
Longhorn, Amazon S3 (Amazon Simple Cloud Storage).
Nền tảng DevOps: GitLab, GitLab Runner và Kubernetes Executor
Dịch vụ quản lý container image: Docker Registry và Docker Credential Pass.
Nền tảng ứng dụng nhận diện mặt người không đeo khẩu trang: Eclipse
Mosquitto, PostreSQL, FastAPI, Streamlit, Nginx, OpenCV, DeepStream,
TensorRT và một số thư viện khác
Nền tảng ứng dụng di động: Flutter, Google Cloud Firestore
Mô hình nhận diện đối tượng: YOLO (You Only Look Once)
Ngôn ngữ lập trình: Python, Bash, Dart, JSON (JavaScript Object Notation),
YAML (YAML Ain't Markup Language)
Thiết bị phan cứng:
o Máy tính sử dụng kiến trúc x64
o Máy tính nhúng Jetson Nano, kiến trúc ARM64
Trang 20© Bộ vi điều khiển ESP32.
o Camera OV2640, IMX219-160, IMX219-160IR.
1.3.2 Giới han đề tài
Trong phạm vi tài chính và thời gian có giới hạn, hệ thống đang trong giaiđoạn phát triển có một số hạn chế nhất định
Công nghệ Kubernetes: Nền tảng hệ thống đám mây được xây dựng trên K8shoặc K3s tùy theo độ phức tạp của hệ thống và ràng buộc tài nguyên phầncứng, trong khi hệ thống cận biên được xây dựng trên K3s triển khai các dịch
vụ dùng YAML, Bash Script hoặc Helm Chart Trong đề tài này, hệ thống tíchhợp mở rộng một số dịch vụ chính, chưa ding hết tất cả các chức năng mà
Kubernetes hỗ trợ.
Nền tảng Rancher: Hệ thống hỗ trợ điều phối nhiều phân phối Kubernetescluster khác nhau Trong đề tài này, Rancher được dùng để quản lý cácKubernetes cluster, bao gồm: K8s hoặc K3s cho nền tảng hệ thống đám may
và K3s cho nền tảng hệ thống cận biên Hệ thống này tích hợp với dịch vụgiám sát dựa trên Prometheus, Grafana, AlertManager và hệ thống lưu trữLonghorn Các dịch vụ mở rộng khác, chẳng hạn như: Istio, Logging, v.v
không được giới thiệu và trình bày trong báo cáo này.
Nền táng DevOps: GitLab là một nền tảng DevOps hỗ trợ đa tính năng Trongphạm vi dé tài, hệ thống được triển khai nghiên cứu, tập trung chủ yếu sử dụng
công cụ quản lý mã nguồn kết hợp với GitLab Runner, Kubernetes Executor
thực thi CƯCD pipelines đơn giản nhằm tích hợp và phân phối liên tục ứngdụng nhận diện mặt người không đeo khẩu trang trên nền tảng ảo hóa và điềuphối container
Dịch vụ quản lý container image: Các công nghệ Docker Registry và
Credential Store được triển khai, cung cấp dịch vụ thông qua giao diện dòng
lệnh Việc xây dựng giao diện web đê quản lý các container image tương tự
Docker Hub hoặc dùng các công cụ hỗ trợ bên thứ ba không thực sự cần thiết,
tốn tài nguyên phần cứng
Ứng dụng nhận diện mặt người không đeo khẩu trang: Ứng dụng nhận
diện mặt người không đeo khâu trang được triên khai dựa trên MaskCam [7].
Trang 21Trong phan này, nghiên cứu và triển khai ứng dụng nhận diện mặt người khôngđeo khẩu trang trên môi trường ảo hóa và điều phối container; tìm hiểu và thựchiện việc tạo dữ liệu, huấn luyện, trích xuất và tích hợp mô hình nhận diện đôitượng dùng YOLO vào ứng dung được triển khai tại hệ thông cận biên; nângcấp phần mềm, thư viện, giao diện, mã hóa giao tiếp kết nối và khắc phục lỗitrong quá trình xây dựng và triển khai.
¢ M6 hình AI nhận diện đối tượng theo thời gian thực: Dựa trên các côngtrình nghiên cứu liên quan, tìm hiểu cách thức hoạt động của các mô hình nhận
diện đối tượng, đồng thời so sánh độ chính xác và hiệu suất của các mô hình
nhận diện đối tượng bao gồm: R-CNN, SSD và YOLO từ đó nắm được ưu vànhược điểm của các mô hình và lựa chọn mô hình phù hợp cho ứng dụng nhậndiện mặt người không đeo khẩu trang theo thời gian thực, chạy trên máy tínhnhúng tại cận biên có tài nguyên phần cứng hạn chế Trong đề tài này, tập
trung thực nghiệm, so sánh và đánh giá hiệu suất và độ chính xác giữa các
phiên bản YOLOv3-Tiny và YOLOv4-Tiny, phù hợp dé phát triển ứng dụngđược đề xuất
¢ Tài nguyên phan cứng: Trong giới hạn tài chính, các phần cứng dùng chothực nghiệm có một số hạn chế nhất định về số lượng cũng như chất lượng.Thực nghiệm dựa trên quy mô nhỏ, không tập trung vào việc kiểm tra hiệu
suất của hệ thống với số lượng lớn các thiết bi
1.4 Nội dung và phương pháp thực hiện
1.4.1 Các nghiên cứu và công nghệ có liên quan
Trong phan này, tác giả thực hiện khảo sát, thu thập thông tin, tìm hiểu cáccông trình nghiên cứu và công nghệ có liên quan đến hệ thống được đề xuất Các bài
báo khoa học được tìm trên các trang web có uy tín bao gồm: Google Scholar,
SpringerLink, IEEE và một số tạp chí khoa học khác
1.4.2 Phân tích và thiết kế hệ thông
Trong giai đoạn này, các bước phân tích cầu trúc, phân rã hệ thống được thựchiện nhằm phân tích, thiết kế và xây dựng kiến trúc phần mềm, phần cứng cho từngthành phần hệ thống
Trang 221.4.3 Thực hiện và triển khai hệ thống
Trong phần này, các thành phần hệ thống được thực hiện và triển khai quatừng giai đoạn, dựa trên các thiết kế phần cứng, phần mềm và công nghệ liên quan
cho từng thành phần được thực hiện ở giai đoạn phân tích và thiết kế hệ thống.
1.4.4 Kết quá thực nghiệm và đánh giá
Trong phan thực nghiệm, các kết quả đo lường về độ chính xác, hiệu suất, tínhsẵn sàng và tài nguyên phần cứng sử dụng được ghi nhận qua các lần kiểm tra trên hệ
thống được đề xuất với các kịch bản khác nhau, từ đó so sánh kết quả, đưa ra nhậnxét và kết luận Nội dung bao gồm: đánh giá độ chính xác và hiệu suất của mô hình
AI nhận diện mặt người không đeo khẩu trang; đánh giá hiệu suất và tính sẵn sàng
của các ứng dụng được triển khai trên hệ thống cận biên; đánh giá hiệu suất việc triển
khai hệ thống cận biên tự động; đánh giá tài nguyên phần cứng sử dụng của dịch vụ
AI nhận diện mặt người không đeo khâu trang tại cận biên.
1.4.5 Kết luận và hướng phát triển tương lai
Phần kết luận tóm lược các kết quả đạt được của đề tài so với đề cương ban đầu,các nghiên cứu và thực nghiệm bé sung, một số thách thức khi thực hiện dé tài, vàsau cùng là các hạn chế của đề tài và hướng phát triển tương lai
1.5 Ý nghĩa của đề tài
¢ Tinh ứng dụng: Hệ thống cận biên được đề xuất được triển khai trên các máytính nhúng, kiến trúc ARM, dùng công nghệ ảo hóa và điều phối container có
hỗ trợ GPU, giúp cho việc triển khai và quản lý các ứng dụng AI (theo môhình microservices) xử lý theo thời gian thực tại cận biên trở nên dễ dàng, linh
hoạt và hiệu quả hơn Các chức năng quản lý và giám sát tập trung giúp đơngiản hóa việc quản trị và điều phối các ứng dụng và dịch vụ chạy trên nền tảng
ảo hóa và điều phối container Hệ thống này tích hợp dịch vụ quản lý các ứngdụng được đóng gói dưới dạng container image và nền tảng DevOps, hỗ trợ
triển khai phần mềm cập nhật cho các ứng dụng AI chạy trên các nền tảng ảo
hóa và điều phối container hiệu quả, giảm thiểu sai sót, lỗi cài đặt thủ công,
tiết kiệm chỉ phí và thời gian, đặc biệt triển khai với số lượng lớn thiết bị và
dịch vụ Hệ thống lưu trữ hỗ trợ việc nhân bản dữ liệu nhằm đảm bảo tính sẵn
Trang 23sang, sao lưu dự phòng trên hệ thống đồng thời trên dich vụ lưu trữ đám mâycông cộng, hỗ trợ khôi phục dữ liệu trong một số trường hợp cấp bách.
¢ Tính khoa học: Phù hợp với xu hướng công nghệ và nghiên cứu trong giai
đoạn bùng né cách mạng công nghiệp 4.0 như hiện nay Sự phát triển của cácứng dụng dựa trên tính toán biên, việc chú trọng tốc độ phản hồi, xử lý thờigian thực cũng như giảm thiểu chỉ phí đường truyền ngày được quan tâm Do
đó việc nghiên cứu xây dựng ứng dụng sử dụng giải pháp tính toán biên là phù
hợp với sự phát triển
¢ Tinh cấp thiết: Sự bùng nỗ của đại dịch COVID-19 gây ra thiệt hại nghiêm
trọng về người và tài sản trên toàn thế giới Trong đó, đeo khẩu trang là một
trong những biện pháp thiết thực nhất nhằm ngăn ngừa lây lan dịch bệnh trongcộng đồng Việc có một ứng dụng giúp cảnh báo các trường hợp không đeo
khẩu trang là một điều hết sức cần thiết.
¢ Tính mới: Xây dựng hệ thống dựa trên Cloud Native đang được phát triểnmạnh mẽ trong những năm gần đây Tuy nhiên, việc triển khai hệ thống này
trên các máy tính nhúng, kiến trúc ARM tại cận biên vẫn còn trong giai đoạn
phát triển Hệ thóng cận biên sử dụng nền tảng ảo hóa và điều phối container,tích hợp các chức năng quản lý và giám sát, DevOps giúp quá trình triển khai
và quản trị các ứng dụng AI theo mô hình microservices tại cận biên trở nên
dễ dàng, linh hoạt và hiệu quả hơn Ngoài ra, nền tảng ảo hóa và điều phối
container hỗ trợ GPU tăng tốc xử lý tính toán, phù hợp với xu hướng hiện nay,
triển khai ứng dụng AI xử lý theo thời gian thực dùng tính toán biên trên nềntảng ảo hóa và điều phối container
1.6 Sản phẩm khoa học liên quan
Trước khi đăng ký đề tài này, tác giả là tác giả chính của một bài báo quốc tế
Hội nghị Quốc tế INISCOM 2021, Nhà xuất bản Springer; một bài báo Hội nghị Khoa
học trẻ 2021, Trường Đại học Công nghệ thông tin, Đại học Quốc gia Thành Phố HồChí Minh; và một bài báo được chấp nhận vào tháng 2 năm 2022 tại Hội nghị Quốc
tế INISCOM 2022
¢ Bài báo 1 - Hội nghị Quốc tế INISCOM 2021: “A Container-based Edge
Computing System for Smart Healthcare Applications” [6] Bài báo trên giới
Trang 24thiệu về ứng dụng chăm sóc sức khỏe thông minh, hỗ trợ theo dõi và chăm sócbệnh nhân trong giai đoạn phục hỏi, cách ly Ứng dụng này dùng các thiết bị,ứng dung IoT và camera đề thu thập các dữ liệu bệnh nhân; áp dụng giải pháptính toán biên vào việc phân tích, xử lý dữ liệu dé giải quyết các van đề về độtrễ phan hồi, tiêu hao năng lượng và tốn chi phí đường truyền của hệ thốngtính toán dựa trên điện toán đám mây; áp dụng AI chan đoán bệnh tim và nhận
điện cảm xúc khuôn mặt bệnh nhân.
¢ Bai báo 2 - Hội nghị khoa học trẻ 2021, Trường Dai học Công nghệ thông tin,
Đại học Quốc gia Thành phố Hồ Chí Minh: “Research And Develop An
Intelligent Edge System Using Container And Kubernetes For A Smart
Face-Mask Recognition Application” [8] Bài báo này trình bày về hệ thống cận
biên dựa trên nền tảng ảo hóa và điều phối container cho ứng dụng nhận diện
mặt người không đeo khẩu trang
© Bai báo 3 - Hội nghị Quốc tế INISCOM 2022: “An Intelligent Edge System
For Face Mask Recognition Application” Bài báo trên được chấp nhận vàotháng 2 năm 2022 tại Hội nghị Quốc tế INISCOM 2022 Bài báo này là bảncập nhật của bài báo 2 với một số chức năng hệ thống được bồ sung; và cũngchính là một trong các sản phẩm khoa học của quá trình nghiên cứu và thực
hiện đê tài luận văn của tác giả.
Trang 25Chương 2
CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN
Trong chương này, các nghiên cứu và xu hướng công nghệ trên thế giới được
khảo sát, nghiên cứu và tìm hiểu, gồm có: áp dụng AI trong phòng chống đại dịch
COVID-19; xu thé phát triển ứng dụng AI dựa trên tính toán biên và công nghệ ảohóa và điều phối container Tiếp theo là giới thiệu một số ứng dụng liên quan đếnCOVID-19 tại Việt Nam Sau cùng là cơ sở lý thuyết, các kỹ thuật, nền tảng côngnghệ liên quan và hướng tiếp cận đề tài
2.1 Các nghiên cứu và xu hướng công nghệ trên thế giới
2.1.1 COVID-19
Tình hình dịch bệnh COVID-19 diễn ra rất phức tạp trong những năm gần đây,trong khi nguồn nhân lực để tham gia vào cuộc chiến này còn nhiều hạn chế Chính
vì thế mà nhu cầu về ứng dụng AI trong phòng chống COVID-19 là rất lớn Trong
đó, các giải pháp giám sát dựa trên AI được áp dụng nhằm góp phần giảm thiểu sựlây lan của dịch bệnh, bao gồm: giám sát giãn cách xã hội, kiểm tra nhiệt độ cơ thể
và phát hiện mặt người không đeo khẩu trang [9]-[1I]
2.1.2 Trí tuệ nhân tạo tại cận biên
Trong những năm gần đây, ứng dụng AI tại cận biên là một trong những mục
tiêu chiến lược rõ ràng đối với nhiều doanh nghiệp Việc phát triển các ứng dụngthông minh dựa trên AI và tính toán biên với độ trễ phản hồi thấp, tiết kiệm băngthông và năng lượng đã trở thành nhu cầu cấp thiết trong nhiêu lĩnh vực, đặc biệt cácứng dụng yêu cầu xử lý theo thời gian thực Một số nghiên cứu cụ thể áp dụng AI tạicận biên gồm có: hệ thống giám sát sạt lở đất [12], áp dụng AI với kiến trúc tính toánbiên trên nền tảng Kubernetes và Docker; hệ thống tưới tiêu [13], giám sát theo thờigian thực và ứng dụng theo dõi bệnh nhân và người cao tuổi, trên nền tảng IoT vàđiện toán đám mây [14] và một số nghiên cứu khác
Mặc dù việc áp dụng AI tại cận biên phù hợp với xu thế hiện nay, cách tiếp
cận này cũng phải đối mặt với nhiều thách thức, chẳng hạn như van đề xử lý và tiêu
Trang 26thụ điện năng Quá trình huấn luyện mô hình AI diễn ra tại cận biên cũng dẫn đếnnhu cầu cao hơn về khả năng tính toán của các phần cứng cận biên Ngoài ra, việclưu trữ và bảo mật dữ liệu đặt ra một thách thức vì các thiết bị cận biên sẽ giữ phầnlớn dữ liệu trong khi một lượng nhỏ dữ liệu hữu ích được lưu trữ tại hệ thống đámmây Do vậy, các công ty công nghệ hàng đầu phát triển phần cứng tại cận biên mạnhhơn với mức tiêu thụ năng lượng thấp hơn, đồng thời tập trung vào việc tối ưu hóacác phần mềm nhằm học và suy luận (inference) hiệu quả hơn [15].
2.1.3 Ảo hóa tại cận biên
Hiện nay, các ứng dụng tại cận biên áp dụng các công nghệ ảo hóa tăng lên
[16] [17] Các công nghệ ảo hóa cung cấp nền tang dé chạy các dịch vụ trên các kiếntrúc phần cứng khác nhau, dùng kỹ thuật hypervisor hoặc container Tuy nhiên, các
giải pháp dựa trên container đang thách thức các máy ảo dựa trên hypervisor truyền
thống Các xu hướng công nghệ ảo hóa mới là gọn nhẹ, linh hoạt và hiệu quả hơn
trong việc triển khai các dịch vụ Một số nghiên cứu gần đây tập trung vào việc tối
ưu ảo hóa dé tăng hiệu suất và so sánh hiệu suất giữa các công nghệ ảo hóa khác nhau,
trong đó các bài báo [18]-[22] tác giả đã thực nghiệm và so sánh hiệu suất của KVM,
Xen và Linux Container (LXC), Docker, OSv và so sánh thời gian chạy của từng môitrường với máy chủ vật lý Mặc dù kết quả cho thấy hiệu suất của các hypervisor đã
được cải thiện trong những năm qua, các giải pháp container vượt trội hơn; các tính
toán không cần thiết của chúng hầu như không đáng kẻ Mặt khác, ngoài các lợi ích
mà giải pháp ảo hóa container cung cấp, việc cân nhắc giữa hiệu suất và van dé bảomật của chúng cũng cần được quan tâm
Ngoài ra, việc kết hợp công nghệ ảo hóa và điều phối container là một trongnhững xu thế hiện nay, phù hợp với các ứng dụng dựa trên kiến trúc microservices.Nền tảng này điều phối các ứng dụng tự động, nhằm đảm bảo tính sẵn sàng, khả năng
mở rộng, tự phục hồi và triển khai tự động Trong đó, Kubernetes là một trong nhữngcông nghệ đang được sử dụng rộng rãi Với sự phát triển không ngừng, xu hướng
triển khai Kubernetes phiên bản gọn nhẹ dành cho thiết bị cận biên và IoT ngày càng
phổ biến, giúp quản trị và điều phối các dịch vụ chạy trên các container tại cận biên
tự động, linh hoạt và hiệu quả hơn Một công cụ khác, Docker Swarm cũng cung cấpmột giải pháp tương tự nhưng hạn chế các chức năng, chỉ phù hợp với các giải pháp
Trang 27đơn giản, triển khai nhanh và quản lý dé dàng, trong khi Kubernetes hỗ trợ các yêucầu với độ phức tap cao hơn, có thé chạy trên nhiều container runtime, chăng hạn
như: Docker, Containerd và CRI-O Hiện nay, khoảng 70% doanh nghiệp có ý định
chuẩn hóa nên tảng Kubernetes đề quản lý các ứng dụng chạy trên các container trongnhững năm tới, và ước tính sẽ có 29 tỷ thiết bị được kết nối trên toàn cầu vào năm
2022 nhờ sự gia tăng mạnh mẽ của máy tính nhúng hiện đại, thiệt bị oT thông minh,
5G và tính toán biên [23] M: số nhà cung cấp dịch vụ đám mây hàng đầu đã xây
dựng dịch vụ dựa trên nền tảng Kubernetes bao gồm: EKS (Amazon ElasticKubernetes Service), GKE (Google Kubernetes Engine), AKS (Azure Kubernetes
Service), v.v, Ngoải ra, các phân phối Kubernetes nỗi bật dành cho hệ thống máy chủ,
gồm có: K8s, MicroK8s, K3s, v.v Đặc biệt, K3s sử dụng tài nguyên phần cứng thấp
hơn so với K8s và MicroK8s [24], được chứng nhận bởi CNCF (Cloud Native
Computing Foundation), có tính sẵn sàng cao, được thiết kế chủ yếu dành cho thiết
bị cận biên và IoT Hơn nữa, khi số lượng các ứng dụng chạy trên Kubernetes tại cậnbiên ngày càng tăng, sự ra đời của các giải pháp dùng dé đơn giản hóa việc quản trị
và điều phối các Kubernetes cluster ngày càng trở nên cấp thiết Cụ thé, vào năm
2019, Rancher và ARM đã hợp tác để phát triển giải pháp quản trị và điều phối
Kubernetes cluster cho hệ thống cận biên, dùng K3s trên các thiết bị kiến trúc ARM
có tài nguyên phần cứng hạn chế [23]
2.2 Một số ứng dụng liên quan đến COVID-19 tại Việt Nam
Với tình hình COVID-19 đang diễn ra phức tạp ở nước ta, một số doanh nghiệp
đã và đang phát triển các giải pháp dựa trên AI nhằm hỗ trợ kiểm soát tình hình dịch
bệnh, giảm rủi ro lây nhiễm chéo cho người kiểm tra khi tiếp xúc gần, giảm sức ép
nguồn lực nhân viên y tế, dễ dàng quản lý và kiểm soát, kịp thời ứng phó khi có tìnhtrạng khẩn cấp Một số ứng dụng cụ thể gồm có: Thiết bị kiểm soát cách ly,STAYHOMEI4 [1], giúp kiểm soát vị trí bằng cách tích hợp GPS nhằm xác định vịtrí của người dang cách ly theo thời gian thực, ghi lại các lần vi phạm, v.v Một ứngdụng khác là Máy kiểm tra đeo khẩu trang [2], tự động phát tín hiệu cảnh báo khi có
vi phạm, tự động nhận diện khuôn mặt của người tại địa điểm đặt thiết bi, và thông
tin được lưu trữ tại trung tâm điện toán đám mây Ngoài ra, ứng dụng xác định ngườitiếp xúc [3], sử dụng dữ liệu hình ảnh khuôn mặt của các đối tượng và video trích
Trang 28xuất từ các camera có sẵn; sử dụng công nghệ AI để dò tìm đối tượng theo dữ liệuhình ảnh gương mặt và xác định các nguồn tiếp xúc gần nhằm tìm ra các đối tượng
FI-F3 xuất hiện trong các đoạn video; xuất ra báo cáo chỉ tiết thời gian đối tượng
xuất hiện và những người tiếp xúc gần với đối tượng; và một số ứng dụng khác
2.3 Cơ sở lý thuyết và hướng tiếp cận đề tài
2.3.1 Công nghệ ảo hóa container
2.3.1.1 Docker
Docker là một trong những nền tảng ảo hóa container phô biến nhất hiện nay
Chúng đóng gói các ứng dụng và thư viện phụ thuộc thành các container image và
triển khai trên các container Docker tích hợp các công cụ quản lý và tự động hóatriển khai ứng dụng trên một môi trường nhanh, gọn nhẹ và linh hoạt
Client
docker build
docker pull
docker run
Nguồn: Hình ảnh được trích dẫn từ docker.com.
Với xu hướng phát trién ứng dụng AI trên nền tảng ảo hóa container ngày càng,tang, NVIDIA Docker đã ra đời nhằm hỗ trợ các ứng dụng AI chạy trên các container
có thé sử dụng GPU dé tăng tốc xử lý tính toán
2.3.1.2 Containered
Containerd là một container runtime với ưu điểm là sự đơn giản, mạnh mẽ và
tích hợp dễ dàng Containerd được xây dựng tuân theo OCI (Open Container
Initiative) dé chạy các container OCI gom các tiêu chuẩn mở liên quan đến định dạng
container và container runtime Do đó, các container image được xây dựng theo OCI
có thể chạy trên các container runtime khác nhau Theo mặc định, Containerd sử dụngrunc để tạo và chạy các container Kể từ tháng 2 năm 2021, NVIDIA GPU đã công
Trang 29bố hỗ trợ tích hợp cho Containerd Trước đó, NVIDIA GPU chỉ hỗ trợ Docker hoặcCRI-O Tuy nhiên, tài liệu chính thức hỗ trợ Containerd vẫn còn hạn chế.
2.3.1.3 CRI-O
CRI-O (Container Runtime Interface for Open Container Initiative) là một
container runtime khác, giải pháp gọn nhẹ dành cho Kubernetes, giải pháp thay thécho Containerd CRI-O cho phép sử dụng các runtime theo tiêu chuẩn OCI, chẳnghạn như: runc, Kata Containers, v.v dé chạy các container Tương tự Containerd,NVIDIA GPU có hỗ trợ CRI-O, cho phép các ứng dụng AI tận dụng GPU để tăng tốc
xử lý tính toán các tác vụ trên nền tảng ảo hóa container
2.3.2 Công nghệ điều phối container
Trong nhiều năm qua, dockershim là cầu nối giao tiếp giữa Docker vàKubernetes luôn được duy trì và phát triển Tuy nhiên, với sự phát triển rộng rãi củaKubernetes, việc chuẩn hóa CRI (Container Runtime Interface) được xây dung nhằmgiảm chỉ phí bảo trì, hỗ trợ các container runtime khác nhau, đồng thời củng cố và
mở rộng hệ sinh thái container dễ đàng và linh hoạt hơn Trong số đó, CRI-O hoặc
Containerd là các container runtime đang được hậu thuẫn bởi Kubernetes và CNCF
ngày càng phát triển và mở rộng dịch vụ Chúng đang dan thay thế Docker khi
Kubernetes có kế hoạch không tiếp tục sử dụng dockershim kể từ phiên bản 1.20 [25]
Tuy nhiên, thay đổi này ảnh hưởng chủ yếu đến việc quản trị của Kubernetes Các
Docker image tuân theo tiêu chuẩn OCI, được hỗ trợ đầy đủ trên Containerd, đồngthời Mirantis tiếp quản Kubernetes dockershim Do đó, Docker vẫn tiếp tục được hỗtrợ dé hoạt động với Kubernetes
2.3.2.1 Kubernetes
Kubernetes (K8s) là một nền tảng mã nguồn mở hỗ trợ quản trị và điều phối
các dịch vụ chạy trên container Kubernetes có một hệ sinh thái lớn, được sử dụngbởi nhiều nhà cung cấp dịch vụ đám mây hàng đầu, chăng hạn như: Amazon Web
Services, Microsoft Azure, v.v Các dịch vụ, tài liệu và công cụ hỗ trợ của Kubernetes
có sẵn rộng rãi Một số đặc điểm nổi bật của Kubernetes bao gồm: triên khai dịch vụ
tự động; khả năng tự khắc phục lỗi; tính sẵn sàng cao; tận dụng tài nguyên hiệu quả;
khả năng tăng giảm tự động; cân bằng tải; nâng cấp, phục hồi tự động các phiên bảnmới hoặc cũ dễ đàng và linh hoạt
Trang 30Hình 2.2 Kiến trúc hệ t ống Kubernetes.
Nguồn: Hình ảnh được trích dẫn từ kubernetes.io.
2.3.2.2 K3s
K3s là một phân phối Kubernetes gọn nhẹ, được chứng nhận bởi CNCF do
Rancher Labs phát triển Chúng được thiết kế chủ yếu dành cho môi trường có phầncứng hạn chế, tính toán biên, IoT, kiến trúc ARM Các thành phan không cần thiết
của K8s được loại bỏ và đóng gói dưới dạng một tệp nhị phân duy nhất với kích thước
thấp hơn 50 MB Điều này giúp giảm sự phụ thuộc, đơn giản hóa việc cài đặt, chạy
và cập nhật hệ thống Mặc nhiên, K3s sử dụng Containerd runtime Tuy nhiên, người
dùng có thé cai đặt K3s với Docker một cách dé dang và nhanh chóng Với việc sử
dụng tài nguyên thấp [24], [26] và được sự hỗ trợ lớn của cộng đồng [27], K3s là một
lựa chọn phù hợp và hiệu quả, triển khai trên các thiết bị cận biên và IoT với tàinguyên phần cứng hạn chế
¬
Example configuration for nodes
‘running your apps and services
Hình 2.3 Kiến trúc hệ thống K3s.
Nguồn: Hình ảnh được trích dẫn từ rancher.com.
Trang 312.3.2.3 MicroK8s
MicrosK8s là một phân phối Kubernetes gọn nhẹ được phát triển bởiCanonical Chúng là một lựa chọn thay thế cho K3s, có thể hoạt động được trên máy
chủ, tính toán đám mây, cận biên và IoT Tuy nhiê MicroK8s sử dụng tài nguyên
lớn và xử lý chậm hơn so với K3s, đồng thời cần tối thiểu 4 GB bộ nhớ và dụng lượng
lưu trữ 20 GB [24].
2.3.2.4 KubeEdge
KubeEdge được giới thiệu vào cuối năm 2018, được hỗ trợ bởi Huawei [26].KubeEdge là một hệ thống mã nguồn mở dựa trên Kubernetes để mở rộng khả năngđiều phối ứng dụng trên nền tảng ảo hóa container cho các máy chủ tại cận biên.Chúng cung cấp hỗ trợ cơ sở hạ tầng mạng, triển khai ứng dụng và đồng bộ hóa siêu
dữ liệu (metadata) giữa hệ thống đám mây và cận biên Ngoài ra, KubeEdge tối ưu
hóa việc sử dụng tài nguyên tại cận biên với dung lượng bộ nhớ xuống thấp hơn70MB, đơn giản hóa giao tiếp giữa ứng dụng và thiết bị IOT, các thiết bị kiến trúcARM Tuy nhiên, KubeEdge vẫn trong giai đoạn phát triển, không ngừng cải tiến vàngày càng trở nên phô biến hơn
2.3.3 Nền tang quản lý các điều phối container
2.3.3.1 Red Hat OpenShift
OpenShift là nền tảng điều phối container dùng Kubernetes được phát triểnbởi Red Hat Chúng cung cấp một nền tảng ứng dụng nhất quán đề quản lý việc triển
khai Hybrid Cloud, nhiều Cloud và cận biên OpenShift hỗ trợ đa dạng các ứng dụng
bao gồm AI/ML, phân tích dữ liệu, v.v Tự động hóa việc trién khai và quản lý vòng
đời phát triển phần mềm dễ dàng và linh hoạt Nếu dự án là một phần của hệ sinh thái
Red Hat, OpenShift là một lựa chọn tốt Chúng được thiết kế đề tích hợp với cơ sở
hạ tầng Red Hat
2.3.3.2 Rancher
Rancher là một hệ thống được thiết kế nhằm quản lý và điều phối các
Kubernetes cluster Chúng giải quyết những vấn đề về vận hành và bảo mật khiquản lý tập trung nhiều Kubernetes cluster, đồng thời tích hợp nhiều công cụ như
quản lý và giám sát các tài nguyên và dịch vụ, sao lưu dự phòng, cũng như các công
cụ hỗ trợ tự động hóa việc triển khai các ứng dụng chạy trên các container Một số
Trang 32công cụ phổ biến gồm có: Prometheus, Grafana, AlertManager hỗ trợ giám sát hệ
thống: Jenkins, GitLab hoặc Travis CI hỗ trợ triển khai CI/CD pipeline; Longhorn
iều dịch vụ khác Bên cạnh đó, Rancher dùng Helm
Chart nhằm đơn giản hóa việc cài đặt, cấu hình, nâng cấp các dịch vụ trên nền tảng
quản lý dịch vụ lưu trữ và nl
ảo hóa và điều phối container
User Cluster 2
kubeapt auth
Rancher là nền tảng mã nguồn mở, tuân theo các chuẩn mở và được hỗ trợ bởi
CNCF Do đó, chúng không bị giới hạn hoặc ràng buộc bởi một tổ chức như
OpenShift Nói cách khác, quá trình chuyền đổi giữa Rancher và các nền tảng khác
sẽ dễ dàng hơn, thay vì dùng OpenShift của Red Hat
2.3.4 Helm
Helm là trình quản lý và cài đặt gói ứng dụng dành cho Kubernetes Helm
Chart hỗ trợ cài đặt hoặc nâng cấp ứng dụng dựa trên các tham số cầu hình được định
trước Tất cả Helm Chart có cấu trúc định dạng chung, các cấu hình được khai báodưới dạng YAML Ưu điểm của Helm là quản lý và cài đặt ứng dụng một cách dễ
dàng, linh hoạt; tạo phiên bản, chia sẻ và triển khai trên nhiều hệ thống nhanh chóng;
Trang 33quản lý tập trung Tuy nhiên, người dùng có thé mat nhiều thời gian dé tìm hiểu vàtriển khai Helm Chart, đặc biệt với các hệ thống phức tạp.
2.3.5 Prometheus, Grafana và AlertManager
Prometheus, Grafana, AlertManager là một bộ công cụ giám sát và cảnh báo
mã nguồn mở Prometheus thu thập và lưu trữ các thông số từ các mục tiêu giám sátdưới dạng dữ liệu chuỗi thời gian Các chỉ số này được thu thập và đánh giá theo định
kỳ Các quy tắc dùng đề tổng hợp và đánh giá các thông số cũng như kích hoạt cảnhbáo khi thỏa một trong các điều kiện đặt ra Dé kích hoạt cảnh báo, Prometheus sửdụng AlertManager để quản lý và gửi cảnh báo đến hệ thống nhận cảnh báo.Prometheus cho phép truy vấn các thông số của các mục tiêu giám sát thông quaserver API, dùng ngôn ngữ truy vấn PromQL Về giao diện, Prometheus tích hợp với
Grafana, hoặc Prometheus Graph dé giám sát trực quan tài nguyên và dịch vụ dựa
trên các kết quả truy vấn dùng PromQL
2.3.6 Longhorn
Longhorn là dịch vụ lưu trữ phân tán, gọn nhẹ, mã nguồn mở dành choKubernetes, được xây dựng bởi Rancher Lab và được hỗ trợ bởi CNCF Các chứcnăng chính của Longhorn gồm có: phân phdi các persistent volume tự động; nhân bản
các persistent volume trên các nodes của Kubernetes cluster nhằm đảm bảo tính sẵn
sàng dữ liệu; sao lưu dữ liệu trên hệ thống và dịch vụ lưu trữ mở rộng dùng NFS
(Network File System) hoặc Amazon S3; tao snapshot hoặc backup định kỳ và một
Trang 342.3.7 Kiến trúc Microservices
Microservices là một dạng kiến trúc, trong đó cấu trúc một ứng dụng như làmột tập hợp các dịch vụ, có thể bảo trì dễ dang, triên khai độc lập, giảm bớt sự phụthuộc giữa các dịch vụ với nhau Các dịch vụ có thê sử dụng các nên tảng công nghệkhác nhau Kiến trúc microservices cho phép phân phối nhanh chóng, thường xuyên
và đáng tin cậy, đặc biệt các ứng dụng lớn, phức tạp Các ứng dụng được xây dựng
theo kiến trúc này phù hợp việc trién khai trên nền tảng ảo hóa và điều phối container
được áp dụng rộng rãi hiện nay.
2.3.8 Công cụ và kỹ thuật DevOps
Ngày nay DevOps đã trở nên phé biến và được áp dụng rộng rãi trong lĩnh vựcphát triển phần mềm DevOps là sự kết hợp giữa phát triển (Development) và vận
hành (Operations) Chúng bao gồm các triết ly, kỹ thuật và công cụ thúc day việc
giao tiếp, cộng tác giữa các nhóm, rút ngắn thời gian phát triển va day nhanh việc
phân phối các ứng dụng với chất lượng cao Một s6 kỹ thuật của DevOps bao gồm:
quan lý dự án theo mô hình Agile, CI/CD; CM (Configuration Management), laC
(Infrastructure as Code); gidm sat va phan hồi liên tục Một thuật ngữ khác làDevSecOps, đề cập đến việc tích hợp các kỹ thuật kiểm tra và đánh giá tính bảo mậtvào mô hình phân phối phần mềm DevOps, từ thiết kế ban đầu đến tích hợp, kiểmthử và triển khai phần mềm
2.3.8.1 CUCD
CI/CD (Continuous Integration / Continuous Deployment) là một kỹ thuật tích
hợp va triên khai ứng dụng liên tục bằng việc áp dụng tự động hóa vào việc xây dựng,kiểm thử và trién khai các ứng dụng Điều này giúp giảm lỗi thủ công, phát hiện cáclỗi phần mềm sớm giúp tăng chất lượng phần mềm, đồng thời cung cấp phản hồinhanh hơn, giảm chỉ phí phát triển và vận hành Dưới đây là một ví dụ mình họa vềviệc triển khai ứng dụng tự động dùng CI/CD
Trang 35Build Automation
Server
Deployment Push Code ‘Trigger Build Update
Hiện nay, các công cụ CƯ/CD được phát triển rộng rãi Tuy nhiên, xu hướng
triển khai CI/CD cho hệ thống cận biên trên các máy tính nhúng, kiến trúc ARM vẫn
trong giai đoạn phát triển và các công cụ hỗ trợ còn hạn chế Một số công cu CI/CD
nổi bật hiện nay hỗ trợ kiến trúc này gồm: Jenkins, Drone IO, GitLab, CircleCI và
Travis CI [28] Bên cạnh đó, các công cụ CM chăng hạn như: Ansible, Chef, Salt,
Puppet, hỗ trợ tự động hóa việc triển khai ứng dụng trên các hệ thống dựa trên cáctệp cấu hình định trước và được quản lý tập trung Điều này giúp việc quản lý và triểnkhai ứng dụng một cách nhất quán, đơn giản và linh hoạt hơn, tránh xảy ra lỗi hoặcthiếu sót do con người Ngoài ra, còn có các cộng cụ laC hỗ trợ quản lý và triển khai
cơ sở hạ tầng hệ thống thông qua các tệp cấu hình định trước Cơ sở hạ tầng đượcquản lý bởi quá trình này bao gồm cả thiết bị vật lý, máy ảo và tài nguyên cầu hìnhliên quan Một số công cụ phổ biến hiện nay như: Terraform, Vagrant, v.v Các công
cụ CM và laC có thể kết hợp với các công cụ CI/CD hỗ trợ quản lý và triển khai tự
động cơ sở hạ tang, dich vụ và ứng dụng
Trang 36_Build Automation Serve
Hình 2.7 Triên khai CI/CD ding Jenkins va Ansible.
2.3.8.3 GitLab
Nhu da dé cập ở trên, một số công cụ nổi bật, chẳng hạn như: Jenkins,CircleCl, v.v hỗ trợ triển khai CI/CD trên máy tính nhúng, kiến trúc ARM tại hệ
thống cận biên Tuy nhiên, các công cụ này không tích hợp sẵn chức năng quản lý mã
nguồn Do đó, khi triển khai CI/CD, các hệ thống này cần liên kết đến hệ thống quản
lý mã nguồn bên thứ ba, chẳng hạn như GitHub Các bước cấu hình xác thực, phân
quyền, nhận thông báo đề kích hoạt CI/CD pipelines khi mã nguồn thay đồi khá phứctạp, cũng như các ràng buộc khác bởi nhà cung cap dich vụ Trong khi đó, hệ thống
GitLab có sẵn chức năng quản lý mã nguồn, đồng thời tích hợp GitLab CI, dùng
GitLab Runner giúp triển khai CI/CD trở nên đơn giản và dé dang hơn, cũng như
không bị ràng buộc bởi ứng dụng bên thứ ba Ngoài ra, công cụ GitLab còn tích hợp
nhiều chức năng khác và GitLab Runner có thể được thực hiện trên nhiều môi trường
khác nhau, đặc biệt dùng Kubernetes executor [29].
Trang 37GitLab instance Runner on Kuberetes caster Kubemetes API Pop
Get acl job.
Create a POD to run the CI job.
Execute job
<
GitLab instance Runner on Kuberetes caster Kubemetes API Pop
Hinh 2.8 GitLab Runner ding Kubernetes Executor.
Nguồn: Hình ảnh được trích dẫn tir gitlab.com.
2.3.9 Flutter
Flutter là một nền tảng mã nguồn mở, viết bằng ngôn ngữ Dart, đang đượcphát triển rộng rãi trong những năm gần đây Một số ưu điểm của Flutter gồm có: hỗ
trợ phát triển ứng dụng nhanh, linh hoạt; giao điện đẹp, hiệu suất tương đương native;
triển khai ứng dụng trên đa nền tảng từ một mã chương trình Một mã nguồn có théđược biên dịch và chạy trên cả Android và iOS; hỗ trợ tính năng hot reload Cập nhật
mã nguồn và xem các thay đồi gần như ngay lập tức mà không bị mắt trạng thái Mặt
khác, Flutter cũng có một số hạn chế như sau: thư viện và hỗ trợ người dùng còn hạnchế so với các nền tảng native khác; kích thước của ứng dụng lớn hơn so với các nền
tảng khác do cấu trúc của chúng chứa các thư viện chạy trên đa nền tảng Tuy nhiên,
được sự quan tâm và phát triển bởi Google và cộng đồng, Flutter liên tục được cai
thiện và ngày càng phát triển mạnh mẽ hơn
2.3.10.Streamlit
Streamlit là một nền tảng mã nguồn mở được viết bằng ngôn ngữ Python
Chúng có một số ưu điểm là dé sử dụng; hỗ trợ phát triển nhanh các ứng dụng nhanh;
tự động cập nhật ứng dụng khi mã nguồn thay đổi; tương thích với nhiều thư viện
Python như: TensorFlow, Keras, PyTorch, v.v Ngược lại, do mới phát triển trong
Trang 38những năm gan đây, thư viện và hỗ trợ người dùng của Streamlit vẫn còn hạn chế.
Thời gian qua, các phiên bản mới của Streamlit liên tục được phát hành, thư viện, tài
liệu và hỗ trợ người dùng ngày càng phong phú và hoàn thiện hơn
2.3.11.Eclipse Mosquitto
Eclipse Mosquitto là một broker mã nguồn mở, viết bằng ngôn ngữ C, sử dụng
giao thức MQTT (Message Queueing Telemetry Transport) MQTT là một giao thức
mạng có kích thước nhỏ, được thiết kế gọn nhẹ, truyền thông điệp giữa các thiết bị,
hoạt động theo mô hình publish / subscribe Các thông điệp có thể được mã hóa dùng
SSL/TLS và các máy khách được xác thực thông qua tên người dùng và mật khẩu,
plugin xác thực, chăng hạn như: Dynamic Security, Mosquitto Go Auth.
2.3.12.PostreSQL
PostgreSQL là một hệ quản trị cơ sở dir liệu quan hệ đối tượng mã nguồn mởdựa trên POSTGRES phiên bản 4.2 do đại học California, Berkeley phát triển.PostgreSQL chạy trên hầu hết các hệ điều hành phô biến hiện nay, tuân theo ACID
(Atomicity, Consistency, Isolation, Durability), có độ tin cậy cao, tính toàn vẹn dữ
liệu, hỗ trợ đa dạng các tính năng Chúng có các tiện ích mở rộng nổi bật như phần
mở rộng cơ sở dữ liệu không gian địa lý PostGIS phô biến hiện nay Bên cạnh đó,
được sự quan tâm và đóng góp của cộng đồng mã nguồn mở, PostgreSQL không
ngừng cải thiện về hiệu suất, tối ưu tài nguyên phần cứng sử dụng và các giải pháp
khác ngày càng vững mạnh và đa dạng hơn.
2.3.13.NoSQL
Cơ sở dữ liệu NoSQL cung cấp các lược đồ đa dạng và dễ dàng mở rộng, giải
quyết các vấn đề dữ liệu lớn và phân tán dữ liệu Do ưu tiên về hiệu suất và tốc độ xử
lý, không giới hạn về việc mở rộng dữ liệu, NoSQL có một sé hạn chế về tính nhấtquán dữ liệu, thiếu chuẩn hóa, v.v NoSQL có nhiều loại dựa trên mô hình dữ liệu củachúng, trong đó, các mô hình dữ liệu chính gồm có: Document, Key-value store, WideColumn Store và Graph Một số công cụ NoSQL phổ biến bao gồm: MongoDB,
Redis, Cassandra, và một số công cụ khác
2.3.14.Cloud Firestore
Firestore là một cơ sở dữ liệu NoSQL được phát triển bởi Google Chúng có
cấu trúc phân cấp linh hoạt, có thé mở rộng, đảm bảo tính sẵn sàng, bảo mật, hỗ trợ
Trang 39phát triển các ứng dụng di động, web trên Firebase và Google Cloud Tương tựFirebase Realtime Database, Firestore đồng bộ hóa dit liệu đến các ứng dụng di động,web thông qua trình điều khiển thời gian thực và cho phép các ứng dụng có thể hoạtđộng ngoại tuyến cho dù gặp vấn đề về độ trễ mạng hoặc kết nối Internet Firestore
là dịch vụ phải trả phí mặc dù Google cho phép sử dụng miễn phí với một hạn ngạch
nhất định về kích thước dữ liệu, số lần truy cập, đọc, ghi hoặc xóa dữ liệu
2.3.15 Các mô hình trí t hân tạo nhận diện đối tượng
Trong lĩnh vực thị giác máy tính, hiện nay có nhiều mô hình nhận diện đốitượng hiện đại, tạo ra các ứng dụng thông minh được áp dụng trong thực tế Ví dụ:
hệ thống phát hiện người la, tội phạm; hệ thống xe tự lái, v.v Có hai loại mô hình
chủ yếu, bao gồm: nhận diện đối tượng qua hai giai đoạn và nhận diện đối tượng qua
một giai đoạn duy nhất Một số mô hình nổi bật hiện nay gồm có: Faster R-CNN,
Mask R-CNN, SSD, YOLO, v.v Theo kết quả khảo sát dưới đây, mô hình YOLO có
kích thước mạng gọn nhẹ là lựa chọn phù hợp đê áp dụng vào giải pháp nhận diện
mặt người không đeo khâu trang trên các máy tính nhúng Jetson Nano nhỏ gọn, cótài nguyên phần cứng hạn ché tại cận biên
2.3.15.1 Các mô hình R-CNN
¢ R-CNN
Mô hình R-CNN (Region Based Convolutional Neural Network) được tác gia
Ross Girshick và cộng sự giới thiệu vào năm 2014 [30] R-CNN được thiết kế đơngiản, có thể mở rộng, kết hợp các đề xuất vùng (region proposal) với CNN
(Convolutional Neural Network) giúp cải thiện độ chính xác trung bình đạt 53,3%
mAP (Mean Average Precision), hơn 30% so với kết quả tốt nhất trước đó trên tập
dữ liệu VOC (Visual Object Classes).
Tir anh dau vao, R-CNN dùng thuật toán Tim kiếm có chọn lọc (SelectiveSearch) [31] xác định các vùng được đề xuất (xắp xi 2,000 vùng) và dùng CNN dé
tính toán các đặc trưng trên từng vùng Từ đó, áp dụng thuật toán SVM (Support
Vector Machine) đề phân lớp đối tượng trên mỗi vùng, và dùng phương pháp hồi quy(regression) để điều chỉnh các bounding box
Trang 40Regions with CNN features
3 warped region [acroplane? no ]
Nguồn: Hình ảnh được trích dẫn từ bài báo [30].
Một số hạn chế của R-CNN, trong đó đáng chú ý là quá trình huấn luyện phức
tạp, nhiều công đoạn, tốn nhiều thời gian và không gian Với tốc độ xử lý rất chậm,đạt 47 giây cho mỗi ảnh [32], R-CNN không phù hợp cho các ứng dụng nhận diệnđối tượng theo thời gian thực Hơn nữa, phương pháp Tìm kiếm có chọn lọc có thé
tạo ra các vùng được đề xuất không chính xác Điều này cũng ảnh hưởng đến hiệu
suất và độ chính xác của mô hình
e Fast R-CNN
Mô hình Fast R-CNN, phiên bản nâng cấp của R-CNN, được tác gid Ross
Girshick được đề xuất vào năm 2015 [32] Tương tự R-CNN, mô hình Fast R-CNN
vẫn ding thuật toán Tim kiếm có chọn lọc dé xác định các Rol (Region of Interest)
tir anh dau vao Mặt khác, thay vì thực hiện CNN cho mỗi vùng, Faster R-CNN đưa
toàn bộ bức ảnh vào một CNN đê tạo feature map Rol pooling layer theo sau bởi các
fully-connected layer được dùng để trích xuất vecto đặc trưng có kích thước cố địnhcho mỗi vùng Mỗi véctơ đặc trưng sau đó được đưa vào các fully-connected layertương ứng, dùng hàm softmax đề dự đoán xác suất phân lớp đối tượng, hoặc không
chứa đối tượng (background), đồng thời dự đoán vị trí của bounding box, dùng
phương pháp bounding box regression.
VECtOF foreach Ro!
Hinh 2.10 Kién tric Fast R-CNN.
Nguồn: Hình ảnh được trích dan từ bai báo [32].