open-mmlab / mmyolo

OpenMMLab YOLO series toolbox and benchmark. Implemented RTMDet, RTMDet-Rotated,YOLOv5, YOLOv6, YOLOv7, YOLOv8,YOLOX, PPYOLOE, etc.
https://mmyolo.readthedocs.io/zh_CN/dev/
GNU General Public License v3.0
3.02k stars 544 forks source link

Roadmap of MMYOLO #136

Open hhaAndroid opened 2 years ago

hhaAndroid commented 2 years ago

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)

V0.2.0(2022.11)

Collected features

中文视频资源

汇总地址: 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 原理和实现全解析
vansin commented 2 years ago

Support deployment based on MMDeploy

RangeKing commented 2 years ago

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

xin-li-67 commented 2 years ago

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

PeterH0323 commented 2 years ago

Pick :

Seperendity commented 2 years ago

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.

fcakyon commented 2 years ago

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

PeterH0323 commented 2 years ago

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😄

fcakyon commented 2 years ago

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 💯

PeterH0323 commented 2 years ago

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 😄

fcakyon commented 2 years ago

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 🚀

hhaAndroid commented 2 years ago

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

fcakyon commented 2 years ago

@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 commented 2 years ago

@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!

zcunyi commented 2 years ago

Can you arrange an urgent arrangement for yolo-pose?

xin-li-67 commented 2 years ago

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!!

RangeKing commented 2 years ago

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

chihuajiao commented 1 year ago

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?

RangeKing commented 1 year ago

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.

SicongLiu998 commented 1 year ago

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!

xin-li-67 commented 1 year ago

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.

SicongLiu998 commented 1 year ago

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.

xin-li-67 commented 1 year ago

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.

Bovey0809 commented 1 year ago

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

SicongLiu998 commented 1 year ago

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

That is a pretty good job !

arkerman commented 1 year ago

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 ?

RangeKing commented 1 year ago

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.

www516717402 commented 1 year ago

Add distillation example in yolo serial

RangeKing commented 1 year ago

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.

LorenzoSun-V commented 1 year ago

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. :sob:

nik123 commented 11 months ago

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

mohamedrekik commented 10 months ago

Add quantization for MMYOLO will be a great feature. YOLO is already fast and relatively accurate. But, with quantization techniques (like Int8, ...), it will be much more powerful !

zsy7532 commented 8 months ago

我想在我通过 mmdetection 实现的配置文件中使用 mmyolo 实现的模型。例如,我想将 mmyolo 的一个主干添加到由 mmdetection 定义的完整模型中。可能吗?我该怎么办?

嗨,很抱歉回复晚了。您可以参考教程来实现它。

Hi, the link is not available, could you offer a new link about how to realise mmyolo on mmdetection?

xin-li-67 commented 8 months ago

Add quantization for MMYOLO will be a great feature. YOLO is already fast and relatively accurate. But, with quantization techniques (like Int8, ...), it will be much more powerful !

Hi~ Based on my knowledge, you may find some quantization demos in MMDeploy, as in most scenarios, I believe people will use weight quantization while deploying the models. Meanwhile, MMRazor supports the distillation and sparsification algorithms.

mohamedrekik commented 8 months ago

Hi~ Based on my knowledge, you may find some quantization demos in MMDeploy, as in most scenarios, I believe people will use weight quantization while deploying the models. Meanwhile, MMRazor supports the distillation and sparsification algorithms.

@xin-li-67 Thanks for your reply. AFAIK, MMDeploy doesn't support MMYOLO and I couldn't find any demo/documentation/code in MMRazor that works on YOLOv8. Feel free to correct me if I am wrong.

PriyanshuPandeyNA commented 5 months ago

Hello @hhaAndroid !, Can you help me out with the support of yolox-ins-head!

hiyyg commented 4 months ago

Any plan to add YOLOv10?