終於來到要介紹 YOLOv3 的時候了!
YOLOv3 和前兩個版本沒有太多的不同,是以 YOLOv2 模型為基礎做優化的版本。
YOLOv3 使用了 Residual Network:Darknet-53 網路架構,Darknet-53 有 53 個卷積層,隨著網絡層數不斷加深(數量級從 20~30 層到~50 層),YOLOv3 採用了一般類神經網路加深時常用的 ResNet 結構來解決梯度問題,可以更加精準的辨識小物件。
從圖上很明顯可以發現 YOLOv3 的運行速度遠遠超過使用的 M40 / 泰坦X GPU 同等性能的其他檢測方法!
YOLOv3 在改善部分使用了 FPN 網路(Feature Pyramid Networks)
FPN:是一個**
多層級
**的預測架構,特徵層從單層的 13 x 13 變成了多層的 13 x 13、26 x 26 、52 x 52 以提升小物體預測能力。
從單層預測 5 種 anchor box 變成每層 3 種 anchor (共 9 種) 。
使用 FPN 的架構可以讓低層較佳的目標位置和高層較佳的語義特徵融合,並且在不同特徵層獨立進行預測,使得小物體檢測改善效果十分明顯!
這裡可以特別提一下 YOLOv3 的 Class prediction,在 YOLOv3 裡,不是使用 softmax 分類,而是使用 independent logistic classifiers !
softmax 是用單標籤多分類的方式,在上圖中只能分類出 "人類"和"狗"。
但使用 independent logistic classifiers 除了可以分類出人和狗,還可以細分出"男人"和"女人"。