YOLOv9 Comparison with Latest YOLO models
ฝัง
- เผยแพร่เมื่อ 17 ต.ค. 2024
- YOLOv9 introduces two new architectures: YOLOv9 and GELAN. This is a comparison of the latest YOLO models, including YOLOv9, GELAN, YOLO-NAS, and YOLOv8.
I selected the largest models from all YOLO variants and kept other parameters consistent, image size (640), IOU (0.7), confidence threshold (0.5), and the maximum number of detections allowed per image (300), using an NVIDIA RTX 3050 GPU.
I evaluated these models in various scenarios, including normal lighting conditions, low-light conditions and blurred scenarios. The testing covered scenarios involving sports, animals and indoor environments.
#yolo #yolov9 #gelan #yolonas #yolov8 #ai #deeplearning #computervision #objectdetection
which pretrained model did you used for each versions of yolo
I selected the largest models from all YOLO variants and kept other parameters consistent, image size (640), IOU (0.7), confidence threshold (0.5), and the maximum number of detections allowed per image (300), using an NVIDIA RTX 3050 GPU.
Hi, where can I find a Yolo v9 implementation?
github.com/WongKinYiu/yolov9
The Github repo of YOLOv9, Refer this
blog.roboflow.com/train-yolov9-model/
Train YOLOv9 on a Custom Dataset
its yolo paid? i managed to get yolov4 inside unity but have no clue how to update my project to the latest yolo version.. is there any web for yolo? its paid ? thanks for clearing this out
YOLO v4 has a very permissive license, Apache License 2.0, which allows for extensive usage. However, other YOLO variants do not offer the same level of permissiveness.
Many YOLO models are licensed under the GNU Affero General Public License v3.0. While you can use them for commercial purposes, it's important to review the license limitations before doing so. Depending on the terms and conditions of the license, you may need to pay to gain full access.
By checking the YOLO license, you can determine which YOLO version is suitable for your product. You can find these licenses on the model's GitHub repository.
YOLOv4 -github.com/08173021/YOLOv4/blob/master/License.txt
YOLOv5 - github.com/ultralytics/ultralytics/blob/main/LICENSE
YOLOv7 - github.com/WongKinYiu/yolov7/blob/main/LICENSE.md
YOLOv8 - github.com/ultralytics/yolov5/blob/master/LICENSE
which better for small object detection?
When it comes to small objects, I believe that all the models need improvement.
If you observe those comparisons, none of those models can reliably detect the sports ball. They struggle to distinguish the ball from the background.
In my opinion, YOLOv9 has a slight advantage in detecting small objects. It detects them with comparatively higher confidence and fewer errors.
@@pamudu123ranasinghe7 i think Yolov8 is better for small object detection, just need to collect data and annotations correctly.m
huggingface.co/spaces/Pamudu/YOLO-Battlefield
Try this on huggingface spaces.
You can compare your desired YOLO model with other YOLO models to get an idea about real-time performance and detection accuracy.
Which one did you think was better for small object detection?
If challenging conditions make it hard to distinguish from the background, every model is not very good. YOLOv9 has a slight edge, as I am thinking.
In those scenarios, it is good to train your own models with your data after trying those models.
huggingface.co/spaces/Pamudu/YOLO-Battlefield
Try this on huggingface spaces.
You can compare your desired YOLO model with other YOLO models to get an idea about real-time performance and detection accuracy.
when i use yolo my video output was lagging (low fps), what should i do? thanks
The output is lower mainly because you are running on the CPU. If you run YOLO on a GPU, it will have a decent speed. Here are some points to speed up your process:
1. NVIDIA GPU Configuration :
If you have an NVIDIA GPU in your device, configure it to run with CUDA.
2. Use a Faster YOLO Variant :
- Use the Nano or Small model for your inference. These models are optimized with lower parameters and offer good real-time performance.
3. Reduce Input Resolution :
- Lower the resolution of your input video or frames.
- This will decrease processing time but may affect detection accuracy.
4. Skip Frames :
- Process every Nth frame instead of every frame.
- This can significantly increase FPS at the cost of some temporal resolution.
5. Use Inference Optimizations :
- Enable TensorRT, ONNX Runtime, or OpenVINO for faster inference.
- Try quantization to use lower-precision arithmetic.
6. Profile Your Code :
- Use profiling tools to identify bottlenecks in your implementation.
I have already implemented those methods. You can check them to get an idea.
github.com/pamudu123/object-detection-optimization/tree/main/YOLOv8_optimization
Additionally, try comparing different YOLO models to evaluate their performance differences.
huggingface.co/spaces/Pamudu/YOLO-Battlefield
@@pamudu123ranasinghe7 alright thanks for the advice brother! 🙌
What is the actual difference between yolov9 and gelan?
Differences of model architecture
Very cool and thanks for posting, could you also share the FPS for each ?
huggingface.co/spaces/Pamudu/YOLO-Battlefield
Try this on huggingface spaces.
You can compare your desired YOLO model with other YOLO models to get an idea about real-time performance and detection accuracy.FPS calculations included
What did you conclude?
Look at 0:59 it can detect a backpack from long distance even with blurry effect, overall it has also better score confidence
For indoor instruments:
YOLOv8 > YOLOv9 ≈ GELAN > YOLO-NAS.
Note: YOLO-NAS is unable to detect a TV when it is on and streaming. 0:07
Detecting birds: YOLOv8 is slightly better.
Detecting in crowded scenarios: YOLOv9 is slightly better.
Detecting vehicles: YOLOv9 is slightly better. GELAN, YOLOv8 are also doing equally good. YOLO-NAS lags behind with a higher error rate.
huggingface.co/spaces/Pamudu/YOLO-Battlefield
Try this on huggingface spaces.
You can compare your desired YOLO model with other YOLO models to get an idea about real-time performance and detection accuracy.