Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin 1 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT-HÀN BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ XÂY DỰNG MÔ HÌNH PHÁT HIỆN NGƯỜI ĐEO KHẨU TRANG PHÒNG CHỐNG DỊCH COVID-19 DÙNG KỸ THUẬT DEEP LEARNING Mã số: ĐHVH-2022-04 Chủ nhiệm đề tài: TS. Phạm Nguyễn Minh Nhựt Đà Nẵng, 32023 2 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT-HÀN BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ XÂY DỰNG MÔ HÌNH PHÁT HIỆN NGƯỜI ĐEO KHẨU TRANG PHÒNG CHỐNG DỊCH COVID-19 DÙNG KỸ THUẬT DEEP LEARNING Mã số: ĐHVH-2022-04 Xác nhận của tổ chức chủ trì (ký, họ tên, đóng dấu) Chủ nhiệm đề tài (ký, họ tên) Đà Nẵng, 32023 3 MỤC LỤC MỞ ĐẦU ............................................................................................................................. 6 CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN .....................................................................7 I. Bài toán phân loại ảnh ............................................................................................... 7 II. Phân loại ảnh bằng kỹ thuật Deep Learning .............................................................. 8 2.1. Khái niệm về Deep Learning .................................................................................8 2.2. Mạng nơ ron tích chập (CNN) ...............................................................................8 2.2.1. Nơ ron sinh học ......................................................................................................8 2.2.2 Nơ ron nhân tạo .......................................................................................................9 2.2.3 Cấu trúc của của mạng CNN .................................................................................10 2.2.4 Một số thuật ngữ đối với mạng CNN ....................................................................13 2.3. Phân loại khuôn mặt đeo khẩu trang ....................................................................14 CHƯƠNG 2. SƯU TẬP DATASET, HUẤN LUYỆN MÔ HÌNH ..................................18 2.1. Bộ dữ liệu huấn luyện ..........................................................................................18 2.2. Mạng MobileNetV2 ............................................................................................. 18 2.3. Phương pháp học chuyển tiếp ..............................................................................19 2.4. Tăng cường dữ liệu .............................................................................................. 20 2.5. Kết quả thực nghiệm ............................................................................................ 20 2.6. Tổng kết chương...................................................................................................22 CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG .........................................................................23 3. 1. Chức năng và hoạt động .........................................................................................23 a. Chức năng ................................................................................................................23 b. Hoạt động ................................................................................................................23 3.2. Kết quả giao diện thực hiện .....................................................................................24 KẾT LUẬN ........................................................................................................................27 4 THÔNG TIN KẾT QUẢ NGHIÊN CỨU 1. Thông tin chung: - Tên đề tài: XÂY DỰNG MÔ HÌNH PHÁT HIỆN NGƯỜI ĐEO KHẨ U TRANG PHÒNG CHỐNG DỊCH COVID-19 DÙNG KỸ THUẬT DEEP LEARNING - Mã số: ĐHVH-2022-04 - Chủ nhiệm: TS. Phạm Nguyễn Minh Nhựt - Thành viên tham gia: TS. Nguyễn Đức Hiển, TS. Lê Thị Thu Nga, ThS. Trị nh Trung Hải - Cơ quan chủ trì: Phòng Tổ chức – Hành chính - Thời gian thực hiện: 12 tháng 2. Mục tiêu: - Xây dựng mô hình phát hiện các trạng thái đeo khẩu trang phòng chống dị ch Covid- 19 của con người sử dụng kỹ thuật Deep learning - Ứng dụng mô hình để xây dựng phần mềm phát hiện, cảnh báo các trạng thái đeo khẩu trang của con người trong video. 3. Tính mới và sáng tạo: Đề tài huấn luyện mô hình với bộ phân lớp (3 lớp) 4. Tóm tắt kết quả nghiên cứu: 5. Tên sản phẩm: - Sản phẩm khoa học : 01 bài báo trong nướ c: Nguyen Minh Nhut Pham, Duc Hien Nguyen, Nga Le-Thi-Thu, Face Mask-Wearing Classification Using Transfer Learning Technique with MobileNet V2, Tạp chí Khoa học và Công nghệ, Đại học Quả ng Bình, 22(04), 117-125, ISSN: 0866-7683 - Sản phẩm ứ ng dụng : + Mô hình phát hiện người đeo khẩu trang phòng chống dịch Covid- 19: có đeo, không đeo, đeo không đúng quy cách dựa trên kỹ thuật Deep Learning. + Phần mềm phát hiện các trạng thái đeo khẩu trang trên mặt người trong video; cảnh báo các trường hợp không đeo hoặc đeo không đúng. 6. Hiệu quả, phương thức chuyển giao kết quả nghiên cứu và khả năng áp dụng: 5 Đề tài có ý nghĩa khoa học và có tính ứng dụng cao trong lĩnh vực xử lý ảnh, thị giác máy tính. Kết quả đề tài có thể được ứng dụng trong thực ti ễn và trong lĩnh vực nghiên cứu lĩnh vực xử lý ảnh, thị giác máy tính. Cụ thể: - Đối với lĩnh vực giáo dụ c và đào tạo: Làm tài liệu tham khảo giảng dạy và học tậ p học phần: Xử lý ảnh, Thị giác máy tính, Deep Learning - Đối với lĩnh vực khoa học và công nghệ: Góp phần nâng cao năng lực nghiên cứu trong lĩnh vực Xử lý ảnh, Thị giác máy tính, Deep Learning - Đối với phát triển kinh tế-xã hội: Tăng cường công tác phòng chống dịch Covid- 19 để phát triển kinh tế, ổn định xã hội - Đối với tổ chứ c chủ trì và các cơ sở ứ ng dụ ng kết quả nghiên cứ u: + Làm tài liệu tham khảo giảng dạy và học tập học phần: Xử lý ảnh, Thị giác máy tính, Deep Learning + Áp dụng phát hiện, cảnh báo cán bộ viên chức, sinh viên trong việc tuân thủ đeo khẩu trang khi tham gia sinh hoạt đông người tại Trường, góp phần thực hiện tốt quy định 5K trong công tác phòng chống Dịch Covid-19. Ngày 30 tháng 03 năm 2023 PHÒNG TỔ CHỨC – HÀNH CHÍNH TS. Phạm Nguyễn Minh Nhựt Chủ nhiệm đề tài TS. Phạm Nguyễn Minh Nhựt 6 MỞ ĐẦU Do mối đe dọa nghiêm trọng của đại dịch COVID-19, khẩu trang được sử dụng như một chiến lược đơn giản và hiệu quả để giảm bớt mối đe dọa của virus. Tìm kiếm các giải pháp để tối ưu hóa việc sử dụng sai các cơ chế phòng ngừa là một chủ đề nóng hiệ n nay. Vì thế, việc ứng dụng hệ thống phát hiện con người không đeo khẩu trang, đeo khẩ u trang hoặc đeo khẩu trang sai quy cách nhằm cảnh báo đang là nhu cầu cao tại các khu vực sử dụng phương tiện giao thông, khu đông dân cư, các nhà máy sản xuất, các doanh nghiệ p ... Sử dụng trí tuệ nhân tạo (AI) là một trong những kỹ thuật hữu ích nhất để giải quyế t bài toán này. Để giám sát việc đeo khẩu trang, nhiều nghiên cứu về phát hiện mặt người đeo khẩu trang đã thu hút sự chú ý của cộng đồng thị giác máy tính, không chỉ xây dự ng các mô hình học máy để phát hiện việc đeo khẩu trang mà còn nhiều công trình nghiên cứu về lĩnh vực dữ liệu, sưu tập và tạo ra nhiều bộ dữ liệu mặt người có đeo khẩu trang để phụ c vụ huấn luyện các mô hình học máy. Bài toán giám sát việc đeo khẩu trang thuộc lớ p bài toán phân loạilớp dữ liệu ảnh. Tức là, gán nhãn cho một ảnh (không đeo khẩu trang, đeo khẩu trang sai quy cách và có đeo khẩu trang đúng quy cách) từ một bộ danh mục ả nh. Bài toán có nhiệm vụ phân tích một ảnh đầu vào và trả về một nhãn cho ảnh. Để tạo ra các mô hình phân loại đối với bài toán này thường sử dụ ng các mô hình mạng CNN để có thể phân loại. Tuy nhiên, phần lớn các nghiên cứu hiện nay chỉ phân loại mặt người có hay không có đeo khẩu trang. Tuy nhiên, việc đeo khẩu trang không đúng quy cách, đặc biệt là trẻ em, sẽ giảm hiệu quả phòng ngừa Dịch COVID-19. Vì thế , nghiên cứu xây dụng mô hình học máyhọc sâu để tạo bộ phân loại 3 lớp: đeo khẩu trang, không đeo khẩu trang và đeo không đúng quy cách; sưu tập dữ liệu để huấn luyệ n mô hình. Từ đó, áp dụng mô hình để xây dựng ứng dụng cảnh báo việc đeo khẩu trang không đúng quy cách là vấn đề cấp thiết hiện nay. Báo cáo tổng k ết đề tài này được trình bày trong 03 chương: Chương 1 trình bày kết quả nghiên cứu tổng quan về tình hình nghiên cứu. Chương 2 trình bày các đề xuất bộ dữ liệu ảnh đã được gắn nhãn về ảnh người cùng với các trạng thái đeo khẩu trang, lựa chọ n mô hình, huấn luyện và đánh giá kết quả huấn luyện mô hình. Chương 3 trình bày ứ ng dụng mô hình để xây dựng phần mềm cảnh báo các trạng thái đeo khẩu trang của người. 7 CHƯƠNG 1. NGHIÊN CỨ U TỔNG QUAN I. Bài toán phân loại ảnh Bài toán phân loại ảnh là một bài toán trong lĩnh vực Computer Vision, trong đó mụ c tiêu là phân loại các ảnh vào các nhóm khác nhau dựa trên nội dung củ a chúng. Bài toán này yêu cầu mô hình có khả năng nhận diện và phân loại ảnh d ựa trên các đặc trưng và thông tin được trích xuất từ ảnh, ví dụ như màu sắc, hình dạng, kích thước, vv. Tức là, Phân loại ảnh là gán nhãn cho một ảnh từ một bộ danh mục ảnh. Nghĩa là, phân tích một ảnh đầu vào và trả về một nhãn cho ảnh (Nhãn từ một tập các danh mục được xác định trước). Hình 1. Các giai đoạn phân loại ả nh bằng kỹ thuật MLDL Để giải quyết bài toán này, có thể sử dụng các kỹ thuật và công cụ như: - Mạng neural: Các mô hình mạng neural đa lớp (như Convolutional Neural Network - CNN) là công cụ phổ biến trong việc giải quyết bài toán phân loại ảnh. Các mạng neural này được huấn luyện trên các tập dữ liệu lớn để học các đặc trưng của ảnh và sử dụng chúng để phân loại các ảnh mới. - Feature extraction: Kỹ thuật trích xuất đặc trưng có thể được sử dụng để trích xuất các đặc trưng từ các ảnh và sử dụng chúng để huấn luyện các mô hình phân loạ i khác nhau, chẳng hạn như k-means hoặc SVM. - Transfer learning: Kỹ thuật này sử dụng các mô hình đã được huấn luyệ n trên các tập dữ liệu khác và sử dụng chúng để giải quyết các bài toán phân loại ảnh khác. Chẳng 8 hạn như sử dụng các mô hình đã được huấn luyện trên ImageNet để giải quyế t các bài toán phân loại ảnh khác. - Augmentation: Kỹ thuật tăng cường dữ liệu (data augmentation) là cách tạ o ra thêm các dữ liệu mới từ các dữ liệu đã có bằng cách thay đổi một số thuộc tính như độ sáng, tăng giảm kích thước, xoay, lật ảnh, vv. Từ đó, tăng độ đa dạng cho các ảnh trong tập huấ n luyện, giúp mô hình có khả năng khái quát hóa tốt hơn trên các ảnh mới. - Kỹ thuật ensemble: sử dụng để kết hợp các mô hình dự đoán khác nhau để đạt đượ c kết quả tốt hơn so với việc sử dụng một mô hình duy nhất. Kỹ thuật ensemble thường đượ c sử dụng trong các bài toán phức tạp, mà một mô hình duy nhất không thể đạt được kết quả tốt nhất. Có nhiều cách để áp dụng kỹ thuật ensemble, nhưng phương pháp phổ biến nhấ t là kết hợp các dự đoán của các mô hình con bằng cách tính trung bình hoặc trọng số trung bình của các dự đoán đó. Trong kỹ thuật này, mỗi mô hình con được huấn luyện trên mộ t tập dữ liệu con khác nhau, hoặc sử dụng các kỹ thuật khác nhau để huấn luyện. II. Phân loại ảnh bằng kỹ thuật Deep Learning 2.1. Khái niệm về Deep Learning Deep Learning (học sâu) có thể xem là một lĩnh vực con của Machine Learning (họ c máy). Trong đó, các chương trình máy tính sẽ học và cải thiện chính nó thông qua các thuật toán. Deep Learning được xây dựng dựa trên các nơ-ron nhân tạo để bắt chước khả năng tư duy và suy nghĩ của bộ não con người. Mạng nơ-ron nhân tạo trong Deep Learning được xây dựng để mô phỏng khả năng tư duy của bộ não con người. Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, số lượng layer càng nhiều thì mạng sẽ càng “sâu”. Trong mỗi layer là các nút mạng (node) và được liên kết với những lớp liền kề khác. Mỗi kết nối giữa các node sẽ có một trọng số tương ứng, trọng số càng cao thì ảnh hưở ng của kết nối này đến mạng nơ-ron càng lớn. Mỗi nơ-ron sẽ có một hàm kích hoạt có nhiệ m vụ “chuẩn hoá” đầu ra từ nơ-ron này. Dữ liệu đưa vào mạng nơ-ron sẽ đi qua tất cả layer và trả về kết quả ở layer cuối cùng, gọi là output layer. Trong quá trình huấn luyện mô hình mạng nơ-ron, các trọng số sẽ được thay đổ i và nhiệm vụ của mô hình là tìm ra bộ giá trị của trọng số sao cho phán đoán là tốt nhấ t. Các hệ thống Deep Learning yêu cầu phần cứng phải rất mạnh để có thể xử lý đư ợc lượng dữ liệu lớn và thực hiện các phép tính phức tạp. 2.2. Mạng nơ ron tích chập (CNN) 2.2.1. Nơ ron sinh học Neural Network sinh học: gồm các Neuron được kết nối vớ i nhau thông qua dendrites và neuron. Bộ não của người có khoảng 10 tỷ neuron, mỗi Neuron kết nối với khoảng 9 10.000 nơron khác. Trong đó, Cell body của Neuron gọi là soma, các đầu vào dendrite và đầu ra axon để kết các soma. Các Neuron nhận xung điện từ nơron khác thông qua dendrite và nếu xung điện đủ mạnh nó sẽ truyền đến các Neuron khác, mục đích là để truyền “bản tin” Hình 2. Minh họa 01 Nơ ron sinh học Hình 3. Minh họa mạng Nơ ron nhân tạo 2.2.2 Nơ ron nhân tạo Một Nơ ron nhân tạo có cấu trúc như sau - Đầu vào X: x1, x2,…,xm và 1 gọi là bias. Và, gọi là vector đặc trưng X - Trọng số tương ứng: w1, w2,…, wm và w0 và gọi là vec tơ trọng số W - Mỗi một vec tơ X kết nối với Neuron được kết hợp với vector W - Đầu ra là hàm tổng của tích các trọng số và đầu vào tương ứng rồi áp mộ t hàm kích hoạt 10 Mỗi Neuron nhân tạo gọi là Perceptron. Perceptron được dùng xây dựng: Các mạng Nơ ron nhân tạo và dùng để xây dựng c khối (block) của Machine Learning, Deep Learning Hình 4. Cấu trúc của một Nơ ron nhân tạo Trong đó, hàm kích hoạt có nhiệm vụ: - Tác dụng của hàm kích hoạt: Tạo ra tính phi tuyến trong mạng - Tính phi tuyến cho phép tính gần đúng các hàm phức tạp 2.2.3 Cấu trúc của của mạng CNN - Chức năng của mạng neural tích chập (CNN) là trích chọn các đặc trưng của ảnh. Thông thường gồm các layer sau: + Convolutional layer (CONV) + Activation Layer (sử dụng các hàm kích hoạt) + Pooling Layer (POOL) + Fully Connected Layer (FC) + Batch Normalization Layer (BN) + Dropout Layer (DO)
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT-HÀN
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ
XÂY DỰNG MÔ HÌNH PHÁT HIỆN NGƯỜI ĐEO KHẨU TRANG PHÒNG CHỐNG DỊCH COVID-19 DÙNG KỸ THUẬT
DEEP LEARNING
Mã số: ĐHVH-2022-04
Chủ nhiệm đề tài: TS Phạm Nguyễn Minh Nhựt
Đà Nẵng, 3/2023
Trang 2ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT-HÀN
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ
XÂY DỰNG MÔ HÌNH PHÁT HIỆN NGƯỜI ĐEO KHẨU TRANG PHÒNG CHỐNG DỊCH COVID-19 DÙNG KỸ
THUẬT DEEP LEARNING
Đà Nẵng, 3/2023
Trang 3MỤC LỤC
MỞ ĐẦU 6
CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 7
I Bài toán phân loại ảnh 7
II Phân loại ảnh bằng kỹ thuật Deep Learning 8
2.1 Khái niệm về Deep Learning 8
2.2 Mạng nơ ron tích chập (CNN) 8
2.2.1 Nơ ron sinh học 8
2.2.2 Nơ ron nhân tạo 9
2.2.3 Cấu trúc của của mạng CNN 10
2.2.4 Một số thuật ngữ đối với mạng CNN 13
2.3 Phân loại khuôn mặt đeo khẩu trang 14
CHƯƠNG 2 SƯU TẬP DATASET, HUẤN LUYỆN MÔ HÌNH 18
2.1 Bộ dữ liệu huấn luyện 18
2.2 Mạng MobileNetV2 18
2.3 Phương pháp học chuyển tiếp 19
2.4 Tăng cường dữ liệu 20
2.5 Kết quả thực nghiệm 20
2.6 Tổng kết chương 22
CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG 23
3 1 Chức năng và hoạt động 23
a Chức năng 23
b Hoạt động 23
3.2 Kết quả giao diện thực hiện 24
KẾT LUẬN 27
Trang 4THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung:
- Tên đề tài: XÂY DỰNG MÔ HÌNH PHÁT HIỆN NGƯỜI ĐEO KHẨU TRANG PHÒNG CHỐNG DỊCH COVID-19 DÙNG KỸ THUẬT DEEP LEARNING
- Mã số: ĐHVH-2022-04
- Chủ nhiệm: TS Phạm Nguyễn Minh Nhựt
- Thành viên tham gia: TS Nguyễn Đức Hiển, TS Lê Thị Thu Nga, ThS Trịnh Trung Hải
- Cơ quan chủ trì: Phòng Tổ chức – Hành chính
- Thời gian thực hiện: 12 tháng
2 Mục tiêu:
- Xây dựng mô hình phát hiện các trạng thái đeo khẩu trang phòng chống dịch
Covid-19 của con người sử dụng kỹ thuật Deep learning
- Ứng dụng mô hình để xây dựng phần mềm phát hiện, cảnh báo các trạng thái đeo khẩu trang của con người trong video
3 Tính mới và sáng tạo:
Đề tài huấn luyện mô hình với bộ phân lớp (3 lớp)
4 Tóm tắt kết quả nghiên cứu:
5 Tên sản phẩm:
- Sản phẩm khoa học: 01 bài báo trong nước: Nguyen Minh Nhut Pham, Duc Hien
Nguyen, Nga Le-Thi-Thu, Face Mask-Wearing Classification Using Transfer Learning Technique with MobileNet V2, Tạp chí Khoa học và Công nghệ, Đại học Quảng Bình, 22(04), 117-125, ISSN: 0866-7683
- Sản phẩm ứng dụng:
+ Mô hình phát hiện người đeo khẩu trang phòng chống dịch Covid-19: có đeo, không đeo, đeo không đúng quy cách dựa trên kỹ thuật Deep Learning
+ Phần mềm phát hiện các trạng thái đeo khẩu trang trên mặt người trong video; cảnh báo các trường hợp không đeo hoặc đeo không đúng
6 Hiệu quả, phương thức chuyển giao kết quả nghiên cứu và khả năng áp dụng:
Trang 5Đề tài có ý nghĩa khoa học và có tính ứng dụng cao trong lĩnh vực xử lý ảnh, thị giác máy tính Kết quả đề tài có thể được ứng dụng trong thực tiễn và trong lĩnh vực nghiên cứu lĩnh vực xử lý ảnh, thị giác máy tính Cụ thể:
- Đối với lĩnh vực giáo dục và đào tạo: Làm tài liệu tham khảo giảng dạy và học tập
học phần: Xử lý ảnh, Thị giác máy tính, Deep Learning
- Đối với lĩnh vực khoa học và công nghệ: Góp phần nâng cao năng lực nghiên cứu
trong lĩnh vực Xử lý ảnh, Thị giác máy tính, Deep Learning
- Đối với phát triển kinh tế-xã hội: Tăng cường công tác phòng chống dịch
Covid-19 để phát triển kinh tế, ổn định xã hội
- Đối với tổ chức chủ trì và các cơ sở ứng dụng kết quả nghiên cứu:
+ Làm tài liệu tham khảo giảng dạy và học tập học phần: Xử lý ảnh, Thị giác máy tính, Deep Learning
+ Áp dụng phát hiện, cảnh báo cán bộ viên chức, sinh viên trong việc tuân thủ đeo khẩu trang khi tham gia sinh hoạt đông người tại Trường, góp phần thực hiện tốt quy định 5K trong công tác phòng chống Dịch Covid-19
Trang 6MỞ ĐẦU
Do mối đe dọa nghiêm trọng của đại dịch COVID-19, khẩu trang được sử dụng như một chiến lược đơn giản và hiệu quả để giảm bớt mối đe dọa của virus Tìm kiếm các giải pháp để tối ưu hóa việc sử dụng sai các cơ chế phòng ngừa là một chủ đề nóng hiện nay
Vì thế, việc ứng dụng hệ thống phát hiện con người không đeo khẩu trang, đeo khẩu trang hoặc đeo khẩu trang sai quy cách nhằm cảnh báo đang là nhu cầu cao tại các khu vực sử dụng phương tiện giao thông, khu đông dân cư, các nhà máy sản xuất, các doanh nghiệp Sử dụng trí tuệ nhân tạo (AI) là một trong những kỹ thuật hữu ích nhất để giải quyết bài toán này
Để giám sát việc đeo khẩu trang, nhiều nghiên cứu về phát hiện mặt người đeo khẩu trang đã thu hút sự chú ý của cộng đồng thị giác máy tính, không chỉ xây dựng các mô hình học máy để phát hiện việc đeo khẩu trang mà còn nhiều công trình nghiên cứu về lĩnh vực dữ liệu, sưu tập và tạo ra nhiều bộ dữ liệu mặt người có đeo khẩu trang để phục
vụ huấn luyện các mô hình học máy Bài toán giám sát việc đeo khẩu trang thuộc lớp bài toán phân loại/lớp dữ liệu ảnh Tức là, gán nhãn cho một ảnh (không đeo khẩu trang, đeo khẩu trang sai quy cách và có đeo khẩu trang đúng quy cách) từ một bộ danh mục ảnh Bài toán có nhiệm vụ phân tích một ảnh đầu vào và trả về một nhãn cho ảnh
Để tạo ra các mô hình phân loại đối với bài toán này thường sử dụng các mô hình mạng CNN để có thể phân loại Tuy nhiên, phần lớn các nghiên cứu hiện nay chỉ phân loại mặt người có hay không có đeo khẩu trang Tuy nhiên, việc đeo khẩu trang không đúng quy cách, đặc biệt là trẻ em, sẽ giảm hiệu quả phòng ngừa Dịch COVID-19 Vì thế, nghiên cứu xây dụng mô hình học máy/học sâu để tạo bộ phân loại 3 lớp: đeo khẩu trang, không đeo khẩu trang và đeo không đúng quy cách; sưu tập dữ liệu để huấn luyện mô hình Từ đó, áp dụng mô hình để xây dựng ứng dụng cảnh báo việc đeo khẩu trang không đúng quy cách là vấn đề cấp thiết hiện nay
Báo cáo tổng kết đề tài này được trình bày trong 03 chương: Chương 1 trình bày kết quả nghiên cứu tổng quan về tình hình nghiên cứu Chương 2 trình bày các đề xuất bộ dữ liệu ảnh đã được gắn nhãn về ảnh người cùng với các trạng thái đeo khẩu trang, lựa chọn
mô hình, huấn luyện và đánh giá kết quả huấn luyện mô hình Chương 3 trình bày ứng dụng mô hình để xây dựng phần mềm cảnh báo các trạng thái đeo khẩu trang của người
Trang 7CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN
I Bài toán phân loại ảnh
Bài toán phân loại ảnh là một bài toán trong lĩnh vực Computer Vision, trong đó mục tiêu là phân loại các ảnh vào các nhóm khác nhau dựa trên nội dung của chúng Bài toán này yêu cầu mô hình có khả năng nhận diện và phân loại ảnh dựa trên các đặc trưng và thông tin được trích xuất từ ảnh, ví dụ như màu sắc, hình dạng, kích thước, vv
Tức là, Phân loại ảnh là gán nhãn cho một ảnh từ một bộ danh mục ảnh Nghĩa là, phân tích một ảnh đầu vào và trả về một nhãn cho ảnh (Nhãn từ một tập các danh mục được xác định trước)
Hình 1 Các giai đoạn phân loại ảnh bằng kỹ thuật ML/DL
Để giải quyết bài toán này, có thể sử dụng các kỹ thuật và công cụ như:
- Mạng neural: Các mô hình mạng neural đa lớp (như Convolutional Neural Network
- CNN) là công cụ phổ biến trong việc giải quyết bài toán phân loại ảnh Các mạng neural này được huấn luyện trên các tập dữ liệu lớn để học các đặc trưng của ảnh và sử dụng chúng để phân loại các ảnh mới
- Feature extraction: Kỹ thuật trích xuất đặc trưng có thể được sử dụng để trích xuất các đặc trưng từ các ảnh và sử dụng chúng để huấn luyện các mô hình phân loại khác nhau, chẳng hạn như k-means hoặc SVM
- Transfer learning: Kỹ thuật này sử dụng các mô hình đã được huấn luyện trên các tập dữ liệu khác và sử dụng chúng để giải quyết các bài toán phân loại ảnh khác Chẳng
Trang 8hạn như sử dụng các mô hình đã được huấn luyện trên ImageNet để giải quyết các bài toán phân loại ảnh khác
- Augmentation: Kỹ thuật tăng cường dữ liệu (data augmentation) là cách tạo ra thêm các dữ liệu mới từ các dữ liệu đã có bằng cách thay đổi một số thuộc tính như độ sáng, tăng giảm kích thước, xoay, lật ảnh, vv Từ đó, tăng độ đa dạng cho các ảnh trong tập huấn luyện, giúp mô hình có khả năng khái quát hóa tốt hơn trên các ảnh mới
- Kỹ thuật ensemble: sử dụng để kết hợp các mô hình dự đoán khác nhau để đạt được kết quả tốt hơn so với việc sử dụng một mô hình duy nhất Kỹ thuật ensemble thường được
sử dụng trong các bài toán phức tạp, mà một mô hình duy nhất không thể đạt được kết quả tốt nhất Có nhiều cách để áp dụng kỹ thuật ensemble, nhưng phương pháp phổ biến nhất
là kết hợp các dự đoán của các mô hình con bằng cách tính trung bình hoặc trọng số trung bình của các dự đoán đó Trong kỹ thuật này, mỗi mô hình con được huấn luyện trên một tập dữ liệu con khác nhau, hoặc sử dụng các kỹ thuật khác nhau để huấn luyện
II Phân loại ảnh bằng kỹ thuật Deep Learning
2.1 Khái niệm về Deep Learning
Deep Learning (học sâu) có thể xem là một lĩnh vực con của Machine Learning (học máy) Trong đó, các chương trình máy tính sẽ học và cải thiện chính nó thông qua các thuật toán Deep Learning được xây dựng dựa trên các nơ-ron nhân tạo để bắt chước khả năng
tư duy và suy nghĩ của bộ não con người
Mạng nơ-ron nhân tạo trong Deep Learning được xây dựng để mô phỏng khả năng
tư duy của bộ não con người Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, số lượng layer càng nhiều thì mạng sẽ càng “sâu”
Trong mỗi layer là các nút mạng (node) và được liên kết với những lớp liền kề khác Mỗi kết nối giữa các node sẽ có một trọng số tương ứng, trọng số càng cao thì ảnh hưởng của kết nối này đến mạng nơ-ron càng lớn Mỗi nơ-ron sẽ có một hàm kích hoạt có nhiệm
vụ “chuẩn hoá” đầu ra từ nơ-ron này Dữ liệu đưa vào mạng nơ-ron sẽ đi qua tất cả layer
và trả về kết quả ở layer cuối cùng, gọi là output layer
Trong quá trình huấn luyện mô hình mạng nơ-ron, các trọng số sẽ được thay đổi và nhiệm vụ của mô hình là tìm ra bộ giá trị của trọng số sao cho phán đoán là tốt nhất Các
hệ thống Deep Learning yêu cầu phần cứng phải rất mạnh để có thể xử lý được lượng dữ liệu lớn và thực hiện các phép tính phức tạp
2.2 Mạng nơ ron tích chập (CNN)
2.2.1 Nơ ron sinh học
Neural Network sinh học: gồm các Neuron được kết nối với nhau thông qua dendrites
và neuron Bộ não của người có khoảng 10 tỷ neuron, mỗi Neuron kết nối với khoảng
Trang 910.000 nơron khác Trong đó, Cell body của Neuron gọi là soma, các đầu vào dendrite và đầu ra axon để kết các soma Các Neuron nhận xung điện từ nơron khác thông qua dendrite
và nếu xung điện đủ mạnh nó sẽ truyền đến các Neuron khác, mục đích là để truyền “bản tin”
Hình 2 Minh họa 01 Nơ ron sinh học
Hình 3 Minh họa mạng Nơ ron nhân tạo 2.2.2 Nơ ron nhân tạo
Một Nơ ron nhân tạo có cấu trúc như sau
- Đầu vào X: x1, x2,…,xm và 1 gọi là bias Và, gọi là vector đặc trưng X
- Trọng số tương ứng: w1, w2,…, wm và w0 và gọi là vec tơ trọng số W
- Mỗi một vec tơ X kết nối với Neuron được kết hợp với vector W
- Đầu ra là hàm tổng của tích các trọng số và đầu vào tương ứng rồi áp một hàm kích hoạt
Trang 10Mỗi Neuron nhân tạo gọi là Perceptron Perceptron được dùng xây dựng: Các mạng
Nơ ron nhân tạo và dùng để xây dựng c khối (block) của Machine Learning, Deep Learning
Hình 4 Cấu trúc của một Nơ ron nhân tạo
Trong đó, hàm kích hoạt có nhiệm vụ:
- Tác dụng của hàm kích hoạt: Tạo ra tính phi tuyến trong mạng
- Tính phi tuyến cho phép tính gần đúng các hàm phức tạp
2.2.3 Cấu trúc của của mạng CNN
- Chức năng của mạng neural tích chập (CNN) là trích chọn các đặc trưng của ảnh Thông thường gồm các layer sau:
+ Convolutional layer (CONV)
+ Activation Layer (sử dụng các hàm kích hoạt)
+ Pooling Layer (POOL)
+ Fully Connected Layer (FC)
+ Batch Normalization Layer (BN)
+ Dropout Layer (DO)
𝑖𝑤𝑖
𝑚
Hàm kích hoạt (Non-Linear)
Output
Trang 11- Tùy theo từng bài toán có các model khác nhau và sử dụng các layer khác nhau
- Ký hiệu lưu đồ mạng CNN bằng dạng Text
+ Ví dụ 1: INPUT CONV RELU FC
+ Ví dụ 2: INPUT CONV RELU POOL CONV RELU POOL FC
Hình 5 Cấu tạo của mạng CNN a) Lớp tích chập:
- Chức năng của lớp tích chập: Tạo ra bản đồ kích hoạt/đặc trưng (feature map/ activation map) để làm đầu vào cho các lớp sau Sử dụng mặc nạ thường gọi kernel, fifter, mask là ma trận kích thước: 3 x 3, 4 x 4, … Mặc nạ di chuyển trên ảnh và thao tác tích chập (nhân các pixel của ảnh và phần tử mặc nạ cùng vị trí rồi lấy tổng) Quá trình trên lặp lại đối với mỗi điểm ảnh trong ảnh gốc Ảnh đầu ra có cùng kích thước với ảnh đầu vào
- Nếu quá trình di chuyển “nhảy cóc” một giá trị s nào đó thì ảnh đầu ra có kích thước giảm so với ảnh đầu vào và gọi là stride = s Ở các lề của ảnh thiếu các pixel để tạo nên lân cận nên thêm p pixel ở lề và gọi là Padding = p Nếu gọi p số pixel thêm vào lề, s
là giá trị Stride, m x n là kích thước ảnh đầu vào, k x k là kích thước mặc nạ thì kích thước ảnh sau khi tích chập là:
b) Lớp kích hoạt
- Sau mỗi lớp CONV, áp dụng hàm kích hoạt: ReLU, ELU, Leaky ReLU, Tanh, sigmoid…Hàm kích hoạt (Activation Function) thực hiện ngay sau khi tích chập Kích thước dữ liệu đầu ra của Activation layer có cùng kích thước dữ liệu đầu vào Mục đích tăng tính phi tuyến của mạng
- Các hàm kích hoạt thông dụng:
Trang 12+ Hàm kích hoạt đơn giản nhất là hàm Step:
+ Hàm ReLU:
+ Leak ReLU:
+ Tanh:
+ Sigmoid:
Trang 13c) Lớp Pooling
- Pooling layer thường được dùng giữa các convolutional layer, để giảm kích thước
dữ liệu (downsampling) nhưng vẫn giữ được các thuộc tính quan trọng Thực hiện:
- Gọi pooling layer kích thước K x K; Đầu vào pooling layer có kích thước H x W
x D
- Tách ra làm D ma trận kích thước H x W Vì thế, với mỗi ma trận sử dụng mặc
nạ kích thước K x K để tìm maximum hoặc average của dữ liệu trong vùng nó đang được
áp dụng Nên, đầu ra có D ma trận kích thước K x K
d) Lớp kết nối đầy đủ
- Đầu ra Pooling layer có D ma trận kích thước K x K Dữ liệu này được làm phẳng thành vector có kích thước D x K x K và trở thành đầu vào Full Conected Layer Mỗi phần
tử của vector sẽ là đầu vào được kết nối với tất cả neuron của Full Conected Layer
- Trong mô hình mạng CNN, các Full Connected Layer thường ở cuối mạng và được dùng để tối ưu hóa mục tiêu của mạng
Hình 6 Cấu trúc lớp kết nối đầy đủ
- Đầu ra của Full Connected Layer được áp dụng các hàm Sigmod hoặc Softmax
để dự đoán nhãn của ảnh đầu vào
2.2.4 Một số thuật ngữ đối với mạng CNN
Sigmod() Softmax()
𝒚
Trang 14- Epoch: một công đoạn hoàn tất việc đưa toàn bộ dữ liệu để training
- Mini - batch: Khi dữ liệu quá lớn, không thể đưa hết tất cả tập dữ liệu vào để huấn luyện được, thường phải chia nhỏ tập dữ liệu ra thành các nhóm dữ liệu có kích thước nhỏ hơn và gọi là Mini-Batch
- Batch Normalization: Được sử dụng để chuẩn hóa các kích hoạt đầu vào trước khi chuyển vào lớp tiếp theo trong mạng Tác dụng, giảm số lượng epoch để trainning và
ổn định khi thực hiện nhiều lần quá trình training
+ Khi một mô hình được đào tạo với quá nhiều dữ liệu, dẫn đến nó học từ luôn từ
dữ liệu không chính xác và nhiễu Để tránh trường hợp này: sử dụng tính năng xác thực chéo để giảm tình trạng trang bị thừa dữ liệu, điều chỉnh siêu tham số với tập huấn luyện ban đầu, dùng bộ dữ liệu test chưa từng dùng (train) để kiểm tra/chọn mô hình cuối cùng
+ Ngoài ra, sử dụng Dropout: Đối với mỗi mini-batch trong tập training, sử dụng dropout layers thực hiện: ngắt kết nối ngẫu nhiên theo xác suất p các đầu vào từ lớp trước sang lớp tiếp theo
2.3 Phân loại khuôn mặt đeo khẩu trang
Hiện nay, sử dụng kỹ thuật phân loại khuôn mặt đeo khẩu trang phòng ngừa Dịch Covid-19 bằng kỹ thuật học máy được chia thành 2 loại bài toán Bài toán thứ nhất, phân loại 2 lớp: khuôn mặt đeo khẩu trang và không đeo khẩu trang Bài toán thứ hai, phân loại
3 lớp: khuôn mặt không đeo khẩu trang, khuôn mặt có đeo khẩu trang đúng cách và khuôn mặt đeo khẩu trang không đúng
a Đối với bài toán thứ nhất:
- Chen và cộng sự, [1], đã phát triển một ứng dụng di động cho phép xác định tuổi thọ sử dụng khẩu trang, cho biết chúng đang ở giai đoạn nào và mức độ hiệu quả của nó sau một thời gian sử dụng Để làm điều này, họ sử dụng mạng KNN, thực nghiệm thu được với độ chính xác của dự đoán mức “sử dụng bình thường” và “khuyến khích không sử dụng” đạt 92,00 và 92,59%, tương ứng
- Nagrath và cộng sự, trong [2], đã phát triển một hệ thống mà sử dụng kỹ thuật dò tìm mặt người Single shot multibox và mô hình phân lớp là mạng MobileNetV2, độ chính xác của nghiên cứu này là 92,64 % và Score - F1 là 0,93
Trang 15- Tương tự, Mata [3], đã tạo ra một mô hình CNN để phân biệt, độ chính xác 60% trong đó sử dụng bộ phát hiện mặt người Image Data Generator
- Jauhari và cộng sự, trong [4], với mục đích là phát hiện các mẫu khuôn mặt và phát hiện sự hiện diện của khẩu trang trong ảnh, họ sử dụng bộ phát hiện khuôn mựt Cascade Viola Jones và mô hình phân loại AdaBoost, kết quả thực nghiệm thu được với độ chính xác 90.9%
- Sen và cộng sự, trong [5], thông qua chuỗi hình ảnh và video, đã phát triển một hệ thống dựa trên mô hình MobileNetV2, độ chính xác của mô hình là 79,24%
- Kurlekar và cộng sự, trong [6], đã phát triển một hệ thống học sâu có thể được tích hợp tại các văn phòng, sân bay và nơi công cộng
- Loey và cộng sự, trong [7], đã phát triển một hệ thống kết hợp để phát hiện khuôn mặt đeo khẩu trang, họ đã chọn ba tập dữ liệu: Tập dữ liệu mô phỏng về khuôn mặt đeo khẩu trang, tập hợp về khuôn mặt được đeo khẩu trang trong thế giới thực và các khuôn mặt được gắn thẻ trong tự nhiên Họ sử dụng bộ phát hiện đối tượng YOLO V3 và mô hình Resnet-50 [8] để trích xuất đặc trưng, sau đó để phân loại hình ảnh dựa trên Máy hỗ trợ véc tơ (SVM)
Độ chính xác dự đoán của hệ thống là 99,49%, 99,64% và 100%, tương ứng cho mỗi tập dữ liệu được nghiên cứu
b Đối với bài toán thứ hai:
Ngoài việc phát hiện việc khuôn mặt có sử dụng hay không sử dụng khẩu trang thì nhu cầu việc phát hiện đeo khẩu trang không chính xác cũng rất cần thiết Công trình tiêu biểu nhất cho loại bài toán này gồm:
- Rudraraju và cộng sự, ở [9], đã phát triển một ứng dụng dựa trên hai bước Bước thứ nhất, phát hiện việc khuôn mặt họ sử dụng bộ phân loại Haar cascade Classifier Bước thứ hai, sau khi phát hiện khuôn mặt, nó phân biệt giữa đeo khẩu trang đúng và đeo khẩu trang sai bằng cách sử dụng mô hình MobileNet [10], độ chính xác của hệ thống này là khoảng 90%
- Wang và cộng sự 2021, trong [11], đã đề xuất sử dụng kỹ thuật máy học kết hợp tiếp cận hai bước Trong bước đầu, người dùng đeo khẩu trang được phát hiện bằng cách
sử dụng mô hình kiến trúc Faster RCNN Bước thứ hai xác minh khẩu trang thực bằng bộ phân loại thông qua mô hình phân loại InceptionV2 [12], độ chính xác cho các tình huống đơn giản là 97,32%, trong khi đối với các tình huống phức tạp hơn là 91,13%
- Qin và cộng sự, trong [13], sử dụng mạng Multitask Cascaded CNN để nhận dạng khuôn mặt và kết hợp với mạng siêu phân giải và phân loại (SRCNet) Thuật toán của họ
sử dụng bốn bước sau: xử lý trước hình ảnh, phát hiện và cắt khuôn mặt, hình ảnh siêu
Trang 16phân giải và phát hiện khuôn mặt đeo khẩu trang, độ chính xác đạt được khi sử dụng phương pháp này là 98,70%
(a) (b) (c) (d)
Hình 7 Các trạng thái đeo khẩu trang
(a) Không đeo; (b) Đeo khẩu trang đúng; (c) và (d) Đeo khẩu trang không đúng
Để giải quyết bài toán thứ hai này, đề tài sử dụng các phương pháp và kỹ thuật như sau:
- Sử dụng các kỹ thuật Deep Learning như mạng Convolutional Neural Network (CNN) để trích xuất đặc trưng từ ảnh khuôn mặt và phân loại chúng Các mô hình này có thể được huấn luyện trên các tập dữ liệu lớn chứa các ảnh khuôn mặt đeo khẩu trang, không đeo khẩu trang và đeo khẩu trang không đúng để học các đặc trưng của chúng
- Áp dụng các kỹ thuật như Data Augmentation để tăng cường dữ liệu huấn luyện và giảm Overfitting Các kỹ thuật này bao gồm xoay, lật, thay đổi ánh sáng và màu sắc của ảnh khuôn mặt để tạo ra các ảnh mới
- Sử dụng các kỹ thuật như Transfer Learning để sử dụng các mô hình đã được huấn luyện trên các tập dữ liệu lớn khác, như ImageNet Các mô hình này có thể được tinh chỉnh
và huấn luyện lại trên tập dữ liệu ảnh khuôn mặt đeo khẩu trang để phân loại chúng
Các bước thực hiện bài toán
- Giai đoạn 1: Tạo mô hình phân loại (3 loại)
Trang 17Hình 8 Sơ đồ các bước thực hiện giai đoạn 1
- Giai đoạn 2: Ứng dụng mô hình để phát hiện trạng thái đeo khẩu trang
Hình 9 Sơ đồ các bước thực hiện giai đoạn 2
Vùng ROI (khuôn mặt)
Nạp mô hình phân loại (Đeo khẩu trang, Không đeo, Đeo sai)
Kết quả và cảnh báo (Đeo khẩu trang/Không đeo/Đeo sai)
Trang 18CHƯƠNG 2 SƯU TẬP DATASET, HUẤN LUYỆN MÔ HÌNH
2.1 Bộ dữ liệu huấn luyện
Để huấn luyện mô hình, chúng tôi sử dụng tập dữ liệu Face-Mask-Label Dataset (FMLD) [13] và Flickr Faces HQ (FFHQ) [14], bộ dữ liệu FFHQ có 70.000 ảnh khuôn mặt người chất lượng cao với độ phân giải 1024 x 1024 Bộ dữ liệu FMLD có 137,016 ảnh với hai tập dữ liệu Correctly Masked Face Dataset (CMFD) chứa ảnh khuôn mặt đeo khẩu trang đúng và Incorrectly Masked Face Dataset (IMFD) chứa ảnh khuôn mặt đeo khẩu trang sai Như vậy, bộ dữ liệu sử dụng có 207.016 ảnh để huấn luyện mô hình phân loại cho 3 lớp: Không đeo khẩu trang, có đeo khẩu trang và đeo khẩu trang không đúng
2.2 Mạng MobileNetV2
Mạng MobileNetV2 [15] là phiên bản cải tiến từ các mô hình MobileNet và MobileNetV1 mà giúp cho nó có độ chính xác cao hơn, số lượng tham số và số lượng các phép tính ít hơn Vì thế, mô hình này có thể được áp dụng cho các thiết bị nhúng có khả năng tính toán hạn chế (ví dụ: Raspberry Pi, Google Coral, NVIDIA Jetson Nano, v.v.) MobileNetV2 sử dụng kỹ thuật kết nối tắt mà các khối ở lớp trước được cộng trực tiếp vào lớp liền sau Các kết nối tắt của MobileNetV2 được điều chỉnh sao cho số kênh ở đầu vào và đầu ra của mỗi residual block được thắt hẹp lại Chính vì thế nó được gọi là các bottleneck residual block Các lớp trung gian trong một block sẽ làm nhiệm vụ biến đổi phi tuyến
Kết nối tắt giữa các block được thực hiện trên những bottleneck đầu vào và đầu ra chứ không thực hiện trên các layer trung gian Do đó các lớp bottleneck input và output chỉ cần ghi nhận kết quả và không cần thực hiện biến đổi phi tuyến Ở giữa các lớp trong một bottleneck residual block sử dụng những biến đổi tích chập tách biệt chiều sâu để giảm thiểu số lượng tham số của mô hình Đây cũng chính là bí quyết giúp các mô hình MobileNet V2 có kích thước giảm
Trang 19Hình 10 Kiến trúc mạng MobileNetV2
2.3 Phương pháp học chuyển tiếp
Học chuyển tiếp (transfer learning) khả năng sử dụng model được đào tạo trước trained) để học từ dữ liệu mà các dữ liệu này không được dùng để train cho model trước
(pre-đó Có 2 hình thức học chuyển tiếp: (1) Phương pháp thứ nhất gọi là trích xuất đặc trưng với mạng Pre-Trained CNN nhằm thay đổi mục đích của mạng CNN đã có để để trích xuất đặt trưng; (2) Phương pháp thứ hai gọi là tinh chỉnh (fine-tuning) các trọng số của CNN, trong phương pháp này sẽ loại bỏ các lớp FC đã có của mạng CNN, đặt lớp FC mới ở phần đầu của CNN và tinh chỉnh các trọng số của CNN Sử dụng phương pháp này nhận được
độ chính xác cao hơn
Trong phạm vi đề tài này, chúng tôi sử dụng phương pháp thứ hai để học chuyển tiếp
từ Mạng MobileNet V2 Vì thế, phần tiếp theo chúng tôi sẽ tinh chỉnh kiến trúc MobileNet V2 Đầu tiên, nạp trình phân loại MobilNetV2 sau khi loại bỏ phần đầu của mô hình và sẽ tinh chỉnh mô hình này với các trọng số ImageNet được đào tạo trước, tiếp đến xây dựng lớp kết nối đầy đủ (FC) mới và gắn kết vào các lớp cơ sở của mạng MobileNet V2 thay thể phần đầu cũ Đóng băng các lớp cơ sở, trọng số của các lớp cơ sở này sẽ không được cập nhật, tức là tiến trình lan truyền ngược sẽ không tác động đến chúng, trong khi trọng số của lớp đầu sẽ được điều chỉnh Rồi thì, Chúng tôi đào tạo mạng bằng cách sử dụng tốc độ học rất nhỏ để tập các lớp FC mới có thể bắt đầu học các mẫu từ các lớp CONV đã học trước đó trong mạng Theo tùy chọn, chúng tôi có thể giải phóng phần còn lại của mạng và tiếp tục đào tạo Việc áp dụng tinh chỉnh cho phép chúng tôi áp dụng các mạng được đào
Bottleneck Residual Block
Trang 20tạo trước để nhận ra các lớp mà chúng không được đào tạo ban đầu Quá trình đào tạo được phép tiếp tục cho đến khi có đủ độ chính xác
2.4 Tăng cường dữ liệu
Tăng cường dữ liệu bao gồm một loạt các kỹ thuật xử lý ảnh để tạo các mẫu đào tạo mới từ những mẫu ban đầu để nhãn đã được phân lớp không thay đổi Mục tiêu của chúng tôi khi áp dụng tăng dữ liệu là tăng khả năng tổng quát hóa của mô hình Chúng tôi có thể nhận được dữ liệu đào tạo bổ sung từ các hình ảnh ban đầu bằng cách áp dụng các phép biến đổi hình học đối với ảnh như: dịch chuyển, xoay, thay đổi về độ co giãn, cắt, lật ngang hoặc lật dọc, thêm nhiễu Việc áp dụng tăng cường dữ liệu đã làm tăng độ chính xác phân loại của chúng tôi đồng thời giúp giảm thiểu ảnh hưởng của overfitting
2.5 Kết quả thực nghiệm
Để huấn luyện mô hình, chúng tôi sử dụng tập dữ liệu như đã trình bày tại Mục I Chương này Triển khai đào tạo mô hình phân loại, chúng tôi sử dụng thư viện Keras, TensorFlow Biên dịch mô hình với trình tối ưu hóa Adam (Adaptive Moment Estimation, thiết lập lịch trình giảm dần tốc độ học tập và sử dụng hàm mất mát categorical_crossentropy Với các tham số: Tốc độ học bắt đầu = 1e-4; số epoch = 30 và kích thước dữ liệu batch_size = 32
Trong thử nghiệm này, chúng tôi sẽ đề cập đến các mô hình phân loại hình ảnh hiện đại và cũng được sử dụng rộng rãi trong ngành, bao gồm VGG16 là một trong những mô hình phổ biến nhất để phân loại hình ảnh InceptionV3 có độ chính xác tốt ResNet đã tăng
độ sâu của mạng để tăng độ chính xác DenseNet có những cải tiến đáng kể và yêu cầu tính toán ít hơn để đạt được hiệu suất cao
Đối với mô hình MobileNetV2, chúng tôi đã thực hiện 02 thử nghiệm: (1) Huấn luyện
mô hình MobileNetV2 từ tập dữ liệu; (2) sử dụng kỹ thuật Transfer Learning và phương pháp tinh chỉnh (như đã trình bày trong Phần 3.2) để huấn luyện MobileNetV2 từ tập dữ liệu được tạo từ quá trình tăng cường dữ liệu trên tập dữ liệu và chúng tôi đã gọi là mô hình MobileNetV2* Chúng tôi đã thay thế đầu mạng (head) bằng tập hợp các lớp FC mới được hiển thị trong Bảng 1, trong đó:
- Lớp Flatten: Sau khi sử dụng lớp AverageMaxpooling2D, chúng tôi sử dụng một lớp Flatten để làm phẳng toàn bộ mạng Lớp Flatten biến đổi toàn bộ ma trận bản đồ đặc trứng (Feature Map) thành một cột duy nhất
- Lớp Dense: Sau lớp làm Flatten, chúng tôi đã sử dụng hai lớp Dense Lớp Dense còn được gọi là lớp tích chập đầy đủ FC Một lớp FC cung cấp các xác suất chính xác cho các lớp khác nhau khi nó tính toán các tích giữa các trọng số và lớp trước đó
- Hàm kích hoạt: Chúng tôi đã sử dụng hàm kích hoạt ReLU đã được chứng minh
là mang lại hiệu suất tốt nhất với AverageMaxpooling2D