Real-time face detection and face recognition system based on Py -DFace

Real-time face detection and face recognition system based on Py -DFace

2022-09-02 0 848
Resource Number 38037 Last Updated 2025-02-24
¥ 0HKD Upgrade VIP
Download Now Matters needing attention
Can't download? Please contact customer service to submit a link error!
Value-added Service: Installation Guide Environment Configuration Secondary Development Template Modification Source Code Installation

This issue recommends a multi-person real-time face detection and face recognition system based on multi-task Convolutional network (MTCNN) and Center-Loss.

Introduction to DFace

DFace is an open source deep learning face detection system and face recognition system. All features are developed using the pytorch framework. pytorch is a deep learning framework developed by facebook that includes some interesting advanced features such as automatic derivation, dynamic composition, and more. DFace naturally inherits these advantages, making its training process more simple and convenient, and the implementation of the code can be more clear and understandable.

MTCNN structure

Real-time face detection and face recognition system based on Py -DFace插图

Real-time face detection and face recognition system based on Py -DFace插图1

Real-time face detection and face recognition system based on Py -DFace插图2

Environment and modules

DFace has two main modules, face detection and face recognition first need to build a pytorch and cv2 python environment

rely on

  • cuda 8.0
  • anaconda
  • pytorch
  • torchvision
  • cv2
  • matplotlib
git clone https://github.com/kuaikuaikim/DFace.git

Here I provide an anaconda environment dependency file, environment.yml (windows please use environment-win64.yml), which makes it easy for you to build your own virtual environment.

cd dface  

conda env create -f environment.yml

Added python search module path

export PYTHONPATH=$PYTHONPATH:{your local DFace root path}

Face recognition and detection

Train the mtcnn model

MTCNN has three main networks, called PNet, RNet and ONet. Therefore, our training process also needs to be carried out in three steps. In order to achieve better results, the currently trained network will rely on the previous trained network to generate data. All FACE datasets come from WIDER FACE and CelebA. WIDER FACE only provides a large amount of face border location data, while CelebA contains face key point location data.

  • Create a temporary directory of dface training data corresponding to all of the following parameter names –dface_traindata_store
mkdir {your dface traindata folder}
  • Generate PNet training data and annotation files
python dface/prepare_data/gen_Pnet_train_data.py --prefix_path {Annotate the directory prefix of the image in the file,It's the wider face of the picture} --dface_traindata_store {Temporary directory of dface training data created earlier} --anno_file {wider faceNote file, can not fill, default use anno_store/wider_origin_anno.txt}
  • Merge annotation files out of order
python dface/prepare_data/assemble_pnet_imglist.py
  • Train the PNet model
python dface/train_net/train_p_net.py
  • Generate RNet training data and annotation files
python dface/prepare_data/gen_Onet_train_data.py --prefix_path {Annotate the directory prefix of the image in the file,It's the wider face of the picture} --dface_traindata_store {之前创建的dface训练数据临时目录} --anno_file {wider face Note file, can not fill, default useanno_store/wider_origin_anno.txt} --pmodel_file {Previously trained Pnet model file} --rmodel_file {Previously trained Rnet model file}
  • Generate ONet key point training data and annotation files of facial features
python dface/prepare_data/gen_landmark_48.py
  • Merge annotation files out of order (including key points of facial features)
python dface/prepare_data/assemble_onet_imglist.py
  • Train the ONet model
python dface/train_net/train_o_net.py

PC installation

Installation package download address:
https://developer.nvidia.com/rdp/cudnn-download

Choose one of the following two compression packages based on your system:

  • cuDNN v6.0 Library for Windows 7
  • cuDNN v6.0 Library for Windows 10

Local computer download file name:
cudnn-8.0-windows10-x64-v6.0.zip

Configuration procedure:

  1. Unzip cudnn-8.0-windows10-x64-v6.0.zip
  2. The extracted file directory cuda was copied to a custom location on my computer, and I stored it in the D:\Tools directory
  3. Add environment variable
  4. Add path: Path 1 D:\Tools\cuda\bin path 2 D:\Tools\cuda\lib\x64
  5. Step: Right-click My Computer – > Properties – > Advanced System Settings – > Environment Variables – > System Variables – > Add Path to Path variable

install:

  • Double-click the installation package
  • Click Next
  • Click on I Agree
  • In the above box select All Users(requires admin privileges) and click Next
  • Select the installation path, my installation path is D:\Tools\Anaconda3, click Next

Real-time face detection and face recognition system based on Py -DFace插图3

  • The above check box defaults, click Install
  • Keep Next until the end
  • After the installation is complete, add the path where the Scripts directory in the Anaconda3 directory is located to the environment variable. Add methods such as cuda to add consistency. The path I added is D:\Tools\Anaconda3\Scripts

Running effect drawing

Real-time face detection and face recognition system based on Py -DFace插图4
资源下载此资源为免费资源立即下载
Telegram:@John_Software

Disclaimer: This article is published by a third party and represents the views of the author only and has nothing to do with this website. This site does not make any guarantee or commitment to the authenticity, completeness and timeliness of this article and all or part of its content, please readers for reference only, and please verify the relevant content. The publication or republication of articles by this website for the purpose of conveying more information does not mean that it endorses its views or confirms its description, nor does it mean that this website is responsible for its authenticity.

Ictcoder Free Source Code Real-time face detection and face recognition system based on Py -DFace https://ictcoder.com/real-time-face-detection-and-face-recognition-system-based-on-py-dface/

Share free open-source source code

Q&A
  • 1. Automatic: After making an online payment, click the (Download) link to download the source code; 2. Manual: Contact the seller or the official to check if the template is consistent. Then, place an order and make payment online. The seller ships the goods, and both parties inspect and confirm that there are no issues. ICTcoder will then settle the payment for the seller. Note: Please ensure to place your order and make payment through ICTcoder. If you do not place your order and make payment through ICTcoder, and the seller sends fake source code or encounters any issues, ICTcoder will not assist in resolving them, nor can we guarantee your funds!
View details
  • 1. Default transaction cycle for source code: The seller manually ships the goods within 1-3 days. The amount paid by the user will be held in escrow by ICTcoder until 7 days after the transaction is completed and both parties confirm that there are no issues. ICTcoder will then settle with the seller. In case of any disputes, ICTcoder will have staff to assist in handling until the dispute is resolved or a refund is made! If the buyer places an order and makes payment not through ICTcoder, any issues and disputes have nothing to do with ICTcoder, and ICTcoder will not be responsible for any liabilities!
View details
  • 1. ICTcoder will permanently archive the transaction process between both parties and snapshots of the traded goods to ensure the authenticity, validity, and security of the transaction! 2. ICTcoder cannot guarantee services such as "permanent package updates" and "permanent technical support" after the merchant's commitment. Buyers are advised to identify these services on their own. If necessary, they can contact ICTcoder for assistance; 3. When both website demonstration and image demonstration exist in the source code, and the text descriptions of the website and images are inconsistent, the text description of the image shall prevail as the basis for dispute resolution (excluding special statements or agreements); 4. If there is no statement such as "no legal basis for refund" or similar content, any indication on the product that "once sold, no refunds will be supported" or other similar declarations shall be deemed invalid; 5. Before the buyer places an order and makes payment, the transaction details agreed upon by both parties via WhatsApp or email can also serve as the basis for dispute resolution (in case of any inconsistency between the agreement and the description of the conflict, the agreement shall prevail); 6. Since chat records and email records can serve as the basis for dispute resolution, both parties should only communicate with each other through the contact information left on the system when contacting each other, in order to prevent the other party from denying their own commitments. 7. Although the probability of disputes is low, it is essential to retain important information such as chat records, text messages, and email records, in case a dispute arises, so that ICTcoder can intervene quickly.
View details
  • 1. As a third-party intermediary platform, ICTcoder solely protects transaction security and the rights and interests of both buyers and sellers based on the transaction contract (product description, agreed content before the transaction); 2. For online trading projects not on the ICTcoder platform, any consequences are unrelated to this platform; regardless of the reason why the seller requests an offline transaction, please contact the administrator to report.
View details

Related Source code

ICTcoder Customer Service

24-hour online professional services