news 2026/6/15 16:07:46

YOLO11支持哪些任务?检测/分割/姿态全都有

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO11支持哪些任务?检测/分割/姿态全都有

YOLO11支持哪些任务?检测/分割/姿态全都有

1. 引言

YOLO11 是 Ultralytics 推出的最新一代 YOLO 系列模型,作为实时目标检测领域的持续演进成果,它在保持高速推理能力的同时,进一步拓展了多任务支持能力。与前代 YOLOv8 类似,YOLO11 并非单一模型,而是一套统一架构下的多任务计算机视觉解决方案。

本文将围绕YOLO11 支持的核心任务类型展开系统性分析,并结合实际部署环境(基于提供的镜像文档和参考博文),深入解析其在目标检测、实例分割、姿态估计等任务中的实现方式与工程实践要点。文章不涉及网络结构原理推导,重点聚焦于功能特性、使用流程与可落地的技术方案。


2. YOLO11 支持的任务概览

YOLO11 延续了 YOLOv8 的多任务设计思想,在一个统一的框架下支持多种主流视觉任务。通过切换模型头(Head)结构和训练数据格式,同一主干网络可以灵活适配不同下游任务。

2.1 支持的核心任务类型

任务类型功能描述输出内容
目标检测(Detection)定位图像中物体的位置并分类边界框(Bounding Box)、类别标签、置信度
实例分割(Segmentation)在检测基础上提供像素级轮廓掩码边界框 + 每个实例的二值掩码(Mask)
姿态估计(Pose Estimation)检测人体关键点及其连接关系边界框 + 关键点坐标(如17个COCO关键点)
图像分类(Classification)对整张图像进行类别预测图像级类别标签与置信度
OBB(旋转框检测)检测带角度的矩形框,适用于倾斜目标中心点、宽高、角度、类别

这些任务共享相同的骨干网络(Backbone)和特征金字塔结构(Neck),仅在输出头部分存在差异,因此具备高度一致的预处理、后处理逻辑,极大简化了多任务系统的开发与部署。


3. 多任务实现机制解析

3.1 统一输入预处理流程

无论执行何种任务,YOLO11 的输入预处理流程保持一致:

  • 尺寸归一化:采用 letterbox 或 warpAffine 方式将输入图像缩放到固定分辨率(如 640×640),避免变形。
  • 颜色空间转换:BGR → RGB。
  • 归一化处理:像素值从 [0, 255] 映射到 [0.0, 1.0]。
  • Tensor 转换:HWC → CHW,转为 PyTorch 张量格式。

该流程已在ultralytics/engine/predictor.py中标准化,确保所有任务共用同一套前处理代码,提升工程一致性。

def preprocess(self, im): if not isinstance(im, torch.Tensor): im = np.stack(self.pre_transform(im)) im = im[..., ::-1].transpose((0, 3, 1, 2)) # BGR to RGB, HWC to CHW im = torch.from_numpy(np.ascontiguousarray(im)) im = im.to(self.device) im = im.half() if self.model.fp16 else im.float() im /= 255.0 # 归一化 return im

提示:此预处理逻辑对所有任务通用,开发者只需实现一次即可复用。


3.2 分支化后处理逻辑

尽管输入处理统一,但不同任务的输出解码方式有所不同,主要体现在后处理阶段:

3.2.1 目标检测(Detection)

输出维度为[batch, num_boxes, 4 + num_classes],其中:

  • 前 4 项为(cx, cy, w, h),表示边界框中心与宽高;
  • num_classes项为各类别的置信度得分。

后处理步骤包括:

  1. 解码边界框(decode boxes)
  2. 应用 NMS(Non-Max Suppression)去除重叠框
  3. 映射回原始图像坐标系
results = model(img) boxes = results[0].boxes.data.tolist() # 获取检测框
3.2.2 实例分割(Segmentation)

除检测头外,额外输出掩码头(Mask Head),输出包含:

  • 检测框信息(同上)
  • 掩码原型(mask prototypes)与每个实例的掩码系数

最终通过矩阵乘法生成高分辨率二值掩码,并裁剪至对应边界框区域。

masks = results[0].masks.data # shape: [n, h, w]
3.2.3 姿态估计(Pose Estimation)

输出包含:

  • 检测框
  • 关键点热图或直接坐标回归结果(通常为 17×3,含 x, y, 可见性)

关键点会自动关联到所属的人体检测框上,便于可视化与后续动作识别。

keypoints = results[0].keypoints.data # shape: [n, 17, 3]
3.2.4 图像分类(Classification)

仅输出全局类别概率分布,无定位信息。

probs = results[0].probs.data # top-5 probabilities
3.2.5 OBB(旋转框检测)

输出为[cx, cy, w, h, angle, conf, class],支持倾斜文本、航空影像等场景。


4. 部署实践:基于 YOLO11 镜像的多任务运行

根据提供的镜像文档,用户可通过 Jupyter 或 SSH 方式进入 YOLO11 开发环境,快速验证各类任务。

4.1 环境准备

首先进入项目目录:

cd ultralytics-8.3.9/

确保已下载对应任务的预训练权重文件,例如:

  • yolo11s.pt(检测)
  • yolo11s-seg.pt(分割)
  • yolo11s-pose.pt(姿态)
  • yolo11s-cls.pt(分类)

4.2 各任务调用示例

4.2.1 目标检测
from ultralytics import YOLO model = YOLO("yolo11s.pt") results = model("ultralytics/assets/bus.jpg") for r in results: print(r.boxes) # 打印检测框 r.save("result_detect.jpg") # 保存结果图
4.2.2 实例分割
model = YOLO("yolo11s-seg.pt") results = model("ultralytics/assets/zidane.jpg") for r in results: print(r.masks) # 打印掩码 r.plot(boxes=False) # 只显示掩码 r.save("result_seg.jpg")
4.2.3 姿态估计
model = YOLO("yolo11s-pose.pt") results = model("ultralytics/assets/bus.jpg") for r in results: print(r.keypoints) # 打印关键点 r.save("result_pose.jpg")
4.2.4 图像分类
model = YOLO("yolo11s-cls.pt") results = model("ultralytics/assets/dog.jpg") for r in results: print(r.probs) # 打印分类概率 r.save("result_cls.jpg")

5. ONNX 导出与跨平台部署

为了实现高性能推理(如 TensorRT 加速),需将模型导出为 ONNX 格式。以下以检测任务为例说明导出方法。

5.1 修改源码适配 ONNX 导出

为兼容 TensorRT,需做如下修改:

修改ultralytics/engine/exporter.py
# 第400行附近 output_names = ["output"] # 统一输出节点名 dynamic = {"images": {0: "batch"}} # 仅 batch 动态
修改ultralytics/nn/modules/head.py
# forward 函数中 return y.permute(0, 2, 1) if self.export else (y, x) # 调整维度顺序

5.2 执行导出脚本

from ultralytics import YOLO model = YOLO("yolo11s.pt") success = model.export(format="onnx", dynamic=True, simplify=True)

执行后生成yolo11s.onnx,可用 Netron 查看结构:

  • 输入:images,shape[batch, 3, 640, 640]
  • 输出:output,shape[batch, 8400, 84]

注意:分割、姿态等任务导出方式相同,只需更换模型文件即可。


6. C++ 部署集成方案

参考tensorRT_Pro-YOLOv8项目,可实现 YOLO11 的高效 C++ 部署。

6.1 编译配置

支持 CMake 和 Makefile 两种方式,需设置以下路径:

lean_tensor_rt := /opt/TensorRT-8.4.1.5 lean_cudnn := /usr/local/cudnn8.4.0.27-cuda11.6 lean_opencv := /usr/local lean_cuda := /usr/local/cuda-11.6 lean_protobuf := /home/jarvis/protobuf

6.2 源码修改要点

编辑app_yolo.cpp文件:

// 注释掉其他测试 // test(Yolo::Type::V8, TRT::Mode::FP32, "yolov8s"); // 启用 YOLO11 测试 test(Yolo::Type::V11, TRT::Mode::FP32, "yolo11s"); // 自定义类别(可选) static const char *cocolabels[] = {"person", "car", "dog"};

6.3 编译与运行

make yolo -j64

成功编译后生成.trtmodel文件,并输出推理结果图像至指定目录。


7. 总结

YOLO11 作为新一代一体化视觉模型,全面支持五大核心任务:

  • 目标检测
  • 实例分割
  • 姿态估计
  • 图像分类
  • 旋转框检测(OBB)

其优势在于:

  1. 统一架构:共用 Backbone 与预处理流程,降低维护成本;
  2. 接口一致:Python API 使用方式完全相同,易于切换任务;
  3. 部署友好:ONNX 导出逻辑统一,便于跨平台加速;
  4. 生态完善:依托 Ultralytics 生态,支持训练、验证、导出全流程。

对于开发者而言,只需掌握一套基础流程,即可快速构建涵盖检测、分割、姿态等多种能力的 AI 应用系统。结合提供的 YOLO11 镜像环境,更可实现“开箱即用”的开发体验。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:51:42

Qwen_Image_Cute_Animal案例分享:生成节日主题动物图片

Qwen_Image_Cute_Animal案例分享:生成节日主题动物图片 1. 技术背景与应用场景 随着人工智能在内容创作领域的深入发展,文本到图像(Text-to-Image)生成技术正逐步走进教育、娱乐和亲子互动等场景。尤其在儿童内容生态中&#xf…

作者头像 李华
网站建设 2026/6/15 13:50:42

Qwen3-4B-Instruct-2507教程:模型服务监控告警系统

Qwen3-4B-Instruct-2507教程:模型服务监控告警系统 1. 引言 随着大语言模型在实际业务场景中的广泛应用,如何高效部署并持续监控模型服务的运行状态,已成为工程落地的关键环节。Qwen3-4B-Instruct-2507作为通义千问系列中性能优异的40亿参数…

作者头像 李华
网站建设 2026/6/15 13:50:21

一文说清工业控制为何选择QSPI接口

工业控制为何偏爱QSPI?不只是快那么简单在一座现代化的工厂里,PLC正以毫秒级响应控制着流水线上的机械臂,远程I/O模块实时采集传感器数据并上传至边缘网关。这些看似寻常的操作背后,隐藏着一个关键问题:系统是如何在资…

作者头像 李华
网站建设 2026/6/15 15:33:46

Qwen2.5-0.5B中文处理实测:云端1小时出结果,成本不到2块

Qwen2.5-0.5B中文处理实测:云端1小时出结果,成本不到2块 你是不是也遇到过这样的情况:手头有一大批中文语料要处理——可能是古籍文本、社交媒体评论、新闻报道,或者是学术论文摘要。你想做关键词提取、情感分析、文本分类&#…

作者头像 李华
网站建设 2026/6/15 13:52:07

图解说明在线电路仿真的核心要点与注意事项

在线电路仿真:从“点一下出波形”到真正理解背后的工程逻辑你有没有过这样的经历?在浏览器里搭好一个RC滤波器,点击“运行仿真”,结果波形迟迟不出现;或者输出电压直接是零,但怎么查线路都没错。你开始怀疑…

作者头像 李华
网站建设 2026/6/15 14:14:56

DeepSeek-R1-Distill-Qwen-1.5B应用指南:医疗诊断辅助系统开发

DeepSeek-R1-Distill-Qwen-1.5B应用指南:医疗诊断辅助系统开发 1. 引言 随着人工智能在医疗领域的深入应用,大语言模型(LLM)正逐步成为临床决策支持系统的重要组成部分。然而,通用大模型在专业场景中常面临推理延迟高…

作者头像 李华