3.2.1 Chuẩn bị dữ liệu
Dữ liệu gồm 2200 bức ảnh từ 2 bộ dữ liệu là CelebA và UTK Faces gồm 919 nam và 1281 nữ.
Vì bộ dữ liệu Celeb chủ yếu là khuôn mặt của người nổi tiếng nên model đưa ra tuy là khá tốt nhưng chưa có độ chính xác cao trên khuôn mặt người già và trẻ em nên bổ sung thêm 200 ảnh từ UTK Faces.
Phân chia bộ dữ liệu: Trainingset: 80% và Testset: 20%
3.2.2 Cài đặt thư viện Multi Task Convolutional Neural Network để trích xuất khuôn mặt
3.2.3 Cài đặt một số thư viện khác.
Image : Đọc file ảnh.
Savez_compressed: Để lưu lại các mảng đã chuyển đổi từ ảnh khuôn mặt vì quá trình trích xuất khuôn mặt và vector embedding sử dụng deep learning nên thời gian thực thi rất lâu Tiết kiệm thời gian cho lần sử dụng sau.
Asarray: chuyển ảnh về pixels.
Expand_dims: mở rộng chiều cho tương ứng đầu vào của model facenet.
3.2.4 Liên kết Googgle Collab và Google Drive
Lấy toàn bộ dữ liệu huấn luyện, dữ liệu nén
3.2.5 Phân chia bộ train và bộ test
Phân chia bộ train và bộ test để trích xuất khuôn mặt bằng train_test_split do sklearn hỗ trợ theo tỉ lệ train 80% và test 20%
3.2.6 Face Embedding
Chuyển đổi tử ảnh sang vector số thực
3.2.7 Kiểm tra độ chính xác
Sử dụng hàm cross_val_score do sklearn hỗ trợ để đánh giá
3.2.8 Viết hàm dự đoán
3.2.9 Test kết quả
Dưới đây là kết một vài quả dự đoán chính xác của model.
Hình 8.Kết quả chương trình
Chương 4 KẾT LUẬN
4.1 Kết quả.
Với kết quả thu được là chương trình nhận giới tính là nam hay nữ khi được cung cấp ảnh, có thể được sử dụng để ứng dụng vào nhiều vấn đề thực tế như nhận diện khuôn mặt ở các cửa hàng tiện lợi, mở khóa điện thoại, nhận diện học sinh, quản lí nhân sự, xu hướng khách hàng…