2. CƠ SỞ LÝ THUYẾT
2.2. Phương pháp đánh giá mơ hình Deep Learning
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ự đố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ự đốn đúng và tổng số điểm dữ liệu.
Accuracy =correct predictionstotal 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ự đố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ự đốn cao hay thấp.
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ự đố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ự đố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ự đố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 q 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.
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ự đố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ự đố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ự đốn đúng là của lớp Positive. Thể hiện độ chính xác của mơ hình khi dữ đốn các dữ liệu Positive trong tồ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.
+ � = 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 tồ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ự đố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ự đố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)��
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, ngồ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 tố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 q trình tính tố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à tồn bộ số lượng ngõ vào được mơ hình DL tính tốn trong một khoảng thời gian.
- Khi tối ưu hố 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)
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 tố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 q trình tính tốn của một request.
- Vì mơ hình này được triển khai tính tốn trên GPU RTX 3090 có hiệu suất tính tố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.
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 tốn (Inference Time) của mơ hình được tính như sau:
��������� ���� = ��� ∗ ���_���_������ (2.10)�����_����
- Trong đó, total_time là tổng thời gian mà mơ hình thực hiện suy luận cho toàn bộ request của ccu yêu cầu.
- Thơng số FPS được tính như sau:
��� =��������� ���� (2.11)1
- Quá trình đánh giá hiệu năng trong đề tài luận văn này sẽ được sử dụng cùng một phương pháp tính tốn như trên nhưng sẽ khác nhau về các tình huống đánh giá.
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ã hố 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.