【yolo实战入门——使用yolo完成你的第一个目标检测实例】
·
yolo简介
yolo是一个高效的目标检测框架,首次提出是在2016年的论文《You Only Look Once: Unified, Real-Time Object Detection》。
优点
- 实时性
- 整体监测准确性:将对象检测视为一个单一的全卷积神经网络(CNN)任务,而不是分阶段的处理
核心思想
- 将图像分成固定大小的网格(grid cells)
- 每个网格负责预测几个边界框(bounding boxes)以及这些框内的对象类别概率
- 只需要对图像进行一次前向传播(inference)就可以得到所有对象的检测结果,这种方法使得YOLO能够快速处理图像
历史
- YOLO有多个版本,从最初的YOLOv1到后续的YOLOv2、YOLOv3、YOLOv4和最新的YOLOv5。每个版本都在速度和精度之间进行了优化
- YOLOv2引入了锚框(anchor boxes)来改进小物体检测
- YOLOv3引入了更大的输入尺寸和更多的卷积层,以及多尺度检测
- YOLOv4则进一步优化了架构和训练策略
- YOLOv5则采用了更现代的网络设计,如Mish激活函数和数据增强技术,以提高性能
实战
直接在Python中引入YOLOv5并运行官方的演示(demo),需要安装YOLOv5框架和依赖项。从GitHub仓库下载源码并使用requirements.txt文件来安装必要的Python库
步骤
1.下载YOLOv5源码
使用git clone或者直接下载,git clone直接输入指令git clone https://github.com/ultralytics/yolov5.git,直接下载则进入https://github.com/ultralytics/yolov5下载
2.安装依赖
- 进入源码目录
cd yolov5 - 安装依赖:
pip install -r requirements.txt - 运行官方Demo: YOLOv5提供了一个detect.py脚本来进行对象检测。可以直接运行这个脚本,并指定一个图像或视频文件作为输入。如果想要检测data/images/bus.jpg,直接输入
python detect.py --weights yolov5s.pt --img 640 --conf 0.5 --source data/images/bus.jpg
这里的--weights参数是预训练模型的路径,--img是输入图像的大小,--conf是置信度阈值,--source是要检测的图像或视频文件。
如果想要从摄像头运行实时检测,可以输入python detect.py --weights yolov5s.pt --img 640 --conf 0.5 --source 0,程序会默认使用摄像头。
yolov5s.pt是预训练模型的权重文件,可以根据需要下载不同的模型文件进行替换,实现行人检测等功能。
更多推荐


所有评论(0)