open-mmlab/mmyolo

Roadmap of MMYOLO

hhaAndroid opened this issue · 34 comments

We keep this issue open to collect feature requests from users and hear your voice. Our monthly release plan is also available here.

You can either:

  1. Suggest a new feature by leaving a comment.
  2. Vote for a feature request with +1 or be against with -1. (Remember that developers are busy and cannot respond to all feature requests, so vote for your most favorable one!)
  3. Tell us that you would like to help implement one of the features in the list or review the PRs. (This is the greatest things to hear about!)

V0.5.0(2023.1)

  • code
    • Support YOLOv8 instance seg (YOLOv8 支持实例分割)
    • Added a script to verify whether the installation was successful (新增快速验证是否安装成功的脚本) #487

V0.2.0(2022.11)

  • code
    • Support YOLOv6 MLX model(支持 YOLOV6 MLX 模型) #265
    • Align PPYOLOE training mAP(对齐 PPYOLOE 训练精度) #259
    • Align YOLOv7 training mAP(对齐 YOLOv7 训练精度) #243 #310
    • Support Grad-free CAM and Grad-based CAM(支持 Grad-based CAM 和 Grad-free CAM) #234
    • Integrate sahi repo (集成 sahi) #230 #284
    • Added a script to verify whether the installation was successful (新增快速验证是否安装成功的脚本) #277
    • demo/featmap_vis_demo.py script supports input image folder and url reference demo/demo_image.py (参考 demo/demo_image.py 脚本 为 demo/featmap_vis_demo.py 支持文件夹和 url 输入) #248
    • Support the use of existing models to export label files in labelme format (支持使用已有模型导出 labelme 格式的标签文件) #288
    • Refer to browse_dataset of mmcls to implement similar functionality in MMYOLO (参考 mmcls 的 browse_dataset 在 MMYOLO 中实现类似功能) #304
    • Support image_demo.py influence result formate to labelme label files(支持 image_demo.py 结果导出 labelme 格式的标签文件) #288
    • Support labelme label to COCO (支持 labelme 标签转 COCO) #308
    • Support big COCO annotation file split into train + val + test or trainval + test annotation files (支持划分大的 COCO 标签文件为 train + val + testtrainval + test 标签文件) #311
    • Added analysis script to automatically print registered modules in OpenMMLab (新增分析脚本自动打印 OpenMMLab 中已经注册的模块)
    • Compare the difference in inference speed between official YOLOv5 and YOLOv5 in MMYOLO under trt fp32 (对比官方 YOLOv5 和 MMYOLO 中 YOLOv5 在 trt fp32 下的推理速度差异)
    • Added accelerated video inference script (新增加速后的视频推理脚本)
    • Support ignore instance in YOLOv5(YOLOv5 支持 ignore instance 功能)
    • dataset or pipeline supports loading all datasets at once (dataset 或者 pipeline 支持一次性加载全部数据集)-实验性做法
  • doc
    • Added overview documentation of Algorithm principles and implementation with YOLOv6 (新增 YOLOv6 原理和实现详解文档概览) #252
    • Added YOLOv5 P6 1280 large resolution model structure diagram and brief description (新增 YOLOv5 P6 1280 大分辨率模型结构图和简要描述) #273
    • Customized dataset training+deployment full process document (自定义数据集 训练+部署 全流程文档) #306
    • Add module description documentation and provide a list of all available plug-in modules (新增一个模块描述文档并提供所有可用插件模块列表) #246
    • Added YOLOv5+ ResNet50 Self-supervised training with mmselfsup for weighted in How-to documents (How-to 新增 YOLOv5+ ResNet50 使用 mmselfsup 自监督训练的权重文档) #291
    • Optimize and improve deployment-related documentation (优化和完善部署相关文档)
    • Added documentation of how to use mim to call mmdet or other mm series repo script (新增如何通过 mim 跨库调用其他 OpenMMLab 脚本的文档) #321

Collected features

  • YOLO series supports input Any channel (YOLO 系列代码支持输入任意通道)
  • Adaptive batchsize function(支持自动 bs 计算功能) #141
  • Adaptive to anchor calculation(支持训练前自动anchor 聚类优化) #163

中文视频资源

汇总地址: https://github.com/open-mmlab/mmyolo/blob/dev/docs/zh_cn/article.md

工具类

序号 内容 视频 课程中的代码/文档
第1讲 特征图可视化 Link bilibili 特征图可视化文档
特征图可视化.ipynb
第2讲 基于 sahi 的大图推理 Link bilibili 10分钟轻松掌握大图推理.ipynb

基础类

序号 内容 视频 课程中的代码/文档
第1讲 配置全解读 Link bilibili 配置全解读文档
第2讲 工程文件结构简析 Linkbilibili 工程文件结构简析文档
🟩 第x讲 模型是如何构建的 - cfg 模式和 Registry 机制详解
🟩 第x讲 MMEngine 必备知识点梳理

实用类

序号 内容 视频 课程中的代码/文档
第1讲 源码阅读和调试「必备」技巧 Link bilibili 源码阅读和调试「必备」技巧文档
第2讲 10分钟换遍主干网络 Link bilibili 10分钟换遍主干网络文档
10分钟换遍主干网络.ipynb
第3讲 自定义数据集从标注到部署保姆级教程 Link bilibili 自定义数据集从标注到部署保姆级教程
第4讲 顶会第一步 · 模块自定义 Link bilibili 顶会第一步·模块自定义.ipynb
🟩 第x讲 关于 MMDet/MMYOLO 中可视化的一切
🟩 第x讲 关于组件随意组合那件事
🟩 第x讲 OpenMMLab 跨库调用全知道
🟩 第x讲 YOLOv5 自定义插件

源码解读类

序号 内容 视频 课程中的代码/文档
🟩 第x讲 RTMDet 原理和实现全解析
🟩 第x讲 YOLOv5 原理和实现全解析
🟩 第x讲 YOLOv6 原理和实现全解析
🟩 第x讲 YOLOv7 原理和实现全解析
🟩 第x讲 YOLOv8 原理和实现全解析
🟩 第x讲 PPYOLOE 原理和实现全解析

Support deployment based on MMDeploy

Pick: Added a script to verify whether the installation was successful

Add a script to support to convert yolo-style *.txt format to coco in PR#161

Pick :

  • [基础类第 x 期] 如何优雅地使用 MMYOLO 训练自定义数据集

Can you post a video tutorial on how to customize module embedding into the network? Take the Transformer module in the original yolov5 library for example, how to integrate the module designed by myself into the network. I want to do a series of experiments based on mmyolo, but don't konw how to modify the file clearly.

Are you planning to support yolov5 1280 pretrained models, yolov6 m/l models and yolov7 training?

Are you planning to support yolov5 1280 model, yolov6 m/l model and yolov7 training?

Hi @fcakyon
All you mention were already in progress, will release soon😄

Are you planning to support yolov5 1280 model, yolov6 m/l model and yolov7 training?

Hi @fcakyon All you mention were already in progress, will release soon😄

Great news! I am the maintainer of sahi, can wait to support mmyolo once these features are released 💯

Are you planning to support yolov5 1280 model, yolov6 m/l model and yolov7 training?

Hi @fcakyon All you mention were already in progress, will release soon😄

Great news! I am the maintainer of sahi, can wait to support mmyolo once these features are released 💯

Hi @fcakyon
I am the one who want to support sahi in MMYOLO, What a coincidence ! We can keep in touch 😄

Hi @fcakyon I am the one who want to support sahi in MMYOLO, What a coincidence ! We can keep in touch 😄

Wow, great coincidence 😮 Let's keep in touch 🚀

Hi @fcakyon I am the one who want to support sahi in MMYOLO, What a coincidence ! We can keep in touch smile

Wow, great coincidence open_mouth Let's keep in touch rocket

Hi, We plan to integrate sahi in v0.1.3. The current plan is:

  1. First make a draft in mmyolo to see the generality
  2. If the generality is very strong, we can consider submitting PR directly to mmengine so that all openmmlab repo can be used directly

how do you feel? @fcakyon

@hhaAndroid sounds great! What is your implementation plan? Do you want to include it as a tool or as a separate model? How can I help you with this?

@hhaAndroid sounds great! What is your implementation plan? Do you want to include it as a tool or as a separate model? How can I help you with this?

Let's open an issue to discuss!

Can you arrange an urgent arrangement for yolo-pose?

Can you arrange an urgent arrangement for yolo-pose?

Hi~ For yolo-pose, are you referring the yolo-pose from the texas instruments or another version? If there is a specific version you would like MMYOLO to be integrated, can you add a comment in issue#233 ? Thx!!

Add more result analysis functions. Refer to https://github.com/dbolya/tide.

I want to use the model implemented by mmyolo in the config file that I have implemented through mmdetection. For example, I want to add one of mmyolo's backbones to the complete model defined by mmdetection. Is it possible? What should I do?

I want to use the model implemented by mmyolo in the config file that I have implemented through mmdetection. For example, I want to add one of mmyolo's backbones to the complete model defined by mmdetection. Is it possible? What should I do?

Hi @chihuajiao, sorry for the late reply. You could refer to the tutorial to implemente it.

Hi! I found that both MMYOLO and MMDetection contains implementations of YOLQX-s. What are the differences between the two. In our experiments, the AP-10K data set in MMPose, which also contains bounding boxes information like COCO are applied. But there is a big gap between the results of MMYOLO and MMetection. I would like to know the differences between the two implementations. Thanks a lot for your time!

Hi! I found that both MMYOLO and MMDetection contains implementations of YOLQX-s. What are the differences between the two. In our experiments, the AP-10K data set in MMPose, which also contains bounding boxes information like COCO are applied. But there is a big gap between the results of MMYOLO and MMetection. I would like to know the differences between the two implementations. Thanks a lot for your time!

Hi, I could only say something about the MMPose bbox detection you mentioned. Most of the algorithms you could find in MMPose are two-stage heatmap detections, which require human bboxes detection in their first stage. That's why there is COCO bbox information used in the implementations.

Hi! I found that both MMYOLO and MMDetection contains implementations of YOLQX-s. What are the differences between the two. In our experiments, the AP-10K data set in MMPose, which also contains bounding boxes information like COCO are applied. But there is a big gap between the results of MMYOLO and MMetection. I would like to know the differences between the two implementations. Thanks a lot for your time!

Hi, I could only say something about the MMPose bbox detection you mentioned. Most of the algorithms you could find in MMPose are two-stage heatmap detections, which require human bboxes detection in their first stage. That's why there is COCO bbox information used in the implementations.

Thanks for your reply ! I may not explain my question clearly. I actually know that two main paradigms of pose estimation. I would like to use MMYolo or MMDetection to finish the animal object detection task. I just use the AP-10K data set supplied in MMPose that support the same format like COCO. I used YoloX-s to finish the object detection by MMDetection and MMYolo respectively. The results of the two frame work should be very close but in fact there is a big gap between the two results, about 10 AP. I guess that there are some differences in implementations of YoloX-s between the two object detection frame work.

Hi! I found that both MMYOLO and MMDetection contains implementations of YOLQX-s. What are the differences between the two. In our experiments, the AP-10K data set in MMPose, which also contains bounding boxes information like COCO are applied. But there is a big gap between the results of MMYOLO and MMetection. I would like to know the differences between the two implementations. Thanks a lot for your time!

Hi, I could only say something about the MMPose bbox detection you mentioned. Most of the algorithms you could find in MMPose are two-stage heatmap detections, which require human bboxes detection in their first stage. That's why there is COCO bbox information used in the implementations.

Thanks for your reply ! I may not explain my question clearly. I actually know that two main paradigms of pose estimation. I would like to use MMYolo or MMDetection to finish the animal object detection task. I just use the AP-10K data set supplied in MMPose that support the same format like COCO. I used YoloX-s to finish the object detection by MMDetection and MMYolo respectively. The results of the two frame work should be very close but in fact there is a big gap between the two results, about 10 AP. I guess that there are some differences in implementations of YoloX-s between the two object detection frame work.

Well, I still can't tell why there is such a difference on your results. For the YOLOX implementations in MMDet and MMYOLO, the only difference is on the mosaic part, which you could check here and here. If you still have questions on the implementation and final performance, you are welcomed to open a new issue with your benchmark table so that the maintainers may be able to find out more details.

I implemented yolox-pose based on mmyolo here, https://github.com/Bovey0809/mmyolo-pose

I implemented yolox-pose based on mmyolo here, https://github.com/Bovey0809/mmyolo-pose

That is a pretty good job !

Hi !
Does mmyolo support for mmselfsup ?
I wanna use moco to self_supervise train a pretrained model .
And then use the pretrained model on yolov5 . Does this shit can be realized ?

Hi !
Does mmyolo support for mmselfsup ?
I wanna use moco to self_supervise train a pretrained model .
And then use the pretrained model on yolov5 . Does this shit can be realized ?

Hi,@arkerman
Of course, MMYOLO supports for MMSelfsup. Here's the example, https://mmyolo.readthedocs.io/en/latest/recommended_topics/replace_backbone.html#use-backbone-network-implemented-in-mmselfsup.

Add distillation example in yolo serial

Add distillation example in yolo serial

Hi @www516717402, here's a distillation example of RTMDet,
https://github.com/open-mmlab/mmyolo/tree/main/configs/rtmdet/distillation.

V0.5.0(2023.1)

Hi, does mmyolo support YOLOv8 ins-seg now? When will it support if not yet? I just saw a commit and failed to train YOLOv8 ins-seg model following the code in this commit. 😭

What is the current state of yolov8 ins-seg support? Is it in progress or the plans for support of yolov8 were abandoned?