關注
點擊關注上方“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