pytorch实现图像识别,python人脸识别数据训练
前言本项目借鉴ArcFace的loss函数和MobileNet,旨在开发一个模型小、识别准确率高、推理速度快的人脸识别项目。这个项目的训练数据是emore数据集,85742人,5822653张图片。lfw-align-128数据集用作测试数据。
源码地址:https://github.com/yeyupiaoling/Pytorch-MobileFaceNet
为此项目的数据集提供批注文件,将它们存储在数据集目录中,然后解压缩它们。此外,您必须下载以下两个数据集,并在下载后将其解压缩到数据集目录中:
Emore数据集百度网盘lfw-align-128下载地址:百度网盘二维码:b2ec然后运行以下命令将人脸图像提取到dataset/images中,并将整个数据集打包成二进制文件。
Python create_dataset.py训练只需要运行train.py更多训练参数请参考代码。
python train.py训练的输出如下:
[2021-11-0315336018336028 . 813591]列车历元9,批次:6100/90979,损耗:1.215695,精度:0.859375,丢失讴歌cy 3360.859375预计到达时间:5天,533602833605天,533605,5365 . 2603 lr 3360.0000 12336029:05[2021-11-0315336019:18.086872]trainepocco损失3360 1.308692、准确度:0.828125、lr 3360.000000010 733602:03[2021-11-0315]333333606
Python eval.py预测这个项目并没有教导提供模型预测。模型文件可用于直接预测。在执行预测之前,面部图像被存储在face_db目录中。每个图像只包含一个人的脸,并以该脸命名。这将创建一个人脸库。之后,将识别结果与这些图像进行比较,以找到匹配成功的人的面部。这里使用的人脸检测是MTCNN模型,具有速度快,模型小的特点。源码地址是Pytorch-MTCNN。
如果根据图像路径进行预测,请执行以下命令:
python infer . py-image _ path=temp/test . jpg日志的输出如下:
人脸检测时间:38ms人脸识别时间:11ms人脸比对结果:[(迪丽热巴(,0.7030987),(杨幂),0.36442137)]人脸比对结果),杨幂),0.63616204),(迪丽热巴)。1),[156,80,215,134,1]识别的人脸名字((每日热巴,杨幂)总识别时间)82ms
如果摄像机预测到了,执行以下命令:
python infer _ camera . py-camera _ id=0
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。