Integrating Image TIling into Training #19379
Replies: 3 comments 5 replies
-
👋 Hello @RyanDoesMath, thank you for your interest in Ultralytics 🚀! This is an intriguing experiment for small object detection, and we appreciate you sharing your innovative approach here. For integrating image tiling into training, you're certainly delving into a complex but fascinating area of research. We recommend checking out the Ultralytics Docs for valuable insights into the model and how various customization options can be implemented. Specifically, you might find the Python Usage Examples helpful as a starting point for modifying the training process. The Tips for Best Training Results could also provide some guidance on optimizing your experimental setup. If you're aiming to modify the YOLOv8 architecture or preprocessing pipeline, forking the repository and creating a custom If this relates to a 🐛 bug or unexpected issues while implementing your changes, please provide a minimum reproducible example to help us better understand the situation and assist more effectively. Additionally, you might benefit from engaging with the Ultralytics community for brainstorming and input. Feel free to join our:
UpgradeBefore beginning your implementation, ensure you're using the latest version of the pip install -U ultralytics EnvironmentsIf you're testing your implementation in a specific environment (e.g., notebooks or cloud settings), ensure all dependencies are preinstalled and up-to-date. The following environments are verified for smooth integration:
StatusThis badge reflects the current state of Ultralytics CI testing, ensuring all YOLO Modes and Tasks pass successfully on macOS, Windows, and Ubuntu. If the badge is green, things should be good to go! This is an automated response, but an Ultralytics engineer will review your discussion soon and provide further guidance 😊. Happy coding and experimenting! |
Beta Was this translation helpful? Give feedback.
-
@RyanDoesMath for implementing integrated tiling in YOLO11 training, we recommend extending the The SAHI Tiled Inference guide demonstrates inference-time tiling integration that could be adapted for training. For training modifications, consider adjusting the While this approach could theoretically improve small object recognition, it would significantly increase memory consumption and training time. We suggest starting with our existing small-object detection recommendations from the Hyperparameter Tuning guide first, then experimenting with custom tiling implementations. |
Beta Was this translation helpful? Give feedback.
-
Would love to see what you come up with on this. I am looking into the same thing right now. I have very large image files that I need to tile, otherwise the gradients during training consume far too much memory. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I wanted to start a discussion here about how I could implement an experiment I wanted to try for small object detection.
Currently, the best solution for most small object detection is
I had a professor who claimed that this kind of ad-hoc training is usually worse than an integrated training approach because the weights can be updated based on the whole process. To test this, I wanted to instead try the following:
In theory this should balloon training time, especially since I don't know how to do this on-gpu. However, I am curious whether or not it would increase accuracy, or not make much of a difference.
Any ideas on how this could be implemented? My first thought was to create a copy of YOLOv11 as a nn.Module class, then make my interjections into the process there, and supply it to the Ultralytics training as the model in place of the normal YOLOv11 model. Very open to suggestions.
Beta Was this translation helpful? Give feedback.
All reactions