蕭簫 發自 凹非寺
量子位 報導 | 公眾號 QbitAI
最輕的YOLO算法出來了!
這是個模型非常小、號稱目前最快的YOLO算法——大小只有1.3MB,單核每秒148幀,行動裝置上也能輕易部署。
而且,這個YOLO-Fastest算法滿足所有平臺的需要。
不論是PyTorch,還是Tensorflow,又或者是Keras和Caffe,可以說是全平臺通用。
此外,作者還推出了超輕YOLO的「加大版」,同樣只需要3.5MB,就能實現比YOLOv3更好的目標檢測效果。
那麼,這麼輕的網絡,檢測效果怎麼樣?
1.3MB的超輕YOLO
檢測效果
下圖是一隻快速跑動的動物,可以看見,算法預測這隻動物為雞(chicken)的概率是95%。
不僅在動物檢測上,對於人的檢測效果也不錯。
從圖中可見,正面人物的預測概率都超過了90%,即使是接近側面的人臉,系統也能準確預測出來,只是概率會偏小,接近50%。
此外也能看見,YOLO不僅能檢測行人和動物,類似於餐桌和瓶子這樣的目標物體也能檢測出來。
當然,桌上還有其他的瓶子,不過沒有檢測出來。
而這樣的檢測效果,只需要1.3MB大小的YOLO-Fastest模型,相比於3.0MB的MobileNet-YOLOv3,參數少了65%,速度還要快上45%。
如果硬體要求沒那麼高,相比之下,還是精度更重要的話,這裡的YOLO-Fastest-XL會更加適合。
這個「加大版」YOLO-Fastest算法是一個3.5MB的算法模型,mAP要高上不少,達到了68.8%。
整體來說,YOLO-Fastest是個犧牲一定精度 (大約5%的mAP)、大幅提升速度的目標檢測模型。
結合最強移動端輕量級神經網絡食用
之所以這麼小,也是因為這個YOLO-Fastest搭配了號稱當前最強的移動端輕量級神經網絡EfficientNet-lite。
這是個比MobileNet更輕的神經網絡,但圖像分類的效果還不錯。
△ EfficientNet-lite架構
不過,這樣的壓縮會犧牲一定的精度,相比於YOLOv3,YOLO-Fastest模型的mAP只有60.8%。
但對於一些容量有限的硬體來說,已經足夠適用了。
那麼,究竟為什麼要在目標檢測算法中選擇YOLO呢?
YOLO:快速目標檢測
目標檢測算法YOLO的核心,在於它模型體積小、運算速度快。
與R-CNN系列(Fast R-CNN、Faster R-CNN等)的算法相比,YOLO的精度上不了臺,但它的速度卻是槓槓的。
檢測速度,從先驗框(下圖中五彩斑斕的框架)變換的頻次就能看出來。
之所以追求速度,是因為作為安防、自動駕駛領域的核心算法,目標檢測講究實時。
如果安防要過幾秒鐘才能檢測出竊賊的存在、或是自動駕駛汽車對路障的感知非常緩慢,那麼後果可能會不堪設想。
此後誕生出來的SSD算法,有點像R-CNN和YOLO算法的折中。但對於某些存儲體積有限的硬體來說,依舊只有YOLO才能「裝得進去」。
而只有230MFLOPS(每秒運行230萬次浮點運算)的YOLO-Fastest模型,又給算力不足的硬體提供了機會,使得它有機會在更小的機器上運行。
作者相關
有意思的是,這位在GitHub上名為dog-qiuqiu的作者,此前還寫過基於MobileNet圖像分類算法的YOLOv3(GitHub 1.1k星),同樣可以在全平臺使用。
不僅如此,這個全平臺通用的MobileNet-YOLOv3,體積和精度都要優於MobileNet-SSD。
在體積只有8.0MB(相比於SSD減少了15.1MB)的情況下,MobileNet-YOLOv3的mAP達到了73.26%(相比於SSD上升了0.56%)。
如果感興趣的話,可以一同戳下方傳送門查看這個目標檢測算法。
傳送門
1.3MB超輕YOLO:
https://github.com/dog-qiuqiu/Yolo-Fastest
比SSD效果更好的MobileNet-YOLO:
https://github.com/dog-qiuqiu/MobileNet-Yolo
— 完 —
本文系網易新聞•網易號特色內容激勵計劃籤約帳號【量子位】原創內容,未經帳號授權,禁止隨意轉載。
好課推薦 | 0基礎學Python
《動手學Python》課程由上海交大博士教研團隊研發,在線學習平臺由上海交大AI實驗室技術支持,曠視、文遠知行、圖森未來、來也科技等知名AI企業CEO/CTO力薦。
0基礎可入門,限時開放體驗課!掃碼即刻開啟Python學習之旅:
量子位 QbitAI · 頭條號籤約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
原標題:《1.3MB的超輕YOLO算法!全平臺通用,準確率接近YOLOv3,速度快上45%丨開源》
閱讀原文