Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,53 MB
Nội dung
BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THƠNG QUA ẢNH KHUÔN MẶT Sinh viên thực : Lê Quốc Dũng – 18IT130 Đặng Ngọc Châu – 18IT124 Giảng viên Lớp : ThS.Nguyễn Quang Vũ : 18IT3 Đà nẵng, tháng năm 2021 LỜI MỞ ĐẦU - Lời em xin chân thành cảm ơn đến thầy Nguyễn Quang Vũ giúp em nhiều trình thực đồ án Trong trình thực đồ án, giúp đỡ tận tình thầy em thu nhiều kiến thức quý báu giúp em nhiều trình học làm việc tương lai - Trong q trình thực đồ án khơng tránh khỏi số sai sót Mong nhận góp ý thầy để hồn thiện - Một lần em xin chân thành cảm ơn giúp đỡ thầy trình thực đồ án để em hoàn thành đồ án NHẬN XÉT (Của giảng viên hướng dẫn) Chữ ký giáo viên hướng dẫn MỤC LỤC Chương GIỚI THIỆU 1.1 Tổng Quan 1.1.1 Mở đầu .6 1.1.2 Mục tiêu đồ án 1.1.3 Đối tượng nghiên cứu .7 1.1.4 Phạm vi nghiên cứu 1.2 Phương pháp – kết 1.2.1 Phương pháp 1.2.2 Kết 1.3 Cấu Trúc đồ án Chương CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Deep Learning toán nhận diện khn mặt thị giác máy tính 2.1.1 Tổng quan Deep Learning 2.1.2 Bài tốn nhận dạng khn mặt thị giác máy tính 15 2.2 Giới thiệu Convolutional Neural Network 17 2.2.1 Tổng quan .17 2.2.2 Kiến trúc CNN 18 2.3 Tổng quan Machine Learning 19 2.3.1 Machine Learning ? .19 2.3.2 Một vài ứng dụng Machine Learning 19 2.4 Thư viện Keras .20 2.5 Thư viện FaceNet 21 2.6 Thư viện Sklearn 22 Chương XÂY DỰNG ỨNG DỤNG 25 3.1 Yêu cầu hệ thống 25 3.1.1 Phần cứng 25 3.1.2 Môi trường thực .25 3.2 Các bước thực 25 3.2.1 Chuẩn bị liệu 25 3.2.2 Cài đặt thư viện Multi Task Convolutional Neural Network để trích xuất khn mặt 25 3.2.3 Cài đặt số thư viện khác 26 3.2.4 Liên kết Googgle Collab Google Drive 26 3.2.5 Phân chia train test 27 3.2.6 Face Embedding 27 3.2.7 Kiểm tra độ xác 28 3.2.8 Viết hàm dự đoán 28 3.2.9 Test kết 29 Chương KẾT LUẬN 30 4.1 Kết 30 4.2 Ưu điểm - nhược điểm 30 4.3 Hướng phát triển 31 DANH MỤC HÌNH ẢNH Hình 1.Deep Learning ? 10 Hình 2.Cách thức hoạt động Deep Learning .11 Hình 3.Các thuật ngữ Deep Learning 12 Hình 4.Ứng dụng Deep Learning .15 Hình 5.Hệ thống nhận diện khn mặt 16 Hình 6.Kiến trúc CNN nhận diện hành động người 18 Hình 7.FaceNet lấy hình ảnh khn mặt làm đầu vào xuất vector embedding .21 Hình 8.Kết chương trình 29 Chương GIỚI THIỆU 1.1 Tổng Quan 1.1.1 Mở đầu Hiện nay, với phát triển xã hội, vấn đề an ninh bảo mật yêu cầu khắt khe quốc gia giới Các hệ thống nhận dạng người đời với độ tin cậy ngày cao Một toán nhận dạng người quan tâm nhận dạng khn mặt Vì nhận dạng khuôn mặt cách mà người sử dụng để phân biệt Bên cạnh đó, ngày việc thu thập, xử lý thông tin qua ảnh để nhận biết đối tượng quan tâm ứng dụng rộng rãi Với phương pháp này, thu nhận nhiều thông tin từ đối tượng mà không cần tác động nhiều đến đối tượng nghiên cứu Sự phát triển khoa học máy tính tạo mơi trường thuận lợi cho toán nhận dạng mặt người từ ảnh số Các hệ thống nhận dạng offline đời có độ tin cậy cao, nhiên hệ thống nhận dạng online lại chưa đáp ứng nhiều Trong khuôn khổ đồ án này, chúng em tiếp tục giải toán nhận dạng offline Trong đối tượng thu thập thành file liệu chuyển trung tâm Tại đó, số liệu phân tích xử lý Trong phần đầu, chúng em giải toán nhận dạng thông thường, phần hai phần nhận dạng giới tính 1.1.2 Mục tiêu đồ án Sử dụng thư viện Multi Task Convolutional Neural Network để trích xuất khuôn mặt từ ảnh đầu vào cho trước sau sử dụng pre-trained model FaceNet để giảm chiều liệu vector biểu diễn khuôn mặt trở thành vector 128 chiều áp dụng thuật toán Machine Learning để huấn luyện model sau lựa chọn model tốt Input: Ảnh chụp mặt người Output: Giới tính người 1.1.3 Đối tượng nghiên cứu - Ngơn ngữ Python - Tìm hiểu Machine Learning Deep Learning - Các thuật toán nhận diện - Nghiên cứu thư viện Multi Taks Convolutional Neural Network FaceNet 1.1.4 Phạm vi nghiên cứu - Xây dựng chương trình nhận dạng giới tính người sử dụng Machine Learning - Ứng dụng đề tài phục vụ cho việc nghiên cứu nhiều lĩnh vực 1.2 Phương pháp – kết 1.2.1 Phương pháp *Phương pháp chủ đạo - Phương pháp nghiên cứu lý thuyết: + Tìm hiểu tổng quan Machine Learning toán nhận diện khn mặt thị giác máy tính - + Tìm hiểu thư viện Multi Taks Convolutional Neural Network FaceNet + Tìm hiểu thư viện Keras số thư viện khác - Phương pháp nghiên cứu thực nghiệm: + Tiến hành phân tích cài đặt Python + Tiến hành training data cho máy học 1.2.2 Kết - Tạo chương trình nhận dạng giới tính thơng qua ảnh có sẵn thực hệ điều hành Window 1.3 Cấu Trúc đồ án Nội dung chuyên đề chia thành phần sau: Chương 1: Giới thiệu: Chương trình bày cách tổng quan mục tiêu, đối tượng phạm vi nghiên cứu, hướng tiếp cận để giải tốn nhận dạng kết dự tính Chương 2: Cơ sở lý thuyết: Tìm hiểu phương pháp máy học tìm hiểu thư viện, ứng dụng Machine Learning tốn nhận diện khn mặt Chương 3: Xây dựng ứng dụng: Trên sở thư viện mã nguồn mở xây dựng chương trình nhận diện giới tính người qua ảnh có sẵn, với phân tích chương trình Chương 4: Kết luận hướng phát triển: Đánh giá kết hướng phát triển nghiên cứu Chương CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Deep Learning tốn nhận diện khn mặt thị giác máy tính 2.1.1 Tổng quan Deep Learning 2.1.1.1 Deep Learning gì? Deep Learning tập hợp Trí tuệ nhân tạo – kỹ thuật học máy dạy cho máy tính thiết bị hoạt động cách logic Tại lại đặt tên Deep Learning? Bởi thực tế liên quan đến việc sâu vào số lớp mạng, bao gồm lớp ẩn Bạn học sâu, bạn trích xuất thơng tin phức tạp Phương pháp Deep learning dựa vào chương trình phức tạp khác để bắt chước trí thơng minh người Phương pháp đặc biệt dạy cho máy móc nhận biết họa tiết để phân loại chúng thành loại khác Nhận dạng mẫu phần thiết yếu Deep learning nhờ Machine learning, máy tính chí khơng cần phụ thuộc vào lập trình mở rộng Thơng qua Deep learning, máy móc sử dụng tệp hình ảnh, văn âm để xác định thực tác vụ theo cách giống người 2.2.2 Kiến trúc CNN CNN gồm số lớp chập lớp lấy mẫu tùy chọn, lớp | kết nối Đầu vào cho lớp chập hình ảnh m m , với m chiều cao chiều rộng hình ảnh r số kênh (ví dụ ảnh RGB cố y=3) Lớp chập có k lọc có kích thước n < n < 4, n nhỏ kích thước hình ảnh q nhỏ số kênh r Kích thước lọc tăng đến cấu trúc kết cục bộ, lọc xoắn với hình ảnh để tạo k đồ đặc trưng có kích thước m – n + 1, Mỗi đồ lấy mẫu đặc trưng với việc hợp trung bình lớn x khu vực lân cận, phạm vi p (cho hình ảnh nhỏ) (chỉ đầu vào lớn hơn) Trước sau lấy mẫu con, bias bổ sung xích ma phi tuyến áp dụng cho đồ đặc trung Hình 6.Kiến trúc CNN nhận diện hành động người Chập hình ảnh đầu vào với lọc huấn luyện khác bias bổ sung, nhiều đồ đặc trưng tạo lớp C1 Mỗi đồ đặc trưng S2 thu thao tác tổng hợp đồ đặc trưng tương ứng lớp C1 Chập tổng hợp cực đại lớp C3 S4 giống lớp C1 S2 Trong bước nhận diện cuối cùng, đặc trưng thu sau tổng hợp cực đại lớp S4 mã hóa thành vector chiều 18 2.3 Tổng quan Machine Learning 2.3.1 Machine Learning ? Machine Learning thuật ngữ rộng để hành động bạn dạy máy tính cải thiện nhiệm vụ mà thực Cụ thể hơn, machine learning đề cập tới hệ thống mà hiệu suất máy tính thực nhiệm vụ trở nên tốt sau hồn thành nhiệm vụ nhiều lần Hay nói cách khác, khả machine learning sử dụng thuật tốn để phân tích thơng tin có sẵn, học hỏi từ đưa định dự đoán thứ có liên quan Thay tạo phần mềm với hành động, hướng dẫn chi tiết để thực nhiệm vụ cụ thể, máy tính “huấn luyện” cách sử dụng lượng liệu thuật toán để học cách thực nhiệm vụ Có loại Máy học bao gồm học có giám sát (supervised learning) học khơng giám sát (unsupervised learning) - Học có giám sát - đó, thuật toán tạo hàm ánh xạ liệu vào tới kết mong muốn Một phát biểu chuẩn việc học có giám sát tốn phân loại: chương trình cần học (cách xấp xỉ biểu của) hàm ánh xạ vector tới vài lớp cách xem xét số mẫu liệu – kết hàm - Học khơng giám sát - mơ hình hóa tập liệu, khơng có sẵn ví dụ gắn nhãn 2.3.2 Một vài ứng dụng Machine Learning - Cảnh báo giao thơng: Giờ đây, Google Maps có lẽ ứng dụng sử dụng với tần suất nhiều bạn tham gia giao thông Đặc biệt ứng dụng khác di chuyển Grab, Be áp dụng rộng rãi, đồng nghĩa Google Maps sử dụng liên tục để đường cho nhà cung cấp dịch vụ hay người sử dụng dịch vụ Những thông tin quãng đường tối ưu, thời gian di chuyển nhanh phân tích lúc Google Maps Dữ liệu lịch sử tuyến đường thu thập theo thời gian số liệu có từ nguồn khác Mọi người sử dụng đồ cung cấp vị trí, tốc độ trung bình, tuyến đường Những thơng tin Google thu thập tổng hợp thành Dữ liệu lớn lưu lượng truy cập, 19 thơng qua thuật tốn phân tích phức tap Machine Learning, thơng tin trở nên có nghĩa, chúng giúp Google dự đốn lưu lượng tới điều chỉnh tuyến đường bạn theo cách tối ưu - Mạng xã hội Facebook: Một ứng dụng phổ biến Machine Learning Đề xuất gắn thẻ bạn bè tự động Facebook tảng truyền thông xã hội khác Facebook sử dụng tính nhận diện khn mặt nhận dạng hình ảnh để tự động tìm thấy khn mặt người phù hợp với Cơ sở liệu họ đề nghị người dùng gắn thẻ người dựa DeepFace - Trợ lý cá nhân ảo:Trợ lý cá nhân ảo hỗ trợ tìm kiếm thơng tin hữu ích, u cầu qua văn giọng nói Một số ứng dụng Machine Learning là: Nhận dạng giọng nói Chuyển đổi lời nói thành văn Xử lý ngôn ngữ tự nhiên Chuyển đổi văn thành giọng nói Tất bạn cần làm hỏi câu hỏi đơn giản Lịch trình tơi vào ngày mai gì? chuyến bay có sẵn tới cho chuyến công tác Để trả lời, trợ lý cá nhân bạn tìm kiếm thơng tin nhớ lại truy vấn liên quan bạn để thu thập thông tin - Phát gian lận: Phát gian lận tính quan trọng Machine Learning Bất khách hàng thực giao dịch – mơ hình máy học chụp kỹ lưỡng hồ sơ họ để tìm kiếm mẫu đáng ngờ Trong Machine Learning, tính phát gian lận thường coi loại phân loại hoạt động 2.4 Thư viện Keras Keras thư viện nơ-ron mã nguồn mở viết ngơn ngữ lập trình Python Nó có khả chạy đầu trang Tensorflow, Microsoft Cognitive Toolkit, R, Theano StripeML Được thiết kế phép thử nghiệm nhanh với mạng thần kinh sâu, tập trung vào việc thân thiện với người dùng, mô-đun mở rộng 20 Keras coi thư viện ‘high-level’ với phần ‘low-level’ (cịn gọi backend) TensorFlow, CNTK, Theano (sắp tới Theano không trì nâng cấp nữa) Keras có cú pháp đơn giản TensorFlow nhiều Với mục đích giới thiệu mơ hình nhiều sử dụng thư viện deep learning, chọn Keras với TensorFlow ‘backend’ Một số tính Keras: - Keras ưu tiên trải nghiệm người lập trình - Keras sử dụng rộng rãi doanh nghiệp cộng đồng nghiên cứu - Keras giúp dễ dàng biến thiết kế thành sản phẩm - Keras hỗ trợ huấn luyện nhiều GPU phân tán - Keras hỗ trợ đa backend engines không giới hạn bạn vào hệ sinh thái 2.5 Thư viện FaceNet FaceNet mạng lưới thần kinh sâu sử dụng để trích xuất tính từ hình ảnh người mặt Nó xuất vào năm 2015 nhà nghiên cứu Google Hình 7.FaceNet lấy hình ảnh khn mặt làm đầu vào xuất vector embedding FaceNet lấy hình ảnh mặt người làm đầu vào xuất vector 128 chiều, đại diện cho tính quan trọng khuôn mặt Trong học máy, vector 21 gọi nhúng (embeddings) Tại phải nhúng? Bởi tất thơng tin quan trọng từ hình ảnh nhúng vào vector Về bản, FaceNet lấy mặt người nén thành vector gồm 128 số Khn mặt cần định danh có nhúng tương tự Facenet dạng siam network có tác dụng biểu diễn ảnh không gian eucledean n chiều (thường 128) cho khoảng cách vector embedding nhỏ, mức độ tương đồng chúng lớn Hầu hết thuật toán nhận diện khn mặt trước facenet tìm cách biểu diễn khuôn mặt vector nhúng (embedding) thông qua layer bottle neck có tác dụng giảm chiều liệu: - Tuy nhiên hạn chế thuật toán số lượng chiều embedding tương đối lớn (thường >= 1000) ảnh hưởng tới tốc độ thuật toán Thường phải áp dụng thêm thuật toán PCA để giảm chiều liệu để giảm tốc độ tính tốn - Hàm loss function đo lường khoảng cách ảnh Như đầu vào huấn luyện học hai khả giống chúng class khác chúng khác class mà không học lúc giống khác lượt huấn luyện Facenet giải vấn đề hiệu chỉnh nhỏ mang lại hiệu lớn: - Base network áp dụng mạng convolutional neural network giảm chiều liệu xuống cịn 128 chiều Do q trình suy diễn dự báo nhanh đồng thời độ xác đảm bảo - Sử dụng loss function hàm triplet loss có khả học đồng thời giống ảnh nhóm phân biệt ảnh khơng nhóm Do hiệu nhiều so với phương pháp trước 2.6 Thư viện Sklearn Scikit-learn (Sklearn) thư viện mạnh mẽ dành cho thuật tốn học máy viết ngơn ngữ Python Thư viện cung cấp tập công cụ xử lý 22 toán machine learning statistical modeling gồm: classification, regression, clustering, dimensionality reduction Thư viện tích hợp nhiều thuật tốn đại cố điển giúp bạn vừa học vừa tiến hành đưa giải pháp hữu ích cho tốn bạn cách đơn giản Thư viện cấp phép quyền chuẩn FreeBSD chạy nhiều tảng Linux Scikit-learn sử dụng tài liệu để học tập Để cài đặt scikit-learn trước tiên phải cài thư viện SciPy (Scientific Python) Những thành phần gồm: - Numpy: Gói thư viện xử lý dãy số ma trận nhiều chiều - SciPy: Gói hàm tính toán logic khoa học - Matplotlib: Biểu diễn liệu dạng đồ thị chiều, chiều - IPython: Notebook dùng để tương tác trực quan với Python - SymPy: Gói thư viện kí tự tốn học - Pandas: Xử lý, phân tích liệu dạng bảng Thư viện tập trung vào việc mơ hình hóa liệu Nó khơng tập trung vào việc truyền tải liệu, biến đổi hay tổng hợp liệu Sau số nhóm thuật tốn xây dựng thư viện scikit-learn: - Clustering: Nhóm thuật tốn Phân cụm liệu khơng gán nhãn Ví dụ thuật tốn KMeans - Cross Validation: Kiểm thử chéo, đánh giá độ hiệu thuật toán học giám sát sử dụng liệu kiểm thử (validation data) trình huấn luyện mơ hình - Datasets: Gồm nhóm Bộ liệu tích hợp sẵn thư viện Hầu liệu chuẩn hóa mang lại hiêu suất cao trình huấn luyện iris, digit, - Dimensionality Reduction: Mục đích thuật tốn để Giảm số lượng thuộc tính quan trọng liệu phương pháp tổng hợp, biểu diễn liệu lựa chọn đặc trưng Ví dụ thuật tốn PCA (Principal component analysis) 23 - Ensemble methods: Các Phương pháp tập hợp sử dụng nhiều thuật tốn học tập để có hiệu suất dự đoán tốt so với thuật toán học cấu thành - Feature extraction: Trích xuất đặc trưng Mục đích để định nghĩa thuộc tình với liệu hình ảnh liệu ngơn ngữ - Feature selection: Trích chọn đặc trưng Lựa chọn đặc trưng có ý nghĩa việc huấn luyện mơ hình học giám sát - Parameter Tuning: Tinh chỉnh tham số Các thuật toán phục vụ việc lựa chọn tham số phù hợp để tối ưu hóa mơ hình - Manifold Learning: Các thuật tốn học tổng hợp Phân tích liệu đa chiều phức tạp - Supervised Models: Học giám sát Mảng lớn thuật toán học máy Ví dụ linear models, discriminate analysis, naive bayes, lazy methods, neural networks, support vector machines decision trees 24 Chương XÂY DỰNG ỨNG DỤNG 3.1 Yêu cầu hệ thống 3.1.1 Phần cứng - RAM GB - CPU Intel Core i5 - Ổ cứng SSD 3.1.2 Môi trường thực - Ngôn ngữ Python - Thư viện Multi Task Convolutional Neural Network FaceNet - Hệ điều hành: Window 10 3.2 Các bước thực 3.2.1 Chuẩn bị liệu Dữ liệu gồm 2200 ảnh từ liệu CelebA UTK Faces gồm 919 nam 1281 nữ Vì liệu Celeb chủ yếu khuôn mặt người tiếng nên model đưa tốt chưa có độ xác cao khn mặt người già trẻ em nên bổ sung thêm 200 ảnh từ UTK Faces Phân chia liệu: Trainingset: 80% Testset: 20% 3.2.2 Cài đặt thư viện Multi Task Convolutional Neural Network để trích xuất khn mặt 25 3.2.3 Cài đặt số thư viện khác Image : Đọc file ảnh Savez_compressed: Để lưu lại mảng chuyển đổi từ ảnh khn mặt q trình trích xuất khn mặt vector embedding sử dụng deep learning nên thời gian thực thi lâu Tiết kiệm thời gian cho lần sử dụng sau Asarray: chuyển ảnh pixels Expand_dims: mở rộng chiều cho tương ứng đầu vào model facenet 3.2.4 Liên kết Googgle Collab Google Drive Lấy toàn liệu huấn luyện, liệu nén 26 3.2.5 Phân chia train test Phân chia train test để trích xuất khn mặt train_test_split sklearn hỗ trợ theo tỉ lệ train 80% test 20% 3.2.6 Face Embedding Chuyển đổi tử ảnh sang vector số thực 27 3.2.7 Kiểm tra độ xác Sử dụng hàm cross_val_score sklearn hỗ trợ để đánh giá 3.2.8 Viết hàm dự đoán 28 3.2.9 Test kết Dưới kết vài dự đốn xác model Hình 8.Kết chương trình 29 Chương KẾT LUẬN 4.1 Kết Với kết thu chương trình nhận giới tính nam hay nữ cung cấp ảnh, sử dụng để ứng dụng vào nhiều vấn đề thực tế nhận diện khuôn mặt 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… 4.2 Ưu điểm - nhược điểm Ưu điểm: - Chương trình nhận diện xác cung cấp ảnh chất lượng tốt rõ nét, chân dung,… - Chương trình nhận diện nam giả nữ ngược lại chất lượng ảnh tốt - Nhận diện đa số lứa tuổi - Nhanh chóng, thuận tiện, cần ảnh có sẵn Nhược điểm: - Vẫn cịn có trường hợp dự đốn giới tính sai chất lượng ảnh thấp ảnh bị mờ nhiều chỗ khuất - Chương trình có khả dự đoán sai vài trường hợp như: độ tuổi người cung cấp nhỏ để phân biệt, người ảnh trang điểm ăn mặc đậm khác dẫn đến kết dự đoán bị sai - Tuy nhiên sai sót bỏ qua tốn nhận dạng giới tính thường dùng để áp dụng cho vấn đề quản lí nhân sự, xu hướng khách hàng,… độ tuổi trẻ em thực chưa có tác động nhiều vấn đề - Xử lý hình ảnh sử dụng Deep Learning để huấn luyện sâu, cần có thiết bị có phần cứng có khả xử lý tính tốn cao để áp dụng cho lượng liệu khổng lồ - Dữ liệu nhận diện cịn ít, thiếu đa dạng 30 4.3 Hướng phát triển Có nhiều hướng phát triển cho chương trình này, phát triển mặt ứng dụng mặt thuật toán (để cải thiện hiệu phát giới tính) Có thể xây dựng ứng dụng hoàn chỉnh để dễ sử dụng Có thể loại bỏ hình ảnh trẻ em liệu để thay đổi cách học model tốn khn mặt trẻ em xem liệu nhiễu Bổ sung thêm liệu để giải tỉ lệ chương trình dự đốn sai giới tính Ngồi phát triển chương trình theo hướng nhận dạng khn mặt, xây dựng hệ thống để học đặc trưng người cần nhận dạng Khi thực hiện, ta đưa qua ảnh qua chương trình phát mặt người để phát nhanh khn mặt có ảnh, sau so sách khn mặt với khn mặt mà chương trình “học” từ trước, so sánh đặc trưng hai khuôn mặt, trùng đưa thơng tin khn mặt nhận dạng 31 TÀI LIỆU THAM KHẢO 1.Mơ hình facenet facerecognition, Nguồn:https://phamdinhkhanh.github.io/2020/03/12/faceNetAlgorithm.html How to Develop a Face Recognition System Using FaceNet in Keras Nguồn:https://machinelearningmastery.com/how-to-develop-a-face-recognition-systemusing-facenet-in-keras-and-an-svmclassifier/? fbclid=IwAR1FR0AyggXeHSJnQPy81oPxFHmvhkams0OPRNNIqFHrmPvGg45r3TS4ZY 3.Tài liệu thư viện MTCNN Nguồn:https://github.com/ipazc/mtcnn Xây dựng hệ thống nhận dạng giới tính Nguồn:http://fit.vimaru.edu.vn/sites/default/files/filedinhkem/towards_building_an_auto matic_gender_classification_system_using_lpq.pdf Tìm hiểu MTCNN áp dụng để xác định vị trí khn mặt Nguồn:https://viblo.asia/p/tim-hieu-mtcnn-va-ap-dung-de-xac-dinh-vi-tri-cac-khuon-mat3Q75wkO75Wb 32