ultralytics / velocity

Structure From Motion (SFM) for vehicle speed
http://ultralytics.com
GNU Affero General Public License v3.0
41 stars 15 forks source link

YOLOv8 Training #80

Closed glenn-jocher closed 2 months ago

glenn-jocher commented 2 months ago

How can I implement an active learning pipeline? Do I need different size models or how does it work??

UltralyticsAssistant commented 2 months ago

Hi @glenn-jocher,

Thank you for reaching out and showing interest in implementing an active learning pipeline with the velocity repository!

To implement an active learning pipeline for YOLOv8, you can generally follow these steps:

  1. Initial Training: Start by training an initial model with a small, labeled dataset. Use this model to make predictions on a larger unlabelled dataset.

  2. Data Selection: Utilize uncertainty sampling or other criteria to choose examples from the unlabelled data where the model's predictions are unsure. These samples are likely to improve the model if labeled and reintroduced into the training set.

  3. Labeling: Manually label the selected uncertain examples. Labeling can be facilitated by using labeling tools integrated with deep learning frameworks or third-party services.

  4. Model Retraining: Add the newly labeled examples to your training dataset and retrain the YOLOv8 model. Iteratively repeating this process can significantly enhance the accuracy and performance of your model.

Regarding your question about model sizes: Generally, using different-sized models is not necessary for active learning. However, you might explore employing a smaller and faster model for the initial stages of prediction and uncertainty evaluation. Once you have the selected uncertain samples labeled, you can retrain a larger, more accurate model.

If you need a more concrete implementation or have specific requirements, please let us know so that we can offer more detailed guidance or examples.

Best regards,

The Ultralytics Team

Velocity Repository