1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn đề tài nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu covid face mask detection dataset

49 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu Covid Face Mask Detection Dataset
Tác giả Dương Văn Tuân
Người hướng dẫn Phạm Thị Tố Nga
Trường học Trường Đại học Đại Nam
Chuyên ngành Học Máy
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 49
Dung lượng 815,37 KB

Cấu trúc

  • CHƯƠNG 1: KHÁI QUÁT ĐỀ TÀI (12)
    • 1.1. Lý do chọn đề tài (12)
    • 1.2. Mục tiêu nghiên cứu (13)
    • 1.3. Đối tượng và phạm vi nghiên cứu (14)
  • CHƯƠNG 2: TỔNG QUAN VỀ HỌC MÁY (15)
    • 2.1. Học máy là gì? (15)
    • 2.2. Lịch sử hình thành Machine Learning (16)
    • 2.3. Vì sao Machine learning lại quan trọng (17)
    • 2.4. Một số giải pháp của Machine learning (19)
      • 2.4.1. Machine learning có giám sát (19)
      • 2.4.2. Machine learning không được giám sát (19)
      • 2.4.3. Machine learning bán giám sát (19)
      • 2.4.4. Machine learning tăng cường (20)
  • CHƯƠNG 3: KHAI PHÁ DỮ LIỆU (21)
    • 3.1. Lựa chọn dữ liệu (21)
    • 3.2. Bộ dữ liệu COVID Face Mask Detection Dataset (22)
    • 3.3. Quá trình thu thập dữ liệu (25)
    • 3.4. Ứng dụng của bộ dữ liệu COVID FACE MASK DETECTION DATASET (25)
      • 3.4.1. Phát triển các công cụ kiểm tra đeo khẩu trang tự động (25)
      • 3.4.2. Hỗ trợ trong việc tuân thủ các biện pháp phòng chống dịch bệnh (26)
      • 3.4.3. Nghiên cứu và dự đoán xu hướng đeo khẩu trang (26)
      • 3.5.1. Thách thức về tính chính xác của dữ liệu (27)
      • 3.5.2. Thách thức về đa dạng của dữ liệu (27)
      • 3.5.3. Giải pháp cho các thách thức (28)
  • CHƯƠNG 4: THUẬT TOÁN CONVOLUTIONAL NEURAL NETWORK (CNN) 27 4.1. Thuật toán CNN (29)
    • 4.1.1. Giới thiệu vê thuật toán CNN (29)
    • 4.1.2. Kiến trúc của thuật toán CNN (33)
    • 4.1.3. Quy trình của thuật toán CNN (34)
    • 4.1.4. Ưu điểm và nhược điểm của thuật toán CNN (36)
    • 4.2. Áp dụng CNN vào bộ dữ liệu (39)
      • 4.2.1. Thu thập và Chuẩn bị Dữ liệu (39)
      • 4.2.2. Tiền Xử lý Dữ liệu (39)
      • 4.2.3. Kiến trúc CNN (39)
      • 4.2.4. Huấn luyện Mô hình (40)
      • 4.2.5. Đánh giá Mô hình (40)
      • 4.2.6. Kiểm tra (40)
      • 4.2.7. Triển khai (40)
    • 4.3. Xử lý hình ảnh nhận dạng (41)
      • 4.3.1. Khái niệm xử lý hình ảnh (41)
      • 4.3.2. Phương pháp xử lý ảnh (42)
  • CHƯƠNG 5: HUẤN LUYỆN MÔ HÌNH (44)
    • 5.1. Chuẩn bị dữ liệu (44)
    • 5.2. Xây dựng mô hình (45)
    • 5.3. Đánh giá mô hình (45)
    • 5.4. Kết quả ứng dụng (46)
  • KẾT LUẬN (47)
  • TÀI LIỆU THAM KHẢO (49)

Nội dung

Tuy nhiên, việc đeo khẩu trang đã tạo ra một thách thức mới đối vớiviệc nhận diện khuôn mặt, một công nghệ quan trọng trong lĩnh vực học máy và trítuệ nhân tạo."Nhận diện khuôn mặt đeo k

KHÁI QUÁT ĐỀ TÀI

Lý do chọn đề tài

Chọn đề tài "Nhận diện khuôn mặt đeo khẩu trang dựa trên bộ dữ liệu

Face Mask Detection sử dụng CNN " là một quyết định có nhiều lý do quan trọng.

Dù đã qua đại dịch COVID-19, nhưng việc nhận diện khuôn mặt đeo khẩu trang vẫn đóng vai trò quan trọng trong kiểm tra an ninh, kiểm soát truy cập và xác minh danh tính. Điều quan trọng là ứng dụng của công nghệ này không chỉ giới hạn trong lĩnh vực an ninh Nó có thể được mở rộng và áp dụng trong y tế để kiểm tra sự tuân thủ đeo khẩu trang của nhân viên y tế và bệnh nhân Trong giao thông, nó có thể giúp cải thiện an toàn lái xe bằng cách kiểm tra việc sử dụng khẩu trang của tài xế Bên cạnh đó, các tình huống sử dụng khác như kiểm tra đeo khẩu trang trong các sự kiện lớn hay trong lĩnh vực du lịch cũng có thể tận dụng công nghệ nhận diện khuôn mặt này.

CNN(Convolutional Neural Networks), một phương pháp tiên tiến trong nhận diện hình ảnh, mang lại cơ hội nghiên cứu để phát triển và cải tiến thuật toán Ứng dụng của nó không chỉ giới hạn trong lĩnh vực an ninh mà còn lan rộng sang y tế, giao thông và nhiều lĩnh vực khác Điều này đóng góp vào sự phát triển của trí tuệ nhân tạo và giải quyết nhiều vấn đề xã hội.

Nhìn chung, việc chọn đề tài này không chỉ đóng góp cho phát triển trí tuệ nhân tạo mà còn giải quyết nhiều vấn đề xã hội quan trọng Công nghệ nhận diện khuôn mặt đeo khẩu trang sẽ tiếp tục có ảnh hưởng sâu rộng trong cuộc sống hàng ngày và là một ví dụ tiêu biểu về sự kết hợp giữa công nghệ và giải quyết các thách thức của thế giới hiện đại.

Mục tiêu nghiên cứu

Mục tiêu chính của nghiên cứu về đề tài "Nhận diện khuôn mặt đeo khẩu trang sử dụng CNN" bao gồm nhiều khía cạnh quan trọng Đầu tiên, nghiên cứu tập trung vào việc phát triển và tối ưu hóa thuật toán nhận diện, sử dụng mạng nơ-ron tích chập (CNN), nhằm đảm bảo khả năng phát hiện khuôn mặt và khẩu trang với tính chính xác cao.

Mục tiêu tiếp theo là nâng cao tính chính xác của hệ thống nhận diện trong các tình huống thực tế Điều này bao gồm việc đối mặt với các biến thể về ánh sáng, góc chụp, và môi trường Nghiên cứu sẽ tập trung vào việc đảm bảo rằng hệ thống có thể nhận biết khuôn mặt đeo khẩu trang trong mọi tình huống.

Tiếp theo, mục tiêu là áp dụng công nghệ này vào các tình huống thực tế, như hệ thống kiểm soát truy cập tại cơ sở hạ tầng quan trọng và các hệ thống an ninh sân bay Đây là cách để đảm bảo an toàn và quản lý sự kiện lớn trong tương lai.

Mục tiêu khác của nghiên cứu là cải thiện hiệu suất hệ thống để hoạt động trong thời gian thực, đáp ứng nhu cầu của các ứng dụng yêu cầu xử lý hình ảnh nhanh chóng và hiệu quả Công việc này đòi hỏi cải tiến cả về phần cứng và phần mềm. Cùng với đó, bảo mật và quyền riêng tư cũng là một khía cạnh quan trọng Nghiên cứu phải đảm bảo rằng thông tin cá nhân được bảo vệ và tuân thủ các quy định về quyền riêng tư của người dùng Ngoài ra, nghiên cứu cũng hướng đến việc mở rộng áp dụng công nghệ nhận diện khuôn mặt đeo khẩu trang sang nhiều lĩnh vực khác nhau như giao thông, y tế, quản lý sự kiện lớn và trong các tình huống khẩn cấp.

Cuối cùng, mục tiêu là đánh giá hiệu quả của hệ thống nhận diện, đảm bảo rằng nó hoạt động chính xác và đáng tin cậy thông qua các thử nghiệm và so sánh với các phương pháp khác Tổng cộng, nghiên cứu này hứa hẹn đóng góp vào việc cải thiện an ninh, quản lý truy cập và giải quyết nhiều vấn đề xã hội quan trọng trong tương lai.

Đối tượng và phạm vi nghiên cứu

Việc đeo khẩu trang cũng gây ra một thách thức cho các ứng dụng nhận diện khuôn mặt, khi mà phần lớn các đặc trưng của khuôn mặt bị che khuất Do đó, nghiên cứu về nhận diện khuôn mặt đeo khẩu trang là một vấn đề hấp dẫn và có ý nghĩa thực tiễn.

Phạm vi nghiên cứu bao gồm việc xây dựng và huấn luyện các mô hình học sâu, cụ thể là các mạng nơ-ron tích chập (CNN), để phân loại khuôn mặt có đeo khẩu trang hay không dựa trên bộ dữ liệu Face Mask Detection Bộ dữ liệu này gồm 853 hình ảnh khuôn mặt được chia thành ba lớp: có đeo khẩu trang, không đeo khẩu trang và đeo khẩu trang không đúng cách.

Mục tiêu nghiên cứu là tìm ra mô hình CNN tốt nhất để giải quyết bài toán nhận diện khuôn mặt đeo khẩu trang, với tiêu chí là độ chính xác cao nhất và thời gian huấn luyện thấp nhất Kết quả nghiên cứu có thể ứng dụng trong các lĩnh vực liên quan đến an ninh, y tế và giáo dục, nhằm kiểm soát việc tuân thủ quy định đeo khẩu trang của người dân trong thời kỳ đại dịch.

TỔNG QUAN VỀ HỌC MÁY

Học máy là gì?

Học máy (Machine Learning - ML) đóng vai trò quan trọng trong cuộc cách mạng công nghiệp 4.0, nơi dữ liệu trở thành tài nguyên quan trọng như dầu mỏ và vàng Mục tiêu chính của học máy là tạo ra các mô hình và thuật toán cho phép máy tính học hỏi từ dữ liệu, tìm ra các mẫu và quy luật ẩn sau đó, và sử dụng những hiểu biết này để thực hiện các nhiệm vụ một cách tự động mà không cần phải được lập trình một cách cụ thể.

Các ứng dụng của học máy là vô cùng đa dạng và lan rộng đến mọi lĩnh vực của cuộc sống Trong lĩnh vực y tế, học máy có thể phân loại dữ liệu chẩn đoán và đề xuất phương pháp điều trị hiệu quả Trong ngành công nghiệp, nó giúp tối ưu hóa quy trình sản xuất, dự đoán thị trường, và quản lý chuỗi cung ứng Trong lĩnh vực tài chính, học máy được áp dụng để dự đoán xu hướng thị trường, quản lý rủi ro, và xác định các cơ hội đầu tư.

Việc sử dụng học máy mang lại nhiều lợi ích cho doanh nghiệp Bằng cách phân tích và hiểu sâu vào dữ liệu, doanh nghiệp có thể ra quyết định chiến lược, tối ưu hóa sản phẩm và dịch vụ, cải thiện trải nghiệm khách hàng, và tăng tính hiệu quả của quy trình kinh doanh Điều này dẫn đến tăng trưởng doanh thu, cải thiện lợi nhuận, và gia tăng cạnh tranh trên thị trường.

Tóm lại, học máy không chỉ đơn thuần là một công nghệ mới mà còn là một cơ hội lớn để cải thiện hiệu suất và định hình tương lai của nhiều lĩnh vực xã hội và kinh tế.

Lịch sử hình thành Machine Learning

Lịch sử hình thành Machine Learning (ML) trải dài suốt nhiều thập kỷ và bắt đầu từ những ý tưởng ban đầu về trí tuệ nhân tạo Dưới đây là một tóm tắt về lịch sử phát triển của Machine Learning:

- Thập kỷ 1950-1960: Đầu nguồn và lý thuyết đầu tiên

Trong giai đoạn này, nhà khoa học đã đưa ra các ý tưởng đầu tiên về máy tính có khả năng "học" từ dữ liệu Alan Turing đã đóng góp với ý tưởng về "máy Turing" và ý tưởng về "học máy" đã được đề xuất.

- Thập kỷ 1960-1970: Học máy và thống kê

Frank Rosenblatt phát triển một mô hình gọi là Perceptron, một mô hình học máy đầu tiên được áp dụng rộng rãi Tuy nhiên, Perceptron chỉ có thể giải quyết các vấn đề tuyến tính. Ý tưởng về học máy được nối lại với thống kê và dần dần trở thành một phần của lĩnh vực thống kê.

- Thập kỷ 1980-1990: Sự phổ biến của mạng nơ-ron và tiến bộ công nghệ

Mạng nơ-ron nhiều lớp (Multilayer Neural Networks) đã trở nên phổ biến và được nghiên cứu sâu hơn Tuy nhiên, vào cuối thập kỷ 1980, mạng nơ-ron đã gặp khó khăn trong việc huấn luyện vì vấn đề biến mất đạo hàm (vanishing gradients).

Quy trình lan truyền ngược (Backpropagation) đã được phát triển và giúp giải quyết vấn đề huấn luyện mạng nơ-ron.

- Thập kỷ 1990-2000: Sự lên ngôi của Machine Learning

Machine Learning trở thành một lĩnh vực riêng biệt với nhiều thuật toán và kỹ thuật mới Các thuật toán như Support Vector Machines (SVMs) và Decision Trees đã trở nên phổ biến.

Các ứng dụng thực tế trong xử lý ngôn ngữ tự nhiên và thị giác máy tính bắt đầu nổi lên.

- Từ năm 2000 đến nay: Thịnh hành của Deep Learning và Big Data

Deep Learning, một dạng đặc biệt của Machine Learning, đã đạt được sự phổ biến lớn Với sự gia tăng đáng kể về dữ liệu và sức mạnh tính toán, các mô hình sâu đã mang lại hiệu suất đột phá trong nhiều lĩnh vực như nhận diện hình ảnh, xử lý ngôn ngữ tự nhiên và tự động lái xe.

Big Data đã tạo ra một nền tảng quan trọng cho Machine Learning, vì khối lượng lớn dữ liệu mới tạo ra cơ hội để huấn luyện và cải thiện các mô hình học máy.

Từ lịch sử phát triển này, học máy đã trở thành một lĩnh vực quan trọng và tiến bộ, mang lại nhiều cơ hội và thách thức đối với xã hội và công nghiệp hiện đại.

Vì sao Machine learning lại quan trọng

Học máy là một lĩnh vực quan trọng trong khoa học dữ liệu Nó tập trung vào việc xử lý dữ liệu và thuật toán để bắt chước cách mà con người học Thông qua việc sử dụng các phương pháp thống kê và thuật toán, học máy được huấn luyện để đưa ra các phân loại, dự đoán và khám phá những tri thức mới trong các dự án khai phá dữ liệu Những tri thức này sẽ tác động đến những quyết định trong các ứng dụng và các doanh nghiệp Học máy mang lại cái nhìn trực quan về hành vi của khách hàng và các mô hình hoạt động kinh doanh Chúng giúp doanh nghiệp xác định những xu hướng trong tương lai và đưa ra quyết định nhanh chóng hơn Ngoài ra, học máy còn hỗ trợ sự phát triển của các sản phẩm mới

Tầm quan trọng của học máy ngày càng được chú ý và tăng lên bởi vì nó giúp gia tăng dung lượng lưu trữ các loại dữ liệu sẵn, việc xử lý tính toán có chi phí thấp và hiệu quả hơn rất nhiều Các insights lấy từ nguồn dữ liệu giúp tổ chức hay vận hành hoạt động một cách hiệu quả hơn, thậm chí tạo ra một số lợi thế cạnh tranh tốt hơn so với đối thủ

Một số giải pháp của Machine learning

Machine learning là giải pháp được ứng dụng thông qua các loại thuật toán để phân tích và dự đoán Dựa trên những thuật toán này, Machine learning được chia làm bốn loại: Machine learning được giám sát, Machine learning không được giám sát, Machine learning bán giám sát và Machine learning tăng cường.

2.4.1.Machine learning có giám sát

Mô hình học có giám sát là mô hình học trên dữ liệu có dãn nhãn, tức là mục tiêu của bài toán machine learning cần học đã được gán nhãn sẵn trong dữ liệu huấn luyện Dữ liệu đầu vào của quá trình học bao gồm cả vector đầu vào chứa các thuộc tính của dữ liệu lẫn giá trị đầu ra mục tiêu (gọi là nhãn của dữ liệu) Nói cách khác Supervised learning cho phép dự đoán đầu ra (outcome) của một dữ liệu mới dựa trên các cặp (đầu vào, đầu ra) đã biết từ trước thu được từ bộ dữ liệu huấn luyện.

2.4.2.Machine learning không được giám sát

Học không giám sát là một lớp mô hình học sử dụng một thuật toán để mô tả hoặc trích xuất ra các mối quan hệ tiềm ẩn trong dữ liệu Khác với học có giám sát, học không giám sát chỉ thực thi trên dữ liệu đầu vào không cần các thuộc tính nhãn, hoặc mục tiêu của việc học Tức là không hề được cung cấp trước một kiến thức nào trước trừ dữ liệu Các dữ liệu không được "hướng dẫn" trước như trong trường hợp học có giám sát Các thuật toán cần học được từ dữ liệu mà không hề có bất cứ sự hướng dẫn nào.

2.4.3.Machine learning bán giám sát

Machine learning bán giám sát là phương pháp học tập kết hợp giữa học có giám sát và học không giám sát Học có giám sát là khi máy tính được huấn luyện với các dữ liệu có nhãn, tức là có câu trả lời chính xác cho mỗi ví dụ Học không giám sát là khi máy tính được huấn luyện với các dữ liệu không có nhãn, tức là không có câu trả lời chính xác cho bất kỳ ví dụ nào Machine learning bán giám sát sử dụng một phần dữ liệu có nhãn và một phần dữ liệu không có nhãn để học hỏi các mẫu ẩn trong dữ liệu Phương pháp này được sử dụng khi việc gán nhãn cho toàn bộ dữ liệu là quá tốn kém hoặc khó khăn.

Machine learning tăng cường là phương pháp học tập dựa trên sự tương tác với môi trường Máy tính được gọi là tác nhân, thực hiện các hành động để đạt được một mục tiêu nhất định, ví dụ như lái xe hoặc chơi trò chơi với đối thủ Tác nhân không biết trước kết quả của các hành động, mà phải học hỏi từ kinh nghiệm thông qua việc nhận được các phần thưởng hoặc trừng phạt từ môi trường Phương pháp này được sử dụng để đào tạo máy tính hoàn thành một quy trình gồm nhiều bước, mà không cần có dữ liệu huấn luyện hay chỉ dẫn từ con người.

KHAI PHÁ DỮ LIỆU

Lựa chọn dữ liệu

Nhận dạng khuôn mặt đeo khẩu trang là một chủ đề liên quan đến việc sử dụng trí tuệ nhân tạo để phát hiện khuôn mặt của con người có đeo khẩu trang hay không. Đây là một ứng dụng có ý nghĩa trong bối cảnh đại dịch COVID-19 đã qua và các dịch bệnh có thể xảy ra trong tương lai, khi mà việc đeo khẩu trang là một biện pháp phòng ngừa quan trọng Có nhiều cách để thực hiện Nhận dạng khuôn mặt đeo khẩu trang, nhưng phổ biến nhất là sử dụng các mô hình học sâu (deep learning) để huấn luyện một bộ phân loại ảnh có thể nhận diện khuôn mặt và phân biệt các trường hợp có đeo khẩu trang, không đeo khẩu trang hoặc đeo khẩu trang không đúng cách Một số ví dụ về các dự án nhận dạng khuôn mặt đeo khẩu trang :

- COVID COVID Face Mask Detection Dataset Dataset| Kaggle: Một tập dữ liệu gồm 1006 ảnh thuộc 2 lớp (có đeo khẩu trang, không đeo khẩu trang) Bộ dữ liệu này được sử dụng để phát hiện việc đeo khẩu trang trong hình ảnh khuôn mặt Bộ dữ liệu này có thể được sử dụng để huấn luyện các mô hình học máy để phát hiện việc đeo khẩu trang trong hình ảnh khuôn mặt.

- COVID-19: Face Mask Detector with OpenCV, Keras/TensorFlow, and Deep Learning - PyImageSearch: Một bài viết hướng dẫn chi tiết cách xây dựng một ứng dụng COVID Face Mask Detection Dataset với OpenCV, Keras/TensorFlow và Deep Learning Bài viết này giới thiệu cách tạo tập dữ liệu từ các ảnh khuôn mặt đã có sẵn, huấn luyện một mô hình MobileNetV2 để phân loại khuôn mặt có đeo khẩu trang hay không, và áp dụng mô hình này vào các ảnh tĩnh và video trực tuyến.

- Covid-19 COVID Face Mask Detection Dataset Using TensorFlow, Keras andOpenCV: Một bài báo khoa học giới thiệu một phương pháp đơn giản để thực hiện COVID Face Mask Detection Dataset bằng cách sử dụng các thư viện máy học phổ biến như TensorFlow, Keras, OpenCV và Scikit-Learn Phương pháp này sử dụng thuật toán Haar Cascade để phát hiện khuôn mặt từ ảnh, sau đó sử dụng một mạng nơ-ron tích chập (CNN) để phân loại khuôn mặt có đeo khẩu trang hay không.

- Real-time COVID Face Mask Detection Dataset with OpenCV - Project Gurukul: Một bài viết giới thiệu cơ bản về khái niệm và cách thức của COVID Face Mask Detection Dataset với OpenCV Bài viết này cũng cung cấp mã nguồn Python để thực hiện COVID Face Mask Detection Dataset trên video trực tuyến bằng cách sử dụng mô hình MobileNetV2 đã được huấn luyện sẵn.

- COVID Face Mask Detection Dataset COVID Face Mask Detection Dataset is a project based: Một bài viết giới thiệu về dự án COVID Face Mask Detection Dataset của tác giả, bao gồm các bước để xây dựng và triển khai dự án Tác giả sử dụng Convolutional Neural Network (CNN) hoặc các mô hình đã được huấn luyện sẵn như VGG16, ResNet50, InceptionV3 để phát hiện khuôn mặt có đeo khẩu trang hay không Tác giả cũng chia sẻ kết quả và nhận xét của dự án.

Bộ dữ liệu COVID Face Mask Detection Dataset

- Bộ dữ liệu: COVID Face Mask Detection Dataset

- Kích thước : 1006 ảnh với 2 lớp (with mask, non mask), Bộ dữ liệu cung cấp một loạt các hình ảnh được chụp từ nhiều góc độ và điều kiện ánh sáng khác nhau Điều này giúp tạo ra một tập dữ liệu đa dạng, phong phú và phản ánh thực tế về việc đeo và không đeo khẩu trang Tỷ lệ người đeo khẩu trang và không đeo khẩu trang là tương đối cân bằng, đảm bảo tính đa dạng của bộ dữ liệu, cho phép các mô hình và thuật toán có thể học được từ nhiều trường hợp khác nhau và đưa ra kết quả chính xác.

- Kiểu dữ liệu: Bao gồm các file png, jpg và jpeg

Lớp Số lượng hình ảnh

Bảng 1 số lượng hình ảnh trong bộ dữ liệu

Có thể thấy rằng bộ dữ liệu này có sự cân bằng khá tốt giữa các lớp có đeo khẩu trang và không đeo khẩu trang, nhưng có ít hình ảnh về lớp đeo khẩu trang sai cách Điều này có thể ảnh hưởng đến hiệu suất của các mô hình học sâu khi phát hiện khuôn mặt có đeo khẩu trang hay không.

Ví dụ về hình ảnh trong tập dữ liệu:

Hình 1 Ví dụ về ảnh đeo khẩu trang

Quá trình thu thập dữ liệu

Quá trình thu thập dữ liệu COVID FACE MASK DETECTION DATASET từ Kaggle là một bước quan trọng trong việc nghiên cứu về nhận diện khẩu trang trên khuôn mặt Đầu tiên, tôi đã truy cập trang web Kaggle và đăng nhập vào tài khoản cá nhân Sau đó, tôi đã tìm kiếm dự án liên quan đến COVID FACE MASK DETECTION DATASET bằng cách sử dụng chức năng tìm kiếm của Kaggle Kết quả tìm kiếm đã cho tôi nhiều dự án có liên quan.

Tôi đã lựa chọn một dự án phù hợp với mục tiêu của mình và tiến hành tải xuống tệp dữ liệu từ trang dự án đó Thường, dữ liệu COVID FACE MASK DETECTION DATASET được cung cấp dưới dạng tệp CSV hoặc tệp nén ZIP chứa hình ảnh khuôn mặt và các nhãn tương ứng về việc đeo khẩu trang Sau khi tải xuống, tôi đã giải nén tệp nếu cần thiết để truy cập các hình ảnh và nhãn.

Trước khi bắt đầu sử dụng dữ liệu, tôi đã kiểm tra kỹ lưỡng để đảm bảo dữ liệu đầy đủ và đúng định dạng Điều này bao gồm việc xác nhận rằng tôi có thể trích xuất thông tin cần thiết từ tệp dữ liệu, như hình ảnh và nhãn Tuỳ thuộc vào nhu cầu của dự án, chúng tôi đã thực hiện các bước tiền xử lý dữ liệu như chia thành tập huấn luyện và tập kiểm tra, thay đổi kích thước hình ảnh, và chuẩn hóa dữ liệu.

Ứng dụng của bộ dữ liệu COVID FACE MASK DETECTION DATASET

3.4.1 Phát triển các công cụ kiểm tra đeo khẩu trang tự động

Với sự phát triển của công nghệ, việc sử dụng các công cụ tự động để kiểm tra việc đeo khẩu trang đã trở thành một giải pháp hiệu quả để giảm thiểu sự tiếp xúc giữa con người và giúp ngăn chặn sự lây lan của virus Bằng việc sử dụng bộ dữ liệu COVID FACE MASK DETECTION DATASET, các nhà nghiên cứu và kỹ sư có thể xây dựng các mô hình máy học và thuật toán để tự động phát hiện và phân loại người đeo khẩu trang và không đeo khẩu trang Các công cụ này có thể được tích hợp vào các camera an ninh hoặc các thiết bị di động, giúp cho việc kiểm tra đeo khẩu trang trở nên nhanh chóng và hiệu quả hơn.

3.4.2 Hỗ trợ trong việc tuân thủ các biện pháp phòng chống dịch bệnh

Việc đeo khẩu trang là một trong những biện pháp cơ bản để bảo vệ bản thân và ngăn chặn sự lây lan của virus Tuy nhiên, việc tuân thủ việc đeo khẩu trang vẫn còn gặp nhiều khó khăn, đặc biệt là khi số lượng người ra ngoài tăng cao Bằng việc áp dụng bộ dữ liệu COVID FACE MASK DETECTION DATASET, các tổ chức chính phủ và doanh nghiệp có thể phát triển các ứng dụng và công cụ để theo dõi và đánh giá mức độ tuân thủ của người dân trong việc đeo khẩu trang Điều này có thể giúp cho các cơ quan chức năng có được thông tin chính xác và kịp thời để đưa ra các biện pháp ứng phó khi cần thiết.

3.4.3 Nghiên cứu và dự đoán xu hướng đeo khẩu trang

Bộ dữ liệu COVID FACE MASK DETECTION DATASET cũng có thể được sử dụng để nghiên cứu và dự đoán xu hướng đeo khẩu trang của người dân trong một khu vực cụ thể Bằng cách phân tích các hình ảnh và dữ liệu từ bộ dữ liệu, các nhà nghiên cứu có thể tìm ra các mô hình và xu hướng về việc đeo khẩu trang của người dân trong một thời gian nhất định Điều này có thể giúp cho các cơ quan chức năng và tổ chức y tế có được cái nhìn tổng quan về tình hình và đưa ra các chiến lược phòng chống dịch bệnh hiệu quả hơn.

3.5 Các thách thức và giải pháp trong việc sử dụng bộ dữ liệu COVID FACE MASK DETECTION DATASET

3.5.1 Thách thức về tính chính xác của dữ liệu

Một trong những thách thức lớn khi sử dụng bộ dữ liệu COVID FACE MASK DETECTION DATASET là tính chính xác của dữ liệu Vì bộ dữ liệu này được thu thập từ nhiều nguồn khác nhau, việc đảm bảo tính chính xác và đáng tin cậy của các hình ảnh và nhãn là rất quan trọng Để giải quyết vấn đề này, các nhà nghiên cứu và kỹ sư cần phải kiểm tra vàà xác minh lại các dữ liệu trong bộ dữ liệu trước khi sử dụng để đảm bảo tính chính xác của chúng.

3.5.2 Thách thức về đa dạng của dữ liệu

Mặc dù bộ dữ liệu COVID FACE MASK DETECTION DATASET có tính đa dạng như đã đề cập ở trên, tuy nhiên, nó vẫn còn hạn chế về mặt địa lý và đa dạng về đối tượng Hiện tại, bộ dữ liệu này chỉ tập trung vào việc phát hiện và phân loại người đeo khẩu trang và không đeo khẩu trang Tuy nhiên, trong thực tế,việc đeo khẩu trang còn có nhiều biến thể khác nhau, ví dụ như khẩu trang y tế,khẩu trang vải, khẩu trang dùng một lần, khẩu trang có van thở, Do đó, để bộ dữ liệu trở nên đa dạng hơn và có tính ứng dụng cao hơn, cần phải có sự đóng góp của nhiều nguồn dữ liệu khác nhau.

3.5.3 Giải pháp cho các thách thức Để giải quyết các thách thức trong việc sử dụng bộ dữ liệu COVID FACE MASK DETECTION DATASET, có thể áp dụng các giải pháp sau:

 Tăng cường việc thu thập và kiểm tra dữ liệu: Các nhà nghiên cứu và kỹ sư cần phải tăng cường việc thu thập và kiểm tra lại dữ liệu từ nhiều nguồn khác nhau để đảm bảo tính chính xác và đa dạng của bộ dữ liệu.

 Kết hợp với các bộ dữ liệu khác: Để bổ sung và mở rộng tính đa dạng của bộ dữ liệu, có thể kết hợp với các bộ dữ liệu khác như bộ dữ liệu về khẩu trang y tế, khẩu trang vải, hoặc các bộ dữ liệu về các biến thể khác của khẩu trang.

 Sử dụng các kỹ thuật xử lý dữ liệu: Các kỹ thuật xử lý dữ liệu như tăng cường ảnh, đồng bộ hóa màu sắc, hay giảm nhiễu có thể được áp dụng để cải thiện tính chính xác của dữ liệu và đảm bảo tính đa dạng của bộ dữ liệu.

THUẬT TOÁN CONVOLUTIONAL NEURAL NETWORK (CNN) 27 4.1 Thuật toán CNN

Giới thiệu vê thuật toán CNN

Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến Nó giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay.

Convolutional trong CNN Đây là mô ̣t “cửa sổ” sử dụng trượt trên ma trâ ̣n nhằm lấy được những thông tin chính xác và cần thiết nhất mà không phải chọn đă ̣c trưng (feature) Convolution hay nhân tích châ ̣p là cách mà những lớp Convolutional này nhân những phần tử trong ma trâ ̣n Sliding Window hay kernel là dạng ma trâ ̣n có kích thước nhỏ, sử dụng trong nhân tích châ ̣p với ma trâ ̣n hình ảnh.

Feature là đă ̣c trưng, mạng CNN sẽ so sánh dựa vào từng mảnh và các mảnh như vâ ̣y được gọi là feature Thay vì phải tiến hành khớp các bức ảnh lại với nhau thì mạng CNN sẽ xác định được sự tương đồng thông qua tìm kiếm thô những đă ̣c trưng khớp với nhau bằng hai hình ảnh tốt hơn Mô ̣t feature là mô ̣ hình ảnh dạng mini (những mảng 2 chiều nhỏ) Những feature này đều tương ứng với mô ̣t khía cạnh nào đó của hình ảnh và chúng có thể khớp lại được với nhau.

Những lớp cơ b愃ऀn của mạng CNN

Lớp này là phần quan trọng nhất của toàn mạng CNN, nó có nhiê ̣m vụ thực thi các tính toán Các yếu tố quan trọng trong lớp Convolutional là: padding, stride, feature map và filter map.

● Mạng CNN sử dụng filter để áp dụng vào các vùng của ma trâ ̣n hình ảnh. Các filter map là các ma trâ ̣n 3 chiều, bên trong đó là những tham số và chúng được gọi là parameters.

● Stride tức là bạn dịch chuyển filter map theo từng pixel dựa vào các giá trị từ trái qua phải.

● Padding: Thường, giá trị viền xung quanh của ma trâ ̣n hình ảnh sẽ được gán các giá trị 0 để có thể tiến hành nhân tích châ ̣p mà không làm giảm kích thước ma trâ ̣n ảnh ban đầu.

● Feature map: Biểu diễn kết quả sau mỗi lần feature map quét qua ma trâ ̣n ảnh đầu vào Sau mỗi lần quét thì lớp Convolutional sẽ tiến hành tính toán.

Lớp ReLU này là hàm kích hoạt trong mạng CNN, được gọi là activation function Nó có tác dụng mô phỏng những nơ ron có tỷ lê ̣ truyền xung qua axon Các hàm activation khác như Leaky, Sigmoid, Leaky, Maxout, tuy nhiên hiê ̣n nay, hàm ReLU được sử dụng phổ biến và thông dụng nhất.

Hàm này được sử dụng cho những yêu cầu huấn luyê ̣n mạng nơ ron với những ưu điểm nổi bâ ̣t điển hình là hỗ trợ tính toán nhanh hơn Trong quá trình dùng hàmReLU, bạn cần chú ý đến viê ̣c tùy chỉnh những learning rate và dead unit Những lớpReLU được dùng sau khi filter map được tính và áp dụng ReLU lên các giá trị của filter map.

Khi ma trâ ̣n ảnh đầu vào có kích thước quá lớn, các lớp Pooling layer sẽ được đă ̣t vào giữa những lớp Convolutional để làm giảm những parameters Hiê ̣n, hai loại lớp Pooling được sử dụng phổ biến là Max pooling và Average.

Fully connected layer Đây là lớp có nhiê ̣m vụ đưa ra kết quả sau khi hai lớp Convolutional và Pooling đả nhâ ̣n được ảnh truyền Khi này, ta sẽ thu được mô ̣t model đọc được thông tin của ảnh Để có thể liên kế chúng cũng như cho nhiều đầu ra hơn ta sẽ sử dụng Fully connected layer.

Kiến trúc của thuật toán CNN

Mạng CNN là tâ ̣p hợp những Convolutional layer xếp chồng lên nhau, đồng thời mạng sử dụng những hàm như ReLU và Tanh để kích hoạt các trọng số trong các node Các lớp này sau khi qua các hàm activation sẽ có trọng số trong những node và có thể tạo ra những thông tin trừu tượng hơn đến với các lớp kế tiếp trong mạng.

Mạng CNN có tính kết hợp cà tính bất biến Tức là, nếu cùng mô ̣t đối tượng mà sử dụng chiếu theo các góc đô ̣ khác nhau thì sẽ có ảnh hưởng đến đô ̣ chính xác Với dịch chuyển, co giãn hay quay ma trâ ̣n ảnh thì lớp Pooling sẽ được dùng để hỗ trợ làm bất biến các tính chất này Chính vì vâ ̣y mà mạng CNN sẽ đưa ra những kết quả có đô ̣ chính xác tương ứng với từng mô hình.

Trong đó, lớp Pooling sẽ có khả năng tạo tính bất biến với phép dịch chuyển, co giãn và quay Còn tính kết hợp cục bô ̣ sẽ cho thấy những cấp đô ̣ biểu diễn, dữ liê ̣u từ thấp đến cao với mức trừu tượng thông qua Convolution từ filter Mạng CNN có những lớp liên kết nhau dựa vào cơ chế Convolution.

Các lớp tiếp theo sẽ là kết quả từ những lớp trước đó, vì vâ ̣y mà bạn sẽ có những liên kết cục bô ̣ phù hợp nhất Trong quá trình huấn luyê ̣n mạng, CNN sẽ tự học hỏi những giá trị thông qua filter layer dựa theo cách thức mà bạn thực hiê ̣n.

Cấu trúc cơ bản của mô ̣t mô hình mạng CNN thường bao gồm 3 phần chính bao gồm:

● Trường cục bộ/ Local receptive field: Lớp này sử dụng để tách lọc dữ liệu, thông tin hình ảnh để từ đó có thể lựa chọn các vùng có giá trị sử dụng hiê ̣u quả cao nhất

● Trọng số chia sẻ/ Shared weights and bias : Lớp này hỗ trợ làm giảm các tham số đến mức tối thiểu trong mạng CNN Trong từng lớp convolution sẽ chứa các feature map riêng và từng feature thì sẽ có khả năng phát hiê ̣n một vài feature trong hình ảnh

● Lớp tổng hợp/ Pooling layer: Đây là lớp cuối cùng và sử dụng để làm đơn giản các thông tin output Tức là, sau khi tính toán xong và quét qua các layer trong mạng thì pooling layer sẽ được dùng để lược bỏ các thông tin không hữu ích Từ đó cho ra kết quả theo kỳ vọng người dùng.

Quy trình của thuật toán CNN

Quy trình thực hiện của thuật toán Convolutional Neural Network (CNN) bao gồm các bước chính từ chuẩn bị dữ liệu đến huấn luyện và đánh giá mô hình Dưới đây là quy trình tổng quan: a Chuẩn bị dữ liệu (Data Preparation):

- Thu thập dữ liệu: Xác định tập dữ liệu huấn luyện và tập dữ liệu kiểm tra/đánh giá.

- Tiền xử lý dữ liệu: Chuẩn hóa dữ liệu, thực hiện các bước tiền xử lý như chia tỷ lệ, chuẩn hóa, cắt ảnh, v.v.

- Chia tập dữ liệu: Phân chia dữ liệu thành tập huấn luyện, tập validation (nếu cần), và tập kiểm tra. b Xây dựng mô hình (Model Architecture):

- Tạo mô hình CNN: Xác định kiến trúc mô hình CNN, bao gồm số lượng và kích thước các tầng Convolutional, Pooling, Fully Connected, và số lượng lớp đầu ra (phụ thuộc vào bài toán).

- Thiết kế các lớp và các tham số: Xác định số lượng bộ lọc, kích thước bộ lọc, hàm kích hoạt, v.v cho mỗi tầng Convolutional và Pooling.

- Tính số lượng tham số: Xác định số lượng tham số cần tối ưu trong mô hình. c Huấn luyện mô hình (Model Training)

-Định nghĩa hàm mất mát (Loss Function): Chọn hàm mất mát phù hợp với bài

- Chọn thuật toán tối ưu hóa: Xác định thuật toán tối ưu hóa như Gradient Descent, Adam, RMSProp, v.v., cùng với các tham số điều chỉnh.

- Huấn luyện mô hình: Điều chỉnh trọng số mô hình để giảm hàm mất mát thông qua việc lan truyền ngược (backpropagation) và tối ưu hóa. d Đánh giá mô hình (Model Evaluation):

- Kiểm tra mô hình trên tập kiểm tra: Đánh giá hiệu suất mô hình trên tập kiểm tra để đảm bảo tính tổng quát.

- Đánh giá các thước đo hiệu suất: Sử dụng các thước đo như accuracy, precision, recall, F1-score để đánh giá hiệu suất của mô hình. e Tối ưu hóa và C愃ऀi thiện (Optimization and Improvement)

- Tinh chỉnh mô hình: Tối ưu hóa mô hình bằng cách thay đổi kiến trúc, tham số, hàm kích hoạt, số lượng lớp, v.v., để cải thiện hiệu suất.

- Kiểm soát quá khớp (Overfitting): Áp dụng kỹ thuật như dropout, regularization để kiểm soát và giảm quá khớp.

Quy trình trên cần sự chú ý đến từng bước và sự tùy chỉnh phù hợp để đạt được hiệu suất tốt nhất cho mô hình CNN trong bài toán cụ thể.

Ưu điểm và nhược điểm của thuật toán CNN

Mạng nơ-ron tích chập (Convolutional Neural Network – CNN) là một trong những loại mạng nơ-ron sâu được sử dụng rộng rãi trong thị giác máy tính và xử lý ảnh Dưới đây là một số ưu và nhược điểm của CNN: Ưu điểm của CNN:

-Hiệu suất cao: CNN cho phép xử lý ảnh với độ phân giải cao và độ phức tạp cao với độ chính xác cao hơn so với các phương pháp truyền thống.

-Tự động học các đặc trưng: CNN có khả năng tự động học các đặc trưng của ảnh một cách tự nhiên thông qua việc lặp lại các lớp tích chập, giúp cho mô hình có khả năng phân loại và nhận diện đối tượng tốt hơn.

-Tính đa dụng: CNN có thể được áp dụng cho nhiều bài toán trong lĩnh vực thị giác máy tính, chẳng hạn như phân loại ảnh, nhận diện đối tượng, nhận dạng chữ viết tay, nhận diện khuôn mặt và dấu vân tay, v.v.

-Thích ứng với các bài toán mới: CNN có khả năng học và thích ứng với các bài toán mới bằng cách sử dụng các trọng số của mạng đã được huấn luyện trước đó.

-Đòi hỏi nhiều dữ liệu huấn luyện: Để đạt được hiệu suất tốt, CNN đòi hỏi một lượng lớn dữ liệu huấn luyện để có thể học các đặc trưng của ảnh một cách tự nhiên.

-Chi phí tính toán cao: CNN có nhiều lớp tích chập và lớp kết nối đầy đủ, do đó đòi hỏi nhiều tài nguyên tính toán và thời gian để huấn luyện.

-Không hiệu quả đối với các bài toán đơn giản: Khi sử dụng CNN cho các bài toán đơn giản, nó có thể dẫn đến sự quá khớp dữ liệu, khiến cho hiệu suất của mô hình không được tốt.

-Khó hiểu: Do CNN có nhiều lớp và nhiều tham số, nên việc hiểu và giải thích hoạt động của nó là khá khó.

Dưới đây là một số ví dụ phổ biến về ứng dụng của Convolutional Neural Networks (CNNs) trong lĩnh vực xử lý ảnh và nhận diện:

- Phân loại ảnh (Image Classification):

CNNs được sử dụng rộng rãi để phân loại ảnh vào các lớp khác nhau, ví dụ: nhận diện chó, mèo, ôtô, máy bay, vv.

- Nhận diện khuôn mặt (Face Detection):

CNNs có thể được huấn luyện để nhận diện khuôn mặt trong ảnh, một ứng dụng quan trọng trong các hệ thống nhận diện khuôn mặt và an ninh.

- Phân loại bước chân (Gait Recognition):

CNNs có thể được áp dụng để nhận diện và phân loại bước chân của con người, ứng dụng trong lĩnh vực giám sát và an ninh.

- Nhận diện vật thể (Object Detection):

CNNs có thể được sử dụng để xác định vị trí và nhận diện nhiều vật thể khác nhau trong ảnh, bao gồm cả vật thể chồng chéo và có các đối tượng gần nhau.

- Nhận diện biển báo giao thông (Traffic Sign Recognition):

CNNs có thể huấn luyện để nhận diện biển báo giao thông trong hình ảnh, hữu ích trong các hệ thống hỗ trợ lái xe thông minh.

- Nhận diện và phân loại bệnh từ ảnh y tế (Medical Imaging):

CNNs có thể được sử dụng để nhận diện và phân loại bệnh từ ảnh chụp y tế như X- quang, CT scan, MRI, giúp trong việc chẩn đoán và điều trị các bệnh.

- Tự động tăng cường ảnh (Image Augmentation):

CNNs cũng có thể được sử dụng để tăng cường ảnh, bằng cách tạo ra các biến thể của ảnh gốc, giúp tăng tính tổng quát hóa của mô hình và giảm quá khớp.

- Nhận diện văn bản (Text Detection):

CNNs có thể được áp dụng để nhận diện và rà soát văn bản trong hình ảnh, có thể được sử dụng trong quét tài liệu và các ứng dụng OCR (Optical Character Recognition).

Những ví dụ trên chỉ là một phần nhỏ trong rất nhiều ứng dụng của CNNs trong xử lý ảnh và nhận diện, và lĩnh vực này đang tiếp tục phát triển với nhiều ứng dụng mới và cải tiến.

Áp dụng CNN vào bộ dữ liệu

Ứng dụng Convolutional Neural Networks (CNN) vào việc nhận diện khẩu trang trên khuôn mặt là một ứng dụng phổ biến trong lĩnh vực thị giác máy tính để xác định xem một người có đang đeo khẩu trang hay không CNN rất phù hợp cho các nhiệm vụ phân loại ảnh, làm cho chúng lý tưởng cho mục đích này Dưới đây, tôi sẽ chỉ ra một phương pháp tổng quan để triển khai nhận diện khẩu trang bằng cách sử dụng CNN:

4.2.1 Thu thập và Chuẩn bị Dữ liệu

Thu thập một tập dữ liệu chứa hình ảnh cá nhân có đeo khẩu trang và không đeo khẩu trang Bạn cần một tập dữ liệu được gán nhãn trong đó mỗi hình ảnh được gán nhãn là "có khẩu trang" hoặc "không có khẩu trang".

4.2.2 Tiền Xử lý Dữ liệu

- Điều chỉnh kích thước hình ảnh thành kích thước tiêu chuẩn (ví dụ: 224x224 pixel) để đảm bảo tính nhất quán.

- Chuẩn hóa giá trị pixel để nằm trong khoảng từ 0 đến 1.

- Chia tập dữ liệu thành tập huấn luyện, tập validation và tập kiểm tra.

Thiết kế một kiến trúc CNN để nhận diện khẩu trang Một kiến trúc thông thường bao gồm các lớp convolution, lớp pooling, lớp kết nối đầy đủ và lớp đầu ra. Dưới đây là một kiến trúc đơn giản:

- Các lớp convolution (ví dụ: Conv2D) với kích hoạt ReLU.

- Các lớp pooling (ví dụ: MaxPooling2D) để giảm kích thước không gian.

- Giải phẳng đầu ra để đưa vào các lớp kết nối đầy đủ.

- Các lớp kết nối đầy đủ với kích hoạt ReLU.

- Lớp đầu ra với kích hoạt softmax cho phân loại nhị phân (có khẩu trang hoặc không có khẩu trang).

Huấn luyện mô hình CNN bằng cách sử dụng tập dữ liệu huấn luyện Sử dụng một hàm mất mát thích hợp (ví dụ: cross-entropy nhị phân) và bộ tối ưu hóa (ví dụ: Adam) cho quá trình huấn luyện Theo dõi mất mát trên tập validation để tránh quá khớp.

4.2.5 Đánh giá Mô hình Đánh giá mô hình đã huấn luyện bằng cách sử dụng tập dữ liệu kiểm tra và tính toán các chỉ số như độ chính xác, độ chính xác dương tính, độ chính xác âm tính và F1 score.

Sử dụng mô hình đã huấn luyện để nhận diện khẩu trang trên các hình ảnh mới. Tiền xử lý hình ảnh tương tự như dữ liệu huấn luyện và đưa chúng qua mô hình.

Mô hình sẽ dự đoán xem một người có đeo khẩu trang hay không.

Tích hợp mô hình đã huấn luyện vào một ứng dụng hoặc hệ thống, nơi nó có thể xử lý luồng video trực tiếp hoặc hình ảnh tĩnh để nhận diện khẩu trang trong thời gian thực.

Hãy nhớ rằng hiệu quả của mô hình phụ thuộc nhiều vào chất lượng và đa dạng của tập dữ liệu huấn luyện, kiến trúc mô hình và các siêu tham số được chọn trong quá trình huấn luyện Có thể cần thực hiện thử nghiệm và điều chỉnh để đạt được

Xử lý hình ảnh nhận dạng

4.3.1.Khái niệm xử lý hình 愃ऀnh

Một hình ảnh là một ma trận các pixel, nhưng người ta thường không biến đổi ma trận thành một vector và xử lý nó bằng cách sử dụng kiến trúc mạng nơ-ron truyền thống Lý do là vì ngay cả với hình ảnh đơn giản nhất, các pixel liền kề có sự phụ thuộc lẫn nhau, việc biến đổi thành vector sẽ làm mất đi thông tin phụ thuộc này và làm thay đổi ý nghĩa của bức hình Ví dụ, biểu tượng của mắt mèo, lốp xe ô tô hoặc thậm chí là cạnh của một đối tượng được xây dựng từ một số pixel được bố trí theo một cách nhất định Nếu chúng ta xử lý hình ảnh thành một vector, những phụ thuộc này bị mất và làm giảm độ chính xác của mô hình

CNN có khả năng ghi lại sự phụ thuộc không gian của hình ảnh kể từ khi nó xử lý chúng dưới dạng ma trận và phân tích toàn bộ các phần của một hình ảnh tại một thời điểm, tùy thuộc vào kích thước của bộ lọc Ví dụ: một lớp lọc (convolutional layer) có kích thước 3 x 3 sẽ phân tích 9 điểm ảnh tại một thời điểm cho đến khi nó bao phủ toàn bộ hình ảnh.

Mỗi phần của hình ảnh được cung cấp một tập hợp các tham số (chiều rộng và độ lệch) sẽ tham chiếu mức độ liên quan của tập hợp pixel đó với toàn bộ hình ảnh, tùy thuộc vào bộ lọc Theo điều này, bằng cách giảm số lượng các tham số và bằng cách phân tích hình ảnh theo từng phần, CNN có thể hiển thị đại diện tốt hơn của hình ảnh.

Mỗi giá trị của ma trận đại diện cho một pixel trong hình ảnh, trong đó số được xác định bởi cường độ của màu, với các giá trị nằm trong khoảng từ 0 đến 255 Thang độ xám, pixel trắng được biểu thị bằng số 255 và pixel đen bằng số 0 Pixel xám là bất kỳ số nào ở giữa, tùy thuộc vào cường độ của màu sắc,màu xám càng nhạt, con số càng gần 255 Hình ảnh có màu thường được biểu diễn bằng hệ thống

RGB, hệ thống này đại diện cho mỗi màu là sự kết hợp của đỏ, xanh lá cây và xanh lam Ở đây, mỗi pixel sẽ có ba kích thước, một cho mỗi màu Các giá trị trong mỗi thứ nguyên sẽ nằm trong khoảng từ 0 đến 255 Ở đây, màu càng đậm, con số càng gần 255 Ở đây, kích thước đầu tiên đề cập đến chiều cao của hình ảnh (trong số pixel), kích thước thứ hai đề cập đến chiều rộng của hình ảnh (trong số pixel) và thứ nguyên thứ ba được gọi là kênh và đề cập đến bảng màu của hình ảnh Số kênh cho hình ảnh màu là ba (một kênh cho mỗi màu trong Hệ thống RGB) Mặt khác, hình ảnh tỷ lệ xám chỉ có một kênh.

4.3.2 Phương pháp xử lý 愃ऀnh

CNN chủ yếu được sử dụng cho các vấn đề về computer vision, nhưng điều quan trọng là đề cập đến khả năng giải quyết các vấn đề học tập khác của họ, chủ yếu liên quan đến tích chuỗi dữ liệu

Ví dụ: CNN đã được biết là hoạt động tốt trên chuỗi văn bản, âm thanh và video, đôi khi kết hợp với các mạng khác quả cầu kiến trúc hoặc bằng cách chuyển đổi các chuỗi thành hình ảnh có thể được xử lý của CNN Một số vấn đề dữ liệu cụ thể có thể được giải quyết bằng cách sử dụng CNN với chuỗi dữ liệu là các bản dịch văn bản bằng máy, xử lý ngôn ngữ tự nhiên và gắn thẻ khung video, trong số nhiều người khác.

-Classification: Đây là nhiệm vụ được biết đến nhiều nhất trong computer vision Ý tưởng chính là phân loại nội dung chung của hình ảnh thành một tập hợp các danh mục, được gọi là nhãn Ví dụ: phân loại có thể xác định xem một hình ảnh có phải là của một con chó, một con mèo hay bất kỳ động vật khác Việc phân loại này được thực hiện bằng cách xuất ra xác suất của hình ảnh thuộc từng lớp

-Localization: Mục đích chính của localization là tạo ra một hộp giới hạn mô tả vị trí của đối tượng trong hình ảnh Đầu ra bao gồm một nhãn lớp và một hộp giới hạn Tác vụ này có thể được sử dụng trong cảm biến để xác định xem một đối tượng ở bên trái hay bên phải của màn hình

-Detection: Nhiệm vụ này bao gồm thực hiện localization trên tất cả các đối tượng trong ảnh Các đầu ra bao gồm nhiều hộp giới hạn, cũng như nhiều nhãn lớp (một cho mỗi hộp) Nhiệm vụ này được sử dụng trong việc chế tạo ô tô tự lái, với mục tiêu là có thể xác định vị trí các biển báo giao thông, đường, ô tô khác, người đi bộ và bất kỳ đối tượng nào khác có thể phù hợp để đảm bảo trải nghiệm lái xe an toàn

-Segmentation: Nhiệm vụ ở đây là xuất ra cả nhãn lớp và đường viền của mỗi đối tượng hiện diện trong hình ảnh Điều này chủ yếu được sử dụng để đánh dấu các đối tượng quan trọng của hình ảnh cho phân tích sâu hơn Ví dụ: tác vụ này có thể được sử dụng để phân định rõ ràng khu vực tương ứng với khối u trong hình ảnh phổi của bệnh nhân.

HUẤN LUYỆN MÔ HÌNH

Chuẩn bị dữ liệu

Bộ dữ liệu gồm hai lớp: "Mask" và "Non Mask".

Số lượng mẫu trong từng lớp:

+Mask: 300 mẫu +Non Mask: 300 mẫu -Test:

+Mask: 50 mẫu +Non Mask: 50 mẫu -Validation:

+Mask: 153 mẫu +Non Mask: 153 mẫu

Tiền xử lý dữ liệu:

-Đọc và điều chỉnh kích thước ảnh về độ phân giải 224x224 pixel.

-Chuẩn hóa giá trị pixel về khoảng [0, 1] để tăng tính ổn định và tốc độ hội tụ của mô hình.

-Sau đó, ta xáo trộn dữ liệu và chia thành hai tập con: tập huấn luyện (90%) và tập kiểm tra (10%) Điều này giúp đánh giá hiệu suất của mô hình trên dữ liệu mới.

Xây dựng mô hình

Mô hình nhận diện đeo khẩu trang sử dụng kiến trúc mạng nơ-ron tích chập (CNN) MobileNet với trọng số được tải từ ImageNet Mô hình này được huấn luyện để phân loại ảnh thành hai lớp: có khẩu trang và không có khẩu trang.

-Sử dụng mô hình tiền huấn luyện MobileNet với trọng số được tải từ

-Đóng băng (freeze) các layer của MobileNet để chỉ huấn luyện các layer mới được thêm vào Điều này đảm bảo rằng các trọng số của MobileNet không bị thay đổi trong quá trình huấn luyện của mô hình.

-Tiếp theo, ta thêm các layer fully connected để trích xuất đặc trưng và dự đoán kết quả.

-Sử dụng hàm mất mát binary crossentropy và thuật toán tối ưu hóa SGD.-Chia tập huấn luyện thành batch size là 32 và huấn luyện trong 15 epochs.-Sử dụng validation split là 0.1 để đánh giá mô hình trên tập validation.

Đánh giá mô hình

-Mô hình đã đạt độ chính xác (accuracy) trên tập kiểm tra là 100%.

-Sử dụng các độ đo accuracy và F1-score để đánh giá hiệu suất của mô hình

Kết quả ứng dụng

Hình 5 Kết quả camera không đeo khẩu trang

Hình 6 Kết quả camera đeo khẩu trang

Ngày đăng: 18/07/2024, 14:52

HÌNH ẢNH LIÊN QUAN

Hình  1 Ví dụ về ảnh đeo khẩu trang - bài tập lớn đề tài nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu covid face mask detection dataset
nh 1 Ví dụ về ảnh đeo khẩu trang (Trang 24)
Hình  3 Convolutional layer - bài tập lớn đề tài nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu covid face mask detection dataset
nh 3 Convolutional layer (Trang 31)
Hình  4 Pooling Layer - bài tập lớn đề tài nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu covid face mask detection dataset
nh 4 Pooling Layer (Trang 32)
Hình  5 Kết quả camera không đeo khẩu trang - bài tập lớn đề tài nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu covid face mask detection dataset
nh 5 Kết quả camera không đeo khẩu trang (Trang 46)
Hình  6 Kết quả camera đeo khẩu trang - bài tập lớn đề tài nhận diện khuôn mặt đeo khẩu trang bằng bộ dữ liệu covid face mask detection dataset
nh 6 Kết quả camera đeo khẩu trang (Trang 47)