GithubHelp home page GithubHelp logo

Comments (4)

glenn-jocher avatar glenn-jocher commented on June 2, 2024 1

@kanis777 hello 👋,

Thanks for your detailed query! When training YOLOv5 on a single class, please double-check the following in your setup:

  1. YAML Configuration: Ensure that the nc (number of classes) is set to 1, and the names field contains only one class name.

  2. Data Labels: Verify that all label files only contain the class index 0 since you have only one class (persons).

  3. Model Output: Sometimes, predictions for single classes can be hard to spot if the model hasn't sufficiently learned. Try lowering your confidence threshold temporarily for the predictions with the command --conf-thres 0.1 when running detections to see if any low confidence predictions are being made.

If issues persist, adjusting learning rates or training for more epochs could also help improve detection.

If no bounding boxes are displayed at all, it may suggest the model hasn't learned effective features for that class, suggesting a possible need for hyperparameter tuning or more training data.

Keep up the efforts, and reach out if you have more questions! 🚀

from yolov5.

github-actions avatar github-actions commented on June 2, 2024

👋 Hello @kanis777, thank you for your interest in YOLOv5 🚀! Please visit our ⭐️ Tutorials to get started, where you can find quickstart guides for simple tasks like Custom Data Training all the way to advanced concepts like Hyperparameter Evolution.

If this is a 🐛 Bug Report, please provide a minimum reproducible example to help us debug it.

If this is a custom training ❓ Question, please provide as much information as possible, including dataset image examples and training logs, and verify you are following our Tips for Best Training Results.

Requirements

Python>=3.8.0 with all requirements.txt installed including PyTorch>=1.8. To get started:

git clone https://github.com/ultralytics/yolov5  # clone
cd yolov5
pip install -r requirements.txt  # install

Environments

YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

YOLOv5 CI

If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training, validation, inference, export and benchmarks on macOS, Windows, and Ubuntu every 24 hours and on every commit.

Introducing YOLOv8 🚀

We're excited to announce the launch of our latest state-of-the-art (SOTA) object detection model for 2023 - YOLOv8 🚀!

Designed to be fast, accurate, and easy to use, YOLOv8 is an ideal choice for a wide range of object detection, image segmentation and image classification tasks. With YOLOv8, you'll be able to quickly and accurately detect objects in real-time, streamline your workflows, and achieve new levels of accuracy in your projects.

Check out our YOLOv8 Docs for details and get started with:

pip install ultralytics

from yolov5.

kanis777 avatar kanis777 commented on June 2, 2024

Thank you for replying
image
This is how my yaml file looks . So , I dont think the mistakes lie there.
I have about a total of 36 images - 20 for training 7 for testing and 7 for validation
In yolov5/runs/train/exp4
Train_batch0
image
Train_batch1
image
Train_batch2
image
val batch0_labels
image
val batch0_pred
image

![confusion_matrix](https://github.com/ultralyti
PR_curve
cs/yolov5/assets/106160864/88d1b09c-799a-4736-83bb-42cf231b5c66)

![R_curve](https://github.com/ultralytics/yolov5/assets
P_curve
/106160864/92dcb683-c4ee-4cde-8b7e-0a0133486d25)

Annotation is not the problem - I have got the pytorch yolov5 zip from roboflow . and i checked using bounding boxes .
I am setting the epochs to only 10
My doubt is if it is able to label ... then y cant it predict .

Maybe as u said the size is the problem . I will try out another dataset aswell . But if u can , I would like u to explain y can it label but not predict - is the labeling utilizing annotated data instead of labeling on its own ??

from yolov5.

glenn-jocher avatar glenn-jocher commented on June 2, 2024

Hello @kanis777,

Thanks for sharing the details and images from your training process. It looks like your YAML configuration is set up correctly.

Given your scenario, it's important to note that during training, the labels shown (e.g., train_batch0_labels, val_batch0_labels) are directly from your annotated dataset, not predictions by the model. These are used to guide the model's learning process.

The val_batch0_pred images, on the other hand, show the model's predictions based on what it has learned. If these predictions are missing or incorrect, it typically indicates that the model hasn't yet learned to generalize well from the training data provided. This could be due to several reasons:

  • Insufficient training data: 36 images in total might be too few to effectively train the model, especially for complex tasks like person detection.
  • Underfitting: Since you're only training for 10 epochs, the model might not have had enough iterations to learn effectively from the data.

You might consider increasing the number of epochs or using a dataset with more images. Additionally, experimenting with different learning rates or augmentation strategies could also help improve model performance.

Keep experimenting, and don't hesitate to reach out if you have more questions! 🚀

from yolov5.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.