Skip to content
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Computer Vision

[Face Recog 2.0] Nhận diện khuôn mặt trong video bằng MTCNN và Facenet

By Chủ tiệm Mì
September 11, 2019 6 Min Read
95

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/face-recognize-thu-lam-he-thong-cham-cong-bang-nhan-dang-khuon-mat/, rất nhiều anh em có comment là phương pháp triển khai, thuật toán trong bài đó có độ chính xác chưa cao.

Mình xác nhận điều đó, nhưng khi mới học thì nên bắt đâu từ những model đơn giản và dễ hiểu để nắm được khái niệm, sau đó sẽ nâng 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 diện khuôn mặt nữa nhưng sẽ áp dụng những công nghệ mới hơn như: phát hiện khuôn mặt bằng MTCNN, trích xuất đặc trưng băng Facenet và dùng SVM để classifier và nhận diện mặt. Nhờ đó, giải pháp lần này có nhiều ưu điểm so với lần trước như: nhận diện được mặt ở nhiều góc khác nhau, ko 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 khuôn 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ệm

Haiza, cứ nói đến khái niệm trên Mì AI là lại thấy sao sao. Nhưng thôi, vẫn phải định nghĩa qua để các bạn biết.

  • MTCNN là viết tắt của Multi-task Cascaded Convolutional Networks. Nó là bao gồm 3 mạng CNN xếp chồng và đồng thời hoạt động khi detect khuôn mặt. Mỗi mạng có cấu trúc khác nhau và đảm nhiệm vai trò khác nhau trong task. Đầu ra của MTCNN là vị trí khuôn mặt và các điểm trên mặt như: mắt, mũi, miệng…
  • Facenet là của ông Google giới thiệu năm 2015, và thằng model này thì mình cứ nhét ảnh vào (đúng size của nó) thì nó trả ra 1 vector 128 features cho 1 khuôn mặt. Sau đó dùng SVM để phân nhóm các vector đó vào các nhóm để biết vector đó là mặt của ai.

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 vật liệu

Tạo thư mục và clone git:

Như thường lệ, anh em tạo 1 thư muc MiAI_FaceRecog_2 để lưu tất cả các món của bài này nhé. Sau khi tạo xong, anh em gõ lệnh sau để lấy mã nguồn về:

git clone https://github.com/thangnch/MiAI_FaceRecog_3 .
Mình edit lại thành MiAI_FaceRecog_3 để chạy tốt trên TF 2.x

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:

  • Tạo thư mục Dataset trong MìAI_FaceReg_2, trong đó tạo tiếp thư mục FaceData và dưới FaceData là tạo tiếp 2 thư mục raw và processed.
  • Tạo thư mục Models trong MìAI_FaceReg_2 để chờ sẵn tẹo lưu model sau.

Chuẩn bị ảnh khuôn mặt để train

Bây giờ các bạn sưu 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à at least 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 riêng 2 thư mục đó, ảnh của ai vào thư mục của người đó nhé.

face collection
Ví dụ về các ảnh cần sưu tầm. Nguồn: https://towardsdatascience.com

Chú ý: 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 đứng ở thư mục MiAI_FaceRecog_2 chạy lệnh sau để cài tất cả các thư viện cần thiết:

pip install -r requirements.txt

Tiền xử lý dữ liệu để cắt khuôn mặt từ ảnh gốc

Với chỗ ảnh mà bạn đã sưu tầm bên trên, có thể là ảnh cả người, bây giờ chúng ta sẽ cắt riêng khuôn mặt ra để train nhé. Các bạn chuyển về thư mục MiAI_FaceRecog_2 và chạy lệnh :

python src/align_dataset_mtcnn.py  Dataset/FaceData/raw Dataset/FaceData/processed --image_size 160 --margin 32  --random_order --gpu_memory_fraction 0.25

Chạy xong thấy nó hiển thị dạng “Total number of images: …” là thành công rồi đó. Các bạn để ý sẽ thấy có thêm thư mục processed có cấu trúc tương tự thư mục raw nhưng chỉ chứa dữ liệu khuôn mặt dã được xử lý. Ví dụ như ảnh dưới:

face detection
Tiền xử lý ảnh. Nguồn : https://towardsdatascience.com

Tải dữ liệu pretrain của Facenet về máy:

Các bạn tải weights pretrain về tại link này : Tại đây (nếu có khó khăn khi tải, các bạn bấm vào đây để xem hướng dẫn nhé). Sau khi tải xong về, 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ư hình bên dưới của mình (không có file facemodel.pkl như bên dưới đâu nhé, mình chụp nhầm chút).

model facenet pretrain

Okie rồi, vậy là các công cuộc chuẩn bị nguyên liệu và sơ chế đã xong. Bây giờ sang bước Train thôi nào. Nứng quá rồi!

Phần 3. Tiến hành train model để nhận diện khuôn mặt

Bâ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:

python src/classifier.py TRAIN Dataset/FaceData/processed Models/20180402-114759.pb Models/facemodel.pkl --batch_size 1000

Bây giờ các bạn đi lấy một tách trà và ngồi đợi nhé, khi nào màn hình hiện lên chữ “Saved classifier model to file “Models/facemodel.pkl” là done! Chúng ta đã train xong rồi, tận hưởng thành quả thôi.

Phần 4. Tận hưởng thành quả

Hôm nay chúng ta sẽ kiểm thử model đã train với 2 nguồn video: một là từ webcam và 2 là nhận diện trong một file video có sẵn. Bắt đầu nhé

Kiểm thử với webcam:

Các bạn chạy file face_rec_cam.py bằng lệnh sau:

python src/face_rec_cam.py 

Bạn đợi model load 1 chút và màn hình webcam sẽ hiện lên như sau, nhận chuẩn ra phết 😀

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:

python src/face_rec.py --path video/camtest.mp4 

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ì file video 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 hãy 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 đơn giản đã có thể chạy được rồi. Mình rất mong có nhiều hệ thống thực được các bạn triển khai từ sample này. Nếu có thành quả hoặc có khó khăn gì, các bạn cứ chia sẻ cùng Mì AI trên group nhé: Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup .

Còn bây giờ, xin tạm biệt. Trong bài 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é.

Chúc các bạn vui vẻ và thành công!

Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://miai.vn/
Youtube: http://bit.ly/miaiyoutube

Tags:

aicomputer visiondeep learningface detectionface recognitionface recognizeFacenetmachine learningMTCNN
Author

Chủ tiệm Mì

Follow Me
Other Articles
Previous

[RASA Series #2] Dạy cho RASA chatbot biết chào hỏi khách hàng “ngoan hơn”

Next

[Rasa Series #3] Thử làm “đệ tử” RASA chatbot hóng kết quả sổ xố hàng ngày

95 Comments
  1. Hoàng Anh says:
    September 12, 2019 at 7:29 am

    Hi anh Thắng!
    Em thử làm theo hướng dẫn của anh.
    1. Trên Mac OS thì ok.
    2. Trên Windows 10, Ubuntu 18, Google Colab bị lỗi giống nhau:
    Calculating features for images
    2019-09-12 07:24:19.714032: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10.0
    2019-09-12 07:24:19.976744: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
    Training classifier
    Traceback (most recent call last):
    File “src/classifier.py”, line 170, in
    main(parse_arguments(sys.argv[1:]))
    File “src/classifier.py”, line 96, in main
    model.fit(emb_array, labels)
    File “/usr/local/lib/python3.6/dist-packages/sklearn/svm/base.py”, line 147, in fit
    y = self._validate_targets(y)
    File “/usr/local/lib/python3.6/dist-packages/sklearn/svm/base.py”, line 521, in _validate_targets
    ” class” % len(cls))
    ValueError: The number of classes has to be greater than one; got 1 class

    Anh Thắng có gặp lỗi này chưa.
    Cảm ơn anh.

    Reply
    1. Nguyễn Chiến Thắng says:
      September 12, 2019 at 7:43 am

      Bạn có thể post ảnh chụp lên group được không? Cùng trao đổi trên đó tiện hơn vì nhiều bạn cùng hỗ trợ được.
      Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup

      Cảm ơn bạn!

      Reply
      1. Hoàng Anh says:
        September 12, 2019 at 8:05 am

        cảm ơn anh.

        Reply
    2. Do Mạnh Hùng says:
      January 30, 2020 at 9:51 am

      bạn phải đưa số lượng ảnh vào nhận diện nhiều hơn 1

      Reply
      1. Nguyễn Chiến Thắng says:
        February 13, 2020 at 2:22 am

        Cảm ơn bạn.Mình sẽ edit lại!

        Reply
  2. Chống giả mạo khuôn mặt bằng ảnh/video trong nhận dạng - Mì AI says:
    September 19, 2019 at 3:32 am

    […] [Face Recog 2.0] Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  3. Bách says:
    September 28, 2019 at 12:27 pm

    Chào anh em muốn lập trình cho vi xử lý nhận biết vật thể cản trở đường đi qua 2 mắt camera thường và ra lệnh trực tiếp ( đơn giản thôi như : đá to , đường có ổ voi hoặc hố không thể đi được cho robot ). Thì có làm như trên được không ạ
    Code có nạp được vào vi xử lý không ạ hay phải đòi hỏi vi xử lý như thế nào ạ
    + đo khoảng cách để tự điều hướng thì có cần phải là camera chuyên dụng không ạ
    Cảm ơn anh trước ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      September 28, 2019 at 1:46 pm

      Phần này và đặc biệt là vi xử lý anh chưa nghiên cứu đến. Em post thử lên group xem có bạn nào có kinh nghiệm không nhé.

      Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup

      Reply
  4. Ngoc says:
    October 11, 2019 at 8:28 am

    Em dùng Ubuntu 18.04, đến bước: Tiền xử lý dữ liệu để cắt khuôn mặt từ ảnh gốc
    Thì gặp lỗi:
    File “src/align_dataset_mtcnn.py”, line 35, in
    import align.detect_face
    ImportError: No module named align.detect_face

    Em thử export PYTHONPATH các thứ nhưng ko ăn thua ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      October 11, 2019 at 8:35 am

      Bạn thử chụp ảnh màn hình lỗi và cấu trúc thư mục và thư mục hiện tại bạn đang đứng để chạy lệnh post lên Group cho tiện theo dõi nhé

      Group trao đổi, chia sẻ: https://ww.facebook.com/groups/miaigroup

      Reply
    2. Bluee says:
      May 30, 2020 at 3:43 am

      mình cx bị lỗi giống b, b fix được chưa

      Reply
      1. Nguyễn Chiến Thắng says:
        June 1, 2020 at 1:14 am

        Bạn post lên group Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup. nhé!

        Reply
  5. Tan Huynh Hoang says:
    October 26, 2019 at 1:48 pm

    Bạn cập nhật lại nhé, vi nó sẽ install tf 2.0 và numpy 1.17.2 nên sẽ bị lỗi
    tensorflow==1.15.0
    scipy==1.1.0
    scikit-learn
    opencv-python
    h5py
    matplotlib
    Pillow
    requests
    psutil
    numpy==1.16.2

    Reply
    1. Hoang Nam says:
      September 10, 2020 at 6:57 am

      Cau hinh nay chay duoc bai huong dan.

      Xin luu y them 1 so phan sau:
      1. Tensorflow 1.x khong lam viec voi python 3.8 vi vay neu dang su dung phien ban nay can downgrade xuong python 3.7 bang cach cai va thiet lap mac dinh chay python 3.7 theo 2 link sau:
      https://stackoverflow.com/questions/61430166/python-3-7-on-ubuntu-20-04
      https://www.youtube.com/watch?v=a4XDW3czH0c

      2. Trong qua trinh chay code voi python 3.7 cai dat nhu tren co the phat sinh cac loi voi cach sua loi sau:
      a. Python.h: No such file or directory:
      Thuc hien cai: sudo apt-get install python3.7-dev
      b. No module named imutils:
      Thuc hien cai: sudo pip3 install imutils

      Reply
      1. Nguyễn Chiến Thắng says:
        September 10, 2020 at 12:41 pm

        thanks bạn nhiều nhé!

        Reply
    2. CuongHV21 says:
      September 14, 2020 at 4:27 am

      Đã cài đặt hết các packages/ libraries như bạn nói, nhưng chạy vẫn bị lỗi.

      Reply
      1. Nguyễn Chiến Thắng says:
        September 18, 2020 at 4:38 am

        Có lồi gì bạn post lên Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup để cùng trao đổi nhé!

        Reply
  6. Thongdq says:
    October 31, 2019 at 7:47 am

    mình đã thử train 3 folders của 3 người nhưng ra tới 4 classes. và khi detect thì chỉ hình người này nhận ra tên người khác (chỉ 1 người nhận ra, 2 người còn lại thì không detect được). Giúp mình với, thanks

    Reply
    1. Nguyễn Chiến Thắng says:
      October 31, 2019 at 7:50 am

      Bạn post ảnh và bài lên group Mì Ai nhé. Trên đó có ảnh trao đổi tiện hơn. Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup

      Thanks bạn!

      Reply
  7. Khang Nguyễn says:
    November 11, 2019 at 2:48 pm

    Chào a,
    Khúc tiền sử lý thì bị như vậy:
    ModuleNotFoundError: No module named ‘_pywrap_tensorflow_internal’
    mong a giúp.

    Reply
    1. Nguyễn Chiến Thắng says:
      November 12, 2019 at 3:01 am

      Bạn post lên Group kèm ảnh chụp cho tiện theo dõi và trao đổi nhé. Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup

      Reply
  8. nghi says:
    December 5, 2019 at 8:30 am

    bạn thử đem cái detect_face.py ra ngoài cái src chứ đừng để trong file align nữa thử xem, mình làm v thì nó hết bị á

    Reply
  9. nghi says:
    December 5, 2019 at 12:39 pm

    anh thắng ơi cho em hỏi cái này lúc thêm người mới vô là phải train lai ảnh ca t cả luôn hay train ảnh người mới thôi ạ?

    Reply
    1. Nguyễn Chiến Thắng says:
      December 6, 2019 at 7:13 am

      Train lại nhưng train siêu nhanh nhé. Vài giây thôi!
      Em lên group cho tiện trao đổi nhé: Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup

      Reply
  10. bách says:
    December 21, 2019 at 3:03 pm

    sao em không hiện cái khung nhu của anh nhỉ e Wcam chỉ có mỗi mặt không à còn
    tính probability thì nằm trong cmd

    Reply
    1. Nguyễn Chiến Thắng says:
      December 24, 2019 at 2:23 am

      Em post lên group cho tiện trao đổi và tìm lỗi nhé!

      Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup

      Reply
      1. Bach says:
        December 25, 2019 at 5:57 pm

        Ok anh
        Cho xin lỗi vì không xem được bài rep của anh sớm ạ

        Reply
      2. Bach says:
        December 28, 2019 at 4:43 pm

        Vấn đề này do e đặt khuôn mặt không đúng trong khung hình thôi ạ e mới tìm ra rồi nên không phiền đến mọi người nữa ạ
        E cảm ơn

        Reply
  11. Bach says:
    December 25, 2019 at 5:58 pm

    E viết thiếu chủ ngữ mong anh bỏ qua

    Reply
  12. Do Mạnh Hùng says:
    January 25, 2020 at 5:56 am

    em làm như anh nhưng tới bước tiền xử lý chạy thì báo lỗi này, anh có thể xem giúp em với ạ
    Creating networks and loading parameters
    Traceback (most recent call last):
    File “src/align_dataset_mtcnn.py”, line 159, in
    main(parse_arguments(sys.argv[1:]))
    File “src/align_dataset_mtcnn.py”, line 52, in main
    gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=args.gpu_memory_fraction)
    AttributeError: module ‘tensorflow’ has no attribute ‘GPUOptions’

    Reply
    1. thanh luu says:
      May 29, 2020 at 4:11 am

      Bạn install tensorflow 1.7.0 là oke nhé 🙂
      pip install tensorflow==1.7.0

      Reply
      1. Nguyễn Chiến Thắng says:
        May 29, 2020 at 4:11 am

        Hoặc cài pip install tensorflow==1.15.0

        Reply
  13. VanTrung says:
    March 5, 2020 at 10:35 am

    Python máy bạn đang dùng là version 2 hay 3… vi máy để sài Python3 chạy lỗi thư viện tensowflow

    Reply
    1. Nguyễn Chiến Thắng says:
      May 13, 2020 at 4:13 am

      Mình xài python3
      Bạn lỗi gì post lên group nhé Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup

      Reply
  14. trịnh viết hoàng says:
    May 13, 2020 at 4:05 am

    bài này chỉ nhận diện được 2 người thôi ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      May 13, 2020 at 4:12 am

      Không em. Thoải mái mà!
      Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup xem lỗi gì nhé!

      Reply
  15. Bluee says:
    June 8, 2020 at 4:13 am

    e muốn recognize người mà chưa được train thì trả về Unknow thì như nào v a ơi

    Reply
    1. Nguyễn Chiến Thắng says:
      June 8, 2020 at 7:41 am

      Em thêm 1 ngưỡng vào, dưới ngưỡng đó em trả về unkown nhé!

      Reply
  16. BLan says:
    June 15, 2020 at 4:12 pm

    File “/home/user/.local/lib/python3.8/site-packages/numpy/lib/format.py”, line 739, in read_array
    raise ValueError(“Object arrays cannot be loaded when ”
    ValueError: Object arrays cannot be loaded when allow_pickle=True
    Dạ cho em hỏi lỗi này fix như nào ạ? Em cảm ơn.

    Reply
    1. Nguyễn Chiến Thắng says:
      June 16, 2020 at 2:19 am

      Em chụp màn hình và post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho dễ em nhé!

      Reply
  17. Tổng hợp các tuyệt chiêu chống giả mạo khuôn mặt - Mì AI says:
    July 8, 2020 at 6:07 am

    […] [Face Recog 2.0] Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  18. Nam says:
    July 18, 2020 at 1:34 am

    Có cách nào để reTrain model không anh ,em thử ảnh rồi muốn xóa đi để làm lại , cơ mà vất khinh khi lại phải clone lại project 🙂

    Reply
    1. Nguyễn Chiến Thắng says:
      July 21, 2020 at 1:39 am

      Hả sao lại thế? Anh retrain suốt mà. Em post thử lên Group Mì Ai xem nhé!Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup

      Reply
  19. Phong Đoàn says:
    July 30, 2020 at 3:26 am

    Hi a, Mì này e nấu ở dưới Pycharm thì ok, nhưng build lên Flask chạy trên web local, chạy phần webcam thì nó lại bị crash a ạ, kiểu như n ko mở dc webcam hay sao ấy, e chạy trên MacOS ạ. Mong a giúp đỡ.
    Nó báo lỗi như này ạ:
    Terminating app due to uncaught exception ‘NSInternalInconsistencyException’

    Reply
    1. Nguyễn Chiến Thắng says:
      August 3, 2020 at 3:30 am

      Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup xem lỗi gì nhé!

      Reply
  20. Việt says:
    August 8, 2020 at 9:29 am

    A Thắng cho e hỏi chút, e làm theo hướng dẫn nhưng tỉ lệ nhận dạng dc rất thấp chỉ 0.5, 0.6, e thấy trong video của a rất cao toàn > 0.8, a cho e hỏi là tỉ lệ này phụ thuộc vào những cái gì ạ? (và mỗi 1 folder của 1 người trong folder process có cần nhiều ảnh ko, hay chỉ cần 1 ảnh thôi ạ). E cảm ơn

    Reply
    1. Nguyễn Chiến Thắng says:
      August 10, 2020 at 4:00 am

      Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup thảo luận cho tiện nhé!

      Reply
  21. Trần Đình Đại says:
    September 2, 2020 at 2:47 pm

    Làm sao để thay đổi FPS, cho các khung hình nó chạy nhanh hơn vậy anh Thắng. Em cảm ơn.

    Reply
    1. Nguyễn Chiến Thắng says:
      September 3, 2020 at 8:21 am

      Thế thì chỉ bổ sung thêm phần cứng em ah :D.

      Reply
  22. Hồ Dương Nghĩa says:
    September 19, 2020 at 3:07 pm

    Cái này chạy trên Pi hay Jetson Nano có ổn không ạ? Em có thử chạy trên lap thấy lap khá nóng rồi :((

    Reply
  23. Nguyen Manh Duy says:
    September 28, 2020 at 10:18 am

    Hi anh,
    Bài này nếu gặp người chưa có trong data train SVM là toang đúng k a, có cách nào khác phục k, kiểu báo ra 1 class khác !?

    Reply
    1. Nguyễn Chiến Thắng says:
      September 29, 2020 at 7:47 am

      Có cách xử lý bằng Threshold em. Em có thể post lên Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup để cùng trao đổi nhé!

      Reply
  24. Alert says:
    October 13, 2020 at 2:44 am

    Hi anh.
    Model train này có độ chính xác như thế nào anh, em train xong test thử thì với video có 1 người thì ok nhưng nhiều người thì sẽ nhận diện sai.

    Reply
    1. Nguyễn Chiến Thắng says:
      October 13, 2020 at 6:50 am

      Mạng này khá ổn. Nhiều công ty đang dùng cho khách em. Tất nhiên để tăng độ chính xác thì mỗi công ty có fine tune và preprocessing image input nữa!

      Reply
  25. Lâm says:
    November 7, 2020 at 9:19 am

    Hi anh, em làm theo cách này của anh đã được nhưng bây h em muốn nhận dạng khuôn mặt qua hình ảnh thì phải làm thế nào ạ ? Cho em cảm ơn

    Reply
    1. Nguyễn Chiến Thắng says:
      November 9, 2020 at 2:41 am

      Em post cụ thể nhu cầu lên Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup xem nha!

      Reply
  26. toanbt says:
    December 14, 2020 at 10:09 am

    Hi anh!
    Em đang sử dụng bài này để làm một project nhỏ. Hiện đang gặp một số vấn đề là
    Người chưa được train thì vừa nhận diện sẽ nhận ra 1 người gần giống nhưng confidence thấp (vì dùng SVM), nhưng nếu test liên tục thì lại kiểm tra ra một người có sẵn trong data mà confidence lại rất cao. Đây là do đâu và hướng giải quyết như thế nào là hợp lý,. Cảm ơn anh ạ!

    Reply
    1. Nguyễn Chiến Thắng says:
      December 15, 2020 at 9:11 am

      Bạn post lên Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup nhé!

      Reply
  27. Sơn says:
    December 27, 2020 at 7:54 am

    Phần hướng dânc này thì có thể xác định được danh tính tính khi nhìn ở góc nghiên không anh?

    Reply
    1. Nguyễn Chiến Thắng says:
      December 28, 2020 at 9:34 am

      Có em. Nghiêng vừa vừa okie. Em cần thêm gì lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup nhé!

      Reply
  28. Ý says:
    March 11, 2021 at 4:48 am

    Anh Thắng cho em hỏi, với cách làm này thì khi hiện webcam lên nó có thể nhận diện 2 người cùng 1 lúc được không ạ?

    Reply
    1. Nguyễn Chiến Thắng says:
      March 12, 2021 at 1:21 am

      Em comment đoạn code check lại là okie. Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho tiện trao đổi nhé!

      Reply
  29. Hau says:
    March 19, 2021 at 5:32 pm

    em bị lỗi này là sao ạ
    error: AttributeError: module ‘tensorflow’ has no attribute ‘GPUOptions’
    mong ad giúp với ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      March 24, 2021 at 2:55 am

      Em post lên Group: https://www.facebook.com/groups/miaigroup cho tiện trao đổi nhé!

      Reply
  30. Minh Đức Lê says:
    April 19, 2021 at 9:25 am

    Anh Thắng và các bạn cho mình hỏi mọi người code mẫu cho bài Nhận diện khuôn mặt này không ạ, cho e xin link với ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      April 21, 2021 at 5:55 pm

      Code mẫu ở trong bài đó bạn. Phần git clone….
      Vướng gì bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup nhé!

      Reply
  31. Tien Nguyen says:
    May 17, 2021 at 2:39 pm

    E đã làm giống như anh và cho ra kết quả. Nhưng Probability chỉ quanh quanh 0.5 0.6 mặc dù tập dataset của e đều là ảnh chân dung rất giống với ảnh webcam bắt được. K biết là có cách nào để cải thiện Probability ko ạ. Cảm ơn a ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      May 19, 2021 at 5:29 pm

      Em thử augment mặt lên xem!

      Reply
  32. 360DigiTMG says:
    June 28, 2021 at 2:47 pm

    Thanks for sharing nice information….
    artificial intelligence training in aurangabad

    Reply
  33. VietAnh says:
    November 11, 2021 at 8:46 am

    A Thắng có thể cho em xin link git gốc mà a dùng ko, e muốn đọc thêm về các issue của nó nữa. Em cảm ơn ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      November 11, 2021 at 9:25 am

      Đây em: https://github.com/davidsandberg/facenet

      Reply
      1. VietAnh says:
        November 15, 2021 at 11:00 am

        vâng e cảm ơn ạ

        Reply
  34. Tổng hợp 9+ thông tin [Nhận dạng khuôn mặt bằng pca matlab], hướng dẫn chi tiết từ A-Z – VPN Miễn Phí says:
    May 14, 2022 at 12:04 pm

    […] Mì AI – Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  35. Tổng hợp 18+ thông tin [Báo giá camera bài toán bộ bỏ nhận diện khuôn mặt trên facebook], hướng dẫn chi tiết từ A-Z – VPN Miễn Phí says:
    May 14, 2022 at 12:09 pm

    […] Mì AI – Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  36. Tổng hợp 20+ thông tin [Nhận diện khuôn mặt cnn], hướng dẫn chi tiết từ A-Z – VPN Miễn Phí says:
    May 14, 2022 at 12:16 pm

    […] Mì AI – Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  37. Tổng hợp 6+ thông tin [Nhận dạng khuôn mặt bằng facebook], hướng dẫn chi tiết từ A-Z – VPN Miễn Phí says:
    May 15, 2022 at 1:24 pm

    […] Mì AI – Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  38. Tổng hợp 14+ thông tin [Nhận diện khuôn mặt momo], hướng dẫn chi tiết từ A-Z – VPN Miễn Phí says:
    May 16, 2022 at 3:05 pm

    […] Mì AI – Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  39. Tổng hợp 17+ thông tin [Nhận diện khuôn mặt với cnn], hướng dẫn chi tiết từ A-Z – VPN Miễn Phí says:
    May 17, 2022 at 5:05 pm

    […] Mì AI – Nhận diện khuôn mặt trong video bằng MTCNN và Facenet […]

    Reply
  40. Dương vũ hưng says:
    September 15, 2022 at 10:05 am

    Anh ơi, def parse_arguments(argv) trong classifier.py dùng để làm gì ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      November 4, 2022 at 2:24 pm

      Để khai báo một hàm ấy bạn. Bạn post lên https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!

      Reply
  41. Dương vũ hưng says:
    September 15, 2022 at 10:36 am

    e thấy a xài svm, vậy dùng tripletloss.py được k a

    Reply
    1. Nguyễn Chiến Thắng says:
      November 4, 2022 at 2:24 pm

      Được bạn. Có nhiều cách mà. Bạn post lên https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!

      Reply
  42. Dương Vũ Hưng says:
    September 24, 2022 at 8:02 pm

    đánh giá model của mình sau khi train như thế nào vậy a?

    Reply
    1. Nguyễn Chiến Thắng says:
      November 4, 2022 at 2:24 pm

      Bạn post lên https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!

      Reply
  43. Haha says:
    September 29, 2022 at 10:29 pm

    Chào mọi người, đối với real-time, giai đoạn detect face, mình nên dùng MTCNN hay YOLOv5 ạ? Em cần nó tốc độ nhanh, nên độ chính xác có thể hi sinh 1 xíu. Cảm ơn ạ.

    Reply
    1. Nguyễn Chiến Thắng says:
      November 4, 2022 at 2:23 pm

      Bạn post lên https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!

      Reply
  44. Nguyễn Dũng says:
    November 22, 2022 at 10:40 pm

    anh ơi cho e hỏi nếu bây h e muốn recognize đc nhiều mặt cùng lúc thì có được không a, nếu được cho em xin cách sửa với ạ

    Reply
    1. Nguyễn Chiến Thắng says:
      January 16, 2023 at 5:37 pm

      Được em . Em chỉ cần sửa code và bỏ đi phần if. Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho tiện trao đổi nhé!

      Reply
  45. Nhóm 15 project – ET3260 Course says:
    February 13, 2023 at 10:58 am

    […] [1] https://miai.vn/2019/09/11/face-recog-2-0-nhan-dien-khuon-mat-trong-video-bang-mtcnn-va-facenet/  […]

    Reply
  46. Nguyen Minh Son says:
    April 6, 2023 at 9:46 pm

    mình mới tập làm, mình đã xem video HD của bạn và đến cài ! pip install -r requirements.txt thì máy báo không tìm thấy file. Mình sử dụng laptop và chạy trên colab có được không ? Nhờ Bạn chỉ cách làm giúp với. Thanks !!!
    ERROR: Could not open requirements file: [Errno 2] No such file or directory: ‘requirements.txt’

    Reply
    1. Nguyễn Chiến Thắng says:
      May 9, 2023 at 10:59 am

      Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho tiện trao đổi nhé!

      Reply
  47. huynhmn says:
    April 17, 2023 at 12:23 am

    cho mình hỏi mình dùng Mac m1 khi mình chạy đến câu lệnh
    python src/align_dataset_mtcnn.py Dataset/FaceData/raw Dataset/FaceData/processed –image_size 160 –margin 32 –random_order –gpu_memory_fraction 0.25

    thì nó đang bị báo lỗi
    zsh: illegal hardware instruction python src/align_dataset_mtcnn.py Dataset/FaceData/raw –image_size 160 32
    ban có thể support mình không??

    Reply
    1. Nguyễn Chiến Thắng says:
      May 9, 2023 at 10:59 am

      Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho tiện trao đổi nhé!

      Reply
  48. Tin Trong Tran says:
    June 24, 2023 at 10:08 am

    Anh ơi vậy để nhận dạng kể cả khi đeo khẩu trang thì em phải làm như nào giờ anh

    Reply
    1. Nguyễn Chiến Thắng says:
      July 28, 2023 at 10:11 am

      Em post lên Nhóm “Hội anh em thích ăn Mì AI” – https://www.facebook.com/groups/miaigroup nhé!

      Reply
Show Comments

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Tìm hiểu và cài đặt OpenClaw – trợ lý ảo 24/7 thông minh đa chức năng – Mì Ai
  • Dùng thử Pika – robot học Tiếng Anh cho trẻ cực đỉnh – Mì AI
  • TopView.AI 4.0 – nền tảng tạo AI video cộng tác bá đạo – Mì AI
  • Storm MCP – giải pháp nhanh gọn nhẹ để có MCP Server trong 5 phút – Mì AI
  • VoxCPM thử voice cloning với checkpoint finetune Tiếng Việt – Mì AI

Recent Comments

  1. Chủ tiệm Mì on Thử xây dựng hệ thống Agentic AI với LangGraph – Mì AI
  2. Nguyễn Chiến Thắng on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  3. Trần Sơn Dương on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  4. Salomon on [CV] Thử làm model cảnh báo ngủ gật cho tài xế oto bằng Dlib và Resnet
  5. khang on Xây dựng hệ thống nhận diện thủ ngữ – ngôn ngữ ký hiệu tay – để giao tiếp với người khuyết tật

Categories

  • Basic
  • Computer Vision
  • Data Science – Data Analysis
  • Generative AI
  • MÌ ÚP
  • Natural Language Processing
  • RNN-LSTM-GRU
  • Share Data

Là người đi trước, hãy biết đưa tay lại phía sau.

Nguyễn Chiến Thắng
Cảm ơn các bạn đã ủng hộ Mì AI!