YOLOv5目標檢測源碼重磅發布了!
https://github.com/ultralytics/yolov5
該存儲庫代表了對未來對象檢測方法的超解析開源研究,並結合了在使用之前的YOLO存儲庫在自定義客戶機數據集上訓練數千個模型時所吸取的經驗教訓和改進的最佳實踐https://github.com/ultralytics/yolov3。所有代碼和模型都在積極開發中,可能會被修改或刪除,恕不另行通知。使用風險自負。
更新:
2020年5月27日:公開發布。yolov3 spp(發布協議)是所有已知yolo實現中的SOTA,yolov5系列將在2020年第2/3季度進行架構研究和開發,以提高性能。更新可能包括來自yolov4的CSP瓶頸,以及PANet或BiFPN head特性。
2020年5月24日:訓練yolov5s/x和yolov3-spp。yolov5m/l出現早期過度擬合,並且代碼137早期docker終止,原因未知。yolov5l因早期過度擬合而表現不佳yolov3 spp,原因未知。 2020年4月1日:開始開發100%Pythorch可縮放的基於yolov3/4的未來模型組,包括小型、中型、大型和超大型,統稱為yolov5。模型將由新的用戶友好的基於yaml的配置文件定義,以便於構建和修改。數據集也將使用yaml配置文件。新的訓練平台將更簡單的使用,更難打破,更強大的訓練范圍更廣的自定義數據集。
專業解析(Ultralytics Professional Support)
基於雲的人工智能監控系統實時運行在數百個高清視頻流上。邊緣人工智能集成到定制的iOS和Android應用程序中,可實現每秒30幀的實時視頻推斷。
預先訓練的檢測
**APtest表示COCO test-dev2017服務器結果,表中所有其他AP結果表示val2017精度。
**所有的精度數字都是針對沒有集合或測試時間增加的單模型單尺度。
python test.py --img-size 736 --conf_thres 0.001
**LatencyGPU使用V100 GPU測量平均超過5000張COCO val2017圖像的端到端延遲,包括圖像預處理、推斷、后處理和NMS。
此圖表中包含的平均NMS時間為1.6ms/圖像。
python test.py --img-size 640 --conf_thres 0.1 --batch-size 16
**所有檢查點都訓練到300個具有默認設置和超參數(無自動增強)的階段。
Requirements
Python 3.7或更高版本requirements.txt已安裝依賴項,包括torch>=1.5。要安裝運行:
$ pip install -U -r requirements.txt
教程Tutorials
- Train Custom Data
- Google Colab Notebook with training, testing and testing examples
- GCP Quickstart
- Docker Quickstart Guide
推論Inference
推理可以在大多數常見的媒體格式上運行。如果可用,則自動下載模型檢查點。結果保存到./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
To run inference on examples in the ./inference/images
folder:
$ 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
Reproduce Our Training
運行下面的命令。yolov5s需要幾天的訓練,yolov5x需要幾周的2080tigpu訓練。
$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 16
Reproduce Our Environment
要訪問最新的工作環境(預先安裝了所有依賴項,包括CUDA/CUDNN、Python和PyTorch),請考慮:
- GCP Deep Learning VM with $300 free credit offer: See our GCP Quickstart Guide
- Google Colab Notebook with 12 hours of free GPU time: Google Colab Notebook
- Docker Image from https://hub.docker.com/r/ultralytics/yolov5. See Docker Quickstart Guide