YOLO 是 Joseph Redmon 等人于 2015 年提出的基于单个神经网络的目标检测算法。YOLO 的全称是 You Only Look Once,正是其自身特点的高度概括。
YOLOv8 是 Ultralytics 在 2023 年初推出的一个重大更新版本,建立在以前 YOLO 版本成功的基础上,基于深度学习和计算机视觉的前沿进展,采用最先进的 SOTA 模型,引入了新的功能和改进,进一步提升了目标检测的性能和灵活性,提供了无与伦比的速度和准确性。
YOLOv8 的精简设计使其适用于各种应用,并且可以轻松适应不同的硬件平台,从边缘设备到云 API,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
YOLOv8 共有 5 个不同大小的预训练模型,由小到大分别是 n、s、m、l 和 x,模型越大其检测效果越好,但模型越大参数量越大、运行速度越慢,训练时需要消耗的资源也越多。
复现环境
- 操作系统:Windows11
- 软件工具:PyCharm2023 + Anaconda3
参考来源
- 官方文档:docs.ultralytics.com/
- 开源仓库:github.com/ultralytics...
- 预训练权重:github.com/ultralytics...
前期准备
- 从开源仓库下载源码:
- 下载最小模型的预训练权重文件:
- 将权重文件直接放在 ultralytics 仓库下即可:
配置环境
- 打开 Anaconda Prompt,创建一个新环境,官方要求 Python 版本要大于 3.8:
shell
conda create -n env_yolov8 python==3.9
- 提示要下载一些包,输入 y 继续:
- 等待包下载完毕,环境创建完成:
- 激活新创建的环境:
shell
conda activate env_yolov8
- 输入 nvidia-smi 查看 GPU 支持的最高 CUDA 版本:
- 下载 Pytorch,打开官网:pytorch.org/
- CUDA 版本选择 12.1,复制下载命令:
- 粘贴到 Anaconda Prompt 运行下载命令:
- 等待下载完成,下载时间略长:
- 用 PyCharm 打开 YOLOv8 源码:
- 点击右下角 Python 解释器-->添加新的解释器-->添加本地解释器:
- 切换到我们新创建的环境:
- 打开 Pycharm 终端:
-
输入命令下载 ultralytics 包:
pip install ultralytics
- 如果下载速度较慢,可换用清华源下载:
arduino
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/
- 等待下载完成:
复现功能
- 复现目标检测功能,直接在终端运行命令:
shell
yolo predict model=yolov8n.pt source=./ultralytics/assets/bus.jpg
- 运行结果在 run 文件夹 detect 里:
- 复现实例分割功能,直接在终端运行命令:
shell
yolo predict model=yolov8n-seg.pt source=./ultralytics/assets/bus.jpg
- 运行结果在 run 文件夹 segment 里:
- 复现姿态检测功能,直接在终端运行命令:
shell
yolo predict model=yolov8n-pose.pt source=./ultralytics/assets/bus.jpg
- 运行结果在 run 文件夹 pose 里:
模型训练
- 未完待续......