YOLOv8 模型输入尺寸设置与最佳实践
YOLO(尤其是 Ultralytics YOLOv8)对输入图片的尺寸没有严格固定值,但有核心的「默认尺寸」「最佳实践」和「尺寸规则」。这里梳理一下具体细节。
一、核心默认尺寸
YOLO 系列的默认输入尺寸为 640×640 像素(正方形),这是 Ultralytics 官方推荐的基础尺寸。对应代码或命令中的参数如下:
- 推理时:
model.predict(source='img.jpg', imgsz=640) - 训练时:
model.train(data='coco.yaml', imgsz=640)
二、尺寸规则
-
尺寸需是 32 的整数倍 YOLO 的网络结构包含多次 32 倍下采样(如 640→320→160→80→40→20→10)。输入尺寸必须能被 32 整除,否则会导致特征图尺寸不匹配,报错或精度下降。 ✅ 合法尺寸:320、416、640、800、960、1280(常用) ❌ 非法尺寸:600、700、801(无法被 32 整除)
-
支持非正方形尺寸(YOLOv8+) YOLOv8 及后续版本支持「矩形推理/训练」(非正方形),只需保证宽高均为 32 的整数倍即可。例如:
- 480×640(适配手机竖屏图)
- 800×1280(适配宽屏图)
命令示例:
model.predict(imgsz=[480, 640])([高,宽])
三、不同模型不同尺寸的适用场景
| 模型类型 | 具体型号 | 核心特性 | 适用图片大小(imgsz) | 适用场景 | 速度/精度特点(CPU/单卡 GPU) | 参数量 (M) | FLOPs(G) |
|---|---|---|---|---|---|---|---|
| 基础检测模型 | YOLOv8n (nano) | 极致轻量化,网络深度/宽度最小,推理最快 | 320×320、416×416(推荐);≤640×640 | 移动端/嵌入式设备(如树莓派、手机)、实时性优先的低算力场景(如摄像头实时检测) | GPU:~300 FPS,CPU:~20 FPS;精度最低(mAP50≈65) | 3.2 | 8.7 |
| YOLOv8s (small) | 平衡轻量化与精度,基础版中性价比最高 | 416×416、640×640(推荐);≤800×800 | 通用场景(如安防监控、普通目标检测)、边缘设备(如工业相机) | GPU:~200 FPS,CPU:~15 FPS;精度中等(mAP50≈72) | 11.2 | 28.6 | |
| YOLOv8m (medium) | 中等规模,深度/宽度提升,精度显著提高 |

