• Stars
    star
    2,719
  • Rank 16,146 (Top 0.4 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 1 year ago
  • Updated 7 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenMMLab YOLO series toolbox and benchmark. Implemented RTMDet, RTMDet-Rotated,YOLOv5, YOLOv6, YOLOv7, YOLOv8,YOLOX, PPYOLOE, etc.

๐Ÿ“„ Table of Contents

๐Ÿฅณ ๐Ÿš€ What's New ๐Ÿ”

๐Ÿ’Ž v0.6.0 was released on 15/8/2023:

  • Support YOLOv5 instance segmentation
  • Support YOLOX-Pose based on MMPose
  • Add 15 minutes instance segmentation tutorial.
  • YOLOv5 supports using mask annotation to optimize bbox
  • Add Multi-scale training and testing docs

For release history and update details, please refer to changelog.

โœจ Highlight ๐Ÿ”

We are excited to announce our latest work on real-time object recognition tasks, RTMDet, a family of fully convolutional single-stage detectors. RTMDet not only achieves the best parameter-accuracy trade-off on object detection from tiny to extra-large model sizes but also obtains new state-of-the-art performance on instance segmentation and rotated object detection tasks. Details can be found in the technical report. Pre-trained models are here.

PWC PWC PWC

Task Dataset AP FPS(TRT FP16 BS1 3090)
Object Detection COCO 52.8 322
Instance Segmentation COCO 44.6 188
Rotated Object Detection DOTA 78.9(single-scale)/81.3(multi-scale) 121

MMYOLO currently implements the object detection and rotated object detection algorithm, but it has a significant training acceleration compared to the MMDeteciton version. The training speed is 2.6 times faster than the previous version.

๐Ÿ“– Introduction ๐Ÿ”

MMYOLO is an open source toolbox for YOLO series algorithms based on PyTorch and MMDetection. It is a part of the OpenMMLab project.

The master branch works with PyTorch 1.6+.

Major features
  • ๐Ÿ•น๏ธ Unified and convenient benchmark

    MMYOLO unifies the implementation of modules in various YOLO algorithms and provides a unified benchmark. Users can compare and analyze in a fair and convenient way.

  • ๐Ÿ“š Rich and detailed documentation

    MMYOLO provides rich documentation for getting started, model deployment, advanced usages, and algorithm analysis, making it easy for users at different levels to get started and make extensions quickly.

  • ๐Ÿงฉ Modular Design

    MMYOLO decomposes the framework into different components where users can easily customize a model by combining different modules with various training and testing strategies.

BaseModule-P5 The figure above is contributed by RangeKing@GitHub, thank you very much!

And the figure of P6 model is in model_design.md.

๐Ÿ› ๏ธ Installation ๐Ÿ”

MMYOLO relies on PyTorch, MMCV, MMEngine, and MMDetection. Below are quick steps for installation. Please refer to the Install Guide for more detailed instructions.

conda create -n mmyolo python=3.8 pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -y
conda activate mmyolo
pip install openmim
mim install "mmengine>=0.6.0"
mim install "mmcv>=2.0.0rc4,<2.1.0"
mim install "mmdet>=3.0.0,<4.0.0"
git clone https://github.com/open-mmlab/mmyolo.git
cd mmyolo
# Install albumentations
pip install -r requirements/albu.txt
# Install MMYOLO
mim install -v -e .

๐Ÿ‘จโ€๐Ÿซ Tutorial ๐Ÿ”

MMYOLO is based on MMDetection and adopts the same code structure and design approach. To get better use of this, please read MMDetection Overview for the first understanding of MMDetection.

The usage of MMYOLO is almost identical to MMDetection and all tutorials are straightforward to use, you can also learn about MMDetection User Guide and Advanced Guide.

For different parts from MMDetection, we have also prepared user guides and advanced guides, please read our documentation.

Get Started
Recommended Topics
Common Usage
Useful Tools
Basic Tutorials
Advanced Tutorials
Descriptions

๐Ÿ“Š Overview of Benchmark and Model Zoo ๐Ÿ”

Results and models are available in the model zoo.

Supported Tasks
  • Object detection
  • Rotated object detection
Supported Algorithms
Supported Datasets
  • COCO Dataset
  • VOC Dataset
  • CrowdHuman Dataset
  • DOTA 1.0 Dataset
Module Components
Backbones Necks Loss Common
  • YOLOv5CSPDarknet
  • YOLOv8CSPDarknet
  • YOLOXCSPDarknet
  • EfficientRep
  • CSPNeXt
  • YOLOv7Backbone
  • PPYOLOECSPResNet
  • mmdet backbone
  • mmcls backbone
  • timm
  • YOLOv5PAFPN
  • YOLOv8PAFPN
  • YOLOv6RepPAFPN
  • YOLOXPAFPN
  • CSPNeXtPAFPN
  • YOLOv7PAFPN
  • PPYOLOECSPPAFPN
  • IoULoss
  • mmdet loss

โ“ FAQ ๐Ÿ”

Please refer to the FAQ for frequently asked questions.

๐Ÿ™Œ Contributing ๐Ÿ”

We appreciate all contributions to improving MMYOLO. Ongoing projects can be found in our GitHub Projects. Welcome community users to participate in these projects. Please refer to CONTRIBUTING.md for the contributing guideline.

๐Ÿค Acknowledgement ๐Ÿ”

MMYOLO is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedback. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to re-implement existing methods and develop their own new detectors.

๐Ÿ–Š๏ธ Citation ๐Ÿ”

If you find this project useful in your research, please consider citing:

@misc{mmyolo2022,
    title={{MMYOLO: OpenMMLab YOLO} series toolbox and benchmark},
    author={MMYOLO Contributors},
    howpublished = {\url{https://github.com/open-mmlab/mmyolo}},
    year={2022}
}

๐ŸŽซ License ๐Ÿ”

This project is released under the GPL 3.0 license.

๐Ÿ—๏ธ Projects in OpenMMLab ๐Ÿ”

  • MMEngine: OpenMMLab foundational library for training deep learning models.
  • MMCV: OpenMMLab foundational library for computer vision.
  • MMPreTrain: OpenMMLab pre-training toolbox and benchmark.
  • MMagic: OpenMMLab Advanced, Generative and Intelligent Creation toolbox.
  • MMDetection: OpenMMLab detection toolbox and benchmark.
  • MMDetection3D: OpenMMLab's next-generation platform for general 3D object detection.
  • MMRotate: OpenMMLab rotated object detection toolbox and benchmark.
  • MMYOLO: OpenMMLab YOLO series toolbox and benchmark.
  • MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.
  • MMOCR: OpenMMLab text detection, recognition, and understanding toolbox.
  • MMPose: OpenMMLab pose estimation toolbox and benchmark.
  • MMHuman3D: OpenMMLab 3D human parametric model toolbox and benchmark.
  • MMSelfSup: OpenMMLab self-supervised learning toolbox and benchmark.
  • MMRazor: OpenMMLab model compression toolbox and benchmark.
  • MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.
  • MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
  • MMTracking: OpenMMLab video perception toolbox and benchmark.
  • MMFlow: OpenMMLab optical flow toolbox and benchmark.
  • MMEditing: OpenMMLab image and video editing toolbox.
  • MMGeneration: OpenMMLab image and video generative models toolbox.
  • MMDeploy: OpenMMLab model deployment framework.
  • MIM: MIM installs OpenMMLab packages.
  • MMEval: OpenMMLab machine learning evaluation library.
  • Playground: A central hub for gathering and showcasing amazing projects built upon OpenMMLab.

More Repositories

1

mmdetection

OpenMMLab Detection Toolbox and Benchmark
Python
27,899
star
2

mmsegmentation

OpenMMLab Semantic Segmentation Toolbox and Benchmark.
Python
7,372
star
3

mmagic

OpenMMLab Multimodal Advanced, Generative, and Intelligent Creation Toolbox. Unlock the magic ๐Ÿช„: Generative-AI (AIGC), easy-to-use APIs, awsome model zoo, diffusion models, for text-to-image generation, image/video restoration/enhancement, etc.
Jupyter Notebook
6,575
star
4

mmcv

OpenMMLab Computer Vision Foundation
Python
5,626
star
5

mmpose

OpenMMLab Pose Estimation Toolbox and Benchmark.
Python
4,969
star
6

mmdetection3d

OpenMMLab's next-generation platform for general 3D object detection.
Python
4,781
star
7

OpenPCDet

OpenPCDet Toolbox for LiDAR-based 3D Object Detection.
Python
4,342
star
8

mmocr

OpenMMLab Text Detection, Recognition and Understanding Toolbox
Python
4,099
star
9

Amphion

Amphion (/รฆmหˆfaษชษ™n/) is a toolkit for Audio, Music, and Speech Generation. Its purpose is to support reproducible research and help junior researchers and engineers get started in the field of audio, music, and speech generation research and development.
Python
3,947
star
10

mmaction2

OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark
Python
3,903
star
11

mmtracking

OpenMMLab Video Perception Toolbox. It supports Video Object Detection (VID), Multiple Object Tracking (MOT), Single Object Tracking (SOT), Video Instance Segmentation (VIS) with a unified framework.
Python
3,384
star
12

mmpretrain

OpenMMLab Pre-training Toolbox and Benchmark
Python
3,138
star
13

mmselfsup

OpenMMLab Self-Supervised Learning Toolbox and Benchmark
Python
3,084
star
14

mmskeleton

A OpenMMLAB toolbox for human pose estimation, skeleton-based action recognition, and action synthesis.
Python
2,855
star
15

mmdeploy

OpenMMLab Model Deployment Framework
Python
2,520
star
16

mmaction

An open-source toolbox for action understanding based on PyTorch
Python
1,847
star
17

mmgeneration

MMGeneration is a powerful toolkit for generative models, based on PyTorch and MMCV.
Python
1,796
star
18

mmrotate

OpenMMLab Rotated Object Detection Toolbox and Benchmark
Python
1,724
star
19

Multimodal-GPT

Multimodal-GPT
Python
1,397
star
20

mmrazor

OpenMMLab Model Compression Toolbox and Benchmark.
Python
1,366
star
21

mmfashion

Open-source toolbox for visual fashion analysis based on PyTorch
Python
1,204
star
22

mmhuman3d

OpenMMLab 3D Human Parametric Model Toolbox and Benchmark
Python
1,129
star
23

mmengine

OpenMMLab Foundational Library for Training Deep Learning Models
Python
1,029
star
24

playground

A central hub for gathering and showcasing amazing projects that extend OpenMMLab with SAM and other exciting features.
Python
1,017
star
25

OpenMMLabCourse

OpenMMLab course index and stuff
Jupyter Notebook
919
star
26

mmflow

OpenMMLab optical flow toolbox and benchmark
Python
889
star
27

PIA

[CVPR 2024] PIA, your Personalized Image Animator. Animate your images by text prompt, combing with Dreambooth, achieving stunning videos. PIA๏ผŒไฝ ็š„ไธชๆ€งๅŒ–ๅ›พๅƒๅŠจ็”ป็”Ÿๆˆๅ™จ๏ผŒๅˆฉ็”จๆ–‡ๆœฌๆ็คบๅฐ†ๅ›พๅƒๅ˜ไธบๅฅ‡ๅฆ™็š„ๅŠจ็”ป
Python
716
star
28

mmfewshot

OpenMMLab FewShot Learning Toolbox and Benchmark
Python
662
star
29

awesome-vit

396
star
30

OpenUnReID

PyTorch open-source toolbox for unsupervised or domain adaptive object re-ID.
Python
389
star
31

labelbee-client

Out-of-the-box Annotation Toolbox
JavaScript
374
star
32

mim

MIM Installs OpenMMLab Packages
Python
329
star
33

denseflow

Extracting optical flow and frames
C++
286
star
34

MMGEN-FaceStylor

Python
245
star
35

mmeval

A unified evaluation library for multiple machine learning libraries
Python
243
star
36

labelbee

LabelBee is an annotation Library
TypeScript
223
star
37

OpenMMLabCamp

Jupyter Notebook
92
star
38

polynet

The Github Repo for PolyNet
77
star
39

CLUE

C++ Lightweight Utility Extensions
C++
70
star
40

mim-example

Python
57
star
41

mmengine-template

Python
47
star
42

ecosystem

36
star
43

mmstyles

Latex style file to facilitate writing of technical papers
TeX
36
star
44

mmpose-webcam-demo

Python
23
star
45

pre-commit-hooks

Python
17
star
46

mdformat-openmmlab

Python
8
star
47

.github

3
star