Linux CPU | Linux GPU | Mac OS CPU | Windows CPU |
|---|---|---|---|
Freie und Open -Source -Gesichtserkennung. Basierend auf dem MTCNN
Offizielle Website (https://dface.tech)
Wir liefern auch das vollständige Gesichtserkennung von SDK, enthält Verfolgung, Erkennung, Gesichtserkennung, Gesichts-Spoofing und so weiter. Weitere Informationen finden Sie unter dface.tech.
Dface ist eine Open -Source -Software zur Erkennung und Erkennung von Gesicht. Alle von The Pytorch (The Facebook DeepLearning Framework) implementierten Funktionen. Mit Pytorch verwenden wir eine Technik namens Reverse-Mode Auto-Differenzierung, mit der Entwickler die Art und Weise ändern kann, wie sich Ihr Netzwerk willkürlich ohne Verzögerung oder Overhead verhält. Dface erben diese erweiterten Merkmale, die es dynamisch machen und die Code -Überprüfung erleichtern.
Dface Support GPU -Beschleunigung mit Nvidia CUDA. Wir empfehlen Ihnen dringend, die Linux GPU -Version zu verwenden.
Unsere Inspiration stammt aus mehreren Forschungsarbeiten zu diesem Thema sowie aktuelle und früher
MTCNN -Struktur
Wenn Sie zu Dface beitragen möchten, überprüfen Sie bitte den Beitrag.md im Projekt. Wir verwenden Slack für die Verfolgung von Anforderungen und Fehler. Sie können auch die QQ Group 681403076 oder meinen Wechat Jinkuaikuai005 folgen
Dface verfügt über zwei Hauptmodul, Erkennung und Erkennung. In diesen beiden bieten wir alle Tutorials über das Training eines Modells und zum Laufen. Setzen Sie zuerst einen Pytorch und CV2. Wir empfehlen Anaconda, eine virtuelle und unabhängige Python -Umgebung zu erstellen. Wenn Sie an der GPU trainieren möchten, installieren Sie bitte Nvidia Cuda und Cudnn.
git clone https://github.com/kuaikuaikim/dface.gitAußerdem bieten wir eine Anaconda-Umgebungs-Abhängigkeitsliste namens Environment.yml (Windows Bitte verwenden Sie Umgebungs-Win64.yml, mac Environment_osx.yaml) im Stammpfad. Sie können Ihre Dface -Umgebung sehr einfach erstellen.
cd DFace
conda env create -f path/to/environment.ymlFügen Sie Dface zu Ihrem lokalen Python -Pfad hinzu
export PYTHONPATH= $PYTHONPATH :{your local DFace root path}Wenn Sie daran interessiert sind, wie Sie ein MTCNN -Modell trainieren, können Sie den nächsten Schritt folgen.
MTCNN verfügt über drei Netzwerke, die PNET , RNET und ONET namens PNET, RNET und ONET haben. So sollten wir es auf drei Stufen trainieren, und jede Stufe hängt vom vorherigen Netzwerk ab, wodurch Zugdaten zum Fütterung des aktuellen Zugnetzes generiert werden und auch den Mindestverlust zwischen zwei Netzwerken anregen. Bitte laden Sie die Zuggesichtsdatensätze vor Ihrem Training herunter. Wir verwenden ein breiteres Gesicht und Celeba . Das Gesicht wird verwendet, um die Gesichtsklassifizierung und die Gesichtsgrenzen zu trainieren, auch Celeba wird für Gesichtsmarke verwendet. Die ursprüngliche Annotationsdatei mit der Annotation ist das Matlab -Format, Sie müssen sie in Text umwandeln. Ich habe die transformierte Annotationstextdatei in Anno_Store/wider_Origin_anno.txt eingegeben. Diese Datei bezieht sich auf den folgenden Parameter mit dem Namen –Anno_file.
mkdir {your dface traindata folder}python dface/prepare_data/gen_Pnet_train_data.py --prefix_path {annotation file image prefix path, just your local wider face images folder} --dface_traindata_store {dface train data temporary folder you made before } --anno_file {wider face original combined annotation file, default anno_store/wider_origin_anno.txt}python dface/prepare_data/assemble_pnet_imglist.pypython dface/train_net/train_p_net.pypython dface/prepare_data/gen_Rnet_train_data.py --prefix_path {annotation file image prefix path, just your local wider face images folder} --dface_traindata_store {dface train data temporary folder you made before } --anno_file {wider face original combined annotation file, default anno_store/wider_origin_anno.txt} --pmodel_file {your PNet model file trained before}python dface/prepare_data/assemble_rnet_imglist.pypython dface/train_net/train_r_net.pypython dface/prepare_data/gen_Onet_train_data.py --prefix_path {annotation file image prefix path, just your local wider face images folder} --dface_traindata_store {dface train data temporary folder you made before } --anno_file {wider face original combined annotation file, default anno_store/wider_origin_anno.txt} --pmodel_file {your PNet model file trained before} --rmodel_file {your RNet model file trained before}python dface/prepare_data/gen_landmark_48.pypython dface/prepare_data/assemble_onet_imglist.pypython dface/train_net/train_o_net.pyWenn Sie nicht trainieren möchten, habe ich onet_epoch.pt, pnet_epoch.pt, rnet_epoch.pt in model_store order gestellt.
python test_image.pyApache -Lizenz 2.0