MMYOLO is a YOLO series algorithm toolbox, which currently implements only the object detection task and will subsequently support various tasks such as instance segmentation, panoramic segmentation, and key point detection. It includes a rich set of object detection algorithms and related components and modules, and the following is its overall framework.
MMYOLO file structure is identical to the MMDetection. To fully reuse the MMDetection code, MMYOLO includes only custom content, consisting of 3 main parts: `datasets`, `models`, `engine`.
- **datasets** support a variety of data sets for object detection.
- **transforms** include various data enhancement transforms.
- **models** are the most important part of the detector, which includes different components of it.
- **detectors** define all detection model classes.
- **data_preprocessors** is used to preprocess the dataset of the model.
- **backbones** include various backbone networks.
- **necks** include various neck components.
- **dense_heads** include various dense heads of different tasks.
- **losses** include various loss functions.
- **task_modules** provide components for testing tasks, such as assigners, samplers, box coders, and prior generators.
- **layers** provide some basic network layers.
- **engine** is a component of running.
- **optimizers** provide optimizers and packages for optimizers.
- [Training and testing](https://mmyolo.readthedocs.io/en/latest/user_guides/index.html#train-test)
- [From getting started to deployment tutorial](https://mmyolo.readthedocs.io/en/latest/user_guides/index.html#from-getting-started-to-deployment-tutorial)
- [A full explanation of the model and implementation](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#algorithm-principles-and-implementation)