該庫代表Ultralytics對未來對象檢測方法的開源研究,並結合了以前的YOLO庫https://github.com/ultralytics/yolov3在自定義數據集上訓練了數千個模型而得到的最佳實踐。所有代碼和模型都在積極的開發中,如有修改或刪除,恕不另行通知。如果使用,風險自負。
GPU速度測量:使用V100的GPU在超過5000張COCO val2017圖像上測量批處理大小為8的平均每張圖像的端到端時間,包括圖像預處理,PyTorch FP16推斷,后處理和NMS。
- 2020年6月22日:PANet更新:新的特性,更少的參數,更快的推理和改進的mAP 364fcfd。
- 2020年6月19日:FP16作為新的默認設置,可用於更小的檢查點和更快的推斷d4c6674。
- 2020年6月9日:CSP更新:改進了速度,大小和准確性(歸功於@WongKinYiu)。
- 2020年5月27日:公開發布庫。YOLOv5模型是所有已知YOLO實現中最先進(SOTA)的。
- 2020年4月1日:未來開始發展基於YOLOv3 / YOLOv4的一系列PyTorch模型。
預訓練的檢查點(checkpoints)
Model | APval | APtest | AP50 | SpeedGPU | FPSGPU | params | FLOPS | |
---|---|---|---|---|---|---|---|---|
YOLOv5s | 36.6 | 36.6 | 55.8 | 2.1ms | 476 | 7.5M | 13.2B | |
YOLOv5m | 43.4 | 43.4 | 62.4 | 3.0ms | 333 | 21.8M | 39.4B | |
YOLOv5l | 46.6 | 46.7 | 65.4 | 3.9ms | 256 | 47.8M | 88.1B | |
YOLOv5x | 48.4 | 48.4 | 66.9 | 6.1ms | 164 | 89.0M | 166.4B | |
YOLOv3-SPP | 45.6 | 45.5 | 65.2 | 4.5ms | 222 | 63.0M | 118.0B |
** AP測試表示COCOtest-dev2017服務器結果,表中所有其他AP結果表示val2017准確性。
**所有AP編號均適用於單模型單尺度,而沒有集成或測試時間增加。通過python test.py --img 736 --conf 0.001
進行使用。
**速度GPU測量:進行再現使用一個V100的GPU和一個GCPn1-standard-16實例在超過5000張COCO val2017圖像上測量每張圖像的端到端時間,包括圖像預處理,PyTorch FP16圖像推斷(批量大小 32 --img-size 640),后處理和NMS。此圖表中包括的平均NMS時間為1-2ms / img。通過python test.py --img 640 --conf 0.1
進行測試。
**所有檢查點均使用默認的設置和超參數訓練到300個epochs(無自動增強)。
要求
Python 3.7或更高版本,安裝了requirements.txt
要求的所有的庫和torch >= 1.5
,運行下面命令進行安裝:
$ pip install -U -r requirements.txt
教程
推斷
可以在大多數常見的媒體格式上進行推斷。模型檢查點(在網上如果有對應的檢查點的話)會自動下載。結果保存到./inference/output
。
$ python detect.py --source file.jpg # image
file.mp4 # video
./dir # directory
0 # webcam
rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream
http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
要對./inference/images
文件夾中的示例進行推斷,請執行以下操作:
$ python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=640, iou_thres=0.5, output='inference/output', save_txt=False, source='./inference/images/', view_img=False, weights='yolov5s.pt')
Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)
Downloading https://drive.google.com/uc?export=download&id=1R5T6rIyy3lLwgFXNms8whc-387H0tMQO as yolov5s.pt... Done (2.6s)
image 1/2 inference/images/bus.jpg: 640x512 3 persons, 1 buss, Done. (0.009s)
image 2/2 inference/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.009s)
Results saved to /content/yolov5/inference/output
復現我們的訓練
下載COCO,安裝Apex並在運行下面命令。在一台有V100的GPU上,YOLOv5s / m / l / x的訓練時間為2/4/6/8天(多個GPU的訓練速度更快)。使用您的GPU允許的最大--batch-size
容量(下面的batchsize是為16 GB設備而設置的)。
$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
yolov5m 48
yolov5l 32
yolov5x 16
復現我們的環境
要訪問最新的工作環境(已預安裝所有庫,包括CUDA / CUDNN,Python和PyTorch),請考慮以下網站:
-
Google Cloud 深度學習VM,提供$300的免費贈金:請參閱我們的GCP快速入門指南
-
Google Colab Notebook 具有12小時的免費GPU時間。
-
Docker Image https://hub.docker.com/r/ultralytics/yolov5 .請參閱 Docker快速入門指南
引用
原文鏈接:https://github.com/ultralytics/yolov5
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方文檔:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/