YOLOv5 對決 Faster RCNN,誰贏誰輸?
撇開所有爭議不談,YOLOv5 看起來是一個(gè)“很有前途”的模型。因此,我將它與 Faster RCNN 進(jìn)行了比較,F(xiàn)aster RCNN 是最好的 two stage 檢測器之一。為了進(jìn)行比較,我選取了三段背景不同的視頻,并將這兩個(gè)模型并排運(yùn)行。我的評估包括對結(jié)果質(zhì)量和推理速度的觀察結(jié)果。那么,讓我們言歸正傳。
YOLOv5 的實(shí)現(xiàn)是在 PyTorch 中完成的,與之前基于 DarkNet 框架的開發(fā)形成了鮮明的對比。這使得該模型的理解、訓(xùn)練和部署變得更加容易(目前暫時(shí)沒有使用 YOLO-v5 的論文發(fā)表)。以我的理解來看,在架構(gòu)上,它和 YOLO-v4 很相似。一個(gè)不同之處可能是使用了 Cross Stage Partial Network(CSP)來降低計(jì)算成本。目前尚不清楚 YOLOv5 的運(yùn)行速度是否比 YOLO-v4 更快,但我更喜歡 PyTorch 的實(shí)現(xiàn),而且讓驚訝的是,使用這個(gè)模型進(jìn)行訓(xùn)練是如此的容易。就我個(gè)人經(jīng)驗(yàn)而言,通過它進(jìn)行推理的體驗(yàn)也是如此。
這次發(fā)布的 YOLOv5 包括五種不同尺寸的模型:YOLOv5s(最小)、YOLOv5m、YOLOv5l、YOLOv5x(最大)。這些模型的推理速度和平均精度均值(mean average precision,mAP)如下圖所示:

第一步就是克隆 YOLO-v5 的 repo,并安裝所有的依賴要求。我使用的是 PyTorch 1.5,代碼可以正常工作,沒有任何問題。
你可以按照以下方法下載不同預(yù)訓(xùn)練 COCO 模型的所有權(quán)重:
bash weights/download_weights.sh
要對視頻進(jìn)行推理,就必須將傳遞給視頻的路徑以及要使用的模型的權(quán)重。如果沒有設(shè)置權(quán)重參數(shù),那么在默認(rèn)情況下,代碼在 YOLO 小模型上運(yùn)行。我使用的示例參數(shù)如下所示。
python detect.py --source video/MOT20-01-raw-cut1.mp4 --output video_out/ --weights weights/yolov5s.pt --conf-thres 0.4
輸出視頻將保存在輸出文件夾中。
對于 Faster RCNN 模型,我使用了 TensorFlow Object Detection 中的預(yù)訓(xùn)練模型。TensorFlow Object Detection 共享 COCO 預(yù)訓(xùn)練的 Faster RCNN,用于各種主干。對于這個(gè)博客,我使用了 Faster RCNN ResNet 50 主干。這個(gè) repo 分享了一個(gè)很不錯(cuò)的教程,介紹如何使用他們的預(yù)訓(xùn)練模型進(jìn)行推理。
考慮到對自動(dòng)駕駛行業(yè)的重要性,我選擇的第一個(gè)場景是街道駕駛場景。這兩個(gè)模型的結(jié)果分別如下:

YOLOv5 模型評估駕駛視頻

Faster RCNN 評估駕駛視頻
YOLO 模型似乎更善于檢測較小的目標(biāo),在這種情況下是紅綠燈,并且還能夠在當(dāng)汽車距離較遠(yuǎn)(即在透視上看起來較小)將其進(jìn)行標(biāo)記。
YOLOv5s 的運(yùn)行速度(端到端包括讀取視頻、運(yùn)行模型和將結(jié)果保存到文件)為 52.8 FPS。
而 Faser RCNN ResNet 50 的運(yùn)行速度(端到端包括讀取視頻、運(yùn)行模型和將結(jié)果保存到文件)為 21.7 FPS。
以上結(jié)果是在 NVIDIA 1080 Ti 上進(jìn)行評估的。
到目前為止,YOLOv5 看上去比 Faster RCNN 更好一些。

YOLOv5 與 Faster RCNN 的比較(1)
下一段視頻是 YouTube 的籃球比賽視頻。兩個(gè)模型的結(jié)果如下所示:

YOLOv5 評估籃球比賽視頻

Faster RCNN ResNet 50 評估籃球比賽視頻
Faster RCNN 模型在 60% 的閾值下運(yùn)行,可以說它是用“Person”標(biāo)簽對人群進(jìn)行標(biāo)記,但我個(gè)人更喜歡 YOLO,因?yàn)樗慕Y(jié)果干凈整潔。不過,這兩種模型在視頻右下角的 abc(美國廣播公司)徽標(biāo)上都存在假正類誤報(bào)。
我也很失望,雖然運(yùn)動(dòng)球也是 COCO 的類別之一,但這兩個(gè)模型都沒有檢測到籃球。它們現(xiàn)在的統(tǒng)計(jì)情況如下:

YOLOv5 與 Faster RCNN 的比較 (2)
在最后一段視頻中,我從 MOT 數(shù)據(jù)集中選擇了一個(gè)室內(nèi)擁擠的場景。這是一段很有挑戰(zhàn)性的視頻,因?yàn)楣饩€不足,距離遙遠(yuǎn),人群密集。這兩個(gè)模型的結(jié)果如下所示:

YOLOv5 模型在來自 MOT 數(shù)據(jù)集中的室內(nèi)擁擠場景進(jìn)行測試

Faster RCNN 模型在來自 MOT 數(shù)據(jù)集中的室內(nèi)擁擠場景進(jìn)行測試
這一次的測試很有趣。我想說的是,當(dāng)人們走進(jìn)走廊的時(shí)候,這兩種模型都很難檢測到遠(yuǎn)處的人。這可能是由于光線較弱和目標(biāo)較小所致。當(dāng)人群靠近攝像機(jī)方向時(shí),這兩種模型都能對重疊的人進(jìn)行標(biāo)記。

YOLOv5 與 Faster RCNN 的比較(3)
最后對比兩種模型可以看出,YOLOv5 在運(yùn)行速度上有明顯優(yōu)勢。小型 YOLOv5 模型運(yùn)行速度加快了約 2.5 倍,同時(shí)在檢測較小的目標(biāo)時(shí)具有更好的性能。結(jié)果也更干凈,幾乎沒有重疊的邊框。Ultralytics 在他們的 YOLOv5 上做得非常出色,并開源了一個(gè)易于訓(xùn)練和運(yùn)行推理的模型。
該博文還顯示了計(jì)算機(jī)視覺目標(biāo)檢測的一個(gè)新興趨勢,即朝既快又準(zhǔn)確的模型發(fā)展。
原文鏈接:
https://towardsdatascience.com/yolov5-compared-to-faster-rcnn-who-wins-a771cd6c9fb4

轉(zhuǎn)自:AI前線
