《------往期经典推荐------》
二、机器学习实战专栏【链接】 ,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】,持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~
《------正文------》
目录
引言
目标检测一直是计算机视觉的基石,使机器能够识别和定位图像或视频中的目标。

检测物体是计算机视觉的主要组成部分之一,因为它允许机器识别和定位图像或视频中的物体。YOLO系列模型由于其最佳的速度和准确性而一直在该领域占据主导地位。YOLO 12版本的推出再次改变了YOLO的传统架构。这个新推出的版本增加了一个基于注意力的架构,并摆脱了标准的基于CNN的方法,同时坚持实时推理速度,这使得YOLO模型对于自动驾驶,监控和机器人技术至关重要。
在本文中,我们将仔细研究YOLOv12及其最显着的功能、性能指标和一些实际应用程序。
YOLOv12概述
YOLOv12是物体检测技术的一次重大飞跃。与其前身主要是卷积神经网络(CNN)不同,YOLOv12具有基于注意力的架构。这种转变使模型能够更有效地处理大的感受野,从而在不牺牲实时性能的情况下提高准确性。
该模型的设计围绕着三个核心创新:
- 区域注意力机制:一种新的自我注意方法,在保持大的有效感受野的同时降低计算成本。
- 剩余有效层聚合网络(R-ELAN):一个增强的特征聚合模块,可解决大规模模型中的优化挑战。
- 优化的注意力架构(Optimized Attention Architecture):一种简化的注意力机制,可最大限度地减少内存开销并提高计算效率。
这些创新使YOLOv12能够支持广泛的计算机视觉任务,包括对象检测、实例分割、图像分类、姿态估计和定向对象检测(OBB)。
YOLOv12的主要特点
1.区域注意力机制
传统的自注意机制在计算上是昂贵的,特别是在高分辨率特征图的情况下。YOLOv12引入了区域注意力机制,将特征图水平或垂直地划分为相等大小的块(默认为4个)。该技术避免了复杂的操作,同时保持了大的有效感受野,显著降低了计算费用。
例如,在大小不同的多对象场景中,区域注意力机制使模型能够有效地关注相关区域,而无需额外的计算。这在自动驾驶汽车等实时场景中特别有用,其中物体检测必须准确和快速。
2.剩余有效层聚合网络(R-ELAN)
特征聚合在目标检测中至关重要,它允许模型有效地将层间信息联合收割机组合。YOLOv 12集成了R-ELAN,这是一种改进的ELAN模块,包括:
- 带缩放的块级残差连接:这些连接稳定了训练,特别是在较大的模型中。
- 重新设计的功能聚合:一个类似于优化功能集成的结构。
R-ELAN确保模型可以更有效地提取和聚合特征,从而提高检测精度。
3.优化的注意力架构
YOLOv12简化了标准的注意力机制,使其更高效,并与YOLO框架兼容。关键优化包括:
- FlashAttention:减少内存访问开销,使模型更快,内存效率更高。
- 去除位置编码:简化模型并提高速度。
- 调整后的MLP比率:平衡注意力和前馈层之间的计算。
- 7x7可分离卷积:充当"位置感知器",隐式编码位置信息。
这些优化确保了YOLOv12与以前的模型相比以更少的参数实现更高的准确性。
性能度量
YOLOv12在所有模型尺度上的准确性都有显着提高。
关键要点:
- 与之前的YOLO型号相比,YOLOv12实现了更高的mAP(平均精度)。
- 该模型保持实时推理速度,使其适合需要快速决策的应用程序。
- YOLOv12在准确性和计算效率之间取得了很好的平衡。
使用方法
YOLOv12的设计是用户友好的,支持各种任务和模式(推理,验证,训练和导出)。下面是如何使用YOLOv12进行对象检测的示例:
1.训练YOLOv12模型
要在自定义数据集上训练YOLOv12模型,您可以使用以下Python代码:
python
from ultralytics import YOLO
# Load a pretrained YOLO12n model
model = YOLO("yolo12n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
2.运行推理
训练后,您可以使用模型对新图像执行目标检测:
python
# Run inference on an image
results = model("path/to/bus.jpg")
# Display the results
results.show()
3.模型导出
YOLOv12支持将模型导出为各种格式进行部署:
python
# Export the model to ONNX format
model.export(format="onnx")
YOLOv12的关键改进
1.增强的特征提取
- 区域注意力:有效处理大的感受野,降低计算成本。
- R-ELAN:改进特征聚合,从而提高检测精度。
2.优化创新
- 剩余连接:在较大的模型中稳定训练。
- FlashAttention:减少内存开销,提高速度和效率。
3.架构效率
- 减少参数:用更少的参数实现更高的精度。
- 流线型注意力:简化注意力机制,以实现更快的推理。
YOLOv12要求
要使用YOLOv12,您需要:
- 兼容的NVIDIA GPU(Turing、Ampere、Ada Lovelace或Hopper架构)。
- 安装了PyTorch和Ultralytics库。
- 可选:FlashAttention用于进一步优化。
结论
YOLOv 12代表了对象检测的架构转变,将注意力机制的力量与YOLO框架的效率相结合。其区域注意力机制 ,R-ELAN架构 和优化的注意力设计使其成为实时应用的最先进模型。无论您是在自动驾驶汽车、监控系统还是机器人领域工作,YOLOv 12都能提供您在计算机视觉领域保持领先所需的准确性和速度。

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!