ultralytics / yolov5

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
51.17k stars 16.43k forks source link

Roboflow for Datasets, Labeling, and Active Learning 🌟 #4975

Open Jacobsolawetz opened 3 years ago

Jacobsolawetz commented 3 years ago

You can now use Roboflow to organize, label, prepare, version, and host your datasets for training YOLOv5 🚀 models. Roboflow is free to use with YOLOv5 if you make your workspace public. UPDATED 30 September 2021. ​

Upload

You can upload your data to Roboflow via web UI, rest API, or python. ​

Labeling

After uploading data to Roboflow, you can label your data and review previous labels. ​ Roboflow Annotate ​

Versioning

You can make versions of your dataset with different preprocessing and offline augmentation options. YOLOv5 does online augmentations natively, so be intentional when layering Roboflow's offline augs on top. ​ Roboflow Preprocessing ​

Exporting Data

You can download your data in YOLOv5 format to quickly begin training. ​

from roboflow import Roboflow
rf = Roboflow(api_key="YOUR API KEY HERE")
project = rf.workspace().project("YOUR PROJECT")
dataset = project.version("YOUR VERSION").download("yolov5")

​

Custom Training

We have released a custom training tutorial demonstrating all of the above capabilities. You can access the code here: ​ Open In Colab ​

Active Learning

The real world is messy and your model will invariably encounter situations your dataset didn't anticipate. Using active learning is an important strategy to iteratively improve your dataset and model. With the Roboflow and YOLOv5 integration, you can quickly make improvements on your model deployments by using a battle tested machine learning pipeline. ​

​ Please let us know of any curiosities or requests below 👇

gembancud commented 3 years ago

Its so painful trying to make supervisely work with the current release. My team has already established workflows in supervisely but getting the necessary updates make it feel like a hassle. Would the tradeoff for a public workspace be worth it in this case? Were at the phase of reiterating assisted labelling to make it easier to improve the overall model. Would roboflow help better than supervisely? Are there any migration tutorials?

glenn-jocher commented 2 years ago

@Jacobsolawetz just noticed some broken links above. Can you send us some fixes? Thanks!

glenn-jocher commented 2 years ago

@Jacobsolawetz pinging you again about the broken links above

sezer-muhammed commented 2 years ago

@Jacobsolawetz pinging you again about the broken links above

it seems you need to ping them again

Jacobsolawetz commented 2 years ago

@sezer-muhammed @glenn-jocher Thanks for flagging me! I must have nuked those gif links, updated now (and in our custom training notebook)

Jacobsolawetz commented 2 years ago

And @gembancud do I have a blog post for you!

https://blog.roboflow.com/convert-supervisely-to-yolo/

lengdanlexin commented 2 years ago

I used roboflow to annotate my dataset and it shows there are 435 pictures, but after export there are only 290 pictures.

glenn-jocher commented 2 years ago

@lengdanlexin could you provide some details? @Jacobsolawetz from Roboflow might be able to help you.

lengdanlexin commented 2 years ago

@glenn-jocher Thank you for your reply. In the picture below you can see a total of 427 images, but the number of exported images is much less than this. image I've seen in roboflow's forums that someone had a similar problem, but it doesn't seem like the issue has been resolved.

glenn-jocher commented 1 year ago

Thanks for bringing this to our attention, @lengdanlexin. When exporting your dataset, please ensure that you are not inadvertently applying any filters or criteria that could result in fewer images being exported. If the issue persists, I recommend reaching out to Roboflow's support for further assistance.