Giới thiệu
Tổng quan
Sự phổ biến của hình ảnh trong đời sống hàng ngày đã dẫn đến việc gia tăng lượng thông tin thu thập được Do đó, lĩnh vực xử lý ảnh đang được phát triển mạnh mẽ và ứng dụng rộng rãi trong xã hội hiện đại Công nghệ xử lý ảnh không chỉ dừng lại ở việc chỉnh sửa và nâng cao chất lượng hình ảnh, mà còn cho phép giải quyết các vấn đề như nhận dạng chữ viết, dấu vân tay và khuôn mặt.
Nhóm chúng em sẽ phát triển một chương trình xử lý và lọc ảnh nâng cao, nhằm tạo nền tảng cho các đề án và giải pháp liên quan đến các vấn đề trong cuộc sống hàng ngày Chương trình này sẽ ứng dụng trong nhiều lĩnh vực như thương mại, giáo dục và y tế, mang lại lợi ích thiết thực cho mọi người.
Mục đích
Xây dựng chương trình xử lý ảnh và lọc ảnh nâng cao là nền tảng quan trọng để phát triển các đề án và giải pháp cho những vấn đề trong cuộc sống hàng ngày Ứng dụng công nghệ này có thể mang lại lợi ích lớn trong nhiều lĩnh vực như thương mại, giáo dục và y tế, giúp cải thiện hiệu quả công việc và chất lượng dịch vụ.
Phương pháp
- Các phương pháp, thuật toán phục vụ cho việc phát hiện và nhận dạng khuôn mặt người trên ảnh.
- Bộ thư viện xử lý ảnh OpenCv
- Bộ thư viện xử lý và nhận dạng Tensorflow
- Phương pháp nhận diện và học sâu Deep Learning
- Tập trung tìm hiểu nhận dạng khuôn mặt (Face Recognition)
- Công nghệ theo dõi nhận dạng tập trung ROI (Region Of Interest)
- Xử lí ảnh khuôn mặt từ bộ dữ liệu đầu vào có sẵn và huấn luyện để nhận diện.
- Nhận dạng khuôn mặt với webcam và phát hiện mang khẩu trang hoặc không, đưa ra cảnh báo.
Cấu trung đồ án gồm 3 phần chính:
- Chương 1: Giới thiệu tổng quan
- Chương 2: Nghiên cứu tổng quan
- Chương 3: Phân tích thiết kế hệ thống
- Chương 4: Triển khai xây dựng
- Chương 5: Kết luận và hướng phát triển
Cấu trúc đồ án
2.1.1 Bài toán nhận diện khuôn mặt
Hệ thống nhận dạng khuôn mặt là công nghệ sử dụng ảnh, video hoặc webcam để xác định vị trí khuôn mặt trong hình ảnh Qua quá trình xử lý, hệ thống có khả năng nhận diện người dùng bằng cách so sánh với cơ sở dữ liệu đã học, từ đó phân loại người đó là người quen thuộc hoặc người lạ.
Trước khi nhận dạng khuôn mặt, chương trình cần chuẩn bị dữ liệu thô, bao gồm hình ảnh của các sinh viên Sau đó, dữ liệu này sẽ được huấn luyện để trích xuất các embedding vector, phục vụ cho quá trình so sánh sau này Vì vậy, việc chuẩn bị dữ liệu ban đầu đóng vai trò quan trọng trong quy trình nhận dạng.
Hình 1-Hệ thống nhận diện khuôn mặt
Nghiên cứu tổng quan
Các phương pháp
2.1.1 Bài toán nhận diện khuôn mặt
Hệ thống nhận dạng khuôn mặt sử dụng ảnh, video hoặc webcam để xác định vị trí khuôn mặt trong hình ảnh Qua quá trình xử lý và tính toán, hệ thống có khả năng nhận diện người dùng từ danh sách đã biết hoặc phát hiện người lạ.
Trước khi thực hiện nhận dạng khuôn mặt, chương trình cần chuẩn bị dữ liệu thô bao gồm các khuôn mặt của sinh viên Sau đó, dữ liệu thô này sẽ được huấn luyện để trích xuất các embedding vector, phục vụ cho quá trình so sánh sau này Vì vậy, việc chuẩn bị dữ liệu ban đầu đóng vai trò rất quan trọng trong quy trình nhận dạng.
Hình 1-Hệ thống nhận diện khuôn mặt
2.1.2 Tổng quan kiến trúc của một hệ thống nhận dạng khuôn mặt
Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xử lý sau:
1 Phát hiện khuôn mặt (Face Detection).
2 Phân đoạn khuôn mặt (Face Alignment hay Segmentation).
3 Trích chọn đặc trưng (Feature Extraction).
4 Nhận dạng (Recognition) hay Phân lớp khuôn mặt (Face Clasaification).
Hình 2-Các bước chính trong hệ thống nhận dạng
2.1.3 Xác định khuôn hình khẩu trang trên khuôn mặt
Khi nhận diện khuôn mặt xác định vị trí và theo dõi cố dịnh trên khuôn.
Chúng ta sử dụng ROI để xác định các đặc điểm trên khuôn mặt khi đeo khẩu trang, vì các điểm ảnh như mắt, mũi và miệng bị che khuất Hệ thống sẽ nhận diện khuôn mặt và xác định đó là khẩu trang.
Vùng quan tâm (ROI) là khu vực trong ảnh mà chúng ta sẽ thực hiện các xử lý và biến đổi, trong khi các vùng khác sẽ được bỏ qua.
Vùng quan tâm (ROI) trong xử lý ảnh:
ROI có thể xuất hiện dưới nhiều hình dạng khác nhau, bao gồm hình vuông, hình chữ nhật, hình tròn, các vùng nhỏ trên ảnh, hoặc thậm chí là các pixel riêng lẻ trong bức ảnh.
ROI là một KHẨU TRANG mà trên đó: pixel quan tâm có giá trị 1 (màu trắng) và pixel không quan tâm có giá trị zero.
Vùng không quan tâm trên ảnh thường là BACKGROUND (ảnh nền).
Áp dụng ROI lên ảnh ta lấy ảnh gốc nhân với khẩu trang ROI.
ROI được mô tả dữ dội quá, hãy cùng Minh xem qua ảnh minh họa của ROI nhé:
Màu trắng thể hiện vùng ảnh ta quan tâm, cần sẽ xử lý.
Màu đen là vùng ta KHÔNG QUAN TÂM, không xử lý hoặc bỏ đi.
Khẩu trang ROI là ma trận nhị phân với các giá trị 0 và 1 Để trực quan hóa ma trận này thành hình ảnh, cần thực hiện việc scale về miền giá trị [0, 1].
Các công nghệ thực hiện và các khái niệm liên quan
Để giải quyết vấn đề nhận diện khuôn mặt và nhận diện đeo khẩu trang, bài viết này sử dụng thư viện xử lý ảnh OpenCV cùng với Keras/Tensorflow, áp dụng công nghệ Deep Learning trong quá trình thực hiện.
Trong đồ án này ngôn ngữ lập trình được sử dụng là Python, được viết trên môi trường của Python là IDLE và Visual Studio Code.
2.2.1 Giới thiệu ngôn ngữ lập trình Python
Python là ngôn ngữ lập trình bậc cao, đa năng, được phát triển bởi Guido van Rossum và ra mắt lần đầu vào năm 1991 Với thiết kế dễ đọc, dễ học và dễ nhớ, Python thu hút người mới bắt đầu lập trình Cấu trúc sáng sủa và rõ ràng của Python giúp người dùng viết mã lệnh với số lần gõ phím tối thiểu, tạo thuận lợi cho việc học tập và phát triển.
Python là ngôn ngữ lập trình hoàn toàn kiểu động, sử dụng cơ chế cấp phát bộ nhớ tự động, tương tự như các ngôn ngữ như Perl, Ruby, Scheme, Smalltalk và Tcl Được phát triển trong một dự án mã nguồn mở, Python hiện được quản lý bởi tổ chức phi lợi nhuận Python Software Foundation.
Python ban đầu được phát triển cho nền tảng Unix, nhưng đã mở rộng ra nhiều hệ điều hành khác như MS-DOS, Mac OS, OS/2, Windows, và Linux Dù có sự đóng góp của nhiều cá nhân, Guido van Rossum vẫn là tác giả chính và giữ vai trò quan trọng trong việc định hướng phát triển của Python.
2.2.2 Giới thiệu về thư viện OpenCV
OpenCv (Open Source Computer Vision) là thư viện mã nguồn mở nổi bật trong lĩnh vực thị giác máy, cung cấp hơn 500 hàm và 2500 thuật toán tối ưu hóa cho XLA Thư viện này được thiết kế để khai thác tối đa sức mạnh của các chip đa lõi, cho phép thực hiện các phép toán trong thời gian thực, đảm bảo tốc độ phản hồi đủ nhanh cho các ứng dụng thông thường.
OpenCV là một thư viện mã nguồn mở đa nền tảng, cho phép chạy trên các hệ điều hành như Windows, Linux, Mac và iOS Thư viện này tuân thủ giấy phép BSD, cho phép người dùng sử dụng miễn phí cho cả mục đích phi thương mại và thương mại.
Dự án OpenCV bắt đầu từ năm 1999 và được giới thiệu tại hội nghị IEEE vào năm 2000 Tuy nhiên, phiên bản chính thức OpenCV 1.0 chỉ được phát hành vào năm 2006, tiếp theo là phiên bản 1.1 (prerelease) vào năm 2008 Đến tháng 10 năm 2009, OpenCV phiên bản 2.x ra mắt, đánh dấu sự chuyển mình với giao diện C++ và nhiều cải tiến so với phiên bản đầu tiên.
Thư viện OpenCV được khởi đầu với sự hỗ trợ từ Intel và sau đó được Willow Garage, một phòng thí nghiệm chuyên nghiên cứu công nghệ robot, tiếp tục hỗ trợ.
OpenCV vẫn là thư viện mở, được phát triển bởi nguồn quỹ không lợi nhuận (none-profit foundation) và được sự hưởng ứng rất lớn của cộng đồng.
Hình 3-Giới thiệu về thư viện OpenCV
Trí tuệ nhân tạo (AI) đang ngày càng trở nên phổ biến và ảnh hưởng sâu rộng đến cuộc sống của chúng ta Các thuật ngữ như “Trí tuệ nhân tạo”, “Học máy” và “Học sâu” đã trở nên quen thuộc Hãy cùng khám phá mối quan hệ giữa trí tuệ nhân tạo, học máy và học sâu thông qua hình vẽ minh họa.
Deep learning là một lĩnh vực AI đang thu hút nhiều sự chú ý, thuộc phạm trù machine learning và tập trung vào mạng thần kinh nhân tạo Nó đóng vai trò quan trọng trong việc cải thiện công nghệ nhận diện giọng nói, tầm nhìn máy tính và xử lý ngôn ngữ tự nhiên Trong vài năm qua, deep learning đã tạo ra những bước tiến đáng kể trong nhiều lĩnh vực như nhận thức sự vật, dịch tự động và nhận diện giọng nói, giải quyết những thách thức mà các nhà nghiên cứu trí tuệ nhân tạo từng gặp phải Để hiểu rõ hơn về deep learning, cần xem xét một số khái niệm cơ bản về trí tuệ nhân tạo.
Trí tuệ nhân tạo được hình thành từ các lớp xếp chồng, với mạng thần kinh nhân tạo ở lớp dưới cùng, tiếp theo là machine learning, và deep learning nằm ở lớp trên cùng.
2.2.4 Thư viện của Deep Learning – Keras/Deep Learning
Keras là một thư viện deep learning 'high-level' với backend có thể là TensorFlow, CNTK hoặc Theano Nó có cú pháp đơn giản hơn nhiều so với TensorFlow, giúp người dùng dễ dàng tiếp cận Trong bài viết này, tôi sẽ sử dụng Keras với TensorFlow làm backend để giới thiệu về các mô hình hơn là tập trung vào việc sử dụng các thư viện deep learning.
Những lý do nên sử dụng Keras để bắt đầu:
Keras ưu tiên trải nghiệm của người lập trình
Keras đã được sử dụng rộng rãi trong cộng đồng nghiên cứu
Keras giúp dễ dàng biến các thiết kế thành sản phẩm
Keras hỗ trợ huấn luyện trên nhiều GPU phân tán
Keras hỗ trợ nhiều backend engines, không chỉ giới hạn trong hệ sinh thái TensorFlow Trong thập kỷ qua, sự bùng nổ của Trí Tuệ Nhân Tạo (A.I.) đã thúc đẩy sự phát triển mạnh mẽ của machine learning và deep learning Hiện nay, TensorFlow là thư viện mã nguồn mở cho machine learning nổi tiếng nhất thế giới, được phát triển bởi các nhà nghiên cứu của Google Sự hỗ trợ mạnh mẽ cho các phép toán trong machine learning và deep learning đã giúp việc giải quyết các bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn.
Kiến trúc TensorFlow hoạt động được chia thành 3 phần:
Tiền xử lý dữ liệu
Train và ước tính model Cách TensorFlow hoạt động:
TensorFlow cho phép lập trình viên xây dựng đồ thị dataflow, mô tả cách dữ liệu di chuyển qua các node xử lý Mỗi node đại diện cho một phép toán, trong khi các kết nối giữa chúng, hay còn gọi là edges, là các mảng dữ liệu đa chiều, được biết đến với tên gọi 'tensor'.
TensorFlow cung cấp cho lập trình viên một nền tảng mạnh mẽ thông qua ngôn ngữ Python, vốn được biết đến với sự dễ học và tính tiện lợi Các đối tượng như node và tensor trong TensorFlow đều là các đối tượng Python, cho phép người dùng dễ dàng hiểu và kết hợp các high-level abstractions Hơn nữa, các ứng dụng TensorFlow cũng được xây dựng trên nền tảng Python, tạo điều kiện thuận lợi cho việc phát triển và triển khai.
Hạn chế, tồn tại của các phương pháp
Bài toán nhận dạng khuôn mặt, được nghiên cứu từ những năm 70, vẫn gặp nhiều khó khăn trong việc đạt được kết quả mong muốn, thu hút sự quan tâm của nhiều nhóm nghiên cứu trên toàn thế giới Những thách thức chính bao gồm: tư thế và góc chụp ảnh khác nhau có thể làm khuất các đặc điểm trên khuôn mặt; sự xuất hiện hoặc thiếu hụt các thành phần như râu, kính mắt; biểu cảm khuôn mặt có thể thay đổi đáng kể các thông số nhận diện; sự che khuất bởi các đối tượng khác; biến đổi hướng ảnh do góc quay của camera; điều kiện chụp ảnh khác nhau về ánh sáng và chất lượng camera; và sự thay đổi theo thời gian của khuôn mặt, gây khó khăn ngay cả với khả năng nhận diện của con người.
Phân tích thiết kế hệ thống
Mô hình tổng quan của hệ thống nghiên cứu
3.1.1 Luồng hoạt động của hệ thống
Hệ thống nhận diện khuôn mặt đeo khẩu trang được chia thành hai giai đoạn riêng biệt, mỗi giai đoạn bao gồm các bước nhiệm vụ cụ thể, giúp tùy chỉnh quá trình huấn luyện hiệu quả hơn.
Ta có 2 giai đoạn chính như trên sơ đồ:
Giai đoạn 1: Huấn luyện dữ liệu cho hệ thống (Train Face Mask Detector)
Giai đoạn 2: Triển khai nhận diện và phân tích (Apply Face Mask Detector)
Phân tích chi tiết luồng hoạt động của hệ thống
3.2.1 Giai đoạn huấn luyện dữ liệu cho hệ thống
Hình 5-Sơ đồ luồng hoạt động của giai đoạn Train dữ liệu
Chúng ta sẽ tiến hành tải tập dữ liệu phát hiện khẩu trang, sau đó sử dụng Keras/TensorFlow để đào tạo một mô hình trên tập dữ liệu này, và cuối cùng là tuần tự hóa trình phát hiện khẩu trang để áp dụng vào bộ dữ liệu.
Phân tích luồng hoạt động của giai đoạn Train dữ liệu qua thứ tự các bước:
Bước đầu tiên trong quá trình xử lý là tải tập dữ liệu mặt nạ, nơi hệ thống bắt đầu nạp dữ liệu từ tập dữ liệu đã được cung cấp.
Huấn luyện bộ phân loại khẩu trang trên khuôn mặt với Keras/TensorFlow là quá trình quan trọng nhằm phân loại khuôn mặt có đeo khẩu trang và không đeo khẩu trang Việc này giúp hệ thống phân tích và nhận diện chính xác hai kết quả khác nhau, từ đó nâng cao hiệu quả trong việc quản lý và giám sát an toàn sức khỏe.
To serialize a face mask classifier using Keras/TensorFlow, the system is tasked with continuously training input data to maintain effective model training This process ensures that the classifier remains updated and capable of accurately identifying face masks in various scenarios.
3.2.2 Giai đoạn áp dụng và triển khai phân tích nhận diện của hệ thống
Hình 6-Sơ đồ luồng hoạt động phân tích và nhận diện của hệ thống
Sau khi hoàn tất quá trình huấn luyện trình phát hiện khẩu trang, chúng ta có thể tải trình phát hiện này để thực hiện việc nhận diện khuôn mặt Quá trình này cho phép phân loại từng khuôn mặt thành hai nhóm: có đeo khẩu trang và không đeo khẩu trang.
Phân tích luồng hoạt động của giai đoạn áp dụng vào phân tích và nhận diện của hệ thống:
Trước khi tiến hành phân tích, hệ thống cần tải mặt nạ phân loại từ đĩa và nạp toàn bộ ảnh nhận dạng vào bộ nhớ để hệ thống có thể học hỏi, sau đó mới bắt đầu quá trình nhận diện và phân tích.
Phát hiện khuôn mặt trong luồng video: Sau khi tải toàn bộ hình ảnh, chúng ta chuyển sang nhận diện khuôn mặt thông qua luồng video sử dụng webcam từ laptop.
Sau khi nhận diện khuôn mặt từ video stream, chúng ta tiến hành áp dụng ROI để trích xuất khuôn mặt một cách tập trung và rõ ràng hơn.
Áp dụng bộ phân loại khẩu trang cho từng khu vực khuôn mặt (ROI) nhằm xác định tình trạng "có khẩu trang" hoặc "không có khẩu trang".
- Show results: hiển thị kết quả sau khi đã tiến hành phân tích nhận diện.
Phân tích tập dữ liệu (dataset)
3.3.1 Xây dựng tập dữ liệu Để xây dựng tập dữ liệu phục vụ cho việc huấn luyện (train) dữ liệu.
Chúng tôi đã tạo ra một kho ảnh chân dung đa dạng với khuôn mặt không đeo khẩu trang, nhằm phục vụ cho việc đào tạo mô hình nhận diện khuôn mặt Tập ảnh này bao gồm nhiều người khác nhau, giúp nâng cao độ chính xác trong việc nhận diện mà không bị ảnh hưởng bởi khẩu trang.
Để tạo ra tập ảnh chân dung với khuôn mặt đeo khẩu trang, chúng ta có thể sử dụng tập ảnh chân dung không đeo khẩu trang Bằng cách sử dụng tập lệnh Python và OpenCV, chúng ta sẽ ghép hình khẩu trang vào các khuôn mặt không đeo khẩu trang, từ đó tạo ra một tập dữ liệu ảnh nhân tạo có tính thực tế cao.
Các mốc trên khuôn mặt giúp xác định các cấu trúc như đôi mắt, lông mày, mũi, mặt và khuôn hàm Để xây dựng tập dữ liệu về khuôn mặt đeo khẩu trang, cần bắt đầu bằng hình ảnh của một người không đeo khẩu trang.
Để xây dựng bộ dữ liệu về khẩu trang trong bối cảnh đại dịch COVID-19, chúng ta sẽ bắt đầu với hình ảnh một người không đeo khẩu trang.
Từ đó, chúng ta áp dụng tính năng phát hiện khuôn mặt để tính toán vị trí hộp giới hạn của khuôn mặt trong hình ảnh:
Hình 8-Nhận diện khuôn mặt trên bức ảnh nhờ Deep Learning
Chúng tôi đã áp dụng công nghệ nhận diện khuôn mặt bằng phương pháp học sâu (Deep Learning) với sự hỗ trợ của OpenCV.
Hình 9-Trích xuất ROI của khuôn mặt với OpenCV và NumPy cắt
Hình 3.3.3 - Khi chúng ta biết vị trí của khuôn mặt trong hình ảnh, chúng ta có thể trích xuất Vùng ưa thích (ROI) của khuôn mặt
Và từ đó, chúng ta áp dụng các điểm mốc trên khuôn mặt, cho phép chúng ta xác định vị trí của mắt, mũi, miệng, v.v.:
Hình 10-Đánh dấu các điểm mốc trên khuôn mặt
Sau đó, chúng ta phát hiện các điểm mốc trên khuôn mặt bằng cách sử dụng dlib để chúng ta biết vị trí đặt khẩu trang trên khuôn mặt.
Tiếp theo, chúng ta cần một hình ảnh của một khẩu trang (với nền trong suốt) như hình bên dưới:
Khẩu trang ngăn chặn lây lan COVID-19 Coronavirus qua đường hô hấp, như hình 3.3.5 minh họa, sẽ tự động được phủ lên ROI của khuôn mặt nhờ vào việc xác định các vị trí mốc khuôn mặt.
Khẩu trang này sẽ tự động được áp dụng cho khuôn mặt bằng cách sử dụng các điểm mốc trên khuôn mặt, đặc biệt là các điểm dọc theo cằm và mũi, để xác định vị trí chính xác của khẩu trang.
Hình 12-Hình ảnh khẩu trang được đặt lên khuôn mặt
Khẩu trang COVID-19 được áp dụng trên khuôn mặt của người trong hình ảnh, sử dụng công nghệ thị giác máy tính với các mốc khuôn mặt từ OpenCV và dlib Điều này cho thấy sự phát triển của công nghệ trong việc nhận diện và xử lý hình ảnh.
Sau đó, chúng ta có thể áp dụng quy trình này cho tất cả các hình ảnh đầu vào, từ đó xây dựng bộ dữ liệu khẩu trang nhân tạo của mình.
Hình 13-Bộ dữ liệu ảnh đeo khẩu trang nhân tạo
Hình 3.3.7 hiển thị khẩu trang COVID-19 nhân tạo, sẽ được sử dụng trong bộ dữ liệu "có khẩu trang" và "không có khẩu trang" của chúng tôi Bộ dữ liệu này nhằm mục đích phát hiện khẩu trang COVID-19 thông qua các kỹ thuật thị giác máy tính và học sâu, sử dụng Python, OpenCV và TensorFlow/Keras.
Triển khai xây dựng
Cấu trúc dự án
Cấu trúc thư mục chính của dự án:
│ └── res10_300x300_ssd_iter_140000.caffemodel ├── detect_mask_image.py
Tập thư mục dataset chứa dữ liệu được mô tả trong phần “Tập dữ liệu phát hiện khẩu trang COVID-19 của chúng ta”.
Ba hình ảnh examples được cung cấp để bạn có thể kiểm tra trình phát hiện khẩu trang hình ảnh tĩnh.
Tập tin train_mask_detector.py nhận dữ liệu đầu vào và tinh chỉnh mô hình MobileNetV2 để tạo ra mask_detector.model Ngoài ra, một hình ảnh plot.png thể hiện lịch sử huấn luyện cũng được tạo ra.
- detect_mask_image.py : Thực hiện phát hiện khẩu trang trong hình ảnh tĩnh.
- detect_mask_video.py : Sử dụng webcam của bạn, tập lệnh này áp dụng tính năng phát hiện khẩu trang cho mọi khung hình trong luồng.
Triển khai kịch bản huấn luyện (training) hệ thống nhận diện khẩu trang
Chúng ta sẽ xem xét tập dữ liệu và khám phá cách sử dụng Keras cùng TensorFlow để đào tạo một bộ phân loại tự động phát hiện người có đeo khẩu trang hay không Để thực hiện điều này, chúng ta sẽ tinh chỉnh kiến trúc MobileNet V2, một kiến trúc hiệu quả cao phù hợp cho các thiết bị nhúng với dung lượng tính toán hạn chế như Raspberry Pi, Google Coral và NVIDIA Jetson Nano.
Việc áp dụng công nghệ nhận diện khẩu trang cho các thiết bị nhúng giúp giảm chi phí sản xuất cho các hệ thống phát hiện khẩu trang Đây chính là lý do chúng tôi lựa chọn kiến trúc này.
Hình 14-Kết quả nhận diện khuôn mặt không mang khẩu trang
Hình 4.4 – Kết quả nhận diện khuôn mặt khi không đeo khẩu trang đã được hiện ra sau khi phân tích.
Hình 15-Kết quả nhận diện khuôn mặt có đeo khẩu trang
Kết quả nhận diện khuôn mặt khi đeo khẩu trang cho thấy máy dò khẩu trang của chúng ta hoạt động hiệu quả trong thời gian thực và đạt độ chính xác cao trong dự đoán.
Triển khai nhận diện khẩu trang với video stream qua webcam
Sau thời gian khoảng 1 tháng vừa học vừa triển khai xây dựng thì cuối cùng cơ bản hệ thống cũng hoàn thành.
Hệ thống có thể load và training dữ liệu từ tập dữ liệu đã tạo ra gồm các ảnh người có đeo khẩu trang và không đeo khẩu trang.
Công nghệ nhận diện khuôn mặt hiện nay có khả năng phân tích và phân biệt giữa khuôn mặt có đeo khẩu trang và không Hơn nữa, hệ thống còn hỗ trợ nhận diện theo thời gian thực thông qua webcam khi người dùng phát trực tiếp.
Tuy nhiên vì thời gian và kiến thức có hạn,nhóm em đã cơ bản hoàn thành hệ thống nên còn một vài hạn chế nhất định như sau:
- Hệ thống nhận diện hoạt động kém khi ánh sáng yếu, hoặc khoảng cách xa.
- Vì tập dữ liệu nhân tạo nên đôi khi có sự sai sót nhầm lẫn khi nhận diện các loại khẩu trang kiểu mẫu khác nhau
- Chưa thể đưa ra cảnh báo bằng âm thanh
Vì hệ thống còn một số hạn chế nên nhóm em sẽ tiếp tục cải thiện hệ thống về mặt nhận diện.
Sưu tập được bộ ảnh dữ liệu thật để nâng cao khả năng nhận diện và đưa ra kết quả chính xác hơn.
Bổ sung tính năng cho phép hệ thống đưa ra cảnh báo bằng âm thanh.
Xây dựng lắp đặt camera giám sát tích hợp việc nhận diện khuôn mặt mang khẩu trang.