
介绍和入门Ultralytics YOLO 是一系列用于实时计算机视觉的模型支持对象检测、实例分割、语义分割、深度估计、分类、姿态估计、定向边界框和追踪可以通过一个 Python 包和 CLI 使用。YOLO26 基于深度学习和计算机视觉的进展构建具备端到端免 NMS 推理和优化的边缘部署特性。其精简的设计使其适用于各种应用并能轻松适应从边缘设备到云端 API 的不同硬件平台。对于稳定的生产工作负载同时推荐使用 YOLO26 和 YOLO11。Ultralytics YOLO is a family of real-time computer vision models for object detection, instance segmentation, semantic segmentation, depth estimation, classification, pose estimation, oriented bounding boxes, and tracking, available through one Python package and CLI. YOLO26 is built on deep learning and computer vision advancements, featuring end-to-end NMS-free inference and optimized edge deployment. Its streamlined design makes it suitable for various applications and easily adaptable to different hardware platforms, from edge devices to cloud APIs. For stable production workloads, both YOLO26 and YOLO11 are recommended.本文全面介绍YOLOYou Only Look Once实时目标检测算法的入门使用指南。首先阐述YOLO的核心原理——将目标检测转化为单一回归问题实现高速检测接着详细说明YOLO11系列模型的下载方法、不同后缀n/s/m/l/x的含义及适用场景然后提供Python环境配置和安装步骤最后重点讲解三种使用方式命令行快速检测图片/视频/摄像头、Python代码集成开发以及模型导出ncnn/tflite/coreml格式用于移动端部署。无论您是初学者还是开发者都能通过本文快速上手YOLO实战应用。YOLO即You Only Look Once是一种基于深度学习的实时目标检测算法其核心理念在于将目标检测任务转化为一个单一的回归问题从输入图像直接预测目标的类别和边界框。YOLO的关键在于其单阶段的设计这与传统的两阶段检测器形成鲜明对比两阶段检测器如Faster R-CNN首先生成候选区域然后对这些区域进行分类和边界框回归虽然这种方法在精度上有优势但速度相对较慢。YOLO的设计简化了这一流程使得目标检测的速度得到了极大的提升。YOLO算法将图像分成S×S的网格每个网格负责预测一定数量的边界框以及这些框内物体的置信度和类别通过一次性完成检测和分类YOLO在速度上远远超过了以往的目标检测方法特别是在实时应用中表现尤为出色。1.模型下载打开官网地址下载如下五个yolo11模型yolo11n.pt yolo11n-cls.pt yolo11n-obb.pt yolo11n-pose.pt yolo11n-seg.pt后缀含义nano → small → medium → large → extra‑large不只是模型文件大小是整套网络规模缩放。后缀-全称参数量mAP (精度)推理速度适用场景n Nano 超轻量最小最低最快嵌入式、手机、边缘设备、实时视频s Small 小型小低‑中很快普通 PC、摄像头实时检测工程最常用m Medium 中型中等中等中等PC兼顾速度精度训练自定义数据集首选l Large 大型大高较慢GPU 环境追求更高检测效果x Extra‑Large 超大最大最高最慢高性能 GPU做精度优先不考虑速度模型文件后缀任务名称作用输出内容yolo11n.pt无后缀目标检测detect最常用框出物体 边界框 (x1,y1,x2,y2) 类别 置信度yolo11n‑cls.ptcls classify图像分类整张图片属于哪一类不画框直接输出图片各个类别的概率yolo11n‑seg.ptseg segment实例分割检测物体 抠出物体轮廓掩码检测框 类别 像素级掩码 maskyolo11n‑pose.ptpose姿态估计人体关键点识别人体关键点骨骼点位人体框 17 个人体关节点坐标yolo11n‑obb.ptobb旋转框检测Oriented Bounding Box 检测倾斜物体旋转矩形框旋转角度的框 (x,y,w,h,角度)适合文本、倾斜工件使用 pycharm 创建python项目安装yolopipinstallultralytics如果国内下载慢用清华镜像pipinstallultralytics-ihttps://pypi.tuna.tsinghua.edu.cn/simple标题快速使用3 种方式命令行 / Python 代码 / 训练自己数据集方式 A命令行最简单不用写代码①图片推理# 自动下载yolo11n.pt对图片检测yolo detect predictmodelyolo11n.ptsourcetest.jpg运行完结果保存在 runs/detect/predict 文件夹。②视频 / 摄像头推理# 本地视频文件yolo detect predictmodelyolo11n.ptsourcevideo.mp4# 电脑摄像头 0代表摄像头设备号yolo detect predictmodelyolo11n.ptsource0③导出模型给手机用重点# 导出ncnn安卓手机用yoloexportmodelyolo11n.ptformatncnnimgsz640# 导出tfliteyoloexportmodelyolo11n.ptformattfliteimgsz640# 导出coreml苹果手机yoloexportmodelyolo11n.ptformatcoremlimgsz640下载现成 Demo APKncnn‑android‑yolo11直接安装到安卓手机替换内置模型文件即可测试摄像头实时检测。生成的如下4个文件metadata.yaml model.ncnn.bin model.ncnn.param model_ncnn.py方式 BPython 代码调用项目开发用新建 yolo_demo.pyfromultralyticsimportYOLO# 加载模型首次运行自动下载yolo11n.ptmodelYOLO(yolo11n.pt)# 1.图片推理resultsmodel(test.jpg)forresinresults:res.show()# 弹窗显示图片结果res.save()# 保存到runs文件夹# 2.视频推理# results model(test.mp4)# 3.摄像头实时# results model(source0, streamTrue)# for res in results:# res.show()结果对象常用属性forresinresults:boxesres.boxes# 所有检测框xyxyboxes.xyxy.cpu().numpy()# 框坐标 [x1,y1,x2,y2]confboxes.conf.cpu().numpy()# 置信度clsboxes.cls.cpu().numpy()# 类别id训练自己的数据集准备数据集YOLO 格式datasets/my_data/ ├─images │ ├─train │ └─val └─labels ├─train └─val my_data.yamlmy_data.yaml 示例path:../datasets/my_datatrain:images/trainval:images/valnames:0:person1:car启动训练# python方式modelYOLO(yolo11n.pt)model.train(datamy_data.yaml,epochs100,imgsz640,batch8)训练产物保存在 runs/detect/train最好权重 best.pt。训练完成后用自己模型推理modelYOLO(runs/detect/train/weights/best.pt)model(test.jpg)epochs100作用训练总轮数1 个 epoch 把全部训练集完整过一遍epochs100完整循环遍历全部图片 100 次。不是越大越好太小欠拟合模型学不够太大过拟合死记训练图片测试效果差YOLO 自带早停patience如果验证集指标连续多轮不提升会自动停止不用硬跑满 100 轮。imgsz640image‑size作用输入网络的图像分辨率像素。imgsz640训练时所有图片统一缩放为 640×640 送入模型。要点原图不一定是 640内部会做等比例缩放 补灰边不会拉伸变形。数值越大细节保留更好、显存占用变高、训练速度变慢。推理预测 model.predict() 尽量用和训练一样的 imgsz。常用640 (平衡)800 (高精度吃显存)320 (速度快精度低)batch8batch‑size作用批次大小每一轮迭代同时喂给模型的图片数量。batch8一次同时输入 8 张图片做梯度更新。受显卡显存约束显存越大可以设置更大 batch显存不够会报 CUDA out of memory需要调小 batch可以写batch-1YOLO 自动寻找最大可用 batch。经验8G 显存batch4~812G 显存batch8‑1624G 显存batch16‑32