窝牛号

YOLO-NAS对象检测算法再一次颠覆YOLO系列算法——已超越YOLOv8

对象检测彻底改变了机器感知和解释人类世界的方式。这是计算机视觉中一项特别关键的任务,使机器能够识别和定位图像或视频中的物体。如自动驾驶汽车、面部识别系统等。推动对象检测进步的一个关键因素是发明了神经网络架构。强大的神经网络推动了对象检测的进步,增强了计算机视觉的能力。特别是,Faster R-CNN和YOLO等架构在塑造现代物体检测架构方面发挥了重要作用。

YOLO代表You Only Look Once,是最流行和最成功的物体检测方法之一。YOLO的第一个版本于2016年推出,通过将对象检测视为单个回归问题,改变了对象检测的执行方式。它将图像划分为网格,同时预测边界框和类概率。虽然它比以前的物体检测方法更快,但YOLOv1在检测小物体方面有局限性。自从第一个YOLO架构出现以来,已经开发了几种基于YOLO的架构,YOLOv6、YOLOv7和YOLOv8是YOLO家族目前最先进的型号。

YOLO-NAS对象检测算法

新的YOLO-NAS以无与伦比的精度-速度性能提供最先进的(SOTA)性能,优于YOLOv5、YOLOv6、YOLOv7和YOLOv8等其他型号。现有的YOLO模型面临限制,如量化支持不足和准确性延迟权衡不足。YOLO-NAS模型在包括COCO、Objects365和Roboflow 100在内的知名数据集上进行了预训练,使其非常适合生产环境中的下游对象检测任务。YOLO-NAS的发布在对象检测模型的推理性能和效率方面实现了重大飞跃,解决了传统模型的局限性,并为各种任务和硬件提供了前所未有的适应性。

YOLO-NAS对象检测算法新功能

YOLO-NAS模型的架构是使用Deci的专有NAS技术AutoNAC“发现的”。该引擎用于确定阶段的最佳尺寸和结构,包括块类型、块数量和每个阶段的通道数量。在整个NAS搜索空间中,有1014种可能的架构配置。作为硬件和数据感知,AutoNAC引擎考虑了推理堆栈中的所有组件,包括编译器和量化,并磨练成一个被称为“效率前沿”的区域,以找到最佳模型。在整个NAS过程中,量化感知RepVGG(QA-RepVGG)块被纳入模型架构,保证模型与训练后量化(PTQ)的兼容性。使用由QA-RepVGG块组成的量化感知“QSP”和“QCI”模块,提供8位量化和重新参数化的好处是在PTQ期间将精度损失降至最低。研究人员还使用混合量化方法,选择性地量化特定层,以优化准确性和延迟权衡,同时保持整体性能。YOLO-NAS模型还使用注意力机制和时间推理参数化来提高物体检测能力。

YOLO-NAS的多阶段训练过程包括关于Object365、COCO伪标签数据、知识蒸馏(KD)和分配焦点损失(DFL)的预训练。该模型在Objects365上进行了预训练,Objects365是一个拥有200万张图像和365类别的综合数据集。COCO数据集提供了额外的123k张无标签图像,用于生成伪标记数据。在COCO上训练一个准确模型来标记这些图像,然后用原始的118k图像来训练YOLO-NAS模型。

YOLO-NAS架构还结合了知识蒸馏(KD)和分配焦点损失(DFL),以增强其训练过程。

YOLO-NAS对象检测算法代码实现

在使用YOLO-NAS前,我们依然按照标准的代码规范,先安装第三方库,主要库如下

!pip install fastcore -U !pip install super-gradients==3.1.0 !pip install imutils !pip install roboflow !pip install pytube --upgrade

安装完成后,我们就可以使用YOLO-NAS来进行对象检测的操作了。

from super_gradients.training import models yolo_nas_l = models.get(&34;, pretrained_weights=&34;)

然后我们初始化一个对象检测model,并加载coco预训练模型,一旦我们配置好了模型,便可以进行对象检测了,对象检测可以使用如下类型进行图片或者视频的检测。

&39;&39;&39; yolo_nas_l.predict(url, conf=0.25).show()

我们可以使用predict方法进行对象检测,传递的参数一个是需要检测的对象(图片,视频即可,当然也可以是一个URL地址),另外一个是置信度。检测完成后,最后使用show方法显示检测后的结果。

模型的检测主要是如下步骤:

输入图像通过预处理管道,其中包括图像大小调整、标准化和permute操作,以将输入RGB图像转换为tensor张量。模型推断检测结果的后期处理(非最大抑制,将边界框调整为原始图像的大小)结果的可视化(图像顶部边界框的渲染)

当然模型同样支持视频的检测,我们只需要把图片的地址换成视频的地址即可

import torch device = &39; if torch.cuda.is_available()else &39; yolo_nas_l.to(device).predict(&39;).save(&39;) 开源地址: #https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md

下表罗列了YOLO系列模型的对比参数,从参数来看,其YOLO-NAS模型的参数量与精度,延迟参数以及AP都是目前最好的。

在计算机视觉和深度学习领域的不懈研究和创新的推动下,对象检测最先进的(SOTA)模型也在不断发展。虽然目前YOLO系列模型是目前对象检测算法最好的模型,但是未来随着深度学习框架的不断发展,相信还会出现越来越多,越来越好的对象检测模型。

其他YOLO模型文章参考:

YOLO对象检测算法又又又更新了,YOLOv8横空出世

高大上的YOLOV3对象检测算法,使用python也可轻松实现

使用python轻松实现高大上的YOLOV4对象检测算法

基于python的YOLOV5对象检测模型实现

人工智能领域也卷了吗——YOLO系列又被刷新了,YOLOv7横空出世

YOLOv7与MediaPipe在人体姿态估计上的对比

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除

窝牛号 wwww.93ysy.com   沪ICP备2021036305号-1