Linux CPU | Linux GPU | Mac OS CPU | Windows CPU |
|---|---|---|---|
الكشف عن الوجه المجاني والمفتوح المصدر. بناء على mtcnn
الموقع الرسمي (https://dface.tech)
نحن نقدم أيضًا Face Face Confer SDK ، ويحتوي على التتبع ، والكشف ، والتعرف على الوجه ، والوجه المضاد للارتفاع وما إلى ذلك. انظر dface.tech للحصول على التفاصيل.
Dface هو برنامج مفتوح المصدر للكشف عن الوجه والتعرف عليه. جميع الميزات التي تنفذها Pytorch (Facebook Deeplearning Framework). مع Pytorch ، نستخدم تقنية تسمى التكيف التلقائي للوضع العكسي ، والتي تتيح للمطور تغيير الطريقة التي تتصرف بها شبكتك بشكل تعسفي مع صفر أو تكاليف. يرث Dface هذه الخصائص المتقدمة ، والتي تجعلها ديناميكية وسهولة مراجعة الكود.
تدعم Dface تسريع GPU مع Nvidia CUDA. نوصي بشدة باستخدام إصدار Linux GPU. إنه سريع للغاية وحقيقي للغاية.
يأتي مصدر إلهامنا من العديد من الأوراق البحثية حول هذا الموضوع ، بالإضافة إلى العمل الحالي والس الماضي مثل اكتشاف الوجه المشترك والمحاذاة باستخدام شبكات تلافيفية متعددة المهام وموضوع التعرف على الوجه: تضمين موحد للاعتراف بالوجه والتجميع
هيكل MTCNN
إذا كنت ترغب في المساهمة في DFACE ، فيرجى مراجعة المساهمة. كما يمكنك متابعة QQ Group 681403076 أو WeChat Jinkuaikuai005
لدى Dface وحدة رئيسية ، الكشف والتعرف على هذين ، نقدم جميع البرامج التعليمية حول كيفية تدريب نموذج وتشغيل. أول تعيين pytorch و CV2. نقترح أناكوندا لصنع بيثون افتراضي ومستقل. إذا كنت ترغب في التدريب على GPU ، فيرجى تثبيت Nvidia Cuda و Cudnn.
git clone https://github.com/kuaikuaikim/dface.gitكما نقدم قائمة تبعية للبيئة ANACONDA تسمى البيئة. يمكنك إنشاء بيئة Dface الخاصة بك بسهولة بالغة.
cd DFace
conda env create -f path/to/environment.ymlأضف Dface إلى مسار Python المحلي الخاص بك
export PYTHONPATH= $PYTHONPATH :{your local DFace root path}إذا كنت مهتمًا بكيفية تدريب نموذج MTCNN ، فيمكنك اتباع الخطوة التالية.
تحتوي MTCNN على ثلاث شبكات تسمى PNET و RNET و ONET . لذا يجب علينا تدريبها على ثلاث مراحل ، ويعتمد كل مرحلة على الشبكة السابقة التي ستقوم بإنشاء بيانات القطار لتغذية شبكة القطار الحالية ، كما تدفع الحد الأدنى من الخسارة بين شبكتين. يرجى تنزيل مجموعات بيانات القطار قبل التدريب. نستخدم الوجه الأوسع و Celeba . يتم استخدام الوجه Wider لتدريب تصنيف الوجه وصندوق الاستعداد للوجه ، كما يتم استخدام Celeba في معالم الوجه. ملف التعليق التوضيحي الأوسع الأوسع هو تنسيق MATLAB ، يجب عليك تحويله إلى نص. لقد وضعت ملف نص التعليق التوضيحي المحول في anno_store/wider_origin_anno.txt. يرتبط هذا الملف بالمعلمة التالية التي تسمى -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.pyإذا كنت لا ترغب في التدريب ، فقد وضعت onet_epoch.pt ، pnet_epoch.pt ، rnet_epoch.pt في المجلد model_store. أنت فقط حاول test_image.py
python test_image.pyترخيص Apache 2.0