NHẬN DIỆN TUỔI VÀ GIỚI TÍNH QUA KHUÔN MẶT SỬ DỤNG MẠNG NƠRON TÍCH CHẬP

58 7 0
NHẬN DIỆN TUỔI VÀ GIỚI TÍNH QUA KHUÔN  MẶT SỬ DỤNG MẠNG NƠRON TÍCH CHẬ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ị giác máy tính và trí tuệ nhân tạo là hai lĩnh vực công nghệ đang trải qua sự biến đổi đột phá, đặc biệt trong thời kỳ số hóa mạnh mẽ và sự phát triển không ngừng của công nghệ thông tin. Sự hình thành của hai lĩnh vực đã mở ra một loạt các cơ hội mới và thách thức thú vị, ảnh hưởng mạnh mẽ đến nhiều khía cạnh của cuộc sống hàng ngày. Tính đến hiện nay, lĩnh vực thị giác máy tính đã tiến xa hơn bao giờ hết trong giải quyết các tác vụ, yêu cầu khác nhau như nhận diện người, nhận diện xe cộc, v.v. Không dừng lại ở đó, các công nghệ, kỹ thuật ngày càng được hoàn thiện nhằm cải tiến, giải quyết các yêu cầu của bài toán. Việc tiếp tục phát triển công nghệ tạo ra một cơ hội đột phá trong việc cải thiện cuộc sống và công việc, từ tăng cường an ninh cá nhân đến cải thiện quy trình sản xuất và loại bỏ công việc lặp đi lặp lại. Bài toán nhận diện tuổi và giới tính thông qua khuôn mặt là một bài toán không mới trong lĩnh vực thị giác máy tính. Bài toán xuất hiện và được nghiên cứu từ khá lâu, nhưng tiến bộ lớn của lĩnh vực thị giác máy tính trong những năm gần đây, đặc biệt sau sự phát triển của học sâu (deep learning) và đặc biệt là mạng nơron tích chập (CNN) đã mang lại kết quả vượt trội so với các phương pháp cũ. Điều này mở ra khả năng phát triển, ứng dụng rộng rãi hơn cho bài toán vào cuộc sống và cùng là trọng tâm của bảo bán cáo này

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA: CÔNG NGHỆ THÔNG TIN - ĐỒ ÁN CHUYÊN NGÀNH NGÀNH: KHOA HỌC MÁY TÍNH ĐỀ TÀI: NHẬN DIỆN TUỔI VÀ GIỚI TÍNH QUA KHN MẶT SỬ DỤNG MẠNG NƠ-RON TÍCH CHẬP GVHD: TS Nguyễn Mạnh Cường Nhóm: Sinh viên: Đinh Minh Đại Hứa Như Duy Lớp: KHMT02 – K15 Hà Nội ─ Năm 2023 MỤC LỤC LỜI CẢM ƠN i LỜI NÓI ĐẦU ii DANH MỤC HÌNH VẼ iv DANH MỤC BẢNG BIỂU vi DANH MỤC TỪ NGỮ VIẾT TẮT vii CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN 1.1 Giới thiệu thị giác máy tính 1.2 Giới thiệu toán 1.2.1 Giới thiệu chung 1.2.2 Mô tả 1.2.3 Ứng dụng CHƯƠNG MỘT SỐ KỸ THUẬT HIỆN CÓ CHO BÀI TỐN NHẬN DẠNG GIỚI TÍNH VÀ TUỔI 2.1 Phương pháp học máy 2.1.1 Các kỹ thuật trích chọn đặc trưng 2.1.2 Các kỹ thuật phân lớp 12 2.1.3 Nhận xét 14 2.2 Phương pháp học sâu (CNN) 15 2.2.1 Nguồn gốc 16 2.2.2 Cấu trúc 16 2.2.3 Một số kiến trúc mạng CNN phổ biến 18 2.2.4 Ưu nhược điểm mạng CNN tốn nhận diện 22 2.3 Mơ hình đề xuất cho tốn 23 2.3.1 Sử dụng mạng Multi-label Resnet50V2 24 2.3.2 Mơ hình Multi-label CNN 24 2.3.3 Mơ hình CNN có hai output 26 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 27 3.1 Dữ liệu thực nghiệm 27 3.2 Chuẩn bị cho trình huấn luyện mơ hình 28 3.3 Kết huấn luyện 30 3.3.1 Kết mơ hình Multi-label Resnet50V2 30 3.3.2 Mơ hình CNN có hai output 32 3.3.3 Mơ hình CNN Multi-Label 35 3.4 Nhận xét chi tiết 37 CHƯƠNG SẢN PHẨM DEMO 39 4.1 Giới thiệu công cụ Tkinter 39 4.2 Phân tích thiết kế hệ thống 41 4.2.1 Biểu đồ use case 41 4.2.2 Mô tả chi tiết use case 41 4.3 Giao diện ứng dụng 43 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 i LỜI CẢM ƠN Trước đến với nội dung báo cáo này, nhóm em xin gửi lời cảm ơn đến thầy Nguyễn Mạnh Cường khoa cơng nghệ thơng tin hướng dẫn tận tình nhóm q trình hồn thành báo cáo Bên cạnh đó, nhóm gửi lời cảm ơn đến người giúp nhóm q trình tìm kiếm thông tin liên quan đến đề tài Trong trình làm chắn khó tránh khỏi thiếu sót Do đó, nhóm kính mong nhận lời góp ý thầy/cơ để báo cáo ngày hoàn thiện Xin chân thành cảm ơn! ii LỜI NĨI ĐẦU Thị giác máy tính trí tuệ nhân tạo hai lĩnh vực công nghệ trải qua biến đổi đột phá, đặc biệt thời kỳ số hóa mạnh mẽ phát triển khơng ngừng cơng nghệ thơng tin Sự hình thành hai lĩnh vực mở loạt hội thách thức thú vị, ảnh hưởng mạnh mẽ đến nhiều khía cạnh sống hàng ngày Tính đến nay, lĩnh vực thị giác máy tính tiến xa hết giải tác vụ, yêu cầu khác nhận diện người, nhận diện xe cộc, v.v Không dừng lại đó, cơng nghệ, kỹ thuật ngày hồn thiện nhằm cải tiến, giải yêu cầu tốn Việc tiếp tục phát triển cơng nghệ tạo hội đột phá việc cải thiện sống công việc, từ tăng cường an ninh cá nhân đến cải thiện quy trình sản xuất loại bỏ cơng việc lặp lặp lại Bài tốn nhận diện tuổi giới tính thơng qua khn mặt tốn khơng lĩnh vực thị giác máy tính Bài tốn xuất nghiên cứu từ lâu, tiến lớn lĩnh vực thị giác máy tính năm gần đây, đặc biệt sau phát triển học sâu (deep learning) đặc biệt mạng nơ-ron tích chập (CNN) mang lại kết vượt trội so với phương pháp cũ Điều mở khả phát triển, ứng dụng rộng rãi cho toán vào sống trọng tâm bảo bán cáo Với mong muốn giải toán với phương pháp mới, nhóm định lựa chọn đề tài “Nhận dạng giới tính tuổi thơng qua hình ảnh sử dụng mạng nơron tích chập” Mục tiêu chung đề tài nghiên cứu áp dụng phương pháp tiên tiến để cải thiện hiệu suất khả nhận dạng CNNs tốn nhận dạng hình ảnh Trong báo cáo gồm có chương, chương tập trung trình bày vấn đề cụ thể Nội dung chương là: iii - Chương 1: Tổng quan tốn nhận dạng giới tính tuổi Chương trình bày tóm tắt thị giác máy tính, giới thiệu chung tốn để có nhìn tổng quan - Chương 2: Một số kỹ thuật có cho tốn nhận dạng giới tính tuổi Chương trình bày phân tích ưu, nhược điểm số kỹ thuật áp dụng để giải tốn Ngồi ra, nội dung chương cịn kỹ thuật mạng nơ-ron tích chập, nêu lên nguyên lý áp dụng vào toán - Chương 3: Kết thực nghiệm Báo cáo kết thực nghiệm sử dụng kỹ thuật mạng nơ-ron tích chập cho tốn nhận diện tuổi giới tính - Chương 4: Sản phẩm demo Nội dung chương trình bày sẩn phẩm demo, công cụ để xây dựng sản phẩm, giao diện sản phẩm kết Hi vọng thông qua chương báo cáo này, nhóm làm rõ tốn nhận diện tuổi giới tính thơng qua gương mặt, số kỹ thuật để giải đặc biệt kỹ thuật mạng nơ-ron tích chập iv DANH MỤC HÌNH VẼ Hình ảnh 1.1 So sánh thị giác máy tính người Hình ảnh 1.2 Một số tác vụ thị giác máy tính Hình ảnh 1.3 Ví dụ thị giác máy tính chẩn đốn Hình ảnh 1.4 Ví dụ mơ hình CNN dùng vào toán Hình ảnh 2.1 Minh họa thuật tốn HOG 10 Hình ảnh 2.2 Minh họa LBP 11 Hình ảnh 2.3 Minh họa Eignfaces 12 Hình ảnh 2.4 Minh họa SVM 13 Hình ảnh 2.5 Minh họa KNN 14 Hình ảnh 2.6 Minh họa mơ hình CNN 17 Hình ảnh 2.7 Kiến trục mạng AlaxNet 19 Hình ảnh 2.8 Kiến trúc mạng VGG 20 Hình ảnh 2.9 Kiến trúc mạng ResNet 20 Hình ảnh 2.10 Kiến trúc Residual 21 Hình ảnh 2.11 Minh họa mơ hình Multi-label Resnet 24 Hình ảnh 2.12 Mơ hình CNN tham khảo 25 Hình ảnh 2.13 Minh họa mơ hình Multi-label CNN 26 Hình ảnh 2.14 Minh họa mơ hình CNN có hai output 26 Hình ảnh 3.1 Một vài mẫu liệu 27 Hình ảnh 3.2 Biểu đồ cột thể số mẫu theo giới tính 28 Hình ảnh 3.3 Biểu đồ cột thể số mẫu theo tuổi 28 Hình ảnh 3.4 Biểu đồ cột thể số mẫu theo khoảng tuổi 29 Hình ảnh 3.5 Kết loss trình huấn luyện Resnet 30 Hình ảnh 3.6 Kết accuracy trình huấn luyện mơ hình Resnet 31 Hình ảnh 3.7 Kết loss trình huấn luyện mơ hình CNN có hai output 32 v Hình ảnh 3.8 Kết accuracy cho thuộc tính giới tính trình huấn luyện mơ hình CNN có hai output 33 Hình ảnh 3.9 Kết accuracy cho thuộc tính khoảng tuổi q trình huấn luyện mơ hình CNN có hai output 34 Hình ảnh 3.10 Kết loss trình huấn luyện mơ hình Multi-label CNN 35 Hình ảnh 3.11 Kết accuracy q trình huấn luyện mơ hình Multilabel CNN 36 vi DANH MỤC BẢNG BIỂU Bảng 1-1 Kết vài mơ hình cho tốn Bảng 2-1 SVM cho phân loại tuổi cho liệu FG-Net UTD Database 14 Bảng 2-2 Đánh giá Confusion Matrix cho (HOG, LBP) + SVM 15 Bảng 3-1 Bảng kết accuracy cho mơ hình 37 Bảng 3-2 Bảng kết micro precision, recall, f1-score cho mơ hình tập test 37 Bảng 3-3 Bảng tham số mơ hình 38 vii DANH MỤC TỪ NGỮ VIẾT TẮT CNN Convolutional Neural Network LBP Local Binary Pixel HOG Histogram Of Gradients SVM Support Vector Machine GAP Global Average Pooling 34 Hình ảnh 3.9 Kết accuracy cho thuộc tính khoảng tuổi q trình huấn luyện mơ hình CNN có hai output Kết cho dự đốn khoảng tuổi mơ hình CNN có hai output có xu hướng tăng dao động mạnh Điều xuất fold q trình huấn luyện mơ hình 35 3.3.3 Mơ hình CNN Multi-Label Hình ảnh 3.10 Kết loss trình huấn luyện mơ hình Multi-label CNN 36 Hình ảnh 3.11 Kết accuracy q trình huấn luyện mơ hình Multi-label CNN Từ Hình 3.10 Hình 3.11, thấy mơ hình Multi-label CNN có xu hướng tăng ổn định sơ với mơ hình Multi-label Resnet 37 3.4 Nhận xét chi tiết Q trình đánh giá mơ hình dựa tiêu chí accuracy, precision, recall, f1-score số tham số mơ hình Đây tiêu chí đánh giá mơ hình so sánh mơ hình với Kết mơ hình tốt chọn để thực xây dựng sản phẩm demo Bảng 3-1 Bảng kết accuracy cho mơ hình Thuộc tính Mơ hình Độ xác giới tính (%) Độ xác khoảng tuổi (%) Training set Testing set Training set Testing set Multi-label Resnet 91.31 87.68 78.18 63.83 CNN output 97.63 91.05 74.00 72.43 Multi-label CNN 92.81 89.81 67.84 61.49 Dựa vào bảng 3-1, nhân thấy mơ hình thuộc multi-label có kết so với mơ hình multi-output Điều khơng q bất ngờ mơ hình multi-output có lớp Fully connected độc lập với nhau, làm cho kết bị ảnh hưởng giá trị đầu mơ hình Bảng 3-2 Bảng kết micro precision, recall, f1-score cho mơ hình tập test Giới tính (%) Thuộc tính Mơ hình Khoảng tuổi (%) Precision Recall F1-score Precision Recall F1-score Multi-label Resnet 87.68 87.68 87.68 63.83 63.83 63.83 CNN output 92.81 92.81 92.81 72.43 72.43 72.43 Multi-label CNN 89.81 89.81 89.81 61.49 61.49 61.49 Kết hợp với kết Bảng 3-1 Bảng 3-2, kết mơ hình CNN output trội so với mơ hình cịn lại Kết cho thuộc tính giới tính cao mơ hình cịn lại không nhiều kết khoảng lại tuổi trội so với mơ hình khác 38 Bảng 3-3 Bảng tham số mơ hình Mơ hình Số tham số Multi-label Resnet 24,619,966 CNN output 4,254,438 Multi-label CNN 4,123,366 Cuối cùng, dựa vào Bảng 3-3, việc lựa chọn mơ hình CNN output lựa chọn hợp lý Kết mơ hình CNN output cao so với mơ hình cịn lại đặc biệt kết khoảng tuổi Ngoài ra, số tham số mơ hình nhiều so với mơ hình Multi-label Resnet khơng cao nhiều so với mơ hình Multi-label CNN 39 CHƯƠNG SẢN PHẨM DEMO 4.1 Giới thiệu công cụ Tkinter Tkinter thư viện tích hợp sẵn Python, chuyên dành cho việc phát triển giao diện người dùng đồ họa (GUI) Được xây dựng tảng toolkit đồ họa Tk, Tkinter cung cấp cách đơn giản hiệu để tạo ứng dụng có giao diện đồ họa trực quan dễ sử dụng Dù phát hành vào nhiều năm trước, tkinter sớm trở nên tiếng nhờ điểm mạnh mình: • Dễ học sử dụng: Tkinter biết đến với cú pháp đơn giản dễ học, làm cho lựa chọn lý tưởng cho người bắt đầu với lập trình GUI Python • Tích hợp sẵn python: Tkinter phần thư viện tiêu chuẩn Python, không yêu cầu cài đặt bổ sung Điều giúp giảm độ phức tạp giữ cho mã nguồn chạy nhiều tảng mà khơng cần thay đổi • Đa dạng xây dựng giao diện: Tkinter hỗ trợ nhiều loại widget nút, ô văn bản, hộp thoại, menu, nhiều widget khác, cho phép bạn xây dựng giao diện người dùng phong phú đa dạng • Tương thích đa tảng: Ứng dụng sử dụng Tkinter chạy nhiều hệ điều hành khác mà khơng cần sửa đổi mã nguồn, tăng tính tương thích di động Lợi ích việc sử dụng Tkinter python: • Phát triển nhanh chóng: Tkinter giúp người phát triển nhanh chóng xây dựng giao diện người dùng mà khơng cần nhiều đoạn mã phức tạp • Phù hợp cho ứng dụng nhỏ trung bình: Đối với ứng dụng nhỏ trung bình, Tkinter cung cấp giải pháp hiệu đủ mạnh mẽ để tạo giao diện người dùng thân thiện 40 • Cộng đồng lớn tài nguyên phong phú: Tkinter có hỗ trợ từ cộng đồng lớn người phát triển Python, điều có nghĩa có nhiều tài liệu, ví dụ hỗ trợ trực tuyến • Sự kết hợp với python: Tkinter tích hợp tốt với Python, cho phép bạn kết hợp lập trình hàm lập trình hướng đối tượng cách linh hoạt • Ứng dụng phổ quát: Tkinter thích hợp cho nhiều loại ứng dụng, từ ứng dụng desktop đơn giản đến ứng dụng quản lý dự án công cụ biểu đồ Các bước xây dựng phần mềm nhận diện giới tính tuổi qua khn mặt Đầu tiên, cài đặt thư viện Tkinter lệnh pip install tkinter import tkinter Tạo cửa sổ ứng dụng GUI bao gồm nút chức giao diện tương tích Tạo hình tương ứng với chức để thực chức cụ thể Gọi hình để liên kết với chức hình để tạo thành ứng dụng hoàn chỉnh 41 4.2 Phân tích thiết kế hệ thống 4.2.1 Biểu đồ use case 4.2.1.1 Biểu đồ use case tổng quát Hình 4.1: Biểu đồ use case tổng quát 4.2.1.2 Phân rã use case xem kết chuẩn đốn Hình 4.2: Phân rã use case Xem kết chẩn đốn 4.2.2 Mơ tả chi tiết use case 4.2.2.1 Mô tả use case Nhận dạng qua hình ảnh Tên use case: Nhận dạng qua hình ảnh Mơ tả tóm tắt: Use case cho phép người dùng nhận dạng tuổi giới tính khn mặt hình ảnh 42 Luồng kiện - Luồng bản: Người dùng nhấp chọn nút “Chọn ảnh” “Chụp ảnh từ camera” giao diện trang chủ để thực nhận dạng: 1.1 Người dùng nhấp chọn nút “Chọn ảnh” giao diện trang chủ, hệ thống truy cập tới sưu tập ảnh thiết bị người dùng 1.1.1 Trường hợp người dùng không chọn ảnh bấm nút cancel từ sưu tập ảnh hệ thống, ứng dụng tự động quay giao diện trang chủ 1.1.2 Trường hợp người dùng chọn ảnh từ sưu tập ảnh hệ thống, ảnh chọn hiển thị hình 1.2 Người dùng nhấp chọn nút “Chọn ảnh từ camera” trang chủ, hệ thống tới máy ảnh thiết bị người dùng: 1.2.1 Trường hợp người dùng bấm nút cancel từ máy ảnh hệ thống, ứng dụng tự động quay giao diện trang chủ 1.2.2 Trường hợp người dùng không nhấn nút cancel, ảnh giữ lại cho việc nhận dạng Sau tiến hành nhận diện tuổi khuôn mặt từ ảnh người dùng chọn, hệ thống trả kết cho người dùng ảnh người dùng chọn camera người dùng - Luồng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng chọn hình ảnh Hậu điều kiện: Khơng có Các điểm mở rộng: Khơng có 43 4.2.2.2 Mơ tả use case Nhận dạng qua video Tên use case: Nhận dạng qua video Mơ tả tóm tắt: Use case cho phép người dùng nhận dạng tuổi giới tính khn mặt qua video theo thời gian thực Luồng kiện - Luồng bản: Người dùng nhấp chọn nút “Chọn video” giao diện trang chủ để thực nhận dạng: 1.1 Người dùng nhấp chọn nút “Chọn video ” giao diện trang chủ, hệ thống truy cập tới sưu tập video thiết bị người dùng 1.1.1 Trường hợp người dùng không chọn video bấm nút cancel từ sưu tập video hệ thống, ứng dụng tự động quay giao diện trang chủ 1.1.2 Trường hợp người dùng chọn video từ sưu tập video hệ thống, vidoe chọn hiển thị hình Sau video hiển thị lên, hệ thống tự động lựa chọn khuôn mặt tự nhận diện tuổi giới tính theo thời gian thực hình video - Luồng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng chọn video Hậu điều kiện: Khơng có Các điểm mở rộng: Khơng có 4.3 Giao diện ứng dụng Giao diện ứng dụng thiết kế đơn giản hợp với ứng dụng nhỏ có chức Chi tiết giao diện trình bày đây: 44 Hình 4.3: Giao diện chức ứng dụng Các chức hệ thống nhận dạng tuổi giới tính người qua ảnh chụp ảnh sưu tập, qua video đặt trang chủ để thuận tiện cho người sử dụng Ngồi phía cuối trang chủ sẽ nút Thoát, giúp người dùng dễ dàng rời khỏi ứng dụng khơng sử dụng 45 Hình 4.4: Giao diện hình ảnh sau nhận diện Từ hình ảnh chọn từ sưu tập từ camera người sử dụng dễ dàng nhận dạng tuổi giới tính người ảnh dễ dàng theo khoảng tuổi định sẵn từ trước Từ đó, người sử dụng lưu ảnh sau nhận dạng thiết bị cá nhân mình, để theo dõi xem lại dễ dàng người dùng Hủy để thực chức khác khơng muốn lưu lại 46 Hình 4.5: Giao diện video sau nhận diện Từ video chọn từ sưu tập người sử dụng dễ dàng nhận dạng tuổi giới tính người video dễ dàng theo khoảng tuổi định sẵn từ trước Người dùng Hủy để thực chức khác 47 KẾT LUẬN Trong trình thực dự án nhận dạng tuổi khn mặt sử dụng mạng CNN, nhóm đạt số kết quan trọng Đầu tiên, nhóm triển khai số mơ hình CNN để nhận dạng đặc điểm khuôn mặt phân loại tuổi người dùng Việc có nhiều mơ hình hình giúp cho việc đánh giá trở nên khách quan Kết mang lại cho thấy mơ hình multi-output có kết vượt trội so với mơ hình có đầu multi-label Đối với thuộc tính giới tính, kết mang khả quan mô hình mà nhóm thử nghiệm Khác với thuộc tính giới tính, thuộc tính tuổi có kết chưa thực tốt, kế tốt đạt 72% Tuy nhiên, trình thực đối mặt với số thách thức Việc thu thập liệu chất lượng cao đảm bảo tính đa dạng liệu q trình địi hỏi quan tâm đặc biệt Ngoài ra, việc nhận dạng tuổi, yếu tố biến đổi khuôn mặt theo thời gian ảnh hưởng yếu tố ngoại cảnh tạo thách thức độ xác mơ hình Trong tương lai, để thu kết tốt hơn, nhóm đề xuất sử dụng thêm liệu để huấn luyện mơ hình, tăng độ phức tạp mơ hình Ngồi ra, sử dụng thêm kỹ thuật, phương pháp tiếp cận khác cho toán sử dụng chế Attention, v.v 48 TÀI LIỆU THAM KHẢO [1] Olatunbosun Agbo-Ajala and Serestina Viriri, "Face-Based Age and Gender Classification," 2019 [2] Min Lin, Qiang Chen, Shuicheng Yan, "Network In Network," 2014 [3] Tariq KHALIFA, Gokhan SENGUL, "The Integrated Usage of LBP and HOG Transformations and Machine Learning Algorithms," p 1360 [4] Zhang, Aston and Lipton, Zachary C and Li, Mu and Smola, Alexander J., "Dive into Deep Learning," 2021

Ngày đăng: 12/01/2024, 21:02

Tài liệu cùng người dùng

Tài liệu liên quan