SCIENCE - TECHNOLOGY Số 12.2022 Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC
65
NGHIÊN CỨU VÀ XÂY DNG H THNG PHÁT HIỆN ĐÁM ĐÔNG HỖ TRỢ CẢNH BÁO NGUY CƠ LÂY NHIỄM VIRUS CORONA
RESEARCH AND CONSTRUCTION CLOSE DETECTING SYSTEM SUPPORTED WARNING RISK OF CORONA VIRUS Nguyễn Minh Trường1,*, Đường Ngọc Khanh1, Cù Việt Hưng1, Quách Phương Thảo2, Nguyễn Lan Anh3 TÓM TẮT Trong bài báo này, chúng tôi đã xây d
ựng một ứng dụng phát hiện đám
đông, xác định trạng thái của model phát hiện đối tượng theo th
ời gian thực
một cách nhanh chóng. Sau quá trình sàng lọc tất cả các hình truy
ền thống
hình học sâu, chúng tôi xác định xác định bằng h
ình YOLOv5. YOLOv5
cho thấy hiệu suất tốt trong phát hiện vật thể trong thời gian thực. Từ khóa: Thuật toán; phát hiện đối tượng; Yolo; Covid-19. ABSTRACT
In this paper, we have built a crowd detection application, which
determines the state of the model and detects the object in real time quickly.
After sifting through all traditional models and deep learn
identify them using the YOLOv5 model. YOLOv5 shows good performance in real-time object detection. Keywords: Algorithm; object detection; Yolo; Covid-19. 1Lớp CNTT 03-K14, Khoa CNTT, Trường Đại học Công nghiệp Hà Nội 2Lớp CNTT01- K13, Khoa CNTT, Trường Đại học Công nghiệp Hà Nội 3Khoa CNTT, Trường Đại học Công nghiệp Hà Nội *Email: nminhtruongtk@gmail.com CHỮ VIẾT TẮT CNN YOLO R-CNN RPN CSP PANet SSD FPN BiFPN CBL SPP CUDA GPU Convolutional Neural Network (Mạng nơ-ron tích chập) You Only Look One Region Based Convolutional Neural Network Region Proposal Network Cross Stage Partial Networks Path Aggregation Network Single Shot MultiBox Detector Feature Pyramid Networks Bi-directional Feature Pyramid Network Convolutional + Batch normalization + Leaky Spatial Pyramid Pooling Compute Unified Device Architecture Graphics Processing Unit 1. GIỚI THIỆU Để theo dõi cách thực thi giãn cách hội, một số phương pháp sử dụng công nghệ đã ra đời phát triển, dụ việc sử dụng thiết bị đeo được, ứng dụng được tải xuống tự nguyện, phân tích mức sử dụng wi-fi công nghệ xử hình ảnh. Trong bài báo này nhóm nghiên cứu tìm kiếm các giải pháp dựa trên hình ảnh. nhiều lợi ích khác nhau khi sử dụng giải pháp dựa trên hình ảnh. Trước hết, không yêu cầu phần cứng bổ sung bên cạnh y nh, vốn rất sẵn y ảnh điện thoại di động máy ảnh an ninh phổ biến trong thế giới hiện đại. Thứ hai, thông tin bổ sung bên cạnh theo dõi vị tsẵn trong nh ảnh. Các đặc điểm nhân, thể được sử dụng để nhận dạng một người và trang phục trên khuôn mặt thể được sử dụng để xác định xem họ đeo khẩu trang hay không. Tuy nhiên, cũng những thách thức trong việc sử dụng ch tiếp cận dựa trên hình ảnh. Trước hết, các đối tượng quan tâm (con người) sẽ cần được xác định bản địa hóa từ hình ảnh, đây không phải một nhiệm vụ tầm thường kỹ thuật tính năng thường không khái quát hóa loại nhiệm vụ này, do đó, một cách tiếp cận dựa trên học tập sẽ phải được sử dụng cho một nhiệm vụ như vậy, chẳng hạn như R-CNN, YOLO… Thách thức thứ hai đo khoảng cách giữa các thể được phát hiện từ hình ảnh, điều này rất khó hình ảnh thể bsoi, bị méo không bất kỳ tham chiếu nào để liên kết số lượng pixel với số liệu khoảng cách. Chúng tôi thảo luận về các phương pháp tiếp cận khác nhau trên sở kỹ thuật chúng tôi cảm thấy thích hợp nhất để giải quyết vấn đề phát hiện khoảng cách xã hội. 2. CÁC NGHIÊN CỨU LIÊN QUAN Hệ thống phát hiện đám đông đã đang được phát triển bởi nhiều nhóm nghiên cứu từ nhiều nước trên thế giới bởi lợi ích mang lại trong việc giảm thiểu sự lây lan của virus corona. Đã rất nhiều bài toán được ng dụng trong hệ thống này, tuy nhiên hầu hết đều phát triển dựa trên bài toán bản Phát hiện vật thể (Object Detection). Cho tới thời điểm hiện tại, các thuật toán phát hiện vật thể vẫn một trong những thuật toán quan trọng nhất trong phân ngành thị giác máy tính (Computer Vision) bởi
CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 12.2022
66
KHOA H
ỌC
tiền đề để giải quyết rất nhiều bài toán thực tế khác nhau. c thuật toán phát hiện vật thể thường được chia thành 2 nhóm chính one-stage object detection two-stage object detection Two-stage object detection: nhóm các thuật toán (R-CNN [1], Fast-RCNN [2], Faster-RCNN [3], vv) chia việc phát hiện vật thể ra m hai bước. bước một, hình sẽ xử ảnh trích xuất ra các vùng khả ng chứa vật thể từ bức ảnh. dụ, với Faster-RCNN [3] thì trong bước 1 (stage-1), hình sẽ đưa ra 1 sub-network gọi RPN (Region Proposal Network) với nhiệm vụ trích xuất các vùng trên ảnh khả năng chứa đối tượng dựa vào các anchor. Sau khi đã thu được các vùng đặc trưng từ RPN, hình Faster-RCNN sẽ thực hiện tiếp bước 2 là phân loại đối tượng và xác định vị trí. One-stage object detection: các thuật toán (SSD [4], YOLO [5]) không phần trích chọn các vùng đặc trưng như RPN của Faster-RCNN. Các hình thuộc nhóm one-stage object detection này coi việc định vđối tượng (object localization) như một bài toán hồi quy (regression problem) với 4 tọa độ offset, dụ như x, y, w, h cũng dựa trên các pre-define box gọi anchor để làm việc đó. Bằng việc chỉ chạy một thuật toán một lần duy nhất, các thuật toán thuộc nhóm này thường đạt tốc độ nhanh hơn tuy nhiên độ chính xác của mô hình thường kém hơn so với các thuật toán two-stage object detection. Mặc dù vậy, việc các thiết bị di động đang ngày ng trở n phbiến đã thúc đẩy các nnghiên cứu đi sâu tìm hiểu và cải thiện các thuật toán pt hiện vật thể thuộc nhóm one-stage object detection đtđó ứng dụng o các i tn thực tế thchạy được trên c thiết bị có phần cứng bản. Trong bài báo y, chúng tôi s sử dụng thuật toán YOLOv5 [6] cho i toán nhận diện người. Thuật toán YOLOv5 [6] là phiên bản cải tiến thứ năm của hcác thuật toán phát hiện vật thYOLO, được giới thiệu ngay sau khi phát nh YOLOv4 bằng cách sdụng khung Pytorch. Trong nghn cứu nay, nhằm đảm bảo yêu cầu ng dụng thtriển khai trên các thiết bị phần cứng đơn giản, chúng i lựa chọn nh YOLOv5s. 3. PHƯƠNG PHÁP VÀ TƯ LIỆU Bài báo sẽ trình bày chi tiết việc xây dựng các hình cơ sở cho các bài toán con trong hệ thống. YOLO thuật toán object detection nên mục tiêu của hình không chỉ là dự báo nhãn cho vật thể như các bài toán classification còn xác định location của vật thể. Do đó YOLO thể phát hiện được nhiều vật thể nhãn khác nhau trong một bức ảnh thay vì chỉ phân loại duy nhất một nhãn cho một bức ảnh. Một trong những ưu điểm YOLO đem lại đã chỉ sử dụng thông tin toàn bộ bức ảnh một lần dự đoán toàn bộ object box chứa các đối ợng, hình được xây dựng theo kiểu end-to-end nên được huấn luyện hoàn toàn bằng gradient descent. 3.1. Kiến trúc mạng YOLOv5 Hình 1. Cấu trúc mạng Yolov5 Kiến trúc mạng của YOLOv5 bao gồm ba phần: (1) Phần xương sống: CSP Backbone (2) Phần cổ: PANet (3) Phần đầu: Lớp YOLO Dữ liệu đầu tiên được đưa vào CSP Backbone để trích xuất tính năng, sau đó được cung cấp cho PANet để kết hợp tính năng. Cuối cùng, Yolo Layer đưa ra kết quphát hiện (lớp, điểm số, vị trí, kích thước). CSP Backbone: hình Backbone chủ yếu được sử dụng để trích xuất các tính năng quan trọng từ hình ảnh đầu vào đã cho. Trong YOLOv5, CSP (Cross Stage Partial Networks) được sử dụng làm xương sống để trích xuất c tính năng giàu thông tin từ hình ảnh đầu vào. CSPNet đã cho thấy sự cải thiện đáng kể về thời gian xử với các mạng sâu hơn. Cả YOLOv4 YOLOv5 đều triển khai CSP Bottleneck để xây dựng các image features. CSP giải quyết các vấn đề về gradient trùng lặp trong các backbone ConvNet lớn hơn khác dẫn đến ít tham số hơn ít FLOPS hơn để tầm quan trọng tương đương. Điều này cực kquan trọng đối với họ YOLO, i tốc độ suy luận kích thước mô hình nhỏ là quan trọng hàng đầu. PA-Net Neck: Phần cổ hình chủ yếu được sử dụng để tạo ra các kim tự tháp đặc trưng. Các kim tự tháp đặc trưng giúp các hình khái quát tốt về tỷ lệ đối tượng. giúp xác định cùng một đối tượng với các kích thước tỷ lệ khác nhau. Các kim tự tháp đặc trưng rất hữu ích giúp các mô hình hoạt động tốt trên các dữ liệu không nhìn thấy được. Có những mô hình khác sử dụng các loại kỹ thuật kim tự tháp tính năng khác nhau như FPN, BiFPN, PANet,... Lớp YOLO: Phần đầu hình chủ yếu được sử dụng để thực hiện phần phát hiện cuối cùng. áp dụng c hộp neo trên các tính năng tạo ra các vectơ đầu ra cuối ng với lớp xác suất, điểm đối ợng hộp giới hạn. Phần đầu mô hình YOLOv5 cũng tương tự như các phiên bản YOLOv3 và v4 trước đó.
SCIENCE - TECHNOLOGY Số 12.2022 Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC
67
Hình 2. Mô hình chi tiết mạng YOLOv5 Backbone network một mạng nơ-ron tích chập, trích xuất các feature maps có kích thước khác nhau từ hình ảnh đầu vào bằng đa tích chập pooling. Như trong hình 1, bốn lớp feature maps được tạo ra trong backbone network. Kích thước của chúng là: 152 × 152 điểm ảnh, 76 × 76 điểm ảnh, 38 × 38 điểm ảnh và 19 × 19 điểm ảnh. Với các feature maps kích thước khác nhau, neck network kết hợp các feature maps của các kích thước khác nhau để thu được nhiều thông tin theo ngữ cảnh hơn giảm thất thoát thông tin. Trong quá trình hợp nhất, cấu trúc feature pyramid (kim tự tháp đặc trưng) của FPN PAN được sử dụng. Cấu trúc FPN truyền tải c đặc điểm ngữ nghĩa mạnh mẽ từ các feature maps trên cùng vào các feature maps thấp hơn. Đồng thời, cấu trúc PAN truyền tải các localization features mạnh mẽ từ các feature maps thấp hơn vào các feature maps cao hơn. Hai cấu trúc cùng tăng cường khả năng kết hợp feature của neck network. Đặc biệt, thể thấy rằng ba lớp hợp nhất đối tượng tạo ra ba tỷ lệ feature maps mới với các kích thước 76 × 76 × 255, 38 × 38 × 255 19 × 19 × 255, trong đó 255 cho biết số kênh. Kích thước của feature maps càng nhỏ thì diện ch hình ảnh mỗi đơn vlưới trong feature maps tương ứng càng lớn. Điều này cho thấy rằng phù hợp để phát hiện các đối tượng lớn từ bản đồ đối tượng 19 × 19 × 255, trong khi feature maps 76 × 76 × 255 thích hợp để phát hiện các đối tượng nhỏ. Từ các feature maps y, phần mạng đầu ra thực hiện việc phát hiện và phân loại đối tượng. Trong kiến trúc, module trọng tâm sẽ cắt các hình ảnh nối chúng với nhau, mục đích của là trích xuất các tính ng tốt hơn trong quá trình lấy mẫu xuống. Module CBL bao gồm các module tích chập, chuẩn hóa chức năng kích hoạt LeakyReLU. Rõ ràng, hai loại CSP (cross-stage partial network) trong YOLOv5. Một được sử dụng trong backbone network một i khác được sử dụng neck. Với cross-layer connectivity để kết nối các lớp trước sau của mạng, mạng CSP nhằm mục đích cải thiện tốc độ suy luận trong khi duy trì độ chính xác bằng cách giảm kích thước hình. Hai loại mạng CSP sự khác biệt nhỏ về cấu trúc. Mạng CSP trong backbone bao gồm một hoặc nhiều đơn vị còn lại, trong khi mạng CSP neck thay thế các đơn vcòn lại bằng các module CBL. Hơn nữa, module SPP nghĩa module SPP thực hiện việc maximum pooling với kernel khác nhau kết hợp các tính năng thông qua việc nối chúng lại với nhau. Việc tổng hợp bắt chước hệ thống thị giác của con người bằng cách thực hiện các thao tác giảm kích thước (lấy mẫu xuống) để biểu diễn các đặc điểm hình ảnh mức độ trừu tượng cao hơn. chủ yếu nén feature maps đầu vào. Một mặt, làm cho feature maps nhỏ hơn đơn giản hóa độ phức tạp tính toán của mạng; ngoài ra, thực hiện nén tính năng trích xuất các tính năng chính. Module Concat nghĩa là hoạt động nối tensor. 3.2. Tăng cường dữ liệu trong YOLOv5 Với mỗi đào tạo, YOLOv5 chuyển dữ liệu đào tạo qua bộ tải dữ liệu, giúp tăng cường dữ liệu trực tuyến. Trình tải dữ liệu thực hiện ba loại tăng cường: điều chỉnh tỷ lệ, điều chỉnh không gian màu và tăng khảm. Điều mới lạ nhất trong số này tăng dữ liệu khảm, kết hợp bốn hình ảnh thành bốn ô theo tỷ lệ ngẫu nhiên. Trình tải dữ liệu khảm có nguồn gốc từ YOLOv3 PyTorch và bây giờ là repo YOLOv5. Tính năng tăng cường khảm đặc biệt hữu ích cho điểm chuẩn phát hiện đối tượng COCO phổ biến, giúp hình học cách giải quyết "vấn đề đối tượng nhỏ" biết - nơi các đối tượng nhỏ không được phát hiện chính xác như các đối tượng lớn hơn. 3.3. Pytorch framework Khác với những phiên bản tiền nhiệm, YOLOv5 được phát triển dựa trên PyTorch thay DarkNet. Đây một điểm cộng không nhỏ cho YOLOv5 PyTorch phổ biến hơn rất nhiều. Pytorch package sử dụng các thư viện của CUDA C/C++ hỗ trợ các tính toán trên GPU nhằm gia tăng tốc độ xử của hình. 2 mục tiêu chủ đạo của package này hướng tới là: Thay thế kiến trúc của numpy để tính toán được trên GPU. Deep learning platform cung cấp c xử tốc độ linh hoạt. 3.4. Phương pháp triển khai Chúng tôi áp dụng YOLOv5 cho việc nhận diện một đối tượng duy nhất người. Từ đó, đưa ra tính toán về mặt khoảng cách. Việc tính được khoảng cách chính xác chỉ dựa vào hình ảnh điều hết sức khó khăn, nên chúng tôi đề ra một giải pháp đó sử dụng hẳng số tùy chỉnh về mặt khoảng cách dựa trên khung hình ảnh đầu ra, để tiến hành xử đối tượng đó phải làm đám đông hay không. Dựa trên dữ liệu đầu ra của bounding box (có dạng xyxy) một mảng chứa các giá trị x, y trên trục tọa độ của bounding box, sau đó tính giá trị điểm trung tâm của bounding box. Sau khi đã xác định được tâm của bounding box thì chúng tôi sử dụng thêm các thư viện cần thiết để thiếp lập kẻ nối giữa 2 đối tượng thể hiện sự nguy lây lan cao hay thấp hoặc là không có nguy cơ.
CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 12.2022
68
KHOA H
ỌC
4. THỰC NGHIỆM Cơ sở dữ liệu Hiện nay rất nhiều bộ dữ liệu về huấn luyện các tác vụ khác nhau liên quan đến đối tượng là con người. Đối với bài toán nhận diện khuôn mặt thể kể đến các bộ CoCo, Iris,… Việc sử dụng c bộ dataset sẵn chắc chắn không đáp ứng đủ nhu cầu về mặt dữ liệu, nên chúng ta sẽ phải dùng thêm các dữ liệu từ bên ngoài. Việc gán nhãn này thể rất tốn thời gian công sức việc gán nhãn hoàn toàn được làm bằng thủ công. Hình 3. Hình ảnh sau khi gán nhãn thủ công Huấn luyện hình đều được huấn luyện trên Google Colab kết hợp với phần mềm Weights & Bias đểthể tạo ra hình phù hợp với dữ liệu. hình huấn luyện trên một tập dữ liệu chuẩn bị sẵn cái file train, test, validation riêng. Thay đôi chu kỳ sau mỗi lần train để kiểm tra độ fit của mô hình. Đánh giá trên tập thực nghiệm Việc train mô hình với chỉ 1 đối tượng đôi khi thể làm giảm độ chính xác của hình, sau khi nhiều lần train tìm ra bản tối ưu nhất t hình cảnh báo đám đông đạt độ chính xác 70,65% khi chạy trên tập dữ liệu thử nghiệm đạt 30 fps khi chạy trên thời gian thực. Đây mới hình thử nghiệm vẫn còn cần cải thiện thêm. Dự kiến độ chính xác sẽ tăng từ 8 - 15%. Triển khai hệ thống Sau khi đã hoàn thiện việc huấn luyện thử nghiệm các hình của các i toán con, chúng tôi sẽ thực hiện triển khai chạy hoàn chỉnh trên windows. Các phần cứng cần sẽ một bộ CPU bản (2 - 4 nhân), GPU khả năng xử tính toán một camera HD. Camera sẽ nhận vào hình ảnh trực tiếp của người dùng, sau đó sẽ đưa qua các bước tiền xử (chuẩn hóa kênh màu, chuẩn hóa kích thước) rồi đưa vào mô hình nhận diện mô hình sẽ phân tích đưa kết quả lên màn hình. Từ tọa độ bouding box sau khi hình dự đoán, hệ thống sẽ vẽ 1 đường line với độ dài một hằng số cho sẵn. Khi khoảng cách giữa 2 người từ 200 đến 250 thì hệ thống sẽ hiển thị low risk, ngược lại nếu nhỏ hơn 200 sẽ hiển thị high risk. Hình 4. Kết quả sau khi mô hình 5. KẾT LUẬN Bài báo đã đưa ra một phương pháp sử dụng mạng Yolov5 để xây dựng thành một hệ thống cảnh báo đám đông áp dụng các kiến thức về trí tuệ nhân tạo học sâu. Đây sẽ là sở để các nghiên cứu về phát hiện đối tượng nói riêng AI nói chung thể được phát triển trong tương lai với những cải tiến về độ chính xác và tốc độ. TÀI LIỆU THAM KHẢO [1]. R. Girshick, J. Donahue, T. Darrell, J. Malik, U. Berkeley. Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5), https://arxiv.org/pdf/1311.2524.pdf. [2]. R. Girshick and Microsoft Research. Fast R-CNN. https://arxiv.org/pdf/1504.08083.pdf. [3]. S. Ren, K. He, R. Girshick, J. Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Network. https://arxiv.org/pdf/1506.01497.pdf [4]. W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C. Fu, A.C. Berg. SSD: Single Shot MultiBox Detector. https://arxiv.org/pdf/1512.02325.pdf. [5]. J. Redmon, S. Divvala, R. Girshick, A. Farhadi. You only look once: Unified, Real-Time Object Detection. https://arxiv.org/pdf/1506.02640.pdf. [6]. YOLOv5. Yolov5. https://github.com/ultralytics/yolov5.