【camera】YOLOV7实现实例分割+目标检测任务

代码下载地址

训练、测试、量化、部署代码

训练

For training, quite simple, same as detectron2:

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

If you want train YOLOX, you can using config file configs/coco/yolox_s.yaml. All support arch are:

  • YOLOX: anchor free yolo;
  • YOLOv7: traditional yolo with some explorations, mainly focus on loss experiments;
  • YOLOv7P: traditional yolo merged with decent arch from YOLOX;
  • YOLOMask: arch do detection and segmentation at the same time (tbd);
  • YOLOInsSeg: instance segmentation based on YOLO detection (tbd);

Demo

Run a quick demo would be like:

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

Run SparseInst:

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

an update based on detectron2 newly introduced LazyConfig system, run with a LazyConfig model using:

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

预训练模型

model backbone input aug APval AP FPS weights
SparseInst R-50 640 32.8 - 44.3 model
SparseInst R-50-vd 640 34.1 - 42.6 model
SparseInst (G-IAM) R-50 608 33.4 - 44.6 model
SparseInst (G-IAM) R-50 608 34.2 34.7 44.6 model
SparseInst (G-IAM) R-50-DCN 608 36.4 36.8 41.6 model
SparseInst (G-IAM) R-50-vd 608 35.6 36.1 42.8 model
SparseInst (G-IAM) R-50-vd-DCN 608 37.4 37.9 40.0 model
SparseInst (G-IAM) R-50-vd-DCN 640 37.7 38.1 39.3 model

部署

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

this works has been done, inference script included inside tools.

  1. AnchorDETR:

anchorDETR also supported training and exporting to ONNX.

效果

Here is a dedicated performance compare with other packages.

tbd.

支持的任务列表

  • YOLOv4 contained with CSP-Darknet53;
  • YOLOv7 arch with resnets backbone;
  • YOLOv7 arch with resnet-vd backbone (likely as PP-YOLO), deformable conv, Mish etc;
  • GridMask augmentation from PP-YOLO included;
  • Mosiac transform supported with a custom datasetmapper;
  • YOLOv7 arch Swin-Transformer support (higher accuracy but lower speed);
  • YOLOv7 arch Efficientnet + BiFPN;
  • YOLOv5 style positive samples selection, new coordinates coding style;
  • RandomColorDistortion, RandomExpand, RandomCrop, RandomFlip;
  • CIoU loss (DIoU, GIoU) and label smoothing (from YOLOv5 & YOLOv4);
  • YOLOF also included;
  • YOLOv7 Res2net + FPN supported;
  • Pyramid Vision Transformer v2 (PVTv2) supported;
  • WBF (Weighted Box Fusion), this works better than NMS, link;
  • YOLOX like head design and anchor design, also training support;
  • 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!

what’s more, there are some features awesome inside repo:

  • Almost all models can export to onnx;
  • Supports TensorRT deployment for DETR and other transformer models;
  • It will integrate with wanwu, a torch-free deploy framework run fastest on your target platform.

Help wanted! If you have spare time or if you have GPU card, then help YOLOv7 become more stronger! Here is the guidance of contribute:

  1. Claim task: I have some ideas but do not have enough time to do it, if you want implement it, claim the task, I will give u fully advise on how to do, and you can learn a lot from it;
  2. Test mAP: When you finished new idea implementation, create a thread to report experiment mAP, if it work, then merge into our main master branch;
  3. Pull request: YOLOv7 is open and always tracking on SOTA and light models, if a model is useful, we will merge it and deploy it, distribute to all users want to try.

Here are some tasks need to be claimed:

  • VAN: Visual Attention Network, paper, VAN-Segmentation, it was better than Swin and PVT and DeiT:

    • D2 VAN backbone integration;
    • Test with YOLOv7 arch;
  • ViDet: code, this provides a realtime detector based on transformer, Swin-Nano mAP: 40, while 20 FPS, it can be integrated into YOLOv7;
    • Integrate into D2 backbone, remove MSAtten deps;
    • Test with YOLOv7 or DETR arch;
  • DINO: 63.3mAP highest in 2022 on coco. https://github.com/IDEACVR/DINO
    • waiting for DINO opensource code.
  • ConvNext: https://github.com/facebookresearch/ConvNeXt, combined convolution and transformer.

【camera】YOLOV7实现实例分割+目标检测任务(训练、测试、量化、部署)相关推荐

  1. YOLOV3目标检测模型训练实例

    YOLOV3目标检测 从零开始学习使用keras-yolov3进行图片的目标检测,比较详细地记录了准备以及训练过程,提供一个信号灯的目标检测模型训练实例,并提供相关代码与训练集. DEMO测试 YOL ...

  2. 深度学习遥感图像语义分割目标检测

    深度学习遥感图像语义分割&目标检测 代码见github: WangZhenqing-RS/2021Tianchi_RSgithub.com 图标 赛题描述 本赛题基于不同地形地貌的高分辨率遥感 ...

  3. YOLOV7改进--增加小目标检测层

    YOLOV7改进--增加小目标检测层 说明 代码 原始p5配置 添加小目标检测层 说明 yolov7来啦!!!因为项目需要,尝试跑了下yolov7,感觉还不错. 由于现在使用的数据集大部分都是&quo ...

  4. YOLOv7 tiny 新增小目标检测层

    YOLOv7 tiny 新增小目标检测层 YOLOv7 tiny 新增小目标检测层 修改yolov7-tiny.yaml文件 YOLOv7 tiny 结构图 调用 models/yolo.py验证 Y ...

  5. 目标检测算法——YOLOv7改进|增加小目标检测层

    >>>深度学习Tricks,第一时间送达<<< 小目标检测一直以来是计算机CV领域的难点之一,那么,刚出炉的YOLOv7该如何增加小目标检测层呢? 目录 1.YOL ...

  6. 化学实验室自动化 - 1. 深度学习视觉检测(实例分割) - Mask-RCNN模型训练和预测

    在上一篇文章中,我们完成了化学实验室常见物体的COCO格式的实例分割数据集制作.上一篇文章的数据集中总共只有65张图像,而且被分成了训练集.验证集和测试集,经Mask-RCNN模型训练测试,发现模型的 ...

  7. Mask R-CNN:实例分割与检测算法

    摘要 目的:对象实例分割(区别出不同的对象) 提出:Mask R-CNN(扩展的FasterR-CNN)--通过在每个RoI处添加用于预测分割的mask(小的FCN),与用于分类和边界框回归的Fast ...

  8. 【实例分割yolact++】从头训练自己的yolact++模型

    目录 0.前言 1.整个流程 2.具体过程 2.1 下载Github上的项目 2.2 使用labelme打标签 2.2.1 安装labelme 2.2.2 如何标注 2.3 制作COCO格式的数据集 ...

  9. 42、使用mmrotate中k3det进行旋转目标检测,并进行mnn部署和ncnn部署

    基本思想:仍然是身份证分割,因为上一个篇博客的效果不好,所以操刀改mm系列的框架,并进行ncnn和mnn的c++的部署开发 mmcv_full 1.6.1+mmrotate v0.3.2测试没有问题 ...

最新文章

  1. Ubuntu 64 位下解决bash: xxx: 没有那个文件或目录
  2. MQTT:物联网的神经系统
  3. Android JNI开发入门之一
  4. sierra mysql_macOS High Sierra 使用 Homebrew 安装 MYSQL 5.7
  5. python语言学完后学什么_学完Python语言可以做什么?发展前景怎么样?
  6. java 邮件模板_Spring Boot 2发送邮件手把手图文教程
  7. 第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 [计算机组成原理笔记]
  8. 连接oracle报错:Invalid connection string format, a valid format is: host:port:sid
  9. webpack4.x实战七,生产模式和开发模式分开打包
  10. pymysql之常见数据库操作
  11. fzyzojP1635 -- 平均值
  12. bzoj 3824: [Usaco2014 Dec]Guard Mark【状压dp】
  13. 可线性渐变的环形进度条的实现探究
  14. oracle linux 镜像下载|【最新】oracle linux 8.1官网镜像下载,让你下载oracle linux不被坑!
  15. Faster RCNN 中的Anchor
  16. 网址导航站收录申请登陆口大全
  17. python绘制函数图像
  18. Java基本数据类型自动转换规则
  19. 阿里再度联手数据港合建数据中心 服务金额至少40亿
  20. 服务器的使用:Linux一键搭建KMS激活服务器

热门文章

  1. php set medias,laravel5.1 -- Integrate FileManager and CKeditor into laravel
  2. HarmonyOS UI开发 TableLayout(表格布局) 的使用
  3. popWindow 出现点击上下空白区域消失点击左右空白区域不消失弹框的处理方法
  4. RxJava 过滤操作符 take 与 takeLast
  5. 怎样往csdn上传自己的demo
  6. RabbitMQ学习笔记一:本地Windows环境安装RabbitMQ Server
  7. Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)
  8. MySQL 学习笔记(14)— 数据库设计流程、实体关系图、第一范式、第二范式、第三范式、外键使用
  9. Linux驱动框架之framebuffer驱动框架
  10. zabbix 3.0 完全安装全解!