Nhận dạng khuôn mặt opencv-python github
Hello xin chào các anh em Mì AI Blog, sau bài đầu tiên về nhận diện khuôn mặt tại đây https. // miai. vn/2019/08/13/nhận diện-thu-lam-he-thong-cham-cong-bang-nhan-dang-khuon-mat/, rất nhiều anh em comment là phương pháp triển khai, thuật toán trong Show Mình xác nhận điều đó, nhưng khi mới học thì nên bắt đâu từ những mô hình đơn giản và dễ hiểu để nắm bắt được khái niệm, sau đó sẽ phát triển dần lên Hôm nay mình sẽ giới thiệu cùng các bạn một bài toán nhận dạng khuôn mặt nữa nhưng sẽ áp dụng những công nghệ mới hơn như. phát khuôn mặt bằng MTCNN, trích xuất đặc trưng băng Facenet và sử dụng SVM để phân loại và nhận mặt. Nhờ đó, giải pháp lần này có nhiều điểm ưu việt hơn những lần trước như vậy. nhận diện được mặt ở nhiều góc độ khác nhau, không cần nhìn thẳng, nhận diện chính xác hơn, trích xuất được nhiều đặc trưng mặt hơn Công nghệ này áp dụng nhiều trong thực tế hơn các công nghệ sử dụng trong bài trước. Rồi bây giờ chúng ta sẽ đi tiếp nào Phần 1. Tìm hiểu khái niệmHaiza, cứ nói đến khái niệm trên Mị AI là thấy lại sao. Nhưng thôi, vẫn phải định nghĩa qua để các bạn biết
Thôi chắc đại khái thế nhỉ, anh em cần thêm tin chi tiết thì search google để tìm hiểu thêm hoặc comment trên group Mì AI để cùng trao đổi nhé Phần 2. Chuẩn bị nguyên liệuTạo thư mục và sao chép git Như thường lệ, anh em tạo 1 thư mục MiAI_FaceRecog_2 để lưu tất cả các món của bài viết này nhé. Sau khi tạo xong, anh em gõ lệnh sau để lấy mã nguồn về
Chú ý có dấu chấm cuối dòng nhé Bây giờ các bạn đã tạo các thư mục như sau
Chuẩn bị khuôn mặt ảnh để đào tạo Bây giờ các bạn sưu tập tầm ảnh của 2 người trở lên, mỗi người 10 tấm hình rõ mặt (tạm chấp nhận yêu cầu hiện tại của bài này là ít nhất 2 người nhé, mình sẽ tìm hiểu thêm sau). Mình ví dụ 2 người tên là NguyenVanA và LeThiB nhé. Các bạn tạo 02 thư mục NguyenVanA và LeThiB trong thư mục raw và copy ảnh của 2 người vào 2 thư mục riêng, ảnh của ai vào thư mục của người đó nhé Ví dụ về các ảnh cần sưu tầm. Nguồn. https. // hướng tới khoa học dữ liệu. comChú ý . Trong các ảnh bạn sưu tầm, chỉ có đúng 1 khuôn mặt của người đó, ko được có quá 1 khuôn mặt/ảnh nhé. Ví dụ cây thư mục của mình để các bạn tham khảo |-FaceData |---processed |-----Hacd |-----ThangnC |---raw |-----Hacd |-----ThangnC Cài đặt các thư viện cần thiết Các bạn đang đứng ở thư mục MiAI_FaceRecog_2 chạy lệnh sau để cài đặt tất cả các thư viện cần thiết
Tiền xử lý dữ liệu để cắt mặt từ ảnh gốc Với vị trí ảnh mà bạn đã sưu tầm bên trên, có thể là ảnh của cả người, bây giờ chúng ta sẽ cắt khuôn riêng mặt ra để huấn luyện nhé. Các bạn chuyển về thư mục MiAI_FaceRecog_2 và chạy lệnh
Chạy xong thấy nó hiển thị dạng “Tổng số hình ảnh. …” là thành công rồi đó. Các bạn lưu ý rằng sẽ thấy có thêm thư mục đã xử lý có cấu trúc tương tự như thư mục thô nhưng chỉ chứa khuôn mẫu dữ liệu được xử lý. Ví dụ như ảnh dưới Tiền xử lý ảnh. Nguồn. https. // hướng tới khoa học dữ liệu. comLoad pretrain data của Facenet về máy Các bạn tải pretrain về tạ tại liên kết này. Tại đây (nếu gặp khó khăn khi tải các bạn click vào đây để xem hướng dẫn nhé). Sau khi tải xong, các bạn copy toàn bộ file đã tải về vào thư mục Models, chú ý chỉ lấy file, bỏ hết các thư mục như . pkl như bên dưới đâu nhé, mình chụp nhầm chút). (không có file facemodel.pkl như bên dưới đâu nhé, mình chụp nhầm chút). Okie rồi, vậy là các cuộc chuẩn bị nguyên liệu và chế độ sơ đồ đã hoàn thành. Giờ sang bước Train thôi nào. Not too then Phần 3. Train model to process to accept face faceBây giờ các bạn chuyển về thư mục MiAI_FaceRecog_2 nếu đang đứng ở thư mục khác nhé. Sau đó chạy lệnh train
Bây giờ các bạn đi lấy tách trà và ngồi đợi nhé, khi màn hình nào hiện lên chữ “Saved classifier model to file “Models/facemodel. pkl” là xong. Chúng ta đã luyện xong rồi, tận hưởng thành quả thôi Phần 4. Destination to resultsHôm nay chúng ta sẽ kiểm tra model đã đào tạo với 2 nguồn video. một là từ webcam và 2 là nhận diện trong một tệp video có sẵn. Start up nhé Kiểm tra thử với webcam You are running file face_rec_cam. py by after command
Bạn hãy đợi mô hình tải 1 chút và màn hình webcam sẽ hiển thị như sau, nhận chuẩn ra hạn 😀 Rồi bây giờ chúng ta thử nhận diện qua video xem sao nhé. Các bạn đã chạy lệnh
Chú ý ở đây mình ví dụ với file camtest. mp4 của mình, các bạn có thể thử với bất kỳ tệp video kỳ lạ nào của các bạn. Chú ý là giảm độ phân giải xuống tầm 320×200 hoặc 640×480 nếu máy bạn không có GPU hoặc cấu hình thấp nhé, ko là giật tung lên đấy 😀 Và đây là thành quả của chúng ta, các bạn xem video bên dưới nhé Rồi như vậy các bạn đã sở hữu cộng cụ “gần như mạnh nhất” hiện nay để phát hiện khuôn mặt, các hệ thống chấm công cụ đơn giản đã có thể chạy được rồi. Mình rất mong có nhiều hệ thống được các bạn khai thác từ mẫu này. Nếu có thành quả hoặc gặp khó khăn gì thì các bạn cứ chia sẻ cùng Mì AI trên group nhé. Trao đổi nhóm, chia sẻ. https. //www. Facebook. com/groups/miaigroup Còn bây giờ, xin tạm biệt. Trong bài viết sau mình sẽ viết về 1 vấn đề là chống giả mạo bằng hình ảnh/video trong nhận diện khuôn mặt nhé |