计算机系统应用教程网站

网站首页 > 技术文章 正文

YoloX大升级:阿里巴巴提出新框架,超越Yolov6和PPYoloE(附源代码)

btikc 2024-09-02 16:50:00 技术文章 13 ℃ 0 评论

关注并星标

从此不迷路

计算机视觉研究院

公众号IDComputerVisionGzq

学习群扫码在主页获取加入方式

代码地址: https://github. com/alibaba/EasyCV

计算机视觉研究院专栏

作者:Edison_G

最新阿里巴巴研究员,基于自研平台,对YoloX检测框架进行了改进,并且效率更快,超越了Yolov6和PP-YoloE等网络。


01

概述


EasyCV是阿里巴巴开源的基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具。EasyCV在阿里巴巴集团内支撑了搜索、淘系、优酷、飞猪等多个BU业务,同时也在阿里云上服务了若干企业客户,通过平台化组件的形式,满足客户自定定制化模型、解决业务问题的需求。

此外,基于PAI团队多年积累的深度学习训练、推理加速技术,在EasyCV中也集成了IO优化,模型训练加速、量化裁剪等功能,在性能上具备自己的优势。基于阿里云的PAI产品生态,用户可以方便地进行模型管理、在线服务部署、大规模离线推理任务。

将YOLO检测器切换为无锚方式,并采用其他先进的检测技术,即解耦头和领先的标签分配策略SimOTA,以在大范围的模型中实现最先进的结果:对于只有0.91M参数和1.08GFLOPs的YOLO Nano,我们在COCO上获得25.3%的AP,超过NanoDet 1.8%的AP;对于工业上使用最广泛的探测器之一YOLOv3,我们在COCO上将其AP提高到47.3%,比当前的最佳做法高出3.0%AP;对于与YOLOv4 CSP、YOLOv5-L参数量大致相同的YOLOX-L,我们在COCO上以68.9 FPS的速度在Tesla V100上实现了50.0%的AP,超过了YOLOv5-L 1.8%的AP。

考虑到EasyCV的一些特性:

  • 丰富完善的自监督算法体系:囊括业界有代表性的图像自监督算法SimCLR, MoCO, Swav, Moby, DINO等,以及基于mask图像预训练方法MAE,同时提供了详细的benchmark工具及复现结果。

  • 丰富的预训练模型库:提供丰富的预训练模型,在以transformer模型为主的基础上,也包含了主流的CNN 模型, 支持ImageNet预训练和自监督预训练。兼容PytorchImageModels支持更为丰富的视觉Transformer backbone。

  • 易用性和可扩展性 :支持配置方式、API调用方式进行训练、评估、模型导出;框架采用主流的模块化设计,灵活可扩展。

  • 高性能 :支持多机多卡训练和评估,fp16训练加速。针对自监督场景数据量大的特点,利用DALI和TFRecord文件进行IO方面的加速。对接阿里云机器学习PAI平台训练加速、模型推理优化。

研究者基于EasyCV引入了YoloX-PAI,各种实验得出了影响YoloX的元素,并且提供了PAI-Blade,一种简单的实现方式,用于加速基于BladeDISC和TensorRT的推理过程。


02

新框架


主干网络
新框架的主干网络还是引用Yolov6的,也是使用RepVGG-based,一个3x3卷积block代替multi-branch structure,有利于节约推理时间,并且提升了检测结果。
Neck

研究者使用了两种方式来提升Neck的性能,主要为:1)用于特征增强的自适应空间特征融合(ASFF)以及优化版本(ASFF-Sim);2)GSConv,一种轻量级的卷积块,主要为了降低计算成本。

Head

研究者主要通过注意力机制来增强检测头,借鉴了Transform框架中的机制,主要为了协调物体检测和分类两个分支的任务,上图已经展示了检测头,使用stem模块来加内存通道数,然后有一组类间卷积层来获取类间特征图,然后根据不同任务自适应获取超参数。

PAI-Blade

通过统一的流程在不同框架上自动完成多样化的优化策略

  • Performance: 优异的执行性能仍然是我们考虑的最主要问题;没有性能的优化工具,不拥有价值。

  • Generality: 广泛的通用性能够适配更多场景,同时提供更多的开发和部署自由。

    • 支持 TensorFlow/PyTorch/ONNX

    • 支持多样的加速硬件,包括 GPU/CPU/DCU 等等

    • 支持不同的加速方案,BladeDISC/TensorRT/TVM/MNN 等等

  • Usability and Robustness: 易用性和鲁棒性能够降低用户的学习成本在生产系统中集成的成本。

    • 统一的简洁的 API

    • 最大程度的自动化

    • 轻量的集成负担(仅需要几行代码)

PAI-Blade 和以往其他的工具主要的不同点在于它不仅仅考虑性能,而是更加强调性能、通用性、易用性与鲁棒性的协同设计。


03

实验



? THE END

转载请联系本公众号获得授权

计算机视觉研究院学习群等你加入!

ABOUT

计算机视觉研究院


计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!


VX:2311123606



??

  • Yolov7:最新最快的实时检测框架,最详细分析解释(附源代码)



  • ONNX 浅析:如何加速深度学习算法工程化?


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表