

Github GitHub - ultralytics/yolov5: YOLOv5 in PyTorch > ONNX > CoreML >...
source link: https://github.com/ultralytics/yolov5
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
This repository represents Ultralytics open-source research into future object detection methods, and incorporates lessons learned and best practices evolved over thousands of hours of training and evolution on anonymized client datasets. All code and models are under active development, and are subject to modification or deletion without notice. Use at your own risk.
** GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 32, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS. EfficientDet data from google/automl at batch size 8.
- January 5, 2021: v4.0 release: nn.SiLU() activations, Weights & Biases logging, PyTorch Hub integration.
- August 13, 2020: v3.0 release: nn.Hardswish() activations, data autodownload, native AMP.
- July 23, 2020: v2.0 release: improved model definition, training and mAP.
- June 22, 2020: PANet updates: new heads, reduced parameters, improved speed and mAP 364fcfd.
- June 19, 2020: FP16 as new default for smaller checkpoints and faster inference d4c6674.
Pretrained Checkpoints
Model size APval APtest AP50 SpeedV100 FPSV100
params GFLOPS YOLOv5s 640 36.8 36.8 55.6 2.2ms 455
7.3M 17.0 YOLOv5m 640 44.5 44.5 63.1 2.9ms 345
21.4M 51.3 YOLOv5l 640 48.1 48.1 66.4 3.8ms 264
47.0M 115.4 YOLOv5x 640 50.1 50.1 68.7 6.0ms 167
87.7M 218.8
YOLOv5x + TTA 832 51.9 51.9 69.6 24.9ms 40
87.7M 1005.3
** APtest denotes COCO test-dev2017 server results, all other AP results denote val2017 accuracy.
** All AP numbers are for single-model single-scale without ensemble or TTA. Reproduce mAP by python test.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65
** SpeedGPU averaged over 5000 COCO val2017 images using a GCP n1-standard-16 V100 instance, and includes image preprocessing, FP16 inference, postprocessing and NMS. NMS is 1-2ms/img. Reproduce speed by python test.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45
** All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).
** Test Time Augmentation (TTA) runs at 3 image sizes. Reproduce TTA by python test.py --data coco.yaml --img 832 --iou 0.65 --augment
Requirements
Python 3.8 or later with all requirements.txt dependencies installed, including torch>=1.7
. To install run:
$ pip install -r requirements.txt
Tutorials
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):
Inference
detect.py runs inference on a variety of sources, downloading models automatically from the latest YOLOv5 release and saving results to runs/detect
.
$ python detect.py --source 0 # webcam file.jpg # image file.mp4 # video path/ # directory path/*.jpg # glob rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream rtmp://192.168.1.105/live/test # rtmp stream http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
To run inference on example images in data/images
:
$ python detect.py --source data/images --weights yolov5s.pt --conf 0.25 Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.25, device='', img_size=640, iou_thres=0.45, save_conf=False, save_dir='runs/detect', save_txt=False, source='data/images/', update=False, view_img=False, weights=['yolov5s.pt']) Using torch 1.7.0+cu101 CUDA:0 (Tesla V100-SXM2-16GB, 16130MB) Downloading https://github.com/ultralytics/yolov5/releases/download/v3.1/yolov5s.pt to yolov5s.pt... 100%|██████████████| 14.5M/14.5M [00:00<00:00, 21.3MB/s] Fusing layers... Model Summary: 232 layers, 7459581 parameters, 0 gradients image 1/2 data/images/bus.jpg: 640x480 4 persons, 1 buss, 1 skateboards, Done. (0.012s) image 2/2 data/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.012s) Results saved to runs/detect/exp Done. (0.113s)
PyTorch Hub
To run batched inference with YOLOv5 and PyTorch Hub:
import torch from PIL import Image # Model model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True) # Images img1 = Image.open('zidane.jpg') img2 = Image.open('bus.jpg') imgs = [img1, img2] # batched list of images # Inference result = model(imgs)
Training
Run commands below to reproduce results on COCO dataset (dataset auto-downloads on first use). Training times for YOLOv5s/m/l/x are 2/4/6/8 days on a single V100 (multi-GPU times faster). Use the largest --batch-size
your GPU allows (batch sizes shown for 16 GB devices).
$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64 yolov5m 40 yolov5l 24 yolov5x 16
Citation
About Us
Ultralytics is a U.S.-based particle physics and AI startup with over 6 years of expertise supporting government, academic and business clients. We offer a wide range of vision AI services, spanning from simple expert advice up to delivery of fully customized, end-to-end production solutions, including:
- Cloud-based AI systems operating on hundreds of HD video streams in realtime.
- Edge AI integrated into custom iOS and Android apps for realtime 30 FPS video inference.
- Custom data training, hyperparameter evolution, and model exportation to any destination.
For business inquiries and professional support requests please visit us at https://www.ultralytics.com.
Contact
Issues should be raised directly in the repository. For business inquiries or professional support requests please visit https://www.ultralytics.com or email Glenn Jocher at [email protected].
Recommend
-
101
Convert from Tensorflow to CoreML coremltools (Recommended approach) For converting TensorFlow models to CoreML format, the recommended approach is to use TensorF...
-
91
README.md
-
105
README.md
-
47
机器学习是当今最热门的研究方向之一,涉及到包括算法在内的多项技术,看似门槛挺高,但是在 iOS 端可以基于苹果提供的 CoreML 及相关框架来更加便捷的研究并实现和人工智能相关的功能。 一、 CoreML 概览 使用 Core ML...
-
1340
README.md TensorRT backend for ONNX Parses ONNX models for execution with TensorRT.
-
13
Building a Face Detecting Robot with URLSessionWebSocketTask, CoreML, SwiftUI and an Arduino Building a Face Detecting Robot with URLSessionWebSocketTask, CoreML, SwiftUI and an Arduino October 16, 2019
-
41
使用PyTorch版的yolov5训练时,出现Error in `python': double free or corruption (!prev)错误的解决方式 ...
-
11
作者丨立交桥跳水冠军 来源丨https://zhuanlan.zhihu.com/p/272767300 编辑丨GiantPandaCV 之前几个月参与了Open MMlab的...
-
9
Yolov5 + Deep Sort with PyTorch Introduction This repository contains a two-stage-tracker. The detections generated by YOLOv5, a family of object detection architectures a...
-
36
Importing Models from TensorFlow, PyTorch, and ONNX » Deep Learning The following post is from Sivylla Paraskevopoulou, Senior Technical Writer and
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK