使用transformer的YOLOv7及TensorRT部署

简介: 使用transformer的YOLOv7及TensorRT部署

最近在github上看到一个博主开源的YOLOv7仓库都惊呆了,YOLOv6都还没出来怎么就到YOLOv7了稍微看了下,原来作者是基于这两年来很火的transformer做的检测和分割模型,测试的效果都非常棒,比YOLOv5效果好很多。由此可见,基于Transformer based的检测模型才是未来。你会发现它学到的东西非常合理,比从一大堆boudingbox里面选择概率的范式要好一点。话不多说,先上代码链接:

https://github.com/jinfagang/yolov

1ca26529931c44238bc248a5627b7c3a.png

   开源的YOLOv7功能很强大,支持 YOLO, DETR, AnchorDETR等等。作者声称发现很多开源检测框架,比如YOLOv5、EfficientDetection都有自己的弱点。例如,YOLOv5实际上设计过度,太多混乱的代码。更令人惊讶的是,pytorch中至少有20多个不同版本的YOLOv3-YOLOv4的重新实现,其中99.99%是完全错误的,你既不能训练你的数据集,也不能使其与原paper相比。所以有了作者开源的这个仓库!该repo 支持DETR等模型的ONNX导出,并且可以进行tensorrt推理

 

    该repo提供了以下的工作:

  • YOLOv4 contained with CSP-Darknet53;
  • YOLOv7 arch with resnets backbone;
  • GridMask augmentation from PP-YOLO included;
  • Mosiac transform supported with a custom datasetmapper;
  • YOLOv7 arch Swin-Transformer support (higher accuracy but lower speed);
  • RandomColorDistortion, RandomExpand, RandomCrop, RandomFlip;
  • CIoU loss (DIoU, GIoU) and label smoothing (from YOLOv5 & YOLOv4);
  • YOLOv7 Res2net + FPN supported;
  • Pyramid Vision Transformer v2 (PVTv2) supported
  • YOLOX s,m,l backbone and PAFPN added, we have a new combination of YOLOX backbone and pafpn;
  • YOLOv7 with Res2Net-v1d backbone, we found res2net-v1d have a better accuracy then darknet53;
  • Added PPYOLOv2 PAN neck with SPP and dropblock;
  • YOLOX arch added, now you can train YOLOX model (anchor free yolo) as well;
  • DETR: transformer based detection model and onnx export supported, as well as TensorRT acceleration;
  • AnchorDETR: Faster converge version of detr, now supported!

   仓库提供了快速检测Quick start和train自己数据集的代码及操作流程,也提供了许多预训练模型可供下载,读者可依据自己的需要选择下载对应的检测模型。

6fb819a8118e43ab648a9c38044dd6fd.png

快速运行demo代码


python3 demo.py --config-file configs/wearmask/darknet53.yaml --input ./datasets/wearmask/images/val2017 --opts MODEL.WEIGHTS output/model_0009999.pth

实例分割


python demo.py --config-file configs/coco/sparseinst/sparse_inst_r50vd_giam_aug.yaml --video-input ~/Movies/Videos/86277963_nb2-1-80.flv -c 0.4 --opts MODEL.WEIGHTS weights/sparse_inst_r50vd_giam_aug_8bc5b3.pth

基于detectron2新推出的LazyConfig系统,使用LazyConfig模型运行


python3 demo_lazyconfig.py --config-file configs/new_baselines/panoptic_fpn_regnetx_0.4g.py --opts train.init_checkpoint=output/model_0004999.pth

训练数据集


python train_net.py --config-file configs/coco/darknet53.yaml --num-gpus 1

如果你想训练YOLOX,使用 config file configs/coco/yolox_s.yaml

导出 ONNX && TensorRT && TVM


detr

python export_onnx.py --config-file detr/config/file

SparseInst

python export_onnx.py --config-file configs/coco/sparseinst/sparse_inst_r50_giam_aug.yaml --video-input ~/Videos/a.flv  --opts MODEL.WEIGHTS weights/sparse_inst_r50_giam_aug_2b7d68.pth INPUT.MIN_SIZE_TEST 512

具体的操作流程可以去原仓库看,都有详细的解析!

检测结果


6399be06364b17ad810f6835d47ed45c.png

0f86ed9d6a43e027b70fc68831f72999.png

026dc4f2f51e5ce3be1a6523cd7248eb.png

参考链接


[1]https://manaai.cn/aisolution_detail.html?id=7

[2]https://github.com/jinfagang/yolov7

相关文章
|
3月前
|
人工智能 弹性计算 自然语言处理
还不会部署OpenClaw?阿里云推出五种OpenClaw快速部署方案,一键拥有专属AI助理!
OpenClaw(原Moltbot/Clawdbot)是开源AI代理平台,支持自然语言交互、任务自动化与多工具集成。阿里云推出5种零门槛部署方案——轻量服务器、无影云电脑(企业/个人版)、AgentBay嵌入、ECS云服务器,覆盖小白到专家全场景,一键启用专属AI助理!
1140 6
|
11月前
|
编解码 数据格式
全国高精度土壤可蚀性因子分布数据
土壤可蚀性因子(K因子)反映土壤在降雨下的抗侵蚀能力,是通用土壤流失方程(USLE/RUSLE)的关键参数。其值越高,土壤越易被侵蚀。K因子与土壤质地、有机质含量、结构及渗透性密切相关,广泛应用于土壤侵蚀风险评估、生态工程规划和土地利用影响分析。地理遥感生态网提供全国高精度K因子数据产品,支持多种分辨率和格式,覆盖全国陆地范围,适用于多时序研究(2000-2024年)。
|
传感器 人工智能 编解码
一文彻底拿捏PCB的发展历程
本文回顾了印制电路板(PCB)从20世纪初至今的发展历程,详述了各阶段的关键技术突破及其对电子产业的影响。从早期的手工焊接到现代的高密度互连(HDI)、柔性PCB和智能化集成,PCB技术不断演进,满足了电子设备小型化、高性能的需求,并推动了全球电子产业的快速发展。文章还探讨了环保制造工艺和可持续发展的趋势。
608 1
|
Java 微服务
小唐竟然这样配置idea springboot 微服务批量启动!佩服
小唐竟然这样配置idea springboot 微服务批量启动!佩服
486 0
小唐竟然这样配置idea springboot 微服务批量启动!佩服
|
机器学习/深度学习 自然语言处理 并行计算
多头注意力机制介绍
【10月更文挑战第4天】
|
消息中间件 Java Kafka
|
弹性计算 Kubernetes 开发者
利用容器化技术实现跨平台部署的Web应用开发
本文将介绍如何利用容器化技术,例如Docker和Kubernetes,实现跨平台部署的Web应用开发。我们将探讨容器化的优势以及如何使用Docker容器打包应用程序,然后利用Kubernetes进行管理和部署。通过容器化技术,开发者可以更加便捷地进行Web应用的开发、测试和部署,提高开发效率和应用的可靠性。
|
Linux
CentOS7.8和CentOS7.9的区别
【4月更文挑战第14天】CentOS7.8和CentOS7.9的区别
1865 2
|
Ubuntu 安全 Linux
linux系统详细安装过程,都在这里了
linux系统详细安装过程,都在这里了
444 0