-
Notifications
You must be signed in to change notification settings - Fork 443
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
Improve yolox-tiny tile recipe #3767
Improve yolox-tiny tile recipe #3767
Conversation
So, purpose of this PR isn't to fix a bug but is for updating recipe to use same input size whlie train, val and test, right? |
yes, while I'm not entirely sure why the image size isn't aligned initially, this adjustment enhances the accuracy of tiling when using YOLOX-tiny. We've observed a 70% improvement on one of the Vitens datasets. |
Thanks for this update!
|
FYI, the reason why different input size is used it that mmdet uses like that. https://github.com/open-mmlab/mmdetection/blob/main/configs/yolox/yolox_tiny_8xb8-300e_coco.py |
Yes, and we don't need to stick with it if performance improves with the changed input size. |
As Sungchul said, |
@eunwoosh @sungchul2 I ran some experiments comparing YOLOX-TINY with validation input sizes between 416 x 416 and 640 x 640. The accuracy differences are significant (>10%) on small object datasets (Vitens). However, for other regular object size datasets (PACKAGE, WGISD), there's not much difference. Using a larger input size for training and a smaller one for validation seems reasonable for YOLOX-TINY if normal datasets (COCO, VOC, etc.) are used for training, as the model benefits from faster inference time due to the smaller input size. However, in my case, the latency difference is negligible, averaging around 10 ms. I don't mind updating the input size for both tiling and original input size to 640 x 640, as it seems like there's no harm in doing so—the difference in latency is small, and accuracy can be improved for small objects dataset. Below are the results:
|
I think updating both of them looks good to me. How do you think about it, @sungchul2 ? |
Actually, I think there is no reason not to change the input size in terms of significant performance improvements.
I think more discussion about this change is required because yolox-tiny is the 'speed' model in otx. What do you think? |
It seems that it's ok to update yolox_tiny tiling model only for now. |
@sungchul2 @eunwoosh I updated the files accordingly. |
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.
In general, LGTM, but is tile_image_size
used on export?
What I see now is YOLOX._exporter
uses self.image_size
Thanks, Vlad. Great catch! I forgot to update it in the exporter. |
Summary
How to test
Checklist
License
Feel free to contact the maintainers if that's a concern.