YOLOv8 是 Ultralytics 公司开发的最新目标检测模型,属于 YOLO (You Only Look Once) 系列的最新版本,以其高效和准确著称。
高性能:在速度和精度之间取得了更好的平衡
多功能:支持目标检测、实例分割和图像分类
用户友好:简化了 API 设计,更易于使用
可扩展性:支持从移动端到云端的多种部署场景
更高的检测精度
更快的推理速度
更小的模型体积
更简单的训练流程
YOLOv8 提供不同大小的模型以适应不同需求:
YOLOv8n (nano):最小的模型,适合移动设备
YOLOv8s (small):平衡速度和精度
YOLOv8m (medium)
YOLOv8l (large)
YOLOv8x (extra large):最大的模型,精度最高
实时视频分析
自动驾驶
工业质检
安防监控
医学影像分析
YOLOv8 凭借其出色的性能和易用性,已成为当前计算机视觉领域最受欢迎的目标检测框架之一。
YOLO官网:主页 -Ultralytics YOLO 文档
# 加载预训练模型
# 安装第三方库:ultralytics
# pip install ultralytics -y
# 导包:from ultralytics import TOLO
from ultralytics import YOLO
# 1、加载模型
# 加载预训练模型
# yolov8n.pt是官方提供的基础测试和训练模型
# 首次运行自动下载。
a1 = YOLO('yolov8n.pt')
# 2、检测目标
# show=True 显示检测结果
# save=True 保存检测结果
a1(source='1.png', show=True, save=True)
# 检测网络图片、视频
from ultralytics import YOLO
a1 = YOLO('D:\pyCharm\AI\yolov8n.pt')
#YOLO的优势/特点 :按照每帧(1秒 =60帧)来检测目标
a1(source=r'D:\pyCharm\AI\素材\3.wmv', show=True, save=True)
#检测目标可以传入·图片·视频·(本地或者网络链接)
# 准备数据集结构文件
# 根目录创建1个文件夹(可自定义名称)
# 下面创建再2个文件夹(images和labels)
# images和labels 下再分别创建2个文件夹(train和val)
# 井timages下的train和val 放入训练图片(png、jpg)# labels下的train和val 放入图片标注(txt)
# 创建数据集配置yaml文件
#案例: 创建文件gao.yaml
path: D:\pyCharm\AI\shizan #数据集根目录
train: images/train #训练图片路径
val: images/val #验证集图片路径
nc: 5 #类别数量
names: ['宋江','卢俊义','吴用','公孙胜','花荣'] #类别名称
#开始训练模型
from ultralytics import YOLO
# windoss下设置中文字体
import matplotlib as mpl
mpl.rcParams['font.family'] = 'SimHei' # 使用黑体
#加载预训练模型
a1 = YOLO('yolov8n.pt')
#开始训练模型
a1.train(
data='gao.yaml', #数据集配置文件路径
epochs=100, #训练轮次
imgsz=640, #输入图片尺寸 官方推荐640
batch=32, #每次训练的批量
device='cpu' #GPU= 0 CPU='cpu'
)
print('模型训练完毕')
from ultralytics import YOLO
from ultralytics.utils.plotting import Annotator # ✅ 使用新版导入方式
# 设置全局样式
Annotator.font_size = 30 # 字体大小
Annotator.line_width = 2 # 边界框线条宽度
# 加载训练好的模型
model = YOLO(r'D:\pyCharm\AI\runs\detect\train11\weights\best.pt')
# 目标检测
model.predict(
source='D:\pyCharm\AI\素材\水浒传.wmv',
show=True, # 实时显示检测结果
save=True, # 保存检测后的视频
conf=0.5, # 置信度阈值(可选)
imgsz=640 # 推理尺寸(可选)
)
#模型训练完毕自动保存到:\runs\detect\train2\weights
#best.pt 是训练好的最优模型(适用于最终应用)
#last.pt 是训练的最后一轮模型(适用于训练继续)
#继续训练上一次模型(last.pt)
from ultralytics import YOLO
# windoss下设置中文字体
import matplotlib as mpl
mpl.rcParams['font.family'] = 'SimHei' # 使用黑体
#加载last.pt 模型(在\runs\detect\train2\weights目录里面加载last.pt模型)
a1 = YOLO(r'D:\pyCharm\AI\runs\detect\train7\weights\last.pt')
#开始训练模型
a1.train(
data='gao.yaml', #数据集配置文件路径
epochs=300, #训练轮次
imgsz=640, #输入图片尺寸 官方推荐640
batch=32, #每次训练的批量
device='cpu' #GPU= 0 CPU='cpu'
)
print('last.pt模型训练完毕')
#手动下载字体文件然后放到指定文件目录
直接下载链接:访问 Ultralytics 提供的字体文件 URL:
https://ultralytics.com/assets/Arial.Unicode.ttf
(如果链接失效,可以尝试在 GitHub 或其他字体网站搜索 Arial Unicode.ttf)
#放置字体文件到目标目录
根据你的输出提示,Ultralytics 期望字体文件位于:
C:\Users\Administrator\AppData\Roaming\Ultralytics\Arial.Unicode.ttf