Đánh giá hiệu năng

Một phần của tài liệu 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 (Trang 86)

4. KẾT QUẢ VÀ ĐÁNH GIÁ

4.1. Kết quả thuật toán nhận diện chuyển động

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

- Để đánh giá hiệu năng tính tốn của thuật tốn phát hiện chuyển động bằng CUDA OpenCV (CUDA_AbsDiff) mà luận văn đề xuất, ta cần so sánh phương pháp này với các phương pháp phát hiện chuyển động khác để có một kết luận chính xác nhất. Ở đây ta so sánh với hàm phát hiện chuyển động bằng Optical Flow sử dụng thuật tốn Farneback (CUDA_OF_Farneback) và một mơ hình có cùng cách tính như CUDA_AbsDiff nhưng thực hiện tính tốn trên CPU (CPU_AbsDiff).

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

- Từ các giá trị đo được, ta có được sơ đồ so sánh hiệu năng như sau

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

- Ta có thể thấy được, phương pháp so sánh hai khung ảnh liên tiếp (AbsDiff) cho kết quả tính tốn tốt hơn so với phương pháp OpticalFlow của OpenCV. Tuy nhiên, CPU_AbsDiff dù có hiệu năng tốt nhất nhưng nó thực thi hồn tồn trên CPU mà cần rất nhiều tài ngun CPU cho q trình tính tốn này. Do đó, ta khơng cịn nhiều tài nguyên để thực hiện tác vụ khác. Do vậy, dù có kết quả hiệu năng khơng cao bằng CPU_AbsDiff do phải tốn thời gian cho quá trình tải dữ liệu từ CPU lên GPU để tính tốn nhưng CUDA_AbsDiff cũng có kết quả khá cao và khơng kém so với CPU_AbsDiff. Vì thế, phương pháp CUDA_AbsDiff là phương pháp tốt nhất để tích hợp vào hệ thống.

4.2.! Kết quả huấn luyện mơ hình Deep Learning 4.2.1.!Mơ hình Object Detection 4.2.1.!Mơ hình Object Detection

4.2.1.1.! Phương pháp đánh giá

- Như mục đích ban đầu là tìm ra một mơ hình nhận diện vật thể có độ chính xác cao nhất để sử dụng cho toàn bộ các bài tốn của hệ thống giám sát. Chính vì thế, ta đã chọn huấn luyện hai mơ hình có độ chính xác cao nhất hiện nay là EfficientDet và YOLOv5. Ta cần so sánh hai mơ hình này và chọn ra mơ hình thích hợp nhất.

- Để đánh giá các mơ hình nhận diện vật thể như EfficientDet và YOLOv5 người ta thường dùng một thông số gọi là mAP đã được giải thích ở chương 2.

- Nhằm đánh giá trung thực nhất, ta thực hiện đánh giá trên tập dữ liệu Substation gồm 306 ảnh đã được giới thiệu ở phần 3.2.1. Tập dữ liệu Substation là tập dữ liệu thu thập trong môi trường làm việc thực tế của trạm biến áp và hoàn tồn khơng được dùng để huấn luyện hai mơ hình trên mà chỉ dùng với mục đích đánh giá mơ hình.

-Ta thực hiện suy luận tất cả các ảnh trong tập dữ liệu trên với hai mơ hình đã huấn luyện cũng như với một số mơ hình đã huấn luyện sẵn (pre-trained models) để có cách nhìn tổng quan nhất.

4.2.1.2.! Kết quả

- Một số kết quả suy luận của 2 mơ hình EfficientDet–D1 và YOLOv5–m được thể hiện ở các hình ảnh sau:

(b)

(c)

(d)

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à YOLOv5-m (phải)!

- Từ các kết quả dự đốn của hai mơ hình thể hiện ở các hình trên, bằng mắt thường ta có thể thấy được mạng YOLOv5-m có kết quả tốt hơn trong một số tình huống người đứng lẫn khuất sau các thanh sắt, cột điện (Hình 4.3(c)). Cả hai mơ hình ít xảy ra trường hợp dự đốn nhằm vật thể khác thành người, tuy nhiên vẫn có một số tình huống mà hai mơ hình bỏ sót người.

- Tiến hành tính các giá trị Precision và Recall từ tập dữ liệu đánh giá trên và thu được biểu đồ đường cong Precision-Recall [12] với 11 mức ngưỡng IoU khác nhau.

Hình 4.4. Đường cong Precision-Recall mơ hình EfficientDet-D1 và YOLOv5-m!

- Thực hiện đánh giá kết quả dự đoán của hai mơ hình vừa huấn luyện và so sánh kết quả với các mơ hình đã được huấn luyện sẵn (pretrained model) đã được công bố [35]. Kết quả đánh giá được thể hiện ở Bảng 4.3.

Bảng 4.3. So sánh độ chính xác của các mơ hình Object Detection

Model mAP AP@75 AP@50 Input Type Dataset

SSD-Mobilenet-v1 47.5 49.8 76.1 640 pre-trained Trên tập dữ liệu Substation SSD-Resnet50-v1 50.9 55.7 77.4 640 pre-trained EfficientDet-D0 44.8 47.6 73.5 512 pre-trained EfficientDet-D1 50.2 53.7 78.3 640 pre-trained EfficientDet-D1 45.8 52.4 63.2 640 our

- Từ kết quả đánh giá trên, ta có thể thấy mơ hình YOLOv5-m mà chúng ta huấn luyện có kết quả tốt hơn nhiều so với mơ hình EfficientDet-D1 và vẫn có độ chính xác cao hơn mơ hình YOLOv5-m pretrained.

- Với kết quả đánh giá thu được, ta có thể kết luận mơ hình YOLOv5-m vừa huấn luyện được có độ chính xác tốt nhất để phát hiện người trong TBA. Một vấn đề cần đánh giá nữa là hiệu năng tính tốn của 2 mơ hình Efficient Det và YOLOv5 khi đã tối ưu bằng TF-TensorRT và TensorRT trên Triton Serving để có kết luận cuối cùng.

4.2.2.!Mơ hình Classification

4.2.2.1.! Phương pháp đánh giá

- Đối với mơ hình Classification được huấn luyện để phân biệt người có đội mũ bảo hộ hay khơng, ta sử dụng mơ hình ResNet-50 [9] như đã trình bày ở các phần trên. Sau khi huấn luyện và đánh giá với tập dữ liệu Validation gồm 817 ảnh và cho độ chính xác 95%.

- Tuy nhiên, như đã nêu ở phần 2 thì độ đo Accuracy chỉ thể hiện một các chung chung về tổng số kết quả dự đốn đúng trong tồn bộ tập dữ liệu và không cho chúng ta cái nhìn cụ thể về độ chính xác của từng lớp dữ liệu. Cộng với việc ta chỉ đánh giá mô hình ResNet-50 vừa huấn luyện trên tập dữ liệu khá nhỏ (817 ảnh) thì khơng thể nào vội vàng kết luận về độ chính xác của mơ hình được.

- Chính vì vậy, ta sẽ tiến hành đánh giá độ chính xác của mơ hình trên các độ đo Precision và Recal, cũng như sử dùng phương pháp AUC đã đề cập ở phần 2 để đánh giá mơ hình.

- Để kết quả có độ tin cậy cao nhất, ta sẽ đánh giá mơ hình với tập dữ liệu Test gồm 5533 ảnh trong đó có 2654 ảnh người khơng đội mũ bảo hộ và 2879 ảnh người có đội mũ bảo hộ.

4.2.2.2.! Kết quả

- Sau khi thực thi suy luận để nhận diện người và phân loại người có đội mũ bảo hộ hay khơng. Đây là một số hình ảnh kết quả ta thu được.

Hình 4.5. Kết quả phân loại của mơ hình ResNet-50

- Tiếp theo ta thực hiện tính các độ đo Precision và Recall của mơ hình ResNet- 50 trên tập dữ liệu Test.

- Ở đây, mơ hình ResNet-50 vừa huấn luyện có 2 lớp dữ liệu cần phân biệt:

class_id=0: mơ hình dự đốn ảnh đầu vào là ảnh người không đội mũ bảo hộ. class_id=1: mơ hình dự đốn ảnh đầu vào là ảnh người có đội mũ bảo hộ.

- Với mục tiêu là báo động khi phát hiện người không đội mũ bảo hộ, ta xem class_id = 0 là lớp Positive và class_id = 1 là lớp Negative. Kết quả của quá trình đánh giá mơ hình ResNet-50 được thể hiện ở Hình 4.6 cụ thể như sau:

+ Mơ hình dự đốn chính xác 2621 ảnh là người khơng đội mũ bảo hộ. + Mơ hình dự đốn sai 33 ảnh người có đội mũ tuy nhiên thực tế là khơng đội mũ.

+ Mơ hình dự đốn sai 224 ảnh người không đội mũ bảo hộ tuy nhiên thực tế là có đội mũ bảo hộ

Hình 4.6. Thống kê kết quả phân loại của mơ hình ResNet-50 trên tập dữ liệu Test

- Ta tính giá trị Precision và Recall của mơ hình

��������� = �� + �� =�� 2621 + 244 = �. ���2621

������ = �� + �� =�� 2621 + 33 = �. ���2621

- Hình 4.7 cho thấy đường cong ROC của mơ hình khi đánh giá độ chính xác trên tập dữ liệu Test.

- Ta thực hiện tính thơng số AUC của mơ hình với kết quả ROC AUC = 0.987. - Đúng với nhận định ban đầu rằng đặt trưng của các nón bảo hộ trong trạm biến áp là màu vàng nên sẽ rất nổi bật do đó q hình huấn luyện mơ hình sẽ rất dễ học được đặc tính màu là đặc trưng quan trọng nhất để phân biệt hai lớp dữ liệu. Do đó ta thu được mơ hình phân loại có độ chính xác rất cao. Tuy nhiên đây cũng là điểm yếu, vì với các điều kiện thiếu sáng như ban đêm hay ngược sáng màu của nón bảo hộ khơng cịn nổi bật sẽ rất dễ gây lầm lẫn cho mơ hình.

4.3.! Kết quả tối ưu mơ hình Deep Learning 4.3.1.!Phương pháp đánh giá 4.3.1.!Phương pháp đánh giá

- Các mơ hình Deep Learning sau khi được huấn luyện và đánh giá đều đạt được độ chính xác khá cao. Tuy nhiên do đây là các mơ hình có độ phức tạp trong kiến trúc cũng như dung lượng khá lớn nên thời gian suy luận của các mơ hình gốc (Native Models) này thường rất lâu và khơng thích hợp cho việc triển khai các mơ hình này lên hệ thống giám sát thực tế.

- Chính vì thế sau q trình sử dụng TensorRT để tối ưu hố mơ hình YOLOv5 cùng như TensorFlow-TensorRT để tối ưu hố mơ hình EfficientDet như đã trình bài ở phần 3.3. Ta cần đánh giá lại độ chính xác của các mơ hình được tối ưu và hiệu năng tính tốn của chúng để tìm ra mơ hình thích hợp nhất. Mơ hình được đánh giá tốt khi có độ chính xác cao và thời gian xử lý nhanh.

- Về đánh giá độ chính xác, ta tiến hành tính độ đo mAP để đánh giá các mơ hình YOLOv5-m được tối ưu hố về mức chính xác FP32 và FP16 so với YOLOv5- m gốc (Native). Tương tự với EfficientDet-D1 được tối ưu hoá về FP32 (chưa thể chuyển về mức chính xác FP16) để so sánh với EfficientDet-D1 Native.

- Về quá trình đánh giá hiệu năng của các mơ hình trên ta thực hiện như phương pháp đã trình bày ở phần 4.1 khi Client và Server được triển khai trên cùng một máy để giảm thời gian truyền tải dữ liệu.

- Các model được đánh giá là:

+ EfficientDet-D1-native: là mơ hình gốc (Native Model) thu được sau khi huấn luyện chưa qua tối ưu hóa.

+ EfficientDet-D1-FP32: là mơ hình đã được tối ưu hóa từ Native

Model bằng TF-TRT có độ chính xác tính tốn FP32.

+ YOLOv5-m-exp23-native: là mơ hình gốc thu được qua q trình huấn luyện chưa qua tối ưu hóa

+ YOLOv5-m-exp23-FP32: là mơ hình đã được tối ưu hóa từ model native bằng TensorRT có độ chính xác tính tốn FP32.

+ YOLOv5-m-exp23-FP16: là mơ hình đã được tối ưu hóa từ model native bằng TensorRT có độ chính xác tính tốn FP16.

- Kết quả của quá trình đánh giá các mơ hình thể hiện ở 2 Bảng 4.3 và 4.4

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

-Từ hai bảng đánh giá trên ta có thể thấy rằng tuy độ chính xác bị suy hao qua q trình tối ưu hố mơ hình bằng TensorRT, tuy nhiên đổi lại hiệu năng tính tốn

của các mơ hình tăng đáng kể, đặc biệt là mơ hình YOLOv5-m-FP16 với hiệu năng tăng hơn 300% so với YOLOv5-m-Native.

- Biểu đồ Hình 4.8 cho ta thấy rõ ràng hơn về lợi ích của việc tối ưu hố mơ hình bằng TensorRT khi dù có độ chính xác tương đương nhau nhưng tốc độ xử lý của YOLOv5-m-FP16 lại vượt trội (gấp 2 lần) so với YOLOv5-m-FP32.

Hình 4.8. So sánh sự tương quan giữa độ chính xác và tốc độ xử lý của các models!

- Chính vì thế, YOLOv5-m-FP16 sẽ được sử dụng làm mơ hình chính cho hệ thống giám sát.

- Cùng với đó, ta cũng đánh giá hiệu năng của mơ hình ResNet-50 khi đã tối ưu về độ chính xác tính tốn là FP16. Ta thực hiện suy luận ở 4 kích thước batchsize ngõ vào khác nhau là 1, 4, 8, 16 tương đương với số ảnh được inference cùng một lúc.

- Ở Bảng 4.6, độ đo FPS không phản ánh số ảnh xử lý trong 1 giây mà thể hiện số lượng request được suy luận trong 1 giây. Ví dụ với batchsize=16, mơ hình có tốc độ xử lý là 84 FPS nghĩa là có 84 request được xử lý, mỗi request có 16 ảnh suy ra có 16*84 = 1344 ảnh được xử lý trong một giây. Từ đây ta có thể thấy được hiệu quả của tính năng Dynamic Batching của Triton Serving khi triển khai cho mơ hình ResNet-50.

4.4.! Kết quả hiệu năng tính tốn trên Triton Serving 4.4.1.!Phương pháp đánh giá 4.4.1.!Phương pháp đánh giá

- Sau khi đánh giá và tìm ra được mơ hình thích hợp nhất cho hệ thống là YOLOv5-m-FP16 có tốc độ xử lý rất cao và độ chính xác ở mức chấp nhận được. Ta tiến hành triển khai mơ hình này lên Triton Serving để sẵn sàng cho việc xử lý AI cho hệ thống.

- Như đã giới thiệu ở phần trước, ngồi việc có thể tạo ra một mơi trường hoạt động cho các mơ hình Deep Learning, Triton Serving giúp chúng ta có thể triển khai một pipeline xử lý AI hoàn chỉnh trên Server nhờ sự hỗ trợ của thư viện DALI. Với mục đích giảm tải cho Client trong việc phải tiền xử lý dữ liệu trước khi gửi lên Server và hậu xử lý khi nhận kết quả, ta đã xây dựng được một serving có thể xử lý hồn tồn q trình pre và post-processing trên Server ở phần 3. Sau đây ta sẽ đánh giá hiệu năng xử lý của các AI pipeline đó và so sánh chúng với các quá trình xử lý truyền thống.

- Ở đây, với phần so sánh các mơ hình Object Detection ta sẽ so sánh quá trình suy luận của mơ hình YOLOv5-m-FP16 với 3 hình thức xây dựng sau:

+ YOLOv5-m-FP16 là mơ hình được triển khai trên Triton Serving là khơng tính thời gian pre-processing và post-processing.

+ YOLOv5-m-FP16 (pre+post client) cũng là mơ hình YOLOv5-m- FP16 trên Triton Serving nhưng ta sẽ tính thêm thời gian cho pre-processing và post- processing ở Client.

+ YOLOv5-m-DALI cũng là mơ hình YOLOv5-m-FP16 nhưng được

- Thực hiện bài đánh giá q trình suy luận của các mơ hình trên với số lượng concurrent request lần lượt là 10 và 100 và số lượng ảnh tương ứng là 200 và 100

ảnh. Ta đánh giá với 3 kích thước ảnh khác nhau là 360x640, 640x640, 720x1280

mỗi quá trình đánh giá thực hiện 3 lần và kết quả là trung bình của 3 lần đánh giá.

4.4.2.!Kết quả

- Kết quả đánh giá của 3 mơ hình trên được thể hiện ở Bảng 4.7

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

- Từ bảng kết quả đo trên, ta thiết lập một đồ thị như Hình 4.9 để dễ dàng so sánh. Dựa vào đồ thị so sánh ta có thể thấy, việc sử dụng DALI để tích hợp q trình pre-processing và post-processing từ Client lên Triton Serving giúp hiệu năng tính tốn cải thiện một cách đáng kể với FPS của mơ hình YOLOv5-m-DALI đạt được là 411 tăng gần 40% so với với YOLOv5-m-FP16 (chưa tính q trình tiền và hậu xử lý) và tăng gấp 4 lần nếu so sánh với YOLOv5-m-FP16 với thời gian xử lý pre-post- processing tại Client.

Hình 4.9. So sánh tốc độ xử lý của các model khi triển khai trên Triton Serving!

- Ngồi ra, ta cũng đánh giá ln hiệu năng thực thi của Triton Serving khi kết hợp tính tốn cả hai mơ hình YOLOv5-m-FP16 và ResNet-50 để phục vụ cho bài toán thứ 3 là phát hiện người khơng đội mũ bảo hộ. Với q trình tính tốn hoàn toàn

Một phần của tài liệu 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 (Trang 86)

Tải bản đầy đủ (PDF)

(113 trang)