YOLOv5來了!基于PyTorch,體積比YOLOv4小巧90%,速度卻超2倍
來了,來了,YOLOv5來了!
Ultralytics正式更新了YOLOv5,已經(jīng)登頂GitHub飆升榜首席。
它運行推理的速度極快,權(quán)重可以導(dǎo)出到移動端,并且在COCO上達到了最先進的水平。
YOLOv5項目由Ultralytics創(chuàng)建并維護。這是一家Ultralytics總部位于美國的粒子物理和人工智能初創(chuàng)公司,為政府、學(xué)術(shù)和商業(yè)客戶提供支持。在粒子物理學(xué)、數(shù)據(jù)科學(xué)和人工智能領(lǐng)域率先提出了多項美國情報界(IC)和國防部(DoD)的倡議,并與多所大學(xué)、國家實驗室和私營公司合作開展了多項工作。
你肯定也注意到了iOS這個關(guān)鍵詞。他們確實做了一個iOS app,還特意做了一張海報,簡直讓人印象深刻,大家來感受一下:
要不是左下角的「App Store認證標志」,我還以為是某手機的廣告呢。畢竟現(xiàn)在的手機都長得像iPhone,電腦都長得像Mac。
YOLO模型的演變
實時目標檢測的改進速度很快。改進的速度更是迅速。結(jié)果也是驚人的。
3月18日,谷歌開源了EfficientDet的實現(xiàn),這是一個具有不同大小的快速訓(xùn)練模型,其中一個模型提供實時輸出。
4月23日,Alexey Bochoviskiy等人開源了YOLOv4。
6月9日,Glenn Jocher開源了YOLOv5的PyTorch實現(xiàn)。
YOLO(You Only Look Once)是PJ Reddie最初以2016年的一篇文章創(chuàng)造的一個模型家族。YOLO一出生便技驚四座。人們簡直不敢相信小小體積的YOLO竟然能表現(xiàn)出如此超高的性能!簡直就是實時條件和設(shè)備上部署環(huán)境的理想候選人。
PJ Reddie的研究團隊負責隨后推出了YOLOv2和YOLOv3,這兩個模型在性能和速度上都做出了持續(xù)改進。2020年2月,PJ Reddie指出他將停止計算機視覺的研究。
2020年4月,Alexey Bochkovskiy、Chien-Yao Wang和Hong-Yuan Mark Liao推出了YOLOv4,展示了令人印象深刻的成果。
值得注意的是,YOLOv4的許多改進來自于改進的數(shù)據(jù)增強和模型架構(gòu)。我們已經(jīng)寫了關(guān)于YOLOv4的分析,以及如何在自定義對象上訓(xùn)練YOLOv4模型)。
YOLOv5:實時目標檢測的新時代領(lǐng)航者
相比其他版本,Glenn Jocher發(fā)布的YOLOv5有許多不同之處和改進。Glenn是YOLOv4中一個非常關(guān)鍵的技術(shù)「mosaic augmentation」的創(chuàng)建者。
YOLOv5并不是一個單獨的模型,而是一個模型家族,包括了YOLOv5s(最小)、YOLOv5m、YOLOv5l、YOLOv5x(最大)。
那么,YOLO5憑什么能夠成為目標檢測新的領(lǐng)航者呢?RoboFlow介紹了4點優(yōu)勢。
首先,這是YOLO家族中,第一個先用PyTorch的原生版本,而非PJ Reddie的Darknet編寫的模型。Darknet是一個非常靈活的研究框架,但它并沒有考慮到生產(chǎn)環(huán)境的構(gòu)建,而且用戶社區(qū)也較小。這導(dǎo)致Darknet需要在配置上花費不少功夫,而且生產(chǎn)準備不足。
由于YOLOv5是在PyTorch中實現(xiàn)的,它受益于成熟的PyTorch生態(tài)系統(tǒng):支持更簡單,部署更容易。此外,作為一個更廣為人知的研究框架,YOLOv5 的迭代對更廣泛的研究社區(qū)來說可能更容易。這也使得部署到移動設(shè)備上更加簡單,因為該模型可以輕松編譯成ONNX和CoreML。
其次,YOLOv5的速度快得驚人。在YOLOv5 Colab notebook上,運行Tesla P100,我們看到每張圖像的推理時間僅需0.007秒,這意味著每秒140幀(FPS)!相比之下,YOLOv4在被轉(zhuǎn)換到相同的Ultralytics PyTorch庫后的速度是50FPS。YOLOv5的速度是YOLOv4的2倍還多!
第三,YOLOv5精度超高。在Roboflow對血細胞計數(shù)和檢測(BCCD)數(shù)據(jù)集的測試中,只訓(xùn)練了100個epochs就達到了大約0.895的平均精度(mAP)。誠然EfficientDet和YOLOv4的性能相當,但在準確率沒有任何損失的情況下,看到如此全面的性能提升是非常罕見的。
第四,YOLOv5的體積很小。具體來說,YOLOv5的權(quán)重文件是27兆字節(jié)。YOLOv4(采用Darknet架構(gòu))的權(quán)重文件是244兆。YOLOv5比YOLOv4小了近90%!這意味著YOLOv5可以更容易地部署q到嵌入式設(shè)備上,所以Ultralytics也在招iOS開發(fā)。
項目地址:
https://github.com/ultralytics/yolov5