Lý thuyết ứng dụng trong đồ án

Một phần của tài liệu HỆ THỐNG PHÁT HIỆN VI PHẠM KHOẢNG CÁCH 2m và ĐEO KHẨU TRANG (Trang 40 - 51)

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT

2.7.Lý thuyết ứng dụng trong đồ án

2.7.1. Kiến trúc yolo

Thuật toán Yolo là một thuật toán hoạt động trên hệ thống thời gian thực, được xây dựng trên nền tảng học sâu để giải quyết các vấn đề phát hiện đối tượng cũng như theo dõi đối tượng khác nhau. Kiến trúc của Yolo có thể được quan sát từ hình bên dưới.

Kiến trúc chứa các lớp hình ảnh đầu vào chịu trách nhiệm nhận các đầu vào sẽ được chuyển đến các lớp tiếp theo, đầu vào có thể là bất kỳ hình ảnh nào tùy thuộc vào các trường hợp sử dụng. Cùng với lớp đầu vào là kiến trúc DarkNet, đây là một mạng thần kinh mã nguồn mở mà khung công tác được tạo với sự trợ giúp của C và cuda, khung công tác này có yolo để phát hiện đối tượng và theo dõi đối tượng.

Hơn nữa, kiến trúc bao gồm lớp phẳng được kết nối dày đặc với lớp phức hợp cũng được kết nối dày đặc để truyền dữ liệu từ mỗi nút đến các nút khác trong kiến trúc, tương tự, điều này được truyền đến lớp đầu ra tạo ra 4 phần giá trị, 4 phần đó mô tả giá trị dự đoán cho khung giới hạn, ký hiệu là x, y, w, h, cùng với điểm phát hiện đối tượng cộng với xác suất của lớp dự đoán. Yolo này là một phần của dòng máy phát

hiện vật thể One-Shot chính xác và nhanh chóng, ngoài ra còn có một máy phát hiện vật thể Two-Shot.

Hình 2.16. Kiến trúc yolo

Các công cụ phát hiện đối tượng Two-Shot phổ biến là R-CNN, Fast R-CNN và Faster R-CNN, các thuật toán này chính xác trong việc thu được kết quả dựa trên các trường hợp sử dụng nhất định nhưng chậm hơn so với thuật toán của Yolo, You Only Look Once là một thuật toán xem xét hình ảnh trong nháy mắt và dựa trên cái nhìn đó dự đoán các khung giới hạn liên quan đến các lớp nhất định, các lớp có thể là bất kỳ thứ gì khác nhau, từ các con vật như con chó đến các đồ vật như xe hoặc súng đến xe tăng, tính năng đặc biệt này làm cho Yolo nổi bật hơn các mạng khác. Các loại phát hiện vật thể khác nhau dựa trên ảnh có thể được quan sát trong hình bên dưới.

Từ hình dưới, chúng ta có thể tìm ra các thành phần khác nhau, có 4 loại thành phần khác nhau.

 Input đầu vào cho phát hiện có thể là hình ảnh hoặc video dựa trên các trường hợp sử dụng được chỉ định trong nghiên cứu.

 Backbone của bộ phát hiện đối tượng chứa các mô hình, các mô hình này có thể là ResNet, DenseNet, VGG.

 Neck trong phát hiện đối tượng hoạt động như một lớp phụ, đi song song với bạkbone và head.

 Head là mạng dựa trên chịu trách nhiệm phát hiện các đối tượng các hộp giới hạn.

Hình 2.17. Các loại phát hiện vật thể khác nhau

2.7.2. Các kiến trúc sử dụng trong nghiên cứu

a) Tính toán khoảng cách

Hình dưới đây giải thích kiến trúc để tính toán khoảng cách giữa các đối tượng và hiển thị luồng cách đầu ra được tạo ra với việc sử dụng yolo v4.

Hình 2.18. Kiến trúc darknet

b) Phân tích khẩu trang bằng transfer learning

Hình 2.19. Các đặc trưng học được từ mạng CNN

Quá trình áp dụng tri thức đã được học từ một mô hình trước sang bài toán hiện tại được gọi là transfer learning. Transfer learning là một trong những phương pháp hiệu quả trong trường hợp dữ liệu có kích thước nhỏ. Ứng dụng transfer learning có thể giúp cải thiện độ chính xác của mô hình và đồng thời giảm thiểu thời gian huấn luyện.

Như chúng ta đã biết các layers CNN về bản chất là một feature extractor mà mỗi một layer CNN sẽ có tác dụng trích lọc đặc trưng theo những level khác nhau.

Các đặc trưng học được từ mạng CNN. Ở những Convolutional Layers đầu tiên, các bộ lọc phát hiện được các chi tiết chung dưới dạng các nét ngang, dọc và các cạnh của ảnh. Đây là những đặc trưng bậc thấp (low level feature) và khá chung chung. Chúng ta chưa thể nhận biết được vật thể dựa trên những đường nét này. Ở những Convolutional Layers cuối cùng là những đặc trưng bậc cao (high level feature) được tổng hợp từ đặc trưng bậc thấp. Đây là những đặc trưng tốt và có sức mạnh phân loại các classes.

Quá trình transfer learning sẽ tận dụng lại các đặc trưng được học từ những pretrained-model. Để hiểu hơn về cách thức chuyển giao, chúng ta cùng tìm hiểu về kiến trúc của mô hình sử dụng transfer learning:

Phrase 1: Là một mạng Base Network có tác dụng trích lọc đặc trưng được cấu tạo từ các Convolutional 2D Layers. Base Network sẽ được trích xuất từ một phần của pretrained-model sau khi loại bỏ các top fully connected layers. Để dễ hình dung mình giả định model pretrained được sử dụng là VGG16, một kiến trúc khá tốt được google

phát triển vào năm 2014. Điểm cải tiến của VGG16 so với các kiến trúc CNN trước đó là sử dụng nhiều Convolutional 2D Layers nối tiếp nhau. Cụ thể các layers có cấu trúc [[Conv]_n-MaxPool]m thay vì [Conv-MaxPool]m, với m, n là tần suất xuất hiện của các khối mạng được lặp lại bao bọc trong ngoặc vuông.

Hình 2.20. Kiến trúc của mạng VGG16 được sử dụng làm base network trong transfer learning

Phrase 2: Là các Fully Connected Layers giúp giảm chiều dữ liệu và tính toán phân phối xác suất ở output. Bản chất Fully Connected Layers chính là một mạng MLP (Multiple Layer Perceptron), một kiến trúc nguyên thủy nhất của thuật toán neural network. Số lượng các units ở output chính bằng với số lượng classes của bài toán phân loại. Các hệ số của fully connected layers sẽ được khởi tạo một cách ngẫu nhiên.

Quá trình khởi tạo mô hình chúng ta sẽ tận dụng lại các weight của base_network. Dữ liệu ảnh sau khi đi qua base_network sẽ tạo ra những đặc trưng tốt, những đặc trưng này chính là đầu vào input X cho mạng MLP để dự báo y. Hệ số W và b được khởi tạo ngẫu nhiên. Các hệ số của base network được load lại từ pretrain model.

Hình 2.21. Kiến trúc base network kết hợp với full connected layer

c) Thao tác thực hiện huấn luyện

Dưới đây là các ví dụ về những bộ dữ liệu nào đã được sử dụng cho mục đích đào tạo. Có thể quan sát thấy nó từ hình dưới, cho thấy khả năng phát hiện một người dựa trên tập dữ liệu COCO, tập dữ liệu này chứa một số lượng lớn các lớp khác nhau, từ con mèo đến xe ô tô hay đến con người, … (adsbygoogle = window.adsbygoogle || []).push({});

Tương tự như vậy, hình bên dưới cho thấy tập dữ liệu tùy chỉnh được sử dụng để Phát hiện khẩu trang, tập dữ liệu tùy chỉnh này chứa 600 hình ảnh với các chú thích được tạo cho mọi đối tượng hiện diện trong khung. Nhu cầu tạo tập dữ liệu tùy chỉnh là do tập dữ liệu COCO không chứa các lớp để phát hiện mặt nạ.

Hình 2.23. Mẫu tập dữ liệu tùy chỉnh - -

Dựa trên hình trên, chú thích được tạo cho các lớp khác nhau hiện diện trong khung, có thể quan sát từ hình dưới, nó chứa 2 lớp khác nhau (0 và 2). Các lớp được sử dụng để phát hiện mặt nạ lần lượt là 0 đối với tốt, 1 đối với không có và 2 đối với xấu.

Hình 2.24. Chú thích cho các đối tượng dựa trên hình ảnh

Tương tự, tệp chú thích khác được tạo dựa trên phát hiện đối tượng người để tạo các khung giới hạn dựa trên các đối tượng được phát hiện trong khung. Có thể quan sát thấy nó từ hình bên dưới, chứa một lớp duy nhất (0 cho người), mục tiêu đầu ra cho khoảng cách xã hội là phát hiện người đó trong một khung và dựa trên khoảng cách giữa các đối tượng khác, phép đo được tính toán. Để tính toán khoảng cách giữa các đối tượng, công thức khoảng cách Euclide được sử dụng.

Hình 2.25. Chú thích của các đối tượng dựa trên hình ảnh

Dưới đây là biểu đồ đào tạo được vẽ để đào tạo tập dữ liệu tùy chỉnh, tập dữ liệu tùy chỉnh được sử dụng trong nghiên cứu này có liên quan đến khẩu trang, epoch mà nó được đào tạo là 4000 epochs, có thể quan sát thấy nó từ hình dưới, mất mát so

với epoch đã giảm dần sau 1200 epochs và không đổi trong suốt epochs trước, điều này giải thích rằng tổn thất đào tạo được giảm thiểu cho đến epoch 1200 và sau đó là không đổi, có nghĩa là epochs đào tạo nên được đặt vào khoảng 2000, vì số lần lặp lại nhiều hơn hiện trong việc huấn luyện dữ liệu, thì càng cần nhiều sức mạnh tính toán hơn để thực hiện.

Hình 2.26. Biểu đồ theo dõi quá trình huấn luyện mô hình Yoliv4 tiny

d) Kết quả

Các kết quả liên quan đến nghiên cứu dựa trên khoảng cách xã hội được thể hiện trong hình dưới, kết quả được chia thành 2 hình ảnh, bên trái của hình ảnh cho biết đầu ra với các khung giới hạn tương ứng dựa trên tính toán khoảng cách.

Hình 2.27. Phát hiện khoảng cách xã hội

Tương tự, dự án được thực hiện về phát hiện khẩu trang có kết quả trong hình dưới đây cho thấy các đối tượng được phát hiện với các khung giới hạn tương ứng, mục tiêu là phát hiện xem đối tượng (khuôn mặt) có đeo khẩu trang hay không, dựa trên đó nó được tạo ra một khung giới hạn có màu khác và hiển thị tên lớp được liên kết với nó. Màu được sử dụng là xanh lá cây cho không có khẩu trang và tím cho có khẩu trang.

Cuối cùng, để đánh giá việc đào tạo mô hình dựa trên tập dữ liệu được cung cấp đã được thực hiện với mAP (Độ chính xác trung bình trung bình), nó dựa trên các tính toán cho Độ chính xác trung bình trên tất cả các phép tính dựa trên các lớp có trong dữ liệu đào tạo và tổng thể Ngưỡng IoU (giao nhau trên liên kết). Bảng bên dưới hiển thị độ chính xác trung bình cho từng danh mục và các giá trị thu được bởi True Positive và False Positive.

Hình 2.28. Phát hiện mặt nạ ở nơi đông người

Bảng 2. 1 Tỷ lệ phần trăm của ngưỡng mà AP được tính là 0,25% với 101 điểm thu hồi Lớp Nhãn Độ chính xác trung bình (AP) True Positive False Positive

0 Tốt 98.81% 3431 127

1 Không có 93.95% 109 21

2 Xấu 97.45% 634 29

Từ bảng trên, có thể quan sát thấy tỷ lệ các lớp cho AP là trên 90% cho mỗi loại.

Một phần của tài liệu HỆ THỐNG PHÁT HIỆN VI PHẠM KHOẢNG CÁCH 2m và ĐEO KHẨU TRANG (Trang 40 - 51)