Phát hiện người đeo khẩu trang trong thời gian thực

5 108 2
Phát hiện người đeo khẩu trang trong thời gian thực

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết đã xây dựng chương trình phát hiện người dân có đeo khẩu trang hay không và nhắc nhở những người không đeo khẩu trang bằng giọng nói.

TẠP CHÍ ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI KHOA HỌC - CÔNG NGHỆ JOURNAL OF MARINE SCIENCE AND TECHNOLOGY PHÁT HIỆN NGƯỜI ĐEO KHẨU TRANG TRONG THỜI GIAN THỰC REAL TIME FACE MASK DETECTION ĐỖ THỊ CHANG1, NGUYỄN KHẮC KHIÊM2, TRẦN SINH BIÊN1* Khoa Điện - Điện tử, Trường Đại học Hàng hải Việt Nam Trường Đại học Hàng hải Việt Nam * Email liên hệ: transinhbien@vimaru.edu.vn Tóm tắt Việc đeo trang nơi cơng cộng góp phần hạn chế lây lan dịch bệnh Covid 19 toàn cầu Giám sát người dân thực chủ trương, sách Nhà nước việc đeo trang nơi cơng cộng hồn tồn thực cách tự động Bằng việc ứng dụng công nghệ máy học xử lý ảnh, báo xây dựng chương trình phát người dân có đeo trang hay khơng nhắc nhở người không đeo trang giọng nói Trong đó, nhóm tác giả thực thu thập liệu để xây dựng mơ hình đào tạo dựa mạng nơron tích chập (CNN) Chương trình triển khai ngôn ngữ Python sử dụng số thư viện mã nguồn mở OpenCV, Tensorflow, Keras,… Mô hình đào tạo đạt độ xác 98,28% tiến hành phát người đeo trang tập liệu thử nghiệm Từ khóa: Covid 19, phát người đeo trang, mạng nơron tích chập, CNN, Python, Tensorflow, Keras Abstract Wearing face masks in public has contributed to reducing the global spread of Covid 19 And the supervision of people in accordance with the Government's guidelines and policies in wearing face masks in public can be done automatically By using machine learning and image processing, we have developed a program to detect whether someone is wearing a face mask or not and remind people who are not wearing face masks by the voice In particular, the authors collected data to build up a training model based on the convolutional neural network model (CNN) The program is implemented in Python language and uses some open source libraries such as OpenCV, Tensorflow, Keras, The trsained model achieved 98,28% accuracy when detecting the face mask on the test data set SỐ 66 (4-2021) Keywords: Covid 19, face mask detection, convolutional neural network, CNN, Python, Tensorflow, Keras Đặt vấn đề Ngày 11 tháng năm 2020, Tổ chức Y tế Thế giới (WHO) tuyên bố gọi "COVID-19" "Đại dịch tồn cầu" [1] Để ngăn chặn tình trạng lây lan nhanh chóng đại dịch, bên cạnh khuyến nghị mà WHO đưa việc đeo trang nơi đơng người, Chính phủ Việt Nam yêu cầu người dân phải đeo trang nơi công cộng để hạn chế lây lan dịch bệnh Tuy nhiên, để giám sát người dân thực theo đạo Chính phủ với hình thức cũ khó khăn tốn thiếu nguồn lực Nhằm hỗ trợ nâng cao công tác giám sát nhắc nhở người dân, nhóm tác giả xây dựng chương trình phát người khơng đeo trang thời gian thực cách tự động Với phát triển nhanh chóng học sâu, đặc biệt mạng nơ-ron tích chập (CNN), thị giác máy tính đạt tiến đáng kể năm gần nhận dạng phát đối tượng [2][3] Một ứng dụng mạng nơ ron tích chập tình hình dịch bệnh diễn biến phức tạp toàn giới việc xây dựng hệ thống nhằm giám sát việc đeo trang người Việc phát người đeo trang kỹ thuật học sâu công bố nhiều thời gian gần Một nghiên cứu việc phát người đeo trang nhằm hạn chế đại dịch Covid 19 mạng lưới thành phố thông minh công bố gần [4] Nhóm tác giả Mohammad Marufur Rahman Md Motaleb Hossen Manik đề cập hệ thống phát người không đeo trang cách tự động thơng báo cho quan có thẩm quyền tương ứng mạng thành phố thông minh Hệ thống sử dụng camera CCTV thành phố để trích xuất hình ảnh khn mặt hình ảnh sử dụng để xác định mặt nạ khuôn mặt Sau đó, mạng nơron tích chập (CNN) sử dụng để trích xuất tính từ hình ảnh đưa dự đốn xem người có đeo trang hay khơng, người khơng đeo 83 TẠP CHÍ KHOA HỌC - CƠNG NGHỆ trang, hệ thống tự động gửi tin nhắn tới quan có thẩm quyền đề giải ISSN: 1859-316X KHOA HỌC CÔNG NGHỆ HÀNG HẢI JOURNAL OF MARINE SCIENCE AND TECHNOLOGY sáng ảnh làm ảnh hưởng tới chất lượng tạo mơ hình sau Trong phạm vi nghiên cứu báo, nhóm tác giả tiến hành phát người không đeo trang dựa mạng nơ ron tích chập, thay gửi thơng tin tới quan giám sát hệ thống đưa cảnh báo, trực tiếp nhắc nhở người dân thực việc đeo trang nơi cơng cộng giọng nói Cấu trúc chương trình gồm bước thể Hình Hình Cấu trúc chương trình Bước 1: Thu thập liệu: Sử dụng mã nguồn mở OpenCV để phát hiện, lưu trữ 500 ảnh người đeo trang 500 ảnh người không đeo trang Bước 2: Sử dụng nguồn liệu thu thập bước để huấn luyện mơ hình dựa mơ hình mạng nơron tích chập CNN Bước 3: Phát người đeo trang hay không Bước tiến hành so sánh liệu trích xuất từ camera (sau xử lý liệu đầu vào) với liệu huấn luyện để trích xuất kết cảnh báo giọng nói Hình Thuật toán thu thập liệu 2.2 Thuật toán huấn luyện mơ hình Thuật tốn chương trình 2.1 Thuật toán thu thập liệu Để thu thập liệu, thay lấy nguồn liệu mạng, nhóm tác giả thực thu thập chương trình viết ngơn ngữ python, sử dụng thư viện mã nguồn mở OpenCV để phát khuôn mặt người Hình thể thuật tốn thu thập liệu Dữ liệu sau thu thập dạng file ảnh jpg lưu trữ hai file riêng biệt: Một file chứa 500 ảnh mô tả khuôn mặt đeo trang file lại chứa 500 ảnh mô tả khuôn mặt không đeo trang Mỗi file liệu chia làm hai phần nhờ hàm split python, bao gồm:  Tập liệu phục vụ trình thử nghiệm cuối - Testing set (chiếm 20%);  Tập liệu phục vụ q trình huấn luyện (chiếm 80%), tập liệu huấn luyện tiếp tục chia thành thành phần trai Training set (chiếm 80% tập huấn luyện) Validation set (chiếm 20% tập huấn luyện) để kiểm thử độ xác mơ hình q trình huấn luyện Trong q trình thu thập liệu, điều kiện ánh 84 Hình Thuật tốn huấn luyện mơ hình Mơ hình hình huấn luyện xây dựng dựa mơ hình mạng nơron tích chập CNN với thuật tốn Hình 2.2.1 Import thư viện cần thiết Nhập thư viện cần thiết OpenCV, Keras, Numpy (để xử lý liệu), Os (để quản lý file),… SỐ 64 (4-2021) TẠP CHÍ ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI KHOA HỌC - CÔNG NGHỆ JOURNAL OF MARINE SCIENCE AND TECHNOLOGY 2.2.2 Xử lý tiền liệu xử lý liệu Bảng Các lớp Layer mơ hình Việc tiền xử lý liệu nhằm đưa tất ảnh kích thước, sau ảnh chuyển đổi để phục vụ cho trình xử lý ảnh bước sau 2.2.3 Xây dựng lớp cho mơ hình Các lớp xây dựng dựa mơ hình mạng nơron tích chập CNN (mạng nơron tích chập thiết kế đặc biệt để xử lý liệu đầu vào) Kiến trúc CNN có ba phần chính: a) Một lớp phức hợp trích xuất đặc trưng từ hình ảnh nguồn Để trích xuất đặc tính từ ảnh ban đầu, ta tiến hành tích chập hai ma trận bao gồm ma trận ảnh nguồn lọc với kích thước 3x3 Giả sử, Ma trận ảnh đầu vào có kích thước H1 x W1 x D (H = height, W = width, D = dimension) lọc (kernel) H2 x W2 x D ma trận đặc điểm ảnh xác định theo công thức: 𝐻1−𝐻2+2𝑃 𝑆 ( + 1) × ( 𝑊1−𝑊2+2𝑃 𝑆 + 1) × 𝐾 (1) Trong đó: K số lọc; P bước đệm; S bước nhảy lọc b) Một lớp tổng hợp để giảm kích thước nơron tập trung vào phần tử quan trọng Trong phần ta sử dụng lớp pooling có kích thước (2x2) sử dụng kiểu max pooling hay lấy giá trị lớn 2.2.4 Biên dịch mơ hình Thực thuật toán tối ưu biên dịch chương trình Để tối ưu mơ hình, nhóm tác giả sử dụng thuật tốn Adam [8] u cầu nhớ, tham số biến thiên cách hiệu phải điều chỉnh 2.3 Thuật tốn phát người đeo trang thời gian thực c) Một lớp kết nối đầy đủ làm phẳng đối tượng xác định lớp trước thành vectơ dự đốn xác suất mà hình ảnh thuộc nhãn Hình Cấu trúc mạng CNN [5] Ngồi ra, để kích hoạt cho nơron hoạt động ta cần phải xác định hàm kích hoạt cho Trong chương trình xây dựng, nhóm tác giả sử dụng hai hàm kích hoạt ReLu [6] Softmax [7] với thuật toán xác định: ReLU: f(x)=max(0,x) (2) Softmax: 𝑧 𝑒 𝑗 𝑎(𝑧)𝑗 = ∑𝐾 𝑘=1 𝑒 SỐ 66 (4-2021) 𝑧𝑘 𝑣ớ𝑖 𝑗 = 1, … , 𝑘 (3) Hình Thuật toán phát người đeo trang thời gian thực 85 TẠP CHÍ KHOA HỌC - CƠNG NGHỆ Để phát khn mặt, nhóm tác giả sử dụng thuật tốn phát khn mặt Viola-Jones [9] giống chương trình thu thập liệu Sau ảnh cắt từ video, định dạng lại kích thước giống với kích thước liệu mơ hình huấn luyện Sau đó, ảnh chuyển đổi thành tham số có định dạnh giống mơ hình mẫu Khi tham số sinh từ tập liệu huấn luyện sử dụng để thẩm định lại tính thích hợp mơ hình tập liệu hình ảnh vừa trích xuất Dựa vào kết thu ta tiến hành hiển thị lên hình kết người dân có đeo trang hay khơng Nếu người khơng đeo trang nhắc nhở người đeo trang thơng qua lời nói trực tiếp Việc nhắc nhở thực thi nhờ hỗ trợ thư viện “pyttxs3” thư viện hỗ trợ chuyển đổi văn thành giọng nói python Thuật tốn xây dựng Hình Kết Sau lần training mơ hình, độ xác (accuracy) mơ hình đạt tới 98,28%, độ mát (loss) giảm cịn 5,88% Hình cho thấy dạng đồ thị độ xác mát mơ hình ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI JOURNAL OF MARINE SCIENCE AND TECHNOLOGY Chương trình thực kiểm tra nhiều điều kiện khác nhau, bao gồm hình ảnh khn mặt hiển thị điện thoại cho kết xác Hình Hình Hình Kết phát trang với khn mặt người điện thoại Hình Kết phát trang thời gian thực Tuy nhiên, điều kiện ánh sáng việc phát trang chưa thực hiệu Chương trình chưa phân biệt người đeo trang hay không không phát mặt chủ thể Để đảm bảo tính khách quan, nhóm tác giả đồng thời xây dựng mơ hình huấn luyện khác với tập liệu cơng cộng từ nguồn [10] Nhóm tác giả trích xuất lấy lượng liệu với số lượng 500 ảnh người đeo trang 500 ảnh người không đeo trang từ nguồn liệu công cộng Độ xác mơ hình dựa tập liệu trích xuất lên tới 94,53%, độ mát giảm 12,39% sau 50 epochs Kết biểu diễn biểu đồ đường Hình 10 11 Hình Đồ thị độ xác mơ hình Hình 10 Độ xác mơ hình Hình Đồ thị độ mát mơ hình 86 dựa tập liệu cơng cộng SỐ 64 (4-2021) TẠP CHÍ ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI JOURNAL OF MARINE SCIENCE AND TECHNOLOGY KHOA HỌC - CÔNG NGHỆ Computer Vision, Image and Deep Learning (CVIDL), 2020 [4] Mohammad Marufur Rahman, Md Motaleb Hossen Manik, An Automated System to Limit COVID-19 Using Facial Mask Detection in Smart City Network, 2020 IEEE International IOT, Electronics and Mechatronics Conference (IEMTRONICS), 2020 [5] Cezanne Camacho, 2018, Convolutional Neural Networks Hình 11 Độ mát mơ hình dựa tập liệu cơng cộng Một mơ hình phát người đeo trang dựa tập liệu cơng cộng (gồm 4095 hình ảnh) công bố gần [11] Chandrika Deb với độ xác lên tới 98% sau 20 epochs Kết luận Bài báo xây dựng thành công chương trình phát nhắc nhở người khơng đeo trang nhằm hỗ trợ công tác giám sát người dân thực quy định Chính phủ việc đeo trang nơi công cộng Nhất vào thời điểm tại, tốc độ truyền nhiễm dịch bệnh chưa có dấu hiệu suy giảm Chương trình viết ngôn ngữ Python sử dụng số thư viện mã nguồn mở OpenCV, Tensorflow, Keras, Dựa vào kết thu được, ta kết hợp chương trình với thiết bị phần cứng Raspberry[12], Arduino[13],… để xây dựng hệ thống giám sát nhắc nhở người dân đeo trang nơi đông người như: trung tâm thương mại, trường học,… TÀI LIỆU THAM KHẢO [1] VnExpress, Đại dịch thay đổi giới năm 2020, 16/12/2021 [2] Liu Y, Sun P, Highsmith M R, et al Performance comparison of deep learning techniques for recognizing birds in aerial images, 2018 IEEE Third International Conference on Data Science in Cyberspace (DSC) IEEE, pp.317-324, 2018 [3] Wenxuan Han; Zitong Huang; Alifu kuerban; Meng Yan; Haitang Fu, A Mask Detection Method for Shoppers Under the Threat of COVID-19 Coronavirus, 2020 International Conference on SỐ 66 (4-2021) [6] Richard HR Hahnloser, Rahul Sarpeshkar, Misha A Mahowald, Rodney J Douglas, and H Sebastian Seung, Digital selection and analogue amplification coexist in a cortex-inspired silicon circuit” Nature 405, 6789, 2000 [7] Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron 6.2.2.3 Softmax Units for MultinoulliOutput Distributions Deep Learning MIT Press pp.180184 ISBN 978-0-26203561-3 2016 [8] Diederik P Kingma, Jimmy Ba, Adam: A method for Stochastic Optimization, at the 3rd International Conference for Learning Representations, San Diego, 2015 [9] P Viola and M J Jones, Robust real-time face detection, Int J Comput Vision, Vol.57, No.2, pp.137-154, May 2004 [10] GitHub-Chandrika Deb [Online] Available: https://github.com/chandrikadeb7/Face-MaskDetection/tree/master/dataset, accessed on: Jan 7, 2021 [11] GitHub-Chandrika Deb [Online] Available: https://github.com/chandrikadeb7/Face-MaskDetection#face-mask-detection [12] Gay, Warren, Book Raspberry Pi Hardware Reference, Apress, 2014 [13] Leo Louis, Working Principle of Arduino and Using it as a Tool for Study and Research, International Journal of Control, Automation, Communication and Systems 1, 2016 Ngày nhận bài: Ngày nhận sửa: Ngày duyệt đăng: 19/01/2021 28/01/2021 18/02/2021 87 ... trữ 500 ảnh người đeo trang 500 ảnh người không đeo trang Bước 2: Sử dụng nguồn liệu thu thập bước để huấn luyện mơ hình dựa mơ hình mạng nơron tích chập CNN Bước 3: Phát người đeo trang hay không... tiến hành hiển thị lên hình kết người dân có đeo trang hay khơng Nếu người khơng đeo trang nhắc nhở người đeo trang thơng qua lời nói trực tiếp Việc nhắc nhở thực thi nhờ hỗ trợ thư viện “pyttxs3”...

Ngày đăng: 26/05/2021, 14:50

Tài liệu cùng người dùng

Tài liệu liên quan