Skip to content
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

Add YOLO object detection implementation #21

Closed
laggui opened this issue Feb 16, 2024 · 8 comments
Closed

Add YOLO object detection implementation #21

laggui opened this issue Feb 16, 2024 · 8 comments

Comments

@laggui
Copy link
Member

laggui commented Feb 16, 2024

As a step forward in computer vision applications, we should offer an object detection model implementation.

The YOLO series seems like a good candidate.

Would have to check which variant is best based on the latest articles but also the licenses (I know the ultralytics stuff is licensed under some GPL type licenses, which is not always ideal for some end applications).

@Luni-4
Copy link

Luni-4 commented Feb 16, 2024

This burn issue is realted tracel-ai/burn#675

@laggui
Copy link
Member Author

laggui commented Feb 20, 2024

@Luni-4 I need your opinion on this.

Most of the recent YOLO detectors are based on the ultralytics stuff which is under some form of GPL license (strong copyleft license, i.e. using this code in your software means that you also have to distribute your software under that license and thus share the code publicly). I would think that transposing the implementation and importing their pre-trained weights would apply to the license.

On the other hand, YOLOX](https://github.com/Megvii-BaseDetection/YOLOX) is apache 2.0 but has slightly lower mAP on COCO.

For fine-tuning on a custom dataset, I would think the difference is probably negligible.

Do you have a preference for YOLOv8 (strong copyleft license, might restrict usage that is not public) vs another YOLO variant with a permissible license?

@Luni-4
Copy link

Luni-4 commented Feb 20, 2024

@laggui

Thanks a lot for your analysis! So is ONNX subjected to the same GPL license if we are going to import it through burn-import? May we ask to ultralytics if they are willing to re-license YOLOV8 so that we can implement it in burn?

For what concerns your last question, yep, any YOLO variant with a more permissible license is fine for me.

@laggui
Copy link
Member Author

laggui commented Feb 20, 2024

Thanks for your input!

Code artifacts like a model (or in this case ONNX model) are always a bit of a gray area in terms of copyright and licensing I think.. so I can't give you a definite answer on that 😅 but maybe importing the onnx model will work.

I doubt they will re-license, they've been dragging the GPL license since their first implementation and they have a commercial product based on that where they offer an "enterprise license" it seems.

@laggui
Copy link
Member Author

laggui commented Feb 22, 2024

For YOLOX the PAFPN requires interpolate(mode="nearest"), will have to wait for this outstanding issue to finalize the implementation.

@laggui
Copy link
Member Author

laggui commented Feb 23, 2024

YOLOv9 just released without an official license yet but it looks like it was a fork of the ultralytics stuff..

Another one bites the dust with GPL/AGPL license 🥲

@antimora
Copy link
Collaborator

Many want to have in MIT/Apache2 license: WongKinYiu/yolov9#10 (comment)

@laggui laggui mentioned this issue Mar 8, 2024
2 tasks
@laggui
Copy link
Member Author

laggui commented Apr 25, 2024

Completed in #24

@laggui laggui closed this as completed Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants