Open zouwen198317 opened 1 week ago
👋 Hello @zouwen198317, thank you for your interest in Ultralytics YOLOv8 🚀! We recommend a visit to the Docs for new users where you can find many Python and CLI usage examples and where many of the most common questions may already be answered.
If this is a 🐛 Bug Report, please provide a minimum reproducible example to help us debug it.
If this is a custom training ❓ Question, please provide as much information as possible, including dataset image examples and training logs, and verify you are following our Tips for Best Training Results.
Join the vibrant Ultralytics Discord 🎧 community for real-time conversations and collaborations. This platform offers a perfect space to inquire, showcase your work, and connect with fellow Ultralytics users.
Pip install the ultralytics
package including all requirements in a Python>=3.8 environment with PyTorch>=1.8.
pip install ultralytics
YOLOv8 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):
If this badge is green, all Ultralytics CI tests are currently passing. CI tests verify correct operation of all YOLOv8 Modes and Tasks on macOS, Windows, and Ubuntu every 24 hours and on every commit.
Hello! 😊 In YOLOv8, the anchors can indeed be optimized for your specific scenario, especially if your detection performance varies significantly between large and small objects. You can manually adjust the anchors in the YAML configuration file.
Here’s an example snippet of how you might set your anchors:
anchors:
- [10,13, 16,30, 33,23] # Small objects
- [30,61, 62,45, 59,119] # Medium objects
- [116,90, 156,198, 373,326] # Large objects
Ensure that the number and scale of anchors match the distribution of your object sizes. Smaller anchors are generally used for smaller objects, and larger anchors for larger objects.
If manual tuning seems complex, you can also re-calculate these automatically based on your dataset by using the autoanchor
feature during training which examines your dataset and adapts the anchors accordingly:
yolo train --data your_data.yaml --cfg your_model.yaml --img-size 640 autoanchor
Feel free to experiment with different anchor sizes to find what gives the best results for both large and small objects on your data. 🚀
hi! I am also very interested in this issue The autoanchor effect is relatively poor on my dataset. so, How should I cancel autoanchor .
I tried set my anchors as your suggestion, but it can't cancel autoanchor .
Hello! 👋
To disable the autoanchor
feature in YOLOv8, you can simply omit the autoanchor
flag from your training command. If you've set your anchors manually in the YAML file, they should be used as specified unless overridden by the autoanchor
recalibration.
Here's an example of how to train without using autoanchor
:
yolo train --data your_data.yaml --cfg your_model.yaml --img-size 640
Just ensure that your your_model.yaml
configuration file has the anchors explicitly defined as you want them. That should do the trick! If you encounter any more issues, feel free to ask. Happy training! 🚀
Search before asking
Question
yolov8 yaml文件的anchors 有详细的修改说明文档吗? 我的场景有大目标,也有小目标,训练下来,小目标可以识别,但大目标漏识别了很多,对比同样的数据集,用yolov4来训练,检出效果,大目标很好,虽然v4小目标检出不好.yolov8是否可以通过修改anchors来达到大小目标都能很好检出,还是说anchors是自动计算分配的? Is there a detailed documentation on how to modify the anchors in the yolov8 yaml file? In my scenario, there are both large and small targets. After training, small targets can be recognized, but many large targets are missed. Compared with the same dataset trained with yolov4, the detection effect for large targets is good, although yolov4 does not perform well on small targets. Can yolov8 achieve good detection results for both large and small targets by modifying the anchors, or are the anchors automatically calculated and assigned?
Additional
no