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

Luận văn thạc sĩ Kỹ thuật điều khiển và tự động hóa: Huấn luyện, tối ưu và triển khai mô hình nhận diện người trên hệ thống giám sát của trạm biến áp

113 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN HOÀNG PHI LONG

HUẤN LUYỆN, TỐI ƯU VÀ TRIỂN KHAI MÔ HÌNH NHẬN DIỆN NGƯỜI TRÊN HỆ THỐNG GIÁM SÁT CỦA TRẠM

Trang 2

Công trình được hoàn thành tại: Trường Đại học Bách Khoa – ĐHQG-HCM

Cán bộ hướng dẫn khoa học : TS Phạm Việt Cường

Cán bộ chấm nhận xét 1 : TS Nguyễn Trọng Tài

Cán bộ chấm nhận xét 2 : PGS.TS Lê Mỹ Hà

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 24 tháng 06 năm 2022

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 GS.TS Hồ Phạm Huy Ánh - Chủ tịch

2 TS Nguyễn Vĩnh Hảo - Thư ký 3 TS Nguyễn Trọng Tài - Phản biện 1 4 PGS.TS Lê Mỹ Hà - Phản biện 2 5 TS Nguyễn Ngọc Sơn - Uỷ viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN-ĐIỆN TỬ

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Nguyễn Hoàng Phi Long MSHV: 1970437

Ngày, tháng, năm sinh: 12/01/1997 Nơi sinh: TP Hồ Chí Minh Chuyên ngành: Kỹ Thuật Điều Khiển và Tự Động Hoá Mã số : 8520216

NHIỆM VỤ VÀ NỘI DUNG:

- Nhiệm vụ: Giải quyết các bài toán thực tế trong trạm biến áp như phát hiện người đột nhập vào trạm biến áp, người vi phạm phạm vi làm việc cho phép và người không đội mũ bảo hộ

- Nội dung: Huấn luyện mô hình nhận diện người, tối ưu hoá và triển khai mô hình Xây dựng hệ thống giám sát thông minh trong trạm biến áp

II NGÀY GIAO NHIỆM VỤ: 14/02/2022

III NGÀY HOÀN THÀNH NHIỆM VỤ: 06/06/2022 IV.CÁN BỘ HƯỚNG DẪN: TS Phạm Việt Cường

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

TRƯỞNG KHOA ĐIỆN - ĐIỆN TỬ

Trang 4

i

LỜI CẢM ƠN

Lời đầu tiên, tôi xin gửi lời cảm ơn đến gia đình đã luôn là động lực, là điểm tựa vững chắc để tôi có thêm sự quyết tâm vượt qua những khó khăn trong suốt quá trình học tập, rèn luyện

Tiếp theo, tôi xin chân thành gửi lời cảm ơn sâu sắc đến thầy Phạm Việt Cường đã tận tình hướng dẫn, giúp đỡ tôi về mặt kiến thức chuyên ngành trong toàn bộ quá trình thực hiện luận văn Thạc sĩ Thầy đã tạo mọi điều kiện thuận lợi nhất giúp tôi có thể thu thập tư liệu, nghiên cứu và thực hành để có thể hoàn thành tốt những mục tiêu mà luận văn đã đề ra

Ngoài ra, tôi cũng thật sự biết ơn những thầy cô trong khoa Điện - Điện Tử, đặc biệt là các thầy cô trong bộ môn Kỹ Thuật Điều Khiển và Tự Động Hoá đã tận tình giảng dạy, cung cấp những kiến thức nền tảng và chuyên sâu góp phần quan trọng giúp tôi hoàn thành luận văn

Sau cùng tôi xin cảm ơn các bạn học viên Cao học đồng chuyên ngành đã nhiệt tình giúp đỡ và đóng góp ý kiến để luận văn Thạc sĩ của tôi được hoàn thiện

TP Hồ Chí Minh, ngày 07 tháng 06 năm 2022 Học viên

Nguyễn Hoàng Phi Long

Trang 5

ii

TÓM TẮT LUẬN VĂN THẠC SĨ

Trạm biến áp là nơi đóng vai trò cực kỳ quan trọng để đảm bảo tính ổn định trong việc cung cấp điện năng cho sinh hoạt cũng như sản xuất Vì đóng vai trò quan trọng nên đây cũng là nơi cực kỳ nhạy cảm và cần đảm bảo sự an toàn cao cho con người và tài sản Do đó, triển khai hệ thống giám sát trong trạm biến áp là vô cùng cần thiết, tuy nhiên việc vận hành cần tốn nhiều nhân lực và thường gặp sai sót vì các lý do chủ quan lẫn khách quan Từ những vấn đề này, cần có một hệ thống giám sát thông minh tích hợp những mô hình Deep Learning có độ chính xác cao để suy luận và phát hiện những bất thường hay sai sót trong quá trình vận hành có ảnh hưởng đến sức khoẻ của con người và quá trình hoạt động của trạm biến áp

Dựa vào những vấn đề thực tiễn đó, đề tài luận văn trình bày một giải pháp trong việc xây dựng một hệ thống giám sát thông minh để phân tích hình ảnh từ các camera và gửi cảnh báo Đầu tiên là huấn luyện các mô hình Deep Learning để giải quyết các bài toán thực tế trong trạm biến áp Thứ hai là tối ưu hoá mô hình Deep Learning đã huấn luyện để có thể tương thích với phần cứng cũng như tăng tốc cho quá trình xử lý nhiều luồng Cuối cùng là xây dựng một hệ thống giám sát trạm biến áp kết hợp giữa các thiết bị biên (Edge Devices) và máy chủ để có thể trích xuất, suy luận bằng mô hình Deep Learning và gửi cảnh báo từ các luồng dữ liệu của tất cả các camera trong Trạm Biến Áp với tốc độ thời gian thực

Kết quả thu được là mô hình nhận diện người có độ chính xác của AP@50 là 79.43 % trong môi trường trạm biến áp, tốc độ suy luận AI của hệ thống đạt 441 FPS khi thực thi trên máy chủ và 168 FPS khi gửi yêu cầu từ Edge Device Từ các kết quả trên, hệ thống giám sát thông mình mà luận văn xây dựng có thể hoạt động ổn định với 16 camera đạt tốc độ xử lý 25 FPS mỗi camera

Trang 6

iii

ABSTRACT

The Substation is an extremely vital place to ensure stability in the supply of electricity for living as well as production Because it plays an important role, it is also a sensitive place and needs to ensure high safety for people and property That is the reason why the Surveillance System in Substation is essential, but the operation requires a lot of labor and often encounters many errors for both subjective and objective reasons From these problems, it is necessary to have a Smart Surveillance System that integrates high-precision Deep Learning models This system can infer and detect abnormalities or errors that affect human health and the operation of the Substation

Based on those practical problems, the Master thesis presents a solution that building an intelligent monitoring system to analyze images from cameras and send alarms thanks to the Artificial Intelligence (AI) platform The first stage is training Deep Learning models to solve real problems in the Substation The second stage is optimizing these models for hardware compatibility as well as to accelerating multi-threading processing The last stage is building a Substation Surveillance System that combines edge devices and servers to extract, infer by Deep Learning model, and send alerts from the data stream of cameras with real-time speed

The result is that the human detection model has 79,43% AP@50 accuracy in the Substation environment and the system’s AI inference speed reaches 441 FPS when executing on the server and 168 FPS when sending the request from edge devices From the above results, the Intelligent Surveillance System built by the thesis can operate stably with 16 cameras with a processing speed of 25 FPS

Trang 7

iv

LỜI CAM ĐOAN CỦA TÁC GIẢ

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, dưới sự hướng dẫn của TS Phạm Việt Cường

Các số liệu, những kết quả nêu trong luận văn là hoàn toàn trung thực và chưa được công bố trong bất kỳ công trình nào Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này

Tác giả luận văn

Nguyễn Hoàng Phi Long

Trang 8

DANH MỤC TỪ VIẾT TẮT xii

1 GIỚI THIỆU ĐỀ TÀI 1

2.2 Phương pháp đánh giá mô hình Deep Learning 7

2.2.1 Đánh giá Object Detection Model 7

2.2.2 Đánh giá Classification Model 10

Trang 9

vi

2.3.2 NVIDIA DeepStream SDK 17

2.4 Tối ưu hoá mô hình Deep Learning bằng TensorRT 18

2.4.1 Giới thiệu về TensorRT 18

2.4.2 Layer Tensor Fusion 19

2.4.3 Reduce Mixed Precision 20

2.5 Nền tảng triển khai mô hình Deep Learning trên Server 22

2.5.1 Triton Serving 22

2.5.2 DALI Triton Backend 23

3 QUÁ TRÌNH THỰC HIỆN 24

3.1 Ý tưởng thực hiện đề tài 24

3.1.1 Giải quyết các bài toán trong trạm biến áp 24

3.1.2 Giải quyết bài toán tốc độ xử lý 25

3.2 Huấn luyện mô hình Deep Learning 26

3.2.1 Chuẩn bị dữ liệu 26

3.2.2 Huấn luyện mô hình 31

3.2.3 Kết quả huấn luyện mô hình Deep Learning 36

3.2.4 Mô hình phát hiện chuyển động 37

3.3 Tối ưu mô hình Deep Learning 39

3.3.1 Tối ưu hoá model EfficientDet 39

3.3.2 Tối ưu hoá model YOLOv5 40

3.3.3 Tối ưu hoá model ResNet-50 41

3.4 Triển khai hệ thống xử lý AI 42

3.4.1 Xây dựng hệ thống xử lý AI 42

3.4.2 Triển khai hệ thống Cloud Computing 44

3.4.3 Triển khai hệ thống Edge Computing 52

3.5 Triển khai hệ thống giám sát 58

3.5.1 Xây dựng hệ thống giám sát 58

3.5.2 Server 59

Trang 10

4.1.2 Đánh giá hiệu năng 71

4.2 Kết quả huấn luyện mô hình Deep Learning 73

4.2.1 Mô hình Object Detection 73

Trang 11

Hình 2.6 Đồ thị biểu diễn mối quan hệ giữa Precision-Recall Hình 2.7 Confusion Matrix

Hình 2.8 Cách tính Precision-Recall trên Confusion Matrix

Hình 2.9 Cách tính Sensitivity và Specificity trên Confusion Matrix Hình 2.10 Đồ thị biểu diễn đường cong ROC

Hình 2.11 Cách tính hiệu năng của mô hình

Hình 2.12 Giao thức RTSP để lấy dữ liệu từ IP camera

Hình 2.13 Quá trình xử lý dữ liệu streaming của DeepStream SDK Hình 2.14 Tối ưu hoá model bằng TensorRT

Hình 2.15 Cấu trúc mạng trước và sau khi tối ưu bằng Layer và Tensor Fusion Hình 2.16 Các mức chính xác của model

Hình 2.17 Hiệu năng của model ResNet-50 ở các mức FP32, FP16 và INT8 Hình 2.18 Mô tả mô hình Triton Serving

Hình 2.19 Mô tả quá trình xử lý dữ liệu của NVIDIA DALI

Hình 2.20 Mô tả quá trình dùng DALI trong Ensemble Model của Triton Serving Hình 3.1 Một số hình ảnh trong tập COCO 2017

Hình 3.2 Một số hình ảnh trong tập Substation Hình 3.3 Một số hình ảnh trong tập Youtube Hình 3.4 Hình ảnh dữ liệu được Augmentation

Hình 3.5 Một số hình ảnh trong tập dữ liệu có đội mũ bảo hộ Hình 3.6 Một số hình ảnh trong tập dữ liệu không đội mũ bảo hộ

Trang 12

ix

Hình 3.8 Ngõ vào và ngõ ra của mô hình YOLOv5-m

Hình 3.9 So sánh tốc độ xử lý của mô hình ResNet-50 với các mô hình khác

Hình 3.10 Kết quả huấn luyện của model EfficientDet-D1 (trái) và YOLOv5-m (phải)

Hình 3.11 Kết quả huấn luyện của model ResNet-50

Hình 3.12 Thuật toán phát hiện chuyển động sử dụng CUDA OpenCV Hình 3.13 Quá trình freeze model EfficientDet-D1

Hình 3.14 Quá trình tối ưu hoá mô hình EfficientDet-D1 Hình 3.15 Quá trình tối ưu hoá mô hình YOLOv5-m Hình 3.16 Quá trình tối ưu hoá mô hình ResNet-50

Hình 3.17 Sơ đồ quá trình triển khai mô hình Deep Learning trong hệ thống giám sát Hình 3.18 Quá trình thực thi mô hình Deep Learning trên Server

Hình 3.19 Cấu trúc thư mục chứa các mô hình triển khai trên Triton Serving Hình 3.20 Lệnh dùng để khởi chạy một Triton Serving trên Docker Container Hình 3.21 Tiền xử lý dữ liệu trong DALI Pipeline cho model YOLOv5

Hình 3.22 AI Inference Pipeline cho model YOLOv5-FP16 trên Triton Serving Hình 3.23 Cài đặt Dynamic Batching cho model ResNet-50

Hình 3.24 Tiền xử lý dữ liệu trong DALI Pipeline cho model YOLOv5+ResNet-50 Hình 3.25 AI Inference Pipeline cho model YOLOv5-FP16+ResNet-50 trên Triton

Serving

Hình 3.26 Quá trình thực thi tại Edge Device

Hình 3.27 Chi tiết quá trình giải mã bằng DeepStream và suy luận AI tại Edge Device Hình 3.28 Thuật toán phát hiện người vào/ra khu vực nguy hiểm/an toàn

Hình 3.29 Quá trình giải quyết bài toán phát hiện người không đội mũ bảo hộ Hình 3.30 Sơ đồ toàn bộ hệ thống giám sát của trạm biến áp

Hình 3.31 Sơ đồ liên kết các bảng trong Database

Hình 3.32 Sơ đồ giao tiếp Server-Edge Device qua RabbitMQ

Trang 13

x

Hình 3.36 Trang ViewPage của hệ thống giám sát

Hình 3.37 Các bảng dữ liệu trong mini-Database tại Edge Device

Hình 4.1 So sánh kết quả phát hiện chuyển động của mô hình so với thực tế Hình 4.2 Hiệu năng của thuật toán phát hiện chuyển động bằng CUDA OpenCV Hình 4.3 So sánh kết quả nhận diện thực tế của mô hình EfficientDet-D1 (trái) và

Trang 14

Bảng 3.5 Danh sách các API cho đối tượng Edge Device

Bảng 3.6 Danh sách các API cho đối tượng Camera, Model và Area

Bảng 4.1 Bảng đánh giá độ chính xác của thuật toán phát hiện chuyển động Bảng 4.2 Kết quả đo hiệu năng của thuật toán nhận diện chuyển động Bảng 4.3 So sánh độ chính xác của các mô hình Object Detection Bảng 4.4 Kết quả đánh giá độ chính xác của các mô hình

Bảng 4.5 Kết quả đánh giá hiệu năng của các mô hình

Bảng 4.6 Kết quả đánh giá hiệu năng của các mô hình ResNet-50

Bảng 4.7 Kết quả hiệu năng của các mô hình triển khai trên Triton Serving Bảng 4.8 Kết quả hiệu năng khi kết hợp 2 mô hình YOLOv5 và ResNet-50 Bảng 4.9 Kết quả hiệu năng của các mô hình khi thực thi tại Edge Device Bảng 5.1 Tổng hợp các mô hình Deep Learning đã sử dụng trong luận văn Bảng 5.2 Tổng hợp các công cụ được sử dụng trong luận văn

Trang 15

ROC - The Receiver Operating Characteristic Curve

Trang 16

1 GIỚI THIỆU ĐỀ TÀI 1.1 Tổng quan đề tài

- Trạm biến áp (TBA) là nơi đặt máy biến áp và các thiết bị phân phối điện khác nhằm tạo nên một hệ thống truyền tải điện năng hoàn chỉnh Trạm biến áp có vai trò rất quan trọng nhằm đảm bảo tính ổn định trong việc cung cấp điện năng đến với các nhà máy, xí nghiệp, bệnh viện, trường học, nhà dân, …Chính vì thế, các TBA thường có công suất lớn lại có rất nhiều thiết bị điện quan trọng và đường dây điện, tủ điện bên trong Do đó, TBA thường rất hay xảy ra các vụ cháy nổ từ các lý do chủ quan cũng như khách quan của con người Vì vậy, làm việc trong môi trường này cần hết sức cẩn thận và cần có những thiết bị bảo hộ nhằm đảm bảo sự an toàn về người cũng như vật chất

- Dù biết rằng, trạm biến áp là một nơi rất có hại cho sức khoẻ của con người cho nên cần hết sức cẩn trọng khi di chuyển ra vào khu vực này Nhưng hiện nay vẫn xảy ra rất nhiều trường hợp người lạ xâm nhập trái phép vào trạm biến áp với mục đích trộm cắp hoặc phá hoại vật tư Ngoài yếu tố con người, thú vật lạ như có chó, mèo, vẫn thường lạc vào các khu vực này và vô tình gây thiệt hại đến các thiết bị, máy móc trong TBA Thế nhưng việc giám sát những trường hợp đột nhập trái phép vào các trạm biến áp vẫn còn được thực hiện chưa được nghiêm ngặt và còn nhiều sự lơ là có thể là do các yếu tố chủ quan của con người Hầu hết các trạm biến áp hiện nay trên cả nước chưa có một hệ thống giám sát thông minh và tự động mà phần lớn dựa vào các lực lượng bảo vệ thay phiên nhau canh gác

- Chính vì những nguy hiểm cho con người cũng như những thiệt hại về cơ sở vật chất có thể xảy ra nếu như có người tự ý ra vào TBA Một hệ thống giám sát và cảnh báo thông minh cần được triển khai để có nâng cao tính an toàn cũng như giảm được công sức cho lực lượng bảo vệ là một điều hết sức cần thiết

1.2 Tình hình nghiên cứu hiện nay

Trang 17

Tuy nhiên, vẫn chưa nhiều đề tài nghiên cứu về ứng dụng xử lý ảnh trong việc phát hiện những yếu tố ngoại cảnh tác động trực tiếp đến trạm biến áp như con người, sự cố cháy nổ, …

- Trong những năm gần đây, đề tài về phân tích ảnh thông minh trích xuất từ các video hay IP camera (Intelligent Video Analytics) đang được rất nhiều sự quan tâm vì tính ưu việt của chúng trong việc phát hiện vật thể, phân tích và cảnh báo những tình huống bất thường mà không cần bất kỳ sự giám sát của con người

- Tuy nhiên vẫn có nhiều vấn đề trong việc triển khai hệ thống giám sát như chất lượng ảnh kém, bị ảnh hưởng bởi điều kiện ngoại cảnh như ban ngày, ban đêm sẽ tác động rất nhiều đến độ chính xác của các mô hình phát hiện vật thể Cùng với đó, hạ tầng máy tính để đảm bảo việc xử lý ảnh và tính toán cho một hệ thống nhiều camera hoạt động liên tục cùng một lúc và phải báo động theo thời gian thực là một vấn đề vô cùng khó khăn

1.3 Mục tiêu và nhiệm vụ

- Từ những thông tin và bài học rút ra được từ những nghiên cứu trước đây,

mục tiêu chính của đề tài này là: dựa vào hệ thống các camera an ninh được gắn cố định tại một số vị trí trong trạm biến áp ta xây dựng một hệ thống giám sát để phát hiện người, gửi cảnh báo khi có người vào khu vực nguy hiểm hoặc ra khỏi phạm vi

làm việc cho phép, cảnh báo khi có người không đội mũ bảo hộ - Những nhiệm vụ cần thực hiện bao gồm:

Nhiệm vụ 1: Huấn luyện mô hình Deep Learning (DL) để phát hiện người với

độ chính xác cao trong nhiều điều kiện môi trường khác nhau của trạm biến áp Kết quả phát hiện người có thể được sử dụng cho các bài toán thực tế sau đây:

+ Cảnh báo khi phát hiện người xuất hiện trong trạm biến áp

+ Cảnh báo khi nhận thấy người xuất hiện trong TBA có các hành động vi phạm phạm vi làm việc cho phép hay vô tình đi vào các khu vực nguy hiểm

+ Cảnh báo khi nhận thấy người đang làm việc trong trạm biến áp không đội mũ bảo hộ

Trang 18

Nhiệm vụ 2: Tối ưu hoá mô hình DL để đạt được tốc độ tính toán nhanh nhất

với mục đích triển khai trên nhiều hạ tầng phần cứng khác nhau như máy chủ (Server) hoặc các máy tính nhúng (Edge Devices)

Nhiệm vụ 3: Triển khai một hệ thống giám sát có thể phân tích hình ảnh và

xử lý các tính năng cần suy luận AI trên toàn bộ camera trong một trạm biến áp cùng một lúc mà vẫn đảm bảo được tốc độ tính toán gần bằng thời gian thực

2 CƠ SỞ LÝ THUYẾT 2.1 Mô hình Deep Learning

Qua Hình 2.1 ta có thể thấy, EfficientDet đạt được đến 55% COCO AP trong khi hiệu

suất tính toán (FLOPS) thấp hơn nhiều so với các mô hình OD trước đó

Nguồn https://arxiv.org/pdf/1911.09070.pdf

Trang 19

- Mô hình EfficientDet được xây dựng trên mạng Deep Learning có tên là EfficientNet [2] đã được nhóm nghiên cứu công bố trước đó.

- Hình 2.2 thể hiện kiến trúc của mạng EfficientDet với 3 phần chính như sau:

Hình 2.2 Cấu trúc mạng của mô hình EfficientDet

+ Khung xương (Backbone) của EfficientDet được tận dụng lại các thông số của một Deep Convolutional Network có tên là EfficientNet Với việc sử dụng một phương pháp Compound Scaling [2] mới giúp việc phân tích đặc trưng những vật thể nhỏ trong khung ảnh trở nên chính xác hơn mà không cần phải dùng ảnh có kích thước lớn hay một mô hình lớn với kiến trúc cực kỳ phức tạp EfficientNet đã chứng minh khả năng trong nhiều ứng dụng; do đó việc sử dụng EfficientNet làm xương sống sẽ giúp EfficientDet học một cách hiệu quả các đặc trưng phức tạp và những vật thể có kích thước nhỏ như người trong trạm biến áp

+ Phần cổ (Neck) của EfficientDet sử dụng một loại mô hình mới có tên là Bi-directional Feature Pyramid Network (Bi-FPN) [1] Bi-FPN có hiệu suất tốt hơn vì có ít tham số và ít FLOPs hơn so với các lớp cổ (Neck Layer) khác như PA-Net [3]hay NAS-FPN [4]

+ Sau khi hình ảnh ngõ vào được trích xuất đặc trưng (Extract Feature) trên các Backbone và Neck Layer, những đặc trưng này sẽ được dự đoán xem đó là vật thể gì và toạ độ của vật thể đó qua Head Layer là một Prediction Network

2.1.2 Mô hình YOLOv5

- EfficientDet được nhận định sẽ làm lu mờ đi model YOLO [5] đã làm mưa

Trang 20

nhiên, chỉ 2 tháng sau khi EfficientDet được công bố, YOLOv5 [6] được công bố đã làm mọi người thật sự bất ngờ

- YOLOv5 được phát triển bởi Glenn Jocher trên Ultralytic Pytorch Framework, rất trực quan và tính toán nhanh Cái tên YOLOv5 vẫn còn bị một số tranh cãi vì tác giả của YOLOv5 không phải là người tạo ra các bản YOLO trước đó trên Darknet [5] YOLOv5 được xây dựng hoàn toàn trên Pytorch Sau khi xây dựng lại toàn bộ YOLOv3 [7] từ DarkNet sang Pytorch, tác giả đã có nhiều cải tiến khi thêm vào PA-Net [3] và CSP backbone giúp giảm thông số của mạng, tốc độ tính toán giảm đi đáng kể vả độ chính xác tăng

- Kiến trúc mạng của mô hình YOLOv5 được mô tả ở Hình 2.3 gồm những phần chính như sau:

Hình 2.3 Cấu trúc mạng của mô hình YOLOv5

+ Khung xưng (Backbone) của YOLOv5 là sự kết hợp của 2 loại Deep Convolutional Network có tên là Cross Stage Partial Network (CSP Net) [8] và DarkNet để trở thành một mạng có tên gọi là CSP DarkNet CSP Net giải quyết các vấn đề về thông tin gradient lặp đi lặp lại trong các mạng backbone có quy mô lớn và tích hợp các thay đổi gradient vào bản đồ đặc trưng (feature map), do đó làm giảm đáng kể các thông số của mạng và FLOPS của mô hình, nhờ đó việc sử dụng CSP Net không chỉ đảm bảo tốc độ suy luận và độ chính xác mà còn giảm kích thước mô

Trang 21

+ Khác với EfficientDet sử dụng Bi-FPN [1] là Neck Layer thì YOLOv5 sử dụng Path Aggregation Network (PA Net) [3] Tuy không tối ưu về mặt hiệu năng bằng Bi-FPN, PA Net cải thiện việc sử dụng các tín hiệu bản địa hóa chính xác (accurate localization signals) ở các lớp thấp hơn, điều này sẽ giúp nâng cao độ chính xác trong việc xác định vị trí của đối tượng

+ Cuối cùng, phần đầu của YOLOv5 sử dụng một lớp mạng YOLO Nó tạo ra 3 kích thước khác nhau của feature map sau khi trích xuất đặc trưng cho phép mô hình xử lý các đối tượng nhỏ, vừa và lớn Điều này cực kỳ cần thiết đối với các ứng dụng phát hiện người vì mô hình có thể xác định chính xác những người đang đứng ở nhiều vị trí khác nhau (xa hay gần)

2.1.3 Mô hình ResNet-50

- Mạng ResNet-50 là một trong những biến thể của mạng ResNet (Residual Network) [9] một mạng học sâu dùng để phân loại ảnh (Classification Model) được giới thiệu vào năm 2015

- Khi huấn luyện các mạng Neural Network có nhiều lớp tích chấp, một vấn đề thường xuyên xảy ra là Vanishing Gradient [10] Để có thể giải quyết vấn đề này ResNet đưa ra một giải pháp là sử dụng một kết nối “tắt” xuyên qua một hay nhiều layer của mạng Một khối như vậy gọi là một Residual Block [9] như hình 2.4 Cách sử dụng nối tắt này nhằm để bổ sung ngõ vào của block vào đầu ra của layer, việc làm này sẽ tránh cho đạo hàm bằng 0 vì có cộng thêm giá trị đầu vào Chính vì thế sẽ hạn chế được vấn đề Vanishing Gradient

Hình 2.4 Cấu trúc mạng của mô hình ResNet-50

Trang 22

2.2 Phương pháp đánh giá mô hình Deep Learning 2.2.1 Đánh giá Object Detection Model

Độ chính xác trung bình (mAP)

- Độ chính xác mAP [11] là một độ đo thông dụng để đánh giá các mô hình OD hiện nay Để tìm hiểu về mAP, trước tiên ta cần hiểu một số khái niệm về Precision, Recall và IoU

IoU (Intersection over Union) là tỷ lệ giữa phần giao và phần hợp của vùng

dự đoán và vùng đối tượng thật

+ Area of Union bao gồm diện tích phần hợp của predicted bounding box và ground truth box

- Mỗi một bức ảnh sau khi quá trình suy luận của mô hình Object Detection sẽ nhận được một số predicted bounding box sau khi tính IoU dựa vào các ground-truth

Trang 23

- Để xác định liệu dự đoán đó có đúng hay sai ta dựa vào mức ngưỡng (threshold) cho trước Nếu IoU của dự đoán đó lớn hơn hoặc bằng ngưỡng thì đó là một dự đoán đúng và ngược lại là dự đoán sai

True/False - Negative/Positive [12] trong bài toán Object Detection (xét trên

một vật thể hay một lớp dữ liệu)

- True Positive (TP): là một dự đoán đúng khi bounding box của vật thể được dự đoán có IoU lớn hơn hoặc bằng ngưỡng Biểu thị cho số lượng dự đoán đúng của mô hình

- False Positive (FP): là một dự đoán sai khi bounding box của vật thể có IoU bé hơn ngưỡng Biểu thị cho số lượng dự đoán sai của mô hình

- False Negative (FN): trường hợp mà bức ảnh đó có ground-truth (GT) box (tức là có vật thể cần phát hiện) nhưng mô hình lại không đưa ra một predicted box nào Biểu thị cho sự thiếu sót của mô hình

Precision - Recall [12] trong bài toán Object Detection được tính theo công

- Sau đó, tiến hành tính Precision-Recall (với một ngưỡng IoU cố định) cho các predicted box của toàn bộ kết quả dự đoán mà mô hình suy luận được từ tập dữ liệu trên và sắp xếp kết quá theo giá trị giảm dần của confidence score

Trang 24

- Từ bảng kết quả đó ta sẽ vẽ đường cong Precision-Recall Từ đường cong Precision-Recall này ta vẽ được đường Interpolated Precision như Hình 2.6

Nguồn https://blogcuabuicaodoanh.files.wordpress.com/2020/02/image-13.png

Hình 2.6 Đồ thị biểu diễn mối quan hệ giữa Precision-Recall

- Thông số Interpolated Precision ( ) [10] được xác định bởi công thức

(2.3)

là giá trị lớn nhất của Precision tại điểm Recall đó ( )

Average Precision (AP) được tính như sau với 11 là số điểm

Interpolated Tuy nhiên, với các bộ dữ liệu mới hiện nay, AP thường không

tính bằng diện tích phần dưới của đường Interpolated Precision

Î

Trang 25

để được chỉ số mAP của cả mô hình Trong tập data COCO, AP được tính với 101 điểm Interpolated Precision và sau đó tính AP trung bình với các ngưỡng IoU từ [0.5-0.95]

2.2.2 Đánh giá Classification Model Accuracy

- Accuracy (độ chính xác) [13] là phương pháp đơn giản nhất dùng để đánh giá các Classification Models xem mô hình có tỷ lệ dự đoán đúng cao đến mức nào trong tổng các trường hợp xảy ra Accuracy chính là tỉ lệ giữa tổng các điểm dữ liệu mà mô hình dự đoán đúng và tổng số điểm dữ liệu

Accuracy =correct predictions

total data points (2.5)

- Tuy nhiên phương pháp này có nhược điểm là chỉ cho ta biết phần trăm lượng dữ liệu được phân loại đúng mà không chỉ ra được cụ thể mỗi lớp dữ liệu được phân loại như thế nào, lớp nào được mô hình phân loại đúng nhiều nhất hay lớp nào có dữ liệu bị phân loại sai nhiều nhất

Confusion Matrix [13]

- Với nhược điểm của Accuracy đã nêu ở trên, chúng ta cần có một phương pháp đánh giá khác trực quan hơn về độ chính xác của các lớp dữ liệu Confusion Matrix là một phương pháp có thể giải quyết vấn đề này

- Cũng giống như các khái niệm True/False - Positive/Negative đã giới thiệu ở phần 2.2.1 Confusion Matrix dựa vào các khái niệm này để thể hiện một cách trực quan về thông tin tỉ lệ dự đoán đúng lớp dữ liệu của mô hình, giúp phát hiện các lớp có tỉ lệ dự đoán cao hay thấp

Trang 26

Hình 2.7 Confusion Matrix

- Khác với cách định nghĩa của phương pháp đánh giá Object Detection Model, ở phương pháp đánh giá Classification Model, các giá trị True/False – Positive/Negative được định nghĩa như sau:

+ True Positive (TP) là khi một dữ liệu ở lớp Positive được mô hình dự đoán vào đúng lớp Positive

+ False Positive (FP) là khi một dữ liệu ở lớp Negative nhưng được mô hình dự đoán vào lớp Positive (Dự đoán sai)

+ True Negative (TN) là khi một dữ liệu ở lớp Negative được mô hình dự đoán vào đúng lớp Negative

+ False Negative (FN) là khi một dữ liệu ở lớp Positive nhưng được mô hình dự đoán vào lớp Negative (Dự đoán sai)

- Trong đó, True/False thể hiện tính chính xác trong quá trình phân loại của mô hình và Positive/Negative thể hiện các lớp dữ liệu mà mô hình phân loại vào

Precision – Recall

Trang 27

Hình 2.8 Cách tính Precision-Recall trên Confusion Matrix

- Cũng như bài toán Object Detection Model, Precision và Recall [13] là hai thông số quan trọng dùng làm thang đo cho độ chính xác của Classification Model Với những thông tin từ Confusion Matrix, chúng ta có cái nhìn trực quan hơn về độ chính xác của mô hình dự vào Precision – Recall

- Precision: trong tổng số các dữ liệu mà mô hình dự đoán là Positive thì có bao nhiêu dữ liệu đúng là của lớp Positive Thể hiện độ chính xác của mô hình khi dự đoán lớp Positive trong toàn bộ dữ liệu

- Recall: cho ta biết có bao nhiêu dữ liệu thực sự thuộc vào lớp Positive được mô hình dự đoán đúng là của lớp Positive Thể hiện độ chính xác của mô hình khi dữ đoán các dữ liệu Positive trong toàn bộ tập dữ liệu Positive

F1-Score

- Một mô hình có Precision và Recall cao cho thấy mô hình thực sự sẽ hoạt động rất tốt Tuy nhiên trong thực tế, giá trị Precision và Recall thường không cân bằng nhau Tuỳ vào những yêu cầu và ứng dụng thực tế mà ta cân nhắc nên ưu tiên Precision hay Recall nhiều hơn

- Để thể hiện sự ưu tiên giữa 2 giá trị Precision và Recall chúng ta thường dùng độ đo F1-score theo công thức sau

𝐹! = (1 + 𝛽") 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑅𝑒𝑐𝑎𝑙𝑙

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙 (2.6)

- Tham số 𝛽 là trọng số quyết định mức độ coi trọng Precision hay Recall: + 𝛽 > 1: Recall được ưu tiên hơn

Trang 28

+ 𝛽 = 1: Precision và Recall có mức ưu tiên ngang nhau + 𝛽 < 1: Precision được ưu tiên cao hơn

Area Under the Curved (AUC)

- AUC [13] là một chỉ số thể hiện hiệu năng phân loại của mô hình Classification trên toàn bộ giá trị ngưỡng từ [0-1] Với AUC là phần diện tích bên

dưới của đường cong ROC (The Receiver Operating Characteristic Curve) – đường

cong biểu diễn hiệu suất phân loại của mô hình trên các mức ngưỡng khác nhau

Hình 2.9 Cách tính Sensitivity và Specificity trên Confusion Matrix

- Để vẽ đường cong ROC ta cần tính các giá trị sau:

+ True Positive Rate (Senitivity): là độ nhạy của mô hình cho biết khả năng dự đoán đúng của mô hình trong lớp Positive

𝑇𝑃 + 𝐹𝑁 (2.7)

+ False Positive Rate là độ sai của mô hình Ngược lại với giá trị Specificity cho biết mức độ dự đoán chính xác của mô hình cho các dữ liệu thuộc lớp Negative

𝐹𝑃𝑅 = 1 − 𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 (2.8) 𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 = 𝑇𝑁

𝑇𝑁 + 𝐹𝑃 (2.9)

Nguồn https://drive.google.com/uc?id=1BSa0qIWrnWxWj3fqiUo5bNqp0XG4vvde

Trang 29

Hình 2.10 Đồ thị biểu diễn đường cong ROC

- Từ đường cong ROC ta có thể tính được độ đo AUC là phần diện tích bên dười đường cong Mô hình có AUC càng lớn thì cho kết quả càng chính xác và ngược lại Chỉ số AUC càng cao cho thấy mô hình dễ phân loại đúng cho các lớp ở Positive và Negative

2.2.3 Phương pháp đánh giá hiệu năng

- Để đánh giá một mô hình Deep Learning có hoạt động tốt hay không, ngoài độ chính xác thì một yếu tố quan trọng không kém đó chính là hiệu năng tính toán của mô hình

- Có hai thông số quan trọng để đánh giá hiệu năng của mô hình:

+ Độ trễ (Latency) là thời gian cần cho quá trình tính toán của một mô hình DL được tính từ lúc nhận dữ liệu đầu vào đến khi ra được kết quả

+ Thông lượng (Throughput) là toàn bộ số lượng ngõ vào được mô hình DL tính toán trong một khoảng thời gian

- Khi tối ưu hoá mô hình Deep Learning, mục tiêu chính là giảm độ trễ của mô hình và tăng thông lượng xử lý Mô hình càng tốt khi có thông lượng xử lý càng cao và độ trễ càng thấp

- Ở đề tài luận văn này, nhiệm vụ của các mô hình DL là xử lý dữ liệu ảnh và trả về kết quả suy luận Do đó số lượng ảnh được xử lý trong một khoảng thời gian chính là Throughput của mô hình và thời gian trung bình để suy luận (Inference time)

Trang 30

một ảnh là Latency của mô hình mà chúng ta muốn đánh giá Mà ta cũng đã biết số lượng ảnh được xử lý trong một giây cũng chính là FPS (frame per second)

- Chính vì thế, để đồng bộ với thông số tốc độ của camera cho dễ dàng trong quá trình so sánh và đánh giá, trong luận văn này thông số Throughput của model được tính trên đơn vị FPS và Latency chính là thời gian suy luận có đơn vị là ms

- Cách thức tính toán các thông số hiệu năng của mô hình được thực hiện như Hình 2.11 Đầu tiên, hình ảnh sau khi đã được tiền xử lý (pre-processing) sẽ được gửi (request) từ Client đến Server theo giao thức gRPC Tại Server, Triton Serving có nhiệm vụ nhận ảnh và thực hiện suy luận AI bằng cách đưa hình ảnh đó vào mô hình Object Detection đã được huấn luyện trước đó và trả kết quả về cho Client

- Với giao thức gRPC Unary, tại Client thực hiện gửi tuần tự từng bức ảnh lên Server và đợi kết quả trả về sau đó gửi tiếp ảnh tiếp theo cho đến hết quá trình suy luận Độ trễ của mô hình là khoảng thời gian trung bình mà mô hình DL ở Server thực hiện xong quá trình tính toán của một request

- Vì mô hình này được triển khai tính toán trên GPU RTX 3090 có hiệu suất tính toán rất mạnh mẻ, do đó việc gửi lần lượt từng ảnh đến Server và đợi kết quả sẽ không phản ánh hết được hiệu năng của mô hình Việc ta cần làm là phải tạo ra một tải lượng lớn trong một khoảng thời gian nhất định để có thể khai thác hết hiệu năng của GPU

Trang 31

Hình 2.11 Cách tính hiệu năng của mô hình

- Do đó, thay vì chỉ có một Client gửi kết quả, ta sẽ khởi chạy multi-threading nhiều luồng song song để tạo ra nhiều Client và gửi cùng lúc nhiều ảnh lên Server để tạo ra một lượng request liên tục cùng một lúc để GPU hoạt động hết công suất Số lượng Client chạy cùng một lúc còn được gọi là concurrent request (ccu) và số lượng ảnh trong một concurrent (ccu_num_images) ta có thể tuỳ chọn là 100 hay 200 ảnh

- Thời gian tính toán (Inference Time) của mô hình được tính như sau:

Trang 32

2.3 Giải mã luồng camera

2.3.1 Real Time Streaming Protocol (RTSP)

- RTSP (Real Time Streaming Protocol) [14] – Giao thức truyền thông thời gian thực là một giao thức điều khiển dùng để truyền tải nội dung của các thiết bị đa phương tiện qua các mạng IP RTSP thường được các ứng dụng dùng để giao tiếp với các thiết bị chủ để lấy các media file được yêu cầu như hình ảnh, video hay audio

- Hiện nay, RTSP được sử dụng là giao thức chính trong các hệ thống camera IP Nhờ vào nó, ta có thể xem trực tiếp được hình ảnh từ các camera an ninh để phục vụ cho quá trình giám sát

Nguồn https://fptshop.com.vn/tin-tuc/danh-gia/tat-ca-nhung-gi-ban-can-biet-ve-rtsp

Hình 2.12 Giao thức RTSP để lấy dữ liệu từ IP camera

- Trong đề tài luận văn này, với mục đích xử lý hình ảnh được trích xuất từ các IP Camera, thì RTSP chính là giao thức chính để các ứng dụng trong hệ thống giám sát của chúng ta sử dụng để lấy dữ liệu từ các camera

- Về mã hoá dữ liệu trên đường truyền, thông thường các camera sẽ nén dữ liệu hình ảnh theo 2 chuẩn phổ biến nhất hiện nay là H264 [15] và H265 [16] Các camera khi trả dữ liệu về cho thiết bị Client thông qua giao thức RTSP sẽ tiến hành nén dữ liệu (Encoding), tại thiết bị nhận sẽ tiến hành giãi nén dữ liệu (Decoding) để có thể thu được các hình ảnh và trình chiếu trực tiếp

2.3.2 NVIDIA DeepStream SDK

- DeepStream SDK [17] được phát triển bởi NVIDIA là một bộ công cụ dùng

Trang 33

streaming pipeline để xử lý các tín hiệu từ cảm biến và suy luận AI giúp tối ưu hoá được phần mềm đồng thời tăng tốc phần cứng

Nguồn https://developer.nvidia.com/deepstream-sdk

Hình 2.13 Quá trình xử lý dữ liệu streaming của DeepStream SDK

- Chính vì tối ưu hoá được quá trình xử lý tín hiệu streaming nên DeepStream có thể dễ dàng được triển khai ở các máy tính nhúng của NVIDIA hạn chế về tài nguyên phần cứng như Jetson Nano, Jetson Xavier, …

- Trong đề tài luận văn này, ta sẽ tận dụng khả năng xử lý dữ liệu video streaming để giải mã dữ liệu từ các camera thực thi trên Jetson Nano để tối ưu được tài nguyên phần cứng

2.4 Tối ưu hoá mô hình Deep Learning bằng TensorRT 2.4.1 Giới thiệu về TensorRT

- NVIDIA TensorRT [18] là một SDK được tạo ra với mục đích tối ưu hoá các mô hình Deep Learning, nâng cao hiệu năng tính toán cho phần cứng (GPU) Nó có thể giúp các mô hình suy luận kết quả ở các mức chính xác tính toán khác nhau như FP32, FP16, INT8

- TensorRT hỗ trợ đa nền tảng giúp Server có thể quản lý nhiều mô hình mà không bị giới hạn về tài nguyên và bộ nhớ Có thể tối ưu hoá nhiều dạng mô hình Deep Learning khác nhau như TensorRT, TensorFlow, Pytorch, TensorFlow GraphDef, TensorFlow SavedModel, ONNX Runtime, …

Trang 34

Nguồn https://developer.nvidia.com/tensorrt

Hình 2.14 Tối ưu hoá model bằng TensorRT

- TensorRT có các tính năng [19] nổi trội nhằm mục đích tối ưu hiệu năng thực thi của các mô hình Deep Learning thể hiện ở Hình 2.14:

+ Reduce Mixed Precision (Giảm độ chính xác hỗn hợp)

+ Layer and Tensor Fusion (Hợp nhất các tensor và lớp của model) + Kernel Auto-turning (Tự điều chỉnh các lớp dữ liệu cho phù hợp) + Dynamic Tensor Memory (Điều chỉnh dung lượng bộ nhớ) + Mutil-Stream Execution (Xử lý song song nhiều luồng) + Time Fusion (Tối ưu hoá tính toán của các Kernel)

- Hai chức năng chính ảnh hưởng đến cấu trúc và trọng số của các mô hình Deep Learning sau khi tối ưu là Reduce Mixed Precision và Layer Tensor Fusion

2.4.2 Layer Tensor Fusion

- Nhiệm vụ chính của tính năng Layer Tensor Fusion [19] [20] là phân tích cấu trúc của các mạng Neural Network và tìm kiếm những cấu trúc mạng nào có thể thực hiện tối ưu hoá TensorRT sẽ tái cấu trúc lại các lớp mạng này để quá trình tính toán được nhanh và hiệu quả hơn mà không làm thay đổi kết quả trính toán cơ bản

Trang 35

lệnh tính toán này đều thực hiện rất nhanh bằng GPU và các nhân CUDA (CUDA Cores) [21] nhưng lại phải tốn thời gian đọc và ghi dữ liệu vào nhân Tensor (Tensor Cores) [21] ở mỗi lớp tính toán

- TensorRT sẽ dùng phương pháp Tensor Fusion để kết hợp các kernel theo chiều dọc và tính toán tuần tự nhau Việc làm này sẽ làm giảm việc khởi chạy nhân CUDA nhiều lần và tránh luôn việc đọc ghi dữ liệu giữa các lớp Tensor

Nguồn http://www.serc.iisc.ac.in/serc_web/wp-content/uploads/2021/04/TENSORRT.pdf

Hình 2.15 Cấu trúc mạng trước và sau khi tối ưu bằng Layer và Tensor Fusion

- Hình 2.14 thể hiện quá trình tái cấu trúc lại các layer có thể tối ưu hoá của một mạng Neural Network, các lớp Convolutional, Bias và ReLU được kết hợp lại thành một kernel duy nhất gọi là CBR Sau đó thay vì thực thi 3 phép tính cho 3 layer ta chỉ cần tính một lần duy nhất cho kernel CBR và có cùng một kết quả

2.4.3 Reduce Mixed Precision

- Các mạng Neural Network thường được huấn luyện với độ chính xác của các trọng số là 32-bit hoặc 64-bit để giúp cho quá trình học của mô hình bằng thuật toán lan truyền ngược (Back-Propagation) [22] được tốt hơn Tuy nhiên việc tính toán trong quá trình ứng dụng các mạng này vào thực tế sẽ mất nhiều thời gian vì tầm giá trị lớn Trong khi tính toán thực tế (không huấn luyện) thì Back-Propagation là không cần thiết

Trang 36

Nguồn http://www.serc.iisc.ac.in/serc_web/wp-content/uploads/2021/04/TENSORRT.pdf

Hình 2.16 Các mức chính xác của model

- Do đó, việc sử dụng một mô hình với độ chính xác tính toán của các trọng số thấp hơn như FP32, FP16 hay INT8 là cần thiết để dung lượng của mô hình nhẹ hơn, quá trình tính toán nhanh hơn nhiều lần Quá trình chuyển đổi độ chính xác của mô hình từ FP32 sang FP16 hay INT8 gọi là quantization [18] [19]

Nguồn http://www.serc.iisc.ac.in/serc_web/wp-content/uploads/2021/04/TENSORRT.pdf

Hình 2.17 Hiệu năng của model ResNet-50 ở các mức FP32, FP16 và INT8

- Tuy nhiên, việc chuyển đổi mức độ chính xác của mô hình sẽ làm thông tin trọng số của mô hình mất mát dẫn tới độ chính xác của mô hình sẽ giảm đi so với mô hình gốc Ngược lại, đánh đổi của việc giảm độ chính xác thì hiệu năng tính toán của mô hình sẽ tăng đáng kể như Hình 2.17

Trang 37

2.5 Nền tảng triển khai mô hình Deep Learning trên Server 2.5.1 Triton Serving

- Có tên gọi đầy đủ là NVIDIA Triton Inference Server [23] là một bộ công cụ mã nguồn mở được phát triển bởi NVIDIA dùng để triển khai (deploy) các mô hình Deep Learning lên môi trường production (Server) và giúp các mô hình tương thích cao với các phần cứng của họ

Nguồn https://developer.nvidia.com/nvidia-triton-inference-server

Hình 2.18 Mô tả mô hình Triton Serving

- So với các Inference Server khác hiện nay, Triton Serving có rất nhiều ưu điểm như:

+ Hỗ trợ đa nền tảng (Support Multiple Frameworks): Triton Serving cho phép các nhà phát triển có thể triển khai nhiều loại mô hình AI khác nhau, được đào tạo trên nhiều framework khác nhau như TensorFlow, NVIDIA TensorRT [18],

Trang 38

Pytorch, ONNX Runtime, … Ngoài ra, ta có thể triển khai Triton Serving ở môi trường khác nhau như tại máy cục bộ, đám mây hoặc các thiết bị biên (Edge Devices) + Hiệu năng suy luận cao (High-Performance Inference): do Triton Serving được xây dựng bởi NVIDIA-một nhà sản xuất phần cứng (GPU) dành cho các nghiên cứu và ứng dụng AI lớn nhất hiện nay Chính vì thế độ tối ưu phần cứng của Triton Serving là rất tốt giúp cho việc tính toán trở nên nhanh hơn và tiết kiệm tài nguyên hơn do đó rất thích hợp cho các ứng dụng về Streaming Inference

+ Việc triển khai các mô hình lên Triton Serving rất dễ dàng và nhanh chóng khi hiện nay nó được hỗ trợ dưới dạng Docker Container

- Triton Serving có nhiều tính năng hữu ích cho quá trình triển khai một sản phẩm AI như:

+ Có thể tải lên cùng lúc nhiều model AI khác nhau

+ Hộ trợ các chuẩn giao tiếp tốt nhất hiện nay như REST API, gRPC + Có thể kết hợp suy luận nối tiếp nhiều model với nhau bằng tính năng Ensemble Models [24] và Ensemble Scheduler [24]

+ Hỗ trợ Dynamic Batching giúp tối ưu tài nguyên tính toán

2.5.2 DALI Triton Backend

- NVIDIA DALI (Data Loading Library) [25] là một thư viện được NVIDIA xây dựng với mục đích tăng tốc quá trình tiền xử lý dữ liệu đầu vào của các ứng dụng có sử dụng mô hình Deep Learning DALI có thể thực thi ở nhiều phần cứng khác nhau như CPU hoặc GPU

Nguồn https://developer.nvidia.com/blog/accelerating-inference-with-triton-inference-server-and-dali

Trang 39

- Vì có thể thực thi trên GPU nên nhờ vào DALI việc xử lý dữ liệu ngõ vào của các mô hình sẽ nhanh hơn và ít tốn tài nguyên hơn so với các phương pháp xử lý dữ liệu truyền thống Ta hoàn toàn có thể kết hợp NVIDIA DALI với Triton Serving để tối ưu hoá quá trình suy luận AI, giảm độ trễ khi phải tiền xử lý dữ liệu đặc biệt là dữ liệu ảnh

- Kết hợp với tính năng Ensemble Models [26], ta sẽ dễ dàng xây dựng một AI Inference Pipeline trên Triton Serving giúp việc triển khai các ứng dụng AI có thể diễn ra một cách dễ dàng hơn

Nguồn https://developer.nvidia.com/blog/accelerating-inference-with-triton-inference-server-and-dali

Hình 2.20 Mô tả quá trình dùng DALI trong Ensemble Model của Triton Serving

3 QUÁ TRÌNH THỰC HIỆN 3.1 Ý tưởng thực hiện đề tài

3.1.1 Giải quyết các bài toán trong trạm biến áp

- Với mục tiêu ban đầu là dựa vào hệ thống các camera giám sát được lắp đặt sẵn để giải quyết các bài toán thực tế trong trạm biến áp như: phát hiện người đột nhập vào trạm, phát hiện người di chuyển vào vùng nguy hiểm (không được phép), phát hiện người không đội mũ bảo hộ chuyên dụng Nhận thấy điểm chung và cũng là vấn đề quan trọng để giải quyết 3 bài toán trên là cần phải phát hiện được người dựa vào hình ảnh trích xuất từ camera

- Chính vì thế, cần phải huấn luyện một mô hình học sâu (Deep Learning Model) có khả năng nhận diện vật thể hay còn gọi là mô hình nhận diện vật thể (Object Detection Model) để nhận diện chính xác người trong nhiều trường hợp và

Trang 40

trong điều kiện ngoại cảnh khác nhau Ở phần 3.2 sẽ trình bày các huấn luyện và đánh giá độ chính xác của các mô hình khác nhau để tìm ra một mô hình thích hợp nhất

3.1.2 Giải quyết bài toán tốc độ xử lý

- Qua quá trình khảo sát thực tế trong các Trạm Biến Áp, số lượng camera được lắp đặt sẵn trong trạm biến áp tầm khoảng từ 15-20 camera Nếu giả sử mỗi camera có tốc độ trung bình khoảng 25 FPS (frame per second) thì số lượng ảnh cần phải xử lý AI trong một giây là 500 frames, đây là một số lượng ảnh rất lớn cần được xử lý và chưa tính đến các tác vụ khác Chính vì thế để đảm bảo một hệ thống 20 camera có thể suy luận AI chính xác và phải duy trì được tốc độ báo động real-time là một bài toán cực kỳ khó khăn và cần phải có một số cân nhắc và đánh đổi

- Đầu tiên cần phải có một máy chủ (Server) đủ mạnh để có thể xử lý một lúc nhiều việc như: decoding luồng camera, xử lý ảnh, suy luận AI và lưu trữ dữ liệu, … Việc xử lý quá nhiều công việc sẽ ảnh hưởng đến hiệu năng của Server cũng như không đảm bảo được độ ổn định của hệ thống Trong khi hiện nay, có rất nhiều máy tính nhúng có thể giải quyết các tác vụ xử lý ảnh rất tốt và giá thành rẻ Chính vì thế, nhằm giảm tải cho Server, đề tài luận văn đề xuất một hệ thống xử lý AI cho các camera kết hợp giữa Cloud Computing và Edge Computing Chi tiết sẽ được trình bày rõ hơn ở phần 3.4

- Chưa dừng ở đó, với một khối lượng xử lý rất lớn đòi hỏi thời gian suy luận của DL Model cần phải rất nhanh Tuy nhiên độ chính xác của các DL model tỷ lệ thuận với độ phức tạp của model đó, đồng nghĩa tỷ lệ nghịch với tốc độ xử lý Do đó, một mô hình có độ chính xác càng cao cần có nhiều thời gian xử lý và điều này là không phù hợp cho các bài toán cần tốc độ xử lý nhanh như camera Để giải quyết bài toán này ta cần phải tối ưu hoá các mô hình DL đã huấn luyện để có thể tương thích tốt với phần cứng nhằm tăng tốc độ xử lý và vẫn duy trì được độ chính xác ở mức chấp nhận được Đồng thời cần có một nền tảng để triển khai các mô hình DL

Ngày đăng: 31/07/2024, 10:13

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

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

TÀI LIỆU LIÊN QUAN

w