当前位置:   article > 正文

YOLOV5目标检测模型识别人脸_yolov5 人脸检测

yolov5 人脸检测

一、模型下载并配置环境

GitHub下载YOLOV5的官方源码(https://github.com/ultralytics/yolov5),然后在pychram终端输入pip install -r requirements.txt命令安装所需的依赖库。

二、数据集准备并标注

网上下载白敬亭和赵丽颖两人图片,
使用LabelImg软件对人物头部使用矩形框
选择并打上标签BaiJingTing或ZhaoLiYing。
标注完会生成相关标注文件,再将原
图像和标注文件按照8:2划分为训练
集和验证集。
在这里插入图片描述

三、调整模型参数

修改data目录下的相应的voc.yaml文件。箭头1中需要将训练和测试的数据集的路径填上;箭头2中需要检测的类别数,我这里是识别白敬亭和赵丽颖,所以这里填写2;最后箭头3中填写需要识别的类别的名字(必须是英文,否则会乱码识别不出来)。
在这里插入图片描述
修改models目录下的yolov5s.yaml文件中的相应参数,只需要修改如图中的数字就好了,这里是识别两个类别。
在这里插入图片描述

四、调整训练数据时的相关参数

首先是模型的训练轮次epochs,为了节省时间且能反应计算机性能和结果准确度,我们选择100轮,batch-size就是一次往GPU塞多少张图片了,决定了显存占用大小,workers指数据装载时cpu所使用的线程数。后两者需要根据自己电脑的CPU和GPU大小进行合理设置,以达到最佳性能。
在这里插入图片描述
如果workers设置不对,会出现GPU显存溢出的报错
在这里插入图片描述
通过设置device参数,可以选择训练所使用的是GPU还是CPU。
在这里插入图片描述

五、CPU训练过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
CPU训练完成,100轮次花费约6个小时

六、GPU训练过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
GPU训练完成,100轮次训练花费0.84小时(约50分钟)。

七、检测结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
给定一张图片,能够识别出是白敬亭还是赵丽颖,并给出其头部位置和识别置信度

八、CPU与GPU分析

在这里插入图片描述
GPU(图像处理器)和CPU(中央处理器)在设计上的主要差异在于GPU有更多的运算单元(如图中绿色的ALU),而Control和Cache单元不如CPU多,这是因为GPU在进行并行计算的时候每个运算单元都是执行相同的程序,而不需要太多的控制。Cache单元是用来做数据缓存的,CPU可以通过Cache来减少存取主内存的次数,也就是减少内存延迟。GPU中Cache很小或者没有,因为GPU可以通过并行计算的方式来减少内存延迟。因此CPU的Cahce设计主要是实现低延迟,Control主要是通用性,复杂的逻辑控制单元可以保证CPU高效分发任务和指令。
所以CPU擅长逻辑控制,是串行计算,而GPU擅长高强度计算,是并行计算。GPU加速是通过大量线程并行实现的。而CPU则是串行操作,需要很强的通用性,主要起到统管和分配任务的作用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/575132
推荐阅读
相关标签
  

闽ICP备14008679号