【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南 标签 :YOLO26模型选型目标检测实例分割姿态估计难度 :⭐⭐ |阅读时长 :约 55 分钟 |系列 :第 04/12 集前置 :03 第一次预测 |下一集 :05 数据准备
写在前面 很多人一上来就yolo26x.pt猛训,结果发现:要么显存爆炸,要么速度不够。问题往往不在代码,而在「任务选错、模型选大」 。
本集帮你建立选型框架:你的业务需要哪种 CV 任务?该用 n/s/m/l/x 哪一档?
本集学习目标 文章目录 【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南 写在前面 本集学习目标 4.1 七大任务全景 4.2 目标检测 (Detection) 4.3 实例分割与姿态估计 4.4 YOLO26 模型家族 命名规则 五档性能对比(COCO 检测) 任务-模型对应 4.5 YOLO26 核心创新 4.6 选型决策树 4.7 踩坑指南 4.8 常见问题 FAQ 4.9 本集小结 4.1 七大任务全景 任务 模型后缀 输入 输出 典型场景 目标检测 无 图/视频 框+类别 安防、自动驾驶 实例分割 -seg图/视频 像素掩码 医学、抠图 语义分割 -sem图 每像素类别 场景理解 图像分类 -cls图 类别概率 质检、审核 姿态估计 -pose图/视频 关键点 健身、体育 旋转检测 -obb图 带角度框 航拍、文档 深度估计 -depth图 深度图 AR、机器人
同一张图,不同任务输出: 检测: ┌───┐ 分割: ████████ 姿态: ●─●─● │🚗│ ████████ │ │ │ └───┘ ████████ ● ● 矩形框 精确轮廓 关键点4.2 目标检测 (Detection) from ultralyticsimport YOLO model= YOLO( "yolo26n.pt" ) results= model( "street.jpg" ) for boxin results[ 0 ] . boxes: print ( f" { model. names[ int ( box. cls[ 0 ] ) ] } : { float ( box. conf[ 0 ] ) : .2f } " ) COCO 预训练 80 类 ,涵盖人、车、动物、家具等日常物体。
4.3 实例分割与姿态估计 检测 vs 分割 检测 分割 输出 矩形框 像素级掩码 精度 粗略 精确 速度 更快 稍慢 场景 通用 需精确轮廓
# 分割 model= YOLO( "yolo26n-seg.pt" ) results= model( "image.jpg" ) if results[ 0 ] . masks: print ( f"掩码数: { len ( results[ 0 ] . masks) } " ) 姿态估计(17 关键点) model= YOLO( "yolo26n-pose.pt" ) results= model( "person.jpg" ) if results[ 0 ] . keypointsis not None : print ( f"检测到 { len ( results[ 0 ] . keypoints) } 人" ) 4.4 YOLO26 模型家族 命名规则 yolo26{n/s/m/l/x}[-task].pt │ │ │ └── -seg / -pose / -cls / -obb / -depth └── n最小 → x最大五档性能对比(COCO 检测) 模型 mAP50-95 T4(ms) 参数 场景 n 40.9 1.7 2.4M 树莓派、实时 s 48.6 2.5 9.5M 手机、嵌入式 m 53.1 4.7 20.4M 通用首选 l 55.0 6.2 24.8M 高精度 x 57.5 11.8 55.7M 服务器离线
任务-模型对应 任务 加载示例 检测 YOLO("yolo26n.pt")分割 YOLO("yolo26n-seg.pt")姿态 YOLO("yolo26n-pose.pt")分类 YOLO("yolo26n-cls.pt")OBB YOLO("yolo26n-obb.pt")深度 YOLO("yolo26n-depth.pt")
4.5 YOLO26 核心创新 创新 说明 价值 端到端无 NMS 一对一头直接输出 部署简单 无 DFL 简化检测头 导出友好 MuSGD 混合优化器 训练稳定 STAL 小目标增强 远距离检测更好
双头架构 model= YOLO( "yolo26n.pt" ) # 默认:一对一头,无需 NMS(推荐部署) results= model. predict( "image.jpg" ) # 一对多头,需 NMS,精度略高 results= model. predict( "image.jpg" , end2end= False ) 检测头 输出 NMS 场景 一对一(默认) (N,300,6) 不需要 生产部署 一对多 (N,nc+4,8400) 需要 精度优先
4.6 选型决策树 场景 推荐 理由 树莓派/Jetson Nano yolo26n 资源受限 手机 App yolo26n/s 平衡 安防监控 yolo26s/m 实时+精度 工业质检 yolo26m/l 精度优先 科研/离线 yolo26x 最高 mAP
实战:同图对比 from ultralyticsimport YOLOimport time image= "test.jpg" for sizein [ "n" , "s" , "m" ] : model= YOLO( f"yolo26 { size} .pt" ) t0= time. time( ) results= model( image, verbose= False ) elapsed= ( time. time( ) - t0) * 1000 n= len ( results[ 0 ] . boxes) print ( f"yolo26 { size} : { n} 个目标, { elapsed: .1f } ms" ) 4.7 踩坑指南 坑 解决 一上来就用 x 档 先用 n 验证流程,再换大模型 检测任务加载-seg模型 后缀必须匹配任务 以为越大越好 需平衡速度、显存、精度 忽略-pose只能检人 姿态模型针对人体关键点
4.8 常见问题 FAQ Q1:YOLO26 和 YOLO11 怎么选? A:新项目用 YOLO26;老项目不必强行迁移。
Q2:n 和 s 差距大吗? A:mAP 差约 8 点,速度差约 0.8ms,按场景权衡。
Q3:能混用不同任务的模型吗? A:可以分别加载,但不能一个模型同时做检测+分割。
4.9 本集小结 速度 ←――――――――――――――→ 精度 n(2.4M) s(9.5M) m(20M) l(25M) x(56M)需求 选 知道有什么在哪 Detection 精确轮廓 -seg 人体动作 -pose 航拍倾斜目标 -obb