HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN 1 BÀI TẬP LỚN BỘ MÔN XỬ LÝ ẢNH CHUYÊN ĐỀ NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG NHÓM MÔN HỌC 03 Giảng viên Đào Thị Thúy Quỳnh Sinh viên Đặng Th[.]
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN BÀI TẬP LỚN BỘ MÔN: XỬ LÝ ẢNH CHUYÊN ĐỀ: NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG NHĨM MƠN HỌC: 03 Giảng viên: Đào Thị Thúy Quỳnh Sinh viên: Đặng Thị Vân Anh Mã sinh viên: B19DCCN010 Hà Nội – 2022 h MỤC LỤC I Phát biểu toán II Giới thiệu tổng quan MobileNetV2 III Giới thiệu tập liệu IV Viết chương trình Khai báo thư viện cần sử dụng .6 Khai báo đường dẫn đến thư mục chứa data Xây dựng hàm load liệu, gắn nhãn tiền xử lý liệu Mã hóa nhãn, phân chia tập liệu tăng cường liệu Xây dựng mơ hình Huấn luyện mơ hình, test mơ hình đánh giá Sử dụng mơ hình 10 V Kết luận 12 h I Phát biểu toán Đại dịch covid-19 gây hậu vô nghiêm trọng ảnh hưởng đến đến sức khỏe cộng đồng Việt Nam toàn giới Kể từ đại dịch phát hiện, có nhiều biện pháp phòng ngừa mà người dân cần phải tuân theo, quan trọng giãn cách xã hội đeo trang Trí tuệ nhân tạo hỗ trợ phương pháp phát dựa hình ảnh video phát đối tượng với độ xác cao phân loại xem người có đeo hay khơng đeo trang Nhận dạng người đeo trang thực phương pháp học sâu học máy, chẳng hạn “Support Vector Machines” “Decision Trees”, với liệu khác Phương pháp nhận biết có đeo trang hay khơng vị trí khn mặt người gọi phát người đeo trang Vấn đề đan xen với phát đối tượng chung, có nghĩa xác định lớp đối tượng Phát khuôn mặt phát loại đối tượng cụ thể Nhận dạng đối tượng khn mặt có nhiều ứng dụng Cơng việc liên quan việc áp dụng tính phát trang lớn, không sử dụng mạng thần kinh mà cịn sử dụng thuật tốn máy học áp dụng nhiều phân loại khác cho hệ thống Trong tập lớn này, sử dụng mơ hình kiến trúc MobilNetV2 để huấn luyện Mơ hình huấn luyện thử nghiệm cách sử dụng hai liệu độc lập người đeo trang không đeo trang Để nhận dạng khuôn mặt từ luồng video, sử dụng mô hình kiến trúc MobileNetV2 đào tạo trước Một loạt gói phương pháp học “máy/sâu” “kỹ thuật xử lý hình ảnh” sử dụng với framework OpenCV Để cung cấp khả giám sát hiệu cho phép chủ động, bước khác sử dụng, bao gồm “tăng cường liệu, tải phân loại (MobileNetV2), xây dựng lớp kết nối đầy đủ (FC), xử lý trước tải liệu hình ảnh, áp dụng phân loại, traning, validation testing” II Giới thiệu tổng quan MobileNetV2 MobileNetV2 kiến trúc sử dụng Depthwise Separable Convolutions( tích chập tách biệt chiều sâu) Ngồi cịn đề xuất thêm: Linear bottlenecks, Inverted Residual Block (shortcut connections bottlenecks) Nó có hai loại block Hình Có phần block: Layer đầu 1×1 convolution với ReLU6 Layer thứ hai, depthwise convolution Layer thứ tiếp tục 1×1 convolution khơng có activation function Linear sử dụng thay ReLu bình thường h Phương pháp phát đối tượng thực phân loại để xác định lớp đầu vào, regression để điều chỉnh giới hạn bounding box Ngoại trừ lớp kết nối hoàn toàn cuối cùng, hầu hết backbone networks dùng để phát vật thể dùng cho việc phân loại Backbone networks hoạt động trình trích xuất đặc trưng đơn giản cho tác vụ phát đối tượng, lấy hình ảnh làm đầu vào tạo feature maps cho hình ảnh đầu vào Hình Các khối MobilNetV2 Các predefined trained techniques thường sử dụng để trích xuất feature maps với vấn đề phân loại chất lượng cao Phần mô hình gọi Base model Base model mạng MobileNetV2 sử dụng trọng số " image net" ImageNet sở liệu hình ảnh đào tạo hàng trăm nghìn hình ảnh đó, hữu ích cho việc phân loại hình ảnh Các " bounding boxes " đánh giá so sánh với " ground truth boxes " trình đào tạo tham số đào tạo thay đổi cần trình lan truyền ngược Một hạt nhân sử dụng không gian đối tượng để tạo kết hiển thị điểm số tương ứng cho pixel, cho dù mục có tồn hay khơng, kích thước hộp giới hạn thích hợp h MobileNetV2 có lớp đầu bao gồm 1000 nơ-ron, tương ứng với 1000 danh mục mà huấn luyện. Nhưng muốn phân loại hai loại: with_mark without_mark. Do đó, cần lớp đầu bao gồm hai nơ-ron MobileNet tạo thành từ hai phần: Base model phân loại Trong mơ hình này, Base model sử dụng lại, phần đầu cắt bớt sử dụng hai lớp kết nối đầy đủ Và điều chỉnh lại mạng cách thêm lớp Cuối cùng, để phân loại xem người có đeo trang hay khơng, ta dùng lớp dense với nơ-ron softmax activation function III Giới thiệu tập liệu Dữ liệu gồm có hai tập hình ảnh: tập hình ảnh người đeo trang (with_mark) gồm có 1915 file ảnh, tập cịn lại người khơng đeo trang (without_mark) gồm 1918 file ảnh Đây tập liệu sưu tầm github Tập liệu with_mark Tập liệu without_mark h Dữ liệu huấn luyện bị giới hạn kích thước nên việc tăng cường liệu sử dụng để mở rộng số lượng tập liệu dành cho huấn luyện cách thao tác hình ảnh tập liệu “Cắt, tương phản, lật ngang, xoay, thu phóng làm mờ” sử dụng để phong phú hình ảnh đào tạo Bằng cách thay đổi tỷ lệ hình ảnh đầu vào 224*224 chuyển đổi thành kênh nhất, kích thước mơ hình giảm xuống IV Viết chương trình Khai báo thư viện cần sử dụng - Thư viện tensorflow dùng để tải liệu hình ảnh, tăng cường liệu, tải mơ hình MobilNetV2, xây dựng đầu layer - Thư viện imutils dùng để triển khai liệt kê hình ảnh tập liệu - Thư viện matplotlib để vẽ đồ thị kết huấn luyện Khai báo đường dẫn đến thư mục chứa data - Phân loại ảnh tốn học có giám sát, liệu huấn luyện kiểm định phải gắn nhãn Ảnh gắn nhãn tương ứng với tên thư mục chứa nó, ta có tên thứ tự nhãn tương ứng với tên thứ tự cá thư mục chứa ảnh huấn luyện kiểm định Gồm có nhãn : with_mark without_mark Xây dựng hàm load liệu, gắn nhãn tiền xử lý liệu h - Các bước tiền xử lý bao gồm: thay đổi kích thước ảnh thành 224*224 pixel, chuyển đổi sang định dạng mảng numpy chia tỷ lệ cường độ pixel ảnh đầu vào thành phạm vị [-1, 1] Mã hóa nhãn, phân chia tập liệu tăng cường liệu - - Chuyển đổi nhãn thành dạng số để máy đọc Vì có nhãn nên dùng one-hot encoding Với one-hot, ta chuyển đổi giá trị phân loại thành cột phân loại gán giá trị nhị phân cho cột đó. Mỗi giá trị số nguyên biểu diễn dạng vectơ nhị phân Sử dụng method scikit-learning để phân chia liệu thành phần: 80% để train 20% để test - Để cải thiện khả khái qt hóa liệu huấn luyện bị giới hạn kích thước nên việc tăng cường liệu sử dụng để mở rộng số lượng tập liệu dành cho huấn luyện cách thao tác hình ảnh tập liệu như: Cắt, tương phản, lật ngang, xoay, thu phóng làm mờ Xây dựng mơ hình - MobileNetV2 có lớp đầu bao gồm 1000 nơ-ron, tương ứng với 1000 danh mục mà huấn luyện. Nhưng muốn phân loại hai loại: with_mark without_mark. Do đó, cần lớp đầu bao gồm hai nơ-ron Ở ta thực việc tinh chỉnh(Fine-tuning) MobilNetV2 network, h - - để tận dụng lại tri thức huấn luyện cải thiện lại tác vụ phân loại Đầu tiên load MobilNetV2 network với trọng số ImageNet đào tạo trước bỏ layer FC đầu MobilNetV2 network sử dụng để trích xuất feature maps với vấn đề phân loại Phần mơ hình gọi Base model Xây dựng đầu FC cách thêm lớp gắn vào thay cho đầu cũ o AveragePooling2D dùng để lấy feature bật (dùng average) giúp giảm parameter training o Flatten dùng để làm phằng layer để fully connection o Dropout layer dùng regularization cho layer hạn chế overfiting. o Cuối lớp Dense với nơ-ron tương ứng với đầu - Cuối đóng băng baseModel Trọng số baseModel khơng cập nhật trình lan truyền ngược, trọng số lớp đầu điều chỉnh Huấn luyện mơ hình, test mơ hình đánh giá h - Biên dịch mơ hình với trình tối ưu hóa Adam, learning_rate entropy chéo nhị phân Huấn luyện mơ hình Lưu ý tập liệu tăng cường (aug) cung cấp lơ liệu hình ảnh sau biến đổi - Kết quả: - Sau huấn luyện xong, ta đánh giá mơ hình tập test - Kết quả: tỷ lệ metric cao - Vẽ đồ thị biểu diễn tỷ lệ loss accuracy qua lần epoch h - Kết quả: độ xác tăng lên đến 99% lần epoch thứ Sự tổn thất (loss) giảm xuống mức thấp lần epoch thứ 10, gần - Cuối cùng, lưu lại model huấn luyện: Sử dụng mơ hình Đầu tiên, load sử dụng DNN Face Detector để nhận diện khn mặt có sẵn model mà ta train Xây dựng hàm load ảnh, xử lý hình ảnh đầu vào thực phân loại: - Đầu tiên load ảnh xử lý ảnh đầu vào: tạo lấy kích thước khung để hiển thị chia tỷ lệ tat hay đổi kích thước thành 300*300 pixel thực phép trừ trung bình h - Sau đó, thực nhận diện khuân mặt để xác định vị trí tất khuân mặt ảnh - Khi dự đốn vị trí khuân mặt, ta phải đảm bảo khuân mặt có tỷ lệ xác > 0.5, lọc đối tượng có xác suất thấp Tiếp, tính tốn giới hạn box cho khuân mặt đảm bảo box nằm giới hạn hình ảnh - - Trích xuất vùng xuất khuân mặt, chuyển đổi từ BGR sang RGB, thay đổi kích thước thành 224*224 pixel, … xử lý giống trình đào tạo, thực dự đoán - Sau dự đốn ta thích hiển thị kết quả: thích gồm có bounding box, tên nhãn, xác suất nhãn h - Kết quả: Hình ảnh trước dự đốn Hình ảnh sau dự đốn V Kết luận Với mơ hình đào tạo đưa dự đốn xác giúp ích cho cộng đồng sức khỏe Có thể ứng dụng bệnh viện hay nơi công công khác Tuy nhiên số hạn chế người ko đeo trang mà lấy tay che miệng hay quấn khăn quàng cổ bị nhẫm lẫn đeo khâu trang Ta phải tìm kiếm thêm liệu cho phần huấn luyện lại mơ hình cho xác h