![](http://static.javashuo.com/static/loading.gif)
撇開全部爭議不談,YOLOv5 看起來是一個「頗有前途」的模型。所以,我將它與 Faster RCNN 進行了比較,Faster RCNN 是最好的 two stage 檢測器之一。爲了進行比較,我選取了三段背景不一樣的視頻,並將這兩個模型並排運行。個人評估包括對結果質量和推理速度的觀察結果。那麼,讓咱們言歸正傳。python
YOLOv5 的實現是在 PyTorch 中完成的,與以前基於 DarkNet 框架的開發造成了鮮明的對比。這使得該模型的理解、訓練和部署變得更加容易(目前暫時沒有使用 YOLO-v5 的論文發表)。以個人理解來看,在架構上,它和 YOLO-v4 很類似。一個不一樣之處多是使用了 Cross Stage Partial Network(CSP)來下降計算成本。目前尚不清楚 YOLOv5 的運行速度是否比 YOLO-v4 更快,但我更喜歡 PyTorch 的實現,並且讓驚訝的是,使用這個模型進行訓練是如此的容易。就我我的經驗而言,經過它進行推理的體驗也是如此。bash
此次發佈的 YOLOv5 包括五種不一樣尺寸的模型:YOLOv5s(最小)、YOLOv5m、YOLOv5l、YOLOv5x(最大)。這些模型的推理速度和平均精度均值(mean average precision,mAP)以下圖所示:微信
第一步就是克隆 YOLO-v5 的 repo,並安裝全部的依賴要求。我使用的是 PyTorch 1.5,代碼能夠正常工做,沒有任何問題。架構
你能夠按照如下方法下載不一樣預訓練 COCO 模型的全部權重:app
bash weights/download_weights.sh
要對視頻進行推理,就必須將傳遞給視頻的路徑以及要使用的模型的權重。若是沒有設置權重參數,那麼在默認狀況下,代碼在 YOLO 小模型上運行。我使用的示例參數以下所示。框架
python detect.py --source video/MOT20-01-raw-cut1.mp4 --output video_out/ --weights weights/yolov5s.pt --conf-thres 0.4
輸出視頻將保存在輸出文件夾中。ide
對於 Faster RCNN 模型,我使用了 TensorFlow Object Detection 中的預訓練模型。TensorFlow Object Detection 共享 COCO 預訓練的 Faster RCNN,用於各類主幹。對於這個博客,我使用了 Faster RCNN ResNet 50 主幹。這個 repo 分享了一個很不錯的教程,介紹如何使用他們的預訓練模型進行推理。性能
考慮到對自動駕駛行業的重要性,我選擇的第一個場景是街道駕駛場景。這兩個模型的結果分別以下:學習
YOLOv5 模型評估駕駛視頻測試
Faster RCNN 評估駕駛視頻
YOLO 模型彷佛更善於檢測較小的目標,在這種狀況下是紅綠燈,而且還可以在當汽車距離較遠(即在透視上看起來較小)將其進行標記。
YOLOv5s 的運行速度(端到端包括讀取視頻、運行模型和將結果保存到文件)爲 52.8 FPS。
而 Faser RCNN ResNet 50 的運行速度(端到端包括讀取視頻、運行模型和將結果保存到文件)爲 21.7 FPS。
以上結果是在 NVIDIA 1080 Ti 上進行評估的。
到目前爲止,YOLOv5 看上去比 Faster RCNN 更好一些。
YOLOv5 與 Faster RCNN 的比較(1)
下一段視頻是 YouTube 的籃球比賽視頻。兩個模型的結果以下所示:
YOLOv5 評估籃球比賽視頻
Faster RCNN ResNet 50 評估籃球比賽視頻
Faster RCNN 模型在 60% 的閾值下運行,能夠說它是用「Person」標籤對人羣進行標記,但我我的更喜歡 YOLO,由於它的結果乾淨整潔。不過,這兩種模型在視頻右下角的 abc(美國廣播公司)徽標上都存在假正類誤報。
我也很失望,雖然運動球也是 COCO 的類別之一,但這兩個模型都沒有檢測到籃球。它們如今的統計狀況以下:
YOLOv5 與 Faster RCNN 的比較 (2)
在最後一段視頻中,我從 MOT 數據集中選擇了一個室內擁擠的場景。這是一段頗有挑戰性的視頻,由於光線不足,距離遙遠,人羣密集。這兩個模型的結果以下所示:
YOLOv5 模型在來自 MOT 數據集中的室內擁擠場景進行測試
Faster RCNN 模型在來自 MOT 數據集中的室內擁擠場景進行測試
這一次的測試頗有趣。我想說的是,當人們走進走廊的時候,這兩種模型都很難檢測到遠處的人。這多是因爲光線較弱和目標較小所致。當人羣靠近攝像機方向時,這兩種模型都能對重疊的人進行標記。
YOLOv5 與 Faster RCNN 的比較(3)
最後對比兩種模型能夠看出,YOLOv5 在運行速度上有明顯優點。小型 YOLOv5 模型運行速度加快了約 2.5 倍,同時在檢測較小的目標時具備更好的性能。結果也更乾淨,幾乎沒有重疊的邊框。Ultralytics 在他們的 YOLOv5 上作得很是出色,並開源了一個易於訓練和運行推理的模型。
該博文還顯示了計算機視覺目標檢測的一個新興趨勢,即朝既快又準確的模型發展。
原文連接:
https://towardsdatascience.com/yolov5-compared-to-faster-rcnn-who-wins-a771cd6c9fb4
推薦閱讀
![](http://static.javashuo.com/static/loading.gif)
本文分享自微信公衆號 - 相約機器人(xiangyuejiqiren)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。