卷积神经网络识别人脸项目—使用百度飞桨ai计算

该文详细介绍了使用卷积神经网络进行人脸识别的项目步骤,包括数据集准备、模型训练、模型转换和模型推理。通过LabelImg工具对人脸图片打标签,使用PaddleYOLO进行训练,然后利用OpenVINO进行模型转换和推理,实现性别识别功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卷积神经网络识别人脸项目的详细过程

整个项目需要的准备文件:
下载链接:
链接:https://pan.baidu.com/s/1WEndfi14EhVh-8Vvt62I_w
提取码:7777
链接:https://pan.baidu.com/s/10weqx3r_zbS5gNEq-xGrzg
提取码:7777

1、模型推理文件

在这里插入图片描述

2、模型转换文件

在这里插入图片描述

1、数据集准备

数据集的文件夹格式如下图:一共两个文件夹

images文件夹装所有的图片,图片需随机打乱和编号
在这里插入图片描述

labels文件夹内是对图片进行打标签操作的标签

在这里插入图片描述

打标签使用的是labelimg,安装过程可自行百度

open Dir是打开存放图片的路径,我们这里就是images文件夹

Change Save Dir是存放标签的路径,我们这里选择labels文件夹

打标签模式选择YOLO

然后点击Create RectBox选择关键位置就可以打标签了。

在这里插入图片描述

然后是上一级文件夹格式:

其中sex文件夹包括了上面两个文件夹

classes.txt是打标签是生成的,包括了标签的顺序和种类,这里的男女识别classes.txt内部就是:

man

woman

gen.py是用于随机提取出训练集和测试集

运行gen.py后,生成了train.txt,val.txt两个txt

train.txt就是训练集,包括了训练集的图片路径名称

val.txt同理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pVbSEcox-1689495250366)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716111500162.png)]

然后来到主文件夹中:

在这里插入图片描述

点击路径,运行cmd:
在这里插入图片描述

运行python yolov5_2_coco.py ,生成的文件夹保存到相应路径中

python yolov5_2_coco.py --dir_path D:\Pycharm\code\YOLO2COCO\dataset\YOLOV5

在这里插入图片描述

打包数据集,然后压缩后上传到百度飞桨ai数据集平台

在这里插入图片描述

2、模型训练

点击创建项目:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dUdGgNWz-1689495250370)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716121747564.png)]

在这里插入图片描述

项目创建成功后,启动环境,选择一个GPU:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cpE6hFmC-1689495250371)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716122037028.png)]

新建一个notebook文件,然后重命名为ppyoloe

在这里插入图片描述

上传PaddleYOLO文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0lJYBIUJ-1689495250372)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716122458800.png)]

然后将上传的文件重命名为PaddleYOLO

然后进入此文件夹

cd /home/aistudio/PaddleYOLO

在这里插入图片描述

然后根据自己的模型实际情况,修改下图文件,num_classes是分类的种类,这里一共两种,所以改为2

dataset/sex是存放数据的位置,按实际情况修改,我这里是男女识别数据集,所以文件夹命名为sex

因为配置文件中要求数据放到dataset/sex里面,所以需要把数据集放置到此处。

新建一个mask文件夹,把解压过后的数据文件夹拖到mask里面。

粘贴到dataset文件夹下,注意红色框的路径。

如果想要修改迭代次数,在此处修改:

/home/aistudio/PaddleYOLO/configs/ppyoloe/_base_/optimizer_80e.yml

epoch: 40 表示迭代次数为40次

在这里插入图片描述

输入下列代码,开始训练

第二行代码如果出错,权限不够,后面加上 --user

pip install -r requirements.txt --user

模型训练标志,此时是0 epoch

在这里插入图片描述

等待40次迭代完成:

在这里插入图片描述

训练完毕后,需要导出训练数据文件:

!python tools/export_model.py -c configs/ppyoloe/ppyoloe_plus_crn_s_80e_coco.yml -o weights=/home/aistudio/PaddleYOLO/output/ppyoloe_plus_crn_s_80e_coco/model_final.pdparams

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QlvXe2NL-1689495250376)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716143851858.png)]

导出成功后,保存在以下路径中:

/home/aistudio/PaddleYOLO/output_inference/ppyoloe_plus_crn_s_80e_coco

在这里插入图片描述

然后下载以下的四个文件到电脑中:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dsgYtujP-1689495250377)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716123546754.png)]

3、模型转换

将上一步获得的四个文件放入下图的文件夹中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oyx5Cju8-1689495250379)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230716135057966.png)]

进入模型可视化网站查看模型:Netron 选择模型

在这里插入图片描述
在这里插入图片描述

然后进行模型剪枝,在如下目录下打开cmd:

在这里插入图片描述

运行这个模型剪枝文件

在这里插入图片描述

python prune_paddle_model.py --model_dir ppyoloe_crn_s_80 --model_filename model.pdmodel --params_filename model.pdiparams --output_names tmp_16 concat_14.tmp_0 --save_dir export_model

img

运行过后新增一个减支完成的模型文件夹

在这里插入图片描述

然后进行模型转换,把Paddle模型转换为onnx,需要在环境中提前安装好paddle2onnx。

执行以下命令进行模型转换:

paddle2onnx --model_dir export_model --model_filename model.pdmodel --params_filename model.pdiparams --input_shape_dict "{'image':[1,3,640,640]}" --opset_version 11 --save_file ppyoloe_crn_s_80.onnx

在这里插入图片描述

执行生成的ppyoloe_crn_s_80.onnx

在这里插入图片描述

mo --input_model ppyoloe_crn_s_80.onnx

在这里插入图片描述

执行结果如下:

在这里插入图片描述

4、模型推理

增加一个文件labels.txt,内容是我们的标签,注意存放路径

在这里插入图片描述

增加一个inference.ipynb用于编写推理代码,注意存放路径

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值