1. 程式人生 > 實用技巧 >yolov5 簡單教程

yolov5 簡單教程

該庫代表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和一個GCP

n1-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),請考慮以下網站:

引用

原文連結:https://github.com/ultralytics/yolov5

歡迎關注磐創AI部落格站:
http://panchuang.net/

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

歡迎關注磐創部落格資源彙總站:
http://docs.panchuang.net/