yolo目标检测项目-人脸识别

本文基于课堂学习要求,完成yolo目标检测实验报告,并分享自己操作流程。实验代码由老师提供,包括YOLO算法代码“yolov4-pytorch-master”和框图程序“labelImg_exe”两部分。

一、实验准备 

1.准备数据集 

本人准备了120张人像图片,存储在指定路径。

yolov4-pytorch-master\VOCdevkit\VOC2007\JPEGImages

2.标签图像

使用框图程序“labelImg_exe”为训练集标签。

首先修改predefined_classes.txt(路径:labelImg_exe\data)文件中的标签信息,用于标注图片。

之后就可以打开labelImg_exe程序为每张图片进行标签。点击“Open Dir”打开训练集(yolov4-pytorch-master\VOCdevkit\VOC2007\JPEGImages),点击“Chang Save Dir”将保存路径修改为yolov4-pytorch-master\VOCdevkit\VOC2007\Annotations。点击“Create\nRectBox ”框选图片并添加标签。点击“Save”保存标签。每次框选后都需要手动保存。

保存后的标签文件。

二、训练模型

首先修改coco_classes.txt和voc_classes.txt文本文件,将里面的标签名改为前面设置的标签名。之后运行voc_annotation.py文件生成2007_train.txt和2007_val.txt。注意voc_annotation.py文件中的参数annotation_mode的取值要设置为0。

 现在就可以开始运行train.py文件训练模型。代码会训练数据集300次,每10次会生成1个模型,还会自动保存效果最优模型best_epoch_weights.pth(存储路径为yolov4-pytorch-master\logs\best_epoch_weights.pth),此外还生成了epoch_loss.png损失曲线图和epoch_map.png平均精度曲线图。

三、模型预测

模型预测需要用到yolo.py文件和predict.py文件。yolo.py文件需要修改"model_path",将其修改为'logs/best_epoch_weights.pth'。之后即可运行predict.py文件。

输入测试图片路径。

### YOLOv8 面部识别实现与教程 #### 关于YOLOv8简介 YOLO (You Only Look Once) 是一种流行的实时目标检测框架,其版本不断更新优化。YOLOv8作为最新迭代,在速度和准确性方面都有显著提升[^4]。 #### 实现面部识别的方法概述 为了利用YOLOv8执行面部识别任务,通常流程涉及模型训练、数据准备以及推理阶段: - **数据集构建** 构建高质量的人脸图像数据库至关重要。该库应包含多样化样本以覆盖不同角度、光照条件等因素影响下的脸部外观变化情况。 - **预处理操作** 对采集到的数据实施标准化处理措施,比如调整大小至统一尺寸、灰度化转换或是色彩空间变换等步骤来增强算法鲁棒性并减少计算量开销。 - **模型微调(Fine-tuning)** 使用特定领域内的标注好边界框位置的脸孔图片集合对预先训练好的通用物体探测器进行再学习过程;此环节旨在让网络学会专注于识别人类面孔而非其他类别对象。 - **评估指标设定** 定义恰当的效果评测标准如精确率(Precision),召回率(Recall), F1-Score 或者 mAP(Mean Average Precision) 来衡量最终成果的好坏程度,并据此指导后续改进方向的选择决策。 #### Python代码实例展示如何加载预训练权重文件并预测未知输入中的所有人面区域: ```python from ultralytics import YOLO # 加载官方发布的yolov8n.pt小型版预训练参数配置 model = YOLO('yolov8n-face.pt') source_image_path = "path_to_your_test_image.jpg" results = model(source_image_path) for r in results: boxes = r.boxes.cpu().numpy() for box in boxes: r_cls = int(box.cls[0]) if class_names[r_cls] == 'face': # 假设class_names是一个映射索引到标签名称列表 print(f"Detected {class_names[r_cls]} with confidence {box.conf[0]:.2f}") ``` 上述脚本片段展示了怎样通过Python接口快速上手体验基于YOLOv8架构的目标检测能力,特别是针对人脸识别应用场景的具体实践方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值