Train YOLOv10 on Custom Dataset
ฝัง
- เผยแพร่เมื่อ 25 พ.ค. 2024
- Learn to perform custom object detection using YOLOv10.
GitHub: github.com/AarohiSingla/YOLOv...
Dataset: Dataset is also present in GitHub repo.
What is introduced in YOLOv10 : • Learn What Is Introduc...
Email: aarohisingla1987@gmail.com
YOLOv10: Real-Time End-to-End Object Detection
Paper: arxiv.org/pdf/2405.14458
YOLOv10, developed by researchers at Tsinghua University introduces a novel approach to real-time object detection. This version addresses deficiencies in both post-processing and model architecture found in earlier YOLO versions. By removing non-maximum suppression (NMS) and optimizing various model components, YOLOv10 achieves state-of-the-art performance with significantly reduced computational overhead. Extensive experiments show its superior accuracy-latency trade-offs across multiple model scales.
#computervision #objectdetection #yolov9 #yolov8 #yolov10 - วิทยาศาสตร์และเทคโนโลยี
Thanks, I like your top-down approach from paper to code.
Thank you!
Hi, thanks for the excellent demostration!
Glad you enjoyed it!
Hello ma'am, could you please explain that how we get the overall mAP of the test dataset if we tested the best.pt on our test dataset?
How can we visualize the live training of YOLOv10, similar to how it is done for YOLOv5 using TensorBoard?
Aarohi, this is a great video. Thank you.
Thank you!
Thank you for the clear explanation. Can you do one incorporating DeepSort
tracking ?
Will try!
Please make a video tutorial on Google Colab for YoloV10, Ma’am. It’s more convenient for us than Jupyter notebook.
Noted!
Great, as always ! Thank you ! I have one stupid question...Why Ultralytics says it is version ultralytics-8.1.34, i expect v10 will be V10?? Can you explain? Thanks !
Because YOLOv10 is built on Ultralytics package. If you will open the official github repo of yolov10, you will see "ultralytics" folder there.
@@CodeWithAarohi Thank you for answer, i understand that part. But, official package which you can install with pip, is on 8.2.23 version already. That is what confuses me. What is the difference between all those versions?? For example, why V10 cannot be installed on top of 8.2.23 version? Please, clafiry, beacuse for us, newcomers, it is very confusing all those versions and repos. Thank you !
Amazing👍
Thanks!
Hello, thank you for the video. I'm actually using yolovn for my projects since years (ios and androids apps with live detection). I am currently a bit lost between all the new versions of yolo (v8, v9, v10...). Could you tell me what you think it is the best yolo for training and deploying models on ios and android ?
Thank you for all your work !
My viewpoint: For mobile deployment, YOLOv8 is currently the best option due to its excellent balance of performance, ease of use, and robust community support. It works well with both TensorFlow Lite for Android and Core ML for iOS, making it suitable for real-time applications on mobile devices.
@@CodeWithAarohi Thank you for your answser !
Hi. I have encountered an error that persists. I have tried everything like using absolute/relative paths, but the issue persists. Could someone help me with the following error?
RuntimeError: Dataset 'data.yaml' error 'data.yaml' does not exist
P.S. - I have checked the file format, its contents, and its path, everything seems all right, but the issue persists.
Can you please guide me why other weights of YOLOV10 is not working on colab because small ansd nano are working.
Not sure because haven't tried all the weights yet!
@@CodeWithAarohi can you please try other weights and guide me to solve my issue.
Amazing video. How to integrate yolov10 with SAM model ?
Will make a video
where can I find a license plate dataset for Italy? or the one you used works anyway?
The one I have used is present in github repo. Link shared in description section.
@@CodeWithAarohi italian plates are different, will it work anyway?
@@g.s.3389 if they are different then you need to prepare dataset according to that.
isn't that a yolov8?
Very nice explanation, thank you! I tried to follow the tutorial but got stuck when i got, "'yolo' is not recognized as an internal or external command,
operable program or batch file." while i tried to predict, "!yolo task=detect mode=predict conf=0.25 save=True......".... any comments on that?
github.com/ultralytics/ultralytics/issues/6281
I tried to follow the tutorial but got stuck when i got module not found error, no module named “huggingface_hub” while i tried to predict “!yolo task=detect mode=predict conf=0.25 save=True, any comments on that?
Nice
Thanks
very good
Thanks
i have a little problem. why jupyter notebook all text display same color. this issue same as in my computer. do you know a way fix this ?
This may be because you may have converted the cell to markdown type, can you confirm if you can execute code on that cell? if not try converting it to code block again by 1. click on the cell > 2. hit esc button > 3. press M > 4. Press Y
@@nitinrai6093 no bro, in this video arohi selected code cell type. But still same as markdown cell type look
Hello ma'am, could you please explain what 'train/box_om', 'train/cls_om', 'train/dfl_om', 'train/box_oo', 'train/cls_oo', and 'train/dfl_oo' mean in the plot after the YOLOv10 training is completed?
om is One-to-Many Head ( Generates multiple predictions per object during training to provide rich supervisory signals and improve learning accuracy)
oo is One-to-One Head (Generates a single best prediction per object during inference to eliminate the need for NMS, thereby reducing latency and improving efficiency).
@@CodeWithAarohi thanks Maam
Hi mam,
Amazing work by the way. I am new to this object detection concept. I want to create a custom dataset with images of different fruits. How do I make the labels of those images?
Thank you :)
Collect images of all types of fruits. Then use labelimg tool to label the images in yolo format which is txt format. check this: pypi.org/project/labelImg/
@@CodeWithAarohi Thanks mam :)
🥰🥰
Hi, I facing some error while I try to run this code in anaconda ! can you please share a video how to create a new env for that using GPU
THis is how you can create environment:
1- Download and Install Python
2- Open your terminal (Command Prompt on Windows, Terminal on macOS/Linux).
3- Navigate to the directory where you want to create your project.
4- Then run these commands to create and activate environment:
5- python -m venv venv
6- venv\Scripts\activate
Hello Madam,
Thank you for your continuous support to students like me. I'm curious if you've implemented real-time YOLO image detection using a mobile phone's back camera from a browser before. Specifically, when a user opens the Flask web app and clicks a button, the back camera should automatically open and display live predictions. Currently, I can achieve this with a laptop webcam by setting the source to 0, but it doesn't work on a mobile phone. Do you have any sample projects or resources on how to do this? Your guidance means a lot.
You can install IPcamera app on your phone and pass that ip camera address in source. I think this will work.
@@CodeWithAarohi I see, alright noted madam. Thanks a lot for your help Madam✨😇
I am getting this error after finishing training the model when I want to predict (inference): i
!yolo task=detect mode=predict conf=0.25 save=True model=runs/detect/train/weights/best.pt source=test_images_1/veh2.jpg
32 try:
33 # Issuing `None` to a generator fires it up
34 with ctx_factory():
---> 35 response = gen.send(None)
37 while True:
38 try:
...
--> 216 bs = prediction.shape[0] # batch size
217 nc = nc or (prediction.shape[1] - 4) # number of classes
218 nm = prediction.shape[1] - nc - 4
AttributeError: 'dict' object has no attribute 'shape'
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
add
prediction = prediction['one2many'][0] to File "yolov10-main\ultralytics\utils\ops.py", line 216, in non_max_suppression
bs = prediction.shape[0] # batch size
final code:
prediction = prediction['one2many'][0]
bs = prediction.shape[0]
Can you please guide me how to setup virtual environment for yolov10 in anaconda. I am using jupyter notebook and made environment named yolov10 in anaconda. But yolov10 architecture gives error of yolo command not found.plz guide me
conda create -n yolov10 python=3.8
conda activate yolov10
conda install numpy pandas matplotlib
conda install -c conda-forge opencv
conda install -c conda-forge jupyterlab
pip install torch torchvision torchaudio
git clone github.com/ultralytics/yolov10.git
cd yolov10
pip install -r requirements.txt
Thank you mam. I will try
Glad to implement yolov10 from the above advised steps by using environment. However ultralytics link is not working.Instead I clone from repository and it works
Your practical demonstration is highly appreciate able
could you please make a video on yolo world custom dataset training
For custom training of such models you need lot of data and variety of data which I don’t have to train custom yolo-world model. So, I can’t help you
@@CodeWithAarohi if possible could you please explain input data format so that we can try our own, it will be helpful, help us with initial training set up and data preparation.
Check this page: docs.ultralytics.com/models/yolo-world/#set-prompts
@@CodeWithAarohi Thank you
Hello mam first upon thanks for your all videos. Mam i request you please upload video on custom object classification using yolov8s . Model Training, validation and testing done with puthon script
Okay sure
Thanks mam
O minha delicia, da para fazer detectar a rua em quanto eu estiver dirigindo ? tipo um tesla copilot ? Otimo video minha delicia parabens !
Hello, I am not able to validate on test set, getting the following error:
Traceback (most recent call last):
File "/usr/local/bin/yolo", line 8, in
sys.exit(entrypoint())
File "/usr/local/lib/python3.10/dist-packages/ultralytics/cfg/__init__.py", line 587, in entrypoint
getattr(model, mode)(**overrides) # default args from model
File "/usr/local/lib/python3.10/dist-packages/ultralytics/engine/model.py", line 518, in val
validator(model=self.model)
File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/ultralytics/engine/validator.py", line 187, in __call__
preds = self.postprocess(preds)
File "/usr/local/lib/python3.10/dist-packages/ultralytics/models/yolo/detect/val.py", line 86, in postprocess
return ops.non_max_suppression(
File "/usr/local/lib/python3.10/dist-packages/ultralytics/utils/ops.py", line 216, in non_max_suppression
bs = prediction.shape[0] # batch size
AttributeError: 'dict' object has no attribute 'shape'
Add prediction = prediction['one2many'][0] to File "yolov10-main\yolov10-main\ultralytics\utils\ops.py", line 216, in non_max_suppression
bs = prediction.shape[0] # batch size
final code:
prediction = prediction['one2many'][0] bs = prediction.shape[0]