yolov5 簡單教程


777

該庫代表Ultralytics對未來對象檢測方法的開源研究,並結合了以前的YOLO庫https://github.com/ultralytics/yolov3在自定義數據集上訓練了數千個模型而得到的最佳實踐。所有代碼和模型都在積極的開發中,如有修改或刪除,恕不另行通知。如果使用,風險自負。

85340570-30360a80-b49b-11ea-87cf-bdf33d53ae15
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

83082816-59e54880-a039-11ea-8abe-ab90cc1ec4b0

復現我們的訓練

下載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

84186698-c4d54d00-aa45-11ea-9bde-c632c1230ccd

復現我們的環境

要訪問最新的工作環境(已預安裝所有庫,包括CUDA / CUDNN,Python和PyTorch),請考慮以下網站:

引用

68747470733a2f2f7a656e6f646f2e6f72672f62616467652f3236343831383638362e737667

原文鏈接:https://github.com/ultralytics/yolov5

歡迎關注磐創AI博客站:
http://panchuang.net/

sklearn機器學習中文官方文檔:
http://sklearn123.com/

歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM