ultralytics / hub

Ultralytics HUB tutorials and support
https://hub.ultralytics.com
GNU Affero General Public License v3.0
134 stars 13 forks source link

Large Scale Annotation Support #771

Closed zshar7 closed 3 months ago

zshar7 commented 3 months ago

Search before asking

Question

Hey there! So Iā€™m working on a research project and I strive to make a somewhat large scale dataset of 200,000 images for a YOLOv9 Segmentation Model powered by the Ultralytics Library. Now working on a large scale with just myself annotating is very daunting and I made a small scale dataset and made a model that is small and feasible. Overall I wanted to use this small model with Roboflow Auto Label to label images at a fast and easy rate, however, I would need to pay a hefty price to annotate all the images. So my question is, does Ultralytics HUB allow me to use my small model to easily annotate the images similar to Roboflow while costing less, or is there another process that I should use that would be efficient in labeling this enormous dataset? Thanks in advance šŸ˜Š

Additional

No response

github-actions[bot] commented 3 months ago

šŸ‘‹ Hello @zshar7, thank you for raising an issue about Ultralytics HUB šŸš€! Please visit our HUB Docs to learn more:

If this is a šŸ› Bug Report, please provide screenshots and steps to reproduce your problem to help us get started working on a fix.

If this is a ā“ Question, please provide as much information as possible, including dataset, model, environment details etc. so that we might provide the most helpful response.

We try to respond to all issues as promptly as possible. Thank you for your patience!

pderrenger commented 3 months ago

@zshar7 hello!

Thank you for reaching out and for your interest in using Ultralytics HUB for your research project. Annotating a large-scale dataset can indeed be a challenging task, but there are ways to streamline the process.

Currently, Ultralytics HUB does not offer a built-in auto-labeling feature similar to Roboflow. However, you can leverage your small model to assist in the annotation process by following these steps:

  1. Inference on Small Batches: Use your trained small model to run inference on smaller batches of your large dataset. This can help you pre-label the images, which you can then manually verify and correct as needed. This approach can significantly reduce the time required for manual annotation.

  2. Custom Scripts: You can write custom scripts to automate parts of the annotation process. For example, you can use the Ultralytics library to load your model and run inference on your dataset, saving the results in a format compatible with your annotation tool.

Here's a simple example of how you might do this using the Ultralytics library:

from ultralytics import YOLO

# Load your trained model
model = YOLO('path/to/your/model.pt')

# Directory containing your images
image_dir = 'path/to/your/images'

# Run inference on images
results = model.predict(source=image_dir, save=True, save_txt=True)

# The results will be saved in the specified directory
  1. Crowdsourcing: If budget allows, consider using crowdsourcing platforms like Amazon Mechanical Turk or other annotation services. These platforms can help distribute the annotation workload among many annotators, speeding up the process.

  2. Community Collaboration: Engage with the YOLO and Ultralytics community. Sometimes, other researchers or developers might be interested in collaborating on large-scale annotation projects.

For more detailed guidance on using the Ultralytics library, you can refer to our documentation.

I hope this helps! If you have any further questions or need additional assistance, feel free to ask. šŸ˜Š

zshar7 commented 3 months ago

Ok @pderrenger thanks so much for the guidance!

pderrenger commented 3 months ago

Hi @zshar7,

You're very welcome! I'm glad I could help. šŸ˜Š

If you have any more questions or run into any issues, feel free to post them here. The community and the Ultralytics team are always here to assist you. Also, make sure to keep your packages up to date to benefit from the latest features and bug fixes.

Happy annotating and best of luck with your research project!