社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

【深度学习】如何评价Ultralytics出的YOLOv11?

机器学习初学者 • 1 周前 • 6 次点击  
声明:仅做学术分享,侵删

Ultralytics推出了YOLOv11,官方给出的速度、精度指标也都比YOLOv8要高,如何评价YOLOv11?实际效果如何?

作者:MoonCancer

https://www.zhihu.com/question/694696741/answer/3984007543?utm_psn=1833950673340882945

形象的体现了某个task卷无可卷之后会发展成什么样

作者:Rocky Ding

https://www.zhihu.com/question/694696741/answer/3998991306?utm_psn=1833949765836075008

YOLOv11的发布,预示着传统深度学习时代的彻底落幕。

YOLO系列从传统深度学习巅峰时期的技术推动力量,逐渐转变成传统深度学习各方势力收益的获取工具。

作者:圈圈虫

https://www.zhihu.com/question/694696741/answer/3861567276?utm_psn=1833942735385661441

Ultralytics 的上一个官方版本是 2023年1月发布的 YOLOv8 系列,已经过去了1年多了。那么 YOLO11 作为最新官方版本都有哪些更新呢?

强化特征提取:YOLO11 采用了改进的后端和颈部架构,增强了特征提取能力,从而实现更精确的物体检测和更复杂的任务执行;

2 优化效率与速度:YOLO11 引入了经过改进的架构设计和优化的训练流程,实现了更快的处理速度,并保持了准确性和性能之间的最佳平衡;

3 更精准、更少参数:随着模型设计的进步,YOLO11m 在 COCO 数据集上的平均精确度(mAP)更高,同时使用了比 YOLOv8m 少 22% 的参数,在不牺牲精度的情况下提高了计算效率;

4 跨环境适应性:YOLO11 可以在各种环境中无缝部署,包括边缘设备、云平台以及支持 NVIDIA GPU 的系统,确保最大限度的灵活性(这句话非常认可,因为在 AX650N 上直接用 YOLOv8 的 sample 就能运行);

5 YOLO11 支持多种任务:无论是目标检测、实例分割、图像分类、姿态估计还是定向对象检测(OBB),YOLO11 的设计旨在满足各种计算机视觉挑战。(本文只介绍目标检测任务的部署)

图片

新增了 C2PSA 模块用于特征增强,其实就是一个小的 Self-Attention

图片

作者:Onedroid

https://www.zhihu.com/question/694696741/answer/3863995333?utm_psn=1833945921450299392

1  修复了yolov8 c2f最后一个卷积前既有concat,又有residual 的冗余问题. 具体看这个issue github.com/ultralytics/..., 官方采用的是抛弃concat,保留residual的操作,调整架构再训练,确实更有性价比。为什么c2f的设计不合理,有兴趣可以参考这个文章 Onedroid:YoloV8 C2f模块冗余残差问题 

2 bottleneck变成真正的bottleneck了,中间层通道冗余有所缓解,类似LoRA的情况。不过实现仍然很奇葩,既不是resnetv1,也不是resnetv2的模块。

qwq 今天师兄跟我说,公司里面已经把sp+sg做到在手机上能跑60帧了。。。我现在感觉可能传统方法能保留的领地真的越来越少了。

3  模块第一个1x1卷积分成两个1x1 卷积,而不是一个卷积后再split,可以和torch-pruning工具无缝衔接了。Torch-Pruning/examples/yolov8 at master · VainF/Torch-Pruning,链接里(https://github.com/VainF/Torch-Pruning/tree/master/examples/yolov8)为了容易剪枝也是这么实现的,分成两个卷积在一些硬件上确实能更快。如果不需要用torch-pruning继续剪枝,建议两种实现方法都用用看,测试在部署硬件上哪个更快。毕竟部署还要量化,数据量被缩放了,在加上硬件读写和计算能力对这两种实现都会有影响,实测优先,毕竟不同的平台,硬件参数不同。之前在剪yolov8n的时候懒得转换回去,保留两个卷积的实现方式,发现更快了,量化后也更快。这其实也提供了一个实用的加速思路,分块不一定是两个,每一层情况都不一样,有的层可能无法加速。测试每一层的最优分块数,可能会有加速的空间

模块设计正常多了,效果和速度提升应该不假。

补充一下, Torch-Pruning/examples/yolov8 at master · VainF/Torch-Pruning, 这个(https://github.com/VainF/Torch-Pruning/tree/master/examples/yolov8)prune yolov8的代码文件只是保证能用这个工具合法剪枝,并不保证效果,还得自己改代码(选择哪些层需要修剪,选什么剪枝算法)。如果效果不太好,建议保留前几层和检测头且冻结参数,即保留网络首尾,只裁剪和训练网络中间部分。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/179508
 
6 次点击