Face mask detection report

29 2 0
Face mask detection report

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 BÁO CÁO LUẬN VĂN TỐT NGHIỆP NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG DÙNG RASPBERRY PI 3 B+ ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN VIỄN THÔNG o0o 2 Lời cảm ơn 3 MỤ.

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN VIỄN THÔNG -o0o - BÁO CÁO LUẬN VĂN TỐT NGHIỆP NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG DÙNG RASPBERRY PI B+ Lời cảm ơn MỤC LỤC CHƯƠNG GIỚI THIỆU ĐỀ TÀI NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG 1.1 Tính cấp thiết đề tài 1.2 Đối tượng phạm vi nghiên cứu 1.2.1 Đối tượng 1.2.2 Phạm vi nghiên cứu 1.3 Nhiệm vụ đề tài CHƯƠNG LÝ THUYẾT VỀ DEEP LEARNING 2.1 Lớp tích chập thơng thường 2.2 Lớp tích chập Depthwise Seperable 10 2.3 Mơ hình mạng Mobilenet 12 2.3.1 Mạng MobileNet v1 12 2.3.2 Mạng MobileNet v2 14 2.4 Mơ hình SSD 14 CHƯƠNG THIẾT LẬP VÀ KẾT NỐI RASPBEERY PI 17 3.1 Giới thiệu Raspberry Pi model B+ 20 3.2 RPI Camera Error! Bookmark not defined 3.3 Thiết lập RPI RPI camera 21 CHƯƠNG XÂY DỰNG HỆ THỐNG NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG TRÊN RASPBERRY PI 24 4.1 Sơ đồ khối hệ thống 24 4.1.1 Quy trình thực thi hệ thống 24 4.1.2 Quy trình xây dựng hệ thống 25 4.2 Huấn luyện mơ hình nhận diện người đeo trang 26 4.2.1 Chuẩn bị liệu Error! Bookmark not defined 4.2.2 Cài đặt thông số huấn luyện Error! Bookmark not defined 4.3 Lựa chọn mơ hình phát gương mặt Error! Bookmark not defined 4.4 Nhúng mơ hình huấn luyện lên Raspberry Pi 27 CHƯƠNG KẾT QUẢ THỰC HIỆN VÀ ĐÁNH GIÁ MÔ HÌNH 28 5.1 Kết thực nghiệm hệ thống 28 5.2 Ưu điểm, nhược điểm hệ thống 28 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 28 Tài liệu tham khảo 29 Danh sách hình vẽ Hình ảnh Mơ tả Trang Hình 1.1 Tầm quan trọng việc đeo trang Hình 2.1 Các thơng số conv layers Hình 2.2 Ảnh ngõ thực tích chập thơng thường 10 Hình 2.3 Ảnh ngõ thực tích chập depthwise 10 Hình 2.4 Thực tích chập pointwise, biến đổi ảnh thành channel Danh mục viết tắt Viết tắt Tiếng Anh Tiếng Việt CNN Convolutional Neural Network Mạng nơ ron tích chập RPI Raspberry Pi Tên mạch Raspberry Pi SSD Single Shot MultiBox Detector Mơ hình nhận diện IoU Intersection of Union Tỷ lệ giao khung hình CHƯƠNG GIỚI THIỆU ĐỀ TÀI NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG Chương nhằm mục đích giới thiệu đề tài Chương giới thiệu tính câp thiết đề tài, mục tiêu, nhiệm vụ đối tượng nghiên cứu đề tài 1.1 Tính cấp thiết đề tài Virus Corona năm 2019 (cịn gọi Covid-19) chủng virus hơ hấp mới, chưa xuất người có nguồn gốc xuất phát Vũ Hán Theo số liệu ngày 29/8/2020 Wikipedia, Việt Nam có 1040 ca nhiễm, có 676 người bình phục 32 ca tử vong Vius đánh giá nguy hiểm có nguy lây nhiễm cao Việc phịng chống lây lan cộng đồng đóng vai trị quan trọng Theo khuyến cáo Bộ Y tế, mang trang biện pháp phòng chống lây lan virus Corona Theo đó, người mang virus người chưa mang virus không mang trang, nguy lây nhiễm cao Tuy nhiên, hai người trang, nguy lây nhiễm thấp (Như hình 1.1) Hình 1.1 Tầm quan trọng việc đeo trang [1] Việt Nam nước có khí hậu nhiệt đới, nhiệt độ thường mức cao (khoảng 25°-35°) Việc đeo trang thường gây nóng khó chịu dẫn đến nhiều người khơng có ý thức tự đeo trang nơi công cộng Hiện nhiều tỉnh thành thực việc phạt tiền từ 100.000-300.000 đồng người không đeo trang nơi công cộng (công viên, đường phố, phương tiện công cộng ) Tuy nhiên nơi cơng sở, trường học, việc kiểm sốt cịn gặp nhiều khó khăn thiếu nhân lực, thiếu độ xác việc thực đeo trang cách đối phó Trí tuệ nhân tạo, cụ thể Computer Vision trở nên ngày phổ biến Thay sử dụng việc giám sát sức người, hệ thống máy học có độ xác cao tiết kiệm Convolutional Neural Network (CNN) mơ hình Deep Learning tiên tiến sử dụng rộng rãi toán nhận diện, phân lớp Trên tinh thần nghiên cứu, phát triển ứng dụng sử dụng máy học kết hợp với nhu cầu thực tiễn, đề tài sử dụng mơ hình cải tiến mạng CNN để nhận diện người có đeo trang hay khơng Đề tài góp phần nâng cao ý thức cộng đồng, đồng thời đẩy lùi dịch bệnh 1.2 Đối tượng phạm vi nghiên cứu 1.2.1 Đối tượng Đề tài nghiên cứu cấu trúc hoạt động CNN, mơ hình MobileNet, mạng SSD ứng dụng mơ hình MobileNet vào toán nhận dạng người đeo trang Tìm hiểu cách kết nối thực thi mơ hình Raspberry Pi Model B+, sử dụng Raspberry Pi toán nhận diện người đeo trang 1.2.2 Phạm vi nghiên cứu Đề tài nghiên cứu thiết kế hệ thống nhận diện người đeo trang camera xử lý Raspberry Pi Việc nhận diện tập trung vào phân biệt người xuất vùng quan sát camera có đeo trang hay khơng 1.3 Nhiệm vụ đề tài Các công việc cần thực đề tài : - Tìm hiểu Deep Learning, thuật toán liên quan đến CNN tốn nhận dạng vật thể - Tìm hiểu sử dụng Raspberry toán nhận dạng - Thiết kế hệ thống nhận dạng người đeo trang - Đánh giá mơ hình, ưu nhược điểm mơ hình - Đưa phương pháp cải tiến kết luận CHƯƠNG LÝ THUYẾT VỀ DEEP LEARNING Chương trình bày số lý thuyết deep learning sử dụng đề tài Phần 2.1, 2.2 trình bày loại tích chập thơng thường tích chập depthwise separable Phần 2.3 trình bày mơ hình mạng mobileNet phần 2.4 giới thiệu mơ hình SSD 2.1 Lớp tích chập thơng thường Đây phép tính quan trọng CNN Ta thực phép tích chập cách trượt kernel/filter theo kiểu liệu đầu vào Tại vị trí, ta tiến hành phép nhân ma trận tính tổng để đưa vào feature map Feature map ma trận chiều, bao gồm số (parameter) Tại lớp tích chập, thơng số sử dụng bao gồm: - Stride (S) : Số pixel bạn dịch chuyển lần trượt - Padding (P) :Tăng thêm số hàng cột ( thường có giá trị 0) để tránh việc giảm kích thước output để lấy thơng tin pixel ngồi Có loại padding “valid” tức padding = “same” tức padding để kích thước ngõ kích thước ngõ vào - filters (nc) : Số filter sử dụng layers - f : kích thước filter f *f Hình 2.1 Các thơng số conv layers Giả sử ảnh đầu vào có kích thước 12x12x3, thực phép tích chập có cửa số 5x5 lên ảnh với padding = stride = Nếu xét chiều dài rộng ảnh trình chập (12x12) → (5x5) → (8x8) Cửa sổ lướt qua toàn ảnh, mối lần thực 25 phép nhân trả điểm ảnh Vì padding =0 nên ngõ (8x8) Tuy nhiên, ảnh đầu vào có chiều, thay thực 25 phép nhân, ta phải thực 75 phép nhân cho lần kernel dịch chuyển Giả sử ta sử dụng 256 kernel, ngõ 8x8x256 Để tạo ngõ này, ta phải thực 256x5x5x8x8x 3= 1,228,800 phép nhân Đây số vơ lớn, mạng nơ ron thơng thường khơng thể sử dụng mơ hình nhúng [2] Hình 2.2 Ảnh ngõ thực tích chập thơng thường Nguồn Viblo Hình 2.2 mơ tả q trình thực tích chập thơng thường Phần hiểu rõ tối ưu mạng nơ ron sử dụng tích chập Depthwise Seperable thay sử dụng tích chập thơng thường 2.2 Lớp tích chập Depthwise Seperable Thực phép chập depthwise Seperable tức thực phép chập Depthwise phép chập pointwise Ta thực ví dụ tương tự mục 3.1 với ảnh đầu vào có kích thước 12x12x3 Đầu tiên, thực chập depthwise cách sử dụng kernel 5x5x1 Ở đây, kernel thực phép chập với channel ảnh đầu vào, cho output 8x8x1, gộp kết lại, thu ảnh đầu 8x8x3.[2] 10 boxes) để dự đốn khung hình có khả bao quanh vật thể Tại thời điểm dự báo, mạng neural trả giá trị : Phân phối xác suất nhãn bounding box với giá trị ground truth input mơ hình ( gồm nhãn offsets bounding box) Mơ hình kết hợp nhiều feature map với độ phân giải khác giúp phát vật thể đa dạng kích thước hình dạng Trong mơ hình SSD, tất q trình phát vật thể phân loại vật thể thực mạng Tóm gọn lại, mơ hình SSD kết hợp bước: - Trích xuất feature map từ mạng CNN - Áp dụng convolutional filters ( kernel filters) để phát vật thể feaature map có độ phân giải (revolution) khác Một số định nghĩa: - Scale: Tỷ lệ chiều dài (h) chiều rộng (w) khung hình gốc Scale kết hợp với aspect ratio để nhận khung hình có tỉ lệ cạnh w/ h khác - Aspect ratio : Tỷ lệ cạnh, đo tỷ lệ w/h để xác định hình dạng tương đối khung hình bao chứa vật thể - bounding box: khung hình bao chứa vật thể xác định qua trình huấn luyện - ground truth box : Khung hình xác định trước từ liệu thông qua tọa độ (cx, xy, w, h) giúp xác định vật thể - IoU: Tỷ lệ Intersection of Union tỷ lệ đo lường mức độ giao khung hình (thường khung hình dự báo khung hình ground truth) để nhằm xác định khung hình overlap khơng Tỷ lệ tính dựa phần diện tích giao gữa khung hình với phần tổng diện tích giao khơng giao chúng - 15 Hình 2.9 Mơ tả IoU - Positive matching prediction: Khung dự báo (predict box) vùng có vật thể đúng, xác định dựa tỷ lệ IoU >0.5 predict box với ground truth box - Negative matching prediction : Khung dự báo (predicted box) vùng không chứa vật thể đúng, xác định dựa IoU < 0.5 predicted box với ground truth box Hình 2.10 Cách thức phân chia feature map để nhận diện hình ảnh với kích thước khác SSD sử dụng đầu vào ảnh ground truth boxes ám vị trí bounding box vật thể suốt trình huấn luyện Trong trình phát vật thể, feature map, đánh giá tập hợp nhỏ gồm default boxes tương ứng với tỷ lệ cạnh khác (aspect ratio) lên feature map có kích thước (scales) khác ( chẳng hạn kích thước 8x8 4x4 hình 2.10 (b) (c)) Đối với default box ( boxes nét đứt hình) ta cần dự báo phân phối xác suất C= (c1, c2,… , cn) tương ứng với class C= C1, C2, … , Cn Tại thời điểm huấn luyện, 16 cần match default boxes với ground truth boxes cho mức độ sai số đo lường qua localization loss nhỏ Sau ta tìm cách tối thiểu hóa sai số nhãn dự báo tương ứng với vật thể phát default boxes thông qua confidence loss (thường hàm softmax) Như loss function object detection khác với loss function tác vụ image classification chỗ có thêm localization loss sai số vị trí predicted boxes so với ground truth boxes Hình 2.11 Cấu trúc mạng SSD SSD dựa tiến trình lan truyền thuận kiến trúc chuẩn (chẳng hạn VGG16) để tạo khối feature map output gồm chiều giai đoạn đầu Giai đoạn sau thêm kiến trúc nhận diện vật thể Extra Feature Layers sơ đồ hình 2.11 Các layer mơ hình SSD: - Input Layer: Nhận input đầu vào ảnh có kích thước 300x300x3 kiến trúc SSD300 - Conv5_3 Layer: Chính base network sử dụng kiến trúc VGG16 loại bỏ số layers fully connected cuối Output layer feature map có kích thước 38x38x512 - Conv4_3 Layer: Có thể coi feature map có kích thước 38x38x512 Trên feature map áp dụng biến đổi là: 17 ❖ Áp dụng convolutional layer mạng thông thường để thu output layer Cụ thể, layer có kernel kích thước 3x3x1024, đầu thu Conv6 có kích thước 19x19x1024 ❖ Tiếp theo, áp dụng classifier dựa convolutional filter có kích thước 3x3 để nhằm nhận diện vật thể feature map Đầu tiên ta phân chia feature map kích thước 38x38x512 thành grid cell kích thước 38x38 Sau đó, cell grid cell tạo default bounding boxes với tỉ lệ khung hình khác (aspect ratio), default bounding box ta cần tìm tham số sau: phân phối xác suất nhãn vec tơ có n_classes +1 chiều ( số lượng classes cộng thêm cho background) Đồng thời cần thêm tham số offsets để xác định bounding box vật thể khung hình Do default bounding box có n_classes + tham số cell có 4* (n_classes +5) output cần dự báo Nhân với số cells Conv4_3 để thu số lượng output tensor có kích thước 38x38x4x(n_classes +5) Số lượng bounding box sản sinh 38x38x4 - Quá trình áp dụng classifier lên feature map tương tự với layer Conv7, Conv8_2, Conv_9, Conv10_2, Conv11_2 Shape layer sau phụ thuộc vào cách thức áp dụng tích chập (convolutional process) layer trước, kích thước kernel filter (như sơ đồ kernel_size ln x 3) stride (độ lớn bước nhảy) tích chập Trên cell thuộc feature map ta xác định lượng default bounding boxes Do đó, số lượng default boxes sản sinh layers sau:Conv7 :19x19x6 = 2166 boxes;Conv8_2: 10x10x6 = 600 boxes;Conv9_2: 5x5x6 =150 boxes; Conv10_2: 3x3x4 =36 boxes Conv11_2: 1x1x4 =4 boxes Như tổng số boxes output 5766 + 2166 + 600 + 150 + 36 +4 =3782 Mỗi vector output tương ứng cho default bounding box dạng: yT = [ x, y, w, h, c1 , c2 , , cc ] 18 - Áp dụng feature map với kích thước khác nhau: Sau thu feature map base network Chúng ta tiếp tục thêm convolutional layers Những layers nhằm giảm kích thước feature map từ giảm số lượng khung hình cần dự báo cho phép dự báo nhận diện vật thể nhiều hình dạng kích thước khác Những feature map có kích thước lớn phát tốt vật thể nhỏ feature map kích thước nhỏ giúp phát tốt vật thể lớn Cụ thể kích thước kernel filters xem sơ đồ kiến trúc phần Extra Features Layers - Default box tỷ lệ cạnh: Chúng ta cần liên kết tợp hợp default bounding boxes với cell feature map Các default boxes phân bố lát gạch feature map theo thứ tự từ xuống từ trái qua phải để tính tích chập, vị trí default box tương ứng với cell mà liên kết cố định tương ứng với vùng ảnh ảnh gốc [6] 19 CHƯƠNG THIẾT LẬP VÀ KẾT NỐI RASPBEERY PI 3.1 Giới thiệu Raspberry Pi model B+ Raspberry Pi (RPI) máy tính thu nhỏ, tích hợp thứ cần thiết CPU, GPU, RAM, khe cắm thẻ microSD, Wi-Fi Các ứng dụng điển hình RPI là: Làm camera an ninh, máy nghe nhạc, máy đọc sách, Terminal di động, làm thiết bị điều khiển thiết bị nhà, điều khiển Smart Home Những ưu điểm thiết bị là: - Giá thành thấp, khoảng 35 USD, tích hợp đầy đủ Wi-Fi, Bluetooth - Đơn giản, dễ sử dụng, kích thước nhỏ - Tiêu thụ lượng - Có tính di động cao Hình 3.1 Cấu tạo RPI Model B+ Cấu tạo RPI Model B+ bật với chip nhân 64-bit có tốc độ 1.4 GHz, nhanh phiên trước Phiên hỗ trợ Wi-Fi Dual- band 2.4 GHz GHz, Bluetooth 4.2, cổng Ethernet tốc độ cao (300Mbps) Power over Ethernet (PoE) 20 ... thể phát default boxes thông qua confidence loss (thường hàm softmax) Như loss function object detection khác với loss function tác vụ image classification chỗ có thêm localization loss sai số

Ngày đăng: 25/03/2023, 09:45