CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 13.2023
146
KHOA H
ỌC
NGHIÊN CỨU ỨNG DỤNG PHƯƠNG PHÁP HỌC SÂU CHO BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG VỀ TRANG PHỤC BẢO HỘ LAO ĐỘNG
RESEARCH AND APPLICATION OF DEEP LEARNING METHODS TO THE PROBLEM OF DETECTING IRREGULARITIES IN WORKWEAR Nguyễn Ngọc Quân1,*, Đỗ Viết Đông1, Hoàng Cao Minh1, Trần Văn Nhàn1, Phạm Văn2 TÓM TẮT Bài báo trình bày các kết quả chính trong nghiên cứu của nhóm liên quan đế
n
phát hiện bất thường về trang phục bảo hộ lao động (m
ũ cứng, khẩu trang, nón
bảo hiểm, áo bảo hộ). Trong nghiên cứu này, nhóm tác giả đã nghiên cứu tổ
ng
quan về vấn đề tai nạn liên quan đến vi phạm về trang phục bảo hộ lao động c
ũng
như tổng quan các kỹ thuật phát hiện bất thường về trang phục; thu thập dữ liệ
u
hình ảnh, video về công nhân trên công trường, xây dựng tập dữ liệu huấn luy
bằng hình ảnh, video thu thập từ thực tế; nghiên cứu thuật toán YOLO và đề xu
t
hình nhận dạng trang phục để phát triển chức năng nhận dạng trang phục bả
o
hộ, cho phép đưa ra cảnh báo “An toànkhi mặc đúng và “Nguy hiểm” khi mặ
c
chưa đúng trang phục bảo hộ; phát triển ứng dụng web bằ
ng framework Flask,
tích hợp các kết quả nhận dạng trang phục bảo hộ qua hình ả
nh, video và webcam
vào ứng dụng web đã phát triển. Từ khóa: Phát hiện thiết bị bảo vệ, nhận dạng khuôn mặt, nhận di
n khuôn
mặt, xác minh khuôn mặt, học sâu, thị giác máy tính. ABSTRACT This article presents the main findings of our research
regarding the detection
of abnormalities in personal protective equipment
(PPE), such as hardhat, mask,
safe cone, safety vest. In this study, we
investigated the overall issue of accidents
related to violations of protective clothing as well as an overview of techniques for
detecting clothing abnormalities. We
collected image and video data of workers
on the construction site and built a training dataset using real-
life images and
videos. We studied the YOLO
algorithm and proposed a clothing recognition
model to develop the function of identifying protective clothing, allowing
for the
alert of "Safe" when wearing it correctly and "Dangerous" when not wearing
proper protective clothing. We
also developed a web application using the Flask
framework, integrating the results of protective clothing recognition through
images, videos, and webcam into the developed web application. Keywords: Anomaly Detection, personal protective equipment,
Deep Learning,
Computer Vision. 1Lớp Khoa học máy tính 02 - K14, Khoa CNTT, Trường Đại học Công nghiệp Hà Nội
2Khoa CNTT, Trường Đại học Công nghiệp Hà Nội *Email: rhyoto150@gmail.com 1. GIỚI THIỆU Ở Việt Nam theo Báo cáo của Bộ Lao động - Thương binh hội, năm 2018 cả nước xảy ra 7.997 vụ tai nạn lao động, 8.229 người bị nạn, trong đó 5,4% trường hợp không mặc phương tiện bảo vệ cá nhân [1]. Ngày nay, hầu hết của các lĩnh vực xây dựng tiến hành giám sát mặc trang phục bảo hlao động bằng phương pháp thủ công của giám t viên. Đây là công việc tẻ nhạt, tốn thời gian và không hiệu quả do cần nhiều nhân công giám sát tại hiện trường. Gần đây, một số ng nghđã được đxuất để tăng ờng an toàn trong lao động [2-4]. Liên quan đến chđề phát hiện bất thường về trang phục bảo hộ lao động, c nhà nghiên cứu đã sử dụng nhiều phương pháp tiếp cận thgiác y tính máy học, bao gồm YOLO, FastRNN,... Tnh phần quan trọng nhất ca quy trình này là thu được kết quchính c trong một khoảng thời gian hợp lý, điều y thúc đẩy c nhà nghn cứu tập trung nlực vào việc phát triển các quy trình sẽ dẫn đến độ chính c cao hơn. Dưới đây là tóm tắt ngắn gọn về những nỗ lực và chiến ợc gần đây nhất đã được trình bày trong vài năm qua do nhóm tổng hợp được. Năm 2020, Nipun cộng sự [5] đã đề xuất ba hình dựa trên YOLO-v3 bộ phân loại học máy để kiểm tra xem người lao động có mặc trang phục bảo hộ hay không. Họ đã sử dụng Pictor-v3 làm tập dữ liệu huấn luyện cho ba mô hình của mình. Trong nghiên cứu này, các tác giả tập trung vào việc phát hiện mũ áo khoác, nhưng mô hình có thể được thu nhỏ để phát hiện các PPPE khác, chẳng hạn như găng tay kính. hình đầu tiên phát hiện công nhân trang phục trước, sau đó một số kỹ thuật đã được sử dụng để kiểm tra xem công nhân đeo PPE được phát hiện hay không. hình thứ hai đã bản địa hóa người lao động trực tiếp phân loại họ dựa trên PPE của họ thành một trong bốn hạng: người lao động không đội mũ cứng hoặc áo vest, người lao động chỉ đội cứng, người lao động chỉ mặc áo vest, và công nhân đội cả mũ cứng và áo vest. Trong mô hình thứ ba,
SCIENCE - TECHNOLOGY Số 13.2023 Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 147
tất cả công nhân được phát hiện, sau đó bộ phân loại CNN được áp dụng để phân loại công nhân. Năm 2020, Delhi cộng sự [6] đã đề xuất một khuôn khổ để kiểm tra việc tuân thủ PPE trong thời gian thực làm việc để đảm bảo an toàn cho công nhân xây dựng. Các tác giả đã đào tạo nh bằng cách sdụng các hình ảnh được thu thập thủ công từ các trang web xây dựng và Internet. Khung này dựa trên các mạng học u CNN và YOLO-v3 và tập trung vào việc phát hiện cứng áo khoác an toàn. phân loại những công nhân bị phát hiện thành bốn loại: không an toàn, an toàn, không đội cứng không mặc áo khoác. Khi công nhân được phát hiện rơi vào danh mục không an toàn, một báo cáo báo cáo dấu thời gian sẽ được tạo. Độ chính xác của mô hình đề xuất là 96,92% và độ chính xác trung bình là 0,98. Hầu hết các nghiên cứu gần đây tập trung vào phát hiện việc sử dụng cứng trong lao động. Ngoài cứng, các trang bị khác như găng tay, giày p cũng cần được phát hiện để đảm bảo an toàn cho người lao động. Hơn nữa, việc giám sát và nhận dạng an toàn lao động bằng cách sử dụng phải được tiến hành không chỉ trên lĩnh vực xây dựng, công trường mà còn ở văn phòng, nhà xưởng. 2. DỮ LIỆU Mục tiêu chính của nghiên cứu cải thiện khả năng nhận dạng các bất thường về trang phục bảo hộ lao động bằng cách kết hợp các mô hình hiện có với các kỹ thuật tiền xử lý dữ liệu để đạt được độ chính xác cao. Phương pháp thực hiện trong dự án được đề xuất gồm các buớc chính sau đây, trong đó mỗi bước chịu trách nhiệm cho mỗi nhiệm vụ cthể. Hình 1 cho ta thấy tổng quan về hệ thống được đề xuất. 1. Dữ liệu hình nh được thu thập để xây dựng bộ dữ liệu và xác thực. 2. Thuật toán YOLO-v8 được sử dụng để phát hiện đối tượng. 3. hình được huấn luyện để nhận dạng PPE các máy trên công trường bằng cách sử dụng bộ dữ liệu do chúng tôi tự gán nhãn. 4. Vùng nguy hiểm được xác định dựa trên tình trạng của người lao động (nếu họ đang mặc PPE thích hợp hay không) và có đứng xa với lại các máy trên công trường hay không. 5. Khi xác định được các mối nguy hiểm, nhân viên an toàn được thông báo để ngăn chặn tai nạn. Hình 1. Khung đề xuất cho hệ thống Bài toán phát hiện bất thường về trang phục trong bảo hộ lao động đã đang được phát triển bởi nhiều nnghiên cứu và các công ty từ nhiều nơi trên thế giới bởi tính cấp thiết và ứng dụng cao. Tập dữ liệu hình nhận diện đối tượng thuộc lĩnh vực học máy giám sát. Muốn vậy, chúng ta cần chỉ định một tập dữ liệu để huấn luyện hình. Sau đây tả quá trình xây dựng bộ dữ liệu. Thu thập dữ liệu Chọn lựa bộ dữ liệu một trong những yếu tố quan trọng quyết định độ chính xác và độ tin cậy của mô hình. Để tiến hành thnghiệm, nhóm tác giả thu thập các dữ liệu trên youtube các dliệu được công khai trên roboflow ngoài ra còn thu thập video bằng cách tự quay lại các nhãn cần thiết để tăng cường dữ liệu. Hình 2. Ảnh minh họa cho dữ liệu Tập dữ liệu được thu thập chứa 2801 ảnh. Những hình ảnh này được chia thành c bộ train: 2605, valid: 114 test: 82. Bộ dữ liệu của chúng tôi gồm 10 nhãn: 'Hardhat', 'Mask', 'NO-Hardhat', 'NO-Mask', 'NO-Safety Vest', 'Person', 'Safety Cone', 'Safety Vest', 'machinery', 'vehicle'. Bảng 1 hiển thị số lượng của bộ dữ liệu và hình 3 là các nhãn của hình. Bảng 1. Số lượng các tập dữ dữ liệu trong bộ dữ liệu Data No. of Annotations Train 2605 Test 114 Vaild 82 Hình 3. Phân bố của các nhãn trong tập dữ liệu
CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 13.2023
148
KHOA H
ỌC
Làm sạch dữ liệu Sau khi thu thập dữ liệu, dữ liệu được làm sạch để loại bỏ dữ liệu không hợp lệ. Bước này liên quan đến việc loại bỏ các hình ảnh trùng lặp hình ảnh vi phạm quyền riêng của công ty xây dựng. bộ dữ liệu được làm sạch thủ công bằng cách loại bỏ các hình ảnh trùng lặp và chất lượng thấp. Xử lý dữ liệu Trước khi cung cấp cho mô hình phát hiện đối tượng các hình ảnh đầu vào, những hình ảnh đầu vào này phải được xử trước. Tất cả ảnh trong tập dliệu đã được thay đổi kích thước thành hình dạng 640 × 640. Một bước tiền xử khác trong tập dữ liệu thay đổi độ sáng độ tương phản của một số hình ảnh để nâng cao ảnh. Gán nhãn dữ liệu Các bộ phát hiện đối tượng khác nhau các định dạng ghi nhãn khác. YOLO sử dụng hai tập tin phần mở rộng để ghi nhãn đối tượng: tệp hình ảnh .jpeg tệp văn bản .txt. Tệp hình ảnh chỉ một tệp hình ảnh đơn giản, trong khi tệp văn bản được sử dụng để lưu trữ các nhãn, loại đối tượng hiện trong ảnh và tọa độ của các hộp giới hạn của chúng. Số hàng trong tệp văn bản cho biết số lượng đối tượng trong hình ảnh. Nhiều công cụ ghi nhãn thể được sử dụng để gắn nhãn cho c đối tượng, chẳng hạn như YOLO_mark, BBox-Label-Tool, labelImg,... Trong nghiên cứu này, hình ảnh được gán nhãn bằng công cụ Roboflow, đây bộ công cụ đơn giản dsử dụng. Công cụ này được công khai trong [14]. Để xác định vị trí các đối tượng muốn phát hiện, nhóm tác giả đã vẽ hộp giới hạn chọn lớp từ danh sách các lớp được xác định trước. Hình 4 hiển thị giao diện Roboflow và ví dụ về quy trình ghi nhãn hình ảnh. Hình 4. Công cụ gán nhãn Roboflow 3. PHƯƠNG PHÁP 3.1. Thuật toán Object Detection Thuật toán YOLO lần đầu tiên được giới thiệu bởi Redmon cộng sự vào năm 2015 [7], theo sau nhiều phiên bản khác nhau. YOLO triển khai trình phát hiện đối tượng một giai đoạn. Nói chung, các thuật toán YOLO chia hình ảnh thành lưới s×s nếu trung m đối tượng nằm trong một trong các lưới, lưới này sẽ phát hiện đối tượng [8]. YOLO-v5, được đề xuất bởi Glenn Jocher et al. vào năm 2020, phiên bản cập nhật của YOLO. linh hoạt hơn, nhanh hơn dễ tiếp cận hơn các phiên bản trước. Tuy nhiên, kém chính xác hơn một chút so với YOLO-v4 [9]. Ưu điểm của việc nhanh hơn dễ dàng hơn lớn hơn sự khác biệt về độ chính xác, làm cho nó trở thành một lựa chọn hấp dẫn để sử dụng trong đối tượng phát hiện cho dự án của chúng tôi. Kiến trúc của YOLO-v5, giống như bất kỳ trình phát hiện đối tượng nào, bao gồm ba phần chính: xương sống, cổ và đầu. YOLO-v5 sdụng Cross Stage Partial Network (CSPNet) làm hình xương sống [10], giúp trích xuất c tính năng cần thiết từ một hình nh nhất định. Cho cổ hình, YOLO-v5 sử dụng Mạng tổng hợp đường dẫn (PANet) [11] để tạo tính năng kim tự tháp, giúp khái quát hóa dữ liệu chưa nhìn thấy. Việc phát hiện cuối cùng được thực hiện bởi đầu hình, áp dụng các hộp neo trong c tính ng và tạo ra vectơ cuối cùng cùng với các hộp giới hạn và xác suất lớp [12]. Phần bổ sung mới nhất cho gia đình YOLO đã được xác nhận vào tháng 1 năm 2023 với bản phát hành YOLO-v8 [13] bởi Ultralytics (cũng phát hành YOLO-v5). Mặc dù một bản phát hành sắp ra mắt và nhiều tính năng vẫn chưa được thêm vào kho lưu trữ YOLO-v8, ban đầu so sánh của người mới với người tiền nhiệm của nó chứng minh tính ưu việt của nó như YOLO-v5. Hình 5 cho thấy rằng khi so sánh YOLO-v8 với YOLO-v5 YOLO-v6 được huấn luyện độ phân giải hình ảnh 640, tất ccác biến thể YOLO-v8 đều cho ra thông lượng tốt hơn với một số ợng tham số tương tự, chỉ ra các cải cách kiến trúc, hiệu quả về phần cứng. Thực tế YOLO-v8 YOLO-v5 được trình bày bởi Ultralytics với YOLO-v5 cung cấp hiệu suất thời gian thực ấn tượng dựa trên kết quả điểm chuẩn ban đầu được công bố bởi Ultralytics, người ta cho rằng YOLO-v8 sẽ tập trung vào các hạn chế triển khai thiết bị biên ở tốc độ suy luận cao. hình 6 thể hiện tổng quan kiến trúc của hình YOLO-v8. Hình 5. Tốc độ xử lý của YOLO-v8
SCIENCE - TECHNOLOGY Số 13.2023 Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 149
nh 6. Kiến trúc mô hình YOLO-v8 3.2. Xác định vùng nguy hiểm Mặc dù trước đây đã có nhiều hệ thống giám sát dựa trên thị giác máy tính được phát triển, nghiên cứu y nghiên cứu đầu tiên đề xuất một hệ thống giám sát tự động theo thời gian thực để theo dõi khoảng ch an toàn trên các công trường xây dựng. thể sử dụng các cảm biến không trực quan như thẻ nhận dạng tần số tuyến (RFID) và cảm biến hệ thống định vị toàn cầu (GPS) để tự động theo dõi vị trí của công nhân trong thời gian thực. Tuy nhiên, cách tiếp cận dựa trên cảm biến đòi hỏi người lao động phải luôn đeo cảm biến và điều này khó thực hiện. Hơn nữa, nhiều nhà thầu phụ làm việc trên nhiều địa điểm và họ thường là những công nhân ngắn hạn, do đó việc cấp cảm biến cho mọi công nhân thể không khả thi. Ngược lại, các phương pháp thị giác máy tính làm giảm bớt một số vấn đề này và đã được sử dụng để kiểm tra an toàn tự động nhận dạng hành vi không an toàn trong ngành xây dựng. Với suy nghĩ này, một hệ thống giám sát thời gian thực dựa trên thgiác máy tính được đề xuất để tự động phát hiện những công nhân vi phạm các quy tắc giữ khoảng cách an toàn gửi cảnh báo đến nhân viên công trường liên quan để thực hiện các hành động cần thiết. Ngoài ra, số liệu thống do hệ thống tạo ra thể được sử dụng để hỗ trợ quản an toàn dựa trên nh vi. Tuy nhiên, một số lượng hạn chế nghiên cứu đã được thực hiện đã áp dụng thị giác máy tính đkiểm tra khoảng cách hội nhằm ngăn ngừa lây truyền COVID-19. Trong nghiên cứu của Yang và cộng sự năm 2020, phương pháp phát hiện người đi bộ dựa trên R-CNN YOLO-v4 nhanh n được đề xuất để đo khoảng cách xã hội. Hiệu quả của phương pháp đề xuất đã được thử nghiệm trong sở dữ liệu công khai (ví dụ: sở dữ liệu trung tâm thị trấn Oxford, bộ dữ liệu trung tâm mua sắm bộ dữ liệu nhà ga). Trong một nghiên cứu khác năm 2021, Ahmed cộng sự sử dụng thị giác máy tính với hình YOLO-v3 được đề xuất để xác định hành vi vi phạm khoảng cách xã hội trong môi trường trong nhà. Chính thế nhóm đề xuất một phương pháp đơn giản để tối ưu quá trình xử cũng đưa ra được giải pháp an toàn cho công nhân. Đầu tiên, ta xác định được tọa độ trung tâm của những nhãn là machine thông qua hình 7. Hình 7. Công thức tình tọa độ trung tâm Từ tọa độ trung tâm ta sẽ dịch chuyển tọa độ Yc xuống nửa bằng cách chia Yc/2 từ đó ta tạo được một điểm mới có tọa độ O (Xc, Yc/2). Từ vị trí này ta sẽ tạo một nh elip với tọa độ trung tâm O trục dài trục rộng của hình elip sẽ được tùy chỉnh nếu như tỉ lệ của chiều dài/chiều rộng của bouding box vật thể là > 1, thì hình elip sẽ có xu hướng l nhỏ lại và ngược lại < 1 thì hình elip sẽ có xu hướng to ra. Và việc đưa ra cảnh báo sẽ được thực hiện khi mà hình elip của nhãn “machine” giao với bouding box của nhãn “person”. Việc tạo ra vùng cảnh bảo này cần đặt trong điều kiện ánh sáng tưởng giúp cho camera có thể nhận diện được cả “machine” cũng như là person đồng thời. Hình 8. Vẽ vùng nguy hiểm với trường hợp chiều dài lớn hơn chiều rộng Hình 9. Vẽ vùng nguy hiểm với trường hợp chiều dài nhỏ hơn chiều rộng
CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 13.2023
150
KHOA H
ỌC
3.3. Kiểm tra và đánh giá Để kiểm tra mô hình được đề xuất, dữ liệu hình ảnh được thu thập từ một công trường xây dựng địa phương bằng camera quan t đã được sử dụng. Khi đó, độ chính xác của phương pháp đề xuất được được đo bằng cách sử dụng Intersection over Union (IoU) ma trận nhầm lẫn. IoU một số liệu tính toán diện tích giao nhau giữa hộp giới hạn thực tế hộp giới hạn dự đoán để kiểm tra xem đối tượng được phát hiện hợp lệ hay không, như thể hiện trong Phương trình (1). Giá trị của IoU nằm trong khoảng từ 0 đến 1, trong đó 0 biểu thị không trùng lặp 1 biểu thị trùng lặp hoàn hảo [21]. Ma trận nhầm lẫn bao gồm dự đoán đúng được biểu thị bằng TP dương thực và TN âm tính thật, trong khi dự đoán sai được biểu thị bằng FP dương tính giả âm tính giả FN. Nhiều số liệu thể được điều khiển từ ma trận nhầm lẫn, chẳng hạn như độ chính xác, thu hồi bản đồ. Độ chính xác của mô hình đo lường xem mô hình có đáng tin cậy hay không. cho chúng ta biết bao nhiêu quan sát TP mà mô hình có thể phát hiện trong số tất cả các quan sát tích cực; nhìn thấy Phương trình (2). Để đo độ nhạy của một hình, chúng tôi sử dụng thu hồi. Nhớ lại cho chúng ta biết bao nhiêu TP quan sát hình phát hiện chính xác; xem phương trình (3). Độ chính c trung bình trung bình (mAP) được sử dụng để đo độ chính xác của hình phát hiện đối tượng trên tất cả các lớp qua hình 10. Hình 10. Các công thức đo độ chính xác 3.4. Phần mềm Hình 11. Trang đăng nhập của hệ thống Trong nghiên cứu này, nhóm tác giả cũng đã phát triển ứng dụng web bằng framework Flask, sử dụng ngôn ngữ Python, tích hợp các kết qunhận dạng trang phục bảo hộ qua hình ảnh, videowebcam vào ứng dụng web đã phát triển. Hình 11 thể hiện giao diện đăng nhập của hệ thống. Hình 12, 13, 14 thể hiện một số kết quả nhận dạng trực quan trên giao diện phần mềm web đã xây dựng. Hình 12. Màn hình chính khi người dùng sử dụng ứng dụng Hình 13. Màn hình chính khi người dùng sử dụng video Hình 14. Màn hình chính khi người dùng sử dụng không sử dụng trang bị bảo hộ