Pytroch版YOLOv5,性能提升兩倍,推斷速度可達每秒140幀!

關注

點擊關注上方“AI深度視線”,並“星標”公號

技術硬文,第一時間送達!

 

轉自 | 量子位 

YOLOv4還沒有退熱,YOLOv5已經發布!

6月9日,Ultralytics公司開源了YOLOv5,離上一次YOLOv4發佈不到50天。而且這一次的YOLOv5是完全基於PyTorch實現的!

在我們還對YOLOv4的各種騷操作、豐富的實驗對比驚歎不已時,YOLOv5又帶來了更強實時目標檢測技術。

按照官方給出的數目,現版本的YOLOv5每個圖像的推理時間最快0.007秒,即每秒140幀(FPS),但YOLOv5的權重文件大小隻有YOLOv4的1/9

接下來一起了解一下最新的YOLOv5吧。

   更快更小巧的YOLOv5

老規矩,先來介紹一下安裝過程。

安裝YOLOv5通過下方代碼實現:

$ pip install -U -r requirements.txt

要求Python3.7以上版本,PyTorch1.5以上。

YOLOv5的4組不同權重在COCO2017數據集上的結果如下:

所有模型均採用默認配置與超參數訓練了300epoch,且未添加自動擴增技術。

可以看到,它超過了大部分的目標檢測器,同時具有超快的速度。

APtest指的是COCO-test-dev2017上的結果,其他AP表示val2017的精度。所有指標均爲單模型、單尺度、爲進行任何集成與TTA。可以通過如下命令進行重現上述指標:

python test.py —img-size 736 —conf_thres 0.001

延遲是在V100 GPU上對5000個COCO-val2017中的數據進行測試的結果,包含數據預處理、模型推理、後處理以及NMS。平均NMS的時間爲1.6ms/image。

上述指標可以通過如下命令復現:

python test.py —img-size 640 —conf_thres 0.1 —batch-size 16

YOLOv5在單一V-100 GPU的情況下,COCO 2017數據集上的訓練時間分別爲:

YOLOv5 s

YOLOv5 m

YOLOv5 l

YOLOv5 x

2天

4天

6天

8天

可以通過以下代碼開始訓練:

$ python train.py —data coco.yaml —cfg YOLOv5s.yaml —weights ‘’ —batch-size 16

不同權重YOLOv5的對比

YOLOv5在中國國內街景監控上的實測,包含了YOLOv5 s/m/l/x四種不同權重:

測試視頻來自B站@才疏學淺的小白

用戶的測試實例並沒有給出與前代YOLOv4的對比,但官方給出了數據說明。

YOLOv5速度比前代更快,在運行Tesla P100的YOLOv5 Colab筆記本中,每個圖像的推理時間快至0.007秒,意味着每秒140幀(FPS)!相比之下,YOLOv4在轉換爲相同的Ultralytics PyTorch後達到了50幀 。

同時,在研究者對血細胞計數和檢測(BCCD)數據集的測試中,經過100個epoch的訓練,獲得了大約0.895的平均精度(mAP),與EfficientDet和YOLOv4相當。

YOLOv5體積小,YOLOv5 s的權重文件爲27MB。YOLOv4(Darknet架構)的權重文件爲244MB。YOLOv5比YOLOv4小近90%。這意味着YOLOv5可以更輕鬆地部署到嵌入式設備。

此外,因爲YOLOv5是在PyTorch中實現的,所以它受益於已建立的PyTorch生態系統;YOLOv5還可以輕鬆地編譯爲ONNX和CoreML,因此這也使得部署到移動設備的過程更加簡單。

   大神沒交棒,但YOLOv5還是來了

嚴格來講,這次Ultralytics放出的YOLOv5,是YOLOv4的一個實現版本(性能有改進),只不過是完全用Pyotorch實現了。並且支持轉ONNX以及CoreML等,方便用戶在移動端部署。

所以也有網友叫它YOLOv4.5。

截止發稿,原YOLO項目官方(Darknet)也沒有添加YOLOv5鏈接,所以,這個「YOLOv5」的名號,是Ultralytics團隊自封的。

Ultralytics公司可能大家不熟悉,但提到他們公司的一個項目,很多人應該就知道了:基於PyTorch復現的YOLOv3。按目前github上star數來看,應該是最受歡迎的YOLOv3的PyTorch實現版本。

值得一提的是,Ultralytics公司的Glenn Jocher是mosaic數據增強方法的創建者,這種方法是改進後的YOLOv4中的重要技術。

Glenn Jocher就是這次YOLOv5項目的主要開發者。

儘管官方還沒認可項目命名爲”YOLOv5”這個名字,但它對上一版本性能的改善和提升十分顯著,網友也對其開源的精神紛紛點贊,希望項目繼續更新,造福更多的YOLO用戶。

傳送門

https://github.com/ultralytics/YOLOv5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章