-
Notifications
You must be signed in to change notification settings - Fork 8
Add yolov26 support #45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
da477ea
Add yolov26 support
IgorSusmelj f941ad9
Add docs for YOLOv26
IgorSusmelj 68aaa6c
Update docs/formats/object-detection/yolov26.md
IgorSusmelj 6eb3f06
Update docs/formats/object-detection/yolov26.md
IgorSusmelj 512d175
Update docs/formats/object-detection/yolov26.md
IgorSusmelj d413bb7
Implement feedback
IgorSusmelj File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# YOLOv26 (YOLO26) Object Detection Format | ||
|
||
## Overview | ||
|
||
**YOLOv26** (also known as **YOLO26**) is the latest evolution in the **You Only Look Once (YOLO)** series, engineered specifically for edge and low-power devices. It introduces a streamlined design that removes unnecessary complexity while integrating targeted innovations to deliver faster, lighter, and more accessible deployment. YOLOv26 uses the **same object detection format** as YOLOv8-v12, utilizing normalized coordinates in text files for seamless compatibility. | ||
|
||
> **Info:** YOLOv26 is currently in preview and under development. Performance numbers are preliminary and final releases will follow soon. For the latest updates, see: [GitHub Repository: ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) | ||
|
||
## Key YOLOv26 Features | ||
|
||
YOLOv26 maintains full compatibility with the YOLOv8-v12 label format while introducing several breakthrough innovations: | ||
|
||
- **End-to-End NMS-Free Inference:** Native end-to-end model producing predictions directly without non-maximum suppression, reducing latency and simplifying deployment | ||
- **DFL Removal:** Eliminates Distribution Focal Loss module for better export compatibility and broader hardware support on edge devices | ||
- **MuSGD Optimizer:** Hybrid optimizer combining SGD with Muon, inspired by Moonshot AI's Kimi K2 breakthroughs in LLM training | ||
- **ProgLoss + STAL:** Enhanced loss functions with notable improvements in small-object detection accuracy | ||
- **43% Faster CPU Inference:** Specifically optimized for edge computing with significant CPU performance gains | ||
|
||
## Format Specification | ||
|
||
YOLOv26 uses the **identical format** as YOLOv8, YOLOv9, YOLOv10, YOLOv11, and YOLOv12. Please refer to the [YOLOv8 format documentation](yolov8.md) for complete format specifications, including: | ||
|
||
- Text file structure with normalized coordinates | ||
- Directory organization patterns | ||
- Configuration via `data.yaml` | ||
- Coordinate normalization formulas | ||
- Example annotations | ||
|
||
## Converting Annotations to YOLOv26 Format | ||
|
||
Since YOLOv26 uses the same format as YOLOv8-v11, you can convert from other formats using Labelformat: | ||
|
||
```bash | ||
labelformat convert \ | ||
--task object-detection \ | ||
--input-format coco \ | ||
--input-file dataset/annotations/instances_train.json \ | ||
--output-format yolov26 \ | ||
--output-folder dataset/yolov26_labels \ | ||
--output-split train | ||
``` | ||
|
||
The converted output will be fully compatible with YOLOv26 training and inference pipelines. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
from labelformat.cli.registry import Task, cli_register | ||
|
||
from .yolov8 import YOLOv8ObjectDetectionInput, YOLOv8ObjectDetectionOutput | ||
|
||
""" | ||
YOLOv26 format follows the same specs as YOLOv11. | ||
""" | ||
|
||
|
||
@cli_register(format="yolov26", task=Task.OBJECT_DETECTION) | ||
class YOLOv26ObjectDetectionInput(YOLOv8ObjectDetectionInput): | ||
pass | ||
|
||
|
||
@cli_register(format="yolov26", task=Task.OBJECT_DETECTION) | ||
class YOLOv26ObjectDetectionOutput(YOLOv8ObjectDetectionOutput): | ||
pass |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is that kept so short while for YOLO12 all details are listed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to make only a minimal version now. YOLOv26 has not much info as of now anyway