好久没有更新博客了,最近将陆续更新目标检测的一些列文章,包括YOLO 、 RT-DETR、DETR / DINO / Grounding DINO等。今天将介绍YOLO发展历史和相关的特点
YOLO凭借“实时性、高精度、易部署”的优势,已广泛应用于计算机视觉的各类实际场景,覆盖工业、交通、安防、医疗等多个领域,成为落地最广泛的目标检测算法之一,以下是核心应用场景:
YOLO应用场景
1. 智能安防领域(最成熟场景)
核心应用:实时监控、异常行为检测、人员计数、违禁品检测(如刀具、易燃易爆物品)。例如,商场、小区、园区的监控摄像头,通过YOLO实时检测行人、车辆,识别异常行为(如闯入禁区、徘徊、斗殴),及时发出预警;机场、火车站的安检口,检测乘客携带的违禁品,提升安检效率。
优势:实时性强,可在普通摄像头中实时运行,无需高性能硬件;精度高,能准确识别复杂背景下的目标,减少误报、漏报。
2. 交通领域(核心落地场景)
核心应用:交通违章检测(闯红灯、超速、不按导向行驶、压线)、交通流量统计、车辆识别(车型、车牌)、行人礼让检测、自动驾驶感知。例如,城市路口的电子警察,通过YOLO实时检测车辆违章行为,自动抓拍取证;自动驾驶汽车的感知系统,通过YOLO检测前方车辆、行人、交通标志、标线,为决策提供依据。
延伸应用:智能停车系统,检测车位占用情况,引导车辆停车;交通拥堵预测,通过流量统计分析拥堵趋势。
3. 工业领域(智能制造核心)
核心应用:产品缺陷检测(如零件划痕、变形、缺料)、生产流水线监控、工件定位、物料计数。例如,电子厂的流水线,通过YOLO实时检测电路板、芯片的缺陷,替代人工检测,提升检测效率和精度;汽车制造厂的流水线,检测汽车零部件的安装是否到位,避免不合格产品出厂。
优势:可适配工业流水线的高速运行场景(实时检测),能识别微小缺陷,降低人工成本,提升生产质量。
4. 医疗领域(辅助诊断)
核心应用:医学影像检测(如CT、X光图像中的病灶检测、肿瘤识别)、细胞检测(如癌细胞识别)、医疗器械定位。例如,通过YOLO检测CT图像中的肺部结节、肝癌病灶,辅助医生快速诊断,减少漏诊;检测病理切片中的癌细胞,提升诊断效率。
注意:医疗领域对精度要求极高,需基于大量标注精准的医学数据训练,且需结合医生经验进行验证,目前多作为辅助诊断工具。
5. 其他主流场景
-
农业领域:作物病虫害检测(识别作物叶片的病虫害区域)、果实计数(统计果树挂果数量)、杂草识别,助力智慧农业。
-
零售领域:货架商品检测(检测商品是否缺货、摆放是否规范)、顾客行为分析(统计客流量、顾客停留时间),优化零售运营。
-
机器人领域:机器人视觉导航、目标抓取,通过YOLO检测周围环境和目标物体,实现机器人的自主导航和抓取操作。
-
边缘计算/物联网:基于轻量化YOLO模型(如YOLO8n、YOLO26),部署在边缘网关、物联网设备上,实现端侧实时检测(如智能摄像头、 wearable设备)
-
YOLO安装
PIP安装:pip install -U ultralytics
2 conda安装:conda install -c conda-forge ultralytics
3 源码安装:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .
验证是否安装成功 yolo predict model=yolo26n.pt source=bus.jpg,其中yolo26n.pt为官网下载的预训练模型
YYOLO使用
根据官网提供的例子,下面这段代码就能只用yolo进行日常的训练和预测了
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo26n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo26n.pt")
# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to ONNX format
success = model.export(format="onnx")
YOLO26改进点
你可能会想——为什么从 YOLO13 直接跳到 YOLO26?
此次命名并非按顺序排列,而是具有象征意义:它代表了 Ultralytics 对“26”的愿景——一个为应对 2025 年及以后的挑战而打造的模型,强调边缘部署、简洁性和多功能性。与其说是版本号,不如说是产品名称的更新.
1. 不再像 YOLOv10 那样使用 NMS,YOLO26 完全从推理中移除了非最大值抑制,使部署更加简洁快速,尤其是在低功耗设备上。
2. YOLO26 不再使用 DFL ,它摒弃了自 YOLOv8 以来一直使用的分布焦点损失 (DFL)技术。DFL 虽然提高了准确率,但也增加了计算开销并提高了导出复杂度。YOLO26 无需 DFL 即可达到类似的准确率。
3. 渐进损失平衡 (ProgLoss) — 更智能的训练:渐进损失平衡会在训练过程中动态调整模型对不同类型错误的权重。这可以防止模型过度拟合简单、常见的对象,而忽略罕见或较小的对象。
4. STAL — 小物体得到关爱 小目标感知标签分配专门改进了模型处理微小物体的方式——这是 YOLO 模型长期以来的弱点。
5. MuSGD 优化器一种新型优化器,旨在训练过程中实现稳定收敛,使 YOLO26 更容易可靠地训练。

2314

被折叠的 条评论
为什么被折叠?



