首页 / 资讯中心 / 文章详情

深度学习:目标检测算法——YOLO 系列演进

深度学习:目标检测算法——YOLO 系列演进 ★ FEATURED ARTICLE
引言分类只回答图里有什么检测还要回答在哪、有几个。从自动驾驶识别行人到工厂流水线挑次品目标检测是计算机视觉最能直接产生商业价值的任务之一。本篇用一条主线——YOLO 如何把检测做到实时——串起整个领域的演进并给你一份拿来即用的 YOLOv8 训练脚本。一、两阶段与单阶段对比目标检测的两大范式本质是精度 vs 速度的取舍范式代表流程特点两阶段Two-stageR-CNN / Fast / Faster R-CNN先提候选区域Region Proposal再分类回归精度高、速度慢单阶段One-stageYOLO / SSD / RetinaNet一步直接预测框和类别速度快、工程友好Faster R-CNN用区域提议网络RPN替代了 Selective Search把两阶段速度提了一个量级但仍是先找框再认物。YOLO则把整张图当作一个回归问题一次前向就出结果把实时变成了可能。二、YOLO 各版本关键改进版本年份关键贡献一句话记忆点YOLOv12015网格划分 单次回归实时检测的奠基者YOLOv2/v32016/2018Anchor、Darknet-19/53、多尺度预测v3 终于能抓小目标YOLOv42020Bag of Freebies/Specials、CSP、Mosaic训练技巧大礼包YOLOv52020PyTorch 重写、工程化极佳工业落地首选之一YOLOv82023无锚框 head、统一检测/分割/分类当前最易上手的版本核心演进线索从有锚框到无锚框Anchor-free早期靠人工设定 anchor 尺寸v8 改为直接预测框中心偏移减少了超参敏感。多尺度FPN/PAN让浅层负责大目标、深层负责小目标缓解小物体漏检。训练策略Mosaic 增强、CIoU 损失等免费提升精度的技巧是 v4 之后工程化的精髓。三、精度与速度权衡模型量级mAP0.5典型区间推理速度 FPS典型区间场景YOLOv8n~37%~150边缘设备YOLOv8s~44%~80通用实时YOLOv8m/l~50%~40/20高精度服务端Faster R-CNN~38%~5~15精度优先、不计较速度注数值随数据集与硬件浮动非本机实测仅作量级参考。选型铁律——边缘要 n/s服务端要 m/l。四、YOLOv8 自定义训练实战Ultralytics 把 YOLO 封装得极简下面是一份可直接跑的示例需pip install ultralytics。4.1 数据格式YOLO txt每张图对应一个.txt每行class_id center_x center_y width height坐标均归一化到 0~1。目录结构dataset/ images/train/ images/val/ labels/train/ labels/val/ data.yaml data.yaml path: ./dataset train: images/train val: images/val nc: 2 names: [cat, dog]4.2 训练与推理from ultralytics import YOLO ​ # 加载预训练权重nano 版适合快速验证 model YOLO(yolov8n.pt) ​ # 训练 imagen 增强、余弦调度都在内部默认开启 results model.train( datadataset/data.yaml, epochs100, imgsz640, batch16, nameexp1, ) ​ # 验证 metrics model.val() print(metrics.box.map) # mAP ​ # 推理 pred model(test.jpg) pred[0].show() # 可视化框这套流程覆盖了标注转换、训练、验证、推理部署的完整闭环是工业落地最快的入口。五、DETR 等新范式Transformer 也杀进了检测。DETRDetection Transformer用集合预测 二分图匹配彻底去掉了 anchor 和 NMS端到端更优雅但训练慢、小目标弱。后续的Deformable DETR用可变形注意力解决了收敛慢的问题。当前格局YOLO 系仍是实时场景霸主DETR 系在端到端/无 NMS 场景有独特优势二者在互相借鉴如 YOLO 也引入注意力模块。六、选型建议要实时、要落地YOLOv8n/s 上边缘m/l 上服务端。精度优先、不计较帧率Faster R-CNN / Cascade R-CNN。想要端到端无 NMS上 DETR 系。数据极少先用 COCO 预训练权重做迁移呼应第 13 篇再在你的数据集上微调。总结目标检测的十年是把框预测做得更快更准的十年。YOLO 用单阶段范式把实时变成标配v8 的无锚框 head 又把工程门槛降到最低。本文的 Ultralytics 实战代码可直接套你的数据——先把预训练权重跑通再谈优化。考资料Redmon, J., et al. (2016).You Only Look Once: Unified, Real-Time Object Detection(YOLOv1).Redmon, J., Farhadi, A. (2018).YOLOv3: An Incremental Improvement.Ultralytics YOLOv8 官方文档YOLO Object Detection Segmentation | UltralyticsCarion, N., et al. (2020).End-to-End Object Detection with Transformers(DETR).
阅读完成 · 觉得有帮助?
咨询建站